Final Fight 30th Anniversary Edition CPS2!
Since completing Final Fight Anniversary Edition in December of 2019 we have been hard at work reverse engineering and creating tools for the next upgrade to Final Fight. After over a year of background development and planning we are proud to announce the greatest upgrade Final Fight will ever receive!
Our newest project will port Final Fight Anniversary Edition to the CPS2 hardware, with all the bells and whistles that one would expect. We're talking about virtually no sprite limit, no slow down, Q-Sound audio, eeprom settings/hi-score backup, software configuration screens, among other enhancements! While there are several large development issues to solve to fully implement a CPS2 port of final fight, we are happy to say that the game is already fully functional and playable from start to finish.
Recently a brilliant entrepreneur Totomix created a Final Fight AE arcade cabinet which is currently playable at his arcade in Italy. As a result of his fantastic work we delivered to him an upgrade to the original CPS1 release of FFAE.
Known as v0.2 it fixes:
* Haggar dynamite scene graphics error
* P1/P2 no-dupe character bug
* Invincible Rolento/Hollywood bug (original issues in the world version, solved 31 years after release)
* Unique palettes for each player
* Additional palette for each character
This version of FFAE will now be available to all of our patreons as a patron exclusive. We encourage you to look at our recent Patreon Rebranding post for more information.
And now on to the heart of this post: the ultimate Final Fight port.
As was mentioned, for the last few months we have been getting the bones of the CPS2 port working. Final Fight's register handling has been updated to work on CPS2, the graphics ROM has been expanded to take advantage of CPS2's higher tile address range, the vsync, reset and error vectors have been reworked, and the sprite memory handlers have been completely rewritten.
And after all that we have this:
https://www.youtube.com/watch?v=psvnPNxETnc
Beautiful, isn't it? But there are still many difficult problems to overcome.
Let's take a look at what features will be available, and then what developments remains.
Features:
* Increased sprite count, virtually eliminating all flicker
* Increased CPU speed, vastly reducing any slowdown
* Q-Sound enhancements, stereo and higher fidelty samples
* Software DIP and settings screens, exactly the same screens you'd expect in any CPS2 title
* Eeprom backup of settings/hi-scores, all settings are stored to the same eeprom CPS2 titles use, but in addition highscores will also be stored!
* Numerous enhancements/new settings for replayability and customer retention!
Enhancements:
* Q-Sound Stereo Separation for sound effects/music
* Multiple "sound fonts", original samples/captured FM synth, AS WELL AS, enhanced samples to breath new life into the game and give effects extra OOMPH
* Randomized enemy palettes, both skin tone and clothing colors are randomized for unlimited variablity, or use the original palettes for a classic experience (Mostly complete!)
* Randomized enemy/boss names, multiple options provide for either randomized backer names, randomized generic names, or original naming
* Additional enemies/items in three player, our level/script editor makes it possible to modify the game to better suit the three player experience!
* Disable/Enable friendly fire, one of the most requested features of Final Fight fans
* Disable/Enable "click in" damage, the damage dealt to all enemies when using an extra life
* Configurable extra health for enemies in three player, 1.25x, 1.5x, normal
* Configure whether infinites are possible
* Increased enemy difficulty, wake up invincibility, further knock-back wall placement, off-screen invinciblity
* Bugs from the original release of Final Fight fixed
* AND MORE!
Patrons that are in the Final Fight AE Enemy/Boss tiers at the end of FFAE CPS2's development will be added to the list of randomized names that can be assigned to enemies.
All of these new settings will be stored in eeprom and will be configurable through the service menu.
After all that you have to be wondering, so what's the catch? Q-Sound.
The current build is completely silent, we need to aleviate that. To do so we will need to reverse engineer multiple capcom sound drivers. Sound tough? It is, but we also have quite a bit of experience with Capcom sound drivers and have already identified Final Fight's music data.
So, with that in mind, let's list the required tasks:
* Reverse engineer FF sound driver and a CPS2 sound driver
* Convert all samples to Q-Sound
* Convert all music to new drivers music format
* Modify music scripts to only produce the FM sound effects/notes, capture samples of all FM synth audio
* Add Q-Sound handling to 68k sound interface (partially done in CPS 1.5 conversions)
* Have all music tracks modified to include stereo separation on instruments where appropriate
* Implement stereo calculation for new Q-Sound interface
* Have audio engineer rework all samples in hi-fidelty for enhanced audio mode
* Implement eeprom read/write
* Implement/port service menu
* Fix sprite issues, incorrect cut off at top of screen, fire placement
* Improve layer priority handling
* Rework areas where palette masking was used to display on top of characters
* Other enhancements
As you can see, the majority of the work will be in creating the sound driver and porting the sound data. We will be attacking this first. When the q-sound driver is in its early stages of working we would like to begin alpha testing.
The other elements of porting a CPS1 game to CPS2, namely the eeprom, service menus, palette masking handling are more straight forward. As you may have already guessed, much of this work will lay the foundation for additional CPS1/1.5 to CPS2 ports! Darksoft multi owners, conversion enthusiasts, FPGA fanatics and emulation nuts will all benefit from the massive upgrades CPS2 can offer to these aging games.
We estimate the project to take 4-6 months, the initial q-sound development should be completed in approximately 2 months and the first alpha test should begin shortly after.
We're at the cusp of a new age for CPS modding. Let's make it happen!
