Gnuboy 1.0.3


theres one problem at least, in your final memcpy the address in 't' is at 320*pelsize, not at the beginning, so the copy is coying the unused data.
displayed on the screen now?
I havnt fully debugged them yet, I did a quick look and I dont see whats wrong.

I have taken a look at the notaz method. Its an arm asm routine, it should be usable to create a larger screen but keeping the correct aspect ratio. I just need some time to try it out.

Im trying to figure out the noisy sound too, which I think is the biggest problem at the moment
 
Last edited by a moderator:
theres one problem at least, in your final memcpy the address in 't' is at 320*pelsize, not at the beginning, so the copy is coying the unused data.
Right, I see. The last MEMCPY shouldn't be with t but tmpline. MEMCPY(dst, tmpline, 320*fb.pelsize);

Anyway, if your code works, it's fine. Your version is a little slower because you have a couple additional operations, but not really that much :)

I cannot help with the sound. I confirm that is really buggy in the SDL version for PC, but it is ok in the minimal lib for Gp2x. Or at least, nobody complained :D You're using the wiz_lib for sound, aren't you?

I removed lots of lines in the main loop of emu.c (emu_run() function) to improve speed for the Gp2x. I'm pretty sure that some of them were related to sound syncronization. Maybe you should check the original version of emu.c in gnuboy.
 
Last edited by a moderator:
Too bad the MLC video layer only supports YUV 4:2:0, since it has a hardware scaler. You could output a 320x288 Y and 160x144 Cb and Cr images, but that'd probably take more time than doing a notaz like scaler on 160x144. Although, for normal (non color) GB there's really little or no changing non luminance data, so you could probably get away with only outputting 160x144 grayscale with a fixed Cb/Cr offset to get the palette you want, then have the hardware scaler scale that (comes with bilinear filtering). Probably not worth the effort though.
 
to improve speed for the Gp2x. I'm pretty sure that some of them were related to sound synchronization. Maybe you should check the original version of emu.c in gnuboy.
The sound is perfect for synchronization, it just there a static noise that is in it and it only some tones. Some are fine.
To just make sure for each sample are the bits shared between left and right, or is a full sample given for each channel?
For example do the left and right samples need to be in one 16 bit sample or two 16 bit samples?
 
Last edited by a moderator:
The gpsp interpolation is working now.

juanvvc: where in the source is the A button cycling the scaling?
Just wanted to say thanks for workin on this Pickle. I absolutely cant wait to play all my favorite Gameboy/Gameboy Color games. :)

Oh and in case your curious of bugs/graphical issues right now (if not then ignore the rest of this post):

When playing the Pokemon Trading Card Game, character sprites (and other objects) are colored completely black. IE instead of seeing Professor Oak, you see Professor Oak as a black silhouette.
 
Last edited by a moderator:
When playing the Pokemon Trading Card Game, character sprites (and other objects) are colored completely black. IE instead of seeing Professor Oak, you see Professor Oak as a black silhouette.

Thanks glad your enjoying it. Im sorry but I dont have the first clue on the actual emulation.

Ive updated the beta version: pickle.gp2x.de/lemonboy-wiz.zip

Its has the interpolation scaling (only selectable from the menu at the moment, it isnt cycled with the button press of A)
I also think Ive made an improvement on the sound, at least I dont think its as bad
 
Last edited by a moderator:
Another Update! pickle.gp2x.de/lemonboy-wiz.zip

I think most missed the last one with the forums being updated.
In this version ive added scale2x filtering.

Oh and you can have your cake and eat it too. I also add a deformed scale2x filter mode. It will do the scale like normal and then take out every 6th line to scale from 288 to 240. I dont think it looks too bad once the 2x filtering has occurred. I actually think its the best mode yet :)
 
Hi thanks for the update.

The scale options are nice. One thing I would update is that you could disable "A" as screen scale change. For one it only switches between two, the other is that you can't get back to the one you had without going into the menu. Sometime you may hit "A" by mistake and then have to go into the menu to get the one you wanted back. Not a big deal but it can be annoying and it will punish you for hitting the wrong button.

The sound is definetly better, it isn't staticky. It still isn't right though. It "flutters" almost like the audio equivalent to frameskip. It isn't a smooth tone but instead is stuttery. Maybe this is due to the emu speed?

Thanks for the update, it is shaping up nicely.
 
A button issue and video modes cycling: it is configurable in etc/system.gp2x Open this file with any text editor (Wordpad in Windows) and use whatever you want. For example, to assign A to change palettes instead of video:

bind gpa palettes

To assign the A button to the Gameboy's A button:

bind gpa +a

To cycle more videomodes, for example all of them:

set vmodes 1 2 3 4 -1

And so on. Read the CONFIG file. Of course, I mean changing etc/system.gp2x as a final user, you do not need to recompile the code :) The actual code is in rcmds.c, but maybe you do not need to change anything there.

Black sprites in some games. Also weird colors. It is related to the SuperGameboy support. Unfortunately, it is not working right now in most games. Switch SuperGameboy off in the configuration menu and it should be fine. No custom borders, in this case :( Fortunately, you can load the game with SGB on, save the custom border, switch SGB off, reset the game and select the saved border :)

gpSP video scaling Could you please, please, please, publish that code?

Thanks for the update. I'm really looking forward to introducing your modifications in my version and solve the SGB issue.
 
juanvvc said:
gpSP video scaling Could you please, please, please, publish that code?

Thanks for the update. I'm really looking forward to introducing your modifications in my version and solve the SGB issue.

Code:
upscale_aspect(s, fakescreen);
and I used the scale_aspect.S from gpsp

The scale2x is pretty simple too, I will upload everything soon. Im just about finished with the on screen text msg's.

Ive uploaded the files
Binary:http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,71,134
Source:http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,46,133
 
Last edited by a moderator:
Back
Top