initial 32x tests
[megadrive.git] / testpico / sh2_test.sh2
CommitLineData
9d39a80e 1
2 .text
3
4! Master Vector Base Table at 0x06000000
5
6 .long mstart /* Cold Start PC */
7 .long 0x06040000 /* Cold Start SP */
8 .long mstart /* Manual Reset PC */
9 .long 0x06040000 /* Manual Reset SP */
10 .long main_err /* Illegal instruction */
11 .long 0x00000000 /* reserved */
12 .long main_err /* Invalid slot instruction */
13 .long 0x20100400 /* reserved */
14 .long 0x20100420 /* reserved */
15 .long main_err /* CPU address error */
16 .long main_err /* DMA address error */
17 .long main_err /* NMI vector */
18 .long main_err /* User break vector */
19 .space 76 /* reserved */
20 .long main_err /* TRAPA #32 */
21 .long main_err /* TRAPA #33 */
22 .long main_err /* TRAPA #34 */
23 .long main_err /* TRAPA #35 */
24 .long main_err /* TRAPA #36 */
25 .long main_err /* TRAPA #37 */
26 .long main_err /* TRAPA #38 */
27 .long main_err /* TRAPA #39 */
28 .long main_err /* TRAPA #40 */
29 .long main_err /* TRAPA #41 */
30 .long main_err /* TRAPA #42 */
31 .long main_err /* TRAPA #43 */
32 .long main_err /* TRAPA #44 */
33 .long main_err /* TRAPA #45 */
34 .long main_err /* TRAPA #46 */
35 .long main_err /* TRAPA #47 */
36 .long main_err /* TRAPA #48 */
37 .long main_err /* TRAPA #49 */
38 .long main_err /* TRAPA #50 */
39 .long main_err /* TRAPA #51 */
40 .long main_err /* TRAPA #52 */
41 .long main_err /* TRAPA #53 */
42 .long main_err /* TRAPA #54 */
43 .long main_err /* TRAPA #55 */
44 .long main_err /* TRAPA #56 */
45 .long main_err /* TRAPA #57 */
46 .long main_err /* TRAPA #58 */
47 .long main_err /* TRAPA #59 */
48 .long main_err /* TRAPA #60 */
49 .long main_err /* TRAPA #61 */
50 .long main_err /* TRAPA #62 */
51 .long main_err /* TRAPA #63 */
52 .long main_irq /* Level 1 IRQ */
53 .long main_irq /* Level 2 & 3 IRQ's */
54 .long main_irq /* Level 4 & 5 IRQ's */
55 .long main_irq /* PWM interupt */
56 .long main_irq /* Command interupt */
57 .long main_irq /* H Blank interupt */
58 .long main_irq /* V Blank interupt */
59 .long main_irq /* Reset Button */
60 .long main_irq /* DMA1 TE INT */
61
62! Slave Vector Base Table at 0x06000124
63
64 .long sstart /* Cold Start PC */
65 .long 0x0603f800 /* Cold Start SP */
66 .long sstart /* Manual Reset PC */
67 .long 0x0603f800 /* Manual Reset SP */
68 .long slav_err /* Illegal instruction */
69 .long 0x00000000 /* reserved */
70 .long slav_err /* Invalid slot instruction */
71 .long 0x20100400 /* reserved */
72 .long 0x20100420 /* reserved */
73 .long slav_err /* CPU address error */
74 .long slav_err /* DMA address error */
75 .long slav_err /* NMI vector */
76 .long slav_err /* User break vector */
77 .space 76 /* reserved */
78 .long slav_err /* TRAPA #32 */
79 .long slav_err /* TRAPA #33 */
80 .long slav_err /* TRAPA #34 */
81 .long slav_err /* TRAPA #35 */
82 .long slav_err /* TRAPA #36 */
83 .long slav_err /* TRAPA #37 */
84 .long slav_err /* TRAPA #38 */
85 .long slav_err /* TRAPA #39 */
86 .long slav_err /* TRAPA #40 */
87 .long slav_err /* TRAPA #41 */
88 .long slav_err /* TRAPA #42 */
89 .long slav_err /* TRAPA #43 */
90 .long slav_err /* TRAPA #44 */
91 .long slav_err /* TRAPA #45 */
92 .long slav_err /* TRAPA #46 */
93 .long slav_err /* TRAPA #47 */
94 .long slav_err /* TRAPA #48 */
95 .long slav_err /* TRAPA #49 */
96 .long slav_err /* TRAPA #50 */
97 .long slav_err /* TRAPA #51 */
98 .long slav_err /* TRAPA #52 */
99 .long slav_err /* TRAPA #53 */
100 .long slav_err /* TRAPA #54 */
101 .long slav_err /* TRAPA #55 */
102 .long slav_err /* TRAPA #56 */
103 .long slav_err /* TRAPA #57 */
104 .long slav_err /* TRAPA #58 */
105 .long slav_err /* TRAPA #59 */
106 .long slav_err /* TRAPA #60 */
107 .long slav_err /* TRAPA #61 */
108 .long slav_err /* TRAPA #62 */
109 .long slav_err /* TRAPA #63 */
110 .long slav_irq /* Level 1 IRQ */
111 .long slav_irq /* Level 2 & 3 IRQ's */
112 .long slav_irq /* Level 4 & 5 IRQ's */
113 .long slav_irq /* PWM interupt */
114 .long slav_irq /* Command interupt */
115 .long slav_irq /* H Blank interupt */
116 .long slav_irq /* V Blank interupt */
117 .long slav_irq /* Reset Button */
118
119! Stacks set up by BIOS
120
121! The main SH2 starts here at 0x06000244
122
123mstart:
124 bra mcont
125 mov #0, r4
126
127! The slave SH2 starts here at 0x06000248
128
129sstart:
130 sleep
131! broken
132 bra xstart
133 mov #1, r4
134
135mcont:
136
137xstart:
138 mov.l l_cctl, r0
139 mov #0x11, r1
140 mov.b r1, @r0
141 mov.l l_main_c, r0
142 jmp @r0
143 nop
144
145.align 2
146l_cctl:
147 .long 0xFFFFFE92
148l_main_c:
149 .long _main_c
150
151! dummy
152.global _start
153_start:
154
155.global _spin
156_spin:
157 dt r4
158 bf _spin
159 rts
160 nop
161
162main_err:
163main_irq:
164slav_err:
165slav_irq:
1660:
167 bra 0b
168 nop
169
170! vim:ts=8:sw=8:expandtab