mirror of https://github.com/mgba-emu/mgba.git
Update GBA BIOS from GBA.js
This commit is contained in:
parent
6a1afbda50
commit
1e4a82ef5b
|
@ -1,6 +1,6 @@
|
|||
#include "hle-bios.h"
|
||||
|
||||
const unsigned int hleBiosLength = 216;
|
||||
const unsigned int hleBiosLength = 220;
|
||||
const unsigned char hleBios[] = {
|
||||
0x06, 0x00, 0x00, 0xea, 0xfe, 0xff, 0xff, 0xea, 0x05, 0x00, 0x00, 0xea,
|
||||
0xfe, 0xff, 0xff, 0xea, 0xfe, 0xff, 0xff, 0xea, 0x00, 0x00, 0xa0, 0xe1,
|
||||
|
@ -10,14 +10,15 @@ const unsigned char hleBios[] = {
|
|||
0x09, 0x00, 0x00, 0x0b, 0x05, 0x00, 0x50, 0xe3, 0x07, 0x00, 0x00, 0x0b,
|
||||
0x00, 0x40, 0xbd, 0xe8, 0x0e, 0xf0, 0xb0, 0xe1, 0x0f, 0x50, 0x2d, 0xe9,
|
||||
0x01, 0x03, 0xa0, 0xe3, 0x00, 0xe0, 0x8f, 0xe2, 0x04, 0xf0, 0x10, 0xe5,
|
||||
0x0f, 0x50, 0xbd, 0xe8, 0x04, 0xf0, 0x5e, 0xe2, 0x04, 0x40, 0x2d, 0xe9,
|
||||
0x04, 0xd0, 0x4d, 0xe2, 0xb0, 0x10, 0xcd, 0xe1, 0x01, 0x23, 0xa0, 0xe3,
|
||||
0x02, 0x2c, 0x82, 0xe2, 0xb0, 0x00, 0xd2, 0xe1, 0xb2, 0x00, 0xcd, 0xe1,
|
||||
0xb0, 0x10, 0xdd, 0xe1, 0x01, 0x10, 0x80, 0xe1, 0xb0, 0x10, 0xc2, 0xe1,
|
||||
0x1f, 0x00, 0xa0, 0xe3, 0x00, 0xf0, 0x29, 0xe1, 0x00, 0x00, 0x02, 0xef,
|
||||
0xd3, 0x00, 0xa0, 0xe3, 0x00, 0xf0, 0x29, 0xe1, 0x01, 0x03, 0xa0, 0xe3,
|
||||
0xb8, 0x20, 0x50, 0xe1, 0xb0, 0x10, 0xdd, 0xe1, 0x02, 0x10, 0x11, 0xe0,
|
||||
0x02, 0x10, 0x21, 0x10, 0xb8, 0x10, 0x40, 0x11, 0xb2, 0x00, 0xdd, 0xe1,
|
||||
0x01, 0x13, 0xa0, 0xe3, 0x02, 0x1c, 0x81, 0xe2, 0xb0, 0x00, 0xc1, 0xe1,
|
||||
0xe8, 0xff, 0xff, 0x0a, 0x04, 0xd0, 0x8d, 0xe2, 0x04, 0x80, 0xbd, 0xe8
|
||||
0x0f, 0x50, 0xbd, 0xe8, 0x04, 0xf0, 0x5e, 0xe2, 0x10, 0x40, 0x2d, 0xe9,
|
||||
0x04, 0xd0, 0x4d, 0xe2, 0xb0, 0x10, 0xcd, 0xe1, 0x01, 0x43, 0xa0, 0xe3,
|
||||
0x02, 0x4c, 0x84, 0xe2, 0xb0, 0x00, 0xd4, 0xe1, 0xb2, 0x00, 0xcd, 0xe1,
|
||||
0xb0, 0x10, 0xdd, 0xe1, 0x01, 0x00, 0x80, 0xe1, 0xb0, 0x00, 0xc4, 0xe1,
|
||||
0x01, 0x43, 0xa0, 0xe3, 0x1f, 0x00, 0xa0, 0xe3, 0x00, 0xf0, 0x29, 0xe1,
|
||||
0x00, 0x00, 0xa0, 0xe3, 0x01, 0x03, 0xc4, 0xe5, 0xd3, 0x00, 0xa0, 0xe3,
|
||||
0x00, 0xf0, 0x29, 0xe1, 0xb8, 0x00, 0x54, 0xe1, 0xb0, 0x10, 0xdd, 0xe1,
|
||||
0x00, 0x10, 0x11, 0xe0, 0x00, 0x10, 0x21, 0x10, 0xb8, 0x10, 0x44, 0x11,
|
||||
0xf3, 0xff, 0xff, 0x0a, 0x01, 0x43, 0xa0, 0xe3, 0x02, 0x4c, 0x84, 0xe2,
|
||||
0xb2, 0x00, 0xdd, 0xe1, 0xb0, 0x00, 0xc4, 0xe1, 0x04, 0xd0, 0x8d, 0xe2,
|
||||
0x10, 0x80, 0xbd, 0xe8
|
||||
};
|
||||
|
|
|
@ -36,32 +36,33 @@ ldmfd sp!, {r0-r3, r12, lr}
|
|||
subs pc, lr, #4
|
||||
|
||||
IntrWait:
|
||||
stmfd sp!, {r2,lr}
|
||||
stmfd sp!, {r4, lr}
|
||||
add sp, #-4
|
||||
strh r1, [sp, #0]
|
||||
IntrWaitLoop:
|
||||
mov r2, #0x04000000
|
||||
add r2, #0x200
|
||||
ldrh r0, [r2, #0]
|
||||
mov r4, #0x04000000
|
||||
add r4, #0x200
|
||||
ldrh r0, [r4, #0]
|
||||
strh r0, [sp, #2]
|
||||
ldrh r1, [sp, #0]
|
||||
orr r1, r0, r1
|
||||
strh r1, [r2, #0]
|
||||
orr r0, r1
|
||||
strh r0, [r4, #0x0]
|
||||
mov r4, #0x04000000
|
||||
IntrWaitLoop:
|
||||
mov r0, #0x1F
|
||||
msr cpsr, r0
|
||||
swi #0x020000
|
||||
mov r0, #0
|
||||
strb r0, [r4, #0x301]
|
||||
mov r0, #0xD3
|
||||
msr cpsr, r0
|
||||
mov r0, #0x04000000
|
||||
ldrh r2, [r0, #-8]
|
||||
ldrh r0, [r4, #-8]
|
||||
ldrh r1, [sp, #0]
|
||||
ands r1, r2
|
||||
eorne r1, r2
|
||||
strneh r1, [r0, #-8]
|
||||
ldrh r0, [sp, #2]
|
||||
mov r1, #0x04000000
|
||||
add r1, #0x200
|
||||
strh r0, [r1, #0]
|
||||
ands r1, r0
|
||||
eorne r1, r0
|
||||
strneh r1, [r4, #-8]
|
||||
beq IntrWaitLoop
|
||||
mov r4, #0x04000000
|
||||
add r4, #0x200
|
||||
ldrh r0, [sp, #2]
|
||||
strh r0, [r4, #0]
|
||||
add sp, #4
|
||||
ldmfd sp!, {r2,pc}
|
||||
ldmfd sp!, {r4, pc}
|
||||
|
|
Loading…
Reference in New Issue