Final Expansion Doku - Technik u. Programmierung


Home | Mail | Final Expansion v1 | Final Expansion v2 | Final Expansion v3                        | ENGLISH  


Das Final Expansion beinhaltet 512KB SRAM und 512KB Flash. Um auf den erweiterten Speicher Zugreifen zu können, muss man den Speicher stückweise einblenden. Der Grund dafür ist der beschränkte Adressraum des 6502 Prozessor, der immer nur 64KB gleichzeitig 'sehen' kann. Beim VC-20 sind die 'freien' Adressräume auf 4 x 8KB + 3KB beschränkt. Siehe Bild Memory MAP:






Register:

Das Final Expansion hat zwei Register um das Modul per Software zu konfigurieren. Die Register werden wie Speicherzellen zugegriffen und können beschrieben und gelesen werden. Die Register haben wie jede Speicherzelle 8 Bit. Nach einem (Hard-) Reset bzw. nach dem Einschalten steht 0 in beiden Register.



Register 1 ($9c02):

Mit Register 1 stellt man die Betriebsart der Final Expansion ein. Das Register befindet sich an der Adresse 39938 ($9c02). Mit POKE 39938,X wird der Wert der Variablen X in das Register1 geschrieben. Mit PEEK(39938) kann man den Wert des Register1 auslesen.

Die obersten drei Bits von Register1 (Bit 5,6 und 7) sind für die Betriebsart zuständig. Die unteren 5 Bits (Bit 0 bis 4) sind Zusatzinformation zur eingestellten Betriebsart. Man kann also Betriebsart und Zusatzinfo per + oder OR zusammenbauen und dann per POKE in das Register schreiben (Register 1: bbbzzzzz).

b .. Betriebstart
z .. Zusatzinfo


Register 2 ($9c03):

Mit Register2  kann man die von der FE belegten Ressourcen freigeben (deaktivieren). Das Register befindet sich an der Adresse 39939 ($9c03). Mit POKE 39939,Y wird der Wert der Variablen Y in das Register2 geschrieben. Mit PEEK(39939) kann man den Wert des Register2 auslesen.

Der VC-20 hat 5 freie Adressräume (Speicher Blöcke). Die FE kann jedem dieser 5 Blöcke Speicher zuordnen. Dh. es wird ein Teil des FE Speichers in einem oder mehreren Blöcken des VC-20 eingeblendet (Banking).

Die unteren 5 Bits (Bit 0 bis Bit 4) des Register2 steuern die Sichtbarkeit der 5 Speicher Blöcke im VC-20. Eine 0 blendet den zugehörigen Block ein, eine 1 blendet den Block aus. Das Ausblenden der Speicher Blöcke benötigt man, um die Kompatibilität zu anderen Modulen zu ermöglichen.

Das oberste Bit (Bit 7) des Register 2 steuert die Sichtbarkeit der Register. Eine 0 blendet die beiden Register ein, eine 1 blendet beide Register aus (deaktiviert die Register). 

Achtung: Wenn die Register ausgeblendet werden, dann gibt es für die Software keine Möglichkeit mehr die Konfiguration zu ändern. Erst nach einem Reset werden die Register wieder sichtbar.

Das Ausblenden der Register macht man, damit fremde Software nicht unbeabsichtigt die Konfiguration der FE ändern kann. Damit wird die Kompatibilität zu jeder erdenklichen Software hergestellt.

Bit 0 ... Sichbarkeit des VC-20 Speicherblock 0 (Blk0 - $0400-$0FFF)
Bit 1 ... Sichbarkeit des VC-20 Speicherblock 1 (Blk1 - $2000-$3FFF)
Bit 2 ... Sichbarkeit des VC-20 Speicherblock 2 (Blk2 - $4000-$5FFF)
Bit 3 ... Sichbarkeit des VC-20 Speicherblock 3 (Blk3 - $6000-$7FFF)
Bit 4 ... Sichbarkeit des VC-20 Speicherblock 5 (Blk5 - $A000-$BFFF)
Bit 5 ... 1: invertiert A13
Bit 6 ... 1: invertiert A14
Bit 7 ... Sichtbarkeit des IO-3 (Register 1 und 2)


Banking:

Damit man den gesamten Speicher der Final Expansion erreichen kann, muss man den Speicher stückweise einblenden. Dazu stehen verschiedne Betriebsarten zur Verfügung, um alle Erfordernisse abdecken zu können.




Betriebsarten der Final Expansion:





Disclaimer

Alle genannten Waren- oder Firmenbezeichnungen könnten Eigentum der jeweiligen Besitzer sein. Alle Informationen werden ohne Rücksicht auf die evtl. Rechts- oder Patentlage ausschließlich zu Ausbildungszwecken erteilt. Jegliche Verwendung geschieht ausdrücklich auf eigene Gefahr.

Also melden Sie sich nicht bei mir, wenn Ihr VC-20, Ihr CPLD oder Ihr PC nicht mehr funktionieren sollte, das Feuer auf die ganze Wohnung, das Haus, den Straßenzug oder die Stadt übergreift oder der dabei entstehende Rauch das Klima um 30 Grad erwärmt, Millionen verdursten und verhungern und der Rest von Aliens gekapert wird, die dann kommen, weil es endlich ausreichend kuschelig warm ist... also seien Sie gewarnt und bedenken Sie Ihr Handeln sorgfältig!


first edit 2009-09-24, last edit 2009-09-26