Für den Z9001 gibt es zwei Varianten einer CPM-Implementation

- Rossendorf

- Robotron

Die Robotron-Variante unterscheidet sich in der Ansteuerung von der Rossendorfer 
Variante nur im Floppy-Modul. Boot-Modul und RAM-Modul sind zwar leicht 
unterschiedlich gebaut, werden aber gleichartig genutzt.

Ansteuerung der Module
----------------------

RAM-Modul Rossendorf und Robotron:

	Port 04h Bank 1 aktiv (Bereich 4000-7FFF)
	Port 05h Bank 2 aktiv (Bereich 4000-7FFF)
	Port 06h Write Only
	Port 07h R/W

ROM-Modul Rossendorf und Robotron
einschalten: ld (0FC00h),a
abschalten:  ld (0F800h),a

Floppy-Modul Rossendorf (das ist das mit Stromversorgung für Floppy)
	Port 10h Datenregister          																																
	Port 11h Status                 																																
	Port 12h Zusatzregister, nur out																																

Floppy-Modul Robotron:
	Port 98h Datenregister 
	Port 99h Statusregister 
	Port 0a0h ZusatzFDC-Register mit:
			5 4 3 2 1 0
			x x 0 0 x x 
			| |    | |
			| |    | Motor Laufwerk 0 ein/aus
			| |    Motor Laufwerk 1 ein/aus
			| Terminal Count aktivieren/deakt.
			FDC Reset


Start des Systems (Text: U.Zander)
-----------------

1. Das Floppymodul arbeitet nur mit einem RAM-Modul (zusaetzlich 64k RAM)
   zusammen. Dabei werden die ersten 16k des Programmspeichers mit 
   einer RAM-Bank verwaltet. Es stehen somit theoretisch 74k Speicher
   zur Verfuegung: 
   2 x 16k RAM            0000H bis 3FFFH	(Bank)
   42k     RAM            4000H bis E7FFH
   1k      Bildspeicher   E800H bis EBFFH
   1k      Farbspeicher   EC00H bis EFFFH
   4k      Betriebssystem F000H bis FFFFH

2. Das zugehoerige CPM-Betriebssystem "@cpmz9.com" muss sich als erste
   Datei auf einer im CPM-Format z.B. 5x1024x80x2 = 780k formatierten 
   Diskette befinden.

3. Der Urlader in einem ROM-Modul (ab Adresse C000H) wird durch den 
   Aufruf "BOOT" gestartet. (Rossendorf: "CPM" )
   Dabei wird der ROM-Modul abgeschaltet (/ROMDI) und der dahinterliegende
   RAM-Bereich eingeschaltet. Wird auf der Diskette die als Systemdatei 
   gekennzeichnete Datei "@cpmz9.com" gefunden, wird diese in den RAM ge-
   laden, CPM laeuft. Das Umschalten der RAM-Bank uebernimmt das CPM 
   (OUT 06H und OUT 07H).


Floppies
--------

System 1 Rossendorf

KC1-3,5		CPM6010
KC4		reine Bootdisk CPMS08
KC6		reine Bootdisk CPM6010

auf KC1 sind diverse CPM-Systeme enthalten (s.u.); Suffix R steht für Robotron

System 2 Robotron

kc87 cpm ok - korrektes System für Robotron-Module
		cpm wie unter zander\


BOOT-Programme
--------------

- von Floppy rossendorf\KC-1: BOOTR.HEX -> BOOTR.bin
  Boot-Rom für Rossendorf, Version x.xx
  auch a_schön\CPM Boot unbekannt\boot.bin

- BFD4.ROM aus dem Rossendorfer Boot-Modul
  Boot-Rom für Rossendorf, Version x.xx		=> bfd4.asm
  
- Urlader.com von U. Zander
  Boot-Rom für Robotron. Start mit "BOOT"!


CPA-Versionen
-------------

Suche nach db 98 -> Robotron, db 10 -> Rossendorf
CPA-Versionen:  ccp und ccp2 haben beide den Eintrag CCP fuer shadow BDOS 09.12.88, 
		aber unterscheiden sich. Die zugehörigen BDOSse sind gleich.
		ccp2 scheint aktueller zu sein.

@CPMZ9.CPM	von Floppies älter
		Version 06.02.89, 5"(80,DS)/5"(80,DS) 
		0080: c3 ef ce	-> ccp2, cc00
		Rossendorf
CPMZ9OK.CPM	U. Zander
		Version 18.01.89, 5"(80,DS)/5"(80,DS)
		0080: c3 e4 ce	-> ccp, cc00
		Robotron mit speziellem RAM-Modul auf Adr. 71..73
		wird port 72h->04h und port 73h auf 05h geändert, läuft
		CPMZ9OK.CPM auch mit dem Standard-RAM-Modul
CPM6010.CPM	Main Version der Rossendorf-Floppys
		Version 23.02.89, 5"(80,DS)/5"(80,DS),S 6010 (SIO)  1200 Bd
 		0080: c3 ef ce	-> ccp2, cc00
 		Rossendorf
CPMSD4.CPM	Version 18.01.89, 5"(40,DS)/5"(40,DS)
		0080: c3 e4 ce	-> ccp, cc00
		Rossendorf
CPMSD8.CPM	Version 23.02.89, 5"(80,DS)/5"(80,DS)
		0080: c3 ef ce	-> ccp2, cc00
		Rossendorf
CPMSDS8.CPM	Version 18.03.89, 5"(80,DS)/5"(80,SS)
 		0080: c3 ef ce	-> ccp2, cc00
 		Rossendorf
CPMSS4.CPM	Version 23.02.89, 5"(40,SS)/5"(40,SS)
 		0080: c3 ef cf	-> ccp2, cd00
 		Rossendorf
CPMSS4R.CPM	Version 18.03.89, 5"(40,SS)/5"(40,SS)
 		0080: c3 ef ce	-> ccp2, cc00
 		Robotron
CPMSS8.CPM	Version 18.03.89, 5"(80,SS)/5"(80,SS)
 		0080: c3 ef ce	-> ccp2, cc00
 		Rossendorf

spezielle KC-CPM-Programme
--------------------------

20Z.CPM
24Z.CPM
CLOCK.CPM
DIPKC.CPM
FORMATZ.CPM
RESET.CPM
STAT.CPM


Basic
-----

orig. RAM-Basic: 0300-2AFFH, 2400H (von Z9001-Grundkassette)
erweitert um Startroutine auf Adresse 100h

Die Unterschiede zum RAM-Basic sind recht gering:
- andere Bestimmung Speichergröße (344h..34Ch)
- call 5 ersetzt durch call F314
- Basic-Erweiterung 2900H-2AFFh logischerweise anders


ZBASIC.CPM
ZBASICT.CPM

BAS.CPM		wie ZBASIC, nur andere Meldung (BASIC/Disc)
BAST.CPM	wie ZBASICT, nur andere Meldung (BASIC/Tape)
WBASIC.CPM	enthält JP 240CH


Tools zur Entwicklung
---------------------

Konverter Intel-Hex-Bin
Konverter WordStar-Ascii



#------------------------------------------------------------------------------

sonstiges:
N,/X,/P:D980,CPMLDR,CCP,BDOS,BIOZSW/E /E BIOS 
F.Schwarzenberg 8036,Gamigstr.5 (aus idas/zm)

