]>
Commit | Line | Data |
---|---|---|
29605004 L |
1 | ;-----------------------------------------------------\r |
2 | ; CPU and BANKING types\r | |
3 | \r | |
a16ba2b0 | 4 | \r |
29605004 L |
5 | CPU_Z180 equ 1 ; 0 = Z80, else Z180\r |
6 | ROMSYS equ 0\r | |
a16ba2b0 | 7 | \r |
29605004 L |
8 | AVRCLK equ 18432 ;[KHz]\r |
9 | \r | |
10 | if CPU_Z180\r | |
11 | \r | |
12 | ;-----------------------------------------------------\r | |
13 | FOSC equ AVRCLK/2 ;Oscillator frequency [KHz]\r | |
14 | PHI equ FOSC*2 ;CPU frequency (clock doubler enabled)\r | |
a16ba2b0 L |
15 | \r |
16 | ;-----------------------------------------------------\r | |
17 | ; Programmable Reload Timer (PRT)\r | |
18 | \r | |
19 | PRT_PRE equ 20 ;PRT prescaler\r | |
20 | \r | |
21 | ; Reload value for 10 ms Int. (0.1KHz):\r | |
22 | ; tc10ms = phi/prescale/0.1KHz = phi / (prescale/10)\r | |
23 | \r | |
24 | PRT_TC10MS equ PHI / (PRT_PRE/10)\r | |
25 | \r | |
26 | ;-----------------------------------------------------\r | |
27 | ; MMU\r | |
28 | \r | |
29 | SYS$CBAR equ 0C8h\r | |
30 | USR$CBAR equ 0F0h\r | |
31 | \r | |
32 | \r | |
33 | BANKS equ 18 ;max nr. of banks\r | |
34 | \r | |
35 | ;-----------------------------------------------------\r | |
36 | \r | |
37 | CREFSH equ 0 ;Refresh rate register (disable refresh)\r | |
38 | CWAITIO equ 3 shl IWI0 ;Max I/O Wait States, 0 Memory Wait States\r | |
39 | \r | |
29605004 L |
40 | else ; Z80\r |
41 | \r | |
42 | PHI equ AVRCLK/5 ;CPU frequency [KHz]\r | |
43 | BAUDCLCK equ AVRCLK/10 ;Baudrate clock [KHz]\r | |
44 | ;BDCLK16 equ\r | |
45 | \r | |
46 | SIOAD EQU 0bch\r | |
47 | SIOAC EQU 0bdh\r | |
48 | SIOBD EQU 0beh\r | |
49 | SIOBC EQU 0bfh\r | |
50 | \r | |
51 | CTC0 EQU 0f4h\r | |
52 | CTC1 EQU 0f5h\r | |
53 | CTC2 EQU 0f6h\r | |
54 | CTC3 EQU 0f7h\r | |
55 | \r | |
56 | ;\r | |
57 | ; Init Serial I/O for console input and output (SIO-A)\r | |
58 | ;\r | |
59 | ; Baudrate clock: 1843200 Hz (Bus connector pin A17)\r | |
60 | ;\r | |
61 | ; Baudrate Divider SIO CTC\r | |
62 | ; ---------------------------------\r | |
63 | ; 115200 16 16 1\r | |
64 | ; 57600 32 16 2\r | |
65 | ; 38400 48 16 3\r | |
66 | ; 19200 96 16 6\r | |
67 | ; 9600 192 16 12\r | |
68 | ; 4800 384 16 24\r | |
69 | ; 2400 768 16 48\r | |
70 | ; 1200 1536 16 96\r | |
71 | ; 600 3072 16 192\r | |
72 | ; 300 6144 64 92\r | |
73 | \r | |
74 | endif ; CPU_Z180\r | |
a16ba2b0 L |
75 | \r |
76 | if ROMSYS\r | |
77 | c$rom equ 0a5h\r | |
78 | ROM_EN equ 0C0h\r | |
79 | ROM_DIS equ ROMEN+1\r | |
29605004 | 80 | if CPU_Z180\r |
a16ba2b0 L |
81 | CWAITROM equ 2 shl MWI0\r |
82 | endif\r | |
29605004 | 83 | endif\r |
a16ba2b0 L |
84 | \r |
85 | \r | |
86 | DRSTNUM equ 30h ;DDTZ Restart vector (breakpoints)\r | |
87 | \r | |
88 | \r | |
6a4e9540 L |
89 | mrx.fifo_len equ 256\r |
90 | mtx.fifo_len equ 256\r | |
a16ba2b0 | 91 | \r |
6a4e9540 L |
92 | ci.fifo_len equ 128\r |
93 | co.fifo_len equ 256\r | |
a16ba2b0 L |
94 | \r |
95 | s1.rx_len equ 256 ;Serial 1 (ASCI1) buffers\r | |
96 | s1.tx_len equ 256 ;\r | |
97 | \r | |
29605004 L |
98 | AVRINT5 equ 4Fh\r |
99 | AVRINT6 equ 5Fh\r | |
bad2d92d | 100 | ;PMSG equ 80h\r |
a16ba2b0 L |
101 | \r |
102 | ;-----------------------------------------------------\r | |
815c1735 | 103 | ; Definition of (locical) top 2 memory pages\r |
a16ba2b0 L |
104 | \r |
105 | sysram_start equ 0FE00h\r | |
106 | stacksize equ 80\r | |
107 | \r | |
108 | isvsw_loc equ 0FEE0h\r | |
109 | \r | |
110 | ivtab equ 0ffc0h ;int vector table\r | |
111 | iv2tab equ ivtab + 2*9\r | |
112 | \r | |
113 | \r | |
114 | \r | |
115 | ;-----------------------------------------------------\r | |
116 | \r | |
117 | \r | |
118 | o.mask equ -3\r | |
119 | o.in_idx equ -2\r | |
120 | o.out_idx equ -1\r | |
815c1735 | 121 | \r |
a16ba2b0 L |
122 | .lall\r |
123 | \r | |
124 | mkbuf macro name,size\r | |
125 | if ((size & (size-1)) ne 0) or (size gt 256)\r | |
126 | .printx Error: buffer ^size must be power of 2 and in range 0..256!\r | |
127 | name&.mask equ ;wrong size error\r | |
128 | else\r | |
815c1735 | 129 | ds 3\r |
a16ba2b0 L |
130 | name:: ds size\r |
131 | name&.mask equ low (size-1)\r | |
132 | if size ne 0\r | |
133 | name&.end equ $-1\r | |
134 | name&.len equ size\r | |
135 | endif\r | |
136 | endif\r | |
137 | endm\r | |
138 | \r | |
139 | ;-----------------------------------------------------\r | |
140 | \r | |
815c1735 | 141 | inidat macro\r |
a16ba2b0 | 142 | cseg\r |
815c1735 | 143 | ??ps.a defl $\r |
a16ba2b0 L |
144 | endm\r |
145 | \r | |
146 | inidate macro\r | |
147 | ??ps.len defl $ - ??ps.a\r | |
148 | dseg\r | |
149 | ds ??ps.len\r | |
150 | endm\r | |
151 | \r |