Mathias hat geschrieben:Ich bin ein bisschen weiter gekommen, beim kompilieren meines alten Programmes.
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 ?
Diese Problem mit dem absolute habe ich jetzt auch gelöst, man muss den Compiler mit -WmLarge aufrufen.
Ich habe die Anleitung im ersten Post angepasst.