Prince-of-Persia-Apple-II

A running-jumping-swordfighting game Jordan Mechner made on the Apple II from 1985-89
Log | Files | Refs | README | LICENSE

SEQTABLE.S (25271B)


      1 * seqtable
      2 org = $3000
      3  tr on ;TABS 15,20,40
      4  lst off
      5  lstdo off
      6 
      7 *-------------------------------
      8 * Seq table instructions:
      9 
     10 goto = -1
     11 aboutface = -2
     12 up = -3
     13 down = -4
     14 chx = -5
     15 chy = -6
     16 act = -7
     17 setfall = -8
     18 ifwtless = -9
     19 die = -10
     20 jaru = -11
     21 jard = -12
     22 effect = -13
     23 tap = -14
     24 nextlevel = -15
     25 
     26 *-------------------------------
     27 *
     28 *  S E Q U E N C E   T A B L E
     29 *
     30 *-------------------------------
     31  org org
     32 
     33 :1 dw startrun
     34 :2 dw stand
     35 :3 dw standjump
     36 :4 dw runjump
     37 :5 dw turn
     38 :6 dw runturn
     39 :7 dw stepfall
     40 :8 dw jumphangMed
     41 :9 dw hang
     42 :10 dw climbup
     43 :11 dw hangdrop
     44 :12 dw freefall
     45 :13 dw runstop
     46 :14 dw jumpup
     47 :15 dw fallhang
     48 :16 dw jumpbackhang
     49 :17 dw softland
     50 :18 dw jumpfall
     51 :19 dw stepfall2
     52 :20 dw medland
     53 :21 dw rjumpfall
     54 :22 dw hardland
     55 :23 dw hangfall
     56 :24 dw jumphangLong
     57 :25 dw hangstraight
     58 :26 dw rdiveroll
     59 :27 dw sdiveroll
     60 :28 dw highjump
     61 :29 dw step1
     62 :30 dw step2
     63 :31 dw step3
     64 :32 dw step4
     65 :33 dw step5
     66 :34 dw step6
     67 :35 dw step7
     68 :36 dw step8
     69 :37 dw step9
     70 :38 dw step10
     71 :39 dw step11
     72 :40 dw step12
     73 :41 dw step13
     74 :42 dw fullstep
     75 :43 dw turnrun
     76 :44 dw testfoot
     77 :45 dw bumpfall
     78 :46 dw hardbump
     79 :47 dw bump
     80 :48 dw superhijump
     81 :49 dw standup
     82 :50 dw stoop
     83 :51 dw impale
     84 :52 dw crush
     85 :53 dw deadfall
     86 :54 dw halve
     87 :55 dw engarde
     88 :56 dw advance
     89 :57 dw retreat
     90 :58 dw strike
     91 :59 dw flee
     92 :60 dw turnengarde
     93 :61 dw strikeblock
     94 :62 dw readyblock
     95 :63 dw landengarde
     96 :64 dw bumpengfwd
     97 :65 dw bumpengback
     98 :66 dw blocktostrike
     99 :67 dw strikeadv
    100 :68 dw climbdown
    101 :69 dw blockedstrike
    102 :70 dw climbstairs
    103 :71 dw dropdead
    104 :72 dw stepback
    105 :73 dw climbfail
    106 :74 dw stabbed
    107 :75 dw faststrike
    108 :76 dw strikeret
    109 :77 dw alertstand
    110 :78 dw drinkpotion
    111 :79 dw crawl
    112 :80 dw alertturn
    113 :81 dw fightfall
    114 :82 dw efightfall
    115 :83 dw efightfallfwd
    116 :84 dw running
    117 :85 dw stabkill
    118 :86 dw fastadvance
    119 :87 dw goalertstand
    120 :88 dw arise
    121 :89 dw turndraw
    122 :90 dw guardengarde
    123 :91 dw pickupsword
    124 :92 dw resheathe
    125 :93 dw fastsheathe
    126 :94 dw Pstand
    127 :95 dw Vstand
    128 :96 dw Vwalk
    129 :97 dw Vstop
    130 :98 dw Palert
    131 :99 dw Pback
    132 :100 dw Vexit
    133 :101 dw Mclimb
    134 :102 dw Vraise
    135 :103 dw Plie
    136 :104 dw patchfall
    137 :105 dw Mscurry
    138 :106 dw Mstop
    139 :107 dw Mleave
    140 :108 dw Pembrace
    141 :109 dw Pwaiting
    142 :110 dw Pstroke
    143 :111 dw Prise
    144 :112 dw Pcrouch
    145 :113 dw Pslump
    146 :114 dw Mraise
    147 
    148 *-------------------------------
    149 * r u n n i n g
    150 *-------------------------------
    151 running
    152  db act,1
    153  db goto
    154  dw runcyc1
    155 
    156 *-------------------------------
    157 * s t a r t r u n
    158 *-------------------------------
    159 startrun
    160  db act,1
    161 runstt1 db 1
    162 runstt2 db 2
    163 runstt3 db 3
    164 runstt4 db 4,chx,8
    165 runstt5 db 5,chx,3
    166 runstt6 db 6,chx,3
    167 
    168 runcyc1 db 7,chx,5
    169 runcyc2 db 8,chx,1
    170 runcyc3 db tap,1,9,chx,2
    171 runcyc4 db 10,chx,4
    172 runcyc5 db 11,chx,5
    173 runcyc6 db 12,chx,2
    174 runcyc7 db tap,1,13,chx,3
    175 runcyc8 db 14,chx,4
    176  db goto
    177  dw runcyc1
    178 
    179 *-------------------------------
    180 *  s t a n d
    181 *-------------------------------
    182 stand
    183  db act,0
    184  db 15
    185  db goto
    186  dw stand
    187 
    188 *-------------------------------
    189 * a l e r t   s t a n d
    190 *-------------------------------
    191 goalertstand
    192  db act,1
    193 alertstand
    194 :loop db 166
    195  db goto
    196  dw :loop
    197 
    198 *-------------------------------
    199 * a r i s e (skeleton)
    200 *-------------------------------
    201 arise
    202  db act,5
    203  db chx,10,177
    204  db 177
    205  db chx,-7,chy,-2,178
    206  db chx,5,chy,2,166
    207  db chx,-1
    208  db goto
    209  dw ready
    210 
    211 *-------------------------------
    212 * g u a r d e n g a r d e
    213 *-------------------------------
    214 guardengarde
    215  db goto
    216  dw ready
    217 
    218 *-------------------------------
    219 * e n  g a r d e
    220 *-------------------------------
    221 engarde
    222  db act,1
    223  db chx,2
    224  db 207
    225  db 208,chx,2
    226  db 209,chx,2
    227  db 210,chx,3
    228 ready
    229  db act,1
    230  db tap,0
    231  db 158
    232  db 170
    233 :loop db 171
    234 
    235  db goto
    236  dw :loop
    237 
    238 *-------------------------------
    239 * s t a b b e d
    240 *-------------------------------
    241 stabbed
    242  db act,5
    243  db setfall,-1,0
    244  db 172,chx,-1,chy,1
    245  db 173,chx,-1
    246  db 174,chx,-1,chy,2
    247 ; db 175
    248  db chx,-2,chy,1
    249  db chx,-5,chy,-4
    250  db goto
    251  dw guy8
    252 
    253 *-------------------------------
    254 * s t r i k e - a d v a n c e
    255 *-------------------------------
    256 ;from guy6 (154)
    257 strikeadv
    258  db act,1
    259  db setfall,1,0
    260  db 155
    261  db chx,2,165
    262  db chx,-2
    263  db goto
    264  dw ready
    265 
    266 *-------------------------------
    267 * s t r i k e - r e t r e a t
    268 *-------------------------------
    269  ;from guy6 (154)
    270 strikeret
    271  db act,1
    272  db setfall,-1,0
    273  db 155,156,157
    274  db 158
    275  db goto
    276  dw retreat
    277 
    278 *-------------------------------
    279 * a d v a n c e
    280 *-------------------------------
    281 advance
    282  db act,1
    283  db setfall,1,0
    284  db chx,2,163
    285  db chx,4,164
    286  db 165
    287 
    288  db goto
    289  dw ready
    290 
    291 *-------------------------------
    292 * f a s t   a d v a n c e
    293 *-------------------------------
    294 fastadvance
    295  db act,1
    296  db setfall,1,0
    297  db chx,6,164
    298  db 165
    299 
    300  db goto
    301  dw ready
    302 
    303 *-------------------------------
    304 * r e t r e a t
    305 *-------------------------------
    306 retreat
    307  db act,1
    308  db setfall,-1,0
    309  db chx,-3,160
    310  db chx,-2,157
    311 
    312  db goto
    313  dw ready
    314 
    315 *-------------------------------
    316 * s t r i k e
    317 *-------------------------------
    318 strike
    319  db act,1
    320  db setfall,-1,0
    321  db 168
    322 
    323 faststrike
    324  db act,1
    325 guy3 db 151
    326 guy4 db act,1
    327  db 152
    328 ;-->blockedstrike
    329 guy5 db 153
    330 guy6 db 154
    331 guy7 db act,5 ;clr flags to avoid repeat strike
    332  db 155
    333 guy8 db act,1
    334  db 156
    335 guy9 db  157
    336 
    337  db goto
    338  dw ready
    339 
    340 *-------------------------------
    341 * b l o c k e d   s t r i k e
    342 *-------------------------------
    343 blockedstrike
    344  db act,1
    345  db 167
    346 ;--> strikeblock
    347  db goto
    348  dw guy7
    349 
    350 *-------------------------------
    351 * b l o c k   t o   s t r i k e
    352 *-------------------------------
    353 blocktostrike
    354  db 162
    355  db goto
    356  dw guy4
    357 
    358 *-------------------------------
    359 * r e a d y   b l o c k
    360 *-------------------------------
    361 readyblock
    362  db 169
    363 blocking
    364  db 150
    365  ;--> blocktostrike/retreat
    366  db goto
    367  dw ready
    368 
    369 *-------------------------------
    370 * s t r i k e   t o   b l o c k
    371 *-------------------------------
    372 strikeblock
    373  db 159
    374  db 160
    375  db goto
    376  dw blocking
    377 
    378 *-------------------------------
    379 * l a n d   e n   g a r d e
    380 *-------------------------------
    381 landengarde
    382  db act,1
    383  db jard
    384 
    385  db goto
    386  dw ready
    387 
    388 *-------------------------------
    389 * b u m p   e n   g a r d e   ( f o r w a r d )
    390 *-------------------------------
    391 bumpengfwd
    392  db act,5
    393  db chx,-8
    394 
    395  db goto
    396  dw ready
    397 
    398 *-------------------------------
    399 * b u m p   e n   g a r d e   ( b a c k )
    400 *-------------------------------
    401 bumpengback
    402  db act,5
    403  db 160
    404  db 157
    405  db goto
    406  dw ready
    407 
    408 *-------------------------------
    409 * f l e e
    410 *-------------------------------
    411 flee
    412  db act,7
    413  db chx,-8
    414 
    415  db goto
    416  dw turn
    417 
    418 *-------------------------------
    419 * t u r n   e n   g a r d e
    420 *-------------------------------
    421 turnengarde
    422  db act,5
    423  db aboutface,chx,5
    424 
    425  db goto
    426  dw retreat
    427 
    428 *-------------------------------
    429 *  a l e r t  t u r n (for enemies)
    430 *-------------------------------
    431 alertturn
    432  db act,5
    433 
    434  db aboutface,chx,18
    435 
    436  db goto
    437  dw goalertstand
    438 
    439 *-------------------------------
    440 *  s t a n d j u m p
    441 *-------------------------------
    442 standjump
    443  db act,1
    444  db 16
    445  db 17,chx,2
    446  db 18,chx,2
    447  db 19,chx,2
    448  db 20,chx,2
    449  db 21,chx,2
    450  db 22,chx,7
    451  db 23,chx,9
    452  db 24,chx,5,chy,-6 ;chx 6?
    453 sjland db 25,chx,1,chy,6
    454  db 26,chx,4
    455  db jard
    456  db tap,1,27,chx,-3
    457  db 28,chx,5
    458  db 29
    459  db tap,1,30
    460  db 31
    461  db 32
    462  db 33,chx,1
    463  db goto
    464  dw stand
    465 
    466 *-------------------------------
    467 *  r u n j u m p
    468 *-------------------------------
    469 runjump
    470  db act,1
    471  db tap,1,34,chx,5
    472  db 35,chx,6
    473  db 36,chx,3
    474  db 37,chx,5
    475  db tap,1,38,chx,7
    476  db 39,chx,12,chy,-3
    477  db 40,chx,8,chy,-9
    478  db 41,chx,8,chy,-2
    479  db 42,chx,4,chy,11
    480  db 43,chx,4,chy,3
    481 rjlandrun
    482  db 44,chx,5
    483  db jard,tap,1
    484  db goto
    485  dw runcyc1
    486 
    487 *-------------------------------
    488 *  r u n  d i v e  r o l l
    489 *-------------------------------
    490 rdiveroll
    491  db act,1
    492 
    493  db chx,1
    494  db 107,chx,2
    495  db chx,2
    496  db 108
    497  db chx,2
    498  db 109
    499  db chx,2
    500  db 109
    501  db chx,2
    502 :crouch db 109
    503  db goto
    504  dw :crouch
    505 
    506 *-------------------------------
    507 *  s t a n d  d i v e  r o l l
    508 *-------------------------------
    509 sdiveroll
    510 
    511 *-------------------------------
    512 *  c r a w l
    513 *-------------------------------
    514 crawl
    515  db act,1
    516  db chx,1,110
    517  db 111,chx,2
    518  db 112
    519 
    520  db chx,2
    521  db 108
    522  db chx,2
    523 :crouch db 109
    524  db goto
    525  dw :crouch
    526 
    527 *-------------------------------
    528 *  t u r n  d r a w
    529 *-------------------------------
    530 turndraw
    531  db act,7
    532  db aboutface,chx,6
    533  db 45,chx,1
    534  db 46
    535  db goto
    536  dw engarde
    537 
    538 *-------------------------------
    539 *  t u r n
    540 *-------------------------------
    541 turn
    542  db act,7
    543  db aboutface,chx,6
    544  db 45,chx,1
    545  db 46,chx,2
    546  db 47,chx,-1
    547 finishturn
    548  db 48,chx,1
    549  db 49,chx,-2
    550  db 50,51,52
    551  db goto
    552  dw stand
    553 
    554 *-------------------------------
    555 *  t u r n r u n
    556 *  (from frame 48)
    557 *-------------------------------
    558 turnrun
    559  db act,1
    560  db chx,-1
    561  db goto
    562  dw runstt1
    563 
    564 *-------------------------------
    565 *  r u n t u r n
    566 *-------------------------------
    567 runturn
    568  db act,1
    569  db chx,1
    570  db  53,chx,1
    571  db tap,1,54,chx,8
    572  db 55
    573  db tap,1,56,chx,7
    574  db 57,chx,3
    575  db 58,chx,1
    576  db 59
    577  db 60,chx,2
    578  db 61,chx,-1
    579  db 62
    580  db 63
    581  db 64,chx,-1
    582  db 65,chx,-14
    583  db aboutface,goto
    584  dw runcyc7
    585 
    586 *-------------------------------
    587 *  f i g h t f a l l  (backward)
    588 *-------------------------------
    589 fightfall
    590  db act,3
    591  db chy,-1
    592 
    593  db 102,chx,-2,chy,6
    594  db 103,chx,-2,chy,9
    595  db 104,chx,-1,chy,12
    596  db 105,chx,-3
    597 
    598  db setfall,0,15
    599  db goto
    600  dw freefall
    601 
    602 *-------------------------------
    603 *  e n e m y  f i g h t  f a l l
    604 *-------------------------------
    605 efightfall
    606  db act,3
    607  db chy,-1,chx,-2
    608 
    609  db 102,chx,-3,chy,6
    610  db 103,chx,-3,chy,9
    611  db 104,chx,-2,chy,12
    612  db 105,chx,-3
    613 ;for now--ultimately we want enemy
    614 ;shapes in here
    615  db setfall,0,15
    616  db goto
    617  dw freefall
    618 
    619 *-------------------------------
    620 *  e n e m y  f i g h t  f a l l  f w d
    621 *-------------------------------
    622 efightfallfwd
    623  db act,3
    624  db chx,1,chy,-1
    625 
    626  db 102,chx,2,chy,6
    627  db 103,chx,-1,chy,9
    628  db 104,chy,12
    629  db 105,chx,-2
    630 ;for now--ultimately we want enemy
    631 ;shapes in here
    632  db setfall,1,15
    633  db goto
    634  dw freefall
    635 
    636 
    637 *-------------------------------
    638 *  s t e p f a l l
    639 *-------------------------------
    640 stepfall ;from #8 (run-11)
    641  db act,3
    642  db chx,1,chy,3
    643 
    644  db ifwtless
    645  dw stepfloat
    646 fall1
    647  db 102,chx,2,chy,6
    648  db 103,chx,-1,chy,9
    649  db 104,chy,12
    650  db 105,chx,-2
    651 
    652  db setfall,1,15
    653  db goto
    654  dw freefall
    655 
    656 *-------------------------------
    657 * p a t c h f a l l
    658 *-------------------------------
    659 patchfall
    660  db chx,-1,chy,-3
    661  db goto
    662  dw fall1
    663 
    664 *-------------------------------
    665 * s t e p f a l l 2
    666 *-------------------------------
    667 stepfall2 ;from #12 (run-15)
    668  db chx,1
    669  db goto
    670  dw stepfall
    671 
    672 *-------------------------------
    673 *  s t e p f l o a t
    674 *-------------------------------
    675 stepfloat
    676  db 102,chx,2,chy,3
    677  db 103,chx,-1,chy,4
    678  db 104,chy,5
    679  db 105,chx,-2
    680 
    681  db setfall,1,6
    682  db goto
    683  dw freefall
    684 
    685 *-------------------------------
    686 *  j u m p  f a l l
    687 *-------------------------------
    688 jumpfall ;from standjump-18
    689  db act,3
    690  db chx,1,chy,3
    691  db 102,chx,2,chy,6
    692  db 103,chx,1,chy,9
    693  db 104,chx,2,chy,12
    694  db 105
    695 
    696  db setfall,2,15
    697  db goto
    698  dw freefall
    699 
    700 *-------------------------------
    701 *  r u n n i n g   j u m p   f a l l
    702 *-------------------------------
    703 rjumpfall ;from runjump-43
    704  db act,3
    705  db chx,1,chy,3
    706  db 102,chx,3,chy,6
    707  db 103,chx,2,chy,9
    708  db 104,chx,3,chy,12
    709  db 105
    710 
    711  db setfall,3,15
    712  db goto
    713  dw freefall
    714 
    715 *-------------------------------
    716 *  j u m p h a n g
    717 *-------------------------------
    718 ;Med: DX = 0
    719 jumphangMed
    720  db act,1
    721  db 67,68,69,70,71,72,73,74,75,76,77
    722  db act,2
    723  db 78,79,80
    724  db goto
    725  dw hang
    726 
    727 ;Long: DX = +4
    728 jumphangLong
    729  db act,1
    730  db 67,68,69,70,71,72,73,74,75,76,77
    731  db act,2
    732  db chx,1,78
    733  db chx,2,79
    734  db chx,1,80
    735 
    736  db goto
    737  dw hang
    738 
    739 *-------------------------------
    740 * j u m p b a c k h a n g
    741 *-------------------------------
    742 jumpbackhang
    743  db act,1
    744  db 67,68,69,70,71,72,73,74,75,76
    745  db chx,-1,77
    746  db act,2
    747  db chx,-2,78
    748  db chx,-1,79
    749  db chx,-1,80
    750 
    751  db goto
    752  dw hang
    753 
    754 *-------------------------------
    755 *  h a n g
    756 *-------------------------------
    757 hang
    758  db act,2
    759 ; db jaru
    760  db 91
    761 hang1
    762  db 90,89,88,87,87,87,88,89,90,91,92,93,94,95
    763  db 96,97,98,99,97,96,95,94,93,92
    764  db 91,90,89,88,87,88,89,90,91,92,93,94,95,96
    765  db 95,94,93,92
    766  db goto
    767  dw hangdrop
    768 
    769 *-------------------------------
    770 *  h a n g s t r a i g h t
    771 *-------------------------------
    772 hangstraight
    773  db act,6
    774  db tap,2
    775  db 92,93,93,92,92
    776 :loop db 91
    777  db goto
    778  dw :loop
    779 
    780 *-------------------------------
    781 *  c l i m b f a i l
    782 *-------------------------------
    783 climbfail
    784  db 135
    785  db 136
    786  db 137,137
    787  db 138,138,138,138
    788  db 137,136,135
    789  db chx,-7
    790 
    791  db goto
    792  dw hangdrop
    793 
    794 *-------------------------------
    795 *  c l i m b d o w n
    796 *-------------------------------
    797 climbdown
    798  db act,1
    799 
    800  db 148
    801  db 145,144,143,142,141
    802 
    803  db chx,-5
    804  db chy,63
    805  db down
    806  db act,3 ;to prevent a cut to scrn above
    807 
    808  db 140,138,136
    809  db 91
    810  db goto
    811  dw hang1
    812 
    813 *-------------------------------
    814 *  c l i m b u p
    815 *-------------------------------
    816 climbup
    817  db act,1
    818 
    819  db 135
    820  db 136
    821  db 137
    822  db 138
    823  db 139
    824  db 140
    825 
    826  db chx,5
    827  db chy,-63
    828  db up
    829 
    830  db 141
    831  db 142
    832  db 143
    833  db 144
    834  db 145
    835  db 146
    836  db 147
    837  db  148
    838  db act,5 ;to clr flags
    839  db 149
    840  db act,1
    841 
    842  db 118,119
    843  db chx,1
    844  db goto
    845  dw stand
    846 
    847 *-------------------------------
    848 *  h a n g d r o p
    849 *-------------------------------
    850 hangdrop ;1/2 story
    851 
    852  db act,0 ;NOTE -- hangdrop is an action relating
    853 ;to the ground, not to the ledge
    854  db 81,82
    855  db act,5 ;to zero clrflags
    856  db 83
    857  db act,1
    858  db jard,tap,0
    859  db 84,85
    860  db chx,3
    861  db goto
    862  dw stand
    863 
    864 *-------------------------------
    865 *  h a n g f a l l
    866 *-------------------------------
    867 hangfall ;1/2 story
    868 
    869  db act,3
    870  db 81,chy,6
    871  db 81,chy,9
    872  db 81,chy,12
    873  db chx,2
    874 
    875  db setfall,0,12
    876  db goto
    877  dw freefall
    878 
    879 *-------------------------------
    880 *  f r e e f a l l
    881 *-------------------------------
    882 freefall
    883  db act,4
    884 :loop db 106
    885  db goto
    886  dw :loop
    887 
    888 *-------------------------------
    889 *  r u n s t o p
    890 *-------------------------------
    891 runstop
    892  db act,1
    893  db 53,chx,2
    894  db tap,1,54,chx,7
    895  db 55
    896  db tap,1,56,chx,2
    897  db 49,chx,-2
    898  db 50,51,52
    899  db goto
    900  dw stand
    901 
    902 *-------------------------------
    903 *  j u m p  u p  (& touch ceiling)
    904 *-------------------------------
    905 jumpup
    906  db act,1
    907  db 67,68,69,70,71,72,73,74,75,76,77,78
    908  db act,0 ;for cropchar
    909  db jaru,79
    910 
    911  db goto
    912  dw hangdrop
    913 
    914 *-------------------------------
    915 *  h i g h j u m p  (no ceiling above)
    916 *-------------------------------
    917 highjump
    918  db act,1
    919  db 67,68,69,70,71,72,73,74,75,76,77,78
    920  db 79,chy,-4
    921  db 79,chy,-2
    922  db 79
    923  db 79,chy,2
    924  db 79,chy,4
    925  db goto
    926  dw hangdrop
    927 
    928 *-------------------------------
    929 *  s u p e r h i j u m p  (when weightless)
    930 *-------------------------------
    931 superhijump
    932  db 67,68,69,70,71,72,73,74,75,76
    933  db chy,-1,77
    934  db chy,-3,78
    935  db chy,-4,79
    936  db chy,-10,79
    937  db chy,-9,79
    938  db chy,-8,79
    939  db chy,-7,79
    940  db chy,-6,79
    941  db chy,-5,79
    942  db chy,-4,79
    943  db chy,-3,79
    944  db chy,-2,79
    945  db chy,-2,79
    946  db chy,-1,79
    947  db chy,-1,79
    948  db chy,-1,79
    949  db 79,79,79
    950  db chy,1,79
    951  db chy,1,79
    952  db chy,2,79
    953  db chy,2,79
    954  db chy,3,79
    955  db chy,4,79
    956  db chy,5,79
    957  db chy,6,79
    958 
    959  db setfall,0,6
    960  db goto
    961  dw freefall
    962 
    963 *-------------------------------
    964 *  f a l l  h a n g
    965 *-------------------------------
    966 fallhang
    967  db act,3
    968  db 80
    969  db tap,1
    970  db goto
    971  dw hang
    972 
    973 *-------------------------------
    974 *  b u m p
    975 *-------------------------------
    976 bump
    977  db act,5
    978  db chx,-4
    979 
    980  db 50,51,52
    981  db goto
    982  dw stand
    983 
    984 *-------------------------------
    985 *  b u m p f a l l
    986 *-------------------------------
    987 bumpfall
    988  db act,5
    989  db chx,1,chy,3
    990 
    991  db ifwtless
    992  dw bumpfloat
    993 
    994  db 102,chx,2,chy,6
    995  db 103,chx,-1,chy,9
    996  db 104,chy,12
    997  db 105,chx,-2
    998 
    999  db setfall,0,15
   1000  db goto
   1001  dw freefall
   1002 
   1003 *-------------------------------
   1004 *  b u m p f l o a t
   1005 *-------------------------------
   1006 bumpfloat
   1007  db 102,chx,2,chy,3
   1008  db 103,chx,-1,chy,4
   1009  db 104,chy,5
   1010  db 105,chx,-2
   1011 
   1012  db setfall,0,6
   1013  db goto
   1014  dw freefall
   1015 
   1016 *-------------------------------
   1017 * h a r d   b u m p
   1018 *-------------------------------
   1019 hardbump
   1020  db act,5
   1021 
   1022  db chx,-1,chy,-4,102
   1023  db chx,-1,chy,3 ;,104
   1024  db chx,-3,chy,1
   1025 
   1026  db jard
   1027  db chx,1
   1028  db tap,1
   1029  db 107,chx,2
   1030  db 108
   1031  db tap,1
   1032 
   1033  db 109
   1034  db goto
   1035  dw standup
   1036 
   1037 *-------------------------------
   1038 *  t e s t   f o o t
   1039 *-------------------------------
   1040 testfoot
   1041  db 121,chx,1
   1042  db 122
   1043  db 123,chx,2
   1044  db 124,chx,4
   1045  db 125,chx,3
   1046  db 126
   1047 
   1048  db chx,-4,86
   1049  db tap,1,jard
   1050  db chx,-4,116
   1051  db chx,-2
   1052  db 117,118,119
   1053  db goto
   1054  dw stand
   1055 
   1056 *-------------------------------
   1057 *  s t e p   b a c k
   1058 *-------------------------------
   1059 stepback
   1060  db chx,-5
   1061  db goto
   1062  dw stand
   1063 
   1064 *-------------------------------
   1065 *  s t e p   f o r w a r d
   1066 *
   1067 *  (1 - 14 pixels)
   1068 *-------------------------------
   1069 fullstep
   1070 step14
   1071  db act,1
   1072  db 121,chx,1
   1073  db 122,chx,1
   1074  db 123,chx,3
   1075  db 124,chx,4
   1076  db 125,chx,3
   1077  db 126,chx,-1
   1078 
   1079  db chx,3
   1080 
   1081  db 127,128,129,130,131,132
   1082  db goto
   1083  dw stand
   1084 
   1085 step13
   1086  db act,1
   1087  db 121,chx,1
   1088  db 122,chx,1
   1089  db 123,chx,3
   1090  db 124,chx,4
   1091  db 125,chx,3
   1092  db 126,chx,-1
   1093 
   1094  db chx,2
   1095 
   1096  db 127,128,129,130,131,132
   1097  db goto
   1098  dw stand
   1099 
   1100 step12
   1101  db act,1
   1102  db 121,chx,1
   1103  db 122,chx,1
   1104  db 123,chx,3
   1105  db 124,chx,4
   1106  db 125,chx,3
   1107  db 126,chx,-1
   1108 
   1109  db chx,1
   1110 
   1111  db 127,128,129,130,131,132
   1112  db goto
   1113  dw stand
   1114 
   1115 step11 ;corresponds directly to filmed sequence
   1116  db act,1
   1117  db 121,chx,1
   1118  db 122,chx,1
   1119  db 123,chx,3
   1120  db 124,chx,4
   1121  db 125,chx,3
   1122  db 126,chx,-1
   1123  db 127,128,129,130,131,132
   1124  db goto
   1125  dw stand
   1126 
   1127 step10
   1128  db act,1
   1129  db 121,chx,1
   1130 step10a db 122,chx,1
   1131  db 123,chx,3
   1132  db 124,chx,4
   1133  db 125,chx,3
   1134  db 126,chx,-2
   1135  db 128,129,130,131,132
   1136  db goto
   1137  dw stand
   1138 
   1139 step9
   1140  db act,1
   1141  db 121
   1142  db goto
   1143  dw step10a
   1144 
   1145 step8
   1146  db act,1
   1147  db 121,chx,1
   1148  db 122,chx,1
   1149  db 123,chx,3
   1150  db 124,chx,4
   1151  db 125,chx,-1
   1152  db 127,128,129,130,131,132
   1153  db goto
   1154  dw stand
   1155 
   1156 step7
   1157  db act,1
   1158  db 121,chx,1
   1159  db 122,chx,1
   1160  db 123,chx,3
   1161  db 124,chx,2
   1162 
   1163  db 129,130,131,132
   1164  db goto
   1165  dw stand
   1166 
   1167 step6
   1168  db act,1
   1169  db 121,chx,1
   1170  db 122,chx,1
   1171  db 123,chx,2
   1172  db 124,chx,2
   1173 
   1174  db 129,130,131,132
   1175  db goto
   1176  dw stand
   1177 
   1178 step5
   1179  db act,1
   1180  db 121,chx,1
   1181  db 122,chx,1
   1182  db 123,chx,2
   1183  db 124,chx,1
   1184 
   1185  db 129,130,131,132
   1186  db goto
   1187  dw stand
   1188 
   1189 step4
   1190  db act,1
   1191  db 121,chx,1
   1192  db 122,chx,1
   1193  db 123,chx,2
   1194 
   1195  db 131,132
   1196  db goto
   1197  dw stand
   1198 
   1199 step3
   1200  db act,1
   1201  db 121,chx,1
   1202  db 122,chx,1
   1203  db 123,chx,1
   1204 
   1205  db 131,132
   1206  db goto
   1207  dw stand
   1208 
   1209 step2
   1210  db act,1
   1211  db 121,chx,1
   1212  db 122,chx,1
   1213  db 132
   1214  db goto
   1215  dw stand
   1216 
   1217 step1
   1218  db act,1
   1219  db 121,chx,1
   1220  db 132
   1221  db goto
   1222  dw stand
   1223 
   1224 *-------------------------------
   1225 *  s t o o p
   1226 *-------------------------------
   1227 stoop
   1228  db act,1
   1229 
   1230  db chx,1
   1231  db 107,chx,2
   1232  db 108
   1233 
   1234 :crouch db 109
   1235  db goto
   1236  dw :crouch
   1237 
   1238 *-------------------------------
   1239 *  s t a n d u p
   1240 *-------------------------------
   1241 standup
   1242  db act,5
   1243  db chx,1,110
   1244  db 111,chx,2
   1245  db 112
   1246  db 113,chx,1
   1247  db 114
   1248  db 115
   1249  db 116,chx,-4
   1250  db 117,118,119
   1251 
   1252  db goto
   1253  dw stand
   1254 
   1255 *-------------------------------
   1256 *  p i c k  u p  s w o r d
   1257 *-------------------------------
   1258 pickupsword
   1259  db act,1
   1260  db effect,1
   1261  db 229,229,229,229,229,229
   1262  db 230,231,232
   1263 
   1264  db goto
   1265  dw resheathe
   1266 
   1267 *-------------------------------
   1268 *  r e s h e a t h e
   1269 *-------------------------------
   1270 resheathe
   1271  db act,1
   1272  db chx,-5
   1273  db 233,234,235
   1274  db 236,237,238,239,240,133,133
   1275  db 134,134,134
   1276  db 48,chx,1
   1277  db 49,chx,-2
   1278  db act,5,50,act,1
   1279  db 51,52
   1280  db goto
   1281  dw stand
   1282 
   1283 *-------------------------------
   1284 *  f a s t   s h e a t h e
   1285 *-------------------------------
   1286 fastsheathe
   1287  db act,1
   1288  db chx,-5
   1289  db 234,236,238,240,134
   1290  db chx,-1
   1291  db goto
   1292  dw stand
   1293 
   1294 *-------------------------------
   1295 *  d r i n k   p o t i o n
   1296 *-------------------------------
   1297 drinkpotion
   1298  db act,1
   1299  db chx,4
   1300  db 191,192,193,194,195,196,197,198,199,200
   1301  db 201,202,203,204
   1302 ;if pressed for memory try
   1303 ;cutting frames 202/204 or 201/203
   1304  db 205,205,205
   1305  db effect,1
   1306  db 205,205
   1307  db 201,198
   1308 
   1309  db chx,-4
   1310  db goto
   1311  dw stand
   1312 
   1313 *-------------------------------
   1314 *  s o f t   l a n d
   1315 *-------------------------------
   1316 softland ;1 story
   1317  db act,5
   1318 
   1319  db jard
   1320  db chx,1
   1321  db tap,1,107,chx,2
   1322  db 108
   1323  db tap,1
   1324 
   1325  db act,1
   1326 :crouch db 109
   1327  db goto
   1328  dw :crouch
   1329 
   1330 *-------------------------------
   1331 *  l a n d   r u n
   1332 *-------------------------------
   1333 landrun
   1334  db act,1
   1335  db chy,-2,chx,1
   1336  db 107,chx,2
   1337  db 108
   1338  db 109,chx,1
   1339  db 110
   1340  db 111,chx,2
   1341  db 112
   1342  db 113,chx,1,chy,1
   1343  db 114,chy,1
   1344  db 115,chx,-2
   1345 
   1346  db goto
   1347  dw runstt4
   1348 
   1349 *-------------------------------
   1350 *  m e d i u m   l a n d
   1351 *-------------------------------
   1352 medland ;1 1/2 - 2 stories
   1353  db act,5
   1354  db jard
   1355  db chy,-2,chx,1
   1356 ; db 107
   1357  db chx,2
   1358  db 108
   1359  db 109,109,109,109,109,109,109,109,109
   1360  db 109,109,109,109,109,109,109,109,109
   1361  db 109,109,109,109,109,109,109,109,109
   1362  db 109,109,chx,1
   1363  db 110,110,110
   1364  db 111,chx,2
   1365  db 112
   1366  db 113,chx,1,chy,1
   1367  db 114,chy,1
   1368  db 115
   1369  db 116,chx,-4
   1370  db 117
   1371  db 118
   1372  db 119
   1373  db goto
   1374  dw stand
   1375 
   1376 *-------------------------------
   1377 *  h a r d   l a n d   (Splat!)
   1378 *-------------------------------
   1379 hardland ;> 2 stories
   1380  db act,5
   1381  db jard
   1382  db chy,-2,chx,3
   1383  db 185
   1384  db die
   1385 
   1386 :dead db 185
   1387  db goto
   1388  dw :dead
   1389 
   1390 *-------------------------------
   1391 *  s t a b k i l l
   1392 *-------------------------------
   1393 stabkill
   1394  db act,5
   1395  db goto
   1396  dw dropdead
   1397 
   1398 *-------------------------------
   1399 *  d r o p d e a d
   1400 *-------------------------------
   1401 dropdead
   1402  db act,1
   1403  db die
   1404 
   1405  db 179
   1406  db 180
   1407  db 181
   1408  db 182,chx,1
   1409  db 183,chx,-4
   1410 :dead db 185
   1411  db goto
   1412  dw :dead
   1413 
   1414 *-------------------------------
   1415 *  i m p a l e
   1416 *-------------------------------
   1417 impale
   1418  db act,1
   1419  db jard
   1420 
   1421  db chx,4
   1422  db 177
   1423  db die
   1424 
   1425 :dead db 177
   1426  db goto
   1427  dw :dead
   1428 
   1429 *-------------------------------
   1430 *  h a l v e
   1431 *-------------------------------
   1432 halve
   1433  db act,1
   1434 
   1435  db 178
   1436  db die
   1437 
   1438 :dead db 178
   1439  db goto
   1440  dw :dead
   1441 
   1442 *-------------------------------
   1443 *  c r u s h
   1444 *-------------------------------
   1445 crush
   1446  db goto
   1447  dw medland
   1448 
   1449 *-------------------------------
   1450 *  d e a d f a l l
   1451 *-------------------------------
   1452 deadfall
   1453  db setfall,0,0
   1454  db act,4
   1455 :loop db 185
   1456  db goto
   1457  dw :loop
   1458 
   1459 *-------------------------------
   1460 *  c l i m b   s t a i r s
   1461 *-------------------------------
   1462 ;facing L
   1463 climbstairs
   1464  db act,5
   1465  db chx,-5,chy,-1
   1466  db tap,1,217
   1467  db 218
   1468  db 219,chx,1
   1469  db 220,chx,-4,chy,-3
   1470  db tap,1,221,chx,-4,chy,-2
   1471  db 222,222,chx,-2,chy,-3
   1472  db 223,223,chx,-3,chy,-8
   1473  db tap,1,224,224,chx,-1,chy,-1
   1474  db 225,225,chx,-3,chy,-4
   1475  db 226,226,chx,-1,chy,-5
   1476  db tap,1,227,227,chx,-2,chy,-1
   1477  db 228,228
   1478  db 0,tap,1
   1479  db 0,0,0,0,tap,1
   1480  db 0,0,0,0,tap,1
   1481  db 0,0,0,0,tap,1
   1482 
   1483  do 0
   1484  db chx,10,chy,28
   1485  db goto
   1486  dw stand
   1487  fin
   1488 
   1489  db nextlevel
   1490 :loop db 0,goto
   1491  dw :loop
   1492 
   1493 *-------------------------------
   1494 * Vizier: stand
   1495 *-------------------------------
   1496 Vstand
   1497  db 54,goto
   1498  dw Vstand
   1499 
   1500 *-------------------------------
   1501 * Vizier: raise arms
   1502 *-------------------------------
   1503 Vraise
   1504  db 85,67,67,67,67,67,67
   1505  db 68,69,70,71,72,73,74,75,83,84
   1506 :loop db 76
   1507  db goto
   1508  dw :loop
   1509 
   1510 *-------------------------------
   1511 * Vizier: walk
   1512 *-------------------------------
   1513 Vwalk
   1514  db chx,1
   1515 Vwalk1 db 48,chx,2
   1516 Vwalk2 db 49,chx,6
   1517  db 50,chx,1
   1518  db 51,chx,-1
   1519  db 52,chx,1
   1520  db 53,chx,1
   1521  db goto
   1522  dw Vwalk1
   1523 
   1524 *-------------------------------
   1525 * Vizier: stop
   1526 *-------------------------------
   1527 Vstop
   1528  db chx,1
   1529  db 55,56
   1530  db goto
   1531  dw Vstand
   1532 
   1533 *-------------------------------
   1534 * Vizier: lower arms, turn & exit
   1535 *-------------------------------
   1536 Vexit
   1537  db 77,78,79,80,81,82
   1538  db chx,1
   1539  db 54,54,54,54,54,54 ;standing
   1540  db 57
   1541  db 58
   1542  db 59
   1543  db 60
   1544  db 61,chx,2
   1545  db 62,chx,-1
   1546  db 63,chx,-3
   1547  db 64
   1548  db 65,chx,-1
   1549  db 66
   1550  db aboutface,chx,16
   1551  db chx,3
   1552  db goto
   1553  dw Vwalk2
   1554 
   1555 *-------------------------------
   1556 * Princess: stand
   1557 *-------------------------------
   1558 Pstand
   1559  db 11,goto
   1560  dw Pstand
   1561 
   1562 *-------------------------------
   1563 * Princess: alert
   1564 *-------------------------------
   1565 Palert
   1566  db 2,3,4,5,6,7,8,9
   1567  db aboutface,chx,9
   1568  db 11,goto
   1569  dw  Pstand
   1570 
   1571 *-------------------------------
   1572 * Princess: step back
   1573 *-------------------------------
   1574 Pback
   1575  db aboutface,chx,11
   1576  db 12
   1577  db chx,1,13
   1578  db chx,1,14
   1579  db chx,3,15
   1580  db chx,1,16
   1581 :loop db 17
   1582  db goto
   1583  dw :loop
   1584 
   1585 *-------------------------------
   1586 * Princess lying on cushions
   1587 *-------------------------------
   1588 Plie
   1589  db 19
   1590  db goto
   1591  dw Plie
   1592 
   1593 *-------------------------------
   1594 * Princess: waiting
   1595 *-------------------------------
   1596 Pwaiting
   1597 :loop db 20
   1598  db goto
   1599  dw :loop
   1600 
   1601 *-------------------------------
   1602 * Princess: embrace
   1603 *-------------------------------
   1604 Pembrace
   1605  db 21
   1606  db chx,1,22
   1607  db 23
   1608  db 24
   1609  db chx,1,25
   1610  db chx,-3,26
   1611  db chx,-2,27
   1612  db chx,-4,28
   1613  db chx,-3,29
   1614  db chx,-2,30
   1615  db chx,-3,31
   1616  db chx,-1,32
   1617 :loop db 33
   1618  db goto
   1619  dw :loop
   1620 
   1621 *-------------------------------
   1622 * Princess: stroke mouse
   1623 *-------------------------------
   1624 Pstroke
   1625 :loop db 37
   1626  db goto
   1627  dw :loop
   1628 
   1629 *-------------------------------
   1630 * Princess: rise
   1631 *-------------------------------
   1632 Prise
   1633  db 37,38,39,40,41,42,43,44,45,46,47
   1634  db aboutface,chx,13
   1635 :loop db 11,goto
   1636  dw :loop
   1637 
   1638 *-------------------------------
   1639 * Princess: crouch & stroke mouse
   1640 *-------------------------------
   1641 Pcrouch
   1642  db 11,11
   1643  db aboutface,chx,13
   1644  db 47,46,45,44,43,42,41,40,39,38,37
   1645  db 36,36,36,35,35,35
   1646  db 34,34,34,34,34,34,34
   1647  db 35,35,36,36,36,35,35,35
   1648  db 34,34,34,34,34,34,34
   1649  db 35,35,36,36,36,35,35,35
   1650  db 34,34,34,34,34,34,34,34,34
   1651  db 35,35,35
   1652 :loop db 36
   1653  db goto
   1654  dw :loop
   1655 
   1656 *-------------------------------
   1657 * Princess: slump shoulders
   1658 *-------------------------------
   1659 Pslump
   1660  db 1
   1661 :loop db 18
   1662  db goto
   1663  dw :loop
   1664 
   1665 *-------------------------------
   1666 * Mouse: scurry
   1667 *-------------------------------
   1668 Mscurry
   1669  db act,1
   1670 Mscurry1
   1671 :loop db 186,chx,5
   1672  db 186,chx,3
   1673  db 187,chx,4
   1674  db goto
   1675  dw :loop
   1676 
   1677 *-------------------------------
   1678 * Mouse: stop
   1679 *-------------------------------
   1680 Mstop
   1681 :loop db 186
   1682  db goto
   1683  dw :loop
   1684 
   1685 *-------------------------------
   1686 * Mouse: raise head
   1687 *-------------------------------
   1688 Mraise
   1689 :loop db 188
   1690  db goto
   1691  dw :loop
   1692 
   1693 *-------------------------------
   1694 * Mouse: leave
   1695 *-------------------------------
   1696 Mleave
   1697  db act,0
   1698  db 186,186,186
   1699  db 188,188,188,188,188,188,188,188
   1700  db aboutface,chx,8
   1701  db goto
   1702  dw Mscurry1
   1703 
   1704 *-------------------------------
   1705 * Mouse: climb
   1706 *-------------------------------
   1707 Mclimb
   1708  db 186
   1709  db goto
   1710  dw Mclimb
   1711 
   1712 *-------------------------------
   1713  lst
   1714  ds 1
   1715  usr $a9,15,$800,*-org
   1716  lst off