Author Topic: gnuboy for Native update and Oh Boy port  (Read 13668 times)

clach04 (OP)

  • Posts: 256
gnuboy for Native update and Oh Boy port
« on: November 21, 2010, 02:53:02 am »
I've been laid up after knee surgery so I've had some spare time on my hands recently.

I've finally got sound (and timing) working correctly with gnuboy using the "plain" (regular) SDL port of gnuboy. Regular gnuboy means no menu. Current version is 1.0.5-svn.

I'm not planning on releasing binaries just yet but if there is interest I can post one fairly quickly. The project page is
http://code.google.com/p/gnuboy/

I've also taken on Oh Boy, which is an(other) SDL port of gnuboy (the other famous one is Lemonboy), project page for that is http://code.google.com/p/ohboy/

I have a preliminary binary available for download at http://code.google.com/p/ohboy/downloads/detail?name=dingoo_native_20101120_fafd68e365.tgz
Extract the whole tarball as is, i.e. etc directory in same dir as .APP.

This uses the gnuboy 1.0.5-svn core.

I've tested this on my SD card with Tetris, Tetris DX and the PD Adjustris.

Oh Boy has a menu, sound, control over color palettes in menu... and a ROM loader. Oh Boy does not have all the features of SDL gnuboy though (e..g show fps).

The ROM loader is only partially working at the moment.

You can load 1 rom, after that you can not load another, i.e. quit first. This a bug and will be addressed at some point.

The controls sort of suck at the moment too.

The good news is that this menu system with loader is Pure C and SDL and I think can be used in other projects/games.

I hit a bug with the Native SDK relating to opendir and readdir, I may have a patch for that but I need to chat with the other devs about that first (see opendir in OhBoy that I added as a workaround).

Chris

clach04 (OP)

  • Posts: 256
Re: gnuboy for Native update and Oh Boy port
« Reply #1 on: November 22, 2010, 02:01:21 am »
I'm not sure what the interest level in this is but to make sure the information is out there here is another update. I spent the day polishing the Dingoo Native port of Oh Boy. Loading is now working properly along with saving settings. Save/load state isn't working at the moment but it isn't far away.

http://code.google.com/p/ohboy/wiki/ToDo the current progess.

Chris

wy_scorpio

  • Posts: 368
Re: gnuboy for Native update and Oh Boy port
« Reply #2 on: November 22, 2010, 04:52:32 am »
why not use sience's version gnuboy code to port to native?

sience's version is very nice!

a bit advise ;)

clach04 (OP)

  • Posts: 256
Re: gnuboy for Native update and Oh Boy port
« Reply #3 on: November 22, 2010, 05:27:30 am »
why not use sience's version gnuboy code to port to native?

sience's version is very nice!

a bit advise ;)

Thank you for the advice, here's my reasoning;

SiENcE was kind enough to share his code with me so I've had chance to look at it and the quick answer is that SiENcE's version is for Dingux and makes a number of Linux calls (e.g. sound) that won't work under Native. The Dingux version is based on the older 1.0.3 version of gnuboy. The Dingux version uses Joyrider's menu system if you prefer that version I'd recommend Joyrider's native version, it should have all the same features bar the new (better looking, less blocky) scaling code that SiENcE added. Until recently I've been using Joyrider's gnuboy version myself :-)

The advantage of using base gnuboy is that you get the emulation improvements that were made to gnuboy, most versions are based on the 1.0.3 core (the Wii version is the only other one that uses a later emulation core), gnuboy has emulation enhancements in version 1.0.4. gnuboy is now up to 1.0.5, there are no emulation improvements in 1.0.5 over 1.0.4 but there are some feature enhancements like an fps indicator. Any improvements to gnuboy should show up in the Oh Boy version. It has taken me a long time to get this far.

In an ideal world everyone would use core gnuboy and add frontend/ports to it (which is what Lemonboy and Oh Boy sort of do) and add feature improvements to it. The advantage of http://code.google.com/p/gnuboy/ is that it runs on a number of platforms all with the same code. Right now the Pandora port of gnuboy is a basic unmodified build of http://code.google.com/p/gnuboy/ i.e. if we add new scaling code to the SDL port of gnuboy, we should be able to get that feature in Windows, Linux, Dingoo (native and Dingux), Pandora, etc. all with a simple rebuild.

Thanks to Harteex's work with audio under SDL I believe that audio in http://code.google.com/p/gnuboy/ is now accurate. NOTE Oh Boy has it's own audio engine, it doesn't use gnuboy's just yet so I'm less sure about the audio quality in Oh Boy - the beeps in Tetris sound OK to me but I've not tried anything else :-)


The advantage of Oh Boy over base gnuboy is the menu, you can load ROMs once you are inside the emulator, you can't do that in any other Dingoo gameboy emulator.

Chris

clach04 (OP)

  • Posts: 256
Re: gnuboy for Native update and Oh Boy port
« Reply #4 on: November 22, 2010, 07:06:57 am »
I've completed the basic port of Oh Boy to Dingoo and it is ready for general testing now.

New download at
http://code.google.com/p/ohboy/downloads/detail?name=dingoo_native_20101121_a0cbbd7c66.tgz

I've left the old one there but PLEASE do not use it!

I've tested this in the root of an SD card (i.e. "B:\", interestingly it seems to load a lot faster from SD card) and in "A:\GAME\3D GAMES\OHBOY"

RE my last post, I'm very grateful to all the Dingoo developers if my post appears to be a rant, that is down to my poor writing :) It certainly wasn't meant to be a rant!

The new version stores saves in a "saves" directory where the .app file is located (this is configurable via the gnuboy.rc file). You should be able to copy/move saves games to/from Windows/Linux x86 machines :-)

You can change the controls of the gameboy with a gnuboy.rc file (see http://code.google.com/p/gnuboy/source/browse/trunk/docs/CONFIG ) , you can NOT change the controls for the menu yet (and that may be a way off  :().

If you are interested in building Oh Boy (or base gnuboy without a menu) on Native you need to be using the latest version of the Native SDK. This is available via SVN. If you want to build for Dingux, a makefile will be needed (there is a makefile for basic gnuboy without a menu that you could use as a start). I do not have a Dingux build tool chain so I'm happy to accept makefiles, patches, even bug reports.

Chris

clach04 (OP)

  • Posts: 256
Re: gnuboy for Native update and Oh Boy port
« Reply #5 on: November 23, 2010, 04:29:51 am »

A few screenshots have been added.



http://code.google.com/p/ohboy/wiki/ScreenShots

kswildside

  • Guest
Re: gnuboy for Native update and Oh Boy port
« Reply #6 on: November 23, 2010, 03:54:54 pm »
if you get this to run gba and gbc games good you will be the bomb I would be even willing to donate money for this to come true

The best option would be GB, GBC, GBA all in one emu and if it could play Jungle Tac also you would be the bomb
« Last Edit: November 23, 2010, 09:07:03 pm by dingoo-digital-usa »

clach04 (OP)

  • Posts: 256
Re: gnuboy for Native update and Oh Boy port
« Reply #7 on: November 24, 2010, 05:43:19 am »
if you get this to run gba and gbc games good you will be the bomb I would be even willing to donate money for this to come true

GBA isn't really on the radar at the moment. One of the many projects I've been toying with starting is porting VBAM to Dingoo, or even GPSP to native..... but that probably won't be for a while.

RE GBC at full speed, try this new release http://code.google.com/p/ohboy/downloads/detail?name=dingoo_native_20101123_d57c8de567.tgz  :) let me know how that works for you.

The best option would be GB, GBC, GBA all in one emu and if it could play Jungle Tac also you would be the bomb

That would be cool, I'd like to get a polished GB/GBC one going first. I think I'm there with gnuboy (and maybe Oh Boy) in terms of performance. The menu system needs some attention though and there are some work required on some of the emu core. I'm personally using Oh Boy all the time now rather than Joyrider's (excellent) port.

RE Jungle Tac, what are those? I was under the impression they were GBA but it sounds like this isn't the case. Do you have any URL or refs that describe what they are and where they come from?

kswildside

  • Guest
Re: gnuboy for Native update and Oh Boy port
« Reply #8 on: November 24, 2010, 03:45:18 pm »
Here is the link for Jungletac you can also do a wiki on it

http://www.jungletac.com/

TheCaffeinator

  • Posts: 128
Re: gnuboy for Native update and Oh Boy port
« Reply #9 on: November 24, 2010, 05:51:17 pm »
clach04...

As the link provided above indicates, the Jungletac games were created specifically for certain proprietary hardware systems, not the GameBoy Advance. For whatever reason, the GBA emulator for the Dingoo native OS was written to recognize the .jgc extension and attempt to play the Jungletac ROMs. However, the Jungletac ROMs will actually run successfully only on the Dingoo Digital A320 hardware; on the Dingoo Tech A320 hardware (and the Dingoo Tech A330), the GBA emulator will crash after attempting to load a Jungletac ROM. It'd be great to find a way around this problem, but I suspect it will be a bit of a challenge. ;)

Curiously, the games currently listed on the site's Download page (http://www.jungletac.com/game_download.html) all have the .gba extension, though I can't get any of the download links to work.
« Last Edit: November 24, 2010, 06:03:40 pm by TheCaffeinator »

clach04 (OP)

  • Posts: 256
Re: gnuboy for Native update and Oh Boy port
« Reply #10 on: November 26, 2010, 07:10:16 pm »
JungleTAC with out space made all the difference in searching :)

I added a few items to http://dingoowiki.com/index.php?title=Dingoo:Games#JungleTAC_games, if anyone has more info add it to the wiki

rip

  • Posts: 45
Re: gnuboy for Native update and Oh Boy port
« Reply #11 on: December 17, 2010, 05:22:45 pm »
Hi,

Thanks for working in gnuboy / Ohboy.
I am following your developments and downloading the updates that you are doing.
Do you think in the future fix resolution bugs that exist in a few games like International Karate, Zeldas, and some ISS, to give an example?
Or improve sound emulation to make it more accurate?
I was surprised to see how it sounded Heigboy in this regard.

So encouragement to the project.

clach04 (OP)

  • Posts: 256
Re: gnuboy for Native update and Oh Boy port
« Reply #12 on: December 17, 2010, 07:58:23 pm »
Do you think in the future fix resolution bugs that exist in a few games like International Karate, Zeldas, and some ISS, to give an example?
Or improve sound emulation to make it more accurate?
I was surprised to see how it sounded Heigboy in this regard.

Thanks rip!

Anything is possible :)

Best thing would be a detailed explanation on what problems you see, either here on the forum or on the project site ( http://code.google.com/p/gnuboy ) under issues. For things like a gfx glitch if you could supply sample screen shots/savestates (and how to get to that screen) that helps, along with md5 (or any sort of checksum) for the rom so I know I'm testing the same thing. Sometimes gfx glitches are to do with the rom dump, sometimes it is the emulator (I suspect you have found a bug, but I need to rule out bad rom dumps!).

Screen shot should be the hold button. I've not tested this recently so my memory may be hazy :-)

Sound is a bit tricky, as to me under native the sound in the games I play, it sounds fine. However many people have commented on the sound so I know my hearing is off ;) Ayla has been experimenting under Dingux with gnuboy with improving sound but it is early days yet. I think my current plan is to try using Heigboy on the desktop and gnuboy on the dingoo and comparing sound that way. If you have suggestions for roms to test with, that would be helpful, e.g. is there one rom where the sound difference is more noticeable?

I may need to follow up on bug reports with a PM to get more information.

Harteex

  • * Administrator
  • Posts: 713
    • Harteex Productions
Re: gnuboy for Native update and Oh Boy port
« Reply #13 on: December 17, 2010, 10:30:04 pm »
Sound is a bit tricky, as to me under native the sound in the games I play, it sounds fine. However many people have commented on the sound so I know my hearing is off ;)

I tried OhBoy with a few roms and I think the sound is very good.

rip

  • Posts: 45
Re: gnuboy for Native update and Oh Boy port
« Reply #14 on: December 18, 2010, 12:54:59 am »
@Harteex

Heigboy was tested yesterday when I thought the sound emulation was better quality. As if you could see different ranges of sound.
I noticed much in the game Tetris Plus, but that might be an appreciation.

@clach04

Regarding what I said in another post, here it is:
I think these are games that have different resolutions because they do not fill the entire screen. But no idea.
I've also noticed a problem in a game "Top Ranking Tennis" in which the player is in the background is semi-transparent. If you want to look too, have the sum of that game.


International Superstar Soccer 2000

International Karate
« Last Edit: December 18, 2010, 01:01:17 am by rip »

clach04 (OP)

  • Posts: 256
Re: gnuboy for Native update and Oh Boy port
« Reply #15 on: December 18, 2010, 01:53:14 am »

International Karate

Awesome, just the info I needed :) Thanks for taking the time to collect the information.

I've reproduced the problem on my machine with this rom. The "blank" bit should be a power/score area (seen when loaded into VisualBoyAdvance-1.7.2). Dunno how long this will take to debug, but I'm looking. ;)

pcercuei

  • Posts: 1634
    • My devblog
Re: gnuboy for Native update and Oh Boy port
« Reply #16 on: December 18, 2010, 08:42:10 am »
Or improve sound emulation to make it more accurate?
I was surprised to see how it sounded Heigboy in this regard.

I did some work on this. I have a binary of gnuboy, with the same scaler Heig-boy has, and the same sound Heig-boy has (44kHz stereo without any cracks), fullspeed starting from ~280MHz. But it works only on OpenDingux.

 

Post a new topic