#include "USGARD.H" ;\____ Header files, define calls and routines. #include "SPRITLIB.H" ;/ #include "SCANKEY.H" #include "DISPLIB.H" .org 0 .db "Abysmal Decent: Part I", 0 ;<-Name that appears on shell .db SPRITLIB,DISPLIB,0 ;<---what libraries are required? ; ___________________________________________________ ; / \ ;| Set Variables and discribe what they are used for | ; \___________________________________________________/ temp1 = TEXT_MEM ;\ temp2 = TEXT_MEM+1 ; >----These are temporary varibles for storage. temp3 = TEXT_MEM+2 ;/ temp4 = TEXT_MEM+5 ;<---this is NOT temporary storage, used ; to determine the amount of trimming needed ; before drawing a sprite. XRow = TEXT_MEM+9 ; \__________________________ Used to place YCol = TEXT_MEM+10 ; / you on the map XRow2 = TEXT_MEM+11 ; \__________________________ Used to place YCol2 = TEXT_MEM+12 ; / you on the map man_x2 = TEXT_MEM+13 ;\__finite position of man in two specific blocks man_y2 = TEXT_MEM+14 ;/ spr = TEXT_MEM+15 ;<--- Sprite buffer, use this to save space by ; defining the current type of sprite. XRow3 = TEXT_MEM+16 ;<---This defines the clipping of the leading : sprites. man_t = TEXT_MEM+17 ;defines by time which posision of your guy (look) man_t2 = TEXT_MEM+18 ;defines by time which posision of your guy (look) man_t3 = TEXT_MEM+19 MANX1 = TEXT_MEM+20 ;\__location of guy in map (bot, left) MANY1 = TEXT_MEM+21 ;/ MANX2 = TEXT_MEM+22 ;\__location of guy in map (top, right) MANY2 = TEXT_MEM+23 ;/ v_up = TEXT_MEM+24 ;<---your velocity of jumping. ctc = TEXT_MEM+25 rds = TEXT_MEM+26 AXRow = TEXT_MEM+27 AYCol = TEXT_MEM+28 sxrow = TEXT_MEM+29 sycol = TEXT_MEM+30 srol = TEXT_MEM+31 cont = TEXT_MEM+32 jsj = TEXT_MEM+33 spj = TEXT_MEM+34 ud = TEXT_MEM+35 pow = TEXT_MEM+36 tim = TEXT_MEM+37 liv = TEXT_MEM+38 mine = TEXT_MEM+39 tim2 = TEXT_MEM+40 drtt = TEXT_MEM+41 drtt2 = TEXT_MEM+42 ; __________________________________________ ; / \ ;| SET FIRST VALUES OF VARIABLES AS NEEDED | ; \__________________________________________/ ld a, 3 ld (liv), a ; ___________________________________________________________________ ; / \ ;| FIRST EXECUTION OF CODE........BEGIN GAME...THEN QUIT TO ZSHELL | ; \___________________________________________________________________/ ld a, 4 ;\__Graphix mode out (5), a ;/ ld hl, $8C40 set 0, (hl) call &intro udnd: ld a, (ud) cp 6 call z, &dimd ld a, 8 ;\__When you first draw the screen ld (temp4), a ;/ no trimming necessary. ld a, 2 ld (ctc), a ld a, 1 ld (spj), a ld (jsj), a ld (ud), a ld a, 0 ld (mine), a ld a, 13 ld (pow), a ld a, 219 ld (tim), a ld a, 150 ld (tim2), a call &Draw_Beg ;<---Draw the begging of the level call &mrv ;<--show it in video_mem (prev. graph_mem) call &set_guy ;<---draws your guy and sets his position call &bot_stats call &dimu ld hl, &IntTime call INT_INSTALL ;################################################################## ;# Okay, now the first screen has been drawn, begin the game loop # ;################################################################## ld a, 18 ;\ ld (XRow), a ; \ ld a, 128 ; \__New coordinates are finnished ld (XRow2), a ; / preparing for scrolling ld a, 0 ; / (NOT USED FOR THE GUYS COORDINATES!) ld (XRow3), a ;/ ld (v_up), a Top_Get2: ;<---Key loop. ld a, (ud) cp 5 jp z, &quit cp 6 jr z, udnd cp 7 call z,&udie ld a, 0 ld (rds), a ld a, (v_up) cp 0 call nz, &JJ ld a, (drtt) cp 2 call z, &bot_stats ld a, (drtt2) cp 2 call z, &bot_stats2 SCANKEY(M_GRAPH,P_GRAPH) jp z, &mrv2 SCANKEY(M_MORE,P_MORE) call z, &pause SCANKEY(M_LEFT,P_LEFT) call z, &mv_left ; ok, move the guy to the left. SCANKEY(M_RIGHT,P_RIGHT) call z, &mv_right ; ok, scroll the screen right. SCANKEY(M_UP,P_UP) call nz, &antijump SCANKEY(M_UP,P_UP) call z, &jump SCANKEY(M_SECOND,P_SECOND) call z, &jump SCANKEY(M_EXIT,P_EXIT) jr z, quit ret z ;man! ok, biya! =) ld a, (ud) cp 5 jr z, quit cp 6 jp z, &udnd ld a, (ctc) cp 2 jp z, &chk_bot Top_Get: ld a, (ud) cp 5 jr z, quit cp 6 jp z, &udnd ld a, (rds) cp 1 call z, &fxscr jp &Top_Get2 ; done with checking last key-press, now ; check the next one. quit: call INT_CLEAN ret pause: call INT_REMOVE ld hl, VIDEO_MEM call &clr_hl ; <- Nice routine I made that clears memory at hl call &bot_stats ld hl, $192D ld de, paus ld ($8333), hl ld hl, (PROGRAM_ADDR) add hl, de call D_ZM_STR call OTH_PAUSE call &mrv call &dr_guy ld hl, &IntTime call INT_INSTALL ret antijump: SCANKEY(M_SECOND,P_SECOND) ret z ld a, 0 ld (jsj), a falls: ld a, (man_y2) cp 50 jp nc, &uftd ld a, (man_x2) dec a ld (temp2), a ld a, (srol) cp 17 jr nz, fd_bot ld a, (man_y2) ld b, a ld a, 57 sub b ld (temp3), a fd_bot: ld a, (MANX2) ld b, a ld a, 9 sub b ld b, a ld a, (man_x2) add a, b ld b, a ld a, (temp2) inc a cp b jp z, &fall ld (temp2), a ld b, a ld a, (temp3) ld c, a ROM_CALL(FIND_PIXEL) ld de, GRAPH_MEM add hl, de and (hl) jr z, fd_bot ld a, (MANX1) ld (AXRow), a ld a, 19 ld a, (srol) cp 17 ret nz ld a, (MANY1) ld (AYCol), a ld a, (MANY2) cp 1 jr nz, sbic ld a, (AYCol) dec a ld (AYCol), a sbic: call &chkok ld a, (man_y2) cp 49 ret nz ld a, (spr) cp 0 ret z ld a, 1 ld (temp1), a ret falls2: ld a, (MANX2) ld b, a ld a, 9 sub b ld b, a ld a, (man_x2) add a, b ld (temp2), a ld a, (srol) cp 17 jr nz, fd_bot ld a, (man_y2) ld b, a ld a, 57 sub b ld (temp3), a fd_bot2: ld a, (man_x2) add a, 9 ld b, a ld a, (temp2) inc a cp b jp z, &fall ld (temp2), a ld b, a ld a, (temp3) ld c, a ROM_CALL(FIND_PIXEL) ld de, GRAPH_MEM add hl, de and (hl) jr z, fd_bot2 ld a, (MANX1) inc a ld (AXRow), a ld a, (MANY1) ld (AYCol), a ld a, 19 ld a, (srol) cp 17 ret nz ld a, (MANY2) cp 1 jr nz, sbic2 ld a, (AYCol) dec a ld (AYCol), a sbic2: call &chkok ld a, (man_y2) cp 49 ret nz ld a, (spr) cp 0 ret z ld a, 1 ld (temp1), a ret chkjmp: jp &Top_Get ; done with checking last key-press, now chk_bot: ld a, 17 ld (srol), a ld a, 0 ld (temp1), a call &falls ld a, (temp1) cp 1 jr z, chkjmp ;don't fall anymore ld a, 0 ld (temp1), a call &falls2 ld a, (temp1) cp 1 jr z, chkjmp ;don't fall anymore ld a, 2 ld (ctc), a ld a, (v_up) cp 0 jp nz, &Top_Get ld a, (man_y2) inc a ld (man_y2), a ld a, (MANY2) dec a ld (MANY2), a cp 0 jr nz, smd1 ld a, (MANY1) dec a ld (MANY1), a ld a, 8 ld (MANY2), a smd1: call &fxscr jp &Top_Get ; done with checking last key-press, now fall: ;ok, you fall =) ld a, 1 ret jump: call &chk_up cp 0 ret z ld a, (man_y2) cp 0 jr z, uftd ld a, (jsj) cp 2 ret z ld a, 17 ld (srol), a ld a, 0 ld (temp1), a call &falls ld a, (temp1) cp 0 call z, &falls2 ld a, (temp1) cp 0 ret z ld a, 2 ld (jsj), a ld a, 15 ld (v_up), a ld a, (spj) cp 3 ret nz ld a, 27 ld (v_up), a ret stop_j: ld a, 0 ret uftd: ld a, 6 ld (temp4), a uftt: ld hl, VIDEO_MEM LIB_CALL_(SPRITLIB,SET_DEST) call &mrv ld hl, y21 ld de, (PROGRAM_ADDR) add hl, de ld a, (man_x2) ld b, a ld a, (man_y2) ld c, a LIB_CALL_(SPRITLIB,PUTSPRIT) ld hl, y12 ld de, (PROGRAM_ADDR) add hl, de ld a, (man_x2) ld b, a ld a, (man_y2) add a, 8 ld c, a LIB_CALL_(SPRITLIB,PUTSPRIT) call &bot_stats2 call &wait2 ld a, (temp4) dec a ld (temp4), a ld a, (man_y2) inc a ld (man_y2), a cp 55 jr nc, ufdie ld hl, &y21 inc hl ld (temp3), hl ld hl, temp4 ld de, (temp3) ld bc, 1 ldir ld hl, &y12 inc hl ld (temp3), hl ld hl, temp4 ld de, (temp3) ld bc, 1 ldir jr uftt ufdie: ;you fell to your death. call &mrv call &wait2 call &wait2 call &wait2 call &wait2 call &wait2 udie: call INT_REMOVE ld a, 5 ld (ud), a ld a, 6 ld (temp1), a ld hl, &y21 inc hl ld (temp3), hl ld hl, temp1 ld de, (temp3) ld bc, 1 ldir ld hl, &y12 inc hl ld (temp3), hl ld hl, temp1 ld de, (temp3) ld bc, 1 ldir ld a, (liv) cp 0 jr nz, udie2 ret udie2: ld a, (ud) cp 6 ret z ld a, (liv) dec a ld (liv), a ld a, 6 ld (ud), a ret ssjs: ld a, 1 ld (jsj), a ret JJ: call &chk_up cp 0 jr nz, ycj ld a, 0 ld (v_up), a ld a, 2 ld (ctc), a ld a, 1 ld (spj), a ret ycj: ld a, (v_up) cp 0 jr z, ycj2 dec a ld (v_up), a ld a, (man_y2) dec a ld (man_y2), a ld a, 1 ld (rds), a ld a, (MANY2) inc a ld (MANY2), a cp 9 jr c, smu ld a, 1 ld (MANY2), a ld a, (MANY1) inc a ld (MANY1), a smu: ret ycj2: ld a, 2 ld (ctc), a ret chr3: ld a, (man_x2) dec a ld (temp2), a jr chr4 chk_right: ld a, 0 ld (temp1), a ld a, (srol) cp 1 jr z, chr3 ld a, (man_x2) add a, 10 ld (temp2), a chr4: ld a, (man_y2) ld b, a ld a, 62 sub b ld (temp3), a chr2: ld a, (man_y2) ld b, a ld a, 58 sub b ld b, a ld a, (temp3) cp b ret z ld (temp3), a dec a ld (temp3), a ld c, a ld a, (temp2) ld b, a ROM_CALL(FIND_PIXEL) ld de, GRAPH_MEM add hl, de and (hl) jr z, chr2 jr cstchk chkok: call &get_m_info cp 26 ret z cp 27 ret z cp 28 ret z cp 65 ret z cp 66 ret z cp 67 ret z cp 24 ret z cp 25 ret z cp 18 ret z cp 19 ret z cp 8 ret z cp 7 ret z cp 6 ret z cp 62 ret z cp 63 ret z cp 64 ret z cp 41 ret z cp 42 ret z cp 43 ret z cp 55 ret z cp 56 ret z cp 57 ret z cp 58 ret z cp 59 ret z cp 60 ret z ld a, 1 ld (temp1), a ret cstchk: ld a, (srol) cp 1 jr nz, cstchk2 ld a, (MANX1) ld (AXRow), a ld a, (MANX2) cp 1 jr nz, srtp ld a, (AXRow) dec a ld (AXRow), a srtp: ld a, (MANY1) ld (AYCol), a call &chkok ld a, (MANY2) cp 4 ret c ld a, (MANY1) inc a ld (AYCol), a call &chkok ret cstchk2: ld a, (MANX1) inc a ld (AXRow), a ld a, (MANX2) cp 8 jr nz, srtp2 ld a, (AXRow) inc a ld (AXRow), a srtp2: ld a, (MANY1) ld (AYCol), a call &chkok ld a, (MANY2) cp 4 ret c ld a, (MANY1) inc a ld (AYCol), a call &chkok ret chk_up: ; check to see if you can even go up =) hehe ld a, 5 ld (srol), a ld a, (man_y2) cp 0 ret z ld b, a ld a, 64 sub b ld (temp3), a ld a, 0 ld (temp1), a call &falls cp 19 jr z, chk8 ld a, (MANY1) ld (AYCol), a ld a, (MANY2) cp 3 jr c, chkbic ld a, (AYCol) inc a ld (AYCol), a chkbic: call &chkok chk8: ld a, (man_y2) ld b, a ld a, 64 sub b ld (temp3), a ld a, (temp1) cp 0 call z, &falls2 cp 19 ret z ld a, (MANY1) ld (AYCol), a ld a, (MANY2) cp 3 jr c, chkbic2 ld a, (AYCol) inc a ld (AYCol), a chkbic2: call &chkok ret mv_left: ld a, 1 ld (srol), a ld a, (man_x2) cp 1 ret c call &chk_right ld a, (temp1) cp 1 ret z ld a, (man_x2) dec a ld (man_x2), a ld a, 2 ld (ctc), a ld a, 1 ld (rds), a ld a, (MANX2) dec a ld (MANX2), a cp 0 jr nz, sml1 ld a, 8 ld (MANX2), a ld a, (MANX1) dec a ld (MANX1), a sml1: ret mv_right: ;routine to move your guy (and possibly the screen) right. ld a, 2 ld (srol), a call &chk_right ld a, (temp1) cp 1 ret z ld a, 2 ld (ctc), a ld a, (MANX2) inc a ld (MANX2), a cp 9 jr nz, smr1 ld a, 1 ld (MANX2), a ld a, (MANX1) inc a ld (MANX1), a smr1: ld a, (man_x2) cp 96 jr z, mv2 inc a ld (man_x2), a ld a, 2 ld (ctc), a ld a, 1 ld (rds), a ret fxscr: call &mrv call &guy_look call &dr_guy ret guy_look: ld a, (man_t) inc a ld (man_t), a cp 10 jr nz, sts ld a, 1 ld (man_t), a ld a, (man_t3) cp 2 jr z, sts2 ld a, (man_t2) inc a ld (man_t2), a cp 4 jr nz, sts ld a, 2 ld (man_t3), a ld (man_t2), a sts: ret sts2: ld a, 1 ld (man_t2), a ld (man_t3), a jr sts mv2: ;<-routine used to scroll the screen right. call &scrll ;<-scoll graph_mem left one column of pixels. ;(note: pixels wrap for new images will have ;to replace what was there, including blank ;spaces!) ld a, 1 ;\ ld (YCol), a ; \__Start at the bottom of the screen. ld a, 48 ; / ld (YCol2), a ;/ ld a, (XRow3) ;\ inc a ; \ ld (XRow3), a ; \__Reset x coordinates, including trim- ld a, (XRow2) ; / factor and x-coordinate to draw from. dec a ; / ld (XRow2), a ;/ ld a, (XRow3) ;\___Set the amount you want to trim off. ld (temp4), a ;/ tp2: ld a, (XRow) ld (AXRow), a ld a, (YCol) ld (AYCol), a call &get_m_info ;<-what are we gonna draw? call &ld_spr2 ;<-load it preparing to trim stuff. call &trimmer ;<-now trim the excess off. ld a, (spr) ;<-what was the type of sprite again? call &ld_spr ;<-ok, now load it for drawing this time. call &dra ;<-draw it in graph_mem (to reduce ld a, (YCol2) ;\ sub 8 ; \ ld (YCol2), a ; \___increase the high-low level ld a, (YCol) ; / (vertical shift) inc a ; / ld (YCol), a ;/ cp 9 ;\__Have you hit the end of the screen??? jr nz, tp2 ;/ ld a, (XRow2) ;\ cp 120 ; >--Have you hit a new column of cells? call z,&rst ;/ If so reset XRow* variables call &mrv ;<---ok, you've scrolled the screen, ; redrawn ;new stuff, now show it (load graph_mem into ; video_mem) call &guy_look call &dr_guy ;<---and now redraw the guy. ret ;<---Yeah! you did it, now return. rst: ;<--new cell of blocks, reset reliable ; variables. ld a, (XRow) ;\ inc a ; >--points to cell of blocks (column) ld (XRow), a ;/ ld a, 128 ;\___points to actual x-cor value (for ld (XRow2), a ;/ drawing the sprite) ld a, 0 ;\__How much of the sprite do I actually ld (XRow3), a ;/ draw? (used for trimming.) ret bot_stats2: call &cl_bot bot_stats: ld hl, $3937 ld de, stats2 ld ($8333), hl ld hl, (PROGRAM_ADDR) add hl, de call D_ZM_STR ld hl, VIDEO_MEM LIB_CALL_(SPRITLIB,SET_DEST) ld hl, b1 ld de, (PROGRAM_ADDR) add hl, de ld a, 1 ld b, a ld a, 57 ld c, a LIB_CALL_(SPRITLIB,PUTSPRIT) ld hl, b2 ld de, (PROGRAM_ADDR) add hl, de ld a, 9 ld b, a ld a, 57 ld c, a LIB_CALL_(SPRITLIB,PUTSPRIT) ld hl, b4 ld de, (PROGRAM_ADDR) add hl, de ld a, 13 ld b, a ld a, 59 ld c, a LIB_CALL_(SPRITLIB,PUTSPRIT) ld hl, b3 ld de, (PROGRAM_ADDR) add hl, de ld a, 28 ld b, a ld a, 57 ld c, a LIB_CALL_(SPRITLIB,PUTSPRIT) ld hl, b4 ld de, (PROGRAM_ADDR) add hl, de ld a, 36 ld b, a ld a, 59 ld c, a LIB_CALL_(SPRITLIB,PUTSPRIT) ld hl, GRAPH_MEM LIB_CALL_(SPRITLIB,SET_DEST) call &power call &time call &minerals call &lives ld a, 1 ld (drtt), a ld (drtt2), a ret power: ld bc, $3928 ld (CURSOR_X), bc ld a, (pow) LIB_CALL_(DISPLIB,D_A_DEC) ret time: ld bc, $3974 ld (CURSOR_X), bc ld a, (tim) LIB_CALL_(DISPLIB,D_A_DEC) ret rdsc: ld a, 1 ld (drtt), a ld a, 2 ld (drtt2), a ret lives: ld bc, $390C ld (CURSOR_X), bc ld a, (liv) LIB_CALL_(DISPLIB,D_A_DEC) ret minerals: ld bc, $3952 ld (CURSOR_X), bc ld a, (mine) LIB_CALL_(DISPLIB,D_A_DEC) ret IntTime: push bc push de push hl push af ld a, (tim2) dec a ld (tim2), a jr nz, ints2 ld a, 150 ld (tim2), a ld a, (tim) dec a ld (tim), a ld a, 2 ld (drtt), a ld a, (tim) cp 99 call z, &rdsc ld a, (tim) cp 9 call z, &rdsc ld a, (tim) cp 0 jr nz, ints2 ld a, 7 ld (ud), a ints2: pop af pop hl pop de pop bc ret scrll: ;<---scrolling routine, scroll graph_mem ld hl, GRAPH_MEM ; left one column of pixels. ld de, 15 ld bc, $1038 ;scroll the whole screen SL_Y_Loop: ld a, (hl) and 128 jr z, SL_PixDone scf SL_PixDone: add hl, de SL_Loop: rl (hl) dec hl djnz SL_Loop add hl, de inc hl inc hl ld b, 16 dec c jr nz, SL_Y_Loop ret set_guy: ; draws your guy and sets his position. ld a, 2 ld (MANX1), a ld a, 2 ld (MANY2), a ld a, 0 ld (man_x2), a ld a, 49 ld (man_y2), a ld a, 1 ld (MANX2), a ld a, 1 ld (MANY1), a ld (man_t), a ld (man_t2), a call &dr_guy ret dr_guy: ld hl, VIDEO_MEM LIB_CALL_(SPRITLIB,SET_DEST) ld hl, y11 ld a, (man_t2) cp 1 jr z, sgs ld hl, y21 cp 2 jr z, sgs ld hl, y31 sgs: ld de, (PROGRAM_ADDR) add hl, de ld a, (man_x2) ld b, a ld a, (man_y2) ld c, a LIB_CALL_(SPRITLIB,PUTSPRIT) ld hl, y12 ld a, (man_t2) cp 1 jr z, sgs2 cp 2 jr z, sgs2 ld hl, y32 sgs2: ld de, (PROGRAM_ADDR) add hl, de ld a, (man_x2) add a, 8 ld b, a ld a, (man_y2) ld c, a LIB_CALL_(SPRITLIB,PUTSPRIT) ld hl, GRAPH_MEM LIB_CALL_(SPRITLIB,SET_DEST) ret ; _______________________________________________________ ; / \ ;| Routine used to draw the level at the beginning :) | ; \_______________________________________________________/ Draw_Beg: ld hl, GRAPH_MEM call &clr_hl ; <- Nice routine I made that clears memory at hl ld hl, GRAPH_MEM LIB_CALL_(SPRITLIB,SET_DEST) ld a, 2 ld (XRow), a ld a, 1 ld (YCol), a ld a, 48 ld (YCol2), a ld a, 0 ld (XRow2), a D_R2: ld a, (XRow) ld (AXRow), a ld a, (YCol) ld (AYCol), a call &get_m_info call &ld_spr2 call &trimmer ld a, (spr) call &ld_spr call &Dra ld a, (YCol) inc a cp 8 jr z, next_x ld (YCol), a ld a, (YCol2) sub 8 ld (YCol2), a jr D_R2 next_x ld a, 1 ld (YCol), a ld a, 48 ld (YCol2), a ld a, (XRow) inc a cp 18 ret z ld (XRow), a ld a, (XRow2) add a, 8 ld (XRow2), a jr D_R2 Dra: ld de, (PROGRAM_ADDR) add hl, de ld a, (XRow2) ld b, a ld a, (YCol2) cp 56 ret nc ld c, a LIB_CALL_(SPRITLIB,PUTSPRIT) ret mrv: ld hl, GRAPH_MEM ld de, VIDEO_MEM ld bc, 896 ldir ret mrv2: ld hl, VIDEO_MEM ld de, GRAPH_MEM ld bc, 1024 ldir call INT_REMOVE ret trimmer: ld (temp3), hl ld hl, temp4 ld de, (temp3) ld bc, 1 ldir ret ld_spr: ld hl, sb cp 0 ret z ld hl, s01 cp 1 ret z ld hl, s02 cp 2 ret z ld hl, s03 cp 3 ret z ld hl, s04 cp 4 ret z ld hl, s05 cp 5 ret z ld hl, s06 cp 6 ret z ld hl, s07 cp 7 ret z ld hl, s08 cp 8 ret z ld hl, s09 cp 9 ret z ld hl, s10 cp 10 ret z ld hl, s11 cp 11 ret z ld hl, s12 cp 12 ret z ld hl, s13 cp 13 ret z ld hl, s14 cp 14 ret z ld hl, s15 cp 15 ret z ld hl, s16 cp 16 ret z ld hl, s17 cp 17 ret z ld hl, s18 cp 18 ret z ld hl, s19 cp 19 ret z ld hl, s20 cp 20 ret z ld hl, s21 cp 21 ret z ld hl, s22 cp 22 ret z ld hl, s23 cp 23 ret z ld hl, s24 cp 24 ret z ld hl, s25 cp 25 ret z ld hl, s26 cp 26 ret z ld hl, s27 cp 27 ret z ld hl, s28 cp 28 ret z ld hl, s29 cp 29 ret z ld hl, s30 cp 30 ret z ld hl, s31 cp 31 ret z ld hl, s32 cp 32 ret z ld hl, s33 cp 33 ret z ld hl, s34 cp 34 ret z ld hl, s35 cp 35 ret z ld hl, s36 cp 36 ret z ld hl, s37 cp 37 ret z ld hl, s38 cp 38 ret z ld hl, s39 cp 39 ret z ld hl, s40 cp 40 ret z ld hl, s41 cp 41 ret z ld hl, s42 cp 42 ret z ld hl, s43 cp 43 ret z ld hl, s44 cp 44 ret z ld hl, s45 cp 45 ret z ld hl, s46 cp 46 ret z ld hl, s47 cp 47 ret z ld hl, s48 cp 48 ret z ld hl, s49 cp 49 ret z ld hl, s50 cp 50 ret z ld hl, s51 cp 51 ret z ld hl, s52 cp 52 ret z ld hl, s53 cp 53 ret z ld hl, s54 cp 54 ret z ld hl, s55 cp 55 ret z ld hl, s56 cp 56 ret z ld hl, s57 cp 57 ret z ld hl, s58 cp 58 ret z ld hl, s59 cp 59 ret z ld hl, s60 cp 60 ret z ld hl, s61 cp 61 ret z ld hl, s62 cp 62 ret z ld hl, s63 cp 63 ret z ld hl, s64 cp 64 ret z ld hl, s65 cp 65 ret z ld hl, s66 cp 66 ret z ld hl, s67 ret ld_spr2: ld hl, &sb cp 0 ret z ld hl, &s01 cp 1 ret z ld hl, &s02 cp 2 ret z ld hl, &s03 cp 3 ret z ld hl, &s04 cp 4 ret z ld hl, &s05 cp 5 ret z ld hl, &s06 cp 6 ret z ld hl, &s07 cp 7 ret z ld hl, &s08 cp 8 ret z ld hl, &s09 cp 9 ret z ld hl, &s10 cp 10 ret z ld hl, &s11 cp 11 ret z ld hl, &s12 cp 12 ret z ld hl, &s13 cp 13 ret z ld hl, &s14 cp 14 ret z ld hl, &s15 cp 15 ret z ld hl, &s16 cp 16 ret z ld hl, &s17 cp 17 ret z ld hl, &s18 cp 18 ret z ld hl, &s19 cp 19 ret z ld hl, &s20 cp 20 ret z ld hl, &s21 cp 21 ret z ld hl, &s22 cp 22 ret z ld hl, &s23 cp 23 ret z ld hl, &s24 cp 24 ret z ld hl, &s25 cp 25 ret z ld hl, &s26 cp 26 ret z ld hl, &s27 cp 27 ret z ld hl, &s28 cp 28 ret z ld hl, &s29 cp 29 ret z ld hl, &s30 cp 30 ret z ld hl, &s31 cp 31 ret z ld hl, &s32 cp 32 ret z ld hl, &s33 cp 33 ret z ld hl, &s34 cp 34 ret z ld hl, &s35 cp 35 ret z ld hl, &s36 cp 36 ret z ld hl, &s37 cp 37 ret z ld hl, &s38 cp 38 ret z ld hl, &s39 cp 39 ret z ld hl, &s40 cp 40 ret z ld hl, &s41 cp 41 ret z ld hl, &s42 cp 42 ret z ld hl, &s43 cp 43 ret z ld hl, &s44 cp 44 ret z ld hl, &s45 cp 45 ret z ld hl, &s46 cp 46 ret z ld hl, &s47 cp 47 ret z ld hl, &s48 cp 48 ret z ld hl, &s49 cp 49 ret z ld hl, &s50 cp 50 ret z ld hl, &s51 cp 51 ret z ld hl, &s52 cp 52 ret z ld hl, &s53 cp 53 ret z ld hl, &s54 cp 54 ret z ld hl, &s55 cp 55 ret z ld hl, &s56 cp 56 ret z ld hl, &s57 cp 57 ret z ld hl, &s58 cp 58 ret z ld hl, &s59 cp 59 ret z ld hl, &s60 cp 60 ret z ld hl, &s61 cp 61 ret z ld hl, &s62 cp 62 ret z ld hl, &s63 cp 63 ret z ld hl, &s64 cp 64 ret z ld hl, &s65 cp 65 ret z ld hl, &s66 cp 66 ret z ld hl, &s67 ret clr_hl: ld (hl), 0 ld d, h ld e, l ld bc, 1023 inc de ldir ret cl_bot: ld hl, VIDEO_MEM+896 ld (hl), 0 ld d, h ld e, l ld bc, 127 inc de ldir call &bot_stats ret get_m_info: ld hl, &level_1 ld a, (AXRow) dec a and a jr z, FirstLine ld b, a ld de, 7 ; <--- 7 is the width of the matrix Looper: add hl, de djnz Looper FirstLine: ld a, (AYCol) dec a ld e, a add hl, de ld a, (hl) ld (spr), a ret intro: ld hl, VIDEO_MEM LIB_CALL_(SPRITLIB,SET_DEST) call &dimd call CLEARLCD ld a, (cont) ld (CONTRAST), a out (2), a ld hl, $1520 ld de, int ld ($8333), hl ld hl, (PROGRAM_ADDR) add hl, de call D_ZM_STR ld hl, $2235 call &wait2 call &wait2 call &wait2 call &wait2 ld de, int2 ld ($8333), hl ld hl, (PROGRAM_ADDR) add hl, de call D_ZM_STR call &wait2 call &wait2 call &wait2 call &wait2 call &dimd call CLEARLCD ret dimd: ld a, (CONTRAST) ld (cont), a dd2: ld bc, 6000 call &wait ld a, (CONTRAST) dec a ld (CONTRAST), a out (2), a cp 0 jr nz, dd2 ret dimu: ld bc, 6000 call &wait ld a, (CONTRAST) inc a ld (CONTRAST), a out (2), a ld b, a ld a, (cont) cp b jr nz, dimu ret wait2: ld bc, 6000 call &wait ld bc, 6000 call &wait ld bc, 6000 call &wait ld bc, 6000 call &wait ret wait: dec bc ld a, b or c jr nz, wait ret ;####################################################### ;## ## ;## Sprite Catalog!!! =) Choose One and use it toady! ## ;## ## ;####################################################### sb: .db 8,8 .db %00000000 .db %00000000 .db %00000000 .db %00000000 ; .db %00000000 ; Blank SPACE!!! =) Hehehe. .db %00000000 ; .db %00000000 ; .db %00000000 s01: .db 8,8 .db %00000000 .db %00000000 .db %00000000 .db %00000000 .db %00000000 ; ____________ .db %11111111 ; |______|_____ .db %10001000 ; .db %11111111 s02: .db 8,8 .db %00000000 .db %00000000 .db %00000000 .db %00000000 .db %00000000 .db %00000000 .db %11111111 ; ########## .db %11111111 ; ########## s03: .db 8,8 .db %11111111 ; ######## .db %10011001 ; # ## # .db %10011001 ; # ## # .db %01100110 ; ## ## .db %00000000 .db %00000000 .db %00000000 .db %00000000 s04: .db 8,8 .db %11111111 ;####### .db %11111110 ;###### .db %11100000 ;### .db %11000000 ;## .db %11000000 ;## .db %11000000 ;## .db %11000000 ;## .db %10000000 ;# s05: .db 8,8 .db %11111111 ; ######## .db %01111111 ; ####### .db %00000111 ; ### .db %00000011 ; ## .db %00000011 ; ## .db %00000011 ; ## .db %00000011 ; ## .db %00000001 ; # s06: .db 8,8 .db %11111111 ;######## .db %10001000 ;# # .db %11111111 ;######## .db %10000000 ;# .db %11111111 ;######## .db %10001000 ;# # .db %11111111 ;######## .db %10000000 ;# s07: .db 8,8 .db %11111111 ;######## .db %00010000 ; # .db %11111111 ;######## .db %10000000 ;# .db %11111111 ;######## .db %00010000 ; # .db %11111111 ;######## .db %10000000 ;# s08: .db 8,8 .db %11111111 ;######## .db %00010001 ; # # .db %11111111 ;######## .db %10000001 ;# # .db %11111111 ;######## .db %00010001 ; # # .db %11111111 ;######## .db %10000001 ;# # s09: .db 8,8 .db %00000001 ; # .db %00000011 ; ## .db %00000011 ; ## .db %00000011 ; ## .db %00000011 ; ## .db %00000111 ; ### .db %01111111 ; ####### .db %11111111 ;######## s10: .db 8,8 .db %10000000 ;# .db %11000000 ;## .db %11000000 ;## .db %11000000 ;## .db %11000000 ;## .db %11100000 ;### .db %11111110 ;####### .db %11111111 ;######## s11: .db 8,8 .db %11000000 ;## .db %11000000 ;## .db %11110000 ;#### .db %11110000 ;#### .db %11111100 ;###### .db %11111100 ;###### .db %11111111 ;######## .db %11111111 ;######## s12: .db 8,8 .db %00000011 ; ## .db %00000011 ; ## .db %00001111 ; #### .db %00001111 ; #### .db %00111111 ; ###### .db %00111111 ; ###### .db %11111111 ;######## .db %11111111 ;######## s13: .db 8,8 .db %10000000 ;# .db %10000000 ;# .db %11000000 ;## .db %11000000 ;## .db %11100000 ;### .db %11110000 ;#### .db %11111100 ;###### .db %11111111 ;######## s14: .db 8,8 .db %10000000 ;# .db %10000000 ;# .db %11000000 ;## .db %11100000 ;### .db %11110000 ;#### .db %11111000 ;##### .db %11111100 ;###### .db %11111111 ;######## s15: .db 8,8 .db %00000001 ; # .db %00000001 ; # .db %00000011 ; ## .db %00000111 ; ### .db %00001111 ; #### .db %00011111 ; ##### .db %01111111 ; ####### .db %11111111 ;######## s16: .db 8,8 .db %00000001 ; # .db %00000001 ; # .db %00000011 ; ## .db %00000011 ; ## .db %00000111 ; ### .db %00001111 ; #### .db %00111111 ; ###### .db %11111111 ;######## s17: .db 8,8 .db %11111111 ;######## .db %11111111 ;######## .db %11111111 ;######## .db %11111111 ;######## .db %11111111 ;######## .db %11111111 ;######## .db %11111111 ;######## .db %11111111 ;######## s18: .db 8,8 .db %01111111 ; ####### .db %01000001 ; # # .db %11000001 ;## # .db %01000001 ; # # .db %01000001 ; # # .db %01000101 ; # # # .db %11000001 ;## # .db %01111111 ; ####### s19: .db 8,8 .db %00011100 ; ### .db %00100010 ; # # .db %01000001 ; # # .db %11000001 ;## # .db %01000101 ; # # # .db %01000001 ; # # .db %11000001 ;## # .db %01111111 ; ####### s20: .db 8,8 .db %10000000 ;# .db %11000000 ;## .db %11100000 ;### .db %11100000 ;### .db %11100000 ;### .db %11000000 ;## .db %10000000 ;# .db %10000000 ;# s21: .db 8,8 .db %10000000 ;# .db %11000000 ;## .db %11000000 ;## .db %10000000 ;# .db %11000000 ;## .db %11100000 ;### .db %11100000 ;### .db %11000000 ;## s22: .db 8,8 .db %00000001 ; # .db %00000011 ; ## .db %00000001 ; # .db %00000011 ; ## .db %00000111 ; ### .db %00000111 ; ### .db %00000011 ; ## .db %00000001 ; # s23: .db 8,8 .db %00000011 ; ## .db %00000111 ; ### .db %00000111 ; ### .db %00000011 ; ## .db %00000001 ; # .db %00000011 ; ## .db %00000011 ; ## .db %00000001 ; # s24: .db 8,8 .db %11111111 ;######## .db %01101101 ; ## ## # .db %11001010 ;## # # .db %01011011 ; # ## ## .db %10001010 ;# # # .db %00011000 ; ## .db %00000100 ; # .db %00000000 ; s25: .db 8,8 .db %11111111 ;######## .db %11101110 ;### ### .db %01010100 ; # # # .db %01010110 ; # # ## .db %10101100 ;# # ## .db %00101000 ; # # .db %01100000 ; ## .db %00000000 ; s26: .db 8,8 .db %00000000 .db %00000010 ; # .db %00110100 ; ## # .db %10001001 ;# # # .db %01010010 ; # # # .db %01010100 ; # # # .db %00110100 ; ## # .db %00011000 ; ## s27: .db 8,8 .db %00000000 .db %00000000 ; .db %00000000 ; .db %00001000 ; # .db %00101000 ; # # .db %01010010 ; # # # .db %00101100 ; # ## .db %00011000 ; ## s28: .db 8,8 .db %00000000 .db %00001000 ; # .db %10001000 ;# # .db %01010001 ; # # # .db %00110010 ; ## # .db %11101010 ;### # # .db %00110100 ; ## # .db %00011000 ; ## s29: .db 8,8 .db %00000000 ; .db %00000000 ; .db %01000000 ; # .db %01000000 ; # .db %01001000 ; # # .db %01101010 ; ## # # .db %01111110 ; ###### .db %11111111 ;######## s30: .db 8,8 .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00001000 ; # .db %01001000 ; # # .db %01011001 ; # ## # .db %11111101 ;###### # .db %11111111 ;######## s31: .db 8,8 .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00001100 ; ## .db %01011110 ; # #### .db %11111111 ;######## s32: .db 8,8 .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %01101100 ; ## ## .db %11111111 ;######## s33: .db 8,8 .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00110000 ; ## .db %01111010 ; #### # .db %11111111 ;######## s34: .db 8,8 .db %11111111 ;######## .db %01111000 ; #### .db %00110000 ; ## .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; s35: .db 8,8 .db %11111111 ;######## .db %01001110 ; # ### .db %00000100 ; # .db %00000100 ; # .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; s36: .db 8,8 .db %11111111 ;######## .db %11111010 ;##### # .db %01110000 ; ### .db %01110000 ; ### .db %00100000 ; # .db %00000000 ; .db %00000000 ; .db %00000000 ; s37: .db 8,8 .db %11111111 ; ######## .db %11111110 ; ####### .db %11111000 ; ##### .db %11110000 ; #### .db %11100000 ; ### .db %11000000 ; ## .db %11000000 ; ## .db %10000000 ; # s38: .db 8,8 .db %11111111 ; ######## .db %01111111 ; ####### .db %00011111 ; ##### .db %00001111 ; #### .db %00000111 ; ### .db %00000011 ; ## .db %00000011 ; ## .db %00000001 ; # s39: .db 8,8 .db %11111000 ; ##### .db %11100000 ; ### .db %11000000 ; ## .db %10000000 ; # .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; s40: .db 8,8 .db %00011111 ; ##### .db %00000111 ; ### .db %00000011 ; ## .db %00000001 ; # .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; s41: .db 8,8 .db %11111111 ; ######## .db %10001000 ; # # .db %10001000 ; # # .db %10001000 ; # # .db %11111111 ; ######## .db %10000000 ; # .db %10000000 ; # .db %10000000 ; # s42: .db 8,8 .db %11111111 ; ######## .db %00001000 ; # .db %00001000 ; # .db %00001000 ; # .db %11111111 ; ######## .db %10000000 ; # .db %10000000 ; # .db %10000000 ; # s43: .db 8,8 .db %11111111 ; ######## .db %00001001 ; # # .db %00001001 ; # # .db %00001001 ; # # .db %11111111 ; ######## .db %10000001 ; # # .db %10000001 ; # # .db %10000001 ; # # s44: .db 8,8 .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000011 ; ## .db %00011111 ; ##### .db %01111111 ; ####### .db %11111111 ; ######## s45: .db 8,8 .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %11001100 ; ## ## .db %11111110 ; ####### .db %11111111 ; ######## s46: .db 8,8 .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000001 ; # .db %00000111 ; ### .db %00111111 ; ###### .db %11111111 ; ######## s47: .db 8,8 .db %00000000 ; .db %00000000 ; .db %00000001 ; # .db %00000111 ; ### .db %10001111 ; # #### .db %11111111 ; ######## .db %11111111 ; ######## .db %11111111 ; ######## s48: .db 8,8 .db %00000000 ; .db %00000000 ; .db %10000000 ; # .db %11110000 ; #### .db %11111100 ; ###### .db %11111110 ; ####### .db %11111111 ; ######## .db %11111111 ; ######## s49: .db 8,8 .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00001000 ; # .db %00011101 ; ### # .db %01111111 ; ####### .db %11111111 ; ######## s50: .db 8,8 .db %00000000 ; .db %00000001 ; # .db %00000011 ; ## .db %00011111 ; ##### .db %01111111 ; ####### .db %11111111 ; ######## .db %11111111 ; ######## .db %11111111 ; ######## s51: .db 8,8 .db %00000000 ; .db %10000000 ; # .db %11000000 ; ## .db %11100000 ; ### .db %11111000 ; ##### .db %11111100 ; ###### .db %11111110 ; ####### .db %11111111 ; ######## s52: .db 8,8 ; ____ .db %10000000 ; # \ .db %11000000 ; ## |___________ .db %11100001 ; ### # | \ .db %11110011 ; #### ## | \ .db %11111111 ; ######## | Volcano: | .db %11111111 ; ######## | | .db %11111111 ; ######## | 58 59 60 | .db %11111111 ; ######## | 55 56 57 | ; | 52 53 54 | s53: ; | / .db 8,8 ; |___________/ .db %01010000 ; # # | .db %00011000 ; ## | .db %00111000 ; ### | .db %00000100 ; # | .db %10011001 ; # ## # | .db %10010001 ; # # # | .db %11001011 ; ## # ## | .db %11010011 ; ## # ## | ; | s54: ; | .db 8,8 ; | .db %00000001 ; # | .db %00000011 ; ## | .db %10000111 ; # ### | .db %11001111 ; ## #### | .db %11111111 ; ######## | .db %11111111 ; ######## | .db %11111111 ; ######## | .db %11111111 ; ######## | ; | s55: ; | .db 8,8 ; | .db %10000010 ; # # | .db %00010101 ; # # # | .db %00000000 ; | .db %00000010 ; # | .db %00000000 ; | .db %00000000 ; | .db %00000001 ; # | .db %00000000 ; | ; | s56: ; | .db 8,8 ; | .db %01000010 ; # # | .db %01010010 ; # # # | .db %00011010 ; ## # | .db %01000000 ; # | .db %00110000 ; ## | .db %00111000 ; ### | .db %00010010 ; # # | .db %00100101 ; # # # | ; | s57: ; | .db 8,8 ; | .db %00000000 ; | .db %10100000 ;# # | .db %00000000 ; | .db %00000000 ; | .db %01010000 ; # # | .db %00000000 ; | .db %00000000 ; | .db %00000000 ; | ; | s58: ; | .db 8,8 ; | .db %00000000 ; | .db %00000000 ; | .db %00000000 ; | .db %00000000 ; | .db %00000000 ; | .db %00000010 ; # | .db %00000000 ; | .db %00000000 ; | ; | s59: ; | .db 8,8 ; | .db %00000000 ; | .db %00000000 ; | .db %00000000 ; | .db %00000000 ; | .db %10000000 ; # | .db %00001100 ; ## | .db %10101000 ; # # # | .db %10001000 ; # # | ; | s60: ; | .db 8,8 ; | .db %00000000 ; | .db %00000000 ; | .db %00000000 ; | .db %00000000 ; | .db %00000000 ; | .db %00000000 ; | .db %01000010 ; # # | .db %10000000 ; # ____/ s61: ; .db 8,8 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %11111111 ; ######## s62: .db 8,8 .db %11111111 ; ######## .db %10001000 ; # # .db %10001000 ; # # .db %10001000 ; # # .db %11111111 ; ######## .db %10000000 ; # .db %10000000 ; # .db %11111111 ; ######## s63: .db 8,8 .db %11111111 ; ######## .db %00001000 ; # .db %00001000 ; # .db %00001000 ; # .db %11111111 ; ######## .db %10000000 ; # .db %10000000 ; # .db %11111111 ; ######## s64: .db 8,8 .db %11111111 ; ######## .db %00001001 ; # # .db %00001001 ; # # .db %00001001 ; # # .db %11111111 ; ######## .db %10000001 ; # # .db %10000001 ; # # .db %11111111 ; ######## s65: .db 8,8 .db %00000010 ; # .db %00110100 ; ## # .db %10001001 ;# # # .db %01010010 ; # # # .db %01010100 ; # # # .db %00110100 ; ## # .db %00011000 ; ## .db %11111111 ;######## s66: .db 8,8 .db %00000000 ; .db %00000000 ; .db %00001000 ; # .db %00101000 ; # # .db %01010010 ; # # # .db %00101100 ; # ## .db %00011000 ; ## .db %11111111 ;######## s67: .db 8,8 .db %00001000 ; # .db %10001000 ;# # .db %01010001 ; # # # .db %00110010 ; ## # .db %11101010 ;### # # .db %00110100 ; ## # .db %00011000 ; ## .db %11111111 ;######## ; #################################################################### ; # # ; # Bottom Graphix: # ; # # ; #################################################################### b1: .db 8,6 .db %00001000 ; .db %00010101 ; .db %00001000 ; .db %00011111 ; .db %00111111 ; .db %11111111 ; b2: .db 3,6 .db %10000000 ; .db %01000000 ; .db %10000000 ; .db %10000000 ; .db %11000000 ; .db %11100000 ; b3: .db 7,6 .db %01101100 ; .db %11111110 ; .db %11111110 ; .db %01111100 ; .db %00111000 ; .db %00010000 ; b4: .db 3,3 .db %10100000 ; .db %01000000 ; .db %10100000 ; ; #################################################################### ;# # ;# And now the sprites for Globber, your friendly character! =) Hehe. # ;# # ; #################################################################### y11: .db 8,6 .db %01000100 .db %10101010 .db %01000100 .db %01111100 .db %01111110 .db %11111111 y12: .db 1,6 .db %00000000 .db %00000000 .db %00000000 .db %00000000 .db %00000000 .db %10000000 y21: .db 8,6 .db %00100010 .db %01010101 .db %00100010 .db %00111110 .db %01111111 .db %11111111 y31: .db 8,6 .db %00010001 .db %00101010 .db %00010001 .db %00011111 .db %00111111 .db %11111111 y32: .db 1,6 .db %00000000 .db %10000000 .db %00000000 .db %00000000 .db %00000000 .db %10000000 ; #################################################################### ;# # ;# And now the sprites for Globber, your friendly character! =) Hehe. # ;# (SPLAT!!! graphix!!! =) hehehe # ; #################################################################### ; ;s1: ; .db 8,6 ; .db %00000000 ; .db %00100010 ; .db %01010101 ; .db %00111110 ; .db %01111111 ; .db %11111111 ; ;s2: ; .db 8,6 ; .db %00000000 ; .db %00100010 ; .db %01010101 ; .db %00111110 ; .db %01111111 ; .db %11111111 ; ;s3: ; .db 8,6 ; .db %00000000 ; .db %00000000 ; .db %00100010 ; .db %01010101 ; .db %01111111 ; .db %11111111 ; ;s4: ; .db 8,6 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00100010 ; .db %01011101 ; .db %11111111 ; ;s5: ; .db 8,6 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00111110 ; .db %11111111 ; ;s6: ; .db 8,6 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %11111111 ; ;s7: ; .db 8,6 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00000000 ; .db %00111110 level_1: .db 0,0,0,0,0,0,0 .db 61,0,0,0,0,0,0 .db 61,0,0,0,0,0,0 .db 61,0,17,0,0,0,0 .db 61,0,17,0,0,0,0 .db 61,0,0,0,0,0,0 .db 61,0,0,0,0,0,0 .db 61,17,17,0,0,0,0 .db 61,0,0,0,0,0,0 .db 61,0,0,0,0,0,0 .db 61,17,17,0,0,0,0 .db 61,17,17,0,0,0,0 .db 61,0,0,0,0,0,0 .db 61,0,0,0,0,0,0 .db 61,0,17,0,0,0,0 .db 61,0,17,0,0,0,0 .db 61,0,17,0,0,0,0 .db 61,0,17,0,0,0,0 .db 61,0,0,0,0,0,0 .db 61,0,0,0,0,0,0 .db 61,0,17,0,0,0,0 .db 61,0,17,0,0,0,0 .db 61,0,17,0,0,0,0 .db 61,0,17,0,0,0,0 .db 61,0,37,17,17,13,37 .db 61,0,0,4,17,0,34 .db 61,0,0,0,17,0,36 .db 44,0,0,34,17,0,25 .db 45,0,0,38,10,0,24 .db 61,0,40,10,0,0,24 .db 66,0,3,0,0,0,34 .db 49,0,3,0,0,0,25 .db 50,0,0,0,0,0,34 .db 51,0,0,0,0,0,36 .db 44,0,0,0,0,0,34 .db 45,0,0,3,27,0,35 .db 0,0,0,3,0,0,36 .db 0,0,0,0,0,0,25 .db 0,0,0,0,0,0,25 .db 46,0,0,0,3,0,24 .db 47,0,0,0,0,0,34 .db 48,0,0,0,0,0,24 .db 44,0,0,0,3,0,39 .db 45,0,0,0,3,0,0 .db 49,0,0,0,3,26,0 .db 50,0,0,0,3,0,0 .db 51,0,0,0,3,0,0 .db 44,0,0,0,3,19,0 .db 45,0,0,0,3,0,0 .db 0,0,40,15,3,0,0 .db 0,0,34,17,16,23,38 .db 0,0,0,25,17,17,17 .db 0,0,0,0,4,17,17 .db 16,0,0,0,0,21,37 .db 17,15,0,0,0,0,34 .db 17,52,55,58,0,0,24 .db 17,53,56,59,0,0,34 .db 17,54,57,60,0,0,36 .db 17,17,28,0,0,0,25 .db 17,17,0,0,0,0,35 .db 17,17,12,0,0,0,24 .db 17,17,17,12,0,0,25 .db 10,0,21,39,0,0,36 .db 30,0,0,0,0,0,35 .db 31,0,0,0,0,0,36 .db 30,0,0,0,0,0,34 .db 29,0,0,0,0,0,36 .db 9,23,0,0,0,0,24 .db 17,11,0,0,0,0,25 .db 11,0,0,0,0,0,36 .db 0,0,0,0,0,0,35 .db 0,0,0,0,0,0,25 .db 15,0,0,0,0,0,0 .db 52,55,58,0,0,0,0 .db 53,56,59,0,0,0,34 .db 54,57,60,0,0,0,35 .db 17,32,0,0,0,0,34 .db 17,27,0,0,0,0,0 .db 17,15,0,0,0,0,40 .db 17,17,31,0,0,0,36 .db 17,52,55,58,0,0,34 .db 17,53,56,59,0,0,25 .db 17,54,57,60,0,0,24 .db 17,17,32,0,0,0,39 .db 17,17,33,0,0,0,0 .db 17,17,15,0,0,0,0 .db 17,17,17,33,0,0,0 .db 17,17,52,55,58,0,0 .db 17,17,53,56,59,0,0 .db 17,17,54,57,60,0,0 .db 17,17,17,32,0,0,40 .db 17,17,14,0,0,0,25 .db 17,13,0,0,0,0,36 .db 14,0,0,0,0,0,35 .db 0,0,0,0,0,0,0 .db 0,3,0,0,0,0,34 .db 0,0,0,0,0,0,34 .db 0,0,0,0,0,0,24 .db 0,0,3,0,0,0,36 .db 0,0,3,0,0,0,34 .db 0,0,0,0,0,0,0 .db 0,0,0,3,0,0,35 .db 0,0,0,3,0,0,0 .db 16,23,22,3,0,0,0 .db 62,41,41,41,41,0,0 .db 63,42,42,42,43,0,0 .db 63,42,42,42,0,0,0 .db 63,42,42,42,41,0,0 .db 63,42,42,42,43,0,0 .db 18,42,42,42,0,0,0 .db 63,42,42,42,41,0,0 .db 63,42,42,42,43,0,0 .db 63,42,42,42,0,0,0 .db 63,42,42,42,41,0,0 .db 64,43,43,43,43,0,0 .db 61,0,0,0,0,0,34 .db 61,0,0,0,0,0,36 .db 16,0,0,0,0,0,35 .db 17,16,0,0,0,0,5 .db 17,17,15,22,23,38,17 .db 17,17,17,17,17,17,17 .db 17,17,17,17,17,17,17 .db 17,17,17,17,17,17,17 .db 0,0,3,0,0,36,17 .db 67,0,3,0,0,25,17 .db 15,0,3,0,0,25,17 .db 17,16,3,0,0,24,17 .db 17,17,13,0,0,34,17 .db 17,11,0,0,0,24,17 .db 17,0,0,0,0,0,17 .db 17,33,0,0,2,0,17 .db 17,0,0,0,2,35,17 .db 17,26,0,0,0,24,17 .db 17,0,0,0,0,25,17 .db 17,15,0,0,0,36,17 .db 17,17,12,0,0,34,17 .db 17,17,17,16,0,0,37 .db 17,10,20,3,0,0,24 .db 17,27,0,3,0,0,25 .db 10,0,0,3,0,0,34 .db 0,0,0,3,0,0,35 .db 0,0,0,3,0,0,36 .db 0,0,0,3,0,0,38 .db 9,0,0,3,0,36,17 .db 17,0,0,39,0,0,17 .db 17,28,0,0,0,0,17 .db 17,0,0,0,0,0,17 .db 17,27,0,40,0,34,17 .db 17,0,0,3,0,35,17 .db 17,32,0,3,0,36,17 .db 17,0,0,3,0,0,4 .db 17,26,0,39,1,0,36 .db 13,0,0,0,1,0,35 .db 0,0,0,0,1,0,24 .db 0,0,0,0,1,0,25 .db 16,0,0,0,1,0,35 .db 17,33,0,24,1,0,0 .db 17,31,0,35,6,6,27 .db 17,29,0,25,18,7,0 .db 17,0,0,24,7,7,28 .db 17,0,0,5,8,8,0 .db 17,0,38,17,17,13,0 .db 17,0,17,17,11,0,0 .db 17,0,17,10,0,0,24 .db 17,0,37,0,0,0,34 .db 13,0,0,0,0,0,38 .db 0,0,2,0,0,5,17 .db 0,0,0,0,34,17,17 .db 9,0,2,0,0,37,17 .db 17,0,2,0,0,34,17 .db 10,0,2,0,0,24,17 .db 0,0,2,0,0,38,17 .db 0,0,0,0,24,17,37 .db 66,0,0,0,0,3,0 .db 0,0,0,2,0,3,19 .db 16,0,0,2,0,3,0 .db 17,0,0,0,0,39,0 .db 17,29,0,0,2,0,0 .db 17,27,0,0,0,0,0 .db 17,0,0,0,0,0,38 .db 17,0,0,0,0,38,17 .db 17,0,0,0,5,17,17 .db 17,0,0,25,17,17,17 .db 10,0,0,35,32,0,37 .db 0,0,38,17,16,0,0 .db 27,5,17,17,17,0,0 .db 0,17,17,17,17,0,38 .db 0,37,17,17,13,0,17 .db 0,0,21,20,0,24,17 .db 67,0,0,2,0,34,17 .db 0,0,2,0,0,0,17 .db 9,0,0,0,0,0,17 .db 17,26,0,0,0,35,17 .db 17,27,0,1,0,0,37 .db 14,0,0,1,0,0,0 .db 33,0,25,1,0,0,0 .db 0,0,36,6,6,6,0 .db 0,0,24,7,7,7,31 .db 29,0,24,7,7,7,0 .db 0,0,25,19,7,7,0 .db 0,0,36,7,7,7,27 .db 65,0,34,7,7,7,0 .db 32,0,24,8,8,8,29 .db 16,0,34,17,17,13,0 .db 17,0,0,21,39,0,0 .db 17,0,0,0,0,0,0 .db 17,28,0,2,0,0,25 .db 17,0,2,0,0,0,38 .db 17,0,0,0,22,38,17 .db 13,0,0,5,17,17,17 .db 0,0,38,17,17,17,17 .db 0,38,17,13,0,37,17 .db 0,17,17,0,0,0,17 .db 0,17,17,0,0,35,17 .db 0,17,17,9,0,0,17 .db 0,17,17,13,0,34,17 .db 0,17,17,0,0,36,17 .db 0,17,17,31,0,0,17 .db 0,17,10,0,0,24,17 .db 0,17,0,0,0,34,17 .db 0,37,28,0,0,25,17 .db 0,0,0,0,0,35,17 .db 16,0,0,2,0,36,17 .db 17,0,0,2,0,0,17 .db 17,16,0,0,0,25,17 .db 17,17,27,0,0,36,17 .db 17,17,33,0,0,34,17 .db 17,17,0,0,0,35,17 .db 17,17,0,2,0,24,17 .db 17,14,0,0,0,0,17 .db 17,32,0,34,0,0,17 .db 17,0,0,36,0,0,17 .db 17,0,0,24,0,0,17 .db 17,16,0,25,19,38,17 .db 17,17,17,17,17,17,17 .db 17,17,17,17,17,17,17 .db 17,17,17,17,17,17,17 stats2: .db "Minerals: Time:",0 int: .db "Will Stokes",0 int2: .db "Presents...",0 paus: .db "- Paused -",0 .end