#174701 - ArugulaZ - Fri Jul 09, 2010 5:58 am
Hey all. This is Jess Ragan, the guy who made that conversion of GORF for the GameBoy Advance a year ago. I recently found an online store interested in distributing the game as a cartridge! Yay! But it's been headaches ever since because the cartridges they're using don't want to play nice with my game. Boo! They've sent me one of the cartridges, a Flash Linker, for testing purposes, and indeed there's a problem. The actual game works properly, but returning to the title screen locks up the system.
I've taken a few steps to address the bug without success. I suspect that the problem requires some sort of patch to solve, but an initial Google search hasn't turned up one. Does anyone have a Flash Linker cartridge, and could they test the game on it? Also, is there any way to deal with this amazingly infuriating issue? Thanks in advance for the help. By the way, here's a direct link to the game, because (heh) you're probably going to need it.
http://www.lakupo.com/grblitz/gorf_final_03.zip
#174702 - ArugulaZ - Fri Jul 09, 2010 6:16 am
This is the cartridge I mentioned earlier.
[Retailer link removed by MOD...you know the drill]
#174707 - gauauu - Fri Jul 09, 2010 6:11 pm
I've got one. What do you need tested? (Since they sent you one, I'm not sure what you'd like help with for the testing).
Does it work on other physical carts?
#174709 - Dwedit - Fri Jul 09, 2010 6:52 pm
I tested out the game in NO$GBA, the game is doing tons of illegal stuff (like misaligned loads/stores), but it's not doing any ROM writes which would trigger a cartridge to perform bankswitching.
Maybe the game is being silently patched, so you aren't playing the original rom anymore, you're playing some corrupted version instead. A checksum test would tell you really quickly.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#174710 - headspin - Fri Jul 09, 2010 7:22 pm
I highly doubt distrubuting your game on a cart (being a remake of a game owned by Midway) would be legal. I'd be careful.
_________________
Warhawk DS | Manic Miner: The Lost Levels | The Detective Game
#174711 - Dwedit - Fri Jul 09, 2010 8:24 pm
Retrousb.com sells illegal reproduction cartridges, but they also sell new productions of homebrew games too, they're the only shop that sells Sivak's "Battle Kid" for the NES.
I'm surprised they haven't stopped offering the reproductions.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#174719 - ArugulaZ - Sat Jul 10, 2010 5:43 am
Oh, the game's been patched... with GBAFIX.exe. Evidently it won't work at all on the Flash Linker if it's not patched first (although I haven't tested that out myself).
As for the errors, I don't know what to say about them. I'm using the old Dragon BASIC compiler and my own programming style isn't especially disciplined... I'm sure it could be tightened up considerably. I've been able to get the game to run on actual hardware, using the SuperCard series of flash cartridges, but for whatever reason Flash Linker just won't cooperate. It may be the hardware, it may be the software used to transfer the game to the cartridge, it could be the compiler, or it could be my own spaghetti code.
I'm really worried that I won't be able to distribute this game, because I'm working with a high level language and all the bugs are popping up on the machine level. I don't know assembly! I barely know C! (It's probably more accurate to say that I know of C...) That's why I programmed this in BASIC!
Anyway, any help you can provide would be appreciated. I'm just not sure how much can be done.
#174730 - dantheman - Sun Jul 11, 2010 2:25 am
More than likely it's an issue with the way Dragon Basic works, not your own code.
You could try running it through Boot-O-Matic Advance, as that's the only program I know that has to do with rebooting a GBA game, but I'm not terribly hopeful it'll work.
#174765 - ArugulaZ - Sat Jul 17, 2010 5:24 am
All right, let's try this. How would you go about triggering a warm reset in the GameBoy Advance? There's got to be some kind of machine language that will do this, which I could access with a couple of POKEs. Please let me know as soon as you can!
#174781 - dantheman - Mon Jul 19, 2010 11:09 am
There is a soft-reset function in the BIOS, available through the SWI assembly command. See http://www.coranac.com/tonc/text/swi.htm for details on that. I don't know how you'd call a software interrupt from within Dragon Basic however.
EDIT: Looking at CORE.f it might be possible to program in your own implementation of the reset command. Resetting is just "SWI 00" if you can use the multiply/divide code at the beginning of the file as a reference.
EDIT 2: It looks like Dragon BASIC already has a built-in "reset" function using the BIOS call. I'm assuming you're already using this and it isn't working correctly?
Quote: |
RESET
Description
Resets the GBA.
Results
Calls SWI 0 to soft-reset the GameBoy Advance. Program execution will automatically begin again at the "start" label.
|
#174796 - ArugulaZ - Tue Jul 20, 2010 5:19 am
Thanks! Let me try that really quick... I didn't notice it in the HELP file included with the compiler.
#174810 - dantheman - Wed Jul 21, 2010 3:55 am
Since all pages are down, here's a file I've found helpful
http://www.zumodrive.com/share/6qIxZjcxZj
It's the help file for an older version of DB, so some of the information is out of date, but it includes some stuff that isn't included in the later help file. Plus it has examples for each item.