Subversion Repositories svn.mios

Rev

Rev 52 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
53 tk 1
; $Id: mios_defines.h 53 2008-01-30 22:52:41Z tk $
1 tk 2
;
3
; MIOS definition file, part 2
4
; Extents mios.h by some internal definitions
5
;
6
; ==========================================================================
7
;
8
;  Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
9
;  Licensed for personal non-commercial use only.
10
;  All other rights reserved.
11
;
12
; ==========================================================================
13
 
14
;; ==========================================================================
15
;;  Internal MIOS Registers and address ranges
16
;; ==========================================================================
17
 
18
;; ==========================================================================
19
;; mios_mproc.inc
20
MIOS_UPLOAD_BUFFER      EQU     0x100
21
MIOS_UPLOAD_BUFFER_END  EQU     0x4ff
22
 
23
;; ==========================================================================
24
;; mios_ain.inc
25
MIOS_AIN_RESULT_L_00    EQU 0x380
26
;; ...
27
MIOS_AIN_RESULT_L_3F    EQU 0x3bf
28
 
29
MIOS_AIN_RESULT_H_00    EQU 0x3c0
30
;; ...
31
MIOS_AIN_RESULT_H_3F    EQU 0x3ff
32
 
33
;; ==========================================================================
34
;; mios_mf.inc
35
;; if motorfaders are enabled, the purpose of some AIN register will be changed
36
MIOS_MF_NUMBER      EQU 0x390
37
MIOS_MF_CTR_UPDATE_CTR  EQU 0x391
38
MIOS_MF_SR0     EQU 0x392
39
MIOS_MF_SR1     EQU 0x393
40
MIOS_MF_VALUE_L     EQU 0x394
41
MIOS_MF_VALUE_H     EQU 0x395
42
MIOS_MF_TARGET_POS_L    EQU 0x396
43
MIOS_MF_TARGET_POS_H    EQU 0x397
44
MIOS_MF_TIMEOUT_CTR EQU 0x398
45
MIOS_MF_DEADBAND    EQU 0x399
46
MIOS_MF_SUSPEND     EQU 0x39a
47
MIOS_MF_PWM_DUTY_CYCLE_UP EQU   0x39b
48
MIOS_MF_PWM_DUTY_CYCLE_DOWN EQU 0x39c
49
MIOS_MF_PWM_PERIOD  EQU 0x39d
50
    ;; free: 0x39d-0x39e
51
MIOS_MF_AIN_CHANGED_FLAG EQU    0x39f
52
 
53
MIOS_MF_PWM_CTR0    EQU 0x3a0
54
;; ...
55
MIOS_MF_PWM_CTR7    EQU 0x3a7
56
 
57
MIOS_MF_MANUAL_CTR0 EQU 0x3a8
58
;; ...
59
MIOS_MF_MANUAL_CTR7 EQU 0x3af
60
 
61
MIOS_MF_TIMEOUT_CTR0    EQU 0x3b0
62
;; ...
63
MIOS_MF_TIMEOUT_CTR7    EQU 0x3b7
64
 
65
MIOS_MF_REPEAT_CTR0 EQU 0x3b8
66
;; ...
67
MIOS_MF_REPEAT_CTR7 EQU 0x3bf
68
 
69
MIOS_MF_TARGET_POS_L0   EQU 0x3d0
70
;; ...
71
MIOS_MF_TARGET_POS_L7   EQU 0x3d7
72
 
73
MIOS_MF_TARGET_POS_H0   EQU 0x3d8
74
;; ...
75
MIOS_MF_TARGET_POS_H7   EQU 0x3df
76
 
77
MIOS_MF_STATE0      EQU 0x3e0
78
;; ...
79
MIOS_MF_STATE7      EQU 0x3e7
80
 
81
;; ==========================================================================
82
 
83
MIOS_DIN_REG0_00    EQU 0x400
84
;; ...
85
MIOS_DIN_REG0_7F    EQU 0x47f
86
 
87
MIOS_DIN_REG1_00    EQU 0x480
88
;; ...
89
MIOS_DIN_REG1_7F    EQU 0x4ff
90
 
91
;; ==========================================================================
92
 
93
;; mios_midi.inc
94
MIOS_RX_BUFFER      EQU 0x500
95
MIOS_RX_BUFFER_END  EQU 0x53f
96
 
97
MIOS_TX_BUFFER      EQU 0x540
98
MIOS_TX_BUFFER_END  EQU 0x56f
99
 
100
;; ==========================================================================
101
;; address range 0x570-0x58d (LCD registers) defined in mios.h
102
 
103
;; ==========================================================================
104
;; additional temporary registers used by MIOS internal routines
105
MIOS_TMP1       EQU 0x590
106
MIOS_TMP2       EQU 0x591
107
MIOS_TMP3       EQU 0x592
108
MIOS_TMP_CTR        EQU 0x593
109
MIOS_IRQ_TMP_CTR    EQU 0x594
110
 
111
;; ==========================================================================
112
;; mios_midi.inc
113
MIOS_RX_BUFFER_TMP  EQU 0x595
114
MIOS_RX_BUFFER_HEAD EQU 0x596
115
MIOS_RX_BUFFER_TAIL EQU 0x597
116
MIOS_TX_BUFFER_TMP  EQU 0x598
117
MIOS_TX_BUFFER_HEAD EQU 0x599
118
MIOS_TX_BUFFER_TAIL EQU 0x59a
119
MIOS_MIDI_DEVICE_ID EQU 0x59b
120
MIOS_MIDI_RUNSTATUS EQU 0x59c
121
MIOS_MIDI_EXPBYTES  EQU 0x59d
122
 
123
;; ==========================================================================
124
;; mios_mproc.inc
125
MIOS_MPROC_TIMEOUT_L    EQU 0x59e
126
MIOS_MPROC_CTR      EQU MIOS_MPROC_TIMEOUT_L
127
MIOS_MPROC_TIMEOUT_H    EQU 0x59f
128
MIOS_MPROC_EVNT0    EQU MIOS_MPROC_TIMEOUT_H
129
MIOS_MPROC_TIMEOUT_U    EQU 0x5a0
130
MIOS_MPROC_STATE    EQU 0x5a1
131
MIOS_MPROC_IN       EQU 0x5a2
132
MIOS_MPROC_LASTEVENT0   EQU     0x5a3
133
MIOS_MPROC_LASTEVENT1   EQU     0x5a4
134
MIOS_MPROC_LASTEVENT2   EQU     0x5a5
135
MIOS_MPROC_SYXSTATE EQU 0x5a6
136
MIOS_MPROC_ACTION   EQU 0x5a7
137
MIOS_MPROC_CHECKSUM EQU 0x5a8
138
MIOS_MPROC_ADDRESS_EXT  EQU 0x5a9
139
 
140
MIOS_MPROC_SYX_BIT7_CTR EQU MIOS_TMP_CTR
141
MIOS_MPROC_SYX_BIT8_CTR EQU MIOS_TMP1
142
MIOS_MPROC_SYX_BYTE7    EQU MIOS_TMP2
143
MIOS_MPROC_SYX_BYTE8    EQU MIOS_TMP3
144
 
145
;; ==========================================================================
146
;; mios_srio.inc
147
MIOS_SRIO_NUMBER    EQU 0x5aa
148
MIOS_SRIO_UPDATE_CTR    EQU 0x5ab
149
MIOS_SRIO_UPDATE_FRQ    EQU 0x5ac
150
MIOS_SRIO_TS_SENSITIVITY EQU    0x5ad
151
MIOS_SRIO_DEBOUNCE  EQU 0x5ae
152
MIOS_SRIO_DEBOUNCE_CTR  EQU 0x5af
153
 
154
;; ==========================================================================
155
;; mios_din.inc
156
MIOS_DIN_AUTO_CTR   EQU 0x5b0
157
 
158
;; ==========================================================================
159
;; mios_ain.inc
160
MIOS_AIN_DEADBAND   EQU 0x5b1
161
MIOS_AIN_POTSPEED   EQU 0x5b2
162
MIOS_AIN_NUMBER     EQU 0x5b3
163
MIOS_AIN_CTRL       EQU 0x5b4
164
MIOS_AIN_INPUT_CTR  EQU 0x5b5
165
MIOS_AIN_LAST_POT0  EQU 0x5b6
166
MIOS_AIN_LAST_POT1  EQU 0x5b7
167
 
168
;; ==========================================================================
169
;; mios_isr.inc, mios_delay.inc and mios_display.inc
170
MIOS_GP_CTR     EQU 0x5b8
171
MIOS_DELAY_CTR      EQU 0x5b9
172
MIOS_MESSAGE_CTR    EQU 0x5ba
173
 
174
;; ==========================================================================
175
;; mios_isr.inc
176
MIOS_IRQ_FSR1L      EQU 0x5bb
177
MIOS_IRQ_FSR1H      EQU 0x5bc
178
MIOS_IRQ_TBLPTRL    EQU 0x5bd
179
MIOS_IRQ_TBLPTRH    EQU 0x5be
180
MIOS_IRQ_TBLPTRU    EQU 0x5bf       ; only stored when code size >= 0x10000
181
MIOS_IRQ_TABLAT     EQU 0x5c0
182
MIOS_IRQ_PARAMETER1 EQU 0x5c1
183
MIOS_IRQ_PARAMETER2 EQU 0x5c2
184
MIOS_IRQ_PARAMETER3 EQU 0x5c3
185
 
186
MIOS_IRQ_FSR2L      EQU 0x5c4       ; new for SDCC
187
MIOS_IRQ_FSR2H      EQU 0x5c5
188
 
189
;; ==========================================================================
190
;; mios_iic.inc
191
MIOS_IIC_BUFFER     EQU 0x5c6
192
MIOS_IIC_CTR        EQU 0x5c7
193
 
194
;; ==========================================================================
195
;; mios_timer.inc
196
MIOS_TIMER3_RELOAD_L    EQU 0x5c8
197
MIOS_TIMER3_RELOAD_H    EQU 0x5c9
198
 
199
;; ==========================================================================
200
;; mios_hlp.inc
201
MIOS_AFT_PTRL       EQU 0x5ca
202
 
203
;; ==========================================================================
204
;; mios_hlp.inc
205
MIOS_IIC_MIDI_ADDR  EQU 0x5cb
206
MIOS_MIDI_IIC_TMP   EQU 0x5cc
207
MIOS_MIDI_IIC_RETRY_CTR EQU 0x5cd
208
 
209
;; ==========================================================================
210
 
211
    ;; free: 0x5ce-0x5cf
212
    ;;       0x58e
213
 
214
;; ==========================================================================
215
;; mios_srio.inc/mios_din.inc/mios_dout.inc
216
MIOS_SR_DOUT_0      EQU 0x5d0
217
;; ...
218
MIOS_SR_DOUT_F      EQU 0x5df
219
 
220
MIOS_SR_DIN_0       EQU 0x5e0
221
;; ...
222
MIOS_SR_DIN_F       EQU 0x5ef
223
 
224
MIOS_SR_DIN_CHANGED_0   EQU 0x5f0
225
;; ...
226
MIOS_SR_DIN_CHANGED_F   EQU 0x5ff