1 ;-----------------------------------------------------
2 ; CPU and BANKING types
5 CPU_Z180 equ 1 ; 0 = Z80, else Z180
8 AVRCLK equ 18432 ;[KHz]
12 ;-----------------------------------------------------
13 FOSC equ AVRCLK/2 ;Oscillator frequency [KHz]
14 PHI equ FOSC*2 ;CPU frequency (clock doubler enabled)
16 ;-----------------------------------------------------
17 ; Programmable Reload Timer (PRT)
19 PRT_PRE equ 20 ;PRT prescaler
21 ; Reload value for 10 ms Int. (0.1KHz):
22 ; tc10ms = phi/prescale/0.1KHz = phi / (prescale/10)
24 PRT_TC10MS equ PHI / (PRT_PRE/10)
26 ;-----------------------------------------------------
33 BANKS equ 18 ;max nr. of banks
35 ;-----------------------------------------------------
37 CREFSH equ 0 ;Refresh rate register (disable refresh)
38 CWAITIO equ 3 shl IWI0 ;Max I/O Wait States, 0 Memory Wait States
42 PHI equ AVRCLK/5 ;CPU frequency [KHz]
43 BAUDCLCK equ AVRCLK/10 ;Baudrate clock [KHz]
57 ; Init Serial I/O for console input and output (SIO-A)
59 ; Baudrate clock: 1843200 Hz (Bus connector pin A17)
61 ; Baudrate Divider SIO CTC
62 ; ---------------------------------
81 CWAITROM equ 2 shl MWI0
86 DRSTNUM equ 30h ;DDTZ Restart vector (breakpoints)
95 s1.rx_len equ 256 ;Serial 1 (ASCI1) buffers
102 ;-----------------------------------------------------
103 ; Definition of (locical) top 2 memory pages
105 sysram_start equ 0FE00h
110 ivtab equ 0ffc0h ;int vector table
111 iv2tab equ ivtab + 2*9
115 ;-----------------------------------------------------
124 mkbuf macro name,size
125 if ((size & (size-1)) ne 0) or (size gt 256)
126 .printx Error: buffer ^size must be power of 2 and in range 0..256!
127 name&.mask equ ;wrong size error
131 name&.mask equ low (size-1)
139 ;-----------------------------------------------------
147 ??ps.len defl $ - ??ps.a