the end
Bet you a pound you can't crack it...

CASTLE QUEST

 
Check out the Google Video of Castle Quest
Consider the game to consist of two files B.CASTLE and QUEST1.

QUEST1 is loaded then moves various pieces around in memory :-

"CASTLE" The BASIC program with some m/c after it that gets relocated to &03e0.
Relocation Code Situated at &4340, the exec address of QUEST1, this starts the ball rolling.
This is the code from &3000-&4180. You can see the sprites. Each line is 640 bytes so after relocation the address of the start of each of the seven lines you see below in the gif is:-

&0820
&0AA0
&0D20
&0DA0
&1020
&12A0
&1520

Some annotation of the memory at 0910 used to maintain game state
Rooms Data &0400->&0800 This shows the room data after it has been extracted from &0400-&0800. Each piece of "furniture" is stored in a nibble (4 bits)
Variables Working out what memory locations control what etc...
Main code Part 1 - I've separated out the restart code.
Main code Part 2 - All the other stuff This is the code after it has been moved around in memory enters at &1528
Values set at start These are the values that get set on reset of the game.
Auxillary subroutinesLocated in lower parts of memory and called from the main body of code.



Links:-


Castle Raider on Stairway to Hell, Lost and Found


Articles from nvg:-
CastleQuest-docs.txt
CastleQuest-hint.txt
CastleQuest-hint2.txt
CastleQuest-hint3.txt
CastleQuest-hint4.txt
CastleQuest-longmap.gif
CastleQuest-map.gif