* huge memory model fixes in InitModeX

git-svn-id: trunk@40981 -
This commit is contained in:
nickysn 2019-01-21 22:54:08 +00:00
parent 37c05b3749
commit 596c1e7efa

View File

@ -2413,8 +2413,13 @@ const CrtAddress: word = 0;
{ starting with segment A000h, set 8000h logical words = 4*8000h
physical words (because of 4 bitplanes) to 0 }
asm
MOV AX,[SegA000]
{$ifdef FPC_MM_HUGE}
MOV AX,SEG SegA000
MOV ES,AX
MOV ES,ES:[SegA000]
{$else FPC_MM_HUGE}
MOV ES, [SegA000]
{$endif FPC_MM_HUGE}
XOR DI,DI
XOR AX,AX
MOV CX,8000h
@ -2469,13 +2474,23 @@ const CrtAddress: word = 0;
INC DX
MOV AL,0Fh {...and allow access to all 4 bit maps }
OUT DX,AL
MOV AX,[SegA000] {starting with segment A000h, set 8000h logical }
MOV ES,AX {words = 4*8000h physical words (because of 4 }
XOR DI,DI {bitplanes) to 0 }
{starting with segment A000h, set 8000h logical }
{words = 4*8000h physical words (because of 4 }
{bitplanes) to 0 }
{$ifdef FPC_MM_HUGE}
MOV AX,SEG SegA000
MOV ES,AX
MOV ES,ES:[SegA000]
{$else FPC_MM_HUGE}
MOV ES, [SegA000]
{$endif FPC_MM_HUGE}
XOR DI,DI
XOR AX,AX
MOV CX,8000h
CLD
REP STOSW
MOV DX,CRTAddress {address the underline-location-register at }
MOV AL,14h {the CRT-controller Port, read out the according }
OUT DX,AL {data register: }