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

Offline dink

  • Administrator
  • *****
  • Posts: 2509
  • Karma: +213/-0
  • I <3 fried chicken
@destronger - thanks, great idea :)

After sleeping half the day, I came up with a couple of good fixes:
1 - Contra, fixed the slowdown when lots of stuff is on the screen & increased the music tempo
2 - The New Zealand Story, savestates now work without crashing, and fixed the low music/sfx volume.

thats it for now,
best regards,
- dink

Offline manliodp

  • Newbies
  • *
  • Posts: 44
  • Karma: +0/-0
OMG you're doing a wonderful work!!

Thank you and keep going!! :)

Offline dink

  • Administrator
  • *****
  • Posts: 2509
  • Karma: +213/-0
  • I <3 fried chicken
manliodp, thanks :)  I'm trying to give back something to my favorite emulator, thats all!

Heres some more good news, Barry fixed the graphics corruption/issues on stage3 of Contra - now the game is 100% playable!! :D  Teamwork!!  :biggrin:

EDIT: some more Contra-goodness - fixed the 2nd player inputs for 2player Contra-netplay with Kaillera, and fix the palette after loading a savestate (the problem only became apparent in the last 2 levels)

« Last Edit: April 19, 2014, 01:40:44 am by dink »

Offline dink

  • Administrator
  • *****
  • Posts: 2509
  • Karma: +213/-0
  • I <3 fried chicken
Today I made a couple of modifications to kailleraclient.dll, which is basically the netplay interface for FB Alpha and many other emulators.

Changes:
kaillera .ini file is now saved to the directory of fbalpha's executable as ka.ini, instead of in C:\n02.ini
reasons for this:
For some reason, my friends system (win8.1) doesn't have write permissions to C:\ (root dir), so his settings were always lost after a restart & it looks better not having an ini on your root directory. (other systems)

The context menu for creating and joining games would sometimes change to some language other than English.

The titlebar infotext was slightly modified to reflect these changes.
Here's a link to the updated dll (zipped), http://cloud.cbm8bit.com/dink/kailleraclient.zip

best regards,
- dink

Offline dink

  • Administrator
  • *****
  • Posts: 2509
  • Karma: +213/-0
  • I <3 fried chicken
A little solution to "shit happens", by dink.

So, every once in a while I accidentally overwrite a savestate, and its really frustrating - especially if the one that got written was absolutely useless.  I've added a little 3-line chunk of code that backs up the last savestate (the one thats about to be overwritten) to gamename slot xx.fs.backup

thats it for now,
best regards,
- dink

Offline dink

  • Administrator
  • *****
  • Posts: 2509
  • Karma: +213/-0
  • I <3 fried chicken
Hi guys,
Today we have some more good news, I patched up savestates for Altered Beast, as saving and loading a state would cause corrupted/distorted sound or hung notes, or no audio at all depending on when you saved the state.  A good way to reproduce this bug almost every time is to save/load a state right after hitting start when the wizard says "Rise from your grave".

Technically: UPD7759 and YM2151 wasn't being scanned properly (not enough variables - or too many we're being scanned) & check for clipping while mixing audio w/UPD7759.

thats it for now...

best regards,
- dink

Offline dink

  • Administrator
  • *****
  • Posts: 2509
  • Karma: +213/-0
  • I <3 fried chicken
Enough of the fixes, its time to play some games :)
Tonight I did a couple practice runs of Altered Beast (using savestates), then I ended up beating it on my first coin on a fresh run without any savestate usage.  Back in the late 80s, I wasn't too much a fan of the game, but now I love it :)  *Back then, I also sucked at any game that had more than 1 button - so go figure* :biggrin:


Offline dink

  • Administrator
  • *****
  • Posts: 2509
  • Karma: +213/-0
  • I <3 fried chicken
Over the last couple days when the forum was down, I was busy working on FBA.. Heres a log of the past 3 days:

A singular backup for each savestate slot - lets say you saved something to slot 1 at the wrong time, and it ruined your only good savestate of this game - no problem - your last savestate that got overwritten will be renamed to "gamename slot 01.fs.backup"  Just go and delete the new/bad savestate and rename the .fs.backup to .fs

Savestate support added in the games: Toki, Donkey Kong & DK Jr.

Fixed some clipping/distortion in the Konami K053260 chip emulation, most notably fixes crackles during some sounds in the game Vendetta.

Fix states for games using YM2151 and UPD7759 chips, and fix some clipping/distortion (crackles in sound) in UPD7759 games.

And now, something I consider a holy grail fix - Cutscene/music timing is now properly synchronized and SFX work in the classic Gun.Smoke  :)

I always wondered why some games sounded better in MAME, and I stumbled over the problematic code while working on Gun.Smoke the other day which causes the issue...
Games that use the YM2203, such as Gun.Smoke, Ghosts and Goblins, Karnov, etc. init the driver at a really low khz.. like 5-10khz when the setting "4 point 3rd order FM Interpolation" is selected in the Audio tab of the toolbar.   I've temporarily fixed this by forcing the driver to init at the rate selected in Audio -> Plugin Options -> 44100hz (the rate I have selected), and it works just fine, but I wonder if thats the best way to go about it?  Hmm...

Thats it for now,
best regards,
- dink


Offline gamez fan

  • Expert
  • *****
  • Posts: 507
  • Karma: +13/-1
  • Arcade Addict
I enjoy reading your WIP posts dink some more good work done long may it continue!!

Offline dink

  • Administrator
  • *****
  • Posts: 2509
  • Karma: +213/-0
  • I <3 fried chicken
Heres what's new for today:
Part 3 of "do research/code compare/figure out why sounds are wrong in GunNail & try to fix it" - ongoing (no fix yet!)

I was playing Karnov a bit earlier, and hit reset for some reason, only to realize that reset caused FBA to crash.  The crash also happened with the other games in the d_karnov.cpp driver, so now thats fixed :)

@gamez fan, thanks buddy :)

best regards,
- dink

Offline dink

  • Administrator
  • *****
  • Posts: 2509
  • Karma: +213/-0
  • I <3 fried chicken
Good day, fellow FBAlpha fans!

I have finally found the solution to the broken SFX & music in the game GunNail.  For weeks I have been going through the code line-by-line trying to figure it out, comparing it with the MAME driver code, and other drivers in FBA... and every time I'd end up giving up/thinking there wasn't a solution.  You see, I have a list of games in FBA that don't work right (or don't work to my liking), and a couple of weeks ago, I didn't think I'd ever be able to repair them.  So when I get to cross one of them off my list, its an exciting day for me :) 
Contra (with massive help from Treble Winner) and Gun.Smoke were previously on that list, too..

Another (albeit, less significant) fix I came up with earlier is for the game The Berlin Wall - FBA would crash if you tried to reset (F3) the game.

Well, thats it for now - I need a nice break ;p

*EDIT: Later that night....*
Now that GunNail is working properly in FBAlpha, I figured doing a little bit of playtesting would be a good idea because one can never be sure about bugs that may occur later on in the levels.. heh :)
Yea, its perfect.

best regards,
- dink
« Last Edit: April 27, 2014, 03:03:06 am by dink »

Offline dink

  • Administrator
  • *****
  • Posts: 2509
  • Karma: +213/-0
  • I <3 fried chicken
Changes for this lazy sunday...

The Multi-Screen games...
Darius2, Ninja Warriors, Rastan III - Warrior Blade (d_darius2.cpp driver): Fixed the controls to play over Kaillera & scan the parameters.etc. of the extra screens when using savestates.  Previously, it only scanned the first screen's parameters, which lead to cut off/missing text on the second/third screen and/or weird error messages on the second or third screen.

Regarding Taito games and savestates - a lot of them will have a missing background if you exit/reload FB Alpha and load the savestate, but don't worry - move around a bit or wait a a bit and it will re-appear.  If you use savestates at different points in the level, and want to go back, they work without this missing-background problem though[AKA: NO problem, MON!].  I havn't yet found a decent way to fix this problem, but the work-around isn't too bad..

Added Savestate capability to The Fairyland Story's driver.

thats it for now :)
best regards,
- dink
« Last Edit: April 28, 2014, 01:58:33 am by dink »

Offline dink

  • Administrator
  • *****
  • Posts: 2509
  • Karma: +213/-0
  • I <3 fried chicken
Rastan 3: before / after

Offline vbt

  • Member
  • ***
  • Posts: 193
  • Karma: +9005/-0
is there a list of bugs somewhere ? maybe i could help too

Offline dink

  • Administrator
  • *****
  • Posts: 2509
  • Karma: +213/-0
  • I <3 fried chicken
is there a list of bugs somewhere ? maybe i could help too

Theres a thread called "FB Alpha 0.2.97.29 Bugs Reports" where you can read about glitches and issues in games.  It would definitely be nice to have someone else helping with the glitches/bugs/etc :)

best regards,
- dink