Die Sourcen habe ich mit den cpmtools der Harddisk entrissen.

http://oldcomputers-ddns.org/public/pub/rechner/conitec/prof-181x/index.html

Auf der HD waren die Laufwerke B:, C: und D: eingerichtet
In B15: sind die Quellen von Conitec zum Prof181X, weiter in B14: Quellen und 
Programme von Conitec sowie andere CP/M Source wie z.B. Prof-80 und C128

Die fuer den Prof-181X nutzbaren Sourcen habe ich zusammengefasst in Sourcen
und Tools.

Mit der Erstellung des CP/M aus den Sourcen gibt es kleine Hindernisse, da
die Quellen auf ein System mit DISI (Eprom-/Ramdis) als Bootlaufwerk und 
Hardisk ausgelegt sind. 
Das CP/M-3 soll ein ZCCP oder CCP aus der DISI laden, wobei trotz meiner 
Bemuehungen ich es nicht vom Diskettenlaufwerk A: laden konnte. Es war immer
F: vorgegeben. Siehe: P2.181, P6.181 und P7.181
Eventuell wurde die Kennung DISI durch den vorhandenen Bootlader und das 
CPM3.SYS im Eprom festgestellt. Ich muss das noch naeher Untersuchen.

Da ich keine Disi habe wurden die Module P2.ASM, P6.ASM und P7.ASM aus den
Ursprungquellen zum Prof-180 genommen. 
Das Z3PLUS starte ich lieber nach dem CP/M3 boot, da es dann viel variabler ist.


Folgende Module von Conitec sind vorhanden:

PROF-181X	CP/M-Modul

P1.ASM		BIOSKRNL.ASM
P2.ASM		BOOT.ASM Module  mit P2.ASM vom P180 ersetzt  und 'Kennung'
                                 nach 181 geaendert. Nun ohne ZCCP und Disi
P3.ASM		Zeit und User Module
P4.ASM		CHARIO.ASM Module
P5.ASM		MOVE.ASM Module
P6.ASM		DRVTBL.ASM Module Angepasst auf 4 x Floppy, Ramdisk und ev. HD 	
P7.ASM		DISK I/O Modules  P180 Version, Relative Laufwerke waren bei 
                                  der P181 Version auskommentiert 
P8.ASM		RAM-DISK-DRIVER
P9.ASM          WD1010 Winchester Controller Driver fuer PROF-181X (und OMTI)
P10.ASM         Disi Treiber 
PB.ASM		Bootloader
PD.ASM		Diskettenformate
PS.ASM		Signon-Message
PBDISI.ASM	DISI Eprom/Ramdisk

eventuell noch 
CFDISK.ASM      Compact Flash als HD Ersatz


Die LIBS:

cpm3.lib        Macro Definitions for CP/M3 BIOS Data Structures.     
hd64180.lib     MACRO USED FOR CHECKING 8 BIT DISPLACMENTS   
modebaud.lib    equates for mode byte bit fields  
pdef.lib        PORT-DEFINITIONEN FUER PROF-181X   
pkonfig.lib     PROF-181X CP/M PLUS DEFINITIONEN
psys.lib        SYSTEMPAGE EQUATES FUER PROF-181X      
pvec.lib        Monitor-Einsprung-Adressen fuer PROF-181 CP/M 3
  
cpmldr.rel      CP/M lader als .REL datei

Einige Unterschiede zwischen Prof-180 und Prof181-X:

                        180(X)                          181X
Floppycontroller:       UM8272A                         SMC FDC9268
Uhrenbaustein:          MK3835N                         PCF 8583
                        oder Adapter auf 8583

Speicher:               512k                            1024K                     
                     

Zu Beachten:
------------
Die 34polige Stiftleiste fuer den Floppyanschluss ist jeweils gedreht.
Auf PIN 1 achten  

Der 180X  hat fuer den FDC als Z35 einen 74LS240 als  Treiber, waehrend beim 
181X U22 = 74HTC240 verbaut ist.  
Da HTC weniger Strom liefern muessen beim 181X Diskettenaufwerke mit 1K 
Pullup genommen werden. Ich hatte aeltere Teac GFR mit 150 Ohm Pullup. Beim 
Schreiben wurde die Diskette nicht korrekt beschrieben und hatte Sektorfehler.
Der 180X mit dem LS Type hatte bei identischen Laufwerken keine Probleme.
Ich denke am 181X kann auch ein LS genommen werden. 

Das Manual zum 180X gilt weitgehenst auch fuer den 181X.
Fuer 180X und 181X sind die Monitore nicht tauschbar da FDC und vor allem der
Uhrenbaustein unterschiedlich sind. 
In der Source ist auch die Source fuer den Monitor enthalten.
PMON151.ASM :  PROF-181X Monitor Version: 1.5    


System generieren:
------------------

Benoetigt werden:

Die *.ASM und *.LIB Dateien zum Prof-181X
SUBMIT.COM, MAC.COM, RMAC.COM, LINK.COM
GENCPM.COM, GENCPM.DAT

Da mein System aus dem Eprom bootet habe ich mir unter MSDOS eine Diskette
erstellt. Diese ist im Format Prof #8 (5.25 HD), es geht natuerlich auch jedes 
andere Prof Format. Ich haette das auch mit dem P180 machen koennen, aber die
181X Platine wollte ich nicht mehr ausbauen.  


Weitere Programme die sinnvoll sind:

VDE.COM, VINST266.COM   Video Display Editor mit Installer fuer das Terminal 
NSWEEP.COM              Dateimanager        
sonstige CP/M3 DRI Software sowiso

Ein IMD Image der MakeCPM Diskette ist vorhanden. 

System erstellen mit:

GENBIOS.SUB
GENCPM.COM

Wichtig - beim Gencpm $Common auf 0E0H setzen - gencpm.dat kontrollieren



##################################
###  CP/M von Diskette booten  ###
##################################

Hier hatte ich ein Problem, da ich den Lader und CPMlader nicht so einfach
auf die Systemspur schreiben konnte.  Einige Ideen hatte ich ausprobiert, die
PSYSGEN vom 180X prueft aber auf 180X im RAM bei FFxx - das wollte ich anpassen.
Es hat sich aber eine schoenere Loesung gefunsen.

Auf der HD ist unter B14: die Datei RESTCPM.LBR und darin die Loesung mit der
Datei GENLDR.SUB

Aufruf:
-------
GENLDR.SUB  A   ; A = Ziellaufwerk

Vorher muss PB.ASM mit dem MAC nach PB.HEX assembliert werden.

mac pb $ha      ; erstellt eine PB.HEX Datei

Ablauf:
-------
link cpmldr[L4900]=cpmldr,pl,p7,pd
sid
<f100,7fff,00
<rpb.hex,b80
<rcpmldr.com,880
<rpsysgen.com
<s80
<04
<50
<41
<42
<43
<00
<.
<g100
<
<$1
<

Abschliessend ist der Bootlader auf Diskette A und mit dem erstellten CPM3.SYS
kann gebootet werden. 

Die Dateien zum 181X bitte nicht mit denen zum 180(X) verwechseln, die Benennung 
ist ja identisch.

Conitec hat eine Pruefung auf die Version 180 oder 181 eingebaut.

In PB.ASM:
SIGN	DB	'PROF-181X '		;KENNUNG DES BOOTSTRAP LOADERS
	DB	'(C) CONITEC 1985'	;

PSYSGEN.COM prueft auf 181X und im RAM steht nach dem Booten ebenfalls der Typ
an FF28H, FF29H  
....01.....81   

Beispiel:
---------
Versionstest in BBF.COM  (Formatierprogramm fuer Prof-180)

function biosversiontest:boolean;
begin
   biosversiontest:=(mem[$ff49]>$00);
end;

function p180test:boolean;
var DISPADR   :byte absolute $ff28;
    DISPADR1  :byte absolute $ff29;
begin
   p180test:=true;
   if DISPADR1<>$01 then p180test:=false;
   if DISPADR<>$80 then p180test:=false;
end;


Abschliessend:
==============

Die Quelltexte sind in Intel Mnemonic geschrieben was mir nicht zusagt.
Deshalb habe ich diese nach .Z80 uebersetzt.

Aus: https://hc-ddr.hucki.net/wiki/doku.php/cpm/8080_z80

 SCT80 ist ein Konverter, der 8080-Assembler-Mnemonik in Z80-Mnemonik umsetzt. 
 Vorgestellt wurde er in c't 5/85, Seite 94 ff. Die originale Version ist in 
 Turbo-Pascal geschrieben. Meine Version ist fuer moderne Rechner als 32-Bit-Exe
 compiliert und erlaubt zustzlich Kommandozeilenparameter.

Aufruf: sct80_213.exe sysgen.asm sysgen.z80 y 

Link: https://hc-ddr.hucki.net/wiki/lib/exe/fetch.php/cpm/sct80-213_vp.zip

Ein bischen muss ich da noch mit den TABs fuer die Kommentare nacharbeiten


(20200731) 















































