Release VisualBoyAdvance port


So I've got my own Pandora already (and I'm more than happy because of that), and I found out the PND to be horribly made and not working properly (I see no one bothered to test it :D ).


I also found Pickle Launcher quite hard to operate and configure (or maybe I'm too dumb for it :) ). So I decided to learn some Python and write my own launcher, somewhat inspired by the Commander-beef's one (I hope you won't mind :) ), and now my VBA seems to work perfectly (apart from it's regular speed issues, which I didn't have time to touch yet). But those of you having 1GHz Pandoras may find it useful.


So, here it is: http://kazekr.net/pnd/VBA-kk.pnd (I have also replaced the link in the first post).


It probably can be made faster by using hardware-accelerated SDL, but I have no idea how to do that. I only managed to compile it with Ivanovic's toolchain (I suppose it contained the right SDL already?).


Please test and comment.
 
Thanks for the VBA port. Unfortunately, the only game I want to play (Ms Pacman Maze Madness) is way too slow, even at 950MHz overclock. Other than the speed, it's not bad - I do have to run it in a "normal" filter, which is a shame as Bilinear would be nice. Also a way of scaling non-linearly to 800x480 would be wonderful.


Of course, none of that matters while it's running this slow :)


D.
 
ZXDunny, it seems that x2 scaling is the only option with filters other than Normal. Maybe with the other SDL it can be made better (but as I read it will be restricted to fullscreen (but I don't suppose anyone would eagerly want to play in windowed mode :) )).


sebt3, thanks.
 
Good news! I switched to building with PanDebian. There is a huge difference in terms of easiness between using PanDebian and cross-compilation or native Pandora compilation. Namely I've spent two weeks to set up the toolchain and make the configure script see all the libs for cross-compilation before, and recently I've spent 10 minutes to build VBA in PanDebian (it required to isntall libSDL and libSDL-dev only). And I'm not sure about that, but I have an impression that VBA works slightly faster when built with PanDebian.


Also I managed to use the notaz' hardware SDL for upscaling (thanks for help, notaz), and it looks quite well with built-in filters (the original VBA filters force the scale to 2x, and SLD scales to full screen from that).


Bad news: GBA emuation is still horribly slow (but playable at 900MHz with slight sound glitches). I tried to optimize the code a bit, but it didn't help (I suppose I was doing optimizations that are already performed by GCC :) ).


Good news: GBC emulation works smoothly at 600MHz with most of the filters.


Now question to you: I have made the image to fill the screen vertically, and keep the aspect ratio horizontally. This makes the GBC image to be almost a square and leave black strips at the sides. Would you also like an option for stretched image that fills entire screen? I did not just make the option without asking, because it requires some work, and I would not like to do it if noone would use it.
 
Last edited by a moderator:
Ah here here! I would love this option!! Stretched fullscreen image with a nice filter would be great! :)
 
Alright then :) . I don't know however how filtered and then stretched image will look like... So I should be done with this in about a week (may be longer, because this week is going to be quite busy).
 
Would be nice if you made different options to choose from: Stretched image with or without filters. Non-stretched but scaled image (aspect ratio) with or without filters.


Thanks a lot for your effort!
 
This is the plan :) . You will be able to enable filters and stretching separately.
 
That was easier than I thought :)


http://kazekr.net/pnd/VBA-kk-b2.pnd


Notes:


1. Don't use Auto Frameskip with GBC roms - it introduces unnecessary frameskip and slows down the game.


2. Pixelate filter doesn't work (garbles the screen).


3. Some filters may require increasing the CPU frequency, because of higher processing power needed.


4. The pnd does not include the hardware-accelerated SDL lib, because it is included in the firmware for some time already. So don't be surprised if the emulator does not start on a very old firmware (I don't know the exact version tough, ask notaz for that).
 
Last edited by a moderator:
Yay! Thanks! Will try the pnd tonight and give you feedback!
 
Last edited by a moderator:
Ok tried it and what should i say? Everything works! Gameboy games never looked as good! Nice job! :)


You should upload your version of VBA to the repo, Zink! :)
 
Last edited by a moderator:
It has a higher compatibility for GBA games than gpSP. But unfortunately it also needs more hardware power. Some games run fullspeed if you clock to 1Ghz though. But other than that it runs GB and GBC games with also great compatibility, fullspeed on 600Mhz and support for fullscreen scaling with many filters. By far better than the existing Ohboy port!
 
Last edited by a moderator:
I can add to that recently, when I played Zelda - The Minish Cap with gbSP, I came to a place where it hung every time, so I couldn't go further. So I switched to VBA (apparently, the save files are in the same format), went thorough the hanging spot to the point where I could save the progress, and returned to gbSP. VBA saved the day! :)


Thanks for the feedback, going into the repo when I find some time to learn how to do it properly :) .
 
is there any way to change the display filters on the fly during emulation? I think that'd be a cool feature, I think some other emulators on the Pandora can do it (Snes comes to mind)
 
Back
Top