;*****************************************************************
;***                                                           ***
;***  SYSTEM DEFINITIONEN FUER PROF 80			       ***
;***							       ***
;*****************************************************************
;
;letzte Aenderung :	4.2.1989        Abteilung Harddisk
;			                     Wilfried 
»                      23®6.198¹    fueò PROÆ 1.7
»                        achtmhú Konstante                                   
;
NEIN		EQU	0		;Boolean consts
JA		EQU	NOT NEIN
;
;
ACHTMHÚ         EQÕ     NEIN
;*****************************************************************
;*** DATEN UEBER SPEICHERBELEGUNG
;*** ----------------------------
					;
FREE1		EQU	00		;56 Bytes free in bank 0
IRQLOC		EQU	38H		;Z80 IRQ MODE 1 ADRESSE
FREE2		EQU	3BH		;43 Bytes free in bank 0
NMILOC		EQU	66H		;Z80 NMI ADRESSE

FREE3		EQU	69H		; 7319 Bytes free in bank 0
FREEND		EQU	1D00H		;start of used ram in bank 0
					;
EPROM		EQU	00000H		;STARTADRESSE DES EPROMS
SYSTEMPAGE	EQU	0FF00H		;RAMBEREICH
COM$PAGE	EQU	0F0H		;COMMONPAGEGRENZE FUER CP/M 3.0
					;
P$RAM$TABLE	EQU	0DEH		;PORT FUER RAM-KACHELN
					;
					;
;*****************************************************************
;*** PARALLEL  EINGABE PORT 74LS258
;*** ------------------------------
					;
P$TIME$IN	EQU	0DBH		;UHR EIN (74LS258)
P$IN$LS258$A	EQU	0DAH		;
P$IN$LS258$B	EQU	0DBH		;
					;
MASK$RX		EQU	001H		;MASKE FUER RX BIT
MASK$MOT	EQU	001H		;MASKE FUER MOTOR EIN
MASK$CTS	EQU	010H		;MASKE FUER CTS BIT
MASK$IO		EQU	010H		;MASKE FUER IO JUMPER (J4)
MASK$INDEX	EQU	020H		;MASKE FUER FLOPPY INDEX
MASK$BAUD	EQU	020H		;MASKE FUER BAUD JUMPER (J5)
MASK$CTSP	EQU	080H		;MASKE FUER CTSP BIT
TIME$DATA$MASK	EQU	080H		;MASKE FUER UHREN BIT
					;
;*****************************************************************
;*** PARALLEL AUSGABE PORT 74LS259
;*** -----------------------------
				;
P$TIME$OUT	EQU	0D8H	;UHR AUSGABE ( 74LS259)
				;
P$LS259		EQU	0D8H	;
				;
PAD$POLEN	EQU	70H	;
PAD$MOTOR	EQU	60H	;
PAD$INUSE	EQU	50H	;
PAD$C0		EQU	00H	;ADRESSEN DER EINZELNE BITS
PAD$CLK		EQU	40H	;BEACHTE, DASS IMMER ZWEI BITS
PAD$READY	EQU	30H	;GESETZT WERDEN
PAD$RESF	EQU	0F0H	;
PAD$MINI	EQU	0F2H	;ŠPAD$STB		EQU	0FCH	;
PAD$TX		EQU	0F6H	;
PAD$MOTAB	EQU	0F8H	;
PAD$RTS		EQU	0F4H	;
PAD$TXP		EQU	0FAH	;
PAD$INIT	EQU	0FEH	;
				;
;*****************************************************************
;*** FLOPPY-CONTROLER
;*** ----------------
					;
FDC		EQU	0DCH		;FLOPPY CONTROLER STATUS
FDD     	EQU     0DDH		;FLOPPY CONTROLER DATEN
					;
HLO		EQU	50		;HEDLOADTIME IN MS
SRT     	EQU     3	      	;STEPRATE    IN MS
HUT     	EQU     50	     	;HEADUNLOADTIME IN MS
					;
HLOS    	EQU     ((HLO)/2)*2	;DIESE DREI EINTRAEGE
HUTS    	EQU     (HUT+15)/16	;NICHT
SRTS    	EQU     16-SRT		;VERAENDERN
					;
					;
					;
;*****************************************************************
;*** GRIP-PORTS
;*** ----------
					;
GRIPC		EQU	0C0H		;GRAFIK-KARTE
GRIPD		EQU	0C1H		;
					;
GRIPIN$MASK	EQU	80H		;
GRIPOUT$MASK	EQU	40H		;

HARDKEY		EQU	'P'-'@'		; CTRL-P = Hardcopy

P39		EQU	JA		; JA wenn nachleuchtender Schirm

DUPLEX		EQU	1		; serielle Ports
V24		EQU	2
SIOA		EQU	3
SIOB		EQU	4
TTY		EQU	5

MOUSE		EQU	v24		; Mauskanal definieren

TERMSER		EQU	NEIN		; Terminalkanal definieren

TRMSWT		EQU	60H		; Terminal Switch Character

;*****************************************************************
;*** RAMDISK
;*** -------

RAMDISK		EQU	JA		; Ramdisk vorhanden ?
CARDS		EQU	1		; 1..4 Karten erlaubt
SVT		EQU	0		; kein Sektorversatz
PSS		EQU	128		; Physical Sector Size
PST		EQU	256		; Physical Sectors per Track
TN		EQU	32*CARDS	; Number of Tracks
BSI		EQU	2048		; Block Size
ENT		EQU	256*CARDS	; Directory Entries
STO		EQU	0		; System Tracks Offset
CSS		EQU	8000h		; Checked Directory Entries
ŠKAYSER		EQU	NEIN		; aus c't 4/86

TURBO		EQU	JA		; Turbo-Ramkarte

RD$BASIS	EQU	0FCH		; ohne Jumper an J1
					; Karte 2 : RD$BASIS - 4
					; Karte 3 : RD$BASIS - 8
					; Karte 4 : RD$BASIS - 12

TRAM$MEM	EQU	0B4H		; TURBO RAM Port Adresse
TRAM$DMA	EQU	TRAM$MEM+1

;*****************************************************************
;*** UNIO 1
;*** ------

UBASIS		EQU	80h		;HIER UNIO BASIS ADRESSE
					;EINTRAGEN
STI0		EQU	UBASIS		;
STI1		EQU	UBASIS+1	;
STI2		EQU	UBASIS+2	;
STI3		EQU	UBASIS+3	;
STI4		EQU	UBASIS+4	;
STI5		EQU	UBASIS+5	;
STI6		EQU	UBASIS+6	;
STI7		EQU	UBASIS+7	;
STI8		EQU	UBASIS+8	;
STI9		EQU	UBASIS+9	;
STIA		EQU	UBASIS+10	;
STIB		EQU	UBASIS+11	;
STIC		EQU	UBASIS+12	;
STID		EQU	UBASIS+13	;
STIE		EQU	UBASIS+14	;
STIF		EQU	UBASIS+15	;
					;
SIOAD		EQU	UBASIS+20	;
SIOBD		EQU	UBASIS+21	;
SIOAC		EQU	UBASIS+22	;
SIOBC		EQU	UBASIS+23	;
CENT1		EQU	UBASIS+28	;
CENT2		EQU	UBASIS+29	;
CONTR		EQU	UBASIS+30	;
STAT		EQU	UBASIS+31	;
					;
;*****************************************************************
;*** HARDDISK
;*** --------

HARDDISK	EQU	ja		; ja, wenn Harddisk da
harddiskboot	equ	ja		; ja, wenn Boot des CCP von HD (bioskrnl)
                                        ; ausserdem wird Initialisierung der HD
                                        ; unterlassen, da bereits vom Bootlader
                                        ; erledigt (harddisk)    
OMTI		EQU	40h		; Controler-Basisadresse
HD$DATA		EQU	OMTI
HD$STATUS	EQU	OMTI+1
HD$RESET	EQU	OMTI+1
HD$SELECT	EQU	OMTI+2
HD$CONFIG	EQU	OMTI+2
HD$MASK		EQU	OMTI+3

HD$JUMPER	EQU	0F5h

cylinder	EQU	615		; Cylinder
parkcyl		EQU	670		; Park CylinderŠhd$head		EQU	4		; Koepfe
sector$size	EQU	512		; Sektorgroesse
sector$nmb	EQU	17		; Anzahl der Sektoren
red$wrcur	EQU	0		; verminderter Schreibstrom ab Cyl.
wr$pre$comp	EQU	255		; Schreib-Vorverzerrung ab Cyl.


spare		EQU	1		; Anzahl Systemtracks zur Verwendung
					; als alternate track 
					; fuer jedes logische HD-Laufwerk
					; ausser 0 im dpb definieren
loghd		EQU	4		; Anzahl logische HD-Laufwerke

cyl$num:	EQU	(cylinder-1)/loghd
last$cyl	EQU	cylinder-((loghd-1)*cyl$num)


;*****************************************************************

