mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-23 16:49:42 +02:00
* i8086 far data model fixes in Save/RestoreStateVGA and Save/RestoreStateVESA
git-svn-id: trunk@27469 -
This commit is contained in:
parent
f31d7e665b
commit
c0709eef40
@ -2882,15 +2882,15 @@ const CrtAddress: word = 0;
|
||||
{ call the real mode interrupt ... }
|
||||
regs.ax := $1C01; { save the state buffer }
|
||||
regs.cx := $07; { Save DAC / Data areas / Hardware states }
|
||||
regs.es := DSeg;
|
||||
regs.bx := Word(SavePtr);
|
||||
regs.es := Seg(SavePtr^);
|
||||
regs.bx := Ofs(SavePtr^);
|
||||
Intr($10,regs);
|
||||
{ restore state, according to Ralph Brown Interrupt list }
|
||||
{ some BIOS corrupt the hardware after a save... }
|
||||
regs.ax := $1C02; { restore the state buffer }
|
||||
regs.cx := $07; { rest DAC / Data areas / Hardware states }
|
||||
regs.es := DSeg;
|
||||
regs.bx := Word(SavePtr);
|
||||
regs.es := Seg(SavePtr^);
|
||||
regs.bx := Ofs(SavePtr^);
|
||||
Intr($10,regs);
|
||||
end;
|
||||
end;
|
||||
@ -2908,8 +2908,8 @@ const CrtAddress: word = 0;
|
||||
begin
|
||||
regs.ax := $1C02; { restore the state buffer }
|
||||
regs.cx := $07; { rest DAC / Data areas / Hardware states }
|
||||
regs.es := DSeg;
|
||||
regs.bx := Word(SavePtr);
|
||||
regs.es := Seg(SavePtr^);
|
||||
regs.bx := Ofs(SavePtr^);
|
||||
Intr($10,regs);
|
||||
|
||||
SavePtrCopy := SavePtr;
|
||||
|
@ -1835,16 +1835,16 @@ end;
|
||||
regs.ax := $4F04; { save the state buffer }
|
||||
regs.cx := $0F; { Save DAC / Data areas / Hardware states }
|
||||
regs.dx := $01; { save state }
|
||||
regs.es := DSeg;
|
||||
regs.bx := Word(SavePtr);
|
||||
regs.es := Seg(SavePtr^);
|
||||
regs.bx := Ofs(SavePtr^);
|
||||
Intr($10,regs);
|
||||
{ restore state, according to Ralph Brown Interrupt list }
|
||||
{ some BIOS corrupt the hardware after a save... }
|
||||
regs.ax := $4F04; { restore the state buffer }
|
||||
regs.cx := $0F; { rest DAC / Data areas / Hardware states }
|
||||
regs.dx := $02;
|
||||
regs.es := DSeg;
|
||||
regs.bx := Word(SavePtr);
|
||||
regs.es := Seg(SavePtr^);
|
||||
regs.bx := Ofs(SavePtr^);
|
||||
Intr($10,regs);
|
||||
end;
|
||||
end;
|
||||
@ -1863,8 +1863,8 @@ end;
|
||||
regs.ax := $4F04; { restore the state buffer }
|
||||
regs.cx := $0F; { rest DAC / Data areas / Hardware states }
|
||||
regs.dx := $02; { restore state }
|
||||
regs.es := DSeg;
|
||||
regs.bx := Word(SavePtr);
|
||||
regs.es := Seg(SavePtr^);
|
||||
regs.bx := Ofs(SavePtr^);
|
||||
Intr($10,regs);
|
||||
|
||||
SavePtrCopy := SavePtr;
|
||||
|
Loading…
Reference in New Issue
Block a user