Home » Archimedes archive » Acorn User » AU 1996-05.adf » Regulars » StarInfo/Brown/!Spin/!RunImage

StarInfo/Brown/!Spin/!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 » Acorn User » AU 1996-05.adf » Regulars
Filename: StarInfo/Brown/!Spin/!RunImage
Read OK:
File size: 09AF bytes
Load address: 0000
Exec address: 0000
File contents
   10DIM code% 10240
   20DIM divtab 1280
   30DIM scale% 1024
   40DIM mem% 90*1024
   41!mem%=90*1024
   42mem%!8=16
   43SYS "OS_SpriteOp",&109,mem%
   44SYS "OS_SpriteOp",&10A,mem%,"<Spin$Dir>.^.Picture"
   45sprite%=mem%+mem%!8
   46screen%=sprite%+sprite%!32
   50FOR count%=1 TO 256:divtab!((count%*4)-4)=(2^16)/count%:NEXT
   60FOR pass%=0 TO 2 STEP2
   70P%=code%
   80[OPT pass%
   90.scaleblock:EQUD scale%:.divptr:EQUD divtab:.tfs:EQUD 258
  100.scale:LDR R6,scaleblock:LDR R1,threet:MOV R3,#0:LDR R4,tfs:LDR R0,divptr:LDR R0,[R0,R1,LSL#2]:MUL R0,R4,R0
  110.gouloop :MOV R2,R3,LSR#16:ADD R3,R3,R0:STR R2,[R6],#4:SUBS R1,R1,#1:BNE gouloop:MOV PC,R14
  120.threet:EQUD 0:.input:EQUD 148:EQUD -1:.output:EQUD 0:EQUD 0
  130.scrpos:ADR R0,input:ADR R1,output:SWI "OS_ReadVduVariables":MOV PC,R14
  140.screenptr:EQUD screen%:.output2:EQUD 0
  150.drawscreen
  160LDR R0,threet:LDR R1,output2:LDR R2,screenptr:LDR R12,scaleblock
  170.drawloop
  180LDR R4,[R12],#4:ADD R3,R2,R4,LSL#8:ADD R3,R3,R4,LSL#6
  190LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
  200LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
  210LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
  220LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
  230LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
  240SUBS R0,R0,#1:BNE drawloop:MOV PC,R14
  250.drawscreen2
  260LDR R0,threet:LDR R1,output2:LDR R2,screenptr:LDR R12,scaleblock
  270.drawloop2
  280LDR R4,[R12],#4:RSB R4,R4,#255:ADD R3,R2,R4,LSL#8:ADD R3,R3,R4,LSL#6
  290LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
  300LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
  310LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
  320LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
  330LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
  340SUBS R0,R0,#1:BNE drawloop2:MOV PC,R14
  350]
  360NEXT pass%
  370
  380MODE 15:MODE 13:SYS"OS_RemoveCursors"
  400aa%=1:bb%=2
  410REPEAT
  420FOR rows=.01 TO PI STEP .05
  430SWAP aa%,bb%
  440SYS"OS_Byte",112,aa%:SYS"OS_Byte",113,bb%
  450CALL scrpos
  460!output2=!output+(128-(256*SIN(rows))DIV 2)*320
  470!threet=256*SIN(rows)
  480CALL scale
  490CLS
  500CALL drawscreen
  510WAIT
  520NEXT
  530FOR rows=.01 TO PI STEP .05
  540SWAP aa%,bb%
  550SYS"OS_Byte",112,aa%:SYS"OS_Byte",113,bb%
  560CALL scrpos
  570!output2=!output+(128-(256*SIN(rows))DIV 2)*320
  580!threet=256*SIN(rows)
  590CALL scale
  600CLS
  610CALL drawscreen2
  620WAIT
  630NEXT
  640UNTIL0

� code% 10240
� divtab 1280
� scale% 1024
(� mem% 90*1024
)!mem%=90*1024
*
mem%!8=16
+ș "OS_SpriteOp",&109,mem%
,5ș "OS_SpriteOp",&10A,mem%,"<Spin$Dir>.^.Picture"
-sprite%=mem%+mem%!8
.screen%=sprite%+sprite%!32
2:� count%=1 � 256:divtab!((count%*4)-4)=(2^16)/count%:�
<� pass%=0 � 2 �2
FP%=code%
P[OPT pass%
Z=.scaleblock:EQUD scale%:.divptr:EQUD divtab:.tfs:EQUD 258
do.scale:LDR R6,scaleblock:LDR R1,threet:MOV R3,#0:LDR R4,tfs:LDR R0,divptr:LDR R0,[R0,R1,LSL#2]:MUL R0,R4,R0
n_.gouloop :MOV R2,R3,LSR#16:ADD R3,R3,R0:STR R2,[R6],#4:SUBS R1,R1,#1:BNE gouloop:MOV PC,R14
x@.threet:EQUD 0:.input:EQUD 148:EQUD -1:.output:EQUD 0:EQUD 0
�K.scrpos:ADR R0,input:ADR R1,output:SWI "OS_ReadVduVariables":MOV PC,R14
�+.screenptr:EQUD screen%:.output2:EQUD 0
�.drawscreen
�DLDR R0,threet:LDR R1,output2:LDR R2,screenptr:LDR R12,scaleblock
�
.drawloop
�9LDR R4,[R12],#4:ADD R3,R2,R4,LSL#8:ADD R3,R3,R4,LSL#6
�OLDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
�OLDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
�OLDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
�OLDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
�OLDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
�)SUBS R0,R0,#1:BNE drawloop:MOV PC,R14
�.drawscreen2
DLDR R0,threet:LDR R1,output2:LDR R2,screenptr:LDR R12,scaleblock
.drawloop2
HLDR R4,[R12],#4:RSB R4,R4,#255:ADD R3,R2,R4,LSL#8:ADD R3,R3,R4,LSL#6
"OLDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
,OLDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
6OLDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
@OLDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
JOLDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}:LDMIA R3!,{R4-R11}:STMIA R1!,{R4-R11}
T*SUBS R0,R0,#1:BNE drawloop2:MOV PC,R14
^]
h� pass%
r
|"� 15:� 13:ș"OS_RemoveCursors"
�aa%=1:bb%=2
��
�� rows=.01 � � � .05
�Ȕ aa%,bb%
�+ș"OS_Byte",112,aa%:ș"OS_Byte",113,bb%
�� scrpos
�/!output2=!output+(128-(256*�(rows))� 2)*320
�!threet=256*�(rows)
�� scale
��
�� drawscreen
�Ȗ
�
� rows=.01 � � � .05
Ȕ aa%,bb%
&+ș"OS_Byte",112,aa%:ș"OS_Byte",113,bb%
0� scrpos
:/!output2=!output+(128-(256*�(rows))� 2)*320
D!threet=256*�(rows)
N� scale
X�
b� drawscreen2
lȖ
v�
��0
�
00000000  0d 00 0a 11 de 20 63 6f  64 65 25 20 31 30 32 34  |..... code% 1024|
00000010  30 0d 00 14 11 de 20 64  69 76 74 61 62 20 31 32  |0..... divtab 12|
00000020  38 30 0d 00 1e 11 de 20  73 63 61 6c 65 25 20 31  |80..... scale% 1|
00000030  30 32 34 0d 00 28 12 de  20 6d 65 6d 25 20 39 30  |024..(.. mem% 90|
00000040  2a 31 30 32 34 0d 00 29  11 21 6d 65 6d 25 3d 39  |*1024..).!mem%=9|
00000050  30 2a 31 30 32 34 0d 00  2a 0d 6d 65 6d 25 21 38  |0*1024..*.mem%!8|
00000060  3d 31 36 0d 00 2b 1e c8  99 20 22 4f 53 5f 53 70  |=16..+... "OS_Sp|
00000070  72 69 74 65 4f 70 22 2c  26 31 30 39 2c 6d 65 6d  |riteOp",&109,mem|
00000080  25 0d 00 2c 35 c8 99 20  22 4f 53 5f 53 70 72 69  |%..,5.. "OS_Spri|
00000090  74 65 4f 70 22 2c 26 31  30 41 2c 6d 65 6d 25 2c  |teOp",&10A,mem%,|
000000a0  22 3c 53 70 69 6e 24 44  69 72 3e 2e 5e 2e 50 69  |"<Spin$Dir>.^.Pi|
000000b0  63 74 75 72 65 22 0d 00  2d 17 73 70 72 69 74 65  |cture"..-.sprite|
000000c0  25 3d 6d 65 6d 25 2b 6d  65 6d 25 21 38 0d 00 2e  |%=mem%+mem%!8...|
000000d0  1e 73 63 72 65 65 6e 25  3d 73 70 72 69 74 65 25  |.screen%=sprite%|
000000e0  2b 73 70 72 69 74 65 25  21 33 32 0d 00 32 3a e3  |+sprite%!32..2:.|
000000f0  20 63 6f 75 6e 74 25 3d  31 20 b8 20 32 35 36 3a  | count%=1 . 256:|
00000100  64 69 76 74 61 62 21 28  28 63 6f 75 6e 74 25 2a  |divtab!((count%*|
00000110  34 29 2d 34 29 3d 28 32  5e 31 36 29 2f 63 6f 75  |4)-4)=(2^16)/cou|
00000120  6e 74 25 3a ed 0d 00 3c  14 e3 20 70 61 73 73 25  |nt%:...<.. pass%|
00000130  3d 30 20 b8 20 32 20 88  32 0d 00 46 0c 50 25 3d  |=0 . 2 .2..F.P%=|
00000140  63 6f 64 65 25 0d 00 50  0e 5b 4f 50 54 20 70 61  |code%..P.[OPT pa|
00000150  73 73 25 0d 00 5a 3d 2e  73 63 61 6c 65 62 6c 6f  |ss%..Z=.scaleblo|
00000160  63 6b 3a 45 51 55 44 20  73 63 61 6c 65 25 3a 2e  |ck:EQUD scale%:.|
00000170  64 69 76 70 74 72 3a 45  51 55 44 20 64 69 76 74  |divptr:EQUD divt|
00000180  61 62 3a 2e 74 66 73 3a  45 51 55 44 20 32 35 38  |ab:.tfs:EQUD 258|
00000190  0d 00 64 6f 2e 73 63 61  6c 65 3a 4c 44 52 20 52  |..do.scale:LDR R|
000001a0  36 2c 73 63 61 6c 65 62  6c 6f 63 6b 3a 4c 44 52  |6,scaleblock:LDR|
000001b0  20 52 31 2c 74 68 72 65  65 74 3a 4d 4f 56 20 52  | R1,threet:MOV R|
000001c0  33 2c 23 30 3a 4c 44 52  20 52 34 2c 74 66 73 3a  |3,#0:LDR R4,tfs:|
000001d0  4c 44 52 20 52 30 2c 64  69 76 70 74 72 3a 4c 44  |LDR R0,divptr:LD|
000001e0  52 20 52 30 2c 5b 52 30  2c 52 31 2c 4c 53 4c 23  |R R0,[R0,R1,LSL#|
000001f0  32 5d 3a 4d 55 4c 20 52  30 2c 52 34 2c 52 30 0d  |2]:MUL R0,R4,R0.|
00000200  00 6e 5f 2e 67 6f 75 6c  6f 6f 70 20 3a 4d 4f 56  |.n_.gouloop :MOV|
00000210  20 52 32 2c 52 33 2c 4c  53 52 23 31 36 3a 41 44  | R2,R3,LSR#16:AD|
00000220  44 20 52 33 2c 52 33 2c  52 30 3a 53 54 52 20 52  |D R3,R3,R0:STR R|
00000230  32 2c 5b 52 36 5d 2c 23  34 3a 53 55 42 53 20 52  |2,[R6],#4:SUBS R|
00000240  31 2c 52 31 2c 23 31 3a  42 4e 45 20 67 6f 75 6c  |1,R1,#1:BNE goul|
00000250  6f 6f 70 3a 4d 4f 56 20  50 43 2c 52 31 34 0d 00  |oop:MOV PC,R14..|
00000260  78 40 2e 74 68 72 65 65  74 3a 45 51 55 44 20 30  |x@.threet:EQUD 0|
00000270  3a 2e 69 6e 70 75 74 3a  45 51 55 44 20 31 34 38  |:.input:EQUD 148|
00000280  3a 45 51 55 44 20 2d 31  3a 2e 6f 75 74 70 75 74  |:EQUD -1:.output|
00000290  3a 45 51 55 44 20 30 3a  45 51 55 44 20 30 0d 00  |:EQUD 0:EQUD 0..|
000002a0  82 4b 2e 73 63 72 70 6f  73 3a 41 44 52 20 52 30  |.K.scrpos:ADR R0|
000002b0  2c 69 6e 70 75 74 3a 41  44 52 20 52 31 2c 6f 75  |,input:ADR R1,ou|
000002c0  74 70 75 74 3a 53 57 49  20 22 4f 53 5f 52 65 61  |tput:SWI "OS_Rea|
000002d0  64 56 64 75 56 61 72 69  61 62 6c 65 73 22 3a 4d  |dVduVariables":M|
000002e0  4f 56 20 50 43 2c 52 31  34 0d 00 8c 2b 2e 73 63  |OV PC,R14...+.sc|
000002f0  72 65 65 6e 70 74 72 3a  45 51 55 44 20 73 63 72  |reenptr:EQUD scr|
00000300  65 65 6e 25 3a 2e 6f 75  74 70 75 74 32 3a 45 51  |een%:.output2:EQ|
00000310  55 44 20 30 0d 00 96 0f  2e 64 72 61 77 73 63 72  |UD 0.....drawscr|
00000320  65 65 6e 0d 00 a0 44 4c  44 52 20 52 30 2c 74 68  |een...DLDR R0,th|
00000330  72 65 65 74 3a 4c 44 52  20 52 31 2c 6f 75 74 70  |reet:LDR R1,outp|
00000340  75 74 32 3a 4c 44 52 20  52 32 2c 73 63 72 65 65  |ut2:LDR R2,scree|
00000350  6e 70 74 72 3a 4c 44 52  20 52 31 32 2c 73 63 61  |nptr:LDR R12,sca|
00000360  6c 65 62 6c 6f 63 6b 0d  00 aa 0d 2e 64 72 61 77  |leblock.....draw|
00000370  6c 6f 6f 70 0d 00 b4 39  4c 44 52 20 52 34 2c 5b  |loop...9LDR R4,[|
00000380  52 31 32 5d 2c 23 34 3a  41 44 44 20 52 33 2c 52  |R12],#4:ADD R3,R|
00000390  32 2c 52 34 2c 4c 53 4c  23 38 3a 41 44 44 20 52  |2,R4,LSL#8:ADD R|
000003a0  33 2c 52 33 2c 52 34 2c  4c 53 4c 23 36 0d 00 be  |3,R3,R4,LSL#6...|
000003b0  4f 4c 44 4d 49 41 20 52  33 21 2c 7b 52 34 2d 52  |OLDMIA R3!,{R4-R|
000003c0  31 31 7d 3a 53 54 4d 49  41 20 52 31 21 2c 7b 52  |11}:STMIA R1!,{R|
000003d0  34 2d 52 31 31 7d 3a 4c  44 4d 49 41 20 52 33 21  |4-R11}:LDMIA R3!|
000003e0  2c 7b 52 34 2d 52 31 31  7d 3a 53 54 4d 49 41 20  |,{R4-R11}:STMIA |
000003f0  52 31 21 2c 7b 52 34 2d  52 31 31 7d 0d 00 c8 4f  |R1!,{R4-R11}...O|
00000400  4c 44 4d 49 41 20 52 33  21 2c 7b 52 34 2d 52 31  |LDMIA R3!,{R4-R1|
00000410  31 7d 3a 53 54 4d 49 41  20 52 31 21 2c 7b 52 34  |1}:STMIA R1!,{R4|
00000420  2d 52 31 31 7d 3a 4c 44  4d 49 41 20 52 33 21 2c  |-R11}:LDMIA R3!,|
00000430  7b 52 34 2d 52 31 31 7d  3a 53 54 4d 49 41 20 52  |{R4-R11}:STMIA R|
00000440  31 21 2c 7b 52 34 2d 52  31 31 7d 0d 00 d2 4f 4c  |1!,{R4-R11}...OL|
00000450  44 4d 49 41 20 52 33 21  2c 7b 52 34 2d 52 31 31  |DMIA R3!,{R4-R11|
00000460  7d 3a 53 54 4d 49 41 20  52 31 21 2c 7b 52 34 2d  |}:STMIA R1!,{R4-|
00000470  52 31 31 7d 3a 4c 44 4d  49 41 20 52 33 21 2c 7b  |R11}:LDMIA R3!,{|
00000480  52 34 2d 52 31 31 7d 3a  53 54 4d 49 41 20 52 31  |R4-R11}:STMIA R1|
00000490  21 2c 7b 52 34 2d 52 31  31 7d 0d 00 dc 4f 4c 44  |!,{R4-R11}...OLD|
000004a0  4d 49 41 20 52 33 21 2c  7b 52 34 2d 52 31 31 7d  |MIA R3!,{R4-R11}|
000004b0  3a 53 54 4d 49 41 20 52  31 21 2c 7b 52 34 2d 52  |:STMIA R1!,{R4-R|
000004c0  31 31 7d 3a 4c 44 4d 49  41 20 52 33 21 2c 7b 52  |11}:LDMIA R3!,{R|
000004d0  34 2d 52 31 31 7d 3a 53  54 4d 49 41 20 52 31 21  |4-R11}:STMIA R1!|
000004e0  2c 7b 52 34 2d 52 31 31  7d 0d 00 e6 4f 4c 44 4d  |,{R4-R11}...OLDM|
000004f0  49 41 20 52 33 21 2c 7b  52 34 2d 52 31 31 7d 3a  |IA R3!,{R4-R11}:|
00000500  53 54 4d 49 41 20 52 31  21 2c 7b 52 34 2d 52 31  |STMIA R1!,{R4-R1|
00000510  31 7d 3a 4c 44 4d 49 41  20 52 33 21 2c 7b 52 34  |1}:LDMIA R3!,{R4|
00000520  2d 52 31 31 7d 3a 53 54  4d 49 41 20 52 31 21 2c  |-R11}:STMIA R1!,|
00000530  7b 52 34 2d 52 31 31 7d  0d 00 f0 29 53 55 42 53  |{R4-R11}...)SUBS|
00000540  20 52 30 2c 52 30 2c 23  31 3a 42 4e 45 20 64 72  | R0,R0,#1:BNE dr|
00000550  61 77 6c 6f 6f 70 3a 4d  4f 56 20 50 43 2c 52 31  |awloop:MOV PC,R1|
00000560  34 0d 00 fa 10 2e 64 72  61 77 73 63 72 65 65 6e  |4.....drawscreen|
00000570  32 0d 01 04 44 4c 44 52  20 52 30 2c 74 68 72 65  |2...DLDR R0,thre|
00000580  65 74 3a 4c 44 52 20 52  31 2c 6f 75 74 70 75 74  |et:LDR R1,output|
00000590  32 3a 4c 44 52 20 52 32  2c 73 63 72 65 65 6e 70  |2:LDR R2,screenp|
000005a0  74 72 3a 4c 44 52 20 52  31 32 2c 73 63 61 6c 65  |tr:LDR R12,scale|
000005b0  62 6c 6f 63 6b 0d 01 0e  0e 2e 64 72 61 77 6c 6f  |block.....drawlo|
000005c0  6f 70 32 0d 01 18 48 4c  44 52 20 52 34 2c 5b 52  |op2...HLDR R4,[R|
000005d0  31 32 5d 2c 23 34 3a 52  53 42 20 52 34 2c 52 34  |12],#4:RSB R4,R4|
000005e0  2c 23 32 35 35 3a 41 44  44 20 52 33 2c 52 32 2c  |,#255:ADD R3,R2,|
000005f0  52 34 2c 4c 53 4c 23 38  3a 41 44 44 20 52 33 2c  |R4,LSL#8:ADD R3,|
00000600  52 33 2c 52 34 2c 4c 53  4c 23 36 0d 01 22 4f 4c  |R3,R4,LSL#6.."OL|
00000610  44 4d 49 41 20 52 33 21  2c 7b 52 34 2d 52 31 31  |DMIA R3!,{R4-R11|
00000620  7d 3a 53 54 4d 49 41 20  52 31 21 2c 7b 52 34 2d  |}:STMIA R1!,{R4-|
00000630  52 31 31 7d 3a 4c 44 4d  49 41 20 52 33 21 2c 7b  |R11}:LDMIA R3!,{|
00000640  52 34 2d 52 31 31 7d 3a  53 54 4d 49 41 20 52 31  |R4-R11}:STMIA R1|
00000650  21 2c 7b 52 34 2d 52 31  31 7d 0d 01 2c 4f 4c 44  |!,{R4-R11}..,OLD|
00000660  4d 49 41 20 52 33 21 2c  7b 52 34 2d 52 31 31 7d  |MIA R3!,{R4-R11}|
00000670  3a 53 54 4d 49 41 20 52  31 21 2c 7b 52 34 2d 52  |:STMIA R1!,{R4-R|
00000680  31 31 7d 3a 4c 44 4d 49  41 20 52 33 21 2c 7b 52  |11}:LDMIA R3!,{R|
00000690  34 2d 52 31 31 7d 3a 53  54 4d 49 41 20 52 31 21  |4-R11}:STMIA R1!|
000006a0  2c 7b 52 34 2d 52 31 31  7d 0d 01 36 4f 4c 44 4d  |,{R4-R11}..6OLDM|
000006b0  49 41 20 52 33 21 2c 7b  52 34 2d 52 31 31 7d 3a  |IA R3!,{R4-R11}:|
000006c0  53 54 4d 49 41 20 52 31  21 2c 7b 52 34 2d 52 31  |STMIA R1!,{R4-R1|
000006d0  31 7d 3a 4c 44 4d 49 41  20 52 33 21 2c 7b 52 34  |1}:LDMIA R3!,{R4|
000006e0  2d 52 31 31 7d 3a 53 54  4d 49 41 20 52 31 21 2c  |-R11}:STMIA R1!,|
000006f0  7b 52 34 2d 52 31 31 7d  0d 01 40 4f 4c 44 4d 49  |{R4-R11}..@OLDMI|
00000700  41 20 52 33 21 2c 7b 52  34 2d 52 31 31 7d 3a 53  |A R3!,{R4-R11}:S|
00000710  54 4d 49 41 20 52 31 21  2c 7b 52 34 2d 52 31 31  |TMIA R1!,{R4-R11|
00000720  7d 3a 4c 44 4d 49 41 20  52 33 21 2c 7b 52 34 2d  |}:LDMIA R3!,{R4-|
00000730  52 31 31 7d 3a 53 54 4d  49 41 20 52 31 21 2c 7b  |R11}:STMIA R1!,{|
00000740  52 34 2d 52 31 31 7d 0d  01 4a 4f 4c 44 4d 49 41  |R4-R11}..JOLDMIA|
00000750  20 52 33 21 2c 7b 52 34  2d 52 31 31 7d 3a 53 54  | R3!,{R4-R11}:ST|
00000760  4d 49 41 20 52 31 21 2c  7b 52 34 2d 52 31 31 7d  |MIA R1!,{R4-R11}|
00000770  3a 4c 44 4d 49 41 20 52  33 21 2c 7b 52 34 2d 52  |:LDMIA R3!,{R4-R|
00000780  31 31 7d 3a 53 54 4d 49  41 20 52 31 21 2c 7b 52  |11}:STMIA R1!,{R|
00000790  34 2d 52 31 31 7d 0d 01  54 2a 53 55 42 53 20 52  |4-R11}..T*SUBS R|
000007a0  30 2c 52 30 2c 23 31 3a  42 4e 45 20 64 72 61 77  |0,R0,#1:BNE draw|
000007b0  6c 6f 6f 70 32 3a 4d 4f  56 20 50 43 2c 52 31 34  |loop2:MOV PC,R14|
000007c0  0d 01 5e 05 5d 0d 01 68  0b ed 20 70 61 73 73 25  |..^.]..h.. pass%|
000007d0  0d 01 72 04 0d 01 7c 22  eb 20 31 35 3a eb 20 31  |..r...|". 15:. 1|
000007e0  33 3a c8 99 22 4f 53 5f  52 65 6d 6f 76 65 43 75  |3:.."OS_RemoveCu|
000007f0  72 73 6f 72 73 22 0d 01  90 0f 61 61 25 3d 31 3a  |rsors"....aa%=1:|
00000800  62 62 25 3d 32 0d 01 9a  05 f5 0d 01 a4 18 e3 20  |bb%=2.......... |
00000810  72 6f 77 73 3d 2e 30 31  20 b8 20 af 20 88 20 2e  |rows=.01 . . . .|
00000820  30 35 0d 01 ae 0e c8 94  20 61 61 25 2c 62 62 25  |05...... aa%,bb%|
00000830  0d 01 b8 2b c8 99 22 4f  53 5f 42 79 74 65 22 2c  |...+.."OS_Byte",|
00000840  31 31 32 2c 61 61 25 3a  c8 99 22 4f 53 5f 42 79  |112,aa%:.."OS_By|
00000850  74 65 22 2c 31 31 33 2c  62 62 25 0d 01 c2 0c d6  |te",113,bb%.....|
00000860  20 73 63 72 70 6f 73 0d  01 cc 2f 21 6f 75 74 70  | scrpos.../!outp|
00000870  75 74 32 3d 21 6f 75 74  70 75 74 2b 28 31 32 38  |ut2=!output+(128|
00000880  2d 28 32 35 36 2a b5 28  72 6f 77 73 29 29 81 20  |-(256*.(rows)). |
00000890  32 29 2a 33 32 30 0d 01  d6 17 21 74 68 72 65 65  |2)*320....!three|
000008a0  74 3d 32 35 36 2a b5 28  72 6f 77 73 29 0d 01 e0  |t=256*.(rows)...|
000008b0  0b d6 20 73 63 61 6c 65  0d 01 ea 05 db 0d 01 f4  |.. scale........|
000008c0  10 d6 20 64 72 61 77 73  63 72 65 65 6e 0d 01 fe  |.. drawscreen...|
000008d0  06 c8 96 0d 02 08 05 ed  0d 02 12 18 e3 20 72 6f  |............. ro|
000008e0  77 73 3d 2e 30 31 20 b8  20 af 20 88 20 2e 30 35  |ws=.01 . . . .05|
000008f0  0d 02 1c 0e c8 94 20 61  61 25 2c 62 62 25 0d 02  |...... aa%,bb%..|
00000900  26 2b c8 99 22 4f 53 5f  42 79 74 65 22 2c 31 31  |&+.."OS_Byte",11|
00000910  32 2c 61 61 25 3a c8 99  22 4f 53 5f 42 79 74 65  |2,aa%:.."OS_Byte|
00000920  22 2c 31 31 33 2c 62 62  25 0d 02 30 0c d6 20 73  |",113,bb%..0.. s|
00000930  63 72 70 6f 73 0d 02 3a  2f 21 6f 75 74 70 75 74  |crpos..:/!output|
00000940  32 3d 21 6f 75 74 70 75  74 2b 28 31 32 38 2d 28  |2=!output+(128-(|
00000950  32 35 36 2a b5 28 72 6f  77 73 29 29 81 20 32 29  |256*.(rows)). 2)|
00000960  2a 33 32 30 0d 02 44 17  21 74 68 72 65 65 74 3d  |*320..D.!threet=|
00000970  32 35 36 2a b5 28 72 6f  77 73 29 0d 02 4e 0b d6  |256*.(rows)..N..|
00000980  20 73 63 61 6c 65 0d 02  58 05 db 0d 02 62 11 d6  | scale..X....b..|
00000990  20 64 72 61 77 73 63 72  65 65 6e 32 0d 02 6c 06  | drawscreen2..l.|
000009a0  c8 96 0d 02 76 05 ed 0d  02 80 06 fd 30 0d ff     |....v.......0..|
000009af