;=================================================================== ;BLASTOPIA (C) 2018 THE NEW DIMENSION ;PROGRAMMING, GRAPHICS, SFX AND MUSIC BY RICHARD BAYLISS ;http://tnd64.unikat.sk ;=================================================================== ;Some variables SCRN = $0400 ;Screen RAM address being used COLR = $d800 ;Colour RAM address used ;Music parameters. Please note that for this project ;I decided to move the music data to $8F00, rather ;than $1000 because the music didn't fit between ;$1000-$2000. TITLEMUSIC = 0 ;Music for Front End INGAMEMUSIC = 1 ;Main in game music ENDMUSIC = 2 ;Game ending music MUSICINIT = $8F00 ;init music address MUSICPLAY = $8F03 ;play music address SFXINIT = $8F06 ;Goat tracker built in SFX player ;Map row game areas - Where the map row ;results to the screen row that should ;be read. ; ;MAPPROW1 = GAMEMAP + x * 256 MAPROW1 = GAMEMAP ;MAPROWx represents the MAPROW2 = GAMEMAP+$100 ;row, that should be read MAPROW3 = GAMEMAP+$200 ;and the positioned on to MAPROW4 = GAMEMAP+$300 ;the game screen. MAPROW5 = GAMEMAP+$400 MAPROW6 = GAMEMAP+$500 ;MAPROWx+$yyy = the next MAPROW7 = GAMEMAP+$600 ;256 bytes, which is also MAPROW8 = GAMEMAP+$700 ;the next map row to be MAPROW9 = GAMEMAP+$800 ;drawn on to the next screen. MAPROW10 = GAMEMAP+$900 MAPROW11 = GAMEMAP+$0A00 MAPROW12 = GAMEMAP+$0B00 MAPROW13 = GAMEMAP+$0C00 MAPROW14 = GAMEMAP+$0D00 MAPROW15 = GAMEMAP+$0E00 MAPROW16 = GAMEMAP+$0F00 MAPROW17 = GAMEMAP+$1000 MAPROW18 = GAMEMAP+$1100 MAPROW19 = GAMEMAP+$1200 MAPROW20 = GAMEMAP+$1300 ;Set up interval limitations for alien ;spawning. ALIEN1SPAWNLIMIT = 20 ;Interval values during alien spawn waiti ng ALIEN2SPAWNLIMIT = 40 ALIEN3SPAWNLIMIT = 60 ALIEN4SPAWNLIMIT = 80 ALIEN5SPAWNLIMIT = 100 ;Set up values/addresses for alien formation ;tables. f01x = formation01 ;Assign formation table X position f01y = formation01+$100 ;Assign formation table Y position f02x = formation02 f02y = formation02+$100 f03x = formation03 f03y = formation03+$100 f04x = formation04 f04y = formation04+$100 f05x = formation05 f05y = formation05+$100 f06x = formation06 f06y = formation06+$100 f07x = formation07 f07y = formation07+$100 f08x = formation08 f08y = formation08+$100 f09x = formation09 f09y = formation09+$100 f10x = formation10 f10y = formation10+$100 f11x = formation11 f11y = formation11+$100 f12x = formation12 f12y = formation12+$100 f13x = formation13 f13y = formation13+$100 f14x = formation14 f14y = formation14+$100 f15x = formation15 f15y = formation15+$100 f16x = formation16 f16y = formation16+$100 f17x = formation17 f17y = formation17+$100 f18x = formation18 f18y = formation18+$100 f19x = formation19 f19y = formation19+$100 f20x = formation20 f20y = formation20+$100 f21x = formation21 f21y = formation21+$100 f22x = formation22 f22y = formation22+$100 f23x = formation23 f23y = formation23+$100 f24x = formation24 f24y = formation24+$100 MAPSCROLLSPEED = 2 ;Speed of scrolling map ZP = $10 ;Zeropage for sprite/bgr collision ;Charset values, representing collision chars that ;need special code for events. STAR1 = 0 ;Star char 1 STAR2 = 1 ;Star char 2 STAR3 = 2 ;Star char 3 STAR4 = 3 ;Star char 4 LANDINGPAD1 = 35 ;Landing pad char 1 LANDINGPAD2 = 36 ;Landing pad char 2 LANDINGPAD3 = 37 ;Landing pad char 3 LANDINGPAD4 = 39 ;Landing pad char 4 LANDINGPAD5 = 40 ;Landing pad char 5 LAZERBEAM = 42 ;Lazer char ;Sprite to sprite collision co-ordinate read ;areas inside sprite range of object. The values ;are set to create a ONE SIZE FIT ALL based collision. SHIPAREALEFT = 6 SHIPAREARIGHT = 12 SHIPAREATOP = 12 SHIPAREABOTTOM = 24 BULLETAREALEFT = 6 BULLETAREARIGHT = 12 BULLETAREATOP = 12 BULLETAREABOTTOM = 24 ;Exomizer de-cruncher LOW/HI byte addresses ;to store crunched level map data to (See in ;decruncher LDA $FFFF - as that is the SM ;address to decrunch backwards from. DECRUNCH = $C400 ;Address to run the decruncher DECRUNCHLO = $C410 ;Low-byte address of decrunch from address DECRUNCHHI = $C411 ;Hi-byte address of decrunch from address ;===================================================================