This is a thread for an attempt to "port" the CPS arcade game Final Fight to the Atari STE and Atari Falcon030 machines.
Be aware that I'll use this thread for updates on the development and other news or interesting things/findings around this topic. So do not expect a full game soon(tm).
Final Fight was a long time candidate for a port but disassembling the original arcade code was a true nightmare due to use of linked lists and word addressing (since the CPS RAM can be accessed by this method). Anyway, the current version can now be reassembled (with changes and optimizations) and works again (except for a small glitch) using MAME.
Here's a very short video showing Haggar's introduction part of the attract mode (Haggar's piledriving move):
So what's different now compared to the disassembly of Daimakaimura?
Mainly the code is now relocatable so it is not tied to the low memory space area where it used to reside. This is a big advantage because the OS data and variables area is not being overwritten so I can use file access functions to load assets from within the emulator.
Anima wrote: ↑Sat Feb 18, 2023 11:16 am
This is a thread for an attempt to "port" the CPS arcade game Final Fight to the Atari STE and Atari Falcon030 machines.
Be aware that I'll use this thread for updates on the development and other news or interesting things/findings around this topic. So do not expect a full game soon(tm).
Final Fight was a long time candidate for a port but disassembling the original arcade code was a true nightmare due to use of linked lists and word addressing (since the CPS RAM can be accessed by this method). Anyway, the current version can now be reassembled (with changes and optimizations) and works again (except for a small glitch) using MAME.
Here's a very short video showing Haggar's introduction part of the attract mode (Haggar's piledriving move):
Stay tuned for more information and feel free to comment...
Edit: spelling
Capcom CPS sprites references are laid into the program in an easy to get format.
Now SPS France representative since the 19th of June 2014. Proud to be an SPS member !
Atari 520 STF / Atari 1040 STF / Atari 520 STE / Atari 1040 STE / Atari Falcon 030 14mb + 8gb CF
Now SPS France representative since the 19th of June 2014. Proud to be an SPS member !
Atari 520 STF / Atari 1040 STF / Atari 520 STE / Atari 1040 STE / Atari Falcon 030 14mb + 8gb CF
Short update: the program now runs on the Falcon 030 as well.
In fact the code was running already on the Falcon but it was impossible to start and it "waits" infinitely for something. The game did not crash at all so it was not easy to find the reason just by comparing the lenghty trace output with the Atari STE.
However, on a second thought there is a suspicious trap exception handling including stack frame modifications and it was indeed the right location to fix it.
Anima wrote: ↑Fri Mar 03, 2023 10:49 am
Short update: the program now runs on the Falcon 030 as well.
In fact the code was running already on the Falcon but it was impossible to start and it "waits" infinitely for something. The game did not crash at all so it was not easy to find the reason just by comparing the lenghty trace output with the Atari STE.
However, on a second thought there is a suspicious trap exception handling including stack frame modifications and it was indeed the right location to fix it.
do you mean a size of exception stack frame 68000 vs 68020?
Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net Hatari / Steem SSE / Aranym / Saint http://260ste.atari.org
I would like to get some feedback from users with a MC68040 or MC68060.
Please follow the instructions in the archived readme.txt how to rebuild the binaries. Note: start the program in ST-Low resolution without anything else loaded like ACCs.