#117726 - mateom199 - Tue Feb 06, 2007 11:44 pm
PLEASE NOTE: This is not my emulator. The source was released by Ethos of http://ethos.oddigytitanium.com/ I simply started working on it to stir up some interest in it.
Hoping to stir up some interest in this NDS GB/GBC emulator, I added libfat support to it, with a pretty rudimentary file explorer (thanks to PicoDriveDS) and adjusted a few lines of code so it will compile with DKP r20.
It seems that theres a bug somewhere in the code causing slightly corrupt
graphics, I wasn't able to track it down but I haven't been looking for very long.
Unfortunately, I know little asm and even less about the Gameboy's Z80 processor, so I don't imagine I would be much help in coding speed optimizations and the such. Hopefully someone with more knowledge on the the subject can help improve this emulator.
attached is both the modified source and a binary (.nds and nds.gba).
KNOWN ISSUES:
Graphics slightly corrupt
Many ROMs will crash it - tested with Mega Man 1, works fine (slow though)
ROM's must end in ".gb", spaces in filenames not tested.
Binaries
Source
Links updated, sorry. Should work now.
Last edited by mateom199 on Thu Feb 08, 2007 1:08 am; edited 4 times in total
#117727 - Lazy1 - Tue Feb 06, 2007 11:49 pm
I cannot download the source, it is asking for a password.
#117774 - Diddl - Wed Feb 07, 2007 9:05 am
I can download the source without problems??
#117776 - theli - Wed Feb 07, 2007 9:18 am
corrupt graphics are caused by memcpy8* routines in bg_scan and wnd_scan (maybe some others) if you replace them with memcpy call graphics should be normal
i've played around dsboys's source a bit .. even enabled a sound ooutput ... but then looked at goomba ..
i doubt there can be any future of dsboy's source without a major rewrite
#117790 - tepples - Wed Feb 07, 2007 3:14 pm
As soon as someone ports Goomba from ARM's expensive tool to GCC, someone else will come along and port it from GBA to DS.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#117798 - jester - Wed Feb 07, 2007 4:14 pm
wow is this a new project?
_________________
If anyone needs a dragonball online email me @ aaronthejester@hotmail.com
#117869 - dantheman - Thu Feb 08, 2007 4:37 am
It's been around for a while, but it's vastly inferior to Goomba (Color), and never saw more than a couple releases.
#117879 - Dood77 - Thu Feb 08, 2007 6:27 am
i really wish someone could port goomba to ds... saving on the supercard is a pain.
#117895 - kusma - Thu Feb 08, 2007 1:50 pm
Dood77 wrote: |
i really wish someone could port goomba to ds... saving on the supercard is a pain. |
I took a stab at getting the goomba source code to compile under gnu toolchains last night, but I had too many issues just making it compile under RealView, so I put it back on hold ;)
#118037 - theli - Fri Feb 09, 2007 8:59 am
mateom199, if you are planning to work on DSBoy i can send you some patches for proper graphics and sound output ... kind of ;)
#118092 - Tets - Sat Feb 10, 2007 1:46 am
I can't seem to boot anything, none of the roms I have show up in the directory listing. I've made sure the extensions are .gb and removed all the spaces, but none of them appear. It may or may not be related, but I'm using this on a Max Media Dock, with the proper DLDI patch applied (I know that the MMD is a poor choice for running homebrew, but at the moment I don't have a practical alternative).
Regardless of all that, it's good to see somebody showing interest in GB emulation on the DS.
#118103 - Normmatt - Sat Feb 10, 2007 5:12 am
theres a problem in the source with the .gb detection as in the code it takes 4 away from the filename when it should only takeaway 3
theli, could you post them here or pm me links to them, i'd like too see this working good also
#118114 - mateom199 - Sat Feb 10, 2007 6:00 am
theli wrote: |
mateom199, if you are planning to work on DSBoy i can send you some patches for proper graphics and sound output ... kind of ;) |
That would be great. I'm still playing around with the source, so it would be great to get ahold of those patches.
Yea, the file explorer is a little messed up, sorry I kind of just whipped it together. New version coming soon.
#118260 - Shiro786 - Sun Feb 11, 2007 5:43 pm
mateom199 wrote: |
PLEASE NOTE: This is not my emulator. The source was released by Ethos of http://ethos.oddigytitanium.com/ I simply started working on it to stir up some interest in it.
Hoping to stir up some interest in this NDS GB/GBC emulator, I added libfat support to it, with a pretty rudimentary file explorer (thanks to PicoDriveDS) and adjusted a few lines of code so it will compile with DKP r20.
It seems that theres a bug somewhere in the code causing slightly corrupt
graphics, I wasn't able to track it down but I haven't been looking for very long.
Unfortunately, I know little asm and even less about the Gameboy's Z80 processor, so I don't imagine I would be much help in coding speed optimizations and the such. Hopefully someone with more knowledge on the the subject can help improve this emulator.
attached is both the modified source and a binary (.nds and nds.gba).
KNOWN ISSUES:
Graphics slightly corrupt
Many ROMs will crash it - tested with Mega Man 1, works fine (slow though)
ROM's must end in ".gb", spaces in filenames not tested.
Binaries
Source
Links updated, sorry. Should work now. |
You sir. Are the man I'm looking for. You've gotten my interest. Now to spread this news like Wildfire and see if the internet is ready to work on yet another project. Good job man.
#118353 - theli - Mon Feb 12, 2007 3:15 pm
mateom199,Normmatt ... and anyone interested :)
sound output is disabled
http://theli.ho.com.ua/ds/DSboy_theli.7z
if you want to hear bad/terrible/uglyashell sound output you can uncomment pcm_init in main.cpp ... and maybe play with ds_sound.cpp
http://theli.ho.com.ua/ds/DSboy_theli.src.7z
#121185 - Gunnex - Sat Mar 10, 2007 12:30 am
Does anyone plan on continuing this? This is a very important emulator for people with Slot-1 Cards (what I switched to!)
#121188 - tepples - Sat Mar 10, 2007 1:09 am
It would probably be more fruitful to make a preprocessor that translates ARM SDT assembly language into GNU assembly language. Then we could port Goomba, PocketNES, and FluBBa's stable of emulators with little effort.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#121244 - Dood77 - Sat Mar 10, 2007 7:40 pm
Wasn't nesDS based off of pocketNES? I've thought of being mistaken on this before since I've found a few roms that work on pocketNES but not nesDS. It would also be nice to have the cheat searching capabilities on the DS.
#121533 - TheChuckster - Mon Mar 12, 2007 10:44 pm
I have a working Goomba Color port on my hard drive somewhere, but it's too slow to be of any use for anyone. I tried integrating iPod Linux's ARM optimized CPU emulator core to no avail -- there is no display output. If you really want to fiddle with something, try to port iPod Linux's emulator to DS. It will certainly run full speed. There's even a dynamic recompiler.
#121568 - HyperHacker - Tue Mar 13, 2007 5:11 am
You must have done something wrong, because Goomba Color runs all GB games full speed and GBC games near full speed for me. I don't see how porting it to a much faster system would slow it down...
_________________
I'm a PSP hacker now, but I still <3 DS.
#121583 - theli - Tue Mar 13, 2007 8:27 am
trying to integrate iBoy's changes into DSBoy seems to be a very good idea ....
#121590 - GPFerror - Tue Mar 13, 2007 9:45 am
theli wrote: |
trying to integrate iBoy's changes into DSBoy seems to be a very good idea .... |
i tried to port iBoy to dslinux but have run into some problems, i need to move my port to new svn dslinux build and see if i can fix it but probably will be awhile lol
#121602 - theli - Tue Mar 13, 2007 11:44 am
i think it would be better to try to port iBoy to libnds
#121615 - theli - Tue Mar 13, 2007 3:10 pm
i wonder what can be causing such error for me?
Code: |
linking gnuboy_ds.arm9.elf
/home/theli/devkitpro/devkitARM/bin/../lib/gcc/arm-eabi/4.1.1/../../../../arm-eabi/bin/ld: address 0x2597204 of /home/theli/Projects/DSboy/arm9/gnuboy_ds.arm9.elf section .bss is not within region ewram
|
#121617 - Lick - Tue Mar 13, 2007 3:41 pm
Total size of the ARM9 binary too big?
_________________
http://licklick.wordpress.com
#121618 - theli - Tue Mar 13, 2007 3:45 pm
may be .. heh that's bad .. have no idea what to do with such situation :) ...
i've just tried to port iBoy with it's dynamic recompiler to DS
#121619 - Diddl - Tue Mar 13, 2007 3:54 pm
dynamic recompiler?? whats this?
#121620 - theli - Tue Mar 13, 2007 3:56 pm
#121628 - Diddl - Tue Mar 13, 2007 4:13 pm
I think dynamic compilation isn't nessecary for an emulator. this is only a slow Z80. the ARM simply can do execution in a interpreter loop, it is fast enough. cause it is undesired it run faster than in a original hardware.
#121629 - theli - Tue Mar 13, 2007 4:16 pm
Diddl wrote: |
I think dynamic compilation isn't nessecary for an emulator. this is only a slow Z80. the ARM simply can do execution in a interpreter loop, it is fast enough. cause it is undesired it run faster than in a original hardware. |
then just make DSBoy posted here run fast enough :)
#121663 - shash - Tue Mar 13, 2007 8:43 pm
Imho, a dynamic recompiler for a Gameboy Z80 is a bit of a nonsense, as the bottleneck should be the rendering, not the cpu emulation. At least on the GB mono emulator I wrote, it was, and it ran between 10-15x the original speed when not limited. Before writing a dynamic recompiler, virtualizing the rendering through the DS ones would be mandatory, as it'll give the biggest boost, with no doubt.
_________________
http://shashemudev.blogspot.com
#121719 - theli - Wed Mar 14, 2007 8:02 am
i've tried running DSboy with almost all rendering wiped out and it wasn't fast enough still ...
i'm not saying that dynamic recompilation is needed ...
i've just tried to use iBoys code as it run's fullspeed on my iPod mini ... and DSboy in its current state is far from this
#121776 - josath - Wed Mar 14, 2007 8:27 pm
I believe the ipod has a faster ARM cpu than the DS (two 80 MHz i think? not sure)
#121786 - GPFerror - Wed Mar 14, 2007 9:27 pm
theli wrote: |
i think it would be better to try to port iBoy to libnds |
I agree but I ran into same problem, took to much memory, dslinux RAM build has 32mb of ram so didn't have same problem :) but yeah a native libnds port would be better.
i've done a port of gnuboy to libnds with sound but its runs at about 10fps if even that lol
Troy(GPF)
#121795 - tepples - Wed Mar 14, 2007 10:13 pm
The GBC has less than 64 KiB of state (RAM + VRAM + palette + OAM + CPU regs). Why would an emulator need more than 1 MiB plus the size of the ROM?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#121807 - GPFerror - Wed Mar 14, 2007 11:32 pm
tepples wrote: |
The GBC has less than 64 KiB of state (RAM + VRAM + palette + OAM + CPU regs). Why would an emulator need more than 1 MiB plus the size of the ROM? |
iboys dynamic recompiler code takes up a lot of memory, probably can just be reduced to fit ds memory but i didn't look much into it.
#121834 - HyperHacker - Thu Mar 15, 2007 6:05 am
I think Game Boy ROMs can be up to 8MB using the MBC5 chip, but only ever reached 6 or even 4MB. I think they also allow for 3MB. I've never actually seen one more than 2MB but I'm pretty sure they exist. In any case, 1MB should be enough for emulated RAM (8 to 32K plus 127 bytes), I/O (128 bytes), cartridge RAM (theoretically unlimited but in practice only up to 64K), and the emulator. VRAM could be emulated but as few games read from it, it might make more sense to convert on the fly to the DS's graphic formats and back.
_________________
I'm a PSP hacker now, but I still <3 DS.
#123991 - ChaosBoi - Mon Apr 02, 2007 11:11 am
Is this emulator still being worked on? I would really like to see how this turns out seeing as it's the only gbc emu for the slot 1 carts.
#124072 - TheChuckster - Tue Apr 03, 2007 1:17 am
I made a mistake. I didn't port Goomba Color I ported GNUBoy.
#124116 - ChaosBoi - Tue Apr 03, 2007 6:39 am
After making the .nds file from the source Theli gave, it compiled into gnuboy o_O . Works pretty good but it really needs better sound and save support though.
#124133 - Miika - Tue Apr 03, 2007 12:36 pm
HyperHacker wrote: |
I think Game Boy ROMs can be up to 8MB using the MBC5 chip, but only ever reached 6 or even 4MB. I think they also allow for 3MB. I've never actually seen one more than 2MB but I'm pretty sure they exist. In any case, 1MB should be enough for emulated RAM (8 to 32K plus 127 bytes), I/O (128 bytes), cartridge RAM (theoretically unlimited but in practice only up to 64K), and the emulator. VRAM could be emulated but as few games read from it, it might make more sense to convert on the fly to the DS's graphic formats and back. |
For example Cannon Fodder, Donkey Kong Country and Grand Theft Auto are 4MB roms for GBC.
_________________
My DSQuake video: http://www.youtube.com/watch?v=03wz7nmaXa8
My QuakeDS video: http://www.youtube.com/watch?v=nNIKneo11o4
#124262 - GPFerror - Wed Apr 04, 2007 4:03 pm
Added my old sound streaming code I did from my port of gnuboy, and fixed the sound.
http://gpf.dcemu.co.uk/DSBoysrc.rar
http://gpf.dcemu.co.uk/gnuboy_ds.rar
copy and paste the url's into a new browser otherwise my site will redirect to my homepage for some reason.
Troy(GPF)
http://gpf.dcemu.co.uk
#124276 - Dood77 - Wed Apr 04, 2007 8:14 pm
Sound still sounds pretty bad, although improved. And theres some corrupt graphics here and there, but otherwise it works great on my SCminiSD. And I'm guessing saving isn't supported yet? Also the long name scrolling on the rom select menu is a little... fast, to say the least
#124454 - ChaosBoi - Fri Apr 06, 2007 2:25 am
Save still isn't supported yet :( . There's also a need for slight speed adjustment though but save must come first!
#124462 - Goodguy123 - Fri Apr 06, 2007 4:44 am
too bad the save dose not work because the emulator is pretty good. also it would be good if you could add it where you can change the game without having to restart the emulator which is pain.
#124859 - ChaosBoi - Mon Apr 09, 2007 6:17 am
Is the source code made with ASM or C++? I really can't tell since I don't program.
#124881 - GPFerror - Mon Apr 09, 2007 4:01 pm
ChaosBoi wrote: |
Is the source code made with ASM or C++? I really can't tell since I don't program. |
both.
When I was added the streaming sound, I noticed that all the saving code that is in gnuboy does not exist in this port. It would have to be readded or the asm would need to be added to a full gnuboy port that includes all the saving source code.
Troy(GPF)
#124885 - kalus - Mon Apr 09, 2007 5:25 pm
been trying to compile this, and it keeps coming up with "Error: bad instruction `writew'", not just for that instruction, but a whole load others as well. Do i need something extra to compile the ASM code, that isnt included in DKP r20?
#124937 - ChaosBoi - Tue Apr 10, 2007 5:00 am
GPFerror wrote: |
ChaosBoi wrote: | Is the source code made with ASM or C++? I really can't tell since I don't program. |
both.
When I was added the streaming sound, I noticed that all the saving code that is in gnuboy does not exist in this port. It would have to be readded or the asm would need to be added to a full gnuboy port that includes all the saving source code.
Troy(GPF) |
Wait, so you're saying that we need to get the source code from the original Gnuboy and redo it a bit so that the DS port could have it? I couldn't really understand some of what you just said though so sorry about my poor understanding.
EDIT: Oh and can someone please re-add the save option then? Since there's a source code floating around for the original Gnuboy for the PC.
#125535 - Mrshlee - Sat Apr 14, 2007 7:17 am
Any idea whats happening with this project?
_________________
MrShlee.com
Projects
Dev-Scene
MyTechpedia
#125550 - souLLy - Sat Apr 14, 2007 11:03 am
Mrshlee wrote: |
Any idea whats happening with this project? |
It's been 10 days since GPF posted his first version, be patient matey.
#125559 - zzo38computer - Sat Apr 14, 2007 2:14 pm
Diddl wrote: |
I think dynamic compilation isn't nessecary for an emulator. this is only a slow Z80. the ARM simply can do execution in a interpreter loop, it is fast enough. cause it is undesired it run faster than in a original hardware. |
Also the Nintendo DS has 2 processors so the ARM7 can deal with the sounds and the ARM9 with other stuff. Adding a adjust speed options would be a good idea though, including slower or faster than original hardware.
Can it do file-system saver on SuperCard? Is it possible to change the default GameBoy emulator on SuperCard? Does it run CubeRaider (homebrew)?
_________________
Important: Please send messages about FWNITRO to the public forum, not privately to me.
#125564 - Miika - Sat Apr 14, 2007 4:07 pm
How come this has 5x worse performance than the GB/C emu on GBA that runs on 16MHz?
_________________
My DSQuake video: http://www.youtube.com/watch?v=03wz7nmaXa8
My QuakeDS video: http://www.youtube.com/watch?v=nNIKneo11o4
#125565 - tepples - Sat Apr 14, 2007 4:15 pm
Two reasons: - FluBBa's emulator uses high-level emulation of video and audio.
- FluBBa's emulator has a highly optimized Z80 core.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#126009 - ChaosBoi - Thu Apr 19, 2007 3:55 am
Anything new yet? Looking forward to the next update :D .
#126111 - Masterofdarkness - Fri Apr 20, 2007 2:35 am
Yup I'm looking for Save capabilities and Some Music...:)
#126309 - dantheman - Sun Apr 22, 2007 2:37 am
Kinda off-topic, but I've found that GBS music actually runs at fullspeed or better, even if it is rather garbled. You have to create a GB rom of the .gbs file, but aftwerwards it runs well.
To compare audio quality, first is Goomba Color, which is going to sound much more genuine since it simply passes all audio commands to the GBC sound chip and doesn't spend time worrying about it after that.
http://dannysied.googlepages.com/GoombaColor.mp3
Secondly is GPF's build of GNUboy, which does not have access to the GBC sound chip since it's running in DS mode. It's passable considering that it's all emulated sound and this is the first release that implements it.
http://dannysied.googlepages.com/GNUboy.mp3
Both recordings are of track 10 of the Azure Dreams GBS file and were recorded in WAV format, downsampled to constant 192 bitrate mp3. The fadeout is my own - the original GBS music loops forever.
#126521 - Masterofdarkness - Tue Apr 24, 2007 1:20 am
Yea The GnuBoy is all sketchy the Goomba color is great :)
#126533 - Dood77 - Tue Apr 24, 2007 4:39 am
The GNUboy is emulated, the Goomba color is the real McCoy...
#126700 - darkNiGHTS - Thu Apr 26, 2007 1:37 am
tepples wrote: |
Two reasons: - FluBBa's emulator uses high-level emulation of video and audio.
- FluBBa's emulator has a highly optimized Z80 core.
|
I wish FluBBa was coding the NDS. Man, he could do some amazing things.
EDIT: Just realized that he said he's working on one on his website. Can't wait to see what he's working on!
#126702 - dantheman - Thu Apr 26, 2007 1:45 am
Keep in mind that it's mostly Dwedit that's maintaining Goomba Color now, and looking at the Coding forum here, it looks like he's the one who's really working on porting it to the DS, or at least attempting.
#126940 - ChaosBoi - Sat Apr 28, 2007 8:00 am
^ Where did you read that?
#126980 - dantheman - Sat Apr 28, 2007 8:37 pm
Goomba was created by Flubba as far as I can tell, but then Dwedit was the one that added full-fledged GBC compatibility, creating Goomba Color, which has seen 6 Alpha releases (only 3 or 4 released publicly) and several updated WIP versions. I can link you to http://forum.gbadev.org/viewtopic.php?t=12929 where it is evident that Dwedit is attempting to port it to the DS by first converting the code to compile on GCC so that anybody can compile it without having to buy the $6000 ARM SDT.
#127386 - dantheman - Wed May 02, 2007 2:32 am
A new GB/GBC emulator for the DS has been announced named Lameboy. It doesn't support sound, but it runs many games at a fast speed (some at fullspeed) with little graphical corruption, and it supports saving by using the X button. You can also switch games without turning off the DS. Oddly enough, scaling is also available that upscales it to the DS's maximum vertical resolution
More info and downloads are at http://ds-scene.net/forum/pforum.php?act=1&publicforum=5&topic=696
In order to save you guys from the agony of using MyTempDir and its ad heaven, I've uploaded a mirror to http://dannysied.googlepages.com/lameboy_ds-0.1.zip
#127387 - tepples - Wed May 02, 2007 3:13 am
dantheman wrote: |
A new GB/GBC emulator for the DS has been announced named Lameboy. |
Did someone get the name from my donation progress pages? ;-)
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#127974 - Masterofdarkness - Mon May 07, 2007 3:29 am
Anybody working on the sound or save support?
#128591 - ChaosBoi - Sun May 13, 2007 5:27 am
^ I'd like to know this as well. Lameboy lacks sound so I'm hoping maybe someone can improve sound and add save to this?
#128631 - pas - Sun May 13, 2007 5:27 pm
Is that guy on the picture (after the next link) you tepples ?
_________________
Starcraft DS ?