diff --git a/rtl/objpas/sysstr.inc b/rtl/objpas/sysstr.inc index e71df44386..e420d68d05 100644 --- a/rtl/objpas/sysstr.inc +++ b/rtl/objpas/sysstr.inc @@ -495,25 +495,32 @@ Regs.AH := $65; Regs.AL := InfoId; Regs.BX := CodePage; 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); 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 ; procedure InitAnsi; var CountryInfo: TCountryInfo; begin 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 ; {$ENDIF} { $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 Revision 1.1 1998/04/10 15:17:46 michael diff --git a/rtl/objpas/sysutils.pp b/rtl/objpas/sysutils.pp index 7fbae0498d..6d0c1e71c3 100644 --- a/rtl/objpas/sysutils.pp +++ b/rtl/objpas/sysutils.pp @@ -24,7 +24,10 @@ interface linux, {$else} dos, - {$endif} + {$ifdef go32v2} + go32, + {$endif go32v2} + {$endif linux} objpas; { should become platform independent } @@ -132,7 +135,11 @@ end. { $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 Revision 1.5 1998/09/04 08:49:07 peter