Wait a second, don't you have a SNESC? You can fix and test yourself
Or do you just want people to double check?
Oh no! They're onto me!
Yeah, I really
should do the testing myself, but... well... I'm lazy!
But yeah, I do some testing myself, but it really starts to become tiring going back/forth from the TV to the PC.
Especially with the amount of attempts I try for each fix.
I've realized that certain PC emulators are very
close to Canoe.
So the majority of my testing actually happens right on the PC.
But yeah, you're right.
I really should test these things myself, so I apologize for forcing that upon you guys.
For me the game now works fine, no blue lines at top or bottom, no black ocean or no zooming slowdowns.
Maybe some one more familiariced with this game than me can test it better, i have recorded a video to show:
ActRaiser 2 is officially 100% fixed!
Thank you SupaSAIAN!
The POWER of HDMA!
While changing the backdrop color, I realized something.
The ocean tiles are, well, gone. They are never displayed.
This was one of Sluffy's fixes.
It made the ocean color a single uniform color (backdrop), instead of ever-so-slightly different when the ocean tiles stop and becomes the backdrop color.
This was also required since Canoe completely and utterly fails to properly emulate $211A's fill-outside-space-with-tile $00.
I tried turning the backdrop color black during the world map view, but since ocean tiles aren't included in VRAM, it just displayed the black backdrop for the ocean.
So backdrop editing is a no-go.
BUT! There was still one option left to go.
HDMA! Damn, this thing is amazing!
HDMA = Allows editing of PPU registers on each SCANLINE! That's right, each scanline!
This is how ActRaiser 2 accomplishes a mode 7 layer in mode 1 ($2105).
Anyways, luckily for us, ActRaiser 2 only uses 7 of the 8 available DMA channels during the world map view.
That leaves us one left over for us to use.
Created an HDMA routine that forces brightness to 0, or black, ($2100 bits 2-0) for the first scanline as well as the 224th scanline.
All other scanlines display full brightness.
BUT! We need to specify to enable this HDMA only during the world map view.
Simple solution, create a comparison check to verify which screen we are looking at.
Compare the current value of $212C (enables/disables main screen layers) to the value it contains when displaying the world map.
If true, enable channel 8 HDMA. If false, disable channel 8 HDMA.
And viola! No more backdrop color seeping through the top and bottom scanlines when on the world map view!