; 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    --