Hallo allerseits,
mein Name ist Stephan, und gerade bin ich dabei, ein klassisches oldschool RPG für den Plus/4 (oder auf 64k erweiterte C16 und 116s) zu programmieren. Meine Werkzeuge der Wahl sind dabei cc65 (das Ganze besteht haupsächlich aus C mit ein bisschen Assembler) und VICE, sowie ein echter Commodore Plus/4 aus Fleisch und Blut plus einem sd2iec-Laufwerk.
Bis jetzt ging das alles sehr gut. Doch jetzt sitze ich vor einem sehr kuriosen Fehler, dessen Ursache mir absolut nicht in den Kopf will.
Und zwar: Sobald sich der TED seinen Zeichensatz aus dem RAM statt aus dem ROM holt, hängt sich beim Laden hin und wieder der IEC-Bus auf. Das Ganze passiert nur auf einem richtigen Plus/4, nicht auf dem Emulator. Und es ist mehr oder weniger reproduzierbar.
Ich hab auf meinen github-Account ein kleines Demo gelegt, mit dem sich der Effekt nachstellen lässt, und zwar hier:
https://github.com/steph72/sd2iectest
Das ganze baut mit "make disc" (und einem installierten vice nebst c1541) ein diskimage, das dann auf einem plus/4 getestet werden kann.
Es lässt sich angeben, wie groß die Datei sein soll, mit der getestet wird (256 Byte ist mehr als genug)... und ob mit einem RAM-Zeichensatz gearbeitet werden soll oder nicht. Mit RAM-Zeichensatz knallt das Lesen früher oder später.
Ich weiß tatsächlich relativ viel über die 264er und wie man sie programmiert, aber das hier lässt mich absolut ratlos zurück.
Meine Frage wäre nun: Hat jemand eine Ahnung, was hier passiert? Oder kann zumindest jemand das Verhalten mit seiner Hardware nachstellen, damit ich sicher gehen kann, nicht komplett verrückt geworden zu sein?
Liebe Grüße und vielen Dank im Voraus,
Stephan