Hallo, guten Tag.
Ich habe mal mit dem chain-4-modus angefangen.
Ich möchte chain-4 nutzen für umschaltung/wechsel von 2 Screen.
Ist noch viel Arbeit, mein Englisch ist in grenzen.
Habe ihn jetzt geschaltet , das die 4 Seiten getrennt sind voneinander.
Es wird schon umgeschaltet.
Nun suche ich ein Methode um die 256kb erstmal zu löschen in Pascal.
Also von A000:0 bis 256 kb.
Da finde ich keine Lösung weil es nur immer bis 64kb geht .
Vielleicht hat man hier auch schon irgendwo damit angefangen mit dem chain-4?
Danke.
Gruss
Code
Program chain_4;
uses crt;
CONST
VGA = $a000;
sc_index = $03c4;
sc_data = $03c5;
memory_mode = $04;
all_planes = $ff02;
crtc_index = $03d4;
underline_loc = $14;
crtc_data = $03d5;
mode_control = $17;
var
a : byte;
Procedure SetVGA;
BEGIN
asm
mov ax,0013h
int 10h
end;
END;
Procedure SetText;
BEGIN
asm
mov ax,0003h
int 10h
end;
END;
procedure chain;
begin
port[sc_index] :=memory_mode;
port[sc_data] :=$06;
portw[sc_index] := all_planes;
256kb löschen >>>>>>>>>>>>>>>>>>>>>>>>>>
port[crtc_index] := underline_loc;
port[crtc_data] := $00;
port[crtc_index] := mode_control;
port[crtc_data] := $e3;
end;
begin
setvga;
chain;
end.
Alles anzeigen