I'm puzzling over some Disk System documentation and trying to wrap my head around a few hardware concepts, especially related to the Legend of Zelda. As I understand it, the RAM adapter generally functions as a writeable NROM (32K PRG-RAM, 8K CHR-RAM) and the BIOS coordinates shuttling data to and from the disk as needed. Also, unlike 3.5" floppy sectors, data blocks on disk can be of dynamic length. My question is whether the BIOS handles data retrieval like swappable banks in an MMC. In other words, when Link enters a new area, is the entire 8K of CHR-RAM swapped at once, or does the software swap tile blocks in and out as needed? The same question applies for game code.
Second, while searching the forums, I've found a few mentions of Zelda's 'bizarre' compression scheme (which was carried over to the cart version). Ditto for a post on romhacking.net. However, no one mentions precisely how the compression works. I assume the compression format is related to my question above, as a means to pack level data efficiently for disk-to-adapter transmission. (Also, does anyone have access to the partial disassembly mentioned in the romhacking forum? The link is dead now [no pun intended].)
I have also read that Zelda's dungeons (and overworld) fit like puzzle pieces into 16x8 screen matrices. How are these stored in memory and how are individual dungeons referenced during play (e.g. by coordinates within the screen matrix)?
I also found this partial disassembly interesting, for those who hadn't seen it.
Second, while searching the forums, I've found a few mentions of Zelda's 'bizarre' compression scheme (which was carried over to the cart version). Ditto for a post on romhacking.net. However, no one mentions precisely how the compression works. I assume the compression format is related to my question above, as a means to pack level data efficiently for disk-to-adapter transmission. (Also, does anyone have access to the partial disassembly mentioned in the romhacking forum? The link is dead now [no pun intended].)
I have also read that Zelda's dungeons (and overworld) fit like puzzle pieces into 16x8 screen matrices. How are these stored in memory and how are individual dungeons referenced during play (e.g. by coordinates within the screen matrix)?
I also found this partial disassembly interesting, for those who hadn't seen it.