Das Programm läuft jetzt unter AppleWin, aber noch ohne die Interfacesteuerung. Das mache ich direkt auf dem Apple.
Das Hauptproblem lag an einer Inkompatibilität zwischen Turbo und Apple Pascal.
Bei Variantenrecords stimmt die Speicherungsreihenfolge nicht überein:
type Datensatz = Record of
Case integer of
1: (feld:array[1..4] of integer);
2: (x,y,z : integer;
b:boolean);
end;
Eine Variable diesen Typs braucht 8 Byte.
Der Unterschied:
Turbo Pascal
x = Byte 1 u. 2 = feld[1]
Y = Byte 3 u. 4 = feld[2]
Z = Byte 5 u. 6 = feld[3]
b = Byte 7 u. 8 = feld[4]
Apple Pascal
x = Byte 5 u. 6 = feld[3]
Y = Byte 3 u. 4 = feld[2]
Z = Byte 1 u. 2 = feld [1]
b = Byte 7 u. 8 = feld [4]
In Apple Pascal werden also x,y,z in der Reihenfolge z,y,x abgelegt.
Das zu finden hat mich einige graue Haare gekostet.