aboutsummaryrefslogtreecommitdiff
path: root/tools/iDSK/src/firmware.h
blob: 13ecc7d7481eb25064c5b989b8a980cc4a9f4eee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
struct {
  unsigned short address;
  const char * label;
} FirmWareVectors[] = {
{0x0000, "RESET_ENTRY"},
{0x0008, "LOW_JUMP"},
{0x000B, "KL_LOW_PCHL"},
{0x000E, "PCBC"},
{0x0010, "SIDE_CALL"},
{0x0013, "KL_SIDE_PCHL"},
{0x0016, "PCDE"},
{0x0018, "FAR_CALL"},
{0x001B, "KL_FAR_PCHL"},
{0x001E, "PCHL"},
{0x0020, "RAM_LAM"},
{0x0023, "KL_FAR_CALL"},
{0x0028, "FIRM_JUMP"},
{0x0030, "USER_RESTART"},
{0x0038, "INTERRUPT_ENTRY"},
{0x003B, "EXT_INTERRUPT"},
{0xB900, "KL_U_ROM_ENABLE"},
{0xB903, "KL_U_ROM_DISABLE"},
{0xB906, "KL_L_ROM_ENABLE"},
{0xB909, "KL_L_ROM_DISABLE"},
{0xB90C, "KL_ROM_RESTORE"},
{0xB90F, "KL_ROM_SELECT"},
{0xB912, "KL_CURR_SELECTION"},
{0xB915, "KL_PROBE_ROM"},
{0xB918, "KL_ROM_DESELECT"},
{0xB91B, "KL_LDIR"},
{0xB91E, "KL_LDDR"},
{0xB921, "KL_POLL_SYNCHRONOUS"},
{0xB92A, "KL_SCAN_NEEDED"},
{0xBB00, "KM_INITIALISE"},
{0xBB03, "KM_RESET"},
{0xBB06, "KM_WAIT_CHAR"},
{0xBB09, "KM_READ_CHAR"},
{0xBB0C, "KM_CHAR_RETURN"},
{0xBB0F, "KM_SET_EXPAND"},
{0xBB12, "KM_GET_EXPAND"},
{0xBB15, "KM_EXP_BUFFER"},
{0xBB18, "KM_WAIT_KEY"},
{0xBB1B, "KM_READ_KEY"},
{0xBB1E, "KM_TEST_KEY"},
{0xBB21, "KM_GET_STATE"},
{0xBB24, "KM_GET_JOYSTICK"},
{0xBB27, "KM_SET_TRANSLATE"},
{0xBB2A, "KM_GET_TRANSLATE"},
{0xBB2D, "KM_SET_SHIFT"},
{0xBB30, "KM_GET_SHIFT"},
{0xBB33, "KM_SET_CONTROL"},
{0xBB36, "KM_GET_CONTROL"},
{0xBB39, "KM_SET_REPEAT"},
{0xBB3C, "KM_GET_REPEAT"},
{0xBB3F, "KM_SET_DELAY"},
{0xBB42, "KM_GET_DELAY"},
{0xBB45, "KM_ARM_BREAKS"},
{0xBB48, "KM_DISARM_BREAK"},
{0xBB4B, "KM_BREAK_EVENT"},
{0xBB4E, "TXT_INITIALISE"},
{0xBB51, "TXT_RESET"},
{0xBB54, "TXT_VDU_ENABLE"},
{0xBB57, "TXT_VDU_DISABLE"},
{0xBB5A, "TXT_OUTPUT"},
{0xBB5D, "TXT_WR_CHAR"},
{0xBB60, "TXT_RD_CHAR"},
{0xBB63, "TXT_SET_GRAPHIC"},
{0xBB66, "TXT_WIN_ENABLE"},
{0xBB69, "TXT_GET_WINDOW"},
{0xBB6C, "TXT_CLEAR_WINDOW"},
{0xBB6F, "TXT_SET_COLUMN"},
{0xBB72, "TXT_SET_ROW"},
{0xBB75, "TXT_SET_CURSOR"},
{0xBB78, "TXT_GET_CURSOR"},
{0xBB7B, "TXT_CUR_ENABLE"},
{0xBB7E, "TXT_CUR_DISABLE"},
{0xBB81, "TXT_CUR_ON"},
{0xBB84, "TXT_CUR_OFF"},
{0xBB87, "TXT_VALIDATE"},
{0xBB8A, "TXT_PLACE_CURSOR"},
{0xBB8D, "TXT_REMOVE_CURSOR"},
{0xBB90, "TXT_SET_PEN"},
{0xBB93, "TXT_GET_PEN"},
{0xBB96, "TXT_SET_PAPER"},
{0xBB99, "TXT_GET_PAPER"},
{0xBB9C, "TXT_INVERSE"},
{0xBB9F, "TXT_SET_BACK"},
{0xBBA2, "TXT_GET_BACK"},
{0xBBA5, "TXT_GET_MATRIX"},
{0xBBA8, "TXT_SET_MATRIX"},
{0xBBAB, "TXT_SET_M_TABLE"},
{0xBBAE, "TXT_GET_M_TABLE"},
{0xBBB1, "TXT_GET_CONTROLS"},
{0xBBB4, "TXT_STR_SELECT"},
{0xBBB7, "TXT_SWAP_STREAMS"},
{0xBBBA, "GRA_INITIALISE"},
{0xBBBD, "GRA_RESET"},
{0xBBC0, "GRA_MOVE_ABSOLUTE"},
{0xBBC3, "GRA_MOVE_RELATIVE"},
{0xBBC6, "GRA_ASK_CURSOR"},
{0xBBC9, "GRA_SET_ORIGIN"},
{0xBBCC, "GRA_GET_ORIGIN"},
{0xBBCF, "GRA_WIN_WIDTH"},
{0xBBD2, "GRA_WIN_HEIGHT"},
{0xBBD5, "GRA_GET_W_WIDTH"},
{0xBBD8, "GRA_GET_W_HEIGHT"},
{0xBBDB, "GRA_CLEAR_WINDOW"},
{0xBBDE, "GRA_SET_PEN"},
{0xBBE1, "GRA_GET_PEN"},
{0xBBE4, "GRA_SET_PAPER"},
{0xBBE7, "GRA_GET_PAPER"},
{0xBBEA, "GRA_PLOT_ABSOLUTE"},
{0xBBED, "GRA_PLOT_RELATIVE"},
{0xBBF0, "GRA_TEST_ABSOLUTE"},
{0xBBF3, "GRA_TEST_RELATIVE"},
{0xBBF6, "GRA_LINE_ABSOLUTE"},
{0xBBF9, "GRA_LINE_RELATIVE"},
{0xBBFC, "GRA_WR_CHAR"},
{0xBBFF, "SCR_INITIALISE"},
{0xBC02, "SCR_RESET"},
{0xBC05, "SCR_SET_OFFSET"},
{0xBC08, "SCR_SET_BASE"},
{0xBC0B, "SCR_GET_LOCATION"},
{0xBC0E, "SCR_SET_MODE"},
{0xBC11, "SCR_GET_MODE"},
{0xBC14, "SCR_CLEAR"},
{0xBC17, "SCR_CHAR_LIMITS"},
{0xBC1A, "SCR_CHAR_POSITION"},
{0xBC1D, "SCR_DOT_POSITION"},
{0xBC20, "SCR_NEXT_BYTE"},
{0xBC23, "SCR_PREV_BYTE"},
{0xBC26, "SCR_NEXT_LINE"},
{0xBC29, "SCR_PREV_LINE"},
{0xBC2C, "SCR_INK_ENCODE"},
{0xBC2F, "SCR_INK_DECODE"},
{0xBC32, "SCR_SET_INK"},
{0xBC35, "SCR_GET_INK"},
{0xBC38, "SCR_SET_BORDER"},
{0xBC3B, "SCR_GET_BORDER"},
{0xBC3E, "SCR_SET_FLASHING"},
{0xBC41, "SCR_GET_FLASHING"},
{0xBC44, "SCR_FILL_BOX"},
{0xBC47, "SCR_FLOOD_BOX"},
{0xBC4A, "SCR_CHAR_INVERT"},
{0xBC4D, "SCR_HW_ROLL"},
{0xBC50, "SCR_SW_ROLL"},
{0xBC53, "SCR_UNPACK"},
{0xBC56, "SCR_REPACK"},
{0xBC59, "SCR_ACCESS"},
{0xBC5C, "SCR_PIXELS"},
{0xBC5F, "SCR_HORIZONTAL"},
{0xBC62, "SCR_VERTICAL"},
{0xBC65, "CAS_INITIALISE"},
{0xBC68, "CAS_SET_SPEED"},
{0xBC6B, "CAS_NOISY"},
{0xBC6E, "CAS_START_MOTOR"},
{0xBC71, "CAS_STOP_MOTOR"},
{0xBC74, "CAS_RESTORE_MOTOR"},
{0xBC77, "CAS_IN_OPEN"},
{0xBC7A, "CAS_IN_CLOSE"},
{0xBC7D, "CAS_IN_ABANDON"},
{0xBC80, "CAS_IN_CHAR"},
{0xBC83, "CAS_IN_DIRECT"},
{0xBC86, "CAS_RETURN"},
{0xBC89, "CAS_TEST_EOF"},
{0xBC8C, "CAS_OUT_OPEN"},
{0xBC8F, "CAS_OUT_CLOSE"},
{0xBC92, "CAS_OUT_ABANDON"},
{0xBC95, "CAS_OUT_CHAR"},
{0xBC98, "CAS_OUT_DIRECT"},
{0xBC9B, "CAS_CATALOG"},
{0xBC9E, "CAS_WRITE"},
{0xBCA1, "CAS_READ"},
{0xBCA4, "CAS_CHECK"},
{0xBCA7, "SOUND_RESET"},
{0xBCAA, "SOUND_QUEUE"},
{0xBCAD, "SOUND_CHECK"},
{0xBCB0, "SOUND_ARM_EVENT"},
{0xBCB3, "SOUND_RELEASE"},
{0xBCB6, "SOUND_HOLD"},
{0xBCB9, "SOUND_CONTINUE"},
{0xBCBC, "SOUND_AMPL_ENVELOPE"},
{0xBCBF, "SOUND_TONE_ENVELOPE"},
{0xBCC2, "SOUND_A_ADDRESS"},
{0xBCC5, "SOUND_T_ADDRESS"},
{0xBCC8, "KL_CHOKE_OFF"},
{0xBCCB, "KL_ROM_WALK"},
{0xBCCE, "KL_INIT_BACK"},
{0xBCD1, "KL_LOG_EXT"},
{0xBCD4, "KL_FIND_COMMAND"},
{0xBCD7, "KL_NEW_FRAME_FLY"},
{0xBCDA, "KL_ADD_FRAME_FLY"},
{0xBCDD, "KL_DEL_FRAME_FLY"},
{0xBCE0, "KL_NEW_FAST_TICKER"},
{0xBCE3, "KL_ADD_FAST_TICKER"},
{0xBCE6, "KL_DEL_FAST_TICKER"},
{0xBCE9, "KL_ADD_TICKER"},
{0xBCEC, "KL_DEL_TICKER"},
{0xBCEF, "KL_INIT_EVENT"},
{0xBCF2, "KL_EVENT"},
{0xBCF5, "KL_SYNC_RESET"},
{0xBCF8, "KL_DEL_SYNCHRONOUS"},
{0xBCFB, "KL_NEXT_SYNCH"},
{0xBCFE, "KL_DO_SYNCH"},
{0xBD01, "KL_DONE_SYNCH"},
{0xBD04, "KL_EVENT_DISABLE"},
{0xBD07, "KL_EVENT_ENABLE"},
{0xBD0A, "KL_DISARM_EVENT"},
{0xBD0D, "KL_TIME_PLEASE"},
{0xBD10, "KL_TIME_SET"},
{0xBD13, "MC_BOOT_PROGRAM"},
{0xBD16, "MC_START_PROGRAM"},
{0xBD19, "MC_WAIT_FLYBACK"},
{0xBD1C, "MC_SET_MODE"},
{0xBD1F, "MC_SCREEN_OFFSET"},
{0xBD22, "MC_CLEAR_INKS"},
{0xBD25, "MC_SET_INKS"},
{0xBD28, "MC_RESET_PRINTER"},
{0xBD2B, "MC_PRINT_CHAR"},
{0xBD2E, "MC_PRINTER_BUSY"},
{0xBD31, "MC_SEND_PRINTER"},
{0xBD34, "MC_SOUND_REGISTER"},
{0xBD37, "JUMP_RESTORE"},
{0xBD3A, "KM_SET_LOCKS"},
{0xBD40, "TXT_ASK_STATE"},
{0xBD43, "GRA_DEFAULT"},
{0xBD46, "GRA_SET_BACK"},
{0xBD49, "GRA_SET_FIRST"},
{0xBD4C, "GRA_SET_LINE_MASK"},
{0xBD4F, "GRA_FROM_USER"},
{0xBD52, "GRA_FILL"},
{0xBD55, "SCR_SET_POSITION"},
{0xBD58, "MC_PRINT_TRANSLATION"},
{0xBD5B, "KL_BANK_SWITCH"},
{0xBDCD, "IND_TXT_DRAW_CURSOR"},
{0xBDD0, "IND_TXT_UNDRAW_CURSOR"},
{0xBDD3, "IND_TXT_WRITE_CHAR"},
{0xBDD6, "IND_TXT_UNWRITE"},
{0xBDD9, "IND_TXT_OUT_ACTION"},
{0xBDDC, "IND_GRA_PLOT"},
{0xBDDF, "IND_GRA_TEST"},
{0xBDE2, "IND_GRA_LINE"},
{0xBDE5, "IND_SCR_READ"},
{0xBDE8, "IND_SCR_WRITE"},
{0xBDEB, "IND_SCR_MODE_CLEAR"},
{0xBDEE, "IND_KM_TEST_BREAK"},
{0xBDF1, "IND_MC_WAIT_PRINTER"},
{0xBDF4, "IND_KM_SCAN_KEYS"},
{0xBD61, "MOVE_REAL"},
{0xBD64, "INTEGER_TO_REAL"},
{0xBD67, "BINARY_TO_REAL"},
{0xBD6A, "REAL_TO_INTEGER"},
{0xBD6D, "REAL_TO_BINARY"},
{0xBD70, "REAL_FIX"},
{0xBD73, "REAL_INT"},
{0xBD76, "INTERNAL_SUBROUTINE"},
{0xBD79, "REAL_x10POWA"},
{0xBD7C, "REAL_ADDITION"},
{0xBD82, "REAL_REVERSE_SUBTRACTION"},
{0xBD85, "REAL_MULTIPLICATION"},
{0xBD88, "REAL_DIVISION"},
{0xBD8E, "REAL_COMPARISON"},
{0xBD91, "REAL_UNARY_MINUS"},
{0xBD94, "REAL_SIGNUM_SGN"},
{0xBD97, "SET_ANGLE_MODE"},
{0xBD9A, "REAL_PI"},
{0xBD9D, "REAL_SQR"},
{0xBDA0, "REAL_POWER"},
{0xBDA3, "REAL_LOG"},
{0xBDA6, "REAL_LOG_10"},
{0xBDA9, "REAL_EXP"},
{0xBDAC, "REAL_SINE"},
{0xBDAF, "REAL_COSINE"},
{0xBDB2, "REAL_TANGENT"},
{0xBDB5, "REAL_ARCTANGENT"},
{0xBD5B, "REAL_SUBTRACTION"},
{0xBD67, "REAL_EXPONENT_ADDITION"},
{0xBDAC, "INTEGER_ADDITION"},
{0xBDAF, "INTEGER_SUBTRACTION"},
{0xBDB2, "INTEGER_REVERSE_SUBTRACTION"},
{0xBDB5, "INTEGER_MULTIPLICATION"},
{0xBDB8, "INTEGER_DIVISION"},
{0xBDBB, "INTEGER_DIVISION_2"},
{0xBDC4, "INTEGER_COMPARISON"},
{0xBDC7, "INTEGER_UNARY_MINUS"},
{0xBDCA, "INTEGER_SIGNUM_SGN"},
{0xBD5E, "TEXT_INPUT"},
{0xBD7F, "REAL_RND"},
{0xBD8B, "REAL_RND0"},
{0xC033, "BIOS_SET_MESSAGE"},
{0xC036, "BIOS_SETUP_DISC"},
{0xC039, "BIOS_SELECT_FORMAT"},
{0xC03C, "BIOS_READ_SECTOR"},
{0xC03F, "BIOS_WRITE_SECTOR"},
{0xC042, "BIOS_FORMAT_TRACK"},
{0xC045, "BIOS_MOVE_TRACK"},
{0xC048, "BIOS_GET_STATUS"},
{0xC04B, "BIOS_SET_RETRY_COUNT"},
{0xC56C, "GET_SECTOR_DATA"},
{0xBE53, "AMSDOS_DRIVE_HSUS"},
{0xBE54, "AMSDOS_DRIVE_TRACK"},
{0xBE5E, "AMSDOS_FLAG_RW_SECTOR"},
{0xBE5F, "AMSDOS_FLAG_MOTOR"},
{0xBE7D, "AMSDOS_RESERVED_AREA"},
{0xBE7D, "AMSDOS_MEMORY_POOL"},
{0xBE7F, "AMSDOS_HOOK"},
{0, 0}
};