Kodewerx

Our culture has advanced beyond all that you could possibly comprehend with one hundred percent of your brain.
It is currently Sat Jan 18, 2020 12:52 pm

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Sat Apr 10, 2010 8:56 pm 
Offline
Komrade
Komrade
User avatar

Joined: Tue Mar 27, 2007 6:23 pm
Posts: 1354
Location: Mario Raceway, 1509.831, 217.198, -564.429
Title: Mario Kart 64 Hacker
First off, No$GBA. Well I know it has a lot of problems, but people have told me it does at least work, and in my experience that does not seem to be the case. Both 2.3c (debug version) and 2.6 (free version) have the same problem.

DS homebrew ROM? Works fine.
DS Download Play demo? Works fine.
GBA ROM? Works fine.
Unencrypted commercial DS ROM? Doesn't work.
Encrypted commercial DS ROM? Doesn't work.
DS ROM (encrypted or not) with ".ds.gba" header? Doesn't work.
No matter what I do to it, any ROM that came from an actual DS cartridge doesn't work - it loads in GBA mode and proceeds to do nothing. Looking through the memory map, it just appears to be the same junk repeated every 0x4000 bytes, with no sign of anything from the actual ROM file.
It can also try to boot the DS firmware, but that only results in displaying the health warning screen for a frame or two before blanking out. I've seen that work before, with the very same file and the very same emulator, so it's a bit odd to not work now.


Then there's DeSmuME, which is interesting. It "worked" under XP (in VirtualBox), except that it didn't actually display anything. Updating the video drivers created an even more interesting problem: the program doesn't run at all. No message, no window, just quits immediately without doing a damn thing.
What's amusing is, under Wine, it works! At literally about 2FPS, even when there's absolutely nothing going on. I'm sure this machine can manage better than that. Also, the touchscreen doesn't respond when using official BIOS/firmware images (and I swear it runs even slower).
At one point, I actually had a game running at 10-15FPS in a very old version under WINE (though with bugs that made it completely unplayable), but now even that doesn't work.
I also tried to compile the Linux source. That went the same as just about always: program depends on some obscure library ("antigrain" in this case) that isn't in Debian's repos. (Haven't yet had time to look for it elsewhere, but in my experience if it's not there, it's not anywhere.)


What's the deal, does VirtualBox seek and destroy DS emulators or something?

_________________
Image 143
HyperNova Software is now live (but may take a few tries to load) currently down; check out my PSP/DS/Game Boy/Windows/Linux homebrew, ROM hacks, and Gameshark codes!


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 10, 2010 9:06 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3765
Title: All in a day's work.
Emulation is lame.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 10, 2010 9:14 pm 
Offline
Komrade
Komrade
User avatar

Joined: Tue Mar 27, 2007 6:23 pm
Posts: 1354
Location: Mario Raceway, 1509.831, 217.198, -564.429
Title: Mario Kart 64 Hacker
No other way I know of to hack DS games without buying some gadget that's no longer sold or trying to build some contraption of my own. Which admittedly might be fun, but still.

_________________
Image 143
HyperNova Software is now live (but may take a few tries to load) currently down; check out my PSP/DS/Game Boy/Windows/Linux homebrew, ROM hacks, and Gameshark codes!


Top
 Profile  
Reply with quote  
PostPosted: Sun Apr 11, 2010 11:21 am 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3765
Title: All in a day's work.
That's about right. It doesn't help much that DS emulation is in about the same state as N64 emulation. Which just means, it really sucks.

So yeah, your options are still the same as always: either deal with it, or fix it.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Sun Apr 11, 2010 5:46 pm 
Offline
Komrade
Komrade
User avatar

Joined: Tue Mar 27, 2007 6:23 pm
Posts: 1354
Location: Mario Raceway, 1509.831, 217.198, -564.429
Title: Mario Kart 64 Hacker
Not exactly the most helpful reply to fix it, though.


Did anyone ever reverse-engineer the GBA GS or DS AR USB ports? May well be easier to hack up something using those than to deal with these emulators.

_________________
Image 143
HyperNova Software is now live (but may take a few tries to load) currently down; check out my PSP/DS/Game Boy/Windows/Linux homebrew, ROM hacks, and Gameshark codes!


Top
 Profile  
Reply with quote  
PostPosted: Sun Apr 11, 2010 8:39 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3765
Title: All in a day's work.
I have some code somewhere from reversing the GBA AR USB port. It was dead simple. But of course there was no libusb at the time, so I never actually wrote a proram that could communicate with it directly. I used some kind of generic USB program from Cypress or some other company that could poke and prod the USB device, and send and receive data. In all, it was pretty useless back then. I'll see about pulling it off my old hard drive some time.

As for fixing it ... beats me! I try to avoid DS emulation, and I've done really well at that, so far. I'm more interested in getting at DS (technically, DSi) from the hardware level.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Sun Apr 11, 2010 10:43 pm 
Offline
Komrade
Komrade
User avatar

Joined: Tue Mar 27, 2007 6:23 pm
Posts: 1354
Location: Mario Raceway, 1509.831, 217.198, -564.429
Title: Mario Kart 64 Hacker
Yeah, that code could be very useful to me. I've always wanted to take advantage of one of those USB ports as an interface for hacking, even if they are slow. (I've done full RAM dumps over the N64 parallel port; I know what about to expect. ;)) With luck it'll be simple enough to implement an ARDS code that reads and executes/writes data from the port, and I can go from there.

_________________
Image 143
HyperNova Software is now live (but may take a few tries to load) currently down; check out my PSP/DS/Game Boy/Windows/Linux homebrew, ROM hacks, and Gameshark codes!


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 12, 2010 4:57 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3765
Title: All in a day's work.
Dug it up for you today: viewtopic.php?f=11&t=6814&p=77629#p77629

The sources are awful. (Never put functions in header files! Bad 18-year old Para! BAD!!) But easy to rewrite, as necessary. I also have some examples of how to use the code, but chose not to include that. (I was working on a firmware replacement that I was calling "Cheatah" at the time, perhaps you recall... That's the sources I have. It includes a *very* minimal cheat engine, and a flawless hook system (the original GS/AR had up to three possible hook methods; all of them clobbered at least one register. Mine didn't have that little defect.)

Anyway, it should be very straightforward as it is. Just call GSHWenable() in main, and it will initialize the hardware. From there, do whatever you want with it!

It looks like the crappy USB chip can only buffer 8 bytes at a time I don't remember if the data was made ready for the host when the buffer was filled, or if it was made ready immediately (maybe I never even checked!) but the code worked. Check the "hacking doc" and USB doc, and compare it against the RE'd assembly in the test menu code. (The test menu was built into the original v1/v2/v3 firmware. I don't remember how you get into it, but it was probably something simple like holding L+R+A+B while power up or something silly.)

Oh what the hell, you've got the info. If you want more, debug one of the AR ROM dumps...

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 12, 2010 7:34 pm 
Offline
Komrade
Komrade
User avatar

Joined: Tue Mar 27, 2007 6:23 pm
Posts: 1354
Location: Mario Raceway, 1509.831, 217.198, -564.429
Title: Mario Kart 64 Hacker
Thanks. I probably won't use it immediately (other projects in the way first), but no doubt it'll be helpful when I do get around to playing with this.

_________________
Image 143
HyperNova Software is now live (but may take a few tries to load) currently down; check out my PSP/DS/Game Boy/Windows/Linux homebrew, ROM hacks, and Gameshark codes!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group