Author Topic: dink's FBA Development & Fixes thread  (Read 183914 times)

Online dink

  • Administrator
  • *****
  • Posts: 2556
  • Karma: +216/-0
  • summer is here!
Hey there..
Tonight I told myself I was going to take a break and just play some games..  Well, it only lasted a couple of games...
...Fix for lost SFX after 2nd state load in games that use NMK004, most notably Super Spacefortress Macross. (added NMK004Scan() to nmk004.cpp/h, and called from DrvScan() in d_nmk16.cpp if the game uses NMK004.)
EDIT: (a day later) Fixed another NMK004 issue, this time with Acrobat Mission and GunNail.  Up next: figure out why sounds are screwed up in GunNail - the bassline from the background music is triggering when your weapon fires, and a few instruments are missing from the background music.

best regards and goodnight,
- dink

« Last Edit: April 07, 2014, 04:11:58 am by dink »

Online dink

  • Administrator
  • *****
  • Posts: 2556
  • Karma: +216/-0
  • summer is here!
Hello,
Last night I found a crash problem with Galmedes (Visco/Taito) when trying to load a savestate, so I fixed it and checked in the fix to svn.  The fix may also prevent a crash in Cadash as it uses the same banking method as Galmedes.

best regards,
- dink

Online dink

  • Administrator
  • *****
  • Posts: 2556
  • Karma: +216/-0
  • summer is here!
Heavy Barrel by DataEast.
I'm working to map some buttons to change the rotation of the player, its almost done! :)

The arcade game has a joystick that looks like an ordinary arcade joystick, but you can turn it, to change the shooting direction of your player while running the other way.  I'm currently testing a 2 button method (one for rotate gun right, other for left), this way they can be mapped to the shoulder buttons on a gamepad.

So far it works pretty good! :D

best regards,
- dink

Offline gamez fan

  • Expert
  • *****
  • Posts: 509
  • Karma: +13/-1
  • Arcade Addict
Heavy Barrel by DataEast.
I'm working to map some buttons to change the rotation of the player, its almost done! :)

The arcade game has a joystick that looks like an ordinary arcade joystick, but you can turn it, to change the shooting direction of your player while running the other way.  I'm currently testing a 2 button method (one for rotate gun right, other for left), this way they can be mapped to the shoulder buttons on a gamepad.

So far it works pretty good! :D

best regards,
- dink

Nice work it's probably not possible but the best solution would be to mimic the Arcade Rotary Joystick setup thats to say
on a gamepad left stick would be move player left right up down diagonal etc and right stick would be turn player when shooting
there's a few hacks in MAME that do this still waiting for that Joystick Hack of Midnight resistance to be dumped if it ever is

Online dink

  • Administrator
  • *****
  • Posts: 2556
  • Karma: +216/-0
  • summer is here!
gamez fan, I'll see what I can do :) (no promises though - sometimes I just can't figure things out)

I got Heavy Barrel working using the L/R shoulder buttons for both players now, I had my neighbor/friend help me test 2p mode a bit ago, and we had a blast.   I'm really glad to get this game in a better working condition in FBA, because only being able to shoot in 1 direction kinda ruins it. 

best regards,
- dink

Offline gamez fan

  • Expert
  • *****
  • Posts: 509
  • Karma: +13/-1
  • Arcade Addict
gamez fan, I'll see what I can do :) (no promises though - sometimes I just can't figure things out)

Hey man no worries just having it controlable in FBA is good enough as for figuring things out tell me about it im currantly
trying to backport the graphic and sound fixes for Fire Barrel from newer MAME to MAME84 absolute nightmare :)

Online dink

  • Administrator
  • *****
  • Posts: 2556
  • Karma: +216/-0
  • summer is here!
Well, I ended up liking the new controls for Heavy Barrel gun rotation so much that I changed the Midnight Resistance driver to use it too.
This fixes 2 problems with the current (old) Midnight resistance code for rotating your gun...
1: Deadzones, sometimes pressing the button assigned to it does nothing for a couple presses!
2: Response time, sometimes pressing the button takes a second to finally move your gun, or sometimes it moves your gun too many steps, with the new code, 1 button press moves the gun instantly 1 position.  And now if you hold it down, say 1 second, it will always move your gun 180 degrees.

I'm going to play a couple games with a friend tomorrow and see how the new code holds up :)

best regards & happy gaming,
- dink

Online dink

  • Administrator
  • *****
  • Posts: 2556
  • Karma: +216/-0
  • summer is here!
Hey guys,
I'm kinda bummed out about something.  Everything was going just perfect with the new controls in Heavy Barrel, and I did a couple of playtests.  There seems to be a strange problem in the emulation, though.  When going through the wall after beating the second boss (or the third boss), it will then take you to a random level in the game, or a corrupted-tile looking level.
I've played the game 5 times now, and its easily repeatable - even tried with a fba without my changes... :(
How to reproduce:
After the second boss has been defeated, take a snapshot right before you blow through the wall and walk through it, now go through the wall, if it takes you to the third level, load the snapshot and try again - there seems to be a 50% chance it will take you to the wrong level.  The next time it will take you to level 1,2,or some corrupted level...

What now? I'm comparing the mame driver to the FBA driver to see if I can spot anything that could be causing the problem.. But right now its looking a little grim :(

best regards....
- dink

Offline Treble Winner

  • FBA Dev
  • ******
  • Posts: 1802
  • Karma: +104/-0
  • FB Alpha Team
    • http://www.barryharris.me.uk
Hey guys,
I'm kinda bummed out about something.  Everything was going just perfect with the new controls in Heavy Barrel, and I did a couple of playtests.  There seems to be a strange problem in the emulation, though.  When going through the wall after beating the second boss (or the third boss), it will then take you to a random level in the game, or a corrupted-tile looking level.
I've played the game 5 times now, and its easily repeatable - even tried with a fba without my changes... :(
How to reproduce:
After the second boss has been defeated, take a snapshot right before you blow through the wall and walk through it, now go through the wall, if it takes you to the third level, load the snapshot and try again - there seems to be a 50% chance it will take you to the wrong level.  The next time it will take you to level 1,2,or some corrupted level...

What now? I'm comparing the mame driver to the FBA driver to see if I can spot anything that could be causing the problem.. But right now its looking a little grim :(

best regards....
- dink

Could be unmapped reads/writes or more likely an issue with the i8751 simulation. That's where I'd look first.

Also - does this happen in normal play or just when using savestates? It looks like these should probably be saved (in HbarrelI8751Write);

Code: [Select]
static INT32 Level, State;
« Last Edit: April 11, 2014, 04:55:18 pm by Treble Winner »

Online dink

  • Administrator
  • *****
  • Posts: 2556
  • Karma: +216/-0
  • summer is here!
Woohoo! It looks like I spoke too soon, problem solved! :)  Somehow the level variable for the I8751 pseudo-emu was getting changed about because it was not properly initialized, I moved it to the global scope and init it (along with the state var) on reset, and also scan the variables for working savestates.

For those that don't know the game - Heavy Barrel is kinda like a strange combination of Contra and Ikari Warriors, and I definitely recommend checking it out (especially when the next version of FBA is out! - these changes really make the game play right)

Anyways, sorry for the ranting earlier, I guess I need to take a break from coding more often o.O

best regards,
- dink

Offline Treble Winner

  • FBA Dev
  • ******
  • Posts: 1802
  • Karma: +104/-0
  • FB Alpha Team
    • http://www.barryharris.me.uk
Looks like you found it. :)

Online dink

  • Administrator
  • *****
  • Posts: 2556
  • Karma: +216/-0
  • summer is here!
:) Thanks though!

Here's proof the game is now working fine and the new controls rock :D   Heavy Barrel  :cool:
p.s. will post code to svn after some 2player playtesting.
« Last Edit: April 11, 2014, 05:58:48 pm by dink »

Online dink

  • Administrator
  • *****
  • Posts: 2556
  • Karma: +216/-0
  • summer is here!
Now I'm stuck on something else - this time with the game Midnight Resistance.  When you get to the part with the gears and conveyor belts, nothing shows on the screen, see pic: (The first pic - FB Alpha, the second pic - from mame - how it should look) p.s. its on the second level, if you need to figure out how to get to this exact spot, Watch this video.  The part where the issue occures is at 2:14 - http://youtu.be/beoHC4KCq4I?t=2m14s
« Last Edit: April 12, 2014, 04:22:48 am by dink »

Online dink

  • Administrator
  • *****
  • Posts: 2556
  • Karma: +216/-0
  • summer is here!
(Continued from last message - due to the attachment size limit)

The third pic is FB Alpha, but I kept shooting at the ground, and eventually proceeded downwards as normal, and as soon as the top part - the beige platforms - scrolls off the screen, the gears & blue platforms show normally.  I'm afraid I need some help with this one.

best regards,
- dink
« Last Edit: April 12, 2014, 04:13:05 am by dink »

Online dink

  • Administrator
  • *****
  • Posts: 2556
  • Karma: +216/-0
  • summer is here!
It happens again a little later in the game, refer to the second pic in the last post, and the pic right below this text, when I travel down the ladder a little more, the screen then becomes visible.