* i8086 far data model fixes in Save/RestoreStateVGA and Save/RestoreStateVESA

git-svn-id: trunk@27469 -
This commit is contained in:
nickysn 2014-04-04 19:51:15 +00:00
parent f31d7e665b
commit c0709eef40
2 changed files with 12 additions and 12 deletions
packages/graph/src/msdos

View File

@ -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;

View File

@ -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;