Final Expansion 1

Aus
Wechseln zu: Navigation, Suche

SEITE IM AUFBAU - SEITE IM AUFBAU - SEITE IM AUFBAU - SEITE IM AUFBAU - SEITE IM AUFBAU - SEITE IM AUFBAU


Prototyp vorne
Prototyp hinten
Diese Version der Final Expansion ist veraltet. Das aktuelle Modell ist die Final Expansion 3 (FE3).


Final Expansion 1

Die FE1 wurde als universelle Speichererweiterung für den VC-20 Homecomputer konzipiert. Es gibt Nachfolge Modelle Final Expansion 2 und Final Expansion 3.


Der VC-20

Der VC-20 war einer der ersten Homecomputer der in Masse produziert wurde. Keiner glaubte wirklich an einen Erfolg, Commodore produzierte ihn hauptsächlich deswegen, weil zu viele RAM Chips auf Lager waren. Zudem steckte man viel Geld in die Entwicklung eines Grafikchip (VIC), aber keine Firma wollte ihn kaufen. Doch sehr schnell wurde der VC-20 ein großer Markterfolg und bereitete den Weg für den C64 ...

Im Gegensatz zum C64 hat der VC-20 nur sehr wenig RAM. Nur 5KB und davon stehen nur 3,5KB zur freien Verfügung. Deswegen wurden auch bald Speichererweiterungen verkauft. Erst eine 3KB Erweiterung, dann eine 8KB und eine 16KB. Man kann die Erweiterungen teilweise auch kombinieren, weil sie für unterschiedliche Speicherbereiche konzipiert sind. Es kamen einige Spiele und Programme für den VC-20 auf den Markt, und leider benötigen viele der Spiele und Programme unterschiedliche Speichererweiterungen. Will man jede Software laufen lassen, so benötigt man alle Speichererweiterungen. Einige Programme laufen sogar nicht, wenn zuviel Speicher vorhanden ist.

Viele Spiele und Utilities gibt es in Form einer ROM Erweiterung (Steckmodul). Manche belegen 8KB Speicher, andere 16KB. Einige dieser Spiele laufen nur in einem ROM, weil sie in den eigenen Speicher schreiben. Ladet man diese Spiele in eine Speichererweiterung, dann zerstören sie sich selbst.

Der VC-20 kann wie der C64 exakt 64KB adressieren. Davon sind 16KB belegt durch Kernel (8KB) und dem Basic Interpreter (8KB). Weiter 8KB sind für IO Ressourcen reserviert. Die restlichen 40KB sind frei oder mit internem RAM belegt.


Projekt Speichererweiterung

Das Projekt soll alle bekannten Speichererweiterungen abdecken und zugleich den maximalen Speicherausbau bieten. Die Speicherkonfiguration soll einfach und vor allem per Software umschaltbar sein. Zudem soll auch Platz für Programme im Eprom sein, damit sie sofort nach dem Einschalten verfügbar sind.


Die Erweiterung soll den Namen Final Expansion tragen und folgende technische Daten haben:

  • Erweiterung auf maximal 40KB RAM. Dabei sollen alle gängigen RAM Ausbauten einstellbar sein: 3KB, 8KB, 11KB, 16KB, 19KB, 24KB, 27KB, (35KB)
  • der RAM sollte sich gegen überschreiben schützen lassen, sodass er wie ein ROM aussieht (Steckmodul Emulation).
  • ein EEPROM Speicher mit 512KB. Der EEPROM soll vom VC-20 aus programmierbar sein.
  • Eine IO Adresse zur Konfiguration der Erweiterung. Diese IO Adresse sollte auch ausblendbar sein


Was kann man damit machen

Nach dem Einschalten des VC20 (bzw. nach einem Hardreset) ist das Eeprom und die IO Adresse der Final Expansion aktiviert (sichtbar). Das Kernel des VC20 findet eine Cartridge und startet die Firmware des Final Expansion. Wenn keine Taste gedrückt wird, dann kommt ein Menü mit dem man die Final Expansion konfigurieren kann:

  • Speicherausbau wählen und VC20 Basic starten. Man wählt eine RAM Erweiterung und startet mit der Taste <Enter>.
  • ein Spiel aus dem EEPROM direkt starten. Man wählt ein Spiel oder Programm und startet mit der Taste <Enter>.
  • ein Spiel oder Programm direkt von einer Diskette starten. Es wird aus einer Liste ausgewählt und mit <Enter> gestartet.


Mit Zusatzprogrammen kann man die Final Expansion nach eigenen Wünschen konfigurieren:

  • Cartridge in das Eeprom speichern
  • Schnelltasten konfigurieren. Hält man eine dieser Tasten gedrückt beim Einschalten bzw. während eines Reset kommt man direkt in die eingestellte Konfiguration.


Aufbau der Final Expansion 1

Das Modul wurde auf einer speziellen Lochraster Platine (8 Bit Baby) aufgebaut, die bereits passende Slot Anschlüsse für den VC20 hat. Man bekommt das 8 Bit Baby bei der Firma Protovision. Auf dem 8 Bit Baby ist Platz für ein PLCC-44 Sockel, in dem ein CPLD Baustein der Firma Atmel oder Altera eingesetzt wird. Ich habe mich für den CPLD ATF1504AS der Firma Atmel entschieden.

Der CPLD kann eine Menge TTL Chips ersetzen und ist beim FE1 für die Adressdekodierung sowie für die Software gesteuerten Konfiguration (Latch) zuständig. Der CPLD muß erst per JTAG für seine Aufgabe programmiert werden. Atmel bietet hierzu kostenlos eine Software an (WinCUPL), mit der man die Logik des CPLD "verdrahten" kann.

Neben dem CPLD benötigt man noch den externen Speicher:

  • ein 8KB SRAM für den oberen Speicherbereich
  • ein 32KB SRAM für den unteren Speicherbereich
  • ein 512KB EEPROM als "Massenspeicher" für die Firmware (Modul Menüprogram) und andere Programme


News

  • 2009-05-04 Verdrahtung der Cartridge abgeschlossen.
  • 2009-04-16 Aufbau von Test- und Programmier Hardware.
  • 2009-04-10 Programmieren des ATF-1504 und Beginn der Verdrahtung
  • 2009-03-30 Erstellung der Logik und Test im Simulator
  • 2009-03-14 Aufbau dieser Homepage und Veröffentlichung der ersten Schritte ...
  • 2009-03-02 Start des Projektes


Dokumentation

Die Vorschau-Bilder können angeklickt werden, um eine vergrößerte Ansicht zu erhalten.



Wozu das Ganze

  • In erster Linie um die Programmierung eines CPLD zu erlernen
  • Ausbau meines VC-20


Diese Version der Final Expansion ist veraltet. Das aktuelle Modell ist die Final Expansion 3 (FE3).