- The critical ingredient is getting off your butt and doing something. It's as simple as that. A lot of people have ideas, but there are few who decide to do something about them now. Not tomorrow. Not next week. But today. The true entrepreneur is a doer, not a dreamer.
- -- Nolan Bushnell, Atari Founder
Im Moment habe ich gerade mal wieder meine Retro-Phase. Konkret bedeutet das: ich habe mal wieder richtig Lust, was auf einer 6502 Plattform zu hacken. 6502 ist eine Prozessorfamilie, die Ende der siebziger Jahre bis Ende der 80er Jahre sehr beliebt war, wenn ein neuer Home-Computer entworfen wurde. Plattformen, die diesen Prozessor verwendet haben und die ich mein Eigen nenne sind unter anderen einige Commodore Geräte, die nicht zu der Amiga-Linie gehören (
C64,
C128) und das
Atari 2600 VCS.
Es gibt immer noch genug Leute, die sich der Faszination dieses relativ einfachen Systems nicht entziehen können. Einer von ihnen ist
Michael Steil, der zwei sehr interessante Vorträge auf den Chaos Communication Congresses gehalten hat. Einen
über den C64 und einen
über den Prozessor 6502. Diese Vortäge sind ein schöner (Wieder-)Einstieg in die Materie.
Mich hat die Faszination "8 Bit" wieder voll gepackt. Diesmal gleich in zwei Formen: zum einen habe ich mir ein
Turbo ChameLEON 64 zugelegt, eine FPGA-Reimplemenierung des C64 in Form eines C64 Steckmoduls a la Action Replay. Damit bekommt der C64 einen VGA Ausgang, SD-Karten-Leser, eine "gewaltige" RAM-Aufrüstung (auf das 512-fache, 32MB), einen Turbo-Modus und vieles mehr. Das schöne an dem Gerät: man kann es in einen C64 Stecken, muss es aber nicht: er läuft auch "Stand-alone". Doch darum soll es im Folgenden gar nicht gehen, sondern um eine ausgefallene Idee, die ich letzte Woche hatte.
Die Idee kam aus dem Antrieb heraus, dass ich mal etwas für das Atari 2600 VCS programmieren möchte. Natürlich soll mein Programmcode auf einem echten Gerät laufen, Emulatoren sind nur zum Spiele spielen. Hacken will man auf dem echten Gerät, Sex macht ja ohne Gummi auch mehr Spaß. Aber wie soll man das bewerkstelligen? Meine Idee war ein Mikrocontroller, der ein ROM Modul simuliert. Somit kann ich auch Techniken in Modulen simulieren, die über die reine Zuordnung einer Adresse zu einem Wert hinausgehen.
Mit dieser Idee ging ich dann zu einem befreundeten Hardwarebastler und wir haben dann mal die groben Anforderungen an die Hardware zusammengestellt:
- 2MHz am Datenbus müssen verarbeitet werden können, das Atari arbeitet mit ca. 1.2 MHz.
- Die Programmierung der Software (die ROM-Simulation) muss von Linux aus mit kostenlosen Tools möglich sein.
- Die Programmierung der Hardware sollte von Linux aus über USB erfolgen.
So sahen meine Eckpunkte aus. Mittlerweile ist aus dem Mikrocontroller ein DSP geworden, und auch sonst scheint es eher eine Hardware mit "Goldrand" zu werden: Flash zum Speichern der ROM-Simulation und der dazugehörigen Daten, RAM zum Schreiben von Debug-Logs.
Nun stellt sich die Frage baut man ein so schickes Gerät wirklich in ein fast 35 Jahre altes Gerät ein. Das Atari hat das Problem, dass es die Grafik nur als Fernsehsignal über den Antenneeingang darstellen kann. Etwas mehr dürfte es dann doch sein. Vor ein paar Jahren ist das
Atari Flashback 2 rausgekommen, ein Nachbau der alten Atari Hardware in einem verkleinerten Gehäuse. Dort wurde der Antennenmodulator gegen ein Composite-Kabel ausgetauscht. Das Gerät verfügt über 40 eingebaute Spiele, sowie die Möglichkeit sich einen Modulschacht nachzurüsten.
Wenn man da einen Modulschacht nachrüsten kann, kann man da auch bestimmt mein Entwicklungssystem einbauen. Das Problem ist nur, dass es das Gerät nur in den Vereinigten Staaten von Amerika gibt. Das bedeutet, dass das Gerät nur NTSC können wird. Egal, die meisten Geräte mit einem Component-Eingang verkraften auch das. Also habe ich mir mal ein paar Geräte bestellt, schließlich lohnt sich eine Bestellung nicht für ein einziges Gerät, und außerdem muss ja auch noch mit Schwund gerechnet werden.
Das Datum für dieses Posting habe ich nicht grundlos gewählt, denn ich bin echt gespannt, ob ich dieses Projekt zum Ziel führen kann. Das Ziel ist es, bei zum Herbst mein eigenes bescheidenes Demo laufen zu lassen: eine Laufschrift und vielleicht noch ein bisschen mehr.
Wenn es weiter geht, wird es hier neue Beträge zu diesem Thema geben.
Kommentare