You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

95 lines
3.7 KiB

;
; Z180 REGISTERS
;
CPU_BASE .EQU 40H ; ONLY RELEVANT FOR Z180
;
CPU_CNTLA0 .EQU CPU_BASE + $00 ;ASCI0 control A
CPU_CNTLA1: .EQU CPU_BASE+$01 ;ASCI1 control A
CPU_CNTLB0: .EQU CPU_BASE+$02 ;ASCI0 control B
CPU_CNTLB1: .EQU CPU_BASE+$03 ;ASCI1 control B
CPU_STAT0: .EQU CPU_BASE+$04 ;ASCI0 status
CPU_STAT1: .EQU CPU_BASE+$05 ;ASCI1 status
CPU_TDR0: .EQU CPU_BASE+$06 ;ASCI0 transmit
CPU_TDR1: .EQU CPU_BASE+$07 ;ASCI1 transmit
CPU_RDR0: .EQU CPU_BASE+$08 ;ASCI0 receive
CPU_RDR1: .EQU CPU_BASE+$09 ;ASCI1 receive
CPU_CNTR: .EQU CPU_BASE+$0A ;CSI/O control
CPU_TRDR: .EQU CPU_BASE+$0B ;CSI/O transmit/receive
CPU_TMDR0L: .EQU CPU_BASE+$0C ;Timer 0 data lo
CPU_TMDR0H: .EQU CPU_BASE+$0D ;Timer 0 data hi
CPU_RLDR0L: .EQU CPU_BASE+$0E ;Timer 0 reload lo
CPU_RLDR0H: .EQU CPU_BASE+$0F ;Timer 0 reload hi
CPU_TCR: .EQU CPU_BASE+$10 ;Timer control
;
CPU_ASEXT0: .EQU CPU_BASE+$12 ;ASCI0 extension control (Z8S180)
CPU_ASEXT1: .EQU CPU_BASE+$13 ;ASCI1 extension control (Z8S180)
;
CPU_TMDR1L: .EQU CPU_BASE+$14 ;Timer 1 data lo
CPU_TMDR1H: .EQU CPU_BASE+$15 ;Timer 1 data hi
CPU_RLDR1L: .EQU CPU_BASE+$16 ;Timer 1 reload lo
CPU_RLDR1H: .EQU CPU_BASE+$17 ;Timer 1 reload hi
CPU_FRC: .EQU CPU_BASE+$18 ;Free running counter
CPU_ASTC0L: .EQU CPU_BASE+$1A ;ASCI0 Time constant lo (Z8S180)
CPU_ASTC0H: .EQU CPU_BASE+$1B ;ASCI0 Time constant hi (Z8S180)
CPU_ASTC1L: .EQU CPU_BASE+$1C ;ASCI1 Time constant lo (Z8S180)
CPU_ASTC1H: .EQU CPU_BASE+$1D ;ASCI1 Time constant hi (Z8S180)
CPU_CMR: .EQU CPU_BASE+$1E ;Clock multiplier (latest Z8S180)
CPU_CCR: .EQU CPU_BASE+$1F ;CPU control (Z8S180)
;
CPU_SAR0L: .EQU CPU_BASE+$20 ;DMA0 source addr lo
CPU_SAR0H: .EQU CPU_BASE+$21 ;DMA0 source addr hi
CPU_SAR0B: .EQU CPU_BASE+$22 ;DMA0 source addr bank
CPU_DAR0L: .EQU CPU_BASE+$23 ;DMA0 dest addr lo
CPU_DAR0H: .EQU CPU_BASE+$24 ;DMA0 dest addr hi
CPU_DAR0B: .EQU CPU_BASE+$25 ;DMA0 dest addr bank
CPU_BCR0L: .EQU CPU_BASE+$26 ;DMA0 byte count lo
CPU_BCR0H: .EQU CPU_BASE+$27 ;DMA0 byte count hi
CPU_MAR1L: .EQU CPU_BASE+$28 ;DMA1 memory addr lo
CPU_MAR1H: .EQU CPU_BASE+$29 ;DMA1 memory addr hi
CPU_MAR1B: .EQU CPU_BASE+$2A ;DMA1 memory addr bank
CPU_IAR1L: .EQU CPU_BASE+$2B ;DMA1 I/O addr lo
CPU_IAR1H: .EQU CPU_BASE+$2C ;DMA1 I/O addr hi
CPU_IAR1B: .EQU CPU_BASE+$2D ;DMA1 I/O addr bank (Z8S180)
CPU_BCR1L: .EQU CPU_BASE+$2E ;DMA1 byte count lo
CPU_BCR1H: .EQU CPU_BASE+$2F ;DMA1 byte count hi
CPU_DSTAT: .EQU CPU_BASE+$30 ;DMA status
CPU_DMODE: .EQU CPU_BASE+$31 ;DMA mode
CPU_DCNTL: .EQU CPU_BASE+$32 ;DMA/WAIT control
CPU_IL: .EQU CPU_BASE+$33 ;Interrupt vector load
CPU_ITC: .EQU CPU_BASE+$34 ;INT/TRAP control
;
CPU_RCR: .EQU CPU_BASE+$36 ;Refresh control
;
CPU_CBR: .EQU CPU_BASE+$38 ;MMU common base register
CPU_BBR: .EQU CPU_BASE+$39 ;MMU bank base register
CPU_CBAR .EQU CPU_BASE+$3A ;MMU common/bank area register
;
CPU_OMCR: .EQU CPU_BASE+$3E ;Operation mode control
CPU_ICR: .EQU $3F ;I/O control register (not relocated!!!)
;
; N8 ONBOARD I/O REGISTERS
;
N8_BASE .EQU $80
;
PPIBASE .EQU N8_BASE + $00
PPIA .EQU PPIBASE + 0 ; PORT A
PPIB .EQU PPIBASE + 1 ; PORT B
PPIC .EQU PPIBASE + 2 ; PORT C
PPIX .EQU PPIBASE + 3 ; PPI CONTROL PORT
;
PPI2BASE .EQU N8_BASE + $04
PPI2A .EQU PPI2BASE + 0 ; PORT A
PPI2B .EQU PPI2BASE + 1 ; PORT B
PPI2C .EQU PPI2BASE + 2 ; PORT C
PPI2X .EQU PPI2BASE + 3 ; PPI CONTROL PORT
;
RTC: .EQU N8_BASE + $08 ;RTC latch and buffer
;FDC: .EQU N8_BASE + $0C ;Floppy disk controller
;UTIL: .EQU N8_BASE + $10 ;Floppy disk utility
ACR: .EQU N8_BASE + $14 ;auxillary control register
RMAP: .EQU N8_BASE + $16 ;ROM page register
VDP: .EQU N8_BASE + $18 ;Video Display Processor (TMS9918A)
PSG: .EQU N8_BASE + $1C ;Programmable Sound Generator (AY-3-8910)
;
DEFACR .EQU $1B