Freunde des 8ten Bits,
ich dachte mir ich packe hier mal eine Beschreibung und ein paar Bilder von meinem letzten Bastelprojekt rein: Ein Arduino-Nano basiertes Modul welches Atari 2600 Spiele von SD-Karte laden und dem Atari anbieten kann.
Was geht:
- Directorylisting der SD-Karte
- Navigation mit vier Cursortasten
- Laden von Modulen von SD-Karte
- Spielen der geladenen Module
- "Firmware update" des Arduino ueber FTDI-Adapter
Was nicht geht:
- Module >4KiB (kein Bankswitching implementiert)
- LED-Backlight des Sainsmart-Displays flackert ganz arg bei SD-Zugriffen
- Random crashes (mindestens ein Wackelkontakt irgendwo oder die bloeden Kupferkontakte oxidieren zu schnell oder was weiss ich)
- Nach dem Laden muss der Atari 2600 einen CPU-Reset bekommen. Mangels Resetleitung am Modulslot geht das nicht automatisch. Der RESET-Button vom Atari ist auch kein echter Resetbutton sondern ein Softkey. Mein Atari Junior ist deswegen 'gemodded' so das man ueber den TV-Kanalselektor einen Reset ausloesen kann.
Wie funktionierts?
- Der Arduino steuert ueber SPI das Sainsmart Display und die darauf befindliche Micro-SD Karte an
- Wird ein ROM ausgewaehlt trennen den 74LS244 den Daten und den Adressbus vom Atari
- Das ROM-File wird dann Byteweise mit den IO-Leitungen des Arduino und ueber I2C mit den IO-Leitungen des MCP23017 in einen 6264 SRAM geladen und zur Sicherheit noch einmal zurueckgelesen
- Wenn alles im SRAM ist werden die Busse wieder an den Atari angekoppelt und sowohl Arduino als auch MCP23017 gehen in den Tristate
Warum das Ganze? Keine Ahnung!
Homebrew-Spiele wie Scramble oder so laufen aus Platzgruenden nicht, um Batari Basic zu lernen bin ich vermutlich zu faul und zum Zocken hab ich >80 Module fuer die Konsole im Wohnzimmer...
War einfach eine Fixe Idee von mir im Dezember und ich wollte es unbedingt mal ausprobieren...
Schaltplan:
Bastelbilder:
Action shots:
Loetende Gruesse
Ilu