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

!Tables/Pt1/jump

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/jump
Read OK:
File size: 5842 bytes
Load address: 0000
Exec address: 0000
File contents
    0REMOSCLIADFS::HardDisc4.$.CURR_NEW.!Tables.Pt1.jump
    1REM non games section of talbe aliens
    2LIBRARY "<TableA$Dir>.Pt1.Library"
    3*FX225,1
    4*FX229,0
    5*FX220,17
    6ONERROR:OSCLI"FX229,1":ONERROR OFF:PROCdt|M
    7*KEY1 V%=stored_vga%:PROCdt|M
    8*KEY5 PROCstats|M
    9*KEY9 MOUSERECTANGLE 0,0,1278,960:REPEAT:MOUSEX,Y,Z:P.TAB(0,0)X,Y:UNTIL FALSE
   10*KEY3 length$=STR$~262144:from$=STR$~back_data%:file$="bgdata2":OSCLI"SAVE "+file$+" "+from$+" +"+length$
   11DIM input_disk_name% 256,mouse% 16
   12DIM pdrect% 16,pdrect2% 16,pdtrans% 16,pdplot% 8,ctrans% 256,paltab% 256
   13DIM input% 16,output% 16,scale% 16
   14DIM but%(40,4),but$(40)     :REM but%(#,0)=x
   15:REM but%(#,1)=y
   16:REM but%(#,2)=length of button
   17:REM but%(#,3)=height of button
   18:REM but%(#,4)=0=off 1=greyed out 2=on
   19DIM area%(10,4)             :REM -,x,y,length,height
   20DIM points%(2,10)
   21DIM string% 128             :REM used to measure font string
   22DIM tables%(12,5)           :REM 12 questions 1 * 2 = 3
   23DIM tables$(12),ta$(12)
   24DIM mov_tab%(5,5)
   25DIM firstn%(12)
   26DIM secondn%(12)
   27DIM rnd_picker1%(12)
   28DIM rnd_picker2%(12)
   29DIM rnd_number1%(12)
   30DIM rnd_number2%(12)
   31DIM presented%(12)
   32DIM x_answer%(12)
   33DIM count_down%(6)
   34DIM entry_areas%(5,4)
   35DIM ds%(32,2)
   36DIM corr%(30,3)
   37REM sprite scale
   38DIM scale% 16
   39DIM scale2% 16
   40REM find screen tables
   41DIM input% 16
   42DIM output% 16
   43DIM alx%(12),aly%(12)
   44DIM apx%(12),apy%(12)
   45DIM grid%(10,14,4):REM grid 10x14/0-3 number/back colour/forground colour/select
   46DIM regroup%(11)
   47DIM crack%(16)
   48DIM jump_sequ%(4,10,3)
   49stored_vga%=V%
   50vga%=V%:REM V%=0
   51REM O%=game level
   52REM Z%=speed of machine
   53REM V%=1 then vga V%=0 then cga
   54REM K%=code address
   55REM U%=first number 1-12 bit values
   56REM W%=second number 1-12 +mixed first and second factors
   57REM T%=table tests
   58REM PROCfind_screens
   59PROCpull_variables
   60PROCinitialise_sprite_area
   61addrs$=STR$~m_code1%
   62OSCLI"LOAD <TableA$Dir>.pt1.GenCode "+addrs$
   63PROCassemble2
   64IFV%=0 VDU24,0;960;1278;1022;18,0,131,16,26
   65IFV%=1 VDU 23,17,7,6,8;16;0;
   66PROCfind_screens
   67PROCpull_gen_code_var
   68PROCpull_pac_code_var
   69sa1%=sprite_area1%
   70number_of%=10
   71timer_on%=1
   72REM style1= 1*4=4 2*4=8 style2= 4*1=4 4*2=8 style3= 4*1=4 2*4=8
   73style%=1
   74REM order%=1 1234567  order%=2 253414
   75order%=2
   76text_col%=3
   77PROCpalette2
   78VDU19,1,24,0,0,0
   79REM COLOUR3
   80REM PRINT"test"
   81REM REPEAT
   82REM PRINT" G% ";G%
   83REM PROCset_table_one
   84REM PRINT" a% ";a%
   85REM a=GET
   86REM UNTIL FALSE
   87IFQ%=23 THEN
   88PROCintro
   89PROCjump
   90*FX112,1
   91*FX113,1
   92PROCtscore(512,360)
   93PROCspace(900,100,0,0)
   94Q%=24
   95ENDIF
   96IFQ%=24:V%=stored_vga%:CHAIN"<TableA$dir>.PT1.LINK"
   97IFQ%=31 THEN
   98PROCintro
   99PROCjump
  100*FX112,1
  101*FX113,1
  102PROCtscore(512,360)
  103PROCspace(900,100,0,0)
  104Q%=25
  105ENDIF
  106IFQ%=25:V%=stored_vga%:CHAIN"<TableA$dir>.PT1.LINK"
  107IFQ%=207 THEN
  108PROCintro
  109PROCjump
  110*FX112,1
  111*FX113,1
  112PROCtscore(512,360)
  113PROCspace(900,100,0,0)
  114IFS%=1 PROCdt
  115CHAIN"<TableA$dir>.PT1.LINK"
  116ENDIF
  117IFQ%=65 THEN
  118PROCintro
  119PROCjump
  120*FX112,1
  121*FX113,1
  122PROCtscore(512,360)
  123PROCspace(900,100,0,0)
  124PROCtext_box(100,100,1080,90,2,"You walk into the next room.","","")
  125PROCspace(900,40,0,0)
  126Q%=66
  127ENDIF
  128IFQ%=66:V%=stored_vga%:CHAIN"<TableA$dir>.PT1.LINK"
  129IFQ%=74 THEN
  130PROCintro
  131PROCjump
  132*FX112,1
  133*FX113,1
  134PROCtscore(512,360)
  135PROCspace(900,100,0,0)
  136PROCtext_box(100,100,1080,90,2,"You walk into the next room.","","")
  137PROCspace(900,100,0,0)
  138Q%=75
  139ENDIF
  140IFQ%=75:V%=stored_vga%:CHAIN"<TableA$dir>.PT1.LINK"
  141DEFPROCintro
  142VOICES 1
  143PROCload_sprites("jump2")
  144PROCmerge_sprites("numbers")
  145PROCmerge_sprites("buttons")
  146IFQ%>60 THEN
  147PROCplates2
  148block_y%=260
  149glen%=6
  150PROCpipe_work
  151PROCtext_box(100,740,1080,150,2,"At the end of the corridor are","several large store rooms.","")
  152PROCspace(900,100,0,0)
  153PROCtext_box(100,600,1080,90,2,"It is a long way to the ground.","","")
  154PROCspace(900,100,0,0)
  155ENDIF
  156IFQ%=31 THEN
  157PROCplates2
  158block_y%=260
  159glen%=6
  160PROCpipe_work
  161PROCtext_box(100,740,1080,150,2,"Outside the fuel store room is","a dangerous bridge.","")
  162PROCspace(900,100,0,0)
  163ENDIF
  164ENDPROC
  165DEFPROCplates
  166FORpf%=0 TO 1280 STEP 256
  167FORpy%=0 TO 960 STEP 192
  168PROCplot_sprite(pf%,py%,1,1,1,1,"tin1")
  169NEXT:NEXT
  170ENDPROC
  171DEFPROCplates2
  172FORpf%=0 TO 1280 STEP 256
  173FORpy%=0 TO 960 STEP 192
  174PROCplot_sprite(pf%,py%,1,1,1,1,"tin2")
  175NEXT:NEXT
  176ENDPROC
  177DEFPROCjump
  178REM set numbers
  179total_possible%=20
  180total_got%=20
  181PROCset_table_one
  182*FX112,2
  183GCOL0,129:PROCplates2
  184IFV%=0 VDU24,0;960;1278;1022;18,0,131,16,26
  185*FX112,1
  186fade$="fade2"
  187PROCfade(0,960,4,0,1,1)
  188block_y%=260
  189glen%=6
  190PROCset_screen(0)
  191block_y%=260
  192an_x%=8:an_y%=block_y%+60
  193sel_sprite$="jum1"
  194blank$="blank"
  195PROCstart_anim(blank$)
  196B%=screen_one%:C%=screen_two%:CALL save_screen%
  197IFQ%>60 THEN
  198PROCtext_box(200,830,880,90,2,"You must get across this room.","","")
  199PROCspace(900,100,0,0)
  200ENDIF
  201IFQ%=23 THEN
  202PROCtext_box(200,830,880,90,2,"You find yourself in a large room.","","")
  203PROCspace(900,100,0,0)
  204ENDIF
  205IFQ%<200 THEN
  206PROCtext_box(200,630,880,180,2,"Only some of the blocks will","take your weight.","")
  207PROCspace(900,100,0,0)
  208ENDIF
  209PROCgame(table%)
  210ENDPROC
  211DEFPROCgame(table%)
  212st_block%=0:scrolls%=0
  213glen%=6
  214REPEAT
  215*FX112,2
  216GCOL0,129:PROCplates2
  217IFV%=0 VDU24,0;960;1278;1022;18,0,131,16,26
  218IFst_block%>3 THEN
  219added_rnd%=RND(3)-1
  220block_y%=260
  221PROCset_screen(st_block%-added_rnd%)
  222block_y%=260
  223an_x%=8+(added_rnd%*84):an_y%=block_y%+60
  224ELSE
  225added_rnd%=0
  226block_y%=260
  227PROCset_screen(st_block%)
  228block_y%=260
  229an_x%=8:an_y%=block_y%+60
  230ENDIF
  231sel_sprite$="jum1"
  232blank$="blank"
  233PROCstart_anim(blank$)
  234REM   fade$="fade"
  235REM   PROCfade(0,960,4,0,1,1)
  236PROCtext_box(200,730,880,190,2,"Click on the block that is the","next number in the "+STR$(table%)+" times table.","")
  237fade$="fade2"
  238PROCfade(0,960,4,0,1,1)
  239GCOL0,129:PROCplates2
  240IFV%=0 VDU24,0;960;1278;1022;18,0,131,16,26
  241*FX112,1
  242PROCinput_mouse
  243PROCjumping(ti%,table%)
  244IF ti% MOD table%<>0 THEN
  245PROCcachesound("crack2",1)
  246SOUND1,-15,20,20
  247PROCpause(70)
  248PROCcheck_crack(ti%,table%)
  249total_got%=total_got%-1
  250PROCtext_box(200,600,880,90,1,"Oh dear! Try again.","","")
  251PROCcachesound("wrong2",1)
  252SOUND1,-15,20,20
  253PROCspace(800,100,0,0)
  254ENDIF
  255IF ti% MOD table%=0 THEN
  256PROCcachesound("ok2",1)
  257SOUND 1,&17F,1,1
  258PROCtext_box(200,600,880,90,1,"Well done!.","","")
  259st_block%=st_block%+table%
  260scrolls%=scrolls%+1
  261added_rnd%=0
  262block_y%=260
  263*FX112,2
  264PROCset_screen(st_block%+14)
  265*FX112,1
  266FORf%=1TO 4*table%
  267A%=screen_two%+((1-V%)*320*16)
  268B%=screen_one%+((1-V%)*320*16)
  269C%=1
  270D%=239*(V%+1)
  271CALL scroll_all%
  272NEXT
  273ENDIF
  274UNTIL scrolls%=glen%
  275*FX112,2
  276GCOL0,129:PROCplates2
  277IFV%=0 VDU24,0;960;1278;1022;18,0,131,16,26
  278IFst_block%>3 THEN
  279added_rnd%=1
  280block_y%=260
  281PROCset_screen(st_block%-added_rnd%)
  282block_y%=260
  283an_x%=8+(added_rnd%*84):an_y%=block_y%+60
  284ELSE
  285added_rnd%=0
  286block_y%=260
  287PROCset_screen(st_block%)
  288block_y%=260
  289an_x%=8:an_y%=block_y%+60
  290ENDIF
  291sel_sprite$="jum1"
  292blank$="blank"
  293PROCstart_anim(blank$)
  294*FX112,1
  295fade$="fade2"
  296PROCfade(0,960,4,0,1,1)
  297IFQ%=23 THEN
  298*FX112,1
  299PROCtext_box(200,800,880,90,1,"You have escaped from this area.","","")
  300PROCspace(900,100,0,0)
  301ENDIF
  302ENDPROC
  303DEFPROCjumping(jumpy%,table%)
  304PROCcachesound("clang2",1)
  305RESTORE 334
  306FORseq%=1 TO 4
  307READ amount%
  308jump_sequ%(seq%,0,0)=amount%
  309FORju%=1 TO amount%
  310READ jump_sequ%(seq%,ju%,1),jump_sequ%(seq%,ju%,2),jump_sequ%(seq%,ju%,3)
  311NEXT
  312NEXT
  313PROCdo_sequ(1)
  314PROCdo_sequ(2)
  315IF jumpy%>1 PROCdo_sequ(3)
  316IF jumpy%>2 AND table%+1>2 PROCdo_sequ(2)
  317IF jumpy%>3 AND table%+1>3 PROCdo_sequ(3)
  318IF jumpy%>4 AND table%+1>4 PROCdo_sequ(2)
  319IF jumpy%>5 AND table%+1>5 PROCdo_sequ(3)
  320IF jumpy%>6 AND table%+1>6 PROCdo_sequ(2)
  321IF jumpy%>7 AND table%+1>7 PROCdo_sequ(3)
  322IF jumpy%>8 AND table%+1>8 PROCdo_sequ(2)
  323IF jumpy%>9 AND table%+1>9 PROCdo_sequ(3)
  324IF jumpy%>10 AND table%+1>10 PROCdo_sequ(2)
  325IF jumpy%>11 AND table%+1>11 PROCdo_sequ(3)
  326IF table%<jumpy% THEN
  327ti%=table%+1
  328PROCtext_box(200,730,880,190,2,"You are too tired.","You cannot hold on.","")
  329PROCspace(900,100,0,0)
  330ENDIF
  331PROCdo_sequ(4)
  332ENDPROC
  333REM  amount,  sprite,pause,inc_x, .....
  334DATA 5,  2,10,0,3,20,0,4,10,0,5,10,0,6,60,0
  335DATA 6,  8,20,14,9,20,14,8,20,14,7,20,14,8,20,14,9,20,14:REM one movement forward
  336DATA 6,  8,20,14,9,20,14,8,20,14,7,20,14,8,20,14,9,20,14:REM second movement forward
  337DATA 4,  8,20,0,5,20,0,3,40,0,1,20,0
  338DEFPROCdo_sequ(sn%)
  339FORsnn%=1 TO jump_sequ%(sn%,0,0)
  340IFsn%>1 AND sn%<4 AND (snn% MOD 2)=0 SOUND 1,&17F,1,1
  341an_x%=an_x%+jump_sequ%(sn%,snn%,3)
  342sel_sprite$="jum"+STR$(jump_sequ%(sn%,snn%,1))
  343PROCanim("blank")
  344PROCpause(jump_sequ%(sn%,snn%,2))
  345NEXT
  346ENDPROC
  347DEFPROCinput_mouse
  348FORf%=1 TO 20:MOUSE x,y,z:NEXT
  349REPEAT:MOUSE x,y,z:UNTIL z=0
  350MOUSE ON
  351REPEAT
  352MOUSE mx%,my%,mc%
  353mx%=mx%-(added_rnd%*84)
  354ti%=mx%/84
  355UNTIL mc%=4 AND my%>260 AND my%<400 AND ti%>0
  356PROCcachesound("plop",1)
  357SOUND 1,&17F,1,1
  358PROCpause(20)
  359PROCcachesound("clang2",1)
  360ENDPROC
  361DEFPROCcheck_crack(jumpy%,table%)
  362*fx112,2
  363SYS"OS_SpriteOp",&110,sprite_area1%,"blank",0,an_x%-8,0,an_x%+72,block_y%+176
  364SYS"OS_SpriteOp",&110,sprite_area1%,"blank2",0,an_x%-8,0,an_x%+72,block_y%+176
  365*fx112,1
  366man_y%=block_y%+64
  367bl_y%=block_y%
  368count%=1:tile%=1
  369REPEAT
  370PROCst_pause
  371count%=count%+1
  372!(scale2%+0)=1
  373!(scale2%+4)=1
  374!(scale2%+8)=1
  375!(scale2%+12)=1
  376SYS"OS_SpriteOp",&13C,sa1%,"blank",0
  377SYS"OS_SpriteOp",&134,sa1%,"blank2",0,0,8,scale2%,0
  378SYS"OS_SpriteOp",&134,sa1%,"jum5",8,man_y%,8,scale%,0
  379SYS"OS_SpriteOp",&134,sa1%,"tile"+STR$(tile%),0,bl_y%,8,scale%,0
  380SYS"OS_SpriteOp",&13C,sa1%,0,1
  381IFV%=1 VDU 23,17,7,6,8;16;0;
  382SYS"OS_SpriteOp",&134,sa1%,"blank",an_x%-8,0,0,scale2%,0
  383IFcount%=4 AND tile%<>7:tile%=tile%+1:count%=1
  384bl_y%=bl_y%-12
  385man_y%=man_y%-8
  386PROCen_pause(6)
  387UNTIL man_y%<-80
  388ENDPROC
  389DEFPROCset_screen(number%)
  390IFV%=0 VDU 24,0;960;1278;1022;18,0,131,16,26
  391FORf%=0 TO 1280 STEP 84
  392IFnumber%<(table%*glen%)+1 THEN
  393PROCplot_sprite_masked(f%,block_y%,1,1,1,1,"tile")
  394VDU5
  395GCOL0,3
  396IF number%>-1 THEN
  397a$=STR$(number%)
  398IF LEN(a$)=1 a$=" "+a$
  399MOVE f%+22,block_y%+40:PRINT;a$
  400number%=number%+1
  401ENDIF
  402ELSE
  403IFnumber%=(table%*glen%)+1 PROCplot_sprite_masked(f%,block_y%,1,1,1,1,"tile11")
  404IFnumber%>(table%*glen%)+1 PROCplot_sprite_masked(f%,block_y%,1,1,1,1,"tile12")
  405number%=number%+1
  406ENDIF
  407NEXT
  408DEFPROCpipe_work
  409FORf%=0 TO 1280 STEP 64
  410PROCplot_sprite_masked(f%,block_y%+176,1,1,1,1,"pipe1")
  411NEXT
  412FORf%=0 TO 1280 STEP 64
  413PROCplot_sprite_masked(f%,block_y%+176+160,1,1,1,1,"pipe1")
  414NEXT
  415FORf%=0 TO 1280 STEP 64
  416PROCplot_sprite_masked(f%,block_y%+176+320,1,1,1,1,"pipe1")
  417NEXT
  418FOR block_y%=260 TO 420 STEP 160
  419FORff%=0 TO 1280 STEP 128
  420fff%=ff%:IFblock_y%=420 fff%=ff%+64
  421PROCplot_sprite_masked(fff%,block_y%+176,1,1,1,1,"pipe3")
  422FORf%=block_y%+32+176 TO block_y%+128+176 STEP 32
  423PROCplot_sprite_masked(fff%,f%,1,1,1,1,"pipe2")
  424NEXT
  425PROCplot_sprite_masked(fff%,block_y%+176+160,1,1,1,1,"pipe5")
  426NEXT
  427NEXT
  428ENDPROC
  429DEFPROCsea(sc%)
  430A%=sc%+(320*(200*(V%+1)))+(((V%-1)*-1)*320*16)
  431B%=40*(V%+1)-1
  432a%=colour_type%
  433b%=fill_type%
  434C%=(a%<<28)+(b%<<24)+(a%<<20)+(b%<<16)+(a%<<12)+(b%<<8)+(a%<<4)+b%
  435D%=(b%<<28)+(a%<<24)+(b%<<20)+(a%<<16)+(b%<<12)+(a%<<8)+(b%<<4)+a%
  436E%=320
  437CALL splodge%
  438ENDPROC
  439DEFPROCbackg
  440of%=0
  441FORf%=-32 TO 960 STEP 64
  442IF of%=0 of%=32 ELSE of%=0
  443FORff%=0 TO 1280 STEP 128
  444IF of%=0 of%=32 ELSE of%=0
  445PROCplot_sprite(ff%,f%+of%,1,1,1,1,"back")
  446NEXT:NEXT
  447ENDPROC
  448DEFPROCtext_box(st_x%,st_y%,length%,height%,just_type%,a$,b$,c$)
  449IFtext_col%=3 PROCbox2(st_x%,st_y%,length%,height%)
  450IFtext_col%=0 PROCbox3(st_x%,st_y%,length%,height%)
  451f_width1%=FNfont_string_w(a$)
  452f_width2%=FNfont_string_w(b$)
  453f_width3%=FNfont_string_w(c$)
  454f_height%=70:REM FNfont_string_w(a$):REM all heights the same?
  455lines%=3:IFc$="":lines%=2:IFb$="":lines%=1
  456xpos1%=st_x%+((length%-(f_width1%/400))/2)
  457xpos2%=st_x%+((length%-(f_width2%/400))/2)
  458xpos3%=st_x%+((length%-(f_width3%/400))/2)
  459REM box_type%=1 centred box_type%=2 left justified
  460IFjust_type%=2 THEN
  461IFxpos1%<xpos2% xpos2%=xpos1% ELSE xpos1%=xpos2%
  462IFxpos2%<xpos3% xpos3%=xpos2% ELSE xpos2%=xpos3%
  463IFxpos3%<xpos1% xpos1%=xpos3% ELSE xpos3%=xpos1%
  464ENDIF
  465ypos1%=(st_y%-(f_height%/6)*4)+(height%-(lines%*f_height%))/2+(lines%*f_height%)
  466ypos2%=ypos1%-f_height%
  467ypos3%=ypos2%-f_height%
  468IFtext_col%=3 PROCpri(xpos1%,ypos1%,a$)
  469IFtext_col%=0 PROCpri2(xpos1%,ypos1%,a$)
  470IFlines%>1 AND text_col%=3 PROCpri(xpos2%,ypos2%,b$)
  471IFlines%>1 AND text_col%=0 PROCpri2(xpos2%,ypos2%,b$)
  472IFlines%>2 AND text_col%=3 PROCpri(xpos3%,ypos3%,c$)
  473IFlines%>2 AND text_col%=0 PROCpri2(xpos3%,ypos3%,c$)
  474ENDPROC
  475DEFPROCpri2(x%,y%,a$)
  476SYS"Font_FindFont",,"TABLOID.Medium",320,360,0,0 TO han%
  477SYS"Font_SetFontColours",0,3,2,-2
  478VDU0,0,0,0,0,0,0,0
  479SYS"Font_Paint",,a$,16,x%,y%
  480SYS"Font_LoseFont",han%
  481ENDPROC
  482DEFPROCpri(x%,y%,a$)
  483SYS"Font_FindFont",,"TABLOID.Medium",320,360,0,0 TO han%
  484SYS"Font_SetFontColours",0,0,1,2
  485VDU0,0,0,0,0,0,0,0
  486SYS"Font_Paint",,a$,16,x%,y%
  487SYS"Font_LoseFont",han%
  488ENDPROC
  489DEFFNfont_string_w(string$)
  490$string%=string$
  491SYS"Font_FindFont",,"TABLOID.Medium",320,360,0,0 TO han%
  492SYS"Font_StringWidth",0,string%,600000,480000,-1,80 TO r0,r1,f_width%
  493SYS"Font_LoseFont",han%
  494=f_width%
  495DEFFNfont_string_h(string$)
  496$string%=string$
  497SYS"Font_FindFont",,"TABLOID.Medium",320,360,0,0 TO han%
  498SYS"Font_StringWidth",0,string%,600000,480000,-1,80 TO r0,r1,r2,f_height
  499SYS"Font_LoseFont",han%
  500=f_height%
  501DEFPROCstart_anim(blank$)
  502SYS"OS_SpriteOp",&118,sprite_area1%,sel_sprite$ TO r0,r1,r2
  503width%=(!(r2+16)+1)*16:height%=(!(r2+20)+1)*(4)
  504SYS"OS_SpriteOp",&110,sprite_area1%,blank$,0,an_x%,an_y%,an_x%+width%,an_y%+height%
  505PROCplot_sprite_masked(an_x%,an_y%,1,1,1,1,sel_sprite$)
  506an_xx%=an_x%:an_yy%=an_y%
  507ENDPROC
  508DEFPROCanim(blank$)
  509PROCplot_sprite_masked(an_xx%,an_yy%,1,1,1,1+vga%,blank$)
  510SYS"OS_SpriteOp",&110,sprite_area1%,blank$,0,an_x%,an_y%,an_x%+width%,an_y%+height%
  511PROCplot_sprite_masked(an_x%,an_y%,1,1,1,1,sel_sprite$)
  512an_xx%=an_x%:an_yy%=an_y%
  513ENDPROC
  514DEFPROCend_anim(blank$)
  515PROCplot_sprite_masked(an_xx%,an_yy%,1,1,1,1+vga%,blank$)
  516ENDPROC
  517DEFPROCstart_anim2(blank2$)
  518SYS"OS_SpriteOp",&118,sprite_area1%,sel_sprite2$ TO r0,r1,r2
  519width2%=(!(r2+16)+1)*16:height2%=(!(r2+20)+1)*(4)
  520SYS"OS_SpriteOp",&110,sprite_area1%,blank2$,0,an_x2%,an_y2%,an_x2%+width2%,an_y2%+height2%
  521PROCplot_sprite_masked(an_x2%,an_y2%,1,1,1,1,sel_sprite2$)
  522an_xx2%=an_x2%:an_yy2%=an_y2%
  523ENDPROC
  524DEFPROCanim2(blank2$)
  525PROCplot_sprite_masked(an_xx2%,an_yy2%,1,1,1,1+vga%,blank2$)
  526SYS"OS_SpriteOp",&110,sprite_area1%,blank2$,0,an_x2%,an_y2%,an_x2%+width2%,an_y2%+height2%
  527PROCplot_sprite_masked(an_x2%,an_y2%,1,1,1,1,sel_sprite2$)
  528an_xx2%=an_x2%:an_yy2%=an_y2%
  529ENDPROC
  530DEFPROCend_anim2(blank2$)
  531PROCplot_sprite_masked(an_xx2%,an_yy2%,1,1,1,1+vga%,blank2$)
  532ENDPROC
  533DEFPROCpri2(x%,y%,a$)
  534SYS"Font_FindFont",,"TABLOID.Medium",320,360,0,0 TO han%
  535SYS"Font_SetFontColours",0,3,2,-2
  536VDU0,0,0,0,0,0,0,0
  537SYS"Font_Paint",,a$,16,x%,y%
  538SYS"Font_LoseFont",han%
  539ENDPROC
  540DEFPROCbox(bx%,by%,bxx%,byy%)
  541bxx%=bx%+bxx%:byy%=by%+byy%
  542VDU24,bx%;by%;bxx%;byy%;18,0,130,16
  543VDU24,bx%+4;by%+4;bxx%-4;byy%-4;18,0,129,16
  544VDU24,bx%+8;by%+8;bxx%-8;byy%-8;18,0,128,16,26
  545GCOL0,3:MOVE bx%+4,by%:PLOT5,bxx%,by%:PLOT5,bxx%,byy%-4
  546MOVE bx%+4,by%+2:PLOT5,bxx%-2,by%+2:PLOT5,bxx%-2,byy%-4
  547GCOL0,2:MOVE bx%+8,by%+4:PLOT5,bxx%-4,by%+4:PLOT5,bxx%-4,byy%-8
  548MOVE bx%+8,by%+6:PLOT5,bxx%-6,by%+6:PLOT5,bxx%-6,byy%-8
  549ENDPROC
  550DEFPROCbox2(bx%,by%,bxx%,byy%)
  551bxx%=bx%+bxx%:byy%=by%+byy%
  552VDU24,bx%-4;by%-4;bxx%+4;byy%+4;18,0,131,16
  553VDU24,bx%;by%;bxx%;byy%;18,0,128,16,26
  554ENDPROC
  555DEFPROCbox3(bx%,by%,bxx%,byy%)
  556bxx%=bx%+bxx%:byy%=by%+byy%
  557VDU24,bx%-4;by%-4;bxx%+4;byy%+4;18,0,130,16
  558VDU24,bx%;by%;bxx%;byy%;18,0,131,16,26
  559ENDPROC
  560DEFPROCset_up_count_down(tx%,ty%,digits%,amount%,timer%)
  561PROCbox2(tx%,ty%,48*digits%,72)
  562count_down%(timer%)=TIME+amount%
  563ENDPROC
  564DEFFNprint_timer(tx%,ty%,digits%,timer%)
  565timer%=(count_down%(timer%)-TIME)/100
  566IFtimer%<0 timer%=0000:count_down%(timer%)=0
  567t$=STR$(timer%)
  568PROCplot_numbers(tx%+24,ty%+8,digits%,t$)
  569=t$
  570DEFPROCplot_numbers2(x%,y%,digits%,a$)
  571FORpn%=1 TO LEN(a$)
  572PROCplot_sprite((x%-36)+(pn%*36),y%,1,1,1,1,MID$(a$,pn%,1))
  573NEXT
  574ENDPROC
  575DEFPROCplot_numbers(x%,y%,digits%,a$)
  576IFLEN(a$)<digits% THEN
  577REPEAT
  578a$="d"+a$
  579UNTILLEN(a$)=digits%
  580ENDIF
  581FORpn%=1 TO LEN(a$)
  582PROCplot_sprite((x%-36)+(pn%*36),y%,1,1,1,1,MID$(a$,pn%,1))
  583NEXT
  584ENDPROC
  585DEFPROCset_pos_buttons(bx%,by%)
  586FORbf%=1TO total_but%
  587but%(bf%,0)=but%(bf%,0)+bx%
  588but%(bf%,1)=but%(bf%,1)+by%
  589NEXT
  590ENDPROC
  591DEFPROCdefine_buttons(set%)
  592IFset%=1:total_but%=1:RESTORE597
  593FORbut_number%=1TOtotal_but%
  594READbut%(but_number%,0),but%(but_number%,1),but%(but_number%,2),but%(but_number%,3),but%(but_number%,4),but$(but_number%)
  595NEXT
  596ENDPROC
  597DATA 100,100,200,40,2,Go on
  598DEFPROCset_new_buttons
  599FORbut_n%=1TOtotal_but%
  600IFbut%(but_n%,4)=0 OR but%(but_n%,4)=3:colour%=0
  601IFbut%(but_n%,4)=1 :colour%=1
  602IFbut%(but_n%,4)=2 :colour%=3
  603IF colour%>0:PROCbut_surround(but%(but_n%,0),but%(but_n%,1),but%(but_n%,2),but%(but_n%,3),colour%)
  604IF colour%>0:PROCbut_centre(but%(but_n%,0),but%(but_n%,1),but%(but_n%,2),but%(but_n%,3),128,colour%,but$(but_n%))
  605VDU26
  606NEXT
  607ENDPROC
  608DEFPROCbut_surround(bx%,by%,bxx%,byy%,col%)
  609GCOL0,col%
  610MOVEbx%,by%:PLOT1,bxx%,0:PLOT1,0,(byy%+4):PLOT1,-2,0:PLOT1,0,-(byy%+4):PLOT0,2,(byy%+4):PLOT1,-bxx%,0:PLOT1,0,-(byy%+4):PLOT1,2,0:PLOT1,0,(byy%+4)
  611IFvga%=1 MOVEbx%,by%-2:PLOT1,bxx%,0:PLOT1,0,(byy%+8):PLOT1,-bxx%,0:PLOT1,0,-(byy%+8)
  612ENDPROC
  613DEFPROCbut_centre(bx%,by%,bxx%,byy%,bcol%,col%,text$)
  614GCOL0,bcol%:GCOL0,col%
  615IFV%=1 correct%=2 ELSE correct%=0
  616VDU24,bx%+4;by%+4-correct%;bx%+bxx%-4;by%+byy%+correct%;16,26,5
  617left_margin%=(bxx%-(LEN(text$)*16))/2
  618MOVEbx%+left_margin%,by%+36:PRINTtext$
  619VDU4
  620ENDPROC
  621DEFPROCcheck_buttons(an_num%)
  622selected%=0
  623MOUSEmx%,my%,mc%
  624cb%=INKEY(1)
  625IFcb%=16 cb%=0:PROCprinter
  626IFcb%=19 cb%=0:PROCscreen_save(0)
  627FORbut_n%=1 TO total_but%
  628IFbut%(but_n%,4)<2:NEXT:ENDPROC
  629IFmx%<but%(but_n%,0) OR mx%>(but%(but_n%,0)+but%(but_n%,2)) OR my%<but%(but_n%,1) OR my%>(but%(but_n%,1)+but%(but_n%,3))THEN
  630IFPOINT(but%(but_n%,0)+6,but%(but_n%,1)+8)=4 AND but%(but_n%,4)<3:PROCbut_centre(but%(but_n%,0),but%(but_n%,1),but%(but_n%,2),but%(but_n%,3),128,3,but$(but_n%))
  631ELSE
  632IFPOINT(but%(but_n%,0)+6,but%(but_n%,1)+4)=0 AND but%(but_n%,4)<3:PROCbut_centre(but%(but_n%,0),but%(but_n%,1),but%(but_n%,2),but%(but_n%,3),132,3,but$(but_n%))
  633IFmc%=4:selected%=but_n%
  634ENDIF
  635IFan_num%>0:PROCsp_anim(an_num%)
  636NEXT
  637ENDPROC
  638DEFPROCsp_anim(an_num%)
  639IFan_num%=1 THEN
  640IFan_t%+30<TIME AND alter%=1 THEN
  641IFsections%=1 THEN
  642PROCboa2(1100,764,48,56)
  643ENDIF
  644alter%=2
  645ENDIF
  646IFan_t%+50<TIME THEN
  647IFsections%=1 THEN
  648PROCboa(1100,764,48,56)
  649ENDIF
  650alter%=1
  651an_t%=TIME
  652ENDIF
  653ENDIF
  654IFan_num%=2 THEN
  655IFsections%=1 THEN
  656PROCboa(1100,764,48,56)
  657ENDIF
  658IFsound_t%+100<TIME:SOUND1,-6,&1000,20:sound_t%=TIME
  659ENDIF
  660ENDPROC
  661DEFPROCcheck_an_num
  662RESTORE5071
  663go_an%=0
  664FORcan%=1TO an_num%
  665FORcann%=1TO3:READanx%(cann%),any%(cann%),anxx%(cann%),anyy%(cann%),an_type%(cann%):NEXT
  666NEXT
  667IFmx%<anxx%(1) AND mx%>anx%(1) AND my%<anyy%(1) AND my%>any%(1):go_an%=an_type%(1)
  668IFmx%<anxx%(2) AND mx%>anx%(2) AND my%<anyy%(2) AND my%>any%(2):go_an%=an_type%(2)
  669IFmx%<anxx%(3) AND mx%>anx%(3) AND my%<anyy%(3) AND my%>any%(3):go_an%=an_type%(3)
  670IFgo_an%=1 PROCbounce_ball
  671IFgo_an%=2 PROCsweep
  672IFgo_an%>0 PROCset_new_buttons
  673ENDPROC
  674DEFPROCplot_sprite_back(x%,y%,xm%,ym%,xd%,yd%,name$)
  675SYS"OS_SpriteOp",&128,sprite_area1%,name$ TO r0,r1,r2,A%,B%,r5,r6
  676VDU24,x%-8;y%-8;x%+8+(A%*2);y%+8+(B%*4);18,0,131,16,26
  677!(scale%+0)=xm%
  678!(scale%+4)=ym%*(vga%+1)
  679!(scale%+8)=xd%
  680!(scale%+12)=yd%
  681SYS"OS_SpriteOp",&134,sa1%,name$,x%,y%,0,scale%,0
  682ENDPROC
  683DEFPROCpalette2
  684VDU19,1,24,136,136,136
  685LOCALp%,r%,g%,b%
  686RESTORE+4
  687FORp%=0TO15
  688READr%,g%,b%:COLOURp%,r%,g%,b%
  689NEXT:ENDPROC
  690DATA 255,255,255,187,187,187,136,136,136,0,0,0
  691DATA 0,0,175,0,0,255,0,204,255,255,255,0
  692DATA 204,204,0,221,0,0,136,17,0,0,153,0
  693DATA 0,187,34,0,255,0,255,221,170,0,0,175
  694DEFPROCintiger_icns
  695REM U% = a0,a1,a2,a3
  696REM V% = b0,b1,b2 b3 ......mixed(b13)
  697FORf%=0 TO 12
  698IF(U% AND (1<<f%))=(1<<f%) firstn%(f%)=1 ELSE firstn%(f%)=0
  699NEXT
  700FORf%=0 TO 12
  701IF(W% AND (1<<f%))=(1<<f%) secondn%(f%)=1 ELSE secondn%(f%)=0
  702NEXT
  703IF(W% AND (1<<13))=(1<<13) mixedn%=1 ELSE mixedn%=0
  704ENDPROC
  705DEFPROCset_table_one
  706PROCintiger_icns
  707firn%=0
  708secn%=0
  709FORf%=1TO12
  710IFsecondn%(f%)=1:secn%+=1
  711NEXT
  712FORf%=1TO12
  713IFfirstn%(f%)=1:firn%+=1
  714NEXT
  715last_chosen1%=G%>>8
  716last_chosen2%=G% AND &F
  717repeat_error2%=0
  718REPEAT
  719repeat_error2%=repeat_error2%+1
  720loops%=0
  721IFsecn%>firn% THEN
  722REPEAT
  723loops%+=1
  724a%=RND(12)
  725UNTIL firstn%(a%)=1 AND (rnd_picker1%(a%)=0 OR loops%>20)
  726rnd_picker1%(a%)=1
  727ELSE
  728REPEAT
  729loops%+=1
  730a%=RND(12)
  731UNTIL secondn%(a%)=1 AND (rnd_picker1%(a%)=0 OR loops%>20)
  732rnd_picker1%(a%)=1
  733ENDIF
  734UNTIL (a%<>last_chosen1% OR repeat_error2%>10)
  735G%=a%<<8
  736G%=G% OR last_chosen2%
  737table%=a%
  738ENDPROC
  739DEFPROCclear_rnd1
  740FORf%=0TO12
  741rnd_picker1%(f%)=0
  742NEXT
  743ENDPROC
  744DEFPROCclear_rnd2
  745FORf%=0TO12
  746rnd_picker2%(f%)=0
  747NEXT
  748ENDPROC
  749DEFPROCassemble2
  750*FX113,1
  751*FX112,2
  752FORopt%=0 TO 3 STEP3
  753P%=m_code2%
  754[
  755OPT0 
  756.move_bombs
  757EQUD main               
  758EQUD set_quicksand      
  759EQUD splodge            
  760EQUD scroll_all         
  761.main
  762.set_quicksand
  763
  764
  765
  766
  767MOV R4,#0   
  768.qs_line_loop
  769MOV R5,#0   
  770.qs_column_loop
  771STR R2,[R0,R5]
  772ADD R5,R5,#4
  773CMP R5,#320
  774BNE qs_column_loop
  775ADD R4,R4,#1
  776CMP R4,R1
  777BGT out_qs
  778ADD R0,R0,#320
  779MOV R5,#0   
  780.qs_column_loop2
  781STR R3,[R0,R5]
  782ADD R5,R5,#4
  783CMP R5,#320
  784BNE qs_column_loop2
  785ADD R4,R4,#1
  786CMP R4,R1
  787BGT out_qs
  788ADD R0,R0,#320
  789B qs_line_loop
  790.out_qs
  791MOV R15,R14
  792.splodge
  793
  794
  795
  796
  797
  798MOV R9,R4
  799MOV R4,#0   
  800.qs_line_loop
  801MOV R5,#0   
  802.qs_column_loop
  803STR R2,[R0,R5]
  804ADD R5,R5,#4
  805CMP R5,#320
  806BNE qs_column_loop
  807ADD R4,R4,#1
  808CMP R4,R1
  809BGT out_qs
  810ADD R0,R0,#320
  811MOV R5,#0   
  812.qs_column_loop2
  813STR R3,[R0,R5]
  814ADD R5,R5,#4
  815CMP R5,R9
  816BLT qs_column_loop2
  817ADD R4,R4,#1
  818CMP R4,R1
  819BGT out_qs
  820ADD R0,R0,#320
  821B qs_line_loop
  822.out_qs
  823MOV R15,R14
  824.scroll_all
  825
  826
  827
  828
  829
  830MOV R4,#200
  831ADD R8,R4,#120           
  832CMP R2,#1
  833BEQ left_scroll_all
  834.right_scroll_all
  835MOV R4,#0                
  836.line_right_all
  837
  838SUB R6,R8,#4             
  839LDR R10,[R0,R6]          
  840LDR R11,[R1,R6]          
  841.line_right_loop         
  842SUB R5,R6,#4
  843LDR R7,[R0,R5]
  844STR R7,[R0,R6]
  845LDR R7,[R1,R5]
  846STR R7,[R1,R6]
  847SUB R6,R6,#4
  848CMP R6,#0
  849BNE line_right_loop
  850STR R10,[R1,R6]
  851STR R11,[R0,R6]
  852ADD R0,R0,R8
  853ADD R1,R1,R8
  854ADD R4,R4,#1
  855CMP R4,R3
  856BNE line_right_all
  857MOV R15,R14
  858.left_scroll_all
  859MOV R4,#0                
  860.line_right_all
  861
  862MOV R6,#0                
  863LDR R10,[R0,R6]          
  864LDR R11,[R1,R6]          
  865.line_right_loop         
  866ADD R5,R6,#4
  867LDR R7,[R0,R5]
  868STR R7,[R0,R6]
  869LDR R7,[R1,R5]
  870STR R7,[R1,R6]
  871ADD R6,R6,#4
  872CMP R6,R8
  873BNE line_right_loop
  874SUB R6,R8,#4
  875STR R10,[R1,R6]
  876STR R11,[R0,R6]
  877ADD R0,R0,R8
  878ADD R1,R1,R8
  879ADD R4,R4,#1
  880CMP R4,R3
  881BNE line_right_all
  882MOV R15,R14
  883.code_end
  884]
  885NEXT
  886*FX112,1
  887*FX113,1
  888ENDPROC
  889DEFPROCpull_pac_code_var
  890main%=!(m_code2%+&0)
  891set_quicksand%=!(m_code2%+&4)
  892splodge%=!(m_code2%+&8)
  893scroll_all%=!(m_code2%+&C)
  894ENDPROC
1�ADFS::HardDisc4.$.CURR_NEW.!Tables.Pt1.jump
'� non games section of talbe aliens
!ț "<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)     :� but%(#,0)=x
:� but%(#,1)=y
!:� but%(#,2)=length of button
!:� but%(#,3)=height of button
(:� but%(#,4)=0=off 1=greyed out 2=on
4� area%(10,4)             :� -,x,y,length,height
� points%(2,10)
<� string% 128             :� used to measure font string
7� tables%(12,5)           :� 12 questions 1 * 2 = 3
� 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)
%� sprite scale
&� scale% 16
'� scale2% 16
(� find screen tables
)� input% 16
*� output% 16
+� alx%(12),aly%(12)
,� apx%(12),apy%(12)
-P� grid%(10,14,4):� grid 10x14/0-3 number/back colour/forground colour/select
.� regroup%(11)
/� crack%(16)
0� jump_sequ%(4,10,3)
1stored_vga%=V%
2vga%=V%:� V%=0
3� O%=game level
4� Z%=speed of machine
5!� V%=1 then vga V%=0 then cga
6� K%=code address
7%� U%=first number 1-12 bit values
8;� W%=second number 1-12 +mixed first and second factors
9� T%=table tests
:� PROCfind_screens
;�pull_variables
<�initialise_sprite_area
=addrs$=�~m_code1%
>,�"LOAD <TableA$Dir>.pt1.GenCode "+addrs$
?�assemble2
@,�V%=0 �24,0;960;1278;1022;18,0,131,16,26
A�V%=1 � 23,17,7,6,8;16;0;
B�find_screens
C�pull_gen_code_var
D�pull_pac_code_var
Esa1%=sprite_area1%
Fnumber_of%=10
Gtimer_on%=1
HA� style1= 1*4=4 2*4=8 style2= 4*1=4 4*2=8 style3= 4*1=4 2*4=8
Istyle%=1
J'� order%=1 1234567  order%=2 253414
Korder%=2
Ltext_col%=3
M
�palette2
N�19,1,24,0,0,0
O
� COLOUR3
P� PRINT"test"
Q� REPEAT
R� PRINT" G% ";G%
S� PROCset_table_one
T� PRINT" a% ";a%
U� a=GET
V� UNTIL FALSE
W�Q%=23 �
X
�intro
Y	�jump
Z*FX112,1
[*FX113,1
\�tscore(512,360)
]�space(900,100,0,0)
^	Q%=24
_�
`2�Q%=24:V%=stored_vga%:�"<TableA$dir>.PT1.LINK"
a�Q%=31 �
b
�intro
c	�jump
d*FX112,1
e*FX113,1
f�tscore(512,360)
g�space(900,100,0,0)
h	Q%=25
i�
j2�Q%=25:V%=stored_vga%:�"<TableA$dir>.PT1.LINK"
k
�Q%=207 �
l
�intro
m	�jump
n*FX112,1
o*FX113,1
p�tscore(512,360)
q�space(900,100,0,0)
r
�S%=1 �dt
s�"<TableA$dir>.PT1.LINK"
t�
u�Q%=65 �
v
�intro
w	�jump
x*FX112,1
y*FX113,1
z�tscore(512,360)
{�space(900,100,0,0)
|E�text_box(100,100,1080,90,2,"You walk into the next room.","","")
}�space(900,40,0,0)
~	Q%=66
�
�2�Q%=66:V%=stored_vga%:�"<TableA$dir>.PT1.LINK"
��Q%=74 �
�
�intro
�	�jump
�*FX112,1
�*FX113,1
��tscore(512,360)
��space(900,100,0,0)
�E�text_box(100,100,1080,90,2,"You walk into the next room.","","")
��space(900,100,0,0)
�	Q%=75
��
�2�Q%=75:V%=stored_vga%:�"<TableA$dir>.PT1.LINK"
���intro
�Ƞ 1
��load_sprites("jump2")
��merge_sprites("numbers")
��merge_sprites("buttons")
��Q%>60 �
��plates2
�block_y%=260
�glen%=6
��pipe_work
�b�text_box(100,740,1080,150,2,"At the end of the corridor are","several large store rooms.","")
��space(900,100,0,0)
�H�text_box(100,600,1080,90,2,"It is a long way to the ground.","","")
��space(900,100,0,0)
��
��Q%=31 �
��plates2
�block_y%=260
�glen%=6
��pipe_work
�[�text_box(100,740,1080,150,2,"Outside the fuel store room is","a dangerous bridge.","")
��space(900,100,0,0)
��
��
���plates
��pf%=0 � 1280 � 256
��py%=0 � 960 � 192
�(�plot_sprite(pf%,py%,1,1,1,1,"tin1")
��:�
��
�
��plates2
��pf%=0 � 1280 � 256
��py%=0 � 960 � 192
�(�plot_sprite(pf%,py%,1,1,1,1,"tin2")
��:�
��
�
��jump
�� set numbers
�total_possible%=20
�total_got%=20
��set_table_one
�*FX112,2
��0,129:�plates2
�,�V%=0 �24,0;960;1278;1022;18,0,131,16,26
�*FX112,1
�fade$="fade2"
��fade(0,960,4,0,1,1)
�block_y%=260
�glen%=6
��set_screen(0)
�block_y%=260
�an_x%=8:an_y%=block_y%+60
�sel_sprite$="jum1"
�blank$="blank"
��start_anim(blank$)
�0B%=screen_one%:C%=screen_two%:� save_screen%
��Q%>60 �
�F�text_box(200,830,880,90,2,"You must get across this room.","","")
��space(900,100,0,0)
��
��Q%=23 �
�J�text_box(200,830,880,90,2,"You find yourself in a large room.","","")
��space(900,100,0,0)
��
�
�Q%<200 �
�V�text_box(200,630,880,180,2,"Only some of the blocks will","take your weight.","")
��space(900,100,0,0)
��
��game(table%)
��
���game(table%)
�st_block%=0:scrolls%=0
�glen%=6
��
�*FX112,2
��0,129:�plates2
�,�V%=0 �24,0;960;1278;1022;18,0,131,16,26
��st_block%>3 �
�added_rnd%=�(3)-1
�block_y%=260
�%�set_screen(st_block%-added_rnd%)
�block_y%=260
�-an_x%=8+(added_rnd%*84):an_y%=block_y%+60
��
�added_rnd%=0
�block_y%=260
��set_screen(st_block%)
�block_y%=260
�an_x%=8:an_y%=block_y%+60
��
�sel_sprite$="jum1"
�blank$="blank"
��start_anim(blank$)
��   fade$="fade"
��   PROCfade(0,960,4,0,1,1)
�t�text_box(200,730,880,190,2,"Click on the block that is the","next number in the "+�(table%)+" times table.","")
�fade$="fade2"
��fade(0,960,4,0,1,1)
��0,129:�plates2
�,�V%=0 �24,0;960;1278;1022;18,0,131,16,26
�*FX112,1
��input_mouse
��jumping(ti%,table%)
�� ti% � table%<>0 �
��cachesound("crack2",1)
��1,-15,20,20
��pause(70)
��check_crack(ti%,table%)
�total_got%=total_got%-1
�;�text_box(200,600,880,90,1,"Oh dear! Try again.","","")
��cachesound("wrong2",1)
��1,-15,20,20
��space(800,100,0,0)
��
�� ti% � table%=0 �
�cachesound("ok2",1)
� 1,&17F,1,1
3�text_box(200,600,880,90,1,"Well done!.","","")
st_block%=st_block%+table%
scrolls%=scrolls%+1
added_rnd%=0
block_y%=260
*FX112,2
�set_screen(st_block%+14)
	*FX112,1

�f%=1� 4*table%
"A%=screen_two%+((1-V%)*320*16)
"B%=screen_one%+((1-V%)*320*16)

C%=1
D%=239*(V%+1)
� scroll_all%
�
�
� scrolls%=glen%
*FX112,2
�0,129:�plates2
,�V%=0 �24,0;960;1278;1022;18,0,131,16,26
�st_block%>3 �
added_rnd%=1
block_y%=260
%�set_screen(st_block%-added_rnd%)
block_y%=260
-an_x%=8+(added_rnd%*84):an_y%=block_y%+60
�
added_rnd%=0
block_y%=260
�set_screen(st_block%)
 block_y%=260
!an_x%=8:an_y%=block_y%+60
"�
#sel_sprite$="jum1"
$blank$="blank"
%�start_anim(blank$)
&*FX112,1
'fade$="fade2"
(�fade(0,960,4,0,1,1)
)�Q%=23 �
**FX112,1
+H�text_box(200,800,880,90,1,"You have escaped from this area.","","")
,�space(900,100,0,0)
-�
.�
/��jumping(jumpy%,table%)
0�cachesound("clang2",1)
1
� �DNA
2�seq%=1 � 4
3
� amount%
4 jump_sequ%(seq%,0,0)=amount%
5�ju%=1 � amount%
6J� jump_sequ%(seq%,ju%,1),jump_sequ%(seq%,ju%,2),jump_sequ%(seq%,ju%,3)
7�
8�
9�do_sequ(1)
:�do_sequ(2)
;� jumpy%>1 �do_sequ(3)
<'� jumpy%>2 � table%+1>2 �do_sequ(2)
='� jumpy%>3 � table%+1>3 �do_sequ(3)
>'� jumpy%>4 � table%+1>4 �do_sequ(2)
?'� jumpy%>5 � table%+1>5 �do_sequ(3)
@'� jumpy%>6 � table%+1>6 �do_sequ(2)
A'� jumpy%>7 � table%+1>7 �do_sequ(3)
B'� jumpy%>8 � table%+1>8 �do_sequ(2)
C'� jumpy%>9 � table%+1>9 �do_sequ(3)
D)� jumpy%>10 � table%+1>10 �do_sequ(2)
E)� jumpy%>11 � table%+1>11 �do_sequ(3)
F� table%<jumpy% �
Gti%=table%+1
HN�text_box(200,730,880,190,2,"You are too tired.","You cannot hold on.","")
I�space(900,100,0,0)
J�
K�do_sequ(4)
L�
M)�  amount,  sprite,pause,inc_x, .....
N,� 5,  2,10,0,3,20,0,4,10,0,5,10,0,6,60,0
OR� 6,  8,20,14,9,20,14,8,20,14,7,20,14,8,20,14,9,20,14:REM one movement forward
PU� 6,  8,20,14,9,20,14,8,20,14,7,20,14,8,20,14,9,20,14:REM second movement forward
Q%� 4,  8,20,0,5,20,0,3,40,0,1,20,0
R��do_sequ(sn%)
S!�snn%=1 � jump_sequ%(sn%,0,0)
T.�sn%>1 � sn%<4 � (snn% � 2)=0 � 1,&17F,1,1
U&an_x%=an_x%+jump_sequ%(sn%,snn%,3)
V/sel_sprite$="jum"+�(jump_sequ%(sn%,snn%,1))
W�anim("blank")
X"�pause(jump_sequ%(sn%,snn%,2))
Y�
Z�
[��input_mouse
\�f%=1 � 20:ȗ x,y,z:�
]�:ȗ x,y,z:� z=0
^ȗ �
_�
`ȗ mx%,my%,mc%
amx%=mx%-(added_rnd%*84)
bti%=mx%/84
c'� mc%=4 � my%>260 � my%<400 � ti%>0
d�cachesound("plop",1)
e� 1,&17F,1,1
f�pause(20)
g�cachesound("clang2",1)
h�
i ��check_crack(jumpy%,table%)
j*fx112,2
kPș"OS_SpriteOp",&110,sprite_area1%,"blank",0,an_x%-8,0,an_x%+72,block_y%+176
lQș"OS_SpriteOp",&110,sprite_area1%,"blank2",0,an_x%-8,0,an_x%+72,block_y%+176
m*fx112,1
nman_y%=block_y%+64
obl_y%=block_y%
pcount%=1:tile%=1
q�
r
�st_pause
scount%=count%+1
t!(scale2%+0)=1
u!(scale2%+4)=1
v!(scale2%+8)=1
w!(scale2%+12)=1
x'ș"OS_SpriteOp",&13C,sa1%,"blank",0
y6ș"OS_SpriteOp",&134,sa1%,"blank2",0,0,8,scale2%,0
z8ș"OS_SpriteOp",&134,sa1%,"jum5",8,man_y%,8,scale%,0
{@ș"OS_SpriteOp",&134,sa1%,"tile"+�(tile%),0,bl_y%,8,scale%,0
|!ș"OS_SpriteOp",&13C,sa1%,0,1
}�V%=1 � 23,17,7,6,8;16;0;
~;ș"OS_SpriteOp",&134,sa1%,"blank",an_x%-8,0,0,scale2%,0
/�count%=4 � tile%<>7:tile%=tile%+1:count%=1
�bl_y%=bl_y%-12
�man_y%=man_y%-8
��en_pause(6)
�� man_y%<-80
��
���set_screen(number%)
�-�V%=0 � 24,0;960;1278;1022;18,0,131,16,26
��f%=0 � 1280 � 84
��number%<(table%*glen%)+1 �
�3�plot_sprite_masked(f%,block_y%,1,1,1,1,"tile")
��5
��0,3
�� number%>-1 �
�a$=�(number%)
�� �(a$)=1 a$=" "+a$
�� f%+22,block_y%+40:�;a$
�number%=number%+1
��
��
�O�number%=(table%*glen%)+1 �plot_sprite_masked(f%,block_y%,1,1,1,1,"tile11")
�O�number%>(table%*glen%)+1 �plot_sprite_masked(f%,block_y%,1,1,1,1,"tile12")
�number%=number%+1
��
��
���pipe_work
��f%=0 � 1280 � 64
�8�plot_sprite_masked(f%,block_y%+176,1,1,1,1,"pipe1")
��
��f%=0 � 1280 � 64
�<�plot_sprite_masked(f%,block_y%+176+160,1,1,1,1,"pipe1")
��
��f%=0 � 1280 � 64
�<�plot_sprite_masked(f%,block_y%+176+320,1,1,1,1,"pipe1")
��
�� block_y%=260 � 420 � 160
��ff%=0 � 1280 � 128
�&fff%=ff%:�block_y%=420 fff%=ff%+64
�:�plot_sprite_masked(fff%,block_y%+176,1,1,1,1,"pipe3")
�/�f%=block_y%+32+176 � block_y%+128+176 � 32
�0�plot_sprite_masked(fff%,f%,1,1,1,1,"pipe2")
��
�>�plot_sprite_masked(fff%,block_y%+176+160,1,1,1,1,"pipe5")
��
��
��
���sea(sc%)
�2A%=sc%+(320*(200*(V%+1)))+(((V%-1)*-1)*320*16)
�B%=40*(V%+1)-1
�a%=colour_type%
�b%=fill_type%
�FC%=(a%<<28)+(b%<<24)+(a%<<20)+(b%<<16)+(a%<<12)+(b%<<8)+(a%<<4)+b%
�FD%=(b%<<28)+(a%<<24)+(b%<<20)+(a%<<16)+(b%<<12)+(a%<<8)+(b%<<4)+a%
�
E%=320
�� splodge%
��
���backg
�	of%=0
��f%=-32 � 960 � 64
�� of%=0 of%=32 � of%=0
��ff%=0 � 1280 � 128
�� of%=0 of%=32 � of%=0
�+�plot_sprite(ff%,f%+of%,1,1,1,1,"back")
��:�
��
�?��text_box(st_x%,st_y%,length%,height%,just_type%,a$,b$,c$)
�3�text_col%=3 �box2(st_x%,st_y%,length%,height%)
�3�text_col%=0 �box3(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:� FNfont_string_w(a$):REM all heights the same?
�,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)
�4� box_type%=1 centred box_type%=2 left justified
��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%
�'�text_col%=3 �pri(xpos1%,ypos1%,a$)
�(�text_col%=0 �pri2(xpos1%,ypos1%,a$)
�2�lines%>1 � text_col%=3 �pri(xpos2%,ypos2%,b$)
�3�lines%>1 � text_col%=0 �pri2(xpos2%,ypos2%,b$)
�2�lines%>2 � text_col%=3 �pri(xpos3%,ypos3%,c$)
�3�lines%>2 � text_col%=0 �pri2(xpos3%,ypos3%,c$)
��
���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%
��
���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
�3width%=(!(r2+16)+1)*16:height%=(!(r2+20)+1)*(4)
�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$)
�
��start_anim2(blank2$)
>ș"OS_SpriteOp",&118,sprite_area1%,sel_sprite2$ � r0,r1,r2
5width2%=(!(r2+16)+1)*16:height2%=(!(r2+20)+1)*(4)
]ș"OS_SpriteOp",&110,sprite_area1%,blank2$,0,an_x2%,an_y2%,an_x2%+width2%,an_y2%+height2%
	;�plot_sprite_masked(an_x2%,an_y2%,1,1,1,1,sel_sprite2$)

!an_xx2%=an_x2%:an_yy2%=an_y2%
�
��anim2(blank2$)

=�plot_sprite_masked(an_xx2%,an_yy2%,1,1,1,1+vga%,blank2$)
]ș"OS_SpriteOp",&110,sprite_area1%,blank2$,0,an_x2%,an_y2%,an_x2%+width2%,an_y2%+height2%
;�plot_sprite_masked(an_x2%,an_y2%,1,1,1,1,sel_sprite2$)
!an_xx2%=an_x2%:an_yy2%=an_y2%
�
��end_anim2(blank2$)
=�plot_sprite_masked(an_xx2%,an_yy2%,1,1,1,1+vga%,blank2$)
�
��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
*�
+��box3(bx%,by%,bxx%,byy%)
,bxx%=bx%+bxx%:byy%=by%+byy%
--�24,bx%-4;by%-4;bxx%+4;byy%+4;18,0,130,16
.(�24,bx%;by%;bxx%;byy%;18,0,131,16,26
/�
07��set_up_count_down(tx%,ty%,digits%,amount%,timer%)
1 �box2(tx%,ty%,48*digits%,72)
2!count_down%(timer%)=�+amount%
3�
4)ݤprint_timer(tx%,ty%,digits%,timer%)
5&timer%=(count_down%(timer%)-�)/100
6/�timer%<0 timer%=0000:count_down%(timer%)=0
7t$=�(timer%)
8*�plot_numbers(tx%+24,ty%+8,digits%,t$)
9=t$
:%��plot_numbers2(x%,y%,digits%,a$)
;�pn%=1 � �(a$)
<8�plot_sprite((x%-36)+(pn%*36),y%,1,1,1,1,�a$,pn%,1))
=�
>�
?$��plot_numbers(x%,y%,digits%,a$)
@�(a$)<digits% �
A�
B
a$="d"+a$
C��(a$)=digits%
D�
E�pn%=1 � �(a$)
F8�plot_sprite((x%-36)+(pn%*36),y%,1,1,1,1,�a$,pn%,1))
G�
H�
I��set_pos_buttons(bx%,by%)
J�bf%=1� total_but%
Kbut%(bf%,0)=but%(bf%,0)+bx%
Lbut%(bf%,1)=but%(bf%,1)+by%
M�
N�
O��define_buttons(set%)
P�set%=1:total_but%=1:��DUB
Q�but_number%=1�total_but%
Rz�but%(but_number%,0),but%(but_number%,1),but%(but_number%,2),but%(but_number%,3),but%(but_number%,4),but$(but_number%)
S�
T�
U� 100,100,200,40,2,Go on
V��set_new_buttons
W�but_n%=1�total_but%
X2�but%(but_n%,4)=0 � but%(but_n%,4)=3:colour%=0
Y �but%(but_n%,4)=1 :colour%=1
Z �but%(but_n%,4)=2 :colour%=3
[b� colour%>0:�but_surround(but%(but_n%,0),but%(but_n%,1),but%(but_n%,2),but%(but_n%,3),colour%)
\q� colour%>0:�but_centre(but%(but_n%,0),but%(but_n%,1),but%(but_n%,2),but%(but_n%,3),128,colour%,but$(but_n%))
]�26
^�
_�
`*��but_surround(bx%,by%,bxx%,byy%,col%)
a�0,col%
bx�bx%,by%:�1,bxx%,0:�1,0,(byy%+4):�1,-2,0:�1,0,-(byy%+4):�0,2,(byy%+4):�1,-bxx%,0:�1,0,-(byy%+4):�1,2,0:�1,0,(byy%+4)
cH�vga%=1 �bx%,by%-2:�1,bxx%,0:�1,0,(byy%+8):�1,-bxx%,0:�1,0,-(byy%+8)
d�
e4��but_centre(bx%,by%,bxx%,byy%,bcol%,col%,text$)
f�0,bcol%:�0,col%
g!�V%=1 correct%=2 � correct%=0
hA�24,bx%+4;by%+4-correct%;bx%+bxx%-4;by%+byy%+correct%;16,26,5
i'left_margin%=(bxx%-(�(text$)*16))/2
j#�bx%+left_margin%,by%+36:�text$
k�4
l�
m��check_buttons(an_num%)
nselected%=0
oȗmx%,my%,mc%
pcb%=�(1)
q�cb%=16 cb%=0:�printer
r!�cb%=19 cb%=0:�screen_save(0)
s�but_n%=1 � total_but%
t�but%(but_n%,4)<2:�:�
uy�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))�
v��but%(but_n%,0)+6,but%(but_n%,1)+8)=4 � but%(but_n%,4)<3:�but_centre(but%(but_n%,0),but%(but_n%,1),but%(but_n%,2),but%(but_n%,3),128,3,but$(but_n%))
w�
x��but%(but_n%,0)+6,but%(but_n%,1)+4)=0 � but%(but_n%,4)<3:�but_centre(but%(but_n%,0),but%(but_n%,1),but%(but_n%,2),but%(but_n%,3),132,3,but$(but_n%))
y�mc%=4:selected%=but_n%
z�
{ �an_num%>0:�sp_anim(an_num%)
|�
}�
~��sp_anim(an_num%)
�an_num%=1 �
��an_t%+30<� � alter%=1 �
��sections%=1 �
��boa2(1100,764,48,56)
��
�alter%=2
��
��an_t%+50<� �
��sections%=1 �
��boa(1100,764,48,56)
��
�alter%=1
�an_t%=�
��
��
��an_num%=2 �
��sections%=1 �
��boa(1100,764,48,56)
��
�-�sound_t%+100<�:�1,-6,&1000,20:sound_t%=�
��
��
���check_an_num
�	��dOS
�go_an%=0
��can%=1� an_num%
�S�cann%=1�3:�anx%(cann%),any%(cann%),anxx%(cann%),anyy%(cann%),an_type%(cann%):�
��
�O�mx%<anxx%(1) � mx%>anx%(1) � my%<anyy%(1) � my%>any%(1):go_an%=an_type%(1)
�O�mx%<anxx%(2) � mx%>anx%(2) � my%<anyy%(2) � my%>any%(2):go_an%=an_type%(2)
�O�mx%<anxx%(3) � mx%>anx%(3) � my%<anyy%(3) � my%>any%(3):go_an%=an_type%(3)
��go_an%=1 �bounce_ball
��go_an%=2 �sweep
��go_an%>0 �set_new_buttons
��
�3��plot_sprite_back(x%,y%,xm%,ym%,xd%,yd%,name$)
�Cș"OS_SpriteOp",&128,sprite_area1%,name$ � r0,r1,r2,A%,B%,r5,r6
�8�24,x%-8;y%-8;x%+8+(A%*2);y%+8+(B%*4);18,0,131,16,26
�!(scale%+0)=xm%
�!(scale%+4)=ym%*(vga%+1)
�!(scale%+8)=xd%
�!(scale%+12)=yd%
�4ș"OS_SpriteOp",&134,sa1%,name$,x%,y%,0,scale%,0
��
���palette2
��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
���intiger_icns
�� U% = a0,a1,a2,a3
�'� V% = b0,b1,b2 b3 ......mixed(b13)
��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
�firn%=0
�secn%=0
��f%=1�12
��secondn%(f%)=1:secn%+=1
��
��f%=1�12
��firstn%(f%)=1:firn%+=1
��
�last_chosen1%=G%>>8
�last_chosen2%=G% � &F
�repeat_error2%=0
��
�#repeat_error2%=repeat_error2%+1
�loops%=0
��secn%>firn% �
��
�
loops%+=1
�a%=�(12)
�6� firstn%(a%)=1 � (rnd_picker1%(a%)=0 � loops%>20)
�rnd_picker1%(a%)=1
��
��
�
loops%+=1
�a%=�(12)
�7� secondn%(a%)=1 � (rnd_picker1%(a%)=0 � loops%>20)
�rnd_picker1%(a%)=1
��
�-� (a%<>last_chosen1% � repeat_error2%>10)
�G%=a%<<8
�G%=G% � last_chosen2%
�
table%=a%
��
���clear_rnd1
��f%=0�12
�rnd_picker1%(f%)=0
��
��
���clear_rnd2
��f%=0�12
�rnd_picker2%(f%)=0
��
��
���assemble2
�*FX113,1
�*FX112,2
��opt%=0 � 3 �3
�P%=m_code2%
�[
�	OPT0 
�.move_bombs
�EQUD main               
�EQUD set_quicksand      
�EQUD splodge            
�EQUD scroll_all         
�	.main
�.set_quicksand
�
�
�
�
�MOV R4,#0   
.qs_line_loop
MOV R5,#0   
.qs_column_loop
STR R2,[R0,R5]
ADD R5,R5,#4
CMP R5,#320
BNE qs_column_loop
ADD R4,R4,#1

CMP R4,R1
	BGT out_qs

ADD R0,R0,#320
MOV R5,#0   
.qs_column_loop2

STR R3,[R0,R5]
ADD R5,R5,#4
CMP R5,#320
BNE qs_column_loop2
ADD R4,R4,#1

CMP R4,R1
BGT out_qs
ADD R0,R0,#320
B qs_line_loop
.out_qs
MOV R15,R14
.splodge






MOV R9,R4
MOV R4,#0   
 .qs_line_loop
!MOV R5,#0   
".qs_column_loop
#STR R2,[R0,R5]
$ADD R5,R5,#4
%CMP R5,#320
&BNE qs_column_loop
'ADD R4,R4,#1
(
CMP R4,R1
)BGT out_qs
*ADD R0,R0,#320
+MOV R5,#0   
,.qs_column_loop2
-STR R3,[R0,R5]
.ADD R5,R5,#4
/
CMP R5,R9
0BLT qs_column_loop2
1ADD R4,R4,#1
2
CMP R4,R1
3BGT out_qs
4ADD R0,R0,#320
5B qs_line_loop
6.out_qs
7MOV R15,R14
8.scroll_all
9
:
;
<
=
>MOV R4,#200
?ADD R8,R4,#120           
@
CMP R2,#1
ABEQ left_scroll_all
B.right_scroll_all
CMOV R4,#0                
D.line_right_all
E
FSUB R6,R8,#4             
GLDR R10,[R0,R6]          
HLDR R11,[R1,R6]          
I.line_right_loop         
JSUB R5,R6,#4
KLDR R7,[R0,R5]
LSTR R7,[R0,R6]
MLDR R7,[R1,R5]
NSTR R7,[R1,R6]
OSUB R6,R6,#4
P
CMP R6,#0
QBNE line_right_loop
RSTR R10,[R1,R6]
SSTR R11,[R0,R6]
TADD R0,R0,R8
UADD R1,R1,R8
VADD R4,R4,#1
W
CMP R4,R3
XBNE line_right_all
YMOV R15,R14
Z.left_scroll_all
[MOV R4,#0                
\.line_right_all
]
^MOV R6,#0                
_LDR R10,[R0,R6]          
`LDR R11,[R1,R6]          
a.line_right_loop         
bADD R5,R6,#4
cLDR R7,[R0,R5]
dSTR R7,[R0,R6]
eLDR R7,[R1,R5]
fSTR R7,[R1,R6]
gADD R6,R6,#4
h
CMP R6,R8
iBNE line_right_loop
jSUB R6,R8,#4
kSTR R10,[R1,R6]
lSTR R11,[R0,R6]
mADD R0,R0,R8
nADD R1,R1,R8
oADD R4,R4,#1
p
CMP R4,R3
qBNE line_right_all
rMOV R15,R14
s
.code_end
t]
u�
v*FX112,1
w*FX113,1
x�
y��pull_pac_code_var
zmain%=!(m_code2%+&0)
{!set_quicksand%=!(m_code2%+&4)
|splodge%=!(m_code2%+&8)
}scroll_all%=!(m_code2%+&C)
~�
�
00000000  0d 00 00 31 f4 ff 41 44  46 53 3a 3a 48 61 72 64  |...1..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 6a 75 6d  |.!Tables.Pt1.jum|
00000030  70 0d 00 01 27 f4 20 6e  6f 6e 20 67 61 6d 65 73  |p...'. non games|
00000040  20 73 65 63 74 69 6f 6e  20 6f 66 20 74 61 6c 62  | section of talb|
00000050  65 20 61 6c 69 65 6e 73  0d 00 02 21 c8 9b 20 22  |e aliens...!.. "|
00000060  3c 54 61 62 6c 65 41 24  44 69 72 3e 2e 50 74 31  |<TableA$Dir>.Pt1|
00000070  2e 4c 69 62 72 61 72 79  22 0d 00 03 0c 2a 46 58  |.Library"....*FX|
00000080  32 32 35 2c 31 0d 00 04  0c 2a 46 58 32 32 39 2c  |225,1....*FX229,|
00000090  30 0d 00 05 0d 2a 46 58  32 32 30 2c 31 37 0d 00  |0....*FX220,17..|
000000a0  06 1c ee 85 3a ff 22 46  58 32 32 39 2c 31 22 3a  |....:."FX229,1":|
000000b0  ee 85 20 87 3a f2 64 74  7c 4d 0d 00 07 21 2a 4b  |.. .:.dt|M...!*K|
000000c0  45 59 31 20 56 25 3d 73  74 6f 72 65 64 5f 76 67  |EY1 V%=stored_vg|
000000d0  61 25 3a 50 52 4f 43 64  74 7c 4d 0d 00 08 15 2a  |a%:PROCdt|M....*|
000000e0  4b 45 59 35 20 50 52 4f  43 73 74 61 74 73 7c 4d  |KEY5 PROCstats|M|
000000f0  0d 00 09 51 2a 4b 45 59  39 20 4d 4f 55 53 45 52  |...Q*KEY9 MOUSER|
00000100  45 43 54 41 4e 47 4c 45  20 30 2c 30 2c 31 32 37  |ECTANGLE 0,0,127|
00000110  38 2c 39 36 30 3a 52 45  50 45 41 54 3a 4d 4f 55  |8,960:REPEAT:MOU|
00000120  53 45 58 2c 59 2c 5a 3a  50 2e 54 41 42 28 30 2c  |SEX,Y,Z:P.TAB(0,|
00000130  30 29 58 2c 59 3a 55 4e  54 49 4c 20 46 41 4c 53  |0)X,Y:UNTIL FALS|
00000140  45 0d 00 0a 6d 2a 4b 45  59 33 20 6c 65 6e 67 74  |E...m*KEY3 lengt|
00000150  68 24 3d 53 54 52 24 7e  32 36 32 31 34 34 3a 66  |h$=STR$~262144:f|
00000160  72 6f 6d 24 3d 53 54 52  24 7e 62 61 63 6b 5f 64  |rom$=STR$~back_d|
00000170  61 74 61 25 3a 66 69 6c  65 24 3d 22 62 67 64 61  |ata%:file$="bgda|
00000180  74 61 32 22 3a 4f 53 43  4c 49 22 53 41 56 45 20  |ta2":OSCLI"SAVE |
00000190  22 2b 66 69 6c 65 24 2b  22 20 22 2b 66 72 6f 6d  |"+file$+" "+from|
000001a0  24 2b 22 20 2b 22 2b 6c  65 6e 67 74 68 24 0d 00  |$+" +"+length$..|
000001b0  0b 24 de 20 69 6e 70 75  74 5f 64 69 73 6b 5f 6e  |.$. input_disk_n|
000001c0  61 6d 65 25 20 32 35 36  2c 6d 6f 75 73 65 25 20  |ame% 256,mouse% |
000001d0  31 36 0d 00 0c 4a de 20  70 64 72 65 63 74 25 20  |16...J. pdrect% |
000001e0  31 36 2c 70 64 72 65 63  74 32 25 20 31 36 2c 70  |16,pdrect2% 16,p|
000001f0  64 74 72 61 6e 73 25 20  31 36 2c 70 64 70 6c 6f  |dtrans% 16,pdplo|
00000200  74 25 20 38 2c 63 74 72  61 6e 73 25 20 32 35 36  |t% 8,ctrans% 256|
00000210  2c 70 61 6c 74 61 62 25  20 32 35 36 0d 00 0d 24  |,paltab% 256...$|
00000220  de 20 69 6e 70 75 74 25  20 31 36 2c 6f 75 74 70  |. input% 16,outp|
00000230  75 74 25 20 31 36 2c 73  63 61 6c 65 25 20 31 36  |ut% 16,scale% 16|
00000240  0d 00 0e 2c de 20 62 75  74 25 28 34 30 2c 34 29  |...,. but%(40,4)|
00000250  2c 62 75 74 24 28 34 30  29 20 20 20 20 20 3a f4  |,but$(40)     :.|
00000260  20 62 75 74 25 28 23 2c  30 29 3d 78 0d 00 0f 12  | but%(#,0)=x....|
00000270  3a f4 20 62 75 74 25 28  23 2c 31 29 3d 79 0d 00  |:. but%(#,1)=y..|
00000280  10 21 3a f4 20 62 75 74  25 28 23 2c 32 29 3d 6c  |.!:. but%(#,2)=l|
00000290  65 6e 67 74 68 20 6f 66  20 62 75 74 74 6f 6e 0d  |ength of button.|
000002a0  00 11 21 3a f4 20 62 75  74 25 28 23 2c 33 29 3d  |..!:. but%(#,3)=|
000002b0  68 65 69 67 68 74 20 6f  66 20 62 75 74 74 6f 6e  |height of button|
000002c0  0d 00 12 28 3a f4 20 62  75 74 25 28 23 2c 34 29  |...(:. but%(#,4)|
000002d0  3d 30 3d 6f 66 66 20 31  3d 67 72 65 79 65 64 20  |=0=off 1=greyed |
000002e0  6f 75 74 20 32 3d 6f 6e  0d 00 13 34 de 20 61 72  |out 2=on...4. ar|
000002f0  65 61 25 28 31 30 2c 34  29 20 20 20 20 20 20 20  |ea%(10,4)       |
00000300  20 20 20 20 20 20 3a f4  20 2d 2c 78 2c 79 2c 6c  |      :. -,x,y,l|
00000310  65 6e 67 74 68 2c 68 65  69 67 68 74 0d 00 14 13  |ength,height....|
00000320  de 20 70 6f 69 6e 74 73  25 28 32 2c 31 30 29 0d  |. points%(2,10).|
00000330  00 15 3c de 20 73 74 72  69 6e 67 25 20 31 32 38  |..<. string% 128|
00000340  20 20 20 20 20 20 20 20  20 20 20 20 20 3a f4 20  |             :. |
00000350  75 73 65 64 20 74 6f 20  6d 65 61 73 75 72 65 20  |used to measure |
00000360  66 6f 6e 74 20 73 74 72  69 6e 67 0d 00 16 37 de  |font string...7.|
00000370  20 74 61 62 6c 65 73 25  28 31 32 2c 35 29 20 20  | tables%(12,5)  |
00000380  20 20 20 20 20 20 20 20  20 3a f4 20 31 32 20 71  |         :. 12 q|
00000390  75 65 73 74 69 6f 6e 73  20 31 20 2a 20 32 20 3d  |uestions 1 * 2 =|
000003a0  20 33 0d 00 17 19 de 20  74 61 62 6c 65 73 24 28  | 3..... tables$(|
000003b0  31 32 29 2c 74 61 24 28  31 32 29 0d 00 18 13 de  |12),ta$(12).....|
000003c0  20 6d 6f 76 5f 74 61 62  25 28 35 2c 35 29 0d 00  | mov_tab%(5,5)..|
000003d0  19 11 de 20 66 69 72 73  74 6e 25 28 31 32 29 0d  |... firstn%(12).|
000003e0  00 1a 12 de 20 73 65 63  6f 6e 64 6e 25 28 31 32  |.... secondn%(12|
000003f0  29 0d 00 1b 16 de 20 72  6e 64 5f 70 69 63 6b 65  |)..... rnd_picke|
00000400  72 31 25 28 31 32 29 0d  00 1c 16 de 20 72 6e 64  |r1%(12)..... rnd|
00000410  5f 70 69 63 6b 65 72 32  25 28 31 32 29 0d 00 1d  |_picker2%(12)...|
00000420  16 de 20 72 6e 64 5f 6e  75 6d 62 65 72 31 25 28  |.. rnd_number1%(|
00000430  31 32 29 0d 00 1e 16 de  20 72 6e 64 5f 6e 75 6d  |12)..... rnd_num|
00000440  62 65 72 32 25 28 31 32  29 0d 00 1f 14 de 20 70  |ber2%(12)..... p|
00000450  72 65 73 65 6e 74 65 64  25 28 31 32 29 0d 00 20  |resented%(12).. |
00000460  13 de 20 78 5f 61 6e 73  77 65 72 25 28 31 32 29  |.. x_answer%(12)|
00000470  0d 00 21 14 de 20 63 6f  75 6e 74 5f 64 6f 77 6e  |..!.. count_down|
00000480  25 28 36 29 0d 00 22 17  de 20 65 6e 74 72 79 5f  |%(6)..".. entry_|
00000490  61 72 65 61 73 25 28 35  2c 34 29 0d 00 23 0f de  |areas%(5,4)..#..|
000004a0  20 64 73 25 28 33 32 2c  32 29 0d 00 24 11 de 20  | ds%(32,2)..$.. |
000004b0  63 6f 72 72 25 28 33 30  2c 33 29 0d 00 25 12 f4  |corr%(30,3)..%..|
000004c0  20 73 70 72 69 74 65 20  73 63 61 6c 65 0d 00 26  | sprite scale..&|
000004d0  0f de 20 73 63 61 6c 65  25 20 31 36 0d 00 27 10  |.. scale% 16..'.|
000004e0  de 20 73 63 61 6c 65 32  25 20 31 36 0d 00 28 18  |. scale2% 16..(.|
000004f0  f4 20 66 69 6e 64 20 73  63 72 65 65 6e 20 74 61  |. find screen ta|
00000500  62 6c 65 73 0d 00 29 0f  de 20 69 6e 70 75 74 25  |bles..).. input%|
00000510  20 31 36 0d 00 2a 10 de  20 6f 75 74 70 75 74 25  | 16..*.. output%|
00000520  20 31 36 0d 00 2b 17 de  20 61 6c 78 25 28 31 32  | 16..+.. alx%(12|
00000530  29 2c 61 6c 79 25 28 31  32 29 0d 00 2c 17 de 20  |),aly%(12)..,.. |
00000540  61 70 78 25 28 31 32 29  2c 61 70 79 25 28 31 32  |apx%(12),apy%(12|
00000550  29 0d 00 2d 50 de 20 67  72 69 64 25 28 31 30 2c  |)..-P. grid%(10,|
00000560  31 34 2c 34 29 3a f4 20  67 72 69 64 20 31 30 78  |14,4):. grid 10x|
00000570  31 34 2f 30 2d 33 20 6e  75 6d 62 65 72 2f 62 61  |14/0-3 number/ba|
00000580  63 6b 20 63 6f 6c 6f 75  72 2f 66 6f 72 67 72 6f  |ck colour/forgro|
00000590  75 6e 64 20 63 6f 6c 6f  75 72 2f 73 65 6c 65 63  |und colour/selec|
000005a0  74 0d 00 2e 12 de 20 72  65 67 72 6f 75 70 25 28  |t..... regroup%(|
000005b0  31 31 29 0d 00 2f 10 de  20 63 72 61 63 6b 25 28  |11)../.. crack%(|
000005c0  31 36 29 0d 00 30 18 de  20 6a 75 6d 70 5f 73 65  |16)..0.. jump_se|
000005d0  71 75 25 28 34 2c 31 30  2c 33 29 0d 00 31 12 73  |qu%(4,10,3)..1.s|
000005e0  74 6f 72 65 64 5f 76 67  61 25 3d 56 25 0d 00 32  |tored_vga%=V%..2|
000005f0  12 76 67 61 25 3d 56 25  3a f4 20 56 25 3d 30 0d  |.vga%=V%:. V%=0.|
00000600  00 33 13 f4 20 4f 25 3d  67 61 6d 65 20 6c 65 76  |.3.. O%=game lev|
00000610  65 6c 0d 00 34 19 f4 20  5a 25 3d 73 70 65 65 64  |el..4.. Z%=speed|
00000620  20 6f 66 20 6d 61 63 68  69 6e 65 0d 00 35 21 f4  | of machine..5!.|
00000630  20 56 25 3d 31 20 74 68  65 6e 20 76 67 61 20 56  | V%=1 then vga V|
00000640  25 3d 30 20 74 68 65 6e  20 63 67 61 0d 00 36 15  |%=0 then cga..6.|
00000650  f4 20 4b 25 3d 63 6f 64  65 20 61 64 64 72 65 73  |. K%=code addres|
00000660  73 0d 00 37 25 f4 20 55  25 3d 66 69 72 73 74 20  |s..7%. U%=first |
00000670  6e 75 6d 62 65 72 20 31  2d 31 32 20 62 69 74 20  |number 1-12 bit |
00000680  76 61 6c 75 65 73 0d 00  38 3b f4 20 57 25 3d 73  |values..8;. W%=s|
00000690  65 63 6f 6e 64 20 6e 75  6d 62 65 72 20 31 2d 31  |econd number 1-1|
000006a0  32 20 2b 6d 69 78 65 64  20 66 69 72 73 74 20 61  |2 +mixed first a|
000006b0  6e 64 20 73 65 63 6f 6e  64 20 66 61 63 74 6f 72  |nd second factor|
000006c0  73 0d 00 39 14 f4 20 54  25 3d 74 61 62 6c 65 20  |s..9.. T%=table |
000006d0  74 65 73 74 73 0d 00 3a  16 f4 20 50 52 4f 43 66  |tests..:.. PROCf|
000006e0  69 6e 64 5f 73 63 72 65  65 6e 73 0d 00 3b 13 f2  |ind_screens..;..|
000006f0  70 75 6c 6c 5f 76 61 72  69 61 62 6c 65 73 0d 00  |pull_variables..|
00000700  3c 1b f2 69 6e 69 74 69  61 6c 69 73 65 5f 73 70  |<..initialise_sp|
00000710  72 69 74 65 5f 61 72 65  61 0d 00 3d 15 61 64 64  |rite_area..=.add|
00000720  72 73 24 3d c3 7e 6d 5f  63 6f 64 65 31 25 0d 00  |rs$=.~m_code1%..|
00000730  3e 2c ff 22 4c 4f 41 44  20 3c 54 61 62 6c 65 41  |>,."LOAD <TableA|
00000740  24 44 69 72 3e 2e 70 74  31 2e 47 65 6e 43 6f 64  |$Dir>.pt1.GenCod|
00000750  65 20 22 2b 61 64 64 72  73 24 0d 00 3f 0e f2 61  |e "+addrs$..?..a|
00000760  73 73 65 6d 62 6c 65 32  0d 00 40 2c e7 56 25 3d  |ssemble2..@,.V%=|
00000770  30 20 ef 32 34 2c 30 3b  39 36 30 3b 31 32 37 38  |0 .24,0;960;1278|
00000780  3b 31 30 32 32 3b 31 38  2c 30 2c 31 33 31 2c 31  |;1022;18,0,131,1|
00000790  36 2c 32 36 0d 00 41 1d  e7 56 25 3d 31 20 ef 20  |6,26..A..V%=1 . |
000007a0  32 33 2c 31 37 2c 37 2c  36 2c 38 3b 31 36 3b 30  |23,17,7,6,8;16;0|
000007b0  3b 0d 00 42 11 f2 66 69  6e 64 5f 73 63 72 65 65  |;..B..find_scree|
000007c0  6e 73 0d 00 43 16 f2 70  75 6c 6c 5f 67 65 6e 5f  |ns..C..pull_gen_|
000007d0  63 6f 64 65 5f 76 61 72  0d 00 44 16 f2 70 75 6c  |code_var..D..pul|
000007e0  6c 5f 70 61 63 5f 63 6f  64 65 5f 76 61 72 0d 00  |l_pac_code_var..|
000007f0  45 16 73 61 31 25 3d 73  70 72 69 74 65 5f 61 72  |E.sa1%=sprite_ar|
00000800  65 61 31 25 0d 00 46 11  6e 75 6d 62 65 72 5f 6f  |ea1%..F.number_o|
00000810  66 25 3d 31 30 0d 00 47  0f 74 69 6d 65 72 5f 6f  |f%=10..G.timer_o|
00000820  6e 25 3d 31 0d 00 48 41  f4 20 73 74 79 6c 65 31  |n%=1..HA. style1|
00000830  3d 20 31 2a 34 3d 34 20  32 2a 34 3d 38 20 73 74  |= 1*4=4 2*4=8 st|
00000840  79 6c 65 32 3d 20 34 2a  31 3d 34 20 34 2a 32 3d  |yle2= 4*1=4 4*2=|
00000850  38 20 73 74 79 6c 65 33  3d 20 34 2a 31 3d 34 20  |8 style3= 4*1=4 |
00000860  32 2a 34 3d 38 0d 00 49  0c 73 74 79 6c 65 25 3d  |2*4=8..I.style%=|
00000870  31 0d 00 4a 27 f4 20 6f  72 64 65 72 25 3d 31 20  |1..J'. order%=1 |
00000880  31 32 33 34 35 36 37 20  20 6f 72 64 65 72 25 3d  |1234567  order%=|
00000890  32 20 32 35 33 34 31 34  0d 00 4b 0c 6f 72 64 65  |2 253414..K.orde|
000008a0  72 25 3d 32 0d 00 4c 0f  74 65 78 74 5f 63 6f 6c  |r%=2..L.text_col|
000008b0  25 3d 33 0d 00 4d 0d f2  70 61 6c 65 74 74 65 32  |%=3..M..palette2|
000008c0  0d 00 4e 12 ef 31 39 2c  31 2c 32 34 2c 30 2c 30  |..N..19,1,24,0,0|
000008d0  2c 30 0d 00 4f 0d f4 20  43 4f 4c 4f 55 52 33 0d  |,0..O.. COLOUR3.|
000008e0  00 50 11 f4 20 50 52 49  4e 54 22 74 65 73 74 22  |.P.. PRINT"test"|
000008f0  0d 00 51 0c f4 20 52 45  50 45 41 54 0d 00 52 14  |..Q.. REPEAT..R.|
00000900  f4 20 50 52 49 4e 54 22  20 47 25 20 22 3b 47 25  |. PRINT" G% ";G%|
00000910  0d 00 53 17 f4 20 50 52  4f 43 73 65 74 5f 74 61  |..S.. PROCset_ta|
00000920  62 6c 65 5f 6f 6e 65 0d  00 54 14 f4 20 50 52 49  |ble_one..T.. PRI|
00000930  4e 54 22 20 61 25 20 22  3b 61 25 0d 00 55 0b f4  |NT" a% ";a%..U..|
00000940  20 61 3d 47 45 54 0d 00  56 11 f4 20 55 4e 54 49  | a=GET..V.. UNTI|
00000950  4c 20 46 41 4c 53 45 0d  00 57 0c e7 51 25 3d 32  |L FALSE..W..Q%=2|
00000960  33 20 8c 0d 00 58 0a f2  69 6e 74 72 6f 0d 00 59  |3 ...X..intro..Y|
00000970  09 f2 6a 75 6d 70 0d 00  5a 0c 2a 46 58 31 31 32  |..jump..Z.*FX112|
00000980  2c 31 0d 00 5b 0c 2a 46  58 31 31 33 2c 31 0d 00  |,1..[.*FX113,1..|
00000990  5c 14 f2 74 73 63 6f 72  65 28 35 31 32 2c 33 36  |\..tscore(512,36|
000009a0  30 29 0d 00 5d 17 f2 73  70 61 63 65 28 39 30 30  |0)..]..space(900|
000009b0  2c 31 30 30 2c 30 2c 30  29 0d 00 5e 09 51 25 3d  |,100,0,0)..^.Q%=|
000009c0  32 34 0d 00 5f 05 cd 0d  00 60 32 e7 51 25 3d 32  |24.._....`2.Q%=2|
000009d0  34 3a 56 25 3d 73 74 6f  72 65 64 5f 76 67 61 25  |4:V%=stored_vga%|
000009e0  3a d7 22 3c 54 61 62 6c  65 41 24 64 69 72 3e 2e  |:."<TableA$dir>.|
000009f0  50 54 31 2e 4c 49 4e 4b  22 0d 00 61 0c e7 51 25  |PT1.LINK"..a..Q%|
00000a00  3d 33 31 20 8c 0d 00 62  0a f2 69 6e 74 72 6f 0d  |=31 ...b..intro.|
00000a10  00 63 09 f2 6a 75 6d 70  0d 00 64 0c 2a 46 58 31  |.c..jump..d.*FX1|
00000a20  31 32 2c 31 0d 00 65 0c  2a 46 58 31 31 33 2c 31  |12,1..e.*FX113,1|
00000a30  0d 00 66 14 f2 74 73 63  6f 72 65 28 35 31 32 2c  |..f..tscore(512,|
00000a40  33 36 30 29 0d 00 67 17  f2 73 70 61 63 65 28 39  |360)..g..space(9|
00000a50  30 30 2c 31 30 30 2c 30  2c 30 29 0d 00 68 09 51  |00,100,0,0)..h.Q|
00000a60  25 3d 32 35 0d 00 69 05  cd 0d 00 6a 32 e7 51 25  |%=25..i....j2.Q%|
00000a70  3d 32 35 3a 56 25 3d 73  74 6f 72 65 64 5f 76 67  |=25:V%=stored_vg|
00000a80  61 25 3a d7 22 3c 54 61  62 6c 65 41 24 64 69 72  |a%:."<TableA$dir|
00000a90  3e 2e 50 54 31 2e 4c 49  4e 4b 22 0d 00 6b 0d e7  |>.PT1.LINK"..k..|
00000aa0  51 25 3d 32 30 37 20 8c  0d 00 6c 0a f2 69 6e 74  |Q%=207 ...l..int|
00000ab0  72 6f 0d 00 6d 09 f2 6a  75 6d 70 0d 00 6e 0c 2a  |ro..m..jump..n.*|
00000ac0  46 58 31 31 32 2c 31 0d  00 6f 0c 2a 46 58 31 31  |FX112,1..o.*FX11|
00000ad0  33 2c 31 0d 00 70 14 f2  74 73 63 6f 72 65 28 35  |3,1..p..tscore(5|
00000ae0  31 32 2c 33 36 30 29 0d  00 71 17 f2 73 70 61 63  |12,360)..q..spac|
00000af0  65 28 39 30 30 2c 31 30  30 2c 30 2c 30 29 0d 00  |e(900,100,0,0)..|
00000b00  72 0d e7 53 25 3d 31 20  f2 64 74 0d 00 73 1c d7  |r..S%=1 .dt..s..|
00000b10  22 3c 54 61 62 6c 65 41  24 64 69 72 3e 2e 50 54  |"<TableA$dir>.PT|
00000b20  31 2e 4c 49 4e 4b 22 0d  00 74 05 cd 0d 00 75 0c  |1.LINK"..t....u.|
00000b30  e7 51 25 3d 36 35 20 8c  0d 00 76 0a f2 69 6e 74  |.Q%=65 ...v..int|
00000b40  72 6f 0d 00 77 09 f2 6a  75 6d 70 0d 00 78 0c 2a  |ro..w..jump..x.*|
00000b50  46 58 31 31 32 2c 31 0d  00 79 0c 2a 46 58 31 31  |FX112,1..y.*FX11|
00000b60  33 2c 31 0d 00 7a 14 f2  74 73 63 6f 72 65 28 35  |3,1..z..tscore(5|
00000b70  31 32 2c 33 36 30 29 0d  00 7b 17 f2 73 70 61 63  |12,360)..{..spac|
00000b80  65 28 39 30 30 2c 31 30  30 2c 30 2c 30 29 0d 00  |e(900,100,0,0)..|
00000b90  7c 45 f2 74 65 78 74 5f  62 6f 78 28 31 30 30 2c  ||E.text_box(100,|
00000ba0  31 30 30 2c 31 30 38 30  2c 39 30 2c 32 2c 22 59  |100,1080,90,2,"Y|
00000bb0  6f 75 20 77 61 6c 6b 20  69 6e 74 6f 20 74 68 65  |ou walk into the|
00000bc0  20 6e 65 78 74 20 72 6f  6f 6d 2e 22 2c 22 22 2c  | next room.","",|
00000bd0  22 22 29 0d 00 7d 16 f2  73 70 61 63 65 28 39 30  |"")..}..space(90|
00000be0  30 2c 34 30 2c 30 2c 30  29 0d 00 7e 09 51 25 3d  |0,40,0,0)..~.Q%=|
00000bf0  36 36 0d 00 7f 05 cd 0d  00 80 32 e7 51 25 3d 36  |66........2.Q%=6|
00000c00  36 3a 56 25 3d 73 74 6f  72 65 64 5f 76 67 61 25  |6:V%=stored_vga%|
00000c10  3a d7 22 3c 54 61 62 6c  65 41 24 64 69 72 3e 2e  |:."<TableA$dir>.|
00000c20  50 54 31 2e 4c 49 4e 4b  22 0d 00 81 0c e7 51 25  |PT1.LINK".....Q%|
00000c30  3d 37 34 20 8c 0d 00 82  0a f2 69 6e 74 72 6f 0d  |=74 ......intro.|
00000c40  00 83 09 f2 6a 75 6d 70  0d 00 84 0c 2a 46 58 31  |....jump....*FX1|
00000c50  31 32 2c 31 0d 00 85 0c  2a 46 58 31 31 33 2c 31  |12,1....*FX113,1|
00000c60  0d 00 86 14 f2 74 73 63  6f 72 65 28 35 31 32 2c  |.....tscore(512,|
00000c70  33 36 30 29 0d 00 87 17  f2 73 70 61 63 65 28 39  |360).....space(9|
00000c80  30 30 2c 31 30 30 2c 30  2c 30 29 0d 00 88 45 f2  |00,100,0,0)...E.|
00000c90  74 65 78 74 5f 62 6f 78  28 31 30 30 2c 31 30 30  |text_box(100,100|
00000ca0  2c 31 30 38 30 2c 39 30  2c 32 2c 22 59 6f 75 20  |,1080,90,2,"You |
00000cb0  77 61 6c 6b 20 69 6e 74  6f 20 74 68 65 20 6e 65  |walk into the ne|
00000cc0  78 74 20 72 6f 6f 6d 2e  22 2c 22 22 2c 22 22 29  |xt room.","","")|
00000cd0  0d 00 89 17 f2 73 70 61  63 65 28 39 30 30 2c 31  |.....space(900,1|
00000ce0  30 30 2c 30 2c 30 29 0d  00 8a 09 51 25 3d 37 35  |00,0,0)....Q%=75|
00000cf0  0d 00 8b 05 cd 0d 00 8c  32 e7 51 25 3d 37 35 3a  |........2.Q%=75:|
00000d00  56 25 3d 73 74 6f 72 65  64 5f 76 67 61 25 3a d7  |V%=stored_vga%:.|
00000d10  22 3c 54 61 62 6c 65 41  24 64 69 72 3e 2e 50 54  |"<TableA$dir>.PT|
00000d20  31 2e 4c 49 4e 4b 22 0d  00 8d 0b dd f2 69 6e 74  |1.LINK"......int|
00000d30  72 6f 0d 00 8e 08 c8 a0  20 31 0d 00 8f 1a f2 6c  |ro...... 1.....l|
00000d40  6f 61 64 5f 73 70 72 69  74 65 73 28 22 6a 75 6d  |oad_sprites("jum|
00000d50  70 32 22 29 0d 00 90 1d  f2 6d 65 72 67 65 5f 73  |p2").....merge_s|
00000d60  70 72 69 74 65 73 28 22  6e 75 6d 62 65 72 73 22  |prites("numbers"|
00000d70  29 0d 00 91 1d f2 6d 65  72 67 65 5f 73 70 72 69  |).....merge_spri|
00000d80  74 65 73 28 22 62 75 74  74 6f 6e 73 22 29 0d 00  |tes("buttons")..|
00000d90  92 0c e7 51 25 3e 36 30  20 8c 0d 00 93 0c f2 70  |...Q%>60 ......p|
00000da0  6c 61 74 65 73 32 0d 00  94 10 62 6c 6f 63 6b 5f  |lates2....block_|
00000db0  79 25 3d 32 36 30 0d 00  95 0b 67 6c 65 6e 25 3d  |y%=260....glen%=|
00000dc0  36 0d 00 96 0e f2 70 69  70 65 5f 77 6f 72 6b 0d  |6.....pipe_work.|
00000dd0  00 97 62 f2 74 65 78 74  5f 62 6f 78 28 31 30 30  |..b.text_box(100|
00000de0  2c 37 34 30 2c 31 30 38  30 2c 31 35 30 2c 32 2c  |,740,1080,150,2,|
00000df0  22 41 74 20 74 68 65 20  65 6e 64 20 6f 66 20 74  |"At the end of t|
00000e00  68 65 20 63 6f 72 72 69  64 6f 72 20 61 72 65 22  |he corridor are"|
00000e10  2c 22 73 65 76 65 72 61  6c 20 6c 61 72 67 65 20  |,"several large |
00000e20  73 74 6f 72 65 20 72 6f  6f 6d 73 2e 22 2c 22 22  |store rooms.",""|
00000e30  29 0d 00 98 17 f2 73 70  61 63 65 28 39 30 30 2c  |).....space(900,|
00000e40  31 30 30 2c 30 2c 30 29  0d 00 99 48 f2 74 65 78  |100,0,0)...H.tex|
00000e50  74 5f 62 6f 78 28 31 30  30 2c 36 30 30 2c 31 30  |t_box(100,600,10|
00000e60  38 30 2c 39 30 2c 32 2c  22 49 74 20 69 73 20 61  |80,90,2,"It is a|
00000e70  20 6c 6f 6e 67 20 77 61  79 20 74 6f 20 74 68 65  | long way to the|
00000e80  20 67 72 6f 75 6e 64 2e  22 2c 22 22 2c 22 22 29  | ground.","","")|
00000e90  0d 00 9a 17 f2 73 70 61  63 65 28 39 30 30 2c 31  |.....space(900,1|
00000ea0  30 30 2c 30 2c 30 29 0d  00 9b 05 cd 0d 00 9c 0c  |00,0,0).........|
00000eb0  e7 51 25 3d 33 31 20 8c  0d 00 9d 0c f2 70 6c 61  |.Q%=31 ......pla|
00000ec0  74 65 73 32 0d 00 9e 10  62 6c 6f 63 6b 5f 79 25  |tes2....block_y%|
00000ed0  3d 32 36 30 0d 00 9f 0b  67 6c 65 6e 25 3d 36 0d  |=260....glen%=6.|
00000ee0  00 a0 0e f2 70 69 70 65  5f 77 6f 72 6b 0d 00 a1  |....pipe_work...|
00000ef0  5b f2 74 65 78 74 5f 62  6f 78 28 31 30 30 2c 37  |[.text_box(100,7|
00000f00  34 30 2c 31 30 38 30 2c  31 35 30 2c 32 2c 22 4f  |40,1080,150,2,"O|
00000f10  75 74 73 69 64 65 20 74  68 65 20 66 75 65 6c 20  |utside the fuel |
00000f20  73 74 6f 72 65 20 72 6f  6f 6d 20 69 73 22 2c 22  |store room is","|
00000f30  61 20 64 61 6e 67 65 72  6f 75 73 20 62 72 69 64  |a dangerous brid|
00000f40  67 65 2e 22 2c 22 22 29  0d 00 a2 17 f2 73 70 61  |ge.","").....spa|
00000f50  63 65 28 39 30 30 2c 31  30 30 2c 30 2c 30 29 0d  |ce(900,100,0,0).|
00000f60  00 a3 05 cd 0d 00 a4 05  e1 0d 00 a5 0c dd f2 70  |...............p|
00000f70  6c 61 74 65 73 0d 00 a6  17 e3 70 66 25 3d 30 20  |lates.....pf%=0 |
00000f80  b8 20 31 32 38 30 20 88  20 32 35 36 0d 00 a7 16  |. 1280 . 256....|
00000f90  e3 70 79 25 3d 30 20 b8  20 39 36 30 20 88 20 31  |.py%=0 . 960 . 1|
00000fa0  39 32 0d 00 a8 28 f2 70  6c 6f 74 5f 73 70 72 69  |92...(.plot_spri|
00000fb0  74 65 28 70 66 25 2c 70  79 25 2c 31 2c 31 2c 31  |te(pf%,py%,1,1,1|
00000fc0  2c 31 2c 22 74 69 6e 31  22 29 0d 00 a9 07 ed 3a  |,1,"tin1").....:|
00000fd0  ed 0d 00 aa 05 e1 0d 00  ab 0d dd f2 70 6c 61 74  |............plat|
00000fe0  65 73 32 0d 00 ac 17 e3  70 66 25 3d 30 20 b8 20  |es2.....pf%=0 . |
00000ff0  31 32 38 30 20 88 20 32  35 36 0d 00 ad 16 e3 70  |1280 . 256.....p|
00001000  79 25 3d 30 20 b8 20 39  36 30 20 88 20 31 39 32  |y%=0 . 960 . 192|
00001010  0d 00 ae 28 f2 70 6c 6f  74 5f 73 70 72 69 74 65  |...(.plot_sprite|
00001020  28 70 66 25 2c 70 79 25  2c 31 2c 31 2c 31 2c 31  |(pf%,py%,1,1,1,1|
00001030  2c 22 74 69 6e 32 22 29  0d 00 af 07 ed 3a ed 0d  |,"tin2").....:..|
00001040  00 b0 05 e1 0d 00 b1 0a  dd f2 6a 75 6d 70 0d 00  |..........jump..|
00001050  b2 11 f4 20 73 65 74 20  6e 75 6d 62 65 72 73 0d  |... set numbers.|
00001060  00 b3 16 74 6f 74 61 6c  5f 70 6f 73 73 69 62 6c  |...total_possibl|
00001070  65 25 3d 32 30 0d 00 b4  11 74 6f 74 61 6c 5f 67  |e%=20....total_g|
00001080  6f 74 25 3d 32 30 0d 00  b5 12 f2 73 65 74 5f 74  |ot%=20.....set_t|
00001090  61 62 6c 65 5f 6f 6e 65  0d 00 b6 0c 2a 46 58 31  |able_one....*FX1|
000010a0  31 32 2c 32 0d 00 b7 13  e6 30 2c 31 32 39 3a f2  |12,2.....0,129:.|
000010b0  70 6c 61 74 65 73 32 0d  00 b8 2c e7 56 25 3d 30  |plates2...,.V%=0|
000010c0  20 ef 32 34 2c 30 3b 39  36 30 3b 31 32 37 38 3b  | .24,0;960;1278;|
000010d0  31 30 32 32 3b 31 38 2c  30 2c 31 33 31 2c 31 36  |1022;18,0,131,16|
000010e0  2c 32 36 0d 00 b9 0c 2a  46 58 31 31 32 2c 31 0d  |,26....*FX112,1.|
000010f0  00 ba 11 66 61 64 65 24  3d 22 66 61 64 65 32 22  |...fade$="fade2"|
00001100  0d 00 bb 18 f2 66 61 64  65 28 30 2c 39 36 30 2c  |.....fade(0,960,|
00001110  34 2c 30 2c 31 2c 31 29  0d 00 bc 10 62 6c 6f 63  |4,0,1,1)....bloc|
00001120  6b 5f 79 25 3d 32 36 30  0d 00 bd 0b 67 6c 65 6e  |k_y%=260....glen|
00001130  25 3d 36 0d 00 be 12 f2  73 65 74 5f 73 63 72 65  |%=6.....set_scre|
00001140  65 6e 28 30 29 0d 00 bf  10 62 6c 6f 63 6b 5f 79  |en(0)....block_y|
00001150  25 3d 32 36 30 0d 00 c0  1d 61 6e 5f 78 25 3d 38  |%=260....an_x%=8|
00001160  3a 61 6e 5f 79 25 3d 62  6c 6f 63 6b 5f 79 25 2b  |:an_y%=block_y%+|
00001170  36 30 0d 00 c1 16 73 65  6c 5f 73 70 72 69 74 65  |60....sel_sprite|
00001180  24 3d 22 6a 75 6d 31 22  0d 00 c2 12 62 6c 61 6e  |$="jum1"....blan|
00001190  6b 24 3d 22 62 6c 61 6e  6b 22 0d 00 c3 17 f2 73  |k$="blank".....s|
000011a0  74 61 72 74 5f 61 6e 69  6d 28 62 6c 61 6e 6b 24  |tart_anim(blank$|
000011b0  29 0d 00 c4 30 42 25 3d  73 63 72 65 65 6e 5f 6f  |)...0B%=screen_o|
000011c0  6e 65 25 3a 43 25 3d 73  63 72 65 65 6e 5f 74 77  |ne%:C%=screen_tw|
000011d0  6f 25 3a d6 20 73 61 76  65 5f 73 63 72 65 65 6e  |o%:. save_screen|
000011e0  25 0d 00 c5 0c e7 51 25  3e 36 30 20 8c 0d 00 c6  |%.....Q%>60 ....|
000011f0  46 f2 74 65 78 74 5f 62  6f 78 28 32 30 30 2c 38  |F.text_box(200,8|
00001200  33 30 2c 38 38 30 2c 39  30 2c 32 2c 22 59 6f 75  |30,880,90,2,"You|
00001210  20 6d 75 73 74 20 67 65  74 20 61 63 72 6f 73 73  | must get across|
00001220  20 74 68 69 73 20 72 6f  6f 6d 2e 22 2c 22 22 2c  | this room.","",|
00001230  22 22 29 0d 00 c7 17 f2  73 70 61 63 65 28 39 30  |"").....space(90|
00001240  30 2c 31 30 30 2c 30 2c  30 29 0d 00 c8 05 cd 0d  |0,100,0,0)......|
00001250  00 c9 0c e7 51 25 3d 32  33 20 8c 0d 00 ca 4a f2  |....Q%=23 ....J.|
00001260  74 65 78 74 5f 62 6f 78  28 32 30 30 2c 38 33 30  |text_box(200,830|
00001270  2c 38 38 30 2c 39 30 2c  32 2c 22 59 6f 75 20 66  |,880,90,2,"You f|
00001280  69 6e 64 20 79 6f 75 72  73 65 6c 66 20 69 6e 20  |ind yourself in |
00001290  61 20 6c 61 72 67 65 20  72 6f 6f 6d 2e 22 2c 22  |a large room.","|
000012a0  22 2c 22 22 29 0d 00 cb  17 f2 73 70 61 63 65 28  |","").....space(|
000012b0  39 30 30 2c 31 30 30 2c  30 2c 30 29 0d 00 cc 05  |900,100,0,0)....|
000012c0  cd 0d 00 cd 0d e7 51 25  3c 32 30 30 20 8c 0d 00  |......Q%<200 ...|
000012d0  ce 56 f2 74 65 78 74 5f  62 6f 78 28 32 30 30 2c  |.V.text_box(200,|
000012e0  36 33 30 2c 38 38 30 2c  31 38 30 2c 32 2c 22 4f  |630,880,180,2,"O|
000012f0  6e 6c 79 20 73 6f 6d 65  20 6f 66 20 74 68 65 20  |nly some of the |
00001300  62 6c 6f 63 6b 73 20 77  69 6c 6c 22 2c 22 74 61  |blocks will","ta|
00001310  6b 65 20 79 6f 75 72 20  77 65 69 67 68 74 2e 22  |ke your weight."|
00001320  2c 22 22 29 0d 00 cf 17  f2 73 70 61 63 65 28 39  |,"").....space(9|
00001330  30 30 2c 31 30 30 2c 30  2c 30 29 0d 00 d0 05 cd  |00,100,0,0).....|
00001340  0d 00 d1 11 f2 67 61 6d  65 28 74 61 62 6c 65 25  |.....game(table%|
00001350  29 0d 00 d2 05 e1 0d 00  d3 12 dd f2 67 61 6d 65  |)...........game|
00001360  28 74 61 62 6c 65 25 29  0d 00 d4 1a 73 74 5f 62  |(table%)....st_b|
00001370  6c 6f 63 6b 25 3d 30 3a  73 63 72 6f 6c 6c 73 25  |lock%=0:scrolls%|
00001380  3d 30 0d 00 d5 0b 67 6c  65 6e 25 3d 36 0d 00 d6  |=0....glen%=6...|
00001390  05 f5 0d 00 d7 0c 2a 46  58 31 31 32 2c 32 0d 00  |......*FX112,2..|
000013a0  d8 13 e6 30 2c 31 32 39  3a f2 70 6c 61 74 65 73  |...0,129:.plates|
000013b0  32 0d 00 d9 2c e7 56 25  3d 30 20 ef 32 34 2c 30  |2...,.V%=0 .24,0|
000013c0  3b 39 36 30 3b 31 32 37  38 3b 31 30 32 32 3b 31  |;960;1278;1022;1|
000013d0  38 2c 30 2c 31 33 31 2c  31 36 2c 32 36 0d 00 da  |8,0,131,16,26...|
000013e0  12 e7 73 74 5f 62 6c 6f  63 6b 25 3e 33 20 8c 0d  |..st_block%>3 ..|
000013f0  00 db 15 61 64 64 65 64  5f 72 6e 64 25 3d b3 28  |...added_rnd%=.(|
00001400  33 29 2d 31 0d 00 dc 10  62 6c 6f 63 6b 5f 79 25  |3)-1....block_y%|
00001410  3d 32 36 30 0d 00 dd 25  f2 73 65 74 5f 73 63 72  |=260...%.set_scr|
00001420  65 65 6e 28 73 74 5f 62  6c 6f 63 6b 25 2d 61 64  |een(st_block%-ad|
00001430  64 65 64 5f 72 6e 64 25  29 0d 00 de 10 62 6c 6f  |ded_rnd%)....blo|
00001440  63 6b 5f 79 25 3d 32 36  30 0d 00 df 2d 61 6e 5f  |ck_y%=260...-an_|
00001450  78 25 3d 38 2b 28 61 64  64 65 64 5f 72 6e 64 25  |x%=8+(added_rnd%|
00001460  2a 38 34 29 3a 61 6e 5f  79 25 3d 62 6c 6f 63 6b  |*84):an_y%=block|
00001470  5f 79 25 2b 36 30 0d 00  e0 05 cc 0d 00 e1 10 61  |_y%+60.........a|
00001480  64 64 65 64 5f 72 6e 64  25 3d 30 0d 00 e2 10 62  |dded_rnd%=0....b|
00001490  6c 6f 63 6b 5f 79 25 3d  32 36 30 0d 00 e3 1a f2  |lock_y%=260.....|
000014a0  73 65 74 5f 73 63 72 65  65 6e 28 73 74 5f 62 6c  |set_screen(st_bl|
000014b0  6f 63 6b 25 29 0d 00 e4  10 62 6c 6f 63 6b 5f 79  |ock%)....block_y|
000014c0  25 3d 32 36 30 0d 00 e5  1d 61 6e 5f 78 25 3d 38  |%=260....an_x%=8|
000014d0  3a 61 6e 5f 79 25 3d 62  6c 6f 63 6b 5f 79 25 2b  |:an_y%=block_y%+|
000014e0  36 30 0d 00 e6 05 cd 0d  00 e7 16 73 65 6c 5f 73  |60.........sel_s|
000014f0  70 72 69 74 65 24 3d 22  6a 75 6d 31 22 0d 00 e8  |prite$="jum1"...|
00001500  12 62 6c 61 6e 6b 24 3d  22 62 6c 61 6e 6b 22 0d  |.blank$="blank".|
00001510  00 e9 17 f2 73 74 61 72  74 5f 61 6e 69 6d 28 62  |....start_anim(b|
00001520  6c 61 6e 6b 24 29 0d 00  ea 14 f4 20 20 20 66 61  |lank$).....   fa|
00001530  64 65 24 3d 22 66 61 64  65 22 0d 00 eb 1f f4 20  |de$="fade"..... |
00001540  20 20 50 52 4f 43 66 61  64 65 28 30 2c 39 36 30  |  PROCfade(0,960|
00001550  2c 34 2c 30 2c 31 2c 31  29 0d 00 ec 74 f2 74 65  |,4,0,1,1)...t.te|
00001560  78 74 5f 62 6f 78 28 32  30 30 2c 37 33 30 2c 38  |xt_box(200,730,8|
00001570  38 30 2c 31 39 30 2c 32  2c 22 43 6c 69 63 6b 20  |80,190,2,"Click |
00001580  6f 6e 20 74 68 65 20 62  6c 6f 63 6b 20 74 68 61  |on the block tha|
00001590  74 20 69 73 20 74 68 65  22 2c 22 6e 65 78 74 20  |t is the","next |
000015a0  6e 75 6d 62 65 72 20 69  6e 20 74 68 65 20 22 2b  |number in the "+|
000015b0  c3 28 74 61 62 6c 65 25  29 2b 22 20 74 69 6d 65  |.(table%)+" time|
000015c0  73 20 74 61 62 6c 65 2e  22 2c 22 22 29 0d 00 ed  |s table.","")...|
000015d0  11 66 61 64 65 24 3d 22  66 61 64 65 32 22 0d 00  |.fade$="fade2"..|
000015e0  ee 18 f2 66 61 64 65 28  30 2c 39 36 30 2c 34 2c  |...fade(0,960,4,|
000015f0  30 2c 31 2c 31 29 0d 00  ef 13 e6 30 2c 31 32 39  |0,1,1).....0,129|
00001600  3a f2 70 6c 61 74 65 73  32 0d 00 f0 2c e7 56 25  |:.plates2...,.V%|
00001610  3d 30 20 ef 32 34 2c 30  3b 39 36 30 3b 31 32 37  |=0 .24,0;960;127|
00001620  38 3b 31 30 32 32 3b 31  38 2c 30 2c 31 33 31 2c  |8;1022;18,0,131,|
00001630  31 36 2c 32 36 0d 00 f1  0c 2a 46 58 31 31 32 2c  |16,26....*FX112,|
00001640  31 0d 00 f2 10 f2 69 6e  70 75 74 5f 6d 6f 75 73  |1.....input_mous|
00001650  65 0d 00 f3 18 f2 6a 75  6d 70 69 6e 67 28 74 69  |e.....jumping(ti|
00001660  25 2c 74 61 62 6c 65 25  29 0d 00 f4 17 e7 20 74  |%,table%)..... t|
00001670  69 25 20 83 20 74 61 62  6c 65 25 3c 3e 30 20 8c  |i% . table%<>0 .|
00001680  0d 00 f5 1b f2 63 61 63  68 65 73 6f 75 6e 64 28  |.....cachesound(|
00001690  22 63 72 61 63 6b 32 22  2c 31 29 0d 00 f6 10 d4  |"crack2",1).....|
000016a0  31 2c 2d 31 35 2c 32 30  2c 32 30 0d 00 f7 0e f2  |1,-15,20,20.....|
000016b0  70 61 75 73 65 28 37 30  29 0d 00 f8 1c f2 63 68  |pause(70).....ch|
000016c0  65 63 6b 5f 63 72 61 63  6b 28 74 69 25 2c 74 61  |eck_crack(ti%,ta|
000016d0  62 6c 65 25 29 0d 00 f9  1b 74 6f 74 61 6c 5f 67  |ble%)....total_g|
000016e0  6f 74 25 3d 74 6f 74 61  6c 5f 67 6f 74 25 2d 31  |ot%=total_got%-1|
000016f0  0d 00 fa 3b f2 74 65 78  74 5f 62 6f 78 28 32 30  |...;.text_box(20|
00001700  30 2c 36 30 30 2c 38 38  30 2c 39 30 2c 31 2c 22  |0,600,880,90,1,"|
00001710  4f 68 20 64 65 61 72 21  20 54 72 79 20 61 67 61  |Oh dear! Try aga|
00001720  69 6e 2e 22 2c 22 22 2c  22 22 29 0d 00 fb 1b f2  |in.","","").....|
00001730  63 61 63 68 65 73 6f 75  6e 64 28 22 77 72 6f 6e  |cachesound("wron|
00001740  67 32 22 2c 31 29 0d 00  fc 10 d4 31 2c 2d 31 35  |g2",1).....1,-15|
00001750  2c 32 30 2c 32 30 0d 00  fd 17 f2 73 70 61 63 65  |,20,20.....space|
00001760  28 38 30 30 2c 31 30 30  2c 30 2c 30 29 0d 00 fe  |(800,100,0,0)...|
00001770  05 cd 0d 00 ff 16 e7 20  74 69 25 20 83 20 74 61  |....... ti% . ta|
00001780  62 6c 65 25 3d 30 20 8c  0d 01 00 18 f2 63 61 63  |ble%=0 ......cac|
00001790  68 65 73 6f 75 6e 64 28  22 6f 6b 32 22 2c 31 29  |hesound("ok2",1)|
000017a0  0d 01 01 10 d4 20 31 2c  26 31 37 46 2c 31 2c 31  |..... 1,&17F,1,1|
000017b0  0d 01 02 33 f2 74 65 78  74 5f 62 6f 78 28 32 30  |...3.text_box(20|
000017c0  30 2c 36 30 30 2c 38 38  30 2c 39 30 2c 31 2c 22  |0,600,880,90,1,"|
000017d0  57 65 6c 6c 20 64 6f 6e  65 21 2e 22 2c 22 22 2c  |Well done!.","",|
000017e0  22 22 29 0d 01 03 1e 73  74 5f 62 6c 6f 63 6b 25  |"")....st_block%|
000017f0  3d 73 74 5f 62 6c 6f 63  6b 25 2b 74 61 62 6c 65  |=st_block%+table|
00001800  25 0d 01 04 17 73 63 72  6f 6c 6c 73 25 3d 73 63  |%....scrolls%=sc|
00001810  72 6f 6c 6c 73 25 2b 31  0d 01 05 10 61 64 64 65  |rolls%+1....adde|
00001820  64 5f 72 6e 64 25 3d 30  0d 01 06 10 62 6c 6f 63  |d_rnd%=0....bloc|
00001830  6b 5f 79 25 3d 32 36 30  0d 01 07 0c 2a 46 58 31  |k_y%=260....*FX1|
00001840  31 32 2c 32 0d 01 08 1d  f2 73 65 74 5f 73 63 72  |12,2.....set_scr|
00001850  65 65 6e 28 73 74 5f 62  6c 6f 63 6b 25 2b 31 34  |een(st_block%+14|
00001860  29 0d 01 09 0c 2a 46 58  31 31 32 2c 31 0d 01 0a  |)....*FX112,1...|
00001870  13 e3 66 25 3d 31 b8 20  34 2a 74 61 62 6c 65 25  |..f%=1. 4*table%|
00001880  0d 01 0b 22 41 25 3d 73  63 72 65 65 6e 5f 74 77  |..."A%=screen_tw|
00001890  6f 25 2b 28 28 31 2d 56  25 29 2a 33 32 30 2a 31  |o%+((1-V%)*320*1|
000018a0  36 29 0d 01 0c 22 42 25  3d 73 63 72 65 65 6e 5f  |6)..."B%=screen_|
000018b0  6f 6e 65 25 2b 28 28 31  2d 56 25 29 2a 33 32 30  |one%+((1-V%)*320|
000018c0  2a 31 36 29 0d 01 0d 08  43 25 3d 31 0d 01 0e 11  |*16)....C%=1....|
000018d0  44 25 3d 32 33 39 2a 28  56 25 2b 31 29 0d 01 0f  |D%=239*(V%+1)...|
000018e0  11 d6 20 73 63 72 6f 6c  6c 5f 61 6c 6c 25 0d 01  |.. scroll_all%..|
000018f0  10 05 ed 0d 01 11 05 cd  0d 01 12 14 fd 20 73 63  |............. sc|
00001900  72 6f 6c 6c 73 25 3d 67  6c 65 6e 25 0d 01 13 0c  |rolls%=glen%....|
00001910  2a 46 58 31 31 32 2c 32  0d 01 14 13 e6 30 2c 31  |*FX112,2.....0,1|
00001920  32 39 3a f2 70 6c 61 74  65 73 32 0d 01 15 2c e7  |29:.plates2...,.|
00001930  56 25 3d 30 20 ef 32 34  2c 30 3b 39 36 30 3b 31  |V%=0 .24,0;960;1|
00001940  32 37 38 3b 31 30 32 32  3b 31 38 2c 30 2c 31 33  |278;1022;18,0,13|
00001950  31 2c 31 36 2c 32 36 0d  01 16 12 e7 73 74 5f 62  |1,16,26.....st_b|
00001960  6c 6f 63 6b 25 3e 33 20  8c 0d 01 17 10 61 64 64  |lock%>3 .....add|
00001970  65 64 5f 72 6e 64 25 3d  31 0d 01 18 10 62 6c 6f  |ed_rnd%=1....blo|
00001980  63 6b 5f 79 25 3d 32 36  30 0d 01 19 25 f2 73 65  |ck_y%=260...%.se|
00001990  74 5f 73 63 72 65 65 6e  28 73 74 5f 62 6c 6f 63  |t_screen(st_bloc|
000019a0  6b 25 2d 61 64 64 65 64  5f 72 6e 64 25 29 0d 01  |k%-added_rnd%)..|
000019b0  1a 10 62 6c 6f 63 6b 5f  79 25 3d 32 36 30 0d 01  |..block_y%=260..|
000019c0  1b 2d 61 6e 5f 78 25 3d  38 2b 28 61 64 64 65 64  |.-an_x%=8+(added|
000019d0  5f 72 6e 64 25 2a 38 34  29 3a 61 6e 5f 79 25 3d  |_rnd%*84):an_y%=|
000019e0  62 6c 6f 63 6b 5f 79 25  2b 36 30 0d 01 1c 05 cc  |block_y%+60.....|
000019f0  0d 01 1d 10 61 64 64 65  64 5f 72 6e 64 25 3d 30  |....added_rnd%=0|
00001a00  0d 01 1e 10 62 6c 6f 63  6b 5f 79 25 3d 32 36 30  |....block_y%=260|
00001a10  0d 01 1f 1a f2 73 65 74  5f 73 63 72 65 65 6e 28  |.....set_screen(|
00001a20  73 74 5f 62 6c 6f 63 6b  25 29 0d 01 20 10 62 6c  |st_block%).. .bl|
00001a30  6f 63 6b 5f 79 25 3d 32  36 30 0d 01 21 1d 61 6e  |ock_y%=260..!.an|
00001a40  5f 78 25 3d 38 3a 61 6e  5f 79 25 3d 62 6c 6f 63  |_x%=8:an_y%=bloc|
00001a50  6b 5f 79 25 2b 36 30 0d  01 22 05 cd 0d 01 23 16  |k_y%+60.."....#.|
00001a60  73 65 6c 5f 73 70 72 69  74 65 24 3d 22 6a 75 6d  |sel_sprite$="jum|
00001a70  31 22 0d 01 24 12 62 6c  61 6e 6b 24 3d 22 62 6c  |1"..$.blank$="bl|
00001a80  61 6e 6b 22 0d 01 25 17  f2 73 74 61 72 74 5f 61  |ank"..%..start_a|
00001a90  6e 69 6d 28 62 6c 61 6e  6b 24 29 0d 01 26 0c 2a  |nim(blank$)..&.*|
00001aa0  46 58 31 31 32 2c 31 0d  01 27 11 66 61 64 65 24  |FX112,1..'.fade$|
00001ab0  3d 22 66 61 64 65 32 22  0d 01 28 18 f2 66 61 64  |="fade2"..(..fad|
00001ac0  65 28 30 2c 39 36 30 2c  34 2c 30 2c 31 2c 31 29  |e(0,960,4,0,1,1)|
00001ad0  0d 01 29 0c e7 51 25 3d  32 33 20 8c 0d 01 2a 0c  |..)..Q%=23 ...*.|
00001ae0  2a 46 58 31 31 32 2c 31  0d 01 2b 48 f2 74 65 78  |*FX112,1..+H.tex|
00001af0  74 5f 62 6f 78 28 32 30  30 2c 38 30 30 2c 38 38  |t_box(200,800,88|
00001b00  30 2c 39 30 2c 31 2c 22  59 6f 75 20 68 61 76 65  |0,90,1,"You have|
00001b10  20 65 73 63 61 70 65 64  20 66 72 6f 6d 20 74 68  | escaped from th|
00001b20  69 73 20 61 72 65 61 2e  22 2c 22 22 2c 22 22 29  |is area.","","")|
00001b30  0d 01 2c 17 f2 73 70 61  63 65 28 39 30 30 2c 31  |..,..space(900,1|
00001b40  30 30 2c 30 2c 30 29 0d  01 2d 05 cd 0d 01 2e 05  |00,0,0)..-......|
00001b50  e1 0d 01 2f 1c dd f2 6a  75 6d 70 69 6e 67 28 6a  |.../...jumping(j|
00001b60  75 6d 70 79 25 2c 74 61  62 6c 65 25 29 0d 01 30  |umpy%,table%)..0|
00001b70  1b f2 63 61 63 68 65 73  6f 75 6e 64 28 22 63 6c  |..cachesound("cl|
00001b80  61 6e 67 32 22 2c 31 29  0d 01 31 0a f7 20 8d 44  |ang2",1)..1.. .D|
00001b90  4e 41 0d 01 32 0f e3 73  65 71 25 3d 31 20 b8 20  |NA..2..seq%=1 . |
00001ba0  34 0d 01 33 0d f3 20 61  6d 6f 75 6e 74 25 0d 01  |4..3.. amount%..|
00001bb0  34 20 6a 75 6d 70 5f 73  65 71 75 25 28 73 65 71  |4 jump_sequ%(seq|
00001bc0  25 2c 30 2c 30 29 3d 61  6d 6f 75 6e 74 25 0d 01  |%,0,0)=amount%..|
00001bd0  35 14 e3 6a 75 25 3d 31  20 b8 20 61 6d 6f 75 6e  |5..ju%=1 . amoun|
00001be0  74 25 0d 01 36 4a f3 20  6a 75 6d 70 5f 73 65 71  |t%..6J. jump_seq|
00001bf0  75 25 28 73 65 71 25 2c  6a 75 25 2c 31 29 2c 6a  |u%(seq%,ju%,1),j|
00001c00  75 6d 70 5f 73 65 71 75  25 28 73 65 71 25 2c 6a  |ump_sequ%(seq%,j|
00001c10  75 25 2c 32 29 2c 6a 75  6d 70 5f 73 65 71 75 25  |u%,2),jump_sequ%|
00001c20  28 73 65 71 25 2c 6a 75  25 2c 33 29 0d 01 37 05  |(seq%,ju%,3)..7.|
00001c30  ed 0d 01 38 05 ed 0d 01  39 0f f2 64 6f 5f 73 65  |...8....9..do_se|
00001c40  71 75 28 31 29 0d 01 3a  0f f2 64 6f 5f 73 65 71  |qu(1)..:..do_seq|
00001c50  75 28 32 29 0d 01 3b 1a  e7 20 6a 75 6d 70 79 25  |u(2)..;.. jumpy%|
00001c60  3e 31 20 f2 64 6f 5f 73  65 71 75 28 33 29 0d 01  |>1 .do_sequ(3)..|
00001c70  3c 27 e7 20 6a 75 6d 70  79 25 3e 32 20 80 20 74  |<'. jumpy%>2 . t|
00001c80  61 62 6c 65 25 2b 31 3e  32 20 f2 64 6f 5f 73 65  |able%+1>2 .do_se|
00001c90  71 75 28 32 29 0d 01 3d  27 e7 20 6a 75 6d 70 79  |qu(2)..='. jumpy|
00001ca0  25 3e 33 20 80 20 74 61  62 6c 65 25 2b 31 3e 33  |%>3 . table%+1>3|
00001cb0  20 f2 64 6f 5f 73 65 71  75 28 33 29 0d 01 3e 27  | .do_sequ(3)..>'|
00001cc0  e7 20 6a 75 6d 70 79 25  3e 34 20 80 20 74 61 62  |. jumpy%>4 . tab|
00001cd0  6c 65 25 2b 31 3e 34 20  f2 64 6f 5f 73 65 71 75  |le%+1>4 .do_sequ|
00001ce0  28 32 29 0d 01 3f 27 e7  20 6a 75 6d 70 79 25 3e  |(2)..?'. jumpy%>|
00001cf0  35 20 80 20 74 61 62 6c  65 25 2b 31 3e 35 20 f2  |5 . table%+1>5 .|
00001d00  64 6f 5f 73 65 71 75 28  33 29 0d 01 40 27 e7 20  |do_sequ(3)..@'. |
00001d10  6a 75 6d 70 79 25 3e 36  20 80 20 74 61 62 6c 65  |jumpy%>6 . table|
00001d20  25 2b 31 3e 36 20 f2 64  6f 5f 73 65 71 75 28 32  |%+1>6 .do_sequ(2|
00001d30  29 0d 01 41 27 e7 20 6a  75 6d 70 79 25 3e 37 20  |)..A'. jumpy%>7 |
00001d40  80 20 74 61 62 6c 65 25  2b 31 3e 37 20 f2 64 6f  |. table%+1>7 .do|
00001d50  5f 73 65 71 75 28 33 29  0d 01 42 27 e7 20 6a 75  |_sequ(3)..B'. ju|
00001d60  6d 70 79 25 3e 38 20 80  20 74 61 62 6c 65 25 2b  |mpy%>8 . table%+|
00001d70  31 3e 38 20 f2 64 6f 5f  73 65 71 75 28 32 29 0d  |1>8 .do_sequ(2).|
00001d80  01 43 27 e7 20 6a 75 6d  70 79 25 3e 39 20 80 20  |.C'. jumpy%>9 . |
00001d90  74 61 62 6c 65 25 2b 31  3e 39 20 f2 64 6f 5f 73  |table%+1>9 .do_s|
00001da0  65 71 75 28 33 29 0d 01  44 29 e7 20 6a 75 6d 70  |equ(3)..D). jump|
00001db0  79 25 3e 31 30 20 80 20  74 61 62 6c 65 25 2b 31  |y%>10 . table%+1|
00001dc0  3e 31 30 20 f2 64 6f 5f  73 65 71 75 28 32 29 0d  |>10 .do_sequ(2).|
00001dd0  01 45 29 e7 20 6a 75 6d  70 79 25 3e 31 31 20 80  |.E). jumpy%>11 .|
00001de0  20 74 61 62 6c 65 25 2b  31 3e 31 31 20 f2 64 6f  | table%+1>11 .do|
00001df0  5f 73 65 71 75 28 33 29  0d 01 46 15 e7 20 74 61  |_sequ(3)..F.. ta|
00001e00  62 6c 65 25 3c 6a 75 6d  70 79 25 20 8c 0d 01 47  |ble%<jumpy% ...G|
00001e10  10 74 69 25 3d 74 61 62  6c 65 25 2b 31 0d 01 48  |.ti%=table%+1..H|
00001e20  4e f2 74 65 78 74 5f 62  6f 78 28 32 30 30 2c 37  |N.text_box(200,7|
00001e30  33 30 2c 38 38 30 2c 31  39 30 2c 32 2c 22 59 6f  |30,880,190,2,"Yo|
00001e40  75 20 61 72 65 20 74 6f  6f 20 74 69 72 65 64 2e  |u are too tired.|
00001e50  22 2c 22 59 6f 75 20 63  61 6e 6e 6f 74 20 68 6f  |","You cannot ho|
00001e60  6c 64 20 6f 6e 2e 22 2c  22 22 29 0d 01 49 17 f2  |ld on.","")..I..|
00001e70  73 70 61 63 65 28 39 30  30 2c 31 30 30 2c 30 2c  |space(900,100,0,|
00001e80  30 29 0d 01 4a 05 cd 0d  01 4b 0f f2 64 6f 5f 73  |0)..J....K..do_s|
00001e90  65 71 75 28 34 29 0d 01  4c 05 e1 0d 01 4d 29 f4  |equ(4)..L....M).|
00001ea0  20 20 61 6d 6f 75 6e 74  2c 20 20 73 70 72 69 74  |  amount,  sprit|
00001eb0  65 2c 70 61 75 73 65 2c  69 6e 63 5f 78 2c 20 2e  |e,pause,inc_x, .|
00001ec0  2e 2e 2e 2e 0d 01 4e 2c  dc 20 35 2c 20 20 32 2c  |......N,. 5,  2,|
00001ed0  31 30 2c 30 2c 33 2c 32  30 2c 30 2c 34 2c 31 30  |10,0,3,20,0,4,10|
00001ee0  2c 30 2c 35 2c 31 30 2c  30 2c 36 2c 36 30 2c 30  |,0,5,10,0,6,60,0|
00001ef0  0d 01 4f 52 dc 20 36 2c  20 20 38 2c 32 30 2c 31  |..OR. 6,  8,20,1|
00001f00  34 2c 39 2c 32 30 2c 31  34 2c 38 2c 32 30 2c 31  |4,9,20,14,8,20,1|
00001f10  34 2c 37 2c 32 30 2c 31  34 2c 38 2c 32 30 2c 31  |4,7,20,14,8,20,1|
00001f20  34 2c 39 2c 32 30 2c 31  34 3a 52 45 4d 20 6f 6e  |4,9,20,14:REM on|
00001f30  65 20 6d 6f 76 65 6d 65  6e 74 20 66 6f 72 77 61  |e movement forwa|
00001f40  72 64 0d 01 50 55 dc 20  36 2c 20 20 38 2c 32 30  |rd..PU. 6,  8,20|
00001f50  2c 31 34 2c 39 2c 32 30  2c 31 34 2c 38 2c 32 30  |,14,9,20,14,8,20|
00001f60  2c 31 34 2c 37 2c 32 30  2c 31 34 2c 38 2c 32 30  |,14,7,20,14,8,20|
00001f70  2c 31 34 2c 39 2c 32 30  2c 31 34 3a 52 45 4d 20  |,14,9,20,14:REM |
00001f80  73 65 63 6f 6e 64 20 6d  6f 76 65 6d 65 6e 74 20  |second movement |
00001f90  66 6f 72 77 61 72 64 0d  01 51 25 dc 20 34 2c 20  |forward..Q%. 4, |
00001fa0  20 38 2c 32 30 2c 30 2c  35 2c 32 30 2c 30 2c 33  | 8,20,0,5,20,0,3|
00001fb0  2c 34 30 2c 30 2c 31 2c  32 30 2c 30 0d 01 52 12  |,40,0,1,20,0..R.|
00001fc0  dd f2 64 6f 5f 73 65 71  75 28 73 6e 25 29 0d 01  |..do_sequ(sn%)..|
00001fd0  53 21 e3 73 6e 6e 25 3d  31 20 b8 20 6a 75 6d 70  |S!.snn%=1 . jump|
00001fe0  5f 73 65 71 75 25 28 73  6e 25 2c 30 2c 30 29 0d  |_sequ%(sn%,0,0).|
00001ff0  01 54 2e e7 73 6e 25 3e  31 20 80 20 73 6e 25 3c  |.T..sn%>1 . sn%<|
00002000  34 20 80 20 28 73 6e 6e  25 20 83 20 32 29 3d 30  |4 . (snn% . 2)=0|
00002010  20 d4 20 31 2c 26 31 37  46 2c 31 2c 31 0d 01 55  | . 1,&17F,1,1..U|
00002020  26 61 6e 5f 78 25 3d 61  6e 5f 78 25 2b 6a 75 6d  |&an_x%=an_x%+jum|
00002030  70 5f 73 65 71 75 25 28  73 6e 25 2c 73 6e 6e 25  |p_sequ%(sn%,snn%|
00002040  2c 33 29 0d 01 56 2f 73  65 6c 5f 73 70 72 69 74  |,3)..V/sel_sprit|
00002050  65 24 3d 22 6a 75 6d 22  2b c3 28 6a 75 6d 70 5f  |e$="jum"+.(jump_|
00002060  73 65 71 75 25 28 73 6e  25 2c 73 6e 6e 25 2c 31  |sequ%(sn%,snn%,1|
00002070  29 29 0d 01 57 12 f2 61  6e 69 6d 28 22 62 6c 61  |))..W..anim("bla|
00002080  6e 6b 22 29 0d 01 58 22  f2 70 61 75 73 65 28 6a  |nk")..X".pause(j|
00002090  75 6d 70 5f 73 65 71 75  25 28 73 6e 25 2c 73 6e  |ump_sequ%(sn%,sn|
000020a0  6e 25 2c 32 29 29 0d 01  59 05 ed 0d 01 5a 05 e1  |n%,2))..Y....Z..|
000020b0  0d 01 5b 11 dd f2 69 6e  70 75 74 5f 6d 6f 75 73  |..[...input_mous|
000020c0  65 0d 01 5c 19 e3 66 25  3d 31 20 b8 20 32 30 3a  |e..\..f%=1 . 20:|
000020d0  c8 97 20 78 2c 79 2c 7a  3a ed 0d 01 5d 14 f5 3a  |.. x,y,z:...]..:|
000020e0  c8 97 20 78 2c 79 2c 7a  3a fd 20 7a 3d 30 0d 01  |.. x,y,z:. z=0..|
000020f0  5e 08 c8 97 20 ee 0d 01  5f 05 f5 0d 01 60 12 c8  |^... ..._....`..|
00002100  97 20 6d 78 25 2c 6d 79  25 2c 6d 63 25 0d 01 61  |. mx%,my%,mc%..a|
00002110  1b 6d 78 25 3d 6d 78 25  2d 28 61 64 64 65 64 5f  |.mx%=mx%-(added_|
00002120  72 6e 64 25 2a 38 34 29  0d 01 62 0e 74 69 25 3d  |rnd%*84)..b.ti%=|
00002130  6d 78 25 2f 38 34 0d 01  63 27 fd 20 6d 63 25 3d  |mx%/84..c'. mc%=|
00002140  34 20 80 20 6d 79 25 3e  32 36 30 20 80 20 6d 79  |4 . my%>260 . my|
00002150  25 3c 34 30 30 20 80 20  74 69 25 3e 30 0d 01 64  |%<400 . ti%>0..d|
00002160  19 f2 63 61 63 68 65 73  6f 75 6e 64 28 22 70 6c  |..cachesound("pl|
00002170  6f 70 22 2c 31 29 0d 01  65 10 d4 20 31 2c 26 31  |op",1)..e.. 1,&1|
00002180  37 46 2c 31 2c 31 0d 01  66 0e f2 70 61 75 73 65  |7F,1,1..f..pause|
00002190  28 32 30 29 0d 01 67 1b  f2 63 61 63 68 65 73 6f  |(20)..g..cacheso|
000021a0  75 6e 64 28 22 63 6c 61  6e 67 32 22 2c 31 29 0d  |und("clang2",1).|
000021b0  01 68 05 e1 0d 01 69 20  dd f2 63 68 65 63 6b 5f  |.h....i ..check_|
000021c0  63 72 61 63 6b 28 6a 75  6d 70 79 25 2c 74 61 62  |crack(jumpy%,tab|
000021d0  6c 65 25 29 0d 01 6a 0c  2a 66 78 31 31 32 2c 32  |le%)..j.*fx112,2|
000021e0  0d 01 6b 50 c8 99 22 4f  53 5f 53 70 72 69 74 65  |..kP.."OS_Sprite|
000021f0  4f 70 22 2c 26 31 31 30  2c 73 70 72 69 74 65 5f  |Op",&110,sprite_|
00002200  61 72 65 61 31 25 2c 22  62 6c 61 6e 6b 22 2c 30  |area1%,"blank",0|
00002210  2c 61 6e 5f 78 25 2d 38  2c 30 2c 61 6e 5f 78 25  |,an_x%-8,0,an_x%|
00002220  2b 37 32 2c 62 6c 6f 63  6b 5f 79 25 2b 31 37 36  |+72,block_y%+176|
00002230  0d 01 6c 51 c8 99 22 4f  53 5f 53 70 72 69 74 65  |..lQ.."OS_Sprite|
00002240  4f 70 22 2c 26 31 31 30  2c 73 70 72 69 74 65 5f  |Op",&110,sprite_|
00002250  61 72 65 61 31 25 2c 22  62 6c 61 6e 6b 32 22 2c  |area1%,"blank2",|
00002260  30 2c 61 6e 5f 78 25 2d  38 2c 30 2c 61 6e 5f 78  |0,an_x%-8,0,an_x|
00002270  25 2b 37 32 2c 62 6c 6f  63 6b 5f 79 25 2b 31 37  |%+72,block_y%+17|
00002280  36 0d 01 6d 0c 2a 66 78  31 31 32 2c 31 0d 01 6e  |6..m.*fx112,1..n|
00002290  16 6d 61 6e 5f 79 25 3d  62 6c 6f 63 6b 5f 79 25  |.man_y%=block_y%|
000022a0  2b 36 34 0d 01 6f 12 62  6c 5f 79 25 3d 62 6c 6f  |+64..o.bl_y%=blo|
000022b0  63 6b 5f 79 25 0d 01 70  14 63 6f 75 6e 74 25 3d  |ck_y%..p.count%=|
000022c0  31 3a 74 69 6c 65 25 3d  31 0d 01 71 05 f5 0d 01  |1:tile%=1..q....|
000022d0  72 0d f2 73 74 5f 70 61  75 73 65 0d 01 73 13 63  |r..st_pause..s.c|
000022e0  6f 75 6e 74 25 3d 63 6f  75 6e 74 25 2b 31 0d 01  |ount%=count%+1..|
000022f0  74 12 21 28 73 63 61 6c  65 32 25 2b 30 29 3d 31  |t.!(scale2%+0)=1|
00002300  0d 01 75 12 21 28 73 63  61 6c 65 32 25 2b 34 29  |..u.!(scale2%+4)|
00002310  3d 31 0d 01 76 12 21 28  73 63 61 6c 65 32 25 2b  |=1..v.!(scale2%+|
00002320  38 29 3d 31 0d 01 77 13  21 28 73 63 61 6c 65 32  |8)=1..w.!(scale2|
00002330  25 2b 31 32 29 3d 31 0d  01 78 27 c8 99 22 4f 53  |%+12)=1..x'.."OS|
00002340  5f 53 70 72 69 74 65 4f  70 22 2c 26 31 33 43 2c  |_SpriteOp",&13C,|
00002350  73 61 31 25 2c 22 62 6c  61 6e 6b 22 2c 30 0d 01  |sa1%,"blank",0..|
00002360  79 36 c8 99 22 4f 53 5f  53 70 72 69 74 65 4f 70  |y6.."OS_SpriteOp|
00002370  22 2c 26 31 33 34 2c 73  61 31 25 2c 22 62 6c 61  |",&134,sa1%,"bla|
00002380  6e 6b 32 22 2c 30 2c 30  2c 38 2c 73 63 61 6c 65  |nk2",0,0,8,scale|
00002390  32 25 2c 30 0d 01 7a 38  c8 99 22 4f 53 5f 53 70  |2%,0..z8.."OS_Sp|
000023a0  72 69 74 65 4f 70 22 2c  26 31 33 34 2c 73 61 31  |riteOp",&134,sa1|
000023b0  25 2c 22 6a 75 6d 35 22  2c 38 2c 6d 61 6e 5f 79  |%,"jum5",8,man_y|
000023c0  25 2c 38 2c 73 63 61 6c  65 25 2c 30 0d 01 7b 40  |%,8,scale%,0..{@|
000023d0  c8 99 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |.."OS_SpriteOp",|
000023e0  26 31 33 34 2c 73 61 31  25 2c 22 74 69 6c 65 22  |&134,sa1%,"tile"|
000023f0  2b c3 28 74 69 6c 65 25  29 2c 30 2c 62 6c 5f 79  |+.(tile%),0,bl_y|
00002400  25 2c 38 2c 73 63 61 6c  65 25 2c 30 0d 01 7c 21  |%,8,scale%,0..|!|
00002410  c8 99 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |.."OS_SpriteOp",|
00002420  26 31 33 43 2c 73 61 31  25 2c 30 2c 31 0d 01 7d  |&13C,sa1%,0,1..}|
00002430  1d e7 56 25 3d 31 20 ef  20 32 33 2c 31 37 2c 37  |..V%=1 . 23,17,7|
00002440  2c 36 2c 38 3b 31 36 3b  30 3b 0d 01 7e 3b c8 99  |,6,8;16;0;..~;..|
00002450  22 4f 53 5f 53 70 72 69  74 65 4f 70 22 2c 26 31  |"OS_SpriteOp",&1|
00002460  33 34 2c 73 61 31 25 2c  22 62 6c 61 6e 6b 22 2c  |34,sa1%,"blank",|
00002470  61 6e 5f 78 25 2d 38 2c  30 2c 30 2c 73 63 61 6c  |an_x%-8,0,0,scal|
00002480  65 32 25 2c 30 0d 01 7f  2f e7 63 6f 75 6e 74 25  |e2%,0.../.count%|
00002490  3d 34 20 80 20 74 69 6c  65 25 3c 3e 37 3a 74 69  |=4 . tile%<>7:ti|
000024a0  6c 65 25 3d 74 69 6c 65  25 2b 31 3a 63 6f 75 6e  |le%=tile%+1:coun|
000024b0  74 25 3d 31 0d 01 80 12  62 6c 5f 79 25 3d 62 6c  |t%=1....bl_y%=bl|
000024c0  5f 79 25 2d 31 32 0d 01  81 13 6d 61 6e 5f 79 25  |_y%-12....man_y%|
000024d0  3d 6d 61 6e 5f 79 25 2d  38 0d 01 82 10 f2 65 6e  |=man_y%-8.....en|
000024e0  5f 70 61 75 73 65 28 36  29 0d 01 83 10 fd 20 6d  |_pause(6)..... m|
000024f0  61 6e 5f 79 25 3c 2d 38  30 0d 01 84 05 e1 0d 01  |an_y%<-80.......|
00002500  85 19 dd f2 73 65 74 5f  73 63 72 65 65 6e 28 6e  |....set_screen(n|
00002510  75 6d 62 65 72 25 29 0d  01 86 2d e7 56 25 3d 30  |umber%)...-.V%=0|
00002520  20 ef 20 32 34 2c 30 3b  39 36 30 3b 31 32 37 38  | . 24,0;960;1278|
00002530  3b 31 30 32 32 3b 31 38  2c 30 2c 31 33 31 2c 31  |;1022;18,0,131,1|
00002540  36 2c 32 36 0d 01 87 15  e3 66 25 3d 30 20 b8 20  |6,26.....f%=0 . |
00002550  31 32 38 30 20 88 20 38  34 0d 01 88 1f e7 6e 75  |1280 . 84.....nu|
00002560  6d 62 65 72 25 3c 28 74  61 62 6c 65 25 2a 67 6c  |mber%<(table%*gl|
00002570  65 6e 25 29 2b 31 20 8c  0d 01 89 33 f2 70 6c 6f  |en%)+1 ....3.plo|
00002580  74 5f 73 70 72 69 74 65  5f 6d 61 73 6b 65 64 28  |t_sprite_masked(|
00002590  66 25 2c 62 6c 6f 63 6b  5f 79 25 2c 31 2c 31 2c  |f%,block_y%,1,1,|
000025a0  31 2c 31 2c 22 74 69 6c  65 22 29 0d 01 8a 06 ef  |1,1,"tile").....|
000025b0  35 0d 01 8b 08 e6 30 2c  33 0d 01 8c 12 e7 20 6e  |5.....0,3..... n|
000025c0  75 6d 62 65 72 25 3e 2d  31 20 8c 0d 01 8d 11 61  |umber%>-1 .....a|
000025d0  24 3d c3 28 6e 75 6d 62  65 72 25 29 0d 01 8e 17  |$=.(number%)....|
000025e0  e7 20 a9 28 61 24 29 3d  31 20 61 24 3d 22 20 22  |. .(a$)=1 a$=" "|
000025f0  2b 61 24 0d 01 8f 1c ec  20 66 25 2b 32 32 2c 62  |+a$..... f%+22,b|
00002600  6c 6f 63 6b 5f 79 25 2b  34 30 3a f1 3b 61 24 0d  |lock_y%+40:.;a$.|
00002610  01 90 15 6e 75 6d 62 65  72 25 3d 6e 75 6d 62 65  |...number%=numbe|
00002620  72 25 2b 31 0d 01 91 05  cd 0d 01 92 05 cc 0d 01  |r%+1............|
00002630  93 4f e7 6e 75 6d 62 65  72 25 3d 28 74 61 62 6c  |.O.number%=(tabl|
00002640  65 25 2a 67 6c 65 6e 25  29 2b 31 20 f2 70 6c 6f  |e%*glen%)+1 .plo|
00002650  74 5f 73 70 72 69 74 65  5f 6d 61 73 6b 65 64 28  |t_sprite_masked(|
00002660  66 25 2c 62 6c 6f 63 6b  5f 79 25 2c 31 2c 31 2c  |f%,block_y%,1,1,|
00002670  31 2c 31 2c 22 74 69 6c  65 31 31 22 29 0d 01 94  |1,1,"tile11")...|
00002680  4f e7 6e 75 6d 62 65 72  25 3e 28 74 61 62 6c 65  |O.number%>(table|
00002690  25 2a 67 6c 65 6e 25 29  2b 31 20 f2 70 6c 6f 74  |%*glen%)+1 .plot|
000026a0  5f 73 70 72 69 74 65 5f  6d 61 73 6b 65 64 28 66  |_sprite_masked(f|
000026b0  25 2c 62 6c 6f 63 6b 5f  79 25 2c 31 2c 31 2c 31  |%,block_y%,1,1,1|
000026c0  2c 31 2c 22 74 69 6c 65  31 32 22 29 0d 01 95 15  |,1,"tile12")....|
000026d0  6e 75 6d 62 65 72 25 3d  6e 75 6d 62 65 72 25 2b  |number%=number%+|
000026e0  31 0d 01 96 05 cd 0d 01  97 05 ed 0d 01 98 0f dd  |1...............|
000026f0  f2 70 69 70 65 5f 77 6f  72 6b 0d 01 99 15 e3 66  |.pipe_work.....f|
00002700  25 3d 30 20 b8 20 31 32  38 30 20 88 20 36 34 0d  |%=0 . 1280 . 64.|
00002710  01 9a 38 f2 70 6c 6f 74  5f 73 70 72 69 74 65 5f  |..8.plot_sprite_|
00002720  6d 61 73 6b 65 64 28 66  25 2c 62 6c 6f 63 6b 5f  |masked(f%,block_|
00002730  79 25 2b 31 37 36 2c 31  2c 31 2c 31 2c 31 2c 22  |y%+176,1,1,1,1,"|
00002740  70 69 70 65 31 22 29 0d  01 9b 05 ed 0d 01 9c 15  |pipe1").........|
00002750  e3 66 25 3d 30 20 b8 20  31 32 38 30 20 88 20 36  |.f%=0 . 1280 . 6|
00002760  34 0d 01 9d 3c f2 70 6c  6f 74 5f 73 70 72 69 74  |4...<.plot_sprit|
00002770  65 5f 6d 61 73 6b 65 64  28 66 25 2c 62 6c 6f 63  |e_masked(f%,bloc|
00002780  6b 5f 79 25 2b 31 37 36  2b 31 36 30 2c 31 2c 31  |k_y%+176+160,1,1|
00002790  2c 31 2c 31 2c 22 70 69  70 65 31 22 29 0d 01 9e  |,1,1,"pipe1")...|
000027a0  05 ed 0d 01 9f 15 e3 66  25 3d 30 20 b8 20 31 32  |.......f%=0 . 12|
000027b0  38 30 20 88 20 36 34 0d  01 a0 3c f2 70 6c 6f 74  |80 . 64...<.plot|
000027c0  5f 73 70 72 69 74 65 5f  6d 61 73 6b 65 64 28 66  |_sprite_masked(f|
000027d0  25 2c 62 6c 6f 63 6b 5f  79 25 2b 31 37 36 2b 33  |%,block_y%+176+3|
000027e0  32 30 2c 31 2c 31 2c 31  2c 31 2c 22 70 69 70 65  |20,1,1,1,1,"pipe|
000027f0  31 22 29 0d 01 a1 05 ed  0d 01 a2 1e e3 20 62 6c  |1").......... bl|
00002800  6f 63 6b 5f 79 25 3d 32  36 30 20 b8 20 34 32 30  |ock_y%=260 . 420|
00002810  20 88 20 31 36 30 0d 01  a3 17 e3 66 66 25 3d 30  | . 160.....ff%=0|
00002820  20 b8 20 31 32 38 30 20  88 20 31 32 38 0d 01 a4  | . 1280 . 128...|
00002830  26 66 66 66 25 3d 66 66  25 3a e7 62 6c 6f 63 6b  |&fff%=ff%:.block|
00002840  5f 79 25 3d 34 32 30 20  66 66 66 25 3d 66 66 25  |_y%=420 fff%=ff%|
00002850  2b 36 34 0d 01 a5 3a f2  70 6c 6f 74 5f 73 70 72  |+64...:.plot_spr|
00002860  69 74 65 5f 6d 61 73 6b  65 64 28 66 66 66 25 2c  |ite_masked(fff%,|
00002870  62 6c 6f 63 6b 5f 79 25  2b 31 37 36 2c 31 2c 31  |block_y%+176,1,1|
00002880  2c 31 2c 31 2c 22 70 69  70 65 33 22 29 0d 01 a6  |,1,1,"pipe3")...|
00002890  2f e3 66 25 3d 62 6c 6f  63 6b 5f 79 25 2b 33 32  |/.f%=block_y%+32|
000028a0  2b 31 37 36 20 b8 20 62  6c 6f 63 6b 5f 79 25 2b  |+176 . block_y%+|
000028b0  31 32 38 2b 31 37 36 20  88 20 33 32 0d 01 a7 30  |128+176 . 32...0|
000028c0  f2 70 6c 6f 74 5f 73 70  72 69 74 65 5f 6d 61 73  |.plot_sprite_mas|
000028d0  6b 65 64 28 66 66 66 25  2c 66 25 2c 31 2c 31 2c  |ked(fff%,f%,1,1,|
000028e0  31 2c 31 2c 22 70 69 70  65 32 22 29 0d 01 a8 05  |1,1,"pipe2")....|
000028f0  ed 0d 01 a9 3e f2 70 6c  6f 74 5f 73 70 72 69 74  |....>.plot_sprit|
00002900  65 5f 6d 61 73 6b 65 64  28 66 66 66 25 2c 62 6c  |e_masked(fff%,bl|
00002910  6f 63 6b 5f 79 25 2b 31  37 36 2b 31 36 30 2c 31  |ock_y%+176+160,1|
00002920  2c 31 2c 31 2c 31 2c 22  70 69 70 65 35 22 29 0d  |,1,1,1,"pipe5").|
00002930  01 aa 05 ed 0d 01 ab 05  ed 0d 01 ac 05 e1 0d 01  |................|
00002940  ad 0e dd f2 73 65 61 28  73 63 25 29 0d 01 ae 32  |....sea(sc%)...2|
00002950  41 25 3d 73 63 25 2b 28  33 32 30 2a 28 32 30 30  |A%=sc%+(320*(200|
00002960  2a 28 56 25 2b 31 29 29  29 2b 28 28 28 56 25 2d  |*(V%+1)))+(((V%-|
00002970  31 29 2a 2d 31 29 2a 33  32 30 2a 31 36 29 0d 01  |1)*-1)*320*16)..|
00002980  af 12 42 25 3d 34 30 2a  28 56 25 2b 31 29 2d 31  |..B%=40*(V%+1)-1|
00002990  0d 01 b0 13 61 25 3d 63  6f 6c 6f 75 72 5f 74 79  |....a%=colour_ty|
000029a0  70 65 25 0d 01 b1 11 62  25 3d 66 69 6c 6c 5f 74  |pe%....b%=fill_t|
000029b0  79 70 65 25 0d 01 b2 46  43 25 3d 28 61 25 3c 3c  |ype%...FC%=(a%<<|
000029c0  32 38 29 2b 28 62 25 3c  3c 32 34 29 2b 28 61 25  |28)+(b%<<24)+(a%|
000029d0  3c 3c 32 30 29 2b 28 62  25 3c 3c 31 36 29 2b 28  |<<20)+(b%<<16)+(|
000029e0  61 25 3c 3c 31 32 29 2b  28 62 25 3c 3c 38 29 2b  |a%<<12)+(b%<<8)+|
000029f0  28 61 25 3c 3c 34 29 2b  62 25 0d 01 b3 46 44 25  |(a%<<4)+b%...FD%|
00002a00  3d 28 62 25 3c 3c 32 38  29 2b 28 61 25 3c 3c 32  |=(b%<<28)+(a%<<2|
00002a10  34 29 2b 28 62 25 3c 3c  32 30 29 2b 28 61 25 3c  |4)+(b%<<20)+(a%<|
00002a20  3c 31 36 29 2b 28 62 25  3c 3c 31 32 29 2b 28 61  |<16)+(b%<<12)+(a|
00002a30  25 3c 3c 38 29 2b 28 62  25 3c 3c 34 29 2b 61 25  |%<<8)+(b%<<4)+a%|
00002a40  0d 01 b4 0a 45 25 3d 33  32 30 0d 01 b5 0e d6 20  |....E%=320..... |
00002a50  73 70 6c 6f 64 67 65 25  0d 01 b6 05 e1 0d 01 b7  |splodge%........|
00002a60  0b dd f2 62 61 63 6b 67  0d 01 b8 09 6f 66 25 3d  |...backg....of%=|
00002a70  30 0d 01 b9 16 e3 66 25  3d 2d 33 32 20 b8 20 39  |0.....f%=-32 . 9|
00002a80  36 30 20 88 20 36 34 0d  01 ba 1a e7 20 6f 66 25  |60 . 64..... of%|
00002a90  3d 30 20 6f 66 25 3d 33  32 20 8b 20 6f 66 25 3d  |=0 of%=32 . of%=|
00002aa0  30 0d 01 bb 17 e3 66 66  25 3d 30 20 b8 20 31 32  |0.....ff%=0 . 12|
00002ab0  38 30 20 88 20 31 32 38  0d 01 bc 1a e7 20 6f 66  |80 . 128..... of|
00002ac0  25 3d 30 20 6f 66 25 3d  33 32 20 8b 20 6f 66 25  |%=0 of%=32 . of%|
00002ad0  3d 30 0d 01 bd 2b f2 70  6c 6f 74 5f 73 70 72 69  |=0...+.plot_spri|
00002ae0  74 65 28 66 66 25 2c 66  25 2b 6f 66 25 2c 31 2c  |te(ff%,f%+of%,1,|
00002af0  31 2c 31 2c 31 2c 22 62  61 63 6b 22 29 0d 01 be  |1,1,1,"back")...|
00002b00  07 ed 3a ed 0d 01 bf 05  e1 0d 01 c0 3f dd f2 74  |..:.........?..t|
00002b10  65 78 74 5f 62 6f 78 28  73 74 5f 78 25 2c 73 74  |ext_box(st_x%,st|
00002b20  5f 79 25 2c 6c 65 6e 67  74 68 25 2c 68 65 69 67  |_y%,length%,heig|
00002b30  68 74 25 2c 6a 75 73 74  5f 74 79 70 65 25 2c 61  |ht%,just_type%,a|
00002b40  24 2c 62 24 2c 63 24 29  0d 01 c1 33 e7 74 65 78  |$,b$,c$)...3.tex|
00002b50  74 5f 63 6f 6c 25 3d 33  20 f2 62 6f 78 32 28 73  |t_col%=3 .box2(s|
00002b60  74 5f 78 25 2c 73 74 5f  79 25 2c 6c 65 6e 67 74  |t_x%,st_y%,lengt|
00002b70  68 25 2c 68 65 69 67 68  74 25 29 0d 01 c2 33 e7  |h%,height%)...3.|
00002b80  74 65 78 74 5f 63 6f 6c  25 3d 30 20 f2 62 6f 78  |text_col%=0 .box|
00002b90  33 28 73 74 5f 78 25 2c  73 74 5f 79 25 2c 6c 65  |3(st_x%,st_y%,le|
00002ba0  6e 67 74 68 25 2c 68 65  69 67 68 74 25 29 0d 01  |ngth%,height%)..|
00002bb0  c3 20 66 5f 77 69 64 74  68 31 25 3d a4 66 6f 6e  |. f_width1%=.fon|
00002bc0  74 5f 73 74 72 69 6e 67  5f 77 28 61 24 29 0d 01  |t_string_w(a$)..|
00002bd0  c4 20 66 5f 77 69 64 74  68 32 25 3d a4 66 6f 6e  |. f_width2%=.fon|
00002be0  74 5f 73 74 72 69 6e 67  5f 77 28 62 24 29 0d 01  |t_string_w(b$)..|
00002bf0  c5 20 66 5f 77 69 64 74  68 33 25 3d a4 66 6f 6e  |. f_width3%=.fon|
00002c00  74 5f 73 74 72 69 6e 67  5f 77 28 63 24 29 0d 01  |t_string_w(c$)..|
00002c10  c6 40 66 5f 68 65 69 67  68 74 25 3d 37 30 3a f4  |.@f_height%=70:.|
00002c20  20 46 4e 66 6f 6e 74 5f  73 74 72 69 6e 67 5f 77  | FNfont_string_w|
00002c30  28 61 24 29 3a 52 45 4d  20 61 6c 6c 20 68 65 69  |(a$):REM all hei|
00002c40  67 68 74 73 20 74 68 65  20 73 61 6d 65 3f 0d 01  |ghts the same?..|
00002c50  c7 2c 6c 69 6e 65 73 25  3d 33 3a e7 63 24 3d 22  |.,lines%=3:.c$="|
00002c60  22 3a 6c 69 6e 65 73 25  3d 32 3a e7 62 24 3d 22  |":lines%=2:.b$="|
00002c70  22 3a 6c 69 6e 65 73 25  3d 31 0d 01 c8 2e 78 70  |":lines%=1....xp|
00002c80  6f 73 31 25 3d 73 74 5f  78 25 2b 28 28 6c 65 6e  |os1%=st_x%+((len|
00002c90  67 74 68 25 2d 28 66 5f  77 69 64 74 68 31 25 2f  |gth%-(f_width1%/|
00002ca0  34 30 30 29 29 2f 32 29  0d 01 c9 2e 78 70 6f 73  |400))/2)....xpos|
00002cb0  32 25 3d 73 74 5f 78 25  2b 28 28 6c 65 6e 67 74  |2%=st_x%+((lengt|
00002cc0  68 25 2d 28 66 5f 77 69  64 74 68 32 25 2f 34 30  |h%-(f_width2%/40|
00002cd0  30 29 29 2f 32 29 0d 01  ca 2e 78 70 6f 73 33 25  |0))/2)....xpos3%|
00002ce0  3d 73 74 5f 78 25 2b 28  28 6c 65 6e 67 74 68 25  |=st_x%+((length%|
00002cf0  2d 28 66 5f 77 69 64 74  68 33 25 2f 34 30 30 29  |-(f_width3%/400)|
00002d00  29 2f 32 29 0d 01 cb 34  f4 20 62 6f 78 5f 74 79  |)/2)...4. box_ty|
00002d10  70 65 25 3d 31 20 63 65  6e 74 72 65 64 20 62 6f  |pe%=1 centred bo|
00002d20  78 5f 74 79 70 65 25 3d  32 20 6c 65 66 74 20 6a  |x_type%=2 left j|
00002d30  75 73 74 69 66 69 65 64  0d 01 cc 13 e7 6a 75 73  |ustified.....jus|
00002d40  74 5f 74 79 70 65 25 3d  32 20 8c 0d 01 cd 30 e7  |t_type%=2 ....0.|
00002d50  78 70 6f 73 31 25 3c 78  70 6f 73 32 25 20 78 70  |xpos1%<xpos2% xp|
00002d60  6f 73 32 25 3d 78 70 6f  73 31 25 20 8b 20 78 70  |os2%=xpos1% . xp|
00002d70  6f 73 31 25 3d 78 70 6f  73 32 25 0d 01 ce 30 e7  |os1%=xpos2%...0.|
00002d80  78 70 6f 73 32 25 3c 78  70 6f 73 33 25 20 78 70  |xpos2%<xpos3% xp|
00002d90  6f 73 33 25 3d 78 70 6f  73 32 25 20 8b 20 78 70  |os3%=xpos2% . xp|
00002da0  6f 73 32 25 3d 78 70 6f  73 33 25 0d 01 cf 30 e7  |os2%=xpos3%...0.|
00002db0  78 70 6f 73 33 25 3c 78  70 6f 73 31 25 20 78 70  |xpos3%<xpos1% xp|
00002dc0  6f 73 31 25 3d 78 70 6f  73 33 25 20 8b 20 78 70  |os1%=xpos3% . xp|
00002dd0  6f 73 33 25 3d 78 70 6f  73 31 25 0d 01 d0 05 cd  |os3%=xpos1%.....|
00002de0  0d 01 d1 54 79 70 6f 73  31 25 3d 28 73 74 5f 79  |...Typos1%=(st_y|
00002df0  25 2d 28 66 5f 68 65 69  67 68 74 25 2f 36 29 2a  |%-(f_height%/6)*|
00002e00  34 29 2b 28 68 65 69 67  68 74 25 2d 28 6c 69 6e  |4)+(height%-(lin|
00002e10  65 73 25 2a 66 5f 68 65  69 67 68 74 25 29 29 2f  |es%*f_height%))/|
00002e20  32 2b 28 6c 69 6e 65 73  25 2a 66 5f 68 65 69 67  |2+(lines%*f_heig|
00002e30  68 74 25 29 0d 01 d2 1b  79 70 6f 73 32 25 3d 79  |ht%)....ypos2%=y|
00002e40  70 6f 73 31 25 2d 66 5f  68 65 69 67 68 74 25 0d  |pos1%-f_height%.|
00002e50  01 d3 1b 79 70 6f 73 33  25 3d 79 70 6f 73 32 25  |...ypos3%=ypos2%|
00002e60  2d 66 5f 68 65 69 67 68  74 25 0d 01 d4 27 e7 74  |-f_height%...'.t|
00002e70  65 78 74 5f 63 6f 6c 25  3d 33 20 f2 70 72 69 28  |ext_col%=3 .pri(|
00002e80  78 70 6f 73 31 25 2c 79  70 6f 73 31 25 2c 61 24  |xpos1%,ypos1%,a$|
00002e90  29 0d 01 d5 28 e7 74 65  78 74 5f 63 6f 6c 25 3d  |)...(.text_col%=|
00002ea0  30 20 f2 70 72 69 32 28  78 70 6f 73 31 25 2c 79  |0 .pri2(xpos1%,y|
00002eb0  70 6f 73 31 25 2c 61 24  29 0d 01 d6 32 e7 6c 69  |pos1%,a$)...2.li|
00002ec0  6e 65 73 25 3e 31 20 80  20 74 65 78 74 5f 63 6f  |nes%>1 . text_co|
00002ed0  6c 25 3d 33 20 f2 70 72  69 28 78 70 6f 73 32 25  |l%=3 .pri(xpos2%|
00002ee0  2c 79 70 6f 73 32 25 2c  62 24 29 0d 01 d7 33 e7  |,ypos2%,b$)...3.|
00002ef0  6c 69 6e 65 73 25 3e 31  20 80 20 74 65 78 74 5f  |lines%>1 . text_|
00002f00  63 6f 6c 25 3d 30 20 f2  70 72 69 32 28 78 70 6f  |col%=0 .pri2(xpo|
00002f10  73 32 25 2c 79 70 6f 73  32 25 2c 62 24 29 0d 01  |s2%,ypos2%,b$)..|
00002f20  d8 32 e7 6c 69 6e 65 73  25 3e 32 20 80 20 74 65  |.2.lines%>2 . te|
00002f30  78 74 5f 63 6f 6c 25 3d  33 20 f2 70 72 69 28 78  |xt_col%=3 .pri(x|
00002f40  70 6f 73 33 25 2c 79 70  6f 73 33 25 2c 63 24 29  |pos3%,ypos3%,c$)|
00002f50  0d 01 d9 33 e7 6c 69 6e  65 73 25 3e 32 20 80 20  |...3.lines%>2 . |
00002f60  74 65 78 74 5f 63 6f 6c  25 3d 30 20 f2 70 72 69  |text_col%=0 .pri|
00002f70  32 28 78 70 6f 73 33 25  2c 79 70 6f 73 33 25 2c  |2(xpos3%,ypos3%,|
00002f80  63 24 29 0d 01 da 05 e1  0d 01 db 14 dd f2 70 72  |c$)...........pr|
00002f90  69 32 28 78 25 2c 79 25  2c 61 24 29 0d 01 dc 3a  |i2(x%,y%,a$)...:|
00002fa0  c8 99 22 46 6f 6e 74 5f  46 69 6e 64 46 6f 6e 74  |.."Font_FindFont|
00002fb0  22 2c 2c 22 54 41 42 4c  4f 49 44 2e 4d 65 64 69  |",,"TABLOID.Medi|
00002fc0  75 6d 22 2c 33 32 30 2c  33 36 30 2c 30 2c 30 20  |um",320,360,0,0 |
00002fd0  b8 20 68 61 6e 25 0d 01  dd 24 c8 99 22 46 6f 6e  |. han%...$.."Fon|
00002fe0  74 5f 53 65 74 46 6f 6e  74 43 6f 6c 6f 75 72 73  |t_SetFontColours|
00002ff0  22 2c 30 2c 33 2c 32 2c  2d 32 0d 01 de 14 ef 30  |",0,3,2,-2.....0|
00003000  2c 30 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 0d 01  |,0,0,0,0,0,0,0..|
00003010  df 1f c8 99 22 46 6f 6e  74 5f 50 61 69 6e 74 22  |...."Font_Paint"|
00003020  2c 2c 61 24 2c 31 36 2c  78 25 2c 79 25 0d 01 e0  |,,a$,16,x%,y%...|
00003030  1a c8 99 22 46 6f 6e 74  5f 4c 6f 73 65 46 6f 6e  |..."Font_LoseFon|
00003040  74 22 2c 68 61 6e 25 0d  01 e1 05 e1 0d 01 e2 13  |t",han%.........|
00003050  dd f2 70 72 69 28 78 25  2c 79 25 2c 61 24 29 0d  |..pri(x%,y%,a$).|
00003060  01 e3 3a c8 99 22 46 6f  6e 74 5f 46 69 6e 64 46  |..:.."Font_FindF|
00003070  6f 6e 74 22 2c 2c 22 54  41 42 4c 4f 49 44 2e 4d  |ont",,"TABLOID.M|
00003080  65 64 69 75 6d 22 2c 33  32 30 2c 33 36 30 2c 30  |edium",320,360,0|
00003090  2c 30 20 b8 20 68 61 6e  25 0d 01 e4 23 c8 99 22  |,0 . han%...#.."|
000030a0  46 6f 6e 74 5f 53 65 74  46 6f 6e 74 43 6f 6c 6f  |Font_SetFontColo|
000030b0  75 72 73 22 2c 30 2c 30  2c 31 2c 32 0d 01 e5 14  |urs",0,0,1,2....|
000030c0  ef 30 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 30  |.0,0,0,0,0,0,0,0|
000030d0  0d 01 e6 1f c8 99 22 46  6f 6e 74 5f 50 61 69 6e  |......"Font_Pain|
000030e0  74 22 2c 2c 61 24 2c 31  36 2c 78 25 2c 79 25 0d  |t",,a$,16,x%,y%.|
000030f0  01 e7 1a c8 99 22 46 6f  6e 74 5f 4c 6f 73 65 46  |....."Font_LoseF|
00003100  6f 6e 74 22 2c 68 61 6e  25 0d 01 e8 05 e1 0d 01  |ont",han%.......|
00003110  e9 1c dd a4 66 6f 6e 74  5f 73 74 72 69 6e 67 5f  |....font_string_|
00003120  77 28 73 74 72 69 6e 67  24 29 0d 01 ea 14 24 73  |w(string$)....$s|
00003130  74 72 69 6e 67 25 3d 73  74 72 69 6e 67 24 0d 01  |tring%=string$..|
00003140  eb 3a c8 99 22 46 6f 6e  74 5f 46 69 6e 64 46 6f  |.:.."Font_FindFo|
00003150  6e 74 22 2c 2c 22 54 41  42 4c 4f 49 44 2e 4d 65  |nt",,"TABLOID.Me|
00003160  64 69 75 6d 22 2c 33 32  30 2c 33 36 30 2c 30 2c  |dium",320,360,0,|
00003170  30 20 b8 20 68 61 6e 25  0d 01 ec 47 c8 99 22 46  |0 . han%...G.."F|
00003180  6f 6e 74 5f 53 74 72 69  6e 67 57 69 64 74 68 22  |ont_StringWidth"|
00003190  2c 30 2c 73 74 72 69 6e  67 25 2c 36 30 30 30 30  |,0,string%,60000|
000031a0  30 2c 34 38 30 30 30 30  2c 2d 31 2c 38 30 20 b8  |0,480000,-1,80 .|
000031b0  20 72 30 2c 72 31 2c 66  5f 77 69 64 74 68 25 0d  | r0,r1,f_width%.|
000031c0  01 ed 1a c8 99 22 46 6f  6e 74 5f 4c 6f 73 65 46  |....."Font_LoseF|
000031d0  6f 6e 74 22 2c 68 61 6e  25 0d 01 ee 0d 3d 66 5f  |ont",han%....=f_|
000031e0  77 69 64 74 68 25 0d 01  ef 1c dd a4 66 6f 6e 74  |width%......font|
000031f0  5f 73 74 72 69 6e 67 5f  68 28 73 74 72 69 6e 67  |_string_h(string|
00003200  24 29 0d 01 f0 14 24 73  74 72 69 6e 67 25 3d 73  |$)....$string%=s|
00003210  74 72 69 6e 67 24 0d 01  f1 3a c8 99 22 46 6f 6e  |tring$...:.."Fon|
00003220  74 5f 46 69 6e 64 46 6f  6e 74 22 2c 2c 22 54 41  |t_FindFont",,"TA|
00003230  42 4c 4f 49 44 2e 4d 65  64 69 75 6d 22 2c 33 32  |BLOID.Medium",32|
00003240  30 2c 33 36 30 2c 30 2c  30 20 b8 20 68 61 6e 25  |0,360,0,0 . han%|
00003250  0d 01 f2 4a c8 99 22 46  6f 6e 74 5f 53 74 72 69  |...J.."Font_Stri|
00003260  6e 67 57 69 64 74 68 22  2c 30 2c 73 74 72 69 6e  |ngWidth",0,strin|
00003270  67 25 2c 36 30 30 30 30  30 2c 34 38 30 30 30 30  |g%,600000,480000|
00003280  2c 2d 31 2c 38 30 20 b8  20 72 30 2c 72 31 2c 72  |,-1,80 . r0,r1,r|
00003290  32 2c 66 5f 68 65 69 67  68 74 0d 01 f3 1a c8 99  |2,f_height......|
000032a0  22 46 6f 6e 74 5f 4c 6f  73 65 46 6f 6e 74 22 2c  |"Font_LoseFont",|
000032b0  68 61 6e 25 0d 01 f4 0e  3d 66 5f 68 65 69 67 68  |han%....=f_heigh|
000032c0  74 25 0d 01 f5 18 dd f2  73 74 61 72 74 5f 61 6e  |t%......start_an|
000032d0  69 6d 28 62 6c 61 6e 6b  24 29 0d 01 f6 3d c8 99  |im(blank$)...=..|
000032e0  22 4f 53 5f 53 70 72 69  74 65 4f 70 22 2c 26 31  |"OS_SpriteOp",&1|
000032f0  31 38 2c 73 70 72 69 74  65 5f 61 72 65 61 31 25  |18,sprite_area1%|
00003300  2c 73 65 6c 5f 73 70 72  69 74 65 24 20 b8 20 72  |,sel_sprite$ . r|
00003310  30 2c 72 31 2c 72 32 0d  01 f7 33 77 69 64 74 68  |0,r1,r2...3width|
00003320  25 3d 28 21 28 72 32 2b  31 36 29 2b 31 29 2a 31  |%=(!(r2+16)+1)*1|
00003330  36 3a 68 65 69 67 68 74  25 3d 28 21 28 72 32 2b  |6:height%=(!(r2+|
00003340  32 30 29 2b 31 29 2a 28  34 29 0d 01 f8 56 c8 99  |20)+1)*(4)...V..|
00003350  22 4f 53 5f 53 70 72 69  74 65 4f 70 22 2c 26 31  |"OS_SpriteOp",&1|
00003360  31 30 2c 73 70 72 69 74  65 5f 61 72 65 61 31 25  |10,sprite_area1%|
00003370  2c 62 6c 61 6e 6b 24 2c  30 2c 61 6e 5f 78 25 2c  |,blank$,0,an_x%,|
00003380  61 6e 5f 79 25 2c 61 6e  5f 78 25 2b 77 69 64 74  |an_y%,an_x%+widt|
00003390  68 25 2c 61 6e 5f 79 25  2b 68 65 69 67 68 74 25  |h%,an_y%+height%|
000033a0  0d 01 f9 38 f2 70 6c 6f  74 5f 73 70 72 69 74 65  |...8.plot_sprite|
000033b0  5f 6d 61 73 6b 65 64 28  61 6e 5f 78 25 2c 61 6e  |_masked(an_x%,an|
000033c0  5f 79 25 2c 31 2c 31 2c  31 2c 31 2c 73 65 6c 5f  |_y%,1,1,1,1,sel_|
000033d0  73 70 72 69 74 65 24 29  0d 01 fa 1d 61 6e 5f 78  |sprite$)....an_x|
000033e0  78 25 3d 61 6e 5f 78 25  3a 61 6e 5f 79 79 25 3d  |x%=an_x%:an_yy%=|
000033f0  61 6e 5f 79 25 0d 01 fb  05 e1 0d 01 fc 12 dd f2  |an_y%...........|
00003400  61 6e 69 6d 28 62 6c 61  6e 6b 24 29 0d 01 fd 3a  |anim(blank$)...:|
00003410  f2 70 6c 6f 74 5f 73 70  72 69 74 65 5f 6d 61 73  |.plot_sprite_mas|
00003420  6b 65 64 28 61 6e 5f 78  78 25 2c 61 6e 5f 79 79  |ked(an_xx%,an_yy|
00003430  25 2c 31 2c 31 2c 31 2c  31 2b 76 67 61 25 2c 62  |%,1,1,1,1+vga%,b|
00003440  6c 61 6e 6b 24 29 0d 01  fe 56 c8 99 22 4f 53 5f  |lank$)...V.."OS_|
00003450  53 70 72 69 74 65 4f 70  22 2c 26 31 31 30 2c 73  |SpriteOp",&110,s|
00003460  70 72 69 74 65 5f 61 72  65 61 31 25 2c 62 6c 61  |prite_area1%,bla|
00003470  6e 6b 24 2c 30 2c 61 6e  5f 78 25 2c 61 6e 5f 79  |nk$,0,an_x%,an_y|
00003480  25 2c 61 6e 5f 78 25 2b  77 69 64 74 68 25 2c 61  |%,an_x%+width%,a|
00003490  6e 5f 79 25 2b 68 65 69  67 68 74 25 0d 01 ff 38  |n_y%+height%...8|
000034a0  f2 70 6c 6f 74 5f 73 70  72 69 74 65 5f 6d 61 73  |.plot_sprite_mas|
000034b0  6b 65 64 28 61 6e 5f 78  25 2c 61 6e 5f 79 25 2c  |ked(an_x%,an_y%,|
000034c0  31 2c 31 2c 31 2c 31 2c  73 65 6c 5f 73 70 72 69  |1,1,1,1,sel_spri|
000034d0  74 65 24 29 0d 02 00 1d  61 6e 5f 78 78 25 3d 61  |te$)....an_xx%=a|
000034e0  6e 5f 78 25 3a 61 6e 5f  79 79 25 3d 61 6e 5f 79  |n_x%:an_yy%=an_y|
000034f0  25 0d 02 01 05 e1 0d 02  02 16 dd f2 65 6e 64 5f  |%...........end_|
00003500  61 6e 69 6d 28 62 6c 61  6e 6b 24 29 0d 02 03 3a  |anim(blank$)...:|
00003510  f2 70 6c 6f 74 5f 73 70  72 69 74 65 5f 6d 61 73  |.plot_sprite_mas|
00003520  6b 65 64 28 61 6e 5f 78  78 25 2c 61 6e 5f 79 79  |ked(an_xx%,an_yy|
00003530  25 2c 31 2c 31 2c 31 2c  31 2b 76 67 61 25 2c 62  |%,1,1,1,1+vga%,b|
00003540  6c 61 6e 6b 24 29 0d 02  04 05 e1 0d 02 05 1a dd  |lank$)..........|
00003550  f2 73 74 61 72 74 5f 61  6e 69 6d 32 28 62 6c 61  |.start_anim2(bla|
00003560  6e 6b 32 24 29 0d 02 06  3e c8 99 22 4f 53 5f 53  |nk2$)...>.."OS_S|
00003570  70 72 69 74 65 4f 70 22  2c 26 31 31 38 2c 73 70  |priteOp",&118,sp|
00003580  72 69 74 65 5f 61 72 65  61 31 25 2c 73 65 6c 5f  |rite_area1%,sel_|
00003590  73 70 72 69 74 65 32 24  20 b8 20 72 30 2c 72 31  |sprite2$ . r0,r1|
000035a0  2c 72 32 0d 02 07 35 77  69 64 74 68 32 25 3d 28  |,r2...5width2%=(|
000035b0  21 28 72 32 2b 31 36 29  2b 31 29 2a 31 36 3a 68  |!(r2+16)+1)*16:h|
000035c0  65 69 67 68 74 32 25 3d  28 21 28 72 32 2b 32 30  |eight2%=(!(r2+20|
000035d0  29 2b 31 29 2a 28 34 29  0d 02 08 5d c8 99 22 4f  |)+1)*(4)...].."O|
000035e0  53 5f 53 70 72 69 74 65  4f 70 22 2c 26 31 31 30  |S_SpriteOp",&110|
000035f0  2c 73 70 72 69 74 65 5f  61 72 65 61 31 25 2c 62  |,sprite_area1%,b|
00003600  6c 61 6e 6b 32 24 2c 30  2c 61 6e 5f 78 32 25 2c  |lank2$,0,an_x2%,|
00003610  61 6e 5f 79 32 25 2c 61  6e 5f 78 32 25 2b 77 69  |an_y2%,an_x2%+wi|
00003620  64 74 68 32 25 2c 61 6e  5f 79 32 25 2b 68 65 69  |dth2%,an_y2%+hei|
00003630  67 68 74 32 25 0d 02 09  3b f2 70 6c 6f 74 5f 73  |ght2%...;.plot_s|
00003640  70 72 69 74 65 5f 6d 61  73 6b 65 64 28 61 6e 5f  |prite_masked(an_|
00003650  78 32 25 2c 61 6e 5f 79  32 25 2c 31 2c 31 2c 31  |x2%,an_y2%,1,1,1|
00003660  2c 31 2c 73 65 6c 5f 73  70 72 69 74 65 32 24 29  |,1,sel_sprite2$)|
00003670  0d 02 0a 21 61 6e 5f 78  78 32 25 3d 61 6e 5f 78  |...!an_xx2%=an_x|
00003680  32 25 3a 61 6e 5f 79 79  32 25 3d 61 6e 5f 79 32  |2%:an_yy2%=an_y2|
00003690  25 0d 02 0b 05 e1 0d 02  0c 14 dd f2 61 6e 69 6d  |%...........anim|
000036a0  32 28 62 6c 61 6e 6b 32  24 29 0d 02 0d 3d f2 70  |2(blank2$)...=.p|
000036b0  6c 6f 74 5f 73 70 72 69  74 65 5f 6d 61 73 6b 65  |lot_sprite_maske|
000036c0  64 28 61 6e 5f 78 78 32  25 2c 61 6e 5f 79 79 32  |d(an_xx2%,an_yy2|
000036d0  25 2c 31 2c 31 2c 31 2c  31 2b 76 67 61 25 2c 62  |%,1,1,1,1+vga%,b|
000036e0  6c 61 6e 6b 32 24 29 0d  02 0e 5d c8 99 22 4f 53  |lank2$)...].."OS|
000036f0  5f 53 70 72 69 74 65 4f  70 22 2c 26 31 31 30 2c  |_SpriteOp",&110,|
00003700  73 70 72 69 74 65 5f 61  72 65 61 31 25 2c 62 6c  |sprite_area1%,bl|
00003710  61 6e 6b 32 24 2c 30 2c  61 6e 5f 78 32 25 2c 61  |ank2$,0,an_x2%,a|
00003720  6e 5f 79 32 25 2c 61 6e  5f 78 32 25 2b 77 69 64  |n_y2%,an_x2%+wid|
00003730  74 68 32 25 2c 61 6e 5f  79 32 25 2b 68 65 69 67  |th2%,an_y2%+heig|
00003740  68 74 32 25 0d 02 0f 3b  f2 70 6c 6f 74 5f 73 70  |ht2%...;.plot_sp|
00003750  72 69 74 65 5f 6d 61 73  6b 65 64 28 61 6e 5f 78  |rite_masked(an_x|
00003760  32 25 2c 61 6e 5f 79 32  25 2c 31 2c 31 2c 31 2c  |2%,an_y2%,1,1,1,|
00003770  31 2c 73 65 6c 5f 73 70  72 69 74 65 32 24 29 0d  |1,sel_sprite2$).|
00003780  02 10 21 61 6e 5f 78 78  32 25 3d 61 6e 5f 78 32  |..!an_xx2%=an_x2|
00003790  25 3a 61 6e 5f 79 79 32  25 3d 61 6e 5f 79 32 25  |%:an_yy2%=an_y2%|
000037a0  0d 02 11 05 e1 0d 02 12  18 dd f2 65 6e 64 5f 61  |...........end_a|
000037b0  6e 69 6d 32 28 62 6c 61  6e 6b 32 24 29 0d 02 13  |nim2(blank2$)...|
000037c0  3d f2 70 6c 6f 74 5f 73  70 72 69 74 65 5f 6d 61  |=.plot_sprite_ma|
000037d0  73 6b 65 64 28 61 6e 5f  78 78 32 25 2c 61 6e 5f  |sked(an_xx2%,an_|
000037e0  79 79 32 25 2c 31 2c 31  2c 31 2c 31 2b 76 67 61  |yy2%,1,1,1,1+vga|
000037f0  25 2c 62 6c 61 6e 6b 32  24 29 0d 02 14 05 e1 0d  |%,blank2$)......|
00003800  02 15 14 dd f2 70 72 69  32 28 78 25 2c 79 25 2c  |.....pri2(x%,y%,|
00003810  61 24 29 0d 02 16 3a c8  99 22 46 6f 6e 74 5f 46  |a$)...:.."Font_F|
00003820  69 6e 64 46 6f 6e 74 22  2c 2c 22 54 41 42 4c 4f  |indFont",,"TABLO|
00003830  49 44 2e 4d 65 64 69 75  6d 22 2c 33 32 30 2c 33  |ID.Medium",320,3|
00003840  36 30 2c 30 2c 30 20 b8  20 68 61 6e 25 0d 02 17  |60,0,0 . han%...|
00003850  24 c8 99 22 46 6f 6e 74  5f 53 65 74 46 6f 6e 74  |$.."Font_SetFont|
00003860  43 6f 6c 6f 75 72 73 22  2c 30 2c 33 2c 32 2c 2d  |Colours",0,3,2,-|
00003870  32 0d 02 18 14 ef 30 2c  30 2c 30 2c 30 2c 30 2c  |2.....0,0,0,0,0,|
00003880  30 2c 30 2c 30 0d 02 19  1f c8 99 22 46 6f 6e 74  |0,0,0......"Font|
00003890  5f 50 61 69 6e 74 22 2c  2c 61 24 2c 31 36 2c 78  |_Paint",,a$,16,x|
000038a0  25 2c 79 25 0d 02 1a 1a  c8 99 22 46 6f 6e 74 5f  |%,y%......"Font_|
000038b0  4c 6f 73 65 46 6f 6e 74  22 2c 68 61 6e 25 0d 02  |LoseFont",han%..|
000038c0  1b 05 e1 0d 02 1c 1c dd  f2 62 6f 78 28 62 78 25  |.........box(bx%|
000038d0  2c 62 79 25 2c 62 78 78  25 2c 62 79 79 25 29 0d  |,by%,bxx%,byy%).|
000038e0  02 1d 1f 62 78 78 25 3d  62 78 25 2b 62 78 78 25  |...bxx%=bx%+bxx%|
000038f0  3a 62 79 79 25 3d 62 79  25 2b 62 79 79 25 0d 02  |:byy%=by%+byy%..|
00003900  1e 25 ef 32 34 2c 62 78  25 3b 62 79 25 3b 62 78  |.%.24,bx%;by%;bx|
00003910  78 25 3b 62 79 79 25 3b  31 38 2c 30 2c 31 33 30  |x%;byy%;18,0,130|
00003920  2c 31 36 0d 02 1f 2d ef  32 34 2c 62 78 25 2b 34  |,16...-.24,bx%+4|
00003930  3b 62 79 25 2b 34 3b 62  78 78 25 2d 34 3b 62 79  |;by%+4;bxx%-4;by|
00003940  79 25 2d 34 3b 31 38 2c  30 2c 31 32 39 2c 31 36  |y%-4;18,0,129,16|
00003950  0d 02 20 30 ef 32 34 2c  62 78 25 2b 38 3b 62 79  |.. 0.24,bx%+8;by|
00003960  25 2b 38 3b 62 78 78 25  2d 38 3b 62 79 79 25 2d  |%+8;bxx%-8;byy%-|
00003970  38 3b 31 38 2c 30 2c 31  32 38 2c 31 36 2c 32 36  |8;18,0,128,16,26|
00003980  0d 02 21 2f e6 30 2c 33  3a ec 20 62 78 25 2b 34  |..!/.0,3:. bx%+4|
00003990  2c 62 79 25 3a f0 35 2c  62 78 78 25 2c 62 79 25  |,by%:.5,bxx%,by%|
000039a0  3a f0 35 2c 62 78 78 25  2c 62 79 79 25 2d 34 0d  |:.5,bxx%,byy%-4.|
000039b0  02 22 32 ec 20 62 78 25  2b 34 2c 62 79 25 2b 32  |."2. bx%+4,by%+2|
000039c0  3a f0 35 2c 62 78 78 25  2d 32 2c 62 79 25 2b 32  |:.5,bxx%-2,by%+2|
000039d0  3a f0 35 2c 62 78 78 25  2d 32 2c 62 79 79 25 2d  |:.5,bxx%-2,byy%-|
000039e0  34 0d 02 23 37 e6 30 2c  32 3a ec 20 62 78 25 2b  |4..#7.0,2:. bx%+|
000039f0  38 2c 62 79 25 2b 34 3a  f0 35 2c 62 78 78 25 2d  |8,by%+4:.5,bxx%-|
00003a00  34 2c 62 79 25 2b 34 3a  f0 35 2c 62 78 78 25 2d  |4,by%+4:.5,bxx%-|
00003a10  34 2c 62 79 79 25 2d 38  0d 02 24 32 ec 20 62 78  |4,byy%-8..$2. bx|
00003a20  25 2b 38 2c 62 79 25 2b  36 3a f0 35 2c 62 78 78  |%+8,by%+6:.5,bxx|
00003a30  25 2d 36 2c 62 79 25 2b  36 3a f0 35 2c 62 78 78  |%-6,by%+6:.5,bxx|
00003a40  25 2d 36 2c 62 79 79 25  2d 38 0d 02 25 05 e1 0d  |%-6,byy%-8..%...|
00003a50  02 26 1d dd f2 62 6f 78  32 28 62 78 25 2c 62 79  |.&...box2(bx%,by|
00003a60  25 2c 62 78 78 25 2c 62  79 79 25 29 0d 02 27 1f  |%,bxx%,byy%)..'.|
00003a70  62 78 78 25 3d 62 78 25  2b 62 78 78 25 3a 62 79  |bxx%=bx%+bxx%:by|
00003a80  79 25 3d 62 79 25 2b 62  79 79 25 0d 02 28 2d ef  |y%=by%+byy%..(-.|
00003a90  32 34 2c 62 78 25 2d 34  3b 62 79 25 2d 34 3b 62  |24,bx%-4;by%-4;b|
00003aa0  78 78 25 2b 34 3b 62 79  79 25 2b 34 3b 31 38 2c  |xx%+4;byy%+4;18,|
00003ab0  30 2c 31 33 31 2c 31 36  0d 02 29 28 ef 32 34 2c  |0,131,16..)(.24,|
00003ac0  62 78 25 3b 62 79 25 3b  62 78 78 25 3b 62 79 79  |bx%;by%;bxx%;byy|
00003ad0  25 3b 31 38 2c 30 2c 31  32 38 2c 31 36 2c 32 36  |%;18,0,128,16,26|
00003ae0  0d 02 2a 05 e1 0d 02 2b  1d dd f2 62 6f 78 33 28  |..*....+...box3(|
00003af0  62 78 25 2c 62 79 25 2c  62 78 78 25 2c 62 79 79  |bx%,by%,bxx%,byy|
00003b00  25 29 0d 02 2c 1f 62 78  78 25 3d 62 78 25 2b 62  |%)..,.bxx%=bx%+b|
00003b10  78 78 25 3a 62 79 79 25  3d 62 79 25 2b 62 79 79  |xx%:byy%=by%+byy|
00003b20  25 0d 02 2d 2d ef 32 34  2c 62 78 25 2d 34 3b 62  |%..--.24,bx%-4;b|
00003b30  79 25 2d 34 3b 62 78 78  25 2b 34 3b 62 79 79 25  |y%-4;bxx%+4;byy%|
00003b40  2b 34 3b 31 38 2c 30 2c  31 33 30 2c 31 36 0d 02  |+4;18,0,130,16..|
00003b50  2e 28 ef 32 34 2c 62 78  25 3b 62 79 25 3b 62 78  |.(.24,bx%;by%;bx|
00003b60  78 25 3b 62 79 79 25 3b  31 38 2c 30 2c 31 33 31  |x%;byy%;18,0,131|
00003b70  2c 31 36 2c 32 36 0d 02  2f 05 e1 0d 02 30 37 dd  |,16,26../....07.|
00003b80  f2 73 65 74 5f 75 70 5f  63 6f 75 6e 74 5f 64 6f  |.set_up_count_do|
00003b90  77 6e 28 74 78 25 2c 74  79 25 2c 64 69 67 69 74  |wn(tx%,ty%,digit|
00003ba0  73 25 2c 61 6d 6f 75 6e  74 25 2c 74 69 6d 65 72  |s%,amount%,timer|
00003bb0  25 29 0d 02 31 20 f2 62  6f 78 32 28 74 78 25 2c  |%)..1 .box2(tx%,|
00003bc0  74 79 25 2c 34 38 2a 64  69 67 69 74 73 25 2c 37  |ty%,48*digits%,7|
00003bd0  32 29 0d 02 32 21 63 6f  75 6e 74 5f 64 6f 77 6e  |2)..2!count_down|
00003be0  25 28 74 69 6d 65 72 25  29 3d 91 2b 61 6d 6f 75  |%(timer%)=.+amou|
00003bf0  6e 74 25 0d 02 33 05 e1  0d 02 34 29 dd a4 70 72  |nt%..3....4)..pr|
00003c00  69 6e 74 5f 74 69 6d 65  72 28 74 78 25 2c 74 79  |int_timer(tx%,ty|
00003c10  25 2c 64 69 67 69 74 73  25 2c 74 69 6d 65 72 25  |%,digits%,timer%|
00003c20  29 0d 02 35 26 74 69 6d  65 72 25 3d 28 63 6f 75  |)..5&timer%=(cou|
00003c30  6e 74 5f 64 6f 77 6e 25  28 74 69 6d 65 72 25 29  |nt_down%(timer%)|
00003c40  2d 91 29 2f 31 30 30 0d  02 36 2f e7 74 69 6d 65  |-.)/100..6/.time|
00003c50  72 25 3c 30 20 74 69 6d  65 72 25 3d 30 30 30 30  |r%<0 timer%=0000|
00003c60  3a 63 6f 75 6e 74 5f 64  6f 77 6e 25 28 74 69 6d  |:count_down%(tim|
00003c70  65 72 25 29 3d 30 0d 02  37 10 74 24 3d c3 28 74  |er%)=0..7.t$=.(t|
00003c80  69 6d 65 72 25 29 0d 02  38 2a f2 70 6c 6f 74 5f  |imer%)..8*.plot_|
00003c90  6e 75 6d 62 65 72 73 28  74 78 25 2b 32 34 2c 74  |numbers(tx%+24,t|
00003ca0  79 25 2b 38 2c 64 69 67  69 74 73 25 2c 74 24 29  |y%+8,digits%,t$)|
00003cb0  0d 02 39 07 3d 74 24 0d  02 3a 25 dd f2 70 6c 6f  |..9.=t$..:%..plo|
00003cc0  74 5f 6e 75 6d 62 65 72  73 32 28 78 25 2c 79 25  |t_numbers2(x%,y%|
00003cd0  2c 64 69 67 69 74 73 25  2c 61 24 29 0d 02 3b 12  |,digits%,a$)..;.|
00003ce0  e3 70 6e 25 3d 31 20 b8  20 a9 28 61 24 29 0d 02  |.pn%=1 . .(a$)..|
00003cf0  3c 38 f2 70 6c 6f 74 5f  73 70 72 69 74 65 28 28  |<8.plot_sprite((|
00003d00  78 25 2d 33 36 29 2b 28  70 6e 25 2a 33 36 29 2c  |x%-36)+(pn%*36),|
00003d10  79 25 2c 31 2c 31 2c 31  2c 31 2c c1 61 24 2c 70  |y%,1,1,1,1,.a$,p|
00003d20  6e 25 2c 31 29 29 0d 02  3d 05 ed 0d 02 3e 05 e1  |n%,1))..=....>..|
00003d30  0d 02 3f 24 dd f2 70 6c  6f 74 5f 6e 75 6d 62 65  |..?$..plot_numbe|
00003d40  72 73 28 78 25 2c 79 25  2c 64 69 67 69 74 73 25  |rs(x%,y%,digits%|
00003d50  2c 61 24 29 0d 02 40 14  e7 a9 28 61 24 29 3c 64  |,a$)..@...(a$)<d|
00003d60  69 67 69 74 73 25 20 8c  0d 02 41 05 f5 0d 02 42  |igits% ...A....B|
00003d70  0d 61 24 3d 22 64 22 2b  61 24 0d 02 43 12 fd a9  |.a$="d"+a$..C...|
00003d80  28 61 24 29 3d 64 69 67  69 74 73 25 0d 02 44 05  |(a$)=digits%..D.|
00003d90  cd 0d 02 45 12 e3 70 6e  25 3d 31 20 b8 20 a9 28  |...E..pn%=1 . .(|
00003da0  61 24 29 0d 02 46 38 f2  70 6c 6f 74 5f 73 70 72  |a$)..F8.plot_spr|
00003db0  69 74 65 28 28 78 25 2d  33 36 29 2b 28 70 6e 25  |ite((x%-36)+(pn%|
00003dc0  2a 33 36 29 2c 79 25 2c  31 2c 31 2c 31 2c 31 2c  |*36),y%,1,1,1,1,|
00003dd0  c1 61 24 2c 70 6e 25 2c  31 29 29 0d 02 47 05 ed  |.a$,pn%,1))..G..|
00003de0  0d 02 48 05 e1 0d 02 49  1e dd f2 73 65 74 5f 70  |..H....I...set_p|
00003df0  6f 73 5f 62 75 74 74 6f  6e 73 28 62 78 25 2c 62  |os_buttons(bx%,b|
00003e00  79 25 29 0d 02 4a 16 e3  62 66 25 3d 31 b8 20 74  |y%)..J..bf%=1. t|
00003e10  6f 74 61 6c 5f 62 75 74  25 0d 02 4b 1f 62 75 74  |otal_but%..K.but|
00003e20  25 28 62 66 25 2c 30 29  3d 62 75 74 25 28 62 66  |%(bf%,0)=but%(bf|
00003e30  25 2c 30 29 2b 62 78 25  0d 02 4c 1f 62 75 74 25  |%,0)+bx%..L.but%|
00003e40  28 62 66 25 2c 31 29 3d  62 75 74 25 28 62 66 25  |(bf%,1)=but%(bf%|
00003e50  2c 31 29 2b 62 79 25 0d  02 4d 05 ed 0d 02 4e 05  |,1)+by%..M....N.|
00003e60  e1 0d 02 4f 1a dd f2 64  65 66 69 6e 65 5f 62 75  |...O...define_bu|
00003e70  74 74 6f 6e 73 28 73 65  74 25 29 0d 02 50 1e e7  |ttons(set%)..P..|
00003e80  73 65 74 25 3d 31 3a 74  6f 74 61 6c 5f 62 75 74  |set%=1:total_but|
00003e90  25 3d 31 3a f7 8d 44 55  42 0d 02 51 1d e3 62 75  |%=1:..DUB..Q..bu|
00003ea0  74 5f 6e 75 6d 62 65 72  25 3d 31 b8 74 6f 74 61  |t_number%=1.tota|
00003eb0  6c 5f 62 75 74 25 0d 02  52 7a f3 62 75 74 25 28  |l_but%..Rz.but%(|
00003ec0  62 75 74 5f 6e 75 6d 62  65 72 25 2c 30 29 2c 62  |but_number%,0),b|
00003ed0  75 74 25 28 62 75 74 5f  6e 75 6d 62 65 72 25 2c  |ut%(but_number%,|
00003ee0  31 29 2c 62 75 74 25 28  62 75 74 5f 6e 75 6d 62  |1),but%(but_numb|
00003ef0  65 72 25 2c 32 29 2c 62  75 74 25 28 62 75 74 5f  |er%,2),but%(but_|
00003f00  6e 75 6d 62 65 72 25 2c  33 29 2c 62 75 74 25 28  |number%,3),but%(|
00003f10  62 75 74 5f 6e 75 6d 62  65 72 25 2c 34 29 2c 62  |but_number%,4),b|
00003f20  75 74 24 28 62 75 74 5f  6e 75 6d 62 65 72 25 29  |ut$(but_number%)|
00003f30  0d 02 53 05 ed 0d 02 54  05 e1 0d 02 55 1c dc 20  |..S....T....U.. |
00003f40  31 30 30 2c 31 30 30 2c  32 30 30 2c 34 30 2c 32  |100,100,200,40,2|
00003f50  2c 47 6f 20 6f 6e 0d 02  56 15 dd f2 73 65 74 5f  |,Go on..V...set_|
00003f60  6e 65 77 5f 62 75 74 74  6f 6e 73 0d 02 57 18 e3  |new_buttons..W..|
00003f70  62 75 74 5f 6e 25 3d 31  b8 74 6f 74 61 6c 5f 62  |but_n%=1.total_b|
00003f80  75 74 25 0d 02 58 32 e7  62 75 74 25 28 62 75 74  |ut%..X2.but%(but|
00003f90  5f 6e 25 2c 34 29 3d 30  20 84 20 62 75 74 25 28  |_n%,4)=0 . but%(|
00003fa0  62 75 74 5f 6e 25 2c 34  29 3d 33 3a 63 6f 6c 6f  |but_n%,4)=3:colo|
00003fb0  75 72 25 3d 30 0d 02 59  20 e7 62 75 74 25 28 62  |ur%=0..Y .but%(b|
00003fc0  75 74 5f 6e 25 2c 34 29  3d 31 20 3a 63 6f 6c 6f  |ut_n%,4)=1 :colo|
00003fd0  75 72 25 3d 31 0d 02 5a  20 e7 62 75 74 25 28 62  |ur%=1..Z .but%(b|
00003fe0  75 74 5f 6e 25 2c 34 29  3d 32 20 3a 63 6f 6c 6f  |ut_n%,4)=2 :colo|
00003ff0  75 72 25 3d 33 0d 02 5b  62 e7 20 63 6f 6c 6f 75  |ur%=3..[b. colou|
00004000  72 25 3e 30 3a f2 62 75  74 5f 73 75 72 72 6f 75  |r%>0:.but_surrou|
00004010  6e 64 28 62 75 74 25 28  62 75 74 5f 6e 25 2c 30  |nd(but%(but_n%,0|
00004020  29 2c 62 75 74 25 28 62  75 74 5f 6e 25 2c 31 29  |),but%(but_n%,1)|
00004030  2c 62 75 74 25 28 62 75  74 5f 6e 25 2c 32 29 2c  |,but%(but_n%,2),|
00004040  62 75 74 25 28 62 75 74  5f 6e 25 2c 33 29 2c 63  |but%(but_n%,3),c|
00004050  6f 6c 6f 75 72 25 29 0d  02 5c 71 e7 20 63 6f 6c  |olour%)..\q. col|
00004060  6f 75 72 25 3e 30 3a f2  62 75 74 5f 63 65 6e 74  |our%>0:.but_cent|
00004070  72 65 28 62 75 74 25 28  62 75 74 5f 6e 25 2c 30  |re(but%(but_n%,0|
00004080  29 2c 62 75 74 25 28 62  75 74 5f 6e 25 2c 31 29  |),but%(but_n%,1)|
00004090  2c 62 75 74 25 28 62 75  74 5f 6e 25 2c 32 29 2c  |,but%(but_n%,2),|
000040a0  62 75 74 25 28 62 75 74  5f 6e 25 2c 33 29 2c 31  |but%(but_n%,3),1|
000040b0  32 38 2c 63 6f 6c 6f 75  72 25 2c 62 75 74 24 28  |28,colour%,but$(|
000040c0  62 75 74 5f 6e 25 29 29  0d 02 5d 07 ef 32 36 0d  |but_n%))..]..26.|
000040d0  02 5e 05 ed 0d 02 5f 05  e1 0d 02 60 2a dd f2 62  |.^...._....`*..b|
000040e0  75 74 5f 73 75 72 72 6f  75 6e 64 28 62 78 25 2c  |ut_surround(bx%,|
000040f0  62 79 25 2c 62 78 78 25  2c 62 79 79 25 2c 63 6f  |by%,bxx%,byy%,co|
00004100  6c 25 29 0d 02 61 0b e6  30 2c 63 6f 6c 25 0d 02  |l%)..a..0,col%..|
00004110  62 78 ec 62 78 25 2c 62  79 25 3a f0 31 2c 62 78  |bx.bx%,by%:.1,bx|
00004120  78 25 2c 30 3a f0 31 2c  30 2c 28 62 79 79 25 2b  |x%,0:.1,0,(byy%+|
00004130  34 29 3a f0 31 2c 2d 32  2c 30 3a f0 31 2c 30 2c  |4):.1,-2,0:.1,0,|
00004140  2d 28 62 79 79 25 2b 34  29 3a f0 30 2c 32 2c 28  |-(byy%+4):.0,2,(|
00004150  62 79 79 25 2b 34 29 3a  f0 31 2c 2d 62 78 78 25  |byy%+4):.1,-bxx%|
00004160  2c 30 3a f0 31 2c 30 2c  2d 28 62 79 79 25 2b 34  |,0:.1,0,-(byy%+4|
00004170  29 3a f0 31 2c 32 2c 30  3a f0 31 2c 30 2c 28 62  |):.1,2,0:.1,0,(b|
00004180  79 79 25 2b 34 29 0d 02  63 48 e7 76 67 61 25 3d  |yy%+4)..cH.vga%=|
00004190  31 20 ec 62 78 25 2c 62  79 25 2d 32 3a f0 31 2c  |1 .bx%,by%-2:.1,|
000041a0  62 78 78 25 2c 30 3a f0  31 2c 30 2c 28 62 79 79  |bxx%,0:.1,0,(byy|
000041b0  25 2b 38 29 3a f0 31 2c  2d 62 78 78 25 2c 30 3a  |%+8):.1,-bxx%,0:|
000041c0  f0 31 2c 30 2c 2d 28 62  79 79 25 2b 38 29 0d 02  |.1,0,-(byy%+8)..|
000041d0  64 05 e1 0d 02 65 34 dd  f2 62 75 74 5f 63 65 6e  |d....e4..but_cen|
000041e0  74 72 65 28 62 78 25 2c  62 79 25 2c 62 78 78 25  |tre(bx%,by%,bxx%|
000041f0  2c 62 79 79 25 2c 62 63  6f 6c 25 2c 63 6f 6c 25  |,byy%,bcol%,col%|
00004200  2c 74 65 78 74 24 29 0d  02 66 14 e6 30 2c 62 63  |,text$)..f..0,bc|
00004210  6f 6c 25 3a e6 30 2c 63  6f 6c 25 0d 02 67 21 e7  |ol%:.0,col%..g!.|
00004220  56 25 3d 31 20 63 6f 72  72 65 63 74 25 3d 32 20  |V%=1 correct%=2 |
00004230  8b 20 63 6f 72 72 65 63  74 25 3d 30 0d 02 68 41  |. correct%=0..hA|
00004240  ef 32 34 2c 62 78 25 2b  34 3b 62 79 25 2b 34 2d  |.24,bx%+4;by%+4-|
00004250  63 6f 72 72 65 63 74 25  3b 62 78 25 2b 62 78 78  |correct%;bx%+bxx|
00004260  25 2d 34 3b 62 79 25 2b  62 79 79 25 2b 63 6f 72  |%-4;by%+byy%+cor|
00004270  72 65 63 74 25 3b 31 36  2c 32 36 2c 35 0d 02 69  |rect%;16,26,5..i|
00004280  27 6c 65 66 74 5f 6d 61  72 67 69 6e 25 3d 28 62  |'left_margin%=(b|
00004290  78 78 25 2d 28 a9 28 74  65 78 74 24 29 2a 31 36  |xx%-(.(text$)*16|
000042a0  29 29 2f 32 0d 02 6a 23  ec 62 78 25 2b 6c 65 66  |))/2..j#.bx%+lef|
000042b0  74 5f 6d 61 72 67 69 6e  25 2c 62 79 25 2b 33 36  |t_margin%,by%+36|
000042c0  3a f1 74 65 78 74 24 0d  02 6b 06 ef 34 0d 02 6c  |:.text$..k..4..l|
000042d0  05 e1 0d 02 6d 1c dd f2  63 68 65 63 6b 5f 62 75  |....m...check_bu|
000042e0  74 74 6f 6e 73 28 61 6e  5f 6e 75 6d 25 29 0d 02  |ttons(an_num%)..|
000042f0  6e 0f 73 65 6c 65 63 74  65 64 25 3d 30 0d 02 6f  |n.selected%=0..o|
00004300  11 c8 97 6d 78 25 2c 6d  79 25 2c 6d 63 25 0d 02  |...mx%,my%,mc%..|
00004310  70 0c 63 62 25 3d a6 28  31 29 0d 02 71 1a e7 63  |p.cb%=.(1)..q..c|
00004320  62 25 3d 31 36 20 63 62  25 3d 30 3a f2 70 72 69  |b%=16 cb%=0:.pri|
00004330  6e 74 65 72 0d 02 72 21  e7 63 62 25 3d 31 39 20  |nter..r!.cb%=19 |
00004340  63 62 25 3d 30 3a f2 73  63 72 65 65 6e 5f 73 61  |cb%=0:.screen_sa|
00004350  76 65 28 30 29 0d 02 73  1a e3 62 75 74 5f 6e 25  |ve(0)..s..but_n%|
00004360  3d 31 20 b8 20 74 6f 74  61 6c 5f 62 75 74 25 0d  |=1 . total_but%.|
00004370  02 74 19 e7 62 75 74 25  28 62 75 74 5f 6e 25 2c  |.t..but%(but_n%,|
00004380  34 29 3c 32 3a ed 3a e1  0d 02 75 79 e7 6d 78 25  |4)<2:.:...uy.mx%|
00004390  3c 62 75 74 25 28 62 75  74 5f 6e 25 2c 30 29 20  |<but%(but_n%,0) |
000043a0  84 20 6d 78 25 3e 28 62  75 74 25 28 62 75 74 5f  |. mx%>(but%(but_|
000043b0  6e 25 2c 30 29 2b 62 75  74 25 28 62 75 74 5f 6e  |n%,0)+but%(but_n|
000043c0  25 2c 32 29 29 20 84 20  6d 79 25 3c 62 75 74 25  |%,2)) . my%<but%|
000043d0  28 62 75 74 5f 6e 25 2c  31 29 20 84 20 6d 79 25  |(but_n%,1) . my%|
000043e0  3e 28 62 75 74 25 28 62  75 74 5f 6e 25 2c 31 29  |>(but%(but_n%,1)|
000043f0  2b 62 75 74 25 28 62 75  74 5f 6e 25 2c 33 29 29  |+but%(but_n%,3))|
00004400  8c 0d 02 76 99 e7 b0 62  75 74 25 28 62 75 74 5f  |...v...but%(but_|
00004410  6e 25 2c 30 29 2b 36 2c  62 75 74 25 28 62 75 74  |n%,0)+6,but%(but|
00004420  5f 6e 25 2c 31 29 2b 38  29 3d 34 20 80 20 62 75  |_n%,1)+8)=4 . bu|
00004430  74 25 28 62 75 74 5f 6e  25 2c 34 29 3c 33 3a f2  |t%(but_n%,4)<3:.|
00004440  62 75 74 5f 63 65 6e 74  72 65 28 62 75 74 25 28  |but_centre(but%(|
00004450  62 75 74 5f 6e 25 2c 30  29 2c 62 75 74 25 28 62  |but_n%,0),but%(b|
00004460  75 74 5f 6e 25 2c 31 29  2c 62 75 74 25 28 62 75  |ut_n%,1),but%(bu|
00004470  74 5f 6e 25 2c 32 29 2c  62 75 74 25 28 62 75 74  |t_n%,2),but%(but|
00004480  5f 6e 25 2c 33 29 2c 31  32 38 2c 33 2c 62 75 74  |_n%,3),128,3,but|
00004490  24 28 62 75 74 5f 6e 25  29 29 0d 02 77 05 cc 0d  |$(but_n%))..w...|
000044a0  02 78 99 e7 b0 62 75 74  25 28 62 75 74 5f 6e 25  |.x...but%(but_n%|
000044b0  2c 30 29 2b 36 2c 62 75  74 25 28 62 75 74 5f 6e  |,0)+6,but%(but_n|
000044c0  25 2c 31 29 2b 34 29 3d  30 20 80 20 62 75 74 25  |%,1)+4)=0 . but%|
000044d0  28 62 75 74 5f 6e 25 2c  34 29 3c 33 3a f2 62 75  |(but_n%,4)<3:.bu|
000044e0  74 5f 63 65 6e 74 72 65  28 62 75 74 25 28 62 75  |t_centre(but%(bu|
000044f0  74 5f 6e 25 2c 30 29 2c  62 75 74 25 28 62 75 74  |t_n%,0),but%(but|
00004500  5f 6e 25 2c 31 29 2c 62  75 74 25 28 62 75 74 5f  |_n%,1),but%(but_|
00004510  6e 25 2c 32 29 2c 62 75  74 25 28 62 75 74 5f 6e  |n%,2),but%(but_n|
00004520  25 2c 33 29 2c 31 33 32  2c 33 2c 62 75 74 24 28  |%,3),132,3,but$(|
00004530  62 75 74 5f 6e 25 29 29  0d 02 79 1b e7 6d 63 25  |but_n%))..y..mc%|
00004540  3d 34 3a 73 65 6c 65 63  74 65 64 25 3d 62 75 74  |=4:selected%=but|
00004550  5f 6e 25 0d 02 7a 05 cd  0d 02 7b 20 e7 61 6e 5f  |_n%..z....{ .an_|
00004560  6e 75 6d 25 3e 30 3a f2  73 70 5f 61 6e 69 6d 28  |num%>0:.sp_anim(|
00004570  61 6e 5f 6e 75 6d 25 29  0d 02 7c 05 ed 0d 02 7d  |an_num%)..|....}|
00004580  05 e1 0d 02 7e 16 dd f2  73 70 5f 61 6e 69 6d 28  |....~...sp_anim(|
00004590  61 6e 5f 6e 75 6d 25 29  0d 02 7f 10 e7 61 6e 5f  |an_num%).....an_|
000045a0  6e 75 6d 25 3d 31 20 8c  0d 02 80 1c e7 61 6e 5f  |num%=1 ......an_|
000045b0  74 25 2b 33 30 3c 91 20  80 20 61 6c 74 65 72 25  |t%+30<. . alter%|
000045c0  3d 31 20 8c 0d 02 81 12  e7 73 65 63 74 69 6f 6e  |=1 ......section|
000045d0  73 25 3d 31 20 8c 0d 02  82 19 f2 62 6f 61 32 28  |s%=1 ......boa2(|
000045e0  31 31 30 30 2c 37 36 34  2c 34 38 2c 35 36 29 0d  |1100,764,48,56).|
000045f0  02 83 05 cd 0d 02 84 0c  61 6c 74 65 72 25 3d 32  |........alter%=2|
00004600  0d 02 85 05 cd 0d 02 86  11 e7 61 6e 5f 74 25 2b  |..........an_t%+|
00004610  35 30 3c 91 20 8c 0d 02  87 12 e7 73 65 63 74 69  |50<. ......secti|
00004620  6f 6e 73 25 3d 31 20 8c  0d 02 88 18 f2 62 6f 61  |ons%=1 ......boa|
00004630  28 31 31 30 30 2c 37 36  34 2c 34 38 2c 35 36 29  |(1100,764,48,56)|
00004640  0d 02 89 05 cd 0d 02 8a  0c 61 6c 74 65 72 25 3d  |.........alter%=|
00004650  31 0d 02 8b 0b 61 6e 5f  74 25 3d 91 0d 02 8c 05  |1....an_t%=.....|
00004660  cd 0d 02 8d 05 cd 0d 02  8e 10 e7 61 6e 5f 6e 75  |...........an_nu|
00004670  6d 25 3d 32 20 8c 0d 02  8f 12 e7 73 65 63 74 69  |m%=2 ......secti|
00004680  6f 6e 73 25 3d 31 20 8c  0d 02 90 18 f2 62 6f 61  |ons%=1 ......boa|
00004690  28 31 31 30 30 2c 37 36  34 2c 34 38 2c 35 36 29  |(1100,764,48,56)|
000046a0  0d 02 91 05 cd 0d 02 92  2d e7 73 6f 75 6e 64 5f  |........-.sound_|
000046b0  74 25 2b 31 30 30 3c 91  3a d4 31 2c 2d 36 2c 26  |t%+100<.:.1,-6,&|
000046c0  31 30 30 30 2c 32 30 3a  73 6f 75 6e 64 5f 74 25  |1000,20:sound_t%|
000046d0  3d 91 0d 02 93 05 cd 0d  02 94 05 e1 0d 02 95 12  |=...............|
000046e0  dd f2 63 68 65 63 6b 5f  61 6e 5f 6e 75 6d 0d 02  |..check_an_num..|
000046f0  96 09 f7 8d 64 4f 53 0d  02 97 0c 67 6f 5f 61 6e  |....dOS....go_an|
00004700  25 3d 30 0d 02 98 14 e3  63 61 6e 25 3d 31 b8 20  |%=0.....can%=1. |
00004710  61 6e 5f 6e 75 6d 25 0d  02 99 53 e3 63 61 6e 6e  |an_num%...S.cann|
00004720  25 3d 31 b8 33 3a f3 61  6e 78 25 28 63 61 6e 6e  |%=1.3:.anx%(cann|
00004730  25 29 2c 61 6e 79 25 28  63 61 6e 6e 25 29 2c 61  |%),any%(cann%),a|
00004740  6e 78 78 25 28 63 61 6e  6e 25 29 2c 61 6e 79 79  |nxx%(cann%),anyy|
00004750  25 28 63 61 6e 6e 25 29  2c 61 6e 5f 74 79 70 65  |%(cann%),an_type|
00004760  25 28 63 61 6e 6e 25 29  3a ed 0d 02 9a 05 ed 0d  |%(cann%):.......|
00004770  02 9b 4f e7 6d 78 25 3c  61 6e 78 78 25 28 31 29  |..O.mx%<anxx%(1)|
00004780  20 80 20 6d 78 25 3e 61  6e 78 25 28 31 29 20 80  | . mx%>anx%(1) .|
00004790  20 6d 79 25 3c 61 6e 79  79 25 28 31 29 20 80 20  | my%<anyy%(1) . |
000047a0  6d 79 25 3e 61 6e 79 25  28 31 29 3a 67 6f 5f 61  |my%>any%(1):go_a|
000047b0  6e 25 3d 61 6e 5f 74 79  70 65 25 28 31 29 0d 02  |n%=an_type%(1)..|
000047c0  9c 4f e7 6d 78 25 3c 61  6e 78 78 25 28 32 29 20  |.O.mx%<anxx%(2) |
000047d0  80 20 6d 78 25 3e 61 6e  78 25 28 32 29 20 80 20  |. mx%>anx%(2) . |
000047e0  6d 79 25 3c 61 6e 79 79  25 28 32 29 20 80 20 6d  |my%<anyy%(2) . m|
000047f0  79 25 3e 61 6e 79 25 28  32 29 3a 67 6f 5f 61 6e  |y%>any%(2):go_an|
00004800  25 3d 61 6e 5f 74 79 70  65 25 28 32 29 0d 02 9d  |%=an_type%(2)...|
00004810  4f e7 6d 78 25 3c 61 6e  78 78 25 28 33 29 20 80  |O.mx%<anxx%(3) .|
00004820  20 6d 78 25 3e 61 6e 78  25 28 33 29 20 80 20 6d  | mx%>anx%(3) . m|
00004830  79 25 3c 61 6e 79 79 25  28 33 29 20 80 20 6d 79  |y%<anyy%(3) . my|
00004840  25 3e 61 6e 79 25 28 33  29 3a 67 6f 5f 61 6e 25  |%>any%(3):go_an%|
00004850  3d 61 6e 5f 74 79 70 65  25 28 33 29 0d 02 9e 1a  |=an_type%(3)....|
00004860  e7 67 6f 5f 61 6e 25 3d  31 20 f2 62 6f 75 6e 63  |.go_an%=1 .bounc|
00004870  65 5f 62 61 6c 6c 0d 02  9f 14 e7 67 6f 5f 61 6e  |e_ball.....go_an|
00004880  25 3d 32 20 f2 73 77 65  65 70 0d 02 a0 1e e7 67  |%=2 .sweep.....g|
00004890  6f 5f 61 6e 25 3e 30 20  f2 73 65 74 5f 6e 65 77  |o_an%>0 .set_new|
000048a0  5f 62 75 74 74 6f 6e 73  0d 02 a1 05 e1 0d 02 a2  |_buttons........|
000048b0  33 dd f2 70 6c 6f 74 5f  73 70 72 69 74 65 5f 62  |3..plot_sprite_b|
000048c0  61 63 6b 28 78 25 2c 79  25 2c 78 6d 25 2c 79 6d  |ack(x%,y%,xm%,ym|
000048d0  25 2c 78 64 25 2c 79 64  25 2c 6e 61 6d 65 24 29  |%,xd%,yd%,name$)|
000048e0  0d 02 a3 43 c8 99 22 4f  53 5f 53 70 72 69 74 65  |...C.."OS_Sprite|
000048f0  4f 70 22 2c 26 31 32 38  2c 73 70 72 69 74 65 5f  |Op",&128,sprite_|
00004900  61 72 65 61 31 25 2c 6e  61 6d 65 24 20 b8 20 72  |area1%,name$ . r|
00004910  30 2c 72 31 2c 72 32 2c  41 25 2c 42 25 2c 72 35  |0,r1,r2,A%,B%,r5|
00004920  2c 72 36 0d 02 a4 38 ef  32 34 2c 78 25 2d 38 3b  |,r6...8.24,x%-8;|
00004930  79 25 2d 38 3b 78 25 2b  38 2b 28 41 25 2a 32 29  |y%-8;x%+8+(A%*2)|
00004940  3b 79 25 2b 38 2b 28 42  25 2a 34 29 3b 31 38 2c  |;y%+8+(B%*4);18,|
00004950  30 2c 31 33 31 2c 31 36  2c 32 36 0d 02 a5 13 21  |0,131,16,26....!|
00004960  28 73 63 61 6c 65 25 2b  30 29 3d 78 6d 25 0d 02  |(scale%+0)=xm%..|
00004970  a6 1c 21 28 73 63 61 6c  65 25 2b 34 29 3d 79 6d  |..!(scale%+4)=ym|
00004980  25 2a 28 76 67 61 25 2b  31 29 0d 02 a7 13 21 28  |%*(vga%+1)....!(|
00004990  73 63 61 6c 65 25 2b 38  29 3d 78 64 25 0d 02 a8  |scale%+8)=xd%...|
000049a0  14 21 28 73 63 61 6c 65  25 2b 31 32 29 3d 79 64  |.!(scale%+12)=yd|
000049b0  25 0d 02 a9 34 c8 99 22  4f 53 5f 53 70 72 69 74  |%...4.."OS_Sprit|
000049c0  65 4f 70 22 2c 26 31 33  34 2c 73 61 31 25 2c 6e  |eOp",&134,sa1%,n|
000049d0  61 6d 65 24 2c 78 25 2c  79 25 2c 30 2c 73 63 61  |ame$,x%,y%,0,sca|
000049e0  6c 65 25 2c 30 0d 02 aa  05 e1 0d 02 ab 0e dd f2  |le%,0...........|
000049f0  70 61 6c 65 74 74 65 32  0d 02 ac 18 ef 31 39 2c  |palette2.....19,|
00004a00  31 2c 32 34 2c 31 33 36  2c 31 33 36 2c 31 33 36  |1,24,136,136,136|
00004a10  0d 02 ad 10 ea 70 25 2c  72 25 2c 67 25 2c 62 25  |.....p%,r%,g%,b%|
00004a20  0d 02 ae 07 f7 2b 34 0d  02 af 0c e3 70 25 3d 30  |.....+4.....p%=0|
00004a30  b8 31 35 0d 02 b0 1a f3  72 25 2c 67 25 2c 62 25  |.15.....r%,g%,b%|
00004a40  3a fb 70 25 2c 72 25 2c  67 25 2c 62 25 0d 02 b1  |:.p%,r%,g%,b%...|
00004a50  07 ed 3a e1 0d 02 b2 2f  dc 20 32 35 35 2c 32 35  |..:..../. 255,25|
00004a60  35 2c 32 35 35 2c 31 38  37 2c 31 38 37 2c 31 38  |5,255,187,187,18|
00004a70  37 2c 31 33 36 2c 31 33  36 2c 31 33 36 2c 30 2c  |7,136,136,136,0,|
00004a80  30 2c 30 0d 02 b3 29 dc  20 30 2c 30 2c 31 37 35  |0,0...). 0,0,175|
00004a90  2c 30 2c 30 2c 32 35 35  2c 30 2c 32 30 34 2c 32  |,0,0,255,0,204,2|
00004aa0  35 35 2c 32 35 35 2c 32  35 35 2c 30 0d 02 b4 28  |55,255,255,0...(|
00004ab0  dc 20 32 30 34 2c 32 30  34 2c 30 2c 32 32 31 2c  |. 204,204,0,221,|
00004ac0  30 2c 30 2c 31 33 36 2c  31 37 2c 30 2c 30 2c 31  |0,0,136,17,0,0,1|
00004ad0  35 33 2c 30 0d 02 b5 2a  dc 20 30 2c 31 38 37 2c  |53,0...*. 0,187,|
00004ae0  33 34 2c 30 2c 32 35 35  2c 30 2c 32 35 35 2c 32  |34,0,255,0,255,2|
00004af0  32 31 2c 31 37 30 2c 30  2c 30 2c 31 37 35 0d 02  |21,170,0,0,175..|
00004b00  b6 12 dd f2 69 6e 74 69  67 65 72 5f 69 63 6e 73  |....intiger_icns|
00004b10  0d 02 b7 16 f4 20 55 25  20 3d 20 61 30 2c 61 31  |..... U% = a0,a1|
00004b20  2c 61 32 2c 61 33 0d 02  b8 27 f4 20 56 25 20 3d  |,a2,a3...'. V% =|
00004b30  20 62 30 2c 62 31 2c 62  32 20 62 33 20 2e 2e 2e  | b0,b1,b2 b3 ...|
00004b40  2e 2e 2e 6d 69 78 65 64  28 62 31 33 29 0d 02 b9  |...mixed(b13)...|
00004b50  0e e3 66 25 3d 30 20 b8  20 31 32 0d 02 ba 39 e7  |..f%=0 . 12...9.|
00004b60  28 55 25 20 80 20 28 31  3c 3c 66 25 29 29 3d 28  |(U% . (1<<f%))=(|
00004b70  31 3c 3c 66 25 29 20 66  69 72 73 74 6e 25 28 66  |1<<f%) firstn%(f|
00004b80  25 29 3d 31 20 8b 20 66  69 72 73 74 6e 25 28 66  |%)=1 . firstn%(f|
00004b90  25 29 3d 30 0d 02 bb 05  ed 0d 02 bc 0e e3 66 25  |%)=0..........f%|
00004ba0  3d 30 20 b8 20 31 32 0d  02 bd 3b e7 28 57 25 20  |=0 . 12...;.(W% |
00004bb0  80 20 28 31 3c 3c 66 25  29 29 3d 28 31 3c 3c 66  |. (1<<f%))=(1<<f|
00004bc0  25 29 20 73 65 63 6f 6e  64 6e 25 28 66 25 29 3d  |%) secondn%(f%)=|
00004bd0  31 20 8b 20 73 65 63 6f  6e 64 6e 25 28 66 25 29  |1 . secondn%(f%)|
00004be0  3d 30 0d 02 be 05 ed 0d  02 bf 31 e7 28 57 25 20  |=0........1.(W% |
00004bf0  80 20 28 31 3c 3c 31 33  29 29 3d 28 31 3c 3c 31  |. (1<<13))=(1<<1|
00004c00  33 29 20 6d 69 78 65 64  6e 25 3d 31 20 8b 20 6d  |3) mixedn%=1 . m|
00004c10  69 78 65 64 6e 25 3d 30  0d 02 c0 05 e1 0d 02 c1  |ixedn%=0........|
00004c20  13 dd f2 73 65 74 5f 74  61 62 6c 65 5f 6f 6e 65  |...set_table_one|
00004c30  0d 02 c2 11 f2 69 6e 74  69 67 65 72 5f 69 63 6e  |.....intiger_icn|
00004c40  73 0d 02 c3 0b 66 69 72  6e 25 3d 30 0d 02 c4 0b  |s....firn%=0....|
00004c50  73 65 63 6e 25 3d 30 0d  02 c5 0c e3 66 25 3d 31  |secn%=0.....f%=1|
00004c60  b8 31 32 0d 02 c6 1c e7  73 65 63 6f 6e 64 6e 25  |.12.....secondn%|
00004c70  28 66 25 29 3d 31 3a 73  65 63 6e 25 2b 3d 31 0d  |(f%)=1:secn%+=1.|
00004c80  02 c7 05 ed 0d 02 c8 0c  e3 66 25 3d 31 b8 31 32  |.........f%=1.12|
00004c90  0d 02 c9 1b e7 66 69 72  73 74 6e 25 28 66 25 29  |.....firstn%(f%)|
00004ca0  3d 31 3a 66 69 72 6e 25  2b 3d 31 0d 02 ca 05 ed  |=1:firn%+=1.....|
00004cb0  0d 02 cb 17 6c 61 73 74  5f 63 68 6f 73 65 6e 31  |....last_chosen1|
00004cc0  25 3d 47 25 3e 3e 38 0d  02 cc 19 6c 61 73 74 5f  |%=G%>>8....last_|
00004cd0  63 68 6f 73 65 6e 32 25  3d 47 25 20 80 20 26 46  |chosen2%=G% . &F|
00004ce0  0d 02 cd 14 72 65 70 65  61 74 5f 65 72 72 6f 72  |....repeat_error|
00004cf0  32 25 3d 30 0d 02 ce 05  f5 0d 02 cf 23 72 65 70  |2%=0........#rep|
00004d00  65 61 74 5f 65 72 72 6f  72 32 25 3d 72 65 70 65  |eat_error2%=repe|
00004d10  61 74 5f 65 72 72 6f 72  32 25 2b 31 0d 02 d0 0c  |at_error2%+1....|
00004d20  6c 6f 6f 70 73 25 3d 30  0d 02 d1 12 e7 73 65 63  |loops%=0.....sec|
00004d30  6e 25 3e 66 69 72 6e 25  20 8c 0d 02 d2 05 f5 0d  |n%>firn% .......|
00004d40  02 d3 0d 6c 6f 6f 70 73  25 2b 3d 31 0d 02 d4 0c  |...loops%+=1....|
00004d50  61 25 3d b3 28 31 32 29  0d 02 d5 36 fd 20 66 69  |a%=.(12)...6. fi|
00004d60  72 73 74 6e 25 28 61 25  29 3d 31 20 80 20 28 72  |rstn%(a%)=1 . (r|
00004d70  6e 64 5f 70 69 63 6b 65  72 31 25 28 61 25 29 3d  |nd_picker1%(a%)=|
00004d80  30 20 84 20 6c 6f 6f 70  73 25 3e 32 30 29 0d 02  |0 . loops%>20)..|
00004d90  d6 16 72 6e 64 5f 70 69  63 6b 65 72 31 25 28 61  |..rnd_picker1%(a|
00004da0  25 29 3d 31 0d 02 d7 05  cc 0d 02 d8 05 f5 0d 02  |%)=1............|
00004db0  d9 0d 6c 6f 6f 70 73 25  2b 3d 31 0d 02 da 0c 61  |..loops%+=1....a|
00004dc0  25 3d b3 28 31 32 29 0d  02 db 37 fd 20 73 65 63  |%=.(12)...7. sec|
00004dd0  6f 6e 64 6e 25 28 61 25  29 3d 31 20 80 20 28 72  |ondn%(a%)=1 . (r|
00004de0  6e 64 5f 70 69 63 6b 65  72 31 25 28 61 25 29 3d  |nd_picker1%(a%)=|
00004df0  30 20 84 20 6c 6f 6f 70  73 25 3e 32 30 29 0d 02  |0 . loops%>20)..|
00004e00  dc 16 72 6e 64 5f 70 69  63 6b 65 72 31 25 28 61  |..rnd_picker1%(a|
00004e10  25 29 3d 31 0d 02 dd 05  cd 0d 02 de 2d fd 20 28  |%)=1........-. (|
00004e20  61 25 3c 3e 6c 61 73 74  5f 63 68 6f 73 65 6e 31  |a%<>last_chosen1|
00004e30  25 20 84 20 72 65 70 65  61 74 5f 65 72 72 6f 72  |% . repeat_error|
00004e40  32 25 3e 31 30 29 0d 02  df 0c 47 25 3d 61 25 3c  |2%>10)....G%=a%<|
00004e50  3c 38 0d 02 e0 19 47 25  3d 47 25 20 84 20 6c 61  |<8....G%=G% . la|
00004e60  73 74 5f 63 68 6f 73 65  6e 32 25 0d 02 e1 0d 74  |st_chosen2%....t|
00004e70  61 62 6c 65 25 3d 61 25  0d 02 e2 05 e1 0d 02 e3  |able%=a%........|
00004e80  10 dd f2 63 6c 65 61 72  5f 72 6e 64 31 0d 02 e4  |...clear_rnd1...|
00004e90  0c e3 66 25 3d 30 b8 31  32 0d 02 e5 16 72 6e 64  |..f%=0.12....rnd|
00004ea0  5f 70 69 63 6b 65 72 31  25 28 66 25 29 3d 30 0d  |_picker1%(f%)=0.|
00004eb0  02 e6 05 ed 0d 02 e7 05  e1 0d 02 e8 10 dd f2 63  |...............c|
00004ec0  6c 65 61 72 5f 72 6e 64  32 0d 02 e9 0c e3 66 25  |lear_rnd2.....f%|
00004ed0  3d 30 b8 31 32 0d 02 ea  16 72 6e 64 5f 70 69 63  |=0.12....rnd_pic|
00004ee0  6b 65 72 32 25 28 66 25  29 3d 30 0d 02 eb 05 ed  |ker2%(f%)=0.....|
00004ef0  0d 02 ec 05 e1 0d 02 ed  0f dd f2 61 73 73 65 6d  |...........assem|
00004f00  62 6c 65 32 0d 02 ee 0c  2a 46 58 31 31 33 2c 31  |ble2....*FX113,1|
00004f10  0d 02 ef 0c 2a 46 58 31  31 32 2c 32 0d 02 f0 12  |....*FX112,2....|
00004f20  e3 6f 70 74 25 3d 30 20  b8 20 33 20 88 33 0d 02  |.opt%=0 . 3 .3..|
00004f30  f1 0f 50 25 3d 6d 5f 63  6f 64 65 32 25 0d 02 f2  |..P%=m_code2%...|
00004f40  05 5b 0d 02 f3 09 4f 50  54 30 20 0d 02 f4 0f 2e  |.[....OPT0 .....|
00004f50  6d 6f 76 65 5f 62 6f 6d  62 73 0d 02 f5 1c 45 51  |move_bombs....EQ|
00004f60  55 44 20 6d 61 69 6e 20  20 20 20 20 20 20 20 20  |UD main         |
00004f70  20 20 20 20 20 20 0d 02  f6 1c 45 51 55 44 20 73  |      ....EQUD s|
00004f80  65 74 5f 71 75 69 63 6b  73 61 6e 64 20 20 20 20  |et_quicksand    |
00004f90  20 20 0d 02 f7 1c 45 51  55 44 20 73 70 6c 6f 64  |  ....EQUD splod|
00004fa0  67 65 20 20 20 20 20 20  20 20 20 20 20 20 0d 02  |ge            ..|
00004fb0  f8 1c 45 51 55 44 20 73  63 72 6f 6c 6c 5f 61 6c  |..EQUD scroll_al|
00004fc0  6c 20 20 20 20 20 20 20  20 20 0d 02 f9 09 2e 6d  |l         .....m|
00004fd0  61 69 6e 0d 02 fa 12 2e  73 65 74 5f 71 75 69 63  |ain.....set_quic|
00004fe0  6b 73 61 6e 64 0d 02 fb  04 0d 02 fc 04 0d 02 fd  |ksand...........|
00004ff0  04 0d 02 fe 04 0d 02 ff  10 4d 4f 56 20 52 34 2c  |.........MOV R4,|
00005000  23 30 20 20 20 0d 03 00  11 2e 71 73 5f 6c 69 6e  |#0   .....qs_lin|
00005010  65 5f 6c 6f 6f 70 0d 03  01 10 4d 4f 56 20 52 35  |e_loop....MOV R5|
00005020  2c 23 30 20 20 20 0d 03  02 13 2e 71 73 5f 63 6f  |,#0   .....qs_co|
00005030  6c 75 6d 6e 5f 6c 6f 6f  70 0d 03 03 12 53 54 52  |lumn_loop....STR|
00005040  20 52 32 2c 5b 52 30 2c  52 35 5d 0d 03 04 10 41  | R2,[R0,R5]....A|
00005050  44 44 20 52 35 2c 52 35  2c 23 34 0d 03 05 0f 43  |DD R5,R5,#4....C|
00005060  4d 50 20 52 35 2c 23 33  32 30 0d 03 06 16 42 4e  |MP R5,#320....BN|
00005070  45 20 71 73 5f 63 6f 6c  75 6d 6e 5f 6c 6f 6f 70  |E qs_column_loop|
00005080  0d 03 07 10 41 44 44 20  52 34 2c 52 34 2c 23 31  |....ADD R4,R4,#1|
00005090  0d 03 08 0d 43 4d 50 20  52 34 2c 52 31 0d 03 09  |....CMP R4,R1...|
000050a0  0e 42 47 54 20 6f 75 74  5f 71 73 0d 03 0a 12 41  |.BGT out_qs....A|
000050b0  44 44 20 52 30 2c 52 30  2c 23 33 32 30 0d 03 0b  |DD R0,R0,#320...|
000050c0  10 4d 4f 56 20 52 35 2c  23 30 20 20 20 0d 03 0c  |.MOV R5,#0   ...|
000050d0  14 2e 71 73 5f 63 6f 6c  75 6d 6e 5f 6c 6f 6f 70  |..qs_column_loop|
000050e0  32 0d 03 0d 12 53 54 52  20 52 33 2c 5b 52 30 2c  |2....STR R3,[R0,|
000050f0  52 35 5d 0d 03 0e 10 41  44 44 20 52 35 2c 52 35  |R5]....ADD R5,R5|
00005100  2c 23 34 0d 03 0f 0f 43  4d 50 20 52 35 2c 23 33  |,#4....CMP R5,#3|
00005110  32 30 0d 03 10 17 42 4e  45 20 71 73 5f 63 6f 6c  |20....BNE qs_col|
00005120  75 6d 6e 5f 6c 6f 6f 70  32 0d 03 11 10 41 44 44  |umn_loop2....ADD|
00005130  20 52 34 2c 52 34 2c 23  31 0d 03 12 0d 43 4d 50  | R4,R4,#1....CMP|
00005140  20 52 34 2c 52 31 0d 03  13 0e 42 47 54 20 6f 75  | R4,R1....BGT ou|
00005150  74 5f 71 73 0d 03 14 12  41 44 44 20 52 30 2c 52  |t_qs....ADD R0,R|
00005160  30 2c 23 33 32 30 0d 03  15 12 42 20 71 73 5f 6c  |0,#320....B qs_l|
00005170  69 6e 65 5f 6c 6f 6f 70  0d 03 16 0b 2e 6f 75 74  |ine_loop.....out|
00005180  5f 71 73 0d 03 17 0f 4d  4f 56 20 52 31 35 2c 52  |_qs....MOV R15,R|
00005190  31 34 0d 03 18 0c 2e 73  70 6c 6f 64 67 65 0d 03  |14.....splodge..|
000051a0  19 04 0d 03 1a 04 0d 03  1b 04 0d 03 1c 04 0d 03  |................|
000051b0  1d 04 0d 03 1e 0d 4d 4f  56 20 52 39 2c 52 34 0d  |......MOV R9,R4.|
000051c0  03 1f 10 4d 4f 56 20 52  34 2c 23 30 20 20 20 0d  |...MOV R4,#0   .|
000051d0  03 20 11 2e 71 73 5f 6c  69 6e 65 5f 6c 6f 6f 70  |. ..qs_line_loop|
000051e0  0d 03 21 10 4d 4f 56 20  52 35 2c 23 30 20 20 20  |..!.MOV R5,#0   |
000051f0  0d 03 22 13 2e 71 73 5f  63 6f 6c 75 6d 6e 5f 6c  |.."..qs_column_l|
00005200  6f 6f 70 0d 03 23 12 53  54 52 20 52 32 2c 5b 52  |oop..#.STR R2,[R|
00005210  30 2c 52 35 5d 0d 03 24  10 41 44 44 20 52 35 2c  |0,R5]..$.ADD R5,|
00005220  52 35 2c 23 34 0d 03 25  0f 43 4d 50 20 52 35 2c  |R5,#4..%.CMP R5,|
00005230  23 33 32 30 0d 03 26 16  42 4e 45 20 71 73 5f 63  |#320..&.BNE qs_c|
00005240  6f 6c 75 6d 6e 5f 6c 6f  6f 70 0d 03 27 10 41 44  |olumn_loop..'.AD|
00005250  44 20 52 34 2c 52 34 2c  23 31 0d 03 28 0d 43 4d  |D R4,R4,#1..(.CM|
00005260  50 20 52 34 2c 52 31 0d  03 29 0e 42 47 54 20 6f  |P R4,R1..).BGT o|
00005270  75 74 5f 71 73 0d 03 2a  12 41 44 44 20 52 30 2c  |ut_qs..*.ADD R0,|
00005280  52 30 2c 23 33 32 30 0d  03 2b 10 4d 4f 56 20 52  |R0,#320..+.MOV R|
00005290  35 2c 23 30 20 20 20 0d  03 2c 14 2e 71 73 5f 63  |5,#0   ..,..qs_c|
000052a0  6f 6c 75 6d 6e 5f 6c 6f  6f 70 32 0d 03 2d 12 53  |olumn_loop2..-.S|
000052b0  54 52 20 52 33 2c 5b 52  30 2c 52 35 5d 0d 03 2e  |TR R3,[R0,R5]...|
000052c0  10 41 44 44 20 52 35 2c  52 35 2c 23 34 0d 03 2f  |.ADD R5,R5,#4../|
000052d0  0d 43 4d 50 20 52 35 2c  52 39 0d 03 30 17 42 4c  |.CMP R5,R9..0.BL|
000052e0  54 20 71 73 5f 63 6f 6c  75 6d 6e 5f 6c 6f 6f 70  |T qs_column_loop|
000052f0  32 0d 03 31 10 41 44 44  20 52 34 2c 52 34 2c 23  |2..1.ADD R4,R4,#|
00005300  31 0d 03 32 0d 43 4d 50  20 52 34 2c 52 31 0d 03  |1..2.CMP R4,R1..|
00005310  33 0e 42 47 54 20 6f 75  74 5f 71 73 0d 03 34 12  |3.BGT out_qs..4.|
00005320  41 44 44 20 52 30 2c 52  30 2c 23 33 32 30 0d 03  |ADD R0,R0,#320..|
00005330  35 12 42 20 71 73 5f 6c  69 6e 65 5f 6c 6f 6f 70  |5.B qs_line_loop|
00005340  0d 03 36 0b 2e 6f 75 74  5f 71 73 0d 03 37 0f 4d  |..6..out_qs..7.M|
00005350  4f 56 20 52 31 35 2c 52  31 34 0d 03 38 0f 2e 73  |OV R15,R14..8..s|
00005360  63 72 6f 6c 6c 5f 61 6c  6c 0d 03 39 04 0d 03 3a  |croll_all..9...:|
00005370  04 0d 03 3b 04 0d 03 3c  04 0d 03 3d 04 0d 03 3e  |...;...<...=...>|
00005380  0f 4d 4f 56 20 52 34 2c  23 32 30 30 0d 03 3f 1d  |.MOV R4,#200..?.|
00005390  41 44 44 20 52 38 2c 52  34 2c 23 31 32 30 20 20  |ADD R8,R4,#120  |
000053a0  20 20 20 20 20 20 20 20  20 0d 03 40 0d 43 4d 50  |         ..@.CMP|
000053b0  20 52 32 2c 23 31 0d 03  41 17 42 45 51 20 6c 65  | R2,#1..A.BEQ le|
000053c0  66 74 5f 73 63 72 6f 6c  6c 5f 61 6c 6c 0d 03 42  |ft_scroll_all..B|
000053d0  15 2e 72 69 67 68 74 5f  73 63 72 6f 6c 6c 5f 61  |..right_scroll_a|
000053e0  6c 6c 0d 03 43 1d 4d 4f  56 20 52 34 2c 23 30 20  |ll..C.MOV R4,#0 |
000053f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |               .|
00005400  03 44 13 2e 6c 69 6e 65  5f 72 69 67 68 74 5f 61  |.D..line_right_a|
00005410  6c 6c 0d 03 45 04 0d 03  46 1d 53 55 42 20 52 36  |ll..E...F.SUB R6|
00005420  2c 52 38 2c 23 34 20 20  20 20 20 20 20 20 20 20  |,R8,#4          |
00005430  20 20 20 0d 03 47 1d 4c  44 52 20 52 31 30 2c 5b  |   ..G.LDR R10,[|
00005440  52 30 2c 52 36 5d 20 20  20 20 20 20 20 20 20 20  |R0,R6]          |
00005450  0d 03 48 1d 4c 44 52 20  52 31 31 2c 5b 52 31 2c  |..H.LDR R11,[R1,|
00005460  52 36 5d 20 20 20 20 20  20 20 20 20 20 0d 03 49  |R6]          ..I|
00005470  1d 2e 6c 69 6e 65 5f 72  69 67 68 74 5f 6c 6f 6f  |..line_right_loo|
00005480  70 20 20 20 20 20 20 20  20 20 0d 03 4a 10 53 55  |p         ..J.SU|
00005490  42 20 52 35 2c 52 36 2c  23 34 0d 03 4b 12 4c 44  |B R5,R6,#4..K.LD|
000054a0  52 20 52 37 2c 5b 52 30  2c 52 35 5d 0d 03 4c 12  |R R7,[R0,R5]..L.|
000054b0  53 54 52 20 52 37 2c 5b  52 30 2c 52 36 5d 0d 03  |STR R7,[R0,R6]..|
000054c0  4d 12 4c 44 52 20 52 37  2c 5b 52 31 2c 52 35 5d  |M.LDR R7,[R1,R5]|
000054d0  0d 03 4e 12 53 54 52 20  52 37 2c 5b 52 31 2c 52  |..N.STR R7,[R1,R|
000054e0  36 5d 0d 03 4f 10 53 55  42 20 52 36 2c 52 36 2c  |6]..O.SUB R6,R6,|
000054f0  23 34 0d 03 50 0d 43 4d  50 20 52 36 2c 23 30 0d  |#4..P.CMP R6,#0.|
00005500  03 51 17 42 4e 45 20 6c  69 6e 65 5f 72 69 67 68  |.Q.BNE line_righ|
00005510  74 5f 6c 6f 6f 70 0d 03  52 13 53 54 52 20 52 31  |t_loop..R.STR R1|
00005520  30 2c 5b 52 31 2c 52 36  5d 0d 03 53 13 53 54 52  |0,[R1,R6]..S.STR|
00005530  20 52 31 31 2c 5b 52 30  2c 52 36 5d 0d 03 54 10  | R11,[R0,R6]..T.|
00005540  41 44 44 20 52 30 2c 52  30 2c 52 38 0d 03 55 10  |ADD R0,R0,R8..U.|
00005550  41 44 44 20 52 31 2c 52  31 2c 52 38 0d 03 56 10  |ADD R1,R1,R8..V.|
00005560  41 44 44 20 52 34 2c 52  34 2c 23 31 0d 03 57 0d  |ADD R4,R4,#1..W.|
00005570  43 4d 50 20 52 34 2c 52  33 0d 03 58 16 42 4e 45  |CMP R4,R3..X.BNE|
00005580  20 6c 69 6e 65 5f 72 69  67 68 74 5f 61 6c 6c 0d  | line_right_all.|
00005590  03 59 0f 4d 4f 56 20 52  31 35 2c 52 31 34 0d 03  |.Y.MOV R15,R14..|
000055a0  5a 14 2e 6c 65 66 74 5f  73 63 72 6f 6c 6c 5f 61  |Z..left_scroll_a|
000055b0  6c 6c 0d 03 5b 1d 4d 4f  56 20 52 34 2c 23 30 20  |ll..[.MOV R4,#0 |
000055c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |               .|
000055d0  03 5c 13 2e 6c 69 6e 65  5f 72 69 67 68 74 5f 61  |.\..line_right_a|
000055e0  6c 6c 0d 03 5d 04 0d 03  5e 1d 4d 4f 56 20 52 36  |ll..]...^.MOV R6|
000055f0  2c 23 30 20 20 20 20 20  20 20 20 20 20 20 20 20  |,#0             |
00005600  20 20 20 0d 03 5f 1d 4c  44 52 20 52 31 30 2c 5b  |   .._.LDR R10,[|
00005610  52 30 2c 52 36 5d 20 20  20 20 20 20 20 20 20 20  |R0,R6]          |
00005620  0d 03 60 1d 4c 44 52 20  52 31 31 2c 5b 52 31 2c  |..`.LDR R11,[R1,|
00005630  52 36 5d 20 20 20 20 20  20 20 20 20 20 0d 03 61  |R6]          ..a|
00005640  1d 2e 6c 69 6e 65 5f 72  69 67 68 74 5f 6c 6f 6f  |..line_right_loo|
00005650  70 20 20 20 20 20 20 20  20 20 0d 03 62 10 41 44  |p         ..b.AD|
00005660  44 20 52 35 2c 52 36 2c  23 34 0d 03 63 12 4c 44  |D R5,R6,#4..c.LD|
00005670  52 20 52 37 2c 5b 52 30  2c 52 35 5d 0d 03 64 12  |R R7,[R0,R5]..d.|
00005680  53 54 52 20 52 37 2c 5b  52 30 2c 52 36 5d 0d 03  |STR R7,[R0,R6]..|
00005690  65 12 4c 44 52 20 52 37  2c 5b 52 31 2c 52 35 5d  |e.LDR R7,[R1,R5]|
000056a0  0d 03 66 12 53 54 52 20  52 37 2c 5b 52 31 2c 52  |..f.STR R7,[R1,R|
000056b0  36 5d 0d 03 67 10 41 44  44 20 52 36 2c 52 36 2c  |6]..g.ADD R6,R6,|
000056c0  23 34 0d 03 68 0d 43 4d  50 20 52 36 2c 52 38 0d  |#4..h.CMP R6,R8.|
000056d0  03 69 17 42 4e 45 20 6c  69 6e 65 5f 72 69 67 68  |.i.BNE line_righ|
000056e0  74 5f 6c 6f 6f 70 0d 03  6a 10 53 55 42 20 52 36  |t_loop..j.SUB R6|
000056f0  2c 52 38 2c 23 34 0d 03  6b 13 53 54 52 20 52 31  |,R8,#4..k.STR R1|
00005700  30 2c 5b 52 31 2c 52 36  5d 0d 03 6c 13 53 54 52  |0,[R1,R6]..l.STR|
00005710  20 52 31 31 2c 5b 52 30  2c 52 36 5d 0d 03 6d 10  | R11,[R0,R6]..m.|
00005720  41 44 44 20 52 30 2c 52  30 2c 52 38 0d 03 6e 10  |ADD R0,R0,R8..n.|
00005730  41 44 44 20 52 31 2c 52  31 2c 52 38 0d 03 6f 10  |ADD R1,R1,R8..o.|
00005740  41 44 44 20 52 34 2c 52  34 2c 23 31 0d 03 70 0d  |ADD R4,R4,#1..p.|
00005750  43 4d 50 20 52 34 2c 52  33 0d 03 71 16 42 4e 45  |CMP R4,R3..q.BNE|
00005760  20 6c 69 6e 65 5f 72 69  67 68 74 5f 61 6c 6c 0d  | line_right_all.|
00005770  03 72 0f 4d 4f 56 20 52  31 35 2c 52 31 34 0d 03  |.r.MOV R15,R14..|
00005780  73 0d 2e 63 6f 64 65 5f  65 6e 64 0d 03 74 05 5d  |s..code_end..t.]|
00005790  0d 03 75 05 ed 0d 03 76  0c 2a 46 58 31 31 32 2c  |..u....v.*FX112,|
000057a0  31 0d 03 77 0c 2a 46 58  31 31 33 2c 31 0d 03 78  |1..w.*FX113,1..x|
000057b0  05 e1 0d 03 79 17 dd f2  70 75 6c 6c 5f 70 61 63  |....y...pull_pac|
000057c0  5f 63 6f 64 65 5f 76 61  72 0d 03 7a 18 6d 61 69  |_code_var..z.mai|
000057d0  6e 25 3d 21 28 6d 5f 63  6f 64 65 32 25 2b 26 30  |n%=!(m_code2%+&0|
000057e0  29 0d 03 7b 21 73 65 74  5f 71 75 69 63 6b 73 61  |)..{!set_quicksa|
000057f0  6e 64 25 3d 21 28 6d 5f  63 6f 64 65 32 25 2b 26  |nd%=!(m_code2%+&|
00005800  34 29 0d 03 7c 1b 73 70  6c 6f 64 67 65 25 3d 21  |4)..|.splodge%=!|
00005810  28 6d 5f 63 6f 64 65 32  25 2b 26 38 29 0d 03 7d  |(m_code2%+&8)..}|
00005820  1e 73 63 72 6f 6c 6c 5f  61 6c 6c 25 3d 21 28 6d  |.scroll_all%=!(m|
00005830  5f 63 6f 64 65 32 25 2b  26 43 29 0d 03 7e 05 e1  |_code2%+&C)..~..|
00005840  0d ff                                             |..|
00005842