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

EQ.S (6123B)


      1  tr on
      2  lst off
      3 * eq
      4 *-------------------------------
      5 *
      6 *  Equates
      7 *
      8 *-------------------------------
      9 *  Main l.c.
     10 
     11 rw18 = $d000
     12 peelbuf1 = $d000
     13 peelbuf2 = $d800
     14 hrtables = $e000
     15 unpack = $ea00 ;game only
     16 hires = $ee00
     17 master = $f880
     18 
     19 *  Auxmem
     20 
     21 grafix = $400
     22 tables = $e00
     23 frameadv = $1290
     24 redbufs = $5e00
     25 menudata = $960f ;ed only
     26 imlists = $ac00
     27 endimspace = $b600
     28 blueprnt = $b700
     29 
     30 *  Aux l.c.
     31 
     32 bluecopy = $d000 ;bank 1
     33 
     34 *-------------------------------
     35 *
     36 *  Jump tables
     37 *
     38 *-------------------------------
     39  dum master
     40 
     41 _firstboot ds 3
     42 _loadlevel ds 3
     43 _reload ds 3
     44 _loadstage2 ds 3
     45  ds 3
     46 
     47 _attractmode ds 3
     48 _cutprincess ds 3
     49 _savegame ds 3
     50 _loadgame ds 3
     51 _dostartgame ds 3
     52 
     53 _epilog ds 3
     54 _loadaltset ds 3
     55  ds 3 ;_screendump
     56 
     57  dum master ;ed
     58 
     59  ds 15
     60 
     61 _edreboot ds 3
     62 _gobuild ds 3
     63 _gogame ds 3
     64 _writedir ds 3
     65 _readdir ds 3
     66 
     67 _savelevel ds 3
     68 _savelevelg ds 3
     69 _screendump ds 3
     70 
     71  dum hrtables
     72 
     73 YLO ds $c0
     74 YHI ds $c0
     75 
     76  dum hires
     77 
     78 _boot3 ds 3
     79 _cls ds 3
     80 _lay ds 3
     81 _fastlay ds 3
     82 _layrsave ds 3
     83 
     84 _lrcls ds 3
     85 _fastmask ds 3
     86 _fastblack ds 3
     87 _peel ds 3
     88 _getwidth ds 3
     89 
     90 _copy2000 ds 3
     91 _copy2000aux ds 3
     92 _setfastaux ds 3
     93 _setfastmain ds 3
     94 _copy2000ma ds 3
     95 
     96 _copy2000am ds 3
     97 
     98 
     99  dum unpack
    100 
    101 SngExpand ds 3
    102 DblExpand ds 3
    103 DeltaExpPop ds 3
    104 _inverty ds 3
    105 DeltaExpWipe ds 3
    106 
    107 purple ds 3
    108 prompt ds 3
    109 blackout ds 3
    110 clr ds 3
    111 text ds 3
    112 
    113 setdhires ds 3
    114 fadein ds 3
    115 loadsuper ds 3
    116 fadeout ds 3
    117 
    118  dum grafix
    119 
    120 gr ds 3
    121 drawall ds 3
    122 controller ds 3
    123  ds 3
    124 saveblue ds 3
    125 
    126 reloadblue ds 3
    127 movemem ds 3
    128 buttons ds 3
    129 gtone ds 3
    130 setcenter ds 3
    131 
    132 dimchar ds 3
    133 cvtx ds 3
    134 zeropeel ds 3
    135 zeropeels ds 3
    136 pread ds 3
    137 
    138 addpeel ds 3
    139 copyscrn ds 3
    140 sngpeel ds 3
    141 rnd ds 3
    142 cls ds 3
    143 
    144 lay ds 3
    145 fastlay ds 3
    146 layrsave ds 3
    147 lrcls ds 3
    148 fastmask ds 3
    149 
    150 fastblack ds 3
    151 peel ds 3
    152 getwidth ds 3
    153 copy2000 ds 3
    154 copy2000ma ds 3
    155 
    156 setfastaux ds 3
    157 setfastmain ds 3
    158 loadlevel ds 3
    159 attractmode ds 3
    160 xminit ds 3
    161 
    162 xmplay ds 3
    163 cutprincess ds 3
    164 xtitle ds 3
    165 copy2000am ds 3
    166 reload ds 3
    167 
    168 loadstage2 ds 3
    169  ds 3
    170 getselect ds 3
    171 getdesel ds 3
    172 edreboot ds 3 ;ed
    173 
    174 gobuild ds 3 ;ed
    175 gogame ds 3 ;ed
    176 writedir ds 3 ;ed
    177 readdir ds 3 ;ed
    178 savelevel ds 3 ;ed
    179 
    180 savelevelg ds 3 ;ed
    181 addback ds 3
    182 addfore ds 3
    183 addmid ds 3
    184 addmidez ds 3
    185 
    186 addwipe ds 3
    187 addmsg ds 3
    188 savegame ds 3
    189 loadgame ds 3
    190 zerolsts ds 3
    191 
    192 screendump ds 3
    193 minit ds 3
    194 mplay ds 3
    195 savebinfo ds 3
    196 reloadbinfo ds 3
    197 
    198 inverty ds 3
    199 normspeed ds 3
    200 addmidezo ds 3
    201 calcblue ds 3
    202 zerored ds 3
    203 
    204 xplaycut ds 3
    205 checkIIGS ds 3
    206 fastspeed ds 3
    207 musickeys ds 3
    208 dostartgame ds 3
    209 
    210 epilog ds 3
    211 loadaltset ds 3
    212 xmovemusic ds 3
    213 whoop ds 3
    214 vblank ds 3
    215 
    216 vbli ds 3
    217 
    218  dum redbufs
    219 
    220  ds 60 ;unused
    221 halfbuf ds 30
    222 redbuf ds 30
    223 fredbuf ds 30
    224 floorbuf ds 30
    225 wipebuf ds 30
    226 movebuf ds 30
    227 objbuf ds 30
    228 whitebuf ds 30
    229 topbuf ds 10
    230 
    231  dum menudata ;ed only
    232 
    233 menutype ds 30
    234 menuspec ds 30
    235 menubspec ds 30
    236 
    237  dum frameadv
    238 
    239 sure ds 3
    240 fast ds 3
    241 getinitobj ds 3
    242 
    243  dum tables
    244 
    245 ByteTable ds $100
    246 OffsetTable ds $100
    247 BlockTable ds $100
    248 PixelTable ds $100
    249 Mult10 ds $10
    250 Mult7 ds $10
    251 Mult30 ds $40
    252 BlockEdge ds 20
    253 BlockTop ds 5
    254 BlockBot ds 5
    255 FloorY ds 5
    256 BlockAy ds 5
    257 
    258  dum blueprnt
    259 
    260 BLUETYPE ds 24*30
    261 BLUESPEC ds 24*30
    262 LINKLOC ds 256
    263 LINKMAP ds 256
    264 MAP ds 24*4
    265 INFO ds 256
    266 
    267 *-------------------------------
    268 *
    269 *  Blueprint info
    270 *
    271 *-------------------------------
    272  dum INFO
    273 
    274  ds 64
    275 KidStartScrn ds 1
    276 KidStartBlock ds 1
    277 KidStartFace ds 1
    278  ds 1
    279 SwStartScrn ds 1
    280 SwStartBlock ds 1
    281  ds 1
    282 GdStartBlock ds 24
    283 GdStartFace ds 24
    284 GdStartX ds 24
    285 GdStartSeqL ds 24
    286 GdStartProg ds 24
    287 GdStartSeqH ds 24
    288 
    289 *-------------------------------
    290 *
    291 *  Image lists
    292 *
    293 *-------------------------------
    294 maxback = 200 ;x4
    295 maxfore = 100 ;x4
    296 maxwipe = 20 ;x5
    297 maxpeel = 46 ;x4
    298 maxmid = 46 ;x11
    299 maxobj = 20 ;x12
    300 maxmsg = 32 ;x5
    301 
    302  dum imlists
    303 
    304 genCLS ds 1
    305 
    306 bgX ds maxback
    307 bgY ds maxback
    308 bgIMG ds maxback
    309 bgOP ds maxback
    310 
    311 fgX ds maxfore
    312 fgY ds maxfore
    313 fgIMG ds maxfore
    314 fgOP ds maxfore
    315 
    316 wipeX ds maxwipe
    317 wipeY ds maxwipe
    318 wipeH ds maxwipe
    319 wipeW ds maxwipe
    320 wipeCOL ds maxwipe
    321 
    322 peelX ds maxpeel*2
    323 peelY ds maxpeel*2
    324 peelIMGL ds maxpeel*2
    325 peelIMGH ds maxpeel*2
    326 
    327 midX ds maxmid
    328 midOFF ds maxmid
    329 midY ds maxmid
    330 midIMG ds maxmid
    331 midOP ds maxmid
    332 midTYP ds maxmid
    333 midCU ds maxmid
    334 midCD ds maxmid
    335 midCL ds maxmid
    336 midCR ds maxmid
    337 midTAB ds maxmid
    338 
    339 objINDX ds maxobj
    340 objX ds maxobj
    341 objOFF ds maxobj
    342 objY ds maxobj
    343 objIMG ds maxobj
    344 objFACE ds maxobj
    345 objTYP ds maxobj
    346 objCU ds maxobj
    347 objCD ds maxobj
    348 objCL ds maxobj
    349 objCR ds maxobj
    350 objTAB ds maxobj
    351 
    352 msgX ds maxmsg
    353 msgOFF ds maxmsg
    354 msgY ds maxmsg
    355 msgIMG ds maxmsg
    356 msgOP ds maxmsg
    357 
    358 *-------------------------------
    359 *
    360 *  Zero page
    361 *
    362 *-------------------------------
    363 *  $00-17: Hires parameters
    364 *-------------------------------
    365  dum $00
    366 
    367 PAGE ds 1
    368 XCO ds 1
    369 YCO ds 1
    370 OFFSET ds 1
    371 IMAGE ds 2
    372 OPACITY ds 1
    373 TABLE ds 2
    374 PEELBUF ds 2
    375 PEELIMG ds 2
    376 PEELXCO ds 1
    377 PEELYCO ds 1
    378 TOPCUT ds 1
    379 LEFTCUT ds 1
    380 RIGHTCUT ds 1
    381 BANK ds 1
    382 BOTCUT ds 1
    383 
    384 height = IMAGE
    385 width = IMAGE+1
    386 
    387 *-------------------------------
    388 *  $18-3f: Global vars
    389 *-------------------------------
    390  dum $18
    391 
    392 JSTKX ds 1
    393 JSTKY ds 1
    394 BTN0 ds 1
    395 BTN1 ds 1
    396 BUTT0 ds 1
    397 BUTT1 ds 1
    398 JSTKUP ds 1
    399 b0down ds 1
    400 b1down ds 1
    401 SINGSTEP ds 1
    402 blackflag ds 1
    403 SCRNUM ds 1
    404 BlueType ds 2
    405 BlueSpec ds 2
    406 CUTTIMER ds 1
    407 PRECED ds 1
    408 spreced ds 1
    409 PREV ds 3
    410 sprev ds 3
    411 scrnLeft ds 1
    412 scrnRight ds 1
    413 scrnAbove ds 1
    414 scrnBelow ds 1
    415 scrnBelowL ds 1
    416 scrnAboveL ds 1
    417 scrnAboveR ds 1
    418 scrnBelowR ds 1
    419 kbdX ds 1
    420 kbdY ds 1
    421 joyX ds 1
    422 joyY ds 1
    423 btn ds 1
    424 butt ds 1
    425 
    426 *-------------------------------
    427 *
    428 *  Pages 2-3
    429 *
    430 *-------------------------------
    431  dum $200
    432 
    433 inmenu ds 1
    434 inbuilder ds 1
    435 ineditor ds 1
    436 soundon ds 1
    437 jctr ds 2
    438 jthres1x ds 1
    439 jthres1y ds 1
    440 jthres2x ds 1
    441 jthres2y ds 1
    442 jvert ds 1
    443 jhoriz ds 1
    444 jbtns ds 1
    445 joyon ds 1
    446 develment ds 1
    447 keypress ds 1
    448 keydown ds 1
    449 IIGS ds 1
    450 
    451  dum $3c0
    452 
    453 sortX ds $10
    454 BELOW ds $10
    455 SBELOW ds $10
    456 
    457  dum $3f0
    458 
    459 bluepTRK ds 1
    460 bluepREG ds 1
    461 binfoTRK ds 1
    462 binfoREG ds 1
    463 level ds 1
    464 BBundID ds 1
    465 redherring2 ds 1
    466 pausetemp ds 1
    467 recheck0 ds 1
    468 
    469  dend
    470 
    471 *-------------------------------
    472 *
    473 *  Misc. constants
    474 *
    475 *-------------------------------
    476 ScrnWidth = 140
    477 ScrnHeight = 192
    478 
    479 ScrnLeft = 58
    480 ScrnRight = ScrnLeft+ScrnWidth-1
    481 ScrnTop = 0
    482 ScrnBottom = ScrnTop+ScrnHeight-1
    483 
    484 secmask = %11000000
    485 reqmask = %00100000
    486 idmask = %00011111
    487 
    488 and = 0
    489 ora = 1
    490 sta = 2
    491 eor = 3
    492 mask = 4
    493 
    494  lst off