Relocation of DPC+ ROMs for Uno/PlusCart

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JetSetIlly

Al_Nafuur, MarcoJ and myself have been working on getting DPC+ working on UnoCart and PlusCart. It's been half-working for several years but the half that didn't work, the interesting part, was execution of ARM custom code.

I'm pleased to say we succeeded. Here's Marco and Wolfgang on ZeroPageHomebrew making the announcement https://www.youtube.com/watch?v=BdGMwXG-rks

The reason DPC+ games didn't work on the Uno/PlusCart was because the memory layout of these cartridges is significantly different than the Harmony. So for a DPC+ ROM to work it needs to be either (a) recompiled or (b) poked.

Marco and I started by poking the Scramble demo. We got most of the way there but the game wasn't running quite right. Graphical glitches were everywhere. We weren't sure if we'd poked everything we needed to or if the DPC+ driver itself wasn't quite right so we needed a different approach.

John Champeau very graciously gave me access to the source code for Scramble and I rebuilt the game with the UnoCart addressing. To cut a long story short we eventually got Scramble running on the PlusCart.

The vast bulk of DPC+ games are written in Batari Basic (I'm genuinely surprised there are so many) so getting these working was a big part of the project. Happily, Al_Nafuur realised very early on that all we needed to do for these ROMs was to slice out the bB DPC+ kernel section and replace it with our own. Again, to cut the long story short, we got this working too! Dozens of DPC+ games are now working on the UnoCart and PlusCart

The tool for converting bB DPC+ ROMs has just been released. Binaries are available for common platforms. https://github.com/JetSetIlly/relocateBB/ Hopefully, this will become part of the standard bB build process.

One awesome detail I should mention is that the PlusCart automatically converts bB DPC+ ROMs as part of the process of downloading from the network.  How convenient is that?! So for developers, they can now use the PlusCart for bB development just as easily as they can the Harmony, if not more easily.

https://github.com/JetSetIlly/Gopher2600
@JetSetIlly@mastodon.gamedev.place
@jetsetilly.bsky.social