Jump to content


Photo

VisualBoyAdvance port


  • Please log in to reply
77 replies to this topic

#1 OFFLINE   Zink

Zink

    Advanced Member

  • Members
  • PipPipPip
  • 112 posts
  • Local time: 06:43 AM

Posted 07 April 2012 - 04:13 PM

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.

#2 OFFLINE   Zink

Zink

    Advanced Member

  • Members
  • PipPipPip
  • 112 posts
  • Local time: 06:43 AM

Posted 10 April 2012 - 06:54 AM

Did I do something wrong, or is just noone interested?

#3 OFFLINE   Gruso

Gruso

    Advanced Member

  • Members
  • PipPipPip
  • 1729 posts
  • Local time: 04:43 PM
  • LocationSyd, Aus

Posted 10 April 2012 - 07:03 AM

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. :)
FAQs: Pandora | PND files | USB

#4 OFFLINE   Zink

Zink

    Advanced Member

  • Members
  • PipPipPip
  • 112 posts
  • Local time: 06:43 AM

Posted 10 April 2012 - 07:26 AM

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 OFFLINE   Gruso

Gruso

    Advanced Member

  • Members
  • PipPipPip
  • 1729 posts
  • Local time: 04:43 PM
  • LocationSyd, Aus

Posted 10 April 2012 - 07:39 AM

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.
FAQs: Pandora | PND files | USB

#6 OFFLINE   Gruso

Gruso

    Advanced Member

  • Members
  • PipPipPip
  • 1729 posts
  • Local time: 04:43 PM
  • LocationSyd, Aus

Posted 10 April 2012 - 12:14 PM

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:

Posted Image

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

# 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
FAQs: Pandora | PND files | USB

#7 OFFLINE   FaeMinx

FaeMinx

    In-sane littleCreature =^. ~ =

  • Members
  • PipPipPip
  • 1342 posts
  • Local time: 07:43 AM
  • LocationCoffee Bay, South Africa

Posted 10 April 2012 - 12:56 PM

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
... The Garden... it's real!! ...
... so be carefull what you feed... o.o

We all want this project to mature, so we have to mature ourselves.


#8 OFFLINE   mcobit

mcobit

    Does this thing work?

  • Members
  • PipPipPip
  • 4525 posts
  • Local time: 07:43 AM
  • LocationFrankfurt a.M., Germany

Donator

Posted 10 April 2012 - 01:00 PM

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 OFFLINE   Zink

Zink

    Advanced Member

  • Members
  • PipPipPip
  • 112 posts
  • Local time: 06:43 AM

Posted 10 April 2012 - 03:38 PM

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?

#10 OFFLINE   mcobit

mcobit

    Does this thing work?

  • Members
  • PipPipPip
  • 4525 posts
  • Local time: 07:43 AM
  • LocationFrankfurt a.M., Germany

Donator

Posted 10 April 2012 - 04:16 PM

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 OFFLINE   sebt3

sebt3

    PowerFreak Troll, leave him alone

  • Members
  • PipPipPip
  • 1455 posts
  • Local time: 12:43 AM

Posted 10 April 2012 - 04:17 PM

The PND is supposed to provide a graphical frontend that handle everything for you

EDIT :

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

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.openpa...7-neon-scalers/

- [ PNDS ] - [ Yactfeau ] -

Spoiler



#12 OFFLINE   mcobit

mcobit

    Does this thing work?

  • Members
  • PipPipPip
  • 4525 posts
  • Local time: 07:43 AM
  • LocationFrankfurt a.M., Germany

Donator

Posted 10 April 2012 - 04:29 PM

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.

#13 OFFLINE   sebt3

sebt3

    PowerFreak Troll, leave him alone

  • Members
  • PipPipPip
  • 1455 posts
  • Local time: 12:43 AM

Posted 10 April 2012 - 04:30 PM

Yes, thats true. But visualboy advance is not very performant...

for GBA indeed, but that's what gpsp is for no ? ;)

- [ PNDS ] - [ Yactfeau ] -

Spoiler



#14 OFFLINE   onpon4

onpon4

    Sharing is good.

  • Members
  • PipPipPip
  • 1415 posts
  • Local time: 01:43 AM
  • LocationMilky Way galaxy

Posted 10 April 2012 - 06:15 PM

for GBA indeed, but that's what gpsp is for no ? ;)


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.
My website: http://onpon.co.nr/

Lode Runner Forever!: http://lrforever.co.nr/

Stellar Game Engine: http://nongnu.org/stellarengine/

#15 OFFLINE   Exophase

Exophase

    Advanced Member

  • Members
  • PipPipPip
  • 2523 posts
  • Local time: 01:43 AM
  • LocationCleveland, OH

Posted 10 April 2012 - 06:48 PM

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.


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 OFFLINE   vadsamoht

vadsamoht

    Advanced Member

  • Members
  • PipPipPip
  • 948 posts
  • Local time: 04:13 PM
  • LocationAustralia

Posted 10 April 2012 - 07:20 PM

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

Spoiler


#17 OFFLINE   pder

pder

    Advanced Member

  • Members
  • PipPipPip
  • 125 posts
  • Local time: 12:43 AM

Posted 10 April 2012 - 08:03 PM

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.


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..


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 OFFLINE   onpon4

onpon4

    Sharing is good.

  • Members
  • PipPipPip
  • 1415 posts
  • Local time: 01:43 AM
  • LocationMilky Way galaxy

Posted 10 April 2012 - 08:10 PM

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..


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.
My website: http://onpon.co.nr/

Lode Runner Forever!: http://lrforever.co.nr/

Stellar Game Engine: http://nongnu.org/stellarengine/

#19 OFFLINE   Exophase

Exophase

    Advanced Member

  • Members
  • PipPipPip
  • 2523 posts
  • Local time: 01:43 AM
  • LocationCleveland, OH

Posted 10 April 2012 - 08:21 PM

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...

#20 OFFLINE   pder

pder

    Advanced Member

  • Members
  • PipPipPip
  • 125 posts
  • Local time: 12:43 AM

Posted 10 April 2012 - 08:48 PM

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...


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?


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users