1 | /*
|
---|
2 | ============================================================================
|
---|
3 | hwdefs.h -- Buchla 700 I/O addresses defined in hwdefs.s
|
---|
4 | Version 12 -- 1988-08-15 -- D.N. Lynx Crowe
|
---|
5 | ============================================================================
|
---|
6 | */
|
---|
7 |
|
---|
8 | #pragma once
|
---|
9 |
|
---|
10 | #include "stdint.h"
|
---|
11 |
|
---|
12 | /* hardware addresses */
|
---|
13 |
|
---|
14 | extern volatile uint16_t io_fpu[]; /* 0x180000 */
|
---|
15 | extern volatile uint8_t io_time[]; /* 0x3a0001 */
|
---|
16 | extern volatile uint8_t io_lcd; /* 0x3a4001 */
|
---|
17 | extern volatile uint8_t io_ser; /* 0x3a8001 */
|
---|
18 | extern volatile uint8_t io_midi; /* 0x3ac001 */
|
---|
19 | extern volatile uint8_t io_disk; /* 0x3b0001 */
|
---|
20 | extern volatile uint8_t io_tone; /* 0x3b4001 */
|
---|
21 | extern volatile uint8_t io_leds; /* 0x3b8001 */
|
---|
22 | extern volatile uint8_t io_kbrd; /* 0x3bc001 */
|
---|
23 | extern volatile uint8_t lcd_a0; /* io_lcd + 0 */
|
---|
24 | extern volatile uint8_t lcd_a1; /* io_lcd + 2 */
|
---|
25 |
|
---|
26 | extern volatile uint16_t io_vreg[]; /* 0x200000 Video registers after setup */
|
---|
27 | extern volatile uint16_t io_vraw[]; /* 0x200400 Video registers after reset */
|
---|
28 | extern volatile uint16_t io_vram[]; /* 0x200000 Video RAM */
|
---|
29 |
|
---|
30 | /* video memory allocations, bank 0 */
|
---|
31 |
|
---|
32 | extern volatile uint16_t v_regs[]; /* 0x200000 Video registers */
|
---|
33 | extern volatile uint16_t v_odtab[][4]; /* 0x200080 Object Descriptor Table */
|
---|
34 | extern volatile uint16_t v_actab[]; /* 0x200100 Access Table */
|
---|
35 | extern volatile uint16_t v_ct0[]; /* 0x200400 */
|
---|
36 | extern volatile uint16_t v_gt1[]; /* 0x200518 */
|
---|
37 | extern volatile uint16_t v_score[]; /* 0x202000 Score */
|
---|
38 | extern volatile uint16_t v_cgtab[]; /* 0x21e000 Character Generator */
|
---|
39 |
|
---|
40 | /* video memory allocations, bank 1 */
|
---|
41 |
|
---|
42 | extern volatile uint16_t v_curs0[]; /* 0x200400 ULE cursor */
|
---|
43 | extern volatile uint16_t v_curs1[]; /* 0x200480 ULO cursor */
|
---|
44 | extern volatile uint16_t v_curs2[]; /* 0x200500 URE cursor */
|
---|
45 | extern volatile uint16_t v_curs3[]; /* 0x200580 URO cursor */
|
---|
46 | extern volatile uint16_t v_curs4[]; /* 0x200600 LLE cursor */
|
---|
47 | extern volatile uint16_t v_curs5[]; /* 0x200680 LLO cursor */
|
---|
48 | extern volatile uint16_t v_curs6[]; /* 0x200700 LRE cursor */
|
---|
49 | extern volatile uint16_t v_curs7[]; /* 0x200780 LRO cursor */
|
---|
50 | extern volatile uint16_t v_tcur[]; /* 0x200800 Typewriter */
|
---|
51 | extern volatile uint16_t v_kbobj[]; /* 0x200b40 Keyboard */
|
---|
52 | extern volatile uint16_t v_lnobj[]; /* 0x201240 Line */
|
---|
53 | extern volatile uint16_t v_cur[]; /* 0x201940 Underline cursor */
|
---|
54 | extern volatile uint16_t v_win0[]; /* 0x204000 Window 0 */
|
---|
55 |
|
---|
56 | /* stuff in the depths of the bios */
|
---|
57 |
|
---|
58 | extern volatile int16_t fc_sw;
|
---|
59 | extern volatile int32_t fc_val;
|
---|