.word 0x5100,0x3340,0x0006,0x303C,0x8000,0x6004,0x44FC,0x0001\r
\r
RST:\r
- move.w #0x2600, %sr\r
-\r
- move.b (0xA10001), %d0\r
- andi.b #0x0F, %d0\r
- beq.s 0f\r
- move.l #0x53454741, (0xA14000) /* 'SEGA' */\r
+ andi.b #0x0F, (0xA10001) /* 24 */\r
+ bne.s 0f /* 10 */\r
+ move.w #0x8104, (0xc00004)\r
+ bra 1f\r
0:\r
- tst.w (0xc00004).l\r
+ move.l #0x53454741, (0xA14000) /* 28 'SEGA' */\r
+1:\r
+ move.w (0xc00008), %d0 /* 16 */\r
+ move.w %d0, -(%sp)\r
+ subq.l #2, %sp\r
+ move %sp, %usp\r
\r
- moveq #0, %d0\r
- movea.l %d0, %a7\r
- move %a7, %usp\r
+ move.w #0x2600, %sr\r
\r
/* clear .bss */\r
+ moveq.l #0, %d0\r
lea __bss_start, %a0\r
lea __end, %a1\r
0:\r
pre_exception:\r
move.w #0x2700, %sr\r
movem.l %d0-%d7/%a0-%a7,-(%sp)\r
- add.w #2, 0x3e(%sp)\r
+ add.w #2, 0x3e(%sp) /* ecxnum */\r
move.l %sp, %d0\r
- move.l %d0,-(%sp) /* arg0 */\r
+ move.l %d0,-(%sp) /* arg0 */\r
jsr exception\r
0:\r
bra 0b\r