Search found 43 matches

by Dwedit
Fri Sep 30, 2011 6:20 am
Forum: Bug Reports
Topic: Libgba: gba_compression.h doesn't have const source pointer
Replies: 3
Views: 7656

Libgba: gba_compression.h doesn't have const source pointer

I was just looking through gba_compression.h, and I noticed that none of the system calls declared the "source" pointer as const. They are just plain void* pointers. Also, the Vram functions should probably indicate that the destination pointer is a unsigned short pointer. //--------------...
by Dwedit
Sat Jul 30, 2011 5:48 pm
Forum: Off Topic
Topic: NO$GBA hates the "push sp" instruction, libgcc uses it
Replies: 5
Views: 13026

Re: NO$GBA hates the "push sp" instruction, LibGCC uses it

Development stopped in Feb 2008, he even stopped shipping the product to people who wanted to pay for it, and disappeared from the face of the internet. Rumor has it that Nintendo bought it out and turned it into their debugger, but that's just a rumor. And if I wanted to hack the EXE to try to fix ...
by Dwedit
Fri Jul 29, 2011 8:02 am
Forum: Off Topic
Topic: NO$GBA hates the "push sp" instruction, libgcc uses it
Replies: 5
Views: 13026

Re: NO$GBA hates the "push sp" instruction, LibGCC uses it

To clarify, this post concerns the libgcc THUMB library that is included in devkitARM, specifically the file "C:\devkitpro\devkitARM\lib\gcc\arm-eabi\4.5.1\thumb\libgcc.a".
edit: I have just confirmed that the problem also happens in version 4.6.1 as well.
by Dwedit
Fri Jul 29, 2011 7:46 am
Forum: Off Topic
Topic: NO$GBA hates the "push sp" instruction, libgcc uses it
Replies: 5
Views: 13026

NO$GBA hates the "push sp" instruction, libgcc uses it

It appears that NO$GBA does not emulate the push (stmfd) instruction correctly when SP is one of the registers which is pushed onto the stack. Unfortunately, libgcc uses this instruction a few times: _aeabi_ldivmod _aeabi_uldivmod _arm_cmpdf2 _arm_cmpsf2 libunwind For example, in _aeabi_ldivmod: 2c:...
by Dwedit
Tue May 26, 2009 2:43 pm
Forum: GBA Development
Topic: Missing parenthesis on register address equates
Replies: 0
Views: 5328

Missing parenthesis on register address equates

I was just noticing that gba_timers.h formats them like this:

Code: Select all

#define REG_TM0CNT		*(vu32*)(REG_BASE + 0x100)
when it should be like this:

Code: Select all

#define REG_TM0CNT		(*(vu32*)(REG_BASE + 0x100))
by Dwedit
Sat May 16, 2009 2:14 am
Forum: devkitARM
Topic: Memset and memcpy suck
Replies: 0
Views: 2706

Memset and memcpy suck

I don't see any ldmia's or stmia's in the implementations of memset or memcpy. Care to provide a better one? For reference, here is memcpy's inner loop when doing a word-aligned copy: 8000b58: 6826 ldr r6, [r4, #0] 8000b5a: 601e str r6, [r3, #0] 8000b5c: 6866 ldr r6, [r4, #4] 8000b5e: 605e str r6, [...
by Dwedit
Tue May 12, 2009 3:40 am
Forum: Bug Reports
Topic: [devkitARM] Objdump's disassembler is broken!
Replies: 0
Views: 3333

[devkitARM] Objdump's disassembler is broken!

I'm trying to use objdump to disassemble an ARM binary file. For some reason, the disassembler does some nasty stuff like this: 30028a0: e1a03c45 asr r3, r5, #24 30028a4: e2588c09 subs r8, r8, #2304 ; 0x900 30028a8: 0001 lsls r1, r0, #0 30028aa: f10054d9 undefined instruction 0xf10054d9 It's marking...
by Dwedit
Mon Mar 16, 2009 7:58 pm
Forum: DS/DSi Development
Topic: Get rid of static gl_hidden_globals* glGlob = &glGlobalData;
Replies: 2
Views: 3663

Re: Get rid of static gl_hidden_globals* glGlob = &glGlobalData;

Okay... I am using the source code for the FCS2 DLDI driver, and I'm building it. It doesn't use any of libnds's functions, but includes nds.h anyway, probably so it can have the data types and memory region names. Inside the ASM code generated are these lines: .section .data.rel,"aw",%pro...
by Dwedit
Tue Mar 03, 2009 12:34 am
Forum: DS/DSi Development
Topic: Get rid of static gl_hidden_globals* glGlob = &glGlobalData;
Replies: 2
Views: 3663

Get rid of static gl_hidden_globals* glGlob = &glGlobalData;

Please get rid of this declaration from videogl.h:
static gl_hidden_globals* glGlob = &glGlobalData;

This is executable code in a header file, which forces the linker to include videogl.a no matter what.

I recommend you replace it with:
#define glGlob (&glGlobalData)
by Dwedit
Sat Feb 21, 2009 1:16 am
Forum: GBA Development
Topic: disc_io.h missing?
Replies: 0
Views: 5482

disc_io.h missing?

Disc_io.h appears to be missing when I compile a GBA program which uses Libfat.