diff --git a/src/gba/hle-bios.c b/src/gba/hle-bios.c index f3c58b62b..5b1acd3ba 100644 --- a/src/gba/hle-bios.c +++ b/src/gba/hle-bios.c @@ -79,26 +79,25 @@ const uint8_t hleBios[GBA_SIZE_BIOS] = { 0x00, 0x10, 0x9e, 0xe5, 0x00, 0x00, 0x51, 0xe3, 0x00, 0x10, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0x1a, 0xc0, 0xe0, 0x4e, 0xe2, 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x29, 0xe1, 0xc0, 0x00, 0x00, 0x02, - 0xe0, 0xd0, 0x9f, 0xe5, 0x00, 0x50, 0x2d, 0xe9, 0x00, 0xc0, 0x4f, 0xe1, + 0xdc, 0xd0, 0x9f, 0xe5, 0x00, 0x50, 0x2d, 0xe9, 0x00, 0xc0, 0x4f, 0xe1, 0x00, 0xe0, 0x0f, 0xe1, 0x00, 0x50, 0x2d, 0xe9, 0x02, 0xe3, 0xa0, 0xe3, 0x9c, 0xc0, 0xde, 0xe5, 0xa5, 0x00, 0x5c, 0xe3, 0x04, 0x00, 0x00, 0x1a, 0xb4, 0xc0, 0xde, 0xe5, 0x80, 0x00, 0x1c, 0xe3, 0x04, 0xe0, 0x8f, 0xe2, - 0xb4, 0xf0, 0x9f, 0x15, 0xb4, 0xf0, 0x9f, 0x05, 0xa8, 0xd0, 0x9f, 0xe5, + 0xb0, 0xf0, 0x9f, 0x15, 0xb0, 0xf0, 0x9f, 0x05, 0xa4, 0xd0, 0x9f, 0xe5, 0x10, 0xc0, 0x1d, 0xe5, 0x0c, 0xf0, 0x69, 0xe1, 0x00, 0x50, 0x3d, 0xe9, 0x04, 0xf0, 0x5e, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 0xa0, 0x03, - 0x00, 0xf0, 0x69, 0xe3, 0x00, 0xe0, 0xa0, 0xe3, 0x90, 0xd0, 0x9f, 0xe5, + 0x00, 0xf0, 0x69, 0xe3, 0x00, 0xe0, 0xa0, 0xe3, 0x8c, 0xd0, 0x9f, 0xe5, 0x92, 0xf0, 0x21, 0xe3, 0x00, 0xf0, 0x69, 0xe3, 0x00, 0xe0, 0xa0, 0xe3, - 0x84, 0xd0, 0x9f, 0xe5, 0x9f, 0xf0, 0x21, 0xe3, 0x00, 0xf0, 0x69, 0xe3, - 0x00, 0xe0, 0xa0, 0xe3, 0x78, 0xd0, 0x9f, 0xe5, 0x93, 0xf0, 0x21, 0xe3, - 0x01, 0x03, 0xa0, 0xe3, 0x02, 0x1c, 0x40, 0xe2, 0x06, 0x00, 0x50, 0xe5, - 0x00, 0x20, 0xa0, 0xe3, 0x00, 0x30, 0xa0, 0xe3, 0x00, 0x40, 0xa0, 0xe3, - 0x00, 0x50, 0xa0, 0xe3, 0x00, 0x60, 0xa0, 0xe3, 0x00, 0x70, 0xa0, 0xe3, - 0x00, 0x80, 0xa0, 0xe3, 0x00, 0x90, 0xa0, 0xe3, 0x00, 0xa0, 0xa0, 0xe3, - 0x00, 0xb0, 0xa0, 0xe3, 0x00, 0xc0, 0xa0, 0xe3, 0xfc, 0x03, 0xa1, 0xe8, - 0x01, 0x03, 0x51, 0xe3, 0xfc, 0xff, 0xff, 0x1a, 0x00, 0x00, 0x50, 0xe3, - 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x10, 0xa0, 0xe3, 0x02, 0xe3, 0xa0, 0x03, - 0x02, 0xe4, 0xa0, 0x13, 0x0e, 0xf0, 0xb0, 0xe1, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xf0, 0x29, 0xe1, 0xf0, 0x7f, 0x00, 0x03, 0x00, 0x20, 0xfe, 0x09, - 0x00, 0xc0, 0xff, 0x09, 0xe0, 0x7f, 0x00, 0x03, 0xa0, 0x7f, 0x00, 0x03, - 0x00, 0x7f, 0x00, 0x03 + 0x80, 0xd0, 0x9f, 0xe5, 0x93, 0xf0, 0x21, 0xe3, 0x00, 0xf0, 0x69, 0xe3, + 0x00, 0xe0, 0xa0, 0xe3, 0x74, 0xd0, 0x9f, 0xe5, 0x01, 0x03, 0xa0, 0xe3, + 0x02, 0x1c, 0x40, 0xe2, 0x06, 0x00, 0x50, 0xe5, 0x00, 0x20, 0xa0, 0xe3, + 0x00, 0x30, 0xa0, 0xe3, 0x00, 0x40, 0xa0, 0xe3, 0x00, 0x50, 0xa0, 0xe3, + 0x00, 0x60, 0xa0, 0xe3, 0x00, 0x70, 0xa0, 0xe3, 0x00, 0x80, 0xa0, 0xe3, + 0x00, 0x90, 0xa0, 0xe3, 0x00, 0xa0, 0xa0, 0xe3, 0x00, 0xb0, 0xa0, 0xe3, + 0x00, 0xc0, 0xa0, 0xe3, 0xfc, 0x03, 0xa1, 0xe8, 0x01, 0x03, 0x51, 0xe3, + 0xfc, 0xff, 0xff, 0x1a, 0x00, 0x00, 0x50, 0xe3, 0x00, 0x00, 0xa0, 0xe3, + 0x00, 0x10, 0xa0, 0xe3, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0xe4, 0xa0, 0x13, + 0x0e, 0xf0, 0xb0, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x29, 0xe1, + 0xf0, 0x7f, 0x00, 0x03, 0x00, 0x20, 0xfe, 0x09, 0x00, 0xc0, 0xff, 0x09, + 0x00, 0x7f, 0x00, 0x03, 0xa0, 0x7f, 0x00, 0x03, 0xe0, 0x7f, 0x00, 0x03 }; diff --git a/src/gba/hle-bios.s b/src/gba/hle-bios.s index 871d79849..eccbaa143 100644 --- a/src/gba/hle-bios.s +++ b/src/gba/hle-bios.s @@ -361,16 +361,15 @@ subs pc, lr, #4 SoftReset: msr spsr, #0 mov lr, #0 -ldr sp, =0x03007FE0 +ldr sp, =0x03007F00 msr cpsr_c, #0x92 msr spsr, #0 mov lr, #0 ldr sp, =0x03007FA0 -msr cpsr_c, #0x9F +msr cpsr_c, #0x93 msr spsr, #0 mov lr, #0 -ldr sp, =0x03007F00 -msr cpsr_c, #0x93 +ldr sp, =0x03007FE0 mov r0, #0x04000000 sub r1, r0, #0x200 ldrb r0, [r0, #-6]