Hier noch ein von mir gebauter Einplatinencomputer mit der 6504 CPU. Die CPU ist kleiner, hat weniger PIN’s als die 6502 CPU und kann auch nur 8kByte Speicher adressieren. Die 6502 CPU kann 64kByte Speicher adressieren.
Bestückt ist das Board mit einem 2kByte 6116 SRAM Chip, einer 8255 PIO und der 6551 SIO mit nachgeschaltetem MAX 232 (leerer 16 pol. Sockel). Oben rechts sieht man ein zugeklebtes EPROM. Das EPROM diente hier als MMU (Memory Management Unit) um den knappen Adressbereich der 6504 besser ausnutzen zu können.
Bei meinen ersten Einplatinencomputern hatte ich immer einen 74LS138 Chip (Demultiplexer) benutzt um die CS (Chip Select) Signale aus den oberen drei Adressbits zu generieren.Das hat jedoch den Nachteil, das man den gesamten Adreßbereich der CPU in 8 gleichgroße Bereiche teilen muss. Der Adreßbereich einer 6502 ist 64kByte, geteilt durch 8 wären das Speicherblöcke von je 8kByte größe. Das ist geradezu verschwenderisch wenn man nur eine PIO oder SIO adressieren will, die gerade einmal zwei oder drei ansprechbare Register besitzen.
Also habe ich ein EPROM genommen, welches sehr viel mehr Adreßleitungen aufnehmen kann, und mit seinem 8-Bit Datenbus quasi eine programmierbare Speicherbereich Zuweisung ermöglicht. Ich erinnere mich die oberen 8 Adressleitungen der CPU zur MMU geführt zu haben, das ermöglichte bei 64kByte eine Blockgröße von nur noch 256 Byte. Mit der Programmierung des EPROM habe ich ihm 256 Bytes eingebrannt. Wobei immer nur eine Null pro Byte enthalten sein durfte (CS Signale negiert). Durch die Adresse wurde ein Speicherplatz im EPROM ausgewählt und dessen Inhalt auf dem EPROM Datenbus ausgegeben. Dieses Byte bildete dann für bis zu 8 Chips die Chip Select Signale.



