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

BUILDEREQ.S (3479B)


      1 * buildereq
      2  lst off
      3 *-------------------------------
      4 *
      5 *  B U I L D E R   E Q U A T E S
      6 *
      7 *-------------------------------mainmem
      8 bgtable = $6000
      9 edtable = $ae00
     10 
     11 dblimage = $d000
     12 textset = $d800
     13 
     14 *-------------------------------auxmem
     15 menuscrn = $2000 ;length = $2000
     16 
     17 dialoger = $6000
     18 directory = $7000
     19 bsubs = $7200
     20 builder = $8400
     21 editor = $9600
     22 
     23 MATBASE = $8000 ;length = $400 = 32x32
     24 ENDMAT = MATBASE+$400
     25 
     26 builderinfo = $a600 ;length = $600
     27 
     28 *-------------------------------aux l.c.
     29 eddebugs = $ea00
     30 dblhires = $ee00
     31 dcarrybuf = $f700
     32 dpeelbuf1 = $fa00
     33 dpeelbuf2 = $fd00
     34 
     35 *-------------------------------
     36 *
     37 *  J U M P   T A B L E S
     38 *
     39 *-------------------------------
     40  dum eddebugs
     41 
     42 showpage ds 3
     43 debugkeys ds 3
     44 moveauxlc ds 3
     45 titlescreen ds 3
     46 
     47  dum builderinfo
     48 
     49 bINFO ds 256 ;unused
     50 bLINK1 ds 128
     51 bLINK2 ds 128
     52 bLINK3 ds 128
     53 bLINK4 ds 128
     54 bLINDEX ds 24*30
     55 
     56  dum dblhires
     57 
     58 dblcls ds 3
     59 dbllay ds 3
     60 dblfast ds 3
     61 dblsave ds 3
     62 dblwipe ds 3
     63 
     64 dblprint ds 3
     65 dblimseek ds 3
     66 dblora ds 3
     67 
     68  dum editor
     69 
     70 edstart ds 3
     71 clrblock ds 3
     72 relink ds 3
     73  ds 3
     74  ds 3
     75 
     76  dum bsubs
     77 
     78 dblhgr ds 3
     79 dbldraw ds 3
     80 moveblok ds 3
     81 swsingle ds 3
     82 swdouble ds 3
     83 
     84 specialk ds 3
     85 bcalcblue ds 3
     86 topedge ds 3
     87 botedge ds 3
     88 leftedge ds 3
     89 
     90 rtedge ds 3
     91 prblokno ds 3
     92 prscrnum ds 3
     93 menuspecial ds 3
     94 drawbethsym ds 3
     95 
     96 invbethsym ds 3
     97 drawallsymb ds 3
     98 storemenu ds 3
     99 dodblcls ds 3
    100 dodbllay ds 3
    101 
    102 dodblfast ds 3
    103 dodblsave ds 3
    104 dodblwipe ds 3
    105 dodblprint ds 3
    106 dodblimseek ds 3
    107 
    108 pageflip ds 3
    109 input ds 3
    110 dblpeel ds 3
    111 retrievemenu ds 3
    112 movestuff ds 3
    113 
    114 dodblora ds 3
    115 copyauxscrn ds 3
    116 drawmenusym ds 3
    117 unindex ds 3
    118 superguards ds 3
    119 
    120 initinput ds 3
    121 drawflaskno ds 3
    122 prgdprog ds 3
    123 
    124  dum dialoger
    125 
    126 print ds 3
    127 dialog ds 3
    128 setmasterdisk ds 3
    129 setdatadisk ds 3
    130 readdisk ds 3
    131 
    132 dloadlevel ds 3
    133 dsavelevel ds 3
    134 initgetlnbuf ds 3
    135 dsavelevelg ds 3
    136 setgamedisk1 ds 3
    137 setgamedisk2 ds 3
    138 
    139  dum builder
    140 
    141 coldbuild ds 3
    142 warmbuild ds 3
    143 rtnbuild ds 3
    144 mleft ds 3
    145 mright ds 3
    146 
    147 mdown ds 3
    148 mup ds 3
    149 getneigh ds 3
    150 calcmat1 ds 3
    151 clrlinks ds 3
    152 
    153 restartbldr ds 3
    154 
    155 *-------------------------------
    156 *
    157 *  Z E R O   P A G E
    158 *
    159 *-------------------------------
    160 *  $00-17: Hires params
    161 *  $18-3f: Common globals
    162 *  $e0-fc: Locals
    163 *  $fd-ff: RW18
    164 *-------------------------------
    165 locals = $e0
    166 
    167 *-------------------------------
    168 *  $40-df: Builder globals
    169 *-------------------------------
    170  dum $40
    171 
    172 MATPTR ds 2
    173 ZTEMP ds 6
    174 ULX ds 1
    175 ULY ds 1
    176 
    177 charx ds 2
    178 chary ds 1
    179 globtemp ds 2
    180 stringptr ds 2
    181 
    182 linkmode ds 1
    183 number ds 1
    184 
    185 bLinkIndex ds 2
    186 nextlink ds 1
    187 
    188 linkindex ds 1
    189 bethx ds 1
    190 bethy ds 1
    191 bethstatus ds 1
    192 gspecad ds 2
    193 
    194 heldspec ds 1
    195 
    196 ytemp ds 1
    197 getlnptr ds 1
    198 chartemp ds 1
    199 linenum ds 1
    200 direcptr ds 1
    201 
    202 diskid ds 1
    203 topolist ds 1
    204 okcancel ds 1
    205 
    206 saveim ds 2
    207 objspec ds 1
    208 linkbits ds 3
    209 addr ds 2
    210 ysave ds 1
    211 blockthresh ds 1
    212 gateposn ds 1
    213 
    214 BLOCKX ds 2
    215 BLOCKY ds 1
    216 BLACKX ds 2
    217 BLACKY ds 1
    218 
    219 MATX ds 1
    220 MATY ds 1
    221 
    222 PTRX ds 1
    223 PTRY ds 1
    224 
    225 BUFFLAG ds 1
    226 BUFFX ds 2
    227 BUFFY ds 2
    228 
    229 TEMP ds 4
    230 
    231 CURSOR ds 1
    232 RMARGIN ds 1
    233 BLOCKNUM ds 1
    234 NUMNEXT ds 1
    235 
    236 setupflg ds 1
    237 savecurs ds 1
    238 saveby ds 1
    239 menuindx ds 1
    240 menuflg ds 1
    241 
    242 jcount ds 1
    243 jlast ds 1
    244 objid ds 1
    245 
    246 THIRD ds 1
    247 HELD ds 1
    248 POINTX ds 1
    249 POINTY ds 1
    250 
    251 antcount ds 1
    252 savescrn ds 1
    253 savepx ds 1
    254 savepy ds 1
    255 nextscrn ds 1
    256 
    257 size ds 1
    258 dright ds 1
    259 dup ds 1
    260 
    261 virgin ds 1
    262 
    263 barx ds 1
    264 bary ds 1
    265 
    266 shownums ds 1
    267 idcompare ds 1
    268 special ds 1
    269 loy ds 1
    270 maxfiles ds 1
    271 
    272  dend
    273 *-------------------------------
    274 *  Command list
    275 
    276 Cleft = 1
    277 Cright = 2
    278 Cup = 3
    279 Cdown = 4
    280 Cbtn0 = 5
    281 Cbtn1 = 6
    282 
    283 *-------------------------------
    284 RETURN = $8d
    285 
    286 rawbtn0 = $c061
    287 rawbtn1 = $c062