- I’m your future, child. Don’t cry.
- -- A very short story by Stephen Baxter
Es geht weiter bei meinen 8-Bit Projekten: für den
Atari ROM Simulator haben wir uns mittlerweile für einen Microcontroller entschieden. Es wird ein Design auf der Basis eines Cortex-M3 Prozessors. Dies ist ein ARM-Prozessor, der nur über den Thumb2 aber nicht den ARMv7 Befehlssatz verfügt. Das Gerät an sich liest sich so interessant, dass ich mittlerweile mir noch ein allgemeines Testsystem geordert hatte. Ein bisschen habe ich damit auch schon rumgespielt, habe aber ein kleines Problem damit, dass es relativ eng mit dem SDK auf Eclipse-Basis verwoben ist, und mir für Grundlagenforschung ein wenig der Nerv fehlt. Außerdem hoffe ich auf dem
Chaos Camp noch einiges an Wissen mitnehmen zu können.
Heute soll es nochmal um das Chameleon gehen, die FPGA-Implementierung eines Commodore C64. Nach etwas Überredungsarbeit habe ich dafür eine Netzwerkkarte bekommen, einen von acht Prototypen. Selten hatte ich so viel Spaß beim Programmieren gegen widrige Umstände. Ich habe da gerade eine Beta Version und einen Prototypen in der Mache, klar dass da noch nicht alles reibungslos funktioniert. Aber ist es jetzt wirklich ein Hardware-Fehler, oder habe ich doch noch irgendwo was falsch programmiert? Solche Fragen galt es zu klären. Inzwischen kann ich TCP Daten empfangen, für das erste Ziel, was ich im Auge habe, fehlt noch das Verschicken der Antwortpakete, und das sinnvolle Bearbeiten der empfangenen Daten.
Interessant finde ich aber besonders, dass ich den 6502 Assembler des C64 immer noch so gut kann, wie zu meiner C64 Hochzeit vor über 20 Jahren. Befehlssatz, Addressierung, einzig die Bedeutung, mit der die einzelnen Adressen der Zero-Page vom Kernal (kann man am ehesten mit dem Begriff "Betriebssystem" erläutern) belegt sind, habe ich nicht mehr parat, dafür aber noch mein 25 Jahre altes Nachschlagewerk. Und was da nicht drin steht findet man im Internet. Besonders interessant war bei dem Projekt aber, dass ich aktuelles Wissen der Programmierung von Hardware mit dem 20 Jahre alten Wissen über die Programmierung des C64 verbinden kann, zu Code, den ich vor 20 Jahren so bestimmt nicht hinbekommen hätte.
Warum aber weiß ich noch so viel aus dem Eff-eff ohne nachzuschlagen? Weil es die erste Plattform ist, auf der ich programmiert habe? Oder weil sie doch relativ einfach und überschaubar ist? Ein Freund von mir meinte, weil das Wissen an so viele positive Erinnerungen geknüpft sind. Vermutlich ist es aber eine Kombination aus alle dem. Auch wenn der Nutzen für die Allgemeinheit bei diesem Projekt wohl doch eher klein ist, noch kleiner als bei den meisten meiner anderen Projekte, so macht es mir doch einen Riesenspaß. Und das ist, was zählt.
Kommentare
Kann Deine Erlebnisse bezüglich C64-Programmierung im Jahr 2011 nur bestätigen :)