Hard to tell tbh, I'm still torn as to what road to go to hopefully achieve animated water tiles.
I'll attempt disassembling the MMC3 conversion alongside the MMC5/Optimum too.
Once both conversions are disassembled, we can see which one to go for the animated tiles lol.
The MMC5 one is already disassembled, I'll just need to make the proper header for it, and I'll start the MMC3 one today.
------------------------------------------------------------------------------------
Aside from that, I added some slight changes to the repo during the weekend.
1) I fixed the Recoloured Dungeons patch, since some people reported that after coming back from stairs, the dungeon goes back to the default colour scheme. This has been fixed, and I also went ahead did two more things to this patch:
* Made it so that the sprite palette now matches the dungeon colour instead of using the original's palette (this affected certain things as movable objects like the blocks to make stairs appear, and certain enemies like the Gels/Zols, they now match the dungeon colour like in the original Zelda 1).
* Changed the palette for the Dark Rooms, so they also match the palette of the recoloured dungeon now.
If we really want to be picky with this patch, then there's still the fade-in/fade-out effects which still use the original dungeons, but to be honest those go by so quickly that they're not that noticeable, so right now I won't bother with those.
2) I made a new optional patch. This one is rather small and quick to do. The new patch disabled the low health beep sound as requested by some people, and to make it in-line with the Zelda 2 Redux optional patch of the same vein.
------------------------------------------------------------------------------------
Okay so I think I'm done with the MMC3 conversion disassembly?
Or so I think lol
Here's the disassembly for MMC3:
https://pastebin.com/kPsFGCgfAnd for reference, here's the MMC5 (Optimum) one I posted previously:
https://pastebin.com/S0esDdUzI have only one question, and that's the header part.
I think I understand the parts of it, but I am confused by the 4th and 5th bytes.
@bogaabogaa in the code you posted for the iNES header, you had those two bytes without "$" in them, does that mean those values are in decimal?
Here's what I have for the 3 headers (the first line in the MMC conversions are the offset and Hex values changed):
db $4E,$45,$53,$1A // Header (NES $1A)
db 08 // 8 x 16k PRG banks
db 00 // 0 x 8k CHR banks
db %00010010 // Mirroring: Vertical
// SRAM: Not used
// 512k Trainer: Not used
// 4 Screen VRAM: Not used
// Mapper: 1
db %00000000 // RomType: NES
db $00,$00,$00,$00 // iNES Tail
db $00,$00,$00,$00
// 0x00006 - 42
db $4E,$45,$53,$1A // Header (NES $1A)
db 08 // 8 x 16k PRG banks
db 00 // 0 x 8k CHR banks
db %01000010 // Mirroring: Vertical
// SRAM: Not used
// 512k Trainer: Not used
// 4 Screen VRAM: Not used
// Mapper: 4...?
db %00000000 // RomType: NES
db $00,$00,$00,$00 // iNES Tail
db $00,$00,$00,$00
// 0x00004 - 40 80 52
db $4E,$45,$53,$1A // Header (NES $1A)
db 64 // 64 x 16k PRG banks
db 128 // 128 x 8k CHR banks
db %01010010 // Mirroring: Vertical
// SRAM: Not used
// 512k Trainer: Not used
// 4 Screen VRAM: Not used
// Mapper: 5
db %00000000 // RomType: NES
db $00,$00,$00,$00 // iNES Tail
db $00,$00,$00,$00
For anyone adept enough, please check those header values and let me know if they're correct.
Also, let me know if the disassemblies seem good enough or not.
I already have the MMC3 one ready, and the MMC5 is only lacking the proper header info, and that's it.
Apart from that, I have zero clue as to how to implement this to properly make bankswitching and make the tiles change lol
Also, I noticed that both MMC conversions seem to modify code at the end of bank 7, around the 1FFXX section of the ROM.
IIRC, some code from Redux already uses that section too, so it seems like there will be some code collision in there, unless there's a way to still make both codes work (Redux & MMC) alongside each other.