Browse Source

* go32v2 did not compile
* wrong code in systr.inc corrected

pierre 27 years ago
parent
commit
147938436d
2 changed files with 21 additions and 7 deletions
  1. 12 5
      rtl/objpas/sysstr.inc
  2. 9 2
      rtl/objpas/sysutils.pp

+ 12 - 5
rtl/objpas/sysstr.inc

@@ -495,25 +495,32 @@ Regs.AH := $65;
 Regs.AL := InfoId;
 Regs.AL := InfoId;
 Regs.BX := CodePage;
 Regs.BX := CodePage;
 Regs.DX := CountryId;
 Regs.DX := CountryId;
-Regs.ES := transfer_buffer shr 16;
-Regs.DI := transfer_buffer and 65535;
+Regs.ES := transfer_buffer div 16;
+Regs.DI := transfer_buffer and 15;
 Regs.CX := SizeOf(TCountryInfo);
 Regs.CX := SizeOf(TCountryInfo);
 RealIntr($21, Regs);
 RealIntr($21, Regs);
-DosMemGet(transfer_buffer shr 16, transfer_buffer and 65535, CountryInfo, Regs.CX );
+DosMemGet(transfer_buffer div 16, transfer_buffer and 15, CountryInfo, Regs.CX );
 end ;
 end ;
 
 
 procedure InitAnsi;
 procedure InitAnsi;
 var CountryInfo: TCountryInfo;
 var CountryInfo: TCountryInfo;
 begin
 begin
 GetExtendedCountryInfo(2, $FFFF, $FFFF, CountryInfo);
 GetExtendedCountryInfo(2, $FFFF, $FFFF, CountryInfo);
-DosMemGet(CountryInfo.UpperCaseTable shr 16, 2 + CountryInfo.UpperCaseTable and 65535, UpperCaseTable[128], 128);
+{ this needs to be checked !!
+  this is correct only if UpperCaseTable is
+  and Offset:Segment word record (PM) }
+DosMemGet(CountryInfo.UpperCaseTable shl 16, 2 + (CountryInfo.UpperCaseTable and $FFFF), UpperCaseTable[128], 128);
 end ;
 end ;
 
 
 {$ENDIF}
 {$ENDIF}
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  1998-09-16 08:28:42  michael
+  Revision 1.3  1998-09-16 14:34:37  pierre
+    * go32v2 did not compile
+    * wrong code in systr.inc corrected
+
+  Revision 1.2  1998/09/16 08:28:42  michael
   Update from gertjan Schouten, plus small fix for linux
   Update from gertjan Schouten, plus small fix for linux
 
 
   Revision 1.1  1998/04/10 15:17:46  michael
   Revision 1.1  1998/04/10 15:17:46  michael

+ 9 - 2
rtl/objpas/sysutils.pp

@@ -24,7 +24,10 @@ interface
        linux,
        linux,
     {$else}
     {$else}
        dos,
        dos,
-    {$endif}
+    {$ifdef go32v2}
+       go32,
+    {$endif go32v2}
+    {$endif linux}
        objpas; { should become platform independent }
        objpas; { should become platform independent }
 
 
 
 
@@ -132,7 +135,11 @@ end.
 
 
 {
 {
     $Log$
     $Log$
-    Revision 1.6  1998-09-16 08:28:44  michael
+    Revision 1.7  1998-09-16 14:34:38  pierre
+      * go32v2 did not compile
+      * wrong code in systr.inc corrected
+
+    Revision 1.6  1998/09/16 08:28:44  michael
     Update from gertjan Schouten, plus small fix for linux
     Update from gertjan Schouten, plus small fix for linux
 
 
     Revision 1.5  1998/09/04 08:49:07  peter
     Revision 1.5  1998/09/04 08:49:07  peter