DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦a6dd76dbd⟧ TextFile

    Length: 5760 (0x1680)
    Types: TextFile
    Names: »CR8PORTS.LIB«

Derivation

└─⟦be0857eee⟧ Bits:30004395 CP/M-86 files - CR8 Dual floppy
    └─ ⟦this⟧ »CR8PORTS.LIB« 

TextFile



;	'PORTS EQUATES FOR CP/M 3.0 BIOS - DATE:830519'

;************************************************************************
;*	CHIP BASES							*
;************************************************************************

P$CTC		EQU	000H		;00 - 07
P$PIO		EQU	008H		;08 - 0F
P$SIO		EQU	010H		;10 - 1F
P$MAP3		EQU	020H		;MAP REGISTER I/O (20 - 2F)
P$DMA		EQU	030H		;30 - 3F
P$MFDC		EQU	040H		;MINI FLOPPY DISK CONTROLLER
P$HDC		EQU	090H		;HARD DISK CONTROLLER
P$PIT		EQU	0D0H		;PROGRAMMABLE INTERVAL TIMER 8253

;************************************************************************
;*	CTC PORTS AND COMMANDS						*
;************************************************************************

P$DMA$INT	EQU	P$CTC+00H	;CTC CH0,DMA INTERRUPTS
P$MFD$INT	EQU	P$CTC+01H	;CTC CH1,(FLOPPY INTERRUPT)
P$TIM$INT	EQU	P$CTC+02H	;CTC CH2,16MS TIMER INTERRUPT
P$SCI$INT	EQU	P$CTC+03H	;CTC CH3,(SCI MULTIBUS INTERRUPT)

C$CTC$RESET	EQU	03H		;

;************************************************************************
;*	PIO PORTS AND COMMANDS						*
;************************************************************************

P$BANK$DMA	EQU	P$PIO+0		;MAP REGISTER
P$SWITCH$2	EQU	P$PIO+1		;
P$RAMCTL	EQU	P$PIO+2		;PORT ADDRESS

;************************************************************************
;*	SIO PORTS AND COMMANDS						*
;************************************************************************

P$LPT$DATA	EQU	P$SIO+0		;LINE PRINTER DATA PORT
P$CRT$DATA	EQU	P$SIO+1		;CONSOLE DATA PORT
P$LPT$STAT	EQU	P$SIO+2		;LINE PRINTER CONTROL/STATUS
P$CRT$STAT	EQU	P$SIO+3		;CONSOLE CONTROL/STATUS

C$SIO$RESEXT	EQU	010H
C$SIO$CHRES	EQU	018H
C$SIO$RESTXI	EQU	028H
C$SIO$ERRRES	EQU	030H

;************************************************************************
;*	DMA PORTS AND COMMANDS						*
;************************************************************************

P$DMA$ADR0	EQU	P$DMA+00H	;
P$DMA$CNT0	EQU	P$DMA+01H	;
P$DMA$ADR1	EQU	P$DMA+02H	;
P$DMA$CNT1	EQU	P$DMA+03H	;

P$DMA$STAT	EQU	P$DMA+08H	;DMA COMMAND/STATUS
P$DMA$REQ	EQU	P$DMA+09H	;DMA REQUEST
P$DMA$MASK	EQU	P$DMA+0AH	;CHANNEL MASK
P$DMA$MODE	EQU	P$DMA+0BH	;CHANNEL MODE
P$DMA$TOGGLE	EQU	P$DMA+0CH	;BYTE POINTER FLIP-FLOP
P$DMA$CLEAR	EQU	P$DMA+0DH	;MASTER CLEAR
P$DMA$PMASK	EQU	P$DMA+0FH	;PARALLEL MASK

C$DMA$BYTE	EQU	041H		;COMMAND BYTE
C$DMA$READ	EQU	044H		;FLOPPY READ MODE BYTE
C$DMA$WRITE	EQU	048H		;FLOPPY WRITE MODE BYTE
C$DMA$CH0	EQU	088H		;CH0 MODE BYTE
C$DMA$CH1	EQU	085H		;CH1 MODE BYTE
C$DMA$CH2	EQU	082H		;CH2 MODE BYTE (DUMMY)
C$DMA$CH3	EQU	083H		;CH3 MODE BYTE (DUMMY)
C$DMA$DONE	EQU	002H		;DMA OPERATION COMPLETE MASK

;************************************************************************
;*	MINI FLOPPY DISK CONTROLLER PORTS AND COMMANDS			*
;************************************************************************

P$MFD$STAT	EQU	P$MFDC		;MFDC COMMAND/STATUS
P$MFD$TRK	EQU	P$MFDC+1	;TRACK
P$MFD$SECT	EQU	P$MFDC+2	;SECTOR
P$MFD$DATA	EQU	P$MFDC+3	;DATA

C$MFD$RESTORE	EQU	008H		;
C$MFD$SEEK	EQU	018H		;
C$MFD$RDSEC	EQU	082H		;
C$MFD$RDMSEC	EQU	092H		;
C$MFD$WRSEC	EQU	0A2H		;
C$MFD$WRMSEC	EQU	0B2H		;
C$MFD$WRTRK	EQU	0C4H		;
C$MFD$FBD	EQU	0D0H		;
C$MFD$FWRTRK	EQU	0F4H		;WRITE TRACK (FORMAT),H.L.DELAY

;************************************************************************
;*	HARD DISK CONTROLLER PORTS AND COMMANDS				*
;************************************************************************

P$HD$0		EQU	P$HDC		;
P$HD$1		EQU	P$HDC+1		;
P$HD$2		EQU	P$HDC+2		;
P$HD$3		EQU	P$HDC+3		;
P$HD$4		EQU	P$HDC+4		;
P$HD$5		EQU	P$HDC+5		;
P$HD$7		EQU	P$HDC+7		;

C$HD$NOP	EQU	000H
C$HD$SEEK	EQU	001H
C$HD$FORMAT	EQU	002H
C$HD$RESTORE	EQU	003H
C$HD$READ	EQU	004H
C$HD$VERIFY	EQU	005H
C$HD$WRITE	EQU	006H
C$HD$SETINTL	EQU	007H

;************************************************************************
;*	PIT PORTS AND COMMANDS						*
;************************************************************************

P$PIT$0		EQU	P$PIT+0		;
P$LPT$BAUD	EQU	P$PIT+1		;
P$CRT$BAUD	EQU	P$PIT+2		;
P$PIT$CMD	EQU	P$PIT+3		;

;************************************************************************
;*	MASKS AND VALUES						*
;************************************************************************
M$LPT$OUT	EQU	24H		;LPT TX EMPTY MASK
V$LPT$OUT	EQU	24H		; "   "   "   VALUE
M$CRT$OUT	EQU	04H		;CRT  "   "   MASK
V$CRT$OUT	EQU	04H		; "   "   "   VALUE

M$LPT$IN	EQU	00H		;LPT RX READY MASK
V$LPT$IN	EQU	00H		; "   "   "   VALUE
M$CRT$IN	EQU	01H		;CRT  "   "   MASK
V$CRT$IN	EQU	01H		; "   "   "   VALUE

M$HD$SELECT	EQU	01H		;HARD DISK SELECT MASK
M$RAMMAP	EQU	20H		;PORT MASK

;************************************************************************
;*	EQUATES FOR MODE BYTE BIT FIELDS				*
;************************************************************************

MB$INPUT	EQU	0000$0001B		;DEVICE MAY DO INPUT
MB$OUTPUT	EQU	0000$0010B		;   "    "   " OUTPUT
MB$IN$OUT	EQU	MB$INPUT+MB$OUTPUT	;   "    "   " BOTH
MB$SOFT$BAUD	EQU	0000$0100B		;SOFTWARE SELECTABLE BAUD RATE
MB$SERIAL	EQU	0000$1000B		;DEVICE MAY USE PROTOCOL
MB$XON$XOFF	EQU	0001$0000B		;XON/XOFF PROTOCOL ENABLED

BAUD$1200	EQU	8			;1200 BAUD
BAUD$2400	EQU	10			;2400 BAUD
BAUD$4800	EQU	12			;4800 BAUD
BAUD$9600	EQU	14			;9600 BAUD
BAUD$19200	EQU	15			;19.2K BAUD

;************************************************************************
;*	MISC EQUATES							*
;************************************************************************

CR		EQU	0DH		;ASCII CARRIAGE RETURN
LF		EQU	0AH		;ASCII LINE FEED
ESC		EQU	1BH		;ASCII ESCAPE
BEL		EQU	07H		;ASCII BELL RING
BS		EQU	08H		;ASCII BACK SPACE
«eof»