1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Dismiss Notice

Release VisualBoyAdvance port

Discussion in 'Software Releases' started by Zink, Apr 7, 2012.

  1. Zink

    Zink Member

    Joined:
    Mar 8, 2012
    Messages:
    146
    Let's begin with why I decided to do it in the first place...


    Only recently I discovered this project, and I fell in love in it almost from the first glance. This is what I dreamed of (though more likely with an x86 processor, but the cons of such solution were overwhelming - I've read the FAQ and took the point), this little device turned out to have almost everything I wanted in an ideal device, and even more. So I decided that I want the Pandora, and I also made it an excuse to learn more Linux programming.


    I don't have Pandora yet. I haven't even preordered, because of some financial issues I'm going through now, but everything seems to be going the right track, and I should be able to preorder next week. Earlier I thought there was an VBA port on Pandora, as the wiki emulators page stated. Most console games I like to play are Zelda series for GameBoy (played all Zeldas for GBColor), and I was happy to know that VBA works fine on Pandora. But while reading the forums I stumbled upon this thread: http://boards.openpa...lost-pnd-thread, and found out that VBA has got some licensing issues and is unlikely to be available. Someone also said that probably it could be recreated with a minor effort. This inspired me to actually do it, first to learn how to port things to Pandora, second to have working VBA for my Panda when I finally get it (I know there are other good GB emulators, but I particularly like VBA), and third to make a contribution to the community.


    Porting indeed required only minor effort (one missing include declaration and some invalid const char* to char* assignments), but it took me a lot of time to make the actual toolchain working :) . On this board I haven't found solution to most of the problems I had, and even one guy wrote that he tried to do similar thing and gave up - I'm not surprised, I almost gave up several times :) . I used the Ivanovic toolchain, as it seemed to be the most up to date. If anyone would like a small tutorial, I can write one.


    Now after this too-long introduction, here is the beta:


    http://kazekr.net/pnd/VBA-kk.pnd - the link has been updated - it's the newest version


    It is an executable only, no PND yet. I would first like to test the executable for flaws, before packaging it to PND that may have flaws on itself (because of my lack of knowledge about PND making). If it is not acceptable, then I will make the PND.
     
    Last edited by a moderator: Feb 6, 2016 at 1:02 PM
  2. Zink

    Zink Member

    Joined:
    Mar 8, 2012
    Messages:
    146
    Did I do something wrong, or is just noone interested?
     
  3. gruso

    gruso thunderbox

    Joined:
    Feb 28, 2008
    Messages:
    7,462
    Location:
    Sydney, Australia
    Unusual that you didn't get any responses. People often keep walking if they can't just download and run the PND, but still, a release like this usually gets a few bites. All I can suggest is that the Rebirth entries have drawn everybody's attention for the past week.


    I'll give it a test when I get home from work. :)
     
  4. Zink

    Zink Member

    Joined:
    Mar 8, 2012
    Messages:
    146
    Thanks. Maybe the problem is that I haven't packaged it in PND yet (it's bare executable), and it requires more effort to run?
     
  5. gruso

    gruso thunderbox

    Joined:
    Feb 28, 2008
    Messages:
    7,462
    Location:
    Sydney, Australia
    That does limit how many people will grab it, but lots of betas are presented that way so it's not a problem. Don't read too much into it - as mentioned there is lots of other stuff going on this week, and we're just at the tail end of a holiday weekend in many places too.
     
  6. gruso

    gruso thunderbox

    Joined:
    Feb 28, 2008
    Messages:
    7,462
    Location:
    Sydney, Australia
    It works fine. :) I don't have many games on hand but tried a couple in .zip and .gba format, no problems. Sound is a little choppy, and overall performance could probably be better, although I am not one of the most astute observers when it comes to frame rates etc. Once you have a PND together you will start to get more feedback in this area, although I guess it'll be tough to work on until you get some hardware.


    Screenshot:


    [​IMG]


    After taking this shot I edited my config like this for fullscreen mode, with 3x scaling:



    Code:
    
    
    # Video setting. 0=1x, 1=2x, 2=3x, 3=4x.
    
    video=2
    
    
    # Use fullscreen mode. 0=false, any other value means true
    
    fullScreen=1
    It worked nicely. When you package the PND, these would probably be good defaults to use. Mapping to gaming controls (ABXY) in the next version would be good too (note: the d-pad already works fine). This page should help if you haven't seen it already: http://www.pandorawiki.org/Keyboard
     
  7. FaeMinx

    FaeMinx Advanced Member

    Joined:
    Dec 11, 2010
    Messages:
    2,656
    I haven't tried this yet for two reasons: I always wait for a pnd and I already have a vba.pnd on my Pandora that works very nicely...


    I'm interested in what you're doing and want to say well done for starting this project, but i'm going to wait untill it's a little further along and in pnd format before I give it a try. :)


    Then i'll let you know how the two pnds compare to each other.


    It will be nice to have a version of vba that's being supported...


    Keep up the good work! :)


    Sent from my HTC Sensation Z710e using Tapatalk
     
  8. mcobit

    mcobit Advanced Member

    Joined:
    Jul 28, 2008
    Messages:
    6,755
    Also I think it would be worth a try to render at 1x resolution and let notaz sdl do the upscaling for better performance.
     
  9. Zink

    Zink Member

    Joined:
    Mar 8, 2012
    Messages:
    146
    Thanks for the feedback. It's great that it works :) . Yes, it would be far better if I had some hardware, but this one was mostly a test. I wanted to see how hard it would be to make such thing. For the next weeks I will be very busy earning money for my own Pandora :D , so I will probably have some time to make PND, but not for any performance improvements. Later on, when I have more time, I will work on this and make your suggestions.


    I have some questions that may be obvious for Pandora owners, but not for me: How console programs, like this one, are supposed to be run? I mean, you cannot just double-click on it, because it needs a rom filename as a parameter. Is it possible to run PND with a parameter? Should I write a small gui for rom selection on run? How is it done in StreaK's version of VBA?


    Gruso, do you also have StreaK's VBA? If yes, can you tell me whether they differ in performance?
     
    Last edited by a moderator: Apr 10, 2012
  10. mcobit

    mcobit Advanced Member

    Joined:
    Jul 28, 2008
    Messages:
    6,755
    You can use for example picklelauncher, a frontend especially written for this task on Pandora.


    http://pandorawiki.org/PickleLauncher


    Also as said, for scaling you should use notaz hardware accelerated sdlversion, what gives scaling for free, instead of resourcecostly softwarescaling.
     
  11. sebt3

    sebt3 homebrew player (P. & C.)

    Joined:
    Sep 9, 2008
    Messages:
    4,474
    Location:
    France
    The PND is supposed to provide a graphical frontend that handle everything for you


    EDIT :

    for GB© games I'm far from against a little filtering before using linear scaling (the hardware scaller) espetially since we have this : http://boards.openpandora.org/index.php?/topic/7087-neon-scalers/
     
    Last edited by a moderator: Feb 6, 2016 at 1:02 PM
  12. mcobit

    mcobit Advanced Member

    Joined:
    Jul 28, 2008
    Messages:
    6,755
    Yes, thats true. But visualboy advance is not very performant...


    Edit: If the neonscalers could be applied optionally, it would be great though. But if you use scale2x for example, you can still do the rest of the fullscreenscaling with notaz sdl.
     
    Last edited by a moderator: Apr 10, 2012
  13. sebt3

    sebt3 homebrew player (P. & C.)

    Joined:
    Sep 9, 2008
    Messages:
    4,474
    Location:
    France
    for GBA indeed, but that's what gpsp is for no ? ;)
     
  14. onpon4

    onpon4 Sharing is good.

    Joined:
    Aug 29, 2011
    Messages:
    1,547
    Location:
    Milky Way galaxy
    gpSP has issues with some games (GTA Advance doesn't work at all, and problems are also quite bad with Mario & Luigi RPG and Mario Party Advance). Personally, I would very much like a VBA port that runs at a decent speed with GBA games.
     
  15. Exophase

    Exophase Exophase is bad. Nothing good will ever come of hi

    Joined:
    Sep 21, 2006
    Messages:
    9,938
    Location:
    Cleveland OH
    Okay, but why do you assume optimizing VBA to be fast enough on Pandora w/o frameskip is necessarily an easier problem than improving gpSP for some games? Both of these things represent real amounts of work..
     
  16. vadsamoht

    vadsamoht Well-Known Member

    Joined:
    Jun 11, 2010
    Messages:
    1,022
    Location:
    South Australia
    I've experienced no problems at all with this version emulator except with GBA files (clocked at 800). Notably, I'm not having the sound issues mentioned by Gruso at all.


    I also remapped the controls to buttons more suited to the Pandora's layout - the lines for the .cfg are spoilered below

    Code:
    
    Joy0_Left=0114
    
    Joy0_Right=0113
    
    Joy0_Up=0111
    
    Joy0_Down=0112
    
    Joy0_A=0119		# X Button
    
    Joy0_B=0116		# A Button
    
    Joy0_L=0129		# Left Shoulder
    
    Joy0_R=0131		# Right Shoulder
    
    Joy0_Start=0134		# Start Button
    
    Joy0_Select=0132	# Select Button
    
    Joy0_Speed=0020
    
    Joy0_Capture=0125
    
    
     
  17. captain_coconut

    captain_coconut Member

    Joined:
    Oct 9, 2008
    Messages:
    132
    I can't say for certain which problem is harder (probably both tasks are quite difficult), but it appears that the Pandora currently is only slightly underpowered to run VBA comfortably with the games I have tested. I haven't tested many games but I know for example Zelda - Minish Cap seems to work perfectly at 1050Mhz using mednafen which is based on VBA.


    gpSP is very impressive software and it is my first choice on the Pandora, but the compatibility is not as good as VBA. I think if VBA performance could be improved 15% or 20% (if thats possible) it would certainly be quite enjoyable to use.
     
  18. onpon4

    onpon4 Sharing is good.

    Joined:
    Aug 29, 2011
    Messages:
    1,547
    Location:
    Milky Way galaxy
    We're talking about an easy change that will improve performance at the cost of maybe looking not as good (using hardware scaling), not vague optimization.
     
    Last edited by a moderator: Apr 10, 2012
  19. Exophase

    Exophase Exophase is bad. Nothing good will ever come of hi

    Joined:
    Sep 21, 2006
    Messages:
    9,938
    Location:
    Cleveland OH
    If it's just 15-20% then yeah, the scalar should help.. are we talking full speed w/o frameskip, then? Frameskip makes a really big difference for VBA, the renderer is really slow...
     
    Last edited by a moderator: Apr 10, 2012
  20. captain_coconut

    captain_coconut Member

    Joined:
    Oct 9, 2008
    Messages:
    132
    Just to clarify what I was saying earlier about 15%-20%- I was testing Zelda Minish Cap using Mednafen which is based on VBA. This build already utilizes the hardware scaling from notaz' SDL. Also what I was describing as fullspeed at 1050Mhz was without frameskip.


    I am curious what your opinion is on how much the VBA renderer could be improved. Would utilizing NEON possibly have a big impact?
     

Share This Page