Abo
  • Services:

Bastelrechner: Apple II mit einem Arduino nachgebaut

Der Apple-II-Nachbau überrascht nicht nur durch seinen einfachen Hardwareaufbau, sondern auch seine clevere Implementierung, um die Limitierungen des Arduinos zu umgehen.

Artikel veröffentlicht am ,
Offener Apple II (CC SA 3.0)
Offener Apple II (CC SA 3.0) (Bild: Hellisp)

Damian Peckett hat einen Apple II mit Hilfe eines Arduino Uno nachgebaut - inklusive Videoausgabe, der Datenspeicherung per Kassettenrekorder, Tastaturanschluss und der Audioausgabe. Bemerkenswert ist dabei nicht nur, dass zum Anschluss der Periphere kaum zusätzliche Bauteile notwendig waren, sondern auch, dass es überhaupt umsetzbar war: Der Apple II hatte 4 KByte RAM, der Atmega328 des Arduino Uno hat lediglich 2 KByte, und den muss sich ein Apple-Programm auch noch mit dem Emulator teilen.

Stellenmarkt
  1. Thorlabs GmbH, Dachau
  2. Stadtwerke München GmbH, München

Der Ausgangspunkt für das Projekt war eine Emulation des im Apple II verbauten 6502-Mikroprozessors. Peckett vereinfachte die Emulation. So mussten die Unterschiede in den Ausführungszeiten der Opcodes nicht identisch zum Original sein ("cycle accurate"). Außerdem wird keine BCD-Arithmetik emuliert. Das ist möglich, da sie vom Apple-Basic nicht benutzt wird.

Die Videoausgabe erledigt nicht der große Mikrocontroller des Arduinos, sondern der kleinere Atmel16u2. Er dient normalerweise als Verbindungsglied zwischen der USB-Schnittstelle und dem Atmega328. Er lässt sich aber auch selbst programmieren. Dessen Rechenleistung reicht aus, um eine Grafikausgabe per VGA zu implementieren.

Der Kassettenrekorder, eine PS/2-Tastatur sowie der Lautsprecher konnten direkt an den Arduino angeschlossen werden. Lediglich vom Audioausgang des Kassettenrekorders zum Arduino waren ein zusätzlicher Widerstand und Kondensator notwendig.

Clevere Tricks gegen den RAM-Mangel

Peckett nutzte mehrere Tricks, um Apple-Programmen möglichst viel RAM zur Verfügung zu stellen. Dabei konnten Programmierer auch beim Original schon nicht auf die vollen 4 KByte zugreifen. Ein KByte wurde als Videospeicher benutzt. Ein weiterer Teil des Speichers wurde für systeminterne Daten verwendet.

Da die Videoausgabe über den zweiten, kleineren Mikrocontroller läuft, muss von den 2 KByte des großen Mikrocontrollers kein Videospeicher abgezweigt werden. Vorteilhaft für den Nachbau ist auch die Größe des Flash-Speichers des Atmel-Mikrocontrollers. In dessen 32 KByte passt nicht nur das 16 KByte große Original-ROM des Apple II, sondern auch der komplette Emulator. Durch den vergleichsweise großen Flash-Speicher konnte der Emulator RAM-sparend implementiert werden. Dadurch verbleiben effektiv 1,5 KByte RAM für Anwendungen beziehungsweise 1 KByte für Apple-Basic-Programme.

Dass sein Nachbau funktioniert, zeigt Damian Peckett mit Hilfe eines Apple-Basic-Programms, das ein Mandelbrot-Fraktal generiert. Dabei zeigt sich aber auch, dass die Emulation relativ langsam ist, das Programm benötigte mehrere Minuten. Peckett selbst schätzt, dass sein Nachbau circa fünf- bis achtmal langsamer ist als das Original. Er geht jedoch davon aus, dass es noch Optimierungsmöglichkeiten gibt.

Der vollständige Quellcode steht auf Github zur Verfügung.



Anzeige
Hardware-Angebote
  1. mit Gutschein: HARDWARE50 (nur für Neukunden, Warenwert 104 - 1.000 Euro)
  2. (Neuware für kurze Zeit zum Sonderpreis bei Mindfactory)
  3. ab 399€

clemisch 12. Apr 2015

Das war ja auch nicht Ziel des Projekts; die technische Umsetzung mit eigentlich...

k.Mitnick 09. Apr 2015

Dass das Interesse in »heutigen Generation« verschwunden sei, kann ich nicht bestätigen...


Folgen Sie uns
       


Shadow of the Tomb Raider - Golem.de live Teil 2

In Teil 2 des Livestreams zu Shadow of the Tomb Raider finden wir lustige Grafikfehler und der Chat trinkt zu viel Bier, kann Michael aber trotzdem bei einigen Rätseln helfen.

Shadow of the Tomb Raider - Golem.de live Teil 2 Video aufrufen
Xilinx-CEO Victor Peng im Interview: Wir sind überall
Xilinx-CEO Victor Peng im Interview
"Wir sind überall"

Programmierbare Schaltungen, kurz FPGAs, sind mehr als nur Werkzeuge, um Chips zu entwickeln: Im Interview spricht Xilinx-CEO Victor Peng über überholte Vorurteile, den Erfolg des Interposers, die 7-nm-Fertigung und darüber, dass nach dem Tape-out der Spaß erst beginnt.
Ein Interview von Marc Sauter

  1. Versal-FPGAs Xilinx macht Nvidia das AI-Geschäft streitig
  2. Project Everest Xilinx bringt ersten FPGA mit 7-nm-Technik

Assassin's Creed Odyssey im Test: Spektakel mit Spartiaten
Assassin's Creed Odyssey im Test
Spektakel mit Spartiaten

Inselwelt statt Sandwüste, Athen statt Alexandria und dazu der Krieg zwischen Hellas und Sparta: Odyssey schickt uns erneut in einen antiken Konflikt - und in das bislang mit Abstand schönste und abwechslungsreichste Assassin's Creed.
Von Peter Steinlechner

  1. Assassin's Creed Odyssey setzt CPU mit AVX-Unterstützung voraus
  2. Project Stream Google testet mit kostenlosem Assassin's Creed Odyssey
  3. Assassin's Creed angespielt Odyssey und der spartanische Supertritt

Pixel 3 und Pixel 3 XL im Hands on: Googles Smartphones mit verbesserten Kamerafunktionen
Pixel 3 und Pixel 3 XL im Hands on
Googles Smartphones mit verbesserten Kamerafunktionen

Google hat das Pixel 3 und das Pixel 3 XL vorgestellt. Bei beiden neuen Smartphones legt das Unternehmen besonders hohen Wert auf die Kamerafunktionen. Mit viel Software-Raffinessen sollen gute Bilder auch unter widrigen Umständen entstehen. Die ersten Eindrücke sind vielversprechend.
Ein Hands on von Ingo Pakalski

  1. BQ Aquaris X2 Pro im Hands on Ein gelungenes Gesamtpaket mit Highend-Funktionen

    •  /