|
@@ -173,6 +173,14 @@ const
|
|
|
pop ds
|
|
|
end;
|
|
|
|
|
|
+ Procedure InitInt10hMode(mode : byte);
|
|
|
+ begin
|
|
|
+ if DontClearGraphMemory then
|
|
|
+ CallInt10(mode or $80)
|
|
|
+ else
|
|
|
+ CallInt10(mode);
|
|
|
+ end;
|
|
|
+
|
|
|
{************************************************************************}
|
|
|
{* 720x348x2 Hercules mode routines *}
|
|
|
{************************************************************************}
|
|
@@ -588,10 +596,7 @@ end;
|
|
|
|
|
|
procedure InitCGA320C0;
|
|
|
begin
|
|
|
- if DontClearGraphMemory then
|
|
|
- CallInt10($84)
|
|
|
- else
|
|
|
- CallInt10($04);
|
|
|
+ InitInt10hMode($04);
|
|
|
VideoOfs := 0;
|
|
|
SetCGAPalette(0);
|
|
|
SetCGABorder(16);
|
|
@@ -600,10 +605,7 @@ end;
|
|
|
|
|
|
procedure InitCGA320C1;
|
|
|
begin
|
|
|
- if DontClearGraphMemory then
|
|
|
- CallInt10($84)
|
|
|
- else
|
|
|
- CallInt10($04);
|
|
|
+ InitInt10hMode($04);
|
|
|
VideoOfs := 0;
|
|
|
SetCGAPalette(1);
|
|
|
SetCGABorder(16);
|
|
@@ -612,10 +614,7 @@ end;
|
|
|
|
|
|
procedure InitCGA320C2;
|
|
|
begin
|
|
|
- if DontClearGraphMemory then
|
|
|
- CallInt10($84)
|
|
|
- else
|
|
|
- CallInt10($04);
|
|
|
+ InitInt10hMode($04);
|
|
|
VideoOfs := 0;
|
|
|
SetCGAPalette(2);
|
|
|
SetCGABorder(0);
|
|
@@ -624,10 +623,7 @@ end;
|
|
|
|
|
|
procedure InitCGA320C3;
|
|
|
begin
|
|
|
- if DontClearGraphMemory then
|
|
|
- CallInt10($84)
|
|
|
- else
|
|
|
- CallInt10($04);
|
|
|
+ InitInt10hMode($04);
|
|
|
VideoOfs := 0;
|
|
|
SetCGAPalette(3);
|
|
|
SetCGABorder(0);
|
|
@@ -920,10 +916,7 @@ end;
|
|
|
|
|
|
procedure InitCGA640;
|
|
|
begin
|
|
|
- if DontClearGraphMemory then
|
|
|
- CallInt10($86)
|
|
|
- else
|
|
|
- CallInt10($06);
|
|
|
+ InitInt10hMode($06);
|
|
|
VideoOfs := 0;
|
|
|
CurrentCGABorder := 0; {yes, TP7 CGA.BGI behaves *exactly* like that}
|
|
|
end;
|
|
@@ -1231,10 +1224,7 @@ end;
|
|
|
|
|
|
procedure InitMCGA640;
|
|
|
begin
|
|
|
- if DontClearGraphMemory then
|
|
|
- CallInt10($91)
|
|
|
- else
|
|
|
- CallInt10($11);
|
|
|
+ InitInt10hMode($11);
|
|
|
VideoOfs := 0;
|
|
|
CurrentCGABorder := 0; {yes, TP7 CGA.BGI behaves *exactly* like that}
|
|
|
end;
|
|
@@ -1530,20 +1520,14 @@ end;
|
|
|
|
|
|
Procedure Init640x200x16;
|
|
|
begin
|
|
|
- if DontClearGraphMemory then
|
|
|
- CallInt10($8e)
|
|
|
- else
|
|
|
- CallInt10($e);
|
|
|
+ InitInt10hMode($e);
|
|
|
VideoOfs := 0;
|
|
|
end;
|
|
|
|
|
|
|
|
|
Procedure Init640x350x16;
|
|
|
begin
|
|
|
- if DontClearGraphMemory then
|
|
|
- CallInt10($90)
|
|
|
- else
|
|
|
- CallInt10($10);
|
|
|
+ InitInt10hMode($10);
|
|
|
VideoOfs := 0;
|
|
|
end;
|
|
|
|
|
@@ -1551,10 +1535,7 @@ end;
|
|
|
|
|
|
Procedure Init640x480x16;
|
|
|
begin
|
|
|
- if DontClearGraphMemory then
|
|
|
- CallInt10($92)
|
|
|
- else
|
|
|
- CallInt10($12);
|
|
|
+ InitInt10hMode($12);
|
|
|
VideoOfs := 0;
|
|
|
end;
|
|
|
|
|
@@ -2194,10 +2175,7 @@ End;
|
|
|
|
|
|
Procedure Init320;
|
|
|
begin
|
|
|
- if DontClearGraphMemory then
|
|
|
- CallInt10($93)
|
|
|
- else
|
|
|
- CallInt10($13);
|
|
|
+ InitInt10hMode($13);
|
|
|
end;
|
|
|
|
|
|
|
|
@@ -2380,10 +2358,7 @@ const CrtAddress: word = 0;
|
|
|
else
|
|
|
CrtAddress := $3B4; { monochrome }
|
|
|
|
|
|
- if DontClearGraphMemory then
|
|
|
- CallInt10($93)
|
|
|
- else
|
|
|
- CallInt10($13);
|
|
|
+ InitInt10hMode($13);
|
|
|
|
|
|
Port[$3C4] := $04; {select memory-mode-register at sequencer port }
|
|
|
{ bit 3 := 0: don't chain the 4 planes }
|