+time2invert: .db 0 ;time until b<>w switch (0 at startup)
+
+;------------------------------ levels data ---------------------------------
+
+;format:boss: [moveType] [enemyType]
+; @level: [nr.dif.enemies]x [enemy nr]
+; [min. enemy frequency] [enemy frequency max.inc] [next lvl]
+; [level_info: 0000:damage 0:diagfire 0:ground 0:ceiling 0:?]
+; [level_move] [tunnel size] [groundtype]
+; [16_ground] [16_ceiling] [stars1] [stars2]
+;efrequency must be odd if halfluring!
+
+level00:
+ .db 0 ;story identifier
+ .db $21,$1d,"Cosmic year 6716" ,0,0,$1d,$06
+ .db $1b,$1d,"STORYLINE COMING SOON" ,0,0,$1d,$06
+ .db $09,$19,"STORYLINE COMING SOON" ,0,1
+ .db $2e,$21,"**** NEMESIS 86" ,0,1
+ .db $52,$36,"by Shiar" ,0,0,$19,$23
+ .db $ff ;story end
+
+ .db 20 ;boss for level01
+level01: ;intro-like, just a few enemies to begin with
+ .db 2,6,8
+ .db 26,70,20,%00010000,0,0,0
+ .db 1,2,3,4,5,6,6,5,4,3,4,5,4,5,6,5
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1
+
+ .db 21
+level02: ;first wave of enemies; easeey
+ .db 3,6,7,8
+ .db 20,60,60,%00100000,0,0,0
+ .db 1,2,3,4,5,6,6,5,4,3,4,5,4,5,6,5
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1
+
+ .db 22
+level03: ;some more enemies
+ .db 4,7,8,9,10
+ .db 17,40,75,%00110000,0,0,0
+ .db 1,2,3,4,5,6,6,5,4,3,4,5,4,5,6,5
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1
+
+ .db 0,0 ;storyline ID
+ .db 1,1,"Long-Range scanners are ",
+ .db "showing",0,1
+ .db 1,8,"lots of enemy vessels on ",
+ .db "an intercept",0,1
+ .db 1,15,"course.",0,1
+ .db 1,24,"I'm changing course to a",
+ .db " nearby ",0,1
+ .db 1,31,"asteroid belt and try to",0,1
+ .db 1,38,"lose them inthere.",0,0
+ .db 1,38+5,$FF
+
+ .db 23
+level04: ;light asteroid belt
+ .db 3,1,2,4
+ .db 12,24,80,%00111000
+ .db 2,0,0
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;16
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1
+
+ .db 24
+level05: ;inside asteroid belt
+ .db 5,1,2,3,4,5
+ .db 6,10,180,%01011000
+ .db 2,0,0
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;16
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1
+
+ .db 25
+level02a:
+ .db 3,4,5,6
+ .db 30,1,40,%01000000
+ .db 0,0,0
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;16
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1
+
+ .db 0
+
+ .db 0
+ .db $01,01,"And the storyline conti",
+ .db "nues.....",0,1
+ .db $01,09,"You decide to fly close",
+ .db " to the",0,1
+ .db $01,15,"surface of a nearby pl",
+ .db "anet =)",0,0,1,20
+ .db $FF
+
+ .db 26
+level03b:
+ .db 1,$02
+ .db $13,40,$4b,%00100100,0,-5,1
+ .db 1,2,3,4,5,6,6,5,4,3,4,5,4,5,6,5
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1
+
+ .db 0
+
+ .db 0
+ .db $01,01,"Blablabla...",0,1
+ .db $01,34,"this storyline sux",0,0,1,39
+ .db $FF
+
+ .db 27
+level03a:
+ .db 1,$03
+ .db $2d,$3f,%00010110,0,-9,1
+ .db 3,2,4,3,2,2,1,1,1,1 ,1,1,21,17,18,20
+ .db 1,1,1,1,1,1,1,3,6,12,9,1,21,19,18,18
+ .db -1,-1 ;=%11111111=line
+
+ .db $07,$08
+level04b:
+ .db 1,$04
+ .db $11,$41,%00100001,0,0,0
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1
+ .db $07,$09
+level05a:
+ .db 1,$05
+ .db $11,$45,%00100101,%10,-7,1
+ .db 14,12,11,9,10,7,7,5,4,3,4,4,2,3,1,2
+ .db 1, 1, 1, 1,1, 1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1
+ .db $07,$08
+level06c:
+ .db 1,$06
+ .db $19,$3a,%00100111,0,-4,1
+ .db 20,22,18,15,9,1,1,1,1,1,1,1,1,1,1,1
+ .db 20,22,18,15,9,1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1
+
+ .db $07,$09
+level07:
+ .db 1,$07
+ .db $09,$ff,%00100001,0,0,0
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+ .db 1,1
+
+;------------------------------ enemies -------------------------------------
+
+;format: [HP64] [000000:HP 00:occ] [sprite] [xpos] [appearance(ypos)]
+; [movetype] [time2fire] [firefreq]
+;appearances: 1=random; 2=lure; 3=halflure
+;case movetype:
+; 1=updown; 2=1/4x; 3=1/2x; 4=1.5x; 5=2x; 6=smart; 7=y-lure;
+; 8=y-lure 1/2x; 9=8 stop at x=99; 10=x+y-lure 1/2x
+enemyspecs:
+;1-5=asteroids
+ .db 0,%00100110,(spr_enemyA1-spr_enemy00)/2,128,1,0,0,0
+ .db 0,%00111110,(spr_enemyA2-spr_enemy00)/2,128,1,0,0,0
+ .db 0,%01011010,(spr_enemyA3-spr_enemy00)/2,128,1,4,0,0
+ .db 1,%00001010,(spr_enemyA4-spr_enemy00)/2,128,1,3,0,0
+ .db 0,%00111110,(spr_enemyA4-spr_enemy00)/2,128,1,5,0,0
+;6-10=basic enemies
+ .db 0,%00010010,(spr_enemyE1-spr_enemy00)/2,128,1,0,10,0 ;weak
+ .db 0,%00110010,(spr_enemyE4-spr_enemy00)/2,128,1,3,6,50 ;slow
+ .db 0,%00100110,(spr_enemyE2-spr_enemy00)/2,128,1,0,1,0
+ .db 0,%00101110,(spr_enemyE3-spr_enemy00)/2,128,3,0,19,39
+ .db 0,%00101010,(spr_enemyE5-spr_enemy00)/2,128,3,4,1,0 ;fast
+;11=jumping bug (up/down)
+ .db 0,%00001111,(spr_enemyN3-spr_enemy00)/2,128,2,1,87,5
+
+ .db 0,%00000011,(spr_enemy00-spr_enemy00)/2,1,0,0,0,0 ;12
+ .db 0,%00000011,(spr_enemy00-spr_enemy00)/2,1,0,0,0,0 ;13
+ .db 0,%00000011,(spr_enemy00-spr_enemy00)/2,1,0,0,0,0 ;14
+ .db 0,%00000011,(spr_enemy00-spr_enemy00)/2,1,0,0,0,0 ;15
+ .db 0,%00000011,(spr_enemy00-spr_enemy00)/2,1,0,0,0,0 ;16
+ .db 0,%00000011,(spr_enemy00-spr_enemy00)/2,1,0,0,0,0 ;17
+ .db 0,%00000011,(spr_enemy00-spr_enemy00)/2,1,0,0,0,0 ;18
+ .db 0,%00000011,(spr_enemy00-spr_enemy00)/2,1,0,0,0,0 ;19
+;20-22=first bosses
+ .db 1,%00101011,(spr_boss0_1-spr_enemy00)/2,127,1,8,20,12 ;20
+ .db 1,%00110011,(spr_boss0_1-spr_enemy00)/2,127,1,8,15,10 ;21
+ .db 1,%01001011,(spr_boss0_2-spr_enemy00)/2,127,3,9,10,9 ;22
+;23-24=asteroid bosses
+ .db 2,%00001011,(spr_boss0_3-spr_enemy00)/2,127,1,10,36,14
+ .db 2,%00110011,(spr_boss0_3-spr_enemy00)/2,127,2,10,28,12
+;25-26=big bosses
+ .db 2,%00000111,(spr_boss0_4-spr_enemy00)/2,127,3,7,18,7 ;25=bigboss1
+ .db 2,%01001011,(spr_boss0_5-spr_enemy00)/2,127,3,7,18,7 ;26=bigboss2
+
+spr_enemy00:
+ .db 16,8 ;pickup
+ .db %11111111 ; ████████████
+ .db %10000110 ; █ ██ █
+ .db %10000110 ; █ ██ █
+ .db %10111111 ; █ ████████ █
+ .db %10111111 ; █ ████████ █
+ .db %10000110 ; █ ██ █
+ .db %10000110 ; █ ██ █
+ .db %11111111 ; ████████████
+ .db 8
+ .db %11110000
+ .db %00010000
+ .db %00010000
+ .db %11010000
+ .db %11010000
+ .db %00010000
+ .db %00010000
+ .db %11110000
+ .db 0
+
+spr_enemyA1:
+ .db 7,6 ;asteroid one
+ .db %00011000 ; ██
+ .db %01101100 ; ██ ██
+ .db %10011110 ;█ ████
+ .db %11111010 ;█████ █
+ .db %10111100 ;█ ████
+ .db %01110000 ; ███
+spr_enemyA2:
+ .db 8,7 ;asteroid two
+ .db %00111100 ; ████
+ .db %01011010 ; █ ██ █
+ .db %01101101 ; ██ ██ █
+ .db %11111101 ;██████ █
+ .db %11111111 ;████████
+ .db %10110110 ;█ ██ ██
+ .db %01100000 ; ██
+ .db 0
+spr_enemyA3:
+ .db 8,8 ;asteroid three
+ .db %00011110 ; ████
+ .db %01110011 ; ███ ██
+ .db %01111101 ; █████ █
+ .db %10110111 ;█ ██ ███
+ .db %11111110 ;███████
+ .db %11111101 ;██████ █
+ .db %01010111 ; █ █ ███
+ .db %00001110 ; ███
+spr_enemyA4:
+ .db 7,6 ;asteroid four
+ .db %01111000 ; ████
+ .db %10110110 ;█ ██ ██
+ .db %11111101 ;██████ █
+ .db %01111011 ; ████ ██
+ .db %01001110 ; █ ███
+ .db %00110000 ; ██
+
+spr_enemyE1:
+ .db 6,7 ;weak
+ .db %00111100 ; ████
+ .db %01000100 ; █ █
+ .db %10111000 ;█ ███
+ .db %11100000 ;███
+ .db %10111000 ;█ ███
+ .db %01000100 ; █ █
+ .db %00111100 ; ████
+ .db 0
+spr_enemyE2:
+ .db 6,6 ;weak
+ .db %00111100 ; ████
+ .db %01010000 ; █ █
+ .db %10100000 ;█ █
+ .db %10100000 ;█ █
+ .db %01010000 ; █ █
+ .db %00111100 ; ████
+spr_enemyE3:
+ .db 6,6 ;normal solid (Galaxian enemy)
+ .db %00111100 ; ████
+ .db %01110000 ; ███
+ .db %11110000 ;████
+ .db %11110000 ;████
+ .db %01110000 ; ███
+ .db %00111100 ; ████
+spr_enemyE4:
+ .db 6,7
+ .db %00011100 ; ███
+ .db %01101000 ; ██ █
+ .db %10011000 ;█ ██
+ .db %01110000 ; ███
+ .db %10011000 ;█ ██
+ .db %01101000 ; ██ █
+ .db %00011100 ; ███
+ .db 0
+spr_enemyE5:
+ .db 6,6 ;speedy
+ .db %00011100 ; ███
+ .db %01111000 ; ████
+ .db %11100000 ;███
+ .db %11100000 ;███
+ .db %01111000 ; ████
+ .db %00011100 ; ███
+
+spr_enemyG1:
+ .db 8,6 ;G-Type
+ .db %00111111 ; █████
+ .db %01001000 ; █ █
+ .db %10110100 ;█ ██ █
+ .db %10110100 ;█ ██ █
+ .db %01001000 ; █ █
+ .db %00111111 ; █████
+spr_enemyG2:
+ .db 8,6 ;smaller nacelles
+ .db %00000111 ; ███
+ .db %01101100 ; ██ ██
+ .db %10110100 ;█ ██ █
+ .db %10110100 ;█ ██ █
+ .db %01101100 ; ██ ██
+ .db %00000111 ; ███
+spr_enemyG3:
+ .db 8,6 ;shuttle
+ .db %00001111 ; ████
+ .db %01111100 ; █████
+ .db %10011100 ;█ ███
+ .db %10011100 ;█ ███
+ .db %01111100 ; █████
+ .db %00001111 ; ████
+spr_enemyG4:
+ .db 8,6 ;G-Type solid
+ .db %00111111 ; █████
+ .db %01111000 ; ████
+ .db %11111100 ;██████
+ .db %11111100 ;██████
+ .db %01111000 ; ████
+ .db %00111111 ; █████
+spr_enemyG5:
+ .db 6,6 ;G lost his head; large window ;)
+ .db %01111100 ; █████
+ .db %10110000 ;█ ██
+ .db %10111000 ;█ ███
+ .db %10111000 ;█ ███
+ .db %10110000 ;█ ██
+ .db %01111100 ; █████
+spr_enemyG6:
+ .db 7,6 ;small G-type
+ .db %00011110 ; ████
+ .db %01111000 ; ████
+ .db %11110000 ;████
+ .db %11110000 ;████
+ .db %01111000 ; ████
+ .db %00011110 ; ████
+
+spr_enemyS1:
+ .db 6,6 ;solid
+ .db %00111000 ; ███
+ .db %01111100 ; █████
+ .db %11111000 ; █████
+ .db %11111000 ; █████
+ .db %01111100 ; █████
+ .db %00111000 ; ███
+spr_enemyS2:
+ .db 7,6 ;some attack vessel
+ .db %00011100 ; ███
+ .db %01110010 ; ███ █
+ .db %10101100 ; █ █ ██
+ .db %10101100 ; █ █ ██
+ .db %01110010 ; ███ █
+ .db %00011100 ; ███
+spr_enemyS3:
+ .db 7,6 ;interceptor
+ .db %00011110 ; ████
+ .db %01111110 ; ██████
+ .db %11111100 ; ██████
+ .db %11111100 ; ██████
+ .db %01111110 ; ██████
+ .db %00011110 ; ████
+spr_enemyS4:
+ .db 8,6 ;cheap intercept
+ .db %00011011 ; ██ ██
+ .db %01110110 ; ███ ██
+ .db %10111100 ; █ ████
+ .db %10111100 ; █ ████
+ .db %01110110 ; ███ ██
+ .db %00011011 ; ██ ██
+
+spr_enemyN1:
+ .db 8,7 ;some cool Nemesis-MSX enemy
+ .db %00111110 ; █████
+ .db %11110001 ;████ █
+ .db %00001110 ; ███
+ .db %00010101 ; █ █ █
+ .db %00001110 ; ███
+ .db %11110001 ;████ █
+ .db %00111110 ; █████
+ .db 0
+spr_enemyN2:
+ .db 8,7 ;
+ .db %00111110 ; █████
+ .db %00011101 ; ███ █
+ .db %11111111 ;████ ███
+ .db %01110110 ; ██ ███
+ .db %11111111 ;████ ███
+ .db %00011101 ; ███ █
+ .db %00111110 ; █████
+ .db 0
+spr_enemyN3:
+ .db 8,7 ;Nem3MSX jumper lvl#3
+ .db %10111110 ;█ █████
+ .db %01011101 ; █ ███ █
+ .db %01111110 ; ██████
+ .db %00010100 ; █ █
+ .db %01111110 ; ██████
+ .db %01011101 ; █ ███ █
+ .db %10111110 ;█ █████
+ .db 0
+
+spr_boss0_1:
+ .db 16,10 ;boss type one..:.......:
+ .db %00000001 ; ██████ ██
+ .db %00001110 ; ███ █ ███
+ .db %00110010 ; ██ █ ████
+ .db %01001101 ; █ ██ ██
+ .db %11101011 ;███ █ ██ █
+ .db %11101011 ;███ █ ██ █
+ .db %01001101 ; █ ██ ██
+ .db %00110010 ; ██ █ ████
+ .db %00001110 ; ███ █ ███
+ .db %00000001 ; ██████ ██
+ .db 10
+ .db %11111011
+ .db %00101110
+ .db %11110000
+ .db %10000000
+ .db %01000000
+ .db %01000000
+ .db %10000000
+ .db %11110000
+ .db %00101110
+ .db %11111011
+ .db 0
+spr_boss0_2:
+ .db 16,10 ;boss type two..:.......:
+ .db %11111110 ;███████
+ .db %00000011 ; ███ ████
+ .db %00110101 ; ██ █ ████ █
+ .db %01111010 ; ████ █ █ █ ██
+ .db %10001101 ;█ ██ █ ██ ██
+ .db %10001101 ;█ ██ █ ██ ██
+ .db %01111010 ; ████ █ █ █ ██
+ .db %00110101 ; ██ █ ████ █
+ .db %00000011 ; ███ ████
+ .db %11111110 ;███████
+ .db 9
+ .db %00000000
+ .db %10001111
+ .db %11100001
+ .db %10010110
+ .db %01101100
+ .db %01101100
+ .db %10010110
+ .db %11100001
+ .db %10001111
+spr_boss0_3:
+ .db 16,11 ;bigasteroid one
+ .db %00011110 ; ████
+ .db %01110011 ; ███ ███
+ .db %01111111 ; ███████ █
+ .db %01111111 ; █████████
+ .db %11111110 ;███████ ███
+ .db %11111111 ;███████████
+ .db %11111111 ;████████████
+ .db %10111110 ;█ █████ ████
+ .db %01011111 ; █ ███████
+ .db %00110111 ; ██ ███
+ .db %00001110 ; ███
+ .db 9
+ .db %00000000
+ .db %10000000
+ .db %01000000
+ .db %11000000
+ .db %11100000
+ .db %11100000
+ .db %11110000
+ .db %11110000
+ .db %11000000
+ .db 0
+spr_boss0_4:
+ .db 16,18 ;bigboss one :
+ .db %00000000 ; █ █
+ .db %00000111 ; ███ ███
+ .db %00000011 ; ████ █
+ .db %00000001 ; ██ ██
+ .db %00000011 ; ███ ██
+ .db %00000000 ; █████
+ .db %00010111 ; █ ██████████
+ .db %00111111 ; ██████ ██ ██
+ .db %11111000 ;█████ ██ █ ███
+ .db %00001111 ; █████ ██ █ █
+ .db %11111000 ;█████ ██ █ ███
+ .db %00111111 ; ██████ ██ ██
+ .db %00010111 ; █ ██████████
+ .db %00000000 ; █████
+ .db %00000011 ; ███ ██
+ .db %00000001 ; ██ ██
+ .db %00000011 ; ████ █
+ .db %00000111 ; ███ ███
+ .db 19 ; █ █
+ .db %01010000 ;modelled after a Nemesis][MSX boss
+ .db %01110000
+ .db %11010000
+ .db %10110000
+ .db %10110000
+ .db %11111000
+ .db %11111110
+ .db %01101100
+ .db %11010111
+ .db %10110101
+ .db %11010111
+ .db %01101100
+ .db %11111110
+ .db %11111000
+ .db %10110000
+ .db %10110000
+ .db %11010000
+ .db %01110000
+ .db %01010000
+spr_boss0_5:
+ .db 16,15 ;bigboss two :
+ .db %00001111 ; █████
+ .db %00111110 ; █████ █████
+ .db %01111101 ; █████ █ ███████
+ .db %00000011 ; ██
+ .db %00000100 ; █ █
+ .db %00000011 ; █████
+ .db %00011110 ; ████ ██ ████
+ .db %11110011 ;████ ██ █ █
+ .db %00011110 ; ████ ██ ████
+ .db %00000011 ; █████
+ .db %00000100 ; █ █
+ .db %00000011 ; ██
+ .db %01111101 ; █████ █ ███████
+ .db %00111110 ; █████ █████
+ .db %00001111 ; █████
+ .db 15 ;modelled after a Nemesis][MSX boss
+ .db %10000000
+ .db %11111000
+ .db %01111111
+ .db %00000000
+ .db %10000000
+ .db %11100000
+ .db %11011110
+ .db %01010000
+ .db %11011110
+ .db %11100000
+ .db %10000000
+ .db %00000000
+ .db %01111111
+ .db %11111000
+ .db %10000000
+ .db 0
+
+;----------------------------------------------------------------------------
+;----------------------------- logo ------------------------------------------
+;----------------------------------------------------------------------------