SamSuka
vitorvilela
vitorvilela

patreon


New Gradius III and Super R-Type updates - Download here

Hi 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:

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

Interesting. I wonder why each cartridge initialises I-RAM differently. Maybe different SA-1 revisions or something?

re4mat

Some 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

What was the actual behaviour that was reported? Which cartridge(s) had the bug?

re4mat


More Creators