CBM 600
Der CBM 600 oder auch Commodore 600 gehört zur Anfang der 1980er-Jahre herausgegebenen CBM-II-Serie, die die erfolgreiche PET-/CBM-Serie ablösen sollte. Er besteht ebenfalls aus einer Einheit und ist wie der CBM500 ein Tastaturcomputer. Im Gegensatz zum CBM 500 besitzt er keinen Joystickport, sowie durch die monochrome 80-Zeichenkarte keine Möglichkeit an ein Fernsehgerät angeschlossen zu werden. Die CBM-600-Reihe wurde als "Advanced Business Computer" vermarktet.
Aufbau[Bearbeiten | Quelltext bearbeiten]
Den CBM 600 gibt es in verschiedene Modellvarianten. Sie unterscheiden sich durch den internen Arbeitsspeicher (RAM) und Coprozessorausstattung. Es gab die Modelle CBM 610 (auch international als B128-80 bekannt) mit 128 KByte und CBM 620 (auch international als B256-80 bekannt) mit 256 KByte RAM. Es soll auch eine Version mit einem Intel 8088 Prozessor unter der Bezeichnung CBM 630 (bzw. international BX256-80) gegeben haben[1]. Eine Modellreihe (siehe CBM 700) mit eingebautem Bildschirm wurde international als CBM nnn-80 bzw. CBMX nnn-80 mit 8088 Prozessor vermarktet.
Für alle Varianten war eine Z80-Prozessor-Option vorgesehen, die wechselweise zu einem eventuell vorhandenen 8088-Prozessor nutzbar gewesen wäre, welche es aber nicht bis zum Prototypstadium geschafft hat. In all der Vielfalt der Modelle sind diese Rechner international (außerhalb Europa) ursprünglich als B Series bezeichnet worden.
- Auf der Rückseite (von oben nach unten und von links nach rechts):
- Resettaster.
- Stromanschluss über Kaltgerätestecker.
- Ein-/Ausschalter.
- RS-232C-Schnittstelle (25-polig; E/A) zum Anschluss von Druckern und Modems für Übertragungsraten von 50-19200 Baud.
- Audio-/Videobuchse (5-polig; A) für den Anschluss eines Monitors.
- Datassetten-Anschluss (Kassettenport 12-polig; E/A) zum Anschluss eines Datassettenlaufwerks 1530 bzw. C2N.
- Cartridge-Slot (15-polig) zum Anschluss von Steckmodulen.
- Audio-Ausgang über Cinch-Anschluss.
- IEEE-488 Bus Schnittstelle (Nichtstandardanschluss, Konverterkabel erforderlich) zum Anschluss von Druckern, Diskettenlaufwerken oder auch Messgeräten etc.
- Der Userport ist zwar vorhanden, aber nicht nach außen geführt.
- Prozessor: MOS 6509A mit ca. 2 MHz Taktfrequenz, 6502-Derivat mit 2 Port-Register auf Adresse $00 und $01.
- Coprozessor: Optional ja nach Modelltyp, sonst durch zusätzliche Ausstattung: Mit den Prozessoren Z80 (nicht produziert) oder Intel 8088 (4,77 MHz) wären alternativ die Betriebssysteme CP/M 2.2 oder CP/M-86 bzw. MS-DOS nutzbar.
- RAM-Speicher: intern 64, 128 oder 256 KByte, zusätzlich extern maximal 704 KByte nachrüstbar, davon sind je nach RAM-Ausstattung und Bank-Zuordnung knapp 128 bis 256 KByte frei unter BASIC (verteilt auf Programm und Daten) nutzbar.
- ROM-, I/O- und System-Speicher: 48 KByte ROM gesamt (24 KByte intern, max. 24 KByte extern über Steckmodul) verteilt in Bank 15 (System-Segment):
- Puffer-RAM (2 KByte; 0-2047; $0000-$07FF) in Bank 15 mit Zeropage, Stack (Page 1) bis Page 7 für Systemdaten
- Externer Puffer-RAM (2 KByte; 2048-4095; $0800-$0FFF)
- Disk-ROM (4 KByte; 4096-8191; $1000-$1FFF)
- Freier Bereich (8192-32767; $2000-$7FFF) bzw. sofern vorhanden:
- Steckmodul 8 KByte (8192-16383; $2000-$3FFF)
- Steckmodul 8 KByte (16384-24575; $4000-$5FFF)
- Steckmodul 8 KByte (24575-32767; $6000-$7FFF)
- Extended CBM BASIC V4.0 (16 KByte) (32768-49151 ; $8000-$BFFF)
- sämtliche I/O-Controller für Video, Sound, Interfaces usw. (49152-57343; $C000-$DFFF)
- Unbenutzter Bereich (4 KByte) (49152-53247 ; $C000-$CFFF)
- KERNAL (Kernel) (8 KByte) (57344-65535 ; $E000-$FFFF)
inkl. Monitorprogramm TIM (Aufruf viaSYS 60950
).
- Video: Bildschirmcontroller CRTC MOS 6545A-1 oder pin-kompatiblen MC 68B45 (55296-55551, $D800-$D8FF)
- 2 KByte Video-RAM (53248-55271, $D000-$D7FF)
- Darstellungen im Textmodus (entweder Großschrift-/Grafikzeichen oder Groß-/Kleinschrift) 80 (Spalten) × 25 (Zeilen) Zeichen monochrom mit Zeichen in einer 9×14 Pixelmatrix.
- Sound: Der SID MOS 6581 (55808-56063, $DA00-$DAFF) wird zur Tonerzeugung genutzt und kann 3 unabhängige Stimmen mit Tönen von über 8 Oktaven (ca. 123 Töne) oder Geräusche und zusätzliche Filterung wiedergeben.
- Tastatur: 94 Tasten (QWERTY), die mehrfach belegt sind, inkl. Nummernblock (19 Tasten) und 10 Funktionstasten, 4 Cursortasten, 4 commodore-spezifische Sondertasten
- Sonstige Chips:
- Low Cost Diskport (55552-55807, $D900-$D9FF)
- External Port (on Co-prozessor board, für Coprozessor-Kommunikation) (56064-56319, $DB00-$DBFF)
- Complex Interface Adapter (CIA) MOS 6526 für die E/A-Steuerung IEEE-488 (User-Port) (Ein-/Ausgabe, 56320-56575, $DC00-$DCFF)
- Asynchronous Communication Interface Adapter (ACIA) MOS 6551 für RS-232 (56756-56831, $DD00-$DDFF)
- 2 Tri-Port Interface (TPI) Chips MOS 6525 für Interruptverwaltung, IEEE-488, Kassettenport (56832-57087, $DE00-$DEFF) und Tastatur (57088-57343, $DF00-DFFF)
Speicherverwaltung[Bearbeiten | Quelltext bearbeiten]
Die Speicherverwaltung[2] erfolgt jeweils in 64 KByte großen Segmenten (auch Banks genannt), in denen sich RAM- oder ROM-Bereiche befinden. Es können 16 Segmente (Nr. 0 bis 15, insgesamt 1 MByte Adressraum) verwaltet werden. Im System-Segment 15 ($0F) sind alle eingebauten Chips, deren I/O-Bereiche, sowie das Betriebssystem bestehend aus KERNAL und BASIC adressierbar. Segment (Bank) 0 wurde nicht verwendet.
Angesteuert werden die Segmente über zwei 4-Bit-Register der CPU 6509, welche in allen Segmenten eingeblendet sind:
- Port $00 (4 Bit): Legt das Segment fest, in dem gerade die CPU die Instruktionen abarbeitet (Exec Segment Bank).
- Port $01 (4 Bit): Bestimmt jenes Segment, auf das die CPU-Befehle für den Datenzugriff via LDA (),Y STA (),Y wirken (Indirect Segment Bank).
Segmentnutzung bei 128 KByte RAM:
- Im Segment 1 wird das gerade aktive BASIC-Programm gehalten und ausgeführt.
- Im Segment 2 werden berechnete Daten, also sämtliche Variablen-Typen abgelegt.
Bei der Nutzung von 256 KByte RAM, werden die Segmente 2-4 wie folgt genutzt:
- Im Segment 2 werden Felder (Array-Variablen) abgelegt.
- Im Segment 3 werden einfache (nichtindizierte) Variablen abgelegt und es ist hier auch Platz für Commodore-DOS reserviert.
- Im Segment 4 werden Zeichenketten (Strings) abgelegt.
Weblinks[Bearbeiten | Quelltext bearbeiten]
Wikipedia: CBM-600-Serie |
- Bo Zimmermanns CBM 610 page
- CBM-II Infos
- The 6509s: The P500, B128/256, B500, 600, 700, BX128/256
- Steve Grays CBM II page
- 'B' Series Manual, 1983 (PDF)
- CBM-II Software-Archiv (cbmterm2, CBUG)