Die 65xx-Prozessorfamilie wird unter Bastlern immer noch gerne genommen,
weil sie in Assembler recht einfach zu programmieren ist und es viele
Erweiterungsbausteine gibt. Neben dem Z80 waren die 6502-Prozessoren ja
die verbreitesten 8bit-CPU's. Es gibt sehr viele 65xx-Prozessoren, dabei
auch die neueren Varianten 65C02 und 65SC02, die aber keine illegalen
Opcodes mehr haben.
Ich selbst bin aktiver C64/128-User, deshalb habe ich natürlich viel mit
den Prozessoren und den dazugehörigen I/O-Bausteinen zu tun. Im C64
werkelt eine spezielle Variante des 6502, der 6510 (später 8500). Er hat
einen 8bit-I/O-Port, von dem allerdings nur 6 Pins herausgeführt sind.
Dadurch wird das Bankswitching des C64 ermöglicht, dadurch wird er
flexibler. Der VC-20 hat einen normalen 6502, deshalb kann er kein
Bankswitching machen und hat daher nur einen festen Adressraum von 64
Kbytes. Deshalb gehen nicht mehr als ca. 32K RAM + I/O + ROM. Um noch
ein paar Varianten des 6510 aufzuführen: In der Commodore-Floppy
arbeitet ein 6510T, das ist ein 6510 mit sämtlichen 8 Pins des
I/O-Ports. Dafür fehlen zwei andere Pins. Der 8502 ist ein 6510 mit 1
und 2 MHz, wird im C128 benutzt. Für mehr 65xx in der Wikipedia oder auf
6502.org nachschauen.
Der 65C816S ist eine interessante Variante: Er startet im 65C02-Modus
mit dem typischen Adressraum von 64 Kbyte. Auch die Register und der
Akku sind nur 8 bit breit. Der Prozessor kann aber in einem 16bit-Modus
umgeschaltet werden, dazu gibt es einen Adressraum von 16 MB und
wesentlich mehr Befehle. Die Umschaltung erfolgt etwas merkwürdig:
Hinter dem 'Carry'-Flag im Statusregister ist ein 'Emulation'-Flag
versteckt. Durch das setzen des Carry-Flags und dem Austausch wird
zwischen 8bit- und 16bit-Modus umgeschaltet.
16bit-Modus:
SEC (SEt Carry)
XCE (eXchange Carry with Emulation)
8bit:
CLC (CLear Carry)
XCE (eXchange Carry with Emulation)
Nochmal zum 65C256S: Ich habe eine Flash8-Turbokarte für den C64, die
hat einen 65C816S im DIP40-Gehäuse drauf. Ich wollte jetzt mal
ausprobieren, ob es möglich ist, den 65816 durch einen entsprechend
angeschlossenen 65265 zu ersetzten, ohne Software-Kompatilitätsprobleme
zu haben. Wenn das ginge, hätte man bei eigener Programmierung die
Möglichkeit, die Mikrocontrollerfunktionen zu verwenden. Ein Standard
wird das nicht werden, da die Flash8 nicht verbreitet ist, aber ein Test
wäre es mir wert.