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

BGDATA.S (4256B)


      1 * bgdata
      2  tr on
      3 *-------------------------------
      4 * Indexed by PIECE ID#:
      5 
      6 space = 0
      7 floor = 1
      8 spikes = 2
      9 posts = 3
     10 gate = 4
     11 dpressplate = 5 ;down
     12 pressplate = 6 ;up
     13 panelwif = 7 ;w/floor
     14 pillarbottom = 8
     15 pillartop = 9
     16 flask = 10
     17 loose = 11
     18 panelwof = 12 ;w/o floor
     19 mirror = 13
     20 rubble = 14
     21 upressplate = 15
     22 exit = 16
     23 exit2 = 17
     24 slicer = 18
     25 torch = 19
     26 block = 20
     27 bones = 21
     28 sword = 22
     29 window = 23
     30 window2 = 24
     31 archbot = 25
     32 archtop1 = 26
     33 archtop2 = 27
     34 archtop3 = 28
     35 archtop4 = 29
     36 
     37 *-------------------------------
     38 * A & B sections have l.l. of (X = BlockLeft, Y = BlockBot-3)
     39 * C & D sections have l.l. of (X = BlockLeft, Y = BlockBot)
     40 * All x & y offsets are relative to these values
     41 * (Front pieces are relative to A)
     42 
     43 *-------------------------------
     44 *               0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
     45 *              16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
     46 
     47 maska hex 00,03,03,03,03,03,03,03,03,00,03,03,00,03,03,03
     48  hex 03,00,00,03,00,03,00,03,00,03,00,00,00,00
     49 
     50 piecea hex 00,01,05,07,0a,01,01,0a,10,00,01,00,00,14,20,4b
     51  hex 01,00,00,01,00,97,00,01,00,a7,a9,aa,ac,ad
     52 
     53 pieceay hex 00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00
     54  dfb 00,00,00,00,00,00,00,00,00,00,00,-4,-4,-4
     55 
     56 maskb hex 00,04,04,04,04,04,04,00,04,00,04,00,00,04,04,04
     57  hex 00,04,04,04,04,04,04,00,04,04,00,00,00,00
     58 
     59 pieceb hex 00,02,06,08,0b,1b,02,9e,1a,1c,02,00,9e,4a,21,1b
     60  hex 4d,4e,02,51,84,98,02,91,92,02,00,00,00,00
     61 
     62 pieceby dfb 00,00,00,00,00,01,00,03,00,03,00,00,03,00,00,-1
     63  dfb 00,00,00,-1,02,00,00,00,00,00,00,00,00,00
     64 
     65 bstripe hex 00,47,47,00,00,47,47,00,00,00,47,47,00,00,47,47
     66  hex 00,00,47,00,00,00,47,00,00,47,00,00,00,00
     67 
     68 *               0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
     69 *              16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
     70 
     71 piecec hex 00,00,00,09,0c,00,00,9f,00,1d,00,00,9f,00,00,00
     72  hex 4f,50,00,00,85,00,00,93,94,00,00,00,00,00
     73 
     74 pieced hex 00,15,15,15,15,18,19,16,15,00,15,00,17,15,2e,4c
     75  hex 15,15,15,15,86,15,15,15,15,15,ab,00,00,00
     76 
     77 fronti hex 00,00,00,45,46,00,00,46,48,49,87,00,46,0f,13,00
     78  hex 00,00,00,00,83,00,00,00,00,a8,00,ae,ae,ae
     79 
     80 fronty dfb 00,00,00,-1,00,00,00,00,-1,03,-3,00,00,-1,00,00
     81  dfb 00,00,00,00,00,00,00,00,00,-1,0,-36,-36,-36
     82 
     83 frontx hex 00,00,00,01,03,00,00,03,01,01,02,00,03,01,00,00
     84  hex 00,00,00,00,00,00,00,00,00,01,00,00,00,00
     85 
     86 *-------------------------------
     87 * special pieces
     88 
     89 gatebotSTA = $43
     90 gatebotORA = $44
     91 gateB1 = $37
     92 gatecmask = $0d
     93 
     94 gate8c hex 2f,30,31,32,33,34,35,36
     95 gate8b hex 3e,3d,3c,3b,3a,39,38,37
     96 
     97 *-------------------------------
     98 * Climbup masking
     99 
    100 CUmask = $11
    101 CUpiece = $12
    102 CUpost = $0e
    103 
    104 *-------------------------------
    105 * Exit
    106 
    107 stairs = $6b
    108 door = $6c
    109 doormask = $6d
    110 toprepair = $6e
    111 
    112 archtop3sp = $a1
    113 
    114 *-------------------------------
    115 * Spike animation frames
    116 *               0  1  2  3  4  5  6  7  8  9 10 11
    117 
    118 spikea hex 00,22,24,26,28,2a,28,24,22,00
    119 spikeb hex 00,23,25,27,29,2b,29,25,23,00
    120 
    121 spikeExt = 5 ;
    122 spikeRet = 9 ;must match MOVEDATA
    123 
    124 *-------------------------------
    125 * Slicer animation frames
    126 *               0  1  2  3  4  5  6  7  8  9 10 11
    127 
    128 slicerseq dfb 04,03,01,02,05,04,04
    129 
    130 slicerExt = 2
    131 slicerRet = 6 ;must match MOVEDATA
    132 
    133 slicertop hex 00,58,5a,5c,5e
    134 slicerbot hex 57,59,5b,5d,5f
    135 slicerbot2 hex 8e,8f,90,5d,5f ;smeared
    136 slicergap dfb 00,38,46,53,55
    137 slicerfrnt hex 65,66,67,68,69
    138 
    139 *-------------------------------
    140 * Loose floor
    141 *               0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
    142 
    143 looseb = $1b
    144 
    145 loosea hex 01,1e,01,1f,1f,01,01,01,1f,1f,1f
    146 looseby dfb 00,01,00,-1,-1,00,00,00,-1,-1,-1
    147 loosed hex 15,2c,15,2d,2d,15,15,15,2d,2d,2d
    148 
    149 Ffalling = 10 ;1st "falling" frame
    150 ;must match MOVEDATA
    151 
    152 *-------------------------------
    153 specialflask = $95
    154 
    155 swordgleam1 = $b3
    156 swordgleam0 = $99
    157 
    158 *-------------------------------
    159 * panels
    160 
    161 panelb0 = $9e
    162 panelc0 = $9f
    163 numpans = 3
    164 
    165 panelb hex 9e,9a,81
    166 panelc hex 9f,9b,82
    167 
    168 archpanel = $a1
    169 
    170 *-------------------------------
    171 * back wall panels for space & floor
    172 
    173 numbpans = 3
    174 
    175 spaceb hex 00,a3,a5,a6
    176 spaceby dfb 0,-20,-20,0
    177 
    178 floorb hex 02,a2,a4,a4
    179 floorby dfb 00,00,00,00
    180 
    181 *-------------------------------
    182 * solid blocks
    183 
    184 numblox = 2
    185 
    186 blockb hex 84,6f
    187 blockc hex 85,85
    188 blockd hex 86,86
    189 blockfr hex 83,83
    190 
    191 *-------------------------------
    192 * moveparams
    193 
    194 gmaxval = 47*4
    195 gminval = 0
    196 
    197 *-------------------------------
    198 eof