+txt_pause: .db " ",6,"/",7," ",$1C,"contrast; "
+ .db "F1",$1C,"B",$CF,5,"W Mode",0
+_txt_pause = $020B
+txt_pressenter: .db "Enter to continue",0 ;pause
+_txt_pressenter = $0201
+#ifdef teacherkey
+txt_teacher: .db "(2",Lpi,"*.98)/sin 13",0 ;teacher
+txt_teacherans: .db Lneg,"14.6549373495",0
+#endif
+
+;------------------------------ levels data ----------------------------------
+
+;format:boss: [moveType] [enemyType]
+; @level: [nr.dif.enemies]x [enemy nr]
+; [min. enemy frequency] [enemy frequency max.inc]
+; [next lvl (=nrenemies+4)] [level_info: 0000000 1:ground]
+; [tunnel size] [groundtype] [stars1] [stars2]
+;efrequency must be odd if halfluring!
+
+#ifdef story
+ .db 0 ;storyline ID
+levelstart: ;[y-pos] [x-pos] [text,0] [SFX lines; 0=more text] [-1=end]
+ .db 28,35,"COSMIC YEAR 6718",0,28-28+6
+ .db 10,8,"INTELLIGENCE REPORTS ",
+ .db "BACTERION",0,0
+ .db 17,7,"FORCES ARE BUILDING A ",
+ .db "NEW VESSEL",0,0
+ .db 33,32,"A POWERFUL VESSEL",0,0
+ .db 40,15,"THAT COULD EASILY DESTROY",
+ .db " US",0,0
+ .db 47,36,"ONCE COMPLETED",0,47-10+6
+
+ .db 22,1,"YOU HAVE TO GO INTO THE ",
+ .db "HEART OF THEIR",0,0
+ .db 28,1,"SPACE AND DESTROY THE VESSEL",
+ .db " BEFORE",0,0
+ .db 34,22,"IT BECOMES OPERATIONAL.",0,34-22+6
+ .db 25,56,"GOOD",0,0
+ .db 32,56,"LUCK",0,32-25+6
+ .db -1
+#endif
+ .db 40
+#ifndef story
+levelstart:
+#endif
+level00: ;intro
+ .db 5,3,5,3,2,2
+ .db 28,73,13
+ .db %0,0,1,1
+
+ .db 41
+level01:.db 2,3,5
+ .db 26,70,20
+ .db %0,0,1,1
+
+ .db 42
+level02:.db 3,3,4,5
+ .db 20,60,60
+ .db %0,0,1,1
+
+ .db 43
+level03:.db 4,4,5,6,7
+ .db 17,40,75
+ .db %0,0,1,1
+#ifdef story
+ .db 0
+ .db 25,2,"LONG-RANGE SCANNERS ARE ",
+ .db "SHOWING",0,0
+ .db 32,2,"LOTS OF ENEMY VESSELS ",
+ .db "APPROACHING",0,32-25+6
+ .db 22,9,"I'M CHANGING COURSE TO A",
+ .db " NEARBY",0,0
+ .db 28,4,"ASTEROID BELT AND TRY TO ",
+ .db "LOSE THEM",0,0
+ .db 34,48,"INTHERE...",0,34-22+6
+ .db -1
+#endif
+ .db 44
+level04: ;approaching asteroid belt
+ .db 5,8,8,9,11,12
+ .db 17,27,70
+ .db %0,0,1,1
+
+ .db 45
+level05: ;inside belt
+ .db 7,10,11,9,11,12,12,14
+ .db 12,24,80
+ .db %0,0,1,1
+
+ .db 46
+level06: ;(deep inside)
+ .db 10,10,11,12,12,14,13,13,14,15,15
+ .db 7,18,180
+ .db %0,0,1,1
+#ifdef story
+ .db 0
+ .db 28,6,"APPROACHING BACTERION ",
+ .db "TERRATORY",0,6
+ .db 25,10,"READING LOTS OF ENEMY ",
+ .db "VESSELS",0,0
+ .db 32,24,"ON AN INTERCEPT COURSE",0,32-25+6
+ .db -1
+#endif
+ .db 47
+level07:.db 4,16,17,18,6
+ .db 22,29,62
+ .db %0,0,1,1 ;-1=%11111111=line
+
+ .db 48
+level08:.db 5,16,17,18,19,19
+ .db 20,38,57
+ .db %0,0,1,1
+
+ .db 49
+level09: ;lot of triples
+ .db 3,19,20,21
+ .db 19,63,57
+ .db %0,0,1,1
+
+ .db 50
+level10: ;likely no pickups here (hard)
+ .db 7,22,23,24,24,24,25,26
+ .db 22,26,51
+ .db %0,0,1,1
+#ifdef story
+ .db 0
+ .db 24,18,"REACHED THEIR HOMEPLANET",0,0
+ .db 33,18,"SCANNING FOR THE VESSEL...",0,33-24+6
+ .db -1
+#endif
+ .db 50
+level11: ;planet level
+ .db 8,27,27,28,28,29,29,29,30
+ .db 6,8,108
+ .db %1,-7,-1,-1
+
+ .db 50
+level12: ;planet level 2
+ .db 4,39,30,31,31
+ .db 16,8,49
+ .db %1,-10,1,1
+#ifdef story
+ .db 0
+ .db 18,11,"ENEMY VESSEL STRAIGHT "
+ .db "AHEAD...",0,0
+ .db 25,16,"IT SEEMS TO BE "
+ .db "OPERATIONAL!!",0,0
+ .db 33,19,"WELL YOU'VE COME THIS "
+ .db "FAR;",0,0
+ .db 39,8,"TRY TO DESTROY IT, OR DIE "
+ .db "TRYING....",0,39-18+6
+ .db -1
+#endif
+ .db 51
+level13: ;endlevel
+ .db 1,26
+ .db 5,20,18
+ .db %0,0,1,1
+#ifdef story
+ .db 0
+ .db 1,1,"Thats all folks...",0,0
+ .db 20,50,"for now...",0,20-1+6
+ .db -1
+#endif
+endlevel = 13+1
+
+pickupfreq = 19
+
+;------------------------------ enemies --------------------------------------
+
+;format: [HP64] [000000:HP 00:occ] [sprite] [xpos] [appearance(ypos)]
+; [movetype] [time2fire] [firefreq] [firetype]
+;occ: %00=no enemy; 01=exploding (sprite=frame); 10=pickup; 11=enemy
+;appearances: 0+=ypos; -1=random; -2=lure; -3=halflure
+;movetypes: 0=1x; 1=updown; 2=0.25x; 3=0.5x; 4=0.75x; 5=1.25x; 6=1.5x;
+; 7=2x; 8=3x; 9=ylure50%; 10=ylure; 11=ylure50%; 12=x+y-lure 50%;
+; 13=-1/2x; 14=-1x; 16=boss; 17=right+1
+;firetypes: 1=normal; 2=down; 3=up; 4=1/2down; 5=1/2up; 6=aiming(2-5);
+; 7=triple; 8=double; 9=wide5; 10=wide7; 11=ran; 12=10+enemies
+; 13=base; 14=ranY; 15=wide3; 16=5x
+
+enemyspecs: ;10 bytes/enemy | max.enemies <64 | sprites use <768 bytes
+#ifdef TI86
+;0-1=pickups
+ .db 0,%00000010,spr_enemyP1&255,spr_enemyP1/256,128,-2,03, 0, 0,1 ;pickup
+ .db 0,%00000110,spr_enemyP2&255,spr_enemyP2/256,128,-2,03, 0, 0,1 ;bigpickup
+;2-7=basic enemies ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 0,%00001011,spr_enemyE0&255,spr_enemyE0/256,128,-1,00,12, 0,1 ;intro
+ .db 0,%00100011,spr_enemyE1&255,spr_enemyE1/256,128,-1,00,10, 0,1 ;weak
+ .db 0,%01100011,spr_enemyE4&255,spr_enemyE4/256,128,-1,03, 6,50,1 ;slow
+ .db 0,%01001011,spr_enemyE2&255,spr_enemyE2/256,128,-1,00, 1, 0,1
+ .db 0,%01011011,spr_enemyE3&255,spr_enemyE3/256,128,-3,00,19,39,8 ;heavy
+ .db 0,%01010011,spr_enemyE5&255,spr_enemyE5/256,128,-3,05, 1, 0,1 ;fast
+;8-10=backwards enemies ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 0,%00111011,spr_enemyB1&255,spr_enemyB1/256,000,-3,13,19,92,1
+ .db 0,%01011011,spr_enemyB2&255,spr_enemyB2/256,000,-1,14,11,45,1
+ .db 0,%01101011,spr_enemyB3&255,spr_enemyB3/256,000,-1,13,10,41,8 ;small
+;11-15=asteroid ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 0,%01001011,spr_enemyA1&255,spr_enemyA1/256,128,-1,04, 0, 0,1
+ .db 0,%01111011,spr_enemyA2&255,spr_enemyA2/256,128,-1,00, 0, 0,1
+ .db 0,%10110011,spr_enemyA3&255,spr_enemyA3/256,128,-1,06, 0, 0,1
+ .db 1,%00010011,spr_enemyA4&255,spr_enemyA4/256,128,-1,03, 0, 0,1 ;slow+hard
+ .db 0,%01111011,spr_enemyA4&255,spr_enemyA4/256,128,-1,07, 0, 0,1
+;16-21=improved enemies ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 0,%10010011,spr_enemyG1&255,spr_enemyG1/256,128,-3,00, 3,40,1
+ .db 0,%10111011,spr_enemyG2&255,spr_enemyG2/256,128,-3,00, 1,36,1
+ .db 0,%01100011,spr_enemyG5&255,spr_enemyG5/256,128,-1,01, 9,52,1 ;updown
+ .db 0,%11110011,spr_enemyG3&255,spr_enemyG3/256,128,-3,04, 7,99,15 ;3x
+ .db 1,%01101011,spr_enemyG4&255,spr_enemyG4/256,128,-2,01,17, 0,15 ;updown3x
+ .db 1,%00010011,spr_enemyG6&255,spr_enemyG6/256,128,-2,09,62,60,8 ;lure
+;22-26=hi-speed ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 1,%00010011,spr_enemyS2&255,spr_enemyS2/256,128,-2,06, 3,32,8 ;fast
+ .db 0,%11111011,spr_enemyS1&255,spr_enemyS1/256,128,-3,09, 2,28,1 ;lure
+ .db 1,%00101011,spr_enemyS4&255,spr_enemyS4/256,128,-3,07, 0, 0,1 ;vfast+nofire
+ .db 1,%01110011,spr_enemyS3&255,spr_enemyS3/256,128,-1,09, 1,20,8 ;lure+
+ .db 0,%11011011,spr_enemyS2&255,spr_enemyS2/256,128,-2,01, 3,7,11 ;updown+ran
+;27-29=hyper ,% ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 1,%00001011,spr_enemyN1&255,spr_enemyN1/256,128,-1,07, 0, 0,1
+ .db 1,%00010111,spr_enemyN2&255,spr_enemyN2/256,128,-2,07, 0, 0,1
+ .db 1,%00001111,spr_enemyN3&255,spr_enemyN3/256,128,-1,08, 0, 0,1 ;xfast
+;30-31=turrets,% ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 1,%10001111,spr_enemyT1&255,spr_enemyT1/256,128,-4,00, 1,15,3 ;turret L
+ .db 1,%11011011,spr_enemyT1&255,spr_enemyT1/256,128,-4,00, 1,16,5 ;turret l
+
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128, 0, 0, 0, 0,0
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128, 0, 0, 0, 0,0
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128, 0, 0, 0, 0,0
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128, 0, 0, 0, 0,0
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128, 0, 0, 0, 0,0
+;37-38=final boss' enemy,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 0,%11110011,spr_enemyM1&255,spr_enemyM1/256,128,-3,01, 0, 0,1 ;moving
+ .db 0,%11110011,spr_enemyM1&255,spr_enemyM1/256,128,23,11, 0, 0,1 ;mid+lure
+;39=misc ,% ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db -1,%11111111,spr_enemyM2&255,spr_enemyM2/256,128,-2,08, 0, 0,1 ;bullet
+boss1enemy = 37
+boss2enemy = 38
+;40-44=first bosses ,spr_ &255,spr_ /256, X, Y, d,WT,WF,W
+ .db 2,%01000111,spr_boss01&255,spr_boss01 /256,127,-1,11,35,48,15 ;triple
+ .db 2,%01010011,spr_boss02&255,spr_boss02 /256,127,-1,11,20,12,1 ;single
+ .db 2,%11011011,spr_boss03&255,spr_boss03 /256,127,-1,10,15, 8,8 ;double
+ .db 3,%00111111,spr_boss04&255,spr_boss04 /256,127,-3,12,10,11,1 ;Flure
+ .db 4,%01011011,spr_boss05&255,spr_boss05 /256,000,-2,17, 1,3,11 ;ranfire
+;45-46=asteroid bosses ,spr_ &255,spr_ /256, X, Y, , , ,
+ .db 5,%01101111,spr_bossA1&255,spr_bossA1 /256,127,-2,12,28,14,7 ;Flure
+ .db 20,%00011111,spr_bossA2&255,spr_bossA2 /256,119,00,16,31, 3,14 ;fullscreen
+;47-51=big bosses ,spr_ &255,spr_ /256, X, Y, , , ,
+ .db 4,%00010111,spr_boss07&255,spr_boss07 /256,127,-3,10,31, 8,16 ;5x
+ .db 6,%10001111,spr_boss08&255,spr_boss08 /256,127,-1,10,18, 8,9 ;quad
+ .db 3,%10111011,spr_boss06&255,spr_boss06 /256,127,-2,12, 1, 4,1 ;weak+rapidfire
+ .db 7,%11101011,spr_boss09&255,spr_boss09 /256,127,-1,10,21, 9,10 ;6x
+ .db 9,%11011011,spr_boss10&255,spr_boss10 /256,127,-1,10,12,11,12 ;enemies
+#else
+;0-1=pickups
+ .db 0,%00000010,spr_enemyP1&255,spr_enemyP1/256,96,-2,03, 0, 0,1 ;pickup
+ .db 0,%00000110,spr_enemyP2&255,spr_enemyP2/256,96,-2,03, 0, 0,1 ;bigpickup
+;2-7=basic enemies ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 0,%00001011,spr_enemyE0&255,spr_enemyE0/256,96,-1,00,12, 0,1 ;intro
+ .db 0,%00100011,spr_enemyE1&255,spr_enemyE1/256,96,-1,00,10, 0,1 ;weak
+ .db 0,%01100011,spr_enemyE4&255,spr_enemyE4/256,96,-1,03, 6,50,1 ;slow
+ .db 0,%01001011,spr_enemyE2&255,spr_enemyE2/256,96,-1,00, 1, 0,1
+ .db 0,%01011011,spr_enemyE3&255,spr_enemyE3/256,96,-3,00,19,39,8 ;heavy
+ .db 0,%01010011,spr_enemyE5&255,spr_enemyE5/256,96,-3,05, 1, 0,1 ;fast
+;8-10=backwards enemies ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 0,%00111011,spr_enemyB1&255,spr_enemyB1/256,00,-3,13,19,92,1
+ .db 0,%01011011,spr_enemyB2&255,spr_enemyB2/256,00,-1,14,11,45,1
+ .db 0,%01101011,spr_enemyB3&255,spr_enemyB3/256,00,-1,13,10,41,8 ;small
+;11-15=asteroid ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 0,%01001011,spr_enemyA1&255,spr_enemyA1/256,96,-1,04, 0, 0,1
+ .db 0,%01111011,spr_enemyA2&255,spr_enemyA2/256,96,-1,00, 0, 0,1
+ .db 0,%10110011,spr_enemyA3&255,spr_enemyA3/256,96,-1,06, 0, 0,1
+ .db 1,%00010011,spr_enemyA4&255,spr_enemyA4/256,96,-1,03, 0, 0,1 ;slow+hard
+ .db 0,%01111011,spr_enemyA4&255,spr_enemyA4/256,96,-1,07, 0, 0,1
+;16-21=improved enemies ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 0,%10010011,spr_enemyG1&255,spr_enemyG1/256,96,-3,00, 3,40,1
+ .db 0,%10111011,spr_enemyG2&255,spr_enemyG2/256,96,-3,00, 1,36,1
+ .db 0,%01100011,spr_enemyG5&255,spr_enemyG5/256,96,-1,01, 9,52,1 ;updown
+ .db 0,%11110011,spr_enemyG3&255,spr_enemyG3/256,96,-3,04, 7,99,15 ;3x
+ .db 1,%01101011,spr_enemyG4&255,spr_enemyG4/256,96,-2,01,17, 0,15 ;updown3x
+ .db 1,%00010011,spr_enemyG6&255,spr_enemyG6/256,96,-2,09,62,60,8 ;lure
+;22-26=hi-speed ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 1,%00010011,spr_enemyS2&255,spr_enemyS2/256,96,-2,06, 3,32,8 ;fast
+ .db 0,%11111011,spr_enemyS1&255,spr_enemyS1/256,96,-3,09, 2,28,1 ;lure
+ .db 1,%00101011,spr_enemyS4&255,spr_enemyS4/256,96,-3,07, 0, 0,1 ;vfast+nofire
+ .db 1,%01110011,spr_enemyS3&255,spr_enemyS3/256,96,-1,09, 1,20,8 ;lure+
+ .db 0,%11011011,spr_enemyS2&255,spr_enemyS2/256,96,-2,01, 3,7,11 ;updown+ran
+;27-29=hyper ,% ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 1,%00001011,spr_enemyN1&255,spr_enemyN1/256,96,-1,07, 0, 0,1
+ .db 1,%00010111,spr_enemyN2&255,spr_enemyN2/256,96,-2,07, 0, 0,1
+ .db 1,%00001111,spr_enemyN3&255,spr_enemyN3/256,96,-1,08, 0, 0,1 ;xfast
+;30-31=turrets,% ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 1,%10001111,spr_enemyT1&255,spr_enemyT1/256,96,-4,00, 1,15,3 ;turret L
+ .db 1,%11011011,spr_enemyT1&255,spr_enemyT1/256,96,-4,00, 1,16,5 ;turret l
+
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,96, 0, 0, 0, 0,0
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,96, 0, 0, 0, 0,0
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,96, 0, 0, 0, 0,0
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,96, 0, 0, 0, 0,0
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,96, 0, 0, 0, 0,0
+;37-38=final boss' enemy,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db 0,%11110011,spr_enemyM1&255,spr_enemyM1/256,96,-3,01, 0, 0,1 ;moving
+ .db 0,%11110011,spr_enemyM1&255,spr_enemyM1/256,96,23,11, 0, 0,1 ;mid+lure
+;39=misc ,% ,spr_enemy &255,spr_enemy /256, X, Y, d,WT,WF,W
+ .db -1,%11111111,spr_enemyM2&255,spr_enemyM2/256,96,-2,08, 0, 0,1 ;bullet
+boss1enemy = 37
+boss2enemy = 38
+;40-44=first bosses ,spr_ &255,spr_ /256, X, Y, d,WT,WF,W
+ .db 2,%01000111,spr_boss01&255,spr_boss01 /256,95,-1,11,35,48,15 ;triple
+ .db 2,%01010011,spr_boss02&255,spr_boss02 /256,95,-1,11,20,12,1 ;single
+ .db 2,%11011011,spr_boss03&255,spr_boss03 /256,95,-1,10,15, 8,8 ;double
+ .db 3,%00111111,spr_boss04&255,spr_boss04 /256,95,-3,12,10,11,1 ;Flure
+ .db 4,%01011011,spr_boss05&255,spr_boss05 /256,00,-2,17, 1,3,11 ;ranfire
+;45-46=asteroid bosses ,spr_ &255,spr_ /256, X, Y, , , ,
+ .db 5,%01101111,spr_bossA1&255,spr_bossA1 /256,95,-2,12,28,14,7 ;Flure
+ .db 20,%00011111,spr_bossA2&255,spr_bossA2 /256,87,00,16,31, 3,14 ;fullscreen
+;47-51=big bosses ,spr_ &255,spr_ /256, X, Y, , , ,
+ .db 4,%00010111,spr_boss07&255,spr_boss07 /256,95,-3,10,31, 8,16 ;5x
+ .db 6,%10001111,spr_boss08&255,spr_boss08 /256,95,-1,10,18, 8,9 ;quad
+ .db 3,%10111011,spr_boss06&255,spr_boss06 /256,95,-2,12, 1, 4,1 ;weak+rapidfire
+ .db 7,%11101011,spr_boss09&255,spr_boss09 /256,95,-1,10,21, 9,10 ;6x
+ .db 9,%11011011,spr_boss10&255,spr_boss10 /256,95,-1,10,12,11,12 ;enemies
+#endif
+
+spr_enemy00:
+spr_enemyP1:
+ .db 10,8 ;pickup
+ .db %00111111 ; ██████
+ .db %01100001 ; ██ ██
+ .db %10001100 ;█ ██ █
+ .db %10111111 ;█ ██████ █
+ .db %10111111 ;█ ██████ █
+ .db %10001100 ;█ ██ █
+ .db %01100001 ; ██ ██
+ .db %00111111 ; ██████
+ .db 7
+ .db %00000000
+ .db %10000000
+ .db %01000000
+ .db %01000000
+ .db %01000000
+ .db %01000000
+ .db %10000000
+spr_enemyP2:
+ .db 11,9 ;big pickup
+ .db %00111111 ; ███████
+ .db %01100000 ; ██ ██
+ .db %10001110 ;█ ███ █
+ .db %10111011 ;█ ███ ███ █
+ .db %10100000 ;█ █ █ █
+ .db %10111011 ;█ ███ ███ █
+ .db %10001110 ;█ ███ █
+ .db %01100000 ; ██ ██
+ .db %00111111 ; ███████
+ .db 9
+ .db %10000000
+ .db %11000000
+ .db %00100000
+ .db %10100000
+ .db %10100000
+ .db %10100000
+ .db %00100000
+ .db %11000000
+ .db %10000000
+
+spr_enemyE0:
+ .db 6,7 ;weak
+ .db %00011100 ; ███
+ .db %00100100 ; █ █
+ .db %01101000 ; ██ █
+ .db %10110100 ;█ ██ █
+ .db %01101000 ; ██ █
+ .db %00100100 ; █ █
+ .db %00011100 ; ███
+spr_enemyE1:
+ .db 6,7 ;weak
+ .db %00111100 ; ████
+ .db %01000100 ; █ █
+ .db %10111000 ;█ ███
+ .db %11100000 ;███
+ .db %10111000 ;█ ███
+ .db %01000100 ; █ █
+ .db %00111100 ; ████
+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 %01010000 ; █ █
+ .db %11010000 ;██ █
+ .db %11010000 ;██ █
+ .db %01010000 ; █ █
+ .db %00111100 ; ████
+spr_enemyE4:
+ .db 6,7
+ .db %00011100 ; ███
+ .db %01101000 ; ██ █
+ .db %10011000 ;█ ██
+ .db %01110000 ; ███
+ .db %10011000 ;█ ██
+ .db %01101000 ; ██ █
+ .db %00011100 ; ███
+spr_enemyE5:
+ .db 6,6 ;speedy
+ .db %00010100 ; █ █
+ .db %01111000 ; ████
+ .db %10100000 ;█ █
+ .db %10100000 ;█ █
+ .db %01111000 ; ████
+ .db %00010100 ; █ █
+
+spr_enemyB1:
+ .db 6,6 ;solid backwards
+ .db %11110000 ;████
+ .db %00101000 ; █ █
+ .db %01010100 ; █ █ █
+ .db %01010100 ; █ █ █
+ .db %00101000 ; █ █
+ .db %11110000 ;████
+spr_enemyB2:
+ .db 6,7
+ .db %11110000 ;████
+ .db %01001000 ; █ █
+ .db %01110100 ; ███ █
+ .db %00100100 ; █ █
+ .db %01110100 ; ███ █
+ .db %01001000 ; █ █
+ .db %11110000 ;████
+spr_enemyB3:
+ .db 5,7
+ .db %11100000 ;███
+ .db %01010000 ; █ █
+ .db %01111000 ; ████
+ .db %01000000 ; █
+ .db %01111000 ; ████
+ .db %01010000 ; █ █
+ .db %11100000 ;███
+
+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 ; ██
+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_enemyG1:
+ .db 8,6 ;G-Type
+ .db %00011111 ; █████
+ .db %01001000 ; █ █
+ .db %10110100 ;█ ██ █
+ .db %10110100 ;█ ██ █
+ .db %01001000 ; █ █
+ .db %00011111 ; █████
+spr_enemyG2:
+ .db 8,6 ;smaller nacelles
+ .db %00010111 ; █ ███
+ .db %01101100 ; ██ ██
+ .db %10110100 ;█ ██ █
+ .db %10110100 ;█ ██ █
+ .db %01101100 ; ██ ██
+ .db %00010111 ; █ ███
+spr_enemyG3:
+ .db 8,6 ;shuttle
+ .db %00001111 ; ████
+ .db %01110100 ; ███ █
+ .db %10011100 ;█ ███
+ .db %10011100 ;█ ███
+ .db %01110100 ; ███ █
+ .db %00001111 ; ████
+spr_enemyG4:
+ .db 8,6 ;G-Type solid
+ .db %00111101 ; ███ █
+ .db %01111000 ; ████
+ .db %11110100 ;████ █
+ .db %11110100 ;████ █
+ .db %01111000 ; ████
+ .db %00111101 ; ███ █
+spr_enemyG5:
+ .db 6,6
+ .db %01111100 ; █████
+ .db %10110000 ;█ ██
+ .db %10101000 ;█ █ █
+ .db %10101000 ;█ █ █
+ .db %10110000 ;█ ██
+ .db %01111100 ; █████
+spr_enemyG6:
+ .db 8,5 ;shuttle
+ .db %00001111 ; ████
+ .db %01110100 ; ███ █
+ .db %10011010 ;█ ██ █
+ .db %01110100 ; ███ █
+ .db %00001111 ; ████
+
+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 ;fast interceptor
+ .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 ; █████
+spr_enemyN2:
+ .db 8,7 ;
+ .db %00111110 ; █████
+ .db %00011101 ; ███ █
+ .db %11111111 ;████ ███
+ .db %01110110 ; ██ ███
+ .db %11111111 ;████ ███
+ .db %00011101 ; ███ █
+ .db %00111110 ; █████
+spr_enemyN3:
+ .db 8,7 ;Nem3MSX jumper lvl#3
+ .db %10111110 ;█ █████
+ .db %01011101 ; █ ███ █
+ .db %01111110 ; ██████
+ .db %00010100 ; █ █
+ .db %01111110 ; ██████
+ .db %01011101 ; █ ███ █
+ .db %10111110 ;█ █████
+spr_enemyN4:
+ .db 8,8 ;Stolen from XC1701II
+ .db %01111110 ; ██████
+ .db %11110101 ;████ █ █
+ .db %00011111 ; █████
+ .db %00111101 ; ████ █
+ .db %00111001 ; ███ █
+ .db %00011111 ; █████
+ .db %11110101 ;████ █ █
+ .db %01111110 ; ██████
+spr_enemyN5:
+ .db 7,8 ;Stolen from XC1701II
+ .db %00111100 ; ████
+ .db %01010010 ; █ █ █
+ .db %11111110 ;███████
+ .db %01001010 ; █ █ █
+ .db %01011010 ; █ ██ █
+ .db %11111110 ;███████
+ .db %01010010 ; █ █ █
+ .db %01111100 ; ████
+
+spr_enemyT1:
+ .db 8,7 ;turret left
+ .db %11000000 ;██
+ .db %01100000 ; ██
+ .db %00110000 ; ██
+ .db %01011100 ; █ ███
+ .db %10110110 ;█ ██ ██
+ .db %01011010 ; █ ██ █
+ .db %11111111 ;████████
+spr_enemyT2:
+ .db 8,7 ;turret right
+ .db %00000011 ; ██
+ .db %00000110 ; ██
+ .db %00001100 ; ██
+ .db %00111010 ; ███ █
+ .db %01101101 ; ██ ██ █
+ .db %01011010 ; █ ██ █
+ .db %11111111 ;████████
+
+spr_enemyM1:
+ .db 8,7 ;mine
+ .db %00111100 ; ████
+ .db %01011010 ; █ ██ █
+ .db %11111111 ;████████
+ .db %01001010 ; █ █ █
+ .db %11111111 ;████████
+ .db %01011010 ; █ ██ █
+ .db %00111100 ; ████
+spr_enemyM2:
+ .db 7,6 ;giant bullet
+ .db %00011000 ; ██▒
+ .db %01111110 ; ██████▒
+ .db %11111000 ;█████▒
+ .db %11111100 ;██████▒
+ .db %01111110 ; ██████▒
+ .db %00111000 ; ███▒
+
+spr_boss01:
+ .db 9,12 ;.......:.2.....:
+ .db %00000111 ; ████
+ .db %00011100 ; ███
+ .db %00101010 ; █ █ █
+ .db %01011011 ; █ ██ ██
+ .db %10100110 ;█ █ ██ █
+ .db %11010101 ;██ █ █ █
+ .db %11010101 ;██ █ █ █
+ .db %10100110 ;█ █ ██ █
+ .db %01011011 ; █ ██ ██
+ .db %00101010 ; █ █ █
+ .db %00011100 ; ███
+ .db %00000111 ; ████
+ .db 12
+ .db %10000000
+ .db %00000000
+ .db %00000000
+ .db %00000000
+ .db %10000000
+ .db %00000000 ;...what a waste of space...
+ .db %00000000
+ .db %10000000
+ .db %00000000
+ .db %00000000
+ .db %00000000
+ .db %10000000
+spr_boss02:
+ .db 12,12 ;.......:....5..:
+ .db %00011110 ; ████
+ .db %01100001 ; ██ ██
+ .db %10110010 ;█ ██ █ ██
+ .db %00000101 ; █ ██ █
+ .db %00001010 ; █ █ ██
+ .db %00011010 ; ██ █ █ █
+ .db %00011010 ; ██ █ █ █
+ .db %00001010 ; █ █ ██
+ .db %00000101 ; █ ██ █
+ .db %10110010 ;█ ██ █ ██
+ .db %01100001 ; ██ ██
+ .db %00011110 ; ████
+ .db 11
+ .db %00000000
+ .db %10000000
+ .db %01100000
+ .db %10100000
+ .db %01100000
+ .db %10010000
+ .db %10010000
+ .db %01100000
+ .db %10100000
+ .db %01100000
+ .db %10000000
+spr_boss03:
+ .db 16,10 ;.......:.......:
+ .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
+spr_boss04:
+ .db 16,10 ;.......:.......:
+ .db %00000000 ; █████
+ .db %00000000 ; ███ █
+ .db %00000111 ; ████ █████
+ .db %00111101 ; ████ █ █ ████
+ .db %01001010 ; █ █ █ ██ ███ █
+ .db %10110110 ;█ ██ ██ ███ █ █
+ .db %10110110 ;█ ██ ██ ███ █ █
+ .db %01001010 ; █ █ █ ██ ███ █
+ .db %00111101 ; ████ █ █ ████
+ .db %00000111 ; ████ █████
+ .db 12 ; ███ █
+ .db %00011111 ; █████
+ .db %11100001
+ .db %10111110
+ .db %01011110
+ .db %11011101
+ .db %11100101
+ .db %11100101
+ .db %11011101
+ .db %01011110
+ .db %10111110
+ .db %11100001
+ .db %00011111
+spr_boss05:
+ .db 16,10 ;.......:.......:
+ .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 %01101101
+ .db %01101101
+ .db %10010110
+ .db %11100001
+ .db %10001111
+spr_bossA1:
+ .db 12,11 ;AsteroidBoss 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
+spr_boss06:
+ .db 16,10 ;.......:.......:
+ .db %10111110 ;█ █████ ███
+ .db %00000011 ; ███ ████
+ .db %01110101 ; ███ █ ████ ██ █
+ .db %11111101 ;██████ █ ███ █
+ .db %00000110 ; ██ █ █ ██ █
+ .db %00000110 ; ██ █ █ ██ █
+ .db %11111101 ;██████ █ ███ █
+ .db %01110101 ; ███ █ ████ ██ █
+ .db %00000011 ; ███ ████
+ .db %10111110 ;█ █████ ███
+ .db 10
+ .db %00111000
+ .db %10001111
+ .db %11101101
+ .db %01110010
+ .db %10101101
+ .db %10101101
+ .db %01110010
+ .db %11101101
+ .db %10001111
+ .db %00111000
+spr_boss07: ;modelled after a Nemesis][MSX boss
+ .db 16,15 ;.......:.......:
+ .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
+ .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
+spr_boss08: ;modelled after a Nemesis][MSX boss
+ .db 16,18 ;.......:.......:
+ .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
+ .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_boss09:
+ .db 14,14 ;.......:......7:
+ .db %01100111 ; ██ ████ ██
+ .db %11001011 ;██ █ ██ █ ██
+ .db %10110000 ;█ ██ ██ █
+ .db %10101111 ;█ █ ██████ █ █
+ .db %01010000 ; █ ██ ██ █
+ .db %01010011 ; █ █ ██ █ █
+ .db %10100111 ;█ █ ████ ██ █
+ .db %10100111 ;█ █ ████ ██ █
+ .db %01010011 ; █ █ ██ █ █
+ .db %01010000 ; █ ██ ██ █
+ .db %10101111 ;█ █ ██████ █ █
+ .db %10110000 ;█ ██ ██ █
+ .db %11001001 ;██ █ ██ █ ██
+ .db %01100111 ; ██ ████ ██
+ .db 14
+ .db %10011000
+ .db %01001100
+ .db %00110100
+ .db %11010100
+ .db %00101000
+ .db %00010100
+ .db %10110100
+ .db %10110100
+ .db %00010100
+ .db %00101000
+ .db %11010100
+ .db %00110100
+ .db %01001100
+ .db %10011000
+spr_boss10:
+ .db 16,19 ;.......:.......:
+ .db %01111011 ; ████ ███
+ .db %10000110 ;█ ██ █████
+ .db %00000011 ; ███ █
+ .db %00111011 ; ███ ██ ███
+ .db %00000111 ; ███ ███
+ .db %00001100 ; ██ ███ █
+ .db %00110111 ; ██ █████ █ ██
+ .db %01111011 ; ████ ██ █ ██ █
+ .db %11100100 ;███ █ ██ ██ █
+ .db %00000001 ; ██████ ██ █
+ .db %11100100 ;███ █ ██ ██ █
+ .db %01111011 ; ████ ██ █ ██ █
+ .db %00110111 ; ██ █████ █ ██
+ .db %00001100 ; ██ ███ █
+ .db %00000111 ; ███ ██
+ .db %00111011 ; ███ ██ ███
+ .db %00000011 ; ███ █
+ .db %10000110 ;█ ██ █████
+ .db %01111011 ; ████ ███
+ .db 19
+ .db %10000000
+ .db %11111000
+ .db %10100000
+ .db %00011100
+ .db %01110000
+ .db %11101000
+ .db %11010110
+ .db %00101101
+ .db %11011001
+ .db %11011001
+ .db %11011001
+ .db %00101101
+ .db %11010110
+ .db %11101000
+ .db %01100000
+ .db %00011100
+ .db %10100000
+ .db %11111000
+ .db %10000000
+;spr_bossA2: ;in asm code
+
+;-----------------------------------------------------------------------------
+;----------------------------- logo ------------------------------------------
+;-----------------------------------------------------------------------------