Home » Archimedes archive » Archimedes World » AW-1996-06-Disc 2.adf » !Tables_Tables » !Tables/Pt1/Paccy

!Tables/Pt1/Paccy

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1996-06-Disc 2.adf » !Tables_Tables
Filename: !Tables/Pt1/Paccy
Read OK:
File size: ADD3 bytes
Load address: 0000
Exec address: 0000
File contents
    0REMOSCLIADFS::HardDisc4.$.CURR_NEW.!Tables.Pt1.Paccy
    1LIBRARY "<TableA$Dir>.Pt1.Library"
    2*FX225,1
    3*FX229,0
    4*FX220,17
    5ONERROR:OSCLI"FX229,1":ONERROR OFF:PROCdt|M
    6*KEY1 V%=stored_vga%:PROCdt|M
    7*KEY5 PROCstats|M
    8*KEY9 MOUSERECTANGLE 0,0,1278,960:REPEAT:MOUSEX,Y,Z:P.TAB(0,0)X,Y:UNTIL FALSE
    9*KEY3 length$=STR$~262144:from$=STR$~back_data%:file$="bgdata2":OSCLI"SAVE "+file$+" "+from$+" +"+length$
   10DIM input_disk_name% 256,mouse% 16
   11DIM pdrect% 16,pdrect2% 16,pdtrans% 16,pdplot% 8,ctrans% 256,paltab% 256
   12DIM input% 16,output% 16,scale% 16
   13DIM but%(40,4),but$(40)
   14DIM area%(10,4)
   15DIM points%(2,10)
   16DIM string% 128
   17DIM tables%(12,5)
   18DIM tables$(12),ta$(12)
   19DIM mov_tab%(5,5)
   20DIM firstn%(12)
   21DIM secondn%(12)
   22DIM rnd_picker1%(12)
   23DIM rnd_picker2%(12)
   24DIM rnd_number1%(12)
   25DIM rnd_number2%(12)
   26DIM presented%(12)
   27DIM x_answer%(12)
   28DIM count_down%(6)
   29DIM entry_areas%(5,4)
   30DIM ds%(32,2)
   31DIM corr%(30,3)
   32DIM scale% 16
   33DIM input% 16
   34DIM output% 16
   35DIM alx%(12),aly%(12)
   36DIM apx%(12),apy%(12)
   37DIM regroup%(12)
   38DIM link_code% 1024
   39stored_vga%=V%
   40vga%=V%
   41PROCpull_variables
   42addrs$=STR$~m_code1%
   43OSCLI"LOAD <TableA$Dir>.Pt1.GenCode "+addrs$
   44PROCassemble2
   45PROCfind_screens
   46PROCpull_gen_code_var
   47PROCpull_pac_code_var
   48sa1%=sprite_area1%
   49number_of%=10
   50timer_on%=1
   51style%=1
   52order%=2
   53PROCpalette2
   54VDU19,1,24,0,0,0
   55IFV%=1 VDU 23,17,7,6,8;16;0;
   56IFQ%=24 THEN
   57PROCpalette2
   58VDU19,1,24,0,0,0
   59PROCpaccy(2)
   60*FX113,1
   61*FX112,1
   62PROCtscore(512,360)
   63PROCspace(900,100,0,0)
   64Q%=25
   65ENDIF
   66IFQ%=25:V%=stored_vga%:CHAIN"<TableA$Dir>.Pt1.link"
   67IFQ%=30 THEN
   68PROCpalette2
   69VDU19,1,24,0,0,0
   70PROCpaccy(2)
   71*FX113,1
   72*FX112,1
   73PROCtscore(512,360)
   74PROCspace(900,100,0,0)
   75Q%=31
   76ENDIF
   77IFQ%=31:V%=stored_vga%:CHAIN"<TableA$Dir>.Pt1.link"
   78IFQ%=64 THEN
   79PROCpalette2
   80VDU19,1,24,0,0,0
   81PROCpaccy(1)
   82*FX113,1
   83*FX112,1
   84PROCtscore(512,360)
   85PROCspace(900,100,0,0)
   86PROCtext_box(100,110,1080,90,2,"You walk on to the next room.","","")
   87PROCspace(900,10,0,0)
   88Q%=65
   89ENDIF
   90IFQ%=65:V%=stored_vga%:CHAIN"<TableA$Dir>.Pt1.link"
   91IFQ%=75 THEN
   92PROCpalette2
   93VDU19,1,24,0,0,0
   94PROCpaccy(1)
   95*FX113,1
   96*FX112,1
   97PROCtscore(512,360)
   98PROCspace(900,100,0,0)
   99PROCtext_box(100,110,1080,90,2,"You walk on to the next room.","","")
  100PROCspace(900,10,0,0)
  101Q%=66
  102ENDIF
  103IFQ%=66:V%=stored_vga%:CHAIN"<TableA$Dir>.Pt1.link"
  104IFQ%=211 THEN
  105PROCpalette2
  106VDU19,1,24,0,0,0
  107PROCpaccy(RND(2))
  108*FX113,1
  109*FX112,1
  110PROCtscore(512,360)
  111PROCspace(900,100,0,0)
  112IFS%=1 PROCdt
  113CHAIN"<TableA$Dir>.Pt1.link"
  114ENDIF
  115DEFPROCset_up_screens(set%)
  116IFset%=9 THEN
  117des_sprite$="game1s10"
  118title$="Level 7.  The crusher.":ad$="Allow the top alien to chase you."
  119man_gridx%=14
  120man_gridy%=6
  121total_apples%=4
  122apx%(1)=12:apy%(1)=13
  123apx%(2)=12:apy%(2)=14
  124apx%(3)=13:apy%(3)=13
  125apx%(4)=13:apy%(4)=14
  126apx%(5)=13:apy%(5)=13
  127apx%(6)=13:apy%(6)=14
  128apx%(7)=13:apy%(7)=15
  129apx%(8)=13:apy%(8)=16
  130total_aliens%=2
  131alx%(1)=3:aly%(1)=0
  132alx%(2)=9:aly%(2)=17
  133alx%(3)=22:aly%(3)=0
  134time_area%=180
  135ENDIF
  136IFset%=7 THEN
  137des_sprite$="game1s9"
  138title$="Level 9.  Sand tunnels.":ad$="Move very quickly!"
  139man_gridx%=23
  140man_gridy%=2
  141total_apples%=4
  142apx%(1)=12:apy%(1)=15
  143apx%(2)=12:apy%(2)=16
  144apx%(3)=13:apy%(3)=15
  145apx%(4)=13:apy%(4)=16
  146apx%(5)=13:apy%(5)=13
  147apx%(6)=13:apy%(6)=14
  148apx%(7)=13:apy%(7)=15
  149apx%(8)=13:apy%(8)=16
  150total_aliens%=3
  151alx%(1)=3:aly%(1)=6
  152alx%(2)=9:aly%(2)=17
  153alx%(3)=15:aly%(3)=5
  154time_area%=110
  155ENDIF
  156IFset%=1 THEN
  157des_sprite$="game1s1"
  158title$="Level 1.  The store room.":ad$="Watch for the hidden dangers!"
  159man_gridx%=23
  160man_gridy%=2
  161total_apples%=2
  162apx%(1)=9:apy%(1)=8
  163apx%(2)=16:apy%(2)=8
  164apx%(3)=14:apy%(3)=8
  165apx%(4)=16:apy%(4)=8
  166apx%(5)=14:apy%(5)=13
  167apx%(6)=14:apy%(6)=14
  168apx%(7)=13:apy%(7)=13
  169apx%(8)=13:apy%(8)=14
  170total_aliens%=2
  171alx%(1)=5:aly%(1)=15
  172alx%(2)=7:aly%(2)=15
  173alx%(3)=7:aly%(3)=15
  174alx%(4)=17:aly%(4)=15
  175time_area%=120
  176ENDIF
  177IFset%=8 THEN
  178des_sprite$="game1s7"
  179title$="Level 7.  The chemical works.":ad$="Go through the top."
  180man_gridx%=23
  181man_gridy%=2
  182total_apples%=2
  183apx%(1)=8:apy%(1)=5
  184apx%(2)=17:apy%(2)=5
  185apx%(3)=11:apy%(3)=5
  186apx%(4)=12:apy%(4)=5
  187apx%(5)=13:apy%(5)=5
  188apx%(6)=14:apy%(6)=5
  189apx%(7)=15:apy%(7)=5
  190apx%(8)=16:apy%(8)=5
  191total_aliens%=3
  192alx%(1)=12:aly%(1)=15
  193alx%(2)=13:aly%(2)=15
  194alx%(3)=22:aly%(3)=7
  195alx%(3)=5:aly%(4)=7
  196time_area%=180
  197ENDIF
  198IFset%=2 THEN
  199des_sprite$="game1s3"
  200title$="Level 3. The hidden maze.":ad$="Use the secret passages."
  201man_gridx%=10
  202man_gridy%=10
  203total_apples%=2
  204apx%(1)=9:apy%(1)=15
  205apx%(2)=16:apy%(2)=15
  206apx%(3)=16:apy%(3)=15
  207apx%(4)=16:apy%(4)=16
  208apx%(5)=16:apy%(5)=15
  209apx%(6)=16:apy%(6)=16
  210apx%(7)=16:apy%(7)=17
  211apx%(8)=16:apy%(8)=18
  212total_aliens%=2
  213alx%(1)=2:aly%(1)=14
  214alx%(2)=22:aly%(2)=16
  215alx%(3)=23:aly%(3)=6
  216alx%(4)=17:aly%(4)=15
  217time_area%=120
  218ENDIF
  219IFset%=5 THEN
  220des_sprite$="game1s6"
  221title$="Level 6.  Danger tunnels.":ad$="Take the power cells from the bottom."
  222man_gridx%=19
  223man_gridy%=16
  224total_apples%=4
  225apx%(1)=9:apy%(1)=15
  226apx%(2)=9:apy%(2)=16
  227apx%(3)=16:apy%(3)=15
  228apx%(4)=16:apy%(4)=16
  229apx%(5)=16:apy%(5)=15
  230apx%(6)=16:apy%(6)=16
  231apx%(7)=16:apy%(7)=17
  232apx%(8)=16:apy%(8)=18
  233total_aliens%=4
  234alx%(1)=3:aly%(1)=9
  235alx%(2)=12:aly%(2)=2
  236alx%(3)=7:aly%(3)=18
  237alx%(4)=17:aly%(4)=18
  238time_area%=180
  239ENDIF
  240IFset%=3 THEN
  241des_sprite$="game1s2"
  242title$="Level 2.  The control centre.":ad$="Choose the correct path."
  243man_gridx%=1
  244man_gridy%=0
  245total_apples%=2
  246apx%(1)=13:apy%(1)=8
  247apx%(2)=13:apy%(2)=10
  248apx%(3)=13:apy%(3)=10
  249apx%(4)=11:apy%(4)=11
  250apx%(5)=15:apy%(5)=8
  251apx%(6)=15:apy%(6)=9
  252apx%(7)=15:apy%(7)=10
  253apx%(8)=15:apy%(8)=11
  254total_aliens%=4
  255alx%(1)=21:aly%(1)=7
  256alx%(2)=11:aly%(2)=12
  257alx%(3)=15:aly%(3)=6
  258alx%(4)=6:aly%(4)=18
  259time_area%=160
  260ENDIF
  261IFset%=4 THEN
  262des_sprite$="game1s4"
  263title$="Level 4.  The simple maze.":ad$="Don't get close to the aliens."
  264man_gridx%=4
  265man_gridy%=0
  266total_apples%=3
  267apx%(1)=9:apy%(1)=0
  268apx%(2)=3:apy%(2)=14
  269apx%(3)=7:apy%(3)=14
  270apx%(4)=3:apy%(4)=15
  271apx%(5)=7:apy%(5)=12
  272apx%(6)=7:apy%(6)=13
  273apx%(7)=7:apy%(7)=14
  274apx%(8)=7:apy%(8)=15
  275total_aliens%=5
  276alx%(1)=24:aly%(1)=10
  277alx%(2)=18:aly%(2)=13
  278alx%(3)=16:aly%(3)=7
  279alx%(4)=11:aly%(4)=8
  280alx%(5)=14:aly%(5)=11
  281time_area%=160
  282ENDIF
  283IFset%=6 THEN
  284des_sprite$="game1s5"
  285title$="Level 5.  Sorting area.":ad$="Take the right power cell first."
  286man_gridx%=4
  287man_gridy%=2
  288total_apples%=3
  289apx%(1)=9:apy%(1)=9
  290apx%(2)=12:apy%(2)=10
  291apx%(3)=15:apy%(3)=9
  292apx%(4)=7:apy%(4)=9
  293apx%(5)=9:apy%(5)=9
  294apx%(6)=11:apy%(6)=9
  295apx%(7)=13:apy%(7)=9
  296apx%(8)=15:apy%(8)=9
  297apx%(9)=17:apy%(9)=9
  298apx%(10)=19:apy%(10)=9
  299apx%(11)=21:apy%(11)=9
  300apx%(12)=23:apy%(12)=9
  301total_aliens%=5
  302alx%(1)=3:aly%(1)=18
  303alx%(2)=7:aly%(2)=18
  304alx%(3)=11:aly%(3)=18
  305alx%(4)=15:aly%(4)=18
  306alx%(5)=19:aly%(5)=18
  307time_area%=160
  308ENDIF
  309IFset%=10 THEN
  310des_sprite$="game1s8"
  311title$="Level 8.  Raining sand.":ad$="Hide from the aliens first."
  312man_gridx%=2
  313man_gridy%=2
  314total_apples%=3
  315apx%(1)=9:apy%(1)=15
  316apx%(2)=11:apy%(2)=15
  317apx%(3)=14:apy%(3)=15
  318apx%(4)=16:apy%(4)=15
  319total_aliens%=3
  320alx%(1)=10:aly%(1)=10
  321alx%(2)=12:aly%(2)=10
  322alx%(3)=14:aly%(3)=10
  323alx%(4)=15:aly%(4)=18
  324alx%(5)=19:aly%(5)=18
  325time_area%=160
  326ENDIF
  327IFset%=11 THEN
  328des_sprite$="game1s11"
  329title$="Introduction.":ad$=" "
  330man_gridx%=5
  331man_gridy%=17
  332total_apples%=4
  333apx%(1)=2:apy%(1)=14
  334apx%(2)=4:apy%(2)=14
  335apx%(3)=6:apy%(3)=14
  336apx%(4)=8:apy%(4)=14
  337total_aliens%=4
  338alx%(1)=2:aly%(1)=11
  339alx%(2)=4:aly%(2)=11
  340alx%(3)=6:aly%(3)=11
  341alx%(4)=8:aly%(4)=11
  342time_area%=120
  343ENDIF
  344IFset%=12 THEN
  345des_sprite$="game1s12"
  346title$="Level 5.  Sorting area.":ad$="Take the right power cell first."
  347man_gridx%=4
  348man_gridy%=2
  349total_apples%=3
  350apx%(1)=9:apy%(1)=9
  351apx%(2)=12:apy%(2)=10
  352apx%(3)=15:apy%(3)=9
  353total_aliens%=5
  354alx%(1)=3:aly%(1)=18
  355alx%(2)=7:aly%(2)=18
  356alx%(3)=11:aly%(3)=18
  357alx%(4)=15:aly%(4)=18
  358alx%(5)=19:aly%(5)=18
  359time_area%=160
  360ENDIF
  361tx2%=32:ty2%=860
  362m%=m_code2%
  363!(m%+&1C)=49
  364!(m%+&24)=0
  365!(m%+&28)=0
  366!(m%+&2C)=0
  367!(m%+&34)=0
  368?(m%+&40)=0
  369?(m%+&41)=0
  370?(m%+&30)=man_gridx%
  371?(m%+&31)=man_gridy%
  372?(m%+&32)=man_gridx%
  373?(m%+&33)=man_gridy%
  374!(m%+&C)=man_gridx%*48
  375!(m%+&10)=man_gridy%*48
  376!(m%+&38)=total_apples%
  377a%=m%+&100
  378FORf%=0 TO total_apples%-1
  379!(a%+(f%*28)+&0)=apx%(f%+1)*48
  380!(a%+(f%*28)+&4)=apy%(f%+1)*48
  381?(a%+(f%*28)+&14)=apx%(f%+1)
  382?(a%+(f%*28)+&15)=apy%(f%+1)
  383?(a%+(f%*28)+&16)=apx%(f%+1)
  384?(a%+(f%*28)+&17)=apy%(f%+1)
  385?(a%+(f%*28)+&18)=0
  386NEXT
  387!(m%+&20)=total_aliens%
  388a%=m%+&60
  389FORf%=0 TO total_aliens%-1
  390!(a%+(f%*32)+&0)=alx%(f%+1)*48
  391!(a%+(f%*32)+&4)=aly%(f%+1)*48
  392!(a%+(f%*32)+&8)=0
  393!(a%+(f%*32)+&C)=49
  394?(a%+(f%*32)+&19)=alx%(f%+1)
  395?(a%+(f%*32)+&1A)=aly%(f%+1)
  396?(a%+(f%*32)+&1B)=alx%(f%+1)
  397?(a%+(f%*32)+&1C)=aly%(f%+1)
  398?(a%+(f%*32)+&1D)=0
  399NEXT
  400ENDPROC
  401DEFPROCpaccy(style%)
  402VOICES 1
  403IFL%=0 THEN
  404PROCload_sprites("pac")
  405PROCmerge_sprites("numbers")
  406PROCmerge_sprites("numbuts")
  407PROCmerge_sprites("buttons")
  408ENDIF
  409total_got_fp=20
  410total_got%=20
  411total_possible%=20
  412IF Q%=75 OR Q%=64 THEN
  413total_got_fp=10
  414total_got%=10
  415total_possible%=10
  416ENDIF
  417IFL%=0 THEN
  418PROCset_up_screens(12)
  419*fx112,2
  420COLOUR 132:CLS
  421PROCrender_des_screen
  422PROCplot_sprite(0,144,1,1,1,1,"exit3")
  423fade$="fade"
  424PROCfade(0,960,4,0,1,1)
  425*fx112,1
  426area%=3
  427PROCcachesound("aliensnear",1)
  428FORf%=1 TO 80
  429PROCst_pause
  430IF FNnosound=TRUE:SOUND 1,&17F,1,1
  431A%=m_code2%
  432B%=sprite_area1%
  433IFV%=0 C%=screen_one%+(16*320)+(8*320)+area%
  434IFV%=1 C%=screen_one%+(8*320)+area%
  435D%=(320*240)*(V%+1)
  436IFV%=0:CALL rain%
  437IFV%=1:CALL rain_vga%
  438area%=area%+1:IF area%=4 area%=0
  439PROCen_pause(5)
  440NEXT
  441PROCplot_sprite(0,144,1,1,1,1,"73")
  442B%=screen_one%:C%=screen_two%:CALLsave_screen%
  443PROCtext_box(100,100,1080,160,2,"You have found yourself in the alien fuel store.","Do you require more instructions?","")
  444PROCdefine_buttons(2)
  445REPEAT:MOUSEmx%,my%,mc%:UNTILmc%=0
  446FORmsxf%=1TO10:MOUSEmx%,my%,mc%:NEXT
  447FORbn%=1 TO total_but%
  448PROCbut_off(but%(bn%,0),but%(bn%,1),but$(bn%))
  449NEXT
  450MOUSEON
  451REPEAT
  452PROCcheck_buttons(an_num%)
  453UNTILselected%>0
  454IFselected%=1 THEN
  455C%=screen_one%:B%=screen_two%:CALLsave_screen%
  456PROCpause(100)
  457PROCtext_box(100,160,1080,160,2,"The aliens store their yellow and blue fuel in","these rooms.  You must try to escape.","")
  458PROCspace(980,60,0,0)
  459C%=screen_one%:B%=screen_two%:CALLsave_screen%
  460PROCpause(100)
  461PROCtext_box(100,700,1080,160,2,"There are 'Code' boxes hidden in each room.","These will open the escape door.","")
  462PROCpause(200)
  463PROCspace(980,100,0,0)
  464PROCset_up_screens(11)
  465*fx112,1
  466COLOUR 132:CLS
  467PROCrender_des_screen
  468A%=m_code2%
  469B%=sprite_area1%
  470C%=screen_one%+(16*320)
  471IF?(m_code2%+&40)=0:CALL main%
  472A%=m_code2%
  473B%=sprite_area1%
  474C%=screen_one%+(16*320)
  475CALL alien%
  476A%=m_code2%
  477B%=sprite_area1%
  478C%=screen_one%+(16*320)
  479CALL apple%
  480PROCtext_box(600,760,560,140,2,"Use the arrow keys","to move.","")
  481PROCplot_sprite_masked(500,820,1,1,1,1,"arrow")
  482PROCspace(980,80,0,0)
  483PROCtext_box(600,650,560,90,2,"Find the coded boxes.","","")
  484PROCplot_sprite_masked(500,670,1,1,1,1,"arrow")
  485PROCspace(980,80,0,0)
  486PROCtext_box(600,518,560,90,2,"Avoid the Table Aliens!","","")
  487PROCplot_sprite_masked(500,530,1,1,1,1,"arrow")
  488PROCspace(980,80,0,0)
  489PROCtext_box(600,288,560,210,2,"You can move through","the fuel.  The aliens","cannot!")
  490PROCplot_sprite_masked(500,380,1,1,1,1,"arrow")
  491PROCspace(980,80,0,0)
  492PROCtext_box(600,60,560,210,2,"After decoding the","code boxes, use the","escape door.")
  493PROCplot_sprite_masked(500,140,1,1,1,1,"arrow")
  494PROCplot_sprite(0,144,1,1,1,1,"exit3")
  495PROCspace(980,64,0,0)
  496ENDIF
  497V%=stored_vga%
  498L%=1:RUN
  499ENDIF
  500PROCset_table_one
  501bom%=1
  502PROCcachesound("aliensnear",1)
  503switch%=0
  504IFV%=0 THEN
  505  sc1%=screen_one%+(16*320)
  506  sc2%=screen_one%+(16*320)+(8*320)
  507  rainy%=rain%
  508  amount_rain%=((320*240)*(1))-(8*320)
  509ENDIF
  510IFV%=1 THEN
  511  sc1%=screen_one%
  512  sc2%=screen_one%+(8*320)
  513  rainy%=rain_vga%
  514  amount_rain%=((320*240)*(2))-(8*320)
  515ENDIF
  516REM~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  517IF FALSE THEN
  518*fx112,1
  519VDU5
  520FORf%=0 TO 3 STEP 3
  521P%=link_code%
  522[:OPT f%
  523/register store
  524.store             /0
  525EQUD 0
  526.rain_area         /4
  527EQUD 0
  528.m_code2           /8
  529EQUD m_code2%
  530.sprite_area       /C
  531EQUD sprite_area1%
  532.screen_one        /10
  533EQUD sc1%
  534.screen_two        /14
  535EQUD sc2%
  536.amount_rain       /18
  537EQUD amount_rain%
  538.rain_add          /1C
  539EQUD 0
  540.main              /20
  541EQUD main%
  542.alien             /24
  543EQUD alien%
  544.apple             /28
  545EQUD apple%
  546.rainy             /2C
  547EQUD rainy%
  548.testing           /30
  549EQUD testing%
  550EQUD 0
  551
  552.link
  553/A% = rain_add%
  554ADR R10,store
  555STR R14,[R1,#&0]
  556STR R0,[R1,#&1C]
  557/main
  558LDR R0,[R10,#&8]
  559LDR R1,[R10,#&C]
  560LDR R2,[R10,#&14]
  561LDR R3,[R10,#&20]
  562LDRB R4,[R0,#&40]
  563CMP R4,#0:BLEQ
  564ENDIF
  565REM_______________________________
  566
  567REPEAT
  568set%=(O%*2)-(style%-1)
  569PROCset_up_screens(set%)
  570*fx112,1
  571COLOUR 132:CLS
  572PROCrender_des_screen
  573E%=37
  574count_d%=TIME:T$=""
  575PROCset_up_count_down(tx2%,ty2%,3,(100*time_area%)+100,1)
  576area%=3:escape%=0:got%=0:collect%=0
  577PROCplot_sprite(0,144,1,1,1,1,"73")
  578MOUSE OFF
  579REPEAT
  580ntime%=TIME
  581IF FNnosound=TRUE:SOUND 1,&17F,1,1
  582IFcount_d%+150<TIME THEN
  583 T$=FNprint_timer(tx2%,ty2%,3,1)
  584 count_d%=TIME
  585 IF set%=8 OR set%=10 THEN
  586  PROCplot_sprite(10*48,18*48,1,1,1,1,"bg16")
  587  PROCplot_sprite(12*48,18*48,1,1,1,1,"bg16")
  588  PROCplot_sprite(13*48,18*48,1,1,1,1,"bg16")
  589  PROCplot_sprite(15*48,18*48,1,1,1,1,"bg16")
  590 ENDIF
  591ENDIF
  592
  593 A%=m_code2%
  594 B%=sprite_area1%
  595 C%=sc1%
  596IF?(m_code2%+&40)=0:CALL main%
  597 B%=sprite_area1%
  598 C%=sc1%
  599CALL alien%
  600 B%=sprite_area1%
  601 C%=sc1%
  602CALL apple%
  603 B%=sprite_area1%
  604 C%=sc2%+area%
  605 D%=amount_rain%
  606CALL rainy%
  607 area%=area%+1
  608 IF area%=4 area%=0
  609REM  !screen_one%=&0
  610 A%=m_code2%
  611CALL testing%
  612
  613IF ?(m_code2%+&41)<>collect% THEN
  614 res_x%=!(m_code2%+&C)
  615 res_y%=!(m_code2%+&10)
  616 PROCtest_tables
  617 SOUND2,-15,20,&2000
  618 collect%=?(m_code2%+&41)
  619 bom%=bom%+1
  620ENDIF
  621IF?(m_code2%+&40)=1 THEN
  622 PROCcachesound("laser_door",1)
  623 SOUND 1,&17F,1,1
  624 got%=got%+1
  625ENDIF
  626IFescape%=0 AND (?(m_code2%+&41)=!(m_code2%+&38)) THEN
  627 escape%=1
  628ENDIF
  629IFescape%>0 THEN
  630 escape%=escape%+1
  631ENDIF
  632IFescape%=10 THEN
  633 escape%=-1
  634 PROCcachesound("computer1",1)
  635 FORf%=1 TO4
  636 PROCplot_sprite(0,144,1,1,1,1,"exit3")
  637 SOUND 1,&17F,1,1
  638 PROCpause(20)
  639 PROCplot_sprite(0,144,1,1,1,1,"exit2")
  640 PROCpause(20)
  641 NEXT
  642 PROCcachesound("aliensnear",1)
  643ENDIF
  644E%=0
  645IFntime%+3<TIME REPEAT:UNTILntime%+3<TIME
  646UNTIL !(m_code2%+&C)=0 OR got%>8 OR T$="0"
  647MOUSE ON
  648IF got%>8 THEN
  649PROCcachesound("wrong2",1)
  650ff%=1
  651FORf%=1 TO 20
  652PROCst_pause
  653IFf% MOD 4=0 SOUND1,-15,1,1
  654ff%=(ff%*-1)+3
  655PROCplot_sprite((!(m_code2%+&C))-48,(!(m_code2%+&10))-48,1,1,1,1,"gotyou"+STR$(ff%))
  656PROCen_pause(20)
  657NEXT
  658PROCtext_box(200,400,880,330,2,"The table aliens have captured you","again.  You have another chance","to escape.  Good luck.")
  659PROCspace(900,100,0,0)
  660V%=stored_vga%
  661J%=J%+1
  662RUN
  663ENDIF
  664IF T$="0" THEN
  665PROCpause(200)
  666PROCtext_box(200,400,880,330,2,"You have run out of time.","Try again and work quickly","this time.")
  667PROCspace(900,100,0,0)
  668V%=stored_vga%
  669J%=J%+1
  670RUN
  671ENDIF
  672UNTIL !(m_code2%+&C)=0
  673total_got%=total_got_fp-J%
  674IFtotal_got%<0:total_got%=0
  675ENDPROC
  676DEFPROCtext_box(st_x%,st_y%,length%,height%,just_type%,a$,b$,c$)
  677PROCbox2(st_x%,st_y%,length%,height%)
  678f_width1%=FNfont_string_w(a$)
  679f_width2%=FNfont_string_w(b$)
  680f_width3%=FNfont_string_w(c$)
  681f_height%=70
  682lines%=3:IFc$="":lines%=2:IFb$="":lines%=1
  683xpos1%=st_x%+((length%-(f_width1%/400))/2)
  684xpos2%=st_x%+((length%-(f_width2%/400))/2)
  685xpos3%=st_x%+((length%-(f_width3%/400))/2)
  686IFjust_type%=2 THEN
  687IFxpos1%<xpos2% xpos2%=xpos1% ELSE xpos1%=xpos2%
  688IFxpos2%<xpos3% xpos3%=xpos2% ELSE xpos2%=xpos3%
  689IFxpos3%<xpos1% xpos1%=xpos3% ELSE xpos3%=xpos1%
  690ENDIF
  691ypos1%=(st_y%-(f_height%/6)*4)+(height%-(lines%*f_height%))/2+(lines%*f_height%)
  692ypos2%=ypos1%-f_height%
  693ypos3%=ypos2%-f_height%
  694PROCpri(xpos1%,ypos1%,a$)
  695IFlines%>1 PROCpri(xpos2%,ypos2%,b$)
  696IFlines%>2 PROCpri(xpos3%,ypos3%,c$)
  697ENDPROC
  698DEFPROCpri(x%,y%,a$)
  699SYS"Font_FindFont",,"TABLOID.Medium",320,360,0,0 TO han%
  700SYS"Font_SetFontColours",0,0,1,2
  701VDU0,0,0,0,0,0,0,0
  702SYS"Font_Paint",,a$,16,x%,y%
  703SYS"Font_LoseFont",han%
  704ENDPROC
  705DEFFNfont_string_w(string$)
  706$string%=string$
  707SYS"Font_FindFont",,"TABLOID.Medium",320,360,0,0 TO han%
  708SYS"Font_StringWidth",0,string%,600000,480000,-1,80 TO r0,r1,f_width%
  709SYS"Font_LoseFont",han%
  710=f_width%
  711DEFFNfont_string_h(string$)
  712$string%=string$
  713SYS"Font_FindFont",,"TABLOID.Medium",320,360,0,0 TO han%
  714SYS"Font_StringWidth",0,string%,600000,480000,-1,80 TO r0,r1,r2,f_height
  715SYS"Font_LoseFont",han%
  716=f_height%
  717DEFPROCstart_anim(blank$)
  718SYS"OS_SpriteOp",&118,sprite_area1%,sel_sprite$ TO r0,r1,r2
  719width%=(!(r2+16)+1)*16:height%=(!(r2+20)+1)*(4*(vga%+1))
  720SYS"OS_SpriteOp",&110,sprite_area1%,blank$,0,an_x%,an_y%,an_x%+width%,an_y%+height%
  721PROCplot_sprite_masked(an_x%,an_y%,1,1,1,1,sel_sprite$)
  722an_xx%=an_x%:an_yy%=an_y%
  723ENDPROC
  724DEFPROCanim(blank$)
  725PROCplot_sprite_masked(an_xx%,an_yy%,1,1,1,1+vga%,blank$)
  726SYS"OS_SpriteOp",&110,sprite_area1%,blank$,0,an_x%,an_y%,an_x%+width%,an_y%+height%
  727PROCplot_sprite_masked(an_x%,an_y%,1,1,1,1,sel_sprite$)
  728an_xx%=an_x%:an_yy%=an_y%
  729ENDPROC
  730DEFPROCend_anim(blank$)
  731PROCplot_sprite_masked(an_xx%,an_yy%,1,1,1,1+vga%,blank$)
  732ENDPROC
  733DEFPROCpri2(x%,y%,a$)
  734SYS"Font_FindFont",,"TABLOID.Medium",320,360,0,0 TO han%
  735SYS"Font_SetFontColours",0,3,2,-2
  736VDU0,0,0,0,0,0,0,0
  737SYS"Font_Paint",,a$,16,x%,y%
  738SYS"Font_LoseFont",han%
  739ENDPROC
  740DEFPROCbox(bx%,by%,bxx%,byy%)
  741bxx%=bx%+bxx%:byy%=by%+byy%
  742VDU24,bx%;by%;bxx%;byy%;18,0,130,16
  743VDU24,bx%+4;by%+4;bxx%-4;byy%-4;18,0,129,16
  744VDU24,bx%+8;by%+8;bxx%-8;byy%-8;18,0,128,16,26
  745GCOL0,3:MOVE bx%+4,by%:PLOT5,bxx%,by%:PLOT5,bxx%,byy%-4
  746MOVE bx%+4,by%+2:PLOT5,bxx%-2,by%+2:PLOT5,bxx%-2,byy%-4
  747GCOL0,2:MOVE bx%+8,by%+4:PLOT5,bxx%-4,by%+4:PLOT5,bxx%-4,byy%-8
  748MOVE bx%+8,by%+6:PLOT5,bxx%-6,by%+6:PLOT5,bxx%-6,byy%-8
  749ENDPROC
  750DEFPROCbox2(bx%,by%,bxx%,byy%)
  751bxx%=bx%+bxx%:byy%=by%+byy%
  752VDU24,bx%-4;by%-4;bxx%+4;byy%+4;18,0,131,16
  753VDU24,bx%;by%;bxx%;byy%;18,0,128,16,26
  754ENDPROC
  755DEFPROCset_up_count_down(tx%,ty%,digits%,amount%,timer%)
  756PROCbox2(tx%,ty%,48*digits%,72)
  757count_down%(timer%)=TIME+amount%
  758ENDPROC
  759DEFFNprint_timer(tx%,ty%,digits%,timer%)
  760timer%=(count_down%(timer%)-TIME)/100
  761IFtimer%<0 timer%=0000:count_down%(timer%)=0
  762t$=STR$(timer%)
  763PROCplot_numbers(tx%+24,ty%+8,digits%,t$)
  764=t$
  765DEFPROCplot_numbers(x%,y%,digits%,a$)
  766IFLEN(a$)<digits% THEN
  767REPEAT
  768a$="d"+a$
  769UNTILLEN(a$)=digits%
  770ENDIF
  771FORpn%=1 TO LEN(a$)
  772PROCplot_sprite((x%-36)+(pn%*36),y%,1,1,1,1,MID$(a$,pn%,1))
  773NEXT
  774ENDPROC
  775DEFPROCset_pos_buttons(bx%,by%)
  776FORbf%=1TO total_but%
  777but%(bf%,0)=but%(bf%,0)+bx%
  778but%(bf%,1)=but%(bf%,1)+by%
  779NEXT
  780ENDPROC
  781DEFPROCpalette2
  782IFV%=0 VDU24,0;960;1278;1022;18,0,131,16,26
  783VDU19,1,24,136,136,136
  784LOCALp%,r%,g%,b%
  785RESTORE+4
  786FORp%=0TO15
  787READr%,g%,b%:COLOURp%,r%,g%,b%
  788NEXT:ENDPROC
  789DATA 255,255,255,187,187,187,136,136,136,0,0,0
  790DATA 0,0,175,0,0,255,0,204,255,255,255,0
  791DATA 204,204,0,221,0,0,136,17,0,0,153,0
  792DATA 0,187,34,0,255,0,255,221,170,0,0,175
  793DEFPROCassemble2
  794*FX113,1
  795*FX112,2
  796FORopt%=0 TO 3 STEP3
  797P%=m_code2%
  798[
  799OPT0
  800.move_bombs
  801EQUD main               
  802EQUD alien              
  803EQUD apple              
  804EQUD 720                
  805EQUD 672                
  806EQUD 0                  
  807EQUD 0                  
  808EQUD 49                 
  809EQUD 4                  
  810EQUD 0                  
  811EQUD 0                  
  812EQUD 0                  
  813EQUB 15                 
  814EQUB 14                 
  815EQUB 0                  
  816EQUB 0                  
  817EQUD 0                  
  818EQUD 4                  
  819EQUD testing            
  820EQUB 0                  
  821EQUB 0                  
  822EQUB 0                  
  823EQUB 0                  
  824EQUD rain               
  825EQUD rain_vga           
  826EQUD 0                  
  827EQUD 0                  
  828EQUD 0                  
  829EQUD 0                  
  830EQUD 0                  
  831.al
  832EQUD 288:EQUD 432:EQUD 0:EQUD 49:EQUD 0: EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 3:EQUB 6:EQUB 9:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0  
  833EQUD 432:EQUD 240:EQUD 0:EQUD 49:EQUD 0: EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 9:EQUB 9:EQUB 5:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0  
  834EQUD 288:EQUD 288:EQUD 0:EQUD 49:EQUD 0: EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 6:EQUB 6:EQUB 6:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0  
  835EQUD 240:EQUD 240:EQUD 0:EQUD 49:EQUD 0: EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 12:EQUB 5:EQUB 5:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0 
  836EQUD 0:EQUD 0:EQUD 0:EQUD 49:EQUD 0: EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0      
  837.ap
  838EQUD 720:EQUD 720:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 15:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
  839EQUD 720:EQUD 768:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 16:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
  840EQUD 720:EQUD 816:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 17:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
  841EQUD 720:EQUD 864:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 18:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
  842EQUD 720:EQUD 720:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 15:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
  843EQUD 720:EQUD 768:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 16:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
  844EQUD 720:EQUD 816:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 17:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
  845EQUD 720:EQUD 864:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 18:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
  846EQUD 720:EQUD 864:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 18:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
  847EQUD 720:EQUD 864:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 18:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
  848EQUD 720:EQUD 864:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 18:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
  849EQUD 720:EQUD 864:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 18:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
  850ALIGN
  851.testing
  852MOV R10,R0
  853STR R14,[R10,#&5C]
  854LDRB R1,[R10,#&30]     
  855LDRB R2,[R10,#&32]     
  856LDRB R5,[R10,#&31]     
  857LDRB R6,[R10,#&33]     
  858LDR R12,[R10,#&20]    
  859ADD R11,R10,#&60      
  860ADD R11,R11,#&19      
  861.test_alien_hit_loop
  862LDRB R3,[R11,#&0]     
  863LDRB R4,[R11,#&2]     
  864LDRB R7,[R11,#&1]     
  865LDRB R8,[R11,#&3]     
  866BL check_grid_co
  867CMP R9,#1             
  868BEQ man_hit_alien
  869ADD R11,R11,#32       
  870SUB R12,R12,#1
  871CMP R12,#0
  872BGT test_alien_hit_loop
  873B over_alien_hit
  874.man_hit_alien
  875STRB R9,[R10,#&40]     
  876.over_alien_hit
  877LDR R12,[R10,#&38]     
  878ADD R11,R10,#&100      
  879ADD R11,R11,#&14       
  880.test_apple_hit_loop
  881LDRB R3,[R11,#&0]     
  882LDRB R4,[R11,#&2]     
  883LDRB R7,[R11,#&1]     
  884LDRB R8,[R11,#&3]     
  885BL check_grid_co
  886CMP R9,#1             
  887BEQ man_hit_apple
  888ADD R11,R11,#28       
  889SUB R12,R12,#1
  890CMP R12,#0
  891BGT test_apple_hit_loop
  892B over_apple_hit
  893.man_hit_apple
  894STRB R9,[R11,#4]           
  895LDRB R9,[R10,#&41]
  896ADD R9,R9,#1               
  897STRB R9,[R10,#&41]
  898.over_apple_hit
  899LDR R0,[R10,#&5C]
  900MOV R15,R0
  901.temp_stack
  902EQUD 0
  903EQUD 0
  904EQUD 0
  905EQUD 0
  906.check_grid_co
  907ADR R9,temp_stack
  908STRB R1,[R9,#1]
  909STRB R2,[R9,#2]
  910STRB R3,[R9,#3]
  911STRB R4,[R9,#4]
  912STRB R5,[R9,#5]
  913STRB R6,[R9,#6]
  914STRB R7,[R9,#7]
  915STRB R8,[R9,#8]
  916MOV R9,#0
  917CMP R1,R3
  918MOVEQ R9,#1
  919CMP R1,R4
  920MOVEQ R9,#1
  921CMP R2,R3
  922MOVEQ R9,#1
  923CMP R2,R4
  924MOVEQ R9,#1
  925CMP R9,#0
  926BEQ no_x_match
  927MOV R9,#0
  928CMP R5,R7
  929MOVEQ R9,#1
  930CMP R5,R8
  931MOVEQ R9,#1
  932CMP R6,R7
  933MOVEQ R9,#1
  934CMP R6,R8
  935MOVEQ R9,#1
  936.no_x_match
  937MOV R15,R14
  938ALIGN
  939.rain
  940MOV R10,R0
  941STR R1,[R10,#&50]
  942STR R2,[R10,#&54]
  943STR R14,[R10,#&5C]
  944MOV R0,#0
  945MOV R9,#&77
  946MOV R6,#320
  947.rain_loop
  948LDRB R5,[R2,R3]
  949CMP R5,#&77
  950BNE over_rain
  951ADD R7,R3,R6
  952ADD R7,R7,R6
  953LDRB R8,[R2,R7]
  954CMP R8,#&44
  955BNE slide_right
  956STRB R8,[R2,R3]
  957STRB R9,[R2,R7]
  958B over_rain
  959.slide_right
  960SUB R7,R7,R6             
  961ADD R7,R7,#1             
  962LDRB R8,[R2,R7]
  963CMP R8,#&44
  964BNE slide_left
  965STRB R8,[R2,R3]
  966STRB R9,[R2,R7]
  967B over_rain
  968.slide_left
  969SUB R7,R7,#2         
  970LDRB R8,[R2,R7]
  971CMP R8,#&44
  972BNE over_rain
  973STRB R8,[R2,R3]
  974STRB R9,[R2,R7]
  975.over_rain
  976SUB R3,R3,#4
  977CMP R3,#8
  978BGT rain_loop
  979MOV R15,R14
  980.rain_vga
  981MOV R10,R0
  982STR R1,[R10,#&50]
  983STR R2,[R10,#&54]
  984STR R14,[R10,#&5C]
  985MOV R0,#239                 
  986MOV R9,#&77                 
  987MOV R6,R3
  988SUB R6,R6,#4
  989.rain_vertical_loop_vga      
  990SUB R6,R6,#640              
  991MOV R3,R6                   
  992SUB R11,R3,#320             
  993ADD R7,R3,#1280             
  994SUB R12,R7,#320             
  995MOV R1,#320                 
  996.rain_horizontal_loop_vga
  997SUB R3,R3,#4               
  998SUB R7,R7,#4               
  999SUB R11,R11,#4             
 1000SUB R12,R12,#4             
 1001LDRB R5,[R2,R3]
 1002CMP R5,#&77
 1003BNE over_rain_vga
 1004LDRB R8,[R2,R7]
 1005CMP R8,#&44
 1006BNE slide_right_vga
 1007STRB R8,[R2,R3]
 1008STRB R8,[R2,R11]
 1009STRB R9,[R2,R7]
 1010STRB R9,[R2,R12]
 1011B over_rain_vga
 1012.slide_right_vga
 1013SUB R7,R7,#640
 1014SUB R12,R12,#640           
 1015ADD R7,R7,#1               
 1016ADD R12,R12,#1             
 1017LDRB R8,[R2,R7]
 1018CMP R8,#&44
 1019BNE slide_left_vga
 1020STRB R8,[R2,R3]
 1021STRB R8,[R2,R11]
 1022STRB R9,[R2,R7]
 1023STRB R9,[R2,R12]
 1024SUB R7,R7,#1               
 1025SUB R12,R12,#1             
 1026B over_rain_vga_s
 1027.slide_left_vga
 1028SUB R7,R7,#2               
 1029SUB R12,R12,#2             
 1030LDRB R8,[R2,R7]
 1031CMP R8,#&44
 1032ADDNE R7,R7,#1             
 1033ADDNE R12,R12,#1           
 1034BNE over_rain_vga_s
 1035STRB R8,[R2,R3]
 1036STRB R8,[R2,R11]
 1037STRB R9,[R2,R7]
 1038STRB R9,[R2,R12]
 1039ADD R7,R7,#1               
 1040ADD R12,R12,#1             
 1041.over_rain_vga_s
 1042ADD R7,R7,#640             
 1043ADD R12,R12,#640
 1044.over_rain_vga
 1045SUB R1,R1,#4
 1046CMP R1,#0
 1047BNE rain_horizontal_loop_vga
 1048SUB R3,R3,#640           
 1049SUB R7,R7,#640           
 1050SUB R11,R11,#640         
 1051SUB R12,R12,#640         
 1052SUB R0,R0,#1
 1053CMP R0,#0
 1054BNE rain_vertical_loop_vga
 1055MOV R15,R14
 1056ALIGN
 1057.apple
 1058MOV R10,R0
 1059STR R1,[R10,#&50]
 1060STR R2,[R10,#&54]
 1061STR R14,[R10,#&5C]
 1062MOV R0,#0
 1063STR R0,[R10,#&34]      
 1064.main_apple_loop
 1065BL start_apple_move
 1066BL apple_moving_loop
 1067LDR R0,[R10,#&34]
 1068ADD R0,R0,#1
 1069STR R0,[R10,#&34]
 1070LDR R1,[R10,#&38]
 1071CMP R0,R1
 1072BLT main_apple_loop
 1073LDR R0,[R10,#&5C]
 1074MOV R15,R0
 1075.start_apple_move
 1076LDR R0,[R10,#&34]
 1077MOV R1,#28              
 1078MUL R2,R1,R0
 1079ADD R2,R2,#&100         
 1080ADD R11,R2,R10          
 1081LDRB R2,[R11,#&18]      
 1082CMP R2,#0
 1083BNE dead_apple
 1084LDR R2,[R11,#8]
 1085CMP R2,#0
 1086BNE out_of_apple_move
 1087MOV R4,#13              
 1088MOV R12,#1              
 1089MOV R5,#1
 1090MOV R6,#0
 1091MOV R3,#4
 1092LDR R8,[R11,#&0]        
 1093LDR R9,[R11,#&4]        
 1094LDR R0,[R10,#&54]      
 1095MOV R8,R8,LSR #2       
 1096MOV R1,#956
 1097MOV R2,#320
 1098SUB R9,R1,R9           
 1099MOV R9,R9,LSR #2-V%    
 1100MUL R7,R9,R2           
 1101ADD R7,R8,R7           
 1102ADD R7,R7,R0           
 1103ADD R7,R7,#320         
 1104ADD R7,R7,R6           
 1105MOV R1,#0
 1106.app_ch_u_l
 1107LDRB R2,[R7]
 1108CMP R2,#68             
 1109MOVNE R4,#0            
 1110ADD R7,R7,R12
 1111ADD R1,R1,R5
 1112CMP R1,#12             
 1113BNE app_ch_u_l
 1114CMP R4,#0
 1115BEQ out_of_apple_check
 1116LDRB R8,[R11,#&14]     
 1117LDRB R9,[R11,#&15]     
 1118SUB R9,R9,#1           
 1119LDRB R5,[R10,#&30]     
 1120LDRB R6,[R10,#&31]     
 1121LDRB R7,[R10,#&32]     
 1122LDRB R2,[R10,#&33]     
 1123MOV R0,#0              
 1124CMP R8,R5
 1125ADDNE R0,R0,#1
 1126CMP R8,R7
 1127ADDNE R0,R0,#1
 1128CMP R0,#2
 1129BEQ out_of_apple_check
 1130MOV R0,#0              
 1131CMP R9,R6
 1132ADDNE R0,R0,#1
 1133CMP R9,R2
 1134ADDNE R0,R0,#1
 1135CMP R0,#2
 1136MOVNE R4,#0             
 1137.out_of_apple_check
 1138STR R4,[R11,#&8]         
 1139.out_of_apple_move
 1140MOV R15,R14
 1141.dead_apple
 1142CMP R2,#8
 1143MOVEQ R15,R14           
 1144ADD R5,R2,#49
 1145ADD R2,R2,#1
 1146MOV R0,#0
 1147STR R0,[R11,#&14]       
 1148STRB R2,[R11,#&18]      
 1149ADR R6,apple_sprite
 1150STRB R5,[R6,#3]
 1151LDR R8,[R11,#&0]        
 1152LDR R9,[R11,#&4]        
 1153B dead_apple_plot_sprite
 1154.apple_moving_loop
 1155LDRB R2,[R11,#&18]     
 1156CMP R2,#0
 1157MOVNE R15,R14          
 1158LDR R4,[R11,#&8]        
 1159CMP R4,#0
 1160MOVEQ R7,#0
 1161SUBNE R4,R4,#1
 1162STR R4,[R11,#&8]
 1163MOVEQ R5,#49            
 1164BEQ out_apple_movement
 1165CMP R4,#12              
 1166MOVEQ R7,#0             
 1167MOVNE R7,#4
 1168BNE over_apple_first_move
 1169LDR R3,[R11,#&10]       
 1170LDRB R9,[R11,#&15]      
 1171SUB R9,R9,#1
 1172STRB R9,[R11,#&17]      
 1173.over_apple_first_move
 1174CMP R4,#0
 1175BNE over_apple_last_move
 1176LDRB R9,[R11,#&17]      
 1177STRB R9,[R11,#&15]      
 1178.over_apple_last_move
 1179MOV R5,#50              
 1180LDR R9,[R11,#&4]
 1181SUB R9,R9,R7
 1182MOV R5,#50
 1183STR R9,[R11,#&4]
 1184.out_apple_movement
 1185LDR R8,[R11,#0]
 1186LDR R9,[R11,#4]
 1187ADR R6,apple_sprite
 1188STRB R5,[R6,#3]
 1189.dead_apple_plot_sprite
 1190MOV R0,#&34
 1191ADD R0,R0,#&100          
 1192LDR R1,[R10,#&50]        
 1193ADR R2,apple_sprite      
 1194MOV R3,R8                
 1195MOV R4,R9                
 1196MOV R5,#&0               
 1197ADR R6,apple_scale       
 1198MOV R7,#0                
 1199SWI "OS_SpriteOp"
 1200MOV R15,R14
 1201.apple_sprite
 1202EQUS "app"
 1203EQUB 49
 1204EQUB 0
 1205EQUB 0
 1206EQUB 0
 1207ALIGN
 1208.apple_scale
 1209EQUD 1
 1210EQUD 1+V%
 1211EQUD 1
 1212EQUD 1
 1213.alien
 1214MOV R10,R0
 1215STR R1,[R10,#&50]
 1216STR R2,[R10,#&54]
 1217STR R14,[R10,#&5C]
 1218MOV R0,#0
 1219STR R0,[R10,#&24]      
 1220.main_alien_loop
 1221BL start_alien_move
 1222BL alien_moving_loop
 1223LDR R0,[R10,#&24]
 1224ADD R0,R0,#1
 1225STR R0,[R10,#&24]
 1226LDR R1,[R10,#&20]
 1227CMP R0,R1
 1228BLT main_alien_loop
 1229LDR R0,[R10,#&5C]
 1230MOV R15,R0
 1231.start_alien_move
 1232STR R14,[R10,#&58]
 1233LDR R0,[R10,#&24]
 1234MOV R1,#32              
 1235MUL R2,R1,R0
 1236ADD R2,R2,#&60          
 1237ADD R11,R2,R10          
 1238LDR R2,[R11,#8]
 1239CMP R2,#0
 1240BNE out_of_alien_move
 1241LDRB R0,[R11,#&14]     
 1242CMP R0,#8
 1243BGT set_up_rnd_sequence
 1244CMP R0,#1
 1245BEQ set_alien_horiz
 1246CMP R0,#3
 1247BEQ set_alien_horiz
 1248CMP R0,#5
 1249BEQ set_alien_horiz
 1250CMP R0,#7
 1251BEQ set_alien_horiz
 1252.set_alien_vert
 1253LDR R0,[R10,#&10]     
 1254LDR R9,[R11,#&4]      
 1255CMP R0,R9             
 1256BNE vert_not_same
 1257ADD R0,R0,#1
 1258STRB R0,[R11,#&14]    
 1259B out_of_alien_move
 1260.vert_not_same
 1261MOVLT R3,#4
 1262MOVGT R3,#3
 1263B set_up_a_check
 1264.set_alien_horiz
 1265LDR R0,[R10,#&C]      
 1266LDR R9,[R11,#&0]      
 1267CMP R0,R9             
 1268BNE horiz_not_same
 1269ADD R0,R0,#1
 1270STRB R0,[R11,#&14]    
 1271B out_of_alien_move
 1272.horiz_not_same
 1273MOVLT R3,#2
 1274MOVGT R3,#1
 1275B set_up_a_check
 1276.set_up_rnd_sequence
 1277ADR R1,random
 1278LDRB R0,[R11,#&18]
 1279ADD R0,R0,#1
 1280CMP R0,#30
 1281MOVGT R0,#0
 1282STRB R0,[R11,#&18]
 1283LDRB R3,[R1,R0]       
 1284LDRB R0,[R11,#&14]    
 1285ADD R0,R0,#1          
 1286CMP R0,#10            
 1287MOVGT R0,#1
 1288STRB R0,[R11,#&14]    
 1289.set_up_a_check
 1290MOV R4,#13            
 1291CMP R3,#3
 1292MOVLT R12,#320        
 1293MOVLT R5,#1
 1294MOVLT R6,#0
 1295CMP R3,#2
 1296MOVGT R12,#1          
 1297MOVGT R5,#1
 1298MOVGT R6,#0
 1299LDR R8,[R11,#&0]      
 1300LDR R9,[R11,#&4]      
 1301BL check_edges
 1302CMP R4,#0
 1303BNE alien_start_ok
 1304LDRB R0,[R11,#&14]    
 1305ADD R0,R0,#1          
 1306CMP R0,#10            
 1307MOVGT R0,#1
 1308STRB R0,[R11,#&14]    
 1309B alien_start_no
 1310.alien_start_ok
 1311STR R3,[R11,#&10]     
 1312STR R4,[R11,#&8]      
 1313MOV R0,#49
 1314STR R0,[R11,#&C]      
 1315.alien_start_no
 1316.out_of_alien_move
 1317LDR R0,[R10,#&58]
 1318MOV R15,R0
 1319.random
 1320EQUB 1:EQUB 1:EQUB 3:EQUB 3:EQUB 2:EQUB 2:EQUB 2:EQUB 2
 1321EQUB 3:EQUB 3:EQUB 1:EQUB 1:EQUB 3:EQUB 3:EQUB 2:EQUB 2
 1322EQUB 4:EQUB 4:EQUB 4:EQUB 4:EQUB 2:EQUB 2:EQUB 1:EQUB 1
 1323EQUB 1:EQUB 1:EQUB 3:EQUB 3:EQUB 1:EQUB 1:EQUB 4:EQUB 4
 1324.alien_moving_loop
 1325LDR R4,[R11,#&8]        
 1326CMP R4,#0
 1327SUBNE R4,R4,#1
 1328STR R4,[R11,#&8]
 1329BEQ out_alien_movement
 1330CMP R4,#12              
 1331MOVEQ R7,#0             
 1332MOVNE R7,#4
 1333BNE over_aliens_first_move   
 1334LDR R3,[R11,#&10]   
 1335LDRB R8,[R11,#&19]  
 1336LDRB R9,[R11,#&1A]  
 1337CMP R3,#1
 1338ADDEQ R8,R8,#1
 1339CMP R3,#2
 1340SUBEQ R8,R8,#1
 1341CMP R3,#3
 1342ADDEQ R9,R9,#1
 1343CMP R3,#4
 1344SUBEQ R9,R9,#1
 1345STRB R8,[R11,#&1B]  
 1346STRB R9,[R11,#&1C]  
 1347.over_aliens_first_move
 1348CMP R4,#0
 1349BNE over_aliens_last_move     
 1350LDRB R8,[R11,#&1B]  
 1351LDRB R9,[R11,#&1C]  
 1352STRB R8,[R11,#&19]  
 1353STRB R9,[R11,#&1A]  
 1354.over_aliens_last_move
 1355CMP R4,#0
 1356MOVEQ R4,#56              
 1357BEQ overload_alientype
 1358LDR R4,[R11,#&C]
 1359.overload_alientype
 1360ADD R4,R4,#1
 1361CMP R4,#57
 1362MOVEQ R4,#49
 1363STR R4,[R11,#&C]
 1364LDR R8,[R11,#&0]
 1365LDR R9,[R11,#&4]
 1366LDR R3,[R11,#&10]
 1367CMP R3,#1
 1368ADDEQ R8,R8,R7
 1369MOVEQ R5,#49              
 1370CMP R3,#2
 1371SUBEQ R8,R8,R7
 1372MOVEQ R5,#50
 1373CMP R3,#3
 1374ADDEQ R9,R9,R7
 1375MOVEQ R5,#51
 1376CMP R3,#4
 1377SUBEQ R9,R9,R7
 1378MOVEQ R5,#52
 1379ADR R6,alien_sprite
 1380STRB R5,[R6,#3]
 1381STRB R4,[R6,#4]
 1382STR R8,[R11,#&0]
 1383STR R9,[R11,#&4]
 1384MOV R0,#&34
 1385ADD R0,R0,#&100           
 1386LDR R1,[R10,#&50]         
 1387ADR R2,alien_sprite       
 1388MOV R3,R8                 
 1389MOV R4,R9                 
 1390MOV R5,#&0                
 1391ADR R6,alien_scale        
 1392MOV R7,#0                 
 1393SWI "OS_SpriteOp"
 1394.out_alien_movement
 1395MOV R15,R14
 1396.alien_sprite
 1397EQUS "ali"
 1398EQUB 49
 1399EQUB 0
 1400EQUB 0
 1401EQUB 0
 1402ALIGN
 1403.alien_scale
 1404EQUD 1
 1405EQUD 1+V%
 1406EQUD 1
 1407EQUD 1
 1408.check_edges
 1409LDR R0,[R10,#&54]     
 1410MOV R8,R8,LSR #2      
 1411MOV R1,#956
 1412MOV R2,#320
 1413SUB R9,R1,R9          
 1414MOV R9,R9,LSR #(2-V%) 
 1415MUL R7,R9,R2          
 1416ADD R7,R8,R7          
 1417ADD R7,R7,R0          
 1418MOV R0,#0             
 1419CMP R3,#1
 1420BNE over_right_check
 1421ADD R7,R7,#12         
 1422SUB R7,R7,R6          
 1423MOV R1,#0
 1424.ch_r_l
 1425LDRB R2,[R7]
 1426CMP R2,#&44           
 1427BEQ over_right_fail
 1428MOV R4,#0             
 1429.over_right_fail
 1430SUB R7,R7,R12
 1431ADD R1,R1,R5
 1432CMP R1,#12            
 1433BNE ch_r_l
 1434B over_other_checks
 1435.over_right_check
 1436CMP R3,#2
 1437BNE over_left_check
 1438SUB R7,R7,#1          
 1439SUB R7,R7,R6          
 1440MOV R1,#0
 1441.ch_l_l
 1442LDRB R2,[R7]
 1443CMP R2,#&44           
 1444BEQ over_left_fail
 1445MOV R4,#0             
 1446.over_left_fail
 1447SUB R7,R7,R12
 1448ADD R1,R1,R5
 1449CMP R1,#12            
 1450BNE ch_l_l
 1451B over_other_checks
 1452.over_left_check
 1453CMP R3,#3
 1454BNE over_up_check
 1455SUB R7,R7,#(3840*(V%+1))  
 1456ADD R7,R7,R6              
 1457MOV R1,#0
 1458.ch_t_l
 1459LDRB R2,[R7]
 1460CMP R2,#&44           
 1461BEQ over_up_fail
 1462MOV R4,#0             
 1463.over_up_fail
 1464ADD R7,R7,R12
 1465ADD R1,R1,R5
 1466CMP R1,#12            
 1467BNE ch_t_l
 1468B over_other_checks
 1469.over_up_check
 1470CMP R3,#4
 1471BNE over_down_check
 1472ADD R7,R7,#(320*(V%+1))
 1473ADD R7,R7,R6           
 1474MOV R1,#0
 1475.ch_u_l
 1476LDRB R2,[R7]
 1477CMP R2,#&44           
 1478BEQ over_down_fail
 1479CMP R2,#&FF           
 1480BEQ over_down_fail
 1481MOV R4,#0             
 1482.over_down_fail
 1483ADD R7,R7,R12
 1484ADD R1,R1,R5
 1485CMP R1,#12            
 1486BNE ch_u_l
 1487B over_other_checks
 1488.over_down_check
 1489.over_other_checks
 1490MOV R15,R14
 1491.main
 1492MOV R5,R4
 1493MOV R10,R0
 1494MOV R11,R1
 1495STR R2,[R10,#&54]
 1496STR R14,[R10,#&5C]
 1497BL key_entry_man
 1498BL man_moving_loop
 1499LDR R0,[R10,#&5C]
 1500MOV R15,R0
 1501.end_of_main_loop
 1502.key_entry_man
 1503STR R14,[R10,#&58]
 1504LDR R4,[R10,#&14]
 1505CMP R4,#0
 1506BNE no_new_movement
 1507LDR R8,[R10,#&C]
 1508LDR R9,[R10,#&10]
 1509MOV R4,#0                
 1510MOV R3,#0                
 1511CMP R5,#37               
 1512BEQ set_man_moving_right
 1513MOV R0,#&79
 1514MOV R1,#(121 EOR &80)
 1515SWI "OS_Byte"
 1516CMP R1,#&FF
 1517BNE over_man_move_right
 1518.set_man_moving_right
 1519MOV R3,#1
 1520MOV R4,#13
 1521MOV R12,#(640*(V%+1))
 1522MOV R5,#2
 1523MOV R6,#320               
 1524BL check_edges
 1525B over_man_move_down
 1526.over_man_move_right
 1527MOV R0,#&79
 1528MOV R1,#(25 EOR &80)
 1529SWI "OS_Byte"
 1530CMP R1,#&FF
 1531BNE over_man_move_left
 1532MOV R3,#2                
 1533MOV R4,#13               
 1534MOV R12,#(640*(V%+1))    
 1535MOV R5,#2                
 1536MOV R6,#0                
 1537BL check_edges
 1538B over_man_move_down
 1539.over_man_move_left
 1540MOV R0,#&79
 1541MOV R1,#(57 EOR &80)
 1542SWI "OS_Byte"
 1543CMP R1,#&FF
 1544BNE over_man_move_up
 1545MOV R3,#3
 1546MOV R4,#13
 1547MOV R12,#2
 1548MOV R5,#2
 1549MOV R6,#1                 
 1550BL check_edges
 1551B over_man_move_down
 1552.over_man_move_up
 1553MOV R0,#&79
 1554MOV R1,#(41 EOR &80)
 1555SWI "OS_Byte"
 1556CMP R1,#&FF
 1557BNE over_man_move_down
 1558MOV R3,#4
 1559MOV R4,#13
 1560MOV R12,#2
 1561MOV R5,#2
 1562MOV R6,#0                 
 1563BL check_edges
 1564.over_man_move_down
 1565STR R4,[R10,#&14]
 1566STR R3,[R10,#&18]
 1567.no_new_movement
 1568LDR R15,[R10,#&58]
 1569.man_moving_loop
 1570LDR R4,[R10,#&14]
 1571CMP R4,#0
 1572SUBNE R4,R4,#1
 1573STR R4,[R10,#&14]
 1574MOVEQ R4,#53
 1575MOVEQ R5,#53
 1576LDREQ R8,[R10,#&C]   
 1577LDREQ R9,[R10,#&10]  
 1578BEQ out_man_movement 
 1579CMP R4,#12          
 1580MOVEQ R7,#0         
 1581MOVNE R7,#4
 1582BNE over_mans_first_move
 1583LDR R3,[R10,#&18]   
 1584LDRB R8,[R10,#&30]  
 1585LDRB R9,[R10,#&31]  
 1586CMP R3,#1
 1587ADDEQ R8,R8,#1
 1588CMP R3,#2
 1589SUBEQ R8,R8,#1
 1590CMP R3,#3
 1591ADDEQ R9,R9,#1
 1592CMP R3,#4
 1593SUBEQ R9,R9,#1
 1594STRB R8,[R10,#&32]  
 1595STRB R9,[R10,#&33]  
 1596.over_mans_first_move
 1597CMP R4,#0
 1598MOVEQ R4,#56        
 1599BNE over_mans_last_move
 1600LDRB R8,[R10,#&32]  
 1601LDRB R9,[R10,#&33]  
 1602STRB R8,[R10,#&30]  
 1603STRB R9,[R10,#&31]  
 1604.over_mans_last_move
 1605BEQ overload_mantype
 1606LDR R4,[R10,#&1C]
 1607.overload_mantype
 1608ADD R4,R4,#1
 1609CMP R4,#57
 1610MOVEQ R4,#49
 1611STR R4,[R10,#&1C]
 1612LDR R8,[R10,#&C]
 1613LDR R9,[R10,#&10]
 1614LDR R3,[R10,#&18]
 1615CMP R3,#1
 1616ADDEQ R8,R8,R7
 1617MOVEQ R5,#49        
 1618CMP R3,#2
 1619SUBEQ R8,R8,R7
 1620MOVEQ R5,#50
 1621CMP R3,#3
 1622ADDEQ R9,R9,R7
 1623MOVEQ R5,#51
 1624CMP R3,#4
 1625SUBEQ R9,R9,R7
 1626MOVEQ R5,#52
 1627.out_man_movement
 1628ADR R6,man_sprite
 1629STRB R5,[R6,#3]
 1630STRB R4,[R6,#4]
 1631STR R8,[R10,#&C]
 1632STR R9,[R10,#&10]
 1633MOV R0,#&34
 1634ADD R0,R0,#&100           
 1635MOV R1,R11                
 1636ADR R2,man_sprite         
 1637MOV R3,R8                 
 1638MOV R4,R9                 
 1639MOV R5,#&8                
 1640ADR R6,man_scale          
 1641MOV R7,#0                 
 1642SWI "OS_SpriteOp"
 1643MOV R15,R14
 1644.man_sprite
 1645EQUS "man"
 1646EQUB 49
 1647EQUB 0
 1648EQUB 0
 1649EQUB 0
 1650ALIGN
 1651.man_scale
 1652EQUD 1
 1653EQUD 1+V%
 1654EQUD 1
 1655EQUD 1
 1656.end_of_code2
 1657]
 1658NEXT
 1659*FX112,1
 1660*FX113,1
 1661ENDPROC
 1662DEFPROCpull_pac_code_var
 1663main%=!(m_code2%+&0)
 1664alien%=!(m_code2%+&4)
 1665apple%=!(m_code2%+&8)
 1666rain%=!(m_code2%+&44)
 1667rain_vga%=!(m_code2%+&48)
 1668testing%=!(m_code2%+&3C)
 1669ENDPROC
 1670DEFPROCset_screen
 1671PROCclear:PROCclear_top
 1672IFsel_sprite$<>"" THEN
 1673VDU4:COLOUR3:PRINTTAB(56,1);sel_sprite$:VDU5
 1674SYS"OS_SpriteOp",&128,sprite_area1%,sel_sprite$ TO ,,,width%,height%
 1675PROCplot_sprite(1150,960,60,16,width%,height%,sel_sprite$)
 1676ENDIF
 1677VDU23,128,255,255,255,255,255,255,255,0
 1678FORf%=0TO15:f$=STR$(f%)+CHR$(128)+CHR$(128):MOVE64*f%,1022:GCOL0,f%:PRINT;f$:NEXT
 1679ENDPROC
 1680DEFFNcount_sprites
 1681SYS"OS_SpriteOp",&108,sa1% TO r0,r1,r2,r3
 1682=r3
 1683DEFFNsprite_data(name$)
 1684SYS"OS_SpriteOp",&118,sprite_area1%,name$ TO r0%,r1%,r2%
 1685sprite_one%=r2%
 1686=sprite_one%+44
 1687DEFFNsprite_size(sprite_area%)
 1688SYS"OS_SpriteOp",&118,sprite_area%,"s1" TO r0%,r1%,r2%
 1689sprite_one%=r2%
 1690=!(sprite_one%)
 1691DEFPROCtest_tables
 1692*fx113,1
 1693*fx112,1
 1694IFres_x%<640 THEN
 1695tab_x%=res_x%+100:tab_y%=res_y%
 1696ELSE
 1697tab_x%=res_x%-400:tab_y%=res_y%
 1698ENDIF
 1699SYS"OS_SpriteOp",&110,sprite_area1%,"tab_blank",0,20,20,840,180
 1700PROCbox2(28,28,800,140)
 1701PROCpri(60,112,"Missing number?")
 1702IF first_or_second%=1 THEN
 1703tables$=STR$(tables%(bom%,1))+"xk="+STR$(tables%(bom%,3))
 1704ELSE
 1705tables$="kx"+STR$(tables%(bom%,2))+"="+STR$(tables%(bom%,3))
 1706ENDIF
 1707PROCplot_numbers2(460,102,5,tables$)
 1708FORf%=0 TO 14:PROCplot_sprite(80+f%*46,32,1,1,1,1,STR$(f%)+"o"):NEXT
 1709PROCplot_sprite(80+1*46,32,1,1,1,1,STR$(1)+"n")
 1710pointer%=1:out%=0:go%=0
 1711REPEAT
 1712SYS"OS_Byte",&79,(25 EOR &80) TO r0,yes%
 1713IF yes%=&FF AND pointer%>1:pointer%=pointer%-1:go%=1
 1714SYS"OS_Byte",&79,(121 EOR &80) TO r0,yes%
 1715IF yes%=&FF AND pointer%<12:pointer%=pointer%+1:go%=1
 1716SYS"OS_Byte",&79,(73 EOR &80) TO r0,yes%
 1717IF yes%=&FF out%=1
 1718T$=FNprint_timer(tx2%,ty2%,3,1)
 1719IFgo%=1 THEN
 1720PROCcachesound("plop",1)
 1721SOUND 1,&17F,1,1
 1722PROCplot_sprite(80+pointer%*46,32,1,1,1,1,STR$(pointer%)+"n")
 1723PROCplot_sprite(80+(pointer%-1)*46,32,1,1,1,1,STR$(pointer%-1)+"o")
 1724PROCplot_sprite(80+(pointer%+1)*46,32,1,1,1,1,STR$(pointer%+1)+"o")
 1725PROCpause(20):go%=0
 1726ENDIF
 1727IFout%=1 THEN
 1728PROCcachesound("wrong2",1)
 1729IF first_or_second%=1 THEN
 1730IF pointer%<>tables%(bom%,2) out%=0:SOUND1,-15,1,1
 1731ELSE
 1732IF pointer%<>tables%(bom%,1) out%=0:SOUND1,-15,1,1
 1733ENDIF
 1734PROCpause(30)
 1735ENDIF
 1736UNTIL out%=1 OR T$="0"
 1737PROCcachesound("ok2",1)
 1738SOUND 1,&17F,1,1
 1739tables$=STR$(tables%(bom%,1))+"x"+STR$(tables%(bom%,2))+"="+STR$(tables%(bom%,3))
 1740PROCplot_numbers2(460,102,5,tables$)
 1741PROCpause(100)
 1742special%=special%-1
 1743!(scale%+0)=1
 1744!(scale%+4)=1
 1745!(scale%+8)=1
 1746!(scale%+12)=1
 1747SYS"OS_SpriteOp",&134,sa1%,"tab_blank",20,20,0,scale%,0
 1748PROCcachesound("aliensnear",1)
 1749ENDPROC
 1750DEFPROCintiger_icns
 1751FORf%=0 TO 12
 1752IF(U% AND (1<<f%))=(1<<f%) firstn%(f%)=1 ELSE firstn%(f%)=0
 1753NEXT
 1754FORf%=0 TO 12
 1755IF(W% AND (1<<f%))=(1<<f%) secondn%(f%)=1 ELSE secondn%(f%)=0
 1756NEXT
 1757IF(W% AND (1<<13))=(1<<13) mixedn%=1 ELSE mixedn%=0
 1758ENDPROC
 1759DEFPROCset_table_one
 1760PROCintiger_icns
 1761PROCclear_rnd1
 1762PROCclear_rnd2
 1763FORfind%=1 TO number_of%
 1764repeat_error%=0
 1765REPEAT
 1766repeat_error%=repeat_error%+1
 1767REPEAT
 1768rnd%=(RND(13)-1)
 1769UNTIL firstn%(rnd%)=1 AND rnd%>0
 1770UNTIL rnd_picker1%(rnd%)=0 OR repeat_error%=10
 1771rnd_picker1%(rnd%)=1
 1772rnd_number1%(find%)=rnd%
 1773repeat_error%=0
 1774REPEAT
 1775repeat_error%=repeat_error%+1
 1776REPEAT
 1777rnd%=(RND(13)-1)
 1778UNTIL secondn%(rnd%)=1 AND rnd%>0
 1779UNTIL rnd_picker2%(rnd%)=0 OR repeat_error%=10
 1780rnd_picker2%(rnd%)=1
 1781rnd_number2%(find%)=rnd%
 1782NEXT
 1783FORfind%=1 TO number_of%
 1784IFmixedn%=1 AND RND(100)>50 THEN
 1785a%=rnd_number1%(find%):b%=rnd_number2%(find%)
 1786rnd_number2%(find%)=a%:rnd_number1%(find%)=b%
 1787ENDIF
 1788tables%(find%,1)=rnd_number1%(find%)
 1789tables%(find%,2)=rnd_number2%(find%)
 1790tables%(find%,3)=rnd_number1%(find%)*rnd_number2%(find%)
 1791NEXT
 1792firn%=0
 1793secn%=0
 1794FORf%=1TO12
 1795IFsecondn%(f%)=1:secn%+=1
 1796NEXT
 1797FORf%=1TO12
 1798IFfirstn%(f%)=1:firn%+=1
 1799NEXT
 1800IFfirn%<secn% THEN first_or_second%=1 ELSE first_or_second%=2
 1801ENDPROC
 1802DEFPROCbox2(bx%,by%,bxx%,byy%)
 1803bxx%=bx%+bxx%:byy%=by%+byy%
 1804VDU24,bx%-4;by%-4;bxx%+4;byy%+4;18,0,131,16
 1805VDU24,bx%;by%;bxx%;byy%;18,0,128,16,26
 1806ENDPROC
 1807DEFPROCplot_numbers2(x%,y%,digits%,a$)
 1808FORpn%=1 TO LEN(a$)
 1809PROCplot_sprite((x%-36)+(pn%*42),y%,1,1,1,1,MID$(a$,pn%,1))
 1810NEXT
 1811ENDPROC
 1812DEFPROCclear_rnd1
 1813FORf%=0TO12
 1814rnd_picker1%(f%)=0
 1815NEXT
 1816ENDPROC
 1817DEFPROCclear_rnd2
 1818FORf%=0TO12
 1819rnd_picker2%(f%)=0
 1820NEXT
 1821ENDPROC
 1822DEFPROCdefine_buttons(set%)
 1823IFset%=1:total_but%=1:RESTORE1830
 1824IFset%=2:total_but%=2:RESTORE1831
 1825IFset%=3:total_but%=2:RESTORE1832
 1826FORbut_number%=1TOtotal_but%
 1827READbut%(but_number%,0),but%(but_number%,1),but%(but_number%,2),but%(but_number%,3),but%(but_number%,4),but$(but_number%)
 1828NEXT
 1829ENDPROC
 1830DATA 100,100,200,40,2,Go on
 1831DATA 680,20,200,60,2,Yes,920,20,200,60,2,No,1060,72,200,60,2,Correct,20,72,200,60,2,Next box
 1832DATA 820,430,190,60,2,Left,1044,430,190,60,2,Right
 1833DEFPROCbut_off(bx%,by%,text$)
 1834PROCplot_sprite(bx%,by%,1,1,1,1,"button1")
 1835left_margin%=(194-(LEN(text$)*16))/2
 1836VDU5
 1837GCOL0,3:MOVEbx%+left_margin%,by%+42:PRINTtext$
 1838ENDPROC
 1839DEFPROCbut_on(bx%,by%,text$)
 1840PROCplot_sprite(bx%,by%,1,1,1,1,"button2")
 1841left_margin%=(194-(LEN(text$)*16))/2
 1842VDU5
 1843GCOL0,3:MOVEbx%+left_margin%,by%+42:PRINTtext$
 1844ENDPROC
 1845DEFPROCcheck_buttons(an_num%)
 1846selected%=0
 1847VDU5
 1848PROCcheck_mouse(10)
 1849FORbut_n%=1 TO total_but%
 1850IFbut%(but_n%,4)<2:NEXT:ENDPROC
 1851IFmx%>but%(but_n%,0) AND mx%<(but%(but_n%,0)+but%(but_n%,2)) AND my%>but%(but_n%,1) AND my%<(but%(but_n%,1)+but%(but_n%,3))THEN
 1852IFmz%=4 THEN
 1853selected%=but_n%
 1854PROCbut_on(but%(but_n%,0),but%(but_n%,1),but$(but_n%))
 1855PROCpause(30)
 1856REPEAT:MOUSE x%,y%,z%:UNTIL z%=0
 1857PROCbut_off(but%(but_n%,0),but%(but_n%,1),but$(but_n%))
 1858ENDIF
 1859ENDIF
 1860IFan_num%>0:PROCsp_anim(an_num%)
 1861NEXT
 1862ENDPROC
 1863DEFPROCrender_des_screen
 1864main_sp_add%=FNsprite_data(des_sprite$)
 1865off%=0
 1866renx%=0:reny%=896
 1867FORdown%=864+48 TO 0 STEP -48
 1868FORacc%=0 TO 1248+48 STEP 48
 1869sprite%=?(main_sp_add%+off%)
 1870PROCplot_sprite(acc%,down%,1,1,1,1,STR$(sprite%))
 1871off%=off%+1
 1872NEXT
 1873NEXT
 1874ENDPROC
 1875DEFFNsprite_data(name$)
 1876SYS"OS_SpriteOp",&118,sprite_area1%,name$ TO r0%,r1%,r2%
 1877sprite_one%=r2%
 1878=sprite_one%+44
2�ADFS::HardDisc4.$.CURR_NEW.!Tables.Pt1.Paccy
!È› "<TableA$Dir>.Pt1.Library"
*FX225,1
*FX229,0

*FX220,17
�:�"FX229,1":� �:�dt|M
!*KEY1 V%=stored_vga%:PROCdt|M
*KEY5 PROCstats|M
Q*KEY9 MOUSERECTANGLE 0,0,1278,960:REPEAT:MOUSEX,Y,Z:P.TAB(0,0)X,Y:UNTIL FALSE
	m*KEY3 length$=STR$~262144:from$=STR$~back_data%:file$="bgdata2":OSCLI"SAVE "+file$+" "+from$+" +"+length$

$� input_disk_name% 256,mouse% 16
J� pdrect% 16,pdrect2% 16,pdtrans% 16,pdplot% 8,ctrans% 256,paltab% 256
$� input% 16,output% 16,scale% 16

� but%(40,4),but$(40)
� area%(10,4)
� points%(2,10)
� string% 128
� tables%(12,5)
� tables$(12),ta$(12)
� mov_tab%(5,5)
� firstn%(12)
� secondn%(12)
� rnd_picker1%(12)
� rnd_picker2%(12)
� rnd_number1%(12)
� rnd_number2%(12)
� presented%(12)
� x_answer%(12)
� count_down%(6)
� entry_areas%(5,4)
� ds%(32,2)
� corr%(30,3)
 � scale% 16
!� input% 16
"� output% 16
#� alx%(12),aly%(12)
$� apx%(12),apy%(12)
%� regroup%(12)
&� link_code% 1024
'stored_vga%=V%
(vga%=V%
)�pull_variables
*addrs$=�~m_code1%
+,�"LOAD <TableA$Dir>.Pt1.GenCode "+addrs$
,�assemble2
-�find_screens
.�pull_gen_code_var
/�pull_pac_code_var
0sa1%=sprite_area1%
1number_of%=10
2timer_on%=1
3style%=1
4order%=2
5
�palette2
6�19,1,24,0,0,0
7�V%=1 � 23,17,7,6,8;16;0;
8�Q%=24 �
9
�palette2
:�19,1,24,0,0,0
;
�paccy(2)
<*FX113,1
=*FX112,1
>�tscore(512,360)
?�space(900,100,0,0)
@	Q%=25
A�
B2�Q%=25:V%=stored_vga%:�"<TableA$Dir>.Pt1.link"
C�Q%=30 �
D
�palette2
E�19,1,24,0,0,0
F
�paccy(2)
G*FX113,1
H*FX112,1
I�tscore(512,360)
J�space(900,100,0,0)
K	Q%=31
L�
M2�Q%=31:V%=stored_vga%:�"<TableA$Dir>.Pt1.link"
N�Q%=64 �
O
�palette2
P�19,1,24,0,0,0
Q
�paccy(1)
R*FX113,1
S*FX112,1
T�tscore(512,360)
U�space(900,100,0,0)
VF�text_box(100,110,1080,90,2,"You walk on to the next room.","","")
W�space(900,10,0,0)
X	Q%=65
Y�
Z2�Q%=65:V%=stored_vga%:�"<TableA$Dir>.Pt1.link"
[�Q%=75 �
\
�palette2
]�19,1,24,0,0,0
^
�paccy(1)
_*FX113,1
`*FX112,1
a�tscore(512,360)
b�space(900,100,0,0)
cF�text_box(100,110,1080,90,2,"You walk on to the next room.","","")
d�space(900,10,0,0)
e	Q%=66
f�
g2�Q%=66:V%=stored_vga%:�"<TableA$Dir>.Pt1.link"
h
�Q%=211 �
i
�palette2
j�19,1,24,0,0,0
k�paccy(�(2))
l*FX113,1
m*FX112,1
n�tscore(512,360)
o�space(900,100,0,0)
p
�S%=1 �dt
q�"<TableA$Dir>.Pt1.link"
r�
s��set_up_screens(set%)
t
�set%=9 �
udes_sprite$="game1s10"
vKtitle$="Level 7.  The crusher.":ad$="Allow the top alien to chase you."
wman_gridx%=14
xman_gridy%=6
ytotal_apples%=4
zapx%(1)=12:apy%(1)=13
{apx%(2)=12:apy%(2)=14
|apx%(3)=13:apy%(3)=13
}apx%(4)=13:apy%(4)=14
~apx%(5)=13:apy%(5)=13
apx%(6)=13:apy%(6)=14
�apx%(7)=13:apy%(7)=15
�apx%(8)=13:apy%(8)=16
�total_aliens%=2
�alx%(1)=3:aly%(1)=0
�alx%(2)=9:aly%(2)=17
�alx%(3)=22:aly%(3)=0
�time_area%=180
��
�
�set%=7 �
�des_sprite$="game1s9"
�=title$="Level 9.  Sand tunnels.":ad$="Move very quickly!"
�man_gridx%=23
�man_gridy%=2
�total_apples%=4
�apx%(1)=12:apy%(1)=15
�apx%(2)=12:apy%(2)=16
�apx%(3)=13:apy%(3)=15
�apx%(4)=13:apy%(4)=16
�apx%(5)=13:apy%(5)=13
�apx%(6)=13:apy%(6)=14
�apx%(7)=13:apy%(7)=15
�apx%(8)=13:apy%(8)=16
�total_aliens%=3
�alx%(1)=3:aly%(1)=6
�alx%(2)=9:aly%(2)=17
�alx%(3)=15:aly%(3)=5
�time_area%=110
��
�
�set%=1 �
�des_sprite$="game1s1"
�Jtitle$="Level 1.  The store room.":ad$="Watch for the hidden dangers!"
�man_gridx%=23
�man_gridy%=2
�total_apples%=2
�apx%(1)=9:apy%(1)=8
�apx%(2)=16:apy%(2)=8
�apx%(3)=14:apy%(3)=8
�apx%(4)=16:apy%(4)=8
�apx%(5)=14:apy%(5)=13
�apx%(6)=14:apy%(6)=14
�apx%(7)=13:apy%(7)=13
�apx%(8)=13:apy%(8)=14
�total_aliens%=2
�alx%(1)=5:aly%(1)=15
�alx%(2)=7:aly%(2)=15
�alx%(3)=7:aly%(3)=15
�alx%(4)=17:aly%(4)=15
�time_area%=120
��
�
�set%=8 �
�des_sprite$="game1s7"
�Dtitle$="Level 7.  The chemical works.":ad$="Go through the top."
�man_gridx%=23
�man_gridy%=2
�total_apples%=2
�apx%(1)=8:apy%(1)=5
�apx%(2)=17:apy%(2)=5
�apx%(3)=11:apy%(3)=5
�apx%(4)=12:apy%(4)=5
�apx%(5)=13:apy%(5)=5
�apx%(6)=14:apy%(6)=5
�apx%(7)=15:apy%(7)=5
�apx%(8)=16:apy%(8)=5
�total_aliens%=3
�alx%(1)=12:aly%(1)=15
�alx%(2)=13:aly%(2)=15
�alx%(3)=22:aly%(3)=7
�alx%(3)=5:aly%(4)=7
�time_area%=180
��
�
�set%=2 �
�des_sprite$="game1s3"
�Etitle$="Level 3. The hidden maze.":ad$="Use the secret passages."
�man_gridx%=10
�man_gridy%=10
�total_apples%=2
�apx%(1)=9:apy%(1)=15
�apx%(2)=16:apy%(2)=15
�apx%(3)=16:apy%(3)=15
�apx%(4)=16:apy%(4)=16
�apx%(5)=16:apy%(5)=15
�apx%(6)=16:apy%(6)=16
�apx%(7)=16:apy%(7)=17
�apx%(8)=16:apy%(8)=18
�total_aliens%=2
�alx%(1)=2:aly%(1)=14
�alx%(2)=22:aly%(2)=16
�alx%(3)=23:aly%(3)=6
�alx%(4)=17:aly%(4)=15
�time_area%=120
��
�
�set%=5 �
�des_sprite$="game1s6"
�Rtitle$="Level 6.  Danger tunnels.":ad$="Take the power cells from the bottom."
�man_gridx%=19
�man_gridy%=16
�total_apples%=4
�apx%(1)=9:apy%(1)=15
�apx%(2)=9:apy%(2)=16
�apx%(3)=16:apy%(3)=15
�apx%(4)=16:apy%(4)=16
�apx%(5)=16:apy%(5)=15
�apx%(6)=16:apy%(6)=16
�apx%(7)=16:apy%(7)=17
�apx%(8)=16:apy%(8)=18
�total_aliens%=4
�alx%(1)=3:aly%(1)=9
�alx%(2)=12:aly%(2)=2
�alx%(3)=7:aly%(3)=18
�alx%(4)=17:aly%(4)=18
�time_area%=180
��
�
�set%=3 �
�des_sprite$="game1s2"
�Ititle$="Level 2.  The control centre.":ad$="Choose the correct path."
�man_gridx%=1
�man_gridy%=0
�total_apples%=2
�apx%(1)=13:apy%(1)=8
�apx%(2)=13:apy%(2)=10
�apx%(3)=13:apy%(3)=10
�apx%(4)=11:apy%(4)=11
�apx%(5)=15:apy%(5)=8
�apx%(6)=15:apy%(6)=9
�apx%(7)=15:apy%(7)=10
�apx%(8)=15:apy%(8)=11
�total_aliens%=4
�alx%(1)=21:aly%(1)=7
alx%(2)=11:aly%(2)=12
alx%(3)=15:aly%(3)=6
alx%(4)=6:aly%(4)=18
time_area%=160
�

�set%=4 �
des_sprite$="game1s4"
Ltitle$="Level 4.  The simple maze.":ad$="Don't get close to the aliens."
man_gridx%=4
	man_gridy%=0

total_apples%=3
apx%(1)=9:apy%(1)=0
apx%(2)=3:apy%(2)=14

apx%(3)=7:apy%(3)=14
apx%(4)=3:apy%(4)=15
apx%(5)=7:apy%(5)=12
apx%(6)=7:apy%(6)=13
apx%(7)=7:apy%(7)=14
apx%(8)=7:apy%(8)=15
total_aliens%=5
alx%(1)=24:aly%(1)=10
alx%(2)=18:aly%(2)=13
alx%(3)=16:aly%(3)=7
alx%(4)=11:aly%(4)=8
alx%(5)=14:aly%(5)=11
time_area%=160
�

�set%=6 �
des_sprite$="game1s5"
Ktitle$="Level 5.  Sorting area.":ad$="Take the right power cell first."
man_gridx%=4
man_gridy%=2
 total_apples%=3
!apx%(1)=9:apy%(1)=9
"apx%(2)=12:apy%(2)=10
#apx%(3)=15:apy%(3)=9
$apx%(4)=7:apy%(4)=9
%apx%(5)=9:apy%(5)=9
&apx%(6)=11:apy%(6)=9
'apx%(7)=13:apy%(7)=9
(apx%(8)=15:apy%(8)=9
)apx%(9)=17:apy%(9)=9
*apx%(10)=19:apy%(10)=9
+apx%(11)=21:apy%(11)=9
,apx%(12)=23:apy%(12)=9
-total_aliens%=5
.alx%(1)=3:aly%(1)=18
/alx%(2)=7:aly%(2)=18
0alx%(3)=11:aly%(3)=18
1alx%(4)=15:aly%(4)=18
2alx%(5)=19:aly%(5)=18
3time_area%=160
4�
5�set%=10 �
6des_sprite$="game1s8"
7Ftitle$="Level 8.  Raining sand.":ad$="Hide from the aliens first."
8man_gridx%=2
9man_gridy%=2
:total_apples%=3
;apx%(1)=9:apy%(1)=15
<apx%(2)=11:apy%(2)=15
=apx%(3)=14:apy%(3)=15
>apx%(4)=16:apy%(4)=15
?total_aliens%=3
@alx%(1)=10:aly%(1)=10
Aalx%(2)=12:aly%(2)=10
Balx%(3)=14:aly%(3)=10
Calx%(4)=15:aly%(4)=18
Dalx%(5)=19:aly%(5)=18
Etime_area%=160
F�
G�set%=11 �
Hdes_sprite$="game1s11"
I"title$="Introduction.":ad$=" "
Jman_gridx%=5
Kman_gridy%=17
Ltotal_apples%=4
Mapx%(1)=2:apy%(1)=14
Napx%(2)=4:apy%(2)=14
Oapx%(3)=6:apy%(3)=14
Papx%(4)=8:apy%(4)=14
Qtotal_aliens%=4
Ralx%(1)=2:aly%(1)=11
Salx%(2)=4:aly%(2)=11
Talx%(3)=6:aly%(3)=11
Ualx%(4)=8:aly%(4)=11
Vtime_area%=120
W�
X�set%=12 �
Ydes_sprite$="game1s12"
ZKtitle$="Level 5.  Sorting area.":ad$="Take the right power cell first."
[man_gridx%=4
\man_gridy%=2
]total_apples%=3
^apx%(1)=9:apy%(1)=9
_apx%(2)=12:apy%(2)=10
`apx%(3)=15:apy%(3)=9
atotal_aliens%=5
balx%(1)=3:aly%(1)=18
calx%(2)=7:aly%(2)=18
dalx%(3)=11:aly%(3)=18
ealx%(4)=15:aly%(4)=18
falx%(5)=19:aly%(5)=18
gtime_area%=160
h�
itx2%=32:ty2%=860
jm%=m_code2%
k!(m%+&1C)=49
l!(m%+&24)=0
m!(m%+&28)=0
n!(m%+&2C)=0
o!(m%+&34)=0
p?(m%+&40)=0
q?(m%+&41)=0
r?(m%+&30)=man_gridx%
s?(m%+&31)=man_gridy%
t?(m%+&32)=man_gridx%
u?(m%+&33)=man_gridy%
v!(m%+&C)=man_gridx%*48
w!(m%+&10)=man_gridy%*48
x!(m%+&38)=total_apples%
ya%=m%+&100
z�f%=0 � total_apples%-1
{"!(a%+(f%*28)+&0)=apx%(f%+1)*48
|"!(a%+(f%*28)+&4)=apy%(f%+1)*48
} ?(a%+(f%*28)+&14)=apx%(f%+1)
~ ?(a%+(f%*28)+&15)=apy%(f%+1)
 ?(a%+(f%*28)+&16)=apx%(f%+1)
� ?(a%+(f%*28)+&17)=apy%(f%+1)
�?(a%+(f%*28)+&18)=0
��
�!(m%+&20)=total_aliens%
�
a%=m%+&60
��f%=0 � total_aliens%-1
�"!(a%+(f%*32)+&0)=alx%(f%+1)*48
�"!(a%+(f%*32)+&4)=aly%(f%+1)*48
�!(a%+(f%*32)+&8)=0
�!(a%+(f%*32)+&C)=49
� ?(a%+(f%*32)+&19)=alx%(f%+1)
� ?(a%+(f%*32)+&1A)=aly%(f%+1)
� ?(a%+(f%*32)+&1B)=alx%(f%+1)
� ?(a%+(f%*32)+&1C)=aly%(f%+1)
�?(a%+(f%*32)+&1D)=0
��
��
���paccy(style%)
�Ƞ 1
��L%=0 �
��load_sprites("pac")
��merge_sprites("numbers")
��merge_sprites("numbuts")
��merge_sprites("buttons")
��
�total_got_fp=20
�total_got%=20
�total_possible%=20
�� Q%=75 � Q%=64 �
�total_got_fp=10
�total_got%=10
�total_possible%=10
��
��L%=0 �
��set_up_screens(12)
�*fx112,2
�� 132:�
��render_des_screen
�'�plot_sprite(0,144,1,1,1,1,"exit3")
�fade$="fade"
��fade(0,960,4,0,1,1)
�*fx112,1
�area%=3
��cachesound("aliensnear",1)
��f%=1 � 80
�
�st_pause
�� �nosound=�:� 1,&17F,1,1
�A%=m_code2%
�B%=sprite_area1%
�/�V%=0 C%=screen_one%+(16*320)+(8*320)+area%
�&�V%=1 C%=screen_one%+(8*320)+area%
�D%=(320*240)*(V%+1)
��V%=0:� rain%
��V%=1:� rain_vga%
�#area%=area%+1:� area%=4 area%=0
��en_pause(5)
��
�$�plot_sprite(0,144,1,1,1,1,"73")
�/B%=screen_one%:C%=screen_two%:�save_screen%
�{�text_box(100,100,1080,160,2,"You have found yourself in the alien fuel store.","Do you require more instructions?","")
��define_buttons(2)
��:ȗmx%,my%,mc%:�mc%=0
��msxf%=1�10:ȗmx%,my%,mc%:�
��bn%=1 � total_but%
�/�but_off(but%(bn%,0),but%(bn%,1),but$(bn%))
��
�ȗ�
��
��check_buttons(an_num%)
��selected%>0
��selected%=1 �
�/C%=screen_one%:B%=screen_two%:�save_screen%
��pause(100)
�}�text_box(100,160,1080,160,2,"The aliens store their yellow and blue fuel in","these rooms.  You must try to escape.","")
��space(980,60,0,0)
�/C%=screen_one%:B%=screen_two%:�save_screen%
��pause(100)
�u�text_box(100,700,1080,160,2,"There are 'Code' boxes hidden in each room.","These will open the escape door.","")
��pause(200)
��space(980,100,0,0)
��set_up_screens(11)
�*fx112,1
�� 132:�
��render_des_screen
�A%=m_code2%
�B%=sprite_area1%
�C%=screen_one%+(16*320)
��?(m_code2%+&40)=0:� main%
�A%=m_code2%
�B%=sprite_area1%
�C%=screen_one%+(16*320)
�� alien%
�A%=m_code2%
�B%=sprite_area1%
�C%=screen_one%+(16*320)
�� apple%
�C�text_box(600,760,560,140,2,"Use the arrow keys","to move.","")
�0�plot_sprite_masked(500,820,1,1,1,1,"arrow")
��space(980,80,0,0)
�=�text_box(600,650,560,90,2,"Find the coded boxes.","","")
�0�plot_sprite_masked(500,670,1,1,1,1,"arrow")
��space(980,80,0,0)
�?�text_box(600,518,560,90,2,"Avoid the Table Aliens!","","")
�0�plot_sprite_masked(500,530,1,1,1,1,"arrow")
��space(980,80,0,0)
�Y�text_box(600,288,560,210,2,"You can move through","the fuel.  The aliens","cannot!")
�0�plot_sprite_masked(500,380,1,1,1,1,"arrow")
��space(980,80,0,0)
�Y�text_box(600,60,560,210,2,"After decoding the","code boxes, use the","escape door.")
�0�plot_sprite_masked(500,140,1,1,1,1,"arrow")
�'�plot_sprite(0,144,1,1,1,1,"exit3")
��space(980,64,0,0)
��
�V%=stored_vga%
�
L%=1:�
��
��set_table_one
�
bom%=1
��cachesound("aliensnear",1)
�
switch%=0
��V%=0 �
�  sc1%=screen_one%+(16*320)
�'  sc2%=screen_one%+(16*320)+(8*320)
�  rainy%=rain%
�*  amount_rain%=((320*240)*(1))-(8*320)
��
��V%=1 �
�  sc1%=screen_one%
  sc2%=screen_one%+(8*320)
  rainy%=rain_vga%
*  amount_rain%=((320*240)*(2))-(8*320)
�
$�~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	� � �
*fx112,1
�5
�f%=0 � 3 � 3
	P%=link_code%

[:OPT f%
/register store
.store             /0

EQUD 0
.rain_area         /4

EQUD 0
.m_code2           /8
EQUD m_code2%
.sprite_area       /C
EQUD sprite_area1%
.screen_one        /10

EQUD sc1%
.screen_two        /14

EQUD sc2%
.amount_rain       /18
EQUD amount_rain%
.rain_add          /1C

EQUD 0
.main              /20
EQUD main%
.alien             /24
EQUD alien%
 .apple             /28
!EQUD apple%
".rainy             /2C
#EQUD rainy%
$.testing           /30
%EQUD testing%
&
EQUD 0
'
(	.link
)/A% = rain_add%
*ADR R10,store
+STR R14,[R1,#&0]
,STR R0,[R1,#&1C]
-	/main
.LDR R0,[R10,#&8]
/LDR R1,[R10,#&C]
0LDR R2,[R10,#&14]
1LDR R3,[R10,#&20]
2LDRB R4,[R0,#&40]
3CMP R4,#0:BLEQ
4�
5$�_______________________________
6
7�
8set%=(O%*2)-(style%-1)
9�set_up_screens(set%)
:*fx112,1
;� 132:�
<�render_des_screen
=	E%=37
>count_d%=�:T$=""
?:�set_up_count_down(tx2%,ty2%,3,(100*time_area%)+100,1)
@'area%=3:escape%=0:got%=0:collect%=0
A$�plot_sprite(0,144,1,1,1,1,"73")
Bȗ �
C�
Dntime%=�
E� �nosound=�:� 1,&17F,1,1
F�count_d%+150<� �
G# T$=�print_timer(tx2%,ty2%,3,1)
H count_d%=�
I � set%=8 � set%=10 �
J.  �plot_sprite(10*48,18*48,1,1,1,1,"bg16")
K.  �plot_sprite(12*48,18*48,1,1,1,1,"bg16")
L.  �plot_sprite(13*48,18*48,1,1,1,1,"bg16")
M.  �plot_sprite(15*48,18*48,1,1,1,1,"bg16")
N �
O�
P
Q A%=m_code2%
R B%=sprite_area1%
S C%=sc1%
T�?(m_code2%+&40)=0:� main%
U B%=sprite_area1%
V C%=sc1%
W� alien%
X B%=sprite_area1%
Y C%=sc1%
Z� apple%
[ B%=sprite_area1%
\ C%=sc2%+area%
] D%=amount_rain%
^� rainy%
_ area%=area%+1
` � area%=4 area%=0
a�  !screen_one%=&0
b A%=m_code2%
c� testing%
d
e!� ?(m_code2%+&41)<>collect% �
f res_x%=!(m_code2%+&C)
g res_y%=!(m_code2%+&10)
h �test_tables
i �2,-15,20,&2000
j collect%=?(m_code2%+&41)
k bom%=bom%+1
l�
m�?(m_code2%+&40)=1 �
n  �cachesound("laser_door",1)
o � 1,&17F,1,1
p got%=got%+1
q�
r4�escape%=0 � (?(m_code2%+&41)=!(m_code2%+&38)) �
s escape%=1
t�
u�escape%>0 �
v escape%=escape%+1
w�
x�escape%=10 �
y escape%=-1
z �cachesound("computer1",1)
{
 �f%=1 �4
|( �plot_sprite(0,144,1,1,1,1,"exit3")
} � 1,&17F,1,1
~ �pause(20)
( �plot_sprite(0,144,1,1,1,1,"exit2")
� �pause(20)
� �
�  �cachesound("aliensnear",1)
��
�E%=0
��ntime%+3<� �:�ntime%+3<�
�(� !(m_code2%+&C)=0 � got%>8 � T$="0"
�ȗ �
�� got%>8 �
��cachesound("wrong2",1)
�	ff%=1
��f%=1 � 20
�
�st_pause
��f% � 4=0 �1,-15,1,1
�ff%=(ff%*-1)+3
�R�plot_sprite((!(m_code2%+&C))-48,(!(m_code2%+&10))-48,1,1,1,1,"gotyou"+�(ff%))
��en_pause(20)
��
���text_box(200,400,880,330,2,"The table aliens have captured you","again.  You have another chance","to escape.  Good luck.")
��space(900,100,0,0)
�V%=stored_vga%
�J%=J%+1
��
��
�� T$="0" �
��pause(200)
�f�text_box(200,400,880,330,2,"You have run out of time.","Try again and work quickly","this time.")
��space(900,100,0,0)
�V%=stored_vga%
�J%=J%+1
��
��
�� !(m_code2%+&C)=0
�total_got%=total_got_fp-J%
��total_got%<0:total_got%=0
��
�?��text_box(st_x%,st_y%,length%,height%,just_type%,a$,b$,c$)
�&�box2(st_x%,st_y%,length%,height%)
� f_width1%=�font_string_w(a$)
� f_width2%=�font_string_w(b$)
� f_width3%=�font_string_w(c$)
�f_height%=70
�,lines%=3:�c$="":lines%=2:�b$="":lines%=1
�.xpos1%=st_x%+((length%-(f_width1%/400))/2)
�.xpos2%=st_x%+((length%-(f_width2%/400))/2)
�.xpos3%=st_x%+((length%-(f_width3%/400))/2)
��just_type%=2 �
�0�xpos1%<xpos2% xpos2%=xpos1% � xpos1%=xpos2%
�0�xpos2%<xpos3% xpos3%=xpos2% � xpos2%=xpos3%
�0�xpos3%<xpos1% xpos1%=xpos3% � xpos3%=xpos1%
��
�Typos1%=(st_y%-(f_height%/6)*4)+(height%-(lines%*f_height%))/2+(lines%*f_height%)
�ypos2%=ypos1%-f_height%
�ypos3%=ypos2%-f_height%
��pri(xpos1%,ypos1%,a$)
�$�lines%>1 �pri(xpos2%,ypos2%,b$)
�$�lines%>2 �pri(xpos3%,ypos3%,c$)
��
���pri(x%,y%,a$)
�:ș"Font_FindFont",,"TABLOID.Medium",320,360,0,0 � han%
�#ș"Font_SetFontColours",0,0,1,2
��0,0,0,0,0,0,0,0
�ș"Font_Paint",,a$,16,x%,y%
�ș"Font_LoseFont",han%
��
�ݤfont_string_w(string$)
�$string%=string$
�:ș"Font_FindFont",,"TABLOID.Medium",320,360,0,0 � han%
�Gș"Font_StringWidth",0,string%,600000,480000,-1,80 � r0,r1,f_width%
�ș"Font_LoseFont",han%
�
=f_width%
�ݤfont_string_h(string$)
�$string%=string$
�:ș"Font_FindFont",,"TABLOID.Medium",320,360,0,0 � han%
�Jș"Font_StringWidth",0,string%,600000,480000,-1,80 � r0,r1,r2,f_height
�ș"Font_LoseFont",han%
�=f_height%
���start_anim(blank$)
�=ș"OS_SpriteOp",&118,sprite_area1%,sel_sprite$ � r0,r1,r2
�<width%=(!(r2+16)+1)*16:height%=(!(r2+20)+1)*(4*(vga%+1))
�Vș"OS_SpriteOp",&110,sprite_area1%,blank$,0,an_x%,an_y%,an_x%+width%,an_y%+height%
�8�plot_sprite_masked(an_x%,an_y%,1,1,1,1,sel_sprite$)
�an_xx%=an_x%:an_yy%=an_y%
��
���anim(blank$)
�:�plot_sprite_masked(an_xx%,an_yy%,1,1,1,1+vga%,blank$)
�Vș"OS_SpriteOp",&110,sprite_area1%,blank$,0,an_x%,an_y%,an_x%+width%,an_y%+height%
�8�plot_sprite_masked(an_x%,an_y%,1,1,1,1,sel_sprite$)
�an_xx%=an_x%:an_yy%=an_y%
��
���end_anim(blank$)
�:�plot_sprite_masked(an_xx%,an_yy%,1,1,1,1+vga%,blank$)
��
���pri2(x%,y%,a$)
�:ș"Font_FindFont",,"TABLOID.Medium",320,360,0,0 � han%
�$ș"Font_SetFontColours",0,3,2,-2
��0,0,0,0,0,0,0,0
�ș"Font_Paint",,a$,16,x%,y%
�ș"Font_LoseFont",han%
��
���box(bx%,by%,bxx%,byy%)
�bxx%=bx%+bxx%:byy%=by%+byy%
�%�24,bx%;by%;bxx%;byy%;18,0,130,16
�-�24,bx%+4;by%+4;bxx%-4;byy%-4;18,0,129,16
�0�24,bx%+8;by%+8;bxx%-8;byy%-8;18,0,128,16,26
�/�0,3:� bx%+4,by%:�5,bxx%,by%:�5,bxx%,byy%-4
�2� bx%+4,by%+2:�5,bxx%-2,by%+2:�5,bxx%-2,byy%-4
�7�0,2:� bx%+8,by%+4:�5,bxx%-4,by%+4:�5,bxx%-4,byy%-8
�2� bx%+8,by%+6:�5,bxx%-6,by%+6:�5,bxx%-6,byy%-8
��
���box2(bx%,by%,bxx%,byy%)
�bxx%=bx%+bxx%:byy%=by%+byy%
�-�24,bx%-4;by%-4;bxx%+4;byy%+4;18,0,131,16
�(�24,bx%;by%;bxx%;byy%;18,0,128,16,26
��
�7��set_up_count_down(tx%,ty%,digits%,amount%,timer%)
� �box2(tx%,ty%,48*digits%,72)
�!count_down%(timer%)=�+amount%
��
�)ݤprint_timer(tx%,ty%,digits%,timer%)
�&timer%=(count_down%(timer%)-�)/100
�/�timer%<0 timer%=0000:count_down%(timer%)=0
�t$=�(timer%)
�*�plot_numbers(tx%+24,ty%+8,digits%,t$)
�=t$
�$��plot_numbers(x%,y%,digits%,a$)
��(a$)<digits% �
��

a$="d"+a$
��(a$)=digits%
�
�pn%=1 � �(a$)
8�plot_sprite((x%-36)+(pn%*36),y%,1,1,1,1,�a$,pn%,1))
�
�
��set_pos_buttons(bx%,by%)
�bf%=1� total_but%
	but%(bf%,0)=but%(bf%,0)+bx%

but%(bf%,1)=but%(bf%,1)+by%
�
�

��palette2
,�V%=0 �24,0;960;1278;1022;18,0,131,16,26
�19,1,24,136,136,136
�p%,r%,g%,b%
�+4
�p%=0�15
�r%,g%,b%:�p%,r%,g%,b%
�:�
/� 255,255,255,187,187,187,136,136,136,0,0,0
)� 0,0,175,0,0,255,0,204,255,255,255,0
(� 204,204,0,221,0,0,136,17,0,0,153,0
*� 0,187,34,0,255,0,255,221,170,0,0,175
��assemble2
*FX113,1
*FX112,2
�opt%=0 � 3 �3
P%=m_code2%
[
OPT0
 .move_bombs
!EQUD main               
"EQUD alien              
#EQUD apple              
$EQUD 720                
%EQUD 672                
&EQUD 0                  
'EQUD 0                  
(EQUD 49                 
)EQUD 4                  
*EQUD 0                  
+EQUD 0                  
,EQUD 0                  
-EQUB 15                 
.EQUB 14                 
/EQUB 0                  
0EQUB 0                  
1EQUD 0                  
2EQUD 4                  
3EQUD testing            
4EQUB 0                  
5EQUB 0                  
6EQUB 0                  
7EQUB 0                  
8EQUD rain               
9EQUD rain_vga           
:EQUD 0                  
;EQUD 0                  
<EQUD 0                  
=EQUD 0                  
>EQUD 0                  
?.al
@�EQUD 288:EQUD 432:EQUD 0:EQUD 49:EQUD 0: EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 3:EQUB 6:EQUB 9:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0  
A�EQUD 432:EQUD 240:EQUD 0:EQUD 49:EQUD 0: EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 9:EQUB 9:EQUB 5:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0  
B�EQUD 288:EQUD 288:EQUD 0:EQUD 49:EQUD 0: EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 6:EQUB 6:EQUB 6:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0  
C�EQUD 240:EQUD 240:EQUD 0:EQUD 49:EQUD 0: EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 12:EQUB 5:EQUB 5:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0 
D�EQUD 0:EQUD 0:EQUD 0:EQUD 49:EQUD 0: EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0      
E.ap
FeEQUD 720:EQUD 720:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 15:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
GeEQUD 720:EQUD 768:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 16:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
HeEQUD 720:EQUD 816:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 17:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
IeEQUD 720:EQUD 864:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 18:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
JeEQUD 720:EQUD 720:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 15:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
KeEQUD 720:EQUD 768:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 16:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
LeEQUD 720:EQUD 816:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 17:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
MeEQUD 720:EQUD 864:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 18:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
NeEQUD 720:EQUD 864:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 18:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
OeEQUD 720:EQUD 864:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 18:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
PeEQUD 720:EQUD 864:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 18:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
QeEQUD 720:EQUD 864:EQUD 0:EQUD 0:EQUD 4: EQUB 15:EQUB 18:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0:EQUB 0
R	ALIGN
S.testing
TMOV R10,R0
USTR R14,[R10,#&5C]
VLDRB R1,[R10,#&30]     
WLDRB R2,[R10,#&32]     
XLDRB R5,[R10,#&31]     
YLDRB R6,[R10,#&33]     
ZLDR R12,[R10,#&20]    
[ADD R11,R10,#&60      
\ADD R11,R11,#&19      
].test_alien_hit_loop
^LDRB R3,[R11,#&0]     
_LDRB R4,[R11,#&2]     
`LDRB R7,[R11,#&1]     
aLDRB R8,[R11,#&3]     
bBL check_grid_co
cCMP R9,#1             
dBEQ man_hit_alien
eADD R11,R11,#32       
fSUB R12,R12,#1
gCMP R12,#0
hBGT test_alien_hit_loop
iB over_alien_hit
j.man_hit_alien
kSTRB R9,[R10,#&40]     
l.over_alien_hit
mLDR R12,[R10,#&38]     
nADD R11,R10,#&100      
oADD R11,R11,#&14       
p.test_apple_hit_loop
qLDRB R3,[R11,#&0]     
rLDRB R4,[R11,#&2]     
sLDRB R7,[R11,#&1]     
tLDRB R8,[R11,#&3]     
uBL check_grid_co
vCMP R9,#1             
wBEQ man_hit_apple
xADD R11,R11,#28       
ySUB R12,R12,#1
zCMP R12,#0
{BGT test_apple_hit_loop
|B over_apple_hit
}.man_hit_apple
~STRB R9,[R11,#4]           
LDRB R9,[R10,#&41]
�ADD R9,R9,#1               
�STRB R9,[R10,#&41]
�.over_apple_hit
�LDR R0,[R10,#&5C]
�MOV R15,R0
�.temp_stack
�
EQUD 0
�
EQUD 0
�
EQUD 0
�
EQUD 0
�.check_grid_co
�ADR R9,temp_stack
�STRB R1,[R9,#1]
�STRB R2,[R9,#2]
�STRB R3,[R9,#3]
�STRB R4,[R9,#4]
�STRB R5,[R9,#5]
�STRB R6,[R9,#6]
�STRB R7,[R9,#7]
�STRB R8,[R9,#8]
�
MOV R9,#0
�
CMP R1,R3
��Q R9,#1
�
CMP R1,R4
��Q R9,#1
�
CMP R2,R3
��Q R9,#1
�
CMP R2,R4
��Q R9,#1
�
CMP R9,#0
�BEQ no_x_match
�
MOV R9,#0
�
CMP R5,R7
��Q R9,#1
�
CMP R5,R8
��Q R9,#1
�
CMP R6,R7
��Q R9,#1
�
CMP R6,R8
��Q R9,#1
�.no_x_match
�MOV R15,R14
�	ALIGN
�	.rain
�MOV R10,R0
�STR R1,[R10,#&50]
�STR R2,[R10,#&54]
�STR R14,[R10,#&5C]
�
MOV R0,#0
�MOV R9,#&77
�MOV R6,#320
�.rain_loop
�LDRB R5,[R2,R3]
�CMP R5,#&77
�BNE over_rain
�ADD R7,R3,R6
�ADD R7,R7,R6
�LDRB R8,[R2,R7]
�CMP R8,#&44
�BNE slide_right
�STRB R8,[R2,R3]
�STRB R9,[R2,R7]
�B over_rain
�.slide_right
�SUB R7,R7,R6             
�ADD R7,R7,#1             
�LDRB R8,[R2,R7]
�CMP R8,#&44
�BNE slide_left
�STRB R8,[R2,R3]
�STRB R9,[R2,R7]
�B over_rain
�.slide_left
�SUB R7,R7,#2         
�LDRB R8,[R2,R7]
�CMP R8,#&44
�BNE over_rain
�STRB R8,[R2,R3]
�STRB R9,[R2,R7]
�.over_rain
�SUB R3,R3,#4
�
CMP R3,#8
�BGT rain_loop
�MOV R15,R14
�
.rain_vga
�MOV R10,R0
�STR R1,[R10,#&50]
�STR R2,[R10,#&54]
�STR R14,[R10,#&5C]
� MOV R0,#239                 
� MOV R9,#&77                 
�
MOV R6,R3
�SUB R6,R6,#4
�!.rain_vertical_loop_vga      
� SUB R6,R6,#640              
� MOV R3,R6                   
� SUB R11,R3,#320             
� ADD R7,R3,#1280             
� SUB R12,R7,#320             
� MOV R1,#320                 
�.rain_horizontal_loop_vga
�SUB R3,R3,#4               
�SUB R7,R7,#4               
�SUB R11,R11,#4             
�SUB R12,R12,#4             
�LDRB R5,[R2,R3]
�CMP R5,#&77
�BNE over_rain_vga
�LDRB R8,[R2,R7]
�CMP R8,#&44
�BNE slide_right_vga
�STRB R8,[R2,R3]
�STRB R8,[R2,R11]
�STRB R9,[R2,R7]
�STRB R9,[R2,R12]
�B over_rain_vga
�.slide_right_vga
�SUB R7,R7,#640
�SUB R12,R12,#640           
�ADD R7,R7,#1               
�ADD R12,R12,#1             
�LDRB R8,[R2,R7]
�CMP R8,#&44
�BNE slide_left_vga
�STRB R8,[R2,R3]
�STRB R8,[R2,R11]
�STRB R9,[R2,R7]
�STRB R9,[R2,R12]
SUB R7,R7,#1               
SUB R12,R12,#1             
B over_rain_vga_s
.slide_left_vga
SUB R7,R7,#2               
SUB R12,R12,#2             
LDRB R8,[R2,R7]
CMP R8,#&44
ADDNE R7,R7,#1             
	ADDNE R12,R12,#1           

BNE over_rain_vga_s
STRB R8,[R2,R3]
STRB R8,[R2,R11]

STRB R9,[R2,R7]
STRB R9,[R2,R12]
ADD R7,R7,#1               
ADD R12,R12,#1             
.over_rain_vga_s
ADD R7,R7,#640             
ADD R12,R12,#640
.over_rain_vga
SUB R1,R1,#4

CMP R1,#0
 BNE rain_horizontal_loop_vga
SUB R3,R3,#640           
SUB R7,R7,#640           
SUB R11,R11,#640         
SUB R12,R12,#640         
SUB R0,R0,#1

CMP R0,#0
BNE rain_vertical_loop_vga
MOV R15,R14
 	ALIGN
!
.apple
"MOV R10,R0
#STR R1,[R10,#&50]
$STR R2,[R10,#&54]
%STR R14,[R10,#&5C]
&
MOV R0,#0
'STR R0,[R10,#&34]      
(.main_apple_loop
)BL start_apple_move
*BL apple_moving_loop
+LDR R0,[R10,#&34]
,ADD R0,R0,#1
-STR R0,[R10,#&34]
.LDR R1,[R10,#&38]
/
CMP R0,R1
0BLT main_apple_loop
1LDR R0,[R10,#&5C]
2MOV R15,R0
3.start_apple_move
4LDR R0,[R10,#&34]
5MOV R1,#28              
6MUL R2,R1,R0
7ADD R2,R2,#&100         
8ADD R11,R2,R10          
9LDRB R2,[R11,#&18]      
:
CMP R2,#0
;BNE dead_apple
<LDR R2,[R11,#8]
=
CMP R2,#0
>BNE out_of_apple_move
?MOV R4,#13              
@MOV R12,#1              
A
MOV R5,#1
B
MOV R6,#0
C
MOV R3,#4
DLDR R8,[R11,#&0]        
ELDR R9,[R11,#&4]        
FLDR R0,[R10,#&54]      
GMOV R8,R8,LSR #2       
HMOV R1,#956
IMOV R2,#320
JSUB R9,R1,R9           
KMOV R9,R9,LSR #2-V%    
LMUL R7,R9,R2           
MADD R7,R8,R7           
NADD R7,R7,R0           
OADD R7,R7,#320         
PADD R7,R7,R6           
Q
MOV R1,#0
R.app_ch_u_l
SLDRB R2,[R7]
TCMP R2,#68             
UMOVNE R4,#0            
VADD R7,R7,R12
WADD R1,R1,R5
XCMP R1,#12             
YBNE app_ch_u_l
Z
CMP R4,#0
[BEQ out_of_apple_check
\LDRB R8,[R11,#&14]     
]LDRB R9,[R11,#&15]     
^SUB R9,R9,#1           
_LDRB R5,[R10,#&30]     
`LDRB R6,[R10,#&31]     
aLDRB R7,[R10,#&32]     
bLDRB R2,[R10,#&33]     
cMOV R0,#0              
d
CMP R8,R5
eADDNE R0,R0,#1
f
CMP R8,R7
gADDNE R0,R0,#1
h
CMP R0,#2
iBEQ out_of_apple_check
jMOV R0,#0              
k
CMP R9,R6
lADDNE R0,R0,#1
m
CMP R9,R2
nADDNE R0,R0,#1
o
CMP R0,#2
pMOVNE R4,#0             
q.out_of_apple_check
rSTR R4,[R11,#&8]         
s.out_of_apple_move
tMOV R15,R14
u.dead_apple
v
CMP R2,#8
w�Q R15,R14           
xADD R5,R2,#49
yADD R2,R2,#1
z
MOV R0,#0
{STR R0,[R11,#&14]       
|STRB R2,[R11,#&18]      
}ADR R6,apple_sprite
~STRB R5,[R6,#3]
LDR R8,[R11,#&0]        
�LDR R9,[R11,#&4]        
�B dead_apple_plot_sprite
�.apple_moving_loop
�LDRB R2,[R11,#&18]     
�
CMP R2,#0
�MOVNE R15,R14          
�LDR R4,[R11,#&8]        
�
CMP R4,#0
��Q R7,#0
�SUBNE R4,R4,#1
�STR R4,[R11,#&8]
��Q R5,#49            
�BEQ out_apple_movement
�CMP R4,#12              
��Q R7,#0             
�MOVNE R7,#4
�BNE over_apple_first_move
�LDR R3,[R11,#&10]       
�LDRB R9,[R11,#&15]      
�SUB R9,R9,#1
�STRB R9,[R11,#&17]      
�.over_apple_first_move
�
CMP R4,#0
�BNE over_apple_last_move
�LDRB R9,[R11,#&17]      
�STRB R9,[R11,#&15]      
�.over_apple_last_move
�MOV R5,#50              
�LDR R9,[R11,#&4]
�SUB R9,R9,R7
�MOV R5,#50
�STR R9,[R11,#&4]
�.out_apple_movement
�LDR R8,[R11,#0]
�LDR R9,[R11,#4]
�ADR R6,apple_sprite
�STRB R5,[R6,#3]
�.dead_apple_plot_sprite
�MOV R0,#&34
�ADD R0,R0,#&100          
�LDR R1,[R10,#&50]        
�ADR R2,apple_sprite      
�MOV R3,R8                
�MOV R4,R9                
�MOV R5,#&0               
�ADR R6,apple_scale       
�MOV R7,#0                
�SWI "OS_SpriteOp"
�MOV R15,R14
�.apple_sprite
�EQUS "app"
�EQUB 49
�
EQUB 0
�
EQUB 0
�
EQUB 0
�	ALIGN
�.apple_scale
�
EQUD 1
�
EQUD 1+V%
�
EQUD 1
�
EQUD 1
�
.alien
�MOV R10,R0
�STR R1,[R10,#&50]
�STR R2,[R10,#&54]
�STR R14,[R10,#&5C]
�
MOV R0,#0
�STR R0,[R10,#&24]      
�.main_alien_loop
�BL start_alien_move
�BL alien_moving_loop
�LDR R0,[R10,#&24]
�ADD R0,R0,#1
�STR R0,[R10,#&24]
�LDR R1,[R10,#&20]
�
CMP R0,R1
�BLT main_alien_loop
�LDR R0,[R10,#&5C]
�MOV R15,R0
�.start_alien_move
�STR R14,[R10,#&58]
�LDR R0,[R10,#&24]
�MOV R1,#32              
�MUL R2,R1,R0
�ADD R2,R2,#&60          
�ADD R11,R2,R10          
�LDR R2,[R11,#8]
�
CMP R2,#0
�BNE out_of_alien_move
�LDRB R0,[R11,#&14]     
�
CMP R0,#8
�BGT set_up_rnd_sequence
�
CMP R0,#1
�BEQ set_alien_horiz
�
CMP R0,#3
�BEQ set_alien_horiz
�
CMP R0,#5
�BEQ set_alien_horiz
�
CMP R0,#7
�BEQ set_alien_horiz
�.set_alien_vert
�LDR R0,[R10,#&10]     
�LDR R9,[R11,#&4]      
�CMP R0,R9             
�BNE vert_not_same
�ADD R0,R0,#1
�STRB R0,[R11,#&14]    
�B out_of_alien_move
�.vert_not_same
�MOVLT R3,#4
�MOVGT R3,#3
�B set_up_a_check
�.set_alien_horiz
�LDR R0,[R10,#&C]      
�LDR R9,[R11,#&0]      
�CMP R0,R9             
�BNE horiz_not_same
�ADD R0,R0,#1
�STRB R0,[R11,#&14]    
�B out_of_alien_move
�.horiz_not_same
�MOVLT R3,#2
�MOVGT R3,#1
�B set_up_a_check
�.set_up_rnd_sequence
�ADR R1,random
�LDRB R0,[R11,#&18]
�ADD R0,R0,#1
CMP R0,#30
MOVGT R0,#0
STRB R0,[R11,#&18]
LDRB R3,[R1,R0]       
LDRB R0,[R11,#&14]    
ADD R0,R0,#1          
CMP R0,#10            
MOVGT R0,#1
STRB R0,[R11,#&14]    
	.set_up_a_check

MOV R4,#13            

CMP R3,#3
MOVLT R12,#320        

MOVLT R5,#1
MOVLT R6,#0

CMP R3,#2
MOVGT R12,#1          
MOVGT R5,#1
MOVGT R6,#0
LDR R8,[R11,#&0]      
LDR R9,[R11,#&4]      
BL check_edges

CMP R4,#0
BNE alien_start_ok
LDRB R0,[R11,#&14]    
ADD R0,R0,#1          
CMP R0,#10            
MOVGT R0,#1
STRB R0,[R11,#&14]    
B alien_start_no
.alien_start_ok
STR R3,[R11,#&10]     
 STR R4,[R11,#&8]      
!MOV R0,#49
"STR R0,[R11,#&C]      
#.alien_start_no
$.out_of_alien_move
%LDR R0,[R10,#&58]
&MOV R15,R0
'.random
(;EQUB 1:EQUB 1:EQUB 3:EQUB 3:EQUB 2:EQUB 2:EQUB 2:EQUB 2
);EQUB 3:EQUB 3:EQUB 1:EQUB 1:EQUB 3:EQUB 3:EQUB 2:EQUB 2
*;EQUB 4:EQUB 4:EQUB 4:EQUB 4:EQUB 2:EQUB 2:EQUB 1:EQUB 1
+;EQUB 1:EQUB 1:EQUB 3:EQUB 3:EQUB 1:EQUB 1:EQUB 4:EQUB 4
,.alien_moving_loop
-LDR R4,[R11,#&8]        
.
CMP R4,#0
/SUBNE R4,R4,#1
0STR R4,[R11,#&8]
1BEQ out_alien_movement
2CMP R4,#12              
3�Q R7,#0             
4MOVNE R7,#4
5!BNE over_aliens_first_move   
6LDR R3,[R11,#&10]   
7LDRB R8,[R11,#&19]  
8LDRB R9,[R11,#&1A]  
9
CMP R3,#1
:ADDEQ R8,R8,#1
;
CMP R3,#2
<SUBEQ R8,R8,#1
=
CMP R3,#3
>ADDEQ R9,R9,#1
?
CMP R3,#4
@SUBEQ R9,R9,#1
ASTRB R8,[R11,#&1B]  
BSTRB R9,[R11,#&1C]  
C.over_aliens_first_move
D
CMP R4,#0
E"BNE over_aliens_last_move     
FLDRB R8,[R11,#&1B]  
GLDRB R9,[R11,#&1C]  
HSTRB R8,[R11,#&19]  
ISTRB R9,[R11,#&1A]  
J.over_aliens_last_move
K
CMP R4,#0
L�Q R4,#56              
MBEQ overload_alientype
NLDR R4,[R11,#&C]
O.overload_alientype
PADD R4,R4,#1
QCMP R4,#57
R
�Q R4,#49
SSTR R4,[R11,#&C]
TLDR R8,[R11,#&0]
ULDR R9,[R11,#&4]
VLDR R3,[R11,#&10]
W
CMP R3,#1
XADDEQ R8,R8,R7
Y�Q R5,#49              
Z
CMP R3,#2
[SUBEQ R8,R8,R7
\
�Q R5,#50
]
CMP R3,#3
^ADDEQ R9,R9,R7
_
�Q R5,#51
`
CMP R3,#4
aSUBEQ R9,R9,R7
b
�Q R5,#52
cADR R6,alien_sprite
dSTRB R5,[R6,#3]
eSTRB R4,[R6,#4]
fSTR R8,[R11,#&0]
gSTR R9,[R11,#&4]
hMOV R0,#&34
iADD R0,R0,#&100           
jLDR R1,[R10,#&50]         
kADR R2,alien_sprite       
lMOV R3,R8                 
mMOV R4,R9                 
nMOV R5,#&0                
oADR R6,alien_scale        
pMOV R7,#0                 
qSWI "OS_SpriteOp"
r.out_alien_movement
sMOV R15,R14
t.alien_sprite
uEQUS "ali"
vEQUB 49
w
EQUB 0
x
EQUB 0
y
EQUB 0
z	ALIGN
{.alien_scale
|
EQUD 1
}
EQUD 1+V%
~
EQUD 1

EQUD 1
�.check_edges
�LDR R0,[R10,#&54]     
�MOV R8,R8,LSR #2      
�MOV R1,#956
�MOV R2,#320
�SUB R9,R1,R9          
�MOV R9,R9,LSR #(2-V%) 
�MUL R7,R9,R2          
�ADD R7,R8,R7          
�ADD R7,R7,R0          
�MOV R0,#0             
�
CMP R3,#1
�BNE over_right_check
�ADD R7,R7,#12         
�SUB R7,R7,R6          
�
MOV R1,#0
�.ch_r_l
�LDRB R2,[R7]
�CMP R2,#&44           
�BEQ over_right_fail
�MOV R4,#0             
�.over_right_fail
�SUB R7,R7,R12
�ADD R1,R1,R5
�CMP R1,#12            
�BNE ch_r_l
�B over_other_checks
�.over_right_check
�
CMP R3,#2
�BNE over_left_check
�SUB R7,R7,#1          
�SUB R7,R7,R6          
�
MOV R1,#0
�.ch_l_l
�LDRB R2,[R7]
�CMP R2,#&44           
�BEQ over_left_fail
�MOV R4,#0             
�.over_left_fail
�SUB R7,R7,R12
�ADD R1,R1,R5
�CMP R1,#12            
�BNE ch_l_l
�B over_other_checks
�.over_left_check
�
CMP R3,#3
�BNE over_up_check
�SUB R7,R7,#(3840*(V%+1))  
�ADD R7,R7,R6              
�
MOV R1,#0
�.ch_t_l
�LDRB R2,[R7]
�CMP R2,#&44           
�BEQ over_up_fail
�MOV R4,#0             
�.over_up_fail
�ADD R7,R7,R12
�ADD R1,R1,R5
�CMP R1,#12            
�BNE ch_t_l
�B over_other_checks
�.over_up_check
�
CMP R3,#4
�BNE over_down_check
�ADD R7,R7,#(320*(V%+1))
�ADD R7,R7,R6           
�
MOV R1,#0
�.ch_u_l
�LDRB R2,[R7]
�CMP R2,#&44           
�BEQ over_down_fail
�CMP R2,#&FF           
�BEQ over_down_fail
�MOV R4,#0             
�.over_down_fail
�ADD R7,R7,R12
�ADD R1,R1,R5
�CMP R1,#12            
�BNE ch_u_l
�B over_other_checks
�.over_down_check
�.over_other_checks
�MOV R15,R14
�	.main
�
MOV R5,R4
�MOV R10,R0
�MOV R11,R1
�STR R2,[R10,#&54]
�STR R14,[R10,#&5C]
�BL key_entry_man
�BL man_moving_loop
�LDR R0,[R10,#&5C]
�MOV R15,R0
�.end_of_main_loop
�.key_entry_man
�STR R14,[R10,#&58]
�LDR R4,[R10,#&14]
�
CMP R4,#0
�BNE no_new_movement
�LDR R8,[R10,#&C]
�LDR R9,[R10,#&10]
�MOV R4,#0                
�MOV R3,#0                
�CMP R5,#37               
�BEQ set_man_moving_right
�MOV R0,#&79
�MOV R1,#(121 � &80)
�SWI "OS_Byte"
�CMP R1,#&FF
�BNE over_man_move_right
�.set_man_moving_right
�
MOV R3,#1
�MOV R4,#13
�MOV R12,#(640*(V%+1))
�
MOV R5,#2
�MOV R6,#320               
�BL check_edges
�B over_man_move_down
�.over_man_move_right
�MOV R0,#&79
�MOV R1,#(25 � &80)
�SWI "OS_Byte"
�CMP R1,#&FF
�BNE over_man_move_left
�MOV R3,#2                
�MOV R4,#13               
�MOV R12,#(640*(V%+1))    
�MOV R5,#2                
MOV R6,#0                
BL check_edges
B over_man_move_down
.over_man_move_left
MOV R0,#&79
MOV R1,#(57 � &80)
SWI "OS_Byte"
CMP R1,#&FF
BNE over_man_move_up
	
MOV R3,#3

MOV R4,#13
MOV R12,#2

MOV R5,#2

MOV R6,#1                 
BL check_edges
B over_man_move_down
.over_man_move_up
MOV R0,#&79
MOV R1,#(41 � &80)
SWI "OS_Byte"
CMP R1,#&FF
BNE over_man_move_down

MOV R3,#4
MOV R4,#13
MOV R12,#2

MOV R5,#2
MOV R6,#0                 
BL check_edges
.over_man_move_down
STR R4,[R10,#&14]
STR R3,[R10,#&18]
.no_new_movement
 LDR R15,[R10,#&58]
!.man_moving_loop
"LDR R4,[R10,#&14]
#
CMP R4,#0
$SUBNE R4,R4,#1
%STR R4,[R10,#&14]
&
�Q R4,#53
'
�Q R5,#53
(LDREQ R8,[R10,#&C]   
)LDREQ R9,[R10,#&10]  
*BEQ out_man_movement 
+CMP R4,#12          
,�Q R7,#0         
-MOVNE R7,#4
.BNE over_mans_first_move
/LDR R3,[R10,#&18]   
0LDRB R8,[R10,#&30]  
1LDRB R9,[R10,#&31]  
2
CMP R3,#1
3ADDEQ R8,R8,#1
4
CMP R3,#2
5SUBEQ R8,R8,#1
6
CMP R3,#3
7ADDEQ R9,R9,#1
8
CMP R3,#4
9SUBEQ R9,R9,#1
:STRB R8,[R10,#&32]  
;STRB R9,[R10,#&33]  
<.over_mans_first_move
=
CMP R4,#0
>�Q R4,#56        
?BNE over_mans_last_move
@LDRB R8,[R10,#&32]  
ALDRB R9,[R10,#&33]  
BSTRB R8,[R10,#&30]  
CSTRB R9,[R10,#&31]  
D.over_mans_last_move
EBEQ overload_mantype
FLDR R4,[R10,#&1C]
G.overload_mantype
HADD R4,R4,#1
ICMP R4,#57
J
�Q R4,#49
KSTR R4,[R10,#&1C]
LLDR R8,[R10,#&C]
MLDR R9,[R10,#&10]
NLDR R3,[R10,#&18]
O
CMP R3,#1
PADDEQ R8,R8,R7
Q�Q R5,#49        
R
CMP R3,#2
SSUBEQ R8,R8,R7
T
�Q R5,#50
U
CMP R3,#3
VADDEQ R9,R9,R7
W
�Q R5,#51
X
CMP R3,#4
YSUBEQ R9,R9,R7
Z
�Q R5,#52
[.out_man_movement
\ADR R6,man_sprite
]STRB R5,[R6,#3]
^STRB R4,[R6,#4]
_STR R8,[R10,#&C]
`STR R9,[R10,#&10]
aMOV R0,#&34
bADD R0,R0,#&100           
cMOV R1,R11                
dADR R2,man_sprite         
eMOV R3,R8                 
fMOV R4,R9                 
gMOV R5,#&8                
hADR R6,man_scale          
iMOV R7,#0                 
jSWI "OS_SpriteOp"
kMOV R15,R14
l.man_sprite
mEQUS "man"
nEQUB 49
o
EQUB 0
p
EQUB 0
q
EQUB 0
r	ALIGN
s.man_scale
t
EQUD 1
u
EQUD 1+V%
v
EQUD 1
w
EQUD 1
x.end_of_code2
y]
z�
{*FX112,1
|*FX113,1
}�
~��pull_pac_code_var
main%=!(m_code2%+&0)
�alien%=!(m_code2%+&4)
�apple%=!(m_code2%+&8)
�rain%=!(m_code2%+&44)
�rain_vga%=!(m_code2%+&48)
�testing%=!(m_code2%+&3C)
��
���set_screen
��clear:�clear_top
��sel_sprite$<>"" �
� �4:�3:�56,1);sel_sprite$:�5
�Fș"OS_SpriteOp",&128,sprite_area1%,sel_sprite$ � ,,,width%,height%
�;�plot_sprite(1150,960,60,16,width%,height%,sel_sprite$)
��
�)�23,128,255,255,255,255,255,255,255,0
�<�f%=0�15:f$=�(f%)+�(128)+�(128):�64*f%,1022:�0,f%:�;f$:�
��
�ݤcount_sprites
�+ș"OS_SpriteOp",&108,sa1% � r0,r1,r2,r3
�=r3
�ݤsprite_data(name$)
�:ș"OS_SpriteOp",&118,sprite_area1%,name$ � r0%,r1%,r2%
�sprite_one%=r2%
�=sprite_one%+44
�ݤsprite_size(sprite_area%)
�8ș"OS_SpriteOp",&118,sprite_area%,"s1" � r0%,r1%,r2%
�sprite_one%=r2%
�=!(sprite_one%)
���test_tables
�*fx113,1
�*fx112,1
��res_x%<640 �
�#tab_x%=res_x%+100:tab_y%=res_y%
��
�#tab_x%=res_x%-400:tab_y%=res_y%
��
�Bș"OS_SpriteOp",&110,sprite_area1%,"tab_blank",0,20,20,840,180
��box2(28,28,800,140)
�"�pri(60,112,"Missing number?")
�� first_or_second%=1 �
�7tables$=�(tables%(bom%,1))+"xk="+�(tables%(bom%,3))
��
�:tables$="kx"+�(tables%(bom%,2))+"="+�(tables%(bom%,3))
��
�%�plot_numbers2(460,102,5,tables$)
�<�f%=0 � 14:�plot_sprite(80+f%*46,32,1,1,1,1,�(f%)+"o"):�
�-�plot_sprite(80+1*46,32,1,1,1,1,�(1)+"n")
�pointer%=1:out%=0:go%=0
��
�(ș"OS_Byte",&79,(25 � &80) � r0,yes%
�5� yes%=&FF � pointer%>1:pointer%=pointer%-1:go%=1
�)ș"OS_Byte",&79,(121 � &80) � r0,yes%
�6� yes%=&FF � pointer%<12:pointer%=pointer%+1:go%=1
�(ș"OS_Byte",&79,(73 � &80) � r0,yes%
�� yes%=&FF out%=1
�"T$=�print_timer(tx2%,ty2%,3,1)
��go%=1 �
��cachesound("plop",1)
�� 1,&17F,1,1
�;�plot_sprite(80+pointer%*46,32,1,1,1,1,�(pointer%)+"n")
�A�plot_sprite(80+(pointer%-1)*46,32,1,1,1,1,�(pointer%-1)+"o")
�A�plot_sprite(80+(pointer%+1)*46,32,1,1,1,1,�(pointer%+1)+"o")
��pause(20):go%=0
��
�
�out%=1 �
��cachesound("wrong2",1)
�� first_or_second%=1 �
�1� pointer%<>tables%(bom%,2) out%=0:�1,-15,1,1
��
�1� pointer%<>tables%(bom%,1) out%=0:�1,-15,1,1
��
��pause(30)
��
�� out%=1 � T$="0"
��cachesound("ok2",1)
�� 1,&17F,1,1
�Ltables$=�(tables%(bom%,1))+"x"+�(tables%(bom%,2))+"="+�(tables%(bom%,3))
�%�plot_numbers2(460,102,5,tables$)
��pause(100)
�special%=special%-1
�!(scale%+0)=1
�!(scale%+4)=1
�!(scale%+8)=1
�!(scale%+12)=1
�:ș"OS_SpriteOp",&134,sa1%,"tab_blank",20,20,0,scale%,0
��cachesound("aliensnear",1)
��
���intiger_icns
��f%=0 � 12
�9�(U% � (1<<f%))=(1<<f%) firstn%(f%)=1 � firstn%(f%)=0
��
��f%=0 � 12
�;�(W% � (1<<f%))=(1<<f%) secondn%(f%)=1 � secondn%(f%)=0
��
�1�(W% � (1<<13))=(1<<13) mixedn%=1 � mixedn%=0
��
���set_table_one
��intiger_icns
��clear_rnd1
��clear_rnd2
��find%=1 � number_of%
�repeat_error%=0
��
�!repeat_error%=repeat_error%+1
��
�rnd%=(�(13)-1)
�� firstn%(rnd%)=1 � rnd%>0
�-� rnd_picker1%(rnd%)=0 � repeat_error%=10
�rnd_picker1%(rnd%)=1
�rnd_number1%(find%)=rnd%
�repeat_error%=0
��
�!repeat_error%=repeat_error%+1
��
�rnd%=(�(13)-1)
�� secondn%(rnd%)=1 � rnd%>0
�-� rnd_picker2%(rnd%)=0 � repeat_error%=10
�rnd_picker2%(rnd%)=1
�rnd_number2%(find%)=rnd%
��
��find%=1 � number_of%
��mixedn%=1 � �(100)>50 �
�1a%=rnd_number1%(find%):b%=rnd_number2%(find%)
�1rnd_number2%(find%)=a%:rnd_number1%(find%)=b%
��
�(tables%(find%,1)=rnd_number1%(find%)
�(tables%(find%,2)=rnd_number2%(find%)
�<tables%(find%,3)=rnd_number1%(find%)*rnd_number2%(find%)
��
firn%=0
secn%=0
�f%=1�12
�secondn%(f%)=1:secn%+=1
�
�f%=1�12
�firstn%(f%)=1:firn%+=1
�
:�firn%<secn% � first_or_second%=1 � first_or_second%=2
	�

��box2(bx%,by%,bxx%,byy%)
bxx%=bx%+bxx%:byy%=by%+byy%
-�24,bx%-4;by%-4;bxx%+4;byy%+4;18,0,131,16

(�24,bx%;by%;bxx%;byy%;18,0,128,16,26
�
%��plot_numbers2(x%,y%,digits%,a$)
�pn%=1 � �(a$)
8�plot_sprite((x%-36)+(pn%*42),y%,1,1,1,1,�a$,pn%,1))
�
�
��clear_rnd1
�f%=0�12
rnd_picker1%(f%)=0
�
�
��clear_rnd2
�f%=0�12
rnd_picker2%(f%)=0
�
�
��define_buttons(set%)
�set%=1:total_but%=1:��TfG
 �set%=2:total_but%=2:��TgG
!�set%=3:total_but%=2:��ThG
"�but_number%=1�total_but%
#z�but%(but_number%,0),but%(but_number%,1),but%(but_number%,2),but%(but_number%,3),but%(but_number%,4),but$(but_number%)
$�
%�
&� 100,100,200,40,2,Go on
']� 680,20,200,60,2,Yes,920,20,200,60,2,No,1060,72,200,60,2,Correct,20,72,200,60,2,Next box
(3� 820,430,190,60,2,Left,1044,430,190,60,2,Right
)��but_off(bx%,by%,text$)
*+�plot_sprite(bx%,by%,1,1,1,1,"button1")
+&left_margin%=(194-(�(text$)*16))/2
,�5
-(�0,3:�bx%+left_margin%,by%+42:�text$
.�
/��but_on(bx%,by%,text$)
0+�plot_sprite(bx%,by%,1,1,1,1,"button2")
1&left_margin%=(194-(�(text$)*16))/2
2�5
3(�0,3:�bx%+left_margin%,by%+42:�text$
4�
5��check_buttons(an_num%)
6selected%=0
7�5
8�check_mouse(10)
9�but_n%=1 � total_but%
:�but%(but_n%,4)<2:�:�
;y�mx%>but%(but_n%,0) � mx%<(but%(but_n%,0)+but%(but_n%,2)) � my%>but%(but_n%,1) � my%<(but%(but_n%,1)+but%(but_n%,3))�
<�mz%=4 �
=selected%=but_n%
>7�but_on(but%(but_n%,0),but%(but_n%,1),but$(but_n%))
?�pause(30)
@�:ȗ x%,y%,z%:� z%=0
A8�but_off(but%(but_n%,0),but%(but_n%,1),but$(but_n%))
B�
C�
D �an_num%>0:�sp_anim(an_num%)
E�
F�
G��render_des_screen
H*main_sp_add%=�sprite_data(des_sprite$)
I
off%=0
Jrenx%=0:reny%=896
K�down%=864+48 � 0 � -48
L�acc%=0 � 1248+48 � 48
M sprite%=?(main_sp_add%+off%)
N/�plot_sprite(acc%,down%,1,1,1,1,�(sprite%))
Ooff%=off%+1
P�
Q�
R�
Sݤsprite_data(name$)
T:ș"OS_SpriteOp",&118,sprite_area1%,name$ � r0%,r1%,r2%
Usprite_one%=r2%
V=sprite_one%+44
�
00000000  0d 00 00 32 f4 ff 41 44  46 53 3a 3a 48 61 72 64  |...2..ADFS::Hard|
00000010  44 69 73 63 34 2e 24 2e  43 55 52 52 5f 4e 45 57  |Disc4.$.CURR_NEW|
00000020  2e 21 54 61 62 6c 65 73  2e 50 74 31 2e 50 61 63  |.!Tables.Pt1.Pac|
00000030  63 79 0d 00 01 21 c8 9b  20 22 3c 54 61 62 6c 65  |cy...!.. "<Table|
00000040  41 24 44 69 72 3e 2e 50  74 31 2e 4c 69 62 72 61  |A$Dir>.Pt1.Libra|
00000050  72 79 22 0d 00 02 0c 2a  46 58 32 32 35 2c 31 0d  |ry"....*FX225,1.|
00000060  00 03 0c 2a 46 58 32 32  39 2c 30 0d 00 04 0d 2a  |...*FX229,0....*|
00000070  46 58 32 32 30 2c 31 37  0d 00 05 1c ee 85 3a ff  |FX220,17......:.|
00000080  22 46 58 32 32 39 2c 31  22 3a ee 85 20 87 3a f2  |"FX229,1":.. .:.|
00000090  64 74 7c 4d 0d 00 06 21  2a 4b 45 59 31 20 56 25  |dt|M...!*KEY1 V%|
000000a0  3d 73 74 6f 72 65 64 5f  76 67 61 25 3a 50 52 4f  |=stored_vga%:PRO|
000000b0  43 64 74 7c 4d 0d 00 07  15 2a 4b 45 59 35 20 50  |Cdt|M....*KEY5 P|
000000c0  52 4f 43 73 74 61 74 73  7c 4d 0d 00 08 51 2a 4b  |ROCstats|M...Q*K|
000000d0  45 59 39 20 4d 4f 55 53  45 52 45 43 54 41 4e 47  |EY9 MOUSERECTANG|
000000e0  4c 45 20 30 2c 30 2c 31  32 37 38 2c 39 36 30 3a  |LE 0,0,1278,960:|
000000f0  52 45 50 45 41 54 3a 4d  4f 55 53 45 58 2c 59 2c  |REPEAT:MOUSEX,Y,|
00000100  5a 3a 50 2e 54 41 42 28  30 2c 30 29 58 2c 59 3a  |Z:P.TAB(0,0)X,Y:|
00000110  55 4e 54 49 4c 20 46 41  4c 53 45 0d 00 09 6d 2a  |UNTIL FALSE...m*|
00000120  4b 45 59 33 20 6c 65 6e  67 74 68 24 3d 53 54 52  |KEY3 length$=STR|
00000130  24 7e 32 36 32 31 34 34  3a 66 72 6f 6d 24 3d 53  |$~262144:from$=S|
00000140  54 52 24 7e 62 61 63 6b  5f 64 61 74 61 25 3a 66  |TR$~back_data%:f|
00000150  69 6c 65 24 3d 22 62 67  64 61 74 61 32 22 3a 4f  |ile$="bgdata2":O|
00000160  53 43 4c 49 22 53 41 56  45 20 22 2b 66 69 6c 65  |SCLI"SAVE "+file|
00000170  24 2b 22 20 22 2b 66 72  6f 6d 24 2b 22 20 2b 22  |$+" "+from$+" +"|
00000180  2b 6c 65 6e 67 74 68 24  0d 00 0a 24 de 20 69 6e  |+length$...$. in|
00000190  70 75 74 5f 64 69 73 6b  5f 6e 61 6d 65 25 20 32  |put_disk_name% 2|
000001a0  35 36 2c 6d 6f 75 73 65  25 20 31 36 0d 00 0b 4a  |56,mouse% 16...J|
000001b0  de 20 70 64 72 65 63 74  25 20 31 36 2c 70 64 72  |. pdrect% 16,pdr|
000001c0  65 63 74 32 25 20 31 36  2c 70 64 74 72 61 6e 73  |ect2% 16,pdtrans|
000001d0  25 20 31 36 2c 70 64 70  6c 6f 74 25 20 38 2c 63  |% 16,pdplot% 8,c|
000001e0  74 72 61 6e 73 25 20 32  35 36 2c 70 61 6c 74 61  |trans% 256,palta|
000001f0  62 25 20 32 35 36 0d 00  0c 24 de 20 69 6e 70 75  |b% 256...$. inpu|
00000200  74 25 20 31 36 2c 6f 75  74 70 75 74 25 20 31 36  |t% 16,output% 16|
00000210  2c 73 63 61 6c 65 25 20  31 36 0d 00 0d 19 de 20  |,scale% 16..... |
00000220  62 75 74 25 28 34 30 2c  34 29 2c 62 75 74 24 28  |but%(40,4),but$(|
00000230  34 30 29 0d 00 0e 11 de  20 61 72 65 61 25 28 31  |40)..... area%(1|
00000240  30 2c 34 29 0d 00 0f 13  de 20 70 6f 69 6e 74 73  |0,4)..... points|
00000250  25 28 32 2c 31 30 29 0d  00 10 11 de 20 73 74 72  |%(2,10)..... str|
00000260  69 6e 67 25 20 31 32 38  0d 00 11 13 de 20 74 61  |ing% 128..... ta|
00000270  62 6c 65 73 25 28 31 32  2c 35 29 0d 00 12 19 de  |bles%(12,5).....|
00000280  20 74 61 62 6c 65 73 24  28 31 32 29 2c 74 61 24  | tables$(12),ta$|
00000290  28 31 32 29 0d 00 13 13  de 20 6d 6f 76 5f 74 61  |(12)..... mov_ta|
000002a0  62 25 28 35 2c 35 29 0d  00 14 11 de 20 66 69 72  |b%(5,5)..... fir|
000002b0  73 74 6e 25 28 31 32 29  0d 00 15 12 de 20 73 65  |stn%(12)..... se|
000002c0  63 6f 6e 64 6e 25 28 31  32 29 0d 00 16 16 de 20  |condn%(12)..... |
000002d0  72 6e 64 5f 70 69 63 6b  65 72 31 25 28 31 32 29  |rnd_picker1%(12)|
000002e0  0d 00 17 16 de 20 72 6e  64 5f 70 69 63 6b 65 72  |..... rnd_picker|
000002f0  32 25 28 31 32 29 0d 00  18 16 de 20 72 6e 64 5f  |2%(12)..... rnd_|
00000300  6e 75 6d 62 65 72 31 25  28 31 32 29 0d 00 19 16  |number1%(12)....|
00000310  de 20 72 6e 64 5f 6e 75  6d 62 65 72 32 25 28 31  |. rnd_number2%(1|
00000320  32 29 0d 00 1a 14 de 20  70 72 65 73 65 6e 74 65  |2)..... presente|
00000330  64 25 28 31 32 29 0d 00  1b 13 de 20 78 5f 61 6e  |d%(12)..... x_an|
00000340  73 77 65 72 25 28 31 32  29 0d 00 1c 14 de 20 63  |swer%(12)..... c|
00000350  6f 75 6e 74 5f 64 6f 77  6e 25 28 36 29 0d 00 1d  |ount_down%(6)...|
00000360  17 de 20 65 6e 74 72 79  5f 61 72 65 61 73 25 28  |.. entry_areas%(|
00000370  35 2c 34 29 0d 00 1e 0f  de 20 64 73 25 28 33 32  |5,4)..... ds%(32|
00000380  2c 32 29 0d 00 1f 11 de  20 63 6f 72 72 25 28 33  |,2)..... corr%(3|
00000390  30 2c 33 29 0d 00 20 0f  de 20 73 63 61 6c 65 25  |0,3).. .. scale%|
000003a0  20 31 36 0d 00 21 0f de  20 69 6e 70 75 74 25 20  | 16..!.. input% |
000003b0  31 36 0d 00 22 10 de 20  6f 75 74 70 75 74 25 20  |16..".. output% |
000003c0  31 36 0d 00 23 17 de 20  61 6c 78 25 28 31 32 29  |16..#.. alx%(12)|
000003d0  2c 61 6c 79 25 28 31 32  29 0d 00 24 17 de 20 61  |,aly%(12)..$.. a|
000003e0  70 78 25 28 31 32 29 2c  61 70 79 25 28 31 32 29  |px%(12),apy%(12)|
000003f0  0d 00 25 12 de 20 72 65  67 72 6f 75 70 25 28 31  |..%.. regroup%(1|
00000400  32 29 0d 00 26 15 de 20  6c 69 6e 6b 5f 63 6f 64  |2)..&.. link_cod|
00000410  65 25 20 31 30 32 34 0d  00 27 12 73 74 6f 72 65  |e% 1024..'.store|
00000420  64 5f 76 67 61 25 3d 56  25 0d 00 28 0b 76 67 61  |d_vga%=V%..(.vga|
00000430  25 3d 56 25 0d 00 29 13  f2 70 75 6c 6c 5f 76 61  |%=V%..)..pull_va|
00000440  72 69 61 62 6c 65 73 0d  00 2a 15 61 64 64 72 73  |riables..*.addrs|
00000450  24 3d c3 7e 6d 5f 63 6f  64 65 31 25 0d 00 2b 2c  |$=.~m_code1%..+,|
00000460  ff 22 4c 4f 41 44 20 3c  54 61 62 6c 65 41 24 44  |."LOAD <TableA$D|
00000470  69 72 3e 2e 50 74 31 2e  47 65 6e 43 6f 64 65 20  |ir>.Pt1.GenCode |
00000480  22 2b 61 64 64 72 73 24  0d 00 2c 0e f2 61 73 73  |"+addrs$..,..ass|
00000490  65 6d 62 6c 65 32 0d 00  2d 11 f2 66 69 6e 64 5f  |emble2..-..find_|
000004a0  73 63 72 65 65 6e 73 0d  00 2e 16 f2 70 75 6c 6c  |screens.....pull|
000004b0  5f 67 65 6e 5f 63 6f 64  65 5f 76 61 72 0d 00 2f  |_gen_code_var../|
000004c0  16 f2 70 75 6c 6c 5f 70  61 63 5f 63 6f 64 65 5f  |..pull_pac_code_|
000004d0  76 61 72 0d 00 30 16 73  61 31 25 3d 73 70 72 69  |var..0.sa1%=spri|
000004e0  74 65 5f 61 72 65 61 31  25 0d 00 31 11 6e 75 6d  |te_area1%..1.num|
000004f0  62 65 72 5f 6f 66 25 3d  31 30 0d 00 32 0f 74 69  |ber_of%=10..2.ti|
00000500  6d 65 72 5f 6f 6e 25 3d  31 0d 00 33 0c 73 74 79  |mer_on%=1..3.sty|
00000510  6c 65 25 3d 31 0d 00 34  0c 6f 72 64 65 72 25 3d  |le%=1..4.order%=|
00000520  32 0d 00 35 0d f2 70 61  6c 65 74 74 65 32 0d 00  |2..5..palette2..|
00000530  36 12 ef 31 39 2c 31 2c  32 34 2c 30 2c 30 2c 30  |6..19,1,24,0,0,0|
00000540  0d 00 37 1d e7 56 25 3d  31 20 ef 20 32 33 2c 31  |..7..V%=1 . 23,1|
00000550  37 2c 37 2c 36 2c 38 3b  31 36 3b 30 3b 0d 00 38  |7,7,6,8;16;0;..8|
00000560  0c e7 51 25 3d 32 34 20  8c 0d 00 39 0d f2 70 61  |..Q%=24 ...9..pa|
00000570  6c 65 74 74 65 32 0d 00  3a 12 ef 31 39 2c 31 2c  |lette2..:..19,1,|
00000580  32 34 2c 30 2c 30 2c 30  0d 00 3b 0d f2 70 61 63  |24,0,0,0..;..pac|
00000590  63 79 28 32 29 0d 00 3c  0c 2a 46 58 31 31 33 2c  |cy(2)..<.*FX113,|
000005a0  31 0d 00 3d 0c 2a 46 58  31 31 32 2c 31 0d 00 3e  |1..=.*FX112,1..>|
000005b0  14 f2 74 73 63 6f 72 65  28 35 31 32 2c 33 36 30  |..tscore(512,360|
000005c0  29 0d 00 3f 17 f2 73 70  61 63 65 28 39 30 30 2c  |)..?..space(900,|
000005d0  31 30 30 2c 30 2c 30 29  0d 00 40 09 51 25 3d 32  |100,0,0)..@.Q%=2|
000005e0  35 0d 00 41 05 cd 0d 00  42 32 e7 51 25 3d 32 35  |5..A....B2.Q%=25|
000005f0  3a 56 25 3d 73 74 6f 72  65 64 5f 76 67 61 25 3a  |:V%=stored_vga%:|
00000600  d7 22 3c 54 61 62 6c 65  41 24 44 69 72 3e 2e 50  |."<TableA$Dir>.P|
00000610  74 31 2e 6c 69 6e 6b 22  0d 00 43 0c e7 51 25 3d  |t1.link"..C..Q%=|
00000620  33 30 20 8c 0d 00 44 0d  f2 70 61 6c 65 74 74 65  |30 ...D..palette|
00000630  32 0d 00 45 12 ef 31 39  2c 31 2c 32 34 2c 30 2c  |2..E..19,1,24,0,|
00000640  30 2c 30 0d 00 46 0d f2  70 61 63 63 79 28 32 29  |0,0..F..paccy(2)|
00000650  0d 00 47 0c 2a 46 58 31  31 33 2c 31 0d 00 48 0c  |..G.*FX113,1..H.|
00000660  2a 46 58 31 31 32 2c 31  0d 00 49 14 f2 74 73 63  |*FX112,1..I..tsc|
00000670  6f 72 65 28 35 31 32 2c  33 36 30 29 0d 00 4a 17  |ore(512,360)..J.|
00000680  f2 73 70 61 63 65 28 39  30 30 2c 31 30 30 2c 30  |.space(900,100,0|
00000690  2c 30 29 0d 00 4b 09 51  25 3d 33 31 0d 00 4c 05  |,0)..K.Q%=31..L.|
000006a0  cd 0d 00 4d 32 e7 51 25  3d 33 31 3a 56 25 3d 73  |...M2.Q%=31:V%=s|
000006b0  74 6f 72 65 64 5f 76 67  61 25 3a d7 22 3c 54 61  |tored_vga%:."<Ta|
000006c0  62 6c 65 41 24 44 69 72  3e 2e 50 74 31 2e 6c 69  |bleA$Dir>.Pt1.li|
000006d0  6e 6b 22 0d 00 4e 0c e7  51 25 3d 36 34 20 8c 0d  |nk"..N..Q%=64 ..|
000006e0  00 4f 0d f2 70 61 6c 65  74 74 65 32 0d 00 50 12  |.O..palette2..P.|
000006f0  ef 31 39 2c 31 2c 32 34  2c 30 2c 30 2c 30 0d 00  |.19,1,24,0,0,0..|
00000700  51 0d f2 70 61 63 63 79  28 31 29 0d 00 52 0c 2a  |Q..paccy(1)..R.*|
00000710  46 58 31 31 33 2c 31 0d  00 53 0c 2a 46 58 31 31  |FX113,1..S.*FX11|
00000720  32 2c 31 0d 00 54 14 f2  74 73 63 6f 72 65 28 35  |2,1..T..tscore(5|
00000730  31 32 2c 33 36 30 29 0d  00 55 17 f2 73 70 61 63  |12,360)..U..spac|
00000740  65 28 39 30 30 2c 31 30  30 2c 30 2c 30 29 0d 00  |e(900,100,0,0)..|
00000750  56 46 f2 74 65 78 74 5f  62 6f 78 28 31 30 30 2c  |VF.text_box(100,|
00000760  31 31 30 2c 31 30 38 30  2c 39 30 2c 32 2c 22 59  |110,1080,90,2,"Y|
00000770  6f 75 20 77 61 6c 6b 20  6f 6e 20 74 6f 20 74 68  |ou walk on to th|
00000780  65 20 6e 65 78 74 20 72  6f 6f 6d 2e 22 2c 22 22  |e next room.",""|
00000790  2c 22 22 29 0d 00 57 16  f2 73 70 61 63 65 28 39  |,"")..W..space(9|
000007a0  30 30 2c 31 30 2c 30 2c  30 29 0d 00 58 09 51 25  |00,10,0,0)..X.Q%|
000007b0  3d 36 35 0d 00 59 05 cd  0d 00 5a 32 e7 51 25 3d  |=65..Y....Z2.Q%=|
000007c0  36 35 3a 56 25 3d 73 74  6f 72 65 64 5f 76 67 61  |65:V%=stored_vga|
000007d0  25 3a d7 22 3c 54 61 62  6c 65 41 24 44 69 72 3e  |%:."<TableA$Dir>|
000007e0  2e 50 74 31 2e 6c 69 6e  6b 22 0d 00 5b 0c e7 51  |.Pt1.link"..[..Q|
000007f0  25 3d 37 35 20 8c 0d 00  5c 0d f2 70 61 6c 65 74  |%=75 ...\..palet|
00000800  74 65 32 0d 00 5d 12 ef  31 39 2c 31 2c 32 34 2c  |te2..]..19,1,24,|
00000810  30 2c 30 2c 30 0d 00 5e  0d f2 70 61 63 63 79 28  |0,0,0..^..paccy(|
00000820  31 29 0d 00 5f 0c 2a 46  58 31 31 33 2c 31 0d 00  |1).._.*FX113,1..|
00000830  60 0c 2a 46 58 31 31 32  2c 31 0d 00 61 14 f2 74  |`.*FX112,1..a..t|
00000840  73 63 6f 72 65 28 35 31  32 2c 33 36 30 29 0d 00  |score(512,360)..|
00000850  62 17 f2 73 70 61 63 65  28 39 30 30 2c 31 30 30  |b..space(900,100|
00000860  2c 30 2c 30 29 0d 00 63  46 f2 74 65 78 74 5f 62  |,0,0)..cF.text_b|
00000870  6f 78 28 31 30 30 2c 31  31 30 2c 31 30 38 30 2c  |ox(100,110,1080,|
00000880  39 30 2c 32 2c 22 59 6f  75 20 77 61 6c 6b 20 6f  |90,2,"You walk o|
00000890  6e 20 74 6f 20 74 68 65  20 6e 65 78 74 20 72 6f  |n to the next ro|
000008a0  6f 6d 2e 22 2c 22 22 2c  22 22 29 0d 00 64 16 f2  |om.","","")..d..|
000008b0  73 70 61 63 65 28 39 30  30 2c 31 30 2c 30 2c 30  |space(900,10,0,0|
000008c0  29 0d 00 65 09 51 25 3d  36 36 0d 00 66 05 cd 0d  |)..e.Q%=66..f...|
000008d0  00 67 32 e7 51 25 3d 36  36 3a 56 25 3d 73 74 6f  |.g2.Q%=66:V%=sto|
000008e0  72 65 64 5f 76 67 61 25  3a d7 22 3c 54 61 62 6c  |red_vga%:."<Tabl|
000008f0  65 41 24 44 69 72 3e 2e  50 74 31 2e 6c 69 6e 6b  |eA$Dir>.Pt1.link|
00000900  22 0d 00 68 0d e7 51 25  3d 32 31 31 20 8c 0d 00  |"..h..Q%=211 ...|
00000910  69 0d f2 70 61 6c 65 74  74 65 32 0d 00 6a 12 ef  |i..palette2..j..|
00000920  31 39 2c 31 2c 32 34 2c  30 2c 30 2c 30 0d 00 6b  |19,1,24,0,0,0..k|
00000930  10 f2 70 61 63 63 79 28  b3 28 32 29 29 0d 00 6c  |..paccy(.(2))..l|
00000940  0c 2a 46 58 31 31 33 2c  31 0d 00 6d 0c 2a 46 58  |.*FX113,1..m.*FX|
00000950  31 31 32 2c 31 0d 00 6e  14 f2 74 73 63 6f 72 65  |112,1..n..tscore|
00000960  28 35 31 32 2c 33 36 30  29 0d 00 6f 17 f2 73 70  |(512,360)..o..sp|
00000970  61 63 65 28 39 30 30 2c  31 30 30 2c 30 2c 30 29  |ace(900,100,0,0)|
00000980  0d 00 70 0d e7 53 25 3d  31 20 f2 64 74 0d 00 71  |..p..S%=1 .dt..q|
00000990  1c d7 22 3c 54 61 62 6c  65 41 24 44 69 72 3e 2e  |.."<TableA$Dir>.|
000009a0  50 74 31 2e 6c 69 6e 6b  22 0d 00 72 05 cd 0d 00  |Pt1.link"..r....|
000009b0  73 1a dd f2 73 65 74 5f  75 70 5f 73 63 72 65 65  |s...set_up_scree|
000009c0  6e 73 28 73 65 74 25 29  0d 00 74 0d e7 73 65 74  |ns(set%)..t..set|
000009d0  25 3d 39 20 8c 0d 00 75  1a 64 65 73 5f 73 70 72  |%=9 ...u.des_spr|
000009e0  69 74 65 24 3d 22 67 61  6d 65 31 73 31 30 22 0d  |ite$="game1s10".|
000009f0  00 76 4b 74 69 74 6c 65  24 3d 22 4c 65 76 65 6c  |.vKtitle$="Level|
00000a00  20 37 2e 20 20 54 68 65  20 63 72 75 73 68 65 72  | 7.  The crusher|
00000a10  2e 22 3a 61 64 24 3d 22  41 6c 6c 6f 77 20 74 68  |.":ad$="Allow th|
00000a20  65 20 74 6f 70 20 61 6c  69 65 6e 20 74 6f 20 63  |e top alien to c|
00000a30  68 61 73 65 20 79 6f 75  2e 22 0d 00 77 11 6d 61  |hase you."..w.ma|
00000a40  6e 5f 67 72 69 64 78 25  3d 31 34 0d 00 78 10 6d  |n_gridx%=14..x.m|
00000a50  61 6e 5f 67 72 69 64 79  25 3d 36 0d 00 79 13 74  |an_gridy%=6..y.t|
00000a60  6f 74 61 6c 5f 61 70 70  6c 65 73 25 3d 34 0d 00  |otal_apples%=4..|
00000a70  7a 19 61 70 78 25 28 31  29 3d 31 32 3a 61 70 79  |z.apx%(1)=12:apy|
00000a80  25 28 31 29 3d 31 33 0d  00 7b 19 61 70 78 25 28  |%(1)=13..{.apx%(|
00000a90  32 29 3d 31 32 3a 61 70  79 25 28 32 29 3d 31 34  |2)=12:apy%(2)=14|
00000aa0  0d 00 7c 19 61 70 78 25  28 33 29 3d 31 33 3a 61  |..|.apx%(3)=13:a|
00000ab0  70 79 25 28 33 29 3d 31  33 0d 00 7d 19 61 70 78  |py%(3)=13..}.apx|
00000ac0  25 28 34 29 3d 31 33 3a  61 70 79 25 28 34 29 3d  |%(4)=13:apy%(4)=|
00000ad0  31 34 0d 00 7e 19 61 70  78 25 28 35 29 3d 31 33  |14..~.apx%(5)=13|
00000ae0  3a 61 70 79 25 28 35 29  3d 31 33 0d 00 7f 19 61  |:apy%(5)=13....a|
00000af0  70 78 25 28 36 29 3d 31  33 3a 61 70 79 25 28 36  |px%(6)=13:apy%(6|
00000b00  29 3d 31 34 0d 00 80 19  61 70 78 25 28 37 29 3d  |)=14....apx%(7)=|
00000b10  31 33 3a 61 70 79 25 28  37 29 3d 31 35 0d 00 81  |13:apy%(7)=15...|
00000b20  19 61 70 78 25 28 38 29  3d 31 33 3a 61 70 79 25  |.apx%(8)=13:apy%|
00000b30  28 38 29 3d 31 36 0d 00  82 13 74 6f 74 61 6c 5f  |(8)=16....total_|
00000b40  61 6c 69 65 6e 73 25 3d  32 0d 00 83 17 61 6c 78  |aliens%=2....alx|
00000b50  25 28 31 29 3d 33 3a 61  6c 79 25 28 31 29 3d 30  |%(1)=3:aly%(1)=0|
00000b60  0d 00 84 18 61 6c 78 25  28 32 29 3d 39 3a 61 6c  |....alx%(2)=9:al|
00000b70  79 25 28 32 29 3d 31 37  0d 00 85 18 61 6c 78 25  |y%(2)=17....alx%|
00000b80  28 33 29 3d 32 32 3a 61  6c 79 25 28 33 29 3d 30  |(3)=22:aly%(3)=0|
00000b90  0d 00 86 12 74 69 6d 65  5f 61 72 65 61 25 3d 31  |....time_area%=1|
00000ba0  38 30 0d 00 87 05 cd 0d  00 88 0d e7 73 65 74 25  |80..........set%|
00000bb0  3d 37 20 8c 0d 00 89 19  64 65 73 5f 73 70 72 69  |=7 .....des_spri|
00000bc0  74 65 24 3d 22 67 61 6d  65 31 73 39 22 0d 00 8a  |te$="game1s9"...|
00000bd0  3d 74 69 74 6c 65 24 3d  22 4c 65 76 65 6c 20 39  |=title$="Level 9|
00000be0  2e 20 20 53 61 6e 64 20  74 75 6e 6e 65 6c 73 2e  |.  Sand tunnels.|
00000bf0  22 3a 61 64 24 3d 22 4d  6f 76 65 20 76 65 72 79  |":ad$="Move very|
00000c00  20 71 75 69 63 6b 6c 79  21 22 0d 00 8b 11 6d 61  | quickly!"....ma|
00000c10  6e 5f 67 72 69 64 78 25  3d 32 33 0d 00 8c 10 6d  |n_gridx%=23....m|
00000c20  61 6e 5f 67 72 69 64 79  25 3d 32 0d 00 8d 13 74  |an_gridy%=2....t|
00000c30  6f 74 61 6c 5f 61 70 70  6c 65 73 25 3d 34 0d 00  |otal_apples%=4..|
00000c40  8e 19 61 70 78 25 28 31  29 3d 31 32 3a 61 70 79  |..apx%(1)=12:apy|
00000c50  25 28 31 29 3d 31 35 0d  00 8f 19 61 70 78 25 28  |%(1)=15....apx%(|
00000c60  32 29 3d 31 32 3a 61 70  79 25 28 32 29 3d 31 36  |2)=12:apy%(2)=16|
00000c70  0d 00 90 19 61 70 78 25  28 33 29 3d 31 33 3a 61  |....apx%(3)=13:a|
00000c80  70 79 25 28 33 29 3d 31  35 0d 00 91 19 61 70 78  |py%(3)=15....apx|
00000c90  25 28 34 29 3d 31 33 3a  61 70 79 25 28 34 29 3d  |%(4)=13:apy%(4)=|
00000ca0  31 36 0d 00 92 19 61 70  78 25 28 35 29 3d 31 33  |16....apx%(5)=13|
00000cb0  3a 61 70 79 25 28 35 29  3d 31 33 0d 00 93 19 61  |:apy%(5)=13....a|
00000cc0  70 78 25 28 36 29 3d 31  33 3a 61 70 79 25 28 36  |px%(6)=13:apy%(6|
00000cd0  29 3d 31 34 0d 00 94 19  61 70 78 25 28 37 29 3d  |)=14....apx%(7)=|
00000ce0  31 33 3a 61 70 79 25 28  37 29 3d 31 35 0d 00 95  |13:apy%(7)=15...|
00000cf0  19 61 70 78 25 28 38 29  3d 31 33 3a 61 70 79 25  |.apx%(8)=13:apy%|
00000d00  28 38 29 3d 31 36 0d 00  96 13 74 6f 74 61 6c 5f  |(8)=16....total_|
00000d10  61 6c 69 65 6e 73 25 3d  33 0d 00 97 17 61 6c 78  |aliens%=3....alx|
00000d20  25 28 31 29 3d 33 3a 61  6c 79 25 28 31 29 3d 36  |%(1)=3:aly%(1)=6|
00000d30  0d 00 98 18 61 6c 78 25  28 32 29 3d 39 3a 61 6c  |....alx%(2)=9:al|
00000d40  79 25 28 32 29 3d 31 37  0d 00 99 18 61 6c 78 25  |y%(2)=17....alx%|
00000d50  28 33 29 3d 31 35 3a 61  6c 79 25 28 33 29 3d 35  |(3)=15:aly%(3)=5|
00000d60  0d 00 9a 12 74 69 6d 65  5f 61 72 65 61 25 3d 31  |....time_area%=1|
00000d70  31 30 0d 00 9b 05 cd 0d  00 9c 0d e7 73 65 74 25  |10..........set%|
00000d80  3d 31 20 8c 0d 00 9d 19  64 65 73 5f 73 70 72 69  |=1 .....des_spri|
00000d90  74 65 24 3d 22 67 61 6d  65 31 73 31 22 0d 00 9e  |te$="game1s1"...|
00000da0  4a 74 69 74 6c 65 24 3d  22 4c 65 76 65 6c 20 31  |Jtitle$="Level 1|
00000db0  2e 20 20 54 68 65 20 73  74 6f 72 65 20 72 6f 6f  |.  The store roo|
00000dc0  6d 2e 22 3a 61 64 24 3d  22 57 61 74 63 68 20 66  |m.":ad$="Watch f|
00000dd0  6f 72 20 74 68 65 20 68  69 64 64 65 6e 20 64 61  |or the hidden da|
00000de0  6e 67 65 72 73 21 22 0d  00 9f 11 6d 61 6e 5f 67  |ngers!"....man_g|
00000df0  72 69 64 78 25 3d 32 33  0d 00 a0 10 6d 61 6e 5f  |ridx%=23....man_|
00000e00  67 72 69 64 79 25 3d 32  0d 00 a1 13 74 6f 74 61  |gridy%=2....tota|
00000e10  6c 5f 61 70 70 6c 65 73  25 3d 32 0d 00 a2 17 61  |l_apples%=2....a|
00000e20  70 78 25 28 31 29 3d 39  3a 61 70 79 25 28 31 29  |px%(1)=9:apy%(1)|
00000e30  3d 38 0d 00 a3 18 61 70  78 25 28 32 29 3d 31 36  |=8....apx%(2)=16|
00000e40  3a 61 70 79 25 28 32 29  3d 38 0d 00 a4 18 61 70  |:apy%(2)=8....ap|
00000e50  78 25 28 33 29 3d 31 34  3a 61 70 79 25 28 33 29  |x%(3)=14:apy%(3)|
00000e60  3d 38 0d 00 a5 18 61 70  78 25 28 34 29 3d 31 36  |=8....apx%(4)=16|
00000e70  3a 61 70 79 25 28 34 29  3d 38 0d 00 a6 19 61 70  |:apy%(4)=8....ap|
00000e80  78 25 28 35 29 3d 31 34  3a 61 70 79 25 28 35 29  |x%(5)=14:apy%(5)|
00000e90  3d 31 33 0d 00 a7 19 61  70 78 25 28 36 29 3d 31  |=13....apx%(6)=1|
00000ea0  34 3a 61 70 79 25 28 36  29 3d 31 34 0d 00 a8 19  |4:apy%(6)=14....|
00000eb0  61 70 78 25 28 37 29 3d  31 33 3a 61 70 79 25 28  |apx%(7)=13:apy%(|
00000ec0  37 29 3d 31 33 0d 00 a9  19 61 70 78 25 28 38 29  |7)=13....apx%(8)|
00000ed0  3d 31 33 3a 61 70 79 25  28 38 29 3d 31 34 0d 00  |=13:apy%(8)=14..|
00000ee0  aa 13 74 6f 74 61 6c 5f  61 6c 69 65 6e 73 25 3d  |..total_aliens%=|
00000ef0  32 0d 00 ab 18 61 6c 78  25 28 31 29 3d 35 3a 61  |2....alx%(1)=5:a|
00000f00  6c 79 25 28 31 29 3d 31  35 0d 00 ac 18 61 6c 78  |ly%(1)=15....alx|
00000f10  25 28 32 29 3d 37 3a 61  6c 79 25 28 32 29 3d 31  |%(2)=7:aly%(2)=1|
00000f20  35 0d 00 ad 18 61 6c 78  25 28 33 29 3d 37 3a 61  |5....alx%(3)=7:a|
00000f30  6c 79 25 28 33 29 3d 31  35 0d 00 ae 19 61 6c 78  |ly%(3)=15....alx|
00000f40  25 28 34 29 3d 31 37 3a  61 6c 79 25 28 34 29 3d  |%(4)=17:aly%(4)=|
00000f50  31 35 0d 00 af 12 74 69  6d 65 5f 61 72 65 61 25  |15....time_area%|
00000f60  3d 31 32 30 0d 00 b0 05  cd 0d 00 b1 0d e7 73 65  |=120..........se|
00000f70  74 25 3d 38 20 8c 0d 00  b2 19 64 65 73 5f 73 70  |t%=8 .....des_sp|
00000f80  72 69 74 65 24 3d 22 67  61 6d 65 31 73 37 22 0d  |rite$="game1s7".|
00000f90  00 b3 44 74 69 74 6c 65  24 3d 22 4c 65 76 65 6c  |..Dtitle$="Level|
00000fa0  20 37 2e 20 20 54 68 65  20 63 68 65 6d 69 63 61  | 7.  The chemica|
00000fb0  6c 20 77 6f 72 6b 73 2e  22 3a 61 64 24 3d 22 47  |l works.":ad$="G|
00000fc0  6f 20 74 68 72 6f 75 67  68 20 74 68 65 20 74 6f  |o through the to|
00000fd0  70 2e 22 0d 00 b4 11 6d  61 6e 5f 67 72 69 64 78  |p."....man_gridx|
00000fe0  25 3d 32 33 0d 00 b5 10  6d 61 6e 5f 67 72 69 64  |%=23....man_grid|
00000ff0  79 25 3d 32 0d 00 b6 13  74 6f 74 61 6c 5f 61 70  |y%=2....total_ap|
00001000  70 6c 65 73 25 3d 32 0d  00 b7 17 61 70 78 25 28  |ples%=2....apx%(|
00001010  31 29 3d 38 3a 61 70 79  25 28 31 29 3d 35 0d 00  |1)=8:apy%(1)=5..|
00001020  b8 18 61 70 78 25 28 32  29 3d 31 37 3a 61 70 79  |..apx%(2)=17:apy|
00001030  25 28 32 29 3d 35 0d 00  b9 18 61 70 78 25 28 33  |%(2)=5....apx%(3|
00001040  29 3d 31 31 3a 61 70 79  25 28 33 29 3d 35 0d 00  |)=11:apy%(3)=5..|
00001050  ba 18 61 70 78 25 28 34  29 3d 31 32 3a 61 70 79  |..apx%(4)=12:apy|
00001060  25 28 34 29 3d 35 0d 00  bb 18 61 70 78 25 28 35  |%(4)=5....apx%(5|
00001070  29 3d 31 33 3a 61 70 79  25 28 35 29 3d 35 0d 00  |)=13:apy%(5)=5..|
00001080  bc 18 61 70 78 25 28 36  29 3d 31 34 3a 61 70 79  |..apx%(6)=14:apy|
00001090  25 28 36 29 3d 35 0d 00  bd 18 61 70 78 25 28 37  |%(6)=5....apx%(7|
000010a0  29 3d 31 35 3a 61 70 79  25 28 37 29 3d 35 0d 00  |)=15:apy%(7)=5..|
000010b0  be 18 61 70 78 25 28 38  29 3d 31 36 3a 61 70 79  |..apx%(8)=16:apy|
000010c0  25 28 38 29 3d 35 0d 00  bf 13 74 6f 74 61 6c 5f  |%(8)=5....total_|
000010d0  61 6c 69 65 6e 73 25 3d  33 0d 00 c0 19 61 6c 78  |aliens%=3....alx|
000010e0  25 28 31 29 3d 31 32 3a  61 6c 79 25 28 31 29 3d  |%(1)=12:aly%(1)=|
000010f0  31 35 0d 00 c1 19 61 6c  78 25 28 32 29 3d 31 33  |15....alx%(2)=13|
00001100  3a 61 6c 79 25 28 32 29  3d 31 35 0d 00 c2 18 61  |:aly%(2)=15....a|
00001110  6c 78 25 28 33 29 3d 32  32 3a 61 6c 79 25 28 33  |lx%(3)=22:aly%(3|
00001120  29 3d 37 0d 00 c3 17 61  6c 78 25 28 33 29 3d 35  |)=7....alx%(3)=5|
00001130  3a 61 6c 79 25 28 34 29  3d 37 0d 00 c4 12 74 69  |:aly%(4)=7....ti|
00001140  6d 65 5f 61 72 65 61 25  3d 31 38 30 0d 00 c5 05  |me_area%=180....|
00001150  cd 0d 00 c6 0d e7 73 65  74 25 3d 32 20 8c 0d 00  |......set%=2 ...|
00001160  c7 19 64 65 73 5f 73 70  72 69 74 65 24 3d 22 67  |..des_sprite$="g|
00001170  61 6d 65 31 73 33 22 0d  00 c8 45 74 69 74 6c 65  |ame1s3"...Etitle|
00001180  24 3d 22 4c 65 76 65 6c  20 33 2e 20 54 68 65 20  |$="Level 3. The |
00001190  68 69 64 64 65 6e 20 6d  61 7a 65 2e 22 3a 61 64  |hidden maze.":ad|
000011a0  24 3d 22 55 73 65 20 74  68 65 20 73 65 63 72 65  |$="Use the secre|
000011b0  74 20 70 61 73 73 61 67  65 73 2e 22 0d 00 c9 11  |t passages."....|
000011c0  6d 61 6e 5f 67 72 69 64  78 25 3d 31 30 0d 00 ca  |man_gridx%=10...|
000011d0  11 6d 61 6e 5f 67 72 69  64 79 25 3d 31 30 0d 00  |.man_gridy%=10..|
000011e0  cb 13 74 6f 74 61 6c 5f  61 70 70 6c 65 73 25 3d  |..total_apples%=|
000011f0  32 0d 00 cc 18 61 70 78  25 28 31 29 3d 39 3a 61  |2....apx%(1)=9:a|
00001200  70 79 25 28 31 29 3d 31  35 0d 00 cd 19 61 70 78  |py%(1)=15....apx|
00001210  25 28 32 29 3d 31 36 3a  61 70 79 25 28 32 29 3d  |%(2)=16:apy%(2)=|
00001220  31 35 0d 00 ce 19 61 70  78 25 28 33 29 3d 31 36  |15....apx%(3)=16|
00001230  3a 61 70 79 25 28 33 29  3d 31 35 0d 00 cf 19 61  |:apy%(3)=15....a|
00001240  70 78 25 28 34 29 3d 31  36 3a 61 70 79 25 28 34  |px%(4)=16:apy%(4|
00001250  29 3d 31 36 0d 00 d0 19  61 70 78 25 28 35 29 3d  |)=16....apx%(5)=|
00001260  31 36 3a 61 70 79 25 28  35 29 3d 31 35 0d 00 d1  |16:apy%(5)=15...|
00001270  19 61 70 78 25 28 36 29  3d 31 36 3a 61 70 79 25  |.apx%(6)=16:apy%|
00001280  28 36 29 3d 31 36 0d 00  d2 19 61 70 78 25 28 37  |(6)=16....apx%(7|
00001290  29 3d 31 36 3a 61 70 79  25 28 37 29 3d 31 37 0d  |)=16:apy%(7)=17.|
000012a0  00 d3 19 61 70 78 25 28  38 29 3d 31 36 3a 61 70  |...apx%(8)=16:ap|
000012b0  79 25 28 38 29 3d 31 38  0d 00 d4 13 74 6f 74 61  |y%(8)=18....tota|
000012c0  6c 5f 61 6c 69 65 6e 73  25 3d 32 0d 00 d5 18 61  |l_aliens%=2....a|
000012d0  6c 78 25 28 31 29 3d 32  3a 61 6c 79 25 28 31 29  |lx%(1)=2:aly%(1)|
000012e0  3d 31 34 0d 00 d6 19 61  6c 78 25 28 32 29 3d 32  |=14....alx%(2)=2|
000012f0  32 3a 61 6c 79 25 28 32  29 3d 31 36 0d 00 d7 18  |2:aly%(2)=16....|
00001300  61 6c 78 25 28 33 29 3d  32 33 3a 61 6c 79 25 28  |alx%(3)=23:aly%(|
00001310  33 29 3d 36 0d 00 d8 19  61 6c 78 25 28 34 29 3d  |3)=6....alx%(4)=|
00001320  31 37 3a 61 6c 79 25 28  34 29 3d 31 35 0d 00 d9  |17:aly%(4)=15...|
00001330  12 74 69 6d 65 5f 61 72  65 61 25 3d 31 32 30 0d  |.time_area%=120.|
00001340  00 da 05 cd 0d 00 db 0d  e7 73 65 74 25 3d 35 20  |.........set%=5 |
00001350  8c 0d 00 dc 19 64 65 73  5f 73 70 72 69 74 65 24  |.....des_sprite$|
00001360  3d 22 67 61 6d 65 31 73  36 22 0d 00 dd 52 74 69  |="game1s6"...Rti|
00001370  74 6c 65 24 3d 22 4c 65  76 65 6c 20 36 2e 20 20  |tle$="Level 6.  |
00001380  44 61 6e 67 65 72 20 74  75 6e 6e 65 6c 73 2e 22  |Danger tunnels."|
00001390  3a 61 64 24 3d 22 54 61  6b 65 20 74 68 65 20 70  |:ad$="Take the p|
000013a0  6f 77 65 72 20 63 65 6c  6c 73 20 66 72 6f 6d 20  |ower cells from |
000013b0  74 68 65 20 62 6f 74 74  6f 6d 2e 22 0d 00 de 11  |the bottom."....|
000013c0  6d 61 6e 5f 67 72 69 64  78 25 3d 31 39 0d 00 df  |man_gridx%=19...|
000013d0  11 6d 61 6e 5f 67 72 69  64 79 25 3d 31 36 0d 00  |.man_gridy%=16..|
000013e0  e0 13 74 6f 74 61 6c 5f  61 70 70 6c 65 73 25 3d  |..total_apples%=|
000013f0  34 0d 00 e1 18 61 70 78  25 28 31 29 3d 39 3a 61  |4....apx%(1)=9:a|
00001400  70 79 25 28 31 29 3d 31  35 0d 00 e2 18 61 70 78  |py%(1)=15....apx|
00001410  25 28 32 29 3d 39 3a 61  70 79 25 28 32 29 3d 31  |%(2)=9:apy%(2)=1|
00001420  36 0d 00 e3 19 61 70 78  25 28 33 29 3d 31 36 3a  |6....apx%(3)=16:|
00001430  61 70 79 25 28 33 29 3d  31 35 0d 00 e4 19 61 70  |apy%(3)=15....ap|
00001440  78 25 28 34 29 3d 31 36  3a 61 70 79 25 28 34 29  |x%(4)=16:apy%(4)|
00001450  3d 31 36 0d 00 e5 19 61  70 78 25 28 35 29 3d 31  |=16....apx%(5)=1|
00001460  36 3a 61 70 79 25 28 35  29 3d 31 35 0d 00 e6 19  |6:apy%(5)=15....|
00001470  61 70 78 25 28 36 29 3d  31 36 3a 61 70 79 25 28  |apx%(6)=16:apy%(|
00001480  36 29 3d 31 36 0d 00 e7  19 61 70 78 25 28 37 29  |6)=16....apx%(7)|
00001490  3d 31 36 3a 61 70 79 25  28 37 29 3d 31 37 0d 00  |=16:apy%(7)=17..|
000014a0  e8 19 61 70 78 25 28 38  29 3d 31 36 3a 61 70 79  |..apx%(8)=16:apy|
000014b0  25 28 38 29 3d 31 38 0d  00 e9 13 74 6f 74 61 6c  |%(8)=18....total|
000014c0  5f 61 6c 69 65 6e 73 25  3d 34 0d 00 ea 17 61 6c  |_aliens%=4....al|
000014d0  78 25 28 31 29 3d 33 3a  61 6c 79 25 28 31 29 3d  |x%(1)=3:aly%(1)=|
000014e0  39 0d 00 eb 18 61 6c 78  25 28 32 29 3d 31 32 3a  |9....alx%(2)=12:|
000014f0  61 6c 79 25 28 32 29 3d  32 0d 00 ec 18 61 6c 78  |aly%(2)=2....alx|
00001500  25 28 33 29 3d 37 3a 61  6c 79 25 28 33 29 3d 31  |%(3)=7:aly%(3)=1|
00001510  38 0d 00 ed 19 61 6c 78  25 28 34 29 3d 31 37 3a  |8....alx%(4)=17:|
00001520  61 6c 79 25 28 34 29 3d  31 38 0d 00 ee 12 74 69  |aly%(4)=18....ti|
00001530  6d 65 5f 61 72 65 61 25  3d 31 38 30 0d 00 ef 05  |me_area%=180....|
00001540  cd 0d 00 f0 0d e7 73 65  74 25 3d 33 20 8c 0d 00  |......set%=3 ...|
00001550  f1 19 64 65 73 5f 73 70  72 69 74 65 24 3d 22 67  |..des_sprite$="g|
00001560  61 6d 65 31 73 32 22 0d  00 f2 49 74 69 74 6c 65  |ame1s2"...Ititle|
00001570  24 3d 22 4c 65 76 65 6c  20 32 2e 20 20 54 68 65  |$="Level 2.  The|
00001580  20 63 6f 6e 74 72 6f 6c  20 63 65 6e 74 72 65 2e  | control centre.|
00001590  22 3a 61 64 24 3d 22 43  68 6f 6f 73 65 20 74 68  |":ad$="Choose th|
000015a0  65 20 63 6f 72 72 65 63  74 20 70 61 74 68 2e 22  |e correct path."|
000015b0  0d 00 f3 10 6d 61 6e 5f  67 72 69 64 78 25 3d 31  |....man_gridx%=1|
000015c0  0d 00 f4 10 6d 61 6e 5f  67 72 69 64 79 25 3d 30  |....man_gridy%=0|
000015d0  0d 00 f5 13 74 6f 74 61  6c 5f 61 70 70 6c 65 73  |....total_apples|
000015e0  25 3d 32 0d 00 f6 18 61  70 78 25 28 31 29 3d 31  |%=2....apx%(1)=1|
000015f0  33 3a 61 70 79 25 28 31  29 3d 38 0d 00 f7 19 61  |3:apy%(1)=8....a|
00001600  70 78 25 28 32 29 3d 31  33 3a 61 70 79 25 28 32  |px%(2)=13:apy%(2|
00001610  29 3d 31 30 0d 00 f8 19  61 70 78 25 28 33 29 3d  |)=10....apx%(3)=|
00001620  31 33 3a 61 70 79 25 28  33 29 3d 31 30 0d 00 f9  |13:apy%(3)=10...|
00001630  19 61 70 78 25 28 34 29  3d 31 31 3a 61 70 79 25  |.apx%(4)=11:apy%|
00001640  28 34 29 3d 31 31 0d 00  fa 18 61 70 78 25 28 35  |(4)=11....apx%(5|
00001650  29 3d 31 35 3a 61 70 79  25 28 35 29 3d 38 0d 00  |)=15:apy%(5)=8..|
00001660  fb 18 61 70 78 25 28 36  29 3d 31 35 3a 61 70 79  |..apx%(6)=15:apy|
00001670  25 28 36 29 3d 39 0d 00  fc 19 61 70 78 25 28 37  |%(6)=9....apx%(7|
00001680  29 3d 31 35 3a 61 70 79  25 28 37 29 3d 31 30 0d  |)=15:apy%(7)=10.|
00001690  00 fd 19 61 70 78 25 28  38 29 3d 31 35 3a 61 70  |...apx%(8)=15:ap|
000016a0  79 25 28 38 29 3d 31 31  0d 00 fe 13 74 6f 74 61  |y%(8)=11....tota|
000016b0  6c 5f 61 6c 69 65 6e 73  25 3d 34 0d 00 ff 18 61  |l_aliens%=4....a|
000016c0  6c 78 25 28 31 29 3d 32  31 3a 61 6c 79 25 28 31  |lx%(1)=21:aly%(1|
000016d0  29 3d 37 0d 01 00 19 61  6c 78 25 28 32 29 3d 31  |)=7....alx%(2)=1|
000016e0  31 3a 61 6c 79 25 28 32  29 3d 31 32 0d 01 01 18  |1:aly%(2)=12....|
000016f0  61 6c 78 25 28 33 29 3d  31 35 3a 61 6c 79 25 28  |alx%(3)=15:aly%(|
00001700  33 29 3d 36 0d 01 02 18  61 6c 78 25 28 34 29 3d  |3)=6....alx%(4)=|
00001710  36 3a 61 6c 79 25 28 34  29 3d 31 38 0d 01 03 12  |6:aly%(4)=18....|
00001720  74 69 6d 65 5f 61 72 65  61 25 3d 31 36 30 0d 01  |time_area%=160..|
00001730  04 05 cd 0d 01 05 0d e7  73 65 74 25 3d 34 20 8c  |........set%=4 .|
00001740  0d 01 06 19 64 65 73 5f  73 70 72 69 74 65 24 3d  |....des_sprite$=|
00001750  22 67 61 6d 65 31 73 34  22 0d 01 07 4c 74 69 74  |"game1s4"...Ltit|
00001760  6c 65 24 3d 22 4c 65 76  65 6c 20 34 2e 20 20 54  |le$="Level 4.  T|
00001770  68 65 20 73 69 6d 70 6c  65 20 6d 61 7a 65 2e 22  |he simple maze."|
00001780  3a 61 64 24 3d 22 44 6f  6e 27 74 20 67 65 74 20  |:ad$="Don't get |
00001790  63 6c 6f 73 65 20 74 6f  20 74 68 65 20 61 6c 69  |close to the ali|
000017a0  65 6e 73 2e 22 0d 01 08  10 6d 61 6e 5f 67 72 69  |ens."....man_gri|
000017b0  64 78 25 3d 34 0d 01 09  10 6d 61 6e 5f 67 72 69  |dx%=4....man_gri|
000017c0  64 79 25 3d 30 0d 01 0a  13 74 6f 74 61 6c 5f 61  |dy%=0....total_a|
000017d0  70 70 6c 65 73 25 3d 33  0d 01 0b 17 61 70 78 25  |pples%=3....apx%|
000017e0  28 31 29 3d 39 3a 61 70  79 25 28 31 29 3d 30 0d  |(1)=9:apy%(1)=0.|
000017f0  01 0c 18 61 70 78 25 28  32 29 3d 33 3a 61 70 79  |...apx%(2)=3:apy|
00001800  25 28 32 29 3d 31 34 0d  01 0d 18 61 70 78 25 28  |%(2)=14....apx%(|
00001810  33 29 3d 37 3a 61 70 79  25 28 33 29 3d 31 34 0d  |3)=7:apy%(3)=14.|
00001820  01 0e 18 61 70 78 25 28  34 29 3d 33 3a 61 70 79  |...apx%(4)=3:apy|
00001830  25 28 34 29 3d 31 35 0d  01 0f 18 61 70 78 25 28  |%(4)=15....apx%(|
00001840  35 29 3d 37 3a 61 70 79  25 28 35 29 3d 31 32 0d  |5)=7:apy%(5)=12.|
00001850  01 10 18 61 70 78 25 28  36 29 3d 37 3a 61 70 79  |...apx%(6)=7:apy|
00001860  25 28 36 29 3d 31 33 0d  01 11 18 61 70 78 25 28  |%(6)=13....apx%(|
00001870  37 29 3d 37 3a 61 70 79  25 28 37 29 3d 31 34 0d  |7)=7:apy%(7)=14.|
00001880  01 12 18 61 70 78 25 28  38 29 3d 37 3a 61 70 79  |...apx%(8)=7:apy|
00001890  25 28 38 29 3d 31 35 0d  01 13 13 74 6f 74 61 6c  |%(8)=15....total|
000018a0  5f 61 6c 69 65 6e 73 25  3d 35 0d 01 14 19 61 6c  |_aliens%=5....al|
000018b0  78 25 28 31 29 3d 32 34  3a 61 6c 79 25 28 31 29  |x%(1)=24:aly%(1)|
000018c0  3d 31 30 0d 01 15 19 61  6c 78 25 28 32 29 3d 31  |=10....alx%(2)=1|
000018d0  38 3a 61 6c 79 25 28 32  29 3d 31 33 0d 01 16 18  |8:aly%(2)=13....|
000018e0  61 6c 78 25 28 33 29 3d  31 36 3a 61 6c 79 25 28  |alx%(3)=16:aly%(|
000018f0  33 29 3d 37 0d 01 17 18  61 6c 78 25 28 34 29 3d  |3)=7....alx%(4)=|
00001900  31 31 3a 61 6c 79 25 28  34 29 3d 38 0d 01 18 19  |11:aly%(4)=8....|
00001910  61 6c 78 25 28 35 29 3d  31 34 3a 61 6c 79 25 28  |alx%(5)=14:aly%(|
00001920  35 29 3d 31 31 0d 01 19  12 74 69 6d 65 5f 61 72  |5)=11....time_ar|
00001930  65 61 25 3d 31 36 30 0d  01 1a 05 cd 0d 01 1b 0d  |ea%=160.........|
00001940  e7 73 65 74 25 3d 36 20  8c 0d 01 1c 19 64 65 73  |.set%=6 .....des|
00001950  5f 73 70 72 69 74 65 24  3d 22 67 61 6d 65 31 73  |_sprite$="game1s|
00001960  35 22 0d 01 1d 4b 74 69  74 6c 65 24 3d 22 4c 65  |5"...Ktitle$="Le|
00001970  76 65 6c 20 35 2e 20 20  53 6f 72 74 69 6e 67 20  |vel 5.  Sorting |
00001980  61 72 65 61 2e 22 3a 61  64 24 3d 22 54 61 6b 65  |area.":ad$="Take|
00001990  20 74 68 65 20 72 69 67  68 74 20 70 6f 77 65 72  | the right power|
000019a0  20 63 65 6c 6c 20 66 69  72 73 74 2e 22 0d 01 1e  | cell first."...|
000019b0  10 6d 61 6e 5f 67 72 69  64 78 25 3d 34 0d 01 1f  |.man_gridx%=4...|
000019c0  10 6d 61 6e 5f 67 72 69  64 79 25 3d 32 0d 01 20  |.man_gridy%=2.. |
000019d0  13 74 6f 74 61 6c 5f 61  70 70 6c 65 73 25 3d 33  |.total_apples%=3|
000019e0  0d 01 21 17 61 70 78 25  28 31 29 3d 39 3a 61 70  |..!.apx%(1)=9:ap|
000019f0  79 25 28 31 29 3d 39 0d  01 22 19 61 70 78 25 28  |y%(1)=9..".apx%(|
00001a00  32 29 3d 31 32 3a 61 70  79 25 28 32 29 3d 31 30  |2)=12:apy%(2)=10|
00001a10  0d 01 23 18 61 70 78 25  28 33 29 3d 31 35 3a 61  |..#.apx%(3)=15:a|
00001a20  70 79 25 28 33 29 3d 39  0d 01 24 17 61 70 78 25  |py%(3)=9..$.apx%|
00001a30  28 34 29 3d 37 3a 61 70  79 25 28 34 29 3d 39 0d  |(4)=7:apy%(4)=9.|
00001a40  01 25 17 61 70 78 25 28  35 29 3d 39 3a 61 70 79  |.%.apx%(5)=9:apy|
00001a50  25 28 35 29 3d 39 0d 01  26 18 61 70 78 25 28 36  |%(5)=9..&.apx%(6|
00001a60  29 3d 31 31 3a 61 70 79  25 28 36 29 3d 39 0d 01  |)=11:apy%(6)=9..|
00001a70  27 18 61 70 78 25 28 37  29 3d 31 33 3a 61 70 79  |'.apx%(7)=13:apy|
00001a80  25 28 37 29 3d 39 0d 01  28 18 61 70 78 25 28 38  |%(7)=9..(.apx%(8|
00001a90  29 3d 31 35 3a 61 70 79  25 28 38 29 3d 39 0d 01  |)=15:apy%(8)=9..|
00001aa0  29 18 61 70 78 25 28 39  29 3d 31 37 3a 61 70 79  |).apx%(9)=17:apy|
00001ab0  25 28 39 29 3d 39 0d 01  2a 1a 61 70 78 25 28 31  |%(9)=9..*.apx%(1|
00001ac0  30 29 3d 31 39 3a 61 70  79 25 28 31 30 29 3d 39  |0)=19:apy%(10)=9|
00001ad0  0d 01 2b 1a 61 70 78 25  28 31 31 29 3d 32 31 3a  |..+.apx%(11)=21:|
00001ae0  61 70 79 25 28 31 31 29  3d 39 0d 01 2c 1a 61 70  |apy%(11)=9..,.ap|
00001af0  78 25 28 31 32 29 3d 32  33 3a 61 70 79 25 28 31  |x%(12)=23:apy%(1|
00001b00  32 29 3d 39 0d 01 2d 13  74 6f 74 61 6c 5f 61 6c  |2)=9..-.total_al|
00001b10  69 65 6e 73 25 3d 35 0d  01 2e 18 61 6c 78 25 28  |iens%=5....alx%(|
00001b20  31 29 3d 33 3a 61 6c 79  25 28 31 29 3d 31 38 0d  |1)=3:aly%(1)=18.|
00001b30  01 2f 18 61 6c 78 25 28  32 29 3d 37 3a 61 6c 79  |./.alx%(2)=7:aly|
00001b40  25 28 32 29 3d 31 38 0d  01 30 19 61 6c 78 25 28  |%(2)=18..0.alx%(|
00001b50  33 29 3d 31 31 3a 61 6c  79 25 28 33 29 3d 31 38  |3)=11:aly%(3)=18|
00001b60  0d 01 31 19 61 6c 78 25  28 34 29 3d 31 35 3a 61  |..1.alx%(4)=15:a|
00001b70  6c 79 25 28 34 29 3d 31  38 0d 01 32 19 61 6c 78  |ly%(4)=18..2.alx|
00001b80  25 28 35 29 3d 31 39 3a  61 6c 79 25 28 35 29 3d  |%(5)=19:aly%(5)=|
00001b90  31 38 0d 01 33 12 74 69  6d 65 5f 61 72 65 61 25  |18..3.time_area%|
00001ba0  3d 31 36 30 0d 01 34 05  cd 0d 01 35 0e e7 73 65  |=160..4....5..se|
00001bb0  74 25 3d 31 30 20 8c 0d  01 36 19 64 65 73 5f 73  |t%=10 ...6.des_s|
00001bc0  70 72 69 74 65 24 3d 22  67 61 6d 65 31 73 38 22  |prite$="game1s8"|
00001bd0  0d 01 37 46 74 69 74 6c  65 24 3d 22 4c 65 76 65  |..7Ftitle$="Leve|
00001be0  6c 20 38 2e 20 20 52 61  69 6e 69 6e 67 20 73 61  |l 8.  Raining sa|
00001bf0  6e 64 2e 22 3a 61 64 24  3d 22 48 69 64 65 20 66  |nd.":ad$="Hide f|
00001c00  72 6f 6d 20 74 68 65 20  61 6c 69 65 6e 73 20 66  |rom the aliens f|
00001c10  69 72 73 74 2e 22 0d 01  38 10 6d 61 6e 5f 67 72  |irst."..8.man_gr|
00001c20  69 64 78 25 3d 32 0d 01  39 10 6d 61 6e 5f 67 72  |idx%=2..9.man_gr|
00001c30  69 64 79 25 3d 32 0d 01  3a 13 74 6f 74 61 6c 5f  |idy%=2..:.total_|
00001c40  61 70 70 6c 65 73 25 3d  33 0d 01 3b 18 61 70 78  |apples%=3..;.apx|
00001c50  25 28 31 29 3d 39 3a 61  70 79 25 28 31 29 3d 31  |%(1)=9:apy%(1)=1|
00001c60  35 0d 01 3c 19 61 70 78  25 28 32 29 3d 31 31 3a  |5..<.apx%(2)=11:|
00001c70  61 70 79 25 28 32 29 3d  31 35 0d 01 3d 19 61 70  |apy%(2)=15..=.ap|
00001c80  78 25 28 33 29 3d 31 34  3a 61 70 79 25 28 33 29  |x%(3)=14:apy%(3)|
00001c90  3d 31 35 0d 01 3e 19 61  70 78 25 28 34 29 3d 31  |=15..>.apx%(4)=1|
00001ca0  36 3a 61 70 79 25 28 34  29 3d 31 35 0d 01 3f 13  |6:apy%(4)=15..?.|
00001cb0  74 6f 74 61 6c 5f 61 6c  69 65 6e 73 25 3d 33 0d  |total_aliens%=3.|
00001cc0  01 40 19 61 6c 78 25 28  31 29 3d 31 30 3a 61 6c  |.@.alx%(1)=10:al|
00001cd0  79 25 28 31 29 3d 31 30  0d 01 41 19 61 6c 78 25  |y%(1)=10..A.alx%|
00001ce0  28 32 29 3d 31 32 3a 61  6c 79 25 28 32 29 3d 31  |(2)=12:aly%(2)=1|
00001cf0  30 0d 01 42 19 61 6c 78  25 28 33 29 3d 31 34 3a  |0..B.alx%(3)=14:|
00001d00  61 6c 79 25 28 33 29 3d  31 30 0d 01 43 19 61 6c  |aly%(3)=10..C.al|
00001d10  78 25 28 34 29 3d 31 35  3a 61 6c 79 25 28 34 29  |x%(4)=15:aly%(4)|
00001d20  3d 31 38 0d 01 44 19 61  6c 78 25 28 35 29 3d 31  |=18..D.alx%(5)=1|
00001d30  39 3a 61 6c 79 25 28 35  29 3d 31 38 0d 01 45 12  |9:aly%(5)=18..E.|
00001d40  74 69 6d 65 5f 61 72 65  61 25 3d 31 36 30 0d 01  |time_area%=160..|
00001d50  46 05 cd 0d 01 47 0e e7  73 65 74 25 3d 31 31 20  |F....G..set%=11 |
00001d60  8c 0d 01 48 1a 64 65 73  5f 73 70 72 69 74 65 24  |...H.des_sprite$|
00001d70  3d 22 67 61 6d 65 31 73  31 31 22 0d 01 49 22 74  |="game1s11"..I"t|
00001d80  69 74 6c 65 24 3d 22 49  6e 74 72 6f 64 75 63 74  |itle$="Introduct|
00001d90  69 6f 6e 2e 22 3a 61 64  24 3d 22 20 22 0d 01 4a  |ion.":ad$=" "..J|
00001da0  10 6d 61 6e 5f 67 72 69  64 78 25 3d 35 0d 01 4b  |.man_gridx%=5..K|
00001db0  11 6d 61 6e 5f 67 72 69  64 79 25 3d 31 37 0d 01  |.man_gridy%=17..|
00001dc0  4c 13 74 6f 74 61 6c 5f  61 70 70 6c 65 73 25 3d  |L.total_apples%=|
00001dd0  34 0d 01 4d 18 61 70 78  25 28 31 29 3d 32 3a 61  |4..M.apx%(1)=2:a|
00001de0  70 79 25 28 31 29 3d 31  34 0d 01 4e 18 61 70 78  |py%(1)=14..N.apx|
00001df0  25 28 32 29 3d 34 3a 61  70 79 25 28 32 29 3d 31  |%(2)=4:apy%(2)=1|
00001e00  34 0d 01 4f 18 61 70 78  25 28 33 29 3d 36 3a 61  |4..O.apx%(3)=6:a|
00001e10  70 79 25 28 33 29 3d 31  34 0d 01 50 18 61 70 78  |py%(3)=14..P.apx|
00001e20  25 28 34 29 3d 38 3a 61  70 79 25 28 34 29 3d 31  |%(4)=8:apy%(4)=1|
00001e30  34 0d 01 51 13 74 6f 74  61 6c 5f 61 6c 69 65 6e  |4..Q.total_alien|
00001e40  73 25 3d 34 0d 01 52 18  61 6c 78 25 28 31 29 3d  |s%=4..R.alx%(1)=|
00001e50  32 3a 61 6c 79 25 28 31  29 3d 31 31 0d 01 53 18  |2:aly%(1)=11..S.|
00001e60  61 6c 78 25 28 32 29 3d  34 3a 61 6c 79 25 28 32  |alx%(2)=4:aly%(2|
00001e70  29 3d 31 31 0d 01 54 18  61 6c 78 25 28 33 29 3d  |)=11..T.alx%(3)=|
00001e80  36 3a 61 6c 79 25 28 33  29 3d 31 31 0d 01 55 18  |6:aly%(3)=11..U.|
00001e90  61 6c 78 25 28 34 29 3d  38 3a 61 6c 79 25 28 34  |alx%(4)=8:aly%(4|
00001ea0  29 3d 31 31 0d 01 56 12  74 69 6d 65 5f 61 72 65  |)=11..V.time_are|
00001eb0  61 25 3d 31 32 30 0d 01  57 05 cd 0d 01 58 0e e7  |a%=120..W....X..|
00001ec0  73 65 74 25 3d 31 32 20  8c 0d 01 59 1a 64 65 73  |set%=12 ...Y.des|
00001ed0  5f 73 70 72 69 74 65 24  3d 22 67 61 6d 65 31 73  |_sprite$="game1s|
00001ee0  31 32 22 0d 01 5a 4b 74  69 74 6c 65 24 3d 22 4c  |12"..ZKtitle$="L|
00001ef0  65 76 65 6c 20 35 2e 20  20 53 6f 72 74 69 6e 67  |evel 5.  Sorting|
00001f00  20 61 72 65 61 2e 22 3a  61 64 24 3d 22 54 61 6b  | area.":ad$="Tak|
00001f10  65 20 74 68 65 20 72 69  67 68 74 20 70 6f 77 65  |e the right powe|
00001f20  72 20 63 65 6c 6c 20 66  69 72 73 74 2e 22 0d 01  |r cell first."..|
00001f30  5b 10 6d 61 6e 5f 67 72  69 64 78 25 3d 34 0d 01  |[.man_gridx%=4..|
00001f40  5c 10 6d 61 6e 5f 67 72  69 64 79 25 3d 32 0d 01  |\.man_gridy%=2..|
00001f50  5d 13 74 6f 74 61 6c 5f  61 70 70 6c 65 73 25 3d  |].total_apples%=|
00001f60  33 0d 01 5e 17 61 70 78  25 28 31 29 3d 39 3a 61  |3..^.apx%(1)=9:a|
00001f70  70 79 25 28 31 29 3d 39  0d 01 5f 19 61 70 78 25  |py%(1)=9.._.apx%|
00001f80  28 32 29 3d 31 32 3a 61  70 79 25 28 32 29 3d 31  |(2)=12:apy%(2)=1|
00001f90  30 0d 01 60 18 61 70 78  25 28 33 29 3d 31 35 3a  |0..`.apx%(3)=15:|
00001fa0  61 70 79 25 28 33 29 3d  39 0d 01 61 13 74 6f 74  |apy%(3)=9..a.tot|
00001fb0  61 6c 5f 61 6c 69 65 6e  73 25 3d 35 0d 01 62 18  |al_aliens%=5..b.|
00001fc0  61 6c 78 25 28 31 29 3d  33 3a 61 6c 79 25 28 31  |alx%(1)=3:aly%(1|
00001fd0  29 3d 31 38 0d 01 63 18  61 6c 78 25 28 32 29 3d  |)=18..c.alx%(2)=|
00001fe0  37 3a 61 6c 79 25 28 32  29 3d 31 38 0d 01 64 19  |7:aly%(2)=18..d.|
00001ff0  61 6c 78 25 28 33 29 3d  31 31 3a 61 6c 79 25 28  |alx%(3)=11:aly%(|
00002000  33 29 3d 31 38 0d 01 65  19 61 6c 78 25 28 34 29  |3)=18..e.alx%(4)|
00002010  3d 31 35 3a 61 6c 79 25  28 34 29 3d 31 38 0d 01  |=15:aly%(4)=18..|
00002020  66 19 61 6c 78 25 28 35  29 3d 31 39 3a 61 6c 79  |f.alx%(5)=19:aly|
00002030  25 28 35 29 3d 31 38 0d  01 67 12 74 69 6d 65 5f  |%(5)=18..g.time_|
00002040  61 72 65 61 25 3d 31 36  30 0d 01 68 05 cd 0d 01  |area%=160..h....|
00002050  69 14 74 78 32 25 3d 33  32 3a 74 79 32 25 3d 38  |i.tx2%=32:ty2%=8|
00002060  36 30 0d 01 6a 0f 6d 25  3d 6d 5f 63 6f 64 65 32  |60..j.m%=m_code2|
00002070  25 0d 01 6b 10 21 28 6d  25 2b 26 31 43 29 3d 34  |%..k.!(m%+&1C)=4|
00002080  39 0d 01 6c 0f 21 28 6d  25 2b 26 32 34 29 3d 30  |9..l.!(m%+&24)=0|
00002090  0d 01 6d 0f 21 28 6d 25  2b 26 32 38 29 3d 30 0d  |..m.!(m%+&28)=0.|
000020a0  01 6e 0f 21 28 6d 25 2b  26 32 43 29 3d 30 0d 01  |.n.!(m%+&2C)=0..|
000020b0  6f 0f 21 28 6d 25 2b 26  33 34 29 3d 30 0d 01 70  |o.!(m%+&34)=0..p|
000020c0  0f 3f 28 6d 25 2b 26 34  30 29 3d 30 0d 01 71 0f  |.?(m%+&40)=0..q.|
000020d0  3f 28 6d 25 2b 26 34 31  29 3d 30 0d 01 72 18 3f  |?(m%+&41)=0..r.?|
000020e0  28 6d 25 2b 26 33 30 29  3d 6d 61 6e 5f 67 72 69  |(m%+&30)=man_gri|
000020f0  64 78 25 0d 01 73 18 3f  28 6d 25 2b 26 33 31 29  |dx%..s.?(m%+&31)|
00002100  3d 6d 61 6e 5f 67 72 69  64 79 25 0d 01 74 18 3f  |=man_gridy%..t.?|
00002110  28 6d 25 2b 26 33 32 29  3d 6d 61 6e 5f 67 72 69  |(m%+&32)=man_gri|
00002120  64 78 25 0d 01 75 18 3f  28 6d 25 2b 26 33 33 29  |dx%..u.?(m%+&33)|
00002130  3d 6d 61 6e 5f 67 72 69  64 79 25 0d 01 76 1a 21  |=man_gridy%..v.!|
00002140  28 6d 25 2b 26 43 29 3d  6d 61 6e 5f 67 72 69 64  |(m%+&C)=man_grid|
00002150  78 25 2a 34 38 0d 01 77  1b 21 28 6d 25 2b 26 31  |x%*48..w.!(m%+&1|
00002160  30 29 3d 6d 61 6e 5f 67  72 69 64 79 25 2a 34 38  |0)=man_gridy%*48|
00002170  0d 01 78 1b 21 28 6d 25  2b 26 33 38 29 3d 74 6f  |..x.!(m%+&38)=to|
00002180  74 61 6c 5f 61 70 70 6c  65 73 25 0d 01 79 0e 61  |tal_apples%..y.a|
00002190  25 3d 6d 25 2b 26 31 30  30 0d 01 7a 1b e3 66 25  |%=m%+&100..z..f%|
000021a0  3d 30 20 b8 20 74 6f 74  61 6c 5f 61 70 70 6c 65  |=0 . total_apple|
000021b0  73 25 2d 31 0d 01 7b 22  21 28 61 25 2b 28 66 25  |s%-1..{"!(a%+(f%|
000021c0  2a 32 38 29 2b 26 30 29  3d 61 70 78 25 28 66 25  |*28)+&0)=apx%(f%|
000021d0  2b 31 29 2a 34 38 0d 01  7c 22 21 28 61 25 2b 28  |+1)*48..|"!(a%+(|
000021e0  66 25 2a 32 38 29 2b 26  34 29 3d 61 70 79 25 28  |f%*28)+&4)=apy%(|
000021f0  66 25 2b 31 29 2a 34 38  0d 01 7d 20 3f 28 61 25  |f%+1)*48..} ?(a%|
00002200  2b 28 66 25 2a 32 38 29  2b 26 31 34 29 3d 61 70  |+(f%*28)+&14)=ap|
00002210  78 25 28 66 25 2b 31 29  0d 01 7e 20 3f 28 61 25  |x%(f%+1)..~ ?(a%|
00002220  2b 28 66 25 2a 32 38 29  2b 26 31 35 29 3d 61 70  |+(f%*28)+&15)=ap|
00002230  79 25 28 66 25 2b 31 29  0d 01 7f 20 3f 28 61 25  |y%(f%+1)... ?(a%|
00002240  2b 28 66 25 2a 32 38 29  2b 26 31 36 29 3d 61 70  |+(f%*28)+&16)=ap|
00002250  78 25 28 66 25 2b 31 29  0d 01 80 20 3f 28 61 25  |x%(f%+1)... ?(a%|
00002260  2b 28 66 25 2a 32 38 29  2b 26 31 37 29 3d 61 70  |+(f%*28)+&17)=ap|
00002270  79 25 28 66 25 2b 31 29  0d 01 81 17 3f 28 61 25  |y%(f%+1)....?(a%|
00002280  2b 28 66 25 2a 32 38 29  2b 26 31 38 29 3d 30 0d  |+(f%*28)+&18)=0.|
00002290  01 82 05 ed 0d 01 83 1b  21 28 6d 25 2b 26 32 30  |........!(m%+&20|
000022a0  29 3d 74 6f 74 61 6c 5f  61 6c 69 65 6e 73 25 0d  |)=total_aliens%.|
000022b0  01 84 0d 61 25 3d 6d 25  2b 26 36 30 0d 01 85 1b  |...a%=m%+&60....|
000022c0  e3 66 25 3d 30 20 b8 20  74 6f 74 61 6c 5f 61 6c  |.f%=0 . total_al|
000022d0  69 65 6e 73 25 2d 31 0d  01 86 22 21 28 61 25 2b  |iens%-1..."!(a%+|
000022e0  28 66 25 2a 33 32 29 2b  26 30 29 3d 61 6c 78 25  |(f%*32)+&0)=alx%|
000022f0  28 66 25 2b 31 29 2a 34  38 0d 01 87 22 21 28 61  |(f%+1)*48..."!(a|
00002300  25 2b 28 66 25 2a 33 32  29 2b 26 34 29 3d 61 6c  |%+(f%*32)+&4)=al|
00002310  79 25 28 66 25 2b 31 29  2a 34 38 0d 01 88 16 21  |y%(f%+1)*48....!|
00002320  28 61 25 2b 28 66 25 2a  33 32 29 2b 26 38 29 3d  |(a%+(f%*32)+&8)=|
00002330  30 0d 01 89 17 21 28 61  25 2b 28 66 25 2a 33 32  |0....!(a%+(f%*32|
00002340  29 2b 26 43 29 3d 34 39  0d 01 8a 20 3f 28 61 25  |)+&C)=49... ?(a%|
00002350  2b 28 66 25 2a 33 32 29  2b 26 31 39 29 3d 61 6c  |+(f%*32)+&19)=al|
00002360  78 25 28 66 25 2b 31 29  0d 01 8b 20 3f 28 61 25  |x%(f%+1)... ?(a%|
00002370  2b 28 66 25 2a 33 32 29  2b 26 31 41 29 3d 61 6c  |+(f%*32)+&1A)=al|
00002380  79 25 28 66 25 2b 31 29  0d 01 8c 20 3f 28 61 25  |y%(f%+1)... ?(a%|
00002390  2b 28 66 25 2a 33 32 29  2b 26 31 42 29 3d 61 6c  |+(f%*32)+&1B)=al|
000023a0  78 25 28 66 25 2b 31 29  0d 01 8d 20 3f 28 61 25  |x%(f%+1)... ?(a%|
000023b0  2b 28 66 25 2a 33 32 29  2b 26 31 43 29 3d 61 6c  |+(f%*32)+&1C)=al|
000023c0  79 25 28 66 25 2b 31 29  0d 01 8e 17 3f 28 61 25  |y%(f%+1)....?(a%|
000023d0  2b 28 66 25 2a 33 32 29  2b 26 31 44 29 3d 30 0d  |+(f%*32)+&1D)=0.|
000023e0  01 8f 05 ed 0d 01 90 05  e1 0d 01 91 13 dd f2 70  |...............p|
000023f0  61 63 63 79 28 73 74 79  6c 65 25 29 0d 01 92 08  |accy(style%)....|
00002400  c8 a0 20 31 0d 01 93 0b  e7 4c 25 3d 30 20 8c 0d  |.. 1.....L%=0 ..|
00002410  01 94 18 f2 6c 6f 61 64  5f 73 70 72 69 74 65 73  |....load_sprites|
00002420  28 22 70 61 63 22 29 0d  01 95 1d f2 6d 65 72 67  |("pac").....merg|
00002430  65 5f 73 70 72 69 74 65  73 28 22 6e 75 6d 62 65  |e_sprites("numbe|
00002440  72 73 22 29 0d 01 96 1d  f2 6d 65 72 67 65 5f 73  |rs").....merge_s|
00002450  70 72 69 74 65 73 28 22  6e 75 6d 62 75 74 73 22  |prites("numbuts"|
00002460  29 0d 01 97 1d f2 6d 65  72 67 65 5f 73 70 72 69  |).....merge_spri|
00002470  74 65 73 28 22 62 75 74  74 6f 6e 73 22 29 0d 01  |tes("buttons")..|
00002480  98 05 cd 0d 01 99 13 74  6f 74 61 6c 5f 67 6f 74  |.......total_got|
00002490  5f 66 70 3d 32 30 0d 01  9a 11 74 6f 74 61 6c 5f  |_fp=20....total_|
000024a0  67 6f 74 25 3d 32 30 0d  01 9b 16 74 6f 74 61 6c  |got%=20....total|
000024b0  5f 70 6f 73 73 69 62 6c  65 25 3d 32 30 0d 01 9c  |_possible%=20...|
000024c0  15 e7 20 51 25 3d 37 35  20 84 20 51 25 3d 36 34  |.. Q%=75 . Q%=64|
000024d0  20 8c 0d 01 9d 13 74 6f  74 61 6c 5f 67 6f 74 5f  | .....total_got_|
000024e0  66 70 3d 31 30 0d 01 9e  11 74 6f 74 61 6c 5f 67  |fp=10....total_g|
000024f0  6f 74 25 3d 31 30 0d 01  9f 16 74 6f 74 61 6c 5f  |ot%=10....total_|
00002500  70 6f 73 73 69 62 6c 65  25 3d 31 30 0d 01 a0 05  |possible%=10....|
00002510  cd 0d 01 a1 0b e7 4c 25  3d 30 20 8c 0d 01 a2 17  |......L%=0 .....|
00002520  f2 73 65 74 5f 75 70 5f  73 63 72 65 65 6e 73 28  |.set_up_screens(|
00002530  31 32 29 0d 01 a3 0c 2a  66 78 31 31 32 2c 32 0d  |12)....*fx112,2.|
00002540  01 a4 0b fb 20 31 33 32  3a db 0d 01 a5 16 f2 72  |.... 132:......r|
00002550  65 6e 64 65 72 5f 64 65  73 5f 73 63 72 65 65 6e  |ender_des_screen|
00002560  0d 01 a6 27 f2 70 6c 6f  74 5f 73 70 72 69 74 65  |...'.plot_sprite|
00002570  28 30 2c 31 34 34 2c 31  2c 31 2c 31 2c 31 2c 22  |(0,144,1,1,1,1,"|
00002580  65 78 69 74 33 22 29 0d  01 a7 10 66 61 64 65 24  |exit3")....fade$|
00002590  3d 22 66 61 64 65 22 0d  01 a8 18 f2 66 61 64 65  |="fade".....fade|
000025a0  28 30 2c 39 36 30 2c 34  2c 30 2c 31 2c 31 29 0d  |(0,960,4,0,1,1).|
000025b0  01 a9 0c 2a 66 78 31 31  32 2c 31 0d 01 aa 0b 61  |...*fx112,1....a|
000025c0  72 65 61 25 3d 33 0d 01  ab 1f f2 63 61 63 68 65  |rea%=3.....cache|
000025d0  73 6f 75 6e 64 28 22 61  6c 69 65 6e 73 6e 65 61  |sound("aliensnea|
000025e0  72 22 2c 31 29 0d 01 ac  0e e3 66 25 3d 31 20 b8  |r",1).....f%=1 .|
000025f0  20 38 30 0d 01 ad 0d f2  73 74 5f 70 61 75 73 65  | 80.....st_pause|
00002600  0d 01 ae 1d e7 20 a4 6e  6f 73 6f 75 6e 64 3d b9  |..... .nosound=.|
00002610  3a d4 20 31 2c 26 31 37  46 2c 31 2c 31 0d 01 af  |:. 1,&17F,1,1...|
00002620  0f 41 25 3d 6d 5f 63 6f  64 65 32 25 0d 01 b0 14  |.A%=m_code2%....|
00002630  42 25 3d 73 70 72 69 74  65 5f 61 72 65 61 31 25  |B%=sprite_area1%|
00002640  0d 01 b1 2f e7 56 25 3d  30 20 43 25 3d 73 63 72  |.../.V%=0 C%=scr|
00002650  65 65 6e 5f 6f 6e 65 25  2b 28 31 36 2a 33 32 30  |een_one%+(16*320|
00002660  29 2b 28 38 2a 33 32 30  29 2b 61 72 65 61 25 0d  |)+(8*320)+area%.|
00002670  01 b2 26 e7 56 25 3d 31  20 43 25 3d 73 63 72 65  |..&.V%=1 C%=scre|
00002680  65 6e 5f 6f 6e 65 25 2b  28 38 2a 33 32 30 29 2b  |en_one%+(8*320)+|
00002690  61 72 65 61 25 0d 01 b3  17 44 25 3d 28 33 32 30  |area%....D%=(320|
000026a0  2a 32 34 30 29 2a 28 56  25 2b 31 29 0d 01 b4 11  |*240)*(V%+1)....|
000026b0  e7 56 25 3d 30 3a d6 20  72 61 69 6e 25 0d 01 b5  |.V%=0:. rain%...|
000026c0  15 e7 56 25 3d 31 3a d6  20 72 61 69 6e 5f 76 67  |..V%=1:. rain_vg|
000026d0  61 25 0d 01 b6 23 61 72  65 61 25 3d 61 72 65 61  |a%...#area%=area|
000026e0  25 2b 31 3a e7 20 61 72  65 61 25 3d 34 20 61 72  |%+1:. area%=4 ar|
000026f0  65 61 25 3d 30 0d 01 b7  10 f2 65 6e 5f 70 61 75  |ea%=0.....en_pau|
00002700  73 65 28 35 29 0d 01 b8  05 ed 0d 01 b9 24 f2 70  |se(5)........$.p|
00002710  6c 6f 74 5f 73 70 72 69  74 65 28 30 2c 31 34 34  |lot_sprite(0,144|
00002720  2c 31 2c 31 2c 31 2c 31  2c 22 37 33 22 29 0d 01  |,1,1,1,1,"73")..|
00002730  ba 2f 42 25 3d 73 63 72  65 65 6e 5f 6f 6e 65 25  |./B%=screen_one%|
00002740  3a 43 25 3d 73 63 72 65  65 6e 5f 74 77 6f 25 3a  |:C%=screen_two%:|
00002750  d6 73 61 76 65 5f 73 63  72 65 65 6e 25 0d 01 bb  |.save_screen%...|
00002760  7b f2 74 65 78 74 5f 62  6f 78 28 31 30 30 2c 31  |{.text_box(100,1|
00002770  30 30 2c 31 30 38 30 2c  31 36 30 2c 32 2c 22 59  |00,1080,160,2,"Y|
00002780  6f 75 20 68 61 76 65 20  66 6f 75 6e 64 20 79 6f  |ou have found yo|
00002790  75 72 73 65 6c 66 20 69  6e 20 74 68 65 20 61 6c  |urself in the al|
000027a0  69 65 6e 20 66 75 65 6c  20 73 74 6f 72 65 2e 22  |ien fuel store."|
000027b0  2c 22 44 6f 20 79 6f 75  20 72 65 71 75 69 72 65  |,"Do you require|
000027c0  20 6d 6f 72 65 20 69 6e  73 74 72 75 63 74 69 6f  | more instructio|
000027d0  6e 73 3f 22 2c 22 22 29  0d 01 bc 16 f2 64 65 66  |ns?","").....def|
000027e0  69 6e 65 5f 62 75 74 74  6f 6e 73 28 32 29 0d 01  |ine_buttons(2)..|
000027f0  bd 1a f5 3a c8 97 6d 78  25 2c 6d 79 25 2c 6d 63  |...:..mx%,my%,mc|
00002800  25 3a fd 6d 63 25 3d 30  0d 01 be 1f e3 6d 73 78  |%:.mc%=0.....msx|
00002810  66 25 3d 31 b8 31 30 3a  c8 97 6d 78 25 2c 6d 79  |f%=1.10:..mx%,my|
00002820  25 2c 6d 63 25 3a ed 0d  01 bf 17 e3 62 6e 25 3d  |%,mc%:......bn%=|
00002830  31 20 b8 20 74 6f 74 61  6c 5f 62 75 74 25 0d 01  |1 . total_but%..|
00002840  c0 2f f2 62 75 74 5f 6f  66 66 28 62 75 74 25 28  |./.but_off(but%(|
00002850  62 6e 25 2c 30 29 2c 62  75 74 25 28 62 6e 25 2c  |bn%,0),but%(bn%,|
00002860  31 29 2c 62 75 74 24 28  62 6e 25 29 29 0d 01 c1  |1),but$(bn%))...|
00002870  05 ed 0d 01 c2 07 c8 97  ee 0d 01 c3 05 f5 0d 01  |................|
00002880  c4 1b f2 63 68 65 63 6b  5f 62 75 74 74 6f 6e 73  |...check_buttons|
00002890  28 61 6e 5f 6e 75 6d 25  29 0d 01 c5 10 fd 73 65  |(an_num%).....se|
000028a0  6c 65 63 74 65 64 25 3e  30 0d 01 c6 12 e7 73 65  |lected%>0.....se|
000028b0  6c 65 63 74 65 64 25 3d  31 20 8c 0d 01 c7 2f 43  |lected%=1 ..../C|
000028c0  25 3d 73 63 72 65 65 6e  5f 6f 6e 65 25 3a 42 25  |%=screen_one%:B%|
000028d0  3d 73 63 72 65 65 6e 5f  74 77 6f 25 3a d6 73 61  |=screen_two%:.sa|
000028e0  76 65 5f 73 63 72 65 65  6e 25 0d 01 c8 0f f2 70  |ve_screen%.....p|
000028f0  61 75 73 65 28 31 30 30  29 0d 01 c9 7d f2 74 65  |ause(100)...}.te|
00002900  78 74 5f 62 6f 78 28 31  30 30 2c 31 36 30 2c 31  |xt_box(100,160,1|
00002910  30 38 30 2c 31 36 30 2c  32 2c 22 54 68 65 20 61  |080,160,2,"The a|
00002920  6c 69 65 6e 73 20 73 74  6f 72 65 20 74 68 65 69  |liens store thei|
00002930  72 20 79 65 6c 6c 6f 77  20 61 6e 64 20 62 6c 75  |r yellow and blu|
00002940  65 20 66 75 65 6c 20 69  6e 22 2c 22 74 68 65 73  |e fuel in","thes|
00002950  65 20 72 6f 6f 6d 73 2e  20 20 59 6f 75 20 6d 75  |e rooms.  You mu|
00002960  73 74 20 74 72 79 20 74  6f 20 65 73 63 61 70 65  |st try to escape|
00002970  2e 22 2c 22 22 29 0d 01  ca 16 f2 73 70 61 63 65  |.","").....space|
00002980  28 39 38 30 2c 36 30 2c  30 2c 30 29 0d 01 cb 2f  |(980,60,0,0).../|
00002990  43 25 3d 73 63 72 65 65  6e 5f 6f 6e 65 25 3a 42  |C%=screen_one%:B|
000029a0  25 3d 73 63 72 65 65 6e  5f 74 77 6f 25 3a d6 73  |%=screen_two%:.s|
000029b0  61 76 65 5f 73 63 72 65  65 6e 25 0d 01 cc 0f f2  |ave_screen%.....|
000029c0  70 61 75 73 65 28 31 30  30 29 0d 01 cd 75 f2 74  |pause(100)...u.t|
000029d0  65 78 74 5f 62 6f 78 28  31 30 30 2c 37 30 30 2c  |ext_box(100,700,|
000029e0  31 30 38 30 2c 31 36 30  2c 32 2c 22 54 68 65 72  |1080,160,2,"Ther|
000029f0  65 20 61 72 65 20 27 43  6f 64 65 27 20 62 6f 78  |e are 'Code' box|
00002a00  65 73 20 68 69 64 64 65  6e 20 69 6e 20 65 61 63  |es hidden in eac|
00002a10  68 20 72 6f 6f 6d 2e 22  2c 22 54 68 65 73 65 20  |h room.","These |
00002a20  77 69 6c 6c 20 6f 70 65  6e 20 74 68 65 20 65 73  |will open the es|
00002a30  63 61 70 65 20 64 6f 6f  72 2e 22 2c 22 22 29 0d  |cape door.","").|
00002a40  01 ce 0f f2 70 61 75 73  65 28 32 30 30 29 0d 01  |....pause(200)..|
00002a50  cf 17 f2 73 70 61 63 65  28 39 38 30 2c 31 30 30  |...space(980,100|
00002a60  2c 30 2c 30 29 0d 01 d0  17 f2 73 65 74 5f 75 70  |,0,0).....set_up|
00002a70  5f 73 63 72 65 65 6e 73  28 31 31 29 0d 01 d1 0c  |_screens(11)....|
00002a80  2a 66 78 31 31 32 2c 31  0d 01 d2 0b fb 20 31 33  |*fx112,1..... 13|
00002a90  32 3a db 0d 01 d3 16 f2  72 65 6e 64 65 72 5f 64  |2:......render_d|
00002aa0  65 73 5f 73 63 72 65 65  6e 0d 01 d4 0f 41 25 3d  |es_screen....A%=|
00002ab0  6d 5f 63 6f 64 65 32 25  0d 01 d5 14 42 25 3d 73  |m_code2%....B%=s|
00002ac0  70 72 69 74 65 5f 61 72  65 61 31 25 0d 01 d6 1b  |prite_area1%....|
00002ad0  43 25 3d 73 63 72 65 65  6e 5f 6f 6e 65 25 2b 28  |C%=screen_one%+(|
00002ae0  31 36 2a 33 32 30 29 0d  01 d7 1e e7 3f 28 6d 5f  |16*320).....?(m_|
00002af0  63 6f 64 65 32 25 2b 26  34 30 29 3d 30 3a d6 20  |code2%+&40)=0:. |
00002b00  6d 61 69 6e 25 0d 01 d8  0f 41 25 3d 6d 5f 63 6f  |main%....A%=m_co|
00002b10  64 65 32 25 0d 01 d9 14  42 25 3d 73 70 72 69 74  |de2%....B%=sprit|
00002b20  65 5f 61 72 65 61 31 25  0d 01 da 1b 43 25 3d 73  |e_area1%....C%=s|
00002b30  63 72 65 65 6e 5f 6f 6e  65 25 2b 28 31 36 2a 33  |creen_one%+(16*3|
00002b40  32 30 29 0d 01 db 0c d6  20 61 6c 69 65 6e 25 0d  |20)..... alien%.|
00002b50  01 dc 0f 41 25 3d 6d 5f  63 6f 64 65 32 25 0d 01  |...A%=m_code2%..|
00002b60  dd 14 42 25 3d 73 70 72  69 74 65 5f 61 72 65 61  |..B%=sprite_area|
00002b70  31 25 0d 01 de 1b 43 25  3d 73 63 72 65 65 6e 5f  |1%....C%=screen_|
00002b80  6f 6e 65 25 2b 28 31 36  2a 33 32 30 29 0d 01 df  |one%+(16*320)...|
00002b90  0c d6 20 61 70 70 6c 65  25 0d 01 e0 43 f2 74 65  |.. apple%...C.te|
00002ba0  78 74 5f 62 6f 78 28 36  30 30 2c 37 36 30 2c 35  |xt_box(600,760,5|
00002bb0  36 30 2c 31 34 30 2c 32  2c 22 55 73 65 20 74 68  |60,140,2,"Use th|
00002bc0  65 20 61 72 72 6f 77 20  6b 65 79 73 22 2c 22 74  |e arrow keys","t|
00002bd0  6f 20 6d 6f 76 65 2e 22  2c 22 22 29 0d 01 e1 30  |o move.","")...0|
00002be0  f2 70 6c 6f 74 5f 73 70  72 69 74 65 5f 6d 61 73  |.plot_sprite_mas|
00002bf0  6b 65 64 28 35 30 30 2c  38 32 30 2c 31 2c 31 2c  |ked(500,820,1,1,|
00002c00  31 2c 31 2c 22 61 72 72  6f 77 22 29 0d 01 e2 16  |1,1,"arrow")....|
00002c10  f2 73 70 61 63 65 28 39  38 30 2c 38 30 2c 30 2c  |.space(980,80,0,|
00002c20  30 29 0d 01 e3 3d f2 74  65 78 74 5f 62 6f 78 28  |0)...=.text_box(|
00002c30  36 30 30 2c 36 35 30 2c  35 36 30 2c 39 30 2c 32  |600,650,560,90,2|
00002c40  2c 22 46 69 6e 64 20 74  68 65 20 63 6f 64 65 64  |,"Find the coded|
00002c50  20 62 6f 78 65 73 2e 22  2c 22 22 2c 22 22 29 0d  | boxes.","","").|
00002c60  01 e4 30 f2 70 6c 6f 74  5f 73 70 72 69 74 65 5f  |..0.plot_sprite_|
00002c70  6d 61 73 6b 65 64 28 35  30 30 2c 36 37 30 2c 31  |masked(500,670,1|
00002c80  2c 31 2c 31 2c 31 2c 22  61 72 72 6f 77 22 29 0d  |,1,1,1,"arrow").|
00002c90  01 e5 16 f2 73 70 61 63  65 28 39 38 30 2c 38 30  |....space(980,80|
00002ca0  2c 30 2c 30 29 0d 01 e6  3f f2 74 65 78 74 5f 62  |,0,0)...?.text_b|
00002cb0  6f 78 28 36 30 30 2c 35  31 38 2c 35 36 30 2c 39  |ox(600,518,560,9|
00002cc0  30 2c 32 2c 22 41 76 6f  69 64 20 74 68 65 20 54  |0,2,"Avoid the T|
00002cd0  61 62 6c 65 20 41 6c 69  65 6e 73 21 22 2c 22 22  |able Aliens!",""|
00002ce0  2c 22 22 29 0d 01 e7 30  f2 70 6c 6f 74 5f 73 70  |,"")...0.plot_sp|
00002cf0  72 69 74 65 5f 6d 61 73  6b 65 64 28 35 30 30 2c  |rite_masked(500,|
00002d00  35 33 30 2c 31 2c 31 2c  31 2c 31 2c 22 61 72 72  |530,1,1,1,1,"arr|
00002d10  6f 77 22 29 0d 01 e8 16  f2 73 70 61 63 65 28 39  |ow").....space(9|
00002d20  38 30 2c 38 30 2c 30 2c  30 29 0d 01 e9 59 f2 74  |80,80,0,0)...Y.t|
00002d30  65 78 74 5f 62 6f 78 28  36 30 30 2c 32 38 38 2c  |ext_box(600,288,|
00002d40  35 36 30 2c 32 31 30 2c  32 2c 22 59 6f 75 20 63  |560,210,2,"You c|
00002d50  61 6e 20 6d 6f 76 65 20  74 68 72 6f 75 67 68 22  |an move through"|
00002d60  2c 22 74 68 65 20 66 75  65 6c 2e 20 20 54 68 65  |,"the fuel.  The|
00002d70  20 61 6c 69 65 6e 73 22  2c 22 63 61 6e 6e 6f 74  | aliens","cannot|
00002d80  21 22 29 0d 01 ea 30 f2  70 6c 6f 74 5f 73 70 72  |!")...0.plot_spr|
00002d90  69 74 65 5f 6d 61 73 6b  65 64 28 35 30 30 2c 33  |ite_masked(500,3|
00002da0  38 30 2c 31 2c 31 2c 31  2c 31 2c 22 61 72 72 6f  |80,1,1,1,1,"arro|
00002db0  77 22 29 0d 01 eb 16 f2  73 70 61 63 65 28 39 38  |w").....space(98|
00002dc0  30 2c 38 30 2c 30 2c 30  29 0d 01 ec 59 f2 74 65  |0,80,0,0)...Y.te|
00002dd0  78 74 5f 62 6f 78 28 36  30 30 2c 36 30 2c 35 36  |xt_box(600,60,56|
00002de0  30 2c 32 31 30 2c 32 2c  22 41 66 74 65 72 20 64  |0,210,2,"After d|
00002df0  65 63 6f 64 69 6e 67 20  74 68 65 22 2c 22 63 6f  |ecoding the","co|
00002e00  64 65 20 62 6f 78 65 73  2c 20 75 73 65 20 74 68  |de boxes, use th|
00002e10  65 22 2c 22 65 73 63 61  70 65 20 64 6f 6f 72 2e  |e","escape door.|
00002e20  22 29 0d 01 ed 30 f2 70  6c 6f 74 5f 73 70 72 69  |")...0.plot_spri|
00002e30  74 65 5f 6d 61 73 6b 65  64 28 35 30 30 2c 31 34  |te_masked(500,14|
00002e40  30 2c 31 2c 31 2c 31 2c  31 2c 22 61 72 72 6f 77  |0,1,1,1,1,"arrow|
00002e50  22 29 0d 01 ee 27 f2 70  6c 6f 74 5f 73 70 72 69  |")...'.plot_spri|
00002e60  74 65 28 30 2c 31 34 34  2c 31 2c 31 2c 31 2c 31  |te(0,144,1,1,1,1|
00002e70  2c 22 65 78 69 74 33 22  29 0d 01 ef 16 f2 73 70  |,"exit3").....sp|
00002e80  61 63 65 28 39 38 30 2c  36 34 2c 30 2c 30 29 0d  |ace(980,64,0,0).|
00002e90  01 f0 05 cd 0d 01 f1 12  56 25 3d 73 74 6f 72 65  |........V%=store|
00002ea0  64 5f 76 67 61 25 0d 01  f2 0a 4c 25 3d 31 3a f9  |d_vga%....L%=1:.|
00002eb0  0d 01 f3 05 cd 0d 01 f4  12 f2 73 65 74 5f 74 61  |..........set_ta|
00002ec0  62 6c 65 5f 6f 6e 65 0d  01 f5 0a 62 6f 6d 25 3d  |ble_one....bom%=|
00002ed0  31 0d 01 f6 1f f2 63 61  63 68 65 73 6f 75 6e 64  |1.....cachesound|
00002ee0  28 22 61 6c 69 65 6e 73  6e 65 61 72 22 2c 31 29  |("aliensnear",1)|
00002ef0  0d 01 f7 0d 73 77 69 74  63 68 25 3d 30 0d 01 f8  |....switch%=0...|
00002f00  0b e7 56 25 3d 30 20 8c  0d 01 f9 1f 20 20 73 63  |..V%=0 .....  sc|
00002f10  31 25 3d 73 63 72 65 65  6e 5f 6f 6e 65 25 2b 28  |1%=screen_one%+(|
00002f20  31 36 2a 33 32 30 29 0d  01 fa 27 20 20 73 63 32  |16*320)...'  sc2|
00002f30  25 3d 73 63 72 65 65 6e  5f 6f 6e 65 25 2b 28 31  |%=screen_one%+(1|
00002f40  36 2a 33 32 30 29 2b 28  38 2a 33 32 30 29 0d 01  |6*320)+(8*320)..|
00002f50  fb 12 20 20 72 61 69 6e  79 25 3d 72 61 69 6e 25  |..  rainy%=rain%|
00002f60  0d 01 fc 2a 20 20 61 6d  6f 75 6e 74 5f 72 61 69  |...*  amount_rai|
00002f70  6e 25 3d 28 28 33 32 30  2a 32 34 30 29 2a 28 31  |n%=((320*240)*(1|
00002f80  29 29 2d 28 38 2a 33 32  30 29 0d 01 fd 05 cd 0d  |))-(8*320)......|
00002f90  01 fe 0b e7 56 25 3d 31  20 8c 0d 01 ff 16 20 20  |....V%=1 .....  |
00002fa0  73 63 31 25 3d 73 63 72  65 65 6e 5f 6f 6e 65 25  |sc1%=screen_one%|
00002fb0  0d 02 00 1e 20 20 73 63  32 25 3d 73 63 72 65 65  |....  sc2%=scree|
00002fc0  6e 5f 6f 6e 65 25 2b 28  38 2a 33 32 30 29 0d 02  |n_one%+(8*320)..|
00002fd0  01 16 20 20 72 61 69 6e  79 25 3d 72 61 69 6e 5f  |..  rainy%=rain_|
00002fe0  76 67 61 25 0d 02 02 2a  20 20 61 6d 6f 75 6e 74  |vga%...*  amount|
00002ff0  5f 72 61 69 6e 25 3d 28  28 33 32 30 2a 32 34 30  |_rain%=((320*240|
00003000  29 2a 28 32 29 29 2d 28  38 2a 33 32 30 29 0d 02  |)*(2))-(8*320)..|
00003010  03 05 cd 0d 02 04 24 f4  7e 7e 7e 7e 7e 7e 7e 7e  |......$.~~~~~~~~|
00003020  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |~~~~~~~~~~~~~~~~|
00003030  7e 7e 7e 7e 7e 7e 7e 0d  02 05 09 e7 20 a3 20 8c  |~~~~~~~..... . .|
00003040  0d 02 06 0c 2a 66 78 31  31 32 2c 31 0d 02 07 06  |....*fx112,1....|
00003050  ef 35 0d 02 08 11 e3 66  25 3d 30 20 b8 20 33 20  |.5.....f%=0 . 3 |
00003060  88 20 33 0d 02 09 11 50  25 3d 6c 69 6e 6b 5f 63  |. 3....P%=link_c|
00003070  6f 64 65 25 0d 02 0a 0c  5b 3a 4f 50 54 20 66 25  |ode%....[:OPT f%|
00003080  0d 02 0b 13 2f 72 65 67  69 73 74 65 72 20 73 74  |..../register st|
00003090  6f 72 65 0d 02 0c 19 2e  73 74 6f 72 65 20 20 20  |ore.....store   |
000030a0  20 20 20 20 20 20 20 20  20 20 2f 30 0d 02 0d 0a  |          /0....|
000030b0  45 51 55 44 20 30 0d 02  0e 19 2e 72 61 69 6e 5f  |EQUD 0.....rain_|
000030c0  61 72 65 61 20 20 20 20  20 20 20 20 20 2f 34 0d  |area         /4.|
000030d0  02 0f 0a 45 51 55 44 20  30 0d 02 10 19 2e 6d 5f  |...EQUD 0.....m_|
000030e0  63 6f 64 65 32 20 20 20  20 20 20 20 20 20 20 20  |code2           |
000030f0  2f 38 0d 02 11 11 45 51  55 44 20 6d 5f 63 6f 64  |/8....EQUD m_cod|
00003100  65 32 25 0d 02 12 19 2e  73 70 72 69 74 65 5f 61  |e2%.....sprite_a|
00003110  72 65 61 20 20 20 20 20  20 20 2f 43 0d 02 13 16  |rea       /C....|
00003120  45 51 55 44 20 73 70 72  69 74 65 5f 61 72 65 61  |EQUD sprite_area|
00003130  31 25 0d 02 14 1a 2e 73  63 72 65 65 6e 5f 6f 6e  |1%.....screen_on|
00003140  65 20 20 20 20 20 20 20  20 2f 31 30 0d 02 15 0d  |e        /10....|
00003150  45 51 55 44 20 73 63 31  25 0d 02 16 1a 2e 73 63  |EQUD sc1%.....sc|
00003160  72 65 65 6e 5f 74 77 6f  20 20 20 20 20 20 20 20  |reen_two        |
00003170  2f 31 34 0d 02 17 0d 45  51 55 44 20 73 63 32 25  |/14....EQUD sc2%|
00003180  0d 02 18 1a 2e 61 6d 6f  75 6e 74 5f 72 61 69 6e  |.....amount_rain|
00003190  20 20 20 20 20 20 20 2f  31 38 0d 02 19 15 45 51  |       /18....EQ|
000031a0  55 44 20 61 6d 6f 75 6e  74 5f 72 61 69 6e 25 0d  |UD amount_rain%.|
000031b0  02 1a 1a 2e 72 61 69 6e  5f 61 64 64 20 20 20 20  |....rain_add    |
000031c0  20 20 20 20 20 20 2f 31  43 0d 02 1b 0a 45 51 55  |      /1C....EQU|
000031d0  44 20 30 0d 02 1c 1a 2e  6d 61 69 6e 20 20 20 20  |D 0.....main    |
000031e0  20 20 20 20 20 20 20 20  20 20 2f 32 30 0d 02 1d  |          /20...|
000031f0  0e 45 51 55 44 20 6d 61  69 6e 25 0d 02 1e 1a 2e  |.EQUD main%.....|
00003200  61 6c 69 65 6e 20 20 20  20 20 20 20 20 20 20 20  |alien           |
00003210  20 20 2f 32 34 0d 02 1f  0f 45 51 55 44 20 61 6c  |  /24....EQUD al|
00003220  69 65 6e 25 0d 02 20 1a  2e 61 70 70 6c 65 20 20  |ien%.. ..apple  |
00003230  20 20 20 20 20 20 20 20  20 20 20 2f 32 38 0d 02  |           /28..|
00003240  21 0f 45 51 55 44 20 61  70 70 6c 65 25 0d 02 22  |!.EQUD apple%.."|
00003250  1a 2e 72 61 69 6e 79 20  20 20 20 20 20 20 20 20  |..rainy         |
00003260  20 20 20 20 2f 32 43 0d  02 23 0f 45 51 55 44 20  |    /2C..#.EQUD |
00003270  72 61 69 6e 79 25 0d 02  24 1a 2e 74 65 73 74 69  |rainy%..$..testi|
00003280  6e 67 20 20 20 20 20 20  20 20 20 20 20 2f 33 30  |ng           /30|
00003290  0d 02 25 11 45 51 55 44  20 74 65 73 74 69 6e 67  |..%.EQUD testing|
000032a0  25 0d 02 26 0a 45 51 55  44 20 30 0d 02 27 04 0d  |%..&.EQUD 0..'..|
000032b0  02 28 09 2e 6c 69 6e 6b  0d 02 29 13 2f 41 25 20  |.(..link..)./A% |
000032c0  3d 20 72 61 69 6e 5f 61  64 64 25 0d 02 2a 11 41  |= rain_add%..*.A|
000032d0  44 52 20 52 31 30 2c 73  74 6f 72 65 0d 02 2b 14  |DR R10,store..+.|
000032e0  53 54 52 20 52 31 34 2c  5b 52 31 2c 23 26 30 5d  |STR R14,[R1,#&0]|
000032f0  0d 02 2c 14 53 54 52 20  52 30 2c 5b 52 31 2c 23  |..,.STR R0,[R1,#|
00003300  26 31 43 5d 0d 02 2d 09  2f 6d 61 69 6e 0d 02 2e  |&1C]..-./main...|
00003310  14 4c 44 52 20 52 30 2c  5b 52 31 30 2c 23 26 38  |.LDR R0,[R10,#&8|
00003320  5d 0d 02 2f 14 4c 44 52  20 52 31 2c 5b 52 31 30  |]../.LDR R1,[R10|
00003330  2c 23 26 43 5d 0d 02 30  15 4c 44 52 20 52 32 2c  |,#&C]..0.LDR R2,|
00003340  5b 52 31 30 2c 23 26 31  34 5d 0d 02 31 15 4c 44  |[R10,#&14]..1.LD|
00003350  52 20 52 33 2c 5b 52 31  30 2c 23 26 32 30 5d 0d  |R R3,[R10,#&20].|
00003360  02 32 15 4c 44 52 42 20  52 34 2c 5b 52 30 2c 23  |.2.LDRB R4,[R0,#|
00003370  26 34 30 5d 0d 02 33 12  43 4d 50 20 52 34 2c 23  |&40]..3.CMP R4,#|
00003380  30 3a 42 4c 45 51 0d 02  34 05 cd 0d 02 35 24 f4  |0:BLEQ..4....5$.|
00003390  5f 5f 5f 5f 5f 5f 5f 5f  5f 5f 5f 5f 5f 5f 5f 5f  |________________|
000033a0  5f 5f 5f 5f 5f 5f 5f 5f  5f 5f 5f 5f 5f 5f 5f 0d  |_______________.|
000033b0  02 36 04 0d 02 37 05 f5  0d 02 38 1a 73 65 74 25  |.6...7....8.set%|
000033c0  3d 28 4f 25 2a 32 29 2d  28 73 74 79 6c 65 25 2d  |=(O%*2)-(style%-|
000033d0  31 29 0d 02 39 19 f2 73  65 74 5f 75 70 5f 73 63  |1)..9..set_up_sc|
000033e0  72 65 65 6e 73 28 73 65  74 25 29 0d 02 3a 0c 2a  |reens(set%)..:.*|
000033f0  66 78 31 31 32 2c 31 0d  02 3b 0b fb 20 31 33 32  |fx112,1..;.. 132|
00003400  3a db 0d 02 3c 16 f2 72  65 6e 64 65 72 5f 64 65  |:...<..render_de|
00003410  73 5f 73 63 72 65 65 6e  0d 02 3d 09 45 25 3d 33  |s_screen..=.E%=3|
00003420  37 0d 02 3e 14 63 6f 75  6e 74 5f 64 25 3d 91 3a  |7..>.count_d%=.:|
00003430  54 24 3d 22 22 0d 02 3f  3a f2 73 65 74 5f 75 70  |T$=""..?:.set_up|
00003440  5f 63 6f 75 6e 74 5f 64  6f 77 6e 28 74 78 32 25  |_count_down(tx2%|
00003450  2c 74 79 32 25 2c 33 2c  28 31 30 30 2a 74 69 6d  |,ty2%,3,(100*tim|
00003460  65 5f 61 72 65 61 25 29  2b 31 30 30 2c 31 29 0d  |e_area%)+100,1).|
00003470  02 40 27 61 72 65 61 25  3d 33 3a 65 73 63 61 70  |.@'area%=3:escap|
00003480  65 25 3d 30 3a 67 6f 74  25 3d 30 3a 63 6f 6c 6c  |e%=0:got%=0:coll|
00003490  65 63 74 25 3d 30 0d 02  41 24 f2 70 6c 6f 74 5f  |ect%=0..A$.plot_|
000034a0  73 70 72 69 74 65 28 30  2c 31 34 34 2c 31 2c 31  |sprite(0,144,1,1|
000034b0  2c 31 2c 31 2c 22 37 33  22 29 0d 02 42 08 c8 97  |,1,1,"73")..B...|
000034c0  20 87 0d 02 43 05 f5 0d  02 44 0c 6e 74 69 6d 65  | ...C....D.ntime|
000034d0  25 3d 91 0d 02 45 1d e7  20 a4 6e 6f 73 6f 75 6e  |%=...E.. .nosoun|
000034e0  64 3d b9 3a d4 20 31 2c  26 31 37 46 2c 31 2c 31  |d=.:. 1,&17F,1,1|
000034f0  0d 02 46 15 e7 63 6f 75  6e 74 5f 64 25 2b 31 35  |..F..count_d%+15|
00003500  30 3c 91 20 8c 0d 02 47  23 20 54 24 3d a4 70 72  |0<. ...G# T$=.pr|
00003510  69 6e 74 5f 74 69 6d 65  72 28 74 78 32 25 2c 74  |int_timer(tx2%,t|
00003520  79 32 25 2c 33 2c 31 29  0d 02 48 0f 20 63 6f 75  |y2%,3,1)..H. cou|
00003530  6e 74 5f 64 25 3d 91 0d  02 49 19 20 e7 20 73 65  |nt_d%=...I. . se|
00003540  74 25 3d 38 20 84 20 73  65 74 25 3d 31 30 20 8c  |t%=8 . set%=10 .|
00003550  0d 02 4a 2e 20 20 f2 70  6c 6f 74 5f 73 70 72 69  |..J.  .plot_spri|
00003560  74 65 28 31 30 2a 34 38  2c 31 38 2a 34 38 2c 31  |te(10*48,18*48,1|
00003570  2c 31 2c 31 2c 31 2c 22  62 67 31 36 22 29 0d 02  |,1,1,1,"bg16")..|
00003580  4b 2e 20 20 f2 70 6c 6f  74 5f 73 70 72 69 74 65  |K.  .plot_sprite|
00003590  28 31 32 2a 34 38 2c 31  38 2a 34 38 2c 31 2c 31  |(12*48,18*48,1,1|
000035a0  2c 31 2c 31 2c 22 62 67  31 36 22 29 0d 02 4c 2e  |,1,1,"bg16")..L.|
000035b0  20 20 f2 70 6c 6f 74 5f  73 70 72 69 74 65 28 31  |  .plot_sprite(1|
000035c0  33 2a 34 38 2c 31 38 2a  34 38 2c 31 2c 31 2c 31  |3*48,18*48,1,1,1|
000035d0  2c 31 2c 22 62 67 31 36  22 29 0d 02 4d 2e 20 20  |,1,"bg16")..M.  |
000035e0  f2 70 6c 6f 74 5f 73 70  72 69 74 65 28 31 35 2a  |.plot_sprite(15*|
000035f0  34 38 2c 31 38 2a 34 38  2c 31 2c 31 2c 31 2c 31  |48,18*48,1,1,1,1|
00003600  2c 22 62 67 31 36 22 29  0d 02 4e 06 20 cd 0d 02  |,"bg16")..N. ...|
00003610  4f 05 cd 0d 02 50 04 0d  02 51 10 20 41 25 3d 6d  |O....P...Q. A%=m|
00003620  5f 63 6f 64 65 32 25 0d  02 52 15 20 42 25 3d 73  |_code2%..R. B%=s|
00003630  70 72 69 74 65 5f 61 72  65 61 31 25 0d 02 53 0c  |prite_area1%..S.|
00003640  20 43 25 3d 73 63 31 25  0d 02 54 1e e7 3f 28 6d  | C%=sc1%..T..?(m|
00003650  5f 63 6f 64 65 32 25 2b  26 34 30 29 3d 30 3a d6  |_code2%+&40)=0:.|
00003660  20 6d 61 69 6e 25 0d 02  55 15 20 42 25 3d 73 70  | main%..U. B%=sp|
00003670  72 69 74 65 5f 61 72 65  61 31 25 0d 02 56 0c 20  |rite_area1%..V. |
00003680  43 25 3d 73 63 31 25 0d  02 57 0c d6 20 61 6c 69  |C%=sc1%..W.. ali|
00003690  65 6e 25 0d 02 58 15 20  42 25 3d 73 70 72 69 74  |en%..X. B%=sprit|
000036a0  65 5f 61 72 65 61 31 25  0d 02 59 0c 20 43 25 3d  |e_area1%..Y. C%=|
000036b0  73 63 31 25 0d 02 5a 0c  d6 20 61 70 70 6c 65 25  |sc1%..Z.. apple%|
000036c0  0d 02 5b 15 20 42 25 3d  73 70 72 69 74 65 5f 61  |..[. B%=sprite_a|
000036d0  72 65 61 31 25 0d 02 5c  12 20 43 25 3d 73 63 32  |rea1%..\. C%=sc2|
000036e0  25 2b 61 72 65 61 25 0d  02 5d 14 20 44 25 3d 61  |%+area%..]. D%=a|
000036f0  6d 6f 75 6e 74 5f 72 61  69 6e 25 0d 02 5e 0c d6  |mount_rain%..^..|
00003700  20 72 61 69 6e 79 25 0d  02 5f 12 20 61 72 65 61  | rainy%.._. area|
00003710  25 3d 61 72 65 61 25 2b  31 0d 02 60 16 20 e7 20  |%=area%+1..`. . |
00003720  61 72 65 61 25 3d 34 20  61 72 65 61 25 3d 30 0d  |area%=4 area%=0.|
00003730  02 61 16 f4 20 20 21 73  63 72 65 65 6e 5f 6f 6e  |.a..  !screen_on|
00003740  65 25 3d 26 30 0d 02 62  10 20 41 25 3d 6d 5f 63  |e%=&0..b. A%=m_c|
00003750  6f 64 65 32 25 0d 02 63  0e d6 20 74 65 73 74 69  |ode2%..c.. testi|
00003760  6e 67 25 0d 02 64 04 0d  02 65 21 e7 20 3f 28 6d  |ng%..d...e!. ?(m|
00003770  5f 63 6f 64 65 32 25 2b  26 34 31 29 3c 3e 63 6f  |_code2%+&41)<>co|
00003780  6c 6c 65 63 74 25 20 8c  0d 02 66 1a 20 72 65 73  |llect% ...f. res|
00003790  5f 78 25 3d 21 28 6d 5f  63 6f 64 65 32 25 2b 26  |_x%=!(m_code2%+&|
000037a0  43 29 0d 02 67 1b 20 72  65 73 5f 79 25 3d 21 28  |C)..g. res_y%=!(|
000037b0  6d 5f 63 6f 64 65 32 25  2b 26 31 30 29 0d 02 68  |m_code2%+&10)..h|
000037c0  11 20 f2 74 65 73 74 5f  74 61 62 6c 65 73 0d 02  |. .test_tables..|
000037d0  69 14 20 d4 32 2c 2d 31  35 2c 32 30 2c 26 32 30  |i. .2,-15,20,&20|
000037e0  30 30 0d 02 6a 1d 20 63  6f 6c 6c 65 63 74 25 3d  |00..j. collect%=|
000037f0  3f 28 6d 5f 63 6f 64 65  32 25 2b 26 34 31 29 0d  |?(m_code2%+&41).|
00003800  02 6b 10 20 62 6f 6d 25  3d 62 6f 6d 25 2b 31 0d  |.k. bom%=bom%+1.|
00003810  02 6c 05 cd 0d 02 6d 18  e7 3f 28 6d 5f 63 6f 64  |.l....m..?(m_cod|
00003820  65 32 25 2b 26 34 30 29  3d 31 20 8c 0d 02 6e 20  |e2%+&40)=1 ...n |
00003830  20 f2 63 61 63 68 65 73  6f 75 6e 64 28 22 6c 61  | .cachesound("la|
00003840  73 65 72 5f 64 6f 6f 72  22 2c 31 29 0d 02 6f 11  |ser_door",1)..o.|
00003850  20 d4 20 31 2c 26 31 37  46 2c 31 2c 31 0d 02 70  | . 1,&17F,1,1..p|
00003860  10 20 67 6f 74 25 3d 67  6f 74 25 2b 31 0d 02 71  |. got%=got%+1..q|
00003870  05 cd 0d 02 72 34 e7 65  73 63 61 70 65 25 3d 30  |....r4.escape%=0|
00003880  20 80 20 28 3f 28 6d 5f  63 6f 64 65 32 25 2b 26  | . (?(m_code2%+&|
00003890  34 31 29 3d 21 28 6d 5f  63 6f 64 65 32 25 2b 26  |41)=!(m_code2%+&|
000038a0  33 38 29 29 20 8c 0d 02  73 0e 20 65 73 63 61 70  |38)) ...s. escap|
000038b0  65 25 3d 31 0d 02 74 05  cd 0d 02 75 10 e7 65 73  |e%=1..t....u..es|
000038c0  63 61 70 65 25 3e 30 20  8c 0d 02 76 16 20 65 73  |cape%>0 ...v. es|
000038d0  63 61 70 65 25 3d 65 73  63 61 70 65 25 2b 31 0d  |cape%=escape%+1.|
000038e0  02 77 05 cd 0d 02 78 11  e7 65 73 63 61 70 65 25  |.w....x..escape%|
000038f0  3d 31 30 20 8c 0d 02 79  0f 20 65 73 63 61 70 65  |=10 ...y. escape|
00003900  25 3d 2d 31 0d 02 7a 1f  20 f2 63 61 63 68 65 73  |%=-1..z. .caches|
00003910  6f 75 6e 64 28 22 63 6f  6d 70 75 74 65 72 31 22  |ound("computer1"|
00003920  2c 31 29 0d 02 7b 0d 20  e3 66 25 3d 31 20 b8 34  |,1)..{. .f%=1 .4|
00003930  0d 02 7c 28 20 f2 70 6c  6f 74 5f 73 70 72 69 74  |..|( .plot_sprit|
00003940  65 28 30 2c 31 34 34 2c  31 2c 31 2c 31 2c 31 2c  |e(0,144,1,1,1,1,|
00003950  22 65 78 69 74 33 22 29  0d 02 7d 11 20 d4 20 31  |"exit3")..}. . 1|
00003960  2c 26 31 37 46 2c 31 2c  31 0d 02 7e 0f 20 f2 70  |,&17F,1,1..~. .p|
00003970  61 75 73 65 28 32 30 29  0d 02 7f 28 20 f2 70 6c  |ause(20)...( .pl|
00003980  6f 74 5f 73 70 72 69 74  65 28 30 2c 31 34 34 2c  |ot_sprite(0,144,|
00003990  31 2c 31 2c 31 2c 31 2c  22 65 78 69 74 32 22 29  |1,1,1,1,"exit2")|
000039a0  0d 02 80 0f 20 f2 70 61  75 73 65 28 32 30 29 0d  |.... .pause(20).|
000039b0  02 81 06 20 ed 0d 02 82  20 20 f2 63 61 63 68 65  |... ....  .cache|
000039c0  73 6f 75 6e 64 28 22 61  6c 69 65 6e 73 6e 65 61  |sound("aliensnea|
000039d0  72 22 2c 31 29 0d 02 83  05 cd 0d 02 84 08 45 25  |r",1).........E%|
000039e0  3d 30 0d 02 85 1d e7 6e  74 69 6d 65 25 2b 33 3c  |=0.....ntime%+3<|
000039f0  91 20 f5 3a fd 6e 74 69  6d 65 25 2b 33 3c 91 0d  |. .:.ntime%+3<..|
00003a00  02 86 28 fd 20 21 28 6d  5f 63 6f 64 65 32 25 2b  |..(. !(m_code2%+|
00003a10  26 43 29 3d 30 20 84 20  67 6f 74 25 3e 38 20 84  |&C)=0 . got%>8 .|
00003a20  20 54 24 3d 22 30 22 0d  02 87 08 c8 97 20 ee 0d  | T$="0"...... ..|
00003a30  02 88 0e e7 20 67 6f 74  25 3e 38 20 8c 0d 02 89  |.... got%>8 ....|
00003a40  1b f2 63 61 63 68 65 73  6f 75 6e 64 28 22 77 72  |..cachesound("wr|
00003a50  6f 6e 67 32 22 2c 31 29  0d 02 8a 09 66 66 25 3d  |ong2",1)....ff%=|
00003a60  31 0d 02 8b 0e e3 66 25  3d 31 20 b8 20 32 30 0d  |1.....f%=1 . 20.|
00003a70  02 8c 0d f2 73 74 5f 70  61 75 73 65 0d 02 8d 18  |....st_pause....|
00003a80  e7 66 25 20 83 20 34 3d  30 20 d4 31 2c 2d 31 35  |.f% . 4=0 .1,-15|
00003a90  2c 31 2c 31 0d 02 8e 12  66 66 25 3d 28 66 66 25  |,1,1....ff%=(ff%|
00003aa0  2a 2d 31 29 2b 33 0d 02  8f 52 f2 70 6c 6f 74 5f  |*-1)+3...R.plot_|
00003ab0  73 70 72 69 74 65 28 28  21 28 6d 5f 63 6f 64 65  |sprite((!(m_code|
00003ac0  32 25 2b 26 43 29 29 2d  34 38 2c 28 21 28 6d 5f  |2%+&C))-48,(!(m_|
00003ad0  63 6f 64 65 32 25 2b 26  31 30 29 29 2d 34 38 2c  |code2%+&10))-48,|
00003ae0  31 2c 31 2c 31 2c 31 2c  22 67 6f 74 79 6f 75 22  |1,1,1,1,"gotyou"|
00003af0  2b c3 28 66 66 25 29 29  0d 02 90 11 f2 65 6e 5f  |+.(ff%)).....en_|
00003b00  70 61 75 73 65 28 32 30  29 0d 02 91 05 ed 0d 02  |pause(20).......|
00003b10  92 80 f2 74 65 78 74 5f  62 6f 78 28 32 30 30 2c  |...text_box(200,|
00003b20  34 30 30 2c 38 38 30 2c  33 33 30 2c 32 2c 22 54  |400,880,330,2,"T|
00003b30  68 65 20 74 61 62 6c 65  20 61 6c 69 65 6e 73 20  |he table aliens |
00003b40  68 61 76 65 20 63 61 70  74 75 72 65 64 20 79 6f  |have captured yo|
00003b50  75 22 2c 22 61 67 61 69  6e 2e 20 20 59 6f 75 20  |u","again.  You |
00003b60  68 61 76 65 20 61 6e 6f  74 68 65 72 20 63 68 61  |have another cha|
00003b70  6e 63 65 22 2c 22 74 6f  20 65 73 63 61 70 65 2e  |nce","to escape.|
00003b80  20 20 47 6f 6f 64 20 6c  75 63 6b 2e 22 29 0d 02  |  Good luck.")..|
00003b90  93 17 f2 73 70 61 63 65  28 39 30 30 2c 31 30 30  |...space(900,100|
00003ba0  2c 30 2c 30 29 0d 02 94  12 56 25 3d 73 74 6f 72  |,0,0)....V%=stor|
00003bb0  65 64 5f 76 67 61 25 0d  02 95 0b 4a 25 3d 4a 25  |ed_vga%....J%=J%|
00003bc0  2b 31 0d 02 96 05 f9 0d  02 97 05 cd 0d 02 98 0e  |+1..............|
00003bd0  e7 20 54 24 3d 22 30 22  20 8c 0d 02 99 0f f2 70  |. T$="0" ......p|
00003be0  61 75 73 65 28 32 30 30  29 0d 02 9a 66 f2 74 65  |ause(200)...f.te|
00003bf0  78 74 5f 62 6f 78 28 32  30 30 2c 34 30 30 2c 38  |xt_box(200,400,8|
00003c00  38 30 2c 33 33 30 2c 32  2c 22 59 6f 75 20 68 61  |80,330,2,"You ha|
00003c10  76 65 20 72 75 6e 20 6f  75 74 20 6f 66 20 74 69  |ve run out of ti|
00003c20  6d 65 2e 22 2c 22 54 72  79 20 61 67 61 69 6e 20  |me.","Try again |
00003c30  61 6e 64 20 77 6f 72 6b  20 71 75 69 63 6b 6c 79  |and work quickly|
00003c40  22 2c 22 74 68 69 73 20  74 69 6d 65 2e 22 29 0d  |","this time.").|
00003c50  02 9b 17 f2 73 70 61 63  65 28 39 30 30 2c 31 30  |....space(900,10|
00003c60  30 2c 30 2c 30 29 0d 02  9c 12 56 25 3d 73 74 6f  |0,0,0)....V%=sto|
00003c70  72 65 64 5f 76 67 61 25  0d 02 9d 0b 4a 25 3d 4a  |red_vga%....J%=J|
00003c80  25 2b 31 0d 02 9e 05 f9  0d 02 9f 05 cd 0d 02 a0  |%+1.............|
00003c90  16 fd 20 21 28 6d 5f 63  6f 64 65 32 25 2b 26 43  |.. !(m_code2%+&C|
00003ca0  29 3d 30 0d 02 a1 1e 74  6f 74 61 6c 5f 67 6f 74  |)=0....total_got|
00003cb0  25 3d 74 6f 74 61 6c 5f  67 6f 74 5f 66 70 2d 4a  |%=total_got_fp-J|
00003cc0  25 0d 02 a2 1e e7 74 6f  74 61 6c 5f 67 6f 74 25  |%.....total_got%|
00003cd0  3c 30 3a 74 6f 74 61 6c  5f 67 6f 74 25 3d 30 0d  |<0:total_got%=0.|
00003ce0  02 a3 05 e1 0d 02 a4 3f  dd f2 74 65 78 74 5f 62  |.......?..text_b|
00003cf0  6f 78 28 73 74 5f 78 25  2c 73 74 5f 79 25 2c 6c  |ox(st_x%,st_y%,l|
00003d00  65 6e 67 74 68 25 2c 68  65 69 67 68 74 25 2c 6a  |ength%,height%,j|
00003d10  75 73 74 5f 74 79 70 65  25 2c 61 24 2c 62 24 2c  |ust_type%,a$,b$,|
00003d20  63 24 29 0d 02 a5 26 f2  62 6f 78 32 28 73 74 5f  |c$)...&.box2(st_|
00003d30  78 25 2c 73 74 5f 79 25  2c 6c 65 6e 67 74 68 25  |x%,st_y%,length%|
00003d40  2c 68 65 69 67 68 74 25  29 0d 02 a6 20 66 5f 77  |,height%)... f_w|
00003d50  69 64 74 68 31 25 3d a4  66 6f 6e 74 5f 73 74 72  |idth1%=.font_str|
00003d60  69 6e 67 5f 77 28 61 24  29 0d 02 a7 20 66 5f 77  |ing_w(a$)... f_w|
00003d70  69 64 74 68 32 25 3d a4  66 6f 6e 74 5f 73 74 72  |idth2%=.font_str|
00003d80  69 6e 67 5f 77 28 62 24  29 0d 02 a8 20 66 5f 77  |ing_w(b$)... f_w|
00003d90  69 64 74 68 33 25 3d a4  66 6f 6e 74 5f 73 74 72  |idth3%=.font_str|
00003da0  69 6e 67 5f 77 28 63 24  29 0d 02 a9 10 66 5f 68  |ing_w(c$)....f_h|
00003db0  65 69 67 68 74 25 3d 37  30 0d 02 aa 2c 6c 69 6e  |eight%=70...,lin|
00003dc0  65 73 25 3d 33 3a e7 63  24 3d 22 22 3a 6c 69 6e  |es%=3:.c$="":lin|
00003dd0  65 73 25 3d 32 3a e7 62  24 3d 22 22 3a 6c 69 6e  |es%=2:.b$="":lin|
00003de0  65 73 25 3d 31 0d 02 ab  2e 78 70 6f 73 31 25 3d  |es%=1....xpos1%=|
00003df0  73 74 5f 78 25 2b 28 28  6c 65 6e 67 74 68 25 2d  |st_x%+((length%-|
00003e00  28 66 5f 77 69 64 74 68  31 25 2f 34 30 30 29 29  |(f_width1%/400))|
00003e10  2f 32 29 0d 02 ac 2e 78  70 6f 73 32 25 3d 73 74  |/2)....xpos2%=st|
00003e20  5f 78 25 2b 28 28 6c 65  6e 67 74 68 25 2d 28 66  |_x%+((length%-(f|
00003e30  5f 77 69 64 74 68 32 25  2f 34 30 30 29 29 2f 32  |_width2%/400))/2|
00003e40  29 0d 02 ad 2e 78 70 6f  73 33 25 3d 73 74 5f 78  |)....xpos3%=st_x|
00003e50  25 2b 28 28 6c 65 6e 67  74 68 25 2d 28 66 5f 77  |%+((length%-(f_w|
00003e60  69 64 74 68 33 25 2f 34  30 30 29 29 2f 32 29 0d  |idth3%/400))/2).|
00003e70  02 ae 13 e7 6a 75 73 74  5f 74 79 70 65 25 3d 32  |....just_type%=2|
00003e80  20 8c 0d 02 af 30 e7 78  70 6f 73 31 25 3c 78 70  | ....0.xpos1%<xp|
00003e90  6f 73 32 25 20 78 70 6f  73 32 25 3d 78 70 6f 73  |os2% xpos2%=xpos|
00003ea0  31 25 20 8b 20 78 70 6f  73 31 25 3d 78 70 6f 73  |1% . xpos1%=xpos|
00003eb0  32 25 0d 02 b0 30 e7 78  70 6f 73 32 25 3c 78 70  |2%...0.xpos2%<xp|
00003ec0  6f 73 33 25 20 78 70 6f  73 33 25 3d 78 70 6f 73  |os3% xpos3%=xpos|
00003ed0  32 25 20 8b 20 78 70 6f  73 32 25 3d 78 70 6f 73  |2% . xpos2%=xpos|
00003ee0  33 25 0d 02 b1 30 e7 78  70 6f 73 33 25 3c 78 70  |3%...0.xpos3%<xp|
00003ef0  6f 73 31 25 20 78 70 6f  73 31 25 3d 78 70 6f 73  |os1% xpos1%=xpos|
00003f00  33 25 20 8b 20 78 70 6f  73 33 25 3d 78 70 6f 73  |3% . xpos3%=xpos|
00003f10  31 25 0d 02 b2 05 cd 0d  02 b3 54 79 70 6f 73 31  |1%........Typos1|
00003f20  25 3d 28 73 74 5f 79 25  2d 28 66 5f 68 65 69 67  |%=(st_y%-(f_heig|
00003f30  68 74 25 2f 36 29 2a 34  29 2b 28 68 65 69 67 68  |ht%/6)*4)+(heigh|
00003f40  74 25 2d 28 6c 69 6e 65  73 25 2a 66 5f 68 65 69  |t%-(lines%*f_hei|
00003f50  67 68 74 25 29 29 2f 32  2b 28 6c 69 6e 65 73 25  |ght%))/2+(lines%|
00003f60  2a 66 5f 68 65 69 67 68  74 25 29 0d 02 b4 1b 79  |*f_height%)....y|
00003f70  70 6f 73 32 25 3d 79 70  6f 73 31 25 2d 66 5f 68  |pos2%=ypos1%-f_h|
00003f80  65 69 67 68 74 25 0d 02  b5 1b 79 70 6f 73 33 25  |eight%....ypos3%|
00003f90  3d 79 70 6f 73 32 25 2d  66 5f 68 65 69 67 68 74  |=ypos2%-f_height|
00003fa0  25 0d 02 b6 1a f2 70 72  69 28 78 70 6f 73 31 25  |%.....pri(xpos1%|
00003fb0  2c 79 70 6f 73 31 25 2c  61 24 29 0d 02 b7 24 e7  |,ypos1%,a$)...$.|
00003fc0  6c 69 6e 65 73 25 3e 31  20 f2 70 72 69 28 78 70  |lines%>1 .pri(xp|
00003fd0  6f 73 32 25 2c 79 70 6f  73 32 25 2c 62 24 29 0d  |os2%,ypos2%,b$).|
00003fe0  02 b8 24 e7 6c 69 6e 65  73 25 3e 32 20 f2 70 72  |..$.lines%>2 .pr|
00003ff0  69 28 78 70 6f 73 33 25  2c 79 70 6f 73 33 25 2c  |i(xpos3%,ypos3%,|
00004000  63 24 29 0d 02 b9 05 e1  0d 02 ba 13 dd f2 70 72  |c$)...........pr|
00004010  69 28 78 25 2c 79 25 2c  61 24 29 0d 02 bb 3a c8  |i(x%,y%,a$)...:.|
00004020  99 22 46 6f 6e 74 5f 46  69 6e 64 46 6f 6e 74 22  |."Font_FindFont"|
00004030  2c 2c 22 54 41 42 4c 4f  49 44 2e 4d 65 64 69 75  |,,"TABLOID.Mediu|
00004040  6d 22 2c 33 32 30 2c 33  36 30 2c 30 2c 30 20 b8  |m",320,360,0,0 .|
00004050  20 68 61 6e 25 0d 02 bc  23 c8 99 22 46 6f 6e 74  | han%...#.."Font|
00004060  5f 53 65 74 46 6f 6e 74  43 6f 6c 6f 75 72 73 22  |_SetFontColours"|
00004070  2c 30 2c 30 2c 31 2c 32  0d 02 bd 14 ef 30 2c 30  |,0,0,1,2.....0,0|
00004080  2c 30 2c 30 2c 30 2c 30  2c 30 2c 30 0d 02 be 1f  |,0,0,0,0,0,0....|
00004090  c8 99 22 46 6f 6e 74 5f  50 61 69 6e 74 22 2c 2c  |.."Font_Paint",,|
000040a0  61 24 2c 31 36 2c 78 25  2c 79 25 0d 02 bf 1a c8  |a$,16,x%,y%.....|
000040b0  99 22 46 6f 6e 74 5f 4c  6f 73 65 46 6f 6e 74 22  |."Font_LoseFont"|
000040c0  2c 68 61 6e 25 0d 02 c0  05 e1 0d 02 c1 1c dd a4  |,han%...........|
000040d0  66 6f 6e 74 5f 73 74 72  69 6e 67 5f 77 28 73 74  |font_string_w(st|
000040e0  72 69 6e 67 24 29 0d 02  c2 14 24 73 74 72 69 6e  |ring$)....$strin|
000040f0  67 25 3d 73 74 72 69 6e  67 24 0d 02 c3 3a c8 99  |g%=string$...:..|
00004100  22 46 6f 6e 74 5f 46 69  6e 64 46 6f 6e 74 22 2c  |"Font_FindFont",|
00004110  2c 22 54 41 42 4c 4f 49  44 2e 4d 65 64 69 75 6d  |,"TABLOID.Medium|
00004120  22 2c 33 32 30 2c 33 36  30 2c 30 2c 30 20 b8 20  |",320,360,0,0 . |
00004130  68 61 6e 25 0d 02 c4 47  c8 99 22 46 6f 6e 74 5f  |han%...G.."Font_|
00004140  53 74 72 69 6e 67 57 69  64 74 68 22 2c 30 2c 73  |StringWidth",0,s|
00004150  74 72 69 6e 67 25 2c 36  30 30 30 30 30 2c 34 38  |tring%,600000,48|
00004160  30 30 30 30 2c 2d 31 2c  38 30 20 b8 20 72 30 2c  |0000,-1,80 . r0,|
00004170  72 31 2c 66 5f 77 69 64  74 68 25 0d 02 c5 1a c8  |r1,f_width%.....|
00004180  99 22 46 6f 6e 74 5f 4c  6f 73 65 46 6f 6e 74 22  |."Font_LoseFont"|
00004190  2c 68 61 6e 25 0d 02 c6  0d 3d 66 5f 77 69 64 74  |,han%....=f_widt|
000041a0  68 25 0d 02 c7 1c dd a4  66 6f 6e 74 5f 73 74 72  |h%......font_str|
000041b0  69 6e 67 5f 68 28 73 74  72 69 6e 67 24 29 0d 02  |ing_h(string$)..|
000041c0  c8 14 24 73 74 72 69 6e  67 25 3d 73 74 72 69 6e  |..$string%=strin|
000041d0  67 24 0d 02 c9 3a c8 99  22 46 6f 6e 74 5f 46 69  |g$...:.."Font_Fi|
000041e0  6e 64 46 6f 6e 74 22 2c  2c 22 54 41 42 4c 4f 49  |ndFont",,"TABLOI|
000041f0  44 2e 4d 65 64 69 75 6d  22 2c 33 32 30 2c 33 36  |D.Medium",320,36|
00004200  30 2c 30 2c 30 20 b8 20  68 61 6e 25 0d 02 ca 4a  |0,0,0 . han%...J|
00004210  c8 99 22 46 6f 6e 74 5f  53 74 72 69 6e 67 57 69  |.."Font_StringWi|
00004220  64 74 68 22 2c 30 2c 73  74 72 69 6e 67 25 2c 36  |dth",0,string%,6|
00004230  30 30 30 30 30 2c 34 38  30 30 30 30 2c 2d 31 2c  |00000,480000,-1,|
00004240  38 30 20 b8 20 72 30 2c  72 31 2c 72 32 2c 66 5f  |80 . r0,r1,r2,f_|
00004250  68 65 69 67 68 74 0d 02  cb 1a c8 99 22 46 6f 6e  |height......"Fon|
00004260  74 5f 4c 6f 73 65 46 6f  6e 74 22 2c 68 61 6e 25  |t_LoseFont",han%|
00004270  0d 02 cc 0e 3d 66 5f 68  65 69 67 68 74 25 0d 02  |....=f_height%..|
00004280  cd 18 dd f2 73 74 61 72  74 5f 61 6e 69 6d 28 62  |....start_anim(b|
00004290  6c 61 6e 6b 24 29 0d 02  ce 3d c8 99 22 4f 53 5f  |lank$)...=.."OS_|
000042a0  53 70 72 69 74 65 4f 70  22 2c 26 31 31 38 2c 73  |SpriteOp",&118,s|
000042b0  70 72 69 74 65 5f 61 72  65 61 31 25 2c 73 65 6c  |prite_area1%,sel|
000042c0  5f 73 70 72 69 74 65 24  20 b8 20 72 30 2c 72 31  |_sprite$ . r0,r1|
000042d0  2c 72 32 0d 02 cf 3c 77  69 64 74 68 25 3d 28 21  |,r2...<width%=(!|
000042e0  28 72 32 2b 31 36 29 2b  31 29 2a 31 36 3a 68 65  |(r2+16)+1)*16:he|
000042f0  69 67 68 74 25 3d 28 21  28 72 32 2b 32 30 29 2b  |ight%=(!(r2+20)+|
00004300  31 29 2a 28 34 2a 28 76  67 61 25 2b 31 29 29 0d  |1)*(4*(vga%+1)).|
00004310  02 d0 56 c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |..V.."OS_SpriteO|
00004320  70 22 2c 26 31 31 30 2c  73 70 72 69 74 65 5f 61  |p",&110,sprite_a|
00004330  72 65 61 31 25 2c 62 6c  61 6e 6b 24 2c 30 2c 61  |rea1%,blank$,0,a|
00004340  6e 5f 78 25 2c 61 6e 5f  79 25 2c 61 6e 5f 78 25  |n_x%,an_y%,an_x%|
00004350  2b 77 69 64 74 68 25 2c  61 6e 5f 79 25 2b 68 65  |+width%,an_y%+he|
00004360  69 67 68 74 25 0d 02 d1  38 f2 70 6c 6f 74 5f 73  |ight%...8.plot_s|
00004370  70 72 69 74 65 5f 6d 61  73 6b 65 64 28 61 6e 5f  |prite_masked(an_|
00004380  78 25 2c 61 6e 5f 79 25  2c 31 2c 31 2c 31 2c 31  |x%,an_y%,1,1,1,1|
00004390  2c 73 65 6c 5f 73 70 72  69 74 65 24 29 0d 02 d2  |,sel_sprite$)...|
000043a0  1d 61 6e 5f 78 78 25 3d  61 6e 5f 78 25 3a 61 6e  |.an_xx%=an_x%:an|
000043b0  5f 79 79 25 3d 61 6e 5f  79 25 0d 02 d3 05 e1 0d  |_yy%=an_y%......|
000043c0  02 d4 12 dd f2 61 6e 69  6d 28 62 6c 61 6e 6b 24  |.....anim(blank$|
000043d0  29 0d 02 d5 3a f2 70 6c  6f 74 5f 73 70 72 69 74  |)...:.plot_sprit|
000043e0  65 5f 6d 61 73 6b 65 64  28 61 6e 5f 78 78 25 2c  |e_masked(an_xx%,|
000043f0  61 6e 5f 79 79 25 2c 31  2c 31 2c 31 2c 31 2b 76  |an_yy%,1,1,1,1+v|
00004400  67 61 25 2c 62 6c 61 6e  6b 24 29 0d 02 d6 56 c8  |ga%,blank$)...V.|
00004410  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 26  |."OS_SpriteOp",&|
00004420  31 31 30 2c 73 70 72 69  74 65 5f 61 72 65 61 31  |110,sprite_area1|
00004430  25 2c 62 6c 61 6e 6b 24  2c 30 2c 61 6e 5f 78 25  |%,blank$,0,an_x%|
00004440  2c 61 6e 5f 79 25 2c 61  6e 5f 78 25 2b 77 69 64  |,an_y%,an_x%+wid|
00004450  74 68 25 2c 61 6e 5f 79  25 2b 68 65 69 67 68 74  |th%,an_y%+height|
00004460  25 0d 02 d7 38 f2 70 6c  6f 74 5f 73 70 72 69 74  |%...8.plot_sprit|
00004470  65 5f 6d 61 73 6b 65 64  28 61 6e 5f 78 25 2c 61  |e_masked(an_x%,a|
00004480  6e 5f 79 25 2c 31 2c 31  2c 31 2c 31 2c 73 65 6c  |n_y%,1,1,1,1,sel|
00004490  5f 73 70 72 69 74 65 24  29 0d 02 d8 1d 61 6e 5f  |_sprite$)....an_|
000044a0  78 78 25 3d 61 6e 5f 78  25 3a 61 6e 5f 79 79 25  |xx%=an_x%:an_yy%|
000044b0  3d 61 6e 5f 79 25 0d 02  d9 05 e1 0d 02 da 16 dd  |=an_y%..........|
000044c0  f2 65 6e 64 5f 61 6e 69  6d 28 62 6c 61 6e 6b 24  |.end_anim(blank$|
000044d0  29 0d 02 db 3a f2 70 6c  6f 74 5f 73 70 72 69 74  |)...:.plot_sprit|
000044e0  65 5f 6d 61 73 6b 65 64  28 61 6e 5f 78 78 25 2c  |e_masked(an_xx%,|
000044f0  61 6e 5f 79 79 25 2c 31  2c 31 2c 31 2c 31 2b 76  |an_yy%,1,1,1,1+v|
00004500  67 61 25 2c 62 6c 61 6e  6b 24 29 0d 02 dc 05 e1  |ga%,blank$).....|
00004510  0d 02 dd 14 dd f2 70 72  69 32 28 78 25 2c 79 25  |......pri2(x%,y%|
00004520  2c 61 24 29 0d 02 de 3a  c8 99 22 46 6f 6e 74 5f  |,a$)...:.."Font_|
00004530  46 69 6e 64 46 6f 6e 74  22 2c 2c 22 54 41 42 4c  |FindFont",,"TABL|
00004540  4f 49 44 2e 4d 65 64 69  75 6d 22 2c 33 32 30 2c  |OID.Medium",320,|
00004550  33 36 30 2c 30 2c 30 20  b8 20 68 61 6e 25 0d 02  |360,0,0 . han%..|
00004560  df 24 c8 99 22 46 6f 6e  74 5f 53 65 74 46 6f 6e  |.$.."Font_SetFon|
00004570  74 43 6f 6c 6f 75 72 73  22 2c 30 2c 33 2c 32 2c  |tColours",0,3,2,|
00004580  2d 32 0d 02 e0 14 ef 30  2c 30 2c 30 2c 30 2c 30  |-2.....0,0,0,0,0|
00004590  2c 30 2c 30 2c 30 0d 02  e1 1f c8 99 22 46 6f 6e  |,0,0,0......"Fon|
000045a0  74 5f 50 61 69 6e 74 22  2c 2c 61 24 2c 31 36 2c  |t_Paint",,a$,16,|
000045b0  78 25 2c 79 25 0d 02 e2  1a c8 99 22 46 6f 6e 74  |x%,y%......"Font|
000045c0  5f 4c 6f 73 65 46 6f 6e  74 22 2c 68 61 6e 25 0d  |_LoseFont",han%.|
000045d0  02 e3 05 e1 0d 02 e4 1c  dd f2 62 6f 78 28 62 78  |..........box(bx|
000045e0  25 2c 62 79 25 2c 62 78  78 25 2c 62 79 79 25 29  |%,by%,bxx%,byy%)|
000045f0  0d 02 e5 1f 62 78 78 25  3d 62 78 25 2b 62 78 78  |....bxx%=bx%+bxx|
00004600  25 3a 62 79 79 25 3d 62  79 25 2b 62 79 79 25 0d  |%:byy%=by%+byy%.|
00004610  02 e6 25 ef 32 34 2c 62  78 25 3b 62 79 25 3b 62  |..%.24,bx%;by%;b|
00004620  78 78 25 3b 62 79 79 25  3b 31 38 2c 30 2c 31 33  |xx%;byy%;18,0,13|
00004630  30 2c 31 36 0d 02 e7 2d  ef 32 34 2c 62 78 25 2b  |0,16...-.24,bx%+|
00004640  34 3b 62 79 25 2b 34 3b  62 78 78 25 2d 34 3b 62  |4;by%+4;bxx%-4;b|
00004650  79 79 25 2d 34 3b 31 38  2c 30 2c 31 32 39 2c 31  |yy%-4;18,0,129,1|
00004660  36 0d 02 e8 30 ef 32 34  2c 62 78 25 2b 38 3b 62  |6...0.24,bx%+8;b|
00004670  79 25 2b 38 3b 62 78 78  25 2d 38 3b 62 79 79 25  |y%+8;bxx%-8;byy%|
00004680  2d 38 3b 31 38 2c 30 2c  31 32 38 2c 31 36 2c 32  |-8;18,0,128,16,2|
00004690  36 0d 02 e9 2f e6 30 2c  33 3a ec 20 62 78 25 2b  |6.../.0,3:. bx%+|
000046a0  34 2c 62 79 25 3a f0 35  2c 62 78 78 25 2c 62 79  |4,by%:.5,bxx%,by|
000046b0  25 3a f0 35 2c 62 78 78  25 2c 62 79 79 25 2d 34  |%:.5,bxx%,byy%-4|
000046c0  0d 02 ea 32 ec 20 62 78  25 2b 34 2c 62 79 25 2b  |...2. bx%+4,by%+|
000046d0  32 3a f0 35 2c 62 78 78  25 2d 32 2c 62 79 25 2b  |2:.5,bxx%-2,by%+|
000046e0  32 3a f0 35 2c 62 78 78  25 2d 32 2c 62 79 79 25  |2:.5,bxx%-2,byy%|
000046f0  2d 34 0d 02 eb 37 e6 30  2c 32 3a ec 20 62 78 25  |-4...7.0,2:. bx%|
00004700  2b 38 2c 62 79 25 2b 34  3a f0 35 2c 62 78 78 25  |+8,by%+4:.5,bxx%|
00004710  2d 34 2c 62 79 25 2b 34  3a f0 35 2c 62 78 78 25  |-4,by%+4:.5,bxx%|
00004720  2d 34 2c 62 79 79 25 2d  38 0d 02 ec 32 ec 20 62  |-4,byy%-8...2. b|
00004730  78 25 2b 38 2c 62 79 25  2b 36 3a f0 35 2c 62 78  |x%+8,by%+6:.5,bx|
00004740  78 25 2d 36 2c 62 79 25  2b 36 3a f0 35 2c 62 78  |x%-6,by%+6:.5,bx|
00004750  78 25 2d 36 2c 62 79 79  25 2d 38 0d 02 ed 05 e1  |x%-6,byy%-8.....|
00004760  0d 02 ee 1d dd f2 62 6f  78 32 28 62 78 25 2c 62  |......box2(bx%,b|
00004770  79 25 2c 62 78 78 25 2c  62 79 79 25 29 0d 02 ef  |y%,bxx%,byy%)...|
00004780  1f 62 78 78 25 3d 62 78  25 2b 62 78 78 25 3a 62  |.bxx%=bx%+bxx%:b|
00004790  79 79 25 3d 62 79 25 2b  62 79 79 25 0d 02 f0 2d  |yy%=by%+byy%...-|
000047a0  ef 32 34 2c 62 78 25 2d  34 3b 62 79 25 2d 34 3b  |.24,bx%-4;by%-4;|
000047b0  62 78 78 25 2b 34 3b 62  79 79 25 2b 34 3b 31 38  |bxx%+4;byy%+4;18|
000047c0  2c 30 2c 31 33 31 2c 31  36 0d 02 f1 28 ef 32 34  |,0,131,16...(.24|
000047d0  2c 62 78 25 3b 62 79 25  3b 62 78 78 25 3b 62 79  |,bx%;by%;bxx%;by|
000047e0  79 25 3b 31 38 2c 30 2c  31 32 38 2c 31 36 2c 32  |y%;18,0,128,16,2|
000047f0  36 0d 02 f2 05 e1 0d 02  f3 37 dd f2 73 65 74 5f  |6........7..set_|
00004800  75 70 5f 63 6f 75 6e 74  5f 64 6f 77 6e 28 74 78  |up_count_down(tx|
00004810  25 2c 74 79 25 2c 64 69  67 69 74 73 25 2c 61 6d  |%,ty%,digits%,am|
00004820  6f 75 6e 74 25 2c 74 69  6d 65 72 25 29 0d 02 f4  |ount%,timer%)...|
00004830  20 f2 62 6f 78 32 28 74  78 25 2c 74 79 25 2c 34  | .box2(tx%,ty%,4|
00004840  38 2a 64 69 67 69 74 73  25 2c 37 32 29 0d 02 f5  |8*digits%,72)...|
00004850  21 63 6f 75 6e 74 5f 64  6f 77 6e 25 28 74 69 6d  |!count_down%(tim|
00004860  65 72 25 29 3d 91 2b 61  6d 6f 75 6e 74 25 0d 02  |er%)=.+amount%..|
00004870  f6 05 e1 0d 02 f7 29 dd  a4 70 72 69 6e 74 5f 74  |......)..print_t|
00004880  69 6d 65 72 28 74 78 25  2c 74 79 25 2c 64 69 67  |imer(tx%,ty%,dig|
00004890  69 74 73 25 2c 74 69 6d  65 72 25 29 0d 02 f8 26  |its%,timer%)...&|
000048a0  74 69 6d 65 72 25 3d 28  63 6f 75 6e 74 5f 64 6f  |timer%=(count_do|
000048b0  77 6e 25 28 74 69 6d 65  72 25 29 2d 91 29 2f 31  |wn%(timer%)-.)/1|
000048c0  30 30 0d 02 f9 2f e7 74  69 6d 65 72 25 3c 30 20  |00.../.timer%<0 |
000048d0  74 69 6d 65 72 25 3d 30  30 30 30 3a 63 6f 75 6e  |timer%=0000:coun|
000048e0  74 5f 64 6f 77 6e 25 28  74 69 6d 65 72 25 29 3d  |t_down%(timer%)=|
000048f0  30 0d 02 fa 10 74 24 3d  c3 28 74 69 6d 65 72 25  |0....t$=.(timer%|
00004900  29 0d 02 fb 2a f2 70 6c  6f 74 5f 6e 75 6d 62 65  |)...*.plot_numbe|
00004910  72 73 28 74 78 25 2b 32  34 2c 74 79 25 2b 38 2c  |rs(tx%+24,ty%+8,|
00004920  64 69 67 69 74 73 25 2c  74 24 29 0d 02 fc 07 3d  |digits%,t$)....=|
00004930  74 24 0d 02 fd 24 dd f2  70 6c 6f 74 5f 6e 75 6d  |t$...$..plot_num|
00004940  62 65 72 73 28 78 25 2c  79 25 2c 64 69 67 69 74  |bers(x%,y%,digit|
00004950  73 25 2c 61 24 29 0d 02  fe 14 e7 a9 28 61 24 29  |s%,a$)......(a$)|
00004960  3c 64 69 67 69 74 73 25  20 8c 0d 02 ff 05 f5 0d  |<digits% .......|
00004970  03 00 0d 61 24 3d 22 64  22 2b 61 24 0d 03 01 12  |...a$="d"+a$....|
00004980  fd a9 28 61 24 29 3d 64  69 67 69 74 73 25 0d 03  |..(a$)=digits%..|
00004990  02 05 cd 0d 03 03 12 e3  70 6e 25 3d 31 20 b8 20  |........pn%=1 . |
000049a0  a9 28 61 24 29 0d 03 04  38 f2 70 6c 6f 74 5f 73  |.(a$)...8.plot_s|
000049b0  70 72 69 74 65 28 28 78  25 2d 33 36 29 2b 28 70  |prite((x%-36)+(p|
000049c0  6e 25 2a 33 36 29 2c 79  25 2c 31 2c 31 2c 31 2c  |n%*36),y%,1,1,1,|
000049d0  31 2c c1 61 24 2c 70 6e  25 2c 31 29 29 0d 03 05  |1,.a$,pn%,1))...|
000049e0  05 ed 0d 03 06 05 e1 0d  03 07 1e dd f2 73 65 74  |.............set|
000049f0  5f 70 6f 73 5f 62 75 74  74 6f 6e 73 28 62 78 25  |_pos_buttons(bx%|
00004a00  2c 62 79 25 29 0d 03 08  16 e3 62 66 25 3d 31 b8  |,by%).....bf%=1.|
00004a10  20 74 6f 74 61 6c 5f 62  75 74 25 0d 03 09 1f 62  | total_but%....b|
00004a20  75 74 25 28 62 66 25 2c  30 29 3d 62 75 74 25 28  |ut%(bf%,0)=but%(|
00004a30  62 66 25 2c 30 29 2b 62  78 25 0d 03 0a 1f 62 75  |bf%,0)+bx%....bu|
00004a40  74 25 28 62 66 25 2c 31  29 3d 62 75 74 25 28 62  |t%(bf%,1)=but%(b|
00004a50  66 25 2c 31 29 2b 62 79  25 0d 03 0b 05 ed 0d 03  |f%,1)+by%.......|
00004a60  0c 05 e1 0d 03 0d 0e dd  f2 70 61 6c 65 74 74 65  |.........palette|
00004a70  32 0d 03 0e 2c e7 56 25  3d 30 20 ef 32 34 2c 30  |2...,.V%=0 .24,0|
00004a80  3b 39 36 30 3b 31 32 37  38 3b 31 30 32 32 3b 31  |;960;1278;1022;1|
00004a90  38 2c 30 2c 31 33 31 2c  31 36 2c 32 36 0d 03 0f  |8,0,131,16,26...|
00004aa0  18 ef 31 39 2c 31 2c 32  34 2c 31 33 36 2c 31 33  |..19,1,24,136,13|
00004ab0  36 2c 31 33 36 0d 03 10  10 ea 70 25 2c 72 25 2c  |6,136.....p%,r%,|
00004ac0  67 25 2c 62 25 0d 03 11  07 f7 2b 34 0d 03 12 0c  |g%,b%.....+4....|
00004ad0  e3 70 25 3d 30 b8 31 35  0d 03 13 1a f3 72 25 2c  |.p%=0.15.....r%,|
00004ae0  67 25 2c 62 25 3a fb 70  25 2c 72 25 2c 67 25 2c  |g%,b%:.p%,r%,g%,|
00004af0  62 25 0d 03 14 07 ed 3a  e1 0d 03 15 2f dc 20 32  |b%.....:..../. 2|
00004b00  35 35 2c 32 35 35 2c 32  35 35 2c 31 38 37 2c 31  |55,255,255,187,1|
00004b10  38 37 2c 31 38 37 2c 31  33 36 2c 31 33 36 2c 31  |87,187,136,136,1|
00004b20  33 36 2c 30 2c 30 2c 30  0d 03 16 29 dc 20 30 2c  |36,0,0,0...). 0,|
00004b30  30 2c 31 37 35 2c 30 2c  30 2c 32 35 35 2c 30 2c  |0,175,0,0,255,0,|
00004b40  32 30 34 2c 32 35 35 2c  32 35 35 2c 32 35 35 2c  |204,255,255,255,|
00004b50  30 0d 03 17 28 dc 20 32  30 34 2c 32 30 34 2c 30  |0...(. 204,204,0|
00004b60  2c 32 32 31 2c 30 2c 30  2c 31 33 36 2c 31 37 2c  |,221,0,0,136,17,|
00004b70  30 2c 30 2c 31 35 33 2c  30 0d 03 18 2a dc 20 30  |0,0,153,0...*. 0|
00004b80  2c 31 38 37 2c 33 34 2c  30 2c 32 35 35 2c 30 2c  |,187,34,0,255,0,|
00004b90  32 35 35 2c 32 32 31 2c  31 37 30 2c 30 2c 30 2c  |255,221,170,0,0,|
00004ba0  31 37 35 0d 03 19 0f dd  f2 61 73 73 65 6d 62 6c  |175......assembl|
00004bb0  65 32 0d 03 1a 0c 2a 46  58 31 31 33 2c 31 0d 03  |e2....*FX113,1..|
00004bc0  1b 0c 2a 46 58 31 31 32  2c 32 0d 03 1c 12 e3 6f  |..*FX112,2.....o|
00004bd0  70 74 25 3d 30 20 b8 20  33 20 88 33 0d 03 1d 0f  |pt%=0 . 3 .3....|
00004be0  50 25 3d 6d 5f 63 6f 64  65 32 25 0d 03 1e 05 5b  |P%=m_code2%....[|
00004bf0  0d 03 1f 08 4f 50 54 30  0d 03 20 0f 2e 6d 6f 76  |....OPT0.. ..mov|
00004c00  65 5f 62 6f 6d 62 73 0d  03 21 1c 45 51 55 44 20  |e_bombs..!.EQUD |
00004c10  6d 61 69 6e 20 20 20 20  20 20 20 20 20 20 20 20  |main            |
00004c20  20 20 20 0d 03 22 1c 45  51 55 44 20 61 6c 69 65  |   ..".EQUD alie|
00004c30  6e 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |n              .|
00004c40  03 23 1c 45 51 55 44 20  61 70 70 6c 65 20 20 20  |.#.EQUD apple   |
00004c50  20 20 20 20 20 20 20 20  20 20 20 0d 03 24 1c 45  |           ..$.E|
00004c60  51 55 44 20 37 32 30 20  20 20 20 20 20 20 20 20  |QUD 720         |
00004c70  20 20 20 20 20 20 20 0d  03 25 1c 45 51 55 44 20  |       ..%.EQUD |
00004c80  36 37 32 20 20 20 20 20  20 20 20 20 20 20 20 20  |672             |
00004c90  20 20 20 0d 03 26 1c 45  51 55 44 20 30 20 20 20  |   ..&.EQUD 0   |
00004ca0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |               .|
00004cb0  03 27 1c 45 51 55 44 20  30 20 20 20 20 20 20 20  |.'.EQUD 0       |
00004cc0  20 20 20 20 20 20 20 20  20 20 20 0d 03 28 1c 45  |           ..(.E|
00004cd0  51 55 44 20 34 39 20 20  20 20 20 20 20 20 20 20  |QUD 49          |
00004ce0  20 20 20 20 20 20 20 0d  03 29 1c 45 51 55 44 20  |       ..).EQUD |
00004cf0  34 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |4               |
00004d00  20 20 20 0d 03 2a 1c 45  51 55 44 20 30 20 20 20  |   ..*.EQUD 0   |
00004d10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |               .|
00004d20  03 2b 1c 45 51 55 44 20  30 20 20 20 20 20 20 20  |.+.EQUD 0       |
00004d30  20 20 20 20 20 20 20 20  20 20 20 0d 03 2c 1c 45  |           ..,.E|
00004d40  51 55 44 20 30 20 20 20  20 20 20 20 20 20 20 20  |QUD 0           |
00004d50  20 20 20 20 20 20 20 0d  03 2d 1c 45 51 55 42 20  |       ..-.EQUB |
00004d60  31 35 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |15              |
00004d70  20 20 20 0d 03 2e 1c 45  51 55 42 20 31 34 20 20  |   ....EQUB 14  |
00004d80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |               .|
00004d90  03 2f 1c 45 51 55 42 20  30 20 20 20 20 20 20 20  |./.EQUB 0       |
00004da0  20 20 20 20 20 20 20 20  20 20 20 0d 03 30 1c 45  |           ..0.E|
00004db0  51 55 42 20 30 20 20 20  20 20 20 20 20 20 20 20  |QUB 0           |
00004dc0  20 20 20 20 20 20 20 0d  03 31 1c 45 51 55 44 20  |       ..1.EQUD |
00004dd0  30 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |0               |
00004de0  20 20 20 0d 03 32 1c 45  51 55 44 20 34 20 20 20  |   ..2.EQUD 4   |
00004df0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |               .|
00004e00  03 33 1c 45 51 55 44 20  74 65 73 74 69 6e 67 20  |.3.EQUD testing |
00004e10  20 20 20 20 20 20 20 20  20 20 20 0d 03 34 1c 45  |           ..4.E|
00004e20  51 55 42 20 30 20 20 20  20 20 20 20 20 20 20 20  |QUB 0           |
00004e30  20 20 20 20 20 20 20 0d  03 35 1c 45 51 55 42 20  |       ..5.EQUB |
00004e40  30 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |0               |
00004e50  20 20 20 0d 03 36 1c 45  51 55 42 20 30 20 20 20  |   ..6.EQUB 0   |
00004e60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |               .|
00004e70  03 37 1c 45 51 55 42 20  30 20 20 20 20 20 20 20  |.7.EQUB 0       |
00004e80  20 20 20 20 20 20 20 20  20 20 20 0d 03 38 1c 45  |           ..8.E|
00004e90  51 55 44 20 72 61 69 6e  20 20 20 20 20 20 20 20  |QUD rain        |
00004ea0  20 20 20 20 20 20 20 0d  03 39 1c 45 51 55 44 20  |       ..9.EQUD |
00004eb0  72 61 69 6e 5f 76 67 61  20 20 20 20 20 20 20 20  |rain_vga        |
00004ec0  20 20 20 0d 03 3a 1c 45  51 55 44 20 30 20 20 20  |   ..:.EQUD 0   |
00004ed0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |               .|
00004ee0  03 3b 1c 45 51 55 44 20  30 20 20 20 20 20 20 20  |.;.EQUD 0       |
00004ef0  20 20 20 20 20 20 20 20  20 20 20 0d 03 3c 1c 45  |           ..<.E|
00004f00  51 55 44 20 30 20 20 20  20 20 20 20 20 20 20 20  |QUD 0           |
00004f10  20 20 20 20 20 20 20 0d  03 3d 1c 45 51 55 44 20  |       ..=.EQUD |
00004f20  30 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |0               |
00004f30  20 20 20 0d 03 3e 1c 45  51 55 44 20 30 20 20 20  |   ..>.EQUD 0   |
00004f40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |               .|
00004f50  03 3f 07 2e 61 6c 0d 03  40 82 45 51 55 44 20 32  |.?..al..@.EQUD 2|
00004f60  38 38 3a 45 51 55 44 20  34 33 32 3a 45 51 55 44  |88:EQUD 432:EQUD|
00004f70  20 30 3a 45 51 55 44 20  34 39 3a 45 51 55 44 20  | 0:EQUD 49:EQUD |
00004f80  30 3a 20 45 51 55 42 20  30 3a 45 51 55 42 20 30  |0: EQUB 0:EQUB 0|
00004f90  3a 45 51 55 42 20 30 3a  45 51 55 42 20 30 3a 45  |:EQUB 0:EQUB 0:E|
00004fa0  51 55 42 20 33 3a 45 51  55 42 20 36 3a 45 51 55  |QUB 3:EQUB 6:EQU|
00004fb0  42 20 39 3a 45 51 55 42  20 30 3a 45 51 55 42 20  |B 9:EQUB 0:EQUB |
00004fc0  30 3a 45 51 55 42 20 30  3a 45 51 55 42 20 30 3a  |0:EQUB 0:EQUB 0:|
00004fd0  45 51 55 42 20 30 20 20  0d 03 41 82 45 51 55 44  |EQUB 0  ..A.EQUD|
00004fe0  20 34 33 32 3a 45 51 55  44 20 32 34 30 3a 45 51  | 432:EQUD 240:EQ|
00004ff0  55 44 20 30 3a 45 51 55  44 20 34 39 3a 45 51 55  |UD 0:EQUD 49:EQU|
00005000  44 20 30 3a 20 45 51 55  42 20 30 3a 45 51 55 42  |D 0: EQUB 0:EQUB|
00005010  20 30 3a 45 51 55 42 20  30 3a 45 51 55 42 20 30  | 0:EQUB 0:EQUB 0|
00005020  3a 45 51 55 42 20 39 3a  45 51 55 42 20 39 3a 45  |:EQUB 9:EQUB 9:E|
00005030  51 55 42 20 35 3a 45 51  55 42 20 30 3a 45 51 55  |QUB 5:EQUB 0:EQU|
00005040  42 20 30 3a 45 51 55 42  20 30 3a 45 51 55 42 20  |B 0:EQUB 0:EQUB |
00005050  30 3a 45 51 55 42 20 30  20 20 0d 03 42 82 45 51  |0:EQUB 0  ..B.EQ|
00005060  55 44 20 32 38 38 3a 45  51 55 44 20 32 38 38 3a  |UD 288:EQUD 288:|
00005070  45 51 55 44 20 30 3a 45  51 55 44 20 34 39 3a 45  |EQUD 0:EQUD 49:E|
00005080  51 55 44 20 30 3a 20 45  51 55 42 20 30 3a 45 51  |QUD 0: EQUB 0:EQ|
00005090  55 42 20 30 3a 45 51 55  42 20 30 3a 45 51 55 42  |UB 0:EQUB 0:EQUB|
000050a0  20 30 3a 45 51 55 42 20  36 3a 45 51 55 42 20 36  | 0:EQUB 6:EQUB 6|
000050b0  3a 45 51 55 42 20 36 3a  45 51 55 42 20 30 3a 45  |:EQUB 6:EQUB 0:E|
000050c0  51 55 42 20 30 3a 45 51  55 42 20 30 3a 45 51 55  |QUB 0:EQUB 0:EQU|
000050d0  42 20 30 3a 45 51 55 42  20 30 20 20 0d 03 43 82  |B 0:EQUB 0  ..C.|
000050e0  45 51 55 44 20 32 34 30  3a 45 51 55 44 20 32 34  |EQUD 240:EQUD 24|
000050f0  30 3a 45 51 55 44 20 30  3a 45 51 55 44 20 34 39  |0:EQUD 0:EQUD 49|
00005100  3a 45 51 55 44 20 30 3a  20 45 51 55 42 20 30 3a  |:EQUD 0: EQUB 0:|
00005110  45 51 55 42 20 30 3a 45  51 55 42 20 30 3a 45 51  |EQUB 0:EQUB 0:EQ|
00005120  55 42 20 30 3a 45 51 55  42 20 31 32 3a 45 51 55  |UB 0:EQUB 12:EQU|
00005130  42 20 35 3a 45 51 55 42  20 35 3a 45 51 55 42 20  |B 5:EQUB 5:EQUB |
00005140  30 3a 45 51 55 42 20 30  3a 45 51 55 42 20 30 3a  |0:EQUB 0:EQUB 0:|
00005150  45 51 55 42 20 30 3a 45  51 55 42 20 30 20 0d 03  |EQUB 0:EQUB 0 ..|
00005160  44 82 45 51 55 44 20 30  3a 45 51 55 44 20 30 3a  |D.EQUD 0:EQUD 0:|
00005170  45 51 55 44 20 30 3a 45  51 55 44 20 34 39 3a 45  |EQUD 0:EQUD 49:E|
00005180  51 55 44 20 30 3a 20 45  51 55 42 20 30 3a 45 51  |QUD 0: EQUB 0:EQ|
00005190  55 42 20 30 3a 45 51 55  42 20 30 3a 45 51 55 42  |UB 0:EQUB 0:EQUB|
000051a0  20 30 3a 45 51 55 42 20  30 3a 45 51 55 42 20 30  | 0:EQUB 0:EQUB 0|
000051b0  3a 45 51 55 42 20 30 3a  45 51 55 42 20 30 3a 45  |:EQUB 0:EQUB 0:E|
000051c0  51 55 42 20 30 3a 45 51  55 42 20 30 3a 45 51 55  |QUB 0:EQUB 0:EQU|
000051d0  42 20 30 3a 45 51 55 42  20 30 20 20 20 20 20 20  |B 0:EQUB 0      |
000051e0  0d 03 45 07 2e 61 70 0d  03 46 65 45 51 55 44 20  |..E..ap..FeEQUD |
000051f0  37 32 30 3a 45 51 55 44  20 37 32 30 3a 45 51 55  |720:EQUD 720:EQU|
00005200  44 20 30 3a 45 51 55 44  20 30 3a 45 51 55 44 20  |D 0:EQUD 0:EQUD |
00005210  34 3a 20 45 51 55 42 20  31 35 3a 45 51 55 42 20  |4: EQUB 15:EQUB |
00005220  31 35 3a 45 51 55 42 20  30 3a 45 51 55 42 20 30  |15:EQUB 0:EQUB 0|
00005230  3a 45 51 55 42 20 30 3a  45 51 55 42 20 30 3a 45  |:EQUB 0:EQUB 0:E|
00005240  51 55 42 20 30 3a 45 51  55 42 20 30 0d 03 47 65  |QUB 0:EQUB 0..Ge|
00005250  45 51 55 44 20 37 32 30  3a 45 51 55 44 20 37 36  |EQUD 720:EQUD 76|
00005260  38 3a 45 51 55 44 20 30  3a 45 51 55 44 20 30 3a  |8:EQUD 0:EQUD 0:|
00005270  45 51 55 44 20 34 3a 20  45 51 55 42 20 31 35 3a  |EQUD 4: EQUB 15:|
00005280  45 51 55 42 20 31 36 3a  45 51 55 42 20 30 3a 45  |EQUB 16:EQUB 0:E|
00005290  51 55 42 20 30 3a 45 51  55 42 20 30 3a 45 51 55  |QUB 0:EQUB 0:EQU|
000052a0  42 20 30 3a 45 51 55 42  20 30 3a 45 51 55 42 20  |B 0:EQUB 0:EQUB |
000052b0  30 0d 03 48 65 45 51 55  44 20 37 32 30 3a 45 51  |0..HeEQUD 720:EQ|
000052c0  55 44 20 38 31 36 3a 45  51 55 44 20 30 3a 45 51  |UD 816:EQUD 0:EQ|
000052d0  55 44 20 30 3a 45 51 55  44 20 34 3a 20 45 51 55  |UD 0:EQUD 4: EQU|
000052e0  42 20 31 35 3a 45 51 55  42 20 31 37 3a 45 51 55  |B 15:EQUB 17:EQU|
000052f0  42 20 30 3a 45 51 55 42  20 30 3a 45 51 55 42 20  |B 0:EQUB 0:EQUB |
00005300  30 3a 45 51 55 42 20 30  3a 45 51 55 42 20 30 3a  |0:EQUB 0:EQUB 0:|
00005310  45 51 55 42 20 30 0d 03  49 65 45 51 55 44 20 37  |EQUB 0..IeEQUD 7|
00005320  32 30 3a 45 51 55 44 20  38 36 34 3a 45 51 55 44  |20:EQUD 864:EQUD|
00005330  20 30 3a 45 51 55 44 20  30 3a 45 51 55 44 20 34  | 0:EQUD 0:EQUD 4|
00005340  3a 20 45 51 55 42 20 31  35 3a 45 51 55 42 20 31  |: EQUB 15:EQUB 1|
00005350  38 3a 45 51 55 42 20 30  3a 45 51 55 42 20 30 3a  |8:EQUB 0:EQUB 0:|
00005360  45 51 55 42 20 30 3a 45  51 55 42 20 30 3a 45 51  |EQUB 0:EQUB 0:EQ|
00005370  55 42 20 30 3a 45 51 55  42 20 30 0d 03 4a 65 45  |UB 0:EQUB 0..JeE|
00005380  51 55 44 20 37 32 30 3a  45 51 55 44 20 37 32 30  |QUD 720:EQUD 720|
00005390  3a 45 51 55 44 20 30 3a  45 51 55 44 20 30 3a 45  |:EQUD 0:EQUD 0:E|
000053a0  51 55 44 20 34 3a 20 45  51 55 42 20 31 35 3a 45  |QUD 4: EQUB 15:E|
000053b0  51 55 42 20 31 35 3a 45  51 55 42 20 30 3a 45 51  |QUB 15:EQUB 0:EQ|
000053c0  55 42 20 30 3a 45 51 55  42 20 30 3a 45 51 55 42  |UB 0:EQUB 0:EQUB|
000053d0  20 30 3a 45 51 55 42 20  30 3a 45 51 55 42 20 30  | 0:EQUB 0:EQUB 0|
000053e0  0d 03 4b 65 45 51 55 44  20 37 32 30 3a 45 51 55  |..KeEQUD 720:EQU|
000053f0  44 20 37 36 38 3a 45 51  55 44 20 30 3a 45 51 55  |D 768:EQUD 0:EQU|
00005400  44 20 30 3a 45 51 55 44  20 34 3a 20 45 51 55 42  |D 0:EQUD 4: EQUB|
00005410  20 31 35 3a 45 51 55 42  20 31 36 3a 45 51 55 42  | 15:EQUB 16:EQUB|
00005420  20 30 3a 45 51 55 42 20  30 3a 45 51 55 42 20 30  | 0:EQUB 0:EQUB 0|
00005430  3a 45 51 55 42 20 30 3a  45 51 55 42 20 30 3a 45  |:EQUB 0:EQUB 0:E|
00005440  51 55 42 20 30 0d 03 4c  65 45 51 55 44 20 37 32  |QUB 0..LeEQUD 72|
00005450  30 3a 45 51 55 44 20 38  31 36 3a 45 51 55 44 20  |0:EQUD 816:EQUD |
00005460  30 3a 45 51 55 44 20 30  3a 45 51 55 44 20 34 3a  |0:EQUD 0:EQUD 4:|
00005470  20 45 51 55 42 20 31 35  3a 45 51 55 42 20 31 37  | EQUB 15:EQUB 17|
00005480  3a 45 51 55 42 20 30 3a  45 51 55 42 20 30 3a 45  |:EQUB 0:EQUB 0:E|
00005490  51 55 42 20 30 3a 45 51  55 42 20 30 3a 45 51 55  |QUB 0:EQUB 0:EQU|
000054a0  42 20 30 3a 45 51 55 42  20 30 0d 03 4d 65 45 51  |B 0:EQUB 0..MeEQ|
000054b0  55 44 20 37 32 30 3a 45  51 55 44 20 38 36 34 3a  |UD 720:EQUD 864:|
000054c0  45 51 55 44 20 30 3a 45  51 55 44 20 30 3a 45 51  |EQUD 0:EQUD 0:EQ|
000054d0  55 44 20 34 3a 20 45 51  55 42 20 31 35 3a 45 51  |UD 4: EQUB 15:EQ|
000054e0  55 42 20 31 38 3a 45 51  55 42 20 30 3a 45 51 55  |UB 18:EQUB 0:EQU|
000054f0  42 20 30 3a 45 51 55 42  20 30 3a 45 51 55 42 20  |B 0:EQUB 0:EQUB |
00005500  30 3a 45 51 55 42 20 30  3a 45 51 55 42 20 30 0d  |0:EQUB 0:EQUB 0.|
00005510  03 4e 65 45 51 55 44 20  37 32 30 3a 45 51 55 44  |.NeEQUD 720:EQUD|
00005520  20 38 36 34 3a 45 51 55  44 20 30 3a 45 51 55 44  | 864:EQUD 0:EQUD|
00005530  20 30 3a 45 51 55 44 20  34 3a 20 45 51 55 42 20  | 0:EQUD 4: EQUB |
00005540  31 35 3a 45 51 55 42 20  31 38 3a 45 51 55 42 20  |15:EQUB 18:EQUB |
00005550  30 3a 45 51 55 42 20 30  3a 45 51 55 42 20 30 3a  |0:EQUB 0:EQUB 0:|
00005560  45 51 55 42 20 30 3a 45  51 55 42 20 30 3a 45 51  |EQUB 0:EQUB 0:EQ|
00005570  55 42 20 30 0d 03 4f 65  45 51 55 44 20 37 32 30  |UB 0..OeEQUD 720|
00005580  3a 45 51 55 44 20 38 36  34 3a 45 51 55 44 20 30  |:EQUD 864:EQUD 0|
00005590  3a 45 51 55 44 20 30 3a  45 51 55 44 20 34 3a 20  |:EQUD 0:EQUD 4: |
000055a0  45 51 55 42 20 31 35 3a  45 51 55 42 20 31 38 3a  |EQUB 15:EQUB 18:|
000055b0  45 51 55 42 20 30 3a 45  51 55 42 20 30 3a 45 51  |EQUB 0:EQUB 0:EQ|
000055c0  55 42 20 30 3a 45 51 55  42 20 30 3a 45 51 55 42  |UB 0:EQUB 0:EQUB|
000055d0  20 30 3a 45 51 55 42 20  30 0d 03 50 65 45 51 55  | 0:EQUB 0..PeEQU|
000055e0  44 20 37 32 30 3a 45 51  55 44 20 38 36 34 3a 45  |D 720:EQUD 864:E|
000055f0  51 55 44 20 30 3a 45 51  55 44 20 30 3a 45 51 55  |QUD 0:EQUD 0:EQU|
00005600  44 20 34 3a 20 45 51 55  42 20 31 35 3a 45 51 55  |D 4: EQUB 15:EQU|
00005610  42 20 31 38 3a 45 51 55  42 20 30 3a 45 51 55 42  |B 18:EQUB 0:EQUB|
00005620  20 30 3a 45 51 55 42 20  30 3a 45 51 55 42 20 30  | 0:EQUB 0:EQUB 0|
00005630  3a 45 51 55 42 20 30 3a  45 51 55 42 20 30 0d 03  |:EQUB 0:EQUB 0..|
00005640  51 65 45 51 55 44 20 37  32 30 3a 45 51 55 44 20  |QeEQUD 720:EQUD |
00005650  38 36 34 3a 45 51 55 44  20 30 3a 45 51 55 44 20  |864:EQUD 0:EQUD |
00005660  30 3a 45 51 55 44 20 34  3a 20 45 51 55 42 20 31  |0:EQUD 4: EQUB 1|
00005670  35 3a 45 51 55 42 20 31  38 3a 45 51 55 42 20 30  |5:EQUB 18:EQUB 0|
00005680  3a 45 51 55 42 20 30 3a  45 51 55 42 20 30 3a 45  |:EQUB 0:EQUB 0:E|
00005690  51 55 42 20 30 3a 45 51  55 42 20 30 3a 45 51 55  |QUB 0:EQUB 0:EQU|
000056a0  42 20 30 0d 03 52 09 41  4c 49 47 4e 0d 03 53 0c  |B 0..R.ALIGN..S.|
000056b0  2e 74 65 73 74 69 6e 67  0d 03 54 0e 4d 4f 56 20  |.testing..T.MOV |
000056c0  52 31 30 2c 52 30 0d 03  55 16 53 54 52 20 52 31  |R10,R0..U.STR R1|
000056d0  34 2c 5b 52 31 30 2c 23  26 35 43 5d 0d 03 56 1b  |4,[R10,#&5C]..V.|
000056e0  4c 44 52 42 20 52 31 2c  5b 52 31 30 2c 23 26 33  |LDRB R1,[R10,#&3|
000056f0  30 5d 20 20 20 20 20 0d  03 57 1b 4c 44 52 42 20  |0]     ..W.LDRB |
00005700  52 32 2c 5b 52 31 30 2c  23 26 33 32 5d 20 20 20  |R2,[R10,#&32]   |
00005710  20 20 0d 03 58 1b 4c 44  52 42 20 52 35 2c 5b 52  |  ..X.LDRB R5,[R|
00005720  31 30 2c 23 26 33 31 5d  20 20 20 20 20 0d 03 59  |10,#&31]     ..Y|
00005730  1b 4c 44 52 42 20 52 36  2c 5b 52 31 30 2c 23 26  |.LDRB R6,[R10,#&|
00005740  33 33 5d 20 20 20 20 20  0d 03 5a 1a 4c 44 52 20  |33]     ..Z.LDR |
00005750  52 31 32 2c 5b 52 31 30  2c 23 26 32 30 5d 20 20  |R12,[R10,#&20]  |
00005760  20 20 0d 03 5b 1a 41 44  44 20 52 31 31 2c 52 31  |  ..[.ADD R11,R1|
00005770  30 2c 23 26 36 30 20 20  20 20 20 20 0d 03 5c 1a  |0,#&60      ..\.|
00005780  41 44 44 20 52 31 31 2c  52 31 31 2c 23 26 31 39  |ADD R11,R11,#&19|
00005790  20 20 20 20 20 20 0d 03  5d 18 2e 74 65 73 74 5f  |      ..]..test_|
000057a0  61 6c 69 65 6e 5f 68 69  74 5f 6c 6f 6f 70 0d 03  |alien_hit_loop..|
000057b0  5e 1a 4c 44 52 42 20 52  33 2c 5b 52 31 31 2c 23  |^.LDRB R3,[R11,#|
000057c0  26 30 5d 20 20 20 20 20  0d 03 5f 1a 4c 44 52 42  |&0]     .._.LDRB|
000057d0  20 52 34 2c 5b 52 31 31  2c 23 26 32 5d 20 20 20  | R4,[R11,#&2]   |
000057e0  20 20 0d 03 60 1a 4c 44  52 42 20 52 37 2c 5b 52  |  ..`.LDRB R7,[R|
000057f0  31 31 2c 23 26 31 5d 20  20 20 20 20 0d 03 61 1a  |11,#&1]     ..a.|
00005800  4c 44 52 42 20 52 38 2c  5b 52 31 31 2c 23 26 33  |LDRB R8,[R11,#&3|
00005810  5d 20 20 20 20 20 0d 03  62 14 42 4c 20 63 68 65  |]     ..b.BL che|
00005820  63 6b 5f 67 72 69 64 5f  63 6f 0d 03 63 1a 43 4d  |ck_grid_co..c.CM|
00005830  50 20 52 39 2c 23 31 20  20 20 20 20 20 20 20 20  |P R9,#1         |
00005840  20 20 20 20 0d 03 64 15  42 45 51 20 6d 61 6e 5f  |    ..d.BEQ man_|
00005850  68 69 74 5f 61 6c 69 65  6e 0d 03 65 1a 41 44 44  |hit_alien..e.ADD|
00005860  20 52 31 31 2c 52 31 31  2c 23 33 32 20 20 20 20  | R11,R11,#32    |
00005870  20 20 20 0d 03 66 12 53  55 42 20 52 31 32 2c 52  |   ..f.SUB R12,R|
00005880  31 32 2c 23 31 0d 03 67  0e 43 4d 50 20 52 31 32  |12,#1..g.CMP R12|
00005890  2c 23 30 0d 03 68 1b 42  47 54 20 74 65 73 74 5f  |,#0..h.BGT test_|
000058a0  61 6c 69 65 6e 5f 68 69  74 5f 6c 6f 6f 70 0d 03  |alien_hit_loop..|
000058b0  69 14 42 20 6f 76 65 72  5f 61 6c 69 65 6e 5f 68  |i.B over_alien_h|
000058c0  69 74 0d 03 6a 12 2e 6d  61 6e 5f 68 69 74 5f 61  |it..j..man_hit_a|
000058d0  6c 69 65 6e 0d 03 6b 1b  53 54 52 42 20 52 39 2c  |lien..k.STRB R9,|
000058e0  5b 52 31 30 2c 23 26 34  30 5d 20 20 20 20 20 0d  |[R10,#&40]     .|
000058f0  03 6c 13 2e 6f 76 65 72  5f 61 6c 69 65 6e 5f 68  |.l..over_alien_h|
00005900  69 74 0d 03 6d 1b 4c 44  52 20 52 31 32 2c 5b 52  |it..m.LDR R12,[R|
00005910  31 30 2c 23 26 33 38 5d  20 20 20 20 20 0d 03 6e  |10,#&38]     ..n|
00005920  1b 41 44 44 20 52 31 31  2c 52 31 30 2c 23 26 31  |.ADD R11,R10,#&1|
00005930  30 30 20 20 20 20 20 20  0d 03 6f 1b 41 44 44 20  |00      ..o.ADD |
00005940  52 31 31 2c 52 31 31 2c  23 26 31 34 20 20 20 20  |R11,R11,#&14    |
00005950  20 20 20 0d 03 70 18 2e  74 65 73 74 5f 61 70 70  |   ..p..test_app|
00005960  6c 65 5f 68 69 74 5f 6c  6f 6f 70 0d 03 71 1a 4c  |le_hit_loop..q.L|
00005970  44 52 42 20 52 33 2c 5b  52 31 31 2c 23 26 30 5d  |DRB R3,[R11,#&0]|
00005980  20 20 20 20 20 0d 03 72  1a 4c 44 52 42 20 52 34  |     ..r.LDRB R4|
00005990  2c 5b 52 31 31 2c 23 26  32 5d 20 20 20 20 20 0d  |,[R11,#&2]     .|
000059a0  03 73 1a 4c 44 52 42 20  52 37 2c 5b 52 31 31 2c  |.s.LDRB R7,[R11,|
000059b0  23 26 31 5d 20 20 20 20  20 0d 03 74 1a 4c 44 52  |#&1]     ..t.LDR|
000059c0  42 20 52 38 2c 5b 52 31  31 2c 23 26 33 5d 20 20  |B R8,[R11,#&3]  |
000059d0  20 20 20 0d 03 75 14 42  4c 20 63 68 65 63 6b 5f  |   ..u.BL check_|
000059e0  67 72 69 64 5f 63 6f 0d  03 76 1a 43 4d 50 20 52  |grid_co..v.CMP R|
000059f0  39 2c 23 31 20 20 20 20  20 20 20 20 20 20 20 20  |9,#1            |
00005a00  20 0d 03 77 15 42 45 51  20 6d 61 6e 5f 68 69 74  | ..w.BEQ man_hit|
00005a10  5f 61 70 70 6c 65 0d 03  78 1a 41 44 44 20 52 31  |_apple..x.ADD R1|
00005a20  31 2c 52 31 31 2c 23 32  38 20 20 20 20 20 20 20  |1,R11,#28       |
00005a30  0d 03 79 12 53 55 42 20  52 31 32 2c 52 31 32 2c  |..y.SUB R12,R12,|
00005a40  23 31 0d 03 7a 0e 43 4d  50 20 52 31 32 2c 23 30  |#1..z.CMP R12,#0|
00005a50  0d 03 7b 1b 42 47 54 20  74 65 73 74 5f 61 70 70  |..{.BGT test_app|
00005a60  6c 65 5f 68 69 74 5f 6c  6f 6f 70 0d 03 7c 14 42  |le_hit_loop..|.B|
00005a70  20 6f 76 65 72 5f 61 70  70 6c 65 5f 68 69 74 0d  | over_apple_hit.|
00005a80  03 7d 12 2e 6d 61 6e 5f  68 69 74 5f 61 70 70 6c  |.}..man_hit_appl|
00005a90  65 0d 03 7e 1f 53 54 52  42 20 52 39 2c 5b 52 31  |e..~.STRB R9,[R1|
00005aa0  31 2c 23 34 5d 20 20 20  20 20 20 20 20 20 20 20  |1,#4]           |
00005ab0  0d 03 7f 16 4c 44 52 42  20 52 39 2c 5b 52 31 30  |....LDRB R9,[R10|
00005ac0  2c 23 26 34 31 5d 0d 03  80 1f 41 44 44 20 52 39  |,#&41]....ADD R9|
00005ad0  2c 52 39 2c 23 31 20 20  20 20 20 20 20 20 20 20  |,R9,#1          |
00005ae0  20 20 20 20 20 0d 03 81  16 53 54 52 42 20 52 39  |     ....STRB R9|
00005af0  2c 5b 52 31 30 2c 23 26  34 31 5d 0d 03 82 13 2e  |,[R10,#&41].....|
00005b00  6f 76 65 72 5f 61 70 70  6c 65 5f 68 69 74 0d 03  |over_apple_hit..|
00005b10  83 15 4c 44 52 20 52 30  2c 5b 52 31 30 2c 23 26  |..LDR R0,[R10,#&|
00005b20  35 43 5d 0d 03 84 0e 4d  4f 56 20 52 31 35 2c 52  |5C]....MOV R15,R|
00005b30  30 0d 03 85 0f 2e 74 65  6d 70 5f 73 74 61 63 6b  |0.....temp_stack|
00005b40  0d 03 86 0a 45 51 55 44  20 30 0d 03 87 0a 45 51  |....EQUD 0....EQ|
00005b50  55 44 20 30 0d 03 88 0a  45 51 55 44 20 30 0d 03  |UD 0....EQUD 0..|
00005b60  89 0a 45 51 55 44 20 30  0d 03 8a 12 2e 63 68 65  |..EQUD 0.....che|
00005b70  63 6b 5f 67 72 69 64 5f  63 6f 0d 03 8b 15 41 44  |ck_grid_co....AD|
00005b80  52 20 52 39 2c 74 65 6d  70 5f 73 74 61 63 6b 0d  |R R9,temp_stack.|
00005b90  03 8c 13 53 54 52 42 20  52 31 2c 5b 52 39 2c 23  |...STRB R1,[R9,#|
00005ba0  31 5d 0d 03 8d 13 53 54  52 42 20 52 32 2c 5b 52  |1]....STRB R2,[R|
00005bb0  39 2c 23 32 5d 0d 03 8e  13 53 54 52 42 20 52 33  |9,#2]....STRB R3|
00005bc0  2c 5b 52 39 2c 23 33 5d  0d 03 8f 13 53 54 52 42  |,[R9,#3]....STRB|
00005bd0  20 52 34 2c 5b 52 39 2c  23 34 5d 0d 03 90 13 53  | R4,[R9,#4]....S|
00005be0  54 52 42 20 52 35 2c 5b  52 39 2c 23 35 5d 0d 03  |TRB R5,[R9,#5]..|
00005bf0  91 13 53 54 52 42 20 52  36 2c 5b 52 39 2c 23 36  |..STRB R6,[R9,#6|
00005c00  5d 0d 03 92 13 53 54 52  42 20 52 37 2c 5b 52 39  |]....STRB R7,[R9|
00005c10  2c 23 37 5d 0d 03 93 13  53 54 52 42 20 52 38 2c  |,#7]....STRB R8,|
00005c20  5b 52 39 2c 23 38 5d 0d  03 94 0d 4d 4f 56 20 52  |[R9,#8]....MOV R|
00005c30  39 2c 23 30 0d 03 95 0d  43 4d 50 20 52 31 2c 52  |9,#0....CMP R1,R|
00005c40  33 0d 03 96 0c ec 51 20  52 39 2c 23 31 0d 03 97  |3.....Q R9,#1...|
00005c50  0d 43 4d 50 20 52 31 2c  52 34 0d 03 98 0c ec 51  |.CMP R1,R4.....Q|
00005c60  20 52 39 2c 23 31 0d 03  99 0d 43 4d 50 20 52 32  | R9,#1....CMP R2|
00005c70  2c 52 33 0d 03 9a 0c ec  51 20 52 39 2c 23 31 0d  |,R3.....Q R9,#1.|
00005c80  03 9b 0d 43 4d 50 20 52  32 2c 52 34 0d 03 9c 0c  |...CMP R2,R4....|
00005c90  ec 51 20 52 39 2c 23 31  0d 03 9d 0d 43 4d 50 20  |.Q R9,#1....CMP |
00005ca0  52 39 2c 23 30 0d 03 9e  12 42 45 51 20 6e 6f 5f  |R9,#0....BEQ no_|
00005cb0  78 5f 6d 61 74 63 68 0d  03 9f 0d 4d 4f 56 20 52  |x_match....MOV R|
00005cc0  39 2c 23 30 0d 03 a0 0d  43 4d 50 20 52 35 2c 52  |9,#0....CMP R5,R|
00005cd0  37 0d 03 a1 0c ec 51 20  52 39 2c 23 31 0d 03 a2  |7.....Q R9,#1...|
00005ce0  0d 43 4d 50 20 52 35 2c  52 38 0d 03 a3 0c ec 51  |.CMP R5,R8.....Q|
00005cf0  20 52 39 2c 23 31 0d 03  a4 0d 43 4d 50 20 52 36  | R9,#1....CMP R6|
00005d00  2c 52 37 0d 03 a5 0c ec  51 20 52 39 2c 23 31 0d  |,R7.....Q R9,#1.|
00005d10  03 a6 0d 43 4d 50 20 52  36 2c 52 38 0d 03 a7 0c  |...CMP R6,R8....|
00005d20  ec 51 20 52 39 2c 23 31  0d 03 a8 0f 2e 6e 6f 5f  |.Q R9,#1.....no_|
00005d30  78 5f 6d 61 74 63 68 0d  03 a9 0f 4d 4f 56 20 52  |x_match....MOV R|
00005d40  31 35 2c 52 31 34 0d 03  aa 09 41 4c 49 47 4e 0d  |15,R14....ALIGN.|
00005d50  03 ab 09 2e 72 61 69 6e  0d 03 ac 0e 4d 4f 56 20  |....rain....MOV |
00005d60  52 31 30 2c 52 30 0d 03  ad 15 53 54 52 20 52 31  |R10,R0....STR R1|
00005d70  2c 5b 52 31 30 2c 23 26  35 30 5d 0d 03 ae 15 53  |,[R10,#&50]....S|
00005d80  54 52 20 52 32 2c 5b 52  31 30 2c 23 26 35 34 5d  |TR R2,[R10,#&54]|
00005d90  0d 03 af 16 53 54 52 20  52 31 34 2c 5b 52 31 30  |....STR R14,[R10|
00005da0  2c 23 26 35 43 5d 0d 03  b0 0d 4d 4f 56 20 52 30  |,#&5C]....MOV R0|
00005db0  2c 23 30 0d 03 b1 0f 4d  4f 56 20 52 39 2c 23 26  |,#0....MOV R9,#&|
00005dc0  37 37 0d 03 b2 0f 4d 4f  56 20 52 36 2c 23 33 32  |77....MOV R6,#32|
00005dd0  30 0d 03 b3 0e 2e 72 61  69 6e 5f 6c 6f 6f 70 0d  |0.....rain_loop.|
00005de0  03 b4 13 4c 44 52 42 20  52 35 2c 5b 52 32 2c 52  |...LDRB R5,[R2,R|
00005df0  33 5d 0d 03 b5 0f 43 4d  50 20 52 35 2c 23 26 37  |3]....CMP R5,#&7|
00005e00  37 0d 03 b6 11 42 4e 45  20 6f 76 65 72 5f 72 61  |7....BNE over_ra|
00005e10  69 6e 0d 03 b7 10 41 44  44 20 52 37 2c 52 33 2c  |in....ADD R7,R3,|
00005e20  52 36 0d 03 b8 10 41 44  44 20 52 37 2c 52 37 2c  |R6....ADD R7,R7,|
00005e30  52 36 0d 03 b9 13 4c 44  52 42 20 52 38 2c 5b 52  |R6....LDRB R8,[R|
00005e40  32 2c 52 37 5d 0d 03 ba  0f 43 4d 50 20 52 38 2c  |2,R7]....CMP R8,|
00005e50  23 26 34 34 0d 03 bb 13  42 4e 45 20 73 6c 69 64  |#&44....BNE slid|
00005e60  65 5f 72 69 67 68 74 0d  03 bc 13 53 54 52 42 20  |e_right....STRB |
00005e70  52 38 2c 5b 52 32 2c 52  33 5d 0d 03 bd 13 53 54  |R8,[R2,R3]....ST|
00005e80  52 42 20 52 39 2c 5b 52  32 2c 52 37 5d 0d 03 be  |RB R9,[R2,R7]...|
00005e90  0f 42 20 6f 76 65 72 5f  72 61 69 6e 0d 03 bf 10  |.B over_rain....|
00005ea0  2e 73 6c 69 64 65 5f 72  69 67 68 74 0d 03 c0 1d  |.slide_right....|
00005eb0  53 55 42 20 52 37 2c 52  37 2c 52 36 20 20 20 20  |SUB R7,R7,R6    |
00005ec0  20 20 20 20 20 20 20 20  20 0d 03 c1 1d 41 44 44  |         ....ADD|
00005ed0  20 52 37 2c 52 37 2c 23  31 20 20 20 20 20 20 20  | R7,R7,#1       |
00005ee0  20 20 20 20 20 20 0d 03  c2 13 4c 44 52 42 20 52  |      ....LDRB R|
00005ef0  38 2c 5b 52 32 2c 52 37  5d 0d 03 c3 0f 43 4d 50  |8,[R2,R7]....CMP|
00005f00  20 52 38 2c 23 26 34 34  0d 03 c4 12 42 4e 45 20  | R8,#&44....BNE |
00005f10  73 6c 69 64 65 5f 6c 65  66 74 0d 03 c5 13 53 54  |slide_left....ST|
00005f20  52 42 20 52 38 2c 5b 52  32 2c 52 33 5d 0d 03 c6  |RB R8,[R2,R3]...|
00005f30  13 53 54 52 42 20 52 39  2c 5b 52 32 2c 52 37 5d  |.STRB R9,[R2,R7]|
00005f40  0d 03 c7 0f 42 20 6f 76  65 72 5f 72 61 69 6e 0d  |....B over_rain.|
00005f50  03 c8 0f 2e 73 6c 69 64  65 5f 6c 65 66 74 0d 03  |....slide_left..|
00005f60  c9 19 53 55 42 20 52 37  2c 52 37 2c 23 32 20 20  |..SUB R7,R7,#2  |
00005f70  20 20 20 20 20 20 20 0d  03 ca 13 4c 44 52 42 20  |       ....LDRB |
00005f80  52 38 2c 5b 52 32 2c 52  37 5d 0d 03 cb 0f 43 4d  |R8,[R2,R7]....CM|
00005f90  50 20 52 38 2c 23 26 34  34 0d 03 cc 11 42 4e 45  |P R8,#&44....BNE|
00005fa0  20 6f 76 65 72 5f 72 61  69 6e 0d 03 cd 13 53 54  | over_rain....ST|
00005fb0  52 42 20 52 38 2c 5b 52  32 2c 52 33 5d 0d 03 ce  |RB R8,[R2,R3]...|
00005fc0  13 53 54 52 42 20 52 39  2c 5b 52 32 2c 52 37 5d  |.STRB R9,[R2,R7]|
00005fd0  0d 03 cf 0e 2e 6f 76 65  72 5f 72 61 69 6e 0d 03  |.....over_rain..|
00005fe0  d0 10 53 55 42 20 52 33  2c 52 33 2c 23 34 0d 03  |..SUB R3,R3,#4..|
00005ff0  d1 0d 43 4d 50 20 52 33  2c 23 38 0d 03 d2 11 42  |..CMP R3,#8....B|
00006000  47 54 20 72 61 69 6e 5f  6c 6f 6f 70 0d 03 d3 0f  |GT rain_loop....|
00006010  4d 4f 56 20 52 31 35 2c  52 31 34 0d 03 d4 0d 2e  |MOV R15,R14.....|
00006020  72 61 69 6e 5f 76 67 61  0d 03 d5 0e 4d 4f 56 20  |rain_vga....MOV |
00006030  52 31 30 2c 52 30 0d 03  d6 15 53 54 52 20 52 31  |R10,R0....STR R1|
00006040  2c 5b 52 31 30 2c 23 26  35 30 5d 0d 03 d7 15 53  |,[R10,#&50]....S|
00006050  54 52 20 52 32 2c 5b 52  31 30 2c 23 26 35 34 5d  |TR R2,[R10,#&54]|
00006060  0d 03 d8 16 53 54 52 20  52 31 34 2c 5b 52 31 30  |....STR R14,[R10|
00006070  2c 23 26 35 43 5d 0d 03  d9 20 4d 4f 56 20 52 30  |,#&5C]... MOV R0|
00006080  2c 23 32 33 39 20 20 20  20 20 20 20 20 20 20 20  |,#239           |
00006090  20 20 20 20 20 20 0d 03  da 20 4d 4f 56 20 52 39  |      ... MOV R9|
000060a0  2c 23 26 37 37 20 20 20  20 20 20 20 20 20 20 20  |,#&77           |
000060b0  20 20 20 20 20 20 0d 03  db 0d 4d 4f 56 20 52 36  |      ....MOV R6|
000060c0  2c 52 33 0d 03 dc 10 53  55 42 20 52 36 2c 52 36  |,R3....SUB R6,R6|
000060d0  2c 23 34 0d 03 dd 21 2e  72 61 69 6e 5f 76 65 72  |,#4...!.rain_ver|
000060e0  74 69 63 61 6c 5f 6c 6f  6f 70 5f 76 67 61 20 20  |tical_loop_vga  |
000060f0  20 20 20 20 0d 03 de 20  53 55 42 20 52 36 2c 52  |    ... SUB R6,R|
00006100  36 2c 23 36 34 30 20 20  20 20 20 20 20 20 20 20  |6,#640          |
00006110  20 20 20 20 0d 03 df 20  4d 4f 56 20 52 33 2c 52  |    ... MOV R3,R|
00006120  36 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |6               |
00006130  20 20 20 20 0d 03 e0 20  53 55 42 20 52 31 31 2c  |    ... SUB R11,|
00006140  52 33 2c 23 33 32 30 20  20 20 20 20 20 20 20 20  |R3,#320         |
00006150  20 20 20 20 0d 03 e1 20  41 44 44 20 52 37 2c 52  |    ... ADD R7,R|
00006160  33 2c 23 31 32 38 30 20  20 20 20 20 20 20 20 20  |3,#1280         |
00006170  20 20 20 20 0d 03 e2 20  53 55 42 20 52 31 32 2c  |    ... SUB R12,|
00006180  52 37 2c 23 33 32 30 20  20 20 20 20 20 20 20 20  |R7,#320         |
00006190  20 20 20 20 0d 03 e3 20  4d 4f 56 20 52 31 2c 23  |    ... MOV R1,#|
000061a0  33 32 30 20 20 20 20 20  20 20 20 20 20 20 20 20  |320             |
000061b0  20 20 20 20 0d 03 e4 1d  2e 72 61 69 6e 5f 68 6f  |    .....rain_ho|
000061c0  72 69 7a 6f 6e 74 61 6c  5f 6c 6f 6f 70 5f 76 67  |rizontal_loop_vg|
000061d0  61 0d 03 e5 1f 53 55 42  20 52 33 2c 52 33 2c 23  |a....SUB R3,R3,#|
000061e0  34 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |4               |
000061f0  0d 03 e6 1f 53 55 42 20  52 37 2c 52 37 2c 23 34  |....SUB R7,R7,#4|
00006200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |               .|
00006210  03 e7 1f 53 55 42 20 52  31 31 2c 52 31 31 2c 23  |...SUB R11,R11,#|
00006220  34 20 20 20 20 20 20 20  20 20 20 20 20 20 0d 03  |4             ..|
00006230  e8 1f 53 55 42 20 52 31  32 2c 52 31 32 2c 23 34  |..SUB R12,R12,#4|
00006240  20 20 20 20 20 20 20 20  20 20 20 20 20 0d 03 e9  |             ...|
00006250  13 4c 44 52 42 20 52 35  2c 5b 52 32 2c 52 33 5d  |.LDRB R5,[R2,R3]|
00006260  0d 03 ea 0f 43 4d 50 20  52 35 2c 23 26 37 37 0d  |....CMP R5,#&77.|
00006270  03 eb 15 42 4e 45 20 6f  76 65 72 5f 72 61 69 6e  |...BNE over_rain|
00006280  5f 76 67 61 0d 03 ec 13  4c 44 52 42 20 52 38 2c  |_vga....LDRB R8,|
00006290  5b 52 32 2c 52 37 5d 0d  03 ed 0f 43 4d 50 20 52  |[R2,R7]....CMP R|
000062a0  38 2c 23 26 34 34 0d 03  ee 17 42 4e 45 20 73 6c  |8,#&44....BNE sl|
000062b0  69 64 65 5f 72 69 67 68  74 5f 76 67 61 0d 03 ef  |ide_right_vga...|
000062c0  13 53 54 52 42 20 52 38  2c 5b 52 32 2c 52 33 5d  |.STRB R8,[R2,R3]|
000062d0  0d 03 f0 14 53 54 52 42  20 52 38 2c 5b 52 32 2c  |....STRB R8,[R2,|
000062e0  52 31 31 5d 0d 03 f1 13  53 54 52 42 20 52 39 2c  |R11]....STRB R9,|
000062f0  5b 52 32 2c 52 37 5d 0d  03 f2 14 53 54 52 42 20  |[R2,R7]....STRB |
00006300  52 39 2c 5b 52 32 2c 52  31 32 5d 0d 03 f3 13 42  |R9,[R2,R12]....B|
00006310  20 6f 76 65 72 5f 72 61  69 6e 5f 76 67 61 0d 03  | over_rain_vga..|
00006320  f4 14 2e 73 6c 69 64 65  5f 72 69 67 68 74 5f 76  |...slide_right_v|
00006330  67 61 0d 03 f5 12 53 55  42 20 52 37 2c 52 37 2c  |ga....SUB R7,R7,|
00006340  23 36 34 30 0d 03 f6 1f  53 55 42 20 52 31 32 2c  |#640....SUB R12,|
00006350  52 31 32 2c 23 36 34 30  20 20 20 20 20 20 20 20  |R12,#640        |
00006360  20 20 20 0d 03 f7 1f 41  44 44 20 52 37 2c 52 37  |   ....ADD R7,R7|
00006370  2c 23 31 20 20 20 20 20  20 20 20 20 20 20 20 20  |,#1             |
00006380  20 20 0d 03 f8 1f 41 44  44 20 52 31 32 2c 52 31  |  ....ADD R12,R1|
00006390  32 2c 23 31 20 20 20 20  20 20 20 20 20 20 20 20  |2,#1            |
000063a0  20 0d 03 f9 13 4c 44 52  42 20 52 38 2c 5b 52 32  | ....LDRB R8,[R2|
000063b0  2c 52 37 5d 0d 03 fa 0f  43 4d 50 20 52 38 2c 23  |,R7]....CMP R8,#|
000063c0  26 34 34 0d 03 fb 16 42  4e 45 20 73 6c 69 64 65  |&44....BNE slide|
000063d0  5f 6c 65 66 74 5f 76 67  61 0d 03 fc 13 53 54 52  |_left_vga....STR|
000063e0  42 20 52 38 2c 5b 52 32  2c 52 33 5d 0d 03 fd 14  |B R8,[R2,R3]....|
000063f0  53 54 52 42 20 52 38 2c  5b 52 32 2c 52 31 31 5d  |STRB R8,[R2,R11]|
00006400  0d 03 fe 13 53 54 52 42  20 52 39 2c 5b 52 32 2c  |....STRB R9,[R2,|
00006410  52 37 5d 0d 03 ff 14 53  54 52 42 20 52 39 2c 5b  |R7]....STRB R9,[|
00006420  52 32 2c 52 31 32 5d 0d  04 00 1f 53 55 42 20 52  |R2,R12]....SUB R|
00006430  37 2c 52 37 2c 23 31 20  20 20 20 20 20 20 20 20  |7,R7,#1         |
00006440  20 20 20 20 20 20 0d 04  01 1f 53 55 42 20 52 31  |      ....SUB R1|
00006450  32 2c 52 31 32 2c 23 31  20 20 20 20 20 20 20 20  |2,R12,#1        |
00006460  20 20 20 20 20 0d 04 02  15 42 20 6f 76 65 72 5f  |     ....B over_|
00006470  72 61 69 6e 5f 76 67 61  5f 73 0d 04 03 13 2e 73  |rain_vga_s.....s|
00006480  6c 69 64 65 5f 6c 65 66  74 5f 76 67 61 0d 04 04  |lide_left_vga...|
00006490  1f 53 55 42 20 52 37 2c  52 37 2c 23 32 20 20 20  |.SUB R7,R7,#2   |
000064a0  20 20 20 20 20 20 20 20  20 20 20 20 0d 04 05 1f  |            ....|
000064b0  53 55 42 20 52 31 32 2c  52 31 32 2c 23 32 20 20  |SUB R12,R12,#2  |
000064c0  20 20 20 20 20 20 20 20  20 20 20 0d 04 06 13 4c  |           ....L|
000064d0  44 52 42 20 52 38 2c 5b  52 32 2c 52 37 5d 0d 04  |DRB R8,[R2,R7]..|
000064e0  07 0f 43 4d 50 20 52 38  2c 23 26 34 34 0d 04 08  |..CMP R8,#&44...|
000064f0  1f 41 44 44 4e 45 20 52  37 2c 52 37 2c 23 31 20  |.ADDNE R7,R7,#1 |
00006500  20 20 20 20 20 20 20 20  20 20 20 20 0d 04 09 1f  |            ....|
00006510  41 44 44 4e 45 20 52 31  32 2c 52 31 32 2c 23 31  |ADDNE R12,R12,#1|
00006520  20 20 20 20 20 20 20 20  20 20 20 0d 04 0a 17 42  |           ....B|
00006530  4e 45 20 6f 76 65 72 5f  72 61 69 6e 5f 76 67 61  |NE over_rain_vga|
00006540  5f 73 0d 04 0b 13 53 54  52 42 20 52 38 2c 5b 52  |_s....STRB R8,[R|
00006550  32 2c 52 33 5d 0d 04 0c  14 53 54 52 42 20 52 38  |2,R3]....STRB R8|
00006560  2c 5b 52 32 2c 52 31 31  5d 0d 04 0d 13 53 54 52  |,[R2,R11]....STR|
00006570  42 20 52 39 2c 5b 52 32  2c 52 37 5d 0d 04 0e 14  |B R9,[R2,R7]....|
00006580  53 54 52 42 20 52 39 2c  5b 52 32 2c 52 31 32 5d  |STRB R9,[R2,R12]|
00006590  0d 04 0f 1f 41 44 44 20  52 37 2c 52 37 2c 23 31  |....ADD R7,R7,#1|
000065a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |               .|
000065b0  04 10 1f 41 44 44 20 52  31 32 2c 52 31 32 2c 23  |...ADD R12,R12,#|
000065c0  31 20 20 20 20 20 20 20  20 20 20 20 20 20 0d 04  |1             ..|
000065d0  11 14 2e 6f 76 65 72 5f  72 61 69 6e 5f 76 67 61  |...over_rain_vga|
000065e0  5f 73 0d 04 12 1f 41 44  44 20 52 37 2c 52 37 2c  |_s....ADD R7,R7,|
000065f0  23 36 34 30 20 20 20 20  20 20 20 20 20 20 20 20  |#640            |
00006600  20 0d 04 13 14 41 44 44  20 52 31 32 2c 52 31 32  | ....ADD R12,R12|
00006610  2c 23 36 34 30 0d 04 14  12 2e 6f 76 65 72 5f 72  |,#640.....over_r|
00006620  61 69 6e 5f 76 67 61 0d  04 15 10 53 55 42 20 52  |ain_vga....SUB R|
00006630  31 2c 52 31 2c 23 34 0d  04 16 0d 43 4d 50 20 52  |1,R1,#4....CMP R|
00006640  31 2c 23 30 0d 04 17 20  42 4e 45 20 72 61 69 6e  |1,#0... BNE rain|
00006650  5f 68 6f 72 69 7a 6f 6e  74 61 6c 5f 6c 6f 6f 70  |_horizontal_loop|
00006660  5f 76 67 61 0d 04 18 1d  53 55 42 20 52 33 2c 52  |_vga....SUB R3,R|
00006670  33 2c 23 36 34 30 20 20  20 20 20 20 20 20 20 20  |3,#640          |
00006680  20 0d 04 19 1d 53 55 42  20 52 37 2c 52 37 2c 23  | ....SUB R7,R7,#|
00006690  36 34 30 20 20 20 20 20  20 20 20 20 20 20 0d 04  |640           ..|
000066a0  1a 1d 53 55 42 20 52 31  31 2c 52 31 31 2c 23 36  |..SUB R11,R11,#6|
000066b0  34 30 20 20 20 20 20 20  20 20 20 0d 04 1b 1d 53  |40         ....S|
000066c0  55 42 20 52 31 32 2c 52  31 32 2c 23 36 34 30 20  |UB R12,R12,#640 |
000066d0  20 20 20 20 20 20 20 20  0d 04 1c 10 53 55 42 20  |        ....SUB |
000066e0  52 30 2c 52 30 2c 23 31  0d 04 1d 0d 43 4d 50 20  |R0,R0,#1....CMP |
000066f0  52 30 2c 23 30 0d 04 1e  1e 42 4e 45 20 72 61 69  |R0,#0....BNE rai|
00006700  6e 5f 76 65 72 74 69 63  61 6c 5f 6c 6f 6f 70 5f  |n_vertical_loop_|
00006710  76 67 61 0d 04 1f 0f 4d  4f 56 20 52 31 35 2c 52  |vga....MOV R15,R|
00006720  31 34 0d 04 20 09 41 4c  49 47 4e 0d 04 21 0a 2e  |14.. .ALIGN..!..|
00006730  61 70 70 6c 65 0d 04 22  0e 4d 4f 56 20 52 31 30  |apple..".MOV R10|
00006740  2c 52 30 0d 04 23 15 53  54 52 20 52 31 2c 5b 52  |,R0..#.STR R1,[R|
00006750  31 30 2c 23 26 35 30 5d  0d 04 24 15 53 54 52 20  |10,#&50]..$.STR |
00006760  52 32 2c 5b 52 31 30 2c  23 26 35 34 5d 0d 04 25  |R2,[R10,#&54]..%|
00006770  16 53 54 52 20 52 31 34  2c 5b 52 31 30 2c 23 26  |.STR R14,[R10,#&|
00006780  35 43 5d 0d 04 26 0d 4d  4f 56 20 52 30 2c 23 30  |5C]..&.MOV R0,#0|
00006790  0d 04 27 1b 53 54 52 20  52 30 2c 5b 52 31 30 2c  |..'.STR R0,[R10,|
000067a0  23 26 33 34 5d 20 20 20  20 20 20 0d 04 28 14 2e  |#&34]      ..(..|
000067b0  6d 61 69 6e 5f 61 70 70  6c 65 5f 6c 6f 6f 70 0d  |main_apple_loop.|
000067c0  04 29 17 42 4c 20 73 74  61 72 74 5f 61 70 70 6c  |.).BL start_appl|
000067d0  65 5f 6d 6f 76 65 0d 04  2a 18 42 4c 20 61 70 70  |e_move..*.BL app|
000067e0  6c 65 5f 6d 6f 76 69 6e  67 5f 6c 6f 6f 70 0d 04  |le_moving_loop..|
000067f0  2b 15 4c 44 52 20 52 30  2c 5b 52 31 30 2c 23 26  |+.LDR R0,[R10,#&|
00006800  33 34 5d 0d 04 2c 10 41  44 44 20 52 30 2c 52 30  |34]..,.ADD R0,R0|
00006810  2c 23 31 0d 04 2d 15 53  54 52 20 52 30 2c 5b 52  |,#1..-.STR R0,[R|
00006820  31 30 2c 23 26 33 34 5d  0d 04 2e 15 4c 44 52 20  |10,#&34]....LDR |
00006830  52 31 2c 5b 52 31 30 2c  23 26 33 38 5d 0d 04 2f  |R1,[R10,#&38]../|
00006840  0d 43 4d 50 20 52 30 2c  52 31 0d 04 30 17 42 4c  |.CMP R0,R1..0.BL|
00006850  54 20 6d 61 69 6e 5f 61  70 70 6c 65 5f 6c 6f 6f  |T main_apple_loo|
00006860  70 0d 04 31 15 4c 44 52  20 52 30 2c 5b 52 31 30  |p..1.LDR R0,[R10|
00006870  2c 23 26 35 43 5d 0d 04  32 0e 4d 4f 56 20 52 31  |,#&5C]..2.MOV R1|
00006880  35 2c 52 30 0d 04 33 15  2e 73 74 61 72 74 5f 61  |5,R0..3..start_a|
00006890  70 70 6c 65 5f 6d 6f 76  65 0d 04 34 15 4c 44 52  |pple_move..4.LDR|
000068a0  20 52 30 2c 5b 52 31 30  2c 23 26 33 34 5d 0d 04  | R0,[R10,#&34]..|
000068b0  35 1c 4d 4f 56 20 52 31  2c 23 32 38 20 20 20 20  |5.MOV R1,#28    |
000068c0  20 20 20 20 20 20 20 20  20 20 0d 04 36 10 4d 55  |          ..6.MU|
000068d0  4c 20 52 32 2c 52 31 2c  52 30 0d 04 37 1c 41 44  |L R2,R1,R0..7.AD|
000068e0  44 20 52 32 2c 52 32 2c  23 26 31 30 30 20 20 20  |D R2,R2,#&100   |
000068f0  20 20 20 20 20 20 0d 04  38 1c 41 44 44 20 52 31  |      ..8.ADD R1|
00006900  31 2c 52 32 2c 52 31 30  20 20 20 20 20 20 20 20  |1,R2,R10        |
00006910  20 20 0d 04 39 1c 4c 44  52 42 20 52 32 2c 5b 52  |  ..9.LDRB R2,[R|
00006920  31 31 2c 23 26 31 38 5d  20 20 20 20 20 20 0d 04  |11,#&18]      ..|
00006930  3a 0d 43 4d 50 20 52 32  2c 23 30 0d 04 3b 12 42  |:.CMP R2,#0..;.B|
00006940  4e 45 20 64 65 61 64 5f  61 70 70 6c 65 0d 04 3c  |NE dead_apple..<|
00006950  13 4c 44 52 20 52 32 2c  5b 52 31 31 2c 23 38 5d  |.LDR R2,[R11,#8]|
00006960  0d 04 3d 0d 43 4d 50 20  52 32 2c 23 30 0d 04 3e  |..=.CMP R2,#0..>|
00006970  19 42 4e 45 20 6f 75 74  5f 6f 66 5f 61 70 70 6c  |.BNE out_of_appl|
00006980  65 5f 6d 6f 76 65 0d 04  3f 1c 4d 4f 56 20 52 34  |e_move..?.MOV R4|
00006990  2c 23 31 33 20 20 20 20  20 20 20 20 20 20 20 20  |,#13            |
000069a0  20 20 0d 04 40 1c 4d 4f  56 20 52 31 32 2c 23 31  |  ..@.MOV R12,#1|
000069b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 0d 04  |              ..|
000069c0  41 0d 4d 4f 56 20 52 35  2c 23 31 0d 04 42 0d 4d  |A.MOV R5,#1..B.M|
000069d0  4f 56 20 52 36 2c 23 30  0d 04 43 0d 4d 4f 56 20  |OV R6,#0..C.MOV |
000069e0  52 33 2c 23 34 0d 04 44  1c 4c 44 52 20 52 38 2c  |R3,#4..D.LDR R8,|
000069f0  5b 52 31 31 2c 23 26 30  5d 20 20 20 20 20 20 20  |[R11,#&0]       |
00006a00  20 0d 04 45 1c 4c 44 52  20 52 39 2c 5b 52 31 31  | ..E.LDR R9,[R11|
00006a10  2c 23 26 34 5d 20 20 20  20 20 20 20 20 0d 04 46  |,#&4]        ..F|
00006a20  1b 4c 44 52 20 52 30 2c  5b 52 31 30 2c 23 26 35  |.LDR R0,[R10,#&5|
00006a30  34 5d 20 20 20 20 20 20  0d 04 47 1b 4d 4f 56 20  |4]      ..G.MOV |
00006a40  52 38 2c 52 38 2c 4c 53  52 20 23 32 20 20 20 20  |R8,R8,LSR #2    |
00006a50  20 20 20 0d 04 48 0f 4d  4f 56 20 52 31 2c 23 39  |   ..H.MOV R1,#9|
00006a60  35 36 0d 04 49 0f 4d 4f  56 20 52 32 2c 23 33 32  |56..I.MOV R2,#32|
00006a70  30 0d 04 4a 1b 53 55 42  20 52 39 2c 52 31 2c 52  |0..J.SUB R9,R1,R|
00006a80  39 20 20 20 20 20 20 20  20 20 20 20 0d 04 4b 1b  |9           ..K.|
00006a90  4d 4f 56 20 52 39 2c 52  39 2c 4c 53 52 20 23 32  |MOV R9,R9,LSR #2|
00006aa0  2d 56 25 20 20 20 20 0d  04 4c 1b 4d 55 4c 20 52  |-V%    ..L.MUL R|
00006ab0  37 2c 52 39 2c 52 32 20  20 20 20 20 20 20 20 20  |7,R9,R2         |
00006ac0  20 20 0d 04 4d 1b 41 44  44 20 52 37 2c 52 38 2c  |  ..M.ADD R7,R8,|
00006ad0  52 37 20 20 20 20 20 20  20 20 20 20 20 0d 04 4e  |R7           ..N|
00006ae0  1b 41 44 44 20 52 37 2c  52 37 2c 52 30 20 20 20  |.ADD R7,R7,R0   |
00006af0  20 20 20 20 20 20 20 20  0d 04 4f 1b 41 44 44 20  |        ..O.ADD |
00006b00  52 37 2c 52 37 2c 23 33  32 30 20 20 20 20 20 20  |R7,R7,#320      |
00006b10  20 20 20 0d 04 50 1b 41  44 44 20 52 37 2c 52 37  |   ..P.ADD R7,R7|
00006b20  2c 52 36 20 20 20 20 20  20 20 20 20 20 20 0d 04  |,R6           ..|
00006b30  51 0d 4d 4f 56 20 52 31  2c 23 30 0d 04 52 0f 2e  |Q.MOV R1,#0..R..|
00006b40  61 70 70 5f 63 68 5f 75  5f 6c 0d 04 53 10 4c 44  |app_ch_u_l..S.LD|
00006b50  52 42 20 52 32 2c 5b 52  37 5d 0d 04 54 1b 43 4d  |RB R2,[R7]..T.CM|
00006b60  50 20 52 32 2c 23 36 38  20 20 20 20 20 20 20 20  |P R2,#68        |
00006b70  20 20 20 20 20 0d 04 55  1b 4d 4f 56 4e 45 20 52  |     ..U.MOVNE R|
00006b80  34 2c 23 30 20 20 20 20  20 20 20 20 20 20 20 20  |4,#0            |
00006b90  0d 04 56 11 41 44 44 20  52 37 2c 52 37 2c 52 31  |..V.ADD R7,R7,R1|
00006ba0  32 0d 04 57 10 41 44 44  20 52 31 2c 52 31 2c 52  |2..W.ADD R1,R1,R|
00006bb0  35 0d 04 58 1b 43 4d 50  20 52 31 2c 23 31 32 20  |5..X.CMP R1,#12 |
00006bc0  20 20 20 20 20 20 20 20  20 20 20 20 0d 04 59 12  |            ..Y.|
00006bd0  42 4e 45 20 61 70 70 5f  63 68 5f 75 5f 6c 0d 04  |BNE app_ch_u_l..|
00006be0  5a 0d 43 4d 50 20 52 34  2c 23 30 0d 04 5b 1a 42  |Z.CMP R4,#0..[.B|
00006bf0  45 51 20 6f 75 74 5f 6f  66 5f 61 70 70 6c 65 5f  |EQ out_of_apple_|
00006c00  63 68 65 63 6b 0d 04 5c  1b 4c 44 52 42 20 52 38  |check..\.LDRB R8|
00006c10  2c 5b 52 31 31 2c 23 26  31 34 5d 20 20 20 20 20  |,[R11,#&14]     |
00006c20  0d 04 5d 1b 4c 44 52 42  20 52 39 2c 5b 52 31 31  |..].LDRB R9,[R11|
00006c30  2c 23 26 31 35 5d 20 20  20 20 20 0d 04 5e 1b 53  |,#&15]     ..^.S|
00006c40  55 42 20 52 39 2c 52 39  2c 23 31 20 20 20 20 20  |UB R9,R9,#1     |
00006c50  20 20 20 20 20 20 0d 04  5f 1b 4c 44 52 42 20 52  |      .._.LDRB R|
00006c60  35 2c 5b 52 31 30 2c 23  26 33 30 5d 20 20 20 20  |5,[R10,#&30]    |
00006c70  20 0d 04 60 1b 4c 44 52  42 20 52 36 2c 5b 52 31  | ..`.LDRB R6,[R1|
00006c80  30 2c 23 26 33 31 5d 20  20 20 20 20 0d 04 61 1b  |0,#&31]     ..a.|
00006c90  4c 44 52 42 20 52 37 2c  5b 52 31 30 2c 23 26 33  |LDRB R7,[R10,#&3|
00006ca0  32 5d 20 20 20 20 20 0d  04 62 1b 4c 44 52 42 20  |2]     ..b.LDRB |
00006cb0  52 32 2c 5b 52 31 30 2c  23 26 33 33 5d 20 20 20  |R2,[R10,#&33]   |
00006cc0  20 20 0d 04 63 1b 4d 4f  56 20 52 30 2c 23 30 20  |  ..c.MOV R0,#0 |
00006cd0  20 20 20 20 20 20 20 20  20 20 20 20 20 0d 04 64  |             ..d|
00006ce0  0d 43 4d 50 20 52 38 2c  52 35 0d 04 65 12 41 44  |.CMP R8,R5..e.AD|
00006cf0  44 4e 45 20 52 30 2c 52  30 2c 23 31 0d 04 66 0d  |DNE R0,R0,#1..f.|
00006d00  43 4d 50 20 52 38 2c 52  37 0d 04 67 12 41 44 44  |CMP R8,R7..g.ADD|
00006d10  4e 45 20 52 30 2c 52 30  2c 23 31 0d 04 68 0d 43  |NE R0,R0,#1..h.C|
00006d20  4d 50 20 52 30 2c 23 32  0d 04 69 1a 42 45 51 20  |MP R0,#2..i.BEQ |
00006d30  6f 75 74 5f 6f 66 5f 61  70 70 6c 65 5f 63 68 65  |out_of_apple_che|
00006d40  63 6b 0d 04 6a 1b 4d 4f  56 20 52 30 2c 23 30 20  |ck..j.MOV R0,#0 |
00006d50  20 20 20 20 20 20 20 20  20 20 20 20 20 0d 04 6b  |             ..k|
00006d60  0d 43 4d 50 20 52 39 2c  52 36 0d 04 6c 12 41 44  |.CMP R9,R6..l.AD|
00006d70  44 4e 45 20 52 30 2c 52  30 2c 23 31 0d 04 6d 0d  |DNE R0,R0,#1..m.|
00006d80  43 4d 50 20 52 39 2c 52  32 0d 04 6e 12 41 44 44  |CMP R9,R2..n.ADD|
00006d90  4e 45 20 52 30 2c 52 30  2c 23 31 0d 04 6f 0d 43  |NE R0,R0,#1..o.C|
00006da0  4d 50 20 52 30 2c 23 32  0d 04 70 1c 4d 4f 56 4e  |MP R0,#2..p.MOVN|
00006db0  45 20 52 34 2c 23 30 20  20 20 20 20 20 20 20 20  |E R4,#0         |
00006dc0  20 20 20 20 0d 04 71 17  2e 6f 75 74 5f 6f 66 5f  |    ..q..out_of_|
00006dd0  61 70 70 6c 65 5f 63 68  65 63 6b 0d 04 72 1d 53  |apple_check..r.S|
00006de0  54 52 20 52 34 2c 5b 52  31 31 2c 23 26 38 5d 20  |TR R4,[R11,#&8] |
00006df0  20 20 20 20 20 20 20 20  0d 04 73 16 2e 6f 75 74  |        ..s..out|
00006e00  5f 6f 66 5f 61 70 70 6c  65 5f 6d 6f 76 65 0d 04  |_of_apple_move..|
00006e10  74 0f 4d 4f 56 20 52 31  35 2c 52 31 34 0d 04 75  |t.MOV R15,R14..u|
00006e20  0f 2e 64 65 61 64 5f 61  70 70 6c 65 0d 04 76 0d  |..dead_apple..v.|
00006e30  43 4d 50 20 52 32 2c 23  38 0d 04 77 19 ec 51 20  |CMP R2,#8..w..Q |
00006e40  52 31 35 2c 52 31 34 20  20 20 20 20 20 20 20 20  |R15,R14         |
00006e50  20 20 0d 04 78 11 41 44  44 20 52 35 2c 52 32 2c  |  ..x.ADD R5,R2,|
00006e60  23 34 39 0d 04 79 10 41  44 44 20 52 32 2c 52 32  |#49..y.ADD R2,R2|
00006e70  2c 23 31 0d 04 7a 0d 4d  4f 56 20 52 30 2c 23 30  |,#1..z.MOV R0,#0|
00006e80  0d 04 7b 1c 53 54 52 20  52 30 2c 5b 52 31 31 2c  |..{.STR R0,[R11,|
00006e90  23 26 31 34 5d 20 20 20  20 20 20 20 0d 04 7c 1c  |#&14]       ..|.|
00006ea0  53 54 52 42 20 52 32 2c  5b 52 31 31 2c 23 26 31  |STRB R2,[R11,#&1|
00006eb0  38 5d 20 20 20 20 20 20  0d 04 7d 17 41 44 52 20  |8]      ..}.ADR |
00006ec0  52 36 2c 61 70 70 6c 65  5f 73 70 72 69 74 65 0d  |R6,apple_sprite.|
00006ed0  04 7e 13 53 54 52 42 20  52 35 2c 5b 52 36 2c 23  |.~.STRB R5,[R6,#|
00006ee0  33 5d 0d 04 7f 1c 4c 44  52 20 52 38 2c 5b 52 31  |3]....LDR R8,[R1|
00006ef0  31 2c 23 26 30 5d 20 20  20 20 20 20 20 20 0d 04  |1,#&0]        ..|
00006f00  80 1c 4c 44 52 20 52 39  2c 5b 52 31 31 2c 23 26  |..LDR R9,[R11,#&|
00006f10  34 5d 20 20 20 20 20 20  20 20 0d 04 81 1c 42 20  |4]        ....B |
00006f20  64 65 61 64 5f 61 70 70  6c 65 5f 70 6c 6f 74 5f  |dead_apple_plot_|
00006f30  73 70 72 69 74 65 0d 04  82 16 2e 61 70 70 6c 65  |sprite.....apple|
00006f40  5f 6d 6f 76 69 6e 67 5f  6c 6f 6f 70 0d 04 83 1b  |_moving_loop....|
00006f50  4c 44 52 42 20 52 32 2c  5b 52 31 31 2c 23 26 31  |LDRB R2,[R11,#&1|
00006f60  38 5d 20 20 20 20 20 0d  04 84 0d 43 4d 50 20 52  |8]     ....CMP R|
00006f70  32 2c 23 30 0d 04 85 1b  4d 4f 56 4e 45 20 52 31  |2,#0....MOVNE R1|
00006f80  35 2c 52 31 34 20 20 20  20 20 20 20 20 20 20 0d  |5,R14          .|
00006f90  04 86 1c 4c 44 52 20 52  34 2c 5b 52 31 31 2c 23  |...LDR R4,[R11,#|
00006fa0  26 38 5d 20 20 20 20 20  20 20 20 0d 04 87 0d 43  |&8]        ....C|
00006fb0  4d 50 20 52 34 2c 23 30  0d 04 88 0c ec 51 20 52  |MP R4,#0.....Q R|
00006fc0  37 2c 23 30 0d 04 89 12  53 55 42 4e 45 20 52 34  |7,#0....SUBNE R4|
00006fd0  2c 52 34 2c 23 31 0d 04  8a 14 53 54 52 20 52 34  |,R4,#1....STR R4|
00006fe0  2c 5b 52 31 31 2c 23 26  38 5d 0d 04 8b 19 ec 51  |,[R11,#&8].....Q|
00006ff0  20 52 35 2c 23 34 39 20  20 20 20 20 20 20 20 20  | R5,#49         |
00007000  20 20 20 0d 04 8c 1a 42  45 51 20 6f 75 74 5f 61  |   ....BEQ out_a|
00007010  70 70 6c 65 5f 6d 6f 76  65 6d 65 6e 74 0d 04 8d  |pple_movement...|
00007020  1c 43 4d 50 20 52 34 2c  23 31 32 20 20 20 20 20  |.CMP R4,#12     |
00007030  20 20 20 20 20 20 20 20  20 0d 04 8e 19 ec 51 20  |         .....Q |
00007040  52 37 2c 23 30 20 20 20  20 20 20 20 20 20 20 20  |R7,#0           |
00007050  20 20 0d 04 8f 0f 4d 4f  56 4e 45 20 52 37 2c 23  |  ....MOVNE R7,#|
00007060  34 0d 04 90 1d 42 4e 45  20 6f 76 65 72 5f 61 70  |4....BNE over_ap|
00007070  70 6c 65 5f 66 69 72 73  74 5f 6d 6f 76 65 0d 04  |ple_first_move..|
00007080  91 1c 4c 44 52 20 52 33  2c 5b 52 31 31 2c 23 26  |..LDR R3,[R11,#&|
00007090  31 30 5d 20 20 20 20 20  20 20 0d 04 92 1c 4c 44  |10]       ....LD|
000070a0  52 42 20 52 39 2c 5b 52  31 31 2c 23 26 31 35 5d  |RB R9,[R11,#&15]|
000070b0  20 20 20 20 20 20 0d 04  93 10 53 55 42 20 52 39  |      ....SUB R9|
000070c0  2c 52 39 2c 23 31 0d 04  94 1c 53 54 52 42 20 52  |,R9,#1....STRB R|
000070d0  39 2c 5b 52 31 31 2c 23  26 31 37 5d 20 20 20 20  |9,[R11,#&17]    |
000070e0  20 20 0d 04 95 1a 2e 6f  76 65 72 5f 61 70 70 6c  |  .....over_appl|
000070f0  65 5f 66 69 72 73 74 5f  6d 6f 76 65 0d 04 96 0d  |e_first_move....|
00007100  43 4d 50 20 52 34 2c 23  30 0d 04 97 1c 42 4e 45  |CMP R4,#0....BNE|
00007110  20 6f 76 65 72 5f 61 70  70 6c 65 5f 6c 61 73 74  | over_apple_last|
00007120  5f 6d 6f 76 65 0d 04 98  1c 4c 44 52 42 20 52 39  |_move....LDRB R9|
00007130  2c 5b 52 31 31 2c 23 26  31 37 5d 20 20 20 20 20  |,[R11,#&17]     |
00007140  20 0d 04 99 1c 53 54 52  42 20 52 39 2c 5b 52 31  | ....STRB R9,[R1|
00007150  31 2c 23 26 31 35 5d 20  20 20 20 20 20 0d 04 9a  |1,#&15]      ...|
00007160  19 2e 6f 76 65 72 5f 61  70 70 6c 65 5f 6c 61 73  |..over_apple_las|
00007170  74 5f 6d 6f 76 65 0d 04  9b 1c 4d 4f 56 20 52 35  |t_move....MOV R5|
00007180  2c 23 35 30 20 20 20 20  20 20 20 20 20 20 20 20  |,#50            |
00007190  20 20 0d 04 9c 14 4c 44  52 20 52 39 2c 5b 52 31  |  ....LDR R9,[R1|
000071a0  31 2c 23 26 34 5d 0d 04  9d 10 53 55 42 20 52 39  |1,#&4]....SUB R9|
000071b0  2c 52 39 2c 52 37 0d 04  9e 0e 4d 4f 56 20 52 35  |,R9,R7....MOV R5|
000071c0  2c 23 35 30 0d 04 9f 14  53 54 52 20 52 39 2c 5b  |,#50....STR R9,[|
000071d0  52 31 31 2c 23 26 34 5d  0d 04 a0 17 2e 6f 75 74  |R11,#&4].....out|
000071e0  5f 61 70 70 6c 65 5f 6d  6f 76 65 6d 65 6e 74 0d  |_apple_movement.|
000071f0  04 a1 13 4c 44 52 20 52  38 2c 5b 52 31 31 2c 23  |...LDR R8,[R11,#|
00007200  30 5d 0d 04 a2 13 4c 44  52 20 52 39 2c 5b 52 31  |0]....LDR R9,[R1|
00007210  31 2c 23 34 5d 0d 04 a3  17 41 44 52 20 52 36 2c  |1,#4]....ADR R6,|
00007220  61 70 70 6c 65 5f 73 70  72 69 74 65 0d 04 a4 13  |apple_sprite....|
00007230  53 54 52 42 20 52 35 2c  5b 52 36 2c 23 33 5d 0d  |STRB R5,[R6,#3].|
00007240  04 a5 1b 2e 64 65 61 64  5f 61 70 70 6c 65 5f 70  |....dead_apple_p|
00007250  6c 6f 74 5f 73 70 72 69  74 65 0d 04 a6 0f 4d 4f  |lot_sprite....MO|
00007260  56 20 52 30 2c 23 26 33  34 0d 04 a7 1d 41 44 44  |V R0,#&34....ADD|
00007270  20 52 30 2c 52 30 2c 23  26 31 30 30 20 20 20 20  | R0,R0,#&100    |
00007280  20 20 20 20 20 20 0d 04  a8 1d 4c 44 52 20 52 31  |      ....LDR R1|
00007290  2c 5b 52 31 30 2c 23 26  35 30 5d 20 20 20 20 20  |,[R10,#&50]     |
000072a0  20 20 20 0d 04 a9 1d 41  44 52 20 52 32 2c 61 70  |   ....ADR R2,ap|
000072b0  70 6c 65 5f 73 70 72 69  74 65 20 20 20 20 20 20  |ple_sprite      |
000072c0  0d 04 aa 1d 4d 4f 56 20  52 33 2c 52 38 20 20 20  |....MOV R3,R8   |
000072d0  20 20 20 20 20 20 20 20  20 20 20 20 20 0d 04 ab  |             ...|
000072e0  1d 4d 4f 56 20 52 34 2c  52 39 20 20 20 20 20 20  |.MOV R4,R9      |
000072f0  20 20 20 20 20 20 20 20  20 20 0d 04 ac 1d 4d 4f  |          ....MO|
00007300  56 20 52 35 2c 23 26 30  20 20 20 20 20 20 20 20  |V R5,#&0        |
00007310  20 20 20 20 20 20 20 0d  04 ad 1d 41 44 52 20 52  |       ....ADR R|
00007320  36 2c 61 70 70 6c 65 5f  73 63 61 6c 65 20 20 20  |6,apple_scale   |
00007330  20 20 20 20 0d 04 ae 1d  4d 4f 56 20 52 37 2c 23  |    ....MOV R7,#|
00007340  30 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |0               |
00007350  20 0d 04 af 15 53 57 49  20 22 4f 53 5f 53 70 72  | ....SWI "OS_Spr|
00007360  69 74 65 4f 70 22 0d 04  b0 0f 4d 4f 56 20 52 31  |iteOp"....MOV R1|
00007370  35 2c 52 31 34 0d 04 b1  11 2e 61 70 70 6c 65 5f  |5,R14.....apple_|
00007380  73 70 72 69 74 65 0d 04  b2 0e 45 51 55 53 20 22  |sprite....EQUS "|
00007390  61 70 70 22 0d 04 b3 0b  45 51 55 42 20 34 39 0d  |app"....EQUB 49.|
000073a0  04 b4 0a 45 51 55 42 20  30 0d 04 b5 0a 45 51 55  |...EQUB 0....EQU|
000073b0  42 20 30 0d 04 b6 0a 45  51 55 42 20 30 0d 04 b7  |B 0....EQUB 0...|
000073c0  09 41 4c 49 47 4e 0d 04  b8 10 2e 61 70 70 6c 65  |.ALIGN.....apple|
000073d0  5f 73 63 61 6c 65 0d 04  b9 0a 45 51 55 44 20 31  |_scale....EQUD 1|
000073e0  0d 04 ba 0d 45 51 55 44  20 31 2b 56 25 0d 04 bb  |....EQUD 1+V%...|
000073f0  0a 45 51 55 44 20 31 0d  04 bc 0a 45 51 55 44 20  |.EQUD 1....EQUD |
00007400  31 0d 04 bd 0a 2e 61 6c  69 65 6e 0d 04 be 0e 4d  |1.....alien....M|
00007410  4f 56 20 52 31 30 2c 52  30 0d 04 bf 15 53 54 52  |OV R10,R0....STR|
00007420  20 52 31 2c 5b 52 31 30  2c 23 26 35 30 5d 0d 04  | R1,[R10,#&50]..|
00007430  c0 15 53 54 52 20 52 32  2c 5b 52 31 30 2c 23 26  |..STR R2,[R10,#&|
00007440  35 34 5d 0d 04 c1 16 53  54 52 20 52 31 34 2c 5b  |54]....STR R14,[|
00007450  52 31 30 2c 23 26 35 43  5d 0d 04 c2 0d 4d 4f 56  |R10,#&5C]....MOV|
00007460  20 52 30 2c 23 30 0d 04  c3 1b 53 54 52 20 52 30  | R0,#0....STR R0|
00007470  2c 5b 52 31 30 2c 23 26  32 34 5d 20 20 20 20 20  |,[R10,#&24]     |
00007480  20 0d 04 c4 14 2e 6d 61  69 6e 5f 61 6c 69 65 6e  | .....main_alien|
00007490  5f 6c 6f 6f 70 0d 04 c5  17 42 4c 20 73 74 61 72  |_loop....BL star|
000074a0  74 5f 61 6c 69 65 6e 5f  6d 6f 76 65 0d 04 c6 18  |t_alien_move....|
000074b0  42 4c 20 61 6c 69 65 6e  5f 6d 6f 76 69 6e 67 5f  |BL alien_moving_|
000074c0  6c 6f 6f 70 0d 04 c7 15  4c 44 52 20 52 30 2c 5b  |loop....LDR R0,[|
000074d0  52 31 30 2c 23 26 32 34  5d 0d 04 c8 10 41 44 44  |R10,#&24]....ADD|
000074e0  20 52 30 2c 52 30 2c 23  31 0d 04 c9 15 53 54 52  | R0,R0,#1....STR|
000074f0  20 52 30 2c 5b 52 31 30  2c 23 26 32 34 5d 0d 04  | R0,[R10,#&24]..|
00007500  ca 15 4c 44 52 20 52 31  2c 5b 52 31 30 2c 23 26  |..LDR R1,[R10,#&|
00007510  32 30 5d 0d 04 cb 0d 43  4d 50 20 52 30 2c 52 31  |20]....CMP R0,R1|
00007520  0d 04 cc 17 42 4c 54 20  6d 61 69 6e 5f 61 6c 69  |....BLT main_ali|
00007530  65 6e 5f 6c 6f 6f 70 0d  04 cd 15 4c 44 52 20 52  |en_loop....LDR R|
00007540  30 2c 5b 52 31 30 2c 23  26 35 43 5d 0d 04 ce 0e  |0,[R10,#&5C]....|
00007550  4d 4f 56 20 52 31 35 2c  52 30 0d 04 cf 15 2e 73  |MOV R15,R0.....s|
00007560  74 61 72 74 5f 61 6c 69  65 6e 5f 6d 6f 76 65 0d  |tart_alien_move.|
00007570  04 d0 16 53 54 52 20 52  31 34 2c 5b 52 31 30 2c  |...STR R14,[R10,|
00007580  23 26 35 38 5d 0d 04 d1  15 4c 44 52 20 52 30 2c  |#&58]....LDR R0,|
00007590  5b 52 31 30 2c 23 26 32  34 5d 0d 04 d2 1c 4d 4f  |[R10,#&24]....MO|
000075a0  56 20 52 31 2c 23 33 32  20 20 20 20 20 20 20 20  |V R1,#32        |
000075b0  20 20 20 20 20 20 0d 04  d3 10 4d 55 4c 20 52 32  |      ....MUL R2|
000075c0  2c 52 31 2c 52 30 0d 04  d4 1c 41 44 44 20 52 32  |,R1,R0....ADD R2|
000075d0  2c 52 32 2c 23 26 36 30  20 20 20 20 20 20 20 20  |,R2,#&60        |
000075e0  20 20 0d 04 d5 1c 41 44  44 20 52 31 31 2c 52 32  |  ....ADD R11,R2|
000075f0  2c 52 31 30 20 20 20 20  20 20 20 20 20 20 0d 04  |,R10          ..|
00007600  d6 13 4c 44 52 20 52 32  2c 5b 52 31 31 2c 23 38  |..LDR R2,[R11,#8|
00007610  5d 0d 04 d7 0d 43 4d 50  20 52 32 2c 23 30 0d 04  |]....CMP R2,#0..|
00007620  d8 19 42 4e 45 20 6f 75  74 5f 6f 66 5f 61 6c 69  |..BNE out_of_ali|
00007630  65 6e 5f 6d 6f 76 65 0d  04 d9 1b 4c 44 52 42 20  |en_move....LDRB |
00007640  52 30 2c 5b 52 31 31 2c  23 26 31 34 5d 20 20 20  |R0,[R11,#&14]   |
00007650  20 20 0d 04 da 0d 43 4d  50 20 52 30 2c 23 38 0d  |  ....CMP R0,#8.|
00007660  04 db 1b 42 47 54 20 73  65 74 5f 75 70 5f 72 6e  |...BGT set_up_rn|
00007670  64 5f 73 65 71 75 65 6e  63 65 0d 04 dc 0d 43 4d  |d_sequence....CM|
00007680  50 20 52 30 2c 23 31 0d  04 dd 17 42 45 51 20 73  |P R0,#1....BEQ s|
00007690  65 74 5f 61 6c 69 65 6e  5f 68 6f 72 69 7a 0d 04  |et_alien_horiz..|
000076a0  de 0d 43 4d 50 20 52 30  2c 23 33 0d 04 df 17 42  |..CMP R0,#3....B|
000076b0  45 51 20 73 65 74 5f 61  6c 69 65 6e 5f 68 6f 72  |EQ set_alien_hor|
000076c0  69 7a 0d 04 e0 0d 43 4d  50 20 52 30 2c 23 35 0d  |iz....CMP R0,#5.|
000076d0  04 e1 17 42 45 51 20 73  65 74 5f 61 6c 69 65 6e  |...BEQ set_alien|
000076e0  5f 68 6f 72 69 7a 0d 04  e2 0d 43 4d 50 20 52 30  |_horiz....CMP R0|
000076f0  2c 23 37 0d 04 e3 17 42  45 51 20 73 65 74 5f 61  |,#7....BEQ set_a|
00007700  6c 69 65 6e 5f 68 6f 72  69 7a 0d 04 e4 13 2e 73  |lien_horiz.....s|
00007710  65 74 5f 61 6c 69 65 6e  5f 76 65 72 74 0d 04 e5  |et_alien_vert...|
00007720  1a 4c 44 52 20 52 30 2c  5b 52 31 30 2c 23 26 31  |.LDR R0,[R10,#&1|
00007730  30 5d 20 20 20 20 20 0d  04 e6 1a 4c 44 52 20 52  |0]     ....LDR R|
00007740  39 2c 5b 52 31 31 2c 23  26 34 5d 20 20 20 20 20  |9,[R11,#&4]     |
00007750  20 0d 04 e7 1a 43 4d 50  20 52 30 2c 52 39 20 20  | ....CMP R0,R9  |
00007760  20 20 20 20 20 20 20 20  20 20 20 0d 04 e8 15 42  |           ....B|
00007770  4e 45 20 76 65 72 74 5f  6e 6f 74 5f 73 61 6d 65  |NE vert_not_same|
00007780  0d 04 e9 10 41 44 44 20  52 30 2c 52 30 2c 23 31  |....ADD R0,R0,#1|
00007790  0d 04 ea 1a 53 54 52 42  20 52 30 2c 5b 52 31 31  |....STRB R0,[R11|
000077a0  2c 23 26 31 34 5d 20 20  20 20 0d 04 eb 17 42 20  |,#&14]    ....B |
000077b0  6f 75 74 5f 6f 66 5f 61  6c 69 65 6e 5f 6d 6f 76  |out_of_alien_mov|
000077c0  65 0d 04 ec 12 2e 76 65  72 74 5f 6e 6f 74 5f 73  |e.....vert_not_s|
000077d0  61 6d 65 0d 04 ed 0f 4d  4f 56 4c 54 20 52 33 2c  |ame....MOVLT R3,|
000077e0  23 34 0d 04 ee 0f 4d 4f  56 47 54 20 52 33 2c 23  |#4....MOVGT R3,#|
000077f0  33 0d 04 ef 14 42 20 73  65 74 5f 75 70 5f 61 5f  |3....B set_up_a_|
00007800  63 68 65 63 6b 0d 04 f0  14 2e 73 65 74 5f 61 6c  |check.....set_al|
00007810  69 65 6e 5f 68 6f 72 69  7a 0d 04 f1 1a 4c 44 52  |ien_horiz....LDR|
00007820  20 52 30 2c 5b 52 31 30  2c 23 26 43 5d 20 20 20  | R0,[R10,#&C]   |
00007830  20 20 20 0d 04 f2 1a 4c  44 52 20 52 39 2c 5b 52  |   ....LDR R9,[R|
00007840  31 31 2c 23 26 30 5d 20  20 20 20 20 20 0d 04 f3  |11,#&0]      ...|
00007850  1a 43 4d 50 20 52 30 2c  52 39 20 20 20 20 20 20  |.CMP R0,R9      |
00007860  20 20 20 20 20 20 20 0d  04 f4 16 42 4e 45 20 68  |       ....BNE h|
00007870  6f 72 69 7a 5f 6e 6f 74  5f 73 61 6d 65 0d 04 f5  |oriz_not_same...|
00007880  10 41 44 44 20 52 30 2c  52 30 2c 23 31 0d 04 f6  |.ADD R0,R0,#1...|
00007890  1a 53 54 52 42 20 52 30  2c 5b 52 31 31 2c 23 26  |.STRB R0,[R11,#&|
000078a0  31 34 5d 20 20 20 20 0d  04 f7 17 42 20 6f 75 74  |14]    ....B out|
000078b0  5f 6f 66 5f 61 6c 69 65  6e 5f 6d 6f 76 65 0d 04  |_of_alien_move..|
000078c0  f8 13 2e 68 6f 72 69 7a  5f 6e 6f 74 5f 73 61 6d  |...horiz_not_sam|
000078d0  65 0d 04 f9 0f 4d 4f 56  4c 54 20 52 33 2c 23 32  |e....MOVLT R3,#2|
000078e0  0d 04 fa 0f 4d 4f 56 47  54 20 52 33 2c 23 31 0d  |....MOVGT R3,#1.|
000078f0  04 fb 14 42 20 73 65 74  5f 75 70 5f 61 5f 63 68  |...B set_up_a_ch|
00007900  65 63 6b 0d 04 fc 18 2e  73 65 74 5f 75 70 5f 72  |eck.....set_up_r|
00007910  6e 64 5f 73 65 71 75 65  6e 63 65 0d 04 fd 11 41  |nd_sequence....A|
00007920  44 52 20 52 31 2c 72 61  6e 64 6f 6d 0d 04 fe 16  |DR R1,random....|
00007930  4c 44 52 42 20 52 30 2c  5b 52 31 31 2c 23 26 31  |LDRB R0,[R11,#&1|
00007940  38 5d 0d 04 ff 10 41 44  44 20 52 30 2c 52 30 2c  |8]....ADD R0,R0,|
00007950  23 31 0d 05 00 0e 43 4d  50 20 52 30 2c 23 33 30  |#1....CMP R0,#30|
00007960  0d 05 01 0f 4d 4f 56 47  54 20 52 30 2c 23 30 0d  |....MOVGT R0,#0.|
00007970  05 02 16 53 54 52 42 20  52 30 2c 5b 52 31 31 2c  |...STRB R0,[R11,|
00007980  23 26 31 38 5d 0d 05 03  1a 4c 44 52 42 20 52 33  |#&18]....LDRB R3|
00007990  2c 5b 52 31 2c 52 30 5d  20 20 20 20 20 20 20 0d  |,[R1,R0]       .|
000079a0  05 04 1a 4c 44 52 42 20  52 30 2c 5b 52 31 31 2c  |...LDRB R0,[R11,|
000079b0  23 26 31 34 5d 20 20 20  20 0d 05 05 1a 41 44 44  |#&14]    ....ADD|
000079c0  20 52 30 2c 52 30 2c 23  31 20 20 20 20 20 20 20  | R0,R0,#1       |
000079d0  20 20 20 0d 05 06 1a 43  4d 50 20 52 30 2c 23 31  |   ....CMP R0,#1|
000079e0  30 20 20 20 20 20 20 20  20 20 20 20 20 0d 05 07  |0            ...|
000079f0  0f 4d 4f 56 47 54 20 52  30 2c 23 31 0d 05 08 1a  |.MOVGT R0,#1....|
00007a00  53 54 52 42 20 52 30 2c  5b 52 31 31 2c 23 26 31  |STRB R0,[R11,#&1|
00007a10  34 5d 20 20 20 20 0d 05  09 13 2e 73 65 74 5f 75  |4]    .....set_u|
00007a20  70 5f 61 5f 63 68 65 63  6b 0d 05 0a 1a 4d 4f 56  |p_a_check....MOV|
00007a30  20 52 34 2c 23 31 33 20  20 20 20 20 20 20 20 20  | R4,#13         |
00007a40  20 20 20 0d 05 0b 0d 43  4d 50 20 52 33 2c 23 33  |   ....CMP R3,#3|
00007a50  0d 05 0c 1a 4d 4f 56 4c  54 20 52 31 32 2c 23 33  |....MOVLT R12,#3|
00007a60  32 30 20 20 20 20 20 20  20 20 0d 05 0d 0f 4d 4f  |20        ....MO|
00007a70  56 4c 54 20 52 35 2c 23  31 0d 05 0e 0f 4d 4f 56  |VLT R5,#1....MOV|
00007a80  4c 54 20 52 36 2c 23 30  0d 05 0f 0d 43 4d 50 20  |LT R6,#0....CMP |
00007a90  52 33 2c 23 32 0d 05 10  1a 4d 4f 56 47 54 20 52  |R3,#2....MOVGT R|
00007aa0  31 32 2c 23 31 20 20 20  20 20 20 20 20 20 20 0d  |12,#1          .|
00007ab0  05 11 0f 4d 4f 56 47 54  20 52 35 2c 23 31 0d 05  |...MOVGT R5,#1..|
00007ac0  12 0f 4d 4f 56 47 54 20  52 36 2c 23 30 0d 05 13  |..MOVGT R6,#0...|
00007ad0  1a 4c 44 52 20 52 38 2c  5b 52 31 31 2c 23 26 30  |.LDR R8,[R11,#&0|
00007ae0  5d 20 20 20 20 20 20 0d  05 14 1a 4c 44 52 20 52  |]      ....LDR R|
00007af0  39 2c 5b 52 31 31 2c 23  26 34 5d 20 20 20 20 20  |9,[R11,#&4]     |
00007b00  20 0d 05 15 12 42 4c 20  63 68 65 63 6b 5f 65 64  | ....BL check_ed|
00007b10  67 65 73 0d 05 16 0d 43  4d 50 20 52 34 2c 23 30  |ges....CMP R4,#0|
00007b20  0d 05 17 16 42 4e 45 20  61 6c 69 65 6e 5f 73 74  |....BNE alien_st|
00007b30  61 72 74 5f 6f 6b 0d 05  18 1a 4c 44 52 42 20 52  |art_ok....LDRB R|
00007b40  30 2c 5b 52 31 31 2c 23  26 31 34 5d 20 20 20 20  |0,[R11,#&14]    |
00007b50  0d 05 19 1a 41 44 44 20  52 30 2c 52 30 2c 23 31  |....ADD R0,R0,#1|
00007b60  20 20 20 20 20 20 20 20  20 20 0d 05 1a 1a 43 4d  |          ....CM|
00007b70  50 20 52 30 2c 23 31 30  20 20 20 20 20 20 20 20  |P R0,#10        |
00007b80  20 20 20 20 0d 05 1b 0f  4d 4f 56 47 54 20 52 30  |    ....MOVGT R0|
00007b90  2c 23 31 0d 05 1c 1a 53  54 52 42 20 52 30 2c 5b  |,#1....STRB R0,[|
00007ba0  52 31 31 2c 23 26 31 34  5d 20 20 20 20 0d 05 1d  |R11,#&14]    ...|
00007bb0  14 42 20 61 6c 69 65 6e  5f 73 74 61 72 74 5f 6e  |.B alien_start_n|
00007bc0  6f 0d 05 1e 13 2e 61 6c  69 65 6e 5f 73 74 61 72  |o.....alien_star|
00007bd0  74 5f 6f 6b 0d 05 1f 1a  53 54 52 20 52 33 2c 5b  |t_ok....STR R3,[|
00007be0  52 31 31 2c 23 26 31 30  5d 20 20 20 20 20 0d 05  |R11,#&10]     ..|
00007bf0  20 1a 53 54 52 20 52 34  2c 5b 52 31 31 2c 23 26  | .STR R4,[R11,#&|
00007c00  38 5d 20 20 20 20 20 20  0d 05 21 0e 4d 4f 56 20  |8]      ..!.MOV |
00007c10  52 30 2c 23 34 39 0d 05  22 1a 53 54 52 20 52 30  |R0,#49..".STR R0|
00007c20  2c 5b 52 31 31 2c 23 26  43 5d 20 20 20 20 20 20  |,[R11,#&C]      |
00007c30  0d 05 23 13 2e 61 6c 69  65 6e 5f 73 74 61 72 74  |..#..alien_start|
00007c40  5f 6e 6f 0d 05 24 16 2e  6f 75 74 5f 6f 66 5f 61  |_no..$..out_of_a|
00007c50  6c 69 65 6e 5f 6d 6f 76  65 0d 05 25 15 4c 44 52  |lien_move..%.LDR|
00007c60  20 52 30 2c 5b 52 31 30  2c 23 26 35 38 5d 0d 05  | R0,[R10,#&58]..|
00007c70  26 0e 4d 4f 56 20 52 31  35 2c 52 30 0d 05 27 0b  |&.MOV R15,R0..'.|
00007c80  2e 72 61 6e 64 6f 6d 0d  05 28 3b 45 51 55 42 20  |.random..(;EQUB |
00007c90  31 3a 45 51 55 42 20 31  3a 45 51 55 42 20 33 3a  |1:EQUB 1:EQUB 3:|
00007ca0  45 51 55 42 20 33 3a 45  51 55 42 20 32 3a 45 51  |EQUB 3:EQUB 2:EQ|
00007cb0  55 42 20 32 3a 45 51 55  42 20 32 3a 45 51 55 42  |UB 2:EQUB 2:EQUB|
00007cc0  20 32 0d 05 29 3b 45 51  55 42 20 33 3a 45 51 55  | 2..);EQUB 3:EQU|
00007cd0  42 20 33 3a 45 51 55 42  20 31 3a 45 51 55 42 20  |B 3:EQUB 1:EQUB |
00007ce0  31 3a 45 51 55 42 20 33  3a 45 51 55 42 20 33 3a  |1:EQUB 3:EQUB 3:|
00007cf0  45 51 55 42 20 32 3a 45  51 55 42 20 32 0d 05 2a  |EQUB 2:EQUB 2..*|
00007d00  3b 45 51 55 42 20 34 3a  45 51 55 42 20 34 3a 45  |;EQUB 4:EQUB 4:E|
00007d10  51 55 42 20 34 3a 45 51  55 42 20 34 3a 45 51 55  |QUB 4:EQUB 4:EQU|
00007d20  42 20 32 3a 45 51 55 42  20 32 3a 45 51 55 42 20  |B 2:EQUB 2:EQUB |
00007d30  31 3a 45 51 55 42 20 31  0d 05 2b 3b 45 51 55 42  |1:EQUB 1..+;EQUB|
00007d40  20 31 3a 45 51 55 42 20  31 3a 45 51 55 42 20 33  | 1:EQUB 1:EQUB 3|
00007d50  3a 45 51 55 42 20 33 3a  45 51 55 42 20 31 3a 45  |:EQUB 3:EQUB 1:E|
00007d60  51 55 42 20 31 3a 45 51  55 42 20 34 3a 45 51 55  |QUB 1:EQUB 4:EQU|
00007d70  42 20 34 0d 05 2c 16 2e  61 6c 69 65 6e 5f 6d 6f  |B 4..,..alien_mo|
00007d80  76 69 6e 67 5f 6c 6f 6f  70 0d 05 2d 1c 4c 44 52  |ving_loop..-.LDR|
00007d90  20 52 34 2c 5b 52 31 31  2c 23 26 38 5d 20 20 20  | R4,[R11,#&8]   |
00007da0  20 20 20 20 20 0d 05 2e  0d 43 4d 50 20 52 34 2c  |     ....CMP R4,|
00007db0  23 30 0d 05 2f 12 53 55  42 4e 45 20 52 34 2c 52  |#0../.SUBNE R4,R|
00007dc0  34 2c 23 31 0d 05 30 14  53 54 52 20 52 34 2c 5b  |4,#1..0.STR R4,[|
00007dd0  52 31 31 2c 23 26 38 5d  0d 05 31 1a 42 45 51 20  |R11,#&8]..1.BEQ |
00007de0  6f 75 74 5f 61 6c 69 65  6e 5f 6d 6f 76 65 6d 65  |out_alien_moveme|
00007df0  6e 74 0d 05 32 1c 43 4d  50 20 52 34 2c 23 31 32  |nt..2.CMP R4,#12|
00007e00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 0d 05  |              ..|
00007e10  33 19 ec 51 20 52 37 2c  23 30 20 20 20 20 20 20  |3..Q R7,#0      |
00007e20  20 20 20 20 20 20 20 0d  05 34 0f 4d 4f 56 4e 45  |       ..4.MOVNE|
00007e30  20 52 37 2c 23 34 0d 05  35 21 42 4e 45 20 6f 76  | R7,#4..5!BNE ov|
00007e40  65 72 5f 61 6c 69 65 6e  73 5f 66 69 72 73 74 5f  |er_aliens_first_|
00007e50  6d 6f 76 65 20 20 20 0d  05 36 18 4c 44 52 20 52  |move   ..6.LDR R|
00007e60  33 2c 5b 52 31 31 2c 23  26 31 30 5d 20 20 20 0d  |3,[R11,#&10]   .|
00007e70  05 37 18 4c 44 52 42 20  52 38 2c 5b 52 31 31 2c  |.7.LDRB R8,[R11,|
00007e80  23 26 31 39 5d 20 20 0d  05 38 18 4c 44 52 42 20  |#&19]  ..8.LDRB |
00007e90  52 39 2c 5b 52 31 31 2c  23 26 31 41 5d 20 20 0d  |R9,[R11,#&1A]  .|
00007ea0  05 39 0d 43 4d 50 20 52  33 2c 23 31 0d 05 3a 12  |.9.CMP R3,#1..:.|
00007eb0  41 44 44 45 51 20 52 38  2c 52 38 2c 23 31 0d 05  |ADDEQ R8,R8,#1..|
00007ec0  3b 0d 43 4d 50 20 52 33  2c 23 32 0d 05 3c 12 53  |;.CMP R3,#2..<.S|
00007ed0  55 42 45 51 20 52 38 2c  52 38 2c 23 31 0d 05 3d  |UBEQ R8,R8,#1..=|
00007ee0  0d 43 4d 50 20 52 33 2c  23 33 0d 05 3e 12 41 44  |.CMP R3,#3..>.AD|
00007ef0  44 45 51 20 52 39 2c 52  39 2c 23 31 0d 05 3f 0d  |DEQ R9,R9,#1..?.|
00007f00  43 4d 50 20 52 33 2c 23  34 0d 05 40 12 53 55 42  |CMP R3,#4..@.SUB|
00007f10  45 51 20 52 39 2c 52 39  2c 23 31 0d 05 41 18 53  |EQ R9,R9,#1..A.S|
00007f20  54 52 42 20 52 38 2c 5b  52 31 31 2c 23 26 31 42  |TRB R8,[R11,#&1B|
00007f30  5d 20 20 0d 05 42 18 53  54 52 42 20 52 39 2c 5b  |]  ..B.STRB R9,[|
00007f40  52 31 31 2c 23 26 31 43  5d 20 20 0d 05 43 1b 2e  |R11,#&1C]  ..C..|
00007f50  6f 76 65 72 5f 61 6c 69  65 6e 73 5f 66 69 72 73  |over_aliens_firs|
00007f60  74 5f 6d 6f 76 65 0d 05  44 0d 43 4d 50 20 52 34  |t_move..D.CMP R4|
00007f70  2c 23 30 0d 05 45 22 42  4e 45 20 6f 76 65 72 5f  |,#0..E"BNE over_|
00007f80  61 6c 69 65 6e 73 5f 6c  61 73 74 5f 6d 6f 76 65  |aliens_last_move|
00007f90  20 20 20 20 20 0d 05 46  18 4c 44 52 42 20 52 38  |     ..F.LDRB R8|
00007fa0  2c 5b 52 31 31 2c 23 26  31 42 5d 20 20 0d 05 47  |,[R11,#&1B]  ..G|
00007fb0  18 4c 44 52 42 20 52 39  2c 5b 52 31 31 2c 23 26  |.LDRB R9,[R11,#&|
00007fc0  31 43 5d 20 20 0d 05 48  18 53 54 52 42 20 52 38  |1C]  ..H.STRB R8|
00007fd0  2c 5b 52 31 31 2c 23 26  31 39 5d 20 20 0d 05 49  |,[R11,#&19]  ..I|
00007fe0  18 53 54 52 42 20 52 39  2c 5b 52 31 31 2c 23 26  |.STRB R9,[R11,#&|
00007ff0  31 41 5d 20 20 0d 05 4a  1a 2e 6f 76 65 72 5f 61  |1A]  ..J..over_a|
00008000  6c 69 65 6e 73 5f 6c 61  73 74 5f 6d 6f 76 65 0d  |liens_last_move.|
00008010  05 4b 0d 43 4d 50 20 52  34 2c 23 30 0d 05 4c 1b  |.K.CMP R4,#0..L.|
00008020  ec 51 20 52 34 2c 23 35  36 20 20 20 20 20 20 20  |.Q R4,#56       |
00008030  20 20 20 20 20 20 20 0d  05 4d 1a 42 45 51 20 6f  |       ..M.BEQ o|
00008040  76 65 72 6c 6f 61 64 5f  61 6c 69 65 6e 74 79 70  |verload_alientyp|
00008050  65 0d 05 4e 14 4c 44 52  20 52 34 2c 5b 52 31 31  |e..N.LDR R4,[R11|
00008060  2c 23 26 43 5d 0d 05 4f  17 2e 6f 76 65 72 6c 6f  |,#&C]..O..overlo|
00008070  61 64 5f 61 6c 69 65 6e  74 79 70 65 0d 05 50 10  |ad_alientype..P.|
00008080  41 44 44 20 52 34 2c 52  34 2c 23 31 0d 05 51 0e  |ADD R4,R4,#1..Q.|
00008090  43 4d 50 20 52 34 2c 23  35 37 0d 05 52 0d ec 51  |CMP R4,#57..R..Q|
000080a0  20 52 34 2c 23 34 39 0d  05 53 14 53 54 52 20 52  | R4,#49..S.STR R|
000080b0  34 2c 5b 52 31 31 2c 23  26 43 5d 0d 05 54 14 4c  |4,[R11,#&C]..T.L|
000080c0  44 52 20 52 38 2c 5b 52  31 31 2c 23 26 30 5d 0d  |DR R8,[R11,#&0].|
000080d0  05 55 14 4c 44 52 20 52  39 2c 5b 52 31 31 2c 23  |.U.LDR R9,[R11,#|
000080e0  26 34 5d 0d 05 56 15 4c  44 52 20 52 33 2c 5b 52  |&4]..V.LDR R3,[R|
000080f0  31 31 2c 23 26 31 30 5d  0d 05 57 0d 43 4d 50 20  |11,#&10]..W.CMP |
00008100  52 33 2c 23 31 0d 05 58  12 41 44 44 45 51 20 52  |R3,#1..X.ADDEQ R|
00008110  38 2c 52 38 2c 52 37 0d  05 59 1b ec 51 20 52 35  |8,R8,R7..Y..Q R5|
00008120  2c 23 34 39 20 20 20 20  20 20 20 20 20 20 20 20  |,#49            |
00008130  20 20 0d 05 5a 0d 43 4d  50 20 52 33 2c 23 32 0d  |  ..Z.CMP R3,#2.|
00008140  05 5b 12 53 55 42 45 51  20 52 38 2c 52 38 2c 52  |.[.SUBEQ R8,R8,R|
00008150  37 0d 05 5c 0d ec 51 20  52 35 2c 23 35 30 0d 05  |7..\..Q R5,#50..|
00008160  5d 0d 43 4d 50 20 52 33  2c 23 33 0d 05 5e 12 41  |].CMP R3,#3..^.A|
00008170  44 44 45 51 20 52 39 2c  52 39 2c 52 37 0d 05 5f  |DDEQ R9,R9,R7.._|
00008180  0d ec 51 20 52 35 2c 23  35 31 0d 05 60 0d 43 4d  |..Q R5,#51..`.CM|
00008190  50 20 52 33 2c 23 34 0d  05 61 12 53 55 42 45 51  |P R3,#4..a.SUBEQ|
000081a0  20 52 39 2c 52 39 2c 52  37 0d 05 62 0d ec 51 20  | R9,R9,R7..b..Q |
000081b0  52 35 2c 23 35 32 0d 05  63 17 41 44 52 20 52 36  |R5,#52..c.ADR R6|
000081c0  2c 61 6c 69 65 6e 5f 73  70 72 69 74 65 0d 05 64  |,alien_sprite..d|
000081d0  13 53 54 52 42 20 52 35  2c 5b 52 36 2c 23 33 5d  |.STRB R5,[R6,#3]|
000081e0  0d 05 65 13 53 54 52 42  20 52 34 2c 5b 52 36 2c  |..e.STRB R4,[R6,|
000081f0  23 34 5d 0d 05 66 14 53  54 52 20 52 38 2c 5b 52  |#4]..f.STR R8,[R|
00008200  31 31 2c 23 26 30 5d 0d  05 67 14 53 54 52 20 52  |11,#&0]..g.STR R|
00008210  39 2c 5b 52 31 31 2c 23  26 34 5d 0d 05 68 0f 4d  |9,[R11,#&4]..h.M|
00008220  4f 56 20 52 30 2c 23 26  33 34 0d 05 69 1e 41 44  |OV R0,#&34..i.AD|
00008230  44 20 52 30 2c 52 30 2c  23 26 31 30 30 20 20 20  |D R0,R0,#&100   |
00008240  20 20 20 20 20 20 20 20  0d 05 6a 1e 4c 44 52 20  |        ..j.LDR |
00008250  52 31 2c 5b 52 31 30 2c  23 26 35 30 5d 20 20 20  |R1,[R10,#&50]   |
00008260  20 20 20 20 20 20 0d 05  6b 1e 41 44 52 20 52 32  |      ..k.ADR R2|
00008270  2c 61 6c 69 65 6e 5f 73  70 72 69 74 65 20 20 20  |,alien_sprite   |
00008280  20 20 20 20 0d 05 6c 1e  4d 4f 56 20 52 33 2c 52  |    ..l.MOV R3,R|
00008290  38 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |8               |
000082a0  20 20 0d 05 6d 1e 4d 4f  56 20 52 34 2c 52 39 20  |  ..m.MOV R4,R9 |
000082b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000082c0  0d 05 6e 1e 4d 4f 56 20  52 35 2c 23 26 30 20 20  |..n.MOV R5,#&0  |
000082d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 0d 05  |              ..|
000082e0  6f 1e 41 44 52 20 52 36  2c 61 6c 69 65 6e 5f 73  |o.ADR R6,alien_s|
000082f0  63 61 6c 65 20 20 20 20  20 20 20 20 0d 05 70 1e  |cale        ..p.|
00008300  4d 4f 56 20 52 37 2c 23  30 20 20 20 20 20 20 20  |MOV R7,#0       |
00008310  20 20 20 20 20 20 20 20  20 20 0d 05 71 15 53 57  |          ..q.SW|
00008320  49 20 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 0d  |I "OS_SpriteOp".|
00008330  05 72 17 2e 6f 75 74 5f  61 6c 69 65 6e 5f 6d 6f  |.r..out_alien_mo|
00008340  76 65 6d 65 6e 74 0d 05  73 0f 4d 4f 56 20 52 31  |vement..s.MOV R1|
00008350  35 2c 52 31 34 0d 05 74  11 2e 61 6c 69 65 6e 5f  |5,R14..t..alien_|
00008360  73 70 72 69 74 65 0d 05  75 0e 45 51 55 53 20 22  |sprite..u.EQUS "|
00008370  61 6c 69 22 0d 05 76 0b  45 51 55 42 20 34 39 0d  |ali"..v.EQUB 49.|
00008380  05 77 0a 45 51 55 42 20  30 0d 05 78 0a 45 51 55  |.w.EQUB 0..x.EQU|
00008390  42 20 30 0d 05 79 0a 45  51 55 42 20 30 0d 05 7a  |B 0..y.EQUB 0..z|
000083a0  09 41 4c 49 47 4e 0d 05  7b 10 2e 61 6c 69 65 6e  |.ALIGN..{..alien|
000083b0  5f 73 63 61 6c 65 0d 05  7c 0a 45 51 55 44 20 31  |_scale..|.EQUD 1|
000083c0  0d 05 7d 0d 45 51 55 44  20 31 2b 56 25 0d 05 7e  |..}.EQUD 1+V%..~|
000083d0  0a 45 51 55 44 20 31 0d  05 7f 0a 45 51 55 44 20  |.EQUD 1....EQUD |
000083e0  31 0d 05 80 10 2e 63 68  65 63 6b 5f 65 64 67 65  |1.....check_edge|
000083f0  73 0d 05 81 1a 4c 44 52  20 52 30 2c 5b 52 31 30  |s....LDR R0,[R10|
00008400  2c 23 26 35 34 5d 20 20  20 20 20 0d 05 82 1a 4d  |,#&54]     ....M|
00008410  4f 56 20 52 38 2c 52 38  2c 4c 53 52 20 23 32 20  |OV R8,R8,LSR #2 |
00008420  20 20 20 20 20 0d 05 83  0f 4d 4f 56 20 52 31 2c  |     ....MOV R1,|
00008430  23 39 35 36 0d 05 84 0f  4d 4f 56 20 52 32 2c 23  |#956....MOV R2,#|
00008440  33 32 30 0d 05 85 1a 53  55 42 20 52 39 2c 52 31  |320....SUB R9,R1|
00008450  2c 52 39 20 20 20 20 20  20 20 20 20 20 0d 05 86  |,R9          ...|
00008460  1a 4d 4f 56 20 52 39 2c  52 39 2c 4c 53 52 20 23  |.MOV R9,R9,LSR #|
00008470  28 32 2d 56 25 29 20 0d  05 87 1a 4d 55 4c 20 52  |(2-V%) ....MUL R|
00008480  37 2c 52 39 2c 52 32 20  20 20 20 20 20 20 20 20  |7,R9,R2         |
00008490  20 0d 05 88 1a 41 44 44  20 52 37 2c 52 38 2c 52  | ....ADD R7,R8,R|
000084a0  37 20 20 20 20 20 20 20  20 20 20 0d 05 89 1a 41  |7          ....A|
000084b0  44 44 20 52 37 2c 52 37  2c 52 30 20 20 20 20 20  |DD R7,R7,R0     |
000084c0  20 20 20 20 20 0d 05 8a  1a 4d 4f 56 20 52 30 2c  |     ....MOV R0,|
000084d0  23 30 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |#0             .|
000084e0  05 8b 0d 43 4d 50 20 52  33 2c 23 31 0d 05 8c 18  |...CMP R3,#1....|
000084f0  42 4e 45 20 6f 76 65 72  5f 72 69 67 68 74 5f 63  |BNE over_right_c|
00008500  68 65 63 6b 0d 05 8d 1a  41 44 44 20 52 37 2c 52  |heck....ADD R7,R|
00008510  37 2c 23 31 32 20 20 20  20 20 20 20 20 20 0d 05  |7,#12         ..|
00008520  8e 1a 53 55 42 20 52 37  2c 52 37 2c 52 36 20 20  |..SUB R7,R7,R6  |
00008530  20 20 20 20 20 20 20 20  0d 05 8f 0d 4d 4f 56 20  |        ....MOV |
00008540  52 31 2c 23 30 0d 05 90  0b 2e 63 68 5f 72 5f 6c  |R1,#0.....ch_r_l|
00008550  0d 05 91 10 4c 44 52 42  20 52 32 2c 5b 52 37 5d  |....LDRB R2,[R7]|
00008560  0d 05 92 1a 43 4d 50 20  52 32 2c 23 26 34 34 20  |....CMP R2,#&44 |
00008570  20 20 20 20 20 20 20 20  20 20 0d 05 93 17 42 45  |          ....BE|
00008580  51 20 6f 76 65 72 5f 72  69 67 68 74 5f 66 61 69  |Q over_right_fai|
00008590  6c 0d 05 94 1a 4d 4f 56  20 52 34 2c 23 30 20 20  |l....MOV R4,#0  |
000085a0  20 20 20 20 20 20 20 20  20 20 20 0d 05 95 14 2e  |           .....|
000085b0  6f 76 65 72 5f 72 69 67  68 74 5f 66 61 69 6c 0d  |over_right_fail.|
000085c0  05 96 11 53 55 42 20 52  37 2c 52 37 2c 52 31 32  |...SUB R7,R7,R12|
000085d0  0d 05 97 10 41 44 44 20  52 31 2c 52 31 2c 52 35  |....ADD R1,R1,R5|
000085e0  0d 05 98 1a 43 4d 50 20  52 31 2c 23 31 32 20 20  |....CMP R1,#12  |
000085f0  20 20 20 20 20 20 20 20  20 20 0d 05 99 0e 42 4e  |          ....BN|
00008600  45 20 63 68 5f 72 5f 6c  0d 05 9a 17 42 20 6f 76  |E ch_r_l....B ov|
00008610  65 72 5f 6f 74 68 65 72  5f 63 68 65 63 6b 73 0d  |er_other_checks.|
00008620  05 9b 15 2e 6f 76 65 72  5f 72 69 67 68 74 5f 63  |....over_right_c|
00008630  68 65 63 6b 0d 05 9c 0d  43 4d 50 20 52 33 2c 23  |heck....CMP R3,#|
00008640  32 0d 05 9d 17 42 4e 45  20 6f 76 65 72 5f 6c 65  |2....BNE over_le|
00008650  66 74 5f 63 68 65 63 6b  0d 05 9e 1a 53 55 42 20  |ft_check....SUB |
00008660  52 37 2c 52 37 2c 23 31  20 20 20 20 20 20 20 20  |R7,R7,#1        |
00008670  20 20 0d 05 9f 1a 53 55  42 20 52 37 2c 52 37 2c  |  ....SUB R7,R7,|
00008680  52 36 20 20 20 20 20 20  20 20 20 20 0d 05 a0 0d  |R6          ....|
00008690  4d 4f 56 20 52 31 2c 23  30 0d 05 a1 0b 2e 63 68  |MOV R1,#0.....ch|
000086a0  5f 6c 5f 6c 0d 05 a2 10  4c 44 52 42 20 52 32 2c  |_l_l....LDRB R2,|
000086b0  5b 52 37 5d 0d 05 a3 1a  43 4d 50 20 52 32 2c 23  |[R7]....CMP R2,#|
000086c0  26 34 34 20 20 20 20 20  20 20 20 20 20 20 0d 05  |&44           ..|
000086d0  a4 16 42 45 51 20 6f 76  65 72 5f 6c 65 66 74 5f  |..BEQ over_left_|
000086e0  66 61 69 6c 0d 05 a5 1a  4d 4f 56 20 52 34 2c 23  |fail....MOV R4,#|
000086f0  30 20 20 20 20 20 20 20  20 20 20 20 20 20 0d 05  |0             ..|
00008700  a6 13 2e 6f 76 65 72 5f  6c 65 66 74 5f 66 61 69  |...over_left_fai|
00008710  6c 0d 05 a7 11 53 55 42  20 52 37 2c 52 37 2c 52  |l....SUB R7,R7,R|
00008720  31 32 0d 05 a8 10 41 44  44 20 52 31 2c 52 31 2c  |12....ADD R1,R1,|
00008730  52 35 0d 05 a9 1a 43 4d  50 20 52 31 2c 23 31 32  |R5....CMP R1,#12|
00008740  20 20 20 20 20 20 20 20  20 20 20 20 0d 05 aa 0e  |            ....|
00008750  42 4e 45 20 63 68 5f 6c  5f 6c 0d 05 ab 17 42 20  |BNE ch_l_l....B |
00008760  6f 76 65 72 5f 6f 74 68  65 72 5f 63 68 65 63 6b  |over_other_check|
00008770  73 0d 05 ac 14 2e 6f 76  65 72 5f 6c 65 66 74 5f  |s.....over_left_|
00008780  63 68 65 63 6b 0d 05 ad  0d 43 4d 50 20 52 33 2c  |check....CMP R3,|
00008790  23 33 0d 05 ae 15 42 4e  45 20 6f 76 65 72 5f 75  |#3....BNE over_u|
000087a0  70 5f 63 68 65 63 6b 0d  05 af 1e 53 55 42 20 52  |p_check....SUB R|
000087b0  37 2c 52 37 2c 23 28 33  38 34 30 2a 28 56 25 2b  |7,R7,#(3840*(V%+|
000087c0  31 29 29 20 20 0d 05 b0  1e 41 44 44 20 52 37 2c  |1))  ....ADD R7,|
000087d0  52 37 2c 52 36 20 20 20  20 20 20 20 20 20 20 20  |R7,R6           |
000087e0  20 20 20 0d 05 b1 0d 4d  4f 56 20 52 31 2c 23 30  |   ....MOV R1,#0|
000087f0  0d 05 b2 0b 2e 63 68 5f  74 5f 6c 0d 05 b3 10 4c  |.....ch_t_l....L|
00008800  44 52 42 20 52 32 2c 5b  52 37 5d 0d 05 b4 1a 43  |DRB R2,[R7]....C|
00008810  4d 50 20 52 32 2c 23 26  34 34 20 20 20 20 20 20  |MP R2,#&44      |
00008820  20 20 20 20 20 0d 05 b5  14 42 45 51 20 6f 76 65  |     ....BEQ ove|
00008830  72 5f 75 70 5f 66 61 69  6c 0d 05 b6 1a 4d 4f 56  |r_up_fail....MOV|
00008840  20 52 34 2c 23 30 20 20  20 20 20 20 20 20 20 20  | R4,#0          |
00008850  20 20 20 0d 05 b7 11 2e  6f 76 65 72 5f 75 70 5f  |   .....over_up_|
00008860  66 61 69 6c 0d 05 b8 11  41 44 44 20 52 37 2c 52  |fail....ADD R7,R|
00008870  37 2c 52 31 32 0d 05 b9  10 41 44 44 20 52 31 2c  |7,R12....ADD R1,|
00008880  52 31 2c 52 35 0d 05 ba  1a 43 4d 50 20 52 31 2c  |R1,R5....CMP R1,|
00008890  23 31 32 20 20 20 20 20  20 20 20 20 20 20 20 0d  |#12            .|
000088a0  05 bb 0e 42 4e 45 20 63  68 5f 74 5f 6c 0d 05 bc  |...BNE ch_t_l...|
000088b0  17 42 20 6f 76 65 72 5f  6f 74 68 65 72 5f 63 68  |.B over_other_ch|
000088c0  65 63 6b 73 0d 05 bd 12  2e 6f 76 65 72 5f 75 70  |ecks.....over_up|
000088d0  5f 63 68 65 63 6b 0d 05  be 0d 43 4d 50 20 52 33  |_check....CMP R3|
000088e0  2c 23 34 0d 05 bf 17 42  4e 45 20 6f 76 65 72 5f  |,#4....BNE over_|
000088f0  64 6f 77 6e 5f 63 68 65  63 6b 0d 05 c0 1b 41 44  |down_check....AD|
00008900  44 20 52 37 2c 52 37 2c  23 28 33 32 30 2a 28 56  |D R7,R7,#(320*(V|
00008910  25 2b 31 29 29 0d 05 c1  1b 41 44 44 20 52 37 2c  |%+1))....ADD R7,|
00008920  52 37 2c 52 36 20 20 20  20 20 20 20 20 20 20 20  |R7,R6           |
00008930  0d 05 c2 0d 4d 4f 56 20  52 31 2c 23 30 0d 05 c3  |....MOV R1,#0...|
00008940  0b 2e 63 68 5f 75 5f 6c  0d 05 c4 10 4c 44 52 42  |..ch_u_l....LDRB|
00008950  20 52 32 2c 5b 52 37 5d  0d 05 c5 1a 43 4d 50 20  | R2,[R7]....CMP |
00008960  52 32 2c 23 26 34 34 20  20 20 20 20 20 20 20 20  |R2,#&44         |
00008970  20 20 0d 05 c6 16 42 45  51 20 6f 76 65 72 5f 64  |  ....BEQ over_d|
00008980  6f 77 6e 5f 66 61 69 6c  0d 05 c7 1a 43 4d 50 20  |own_fail....CMP |
00008990  52 32 2c 23 26 46 46 20  20 20 20 20 20 20 20 20  |R2,#&FF         |
000089a0  20 20 0d 05 c8 16 42 45  51 20 6f 76 65 72 5f 64  |  ....BEQ over_d|
000089b0  6f 77 6e 5f 66 61 69 6c  0d 05 c9 1a 4d 4f 56 20  |own_fail....MOV |
000089c0  52 34 2c 23 30 20 20 20  20 20 20 20 20 20 20 20  |R4,#0           |
000089d0  20 20 0d 05 ca 13 2e 6f  76 65 72 5f 64 6f 77 6e  |  .....over_down|
000089e0  5f 66 61 69 6c 0d 05 cb  11 41 44 44 20 52 37 2c  |_fail....ADD R7,|
000089f0  52 37 2c 52 31 32 0d 05  cc 10 41 44 44 20 52 31  |R7,R12....ADD R1|
00008a00  2c 52 31 2c 52 35 0d 05  cd 1a 43 4d 50 20 52 31  |,R1,R5....CMP R1|
00008a10  2c 23 31 32 20 20 20 20  20 20 20 20 20 20 20 20  |,#12            |
00008a20  0d 05 ce 0e 42 4e 45 20  63 68 5f 75 5f 6c 0d 05  |....BNE ch_u_l..|
00008a30  cf 17 42 20 6f 76 65 72  5f 6f 74 68 65 72 5f 63  |..B over_other_c|
00008a40  68 65 63 6b 73 0d 05 d0  14 2e 6f 76 65 72 5f 64  |hecks.....over_d|
00008a50  6f 77 6e 5f 63 68 65 63  6b 0d 05 d1 16 2e 6f 76  |own_check.....ov|
00008a60  65 72 5f 6f 74 68 65 72  5f 63 68 65 63 6b 73 0d  |er_other_checks.|
00008a70  05 d2 0f 4d 4f 56 20 52  31 35 2c 52 31 34 0d 05  |...MOV R15,R14..|
00008a80  d3 09 2e 6d 61 69 6e 0d  05 d4 0d 4d 4f 56 20 52  |...main....MOV R|
00008a90  35 2c 52 34 0d 05 d5 0e  4d 4f 56 20 52 31 30 2c  |5,R4....MOV R10,|
00008aa0  52 30 0d 05 d6 0e 4d 4f  56 20 52 31 31 2c 52 31  |R0....MOV R11,R1|
00008ab0  0d 05 d7 15 53 54 52 20  52 32 2c 5b 52 31 30 2c  |....STR R2,[R10,|
00008ac0  23 26 35 34 5d 0d 05 d8  16 53 54 52 20 52 31 34  |#&54]....STR R14|
00008ad0  2c 5b 52 31 30 2c 23 26  35 43 5d 0d 05 d9 14 42  |,[R10,#&5C]....B|
00008ae0  4c 20 6b 65 79 5f 65 6e  74 72 79 5f 6d 61 6e 0d  |L key_entry_man.|
00008af0  05 da 16 42 4c 20 6d 61  6e 5f 6d 6f 76 69 6e 67  |...BL man_moving|
00008b00  5f 6c 6f 6f 70 0d 05 db  15 4c 44 52 20 52 30 2c  |_loop....LDR R0,|
00008b10  5b 52 31 30 2c 23 26 35  43 5d 0d 05 dc 0e 4d 4f  |[R10,#&5C]....MO|
00008b20  56 20 52 31 35 2c 52 30  0d 05 dd 15 2e 65 6e 64  |V R15,R0.....end|
00008b30  5f 6f 66 5f 6d 61 69 6e  5f 6c 6f 6f 70 0d 05 de  |_of_main_loop...|
00008b40  12 2e 6b 65 79 5f 65 6e  74 72 79 5f 6d 61 6e 0d  |..key_entry_man.|
00008b50  05 df 16 53 54 52 20 52  31 34 2c 5b 52 31 30 2c  |...STR R14,[R10,|
00008b60  23 26 35 38 5d 0d 05 e0  15 4c 44 52 20 52 34 2c  |#&58]....LDR R4,|
00008b70  5b 52 31 30 2c 23 26 31  34 5d 0d 05 e1 0d 43 4d  |[R10,#&14]....CM|
00008b80  50 20 52 34 2c 23 30 0d  05 e2 17 42 4e 45 20 6e  |P R4,#0....BNE n|
00008b90  6f 5f 6e 65 77 5f 6d 6f  76 65 6d 65 6e 74 0d 05  |o_new_movement..|
00008ba0  e3 14 4c 44 52 20 52 38  2c 5b 52 31 30 2c 23 26  |..LDR R8,[R10,#&|
00008bb0  43 5d 0d 05 e4 15 4c 44  52 20 52 39 2c 5b 52 31  |C]....LDR R9,[R1|
00008bc0  30 2c 23 26 31 30 5d 0d  05 e5 1d 4d 4f 56 20 52  |0,#&10]....MOV R|
00008bd0  34 2c 23 30 20 20 20 20  20 20 20 20 20 20 20 20  |4,#0            |
00008be0  20 20 20 20 0d 05 e6 1d  4d 4f 56 20 52 33 2c 23  |    ....MOV R3,#|
00008bf0  30 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |0               |
00008c00  20 0d 05 e7 1d 43 4d 50  20 52 35 2c 23 33 37 20  | ....CMP R5,#37 |
00008c10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 0d 05  |              ..|
00008c20  e8 1c 42 45 51 20 73 65  74 5f 6d 61 6e 5f 6d 6f  |..BEQ set_man_mo|
00008c30  76 69 6e 67 5f 72 69 67  68 74 0d 05 e9 0f 4d 4f  |ving_right....MO|
00008c40  56 20 52 30 2c 23 26 37  39 0d 05 ea 17 4d 4f 56  |V R0,#&79....MOV|
00008c50  20 52 31 2c 23 28 31 32  31 20 82 20 26 38 30 29  | R1,#(121 . &80)|
00008c60  0d 05 eb 11 53 57 49 20  22 4f 53 5f 42 79 74 65  |....SWI "OS_Byte|
00008c70  22 0d 05 ec 0f 43 4d 50  20 52 31 2c 23 26 46 46  |"....CMP R1,#&FF|
00008c80  0d 05 ed 1b 42 4e 45 20  6f 76 65 72 5f 6d 61 6e  |....BNE over_man|
00008c90  5f 6d 6f 76 65 5f 72 69  67 68 74 0d 05 ee 19 2e  |_move_right.....|
00008ca0  73 65 74 5f 6d 61 6e 5f  6d 6f 76 69 6e 67 5f 72  |set_man_moving_r|
00008cb0  69 67 68 74 0d 05 ef 0d  4d 4f 56 20 52 33 2c 23  |ight....MOV R3,#|
00008cc0  31 0d 05 f0 0e 4d 4f 56  20 52 34 2c 23 31 33 0d  |1....MOV R4,#13.|
00008cd0  05 f1 19 4d 4f 56 20 52  31 32 2c 23 28 36 34 30  |...MOV R12,#(640|
00008ce0  2a 28 56 25 2b 31 29 29  0d 05 f2 0d 4d 4f 56 20  |*(V%+1))....MOV |
00008cf0  52 35 2c 23 32 0d 05 f3  1e 4d 4f 56 20 52 36 2c  |R5,#2....MOV R6,|
00008d00  23 33 32 30 20 20 20 20  20 20 20 20 20 20 20 20  |#320            |
00008d10  20 20 20 0d 05 f4 12 42  4c 20 63 68 65 63 6b 5f  |   ....BL check_|
00008d20  65 64 67 65 73 0d 05 f5  18 42 20 6f 76 65 72 5f  |edges....B over_|
00008d30  6d 61 6e 5f 6d 6f 76 65  5f 64 6f 77 6e 0d 05 f6  |man_move_down...|
00008d40  18 2e 6f 76 65 72 5f 6d  61 6e 5f 6d 6f 76 65 5f  |..over_man_move_|
00008d50  72 69 67 68 74 0d 05 f7  0f 4d 4f 56 20 52 30 2c  |right....MOV R0,|
00008d60  23 26 37 39 0d 05 f8 16  4d 4f 56 20 52 31 2c 23  |#&79....MOV R1,#|
00008d70  28 32 35 20 82 20 26 38  30 29 0d 05 f9 11 53 57  |(25 . &80)....SW|
00008d80  49 20 22 4f 53 5f 42 79  74 65 22 0d 05 fa 0f 43  |I "OS_Byte"....C|
00008d90  4d 50 20 52 31 2c 23 26  46 46 0d 05 fb 1a 42 4e  |MP R1,#&FF....BN|
00008da0  45 20 6f 76 65 72 5f 6d  61 6e 5f 6d 6f 76 65 5f  |E over_man_move_|
00008db0  6c 65 66 74 0d 05 fc 1d  4d 4f 56 20 52 33 2c 23  |left....MOV R3,#|
00008dc0  32 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |2               |
00008dd0  20 0d 05 fd 1d 4d 4f 56  20 52 34 2c 23 31 33 20  | ....MOV R4,#13 |
00008de0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 0d 05  |              ..|
00008df0  fe 1d 4d 4f 56 20 52 31  32 2c 23 28 36 34 30 2a  |..MOV R12,#(640*|
00008e00  28 56 25 2b 31 29 29 20  20 20 20 0d 05 ff 1d 4d  |(V%+1))    ....M|
00008e10  4f 56 20 52 35 2c 23 32  20 20 20 20 20 20 20 20  |OV R5,#2        |
00008e20  20 20 20 20 20 20 20 20  0d 06 00 1d 4d 4f 56 20  |        ....MOV |
00008e30  52 36 2c 23 30 20 20 20  20 20 20 20 20 20 20 20  |R6,#0           |
00008e40  20 20 20 20 20 0d 06 01  12 42 4c 20 63 68 65 63  |     ....BL chec|
00008e50  6b 5f 65 64 67 65 73 0d  06 02 18 42 20 6f 76 65  |k_edges....B ove|
00008e60  72 5f 6d 61 6e 5f 6d 6f  76 65 5f 64 6f 77 6e 0d  |r_man_move_down.|
00008e70  06 03 17 2e 6f 76 65 72  5f 6d 61 6e 5f 6d 6f 76  |....over_man_mov|
00008e80  65 5f 6c 65 66 74 0d 06  04 0f 4d 4f 56 20 52 30  |e_left....MOV R0|
00008e90  2c 23 26 37 39 0d 06 05  16 4d 4f 56 20 52 31 2c  |,#&79....MOV R1,|
00008ea0  23 28 35 37 20 82 20 26  38 30 29 0d 06 06 11 53  |#(57 . &80)....S|
00008eb0  57 49 20 22 4f 53 5f 42  79 74 65 22 0d 06 07 0f  |WI "OS_Byte"....|
00008ec0  43 4d 50 20 52 31 2c 23  26 46 46 0d 06 08 18 42  |CMP R1,#&FF....B|
00008ed0  4e 45 20 6f 76 65 72 5f  6d 61 6e 5f 6d 6f 76 65  |NE over_man_move|
00008ee0  5f 75 70 0d 06 09 0d 4d  4f 56 20 52 33 2c 23 33  |_up....MOV R3,#3|
00008ef0  0d 06 0a 0e 4d 4f 56 20  52 34 2c 23 31 33 0d 06  |....MOV R4,#13..|
00008f00  0b 0e 4d 4f 56 20 52 31  32 2c 23 32 0d 06 0c 0d  |..MOV R12,#2....|
00008f10  4d 4f 56 20 52 35 2c 23  32 0d 06 0d 1e 4d 4f 56  |MOV R5,#2....MOV|
00008f20  20 52 36 2c 23 31 20 20  20 20 20 20 20 20 20 20  | R6,#1          |
00008f30  20 20 20 20 20 20 20 0d  06 0e 12 42 4c 20 63 68  |       ....BL ch|
00008f40  65 63 6b 5f 65 64 67 65  73 0d 06 0f 18 42 20 6f  |eck_edges....B o|
00008f50  76 65 72 5f 6d 61 6e 5f  6d 6f 76 65 5f 64 6f 77  |ver_man_move_dow|
00008f60  6e 0d 06 10 15 2e 6f 76  65 72 5f 6d 61 6e 5f 6d  |n.....over_man_m|
00008f70  6f 76 65 5f 75 70 0d 06  11 0f 4d 4f 56 20 52 30  |ove_up....MOV R0|
00008f80  2c 23 26 37 39 0d 06 12  16 4d 4f 56 20 52 31 2c  |,#&79....MOV R1,|
00008f90  23 28 34 31 20 82 20 26  38 30 29 0d 06 13 11 53  |#(41 . &80)....S|
00008fa0  57 49 20 22 4f 53 5f 42  79 74 65 22 0d 06 14 0f  |WI "OS_Byte"....|
00008fb0  43 4d 50 20 52 31 2c 23  26 46 46 0d 06 15 1a 42  |CMP R1,#&FF....B|
00008fc0  4e 45 20 6f 76 65 72 5f  6d 61 6e 5f 6d 6f 76 65  |NE over_man_move|
00008fd0  5f 64 6f 77 6e 0d 06 16  0d 4d 4f 56 20 52 33 2c  |_down....MOV R3,|
00008fe0  23 34 0d 06 17 0e 4d 4f  56 20 52 34 2c 23 31 33  |#4....MOV R4,#13|
00008ff0  0d 06 18 0e 4d 4f 56 20  52 31 32 2c 23 32 0d 06  |....MOV R12,#2..|
00009000  19 0d 4d 4f 56 20 52 35  2c 23 32 0d 06 1a 1e 4d  |..MOV R5,#2....M|
00009010  4f 56 20 52 36 2c 23 30  20 20 20 20 20 20 20 20  |OV R6,#0        |
00009020  20 20 20 20 20 20 20 20  20 0d 06 1b 12 42 4c 20  |         ....BL |
00009030  63 68 65 63 6b 5f 65 64  67 65 73 0d 06 1c 17 2e  |check_edges.....|
00009040  6f 76 65 72 5f 6d 61 6e  5f 6d 6f 76 65 5f 64 6f  |over_man_move_do|
00009050  77 6e 0d 06 1d 15 53 54  52 20 52 34 2c 5b 52 31  |wn....STR R4,[R1|
00009060  30 2c 23 26 31 34 5d 0d  06 1e 15 53 54 52 20 52  |0,#&14]....STR R|
00009070  33 2c 5b 52 31 30 2c 23  26 31 38 5d 0d 06 1f 14  |3,[R10,#&18]....|
00009080  2e 6e 6f 5f 6e 65 77 5f  6d 6f 76 65 6d 65 6e 74  |.no_new_movement|
00009090  0d 06 20 16 4c 44 52 20  52 31 35 2c 5b 52 31 30  |.. .LDR R15,[R10|
000090a0  2c 23 26 35 38 5d 0d 06  21 14 2e 6d 61 6e 5f 6d  |,#&58]..!..man_m|
000090b0  6f 76 69 6e 67 5f 6c 6f  6f 70 0d 06 22 15 4c 44  |oving_loop..".LD|
000090c0  52 20 52 34 2c 5b 52 31  30 2c 23 26 31 34 5d 0d  |R R4,[R10,#&14].|
000090d0  06 23 0d 43 4d 50 20 52  34 2c 23 30 0d 06 24 12  |.#.CMP R4,#0..$.|
000090e0  53 55 42 4e 45 20 52 34  2c 52 34 2c 23 31 0d 06  |SUBNE R4,R4,#1..|
000090f0  25 15 53 54 52 20 52 34  2c 5b 52 31 30 2c 23 26  |%.STR R4,[R10,#&|
00009100  31 34 5d 0d 06 26 0d ec  51 20 52 34 2c 23 35 33  |14]..&..Q R4,#53|
00009110  0d 06 27 0d ec 51 20 52  35 2c 23 35 33 0d 06 28  |..'..Q R5,#53..(|
00009120  19 4c 44 52 45 51 20 52  38 2c 5b 52 31 30 2c 23  |.LDREQ R8,[R10,#|
00009130  26 43 5d 20 20 20 0d 06  29 19 4c 44 52 45 51 20  |&C]   ..).LDREQ |
00009140  52 39 2c 5b 52 31 30 2c  23 26 31 30 5d 20 20 0d  |R9,[R10,#&10]  .|
00009150  06 2a 19 42 45 51 20 6f  75 74 5f 6d 61 6e 5f 6d  |.*.BEQ out_man_m|
00009160  6f 76 65 6d 65 6e 74 20  0d 06 2b 18 43 4d 50 20  |ovement ..+.CMP |
00009170  52 34 2c 23 31 32 20 20  20 20 20 20 20 20 20 20  |R4,#12          |
00009180  0d 06 2c 15 ec 51 20 52  37 2c 23 30 20 20 20 20  |..,..Q R7,#0    |
00009190  20 20 20 20 20 0d 06 2d  0f 4d 4f 56 4e 45 20 52  |     ..-.MOVNE R|
000091a0  37 2c 23 34 0d 06 2e 1c  42 4e 45 20 6f 76 65 72  |7,#4....BNE over|
000091b0  5f 6d 61 6e 73 5f 66 69  72 73 74 5f 6d 6f 76 65  |_mans_first_move|
000091c0  0d 06 2f 18 4c 44 52 20  52 33 2c 5b 52 31 30 2c  |../.LDR R3,[R10,|
000091d0  23 26 31 38 5d 20 20 20  0d 06 30 18 4c 44 52 42  |#&18]   ..0.LDRB|
000091e0  20 52 38 2c 5b 52 31 30  2c 23 26 33 30 5d 20 20  | R8,[R10,#&30]  |
000091f0  0d 06 31 18 4c 44 52 42  20 52 39 2c 5b 52 31 30  |..1.LDRB R9,[R10|
00009200  2c 23 26 33 31 5d 20 20  0d 06 32 0d 43 4d 50 20  |,#&31]  ..2.CMP |
00009210  52 33 2c 23 31 0d 06 33  12 41 44 44 45 51 20 52  |R3,#1..3.ADDEQ R|
00009220  38 2c 52 38 2c 23 31 0d  06 34 0d 43 4d 50 20 52  |8,R8,#1..4.CMP R|
00009230  33 2c 23 32 0d 06 35 12  53 55 42 45 51 20 52 38  |3,#2..5.SUBEQ R8|
00009240  2c 52 38 2c 23 31 0d 06  36 0d 43 4d 50 20 52 33  |,R8,#1..6.CMP R3|
00009250  2c 23 33 0d 06 37 12 41  44 44 45 51 20 52 39 2c  |,#3..7.ADDEQ R9,|
00009260  52 39 2c 23 31 0d 06 38  0d 43 4d 50 20 52 33 2c  |R9,#1..8.CMP R3,|
00009270  23 34 0d 06 39 12 53 55  42 45 51 20 52 39 2c 52  |#4..9.SUBEQ R9,R|
00009280  39 2c 23 31 0d 06 3a 18  53 54 52 42 20 52 38 2c  |9,#1..:.STRB R8,|
00009290  5b 52 31 30 2c 23 26 33  32 5d 20 20 0d 06 3b 18  |[R10,#&32]  ..;.|
000092a0  53 54 52 42 20 52 39 2c  5b 52 31 30 2c 23 26 33  |STRB R9,[R10,#&3|
000092b0  33 5d 20 20 0d 06 3c 19  2e 6f 76 65 72 5f 6d 61  |3]  ..<..over_ma|
000092c0  6e 73 5f 66 69 72 73 74  5f 6d 6f 76 65 0d 06 3d  |ns_first_move..=|
000092d0  0d 43 4d 50 20 52 34 2c  23 30 0d 06 3e 15 ec 51  |.CMP R4,#0..>..Q|
000092e0  20 52 34 2c 23 35 36 20  20 20 20 20 20 20 20 0d  | R4,#56        .|
000092f0  06 3f 1b 42 4e 45 20 6f  76 65 72 5f 6d 61 6e 73  |.?.BNE over_mans|
00009300  5f 6c 61 73 74 5f 6d 6f  76 65 0d 06 40 18 4c 44  |_last_move..@.LD|
00009310  52 42 20 52 38 2c 5b 52  31 30 2c 23 26 33 32 5d  |RB R8,[R10,#&32]|
00009320  20 20 0d 06 41 18 4c 44  52 42 20 52 39 2c 5b 52  |  ..A.LDRB R9,[R|
00009330  31 30 2c 23 26 33 33 5d  20 20 0d 06 42 18 53 54  |10,#&33]  ..B.ST|
00009340  52 42 20 52 38 2c 5b 52  31 30 2c 23 26 33 30 5d  |RB R8,[R10,#&30]|
00009350  20 20 0d 06 43 18 53 54  52 42 20 52 39 2c 5b 52  |  ..C.STRB R9,[R|
00009360  31 30 2c 23 26 33 31 5d  20 20 0d 06 44 18 2e 6f  |10,#&31]  ..D..o|
00009370  76 65 72 5f 6d 61 6e 73  5f 6c 61 73 74 5f 6d 6f  |ver_mans_last_mo|
00009380  76 65 0d 06 45 18 42 45  51 20 6f 76 65 72 6c 6f  |ve..E.BEQ overlo|
00009390  61 64 5f 6d 61 6e 74 79  70 65 0d 06 46 15 4c 44  |ad_mantype..F.LD|
000093a0  52 20 52 34 2c 5b 52 31  30 2c 23 26 31 43 5d 0d  |R R4,[R10,#&1C].|
000093b0  06 47 15 2e 6f 76 65 72  6c 6f 61 64 5f 6d 61 6e  |.G..overload_man|
000093c0  74 79 70 65 0d 06 48 10  41 44 44 20 52 34 2c 52  |type..H.ADD R4,R|
000093d0  34 2c 23 31 0d 06 49 0e  43 4d 50 20 52 34 2c 23  |4,#1..I.CMP R4,#|
000093e0  35 37 0d 06 4a 0d ec 51  20 52 34 2c 23 34 39 0d  |57..J..Q R4,#49.|
000093f0  06 4b 15 53 54 52 20 52  34 2c 5b 52 31 30 2c 23  |.K.STR R4,[R10,#|
00009400  26 31 43 5d 0d 06 4c 14  4c 44 52 20 52 38 2c 5b  |&1C]..L.LDR R8,[|
00009410  52 31 30 2c 23 26 43 5d  0d 06 4d 15 4c 44 52 20  |R10,#&C]..M.LDR |
00009420  52 39 2c 5b 52 31 30 2c  23 26 31 30 5d 0d 06 4e  |R9,[R10,#&10]..N|
00009430  15 4c 44 52 20 52 33 2c  5b 52 31 30 2c 23 26 31  |.LDR R3,[R10,#&1|
00009440  38 5d 0d 06 4f 0d 43 4d  50 20 52 33 2c 23 31 0d  |8]..O.CMP R3,#1.|
00009450  06 50 12 41 44 44 45 51  20 52 38 2c 52 38 2c 52  |.P.ADDEQ R8,R8,R|
00009460  37 0d 06 51 15 ec 51 20  52 35 2c 23 34 39 20 20  |7..Q..Q R5,#49  |
00009470  20 20 20 20 20 20 0d 06  52 0d 43 4d 50 20 52 33  |      ..R.CMP R3|
00009480  2c 23 32 0d 06 53 12 53  55 42 45 51 20 52 38 2c  |,#2..S.SUBEQ R8,|
00009490  52 38 2c 52 37 0d 06 54  0d ec 51 20 52 35 2c 23  |R8,R7..T..Q R5,#|
000094a0  35 30 0d 06 55 0d 43 4d  50 20 52 33 2c 23 33 0d  |50..U.CMP R3,#3.|
000094b0  06 56 12 41 44 44 45 51  20 52 39 2c 52 39 2c 52  |.V.ADDEQ R9,R9,R|
000094c0  37 0d 06 57 0d ec 51 20  52 35 2c 23 35 31 0d 06  |7..W..Q R5,#51..|
000094d0  58 0d 43 4d 50 20 52 33  2c 23 34 0d 06 59 12 53  |X.CMP R3,#4..Y.S|
000094e0  55 42 45 51 20 52 39 2c  52 39 2c 52 37 0d 06 5a  |UBEQ R9,R9,R7..Z|
000094f0  0d ec 51 20 52 35 2c 23  35 32 0d 06 5b 15 2e 6f  |..Q R5,#52..[..o|
00009500  75 74 5f 6d 61 6e 5f 6d  6f 76 65 6d 65 6e 74 0d  |ut_man_movement.|
00009510  06 5c 15 41 44 52 20 52  36 2c 6d 61 6e 5f 73 70  |.\.ADR R6,man_sp|
00009520  72 69 74 65 0d 06 5d 13  53 54 52 42 20 52 35 2c  |rite..].STRB R5,|
00009530  5b 52 36 2c 23 33 5d 0d  06 5e 13 53 54 52 42 20  |[R6,#3]..^.STRB |
00009540  52 34 2c 5b 52 36 2c 23  34 5d 0d 06 5f 14 53 54  |R4,[R6,#4].._.ST|
00009550  52 20 52 38 2c 5b 52 31  30 2c 23 26 43 5d 0d 06  |R R8,[R10,#&C]..|
00009560  60 15 53 54 52 20 52 39  2c 5b 52 31 30 2c 23 26  |`.STR R9,[R10,#&|
00009570  31 30 5d 0d 06 61 0f 4d  4f 56 20 52 30 2c 23 26  |10]..a.MOV R0,#&|
00009580  33 34 0d 06 62 1e 41 44  44 20 52 30 2c 52 30 2c  |34..b.ADD R0,R0,|
00009590  23 26 31 30 30 20 20 20  20 20 20 20 20 20 20 20  |#&100           |
000095a0  0d 06 63 1e 4d 4f 56 20  52 31 2c 52 31 31 20 20  |..c.MOV R1,R11  |
000095b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 0d 06  |              ..|
000095c0  64 1e 41 44 52 20 52 32  2c 6d 61 6e 5f 73 70 72  |d.ADR R2,man_spr|
000095d0  69 74 65 20 20 20 20 20  20 20 20 20 0d 06 65 1e  |ite         ..e.|
000095e0  4d 4f 56 20 52 33 2c 52  38 20 20 20 20 20 20 20  |MOV R3,R8       |
000095f0  20 20 20 20 20 20 20 20  20 20 0d 06 66 1e 4d 4f  |          ..f.MO|
00009600  56 20 52 34 2c 52 39 20  20 20 20 20 20 20 20 20  |V R4,R9         |
00009610  20 20 20 20 20 20 20 20  0d 06 67 1e 4d 4f 56 20  |        ..g.MOV |
00009620  52 35 2c 23 26 38 20 20  20 20 20 20 20 20 20 20  |R5,#&8          |
00009630  20 20 20 20 20 20 0d 06  68 1e 41 44 52 20 52 36  |      ..h.ADR R6|
00009640  2c 6d 61 6e 5f 73 63 61  6c 65 20 20 20 20 20 20  |,man_scale      |
00009650  20 20 20 20 0d 06 69 1e  4d 4f 56 20 52 37 2c 23  |    ..i.MOV R7,#|
00009660  30 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |0               |
00009670  20 20 0d 06 6a 15 53 57  49 20 22 4f 53 5f 53 70  |  ..j.SWI "OS_Sp|
00009680  72 69 74 65 4f 70 22 0d  06 6b 0f 4d 4f 56 20 52  |riteOp"..k.MOV R|
00009690  31 35 2c 52 31 34 0d 06  6c 0f 2e 6d 61 6e 5f 73  |15,R14..l..man_s|
000096a0  70 72 69 74 65 0d 06 6d  0e 45 51 55 53 20 22 6d  |prite..m.EQUS "m|
000096b0  61 6e 22 0d 06 6e 0b 45  51 55 42 20 34 39 0d 06  |an"..n.EQUB 49..|
000096c0  6f 0a 45 51 55 42 20 30  0d 06 70 0a 45 51 55 42  |o.EQUB 0..p.EQUB|
000096d0  20 30 0d 06 71 0a 45 51  55 42 20 30 0d 06 72 09  | 0..q.EQUB 0..r.|
000096e0  41 4c 49 47 4e 0d 06 73  0e 2e 6d 61 6e 5f 73 63  |ALIGN..s..man_sc|
000096f0  61 6c 65 0d 06 74 0a 45  51 55 44 20 31 0d 06 75  |ale..t.EQUD 1..u|
00009700  0d 45 51 55 44 20 31 2b  56 25 0d 06 76 0a 45 51  |.EQUD 1+V%..v.EQ|
00009710  55 44 20 31 0d 06 77 0a  45 51 55 44 20 31 0d 06  |UD 1..w.EQUD 1..|
00009720  78 11 2e 65 6e 64 5f 6f  66 5f 63 6f 64 65 32 0d  |x..end_of_code2.|
00009730  06 79 05 5d 0d 06 7a 05  ed 0d 06 7b 0c 2a 46 58  |.y.]..z....{.*FX|
00009740  31 31 32 2c 31 0d 06 7c  0c 2a 46 58 31 31 33 2c  |112,1..|.*FX113,|
00009750  31 0d 06 7d 05 e1 0d 06  7e 17 dd f2 70 75 6c 6c  |1..}....~...pull|
00009760  5f 70 61 63 5f 63 6f 64  65 5f 76 61 72 0d 06 7f  |_pac_code_var...|
00009770  18 6d 61 69 6e 25 3d 21  28 6d 5f 63 6f 64 65 32  |.main%=!(m_code2|
00009780  25 2b 26 30 29 0d 06 80  19 61 6c 69 65 6e 25 3d  |%+&0)....alien%=|
00009790  21 28 6d 5f 63 6f 64 65  32 25 2b 26 34 29 0d 06  |!(m_code2%+&4)..|
000097a0  81 19 61 70 70 6c 65 25  3d 21 28 6d 5f 63 6f 64  |..apple%=!(m_cod|
000097b0  65 32 25 2b 26 38 29 0d  06 82 19 72 61 69 6e 25  |e2%+&8)....rain%|
000097c0  3d 21 28 6d 5f 63 6f 64  65 32 25 2b 26 34 34 29  |=!(m_code2%+&44)|
000097d0  0d 06 83 1d 72 61 69 6e  5f 76 67 61 25 3d 21 28  |....rain_vga%=!(|
000097e0  6d 5f 63 6f 64 65 32 25  2b 26 34 38 29 0d 06 84  |m_code2%+&48)...|
000097f0  1c 74 65 73 74 69 6e 67  25 3d 21 28 6d 5f 63 6f  |.testing%=!(m_co|
00009800  64 65 32 25 2b 26 33 43  29 0d 06 85 05 e1 0d 06  |de2%+&3C).......|
00009810  86 10 dd f2 73 65 74 5f  73 63 72 65 65 6e 0d 06  |....set_screen..|
00009820  87 15 f2 63 6c 65 61 72  3a f2 63 6c 65 61 72 5f  |...clear:.clear_|
00009830  74 6f 70 0d 06 88 16 e7  73 65 6c 5f 73 70 72 69  |top.....sel_spri|
00009840  74 65 24 3c 3e 22 22 20  8c 0d 06 89 20 ef 34 3a  |te$<>"" .... .4:|
00009850  fb 33 3a f1 8a 35 36 2c  31 29 3b 73 65 6c 5f 73  |.3:..56,1);sel_s|
00009860  70 72 69 74 65 24 3a ef  35 0d 06 8a 46 c8 99 22  |prite$:.5...F.."|
00009870  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 26 31 32  |OS_SpriteOp",&12|
00009880  38 2c 73 70 72 69 74 65  5f 61 72 65 61 31 25 2c  |8,sprite_area1%,|
00009890  73 65 6c 5f 73 70 72 69  74 65 24 20 b8 20 2c 2c  |sel_sprite$ . ,,|
000098a0  2c 77 69 64 74 68 25 2c  68 65 69 67 68 74 25 0d  |,width%,height%.|
000098b0  06 8b 3b f2 70 6c 6f 74  5f 73 70 72 69 74 65 28  |..;.plot_sprite(|
000098c0  31 31 35 30 2c 39 36 30  2c 36 30 2c 31 36 2c 77  |1150,960,60,16,w|
000098d0  69 64 74 68 25 2c 68 65  69 67 68 74 25 2c 73 65  |idth%,height%,se|
000098e0  6c 5f 73 70 72 69 74 65  24 29 0d 06 8c 05 cd 0d  |l_sprite$)......|
000098f0  06 8d 29 ef 32 33 2c 31  32 38 2c 32 35 35 2c 32  |..).23,128,255,2|
00009900  35 35 2c 32 35 35 2c 32  35 35 2c 32 35 35 2c 32  |55,255,255,255,2|
00009910  35 35 2c 32 35 35 2c 30  0d 06 8e 3c e3 66 25 3d  |55,255,0...<.f%=|
00009920  30 b8 31 35 3a 66 24 3d  c3 28 66 25 29 2b bd 28  |0.15:f$=.(f%)+.(|
00009930  31 32 38 29 2b bd 28 31  32 38 29 3a ec 36 34 2a  |128)+.(128):.64*|
00009940  66 25 2c 31 30 32 32 3a  e6 30 2c 66 25 3a f1 3b  |f%,1022:.0,f%:.;|
00009950  66 24 3a ed 0d 06 8f 05  e1 0d 06 90 13 dd a4 63  |f$:............c|
00009960  6f 75 6e 74 5f 73 70 72  69 74 65 73 0d 06 91 2b  |ount_sprites...+|
00009970  c8 99 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |.."OS_SpriteOp",|
00009980  26 31 30 38 2c 73 61 31  25 20 b8 20 72 30 2c 72  |&108,sa1% . r0,r|
00009990  31 2c 72 32 2c 72 33 0d  06 92 07 3d 72 33 0d 06  |1,r2,r3....=r3..|
000099a0  93 18 dd a4 73 70 72 69  74 65 5f 64 61 74 61 28  |....sprite_data(|
000099b0  6e 61 6d 65 24 29 0d 06  94 3a c8 99 22 4f 53 5f  |name$)...:.."OS_|
000099c0  53 70 72 69 74 65 4f 70  22 2c 26 31 31 38 2c 73  |SpriteOp",&118,s|
000099d0  70 72 69 74 65 5f 61 72  65 61 31 25 2c 6e 61 6d  |prite_area1%,nam|
000099e0  65 24 20 b8 20 72 30 25  2c 72 31 25 2c 72 32 25  |e$ . r0%,r1%,r2%|
000099f0  0d 06 95 13 73 70 72 69  74 65 5f 6f 6e 65 25 3d  |....sprite_one%=|
00009a00  72 32 25 0d 06 96 13 3d  73 70 72 69 74 65 5f 6f  |r2%....=sprite_o|
00009a10  6e 65 25 2b 34 34 0d 06  97 1f dd a4 73 70 72 69  |ne%+44......spri|
00009a20  74 65 5f 73 69 7a 65 28  73 70 72 69 74 65 5f 61  |te_size(sprite_a|
00009a30  72 65 61 25 29 0d 06 98  38 c8 99 22 4f 53 5f 53  |rea%)...8.."OS_S|
00009a40  70 72 69 74 65 4f 70 22  2c 26 31 31 38 2c 73 70  |priteOp",&118,sp|
00009a50  72 69 74 65 5f 61 72 65  61 25 2c 22 73 31 22 20  |rite_area%,"s1" |
00009a60  b8 20 72 30 25 2c 72 31  25 2c 72 32 25 0d 06 99  |. r0%,r1%,r2%...|
00009a70  13 73 70 72 69 74 65 5f  6f 6e 65 25 3d 72 32 25  |.sprite_one%=r2%|
00009a80  0d 06 9a 13 3d 21 28 73  70 72 69 74 65 5f 6f 6e  |....=!(sprite_on|
00009a90  65 25 29 0d 06 9b 11 dd  f2 74 65 73 74 5f 74 61  |e%)......test_ta|
00009aa0  62 6c 65 73 0d 06 9c 0c  2a 66 78 31 31 33 2c 31  |bles....*fx113,1|
00009ab0  0d 06 9d 0c 2a 66 78 31  31 32 2c 31 0d 06 9e 11  |....*fx112,1....|
00009ac0  e7 72 65 73 5f 78 25 3c  36 34 30 20 8c 0d 06 9f  |.res_x%<640 ....|
00009ad0  23 74 61 62 5f 78 25 3d  72 65 73 5f 78 25 2b 31  |#tab_x%=res_x%+1|
00009ae0  30 30 3a 74 61 62 5f 79  25 3d 72 65 73 5f 79 25  |00:tab_y%=res_y%|
00009af0  0d 06 a0 05 cc 0d 06 a1  23 74 61 62 5f 78 25 3d  |........#tab_x%=|
00009b00  72 65 73 5f 78 25 2d 34  30 30 3a 74 61 62 5f 79  |res_x%-400:tab_y|
00009b10  25 3d 72 65 73 5f 79 25  0d 06 a2 05 cd 0d 06 a3  |%=res_y%........|
00009b20  42 c8 99 22 4f 53 5f 53  70 72 69 74 65 4f 70 22  |B.."OS_SpriteOp"|
00009b30  2c 26 31 31 30 2c 73 70  72 69 74 65 5f 61 72 65  |,&110,sprite_are|
00009b40  61 31 25 2c 22 74 61 62  5f 62 6c 61 6e 6b 22 2c  |a1%,"tab_blank",|
00009b50  30 2c 32 30 2c 32 30 2c  38 34 30 2c 31 38 30 0d  |0,20,20,840,180.|
00009b60  06 a4 18 f2 62 6f 78 32  28 32 38 2c 32 38 2c 38  |....box2(28,28,8|
00009b70  30 30 2c 31 34 30 29 0d  06 a5 22 f2 70 72 69 28  |00,140)...".pri(|
00009b80  36 30 2c 31 31 32 2c 22  4d 69 73 73 69 6e 67 20  |60,112,"Missing |
00009b90  6e 75 6d 62 65 72 3f 22  29 0d 06 a6 1a e7 20 66  |number?")..... f|
00009ba0  69 72 73 74 5f 6f 72 5f  73 65 63 6f 6e 64 25 3d  |irst_or_second%=|
00009bb0  31 20 8c 0d 06 a7 37 74  61 62 6c 65 73 24 3d c3  |1 ....7tables$=.|
00009bc0  28 74 61 62 6c 65 73 25  28 62 6f 6d 25 2c 31 29  |(tables%(bom%,1)|
00009bd0  29 2b 22 78 6b 3d 22 2b  c3 28 74 61 62 6c 65 73  |)+"xk="+.(tables|
00009be0  25 28 62 6f 6d 25 2c 33  29 29 0d 06 a8 05 cc 0d  |%(bom%,3))......|
00009bf0  06 a9 3a 74 61 62 6c 65  73 24 3d 22 6b 78 22 2b  |..:tables$="kx"+|
00009c00  c3 28 74 61 62 6c 65 73  25 28 62 6f 6d 25 2c 32  |.(tables%(bom%,2|
00009c10  29 29 2b 22 3d 22 2b c3  28 74 61 62 6c 65 73 25  |))+"="+.(tables%|
00009c20  28 62 6f 6d 25 2c 33 29  29 0d 06 aa 05 cd 0d 06  |(bom%,3)).......|
00009c30  ab 25 f2 70 6c 6f 74 5f  6e 75 6d 62 65 72 73 32  |.%.plot_numbers2|
00009c40  28 34 36 30 2c 31 30 32  2c 35 2c 74 61 62 6c 65  |(460,102,5,table|
00009c50  73 24 29 0d 06 ac 3c e3  66 25 3d 30 20 b8 20 31  |s$)...<.f%=0 . 1|
00009c60  34 3a f2 70 6c 6f 74 5f  73 70 72 69 74 65 28 38  |4:.plot_sprite(8|
00009c70  30 2b 66 25 2a 34 36 2c  33 32 2c 31 2c 31 2c 31  |0+f%*46,32,1,1,1|
00009c80  2c 31 2c c3 28 66 25 29  2b 22 6f 22 29 3a ed 0d  |,1,.(f%)+"o"):..|
00009c90  06 ad 2d f2 70 6c 6f 74  5f 73 70 72 69 74 65 28  |..-.plot_sprite(|
00009ca0  38 30 2b 31 2a 34 36 2c  33 32 2c 31 2c 31 2c 31  |80+1*46,32,1,1,1|
00009cb0  2c 31 2c c3 28 31 29 2b  22 6e 22 29 0d 06 ae 1b  |,1,.(1)+"n")....|
00009cc0  70 6f 69 6e 74 65 72 25  3d 31 3a 6f 75 74 25 3d  |pointer%=1:out%=|
00009cd0  30 3a 67 6f 25 3d 30 0d  06 af 05 f5 0d 06 b0 28  |0:go%=0........(|
00009ce0  c8 99 22 4f 53 5f 42 79  74 65 22 2c 26 37 39 2c  |.."OS_Byte",&79,|
00009cf0  28 32 35 20 82 20 26 38  30 29 20 b8 20 72 30 2c  |(25 . &80) . r0,|
00009d00  79 65 73 25 0d 06 b1 35  e7 20 79 65 73 25 3d 26  |yes%...5. yes%=&|
00009d10  46 46 20 80 20 70 6f 69  6e 74 65 72 25 3e 31 3a  |FF . pointer%>1:|
00009d20  70 6f 69 6e 74 65 72 25  3d 70 6f 69 6e 74 65 72  |pointer%=pointer|
00009d30  25 2d 31 3a 67 6f 25 3d  31 0d 06 b2 29 c8 99 22  |%-1:go%=1...).."|
00009d40  4f 53 5f 42 79 74 65 22  2c 26 37 39 2c 28 31 32  |OS_Byte",&79,(12|
00009d50  31 20 82 20 26 38 30 29  20 b8 20 72 30 2c 79 65  |1 . &80) . r0,ye|
00009d60  73 25 0d 06 b3 36 e7 20  79 65 73 25 3d 26 46 46  |s%...6. yes%=&FF|
00009d70  20 80 20 70 6f 69 6e 74  65 72 25 3c 31 32 3a 70  | . pointer%<12:p|
00009d80  6f 69 6e 74 65 72 25 3d  70 6f 69 6e 74 65 72 25  |ointer%=pointer%|
00009d90  2b 31 3a 67 6f 25 3d 31  0d 06 b4 28 c8 99 22 4f  |+1:go%=1...(.."O|
00009da0  53 5f 42 79 74 65 22 2c  26 37 39 2c 28 37 33 20  |S_Byte",&79,(73 |
00009db0  82 20 26 38 30 29 20 b8  20 72 30 2c 79 65 73 25  |. &80) . r0,yes%|
00009dc0  0d 06 b5 15 e7 20 79 65  73 25 3d 26 46 46 20 6f  |..... yes%=&FF o|
00009dd0  75 74 25 3d 31 0d 06 b6  22 54 24 3d a4 70 72 69  |ut%=1..."T$=.pri|
00009de0  6e 74 5f 74 69 6d 65 72  28 74 78 32 25 2c 74 79  |nt_timer(tx2%,ty|
00009df0  32 25 2c 33 2c 31 29 0d  06 b7 0c e7 67 6f 25 3d  |2%,3,1).....go%=|
00009e00  31 20 8c 0d 06 b8 19 f2  63 61 63 68 65 73 6f 75  |1 ......cachesou|
00009e10  6e 64 28 22 70 6c 6f 70  22 2c 31 29 0d 06 b9 10  |nd("plop",1)....|
00009e20  d4 20 31 2c 26 31 37 46  2c 31 2c 31 0d 06 ba 3b  |. 1,&17F,1,1...;|
00009e30  f2 70 6c 6f 74 5f 73 70  72 69 74 65 28 38 30 2b  |.plot_sprite(80+|
00009e40  70 6f 69 6e 74 65 72 25  2a 34 36 2c 33 32 2c 31  |pointer%*46,32,1|
00009e50  2c 31 2c 31 2c 31 2c c3  28 70 6f 69 6e 74 65 72  |,1,1,1,.(pointer|
00009e60  25 29 2b 22 6e 22 29 0d  06 bb 41 f2 70 6c 6f 74  |%)+"n")...A.plot|
00009e70  5f 73 70 72 69 74 65 28  38 30 2b 28 70 6f 69 6e  |_sprite(80+(poin|
00009e80  74 65 72 25 2d 31 29 2a  34 36 2c 33 32 2c 31 2c  |ter%-1)*46,32,1,|
00009e90  31 2c 31 2c 31 2c c3 28  70 6f 69 6e 74 65 72 25  |1,1,1,.(pointer%|
00009ea0  2d 31 29 2b 22 6f 22 29  0d 06 bc 41 f2 70 6c 6f  |-1)+"o")...A.plo|
00009eb0  74 5f 73 70 72 69 74 65  28 38 30 2b 28 70 6f 69  |t_sprite(80+(poi|
00009ec0  6e 74 65 72 25 2b 31 29  2a 34 36 2c 33 32 2c 31  |nter%+1)*46,32,1|
00009ed0  2c 31 2c 31 2c 31 2c c3  28 70 6f 69 6e 74 65 72  |,1,1,1,.(pointer|
00009ee0  25 2b 31 29 2b 22 6f 22  29 0d 06 bd 14 f2 70 61  |%+1)+"o").....pa|
00009ef0  75 73 65 28 32 30 29 3a  67 6f 25 3d 30 0d 06 be  |use(20):go%=0...|
00009f00  05 cd 0d 06 bf 0d e7 6f  75 74 25 3d 31 20 8c 0d  |.......out%=1 ..|
00009f10  06 c0 1b f2 63 61 63 68  65 73 6f 75 6e 64 28 22  |....cachesound("|
00009f20  77 72 6f 6e 67 32 22 2c  31 29 0d 06 c1 1a e7 20  |wrong2",1)..... |
00009f30  66 69 72 73 74 5f 6f 72  5f 73 65 63 6f 6e 64 25  |first_or_second%|
00009f40  3d 31 20 8c 0d 06 c2 31  e7 20 70 6f 69 6e 74 65  |=1 ....1. pointe|
00009f50  72 25 3c 3e 74 61 62 6c  65 73 25 28 62 6f 6d 25  |r%<>tables%(bom%|
00009f60  2c 32 29 20 6f 75 74 25  3d 30 3a d4 31 2c 2d 31  |,2) out%=0:.1,-1|
00009f70  35 2c 31 2c 31 0d 06 c3  05 cc 0d 06 c4 31 e7 20  |5,1,1........1. |
00009f80  70 6f 69 6e 74 65 72 25  3c 3e 74 61 62 6c 65 73  |pointer%<>tables|
00009f90  25 28 62 6f 6d 25 2c 31  29 20 6f 75 74 25 3d 30  |%(bom%,1) out%=0|
00009fa0  3a d4 31 2c 2d 31 35 2c  31 2c 31 0d 06 c5 05 cd  |:.1,-15,1,1.....|
00009fb0  0d 06 c6 0e f2 70 61 75  73 65 28 33 30 29 0d 06  |.....pause(30)..|
00009fc0  c7 05 cd 0d 06 c8 15 fd  20 6f 75 74 25 3d 31 20  |........ out%=1 |
00009fd0  84 20 54 24 3d 22 30 22  0d 06 c9 18 f2 63 61 63  |. T$="0".....cac|
00009fe0  68 65 73 6f 75 6e 64 28  22 6f 6b 32 22 2c 31 29  |hesound("ok2",1)|
00009ff0  0d 06 ca 10 d4 20 31 2c  26 31 37 46 2c 31 2c 31  |..... 1,&17F,1,1|
0000a000  0d 06 cb 4c 74 61 62 6c  65 73 24 3d c3 28 74 61  |...Ltables$=.(ta|
0000a010  62 6c 65 73 25 28 62 6f  6d 25 2c 31 29 29 2b 22  |bles%(bom%,1))+"|
0000a020  78 22 2b c3 28 74 61 62  6c 65 73 25 28 62 6f 6d  |x"+.(tables%(bom|
0000a030  25 2c 32 29 29 2b 22 3d  22 2b c3 28 74 61 62 6c  |%,2))+"="+.(tabl|
0000a040  65 73 25 28 62 6f 6d 25  2c 33 29 29 0d 06 cc 25  |es%(bom%,3))...%|
0000a050  f2 70 6c 6f 74 5f 6e 75  6d 62 65 72 73 32 28 34  |.plot_numbers2(4|
0000a060  36 30 2c 31 30 32 2c 35  2c 74 61 62 6c 65 73 24  |60,102,5,tables$|
0000a070  29 0d 06 cd 0f f2 70 61  75 73 65 28 31 30 30 29  |).....pause(100)|
0000a080  0d 06 ce 17 73 70 65 63  69 61 6c 25 3d 73 70 65  |....special%=spe|
0000a090  63 69 61 6c 25 2d 31 0d  06 cf 11 21 28 73 63 61  |cial%-1....!(sca|
0000a0a0  6c 65 25 2b 30 29 3d 31  0d 06 d0 11 21 28 73 63  |le%+0)=1....!(sc|
0000a0b0  61 6c 65 25 2b 34 29 3d  31 0d 06 d1 11 21 28 73  |ale%+4)=1....!(s|
0000a0c0  63 61 6c 65 25 2b 38 29  3d 31 0d 06 d2 12 21 28  |cale%+8)=1....!(|
0000a0d0  73 63 61 6c 65 25 2b 31  32 29 3d 31 0d 06 d3 3a  |scale%+12)=1...:|
0000a0e0  c8 99 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |.."OS_SpriteOp",|
0000a0f0  26 31 33 34 2c 73 61 31  25 2c 22 74 61 62 5f 62  |&134,sa1%,"tab_b|
0000a100  6c 61 6e 6b 22 2c 32 30  2c 32 30 2c 30 2c 73 63  |lank",20,20,0,sc|
0000a110  61 6c 65 25 2c 30 0d 06  d4 1f f2 63 61 63 68 65  |ale%,0.....cache|
0000a120  73 6f 75 6e 64 28 22 61  6c 69 65 6e 73 6e 65 61  |sound("aliensnea|
0000a130  72 22 2c 31 29 0d 06 d5  05 e1 0d 06 d6 12 dd f2  |r",1)...........|
0000a140  69 6e 74 69 67 65 72 5f  69 63 6e 73 0d 06 d7 0e  |intiger_icns....|
0000a150  e3 66 25 3d 30 20 b8 20  31 32 0d 06 d8 39 e7 28  |.f%=0 . 12...9.(|
0000a160  55 25 20 80 20 28 31 3c  3c 66 25 29 29 3d 28 31  |U% . (1<<f%))=(1|
0000a170  3c 3c 66 25 29 20 66 69  72 73 74 6e 25 28 66 25  |<<f%) firstn%(f%|
0000a180  29 3d 31 20 8b 20 66 69  72 73 74 6e 25 28 66 25  |)=1 . firstn%(f%|
0000a190  29 3d 30 0d 06 d9 05 ed  0d 06 da 0e e3 66 25 3d  |)=0..........f%=|
0000a1a0  30 20 b8 20 31 32 0d 06  db 3b e7 28 57 25 20 80  |0 . 12...;.(W% .|
0000a1b0  20 28 31 3c 3c 66 25 29  29 3d 28 31 3c 3c 66 25  | (1<<f%))=(1<<f%|
0000a1c0  29 20 73 65 63 6f 6e 64  6e 25 28 66 25 29 3d 31  |) secondn%(f%)=1|
0000a1d0  20 8b 20 73 65 63 6f 6e  64 6e 25 28 66 25 29 3d  | . secondn%(f%)=|
0000a1e0  30 0d 06 dc 05 ed 0d 06  dd 31 e7 28 57 25 20 80  |0........1.(W% .|
0000a1f0  20 28 31 3c 3c 31 33 29  29 3d 28 31 3c 3c 31 33  | (1<<13))=(1<<13|
0000a200  29 20 6d 69 78 65 64 6e  25 3d 31 20 8b 20 6d 69  |) mixedn%=1 . mi|
0000a210  78 65 64 6e 25 3d 30 0d  06 de 05 e1 0d 06 df 13  |xedn%=0.........|
0000a220  dd f2 73 65 74 5f 74 61  62 6c 65 5f 6f 6e 65 0d  |..set_table_one.|
0000a230  06 e0 11 f2 69 6e 74 69  67 65 72 5f 69 63 6e 73  |....intiger_icns|
0000a240  0d 06 e1 0f f2 63 6c 65  61 72 5f 72 6e 64 31 0d  |.....clear_rnd1.|
0000a250  06 e2 0f f2 63 6c 65 61  72 5f 72 6e 64 32 0d 06  |....clear_rnd2..|
0000a260  e3 19 e3 66 69 6e 64 25  3d 31 20 b8 20 6e 75 6d  |...find%=1 . num|
0000a270  62 65 72 5f 6f 66 25 0d  06 e4 13 72 65 70 65 61  |ber_of%....repea|
0000a280  74 5f 65 72 72 6f 72 25  3d 30 0d 06 e5 05 f5 0d  |t_error%=0......|
0000a290  06 e6 21 72 65 70 65 61  74 5f 65 72 72 6f 72 25  |..!repeat_error%|
0000a2a0  3d 72 65 70 65 61 74 5f  65 72 72 6f 72 25 2b 31  |=repeat_error%+1|
0000a2b0  0d 06 e7 05 f5 0d 06 e8  12 72 6e 64 25 3d 28 b3  |.........rnd%=(.|
0000a2c0  28 31 33 29 2d 31 29 0d  06 e9 1e fd 20 66 69 72  |(13)-1)..... fir|
0000a2d0  73 74 6e 25 28 72 6e 64  25 29 3d 31 20 80 20 72  |stn%(rnd%)=1 . r|
0000a2e0  6e 64 25 3e 30 0d 06 ea  2d fd 20 72 6e 64 5f 70  |nd%>0...-. rnd_p|
0000a2f0  69 63 6b 65 72 31 25 28  72 6e 64 25 29 3d 30 20  |icker1%(rnd%)=0 |
0000a300  84 20 72 65 70 65 61 74  5f 65 72 72 6f 72 25 3d  |. repeat_error%=|
0000a310  31 30 0d 06 eb 18 72 6e  64 5f 70 69 63 6b 65 72  |10....rnd_picker|
0000a320  31 25 28 72 6e 64 25 29  3d 31 0d 06 ec 1c 72 6e  |1%(rnd%)=1....rn|
0000a330  64 5f 6e 75 6d 62 65 72  31 25 28 66 69 6e 64 25  |d_number1%(find%|
0000a340  29 3d 72 6e 64 25 0d 06  ed 13 72 65 70 65 61 74  |)=rnd%....repeat|
0000a350  5f 65 72 72 6f 72 25 3d  30 0d 06 ee 05 f5 0d 06  |_error%=0.......|
0000a360  ef 21 72 65 70 65 61 74  5f 65 72 72 6f 72 25 3d  |.!repeat_error%=|
0000a370  72 65 70 65 61 74 5f 65  72 72 6f 72 25 2b 31 0d  |repeat_error%+1.|
0000a380  06 f0 05 f5 0d 06 f1 12  72 6e 64 25 3d 28 b3 28  |........rnd%=(.(|
0000a390  31 33 29 2d 31 29 0d 06  f2 1f fd 20 73 65 63 6f  |13)-1)..... seco|
0000a3a0  6e 64 6e 25 28 72 6e 64  25 29 3d 31 20 80 20 72  |ndn%(rnd%)=1 . r|
0000a3b0  6e 64 25 3e 30 0d 06 f3  2d fd 20 72 6e 64 5f 70  |nd%>0...-. rnd_p|
0000a3c0  69 63 6b 65 72 32 25 28  72 6e 64 25 29 3d 30 20  |icker2%(rnd%)=0 |
0000a3d0  84 20 72 65 70 65 61 74  5f 65 72 72 6f 72 25 3d  |. repeat_error%=|
0000a3e0  31 30 0d 06 f4 18 72 6e  64 5f 70 69 63 6b 65 72  |10....rnd_picker|
0000a3f0  32 25 28 72 6e 64 25 29  3d 31 0d 06 f5 1c 72 6e  |2%(rnd%)=1....rn|
0000a400  64 5f 6e 75 6d 62 65 72  32 25 28 66 69 6e 64 25  |d_number2%(find%|
0000a410  29 3d 72 6e 64 25 0d 06  f6 05 ed 0d 06 f7 19 e3  |)=rnd%..........|
0000a420  66 69 6e 64 25 3d 31 20  b8 20 6e 75 6d 62 65 72  |find%=1 . number|
0000a430  5f 6f 66 25 0d 06 f8 1c  e7 6d 69 78 65 64 6e 25  |_of%.....mixedn%|
0000a440  3d 31 20 80 20 b3 28 31  30 30 29 3e 35 30 20 8c  |=1 . .(100)>50 .|
0000a450  0d 06 f9 31 61 25 3d 72  6e 64 5f 6e 75 6d 62 65  |...1a%=rnd_numbe|
0000a460  72 31 25 28 66 69 6e 64  25 29 3a 62 25 3d 72 6e  |r1%(find%):b%=rn|
0000a470  64 5f 6e 75 6d 62 65 72  32 25 28 66 69 6e 64 25  |d_number2%(find%|
0000a480  29 0d 06 fa 31 72 6e 64  5f 6e 75 6d 62 65 72 32  |)...1rnd_number2|
0000a490  25 28 66 69 6e 64 25 29  3d 61 25 3a 72 6e 64 5f  |%(find%)=a%:rnd_|
0000a4a0  6e 75 6d 62 65 72 31 25  28 66 69 6e 64 25 29 3d  |number1%(find%)=|
0000a4b0  62 25 0d 06 fb 05 cd 0d  06 fc 28 74 61 62 6c 65  |b%........(table|
0000a4c0  73 25 28 66 69 6e 64 25  2c 31 29 3d 72 6e 64 5f  |s%(find%,1)=rnd_|
0000a4d0  6e 75 6d 62 65 72 31 25  28 66 69 6e 64 25 29 0d  |number1%(find%).|
0000a4e0  06 fd 28 74 61 62 6c 65  73 25 28 66 69 6e 64 25  |..(tables%(find%|
0000a4f0  2c 32 29 3d 72 6e 64 5f  6e 75 6d 62 65 72 32 25  |,2)=rnd_number2%|
0000a500  28 66 69 6e 64 25 29 0d  06 fe 3c 74 61 62 6c 65  |(find%)...<table|
0000a510  73 25 28 66 69 6e 64 25  2c 33 29 3d 72 6e 64 5f  |s%(find%,3)=rnd_|
0000a520  6e 75 6d 62 65 72 31 25  28 66 69 6e 64 25 29 2a  |number1%(find%)*|
0000a530  72 6e 64 5f 6e 75 6d 62  65 72 32 25 28 66 69 6e  |rnd_number2%(fin|
0000a540  64 25 29 0d 06 ff 05 ed  0d 07 00 0b 66 69 72 6e  |d%).........firn|
0000a550  25 3d 30 0d 07 01 0b 73  65 63 6e 25 3d 30 0d 07  |%=0....secn%=0..|
0000a560  02 0c e3 66 25 3d 31 b8  31 32 0d 07 03 1c e7 73  |...f%=1.12.....s|
0000a570  65 63 6f 6e 64 6e 25 28  66 25 29 3d 31 3a 73 65  |econdn%(f%)=1:se|
0000a580  63 6e 25 2b 3d 31 0d 07  04 05 ed 0d 07 05 0c e3  |cn%+=1..........|
0000a590  66 25 3d 31 b8 31 32 0d  07 06 1b e7 66 69 72 73  |f%=1.12.....firs|
0000a5a0  74 6e 25 28 66 25 29 3d  31 3a 66 69 72 6e 25 2b  |tn%(f%)=1:firn%+|
0000a5b0  3d 31 0d 07 07 05 ed 0d  07 08 3a e7 66 69 72 6e  |=1........:.firn|
0000a5c0  25 3c 73 65 63 6e 25 20  8c 20 66 69 72 73 74 5f  |%<secn% . first_|
0000a5d0  6f 72 5f 73 65 63 6f 6e  64 25 3d 31 20 8b 20 66  |or_second%=1 . f|
0000a5e0  69 72 73 74 5f 6f 72 5f  73 65 63 6f 6e 64 25 3d  |irst_or_second%=|
0000a5f0  32 0d 07 09 05 e1 0d 07  0a 1d dd f2 62 6f 78 32  |2...........box2|
0000a600  28 62 78 25 2c 62 79 25  2c 62 78 78 25 2c 62 79  |(bx%,by%,bxx%,by|
0000a610  79 25 29 0d 07 0b 1f 62  78 78 25 3d 62 78 25 2b  |y%)....bxx%=bx%+|
0000a620  62 78 78 25 3a 62 79 79  25 3d 62 79 25 2b 62 79  |bxx%:byy%=by%+by|
0000a630  79 25 0d 07 0c 2d ef 32  34 2c 62 78 25 2d 34 3b  |y%...-.24,bx%-4;|
0000a640  62 79 25 2d 34 3b 62 78  78 25 2b 34 3b 62 79 79  |by%-4;bxx%+4;byy|
0000a650  25 2b 34 3b 31 38 2c 30  2c 31 33 31 2c 31 36 0d  |%+4;18,0,131,16.|
0000a660  07 0d 28 ef 32 34 2c 62  78 25 3b 62 79 25 3b 62  |..(.24,bx%;by%;b|
0000a670  78 78 25 3b 62 79 79 25  3b 31 38 2c 30 2c 31 32  |xx%;byy%;18,0,12|
0000a680  38 2c 31 36 2c 32 36 0d  07 0e 05 e1 0d 07 0f 25  |8,16,26........%|
0000a690  dd f2 70 6c 6f 74 5f 6e  75 6d 62 65 72 73 32 28  |..plot_numbers2(|
0000a6a0  78 25 2c 79 25 2c 64 69  67 69 74 73 25 2c 61 24  |x%,y%,digits%,a$|
0000a6b0  29 0d 07 10 12 e3 70 6e  25 3d 31 20 b8 20 a9 28  |).....pn%=1 . .(|
0000a6c0  61 24 29 0d 07 11 38 f2  70 6c 6f 74 5f 73 70 72  |a$)...8.plot_spr|
0000a6d0  69 74 65 28 28 78 25 2d  33 36 29 2b 28 70 6e 25  |ite((x%-36)+(pn%|
0000a6e0  2a 34 32 29 2c 79 25 2c  31 2c 31 2c 31 2c 31 2c  |*42),y%,1,1,1,1,|
0000a6f0  c1 61 24 2c 70 6e 25 2c  31 29 29 0d 07 12 05 ed  |.a$,pn%,1)).....|
0000a700  0d 07 13 05 e1 0d 07 14  10 dd f2 63 6c 65 61 72  |...........clear|
0000a710  5f 72 6e 64 31 0d 07 15  0c e3 66 25 3d 30 b8 31  |_rnd1.....f%=0.1|
0000a720  32 0d 07 16 16 72 6e 64  5f 70 69 63 6b 65 72 31  |2....rnd_picker1|
0000a730  25 28 66 25 29 3d 30 0d  07 17 05 ed 0d 07 18 05  |%(f%)=0.........|
0000a740  e1 0d 07 19 10 dd f2 63  6c 65 61 72 5f 72 6e 64  |.......clear_rnd|
0000a750  32 0d 07 1a 0c e3 66 25  3d 30 b8 31 32 0d 07 1b  |2.....f%=0.12...|
0000a760  16 72 6e 64 5f 70 69 63  6b 65 72 32 25 28 66 25  |.rnd_picker2%(f%|
0000a770  29 3d 30 0d 07 1c 05 ed  0d 07 1d 05 e1 0d 07 1e  |)=0.............|
0000a780  1a dd f2 64 65 66 69 6e  65 5f 62 75 74 74 6f 6e  |...define_button|
0000a790  73 28 73 65 74 25 29 0d  07 1f 1e e7 73 65 74 25  |s(set%).....set%|
0000a7a0  3d 31 3a 74 6f 74 61 6c  5f 62 75 74 25 3d 31 3a  |=1:total_but%=1:|
0000a7b0  f7 8d 54 66 47 0d 07 20  1e e7 73 65 74 25 3d 32  |..TfG.. ..set%=2|
0000a7c0  3a 74 6f 74 61 6c 5f 62  75 74 25 3d 32 3a f7 8d  |:total_but%=2:..|
0000a7d0  54 67 47 0d 07 21 1e e7  73 65 74 25 3d 33 3a 74  |TgG..!..set%=3:t|
0000a7e0  6f 74 61 6c 5f 62 75 74  25 3d 32 3a f7 8d 54 68  |otal_but%=2:..Th|
0000a7f0  47 0d 07 22 1d e3 62 75  74 5f 6e 75 6d 62 65 72  |G.."..but_number|
0000a800  25 3d 31 b8 74 6f 74 61  6c 5f 62 75 74 25 0d 07  |%=1.total_but%..|
0000a810  23 7a f3 62 75 74 25 28  62 75 74 5f 6e 75 6d 62  |#z.but%(but_numb|
0000a820  65 72 25 2c 30 29 2c 62  75 74 25 28 62 75 74 5f  |er%,0),but%(but_|
0000a830  6e 75 6d 62 65 72 25 2c  31 29 2c 62 75 74 25 28  |number%,1),but%(|
0000a840  62 75 74 5f 6e 75 6d 62  65 72 25 2c 32 29 2c 62  |but_number%,2),b|
0000a850  75 74 25 28 62 75 74 5f  6e 75 6d 62 65 72 25 2c  |ut%(but_number%,|
0000a860  33 29 2c 62 75 74 25 28  62 75 74 5f 6e 75 6d 62  |3),but%(but_numb|
0000a870  65 72 25 2c 34 29 2c 62  75 74 24 28 62 75 74 5f  |er%,4),but$(but_|
0000a880  6e 75 6d 62 65 72 25 29  0d 07 24 05 ed 0d 07 25  |number%)..$....%|
0000a890  05 e1 0d 07 26 1c dc 20  31 30 30 2c 31 30 30 2c  |....&.. 100,100,|
0000a8a0  32 30 30 2c 34 30 2c 32  2c 47 6f 20 6f 6e 0d 07  |200,40,2,Go on..|
0000a8b0  27 5d dc 20 36 38 30 2c  32 30 2c 32 30 30 2c 36  |']. 680,20,200,6|
0000a8c0  30 2c 32 2c 59 65 73 2c  39 32 30 2c 32 30 2c 32  |0,2,Yes,920,20,2|
0000a8d0  30 30 2c 36 30 2c 32 2c  4e 6f 2c 31 30 36 30 2c  |00,60,2,No,1060,|
0000a8e0  37 32 2c 32 30 30 2c 36  30 2c 32 2c 43 6f 72 72  |72,200,60,2,Corr|
0000a8f0  65 63 74 2c 32 30 2c 37  32 2c 32 30 30 2c 36 30  |ect,20,72,200,60|
0000a900  2c 32 2c 4e 65 78 74 20  62 6f 78 0d 07 28 33 dc  |,2,Next box..(3.|
0000a910  20 38 32 30 2c 34 33 30  2c 31 39 30 2c 36 30 2c  | 820,430,190,60,|
0000a920  32 2c 4c 65 66 74 2c 31  30 34 34 2c 34 33 30 2c  |2,Left,1044,430,|
0000a930  31 39 30 2c 36 30 2c 32  2c 52 69 67 68 74 0d 07  |190,60,2,Right..|
0000a940  29 1c dd f2 62 75 74 5f  6f 66 66 28 62 78 25 2c  |)...but_off(bx%,|
0000a950  62 79 25 2c 74 65 78 74  24 29 0d 07 2a 2b f2 70  |by%,text$)..*+.p|
0000a960  6c 6f 74 5f 73 70 72 69  74 65 28 62 78 25 2c 62  |lot_sprite(bx%,b|
0000a970  79 25 2c 31 2c 31 2c 31  2c 31 2c 22 62 75 74 74  |y%,1,1,1,1,"butt|
0000a980  6f 6e 31 22 29 0d 07 2b  26 6c 65 66 74 5f 6d 61  |on1")..+&left_ma|
0000a990  72 67 69 6e 25 3d 28 31  39 34 2d 28 a9 28 74 65  |rgin%=(194-(.(te|
0000a9a0  78 74 24 29 2a 31 36 29  29 2f 32 0d 07 2c 06 ef  |xt$)*16))/2..,..|
0000a9b0  35 0d 07 2d 28 e6 30 2c  33 3a ec 62 78 25 2b 6c  |5..-(.0,3:.bx%+l|
0000a9c0  65 66 74 5f 6d 61 72 67  69 6e 25 2c 62 79 25 2b  |eft_margin%,by%+|
0000a9d0  34 32 3a f1 74 65 78 74  24 0d 07 2e 05 e1 0d 07  |42:.text$.......|
0000a9e0  2f 1b dd f2 62 75 74 5f  6f 6e 28 62 78 25 2c 62  |/...but_on(bx%,b|
0000a9f0  79 25 2c 74 65 78 74 24  29 0d 07 30 2b f2 70 6c  |y%,text$)..0+.pl|
0000aa00  6f 74 5f 73 70 72 69 74  65 28 62 78 25 2c 62 79  |ot_sprite(bx%,by|
0000aa10  25 2c 31 2c 31 2c 31 2c  31 2c 22 62 75 74 74 6f  |%,1,1,1,1,"butto|
0000aa20  6e 32 22 29 0d 07 31 26  6c 65 66 74 5f 6d 61 72  |n2")..1&left_mar|
0000aa30  67 69 6e 25 3d 28 31 39  34 2d 28 a9 28 74 65 78  |gin%=(194-(.(tex|
0000aa40  74 24 29 2a 31 36 29 29  2f 32 0d 07 32 06 ef 35  |t$)*16))/2..2..5|
0000aa50  0d 07 33 28 e6 30 2c 33  3a ec 62 78 25 2b 6c 65  |..3(.0,3:.bx%+le|
0000aa60  66 74 5f 6d 61 72 67 69  6e 25 2c 62 79 25 2b 34  |ft_margin%,by%+4|
0000aa70  32 3a f1 74 65 78 74 24  0d 07 34 05 e1 0d 07 35  |2:.text$..4....5|
0000aa80  1c dd f2 63 68 65 63 6b  5f 62 75 74 74 6f 6e 73  |...check_buttons|
0000aa90  28 61 6e 5f 6e 75 6d 25  29 0d 07 36 0f 73 65 6c  |(an_num%)..6.sel|
0000aaa0  65 63 74 65 64 25 3d 30  0d 07 37 06 ef 35 0d 07  |ected%=0..7..5..|
0000aab0  38 14 f2 63 68 65 63 6b  5f 6d 6f 75 73 65 28 31  |8..check_mouse(1|
0000aac0  30 29 0d 07 39 1a e3 62  75 74 5f 6e 25 3d 31 20  |0)..9..but_n%=1 |
0000aad0  b8 20 74 6f 74 61 6c 5f  62 75 74 25 0d 07 3a 19  |. total_but%..:.|
0000aae0  e7 62 75 74 25 28 62 75  74 5f 6e 25 2c 34 29 3c  |.but%(but_n%,4)<|
0000aaf0  32 3a ed 3a e1 0d 07 3b  79 e7 6d 78 25 3e 62 75  |2:.:...;y.mx%>bu|
0000ab00  74 25 28 62 75 74 5f 6e  25 2c 30 29 20 80 20 6d  |t%(but_n%,0) . m|
0000ab10  78 25 3c 28 62 75 74 25  28 62 75 74 5f 6e 25 2c  |x%<(but%(but_n%,|
0000ab20  30 29 2b 62 75 74 25 28  62 75 74 5f 6e 25 2c 32  |0)+but%(but_n%,2|
0000ab30  29 29 20 80 20 6d 79 25  3e 62 75 74 25 28 62 75  |)) . my%>but%(bu|
0000ab40  74 5f 6e 25 2c 31 29 20  80 20 6d 79 25 3c 28 62  |t_n%,1) . my%<(b|
0000ab50  75 74 25 28 62 75 74 5f  6e 25 2c 31 29 2b 62 75  |ut%(but_n%,1)+bu|
0000ab60  74 25 28 62 75 74 5f 6e  25 2c 33 29 29 8c 0d 07  |t%(but_n%,3))...|
0000ab70  3c 0c e7 6d 7a 25 3d 34  20 8c 0d 07 3d 14 73 65  |<..mz%=4 ...=.se|
0000ab80  6c 65 63 74 65 64 25 3d  62 75 74 5f 6e 25 0d 07  |lected%=but_n%..|
0000ab90  3e 37 f2 62 75 74 5f 6f  6e 28 62 75 74 25 28 62  |>7.but_on(but%(b|
0000aba0  75 74 5f 6e 25 2c 30 29  2c 62 75 74 25 28 62 75  |ut_n%,0),but%(bu|
0000abb0  74 5f 6e 25 2c 31 29 2c  62 75 74 24 28 62 75 74  |t_n%,1),but$(but|
0000abc0  5f 6e 25 29 29 0d 07 3f  0e f2 70 61 75 73 65 28  |_n%))..?..pause(|
0000abd0  33 30 29 0d 07 40 18 f5  3a c8 97 20 78 25 2c 79  |30)..@..:.. x%,y|
0000abe0  25 2c 7a 25 3a fd 20 7a  25 3d 30 0d 07 41 38 f2  |%,z%:. z%=0..A8.|
0000abf0  62 75 74 5f 6f 66 66 28  62 75 74 25 28 62 75 74  |but_off(but%(but|
0000ac00  5f 6e 25 2c 30 29 2c 62  75 74 25 28 62 75 74 5f  |_n%,0),but%(but_|
0000ac10  6e 25 2c 31 29 2c 62 75  74 24 28 62 75 74 5f 6e  |n%,1),but$(but_n|
0000ac20  25 29 29 0d 07 42 05 cd  0d 07 43 05 cd 0d 07 44  |%))..B....C....D|
0000ac30  20 e7 61 6e 5f 6e 75 6d  25 3e 30 3a f2 73 70 5f  | .an_num%>0:.sp_|
0000ac40  61 6e 69 6d 28 61 6e 5f  6e 75 6d 25 29 0d 07 45  |anim(an_num%)..E|
0000ac50  05 ed 0d 07 46 05 e1 0d  07 47 17 dd f2 72 65 6e  |....F....G...ren|
0000ac60  64 65 72 5f 64 65 73 5f  73 63 72 65 65 6e 0d 07  |der_des_screen..|
0000ac70  48 2a 6d 61 69 6e 5f 73  70 5f 61 64 64 25 3d a4  |H*main_sp_add%=.|
0000ac80  73 70 72 69 74 65 5f 64  61 74 61 28 64 65 73 5f  |sprite_data(des_|
0000ac90  73 70 72 69 74 65 24 29  0d 07 49 0a 6f 66 66 25  |sprite$)..I.off%|
0000aca0  3d 30 0d 07 4a 15 72 65  6e 78 25 3d 30 3a 72 65  |=0..J.renx%=0:re|
0000acb0  6e 79 25 3d 38 39 36 0d  07 4b 1b e3 64 6f 77 6e  |ny%=896..K..down|
0000acc0  25 3d 38 36 34 2b 34 38  20 b8 20 30 20 88 20 2d  |%=864+48 . 0 . -|
0000acd0  34 38 0d 07 4c 1a e3 61  63 63 25 3d 30 20 b8 20  |48..L..acc%=0 . |
0000ace0  31 32 34 38 2b 34 38 20  88 20 34 38 0d 07 4d 20  |1248+48 . 48..M |
0000acf0  73 70 72 69 74 65 25 3d  3f 28 6d 61 69 6e 5f 73  |sprite%=?(main_s|
0000ad00  70 5f 61 64 64 25 2b 6f  66 66 25 29 0d 07 4e 2f  |p_add%+off%)..N/|
0000ad10  f2 70 6c 6f 74 5f 73 70  72 69 74 65 28 61 63 63  |.plot_sprite(acc|
0000ad20  25 2c 64 6f 77 6e 25 2c  31 2c 31 2c 31 2c 31 2c  |%,down%,1,1,1,1,|
0000ad30  c3 28 73 70 72 69 74 65  25 29 29 0d 07 4f 0f 6f  |.(sprite%))..O.o|
0000ad40  66 66 25 3d 6f 66 66 25  2b 31 0d 07 50 05 ed 0d  |ff%=off%+1..P...|
0000ad50  07 51 05 ed 0d 07 52 05  e1 0d 07 53 18 dd a4 73  |.Q....R....S...s|
0000ad60  70 72 69 74 65 5f 64 61  74 61 28 6e 61 6d 65 24  |prite_data(name$|
0000ad70  29 0d 07 54 3a c8 99 22  4f 53 5f 53 70 72 69 74  |)..T:.."OS_Sprit|
0000ad80  65 4f 70 22 2c 26 31 31  38 2c 73 70 72 69 74 65  |eOp",&118,sprite|
0000ad90  5f 61 72 65 61 31 25 2c  6e 61 6d 65 24 20 b8 20  |_area1%,name$ . |
0000ada0  72 30 25 2c 72 31 25 2c  72 32 25 0d 07 55 13 73  |r0%,r1%,r2%..U.s|
0000adb0  70 72 69 74 65 5f 6f 6e  65 25 3d 72 32 25 0d 07  |prite_one%=r2%..|
0000adc0  56 13 3d 73 70 72 69 74  65 5f 6f 6e 65 25 2b 34  |V.=sprite_one%+4|
0000add0  34 0d ff                                          |4..|
0000add3