Home » Archimedes archive » Archimedes World » AW-1994-06-Disc1.adf » Disk1Jun94 » !AWJune94/Goodies/WordPairs/!WordPairs/!Title

!AWJune94/Goodies/WordPairs/!WordPairs/!Title

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-1994-06-Disc1.adf » Disk1Jun94
Filename: !AWJune94/Goodies/WordPairs/!WordPairs/!Title
Read OK:
File size: 1DC9 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >!Title
   20ON ERROR MODE MODE : REPORT : PRINT " at Line ";ERL : END
   30
   40
   50MODE 13 : OFF
   60 PROCloadsprites
   70      OSCLI "Hourglass Off"
   80      MOUSE ON 3
   90      PROCintro
  100      MOUSE ON 3
  110 FOR c% = 0 TO 15
  120  MOUSE COLOUR 1,(140/15)*c%,(80/15)*c%,0
  130  MOUSE COLOUR 2,(180/15)*c%,(120/15)*c%,0
  140  MOUSE COLOUR 3,(180/15)*c%,(180/15)*c%,(180/15)*c%
  150  WAIT
  160 NEXT c%
  170 OSCLI "Hourglass On"
  180 OFF
  190 CHAIN"<WordPair$Dir>.!RunImage"
  200END
  210
  220
  230DEF PROCloadsprites
  240 LOCAL file% , room%
  250 SYS "OS_File",5,"<WordPair$Dir>.TitleSpr" TO ,,,,room%
  260 DIM spr% room%+32 , scale% 16
  270 !spr%   = room%+32
  280 spr%! 4 = 0
  290 spr%! 8 = 16
  300 spr%!12 = 16
  310 SYS &2E,10+256,spr%,"<WordPair$Dir>.TitleSpr"
  320ENDPROC
  330
  340
  350DEF PROCintro
  360 quit = FALSE
  370 LOCAL c%,i%,I%,width%,height%,h%,v%,hi%(),j%,icode%
  380 LOCAL intro,spstring,num,scale,hi,spr,scalnum,pass%
  390 FOR c% = 15 TO 0 STEP -1
  400  MOUSE COLOUR 1,(140/15)*c%,(80/15)*c%,0
  410  MOUSE COLOUR 2,(180/15)*c%,(120/15)*c%,0
  420  MOUSE COLOUR 3,(180/15)*c%,(180/15)*c%,(180/15)*c%
  430  WAIT
  440 NEXT c%
  450 PROCaw  : WAIT
  460 MODE 13 : OFF
  470 IF quit THEN ENDPROC
  480 width%    =   8
  490 height%   =   4
  500 !scale%   = 128
  510 scale%!8  = 128
  520 scale%!12 = 128
  530 DIM hi% width%*4
  540 FOR i% = 1 TO width%
  550  hi%!(i%*4-4) = -i%*24
  560 NEXT i%
  570 DIM icode% 512
  580 FOR pass% = 0 TO 2 STEP 2
  590  P% = icode% : [ OPT pass%
  600
  610  .spstring      EQUS "titslab_":.num EQUS " "+CHR$13+CHR$13:ALIGN
  620  .scale         EQUD scale%
  630  .hi            EQUD hi%
  640  .spr           EQUD spr%
  650  .scalnum       EQUD 52+256
  660
  670  .intro         STMFD R13!,{R0-R12,R14}
  680                 MOV R12,#0:.Iloop
  690                 MOV R11,#0:.Hloop:LDR R0,hi
  700                 LDR R9,[R0,R11,LSL #2]:ADD R9,R9,#4:STR R9,[R0,R11,LSL #2]
  710                 CMP R9,#0:BLT next1:CMP R9,#64:BGT next1
  720                 MOV R10,#0:BL spops
  730                 .next1:SUB R9,R9,#24:CMP R9,#0:BLT next2:CMP R9,#64:BGT next2
  740                 MOV R10,#1:BL spops
  750                 .next2:SUB R9,R9,#24:CMP R9,#0:BLT next3:CMP R9,#64:BGT next3
  760                 MOV R10,#2:BL spops
  770                 .next3:SUB R9,R9,#24:CMP R9,#0:BLT next4:CMP R9,#64:BGT next4
  780                 MOV R10,#3:BL spops
  790                 .next4
  800                 ADD R11,R11,#1:CMP R11,#width%:BLT Hloop
  810                 CMP R12,#82:ADDLT R12,R12,#1:BLT Iloop
  820                 LDMFD R13!,{R0-R12,PC}
  830                 .spops:STMFD R13!,{R0-R8,R14}
  840                 MOV R1,#height%:MLA R0,R11,R1,R10
  850                 ADR R1,num:MOV R2,#13:STR R2,[R1,#1]:MOV R2,#2
  860                 SWI "OS_BinaryToDecimal"
  870                 LDR R0,scalnum:LDR R1,spr:ADR R2,spstring
  880                 MOV R3,#128:ADD R3,R3,R11,LSL #7
  890                 MOV R4,#400:SUB R4,R4,R9:ADD R4,R4,R10,LSL #7
  900                 LDR R5,scale:MOV R6,R9,LSL #1:STR R6,[R5,#4]
  910                 MOV R5,#0:LDR R6,scale:MVN R7,#1:SWI "OS_SpriteOp"
  920                 LDMFD R13!,{R0-R8,PC}
  930
  940  ] : NEXT pass%
  950 PROCclearcode : OSCLI "FX112,2" : CLS
  960 SYS &2E,34+256,spr%,"presents",(320-62)*2,512
  970 CALL clear : i% = INKEY(100) : IF i% > 0 THEN ENDPROC
  980 CALL clear : i% = INKEY( 50) : IF i% > 0 THEN ENDPROC
  990 OSCLI "FX112,1":ORIGIN 0,32:CALL intro:ORIGIN 0,0
 1000 CALL copyscreen:OSCLI"FX112,2"
 1010 SYS &2E,34+256,spr%,"copyright",(320-302)*2,272
 1020 CALL clear:OSCLI "FX112,1"
 1030 MOUSE TO 640,168:i% = INKEY(50)
 1040ENDPROC
 1050
 1060
 1070DEF PROCaw
 1080 LOCAL code%,pass%,spr
 1090 MODE 9+128 : OFF
 1100 COLOUR  1,   0,  0,  0
 1110 COLOUR  2, 255,255,255 : COLOUR  3,   0,  0,  0
 1120 COLOUR  4,   0,  0,150 : COLOUR  5,  15, 15,165
 1130 COLOUR  6,  30, 30,180 : COLOUR  7,  45, 45,195
 1140 COLOUR  8, 105,105,255 : COLOUR  9,  90, 90,240
 1150 COLOUR 10,  75, 75,225 : COLOUR 11,  60, 60,210
 1160 COLOUR 12,  45, 45,195 : COLOUR 13,  30, 30,180
 1170 COLOUR 14,  15, 15,165 : COLOUR 15,   0,  0,150
 1180
 1190 scr% = 1 : step = 4
 1200 SYS 6,112,2 : SYS 6,113,1 : bank = 1
 1210 GCOL 0
 1220
 1230 FOR x% = 1056 TO 0 STEP -step
 1240  IF INKEY(0) > 0 THEN quit = TRUE : ENDPROC
 1250  TIME = 0
 1260  SYS &2E,34+256,spr%,"ball",216-x%/2,512
 1270  SYS &2E,34+256,spr%,"outarc",224+step-x%,604,8
 1280  SYS &2E,34+256,spr%,"outarc",224-step+x%,604,8
 1290  PROCedure_SwapBanks
 1300  REPEAT UNTIL TIME > 3
 1310 NEXT x%
 1320 scr% = 3-scr%
 1330 OSCLI "FX112,"+STR$scr%
 1340
 1350 SYS&2E,34+256,spr%,"world",472,568
 1360 SYS&2E,34+256,spr%,"solidarc",224,512+92,8:I%=INKEY(50)
 1370
 1380 FOR c% = 0 TO 255 STEP 15
 1390  COLOUR 1,c%,c%,c%
 1400  COLOUR 2,255,255,255-c%
 1410  COLOUR 3,c%,0,0
 1420  COLOUR 4,c%,0,150-(150/255)*c%
 1430  COLOUR 5,15+((255-15)/255)*c%,15-(15/255)*c%,165-(165/255)*c%
 1440  COLOUR 6,30+((255-30)/255)*c%,30-(30/255)*c%,180-(180/255)*c%
 1450  COLOUR 7,45+((255-45)/255)*c%,45-(45/255)*c%,195-(195/255)*c%
 1460  WAIT:WAIT
 1470 NEXT c%
 1480
 1490 i$ = INKEY$(200)
 1500
 1510 FOR c% = 255 TO 0 STEP -15
 1520  COLOUR 1,c%,c%,c%
 1530  COLOUR 2,c%,c%, 0
 1540  FOR a% = 3 TO 7
 1550   COLOUR a%,c%,0,0
 1560  NEXT a%
 1570
 1580  FOR a% = 8 TO 15
 1590   RESTORE
 1600   READ r%,g%,b%
 1610   COLOUR a%,(r%/255)*c%,(g%/255)*c%,(b%/255)*c%
 1620  NEXT a%
 1630  WAIT:WAIT
 1640 NEXT c%
 1650
 1660ENDPROC
 1670
 1680
 1690DATA 105,105,255 : DATA  90, 90,240
 1700DATA  75, 75,225 : DATA  60, 60,210
 1710DATA  45, 45,195 : DATA  30, 30,180
 1720DATA  15, 15,165 : DATA   0,  0,150
 1730
 1740
 1750DEF PROCclearcode
 1760 LOCAL code%,pass%,time%
 1770 time% = 32
 1780 DIM code% 512+80*64
 1790 FOR pass% = 0 TO 2 STEP 2
 1800  P% = code% : [ OPT pass%
 1810
 1820
 1830   .scr1          EQUD  &1FD8000
 1840   .scr2          EQUD  &1FEC000
 1850
 1860
 1870   .clear         STMFD R13! , {R0-R12,R14}
 1880                  MOV   R12  , #320
 1890                  LDR   R0   , scr1
 1900                  LDR   R1   , scr2
 1910                  ADR   R2   , dispace%
 1920                  MOV   R3   , #time%
 1930   .loop1         MOV   R4   , #79
 1940   .loop2         MOV   R5   , #63
 1950   .loop3         ADD   R6   , R4  , R5  , LSL #6
 1960                  LDRB  R6   , [R2 , R6]
 1970                  CMP   R6   , R3
 1980                  BNE   next
 1990                  MLA   R7   , R5  , R12 , R4
 2000                  ADD   R8   , R7  , R0
 2010                  ADD   R9   , R7  , R1
 2020                  STMFD R13! , {R0-R4}
 2030                  ADR   R4   , offsets
 2040
 2050  ]
 2060  FOR i% = 1 TO 4 : [ OPT pass%
 2070   LDMIA R4!,{R0-R3}
 2080   LDRB R10,[R9,R0]:LDRB R11,[R8,R0]:STRB R10,[R8,R0]:STRB R11,[R9,R0]
 2090   LDRB R10,[R9,R1]:LDRB R11,[R8,R1]:STRB R10,[R8,R1]:STRB R11,[R9,R1]
 2100   LDRB R10,[R9,R2]:LDRB R11,[R8,R2]:STRB R10,[R8,R2]:STRB R11,[R9,R2]
 2110   LDRB R10,[R9,R3]:LDRB R11,[R8,R3]:STRB R10,[R8,R3]:STRB R11,[R9,R3]
 2120  ] : NEXT i%
 2130
 2140  [ OPT pass%
 2150   LDMFD R13!,{R0-R4}
 2160
 2170   .next          SUBS  R5   , R5  , #1
 2180                  BPL   loop3
 2190                  SUBS  R4   , R4  , #1
 2200                  BPL   loop2
 2210                  SUBS  R3   , R3  , #1
 2220                  BNE   loop1
 2230                  LDMFD R13! , {R0-R12,PC}
 2240
 2250   .offsets       EQUD  320*  0:EQUD 320*  0+80:EQUD 320*  0+160:EQUD 320*  0+240
 2260                  EQUD  320* 64:EQUD 320* 64+80:EQUD 320* 64+160:EQUD 320* 64+240
 2270                  EQUD  320*128:EQUD 320*128+80:EQUD 320*128+160:EQUD 320*128+240
 2280                  EQUD  320*192:EQUD 320*192+80:EQUD 320*192+160:EQUD 320*192+240
 2290
 2300   .copyscreen    STMFD R13! , {R0-R10,R14}
 2310                  LDR   R0   , scr1
 2320                  LDR   R1   , scr2
 2330                  MOV   R2   , #&14000
 2340   .loop          LDMIA R0!  , {R3-R10}
 2350                  STMIA R1!  , {R3-R10}
 2360                  SUBS  R2   , R2  , #32
 2370                  BNE   loop
 2380                  LDMFD R13! , {R0-R10,PC}
 2390
 2400   .dispace%
 2410
 2420  ] : NEXT pass%
 2430
 2440 FOR i% = 1 TO 64*80
 2450  i%?dispace% = RND(time%)
 2460 NEXT i%
 2470
 2480 MODE 13 + 128 : OFF
 2490 DIM kev 16
 2500 !kev = 149  : kev!4 = -1
 2510 SYS 6,112,1 : SYS 6,113,1 : SYS &31,kev,kev+8 : !scr1 = kev!8
 2520 SYS 6,112,2 : SYS 6,113,2 : SYS &31,kev,kev+8 : !scr2 = kev!8
 2530 MODE 13       : OFF
 2540
 2550ENDPROC
 2560
 2570
 2580DEF PROCedure_SwapBanks
 2590 OSCLI "Fx 112 , " + STR$ bank
 2600 bank = bank EOR 3
 2610 OSCLI "Fx 113 , " + STR$ bank
 2620 WAIT : CLS
 2630ENDPROC


� >!Title
%� � � � : � : � " at Line ";� : �

(
2� 13 : �
< �loadsprites
F      � "Hourglass Off"
P      ȗ � 3
Z      �intro
d      ȗ � 3
n � c% = 0 � 15
x%  ȗ � 1,(140/15)*c%,(80/15)*c%,0
�&  ȗ � 2,(180/15)*c%,(120/15)*c%,0
�0  ȗ � 3,(180/15)*c%,(180/15)*c%,(180/15)*c%
�  Ȗ
�	 � c%
� � "Hourglass On"
� �
�  �"<WordPair$Dir>.!RunImage"
��
�
�
�� �loadsprites
� � file% , room%
�9 ș "OS_File",5,"<WordPair$Dir>.TitleSpr" � ,,,,room%
  � spr% room%+32 , scale% 16
 !spr%   = room%+32
 spr%! 4 = 0
" spr%! 8 = 16
, spr%!12 = 16
61 ș &2E,10+256,spr%,"<WordPair$Dir>.TitleSpr"
@�
J
T
^� �intro
h
 quit = �
r4 � c%,i%,I%,width%,height%,h%,v%,hi%(),j%,icode%
|4 � intro,spstring,num,scale,hi,spr,scalnum,pass%
� � c% = 15 � 0 � -1
�%  ȗ � 1,(140/15)*c%,(80/15)*c%,0
�&  ȗ � 2,(180/15)*c%,(120/15)*c%,0
�0  ȗ � 3,(180/15)*c%,(180/15)*c%,(180/15)*c%
�  Ȗ
�	 � c%
� �aw  : Ȗ
�
 � 13 : �
� � quit � �
� width%    =   8
� height%   =   4
� !scale%   = 128
� scale%!8  = 128
 scale%!12 = 128
 � hi% width%*4
 � i% = 1 � width%
&  hi%!(i%*4-4) = -i%*24
0	 � i%
: � icode% 512
D � pass% = 0 � 2 � 2
N  P% = icode% : [ OPT pass%
X
b@  .spstring      EQUS "titslab_":.num EQUS " "+�13+�13:ALIGN
l   .scale         EQUD scale%
v  .hi            EQUD hi%
�  .spr           EQUD spr%
�   .scalnum       EQUD 52+256
�
�,  .intro         STMFD R13!,{R0-R12,R14}
�&                 MOV R12,#0:.Iloop
�0                 MOV R11,#0:.Hloop:LDR R0,hi
�O                 LDR R9,[R0,R11,LSL #2]:ADD R9,R9,#4:STR R9,[R0,R11,LSL #2]
�=                 CMP R9,#0:BLT next1:CMP R9,#64:BGT next1
�(                 MOV R10,#0:BL spops
�R                 .next1:SUB R9,R9,#24:CMP R9,#0:BLT next2:CMP R9,#64:BGT next2
�(                 MOV R10,#1:BL spops
�R                 .next2:SUB R9,R9,#24:CMP R9,#0:BLT next3:CMP R9,#64:BGT next3
�(                 MOV R10,#2:BL spops
R                 .next3:SUB R9,R9,#24:CMP R9,#0:BLT next4:CMP R9,#64:BGT next4
(                 MOV R10,#3:BL spops
                 .next4
 =                 ADD R11,R11,#1:CMP R11,#width%:BLT Hloop
*;                 CMP R12,#82:ADDLT R12,R12,#1:BLT Iloop
4+                 LDMFD R13!,{R0-R12,PC}
>2                 .spops:STMFD R13!,{R0-R8,R14}
H6                 MOV R1,#height%:MLA R0,R11,R1,R10
RC                 ADR R1,num:MOV R2,#13:STR R2,[R1,#1]:MOV R2,#2
\-                 SWI "OS_BinaryToDecimal"
f>                 LDR R0,scalnum:LDR R1,spr:ADR R2,spstring
p5                 MOV R3,#128:ADD R3,R3,R11,LSL #7
zB                 MOV R4,#400:SUB R4,R4,R9:ADD R4,R4,R10,LSL #7
�A                 LDR R5,scale:MOV R6,R9,LSL #1:STR R6,[R5,#4]
�G                 MOV R5,#0:LDR R6,scale:MVN R7,#1:SWI "OS_SpriteOp"
�*                 LDMFD R13!,{R0-R8,PC}
�
�  ] : � pass%
�! �clearcode : � "FX112,2" : �
�1 ș &2E,34+256,spr%,"presents",(320-62)*2,512
�) � clear : i% = �(100) : � i% > 0 � �
�) � clear : i% = �( 50) : � i% > 0 � �
�' � "FX112,1":ȑ 0,32:� intro:ȑ 0,0
� � copyscreen:�"FX112,2"
�3 ș &2E,34+256,spr%,"copyright",(320-302)*2,272
� � clear:� "FX112,1"
 ȗ � 640,168:i% = �(50)
�

$
.	� �aw
8 � code%,pass%,spr
B � 9+128 : �
L �  1,   0,  0,  0
V* �  2, 255,255,255 : �  3,   0,  0,  0
`* �  4,   0,  0,150 : �  5,  15, 15,165
j* �  6,  30, 30,180 : �  7,  45, 45,195
t* �  8, 105,105,255 : �  9,  90, 90,240
~* � 10,  75, 75,225 : � 11,  60, 60,210
�* � 12,  45, 45,195 : � 13,  30, 30,180
�* � 14,  15, 15,165 : � 15,   0,  0,150
�
� scr% = 1 : step = 4
�' ș 6,112,2 : ș 6,113,1 : bank = 1
� � 0
�
� � x% = 1056 � 0 � -step
�  � �(0) > 0 � quit = � : �
�  � = 0
�,  ș &2E,34+256,spr%,"ball",216-x%/2,512
�3  ș &2E,34+256,spr%,"outarc",224+step-x%,604,8
3  ș &2E,34+256,spr%,"outarc",224-step+x%,604,8

  �edure_SwapBanks
  � � � > 3
	 � x%
( scr% = 3-scr%
2 � "FX112,"+�scr%
<
F& ș&2E,34+256,spr%,"world",472,568
P7 ș&2E,34+256,spr%,"solidarc",224,512+92,8:I%=�(50)
Z
d � c% = 0 � 255 � 15
n  � 1,c%,c%,c%
x  � 2,255,255,255-c%
�  � 3,c%,0,0
�  � 4,c%,0,150-(150/255)*c%
�>  � 5,15+((255-15)/255)*c%,15-(15/255)*c%,165-(165/255)*c%
�>  � 6,30+((255-30)/255)*c%,30-(30/255)*c%,180-(180/255)*c%
�>  � 7,45+((255-45)/255)*c%,45-(45/255)*c%,195-(195/255)*c%
�  Ȗ:Ȗ
�	 � c%
�
� i$ = �(200)
�
� � c% = 255 � 0 � -15
�  � 1,c%,c%,c%
�  � 2,c%,c%, 0
  � a% = 3 � 7
   � a%,c%,0,0

  � a%
"
,  � a% = 8 � 15
6   �
@   � r%,g%,b%
J/   � a%,(r%/255)*c%,(g%/255)*c%,(b%/255)*c%
T
  � a%
^  Ȗ:Ȗ
h	 � c%
r
|�
�
�
�$� 105,105,255 : DATA  90, 90,240
�$�  75, 75,225 : DATA  60, 60,210
�$�  45, 45,195 : DATA  30, 30,180
�$�  15, 15,165 : DATA   0,  0,150
�
�
�� �clearcode
� � code%,pass%,time%
� time% = 32
� � code% 512+80*64
� � pass% = 0 � 2 � 2
  P% = code% : [ OPT pass%


&$   .scr1          EQUD  &1FD8000
0$   .scr2          EQUD  &1FEC000
:
D
N/   .clear         STMFD R13! , {R0-R12,R14}
X'                  MOV   R12  , #320
b'                  LDR   R0   , scr1
l'                  LDR   R1   , scr2
v+                  ADR   R2   , dispace%
�)                  MOV   R3   , #time%
�&   .loop1         MOV   R4   , #79
�&   .loop2         MOV   R5   , #63
�5   .loop3         ADD   R6   , R4  , R5  , LSL #6
�,                  LDRB  R6   , [R2 , R6]
�%                  CMP   R6   , R3
�                   BNE   next
�1                  MLA   R7   , R5  , R12 , R4
�+                  ADD   R8   , R7  , R0
�+                  ADD   R9   , R7  , R1
�*                  STMFD R13! , {R0-R4}
�*                  ADR   R4   , offsets
�
  ]
   � i% = 1 � 4 : [ OPT pass%
   LDMIA R4!,{R0-R3}
 J   LDRB R10,[R9,R0]:LDRB R11,[R8,R0]:STRB R10,[R8,R0]:STRB R11,[R9,R0]
*J   LDRB R10,[R9,R1]:LDRB R11,[R8,R1]:STRB R10,[R8,R1]:STRB R11,[R9,R1]
4J   LDRB R10,[R9,R2]:LDRB R11,[R8,R2]:STRB R10,[R8,R2]:STRB R11,[R9,R2]
>J   LDRB R10,[R9,R3]:LDRB R11,[R8,R3]:STRB R10,[R8,R3]:STRB R11,[R9,R3]
H  ] : � i%
R
\  [ OPT pass%
f   LDMFD R13!,{R0-R4}
p
z+   .next          SUBS  R5   , R5  , #1
�!                  BPL   loop3
�+                  SUBS  R4   , R4  , #1
�!                  BPL   loop2
�+                  SUBS  R3   , R3  , #1
�!                  BNE   loop1
�.                  LDMFD R13! , {R0-R12,PC}
�
�U   .offsets       EQUD  320*  0:EQUD 320*  0+80:EQUD 320*  0+160:EQUD 320*  0+240
�U                  EQUD  320* 64:EQUD 320* 64+80:EQUD 320* 64+160:EQUD 320* 64+240
�U                  EQUD  320*128:EQUD 320*128+80:EQUD 320*128+160:EQUD 320*128+240
�U                  EQUD  320*192:EQUD 320*192+80:EQUD 320*192+160:EQUD 320*192+240
�
�/   .copyscreen    STMFD R13! , {R0-R10,R14}
	'                  LDR   R0   , scr1
	'                  LDR   R1   , scr2
	*                  MOV   R2   , #&14000
	$+   .loop          LDMIA R0!  , {R3-R10}
	.+                  STMIA R1!  , {R3-R10}
	8,                  SUBS  R2   , R2  , #32
	B                   BNE   loop
	L.                  LDMFD R13! , {R0-R10,PC}
	V
	`   .dispace%
	j
	t  ] : � pass%
	~
	� � i% = 1 � 64*80
	�  i%?dispace% = �(time%)
	�	 � i%
	�
	� � 13 + 128 : �
	�
 � kev 16
	� !kev = 149  : kev!4 = -1
	�? ș 6,112,1 : ș 6,113,1 : ș &31,kev,kev+8 : !scr1 = kev!8
	�? ș 6,112,2 : ș 6,113,2 : ș &31,kev,kev+8 : !scr2 = kev!8
	� � 13       : �
	�
	��



� �edure_SwapBanks
 � "Fx 112 , " + � bank
( bank = bank � 3
2 � "Fx 113 , " + � bank
< Ȗ : �
F�
�
00000000  0d 00 0a 0d f4 20 3e 21  54 69 74 6c 65 0d 00 14  |..... >!Title...|
00000010  25 ee 20 85 20 eb 20 eb  20 3a 20 f6 20 3a 20 f1  |%. . . . : . : .|
00000020  20 22 20 61 74 20 4c 69  6e 65 20 22 3b 9e 20 3a  | " at Line ";. :|
00000030  20 e0 0d 00 1e 04 0d 00  28 04 0d 00 32 0c eb 20  | .......(...2.. |
00000040  31 33 20 3a 20 87 0d 00  3c 11 20 f2 6c 6f 61 64  |13 : ...<. .load|
00000050  73 70 72 69 74 65 73 0d  00 46 1b 20 20 20 20 20  |sprites..F.     |
00000060  20 ff 20 22 48 6f 75 72  67 6c 61 73 73 20 4f 66  | . "Hourglass Of|
00000070  66 22 0d 00 50 10 20 20  20 20 20 20 c8 97 20 ee  |f"..P.      .. .|
00000080  20 33 0d 00 5a 10 20 20  20 20 20 20 f2 69 6e 74  | 3..Z.      .int|
00000090  72 6f 0d 00 64 10 20 20  20 20 20 20 c8 97 20 ee  |ro..d.      .. .|
000000a0  20 33 0d 00 6e 12 20 e3  20 63 25 20 3d 20 30 20  | 3..n. . c% = 0 |
000000b0  b8 20 31 35 0d 00 78 25  20 20 c8 97 20 fb 20 31  |. 15..x%  .. . 1|
000000c0  2c 28 31 34 30 2f 31 35  29 2a 63 25 2c 28 38 30  |,(140/15)*c%,(80|
000000d0  2f 31 35 29 2a 63 25 2c  30 0d 00 82 26 20 20 c8  |/15)*c%,0...&  .|
000000e0  97 20 fb 20 32 2c 28 31  38 30 2f 31 35 29 2a 63  |. . 2,(180/15)*c|
000000f0  25 2c 28 31 32 30 2f 31  35 29 2a 63 25 2c 30 0d  |%,(120/15)*c%,0.|
00000100  00 8c 30 20 20 c8 97 20  fb 20 33 2c 28 31 38 30  |..0  .. . 3,(180|
00000110  2f 31 35 29 2a 63 25 2c  28 31 38 30 2f 31 35 29  |/15)*c%,(180/15)|
00000120  2a 63 25 2c 28 31 38 30  2f 31 35 29 2a 63 25 0d  |*c%,(180/15)*c%.|
00000130  00 96 08 20 20 c8 96 0d  00 a0 09 20 ed 20 63 25  |...  ...... . c%|
00000140  0d 00 aa 15 20 ff 20 22  48 6f 75 72 67 6c 61 73  |.... . "Hourglas|
00000150  73 20 4f 6e 22 0d 00 b4  06 20 87 0d 00 be 20 20  |s On".... ....  |
00000160  d7 22 3c 57 6f 72 64 50  61 69 72 24 44 69 72 3e  |."<WordPair$Dir>|
00000170  2e 21 52 75 6e 49 6d 61  67 65 22 0d 00 c8 05 e0  |.!RunImage".....|
00000180  0d 00 d2 04 0d 00 dc 04  0d 00 e6 12 dd 20 f2 6c  |............. .l|
00000190  6f 61 64 73 70 72 69 74  65 73 0d 00 f0 14 20 ea  |oadsprites.... .|
000001a0  20 66 69 6c 65 25 20 2c  20 72 6f 6f 6d 25 0d 00  | file% , room%..|
000001b0  fa 39 20 c8 99 20 22 4f  53 5f 46 69 6c 65 22 2c  |.9 .. "OS_File",|
000001c0  35 2c 22 3c 57 6f 72 64  50 61 69 72 24 44 69 72  |5,"<WordPair$Dir|
000001d0  3e 2e 54 69 74 6c 65 53  70 72 22 20 b8 20 2c 2c  |>.TitleSpr" . ,,|
000001e0  2c 2c 72 6f 6f 6d 25 0d  01 04 20 20 de 20 73 70  |,,room%...  . sp|
000001f0  72 25 20 72 6f 6f 6d 25  2b 33 32 20 2c 20 73 63  |r% room%+32 , sc|
00000200  61 6c 65 25 20 31 36 0d  01 0e 17 20 21 73 70 72  |ale% 16.... !spr|
00000210  25 20 20 20 3d 20 72 6f  6f 6d 25 2b 33 32 0d 01  |%   = room%+32..|
00000220  18 10 20 73 70 72 25 21  20 34 20 3d 20 30 0d 01  |.. spr%! 4 = 0..|
00000230  22 11 20 73 70 72 25 21  20 38 20 3d 20 31 36 0d  |". spr%! 8 = 16.|
00000240  01 2c 11 20 73 70 72 25  21 31 32 20 3d 20 31 36  |.,. spr%!12 = 16|
00000250  0d 01 36 31 20 c8 99 20  26 32 45 2c 31 30 2b 32  |..61 .. &2E,10+2|
00000260  35 36 2c 73 70 72 25 2c  22 3c 57 6f 72 64 50 61  |56,spr%,"<WordPa|
00000270  69 72 24 44 69 72 3e 2e  54 69 74 6c 65 53 70 72  |ir$Dir>.TitleSpr|
00000280  22 0d 01 40 05 e1 0d 01  4a 04 0d 01 54 04 0d 01  |"..@....J...T...|
00000290  5e 0c dd 20 f2 69 6e 74  72 6f 0d 01 68 0d 20 71  |^.. .intro..h. q|
000002a0  75 69 74 20 3d 20 a3 0d  01 72 34 20 ea 20 63 25  |uit = ...r4 . c%|
000002b0  2c 69 25 2c 49 25 2c 77  69 64 74 68 25 2c 68 65  |,i%,I%,width%,he|
000002c0  69 67 68 74 25 2c 68 25  2c 76 25 2c 68 69 25 28  |ight%,h%,v%,hi%(|
000002d0  29 2c 6a 25 2c 69 63 6f  64 65 25 0d 01 7c 34 20  |),j%,icode%..|4 |
000002e0  ea 20 69 6e 74 72 6f 2c  73 70 73 74 72 69 6e 67  |. intro,spstring|
000002f0  2c 6e 75 6d 2c 73 63 61  6c 65 2c 68 69 2c 73 70  |,num,scale,hi,sp|
00000300  72 2c 73 63 61 6c 6e 75  6d 2c 70 61 73 73 25 0d  |r,scalnum,pass%.|
00000310  01 86 17 20 e3 20 63 25  20 3d 20 31 35 20 b8 20  |... . c% = 15 . |
00000320  30 20 88 20 2d 31 0d 01  90 25 20 20 c8 97 20 fb  |0 . -1...%  .. .|
00000330  20 31 2c 28 31 34 30 2f  31 35 29 2a 63 25 2c 28  | 1,(140/15)*c%,(|
00000340  38 30 2f 31 35 29 2a 63  25 2c 30 0d 01 9a 26 20  |80/15)*c%,0...& |
00000350  20 c8 97 20 fb 20 32 2c  28 31 38 30 2f 31 35 29  | .. . 2,(180/15)|
00000360  2a 63 25 2c 28 31 32 30  2f 31 35 29 2a 63 25 2c  |*c%,(120/15)*c%,|
00000370  30 0d 01 a4 30 20 20 c8  97 20 fb 20 33 2c 28 31  |0...0  .. . 3,(1|
00000380  38 30 2f 31 35 29 2a 63  25 2c 28 31 38 30 2f 31  |80/15)*c%,(180/1|
00000390  35 29 2a 63 25 2c 28 31  38 30 2f 31 35 29 2a 63  |5)*c%,(180/15)*c|
000003a0  25 0d 01 ae 08 20 20 c8  96 0d 01 b8 09 20 ed 20  |%....  ...... . |
000003b0  63 25 0d 01 c2 0e 20 f2  61 77 20 20 3a 20 c8 96  |c%.... .aw  : ..|
000003c0  0d 01 cc 0d 20 eb 20 31  33 20 3a 20 87 0d 01 d6  |.... . 13 : ....|
000003d0  0f 20 e7 20 71 75 69 74  20 8c 20 e1 0d 01 e0 14  |. . quit . .....|
000003e0  20 77 69 64 74 68 25 20  20 20 20 3d 20 20 20 38  | width%    =   8|
000003f0  0d 01 ea 14 20 68 65 69  67 68 74 25 20 20 20 3d  |.... height%   =|
00000400  20 20 20 34 0d 01 f4 14  20 21 73 63 61 6c 65 25  |   4.... !scale%|
00000410  20 20 20 3d 20 31 32 38  0d 01 fe 14 20 73 63 61  |   = 128.... sca|
00000420  6c 65 25 21 38 20 20 3d  20 31 32 38 0d 02 08 14  |le%!8  = 128....|
00000430  20 73 63 61 6c 65 25 21  31 32 20 3d 20 31 32 38  | scale%!12 = 128|
00000440  0d 02 12 13 20 de 20 68  69 25 20 77 69 64 74 68  |.... . hi% width|
00000450  25 2a 34 0d 02 1c 16 20  e3 20 69 25 20 3d 20 31  |%*4.... . i% = 1|
00000460  20 b8 20 77 69 64 74 68  25 0d 02 26 1b 20 20 68  | . width%..&.  h|
00000470  69 25 21 28 69 25 2a 34  2d 34 29 20 3d 20 2d 69  |i%!(i%*4-4) = -i|
00000480  25 2a 32 34 0d 02 30 09  20 ed 20 69 25 0d 02 3a  |%*24..0. . i%..:|
00000490  11 20 de 20 69 63 6f 64  65 25 20 35 31 32 0d 02  |. . icode% 512..|
000004a0  44 18 20 e3 20 70 61 73  73 25 20 3d 20 30 20 b8  |D. . pass% = 0 .|
000004b0  20 32 20 88 20 32 0d 02  4e 1f 20 20 50 25 20 3d  | 2 . 2..N.  P% =|
000004c0  20 69 63 6f 64 65 25 20  3a 20 5b 20 4f 50 54 20  | icode% : [ OPT |
000004d0  70 61 73 73 25 0d 02 58  04 0d 02 62 40 20 20 2e  |pass%..X...b@  .|
000004e0  73 70 73 74 72 69 6e 67  20 20 20 20 20 20 45 51  |spstring      EQ|
000004f0  55 53 20 22 74 69 74 73  6c 61 62 5f 22 3a 2e 6e  |US "titslab_":.n|
00000500  75 6d 20 45 51 55 53 20  22 20 22 2b bd 31 33 2b  |um EQUS " "+.13+|
00000510  bd 31 33 3a 41 4c 49 47  4e 0d 02 6c 20 20 20 2e  |.13:ALIGN..l   .|
00000520  73 63 61 6c 65 20 20 20  20 20 20 20 20 20 45 51  |scale         EQ|
00000530  55 44 20 73 63 61 6c 65  25 0d 02 76 1d 20 20 2e  |UD scale%..v.  .|
00000540  68 69 20 20 20 20 20 20  20 20 20 20 20 20 45 51  |hi            EQ|
00000550  55 44 20 68 69 25 0d 02  80 1e 20 20 2e 73 70 72  |UD hi%....  .spr|
00000560  20 20 20 20 20 20 20 20  20 20 20 45 51 55 44 20  |           EQUD |
00000570  73 70 72 25 0d 02 8a 20  20 20 2e 73 63 61 6c 6e  |spr%...   .scaln|
00000580  75 6d 20 20 20 20 20 20  20 45 51 55 44 20 35 32  |um       EQUD 52|
00000590  2b 32 35 36 0d 02 94 04  0d 02 9e 2c 20 20 2e 69  |+256.......,  .i|
000005a0  6e 74 72 6f 20 20 20 20  20 20 20 20 20 53 54 4d  |ntro         STM|
000005b0  46 44 20 52 31 33 21 2c  7b 52 30 2d 52 31 32 2c  |FD R13!,{R0-R12,|
000005c0  52 31 34 7d 0d 02 a8 26  20 20 20 20 20 20 20 20  |R14}...&        |
000005d0  20 20 20 20 20 20 20 20  20 4d 4f 56 20 52 31 32  |         MOV R12|
000005e0  2c 23 30 3a 2e 49 6c 6f  6f 70 0d 02 b2 30 20 20  |,#0:.Iloop...0  |
000005f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4d  |               M|
00000600  4f 56 20 52 31 31 2c 23  30 3a 2e 48 6c 6f 6f 70  |OV R11,#0:.Hloop|
00000610  3a 4c 44 52 20 52 30 2c  68 69 0d 02 bc 4f 20 20  |:LDR R0,hi...O  |
00000620  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4c  |               L|
00000630  44 52 20 52 39 2c 5b 52  30 2c 52 31 31 2c 4c 53  |DR R9,[R0,R11,LS|
00000640  4c 20 23 32 5d 3a 41 44  44 20 52 39 2c 52 39 2c  |L #2]:ADD R9,R9,|
00000650  23 34 3a 53 54 52 20 52  39 2c 5b 52 30 2c 52 31  |#4:STR R9,[R0,R1|
00000660  31 2c 4c 53 4c 20 23 32  5d 0d 02 c6 3d 20 20 20  |1,LSL #2]...=   |
00000670  20 20 20 20 20 20 20 20  20 20 20 20 20 20 43 4d  |              CM|
00000680  50 20 52 39 2c 23 30 3a  42 4c 54 20 6e 65 78 74  |P R9,#0:BLT next|
00000690  31 3a 43 4d 50 20 52 39  2c 23 36 34 3a 42 47 54  |1:CMP R9,#64:BGT|
000006a0  20 6e 65 78 74 31 0d 02  d0 28 20 20 20 20 20 20  | next1...(      |
000006b0  20 20 20 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |           MOV R|
000006c0  31 30 2c 23 30 3a 42 4c  20 73 70 6f 70 73 0d 02  |10,#0:BL spops..|
000006d0  da 52 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.R              |
000006e0  20 20 20 2e 6e 65 78 74  31 3a 53 55 42 20 52 39  |   .next1:SUB R9|
000006f0  2c 52 39 2c 23 32 34 3a  43 4d 50 20 52 39 2c 23  |,R9,#24:CMP R9,#|
00000700  30 3a 42 4c 54 20 6e 65  78 74 32 3a 43 4d 50 20  |0:BLT next2:CMP |
00000710  52 39 2c 23 36 34 3a 42  47 54 20 6e 65 78 74 32  |R9,#64:BGT next2|
00000720  0d 02 e4 28 20 20 20 20  20 20 20 20 20 20 20 20  |...(            |
00000730  20 20 20 20 20 4d 4f 56  20 52 31 30 2c 23 31 3a  |     MOV R10,#1:|
00000740  42 4c 20 73 70 6f 70 73  0d 02 ee 52 20 20 20 20  |BL spops...R    |
00000750  20 20 20 20 20 20 20 20  20 20 20 20 20 2e 6e 65  |             .ne|
00000760  78 74 32 3a 53 55 42 20  52 39 2c 52 39 2c 23 32  |xt2:SUB R9,R9,#2|
00000770  34 3a 43 4d 50 20 52 39  2c 23 30 3a 42 4c 54 20  |4:CMP R9,#0:BLT |
00000780  6e 65 78 74 33 3a 43 4d  50 20 52 39 2c 23 36 34  |next3:CMP R9,#64|
00000790  3a 42 47 54 20 6e 65 78  74 33 0d 02 f8 28 20 20  |:BGT next3...(  |
000007a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4d  |               M|
000007b0  4f 56 20 52 31 30 2c 23  32 3a 42 4c 20 73 70 6f  |OV R10,#2:BL spo|
000007c0  70 73 0d 03 02 52 20 20  20 20 20 20 20 20 20 20  |ps...R          |
000007d0  20 20 20 20 20 20 20 2e  6e 65 78 74 33 3a 53 55  |       .next3:SU|
000007e0  42 20 52 39 2c 52 39 2c  23 32 34 3a 43 4d 50 20  |B R9,R9,#24:CMP |
000007f0  52 39 2c 23 30 3a 42 4c  54 20 6e 65 78 74 34 3a  |R9,#0:BLT next4:|
00000800  43 4d 50 20 52 39 2c 23  36 34 3a 42 47 54 20 6e  |CMP R9,#64:BGT n|
00000810  65 78 74 34 0d 03 0c 28  20 20 20 20 20 20 20 20  |ext4...(        |
00000820  20 20 20 20 20 20 20 20  20 4d 4f 56 20 52 31 30  |         MOV R10|
00000830  2c 23 33 3a 42 4c 20 73  70 6f 70 73 0d 03 16 1b  |,#3:BL spops....|
00000840  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000850  20 2e 6e 65 78 74 34 0d  03 20 3d 20 20 20 20 20  | .next4.. =     |
00000860  20 20 20 20 20 20 20 20  20 20 20 20 41 44 44 20  |            ADD |
00000870  52 31 31 2c 52 31 31 2c  23 31 3a 43 4d 50 20 52  |R11,R11,#1:CMP R|
00000880  31 31 2c 23 77 69 64 74  68 25 3a 42 4c 54 20 48  |11,#width%:BLT H|
00000890  6c 6f 6f 70 0d 03 2a 3b  20 20 20 20 20 20 20 20  |loop..*;        |
000008a0  20 20 20 20 20 20 20 20  20 43 4d 50 20 52 31 32  |         CMP R12|
000008b0  2c 23 38 32 3a 41 44 44  4c 54 20 52 31 32 2c 52  |,#82:ADDLT R12,R|
000008c0  31 32 2c 23 31 3a 42 4c  54 20 49 6c 6f 6f 70 0d  |12,#1:BLT Iloop.|
000008d0  03 34 2b 20 20 20 20 20  20 20 20 20 20 20 20 20  |.4+             |
000008e0  20 20 20 20 4c 44 4d 46  44 20 52 31 33 21 2c 7b  |    LDMFD R13!,{|
000008f0  52 30 2d 52 31 32 2c 50  43 7d 0d 03 3e 32 20 20  |R0-R12,PC}..>2  |
00000900  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 2e  |               .|
00000910  73 70 6f 70 73 3a 53 54  4d 46 44 20 52 31 33 21  |spops:STMFD R13!|
00000920  2c 7b 52 30 2d 52 38 2c  52 31 34 7d 0d 03 48 36  |,{R0-R8,R14}..H6|
00000930  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000940  20 4d 4f 56 20 52 31 2c  23 68 65 69 67 68 74 25  | MOV R1,#height%|
00000950  3a 4d 4c 41 20 52 30 2c  52 31 31 2c 52 31 2c 52  |:MLA R0,R11,R1,R|
00000960  31 30 0d 03 52 43 20 20  20 20 20 20 20 20 20 20  |10..RC          |
00000970  20 20 20 20 20 20 20 41  44 52 20 52 31 2c 6e 75  |       ADR R1,nu|
00000980  6d 3a 4d 4f 56 20 52 32  2c 23 31 33 3a 53 54 52  |m:MOV R2,#13:STR|
00000990  20 52 32 2c 5b 52 31 2c  23 31 5d 3a 4d 4f 56 20  | R2,[R1,#1]:MOV |
000009a0  52 32 2c 23 32 0d 03 5c  2d 20 20 20 20 20 20 20  |R2,#2..\-       |
000009b0  20 20 20 20 20 20 20 20  20 20 53 57 49 20 22 4f  |          SWI "O|
000009c0  53 5f 42 69 6e 61 72 79  54 6f 44 65 63 69 6d 61  |S_BinaryToDecima|
000009d0  6c 22 0d 03 66 3e 20 20  20 20 20 20 20 20 20 20  |l"..f>          |
000009e0  20 20 20 20 20 20 20 4c  44 52 20 52 30 2c 73 63  |       LDR R0,sc|
000009f0  61 6c 6e 75 6d 3a 4c 44  52 20 52 31 2c 73 70 72  |alnum:LDR R1,spr|
00000a00  3a 41 44 52 20 52 32 2c  73 70 73 74 72 69 6e 67  |:ADR R2,spstring|
00000a10  0d 03 70 35 20 20 20 20  20 20 20 20 20 20 20 20  |..p5            |
00000a20  20 20 20 20 20 4d 4f 56  20 52 33 2c 23 31 32 38  |     MOV R3,#128|
00000a30  3a 41 44 44 20 52 33 2c  52 33 2c 52 31 31 2c 4c  |:ADD R3,R3,R11,L|
00000a40  53 4c 20 23 37 0d 03 7a  42 20 20 20 20 20 20 20  |SL #7..zB       |
00000a50  20 20 20 20 20 20 20 20  20 20 4d 4f 56 20 52 34  |          MOV R4|
00000a60  2c 23 34 30 30 3a 53 55  42 20 52 34 2c 52 34 2c  |,#400:SUB R4,R4,|
00000a70  52 39 3a 41 44 44 20 52  34 2c 52 34 2c 52 31 30  |R9:ADD R4,R4,R10|
00000a80  2c 4c 53 4c 20 23 37 0d  03 84 41 20 20 20 20 20  |,LSL #7...A     |
00000a90  20 20 20 20 20 20 20 20  20 20 20 20 4c 44 52 20  |            LDR |
00000aa0  52 35 2c 73 63 61 6c 65  3a 4d 4f 56 20 52 36 2c  |R5,scale:MOV R6,|
00000ab0  52 39 2c 4c 53 4c 20 23  31 3a 53 54 52 20 52 36  |R9,LSL #1:STR R6|
00000ac0  2c 5b 52 35 2c 23 34 5d  0d 03 8e 47 20 20 20 20  |,[R5,#4]...G    |
00000ad0  20 20 20 20 20 20 20 20  20 20 20 20 20 4d 4f 56  |             MOV|
00000ae0  20 52 35 2c 23 30 3a 4c  44 52 20 52 36 2c 73 63  | R5,#0:LDR R6,sc|
00000af0  61 6c 65 3a 4d 56 4e 20  52 37 2c 23 31 3a 53 57  |ale:MVN R7,#1:SW|
00000b00  49 20 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 0d  |I "OS_SpriteOp".|
00000b10  03 98 2a 20 20 20 20 20  20 20 20 20 20 20 20 20  |..*             |
00000b20  20 20 20 20 4c 44 4d 46  44 20 52 31 33 21 2c 7b  |    LDMFD R13!,{|
00000b30  52 30 2d 52 38 2c 50 43  7d 0d 03 a2 04 0d 03 ac  |R0-R8,PC}.......|
00000b40  11 20 20 5d 20 3a 20 ed  20 70 61 73 73 25 0d 03  |.  ] : . pass%..|
00000b50  b6 21 20 f2 63 6c 65 61  72 63 6f 64 65 20 3a 20  |.! .clearcode : |
00000b60  ff 20 22 46 58 31 31 32  2c 32 22 20 3a 20 db 0d  |. "FX112,2" : ..|
00000b70  03 c0 31 20 c8 99 20 26  32 45 2c 33 34 2b 32 35  |..1 .. &2E,34+25|
00000b80  36 2c 73 70 72 25 2c 22  70 72 65 73 65 6e 74 73  |6,spr%,"presents|
00000b90  22 2c 28 33 32 30 2d 36  32 29 2a 32 2c 35 31 32  |",(320-62)*2,512|
00000ba0  0d 03 ca 29 20 d6 20 63  6c 65 61 72 20 3a 20 69  |...) . clear : i|
00000bb0  25 20 3d 20 a6 28 31 30  30 29 20 3a 20 e7 20 69  |% = .(100) : . i|
00000bc0  25 20 3e 20 30 20 8c 20  e1 0d 03 d4 29 20 d6 20  |% > 0 . ....) . |
00000bd0  63 6c 65 61 72 20 3a 20  69 25 20 3d 20 a6 28 20  |clear : i% = .( |
00000be0  35 30 29 20 3a 20 e7 20  69 25 20 3e 20 30 20 8c  |50) : . i% > 0 .|
00000bf0  20 e1 0d 03 de 27 20 ff  20 22 46 58 31 31 32 2c  | ....' . "FX112,|
00000c00  31 22 3a c8 91 20 30 2c  33 32 3a d6 20 69 6e 74  |1":.. 0,32:. int|
00000c10  72 6f 3a c8 91 20 30 2c  30 0d 03 e8 1c 20 d6 20  |ro:.. 0,0.... . |
00000c20  63 6f 70 79 73 63 72 65  65 6e 3a ff 22 46 58 31  |copyscreen:."FX1|
00000c30  31 32 2c 32 22 0d 03 f2  33 20 c8 99 20 26 32 45  |12,2"...3 .. &2E|
00000c40  2c 33 34 2b 32 35 36 2c  73 70 72 25 2c 22 63 6f  |,34+256,spr%,"co|
00000c50  70 79 72 69 67 68 74 22  2c 28 33 32 30 2d 33 30  |pyright",(320-30|
00000c60  32 29 2a 32 2c 32 37 32  0d 03 fc 18 20 d6 20 63  |2)*2,272.... . c|
00000c70  6c 65 61 72 3a ff 20 22  46 58 31 31 32 2c 31 22  |lear:. "FX112,1"|
00000c80  0d 04 06 1c 20 c8 97 20  b8 20 36 34 30 2c 31 36  |.... .. . 640,16|
00000c90  38 3a 69 25 20 3d 20 a6  28 35 30 29 0d 04 10 05  |8:i% = .(50)....|
00000ca0  e1 0d 04 1a 04 0d 04 24  04 0d 04 2e 09 dd 20 f2  |.......$...... .|
00000cb0  61 77 0d 04 38 16 20 ea  20 63 6f 64 65 25 2c 70  |aw..8. . code%,p|
00000cc0  61 73 73 25 2c 73 70 72  0d 04 42 10 20 eb 20 39  |ass%,spr..B. . 9|
00000cd0  2b 31 32 38 20 3a 20 87  0d 04 4c 16 20 fb 20 20  |+128 : ...L. .  |
00000ce0  31 2c 20 20 20 30 2c 20  20 30 2c 20 20 30 0d 04  |1,   0,  0,  0..|
00000cf0  56 2a 20 fb 20 20 32 2c  20 32 35 35 2c 32 35 35  |V* .  2, 255,255|
00000d00  2c 32 35 35 20 3a 20 fb  20 20 33 2c 20 20 20 30  |,255 : .  3,   0|
00000d10  2c 20 20 30 2c 20 20 30  0d 04 60 2a 20 fb 20 20  |,  0,  0..`* .  |
00000d20  34 2c 20 20 20 30 2c 20  20 30 2c 31 35 30 20 3a  |4,   0,  0,150 :|
00000d30  20 fb 20 20 35 2c 20 20  31 35 2c 20 31 35 2c 31  | .  5,  15, 15,1|
00000d40  36 35 0d 04 6a 2a 20 fb  20 20 36 2c 20 20 33 30  |65..j* .  6,  30|
00000d50  2c 20 33 30 2c 31 38 30  20 3a 20 fb 20 20 37 2c  |, 30,180 : .  7,|
00000d60  20 20 34 35 2c 20 34 35  2c 31 39 35 0d 04 74 2a  |  45, 45,195..t*|
00000d70  20 fb 20 20 38 2c 20 31  30 35 2c 31 30 35 2c 32  | .  8, 105,105,2|
00000d80  35 35 20 3a 20 fb 20 20  39 2c 20 20 39 30 2c 20  |55 : .  9,  90, |
00000d90  39 30 2c 32 34 30 0d 04  7e 2a 20 fb 20 31 30 2c  |90,240..~* . 10,|
00000da0  20 20 37 35 2c 20 37 35  2c 32 32 35 20 3a 20 fb  |  75, 75,225 : .|
00000db0  20 31 31 2c 20 20 36 30  2c 20 36 30 2c 32 31 30  | 11,  60, 60,210|
00000dc0  0d 04 88 2a 20 fb 20 31  32 2c 20 20 34 35 2c 20  |...* . 12,  45, |
00000dd0  34 35 2c 31 39 35 20 3a  20 fb 20 31 33 2c 20 20  |45,195 : . 13,  |
00000de0  33 30 2c 20 33 30 2c 31  38 30 0d 04 92 2a 20 fb  |30, 30,180...* .|
00000df0  20 31 34 2c 20 20 31 35  2c 20 31 35 2c 31 36 35  | 14,  15, 15,165|
00000e00  20 3a 20 fb 20 31 35 2c  20 20 20 30 2c 20 20 30  | : . 15,   0,  0|
00000e10  2c 31 35 30 0d 04 9c 04  0d 04 a6 18 20 73 63 72  |,150........ scr|
00000e20  25 20 3d 20 31 20 3a 20  73 74 65 70 20 3d 20 34  |% = 1 : step = 4|
00000e30  0d 04 b0 27 20 c8 99 20  36 2c 31 31 32 2c 32 20  |...' .. 6,112,2 |
00000e40  3a 20 c8 99 20 36 2c 31  31 33 2c 31 20 3a 20 62  |: .. 6,113,1 : b|
00000e50  61 6e 6b 20 3d 20 31 0d  04 ba 08 20 e6 20 30 0d  |ank = 1.... . 0.|
00000e60  04 c4 04 0d 04 ce 1c 20  e3 20 78 25 20 3d 20 31  |....... . x% = 1|
00000e70  30 35 36 20 b8 20 30 20  88 20 2d 73 74 65 70 0d  |056 . 0 . -step.|
00000e80  04 d8 1f 20 20 e7 20 a6  28 30 29 20 3e 20 30 20  |...  . .(0) > 0 |
00000e90  8c 20 71 75 69 74 20 3d  20 b9 20 3a 20 e1 0d 04  |. quit = . : ...|
00000ea0  e2 0b 20 20 d1 20 3d 20  30 0d 04 ec 2c 20 20 c8  |..  . = 0...,  .|
00000eb0  99 20 26 32 45 2c 33 34  2b 32 35 36 2c 73 70 72  |. &2E,34+256,spr|
00000ec0  25 2c 22 62 61 6c 6c 22  2c 32 31 36 2d 78 25 2f  |%,"ball",216-x%/|
00000ed0  32 2c 35 31 32 0d 04 f6  33 20 20 c8 99 20 26 32  |2,512...3  .. &2|
00000ee0  45 2c 33 34 2b 32 35 36  2c 73 70 72 25 2c 22 6f  |E,34+256,spr%,"o|
00000ef0  75 74 61 72 63 22 2c 32  32 34 2b 73 74 65 70 2d  |utarc",224+step-|
00000f00  78 25 2c 36 30 34 2c 38  0d 05 00 33 20 20 c8 99  |x%,604,8...3  ..|
00000f10  20 26 32 45 2c 33 34 2b  32 35 36 2c 73 70 72 25  | &2E,34+256,spr%|
00000f20  2c 22 6f 75 74 61 72 63  22 2c 32 32 34 2d 73 74  |,"outarc",224-st|
00000f30  65 70 2b 78 25 2c 36 30  34 2c 38 0d 05 0a 16 20  |ep+x%,604,8.... |
00000f40  20 f2 65 64 75 72 65 5f  53 77 61 70 42 61 6e 6b  | .edure_SwapBank|
00000f50  73 0d 05 14 0f 20 20 f5  20 fd 20 91 20 3e 20 33  |s....  . . . > 3|
00000f60  0d 05 1e 09 20 ed 20 78  25 0d 05 28 12 20 73 63  |.... . x%..(. sc|
00000f70  72 25 20 3d 20 33 2d 73  63 72 25 0d 05 32 15 20  |r% = 3-scr%..2. |
00000f80  ff 20 22 46 58 31 31 32  2c 22 2b c3 73 63 72 25  |. "FX112,"+.scr%|
00000f90  0d 05 3c 04 0d 05 46 26  20 c8 99 26 32 45 2c 33  |..<...F& ..&2E,3|
00000fa0  34 2b 32 35 36 2c 73 70  72 25 2c 22 77 6f 72 6c  |4+256,spr%,"worl|
00000fb0  64 22 2c 34 37 32 2c 35  36 38 0d 05 50 37 20 c8  |d",472,568..P7 .|
00000fc0  99 26 32 45 2c 33 34 2b  32 35 36 2c 73 70 72 25  |.&2E,34+256,spr%|
00000fd0  2c 22 73 6f 6c 69 64 61  72 63 22 2c 32 32 34 2c  |,"solidarc",224,|
00000fe0  35 31 32 2b 39 32 2c 38  3a 49 25 3d a6 28 35 30  |512+92,8:I%=.(50|
00000ff0  29 0d 05 5a 04 0d 05 64  18 20 e3 20 63 25 20 3d  |)..Z...d. . c% =|
00001000  20 30 20 b8 20 32 35 35  20 88 20 31 35 0d 05 6e  | 0 . 255 . 15..n|
00001010  12 20 20 fb 20 31 2c 63  25 2c 63 25 2c 63 25 0d  |.  . 1,c%,c%,c%.|
00001020  05 78 18 20 20 fb 20 32  2c 32 35 35 2c 32 35 35  |.x.  . 2,255,255|
00001030  2c 32 35 35 2d 63 25 0d  05 82 10 20 20 fb 20 33  |,255-c%....  . 3|
00001040  2c 63 25 2c 30 2c 30 0d  05 8c 1f 20 20 fb 20 34  |,c%,0,0....  . 4|
00001050  2c 63 25 2c 30 2c 31 35  30 2d 28 31 35 30 2f 32  |,c%,0,150-(150/2|
00001060  35 35 29 2a 63 25 0d 05  96 3e 20 20 fb 20 35 2c  |55)*c%...>  . 5,|
00001070  31 35 2b 28 28 32 35 35  2d 31 35 29 2f 32 35 35  |15+((255-15)/255|
00001080  29 2a 63 25 2c 31 35 2d  28 31 35 2f 32 35 35 29  |)*c%,15-(15/255)|
00001090  2a 63 25 2c 31 36 35 2d  28 31 36 35 2f 32 35 35  |*c%,165-(165/255|
000010a0  29 2a 63 25 0d 05 a0 3e  20 20 fb 20 36 2c 33 30  |)*c%...>  . 6,30|
000010b0  2b 28 28 32 35 35 2d 33  30 29 2f 32 35 35 29 2a  |+((255-30)/255)*|
000010c0  63 25 2c 33 30 2d 28 33  30 2f 32 35 35 29 2a 63  |c%,30-(30/255)*c|
000010d0  25 2c 31 38 30 2d 28 31  38 30 2f 32 35 35 29 2a  |%,180-(180/255)*|
000010e0  63 25 0d 05 aa 3e 20 20  fb 20 37 2c 34 35 2b 28  |c%...>  . 7,45+(|
000010f0  28 32 35 35 2d 34 35 29  2f 32 35 35 29 2a 63 25  |(255-45)/255)*c%|
00001100  2c 34 35 2d 28 34 35 2f  32 35 35 29 2a 63 25 2c  |,45-(45/255)*c%,|
00001110  31 39 35 2d 28 31 39 35  2f 32 35 35 29 2a 63 25  |195-(195/255)*c%|
00001120  0d 05 b4 0b 20 20 c8 96  3a c8 96 0d 05 be 09 20  |....  ..:...... |
00001130  ed 20 63 25 0d 05 c8 04  0d 05 d2 10 20 69 24 20  |. c%........ i$ |
00001140  3d 20 bf 28 32 30 30 29  0d 05 dc 04 0d 05 e6 19  |= .(200)........|
00001150  20 e3 20 63 25 20 3d 20  32 35 35 20 b8 20 30 20  | . c% = 255 . 0 |
00001160  88 20 2d 31 35 0d 05 f0  12 20 20 fb 20 31 2c 63  |. -15....  . 1,c|
00001170  25 2c 63 25 2c 63 25 0d  05 fa 12 20 20 fb 20 32  |%,c%,c%....  . 2|
00001180  2c 63 25 2c 63 25 2c 20  30 0d 06 04 12 20 20 e3  |,c%,c%, 0....  .|
00001190  20 61 25 20 3d 20 33 20  b8 20 37 0d 06 0e 12 20  | a% = 3 . 7.... |
000011a0  20 20 fb 20 61 25 2c 63  25 2c 30 2c 30 0d 06 18  |  . a%,c%,0,0...|
000011b0  0a 20 20 ed 20 61 25 0d  06 22 04 0d 06 2c 13 20  |.  . a%.."...,. |
000011c0  20 e3 20 61 25 20 3d 20  38 20 b8 20 31 35 0d 06  | . a% = 8 . 15..|
000011d0  36 08 20 20 20 f7 0d 06  40 11 20 20 20 f3 20 72  |6.   ...@.   . r|
000011e0  25 2c 67 25 2c 62 25 0d  06 4a 2f 20 20 20 fb 20  |%,g%,b%..J/   . |
000011f0  61 25 2c 28 72 25 2f 32  35 35 29 2a 63 25 2c 28  |a%,(r%/255)*c%,(|
00001200  67 25 2f 32 35 35 29 2a  63 25 2c 28 62 25 2f 32  |g%/255)*c%,(b%/2|
00001210  35 35 29 2a 63 25 0d 06  54 0a 20 20 ed 20 61 25  |55)*c%..T.  . a%|
00001220  0d 06 5e 0b 20 20 c8 96  3a c8 96 0d 06 68 09 20  |..^.  ..:....h. |
00001230  ed 20 63 25 0d 06 72 04  0d 06 7c 05 e1 0d 06 86  |. c%..r...|.....|
00001240  04 0d 06 90 04 0d 06 9a  24 dc 20 31 30 35 2c 31  |........$. 105,1|
00001250  30 35 2c 32 35 35 20 3a  20 44 41 54 41 20 20 39  |05,255 : DATA  9|
00001260  30 2c 20 39 30 2c 32 34  30 0d 06 a4 24 dc 20 20  |0, 90,240...$.  |
00001270  37 35 2c 20 37 35 2c 32  32 35 20 3a 20 44 41 54  |75, 75,225 : DAT|
00001280  41 20 20 36 30 2c 20 36  30 2c 32 31 30 0d 06 ae  |A  60, 60,210...|
00001290  24 dc 20 20 34 35 2c 20  34 35 2c 31 39 35 20 3a  |$.  45, 45,195 :|
000012a0  20 44 41 54 41 20 20 33  30 2c 20 33 30 2c 31 38  | DATA  30, 30,18|
000012b0  30 0d 06 b8 24 dc 20 20  31 35 2c 20 31 35 2c 31  |0...$.  15, 15,1|
000012c0  36 35 20 3a 20 44 41 54  41 20 20 20 30 2c 20 20  |65 : DATA   0,  |
000012d0  30 2c 31 35 30 0d 06 c2  04 0d 06 cc 04 0d 06 d6  |0,150...........|
000012e0  10 dd 20 f2 63 6c 65 61  72 63 6f 64 65 0d 06 e0  |.. .clearcode...|
000012f0  18 20 ea 20 63 6f 64 65  25 2c 70 61 73 73 25 2c  |. . code%,pass%,|
00001300  74 69 6d 65 25 0d 06 ea  0f 20 74 69 6d 65 25 20  |time%.... time% |
00001310  3d 20 33 32 0d 06 f4 16  20 de 20 63 6f 64 65 25  |= 32.... . code%|
00001320  20 35 31 32 2b 38 30 2a  36 34 0d 06 fe 18 20 e3  | 512+80*64.... .|
00001330  20 70 61 73 73 25 20 3d  20 30 20 b8 20 32 20 88  | pass% = 0 . 2 .|
00001340  20 32 0d 07 08 1e 20 20  50 25 20 3d 20 63 6f 64  | 2....  P% = cod|
00001350  65 25 20 3a 20 5b 20 4f  50 54 20 70 61 73 73 25  |e% : [ OPT pass%|
00001360  0d 07 12 04 0d 07 1c 04  0d 07 26 24 20 20 20 2e  |..........&$   .|
00001370  73 63 72 31 20 20 20 20  20 20 20 20 20 20 45 51  |scr1          EQ|
00001380  55 44 20 20 26 31 46 44  38 30 30 30 0d 07 30 24  |UD  &1FD8000..0$|
00001390  20 20 20 2e 73 63 72 32  20 20 20 20 20 20 20 20  |   .scr2        |
000013a0  20 20 45 51 55 44 20 20  26 31 46 45 43 30 30 30  |  EQUD  &1FEC000|
000013b0  0d 07 3a 04 0d 07 44 04  0d 07 4e 2f 20 20 20 2e  |..:...D...N/   .|
000013c0  63 6c 65 61 72 20 20 20  20 20 20 20 20 20 53 54  |clear         ST|
000013d0  4d 46 44 20 52 31 33 21  20 2c 20 7b 52 30 2d 52  |MFD R13! , {R0-R|
000013e0  31 32 2c 52 31 34 7d 0d  07 58 27 20 20 20 20 20  |12,R14}..X'     |
000013f0  20 20 20 20 20 20 20 20  20 20 20 20 20 4d 4f 56  |             MOV|
00001400  20 20 20 52 31 32 20 20  2c 20 23 33 32 30 0d 07  |   R12  , #320..|
00001410  62 27 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |b'              |
00001420  20 20 20 20 4c 44 52 20  20 20 52 30 20 20 20 2c  |    LDR   R0   ,|
00001430  20 73 63 72 31 0d 07 6c  27 20 20 20 20 20 20 20  | scr1..l'       |
00001440  20 20 20 20 20 20 20 20  20 20 20 4c 44 52 20 20  |           LDR  |
00001450  20 52 31 20 20 20 2c 20  73 63 72 32 0d 07 76 2b  | R1   , scr2..v+|
00001460  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001470  20 20 41 44 52 20 20 20  52 32 20 20 20 2c 20 64  |  ADR   R2   , d|
00001480  69 73 70 61 63 65 25 0d  07 80 29 20 20 20 20 20  |ispace%...)     |
00001490  20 20 20 20 20 20 20 20  20 20 20 20 20 4d 4f 56  |             MOV|
000014a0  20 20 20 52 33 20 20 20  2c 20 23 74 69 6d 65 25  |   R3   , #time%|
000014b0  0d 07 8a 26 20 20 20 2e  6c 6f 6f 70 31 20 20 20  |...&   .loop1   |
000014c0  20 20 20 20 20 20 4d 4f  56 20 20 20 52 34 20 20  |      MOV   R4  |
000014d0  20 2c 20 23 37 39 0d 07  94 26 20 20 20 2e 6c 6f  | , #79...&   .lo|
000014e0  6f 70 32 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |op2         MOV |
000014f0  20 20 52 35 20 20 20 2c  20 23 36 33 0d 07 9e 35  |  R5   , #63...5|
00001500  20 20 20 2e 6c 6f 6f 70  33 20 20 20 20 20 20 20  |   .loop3       |
00001510  20 20 41 44 44 20 20 20  52 36 20 20 20 2c 20 52  |  ADD   R6   , R|
00001520  34 20 20 2c 20 52 35 20  20 2c 20 4c 53 4c 20 23  |4  , R5  , LSL #|
00001530  36 0d 07 a8 2c 20 20 20  20 20 20 20 20 20 20 20  |6...,           |
00001540  20 20 20 20 20 20 20 4c  44 52 42 20 20 52 36 20  |       LDRB  R6 |
00001550  20 20 2c 20 5b 52 32 20  2c 20 52 36 5d 0d 07 b2  |  , [R2 , R6]...|
00001560  25 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |%               |
00001570  20 20 20 43 4d 50 20 20  20 52 36 20 20 20 2c 20  |   CMP   R6   , |
00001580  52 33 0d 07 bc 20 20 20  20 20 20 20 20 20 20 20  |R3...           |
00001590  20 20 20 20 20 20 20 20  42 4e 45 20 20 20 6e 65  |        BNE   ne|
000015a0  78 74 0d 07 c6 31 20 20  20 20 20 20 20 20 20 20  |xt...1          |
000015b0  20 20 20 20 20 20 20 20  4d 4c 41 20 20 20 52 37  |        MLA   R7|
000015c0  20 20 20 2c 20 52 35 20  20 2c 20 52 31 32 20 2c  |   , R5  , R12 ,|
000015d0  20 52 34 0d 07 d0 2b 20  20 20 20 20 20 20 20 20  | R4...+         |
000015e0  20 20 20 20 20 20 20 20  20 41 44 44 20 20 20 52  |         ADD   R|
000015f0  38 20 20 20 2c 20 52 37  20 20 2c 20 52 30 0d 07  |8   , R7  , R0..|
00001600  da 2b 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.+              |
00001610  20 20 20 20 41 44 44 20  20 20 52 39 20 20 20 2c  |    ADD   R9   ,|
00001620  20 52 37 20 20 2c 20 52  31 0d 07 e4 2a 20 20 20  | R7  , R1...*   |
00001630  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 53  |               S|
00001640  54 4d 46 44 20 52 31 33  21 20 2c 20 7b 52 30 2d  |TMFD R13! , {R0-|
00001650  52 34 7d 0d 07 ee 2a 20  20 20 20 20 20 20 20 20  |R4}...*         |
00001660  20 20 20 20 20 20 20 20  20 41 44 52 20 20 20 52  |         ADR   R|
00001670  34 20 20 20 2c 20 6f 66  66 73 65 74 73 0d 07 f8  |4   , offsets...|
00001680  04 0d 08 02 07 20 20 5d  0d 08 0c 20 20 20 e3 20  |.....  ]...   . |
00001690  69 25 20 3d 20 31 20 b8  20 34 20 3a 20 5b 20 4f  |i% = 1 . 4 : [ O|
000016a0  50 54 20 70 61 73 73 25  0d 08 16 18 20 20 20 4c  |PT pass%....   L|
000016b0  44 4d 49 41 20 52 34 21  2c 7b 52 30 2d 52 33 7d  |DMIA R4!,{R0-R3}|
000016c0  0d 08 20 4a 20 20 20 4c  44 52 42 20 52 31 30 2c  |.. J   LDRB R10,|
000016d0  5b 52 39 2c 52 30 5d 3a  4c 44 52 42 20 52 31 31  |[R9,R0]:LDRB R11|
000016e0  2c 5b 52 38 2c 52 30 5d  3a 53 54 52 42 20 52 31  |,[R8,R0]:STRB R1|
000016f0  30 2c 5b 52 38 2c 52 30  5d 3a 53 54 52 42 20 52  |0,[R8,R0]:STRB R|
00001700  31 31 2c 5b 52 39 2c 52  30 5d 0d 08 2a 4a 20 20  |11,[R9,R0]..*J  |
00001710  20 4c 44 52 42 20 52 31  30 2c 5b 52 39 2c 52 31  | LDRB R10,[R9,R1|
00001720  5d 3a 4c 44 52 42 20 52  31 31 2c 5b 52 38 2c 52  |]:LDRB R11,[R8,R|
00001730  31 5d 3a 53 54 52 42 20  52 31 30 2c 5b 52 38 2c  |1]:STRB R10,[R8,|
00001740  52 31 5d 3a 53 54 52 42  20 52 31 31 2c 5b 52 39  |R1]:STRB R11,[R9|
00001750  2c 52 31 5d 0d 08 34 4a  20 20 20 4c 44 52 42 20  |,R1]..4J   LDRB |
00001760  52 31 30 2c 5b 52 39 2c  52 32 5d 3a 4c 44 52 42  |R10,[R9,R2]:LDRB|
00001770  20 52 31 31 2c 5b 52 38  2c 52 32 5d 3a 53 54 52  | R11,[R8,R2]:STR|
00001780  42 20 52 31 30 2c 5b 52  38 2c 52 32 5d 3a 53 54  |B R10,[R8,R2]:ST|
00001790  52 42 20 52 31 31 2c 5b  52 39 2c 52 32 5d 0d 08  |RB R11,[R9,R2]..|
000017a0  3e 4a 20 20 20 4c 44 52  42 20 52 31 30 2c 5b 52  |>J   LDRB R10,[R|
000017b0  39 2c 52 33 5d 3a 4c 44  52 42 20 52 31 31 2c 5b  |9,R3]:LDRB R11,[|
000017c0  52 38 2c 52 33 5d 3a 53  54 52 42 20 52 31 30 2c  |R8,R3]:STRB R10,|
000017d0  5b 52 38 2c 52 33 5d 3a  53 54 52 42 20 52 31 31  |[R8,R3]:STRB R11|
000017e0  2c 5b 52 39 2c 52 33 5d  0d 08 48 0e 20 20 5d 20  |,[R9,R3]..H.  ] |
000017f0  3a 20 ed 20 69 25 0d 08  52 04 0d 08 5c 11 20 20  |: . i%..R...\.  |
00001800  5b 20 4f 50 54 20 70 61  73 73 25 0d 08 66 19 20  |[ OPT pass%..f. |
00001810  20 20 4c 44 4d 46 44 20  52 31 33 21 2c 7b 52 30  |  LDMFD R13!,{R0|
00001820  2d 52 34 7d 0d 08 70 04  0d 08 7a 2b 20 20 20 2e  |-R4}..p...z+   .|
00001830  6e 65 78 74 20 20 20 20  20 20 20 20 20 20 53 55  |next          SU|
00001840  42 53 20 20 52 35 20 20  20 2c 20 52 35 20 20 2c  |BS  R5   , R5  ,|
00001850  20 23 31 0d 08 84 21 20  20 20 20 20 20 20 20 20  | #1...!         |
00001860  20 20 20 20 20 20 20 20  20 42 50 4c 20 20 20 6c  |         BPL   l|
00001870  6f 6f 70 33 0d 08 8e 2b  20 20 20 20 20 20 20 20  |oop3...+        |
00001880  20 20 20 20 20 20 20 20  20 20 53 55 42 53 20 20  |          SUBS  |
00001890  52 34 20 20 20 2c 20 52  34 20 20 2c 20 23 31 0d  |R4   , R4  , #1.|
000018a0  08 98 21 20 20 20 20 20  20 20 20 20 20 20 20 20  |..!             |
000018b0  20 20 20 20 20 42 50 4c  20 20 20 6c 6f 6f 70 32  |     BPL   loop2|
000018c0  0d 08 a2 2b 20 20 20 20  20 20 20 20 20 20 20 20  |...+            |
000018d0  20 20 20 20 20 20 53 55  42 53 20 20 52 33 20 20  |      SUBS  R3  |
000018e0  20 2c 20 52 33 20 20 2c  20 23 31 0d 08 ac 21 20  | , R3  , #1...! |
000018f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001900  20 42 4e 45 20 20 20 6c  6f 6f 70 31 0d 08 b6 2e  | BNE   loop1....|
00001910  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001920  20 20 4c 44 4d 46 44 20  52 31 33 21 20 2c 20 7b  |  LDMFD R13! , {|
00001930  52 30 2d 52 31 32 2c 50  43 7d 0d 08 c0 04 0d 08  |R0-R12,PC}......|
00001940  ca 55 20 20 20 2e 6f 66  66 73 65 74 73 20 20 20  |.U   .offsets   |
00001950  20 20 20 20 45 51 55 44  20 20 33 32 30 2a 20 20  |    EQUD  320*  |
00001960  30 3a 45 51 55 44 20 33  32 30 2a 20 20 30 2b 38  |0:EQUD 320*  0+8|
00001970  30 3a 45 51 55 44 20 33  32 30 2a 20 20 30 2b 31  |0:EQUD 320*  0+1|
00001980  36 30 3a 45 51 55 44 20  33 32 30 2a 20 20 30 2b  |60:EQUD 320*  0+|
00001990  32 34 30 0d 08 d4 55 20  20 20 20 20 20 20 20 20  |240...U         |
000019a0  20 20 20 20 20 20 20 20  20 45 51 55 44 20 20 33  |         EQUD  3|
000019b0  32 30 2a 20 36 34 3a 45  51 55 44 20 33 32 30 2a  |20* 64:EQUD 320*|
000019c0  20 36 34 2b 38 30 3a 45  51 55 44 20 33 32 30 2a  | 64+80:EQUD 320*|
000019d0  20 36 34 2b 31 36 30 3a  45 51 55 44 20 33 32 30  | 64+160:EQUD 320|
000019e0  2a 20 36 34 2b 32 34 30  0d 08 de 55 20 20 20 20  |* 64+240...U    |
000019f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 45 51  |              EQ|
00001a00  55 44 20 20 33 32 30 2a  31 32 38 3a 45 51 55 44  |UD  320*128:EQUD|
00001a10  20 33 32 30 2a 31 32 38  2b 38 30 3a 45 51 55 44  | 320*128+80:EQUD|
00001a20  20 33 32 30 2a 31 32 38  2b 31 36 30 3a 45 51 55  | 320*128+160:EQU|
00001a30  44 20 33 32 30 2a 31 32  38 2b 32 34 30 0d 08 e8  |D 320*128+240...|
00001a40  55 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |U               |
00001a50  20 20 20 45 51 55 44 20  20 33 32 30 2a 31 39 32  |   EQUD  320*192|
00001a60  3a 45 51 55 44 20 33 32  30 2a 31 39 32 2b 38 30  |:EQUD 320*192+80|
00001a70  3a 45 51 55 44 20 33 32  30 2a 31 39 32 2b 31 36  |:EQUD 320*192+16|
00001a80  30 3a 45 51 55 44 20 33  32 30 2a 31 39 32 2b 32  |0:EQUD 320*192+2|
00001a90  34 30 0d 08 f2 04 0d 08  fc 2f 20 20 20 2e 63 6f  |40......./   .co|
00001aa0  70 79 73 63 72 65 65 6e  20 20 20 20 53 54 4d 46  |pyscreen    STMF|
00001ab0  44 20 52 31 33 21 20 2c  20 7b 52 30 2d 52 31 30  |D R13! , {R0-R10|
00001ac0  2c 52 31 34 7d 0d 09 06  27 20 20 20 20 20 20 20  |,R14}...'       |
00001ad0  20 20 20 20 20 20 20 20  20 20 20 4c 44 52 20 20  |           LDR  |
00001ae0  20 52 30 20 20 20 2c 20  73 63 72 31 0d 09 10 27  | R0   , scr1...'|
00001af0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001b00  20 20 4c 44 52 20 20 20  52 31 20 20 20 2c 20 73  |  LDR   R1   , s|
00001b10  63 72 32 0d 09 1a 2a 20  20 20 20 20 20 20 20 20  |cr2...*         |
00001b20  20 20 20 20 20 20 20 20  20 4d 4f 56 20 20 20 52  |         MOV   R|
00001b30  32 20 20 20 2c 20 23 26  31 34 30 30 30 0d 09 24  |2   , #&14000..$|
00001b40  2b 20 20 20 2e 6c 6f 6f  70 20 20 20 20 20 20 20  |+   .loop       |
00001b50  20 20 20 4c 44 4d 49 41  20 52 30 21 20 20 2c 20  |   LDMIA R0!  , |
00001b60  7b 52 33 2d 52 31 30 7d  0d 09 2e 2b 20 20 20 20  |{R3-R10}...+    |
00001b70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 53 54  |              ST|
00001b80  4d 49 41 20 52 31 21 20  20 2c 20 7b 52 33 2d 52  |MIA R1!  , {R3-R|
00001b90  31 30 7d 0d 09 38 2c 20  20 20 20 20 20 20 20 20  |10}..8,         |
00001ba0  20 20 20 20 20 20 20 20  20 53 55 42 53 20 20 52  |         SUBS  R|
00001bb0  32 20 20 20 2c 20 52 32  20 20 2c 20 23 33 32 0d  |2   , R2  , #32.|
00001bc0  09 42 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.B              |
00001bd0  20 20 20 20 20 42 4e 45  20 20 20 6c 6f 6f 70 0d  |     BNE   loop.|
00001be0  09 4c 2e 20 20 20 20 20  20 20 20 20 20 20 20 20  |.L.             |
00001bf0  20 20 20 20 20 4c 44 4d  46 44 20 52 31 33 21 20  |     LDMFD R13! |
00001c00  2c 20 7b 52 30 2d 52 31  30 2c 50 43 7d 0d 09 56  |, {R0-R10,PC}..V|
00001c10  04 0d 09 60 10 20 20 20  2e 64 69 73 70 61 63 65  |...`.   .dispace|
00001c20  25 0d 09 6a 04 0d 09 74  11 20 20 5d 20 3a 20 ed  |%..j...t.  ] : .|
00001c30  20 70 61 73 73 25 0d 09  7e 04 0d 09 88 15 20 e3  | pass%..~..... .|
00001c40  20 69 25 20 3d 20 31 20  b8 20 36 34 2a 38 30 0d  | i% = 1 . 64*80.|
00001c50  09 92 1c 20 20 69 25 3f  64 69 73 70 61 63 65 25  |...  i%?dispace%|
00001c60  20 3d 20 b3 28 74 69 6d  65 25 29 0d 09 9c 09 20  | = .(time%).... |
00001c70  ed 20 69 25 0d 09 a6 04  0d 09 b0 13 20 eb 20 31  |. i%........ . 1|
00001c80  33 20 2b 20 31 32 38 20  3a 20 87 0d 09 ba 0d 20  |3 + 128 : ..... |
00001c90  de 20 6b 65 76 20 31 36  0d 09 c4 1d 20 21 6b 65  |. kev 16.... !ke|
00001ca0  76 20 3d 20 31 34 39 20  20 3a 20 6b 65 76 21 34  |v = 149  : kev!4|
00001cb0  20 3d 20 2d 31 0d 09 ce  3f 20 c8 99 20 36 2c 31  | = -1...? .. 6,1|
00001cc0  31 32 2c 31 20 3a 20 c8  99 20 36 2c 31 31 33 2c  |12,1 : .. 6,113,|
00001cd0  31 20 3a 20 c8 99 20 26  33 31 2c 6b 65 76 2c 6b  |1 : .. &31,kev,k|
00001ce0  65 76 2b 38 20 3a 20 21  73 63 72 31 20 3d 20 6b  |ev+8 : !scr1 = k|
00001cf0  65 76 21 38 0d 09 d8 3f  20 c8 99 20 36 2c 31 31  |ev!8...? .. 6,11|
00001d00  32 2c 32 20 3a 20 c8 99  20 36 2c 31 31 33 2c 32  |2,2 : .. 6,113,2|
00001d10  20 3a 20 c8 99 20 26 33  31 2c 6b 65 76 2c 6b 65  | : .. &31,kev,ke|
00001d20  76 2b 38 20 3a 20 21 73  63 72 32 20 3d 20 6b 65  |v+8 : !scr2 = ke|
00001d30  76 21 38 0d 09 e2 13 20  eb 20 31 33 20 20 20 20  |v!8.... . 13    |
00001d40  20 20 20 3a 20 87 0d 09  ec 04 0d 09 f6 05 e1 0d  |   : ...........|
00001d50  0a 00 04 0d 0a 0a 04 0d  0a 14 16 dd 20 f2 65 64  |............ .ed|
00001d60  75 72 65 5f 53 77 61 70  42 61 6e 6b 73 0d 0a 1e  |ure_SwapBanks...|
00001d70  1b 20 ff 20 22 46 78 20  31 31 32 20 2c 20 22 20  |. . "Fx 112 , " |
00001d80  2b 20 c3 20 62 61 6e 6b  0d 0a 28 14 20 62 61 6e  |+ . bank..(. ban|
00001d90  6b 20 3d 20 62 61 6e 6b  20 82 20 33 0d 0a 32 1b  |k = bank . 3..2.|
00001da0  20 ff 20 22 46 78 20 31  31 33 20 2c 20 22 20 2b  | . "Fx 113 , " +|
00001db0  20 c3 20 62 61 6e 6b 0d  0a 3c 0b 20 c8 96 20 3a  | . bank..<. .. :|
00001dc0  20 db 0d 0a 46 05 e1 0d  ff                       | ...F....|
00001dc9