Home » Archimedes archive » Archimedes World » AW-1992-10.adf » AWOct92 » !AWOct92/Goodies/DemoMaker/!Creator/X_Files/!Runimage

!AWOct92/Goodies/DemoMaker/!Creator/X_Files/!Runimage

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-1992-10.adf » AWOct92
Filename: !AWOct92/Goodies/DemoMaker/!Creator/X_Files/!Runimage
Read OK:
File size: 09F3 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM 
   10ON ERROR PROCshutdown
   20Lines=9:PROCstart:END
   30DEFPROCshutdown:OSCLI"Rmkill Memalloc":OSCLI"Rmkill Trackermodule":MODE12:OFF:END:ENDPROC
   40DEFPROCstart:NoTEST%=TRUE:DIM CODE% 10000:MODE13:OFF:VDU5:MOVE 2000,2000:GCOL0,0:OSCLI"Sload <Obey$dir>.Sprites":IF NoTEST% THEN startup%=TRUE:PROCcoding
   50CLS:IF NoTEST% PROCfullscreensetup
   60REPEAT:ENDPROC
   70DEFPROCfullscreensetup:MODE13:VDU4:OFF:PROCalphabet:ENDPROC
   80DEFPROCcoding:DIM block% 24,CODE2% 40000:block%!0=150:block%!4=149:block%!8=-1:SYS "OS_ReadVduVariables",block%,block%+12:size%=block%!12:start%=block%!16:sp%=start%:start%+=(320*228):Z%=2:FOR pa%=0 TO Z% STEP Z%:P%=CODE2%
   90[ OPT pa%
  100STMFD R13!,{14}
  110LDR R0,screen3
  120ADR R1,buffer
  130MOV R2,#159
  140.grab
  150LDMIA R0!,{3,4,5,6,7,8,9,10,11,12}
  160STMIA R1!,{3,4,5,6,7,8,9,10,11,12}
  170SUBS R2,R2,#1
  180BPL grab
  190MOV R0,#&13
  200SWI "OS_Byte"
  210LDR R0,screen3
  220ADR R1,buffer
  230ADD R1,R1,#4     
  240MOV R2,#159
  250.put
  260LDMIA R1!,{3,4,5,6,7,8,9,10,11,12}
  270STMIA R0!,{3,4,5,6,7,8,9,10,11,12}
  280SUBS R2,R2,#1
  290BPL put
  300LDR R0,screen3
  310MOV R1,#0
  320SUB R0,R0,#4
  330MOV R2,#20
  340.blank
  350STR R1,[R0,#320]! 
  360SUBS R2,R2,#1
  370BPL blank
  380LDMFD R13!,{PC}
  390.screen EQUD start%
  400.screen3 EQUD start%
  410.zeros                
  420]
  430P%+=40
  440[
  450.buffer
  460]
  470P%+=512*180
  480[
  490OPT pa%
  500.get_letter
  510MOV R2,#0     
  520.loopx
  530LDR R1,screen4
  540MOV R3,#0     
  550ADD R1,R1,R2 
  560.loopy
  570LDMIA R1, {4}
  580STMIA R0!,{4}
  590ADD R3,R3,#1              
  600ADD R1,R1,#320            
  610CMP R3,#20
  620BLT loopy
  630ADD R2,R2,#4                
  640CMP R2,#21*4                
  650BLT loopx                   
  660MOV R15,R14
  670.print_line
  680LDR R1,screen2
  690MOV R3,#0
  700ADD R1,R1,#316
  710.loopy2
  720LDMIA R0!,{4}
  730STMIA R1, {4}
  740ADD R3,R3,#1              
  750ADD R1,R1,#320            
  760CMP R3,#20
  770BLT loopy2
  780MOV R15,R14
  790.screen2
  800EQUD start%
  810.screen4
  820EQUD sp%
  830ALIGN
  840.letters
  850]
  860P%+=(20)*20:NEXT:Z%=0:IF startup% THEN
  870offset=0:FOR J%=1TO61:OSCLI("SCHOOSE "+CHR$(64+J%)):PLOT&ED,0,1044-(20*5):A%=letters+offset:CALL get_letter
  880offset+=20*20:Z%=letters:V%=print_line:NEXT:ENDIF:ENDPROC
  890DEFPROCalphabet:OFF:let=0:xx%=0:Quit%=FALSE:start%=start%+(320*10):PROCloadtext
  900FOR Loopy=0 TO 1000:IF Scrollingtext$(Loopy)="End of scrolling text" THEN GOTO 900
  910FOR jj=1 TO LEN(Scrollingtext$(Loopy)):l%=ASC(MID$(Scrollingtext$(Loopy),jj,1))-65:xx%=(20*20)*l%:FOR rr%=0 TO 4:scr=start%+316:A%=Z%+xx%:CALLV%:CALLCODE2%
  920IF INKEY(-74)THENQuit%=TRUE
  930xx%+=20*4:NEXT rr%:IF Quit% THEN CLS:ENDPROC
  940NEXT:NEXT:GOTO 900
  980DEFPROCloadtext:DIM Scrollingtext$(1000):text$="<Obey$dir>.TEXT":CLOSE#0:t%=OPENIN(text$):tn%=0:REPEAT:Text$=GET$#t%:IF Text$<>"" THEN Scrollingtext$(tn%)=Text$:tn%=tn%+1
 1050UNTIL EOF#t%:CLOSE#t%:ENDPROC
 1051NEXT


� 

� � �shutdown
Lines=9:�start:�
C��shutdown:�"Rmkill Memalloc":�"Rmkill Trackermodule":�12:�:�:�
(x��start:NoTEST%=�:� CODE% 10000:�13:�:�5:� 2000,2000:�0,0:�"Sload <Obey$dir>.Sprites":� NoTEST% � startup%=�:�coding
2 �:� NoTEST% �fullscreensetup
<�:�
F*��fullscreensetup:�13:�4:�:�alphabet:�
P���coding:� block% 24,CODE2% 40000:block%!0=150:block%!4=149:block%!8=-1:ș "OS_ReadVduVariables",block%,block%+12:size%=block%!12:start%=block%!16:sp%=start%:start%+=(320*228):Z%=2:� pa%=0 � Z% � Z%:P%=CODE2%
Z
[ OPT pa%
dSTMFD R13!,{14}
nLDR R0,screen3
xADR R1,buffer
�MOV R2,#159
�	.grab
�&LDMIA R0!,{3,4,5,6,7,8,9,10,11,12}
�&STMIA R1!,{3,4,5,6,7,8,9,10,11,12}
�SUBS R2,R2,#1
�BPL grab
�MOV R0,#&13
�SWI "OS_Byte"
�LDR R0,screen3
�ADR R1,buffer
�ADD R1,R1,#4     
�MOV R2,#159
�.put
&LDMIA R1!,{3,4,5,6,7,8,9,10,11,12}
&STMIA R0!,{3,4,5,6,7,8,9,10,11,12}
SUBS R2,R2,#1
"BPL put
,LDR R0,screen3
6
MOV R1,#0
@SUB R0,R0,#4
JMOV R2,#20
T
.blank
^STR R1,[R0,#320]! 
hSUBS R2,R2,#1
r
BPL blank
|LDMFD R13!,{PC}
�.screen EQUD start%
�.screen3 EQUD start%
�.zeros                
�]
�
P%+=40
�[
�.buffer
�]
�P%+=512*180
�[
�OPT pa%
�.get_letter
�MOV R2,#0     

.loopx
LDR R1,screen4
MOV R3,#0     
&ADD R1,R1,R2 
0
.loopy
:LDMIA R1, {4}
DSTMIA R0!,{4}
NADD R3,R3,#1              
XADD R1,R1,#320            
bCMP R3,#20
l
BLT loopy
v ADD R2,R2,#4                
� CMP R2,#21*4                
� BLT loopx                   
�MOV R15,R14
�.print_line
�LDR R1,screen2
�
MOV R3,#0
�ADD R1,R1,#316
�.loopy2
�LDMIA R0!,{4}
�STMIA R1, {4}
�ADD R3,R3,#1              
�ADD R1,R1,#320            
�CMP R3,#20
BLT loopy2
MOV R15,R14
.screen2
 EQUD start%
*.screen4
4EQUD sp%
>	ALIGN
H.letters
R]
\#P%+=(20)*20:�:Z%=0:� startup% �
f_offset=0:� J%=1�61:�("SCHOOSE "+�(64+J%)):�&ED,0,1044-(20*5):A%=letters+offset:� get_letter
p0offset+=20*20:Z%=letters:V%=print_line:�:�:�
zE��alphabet:�:let=0:xx%=0:Quit%=�:start%=start%+(320*10):�loadtext
�M� Loopy=0 � 1000:� Scrollingtext$(Loopy)="End of scrolling text" � � �tDC
��� jj=1 � �(Scrollingtext$(Loopy)):l%=�(�Scrollingtext$(Loopy),jj,1))-65:xx%=(20*20)*l%:� rr%=0 � 4:scr=start%+316:A%=Z%+xx%:�V%:�CODE2%
�� �(-74)�Quit%=�
�!xx%+=20*4:� rr%:� Quit% � �:�
��:�:� �tDC
Ԓ��loadtext:� Scrollingtext$(1000):text$="<Obey$dir>.TEXT":�#0:t%=�(text$):tn%=0:�:Text$=�#t%:� Text$<>"" � Scrollingtext$(tn%)=Text$:tn%=tn%+1
� �#t%:�#t%:�
�
�
00000000  0d 00 0a 0a f4 20 15 07  15 17 0d 00 0a 11 ee 20  |..... ......... |
00000010  85 20 f2 73 68 75 74 64  6f 77 6e 0d 00 14 14 4c  |. .shutdown....L|
00000020  69 6e 65 73 3d 39 3a f2  73 74 61 72 74 3a e0 0d  |ines=9:.start:..|
00000030  00 1e 43 dd f2 73 68 75  74 64 6f 77 6e 3a ff 22  |..C..shutdown:."|
00000040  52 6d 6b 69 6c 6c 20 4d  65 6d 61 6c 6c 6f 63 22  |Rmkill Memalloc"|
00000050  3a ff 22 52 6d 6b 69 6c  6c 20 54 72 61 63 6b 65  |:."Rmkill Tracke|
00000060  72 6d 6f 64 75 6c 65 22  3a eb 31 32 3a 87 3a e0  |rmodule":.12:.:.|
00000070  3a e1 0d 00 28 78 dd f2  73 74 61 72 74 3a 4e 6f  |:...(x..start:No|
00000080  54 45 53 54 25 3d b9 3a  de 20 43 4f 44 45 25 20  |TEST%=.:. CODE% |
00000090  31 30 30 30 30 3a eb 31  33 3a 87 3a ef 35 3a ec  |10000:.13:.:.5:.|
000000a0  20 32 30 30 30 2c 32 30  30 30 3a e6 30 2c 30 3a  | 2000,2000:.0,0:|
000000b0  ff 22 53 6c 6f 61 64 20  3c 4f 62 65 79 24 64 69  |."Sload <Obey$di|
000000c0  72 3e 2e 53 70 72 69 74  65 73 22 3a e7 20 4e 6f  |r>.Sprites":. No|
000000d0  54 45 53 54 25 20 8c 20  73 74 61 72 74 75 70 25  |TEST% . startup%|
000000e0  3d b9 3a f2 63 6f 64 69  6e 67 0d 00 32 20 db 3a  |=.:.coding..2 .:|
000000f0  e7 20 4e 6f 54 45 53 54  25 20 f2 66 75 6c 6c 73  |. NoTEST% .fulls|
00000100  63 72 65 65 6e 73 65 74  75 70 0d 00 3c 07 f5 3a  |creensetup..<..:|
00000110  e1 0d 00 46 2a dd f2 66  75 6c 6c 73 63 72 65 65  |...F*..fullscree|
00000120  6e 73 65 74 75 70 3a eb  31 33 3a ef 34 3a 87 3a  |nsetup:.13:.4:.:|
00000130  f2 61 6c 70 68 61 62 65  74 3a e1 0d 00 50 d4 dd  |.alphabet:...P..|
00000140  f2 63 6f 64 69 6e 67 3a  de 20 62 6c 6f 63 6b 25  |.coding:. block%|
00000150  20 32 34 2c 43 4f 44 45  32 25 20 34 30 30 30 30  | 24,CODE2% 40000|
00000160  3a 62 6c 6f 63 6b 25 21  30 3d 31 35 30 3a 62 6c  |:block%!0=150:bl|
00000170  6f 63 6b 25 21 34 3d 31  34 39 3a 62 6c 6f 63 6b  |ock%!4=149:block|
00000180  25 21 38 3d 2d 31 3a c8  99 20 22 4f 53 5f 52 65  |%!8=-1:.. "OS_Re|
00000190  61 64 56 64 75 56 61 72  69 61 62 6c 65 73 22 2c  |adVduVariables",|
000001a0  62 6c 6f 63 6b 25 2c 62  6c 6f 63 6b 25 2b 31 32  |block%,block%+12|
000001b0  3a 73 69 7a 65 25 3d 62  6c 6f 63 6b 25 21 31 32  |:size%=block%!12|
000001c0  3a 73 74 61 72 74 25 3d  62 6c 6f 63 6b 25 21 31  |:start%=block%!1|
000001d0  36 3a 73 70 25 3d 73 74  61 72 74 25 3a 73 74 61  |6:sp%=start%:sta|
000001e0  72 74 25 2b 3d 28 33 32  30 2a 32 32 38 29 3a 5a  |rt%+=(320*228):Z|
000001f0  25 3d 32 3a e3 20 70 61  25 3d 30 20 b8 20 5a 25  |%=2:. pa%=0 . Z%|
00000200  20 88 20 5a 25 3a 50 25  3d 43 4f 44 45 32 25 0d  | . Z%:P%=CODE2%.|
00000210  00 5a 0d 5b 20 4f 50 54  20 70 61 25 0d 00 64 13  |.Z.[ OPT pa%..d.|
00000220  53 54 4d 46 44 20 52 31  33 21 2c 7b 31 34 7d 0d  |STMFD R13!,{14}.|
00000230  00 6e 12 4c 44 52 20 52  30 2c 73 63 72 65 65 6e  |.n.LDR R0,screen|
00000240  33 0d 00 78 11 41 44 52  20 52 31 2c 62 75 66 66  |3..x.ADR R1,buff|
00000250  65 72 0d 00 82 0f 4d 4f  56 20 52 32 2c 23 31 35  |er....MOV R2,#15|
00000260  39 0d 00 8c 09 2e 67 72  61 62 0d 00 96 26 4c 44  |9.....grab...&LD|
00000270  4d 49 41 20 52 30 21 2c  7b 33 2c 34 2c 35 2c 36  |MIA R0!,{3,4,5,6|
00000280  2c 37 2c 38 2c 39 2c 31  30 2c 31 31 2c 31 32 7d  |,7,8,9,10,11,12}|
00000290  0d 00 a0 26 53 54 4d 49  41 20 52 31 21 2c 7b 33  |...&STMIA R1!,{3|
000002a0  2c 34 2c 35 2c 36 2c 37  2c 38 2c 39 2c 31 30 2c  |,4,5,6,7,8,9,10,|
000002b0  31 31 2c 31 32 7d 0d 00  aa 11 53 55 42 53 20 52  |11,12}....SUBS R|
000002c0  32 2c 52 32 2c 23 31 0d  00 b4 0c 42 50 4c 20 67  |2,R2,#1....BPL g|
000002d0  72 61 62 0d 00 be 0f 4d  4f 56 20 52 30 2c 23 26  |rab....MOV R0,#&|
000002e0  31 33 0d 00 c8 11 53 57  49 20 22 4f 53 5f 42 79  |13....SWI "OS_By|
000002f0  74 65 22 0d 00 d2 12 4c  44 52 20 52 30 2c 73 63  |te"....LDR R0,sc|
00000300  72 65 65 6e 33 0d 00 dc  11 41 44 52 20 52 31 2c  |reen3....ADR R1,|
00000310  62 75 66 66 65 72 0d 00  e6 15 41 44 44 20 52 31  |buffer....ADD R1|
00000320  2c 52 31 2c 23 34 20 20  20 20 20 0d 00 f0 0f 4d  |,R1,#4     ....M|
00000330  4f 56 20 52 32 2c 23 31  35 39 0d 00 fa 08 2e 70  |OV R2,#159.....p|
00000340  75 74 0d 01 04 26 4c 44  4d 49 41 20 52 31 21 2c  |ut...&LDMIA R1!,|
00000350  7b 33 2c 34 2c 35 2c 36  2c 37 2c 38 2c 39 2c 31  |{3,4,5,6,7,8,9,1|
00000360  30 2c 31 31 2c 31 32 7d  0d 01 0e 26 53 54 4d 49  |0,11,12}...&STMI|
00000370  41 20 52 30 21 2c 7b 33  2c 34 2c 35 2c 36 2c 37  |A R0!,{3,4,5,6,7|
00000380  2c 38 2c 39 2c 31 30 2c  31 31 2c 31 32 7d 0d 01  |,8,9,10,11,12}..|
00000390  18 11 53 55 42 53 20 52  32 2c 52 32 2c 23 31 0d  |..SUBS R2,R2,#1.|
000003a0  01 22 0b 42 50 4c 20 70  75 74 0d 01 2c 12 4c 44  |.".BPL put..,.LD|
000003b0  52 20 52 30 2c 73 63 72  65 65 6e 33 0d 01 36 0d  |R R0,screen3..6.|
000003c0  4d 4f 56 20 52 31 2c 23  30 0d 01 40 10 53 55 42  |MOV R1,#0..@.SUB|
000003d0  20 52 30 2c 52 30 2c 23  34 0d 01 4a 0e 4d 4f 56  | R0,R0,#4..J.MOV|
000003e0  20 52 32 2c 23 32 30 0d  01 54 0a 2e 62 6c 61 6e  | R2,#20..T..blan|
000003f0  6b 0d 01 5e 16 53 54 52  20 52 31 2c 5b 52 30 2c  |k..^.STR R1,[R0,|
00000400  23 33 32 30 5d 21 20 0d  01 68 11 53 55 42 53 20  |#320]! ..h.SUBS |
00000410  52 32 2c 52 32 2c 23 31  0d 01 72 0d 42 50 4c 20  |R2,R2,#1..r.BPL |
00000420  62 6c 61 6e 6b 0d 01 7c  13 4c 44 4d 46 44 20 52  |blank..|.LDMFD R|
00000430  31 33 21 2c 7b 50 43 7d  0d 01 86 17 2e 73 63 72  |13!,{PC}.....scr|
00000440  65 65 6e 20 45 51 55 44  20 73 74 61 72 74 25 0d  |een EQUD start%.|
00000450  01 90 18 2e 73 63 72 65  65 6e 33 20 45 51 55 44  |....screen3 EQUD|
00000460  20 73 74 61 72 74 25 0d  01 9a 1a 2e 7a 65 72 6f  | start%.....zero|
00000470  73 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |s               |
00000480  20 0d 01 a4 05 5d 0d 01  ae 0a 50 25 2b 3d 34 30  | ....]....P%+=40|
00000490  0d 01 b8 05 5b 0d 01 c2  0b 2e 62 75 66 66 65 72  |....[.....buffer|
000004a0  0d 01 cc 05 5d 0d 01 d6  0f 50 25 2b 3d 35 31 32  |....]....P%+=512|
000004b0  2a 31 38 30 0d 01 e0 05  5b 0d 01 ea 0b 4f 50 54  |*180....[....OPT|
000004c0  20 70 61 25 0d 01 f4 0f  2e 67 65 74 5f 6c 65 74  | pa%.....get_let|
000004d0  74 65 72 0d 01 fe 12 4d  4f 56 20 52 32 2c 23 30  |ter....MOV R2,#0|
000004e0  20 20 20 20 20 0d 02 08  0a 2e 6c 6f 6f 70 78 0d  |     .....loopx.|
000004f0  02 12 12 4c 44 52 20 52  31 2c 73 63 72 65 65 6e  |...LDR R1,screen|
00000500  34 0d 02 1c 12 4d 4f 56  20 52 33 2c 23 30 20 20  |4....MOV R3,#0  |
00000510  20 20 20 0d 02 26 11 41  44 44 20 52 31 2c 52 31  |   ..&.ADD R1,R1|
00000520  2c 52 32 20 0d 02 30 0a  2e 6c 6f 6f 70 79 0d 02  |,R2 ..0..loopy..|
00000530  3a 11 4c 44 4d 49 41 20  52 31 2c 20 7b 34 7d 0d  |:.LDMIA R1, {4}.|
00000540  02 44 11 53 54 4d 49 41  20 52 30 21 2c 7b 34 7d  |.D.STMIA R0!,{4}|
00000550  0d 02 4e 1e 41 44 44 20  52 33 2c 52 33 2c 23 31  |..N.ADD R3,R3,#1|
00000560  20 20 20 20 20 20 20 20  20 20 20 20 20 20 0d 02  |              ..|
00000570  58 1e 41 44 44 20 52 31  2c 52 31 2c 23 33 32 30  |X.ADD R1,R1,#320|
00000580  20 20 20 20 20 20 20 20  20 20 20 20 0d 02 62 0e  |            ..b.|
00000590  43 4d 50 20 52 33 2c 23  32 30 0d 02 6c 0d 42 4c  |CMP R3,#20..l.BL|
000005a0  54 20 6c 6f 6f 70 79 0d  02 76 20 41 44 44 20 52  |T loopy..v ADD R|
000005b0  32 2c 52 32 2c 23 34 20  20 20 20 20 20 20 20 20  |2,R2,#4         |
000005c0  20 20 20 20 20 20 20 0d  02 80 20 43 4d 50 20 52  |       ... CMP R|
000005d0  32 2c 23 32 31 2a 34 20  20 20 20 20 20 20 20 20  |2,#21*4         |
000005e0  20 20 20 20 20 20 20 0d  02 8a 20 42 4c 54 20 6c  |       ... BLT l|
000005f0  6f 6f 70 78 20 20 20 20  20 20 20 20 20 20 20 20  |oopx            |
00000600  20 20 20 20 20 20 20 0d  02 94 0f 4d 4f 56 20 52  |       ....MOV R|
00000610  31 35 2c 52 31 34 0d 02  9e 0f 2e 70 72 69 6e 74  |15,R14.....print|
00000620  5f 6c 69 6e 65 0d 02 a8  12 4c 44 52 20 52 31 2c  |_line....LDR R1,|
00000630  73 63 72 65 65 6e 32 0d  02 b2 0d 4d 4f 56 20 52  |screen2....MOV R|
00000640  33 2c 23 30 0d 02 bc 12  41 44 44 20 52 31 2c 52  |3,#0....ADD R1,R|
00000650  31 2c 23 33 31 36 0d 02  c6 0b 2e 6c 6f 6f 70 79  |1,#316.....loopy|
00000660  32 0d 02 d0 11 4c 44 4d  49 41 20 52 30 21 2c 7b  |2....LDMIA R0!,{|
00000670  34 7d 0d 02 da 11 53 54  4d 49 41 20 52 31 2c 20  |4}....STMIA R1, |
00000680  7b 34 7d 0d 02 e4 1e 41  44 44 20 52 33 2c 52 33  |{4}....ADD R3,R3|
00000690  2c 23 31 20 20 20 20 20  20 20 20 20 20 20 20 20  |,#1             |
000006a0  20 0d 02 ee 1e 41 44 44  20 52 31 2c 52 31 2c 23  | ....ADD R1,R1,#|
000006b0  33 32 30 20 20 20 20 20  20 20 20 20 20 20 20 0d  |320            .|
000006c0  02 f8 0e 43 4d 50 20 52  33 2c 23 32 30 0d 03 02  |...CMP R3,#20...|
000006d0  0e 42 4c 54 20 6c 6f 6f  70 79 32 0d 03 0c 0f 4d  |.BLT loopy2....M|
000006e0  4f 56 20 52 31 35 2c 52  31 34 0d 03 16 0c 2e 73  |OV R15,R14.....s|
000006f0  63 72 65 65 6e 32 0d 03  20 0f 45 51 55 44 20 73  |creen2.. .EQUD s|
00000700  74 61 72 74 25 0d 03 2a  0c 2e 73 63 72 65 65 6e  |tart%..*..screen|
00000710  34 0d 03 34 0c 45 51 55  44 20 73 70 25 0d 03 3e  |4..4.EQUD sp%..>|
00000720  09 41 4c 49 47 4e 0d 03  48 0c 2e 6c 65 74 74 65  |.ALIGN..H..lette|
00000730  72 73 0d 03 52 05 5d 0d  03 5c 23 50 25 2b 3d 28  |rs..R.]..\#P%+=(|
00000740  32 30 29 2a 32 30 3a ed  3a 5a 25 3d 30 3a e7 20  |20)*20:.:Z%=0:. |
00000750  73 74 61 72 74 75 70 25  20 8c 0d 03 66 5f 6f 66  |startup% ...f_of|
00000760  66 73 65 74 3d 30 3a e3  20 4a 25 3d 31 b8 36 31  |fset=0:. J%=1.61|
00000770  3a ff 28 22 53 43 48 4f  4f 53 45 20 22 2b bd 28  |:.("SCHOOSE "+.(|
00000780  36 34 2b 4a 25 29 29 3a  f0 26 45 44 2c 30 2c 31  |64+J%)):.&ED,0,1|
00000790  30 34 34 2d 28 32 30 2a  35 29 3a 41 25 3d 6c 65  |044-(20*5):A%=le|
000007a0  74 74 65 72 73 2b 6f 66  66 73 65 74 3a d6 20 67  |tters+offset:. g|
000007b0  65 74 5f 6c 65 74 74 65  72 0d 03 70 30 6f 66 66  |et_letter..p0off|
000007c0  73 65 74 2b 3d 32 30 2a  32 30 3a 5a 25 3d 6c 65  |set+=20*20:Z%=le|
000007d0  74 74 65 72 73 3a 56 25  3d 70 72 69 6e 74 5f 6c  |tters:V%=print_l|
000007e0  69 6e 65 3a ed 3a cd 3a  e1 0d 03 7a 45 dd f2 61  |ine:.:.:...zE..a|
000007f0  6c 70 68 61 62 65 74 3a  87 3a 6c 65 74 3d 30 3a  |lphabet:.:let=0:|
00000800  78 78 25 3d 30 3a 51 75  69 74 25 3d a3 3a 73 74  |xx%=0:Quit%=.:st|
00000810  61 72 74 25 3d 73 74 61  72 74 25 2b 28 33 32 30  |art%=start%+(320|
00000820  2a 31 30 29 3a f2 6c 6f  61 64 74 65 78 74 0d 03  |*10):.loadtext..|
00000830  84 4d e3 20 4c 6f 6f 70  79 3d 30 20 b8 20 31 30  |.M. Loopy=0 . 10|
00000840  30 30 3a e7 20 53 63 72  6f 6c 6c 69 6e 67 74 65  |00:. Scrollingte|
00000850  78 74 24 28 4c 6f 6f 70  79 29 3d 22 45 6e 64 20  |xt$(Loopy)="End |
00000860  6f 66 20 73 63 72 6f 6c  6c 69 6e 67 20 74 65 78  |of scrolling tex|
00000870  74 22 20 8c 20 e5 20 8d  74 44 43 0d 03 8e 8b e3  |t" . . .tDC.....|
00000880  20 6a 6a 3d 31 20 b8 20  a9 28 53 63 72 6f 6c 6c  | jj=1 . .(Scroll|
00000890  69 6e 67 74 65 78 74 24  28 4c 6f 6f 70 79 29 29  |ingtext$(Loopy))|
000008a0  3a 6c 25 3d 97 28 c1 53  63 72 6f 6c 6c 69 6e 67  |:l%=.(.Scrolling|
000008b0  74 65 78 74 24 28 4c 6f  6f 70 79 29 2c 6a 6a 2c  |text$(Loopy),jj,|
000008c0  31 29 29 2d 36 35 3a 78  78 25 3d 28 32 30 2a 32  |1))-65:xx%=(20*2|
000008d0  30 29 2a 6c 25 3a e3 20  72 72 25 3d 30 20 b8 20  |0)*l%:. rr%=0 . |
000008e0  34 3a 73 63 72 3d 73 74  61 72 74 25 2b 33 31 36  |4:scr=start%+316|
000008f0  3a 41 25 3d 5a 25 2b 78  78 25 3a d6 56 25 3a d6  |:A%=Z%+xx%:.V%:.|
00000900  43 4f 44 45 32 25 0d 03  98 14 e7 20 a6 28 2d 37  |CODE2%..... .(-7|
00000910  34 29 8c 51 75 69 74 25  3d b9 0d 03 a2 21 78 78  |4).Quit%=....!xx|
00000920  25 2b 3d 32 30 2a 34 3a  ed 20 72 72 25 3a e7 20  |%+=20*4:. rr%:. |
00000930  51 75 69 74 25 20 8c 20  db 3a e1 0d 03 ac 0e ed  |Quit% . .:......|
00000940  3a ed 3a e5 20 8d 74 44  43 0d 03 d4 92 dd f2 6c  |:.:. .tDC......l|
00000950  6f 61 64 74 65 78 74 3a  de 20 53 63 72 6f 6c 6c  |oadtext:. Scroll|
00000960  69 6e 67 74 65 78 74 24  28 31 30 30 30 29 3a 74  |ingtext$(1000):t|
00000970  65 78 74 24 3d 22 3c 4f  62 65 79 24 64 69 72 3e  |ext$="<Obey$dir>|
00000980  2e 54 45 58 54 22 3a d9  23 30 3a 74 25 3d 8e 28  |.TEXT":.#0:t%=.(|
00000990  74 65 78 74 24 29 3a 74  6e 25 3d 30 3a f5 3a 54  |text$):tn%=0:.:T|
000009a0  65 78 74 24 3d be 23 74  25 3a e7 20 54 65 78 74  |ext$=.#t%:. Text|
000009b0  24 3c 3e 22 22 20 8c 20  53 63 72 6f 6c 6c 69 6e  |$<>"" . Scrollin|
000009c0  67 74 65 78 74 24 28 74  6e 25 29 3d 54 65 78 74  |gtext$(tn%)=Text|
000009d0  24 3a 74 6e 25 3d 74 6e  25 2b 31 0d 04 1a 11 fd  |$:tn%=tn%+1.....|
000009e0  20 c5 23 74 25 3a d9 23  74 25 3a e1 0d 04 1b 05  | .#t%:.#t%:.....|
000009f0  ed 0d ff                                          |...|
000009f3