Secret door maps...
Finding the map layout was actually a huge pain in the ass; deciphering it turned out to be kind of easy, though--once I knew the general area to look at.
For the curious, this is the procedure I used:
I made multiple memory dumps from Vice from within different dungeon levels, and while my party was on different tiles.
Then I used a 'diff' tool, a program that compares two files and shows the differences between them. WinMerge turned out be a an excellent tool for this work.
First, I compared two memory dumps from different tiles on the same dungeon level. I kept a list of those differences as DiffA. Then, I compared one of those dumps to a dump from a different dungeon level. I called these differences DiffB.
Then I basically subtracted DiffA from DiffB, so that hopefully the differences remaining would be only the memory locations that contained dungeon data.
As prep for the above work, I studied the C64's memory map, so I avoid looking at memory that just had to do with the display on the screen.
When I found the string of bytes 44 15 05 05 05 05 05 05 05 at f800 I knew I was pretty sure I had struck gold. Also, many of my assumptions about how the map must be stored turned out to be true--that was a combination luck and some experience programming.
For the curious, this is the procedure I used:
I made multiple memory dumps from Vice from within different dungeon levels, and while my party was on different tiles.
Then I used a 'diff' tool, a program that compares two files and shows the differences between them. WinMerge turned out be a an excellent tool for this work.
First, I compared two memory dumps from different tiles on the same dungeon level. I kept a list of those differences as DiffA. Then, I compared one of those dumps to a dump from a different dungeon level. I called these differences DiffB.
Then I basically subtracted DiffA from DiffB, so that hopefully the differences remaining would be only the memory locations that contained dungeon data.
As prep for the above work, I studied the C64's memory map, so I avoid looking at memory that just had to do with the display on the screen.
When I found the string of bytes 44 15 05 05 05 05 05 05 05 at f800 I knew I was pretty sure I had struck gold. Also, many of my assumptions about how the map must be stored turned out to be true--that was a combination luck and some experience programming.
Death and drek? WTF?
...
Again, I feel stupified by your genius.
Anyhow, so, which bit indicates a "special" again? I think we'd need to look there as a pointer.
Again, I feel stupified by your genius.
Anyhow, so, which bit indicates a "special" again? I think we'd need to look there as a pointer.
Horpner wrote:Finding the map layout was actually a huge pain in the ass; deciphering it turned out to be kind of easy, though--once I knew the general area to look at.
For the curious, this is the procedure I used:
I made multiple memory dumps from Vice from within different dungeon levels, and while my party was on different tiles.
Then I used a 'diff' tool, a program that compares two files and shows the differences between them. WinMerge turned out be a an excellent tool for this work.
First, I compared two memory dumps from different tiles on the same dungeon level. I kept a list of those differences as DiffA. Then, I compared one of those dumps to a dump from a different dungeon level. I called these differences DiffB.
Then I basically subtracted DiffA from DiffB, so that hopefully the differences remaining would be only the memory locations that contained dungeon data.
As prep for the above work, I studied the C64's memory map, so I avoid looking at memory that just had to do with the display on the screen.
When I found the string of bytes 44 15 05 05 05 05 05 05 05 at f800 I knew I was pretty sure I had struck gold. Also, many of my assumptions about how the map must be stored turned out to be true--that was a combination luck and some experience programming.