Detecting Akiko on a CD32 with 68030

24 January 2024

At Amiga Ireland, I was able to test Rogue Declan on CRG's epic twin-stick arcade board, but it actually didn't boot until he removed his TF330 accelerator. This was confounding, and annoying, as I had been testing on a CD32 with a TF330 fitted myself.

=> [IMG: CRG's CD32 Arcade Board]

After a lot of testing and burned CD-Rs, we determined that the game wasn't detecting Akiko, and therefore assuming it wasn't running on a CD32 then going down a code path that happened to crash on that hardware.

Digging around on the Exxos forums we had discovered that Kickstart on a CD32 can fail to detect Akiko if the CPU has a data cache (as is the case on the TF330 but not a stock CD32) and the Akiko memory-mapped I/O area is left as cacheable (as it is by default). GfxBase->ChunkyToPlanarPtr is incorrectly set to NULL. In fact, a "AkikoTFFix" utility had been created to work around this very problem with the TF330.

The fix I settled on for Rogue Declan was to do some FindResident() calls as a heuristic check for running on a CD32, then re-do the Akiko hardware checks the OS does, except with the data cache disabled.

=> [IMG: Detecting Akiko on CD32]

Amiga CD platforms once again prove themselves to be a whole different bag of cats than the floppy-based systems.

Related Links

=> Rogue Declan - Boxed Editions [polyplay.xyz]
=> Casual Retro Gamer [YouTube]
=> AkikoTFFix [Aminet]

=> Amiga Ireland 2024

Tags

=> amiga
=> gamedev
=> retro

Proxy Information
Original URL
gemini://s73.girv.in/glog/2024/2024-01-24-cd32-akiko-68030.gmi
Status Code
Success (20)
Meta
text/gemini;lang=en
Capsule Response Time
141.107473 milliseconds
Gemini-to-HTML Time
0.534729 milliseconds

This content has been proxied by September (ba2dc).