|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 5760 (0x1680) Types: TextFile Names: »CR8PORTS.LIB«
└─⟦be0857eee⟧ Bits:30004395 CP/M-86 files - CR8 Dual floppy └─ ⟦this⟧ »CR8PORTS.LIB«
; '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»