; disassembly of 'quest1_1528' by 6502dis v1.1 ; org=$1528 Labels ------ SEC MODE $1528 MAIN INIT COLOURS ESCAPE label3 label4 label5 INIT MAIN LIVES ZXKEYS == returns #&FF if no press AFTERKEYS JTINDEX JMPTABLE INVEN PLAYSOUND SETPALETTE DETECTKEYS SCROLL3 CARRYING M5 PACING M7 M8 M9 N1 N2 N3 N4 N5 N6 N7 N8 N9 W3 W4 WF LOC1 LOC2 YESNO ESC1 MESSAGES PRINTOBJ SCREEN SCROLL U2 U3 U4 -- sets 79,7a (see KEYPRESS_SCROLL) U5 U6 U7 WWN W5 $0910 $093f $0974 $09c5 $09c8 $09ca $09cb $09cd $09d4 $09da $09dd $09e2 $09e3 $09e6 $09f1 -- objects at restart point $09f6 $09ff $0a08 $0a1a $0a23 $0a2a $0a2c $0a45 $0a4d $0a55 $0a58 $0a7c $0b40 $0ba0 $0ba9 $0bad $0bae $0baf $0be4 $0be5 $0be8 $0bf1 $0bf5 $0bf6 $0bff $0c2c $0c2d $0c30 $0c39 $0c3a $0c3f $0c47 $0c56 $0c5f $0c74 $0c78 $0c89 $0c8c $0ca6 $0caf $0cf8 -- backup of 0be8 $0d04 -- backup of 0c30 $0d24 -- backup of 0ba0 Zero Page Addresses ------------------- See bottom of page for initial zero page settings on first start. &70 Holds the ZX keypress Z - #&00 X - #&02 Is then copied to &6f location &71 Holds the :/ keypress : - #&00 / - #&01 When "RETURN" to Jump is pressed $6d - #&00 $53 - #&00 $52 - #&01 THROWING -------- 0, 1, 2, 3, 4 { 99, f9, b9, a9, b2 } <- -> /\ \/ D DATA locations -------------- A list of objects is stored at:- $0caf { SWORD AIR COIN RUBY GOLD BUCKET TORCH TORCH TORCH STOOL WAND EMPTY TORCH } A list of message fragments is stored at:- $0a7c { } $09cf compare with keypress The screen/room information begins at &0400->&0800 Each screen/room is row: 6 blocks col: 9 blocks There are X rooms in total. Codes for scenery blocks is:- ----------------------------- #&0 = AIR #&1 = WALL #&2 = SLOPE ( "/" ) +ve #&3 = SLOPE ( "\" ) -ve #&4 = LADDER #&5 = LADDER #&6 = WALKWAY #&7 = #&8 = DOORWAY #&9 = #&a = BED #&b = LADDER into WATER #&c = WATER Inventory stored in 5 bytes in &09c0, currently carrying is &9c #&0 = SWORD #&1 = AIR #&2 = COIN #&3 = RUBY #&4 = GOLD #&5 = TORCH #&6 = TORCH #&7 = TORCH #&8 = TORCH #&9 = STOOL #&a = WAND #&b = BUCKET 0000,OBJ contains data on the objects characteristics:- #&0 #&2 - being held. #&4 - recently dropped. #&6 - #&8 - being carried. #&e - dropped/thrown. Sprite Data --------- Data at &1220. Zero Page Addresses ------------------- &11 -- Derived from &76 &14 -- (Restart) - Remember what we were holding $30 -- Set to #&ff each "PLAY" $31 -- Copy of $30 made in "WAIT" &33 -- Value of timer taken at start of each "PLAY" &34 -- &35 -- [#&00] &36 -- &37 -- &46 -- [#&04] &47 -- [#&FF] &57 -- &53 -- [#&FF] &55 -- objects, ?!?!?!?!? &57 -- [#&FF] &5d -- [#&FF] &63 -- [#&FF] means of death, FELL, STARVED, DROWNED $MEANSOFDEATH -- #&00 = SCORE #&01 = E LEFT #&02 = Fell #&03 = Starved #&04 = Drowned #&05 = Are Dead #&06 = Troll #&07 = Spider #&08 = Witch &67 -- &68 -- (#&00) &69 -- (#&00) [#&e8] &6c -- [#&FF] &6d -- &70 -- } can be hi,lo of sprite &71 -- } &72 -- Scratch variable &73 -- &74 -- &75 -- &76 -- Used extensivly used in &0769 &77 -- &78 -- &79 -- } Hi,Lo pair see KEYPRESS_SCROLL &7a -- } &7f -- &83, &84 -- Used in CHECKEXTENTS and &0380 &85, &86 -- MOREKEYS &8d -- Block, used in 011b &96 -- Temp, used in WRITESCRN2 &97 -- Temp, used in WRITESCRN2 &98 -- Temp, uesd in WRITESCRN2 &9c -- Object you are currently holding &9d -- } &9e -- } keypress_scroll transfers &70 to both of these... INITIALISED TO [#&00] &ALIVE -- [#&00] starts &FF ? SOUNDS ------ #&60 -- when MEANSOFDEATH is #&60 #&68 -- falling sound ( &1750 ) Climbing sound #&88 -- #&90 -- #&a0 --