; @com.wudsn.ide.asm.mainsourcefile=scorch.asm .IF *>0 ;this is a trick that prevents compiling this file alone ; initial values for some variables initialvaluesStart I_OptionsTable .by 0,1,2,2,0,1,3,2,0 I_RoundsInTheGame .by 10 ;how many rounds in the current game I_seppukuVal .by 75 I_mountainDeltaH .by 3 I_mountainDeltaL .by $ff ;---------------------------------------------------- I_LineHeader1 dta d"# ROUND: " I_RoundNrDisplay dta d" #", $ff initialvaluesCount = *-initialvaluesstart ; MAX 128 bytes ! ;=================================================================================== ;==========================CONSTANT TABLES, do not erase!=========================== ;=================================================================================== mountainsDeltaTableH .by 0,1,3,5,7 mountainsDeltaTableL .by $1f, $7f, $ff, $7f, $ff ;------------------------------------------------ LevelNameBeginL ; begins of level names .by NamesOfLevels,>(NamesOfLevels+10),>(NamesOfLevels+20) .by >(NamesOfLevels+32),>(NamesOfLevels+42),>(NamesOfLevels+52) .by >(NamesOfLevels+64),>(NamesOfLevels+74),>(NamesOfLevels+84) ;-------------- TanksWeaponsTableL .by TanksWeapon1,>TanksWeapon2,>TanksWeapon3,>TanksWeapon4,>TanksWeapon5,>TanksWeapon6 ;-------------- XtankOffsetGO_L .by 6,56,106,156,206,0 XtankOffsetGO_H .by 0,0,0,0,0,1 ;-----4x4 texts----- LineTop dta d"(%%%%%%%%%%%%)" ;# - vertical, () * +, % - horizontal LineBottom dta d"*%%%%%%%%%%%%+" LineEmpty dta d"# #" LineHeader2 dta d"# RESULTS #" LineGameOver dta d"# GAME OVER #" seppukuText dta d"# SEPPUKU! #" areYouSureText dta d"# SURE? Y/N #" lineClear dta d" " TankColoursTable .BYTE $58,$2a,$96,$ca,$7a,$ed ;TankStatusColoursTable .BYTE $54,$24,$92,$c4,$74,$e4 ; standard order TankStatusColoursTable .BYTE $74,$c4,$24,$e4,$54,$94 ; Adam's order ;----------- GradientAddrL .by dliColorsFore, >dliColorsFore, >dliColorsFore2 dliColorsFore2 ; colors for NTSC .by $0a ; one mountains color .by $7e,$7a,$7c,$6a,$6c,$58,$5a,$48,$4a,$38 .by $3a,$16,$18,$e6,$e8,$d4,$d6,$b4,$b6,$b6 dliColorsFore2PAL ; colors for PAL .by $0a ; one mountains color .by $7e,$7a,$7c,$6a,$6c,$58,$5a,$48,$4a,$38 .by $3a,$16,$18,$e6,$e8,$c4,$c6,$a4,$a6,$a6 ;----------- pmtableL ; addressess of the P/M memory for 6 tanks .by <(pmgraph+$400) .by <(pmgraph+$500) .by <(pmgraph+$600) .by <(pmgraph+$700) .by <(pmgraph+$300) ; this is a missile background .by <(pmgraph+$300) ; this is a missile background pmtableH .by >(pmgraph+$400) .by >(pmgraph+$500) .by >(pmgraph+$600) .by >(pmgraph+$700) .by >(pmgraph+$300) .by >(pmgraph+$300) ;----------- sintable .by 1 .by 4 .by 8 .by 13 .by 17 .by 22 .by 26 .by 31 .by 35 .by 40 .by 44 .by 48 .by 53 .by 57 .by 61 .by 66 .by 70 .by 74 .by 79 .by 83 .by 87 .by 91 .by 95 .by 100 .by 104 .by 108 .by 112 .by 116 .by 120 .by 124 .by 128 .by 131 .by 135 .by 139 .by 143 .by 146 .by 150 .by 154 .by 157 .by 161 .by 164 .by 167 .by 171 .by 174 .by 177 .by 181 .by 184 .by 187 .by 190 .by 193 .by 196 .by 198 .by 201 .by 204 .by 207 .by 209 .by 212 .by 214 .by 217 .by 219 .by 221 .by 223 .by 226 .by 228 .by 230 .by 232 .by 233 .by 235 .by 237 .by 238 .by 240 .by 242 .by 243 .by 244 .by 246 .by 247 .by 248 .by 249 .by 250 .by 251 .by 252 .by 252 .by 253 .by 254 .by 254 .by 255 .by 255 .by 255 .by 255 .by 255 .by 255 ;anti self destruction byte ;linetableL ; :screenheight+1 .by <(display+screenBytes*#) ;linetableH ; :screenheight+1 .by >(display+screenBytes*#) ;---------------------------- bittable .by $80,$40,$20,$10,$08,$04,$02,$01 bittable2 .by $7f,$bf,$df,$ef,$f7,$fb,$fd,$fe ;---------------------------- disktance ;tanks distance .by 0,0 .by screenwidth/3 .by screenwidth/4 .by screenwidth/5 .by screenwidth/6 .by screenwidth/7 ;max number of players=6 ; this table is for deciding where a tank should slide ; accordingly to what is below the tank ; values in table mean that tank is moving to the left SlideLeftTable .BY %00000001 .BY %00000010 .BY %00000011 .BY %00000100 .BY %00000101 .BY %00000110 .BY %00000111 .BY %00001100 ;------------------------------------------------- TanksNamesDefault dta d"1st.Tank" dta d"2nd.Tank" dta d"3rd.Tank" dta d"4th.Tank" dta d"5th.Tank" dta d"6th.Tank" ;------------------------------------------------- TankShapesTable .BYTE char_tank1___________ .BYTE char_tank2___________ .BYTE char_tank3___________ .BYTE char_tank4___________ ;------------------------------------------------- WeaponPriceH ; weapons prices (tables with prices of weapons) .by >price_Baby_Missile___ .by >price_Missile________ .by >price_Baby_Nuke______ .by >price_Nuke___________ .by >price_LeapFrog_______ .by >price_Funky_Bomb_____ .by >price_MIRV___________ .by >price_Death_s_Head___ .by >price_Napalm_________ .by >price_Hot_Napalm_____ .by >price_Tracer_________ .by >price_Smoke_Tracer___ .by >price_Baby_Roller____ .by >price_Roller_________ .by >price_Heavy_Roller___ .by >price_Riot_Charge____ .by >price_Riot_Blast_____ .by >price_Riot_Bomb______ .by >price_Heavy_Riot_Bomb .by >price_Baby_Digger____ .by >price_Digger_________ .by >price_Heavy_Digger___ .by >price_Baby_Sandhog___ .by >price_Sandhog________ .by >price_Heavy_Sandhog__ .by >price_Dirt_Clod______ .by >price_Dirt_Ball______ .by >price_Ton_of_Dirt____ .by >price_Liquid_Dirt____ .by >price_Dirt_Charge____ .by >price_Buy_me_________ .by >price_Laser__________ .by >price_White_Flag_____ .by >price_Battery________ .by >price_Hovercraft_____ .by >price_Parachute______ .by >price_StrongParachute .by >price_Mag_Deflector__ .by >price_Shield_________ .by >price_Heavy_Shield___ .by >price_Force_Shield___ .by >price_Bouncy_Castle__ .by >price_Long_Barrel____ .by >price_Nuclear_Winter_ .by >price_Lazy_Boy_______ .by >price_Lazy_Darwin____ .by >price_Auto_Defense___ .by >price_Spy_Hard_______ WeaponPriceL .by