mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-03 18:29:35 +01:00
+ enabled the EGA modes in the graph unit for i8086-msdos
git-svn-id: trunk@25660 -
This commit is contained in:
parent
274ad65477
commit
6bf7072a33
@ -126,7 +126,9 @@ const
|
||||
(0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63);
|
||||
|
||||
var
|
||||
ScrWidth : word absolute $40:$4a;
|
||||
// ScrWidth : word absolute $40:$4a;
|
||||
// !!! doesn't work with absolute, due to a i8086 code generator bug; TODO: fix
|
||||
ScrWidth : word=80;
|
||||
inWindows: boolean;
|
||||
|
||||
{$ifndef tp}
|
||||
@ -1507,7 +1509,7 @@ end;
|
||||
{************************************************************************}
|
||||
{* 4-bit planar VGA mode routines *}
|
||||
{************************************************************************}
|
||||
(*
|
||||
|
||||
Procedure Init640x200x16; {$ifndef fpc}far;{$endif fpc}
|
||||
begin
|
||||
if DontClearGraphMemory then
|
||||
@ -2178,7 +2180,7 @@ End;
|
||||
begin
|
||||
Port[$3cf]:=$ff;
|
||||
{$ifndef tp}
|
||||
seg_bytemove(dosmemselector,$a0000+ScrOfs,dosmemselector,$a0000+ScrOfs,HLength);
|
||||
seg_bytemove(SegA000,ScrOfs,SegA000,ScrOfs,HLength);
|
||||
{$else}
|
||||
move(Ptr(SegA000,ScrOfs)^, Ptr(SegA000,ScrOfs)^, HLength);
|
||||
{$endif}
|
||||
@ -2267,17 +2269,17 @@ End;
|
||||
mov ax,[page] { only lower byte is supPorted. }
|
||||
mov ah,05h
|
||||
{$ifdef fpc}
|
||||
push ebp
|
||||
push esi
|
||||
push edi
|
||||
push ebx
|
||||
push bp
|
||||
push si
|
||||
push di
|
||||
push bx
|
||||
{$endif fpc}
|
||||
int 10h
|
||||
{$ifdef fpc}
|
||||
pop ebx
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebp
|
||||
pop bx
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
{$endif fpc}
|
||||
|
||||
{ read start address }
|
||||
@ -2291,7 +2293,7 @@ End;
|
||||
mov al,0dh
|
||||
out dx,al
|
||||
in al,dx
|
||||
end ['EDX','EAX'];
|
||||
end ['DX','AX'];
|
||||
end;
|
||||
|
||||
procedure SetActive200(page: word); {$ifndef fpc}far;{$endif fpc}
|
||||
@ -2314,19 +2316,19 @@ End;
|
||||
mov ax,[page] { only lower byte is supPorted. }
|
||||
mov ah,05h
|
||||
{$ifdef fpc}
|
||||
push ebp
|
||||
push esi
|
||||
push edi
|
||||
push ebx
|
||||
push bp
|
||||
push si
|
||||
push di
|
||||
push bx
|
||||
{$endif fpc}
|
||||
int 10h
|
||||
{$ifdef fpc}
|
||||
pop ebx
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebp
|
||||
pop bx
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
{$endif fpc}
|
||||
end ['EAX'];
|
||||
end ['AX'];
|
||||
end;
|
||||
|
||||
procedure SetActive350(page: word); {$ifndef fpc}far;{$endif fpc}
|
||||
@ -2343,7 +2345,7 @@ End;
|
||||
|
||||
|
||||
|
||||
|
||||
(*
|
||||
{************************************************************************}
|
||||
{* 320x200x256c Routines *}
|
||||
{************************************************************************}
|
||||
@ -3448,7 +3450,7 @@ const CrtAddress: word = 0;
|
||||
AddMode(mode);
|
||||
end;
|
||||
|
||||
(* if EGADetected then
|
||||
if EGADetected then
|
||||
begin
|
||||
{ HACK:
|
||||
until we create Save/RestoreStateEGA, we use Save/RestoreStateVGA
|
||||
@ -3512,7 +3514,7 @@ const CrtAddress: word = 0;
|
||||
AddMode(mode);
|
||||
end;
|
||||
|
||||
if VGADetected then
|
||||
(* if VGADetected then
|
||||
begin
|
||||
SaveVideoState := @SaveStateVGA;
|
||||
{$ifdef logging}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user