• Welcome to SCdev.org. Please log in.

Welcome to the new SCdev forums!

Help developing app for GBA+SC, return to SC main menu

Started by wurlde, November 17, 2005, 06:59:49 AM

Previous topic - Next topic

wurlde

Hi, I'm working on a movie player for GBA and I want to exit to the normal SC initial menu, how can I do this?

cory1492

Good question... sorry I dont know. Is there a way to do a hard reset from software wrather than just a soft reset?

Dudu.exe

the supercard patcher can make it on GBA games.. so there is a way..

maybe  some one with proper skillz like Bubble4k can look what the patcher do with the room!

Overdrive_X

Quote from: "wurlde"Hi, I'm working on a movie player for GBA and I want to exit to the normal SC initial menu, how can I do this?
The only way i could think right now is write a small asm routine that jump and execute the first byte of the supercard firmware.

wurlde

thanks for the tips, I'm going to check a few things :)

wurlde

welll, I can say that SWI calls doesn't work, i tried a hard reset (SWI 0x26) and a I get  an assert from int.c telling me that the interruption is not assigned to a function, i supose that the SC is sending this message....
also tried a soft reset with the same result... I'm still working on this (well, at last it's funny XD)

the movie player for GBA is almost finished, only little A/V sync issues after 5-6 mins playing, but maximum delay is 1s :)

Dudu.exe

amazing news =]

congratulations..

about que meny return.. maybe yous shoul sent a email to romman

bubble2k

I might be wrong, but the SC seems to do a soft-reset on L+R+select+start.

That is, SWI 0.

wurlde

When I tried a hard reset, also tried the soft one :) (because changing the number isn't a hard task :D), and the result is the same, assert at int.c, so maybe it has some kind of interrupt reload to make this work or a separate implementation of the soft reset interrupt function.

I think you're right, if it calls a hard reset, the nintendo logo should appear annoying users each time :D, so a soft one is preferred, I'm going to make some tests separately, maybe it's a HAM related issue, so I'm gonna test it outside HAM

bubble2k

are you using c? did try you using an assembly block to execute the SWI?

Something like

asm
{
 swi $0000
}

wurlde

I'm using assembly embedded in C with
asm volatile("swi 0xNN" ::: "r0","r1","r2","r3");
(I'm writting this recalling my memory, maybe some thing is missed or missplaced, now I'm at work and I don't have access to the code)

where NN are the number of the interrupt(0 or 26), the rest of the sentence is used to avoid register corruption if I'm not wrong

wurlde

I can confirm that it's not a HAM related issue, i tried the code above alone and it worked on emulator and flashcard, but not in SC