+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
+txt_teacher: .db "(2",Lpi,"*.98)/sin 13",0 ;teacher
+txt_teacherans: .db Lneg,"14.6549373495",0
+
+;---------------------------- save data -------------------------------------
+
+storehi_start:
+hiscore .dw 0 ;default hiscore
+hiname .db "shiar.99",0 ; " " name
+storehi_end:
+
+invertmode: cpl ;saves B<>W mode setting cpl
+
+storesave_start: ;--SAVED GAME-- defs:
+your_ship .dw spr_ship01 ;your sprite (^invertmode^) sprs1
+level .db 1 ;level number 1
+levelp .dw level00 ;pointer to level data lev00
+pickuptimer .db 4 ;counts when to place a pickup 4
+your_extramode .db 1 ;you have tail or double 1
+your_score .dw 0 ;current score 0
+your_pickup .db 0 ;pickups already picked up 0
+your_occ .db 0 ;0=normal 1..16=exploding 0
+your_shield .db 0 ;invincibility left 0
+your_armor .db 24 ;HP left 12
+your_lives .db 3 ;lives left 3
+your_weapon .db 3 ;current weapon upgrade 0
+your_multiples .db 0 ;multiples present 0
+your_extra .db 0 ;extra beam present 0
+hardcore .db 0 ;hardcore mode if non-0 0
+storesave_end:
+
+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 (=nrenemies+4)] [level_info: 1:ceiling 1:ground]
+; [tunnel size] [groundtype] [stars1] [stars2]
+;efrequency must be odd if halfluring!
+
+ .db 0 ;storyline ID
+levelstart: ;[y-pos] [x-pos] [text,0] [SFX lines; 0=more text] [-1=end]
+ .db 25,33,"Imperial ships have",0,0
+ .db 31,9,"been sent to intercept you",0,31-25+6,-1
+
+ .db 30
+level00:.db 5,2,4,2,1,1
+ .db 28,73,13
+ .db %00,0,0,1,1
+
+ .db 31 ;boss for level01
+level01:.db 2,2,4 ;enemies
+ .db 26,70,20
+ .db %00,0,0,1,1
+
+ .db 32
+level02:.db 3,2,3,4
+ .db 20,60,60
+ .db %00,0,0,1,1
+
+ .db 33
+level03:.db 4,3,4,5,6
+ .db 17,40,75
+ .db %00,0,0,1,1
+
+ .db 0
+ .db 1,1,"Long-Range scanners are ",
+ .db "showing",0,0
+ .db 8,1,"lots of enemy vessels ",
+ .db "advancing fast.",0,8-1+6
+ .db 24,1,"I'm changing course to a",
+ .db " nearby ",0,0
+ .db 31,1,"asteroid belt and try to",0,0
+ .db 38,1,"lose them inthere.",0,38-24+6,-1
+
+;---- approaching asteroid belt
+ .db 34
+level04:.db 5,7,7,8,10,11
+ .db 17,27,70
+ .db %00,0,0,1,1
+
+;---- light asteroid belt
+ .db 35
+level05:.db 7,9,10,8,10,11,11,13
+ .db 12,24,80
+ .db %00,0,0,1,1
+
+;---- inside asteroid belt
+ .db 36
+level06:.db 10,9,10,11,11,13,12,12,13,14,14
+ .db 7,18,180
+ .db %00,0,0,1,1
+
+ .db 37
+level07:.db 4,15,16,17,5
+ .db 22,29,62
+ .db %00,0,0,1,1 ;-1=%11111111=line
+
+ .db 38
+level08:.db 5,15,16,17,18,18
+ .db 20,38,57
+ .db %00,0,0,1,1
+
+ .db 39
+level09:.db 3,18,19,20
+ .db 19,63,57
+ .db %00,0,0,1,1
+
+ .db 0,1,1,"That`s all folks...",0,0
+ .db 20,50,"for now...",0,20-0+6,-1
+
+endlevel = 10
+
+pickupfreq = 10
+
+;------------------------------ 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: 1=random; 2=lure; 3=halflure
+;movetypes: 1=updown; 2=1/4x; 3=1/2x; 4=3/4x; 5=3/2x; 6=2x; 7=ylure50%;
+; 7=ylure; 8=ylure50%; 9=x; 10=x+y-lure 50%; 11=-1/2x; 12=-1x
+;firetypes: 1=normal; 6=aiming; 7=triple; 8=double
+
+enemyspecs: ;10 bytes/enemy | max.enemies <64 | sprites use <768 bytes
+ .db 0,%00000110,spr_enemy00&255,spr_enemy00/256,128,2,03, 0, 0,1 ;pickup
+;1-6=basic enemies , , , , , , , ,
+ .db 0,%00000111,spr_enemyE0&255,spr_enemyE0/256,128,1,00,12, 0,1 ;intro
+ .db 0,%00010011,spr_enemyE1&255,spr_enemyE1/256,128,1,00,10, 0,1 ;weak
+ .db 0,%00110011,spr_enemyE4&255,spr_enemyE4/256,128,1,03, 6,50,1 ;slow
+ .db 0,%00100111,spr_enemyE2&255,spr_enemyE2/256,128,1,00, 1, 0,1
+ .db 0,%00101111,spr_enemyE3&255,spr_enemyE3/256,128,3,00,19,39,8 ;heavy
+ .db 0,%00101011,spr_enemyE5&255,spr_enemyE5/256,128,3,05, 1, 0,1 ;fast
+;7-9=backwards enemies , , , , , , , ,
+ .db 0,%00011111,spr_enemyB1&255,spr_enemyB1/256,000,3,11,19,92,1
+ .db 0,%00101111,spr_enemyB2&255,spr_enemyB2/256,000,1,12,11,45,1
+ .db 0,%00110111,spr_enemyB3&255,spr_enemyB3/256,000,1,11,10,41,8 ;small
+;10-14=asteroid , , , , , , , ,
+ .db 0,%00100111,spr_enemyA1&255,spr_enemyA1/256,128,1,04, 0, 0,1
+ .db 0,%00111111,spr_enemyA2&255,spr_enemyA2/256,128,1,00, 0, 0,1
+ .db 0,%01011011,spr_enemyA3&255,spr_enemyA3/256,128,1,05, 0, 0,1
+ .db 1,%00001011,spr_enemyA4&255,spr_enemyA4/256,128,1,03, 0, 0,1 ;slow+hard
+ .db 0,%00111111,spr_enemyA4&255,spr_enemyA4/256,128,1,06, 0, 0,1
+;15-20=improved enemies, , , , , , , ,
+ .db 0,%01001011,spr_enemyG1&255,spr_enemyG1/256,128,3,00, 3,40,1
+ .db 0,%01011111,spr_enemyG2&255,spr_enemyG2/256,128,3,00, 1,36,1
+ .db 0,%00110011,spr_enemyG5&255,spr_enemyG5/256,128,1,01, 9,52,1 ;updown
+ .db 0,%01111011,spr_enemyG3&255,spr_enemyG3/256,128,3,04, 7,99,7 ;3x
+ .db 0,%10110111,spr_enemyG4&255,spr_enemyG4/256,128,2,01,17, 0,7 ;updown3x
+ .db 0,%10001011,spr_enemyG6&255,spr_enemyG6/256,128,2,07,62,60,8 ;lure
+;21-29=unused, , , , , , , , ,
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128,2,03, 0, 0,1 ;21
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128,2,03, 0, 0,1 ;22
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128,2,03, 0, 0,1 ;23
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128,2,03, 0, 0,1 ;24
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128,2,03, 0, 0,1 ;25
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128,2,03, 0, 0,1 ;26
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128,2,03, 0, 0,1 ;27
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128,2,03, 0, 0,1 ;28
+ .db 0,%00000011,spr_enemy00&255,spr_enemy00/256,128,2,03, 0, 0,1 ;29
+;30-34=first bosses , , , , , , , ,
+ .db 1,%00100011,spr_boss01 &255,spr_boss01 /256,127,1,09,35,50,7 ;triple
+ .db 1,%00101011,spr_boss02 &255,spr_boss02 /256,127,1,09,20,12,1 ;small
+ .db 1,%00111111,spr_boss03 &255,spr_boss03 /256,127,1,09,15,11,8 ;normal
+ .db 1,%01001111,spr_boss04 &255,spr_boss04 /256,127,3,10,10,11,1 ;moving
+ .db 0,%11111111,spr_boss05 &255,spr_boss05 /256,127,2,10, 1, 4,1 ;weak+rapidfire
+;35-36=asteroid bosses , , , , , , , ,
+ .db 2,%00001011,spr_bossA1 &255,spr_bossA1 /256,127,1,10,36,14,6
+ .db 2,%00110011,spr_bossA1 &255,spr_bossA1 /256,127,2,10,28,12,6
+;37-40=big bosses , , , , , , , ,
+ .db 2,%00000011,spr_boss07 &255,spr_boss07 /256,127,3,08,31, 8,7
+ .db 2,%00100111,spr_boss06 &255,spr_boss06 /256,127,3,08,13, 7,7
+ .db 2,%00100111,spr_boss08 &255,spr_boss08 /256,127,1,08,18, 8,9 ;quad
+ .db 2,%10010011,spr_boss09 &255,spr_boss09 /256,127,1,08,21, 9,10 ;6x