make it build

This commit is contained in:
YamaArashi 2016-09-03 02:20:49 -07:00
parent a11fe6f83b
commit 8866801ef9
9 changed files with 5065 additions and 21 deletions

View File

@ -61,6 +61,7 @@ asm/libagbbackup.o \
asm/librtc.o \ asm/librtc.o \
asm/librfu.o \ asm/librfu.o \
asm/libagbsyscall.o \ asm/libagbsyscall.o \
asm/libgcc.o \
asm/libc.o asm/libc.o
DATA_ASM_OBJS := data/data1.o data/data2.o DATA_ASM_OBJS := data/data1.o data/data2.o

View File

@ -1,4 +1,5 @@
.include "asm/macros.s" .include "asm/macros.s"
.include "constants/gba_constants.s"
.syntax unified .syntax unified

5033
asm/libgcc.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1134,7 +1134,7 @@ _082E29E8:
RTC_SetReadWriteInternal: @ 82E29F0 RTC_SetReadWriteInternal: @ 82E29F0
push {r7,lr} push {r7,lr}
mov r7, sp mov r7, sp
ldr r0, =GPIOPortReadWrite ldr r0, =GPIOPortReadEnable
movs r1, 0x1 movs r1, 0x1
strh r1, [r0] strh r1, [r0]
pop {r7} pop {r7}
@ -1148,7 +1148,7 @@ RTC_SetReadWriteInternal: @ 82E29F0
RTC_SetReadOnlyInternal: @ 82E2A04 RTC_SetReadOnlyInternal: @ 82E2A04
push {r7,lr} push {r7,lr}
mov r7, sp mov r7, sp
ldr r0, =GPIOPortReadWrite ldr r0, =GPIOPortReadEnable
movs r1, 0 movs r1, 0
strh r1, [r0] strh r1, [r0]
pop {r7} pop {r7}

View File

@ -1,9 +1,30 @@
.global RomHeaderNintendoLogo
RomHeaderNintendoLogo: RomHeaderNintendoLogo:
.incbin "base_emerald.gba", 0x4, 0xA0 - 0x4 .byte 0x24,0xff,0xae,0x51,0x69,0x9a,0xa2,0x21
.byte 0x3d,0x84,0x82,0x0a,0x84,0xe4,0x09,0xad
.byte 0x11,0x24,0x8b,0x98,0xc0,0x81,0x7f,0x21
.byte 0xa3,0x52,0xbe,0x19,0x93,0x09,0xce,0x20
.byte 0x10,0x46,0x4a,0x4a,0xf8,0x27,0x31,0xec
.byte 0x58,0xc7,0xe8,0x33,0x82,0xe3,0xce,0xbf
.byte 0x85,0xf4,0xdf,0x94,0xce,0x4b,0x09,0xc1
.byte 0x94,0x56,0x8a,0xc0,0x13,0x72,0xa7,0xfc
.byte 0x9f,0x84,0x4d,0x73,0xa3,0xca,0x9a,0x61
.byte 0x58,0x97,0xa3,0x27,0xfc,0x03,0x98,0x76
.byte 0x23,0x1d,0xc7,0x61,0x03,0x04,0xae,0x56
.byte 0xbf,0x38,0x84,0x00,0x40,0xa7,0x0e,0xfd
.byte 0xff,0x52,0xfe,0x03,0x6f,0x95,0x30,0xf1
.byte 0x97,0xfb,0xc0,0x85,0x60,0xd6,0x80,0x25
.byte 0xa9,0x63,0xbe,0x03,0x01,0x4e,0x38,0xe2
.byte 0xf9,0xa2,0x34,0xff,0xbb,0x3e,0x03,0x44
.byte 0x78,0x00,0x90,0xcb,0x88,0x11,0x3a,0x94
.byte 0x65,0xc0,0x7c,0x63,0x87,0xf0,0x3c,0xaf
.byte 0xd6,0x25,0xe4,0x8b,0x38,0x0a,0xac,0x72
.byte 0x21,0xd4,0xf8,0x07
RomHeaderGameTitle: RomHeaderGameTitle:
.ascii "POKEMON EMER" .ascii "POKEMON EMER"
.global RomHeaderGameCode
RomHeaderGameCode: RomHeaderGameCode:
.ascii "BPEE" .ascii "BPEE"
@ -24,6 +45,7 @@ RomHeaderReserved1:
.byte 0 .byte 0
.endr .endr
.global RomHeaderSoftwareVersion
RomHeaderSoftwareVersion: RomHeaderSoftwareVersion:
.byte 0 .byte 0

View File

@ -12348,11 +12348,11 @@ gUnknown_089A6550:: @ 89A6550
gMultiBootProgram_BerryGlitchFix_Start:: @ 89A6610 gMultiBootProgram_BerryGlitchFix_Start:: @ 89A6610
.incbin "base_emerald.gba", 0x9a6610, 0x3b34 .incbin "base_emerald.gba", 0x9a6610, 0x3b34
gMultiBootProgram_BerryGlitchFix_End: gMultiBootProgram_BerryGlitchFix_End::
gMultiBootProgram_PokemonColosseum_Start:: @ 89AA144 gMultiBootProgram_PokemonColosseum_Start:: @ 89AA144
.incbin "base_emerald.gba", 0x9aa144, 0x28000 .incbin "base_emerald.gba", 0x9aa144, 0x28000
gMultiBootProgram_PokemonColosseum_End: gMultiBootProgram_PokemonColosseum_End::
zero_fill 0x8B00000 - 0x89D2144 zero_fill 0x8B00000 - 0x89D2144

View File

@ -341,7 +341,7 @@
// I/O registers // I/O registers
#define REG_DISPCNT (*(vu32 *)REG_ADDR_DISPCNT) #define REG_DISPCNT (*(vu16 *)REG_ADDR_DISPCNT)
#define REG_DISPSTAT (*(vu16 *)REG_ADDR_DISPSTAT) #define REG_DISPSTAT (*(vu16 *)REG_ADDR_DISPSTAT)
#define REG_VCOUNT (*(vu16 *)REG_ADDR_VCOUNT) #define REG_VCOUNT (*(vu16 *)REG_ADDR_VCOUNT)

View File

@ -61,20 +61,7 @@ SECTIONS {
asm/librtc.o(.text); asm/librtc.o(.text);
asm/librfu.o(.text); asm/librfu.o(.text);
asm/libagbsyscall.o(.text); asm/libagbsyscall.o(.text);
tools/agbcc/lib/libgcc.a:_call_via_rX.o(.text); asm/libgcc.o(.text);
tools/agbcc/lib/libgcc.a:_divsi3.o(.text);
tools/agbcc/lib/libgcc.a:_dvmd_tls.o(.text);
tools/agbcc/lib/libgcc.a:_fixunsdfsi.o(.text);
tools/agbcc/lib/libgcc.a:_fixunssfsi.o(.text);
tools/agbcc/lib/libgcc.a:_modsi3.o(.text);
tools/agbcc/lib/libgcc.a:_muldi3.o(.text);
tools/agbcc/lib/libgcc.a:_udivdi3.o(.text);
tools/agbcc/lib/libgcc.a:_udivsi3.o(.text);
tools/agbcc/lib/libgcc.a:_umodsi3.o(.text);
tools/agbcc/lib/libgcc.a:dp-bit.o(.text);
tools/agbcc/lib/libgcc.a:fp-bit.o(.text);
tools/agbcc/lib/libgcc.a:_lshrdi3.o(.text);
tools/agbcc/lib/libgcc.a:_negdi2.o(.text);
asm/libc.o(.text); asm/libc.o(.text);
} =0 } =0

View File

@ -63,7 +63,7 @@ void SetGpuReg(u8 regOffset, u16 value)
u16 vcount; u16 vcount;
GPU_REG_BUF(regOffset) = value; GPU_REG_BUF(regOffset) = value;
vcount = REG_VCOUNT; vcount = REG_VCOUNT & 0xFF;
if ((vcount >= 161 && vcount <= 225) if ((vcount >= 161 && vcount <= 225)
|| (REG_DISPCNT & DISPCNT_FORCED_BLANK)) { || (REG_DISPCNT & DISPCNT_FORCED_BLANK)) {