B A S T E L W A R E
64 Kilobyte frei belegbarer Speicher im
C64 und dazu noch einige Kilobyte für
Betriebssystem, Kernal, Zeichensatz und
den wichtigen I/ O-Bereich - das geht
doch eigentlich gar nicht, da der Prozessor des C64 insgesamt nur 64 kByte
adressieren kann? Es geht doch! Insgesamt muß der Prozessor auf 88 kByte
Speicher zugreifen können. Das hat Commodore damit erreicht, daß bestimmte
Speicherbereiche doppelt und dreifach
belegt sind. Je nachdem, welcher Teil
eines solchen Bereichs gerade benötigt
wird, wird in die Speicherzelle 1 ein
bestimmter Wert hineingePOKEt, der einer
ganz bestimmten Konfiguration von RAM
und ROM entspricht.
Das folgende Schema veranschaulicht den
Speicheraufbau des C64 :
Zeichen/ satz Basic/ IO/ROM Kernal/ ROM ROM RAM RAM RAM RAM RAM | | | | | 0 40960 49152 53248 57334
Für Basic-Programme wird nur der Bereich
von 0 bis 40960 genutzt.
Insgesamt gibt es drei mehrfach belegte
Speicherbereiche, die wir von 1 bis 3 durchnummerieren wollen.
Bereich 1 geht von 40960 bis 49152 . Der
dort liegende RAM-Bereich ( RAM 1) kann
nur genutzt werden, wenn das Basic-ROM
nicht benötigt wird, also z. B. in Maschinensprache.
Danach folgt ein Bereich, der nur RAM
enthält. Dieser Bereich wird oftmals von
kleineren Maschinenprogrammen belegt, da
er vom Betriebssystem nicht benutzt
wird. Er ist aber hier ohne Bedeutung.
Von 53248 bis 57334 befindet sich ein
Bereich, der gleich dreimal belegt ist.
Es befindet sich dort neben RAM ( RAM 2) auch noch der I/ O-Bereich, der die Ver-
bindung des C64 mit der Außenwelt ermöglicht und schließlich noch der Zeichensatz.
Diesem Bereich folgt der Bereich 3 : Dort
befinden sich RAM 3 bzw. das Kernal-ROM
( Betriebssystem) .
Durch beschreiben der Speicherzelle 1 kann man nun diese verschiedenen Bereiche einschalten. Das ist in Basic nicht
sehr sinnvoll, da beim " Ausblenden" des
Betriebssystems oder des I/ O-Bereichs
Ihr C64 sofort jede weitere Zusammenarbeit mit Ihnen verweigern würde. Sinnvoll ist dies jedoch in Maschinensprache, und dort wird in professionellen
Programmen auch rege Gebrauch gemacht.
Worum es dieses mal in der BASTELWARE
geht, ist eine Anzeige, die Ihnen ständig Aufschluß darüber gibt, welcher Teil
des Speichers wie eingeschaltet ist.
Die Bits 0 bis 2 der Speicherzelle 1 sind, wie schon gesagt, ein Maß dafür.
Diese drei Bits sind an den Pins 28,29 und 30 des 6510- Prozessors herausgeführt. Im C128 ist dafür ein Chip mit
der Bezeichnung 8502 eingebaut. Dieser
entspricht aber in der Anschlußbelegung
genau dem 6510, so daß bezüglich der
Kompatibilität keine Schwierigkeiten
auftreten.
Auf der folgenden Seite sehen Sie die
Stückliste zur Speicherbereichsanzeige
und danach den Schaltplan.
Stückliste zur Speicherbereichsanzeige IC 1 : Integrierte Schaltung SN7400 IC 2 : Integrierte Schaltung SN7408 R1 bis R8 :8 Widerstände, je 1 Kiloohm D1 bis D7 :8 Leuchtdioden
D8, D9: 2 Siliziumdioden 1N4148
Beim Aufbau empfiehlt es sich, die ICs
zu Sockeln, dadurch wird bei einem eventuellen Austausch viel Ärger vermieden.
Preis der Bauteile circa 10 DM.
Wenn Sie noch nicht so versiert mit dem
Lötkolben sind, so lassen Sie sich bitte
durch einen erfahrenen Elektronikbastler
helfen. Da an den Prozessor drei Leitungen angelötet werden müssen und dieser
keine große Hitze verträgt, sollte die
Lötzeit dort 5 Sekunden nicht überschreiten. Bitte beachten Sie auch, daß
beim öffnen Ihres C64 die Garantie verloren geht!
Die beiden anderen Leitungen (+5 V und
GND) sind leichter anzulöten.5 Volt
finden sich praktisch überall im C64, zum Beispiel am Anschluß Nummer 2 des
USER-Ports oder Anschluß 2 oder 3 des
Expansion-Ports. Masse ( GND) finden Sie
an allen Abschirmungen, z. B. am Metall-
gehäuse des Fernseh-Modulators oder am
äußerst linken oder recheten Anschluß
des USER-Ports.
Haben Sie die Schaltung fertig installiert, so starten Sie doch einfach mal
ein Programm, zum Beispiel Ihre Magic
Disk 64, und beobachten Sie die Leuchtdioden.