Unter TP hatte ich LevelBild direkt als absolute in den VRAM deklariert.
Mit der forto-Schleife das Bild in den VRAM zu schreiben hat geklappt, auch kommt später das Menü richtig, welches mit der abolute-Deklaration verstückelt kam.
Ersetze ich dir forto-Schleife durch ein Move, dann habe ich den gleichen Fehler, wie mit dem absolute.
Es sieht so aus, wie wen nach dem Move, GotoXY nicht mehr richtig geht.
Code: Alles auswählen
type
BildTyp = Array[0..3999] of Byte;
var
fLevel : file of Bildtyp; { Fr Level Bilder ab Disk }
// LevelBild : Bildtyp absolute $B800:0000; { BS Adresse }
LevelBild : Bildtyp; // FPC Cross8086
....
begin
str1:='1';
DateiName := LevelPfad + 'Level' + Str1 + '.SCR';
assign(fLevel,DateiName); { Level Laden }
reset(flevel);
read(fLevel, Levelbild);
close(flevel);
// move(LevelBild, Mem[$B800:$0000], 4000);
for i := 0 to 3999 do Mem[$B800:i] := LevelBild[i];
// Menü zeichnen und Spiel starten.
...
end.
Weis jemand woran das liegen könnte ?
Ich habe mal im Anhang die EXE mit dem fehlerhaften Move.