New Gradius III and Super R-Type updates - Download here
Added 2022-09-06 13:23:05 +0000 UTCHi everyone! Hope everything is okay.
As some might be aware, some of my SA-1 patches doesn't seem to work with specific SA-1 cartridges. The reason seemed unknown so far, but recently Jonas Quinn caught my attention to the fact that apparently my patches attempts writing to I-RAM before it's "allowed" to use.
As an experiment, I changed part of my SA-1 boot code on Gradius III and Super R-Type patches to enable I-RAM write before using the SA-1 stack -- apparently this might be the responsible for the failures on certain SA-1 cartridges, because activating I-RAM too late likely created undefined behavior on stack operations over hardware.
The new version of Gradius III and Super R-Type, attached on this post, fixes the bug. In case of positive feedback and no major bugs, these will be released to the public on the next days.
The ZIP package includes:
- Gradius III (USA) + SA-1 v1.7
- Gradius III (Japan) + SA-1 v1.7
- Gradius III (USA) + SA-1 + Speed down addon v1.7
- Gradius III (Japan) + SA-1 + Speed down addon v1.7
- Super R-Type (USA) + SA-1 v1.2
Gentle reminder that these are BPS patches. Check here how to apply ROM patches: https://sneslab.net/wiki/How_to_apply_ROM_patches
Hope you like this early access patch and thank you for your long support.
I'm not been in the best pace lately, lot of things happening on my last university semester and on house renovations, but Super Metroid SA-1 is still work in progress and expected to be released through the next months.
Comments
Yeah, I wonder the same too. I know some SA-1 cartridges persist I-RAM like SRAM and while the initial values might be random, they are not completely random according research done by Near years ago. So it's something to eventually figure it out.
Vitor
2022-09-10 02:23:35 +0000 UTCInteresting. I wonder why each cartridge initialises I-RAM differently. Maybe different SA-1 revisions or something?
re4mat
2022-09-08 05:10:16 +0000 UTCSome SA-1 cartridges appeared to not work with my ROM hacks, while using other SA-1 commercial games it worked as expected. A programming error on my part made my SA-1 CPU boot code attempt writing to the I-RAM (SA-1 internal memory) before it was enabled to use. This made the data bank configuration to read the previous value that was stored on I-RAM, and each cartridge, I believe, initializes the I-RAM differently. So some games booted normally even with the wrong data bank with certain cartridges while others failed completely. I suspect the same issue applies for Contra III, so if this fix works (I already two positive feedback so far), it's gonna improve compatibility with hardware substantially.
Vitor
2022-09-07 19:21:32 +0000 UTCWhat was the actual behaviour that was reported? Which cartridge(s) had the bug?
re4mat
2022-09-07 03:51:20 +0000 UTC