Release Final Burn Alpha ported to Pandora (FAQ in first post)


Also trying to incorporate the sega drivers, system 16 should work as it only uses 1 68000 and 1 z80 but it keeps segfaulting in Drz80.

ah well it really seems kind of weird adding new drivers. i've added cps3 from the mainline fba but it just crashed in the sh2 cpu. somewhat odd.


question - you've written that you fixed some large rom loading bug. what did you do and when does it occur?
 
Last edited by a moderator:
Just in case anyone with DrZ80 experience is reading this I thought I'd post my findings on trying to get the sega drivers workings.


First off the sega drivers are from the latest version available at www.barryharris.me.uk


I had to change the burndriver structures to match those in the gp2x version (fewer elements)


The system 16 driver starts with a stack pointer of 0, which appears to be causing the segfaults. I added the following lines to the macro PUSH_r0 dec_sp (after the line sub z80sp,z80sp,#\dec_sp


bic z80sp,#0xff000000


bic z80sp,#ff0000


this effectively wraps the sp across the 64k address space. Action fighter now works but others don't. At least it proves that system 16 games should be possible.


(edit) - also, the new source uses ZetInit(0) for a single processor whereas the gp2x source expect ZetInit(1) so all calls will need changing in any new source pulled through.


I now need sleep.


Dave
 
Last edited by a moderator:
ST (SSF2T) running perfectly - awesome.


With the current release of the emu the mapping for Street Fighter is:


LP = (A), MP = (X), HP = (B )


LK = (Y), MK = [L], HK = [R]


One of the following mappings would be better:


1) This would resemble the usual settings for the SNES versions:


LP = (A), MP = (Y), HP = [L] (or [R])


LK = (X), MK = (B ), HK = [R] (or [L])


2) Even better would it be if we could also use the keys 'O' and 'P' as buttons. Like this:


LP = 'O', MP = (A), HP = (Y)


LK = 'P', MK = (X), HK = (B )


Would be great if these mappings were selectable. (Or completely configurable controls of course.)


If you can manage to add CPS-III support with Third Strike running fullspeed without frameskip I'll donate.
 
Last edited by a moderator:
@crow_riot I'll look it up again properly but somewhere in the neogeo loading routine it had a line that said if the sprite roms were over a certain size to just exit.
 
Still I want to see a .dat file so I can make sure I have the correct roms....


I guess I'm asking to much...


I don't want to download new roms I want to rebuild the ones I have.. Bud
sometimes rom rebuilds are not possible as mame sometimes deletes files that earlier builds use so redownloading is the best option.
 
sometimes rom rebuilds are not possible as mame sometimes deletes files that earlier builds use so redownloading is the best option.

That's why there are rollback sets, so you can easily rebuild ANY version of the romset you need.
 
sometimes rom rebuilds are not possible as mame sometimes deletes files that earlier builds use so redownloading is the best option.

That's why there are rollback sets, so you can easily rebuild ANY version of the romset you need.
ive found rollback and clrmamepro notoriously unrelable some sets work others dont also specific builds like fba work on certain systems and not others.
 
ive found rollback and clrmamepro notoriously unrelable some sets work others dont also specific builds like fba work on certain systems and not others.

I've successfully been using them for years without any problems. Having problems with rebuilt sets is usually due to problems with the DAT file used or incorrect settings in cmp.
 
Some gfx updates for the Capex skin, if you'd like to try them Dave. The display problems in the current 400x240 skin (gradient banding, poor blending around the FBA logo) seem to stem from Capex running in a different colour mode to my images. These new ones might work a little more elegantly. If not, we'll need someone familiar with indexed colour and actual pixel art to contribute. I'm just a hack really.


Contents:


- New background. Block pattern should minimise appearance of banding.


- New logo in two formats (png, and indexed bmp). See which works better.


- New text highlight bar (now white).


[edit] Heh, I've just realised that Capex accepts external skins. This means I can work on it here instead of uploading pieces and hoping they work. Woo.


[edit2] Ok, External skin support isn't great. (For anyone wanting to try it, create a /skin folder in /appdata/fba and drop these images in.)

capex-400x240-6feb.zip
 

Attachments

  • capex-400x240-6feb.zip
    116.7 KB · Views: 190
Last edited by a moderator:
@crow_riot I'll look it up again properly but somewhere in the neogeo loading routine it had a line that said if the sprite roms were over a certain size to just exit.

cool thanks!


btw awesome work regarding the sega integration!


*edit*


oh i think i've found it by myself, however you did find that before :)



Code:
static int LoadRoms(NeoGameInfo* pInfo)

{

//    NeoSpriteROM = (unsigned char*)malloc(nSpriteSize);

unsigned int nSpriteROMSize = nSpriteSize < (nNeoTileMask << 7) ? ((nNeoTileMask + 1) << 7) : nSpriteSize;

    if (nSpriteROMSize > 0x1600000)

        return 1;
 
Last edited by a moderator:
The system 16 driver starts with a stack pointer of 0, which appears to be causing the segfaults. I added the following lines to the macro PUSH_r0 dec_sp (after the line sub z80sp,z80sp,#\dec_sp


bic z80sp,#0xff000000


bic z80sp,#ff0000
Doesn't z80sp have base pointer added to it, so it can be read directly?
 
You know, I feel ashamed for not having used this yet, since I originally started the bounty.
 
But surely if SP becomes negative then added to base pointer any writes will be at an address before base pointer which will outside the allocated memory for z80 and likely to segfault?


I might be wrong but in the case of the System 16 driver I think that that SP was initialised as 0, then the first CALL subtracted 2 (and therefore SP was pointing to -2 below base pointer) then tried to write the current PC to the new SP address causing the segfault.


If I've got this wrong then it might be luck that my change stopped the segfault and there might be a better fix.


I don't know if the flags are set for any reason when entering the macro, if not I should be safe to 'subs' and change the 'bic' to 'bicmi' to avoid the extra cycles when SP does not go negative.
 
I must be doing something wrong with the original vertical mode: it's rather uncomfortable to play with, and I didn't find the good button to drop bombs... How do you guys manage to play games in vertical mode ?

I guess I'm glad to hear that I'm not the only one without a bomb button in vertical shooters.
 
This seems really promising many thanks for all the hard work on this.


I'm running version1.0.0.5 from the repo.


Got a few questions :


1) Is there any documentation for the Pandora version of FBA?


2) What directories should there be in the FBA directory in Appdata?


3) Is there any way of reconfiguring the button assignments?


And an observation :


There only seems to be a problem with button 2 (usually bomb function) on the Cave shooters, I've played a cave shooter with 3 buttons and buttons 1 & 3 worked fine. Other 2 button games (not from Cave) such as Gigawing work fine. I've tested the Cave roms on a PC version of FBA and button 2 works fine. Has anyone managed to get button 2 working on the cave shooters? I'm still wondering if it could be a rom version problem.
 
It's not Cave shooters, it's vertical shooters. The vertical 19-- shooters from Capcom, for example, also have this problem; at least in my experience, possibly also for magic_sam.
 
the problem with those not working buttons is the key mapping of the gp2x version dave has based his work on.


in vertical modes the gp2x port was using the volume buttons for B and Y - at least this is what i can tell reading the code. so it should be easily fixable by dave (you could try my last beta version meanwhile with a simple click on fba.sh ;) )
 
the problem with those not working buttons is the key mapping of the gp2x version dave has based his work on.


in vertical modes the gp2x port was using the volume buttons for B and Y - at least this is what i can tell reading the code. so it should be easily fixable by dave (you could try my last beta version meanwhile with a simple click on fba.sh ;) )
Hey crow_riot, have you or dave begin to see about putting your 2 versions together in any way so far? Both versions seem to offer +/-, and you both seem to be good at your craft, so a combined effort seems to be a better route for this emu, unless any of you guys don't work well with others. :p


Chris
 
Last edited by a moderator:
the problem with those not working buttons is the key mapping of the gp2x version dave has based his work on.


in vertical modes the gp2x port was using the volume buttons for B and Y - at least this is what i can tell reading the code. so it should be easily fixable by dave (you could try my last beta version meanwhile with a simple click on fba.sh ;) )
Hey crow_riot, have you or dave begin to see about putting your 2 versions together in any way so far? Both versions seem to offer +/-, and you both seem to be good at your craft, so a combined effort seems to be a better route for this emu, unless any of you guys don't work well with others. :p


Chris

Totally agree, we need another combo a la Notaz/Exophase. :D
 
Thanks for the info Gyges & crow_riot.


+1 for the calls for teamwork. :)


Edit : @ crow_riot : Just tried your version of FBA. Guwange on Pandora is awesome! :D
 
Last edited by a moderator:
Back
Top