42e3d5f6c4d4a6949c88c1963e585282bde24bc2
[megadrive.git] / megaed-sv / sega_gcc.s
1         dc.l 0x0,0x200\r
2         dc.l INT,INT,INT,INT,INT,INT,INT\r
3         dc.l INT,INT,INT,INT,INT,INT,INT,INT\r
4         dc.l INT,INT,INT,INT,INT,INT,INT,INT\r
5         dc.l INT,INT,INT,HBL,INT,VBL,INT,INT\r
6         dc.l INT,INT,INT,INT,INT,INT,INT,INT\r
7         dc.l INT,INT,INT,INT,INT,INT,INT,INT\r
8         dc.l INT,INT,INT,INT,INT,INT,INT,INT\r
9         dc.l INT,INT,INT,INT,INT,INT,INT\r
10         .ascii "SEGA EVERDRIVE                  "\r
11         .ascii "MEGA-ED host                                    "\r
12         .ascii "MEGA-ED host                                    "\r
13         .ascii "GM 00000000-00"\r
14         .byte 0x00,0x00\r
15         .ascii "JD              "\r
16         .byte 0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00\r
17         .byte 0x00,0xff,0x00,0x00,0xff,0xff,0xff,0xff\r
18         .ascii "               "\r
19         .ascii "                        "\r
20         .ascii "                         "\r
21         .ascii "JUE             "\r
22 \r
23 /* magic ED app init */\r
24 RST:\r
25         move.w #0x0000, (0xA13006)\r
26         jmp init_ed.l\r
27 init_ed:\r
28         move.w #0x210f, (0xA13006)\r
29         move.l #HBL, (0x70)\r
30         move.l #VBL, (0x78)\r
31 \r
32         moveq   #0,%d0\r
33         movea.l %d0,%a7\r
34         move    %a7,%usp\r
35         bra     main\r
36 \r
37 INT:\r
38         movem.l %d0-%d1/%a0-%a1,-(%sp)\r
39         jsr exception\r
40         movem.l (%sp)+,%d0-%d1/%a0-%a1\r
41         rte\r
42 \r
43 HBL:\r
44         rte\r
45 \r
46 VBL:\r
47         movem.l %d0-%d1/%a0-%a1,-(%sp)\r
48         jsr vbl\r
49         movem.l (%sp)+,%d0-%d1/%a0-%a1\r
50         rte\r
51 \r
52 \r
53 * Standard 32X startup code for MD side at 0x3F0\r
54         .org 0x3F0\r
55 \r
56         .word   0x287C,0xFFFF,0xFFC0,0x23FC,0x0000,0x0000,0x00A1,0x5128\r
57         .word   0x46FC,0x2700,0x4BF9,0x00A1,0x0000,0x7001,0x0CAD,0x4D41\r
58         .word   0x5253,0x30EC,0x6600,0x03E6,0x082D,0x0007,0x5101,0x67F8\r
59         .word   0x4AAD,0x0008,0x6710,0x4A6D,0x000C,0x670A,0x082D,0x0000\r
60         .word   0x5101,0x6600,0x03B8,0x102D,0x0001,0x0200,0x000F,0x6706\r
61         .word   0x2B78,0x055A,0x4000,0x7200,0x2C41,0x4E66,0x41F9,0x0000\r
62         .word   0x04D4,0x6100,0x0152,0x6100,0x0176,0x47F9,0x0000,0x04E8\r
63         .word   0x43F9,0x00A0,0x0000,0x45F9,0x00C0,0x0011,0x3E3C,0x0100\r
64         .word   0x7000,0x3B47,0x1100,0x3B47,0x1200,0x012D,0x1100,0x66FA\r
65         .word   0x7425,0x12DB,0x51CA,0xFFFC,0x3B40,0x1200,0x3B40,0x1100\r
66         .word   0x3B47,0x1200,0x149B,0x149B,0x149B,0x149B,0x41F9,0x0000\r
67         .word   0x04C0,0x43F9,0x00FF,0x0000,0x22D8,0x22D8,0x22D8,0x22D8\r
68         .word   0x22D8,0x22D8,0x22D8,0x22D8,0x41F9,0x00FF,0x0000,0x4ED0\r
69         .word   0x1B7C,0x0001,0x5101,0x41F9,0x0000,0x06BC,0xD1FC,0x0088\r
70         .word   0x0000,0x4ED0,0x0404,0x303C,0x076C,0x0000,0x0000,0xFF00\r
71         .word   0x8137,0x0002,0x0100,0x0000,0xAF01,0xD91F,0x1127,0x0021\r
72         .word   0x2600,0xF977,0xEDB0,0xDDE1,0xFDE1,0xED47,0xED4F,0xD1E1\r
73         .word   0xF108,0xD9C1,0xD1E1,0xF1F9,0xF3ED,0x5636,0xE9E9,0x9FBF\r
74         .word   0xDFFF,0x4D41,0x5253,0x2049,0x6E69,0x7469,0x616C,0x2026\r
75         .word   0x2053,0x6563,0x7572,0x6974,0x7920,0x5072,0x6F67,0x7261\r
76         .word   0x6D20,0x2020,0x2020,0x2020,0x2020,0x2043,0x6172,0x7472\r
77         .word   0x6964,0x6765,0x2056,0x6572,0x7369,0x6F6E,0x2020,0x2020\r
78         .word   0x436F,0x7079,0x7269,0x6768,0x7420,0x5345,0x4741,0x2045\r
79         .word   0x4E54,0x4552,0x5052,0x4953,0x4553,0x2C4C,0x5444,0x2E20\r
80         .word   0x3139,0x3934,0x2020,0x2020,0x2020,0x2020,0x2020,0x2020\r
81         .word   0x2020,0x2020,0x2020,0x2020,0x2020,0x2020,0x2020,0x2020\r
82         .word   0x2020,0x2020,0x2020,0x524F,0x4D20,0x5665,0x7273,0x696F\r
83         .word   0x6E20,0x312E,0x3000,0x48E7,0xC040,0x43F9,0x00C0,0x0004\r
84         .word   0x3011,0x303C,0x8000,0x323C,0x0100,0x3E3C,0x0012,0x1018\r
85         .word   0x3280,0xD041,0x51CF,0xFFF8,0x4CDF,0x0203,0x4E75,0x48E7\r
86         .word   0x81C0,0x41F9,0x0000,0x063E,0x43F9,0x00C0,0x0004,0x3298\r
87         .word   0x3298,0x3298,0x3298,0x3298,0x3298,0x3298,0x2298,0x3341\r
88         .word   0xFFFC,0x3011,0x0800,0x0001,0x66F8,0x3298,0x3298,0x7000\r
89         .word   0x22BC,0xC000,0x0000,0x7E0F,0x3340,0xFFFC,0x3340,0xFFFC\r
90         .word   0x3340,0xFFFC,0x3340,0xFFFC,0x51CF,0xFFEE,0x22BC,0x4000\r
91         .word   0x0010,0x7E09,0x3340,0xFFFC,0x3340,0xFFFC,0x3340,0xFFFC\r
92         .word   0x3340,0xFFFC,0x51CF,0xFFEE,0x4CDF,0x0381,0x4E75,0x8114\r
93         .word   0x8F01,0x93FF,0x94FF,0x9500,0x9600,0x9780,0x4000,0x0080\r
94         .word   0x8104,0x8F02,0x48E7,0xC140,0x43F9,0x00A1,0x5180,0x08A9\r
95         .word   0x0007,0xFF80,0x66F8,0x3E3C,0x00FF,0x7000,0x7200,0x337C\r
96         .word   0x00FF,0x0004,0x3341,0x0006,0x3340,0x0008,0x4E71,0x0829\r
97         .word   0x0001,0x000B,0x66F8,0x0641,0x0100,0x51CF,0xFFE8,0x4CDF\r
98         .word   0x0283,0x4E75,0x48E7,0x8180,0x41F9,0x00A1,0x5200,0x08A8\r
99         .word   0x0007,0xFF00,0x66F8,0x3E3C,0x001F,0x20C0,0x20C0,0x20C0\r
100         .word   0x20C0,0x51CF,0xFFF6,0x4CDF,0x0181,0x4E75,0x41F9,0x00FF\r
101         .word   0x0000,0x3E3C,0x07FF,0x7000,0x20C0,0x20C0,0x20C0,0x20C0\r
102         .word   0x20C0,0x20C0,0x20C0,0x20C0,0x51CF,0xFFEE,0x3B7C,0x0000\r
103         .word   0x1200,0x7E0A,0x51CF,0xFFFE,0x43F9,0x00A1,0x5100,0x7000\r
104         .word   0x2340,0x0020,0x2340,0x0024,0x1B7C,0x0003,0x5101,0x2E79\r
105         .word   0x0088,0x0000,0x0891,0x0007,0x66FA,0x7000,0x3340,0x0002\r
106         .word   0x3340,0x0004,0x3340,0x0006,0x2340,0x0008,0x2340,0x000C\r
107         .word   0x3340,0x0010,0x3340,0x0030,0x3340,0x0032,0x3340,0x0038\r
108         .word   0x3340,0x0080,0x3340,0x0082,0x08A9,0x0000,0x008B,0x66F8\r
109         .word   0x6100,0xFF12,0x08E9,0x0000,0x008B,0x67F8,0x6100,0xFF06\r
110         .word   0x08A9,0x0000,0x008B,0x6100,0xFF3C,0x303C,0x0040,0x2229\r
111         .word   0x0020,0x0C81,0x5351,0x4552,0x6700,0x0092,0x303C,0x0080\r
112         .word   0x2229,0x0020,0x0C81,0x5344,0x4552,0x6700,0x0080,0x21FC\r
113         .word   0x0088,0x02A2,0x0070,0x303C,0x0002,0x7200,0x122D,0x0001\r
114         .word   0x1429,0x0080,0xE14A,0x8242,0x0801,0x000F,0x660A,0x0801\r
115         .word   0x0006,0x6700,0x0058,0x6008,0x0801,0x0006,0x6600,0x004E\r
116         .word   0x7020,0x41F9,0x0088,0x0000,0x3C28,0x018E,0x4A46,0x6700\r
117         .word   0x0010,0x3429,0x0028,0x0C42,0x0000,0x67F6,0xB446,0x662C\r
118         .word   0x7000,0x2340,0x0028,0x2340,0x002C,0x3E14,0x2C7C,0xFFFF\r
119         .word   0xFFC0,0x4CD6,0x7FF9,0x44FC,0x0000,0x6014,0x43F9,0x00A1\r
120         .word   0x5100,0x3340,0x0006,0x303C,0x8000,0x6004,0x44FC,0x0001\r
121 \r