mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-24 17:04:19 +00:00
Upload
Digital Research
This commit is contained in:
225
CPM OPERATING SYSTEMS/CPM 86/CALPC/CALDOC/CALIO.EQU
Normal file
225
CPM OPERATING SYSTEMS/CPM 86/CALPC/CALDOC/CALIO.EQU
Normal file
@@ -0,0 +1,225 @@
|
||||
|
||||
M4_LBL_SEG EQU 0FFFFH
|
||||
M4_LBL_OFST EQU 05H
|
||||
|
||||
M4_PROM_VER EQU 03FFFH
|
||||
M4_PROM_SEG EQU 0FC00H
|
||||
|
||||
; LSI-M4 & CAL-PC prom calls (relative to M4_PROM_SEG)
|
||||
|
||||
BOOT EQU 03000H
|
||||
SIO_IN EQU 03005H
|
||||
SIO_OUT EQU 0300AH
|
||||
SIO_IN_STAT EQU 0300FH
|
||||
SIO_OUT_STAT EQU 03014H
|
||||
PRNTR_STAT EQU 03019H
|
||||
PRNTR_OUT EQU 0301EH
|
||||
FLOP_SET EQU 03023H
|
||||
FLOP_ALL EQU 03028H
|
||||
FLOP_START EQU 0302DH
|
||||
FLOP_CONT EQU 03032H
|
||||
FLOP_ABORT EQU 03037H
|
||||
HDSK_ALL EQU 0303CH
|
||||
HDSK_START EQU 03041H
|
||||
HDSK_CONT EQU 03046H
|
||||
HDSK_ABORT EQU 0304BH
|
||||
HDSK_SIZE EQU 03050H
|
||||
GET_SWITCH EQU 03055H
|
||||
|
||||
CPM EQU 0E0H
|
||||
|
||||
CODEMACRO CALL_PROM FUNC_CALL:DW
|
||||
DB 09AH
|
||||
DW FUNC_CALL
|
||||
DW 0FC00H
|
||||
ENDM
|
||||
|
||||
; LSI-M4 & CAL-PC I/O port definitions
|
||||
|
||||
; DMA controller (i8237-2) ports
|
||||
|
||||
DMAC_BADD0 EQU 00H ;Channel 0 - base & current address (write)
|
||||
DMAC_CADD0 EQU 00H ; " " - current address (read)
|
||||
DMAC_BCNT0 EQU 01H ; " " - base & current word count (write)
|
||||
DMAC_CCNT0 EQU 01H ; " " - current word count (read)
|
||||
DMAC_BADD1 EQU 02H ;Channel 1 - base & current address (write)
|
||||
DMAC_CADD1 EQU 02H ; " " - current address (read)
|
||||
DMAC_BCNT1 EQU 03H ; " " - base & current word count (write)
|
||||
DMAC_CCNT1 EQU 03H ; " " - current word count (read)
|
||||
DMAC_BADD2 EQU 04H ;Channel 2 - base & current address (write)
|
||||
DMAC_CADD2 EQU 04H ; " " - current address (read)
|
||||
DMAC_BCNT2 EQU 05H ; " " - base & current word count (write)
|
||||
DMAC_CCNT2 EQU 05H ; " " - current word count (read)
|
||||
DMAC_BADD3 EQU 06H ;Channel 3 - base & current address (write)
|
||||
DMAC_CADD3 EQU 06H ; " " - current address (read)
|
||||
DMAC_BCNT3 EQU 07H ; " " - base & current word count (write)
|
||||
DMAC_CCNT3 EQU 07H ; " " - current word count (read)
|
||||
DMAC_STAT EQU 08H ;Status register (read)
|
||||
DMAC_CMD EQU 08H ;Command register (write)
|
||||
DMAC_REQ EQU 09H ;Request register (write)
|
||||
DMAC_MASK_SR EQU 0AH ;Single mask register bit (write)
|
||||
DMAC_MODE EQU 0BH ;Mode register (write)
|
||||
DMAC_FLOP EQU 0CH ;Clear byte pointer flip/flop (write)
|
||||
DMAC_TEMP EQU 0DH ;Temporary register (read)
|
||||
DMAC_CLR EQU 0DH ;Master clear (write)
|
||||
DMAC_MASK EQU 0FH ;All mask register bits (write)
|
||||
|
||||
; programmable interrupt controller (i8259A) ports
|
||||
|
||||
PIC_STAT EQU 010H ;Interrupt request/serviced status
|
||||
PIC_ICW EQU 010H ;Initialization control words
|
||||
PIC_IMR EQU 011H ;Interrupt level masks
|
||||
PIC_OCW EQU 011H ;Operational control words
|
||||
|
||||
; DIP switch and diagnostic LED display
|
||||
|
||||
DIP_SW EQU 020H ;DIP switch
|
||||
LED_DSPY EQU 020H ;LED display
|
||||
|
||||
; Bank select registers
|
||||
|
||||
DMAC_BANK EQU 30H ;general - before seperate ones used
|
||||
FDC_BANK EQU 31H ;Floppy bank
|
||||
REFRESH_BANK EQU 30H ;Refresh bank
|
||||
SIO_BANK EQU 32H ;SIO bank - for networking
|
||||
WINCH_BANK EQU 33H ;Winchester bank
|
||||
Z80_BANK EQU 30H ;Z80 bank
|
||||
|
||||
; CRT controller
|
||||
|
||||
CRT_ADDR EQU 040H ;Address/status register
|
||||
CRT_STAT EQU 040H
|
||||
CRT_DATA EQU 041H ;Register file
|
||||
CRT_CHAR EQU 020H ;Character latch
|
||||
|
||||
; Floppy disk controller ports
|
||||
|
||||
AUC_CMD EQU 050H ;Floppy disk select/handshake
|
||||
FDC_CMD EQU 060H ;Command port
|
||||
FDC_STAT EQU 060H ;Status register
|
||||
FDC_TRK EQU 061H ;Track register
|
||||
FDC_SEC EQU 062H ;Sector register
|
||||
FDC_DATA EQU 063H ;Data register
|
||||
|
||||
; Keyboard
|
||||
|
||||
KYBD_DATA EQU 051H ;Keyboard data
|
||||
KYBD_STAT EQU 052H ;Keyboard status
|
||||
KYBD_CNTL EQU 053H ;Mode control 8255
|
||||
BUZZER EQU 050H ;Buzzer
|
||||
|
||||
; Hard disk registers
|
||||
|
||||
ADP_STAT EQU 071H
|
||||
ADP_CMD EQU 071H
|
||||
ADP_DIAG EQU 072H
|
||||
ADP_DATA EQU 073H
|
||||
|
||||
; Programmable interval timer (i8253) ports
|
||||
|
||||
PIT0_CT0 EQU 080H ;PIT 0, counter 0
|
||||
PIT0_CT1 EQU 081H ; " 0, " 1
|
||||
PIT0_CT2 EQU 082H ; " 0, " 2
|
||||
PIT0_CTL EQU 083H ; " 0, control
|
||||
PIT1_CT0 EQU 090H ; " 1, counter 0
|
||||
PIT1_CT1 EQU 091H ; " 1, " 1
|
||||
PIT1_CT2 EQU 092H ; " 1, " 2
|
||||
PIT1_CTL EQU 093H ; " 1, control
|
||||
|
||||
; Serial input/output (Z80-SIO) ports
|
||||
|
||||
SI00A_DATA EQU 0A0H ;SIO 0, channel A, data
|
||||
SI00A_STAT EQU 0A1H ; " 0, " A, status
|
||||
SI00A_CNTL EQU 0A1H ; " 0, " A, control
|
||||
SI00B_DATA EQU 0A2H ;SIO 0, channel B, data
|
||||
SI00B_STAT EQU 0A3H ; " 0, " B, status
|
||||
SI00B_CNTL EQU 0A3H ; " 0, " B, control
|
||||
SI01A_DATA EQU 0B0H ;SIO 1, channel A, data
|
||||
SI01A_STAT EQU 0B1H ; " 1, " A, status
|
||||
SI01A_CNTL EQU 0B1H ; " 1, " A, control
|
||||
SI01B_DATA EQU 0B2H ;SIO 1, channel B, data
|
||||
SI01B_STAT EQU 0B3H ; " 1, " B, status
|
||||
SI01B_CNTL EQU 0B3H ; " 1, " B, control
|
||||
|
||||
SIO_INT_VEC EQU 0E0H ;Interrupt vector - SIO or DART
|
||||
|
||||
; Centronics compatible parallel printer ports
|
||||
|
||||
PRT_DATA EQU 0F0H ;Printer data out
|
||||
PRT_STAT EQU 0F1H ; " status
|
||||
PRT_CNTL EQU 0F2H ; " control
|
||||
PRT_MODE EQU 0F3H ; " port mode control
|
||||
PRT_FLAG EQU PRT_MODE
|
||||
|
||||
; LED display constants
|
||||
|
||||
led_0 equ 0c0h
|
||||
led_1 equ 0f9h
|
||||
led_2 equ 0a4h
|
||||
led_3 equ 0b0h
|
||||
led_4 equ 099h
|
||||
led_5 equ 092h
|
||||
led_6 equ 082h
|
||||
led_7 equ 0f8h
|
||||
led_8 equ 080h
|
||||
led_9 equ 098h
|
||||
|
||||
led_0p equ 040h
|
||||
led_1p equ 079h
|
||||
led_2p equ 024h
|
||||
led_3p equ 030h
|
||||
led_4p equ 019h
|
||||
led_5p equ 012h
|
||||
led_6p equ 002h
|
||||
led_7p equ 078h
|
||||
led_8p equ 000h
|
||||
led_9p equ 018h
|
||||
|
||||
; Others
|
||||
|
||||
LINE_LENGTH EQU 80 ;Length of CRT character line
|
||||
CR EQU 13
|
||||
LF EQU 10
|
||||
BS EQU 08
|
||||
ESC EQU 1BH
|
||||
NULL EQU 0
|
||||
BELL EQU 7
|
||||
TAB EQU 9
|
||||
SPACE EQU 20H
|
||||
INT3 EQU 0CCH
|
||||
CNTL_X EQU 'X'-'A'+1
|
||||
CNTL_Q EQU 'Q'-'A'+1
|
||||
CNTL_Z EQU 'Z'-'A'+1
|
||||
CNTL_S EQU 'S'-'A'+1
|
||||
TRUE EQU -1
|
||||
FALSE EQU 0
|
||||
|
||||
RD_CMD EQU 20H ;Read command for FLOPALL
|
||||
WR_CMD EQU 50H ;Write with verify
|
||||
|
||||
BIT0 EQU 00000001B
|
||||
BIT1 EQU 00000010B
|
||||
BIT2 EQU 00000100B
|
||||
BIT3 EQU 00001000B
|
||||
BIT4 EQU 00010000B
|
||||
BIT5 EQU 00100000B
|
||||
BIT6 EQU 01000000B
|
||||
BIT7 EQU 10000000B
|
||||
|
||||
bit8 equ 0100h
|
||||
bit9 equ 0200h
|
||||
bit10 equ 0400h
|
||||
bit11 equ 0800h
|
||||
bit12 equ 1000h
|
||||
bit13 equ 2000h
|
||||
bit14 equ 4000h
|
||||
bit15 equ 8000h
|
||||
|
||||
JC EQU JB
|
||||
JNC EQU JNB
|
||||
JNBE EQU JA
|
||||
SBC EQU SBB
|
||||
|
||||
; End of CALIO.EQU
|
||||
|
||||
|
||||
Reference in New Issue
Block a user