#72599 - Hypershell - Mon Feb 20, 2006 8:17 am
Okay, so I downloaded Ethos's DSBoy to see how it compares to the other GBC emulators out there. Problem, it's in source code only, and I'm not a programmer. But, I gotta try anyway. So, I stick my MegaMan Xtreme2 game into the proper folder and rename it appropriately as per the instructions. Downloaded devkitPRO, grabbed a tutorial, and attempted to compile.
Then this happens:
[Images not permitted - Click here to view it]
Now, I'm your typical math/science wiz and I've done some extremely basic text-editor and hex-editor tinkering, but my coding knowledge is nonexistant. I had to ask a friend how to move up a directory in DOS. >_>
So, preferrably in a total-n00b-style explanation, how do I fix those errors?
_________________
MKDS friend code: 459633-596796
Contact me on AIM to exchange. I have accessed the extra 12 tracks online.
NOTE: Projectile items will not work in the docked ship of Airship Fortress, or the tunnel of Waluigi Pinball.
#72644 - Sausage Boy - Mon Feb 20, 2006 8:31 pm
Short explanation: Download an older version of libnds.
Long explanation: Well, those commands don't exist anymore, so you'd need to modify them. I did, and then got tons of errors about bad instructions in cpu_a.s, so I suppose you'll have to go with the short explanation.
_________________
"no offense, but this is the gayest game ever"
#72646 - genfish - Mon Feb 20, 2006 8:54 pm
commands shouldnt be removed for backwards compatability i think :(
_________________
there is no rl only afk
#72718 - Hypershell - Tue Feb 21, 2006 5:28 am
Yeah, one would think.
Thanks a million for your help, Sausage Boy. Now to figure WHICH version of libnds this #$(%*&#$ thing will work with.
_________________
MKDS friend code: 459633-596796
Contact me on AIM to exchange. I have accessed the extra 12 tracks online.
NOTE: Projectile items will not work in the docked ship of Airship Fortress, or the tunnel of Waluigi Pinball.
Last edited by Hypershell on Tue Feb 21, 2006 5:46 am; edited 1 time in total
#72720 - tepples - Tue Feb 21, 2006 5:32 am
Or you could just comment out all the 'console' stuff, as it's likely just debugging information.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#72728 - Hypershell - Tue Feb 21, 2006 6:13 am
The version of libnds that eliminated the commands was apparantly 20050914. 20050804 or anything lower will take the lcd.cpp file just fine.
The problem is, like Sausage Boy and his mod attempts, I too get a bazillion "Error: bad instruction" messages regarding cpu_a.s
Tried using tepples' method too, the same thing happened.
_________________
MKDS friend code: 459633-596796
Contact me on AIM to exchange. I have accessed the extra 12 tracks online.
NOTE: Projectile items will not work in the docked ship of Airship Fortress, or the tunnel of Waluigi Pinball.
#72737 - tepples - Tue Feb 21, 2006 7:27 am
Anything involving existing '.s' files should be replaced with the equivalent C code or translated from x86 assembly language into ARM assembly language. If you need a gbz80 core, it might be worth your while to look at porting Goomba Color.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#72741 - crossraleigh - Tue Feb 21, 2006 8:04 am
Or rather, fix the full path include of macro.h in cpu_a.s. It's ARM code (with lots of macros).
Also, be sure to run make build instead of just make. That makefile is botched up.
#72758 - strager - Tue Feb 21, 2006 1:51 pm
I think that the problem is with the .s script file is that gcc is not preprocessing the file first. Somewhere in the compiler's docs, it says that for an assembly file to be preprocessed, it's file extention must be a capitol S. I don't think this works in Windows (because maybe the filename is all lowercase once it gets to gcc), so you need to use the compiler option "-x assembler-with-cpp". Just make sure you don't compile your C/C++ source files with this option, or you'd be in trouble!
#72783 - crossraleigh - Tue Feb 21, 2006 7:11 pm
Preprocessing won't fix the wrong absolute path include.
Code: |
.include "d:/eclipse/workspace/DS_ASM/asm/macro.h" |
#72798 - Hypershell - Tue Feb 21, 2006 9:22 pm
Strager and Tepples, I appreciate the help, but as I mentioned in my first post I have basically no programming experience, so you're starting to lose me.
Crossraleigh, I corrected the file path, that seemed to fix things. Trouble is I can't figure out where/if it's saving the file. I think what's going on is that it's automatically cleaning the folder it previously saved to.
EDITS: And yes, that was it, so I had to edit Makefile so as not to delete the .nds and .ds.gba files. Also had to apply Pepsiman's M3 power loader, but it's finally working.
_________________
MKDS friend code: 459633-596796
Contact me on AIM to exchange. I have accessed the extra 12 tracks online.
NOTE: Projectile items will not work in the docked ship of Airship Fortress, or the tunnel of Waluigi Pinball.
#72807 - tepples - Tue Feb 21, 2006 10:06 pm
Hypershell wrote: |
Strager and Tepples, I appreciate the help, but as I mentioned in my first post I have basically no programming experience, so you're starting to lose me. |
In that case, I'd suggest sticking with Goomba Color until somebody with more programming experience steps to the plate.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#72808 - Sausage Boy - Tue Feb 21, 2006 10:09 pm
Ok, to make it compile, you need to uncomment the consolePrintf's, seems like you did that. I tried replacing them with the correct commands, and all I got was an irritating WAIT: 0 on the top screen repeated over and over again.
Next you need to fix the path in cpu_a.s. I wanted it simple, so I just typed in the absolute path on my computer. macro.h is in the same folder as cpu_a.s.
Now, open a terminal with Start->Run and type cmd. cd your way to where the DSBoy map is. For example, "cd C:\Projects\DSBoy". If the map is on a different partition, type D: (for example) before you use cd.
Type "make clean" (without quotes). You should see "clean ...". Now type "make build". It will print shitloads of stuff, but the last line should say "built ... DSBoy.ds.gba". You should now have DSBoy.nds and DSBoy.ds.gba in the DSBoy directory.
If you want to use another rom, rename it to gbarom.bin and put it in the data folder.
Enjoy ;)
_________________
"no offense, but this is the gayest game ever"
Last edited by Sausage Boy on Tue Feb 21, 2006 10:10 pm; edited 1 time in total
#72809 - Hypershell - Tue Feb 21, 2006 10:09 pm
I got it, Sausage Boy, I was just a little late editing my post.
Well, my curiosity is satisfied, although Goomba Color is definitely the better emu. Nice to at least know how the others compare.
Thanks for your help, everyone, I appreciate it a lot.
_________________
MKDS friend code: 459633-596796
Contact me on AIM to exchange. I have accessed the extra 12 tracks online.
NOTE: Projectile items will not work in the docked ship of Airship Fortress, or the tunnel of Waluigi Pinball.
#72829 - wintermute - Wed Feb 22, 2006 12:59 am
Here's a patch to fix the problems.
http://devkitpro.sourceforge.net/DSBoy.patch
In order to apply this patch save it to your hard drive, extract the DSBoy archive linked earlier in the thread then open an msys terminal - this is found in the devkitPro start menu if you used the windows installer. Move to the DSboy directory - i.e. cd /e/projects/DSBoy - then type 'patch -p1 -i <path to>/DSBoy.patch' where <path to> is replaced by the full path (or a relative path> to the patch file.
What I've done is fix the makefile so a normal make works, add a pnproj file, replace the consolePrintf with iprintf and fix the include path in the asm.
I haven't tested the resulting build but it does compile cleanly.
If you have problems applying the patch then the patched source is also available at http://devkitpro.sourceforge.net/DSBoy-update.zip
The advantage of the patch file is that you can see exactly what changes were made.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog