Hacking TempGBA: NDSGBA revival

Do GBA games make your nono parts happy?


  • Total voters
    429
hello, i have two games stuck at first screen, but in official dstwo gbaemu it works fine, should i upload it here or theres someplace or email that i can sent?
thanks
Your report must have a certain format to be usefull for Nebuleon. Please see post #451 to know how to do.
Also if you think that some fault is important may be interesting to open a gitub issue on: https://github.com/Nebuleon/TempGBA/issues
 
I know that compressing/decompressing frames would be a sdk thing, now anyway. I was then putting it forward as something to use for save states. Since I know it's fast, and it works really well for such things. Also does tempgba support zipped files? Or is that not supported here because the ds2 has too little ram on board?(I know the PSP didn't support 32MB ones due to it only having 24MB of ram on the ones when exophase made it). Even though advzipping+deflopt does yield smaller files, using lzo for the roms should not require that much work to compress/decompress when loading them.

Anyway, keep up the great work. I didn't expect this thing to go down the rabbit hole of things too complex for my programming ability so quickly, but either way, I hope you can find something to help make the writes smaller/less often so that way you can reduce wearing out the sdcards.

Edit: Also that would be a nice feature to have in the supercard ds2 sdk, but I'm no where near skileld enough to do it. but anyway, I hope that the save states can have a compressed file to store the things in so that way it can have teh screenshots with it.
 
Hi have you also get red screen after loading *.cht file? on v 1.41? I've also get this error on updated SNES emulator form your development. So fingers crossed for any help and future development ;-)
 
Hi have you also get red screen after loading *.cht file? on v 1.41? I've also get this error on updated SNES emulator form your development. So fingers crossed for any help and future development ;-)
Was it a guru meditation error?

And cheats are on the to-be-done pile, I believe. Right now it's consists of the same code NDSGBA used.
 
Yes it is... Also on GBA Emulator and SNES. But strange that before it was working well, now it gives error even when tried to open cheat folder.
 
Was it a guru meditation error?

And cheats are on the to-be-done pile, I believe. Right now it's consists of the same code NDSGBA used.
Yes it is... Also on GBA Emulator and SNES. But strange that before it was working well, now it gives error even when tried to open cheat folder.
See post #451 for instructions to post your Guru Meditation screen.

What exactly do you mean by "before" (when was it? with which emulator, NDSSFC/NDSGBA or mine? which version?), "working well" and "tried to open cheat folder"? How many files are in your folders? Was your card formatted properly?
 
Hi have you also get red screen after loading *.cht file? on v 1.41? I've also get this error on updated SNES emulator form your development. So fingers crossed for any help and future development ;-)
Since you say you have the same error screen on the SNES emulator, I'd also like a picture of the red screen you got in CATSFC in its thread.
 
With the serial interface's help, and Normmatt's help with decompiling the affected code, we were able to figure out why beta 15 broke down as much as it did.

All games that used the BIOS calls RLUncomp or RLUncompWRAM, as well as possibly LZ77Uncomp, LZ77UncompWRAM, HuffUncomp and BitUnPack, broke in beta 15 due to a modification of the native code tag assignment mechanism.

These BIOS calls have in common that they contain a loop with a conditional in the middle:
Code:
LoopStart: ... instructions here ...
    if some bit is not set, goto NotSet
    ... instructions here ...
 
NotSet: ... instructions here ...
    if remaining element count is 0, goto End
    goto LoopStart
 
End:

So they need to be compiled at two places: LoopStart, and the condition (here NotSet). After the condition, some more code runs, and the code goes back to the loop. This causes a problem when I try to assign a tag for LoopStart, only after the condition (NotSet) has finished compiling. The condition needs the location of LoopStart to continue the loop! So it was requesting compilation of LoopStart, which requested NotSet, which requested LoopStart, and so on, like a noob.

With that in mind, I may be able to reimplement beta 15 again, making currently-working games still work while accelerating the games that were accelerated in beta 15... maybe a little bit less.
 
If I understand correctly, rumble can only be done on the NDS side, and since the emulation is done on the DSTWO side, rumble support means extra data would have to be sent to and processed by the DS binary, and so it wouldn't be feasible. Although you could, perhaps, shake the screen itself and produce rumble sound or something... :P

That said, isn't it possible to embed data in the frame itself? Slightly off-coloured pixels in the corner or something that you wouldn't notice anyway (or could potentially be cut off before the frame is written to the screen)...
 
  • Like
Reactions: Aeter
If I understand correctly, rumble can only be done on the NDS side, and since the emulation is done on the DSTWO side, rumble support means extra data would have to be sent to and processed by the DS binary, and so it wouldn't be feasible. Although you could, perhaps, shake the screen itself and produce rumble sound or something... :P

That said, isn't it possible to embed data in the frame itself? Slightly off-coloured pixels in the corner or something that you wouldn't notice anyway (or could potentially be cut off before the frame is written to the screen)...

Even if you embed code into the frame on the DS2 side, you'd still have to write the NDS side to extract the embedded data and act on it. If you are going to go through the effort to do this, you might as well just write the NDS side to handle the extra data sent.
 
Two questions

1. Do cheats work at all, I tested cheats on several games and I get a Guru Meditation error.

2. Will games like Yoshi: Topsy Turvy and Wario Ware Twisted ever work or does this not have the hardware to ever work it?

I'm using a SuperCard DStwo.
 
Two questions

1. Do cheats work at all, I tested cheats on several games and I get a Guru Meditation error.

2. Will games like Yoshi: Topsy Turvy and Wario Ware Twisted ever work or does this not have the hardware to ever work it?

I'm using a SuperCard DStwo.
1. Cheat support is exactly as in NDSGBA 1.21; code is copy-pasted. If it doesn't work well now, it didn't work well before. If it displays a Guru Meditation error right now, it would have crashed without any sort of message or indication in NDSGBA 1.21. As I've explained this about 5 times already, this is going in the FAQ in the opening post.

2. What do you mean by "ever work"? What's wrong with those games? Slowdown or not booting?

Using a Supercard DSTwo is assumed in this thread, because TempGBA doesn't work on any other flashcart.
 
1. Cheat support is exactly as in NDSGBA 1.21; code is copy-pasted. If it doesn't work well now, it didn't work well before. If it displays a Guru Meditation error right now, it would have crashed without any sort of message or indication in NDSGBA 1.21. As I've explained this about 5 times already, this is going in the FAQ in the opening post.

2. What do you mean by "ever work"? What's wrong with those games? Slowdown or not booting?

Using a Supercard DSTwo is assumed in this thread, because TempGBA doesn't work on any other flashcart.

Those two games are special, they have some sort of hardware that detects tilting and wondering if TempGBA can emulate that.

As far as the cheats go I've gotten that error with a few GBA games I tried cheats on. What are some possibilties to the cause of this?
 
Those two games are special, they have some sort of hardware that detects tilting and wondering if TempGBA can emulate that.
Oh. Nope, no accelerometer emulation. There's no accelerometer in a DS either.

As far as the cheats go I've gotten that error with a few GBA games I tried cheats on. What are some possibilties to the cause of this?
Cheat support itself being woefully incomplete, as admitted by Exophase in the readme.txt for gpSP 0.9, the emulator from which this one is derived. (It is worth saying that Exophase doesn't care about the project at all anymore, so please don't contact him about it! (post #458, this thread))
 
I have both of those games myself, so I wouldn't need it, but perhaps the gyroscope could be simulated with the touch screen? The gyroscope used in these games only detects left/right tilt, i.e. one dimension, so it could be done by dragging the stylus over the touch screen left or right. Of course, it'd make it harder to open the emulator menu... and I can imagine it would take a bit of work to implement.

If you want to play WarioWare Twisted and Yoshi's Topsy-Turvy/Universal Gravitation, you can always use the patches that map tilting to buttons. But they'll only tilt at set speeds so some microgames may be hard to clear. Maybe I should try making a patch that changes the tilt speed depending on the microgame someday...
 
I have both of those games myself, so I wouldn't need it, but perhaps the gyroscope could be simulated with the touch screen? The gyroscope used in these games only detects left/right tilt, i.e. one dimension, so it could be done by dragging the stylus over the touch screen left or right. Of course, it'd make it harder to open the emulator menu... and I can imagine it would take a bit of work to implement.
Yeah, and then there's the fact that gathering the user's intent with the touch location or pattern isn't that great.
 

Site & Scene News

Popular threads in this forum