Home » Archimedes archive » Acorn User » AU 1994-11.adf » !StarInfo_StarInfo » Taylor/FSierSpZoF

Taylor/FSierSpZoF

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 1994-11.adf » !StarInfo_StarInfo
Filename: Taylor/FSierSpZoF
Read OK:
File size: 139C bytes
Load address: 0000
Exec address: 0000
File contents
    1REM ** Real time spin & zoom Version 2 - loops unwrapped **
    2REM ** By Alan Taylor & Benjohn Barnes (University of Warwick) **
    3REM ** Move mouse left/right to zoom ** 
    4
    5MODE13
    6hpix% = 320
    7vpix% = 256
    8OFF
    9
   10DIM Code% 1024
   11
   12result         = 0
   13point          = 1
   14endofline      = 2
   15finished       = 3
   16worldlinestart = 4
   17worldxy        = 5
   18worldli        = 6
   19worlddi        = 7
   20colour         = 8
   21colour2        = 9
   22colour3        = 10
   23colour4        = 11
   24mask           = 12
   25link           = 14
   26pc             = 15
   27
   28FOR Pass%=0 TO 2 STEP 2
   29P%=Code%
   30[
   31OPT Pass%
   32
   33.begin   STMFD r13!, {link}
   34         LDR    point, ssa
   35         LDR    endofline, eol
   36         LDR    finished, sea
   37         LDR    worldlinestart, wxy
   38         MOV    worldxy,   worldlinestart
   39         LDR    worldli, wli
   40         LDR    worlddi, wdi
   41         MOV    mask, #&ff000000
   42
   43.loop    AND    result, worldxy, worldxy, ASL #16
   44         CMP    result, #2^22
   45         MOVle  colour, #&000000ff
   46         MOVgt  colour, #&00000000
   47         ADD    worldxy, worldxy, worldli
   48
   49         AND    result, worldxy, worldxy, ASL #16
   50         CMP    result, #2^22
   51         ORRle  colour, colour, #&0000ff00
   52         ADD    worldxy,   worldxy,   worldli
   53
   54         AND    result, worldxy, worldxy, ASL #16
   55         CMP    result, #2^22
   56         ORRle  colour, colour, #&00ff0000
   57         ADD    worldxy,   worldxy,   worldli
   58
   59         AND    result, worldxy, worldxy, ASL #16
   60         CMP    result, #2^22
   61         ORRle  colour, colour, #&ff000000
   62         ADD    worldxy, worldxy, worldli
   63
   64         AND    result, worldxy, worldxy, ASL #16
   65         CMP    result, #2^22
   66         MOVle  colour2, #&000000ff
   67         MOVgt  colour2, #&00000000
   68         ADD    worldxy, worldxy, worldli
   69
   70         AND    result, worldxy, worldxy, ASL #16
   71         CMP    result, #2^22
   72         ORRle  colour2, colour2, #&0000ff00
   73         ADD    worldxy,   worldxy,   worldli
   74
   75         AND    result, worldxy, worldxy, ASL #16
   76         CMP    result, #2^22
   77         ORRle  colour2, colour2, #&00ff0000
   78         ADD    worldxy,   worldxy,   worldli
   79
   80         AND    result, worldxy, worldxy, ASL #16
   81         CMP    result, #2^22
   82         ORRle  colour2, colour2, #&ff000000
   83         ADD    worldxy, worldxy, worldli
   84
   85         AND    result, worldxy, worldxy, ASL #16
   86         CMP    result, #2^22
   87         MOVle  colour3, #&000000ff
   88         MOVgt  colour3, #&00000000
   89         ADD    worldxy, worldxy, worldli
   90
   91         AND    result, worldxy, worldxy, ASL #16
   92         CMP    result, #2^22
   93         ORRle  colour3, colour3, #&0000ff00
   94         ADD    worldxy,   worldxy,   worldli
   95
   96         AND    result, worldxy, worldxy, ASL #16
   97         CMP    result, #2^22
   98         ORRle  colour3, colour3, #&00ff0000
   99         ADD    worldxy,   worldxy,   worldli
  100
  101         AND    result, worldxy, worldxy, ASL #16
  102         CMP    result, #2^22
  103         ORRle  colour3, colour3, #&ff000000
  104         ADD    worldxy, worldxy, worldli
  105
  106         AND    result, worldxy, worldxy, ASL #16
  107         CMP    result, #2^22
  108         MOVle  colour4, #&000000ff
  109         MOVgt  colour4, #&00000000
  110         ADD    worldxy, worldxy, worldli
  111
  112         AND    result, worldxy, worldxy, ASL #16
  113         CMP    result, #2^22
  114         ORRle  colour4, colour4, #&0000ff00
  115         ADD    worldxy,   worldxy,   worldli
  116
  117         AND    result, worldxy, worldxy, ASL #16
  118         CMP    result, #2^22
  119         ORRle  colour4, colour4, #&00ff0000
  120         ADD    worldxy,   worldxy,   worldli
  121
  122         AND    result, worldxy, worldxy, ASL #16
  123         CMP    result, #2^22
  124         ORRle  colour4, colour4, #&ff000000
  125         ADD    worldxy, worldxy, worldli
  126
  127         STMib  (point)!, {colour - colour4}
  128         
  129         CMP    point, endofline
  130         Blt    loop
  131
  132         ADD    worldlinestart, worldlinestart, worlddi
  133         MOV    worldxy, worldlinestart
  134         ADD    endofline, endofline, #hpix%
  135         CMP    endofline, finished
  136         Blt    loop
  137
  138.ret     LDMFD  r13!, {pc}
  139
  140.ssa     EQUD  FNScreenAddress - 4
  141.eol     EQUD  !ssa + hpix%
  142.sea     EQUD  !ssa + hpix% * vpix%
  143.wxy     EQUD  &00000000
  144.wli     EQUD  &00000080
  145.wdi     EQUD  &00800000
  146]
  147NEXT
  148
  149T = 2^14
  150REPEAT
  151      FOR S% = 0 TO 359
  152          MOUSE A%,B%,C%
  153          WAIT
  154          CALL begin
  155          !wli = INT(A%*SINRAD(S%)) + INT(A%*COSRAD(S%))*2^16
  156          !wdi = INT(A%*COSRAD(S%)) - INT(A%*SINRAD(S%))*2^16
  157          !wxy = -INT(T*SINRAD(S%)+T*COSRAD(S%)) - INT(T*COSRAD(S%)-T*SINRAD(S%))*2^16
  158      NEXT
  159UNTIL FALSE
  160END
  161
  162DEF FNScreenAddress
  163    DIM Blk% 16
  164    Blk%!00 = 149
  165    Blk%!04 = -1
  166    SYS "OS_ReadVduVariables", Blk%, Blk%+8
  167= Blk%!08
  168
  169
  170
  171
=� ** Real time spin & zoom Version 2 - loops unwrapped **
C� ** By Alan Taylor & Benjohn Barnes (University of Warwick) **
*� ** Move mouse left/right to zoom ** 

�13
hpix% = 320
vpix% = 256
�
	

� Code% 1024

result         = 0

point          = 1
endofline      = 2
finished       = 3
worldlinestart = 4
worldxy        = 5
worldli        = 6
worlddi        = 7
colour         = 8
colour2        = 9
colour3        = 10
colour4        = 11
mask           = 12
link           = 14
pc             = 15

� Pass%=0 � 2 � 2
P%=Code%
[

OPT Pass%
 
!.begin   STMFD r13!, {link}
"         LDR    point, ssa
#"         LDR    endofline, eol
$!         LDR    finished, sea
%'         LDR    worldlinestart, wxy
&-         MOV    worldxy,   worldlinestart
'          LDR    worldli, wli
(          LDR    worlddi, wdi
)$         MOV    mask, #&ff000000
*
+3.loop    �    result, worldxy, worldxy, ASL #16
,!         CMP    result, #2^22
-&         MOVle  colour, #&000000ff
.&         MOVgt  colour, #&00000000
/-         ADD    worldxy, worldxy, worldli
0
13         �    result, worldxy, worldxy, ASL #16
2!         CMP    result, #2^22
3-         �Rle  colour, colour, #&0000ff00
41         ADD    worldxy,   worldxy,   worldli
5
63         �    result, worldxy, worldxy, ASL #16
7!         CMP    result, #2^22
8-         �Rle  colour, colour, #&00ff0000
91         ADD    worldxy,   worldxy,   worldli
:
;3         �    result, worldxy, worldxy, ASL #16
<!         CMP    result, #2^22
=-         �Rle  colour, colour, #&ff000000
>-         ADD    worldxy, worldxy, worldli
?
@3         �    result, worldxy, worldxy, ASL #16
A!         CMP    result, #2^22
B'         MOVle  colour2, #&000000ff
C'         MOVgt  colour2, #&00000000
D-         ADD    worldxy, worldxy, worldli
E
F3         �    result, worldxy, worldxy, ASL #16
G!         CMP    result, #2^22
H/         �Rle  colour2, colour2, #&0000ff00
I1         ADD    worldxy,   worldxy,   worldli
J
K3         �    result, worldxy, worldxy, ASL #16
L!         CMP    result, #2^22
M/         �Rle  colour2, colour2, #&00ff0000
N1         ADD    worldxy,   worldxy,   worldli
O
P3         �    result, worldxy, worldxy, ASL #16
Q!         CMP    result, #2^22
R/         �Rle  colour2, colour2, #&ff000000
S-         ADD    worldxy, worldxy, worldli
T
U3         �    result, worldxy, worldxy, ASL #16
V!         CMP    result, #2^22
W'         MOVle  colour3, #&000000ff
X'         MOVgt  colour3, #&00000000
Y-         ADD    worldxy, worldxy, worldli
Z
[3         �    result, worldxy, worldxy, ASL #16
\!         CMP    result, #2^22
]/         �Rle  colour3, colour3, #&0000ff00
^1         ADD    worldxy,   worldxy,   worldli
_
`3         �    result, worldxy, worldxy, ASL #16
a!         CMP    result, #2^22
b/         �Rle  colour3, colour3, #&00ff0000
c1         ADD    worldxy,   worldxy,   worldli
d
e3         �    result, worldxy, worldxy, ASL #16
f!         CMP    result, #2^22
g/         �Rle  colour3, colour3, #&ff000000
h-         ADD    worldxy, worldxy, worldli
i
j3         �    result, worldxy, worldxy, ASL #16
k!         CMP    result, #2^22
l'         MOVle  colour4, #&000000ff
m'         MOVgt  colour4, #&00000000
n-         ADD    worldxy, worldxy, worldli
o
p3         �    result, worldxy, worldxy, ASL #16
q!         CMP    result, #2^22
r/         �Rle  colour4, colour4, #&0000ff00
s1         ADD    worldxy,   worldxy,   worldli
t
u3         �    result, worldxy, worldxy, ASL #16
v!         CMP    result, #2^22
w/         �Rle  colour4, colour4, #&00ff0000
x1         ADD    worldxy,   worldxy,   worldli
y
z3         �    result, worldxy, worldxy, ASL #16
{!         CMP    result, #2^22
|/         �Rle  colour4, colour4, #&ff000000
}-         ADD    worldxy, worldxy, worldli
~
0         STMib  (point)!, {colour - colour4}
�
         
�$         CMP    point, endofline
�         Blt    loop
�
�;         ADD    worldlinestart, worldlinestart, worlddi
�+         MOV    worldxy, worldlinestart
�0         ADD    endofline, endofline, #hpix%
�'         CMP    endofline, finished
�         Blt    loop
�
�.ret     LDMFD  r13!, {pc}
�
�%.ssa     EQUD  �ScreenAddress - 4
�.eol     EQUD  !ssa + hpix%
�'.sea     EQUD  !ssa + hpix% * vpix%
�.wxy     EQUD  &00000000
�.wli     EQUD  &00000080
�.wdi     EQUD  &00800000
�]
��
�
�T = 2^14
��
�      � S% = 0 � 359
�          ȗ A%,B%,C%
�          Ȗ
�          � begin
�5          !wli = �(A%*��(S%)) + �(A%*��(S%))*2^16
�5          !wdi = �(A%*��(S%)) - �(A%*��(S%))*2^16
�F          !wxy = -�(T*��(S%)+T*��(S%)) - �(T*��(S%)-T*��(S%))*2^16
�      �
�� �
��
�
�� �ScreenAddress
�    � Blk% 16
�    Blk%!00 = 149
�    Blk%!04 = -1
�.    ș "OS_ReadVduVariables", Blk%, Blk%+8
�
= Blk%!08
�
�
�
�
�
00000000  0d 00 01 3d f4 20 2a 2a  20 52 65 61 6c 20 74 69  |...=. ** Real ti|
00000010  6d 65 20 73 70 69 6e 20  26 20 7a 6f 6f 6d 20 56  |me spin & zoom V|
00000020  65 72 73 69 6f 6e 20 32  20 2d 20 6c 6f 6f 70 73  |ersion 2 - loops|
00000030  20 75 6e 77 72 61 70 70  65 64 20 2a 2a 0d 00 02  | unwrapped **...|
00000040  43 f4 20 2a 2a 20 42 79  20 41 6c 61 6e 20 54 61  |C. ** By Alan Ta|
00000050  79 6c 6f 72 20 26 20 42  65 6e 6a 6f 68 6e 20 42  |ylor & Benjohn B|
00000060  61 72 6e 65 73 20 28 55  6e 69 76 65 72 73 69 74  |arnes (Universit|
00000070  79 20 6f 66 20 57 61 72  77 69 63 6b 29 20 2a 2a  |y of Warwick) **|
00000080  0d 00 03 2a f4 20 2a 2a  20 4d 6f 76 65 20 6d 6f  |...*. ** Move mo|
00000090  75 73 65 20 6c 65 66 74  2f 72 69 67 68 74 20 74  |use left/right t|
000000a0  6f 20 7a 6f 6f 6d 20 2a  2a 20 0d 00 04 04 0d 00  |o zoom ** ......|
000000b0  05 07 eb 31 33 0d 00 06  0f 68 70 69 78 25 20 3d  |...13....hpix% =|
000000c0  20 33 32 30 0d 00 07 0f  76 70 69 78 25 20 3d 20  | 320....vpix% = |
000000d0  32 35 36 0d 00 08 05 87  0d 00 09 04 0d 00 0a 10  |256.............|
000000e0  de 20 43 6f 64 65 25 20  31 30 32 34 0d 00 0b 04  |. Code% 1024....|
000000f0  0d 00 0c 16 72 65 73 75  6c 74 20 20 20 20 20 20  |....result      |
00000100  20 20 20 3d 20 30 0d 00  0d 16 70 6f 69 6e 74 20  |   = 0....point |
00000110  20 20 20 20 20 20 20 20  20 3d 20 31 0d 00 0e 16  |         = 1....|
00000120  65 6e 64 6f 66 6c 69 6e  65 20 20 20 20 20 20 3d  |endofline      =|
00000130  20 32 0d 00 0f 16 66 69  6e 69 73 68 65 64 20 20  | 2....finished  |
00000140  20 20 20 20 20 3d 20 33  0d 00 10 16 77 6f 72 6c  |     = 3....worl|
00000150  64 6c 69 6e 65 73 74 61  72 74 20 3d 20 34 0d 00  |dlinestart = 4..|
00000160  11 16 77 6f 72 6c 64 78  79 20 20 20 20 20 20 20  |..worldxy       |
00000170  20 3d 20 35 0d 00 12 16  77 6f 72 6c 64 6c 69 20  | = 5....worldli |
00000180  20 20 20 20 20 20 20 3d  20 36 0d 00 13 16 77 6f  |       = 6....wo|
00000190  72 6c 64 64 69 20 20 20  20 20 20 20 20 3d 20 37  |rlddi        = 7|
000001a0  0d 00 14 16 63 6f 6c 6f  75 72 20 20 20 20 20 20  |....colour      |
000001b0  20 20 20 3d 20 38 0d 00  15 16 63 6f 6c 6f 75 72  |   = 8....colour|
000001c0  32 20 20 20 20 20 20 20  20 3d 20 39 0d 00 16 17  |2        = 9....|
000001d0  63 6f 6c 6f 75 72 33 20  20 20 20 20 20 20 20 3d  |colour3        =|
000001e0  20 31 30 0d 00 17 17 63  6f 6c 6f 75 72 34 20 20  | 10....colour4  |
000001f0  20 20 20 20 20 20 3d 20  31 31 0d 00 18 17 6d 61  |      = 11....ma|
00000200  73 6b 20 20 20 20 20 20  20 20 20 20 20 3d 20 31  |sk           = 1|
00000210  32 0d 00 19 17 6c 69 6e  6b 20 20 20 20 20 20 20  |2....link       |
00000220  20 20 20 20 3d 20 31 34  0d 00 1a 17 70 63 20 20  |    = 14....pc  |
00000230  20 20 20 20 20 20 20 20  20 20 20 3d 20 31 35 0d  |           = 15.|
00000240  00 1b 04 0d 00 1c 15 e3  20 50 61 73 73 25 3d 30  |........ Pass%=0|
00000250  20 b8 20 32 20 88 20 32  0d 00 1d 0c 50 25 3d 43  | . 2 . 2....P%=C|
00000260  6f 64 65 25 0d 00 1e 05  5b 0d 00 1f 0d 4f 50 54  |ode%....[....OPT|
00000270  20 50 61 73 73 25 0d 00  20 04 0d 00 21 1f 2e 62  | Pass%.. ...!..b|
00000280  65 67 69 6e 20 20 20 53  54 4d 46 44 20 72 31 33  |egin   STMFD r13|
00000290  21 2c 20 7b 6c 69 6e 6b  7d 0d 00 22 1e 20 20 20  |!, {link}..".   |
000002a0  20 20 20 20 20 20 4c 44  52 20 20 20 20 70 6f 69  |      LDR    poi|
000002b0  6e 74 2c 20 73 73 61 0d  00 23 22 20 20 20 20 20  |nt, ssa..#"     |
000002c0  20 20 20 20 4c 44 52 20  20 20 20 65 6e 64 6f 66  |    LDR    endof|
000002d0  6c 69 6e 65 2c 20 65 6f  6c 0d 00 24 21 20 20 20  |line, eol..$!   |
000002e0  20 20 20 20 20 20 4c 44  52 20 20 20 20 66 69 6e  |      LDR    fin|
000002f0  69 73 68 65 64 2c 20 73  65 61 0d 00 25 27 20 20  |ished, sea..%'  |
00000300  20 20 20 20 20 20 20 4c  44 52 20 20 20 20 77 6f  |       LDR    wo|
00000310  72 6c 64 6c 69 6e 65 73  74 61 72 74 2c 20 77 78  |rldlinestart, wx|
00000320  79 0d 00 26 2d 20 20 20  20 20 20 20 20 20 4d 4f  |y..&-         MO|
00000330  56 20 20 20 20 77 6f 72  6c 64 78 79 2c 20 20 20  |V    worldxy,   |
00000340  77 6f 72 6c 64 6c 69 6e  65 73 74 61 72 74 0d 00  |worldlinestart..|
00000350  27 20 20 20 20 20 20 20  20 20 20 4c 44 52 20 20  |'          LDR  |
00000360  20 20 77 6f 72 6c 64 6c  69 2c 20 77 6c 69 0d 00  |  worldli, wli..|
00000370  28 20 20 20 20 20 20 20  20 20 20 4c 44 52 20 20  |(          LDR  |
00000380  20 20 77 6f 72 6c 64 64  69 2c 20 77 64 69 0d 00  |  worlddi, wdi..|
00000390  29 24 20 20 20 20 20 20  20 20 20 4d 4f 56 20 20  |)$         MOV  |
000003a0  20 20 6d 61 73 6b 2c 20  23 26 66 66 30 30 30 30  |  mask, #&ff0000|
000003b0  30 30 0d 00 2a 04 0d 00  2b 33 2e 6c 6f 6f 70 20  |00..*...+3.loop |
000003c0  20 20 20 80 20 20 20 20  72 65 73 75 6c 74 2c 20  |   .    result, |
000003d0  77 6f 72 6c 64 78 79 2c  20 77 6f 72 6c 64 78 79  |worldxy, worldxy|
000003e0  2c 20 41 53 4c 20 23 31  36 0d 00 2c 21 20 20 20  |, ASL #16..,!   |
000003f0  20 20 20 20 20 20 43 4d  50 20 20 20 20 72 65 73  |      CMP    res|
00000400  75 6c 74 2c 20 23 32 5e  32 32 0d 00 2d 26 20 20  |ult, #2^22..-&  |
00000410  20 20 20 20 20 20 20 4d  4f 56 6c 65 20 20 63 6f  |       MOVle  co|
00000420  6c 6f 75 72 2c 20 23 26  30 30 30 30 30 30 66 66  |lour, #&000000ff|
00000430  0d 00 2e 26 20 20 20 20  20 20 20 20 20 4d 4f 56  |...&         MOV|
00000440  67 74 20 20 63 6f 6c 6f  75 72 2c 20 23 26 30 30  |gt  colour, #&00|
00000450  30 30 30 30 30 30 0d 00  2f 2d 20 20 20 20 20 20  |000000../-      |
00000460  20 20 20 41 44 44 20 20  20 20 77 6f 72 6c 64 78  |   ADD    worldx|
00000470  79 2c 20 77 6f 72 6c 64  78 79 2c 20 77 6f 72 6c  |y, worldxy, worl|
00000480  64 6c 69 0d 00 30 04 0d  00 31 33 20 20 20 20 20  |dli..0...13     |
00000490  20 20 20 20 80 20 20 20  20 72 65 73 75 6c 74 2c  |    .    result,|
000004a0  20 77 6f 72 6c 64 78 79  2c 20 77 6f 72 6c 64 78  | worldxy, worldx|
000004b0  79 2c 20 41 53 4c 20 23  31 36 0d 00 32 21 20 20  |y, ASL #16..2!  |
000004c0  20 20 20 20 20 20 20 43  4d 50 20 20 20 20 72 65  |       CMP    re|
000004d0  73 75 6c 74 2c 20 23 32  5e 32 32 0d 00 33 2d 20  |sult, #2^22..3- |
000004e0  20 20 20 20 20 20 20 20  84 52 6c 65 20 20 63 6f  |        .Rle  co|
000004f0  6c 6f 75 72 2c 20 63 6f  6c 6f 75 72 2c 20 23 26  |lour, colour, #&|
00000500  30 30 30 30 66 66 30 30  0d 00 34 31 20 20 20 20  |0000ff00..41    |
00000510  20 20 20 20 20 41 44 44  20 20 20 20 77 6f 72 6c  |     ADD    worl|
00000520  64 78 79 2c 20 20 20 77  6f 72 6c 64 78 79 2c 20  |dxy,   worldxy, |
00000530  20 20 77 6f 72 6c 64 6c  69 0d 00 35 04 0d 00 36  |  worldli..5...6|
00000540  33 20 20 20 20 20 20 20  20 20 80 20 20 20 20 72  |3         .    r|
00000550  65 73 75 6c 74 2c 20 77  6f 72 6c 64 78 79 2c 20  |esult, worldxy, |
00000560  77 6f 72 6c 64 78 79 2c  20 41 53 4c 20 23 31 36  |worldxy, ASL #16|
00000570  0d 00 37 21 20 20 20 20  20 20 20 20 20 43 4d 50  |..7!         CMP|
00000580  20 20 20 20 72 65 73 75  6c 74 2c 20 23 32 5e 32  |    result, #2^2|
00000590  32 0d 00 38 2d 20 20 20  20 20 20 20 20 20 84 52  |2..8-         .R|
000005a0  6c 65 20 20 63 6f 6c 6f  75 72 2c 20 63 6f 6c 6f  |le  colour, colo|
000005b0  75 72 2c 20 23 26 30 30  66 66 30 30 30 30 0d 00  |ur, #&00ff0000..|
000005c0  39 31 20 20 20 20 20 20  20 20 20 41 44 44 20 20  |91         ADD  |
000005d0  20 20 77 6f 72 6c 64 78  79 2c 20 20 20 77 6f 72  |  worldxy,   wor|
000005e0  6c 64 78 79 2c 20 20 20  77 6f 72 6c 64 6c 69 0d  |ldxy,   worldli.|
000005f0  00 3a 04 0d 00 3b 33 20  20 20 20 20 20 20 20 20  |.:...;3         |
00000600  80 20 20 20 20 72 65 73  75 6c 74 2c 20 77 6f 72  |.    result, wor|
00000610  6c 64 78 79 2c 20 77 6f  72 6c 64 78 79 2c 20 41  |ldxy, worldxy, A|
00000620  53 4c 20 23 31 36 0d 00  3c 21 20 20 20 20 20 20  |SL #16..<!      |
00000630  20 20 20 43 4d 50 20 20  20 20 72 65 73 75 6c 74  |   CMP    result|
00000640  2c 20 23 32 5e 32 32 0d  00 3d 2d 20 20 20 20 20  |, #2^22..=-     |
00000650  20 20 20 20 84 52 6c 65  20 20 63 6f 6c 6f 75 72  |    .Rle  colour|
00000660  2c 20 63 6f 6c 6f 75 72  2c 20 23 26 66 66 30 30  |, colour, #&ff00|
00000670  30 30 30 30 0d 00 3e 2d  20 20 20 20 20 20 20 20  |0000..>-        |
00000680  20 41 44 44 20 20 20 20  77 6f 72 6c 64 78 79 2c  | ADD    worldxy,|
00000690  20 77 6f 72 6c 64 78 79  2c 20 77 6f 72 6c 64 6c  | worldxy, worldl|
000006a0  69 0d 00 3f 04 0d 00 40  33 20 20 20 20 20 20 20  |i..?...@3       |
000006b0  20 20 80 20 20 20 20 72  65 73 75 6c 74 2c 20 77  |  .    result, w|
000006c0  6f 72 6c 64 78 79 2c 20  77 6f 72 6c 64 78 79 2c  |orldxy, worldxy,|
000006d0  20 41 53 4c 20 23 31 36  0d 00 41 21 20 20 20 20  | ASL #16..A!    |
000006e0  20 20 20 20 20 43 4d 50  20 20 20 20 72 65 73 75  |     CMP    resu|
000006f0  6c 74 2c 20 23 32 5e 32  32 0d 00 42 27 20 20 20  |lt, #2^22..B'   |
00000700  20 20 20 20 20 20 4d 4f  56 6c 65 20 20 63 6f 6c  |      MOVle  col|
00000710  6f 75 72 32 2c 20 23 26  30 30 30 30 30 30 66 66  |our2, #&000000ff|
00000720  0d 00 43 27 20 20 20 20  20 20 20 20 20 4d 4f 56  |..C'         MOV|
00000730  67 74 20 20 63 6f 6c 6f  75 72 32 2c 20 23 26 30  |gt  colour2, #&0|
00000740  30 30 30 30 30 30 30 0d  00 44 2d 20 20 20 20 20  |0000000..D-     |
00000750  20 20 20 20 41 44 44 20  20 20 20 77 6f 72 6c 64  |    ADD    world|
00000760  78 79 2c 20 77 6f 72 6c  64 78 79 2c 20 77 6f 72  |xy, worldxy, wor|
00000770  6c 64 6c 69 0d 00 45 04  0d 00 46 33 20 20 20 20  |ldli..E...F3    |
00000780  20 20 20 20 20 80 20 20  20 20 72 65 73 75 6c 74  |     .    result|
00000790  2c 20 77 6f 72 6c 64 78  79 2c 20 77 6f 72 6c 64  |, worldxy, world|
000007a0  78 79 2c 20 41 53 4c 20  23 31 36 0d 00 47 21 20  |xy, ASL #16..G! |
000007b0  20 20 20 20 20 20 20 20  43 4d 50 20 20 20 20 72  |        CMP    r|
000007c0  65 73 75 6c 74 2c 20 23  32 5e 32 32 0d 00 48 2f  |esult, #2^22..H/|
000007d0  20 20 20 20 20 20 20 20  20 84 52 6c 65 20 20 63  |         .Rle  c|
000007e0  6f 6c 6f 75 72 32 2c 20  63 6f 6c 6f 75 72 32 2c  |olour2, colour2,|
000007f0  20 23 26 30 30 30 30 66  66 30 30 0d 00 49 31 20  | #&0000ff00..I1 |
00000800  20 20 20 20 20 20 20 20  41 44 44 20 20 20 20 77  |        ADD    w|
00000810  6f 72 6c 64 78 79 2c 20  20 20 77 6f 72 6c 64 78  |orldxy,   worldx|
00000820  79 2c 20 20 20 77 6f 72  6c 64 6c 69 0d 00 4a 04  |y,   worldli..J.|
00000830  0d 00 4b 33 20 20 20 20  20 20 20 20 20 80 20 20  |..K3         .  |
00000840  20 20 72 65 73 75 6c 74  2c 20 77 6f 72 6c 64 78  |  result, worldx|
00000850  79 2c 20 77 6f 72 6c 64  78 79 2c 20 41 53 4c 20  |y, worldxy, ASL |
00000860  23 31 36 0d 00 4c 21 20  20 20 20 20 20 20 20 20  |#16..L!         |
00000870  43 4d 50 20 20 20 20 72  65 73 75 6c 74 2c 20 23  |CMP    result, #|
00000880  32 5e 32 32 0d 00 4d 2f  20 20 20 20 20 20 20 20  |2^22..M/        |
00000890  20 84 52 6c 65 20 20 63  6f 6c 6f 75 72 32 2c 20  | .Rle  colour2, |
000008a0  63 6f 6c 6f 75 72 32 2c  20 23 26 30 30 66 66 30  |colour2, #&00ff0|
000008b0  30 30 30 0d 00 4e 31 20  20 20 20 20 20 20 20 20  |000..N1         |
000008c0  41 44 44 20 20 20 20 77  6f 72 6c 64 78 79 2c 20  |ADD    worldxy, |
000008d0  20 20 77 6f 72 6c 64 78  79 2c 20 20 20 77 6f 72  |  worldxy,   wor|
000008e0  6c 64 6c 69 0d 00 4f 04  0d 00 50 33 20 20 20 20  |ldli..O...P3    |
000008f0  20 20 20 20 20 80 20 20  20 20 72 65 73 75 6c 74  |     .    result|
00000900  2c 20 77 6f 72 6c 64 78  79 2c 20 77 6f 72 6c 64  |, worldxy, world|
00000910  78 79 2c 20 41 53 4c 20  23 31 36 0d 00 51 21 20  |xy, ASL #16..Q! |
00000920  20 20 20 20 20 20 20 20  43 4d 50 20 20 20 20 72  |        CMP    r|
00000930  65 73 75 6c 74 2c 20 23  32 5e 32 32 0d 00 52 2f  |esult, #2^22..R/|
00000940  20 20 20 20 20 20 20 20  20 84 52 6c 65 20 20 63  |         .Rle  c|
00000950  6f 6c 6f 75 72 32 2c 20  63 6f 6c 6f 75 72 32 2c  |olour2, colour2,|
00000960  20 23 26 66 66 30 30 30  30 30 30 0d 00 53 2d 20  | #&ff000000..S- |
00000970  20 20 20 20 20 20 20 20  41 44 44 20 20 20 20 77  |        ADD    w|
00000980  6f 72 6c 64 78 79 2c 20  77 6f 72 6c 64 78 79 2c  |orldxy, worldxy,|
00000990  20 77 6f 72 6c 64 6c 69  0d 00 54 04 0d 00 55 33  | worldli..T...U3|
000009a0  20 20 20 20 20 20 20 20  20 80 20 20 20 20 72 65  |         .    re|
000009b0  73 75 6c 74 2c 20 77 6f  72 6c 64 78 79 2c 20 77  |sult, worldxy, w|
000009c0  6f 72 6c 64 78 79 2c 20  41 53 4c 20 23 31 36 0d  |orldxy, ASL #16.|
000009d0  00 56 21 20 20 20 20 20  20 20 20 20 43 4d 50 20  |.V!         CMP |
000009e0  20 20 20 72 65 73 75 6c  74 2c 20 23 32 5e 32 32  |   result, #2^22|
000009f0  0d 00 57 27 20 20 20 20  20 20 20 20 20 4d 4f 56  |..W'         MOV|
00000a00  6c 65 20 20 63 6f 6c 6f  75 72 33 2c 20 23 26 30  |le  colour3, #&0|
00000a10  30 30 30 30 30 66 66 0d  00 58 27 20 20 20 20 20  |00000ff..X'     |
00000a20  20 20 20 20 4d 4f 56 67  74 20 20 63 6f 6c 6f 75  |    MOVgt  colou|
00000a30  72 33 2c 20 23 26 30 30  30 30 30 30 30 30 0d 00  |r3, #&00000000..|
00000a40  59 2d 20 20 20 20 20 20  20 20 20 41 44 44 20 20  |Y-         ADD  |
00000a50  20 20 77 6f 72 6c 64 78  79 2c 20 77 6f 72 6c 64  |  worldxy, world|
00000a60  78 79 2c 20 77 6f 72 6c  64 6c 69 0d 00 5a 04 0d  |xy, worldli..Z..|
00000a70  00 5b 33 20 20 20 20 20  20 20 20 20 80 20 20 20  |.[3         .   |
00000a80  20 72 65 73 75 6c 74 2c  20 77 6f 72 6c 64 78 79  | result, worldxy|
00000a90  2c 20 77 6f 72 6c 64 78  79 2c 20 41 53 4c 20 23  |, worldxy, ASL #|
00000aa0  31 36 0d 00 5c 21 20 20  20 20 20 20 20 20 20 43  |16..\!         C|
00000ab0  4d 50 20 20 20 20 72 65  73 75 6c 74 2c 20 23 32  |MP    result, #2|
00000ac0  5e 32 32 0d 00 5d 2f 20  20 20 20 20 20 20 20 20  |^22..]/         |
00000ad0  84 52 6c 65 20 20 63 6f  6c 6f 75 72 33 2c 20 63  |.Rle  colour3, c|
00000ae0  6f 6c 6f 75 72 33 2c 20  23 26 30 30 30 30 66 66  |olour3, #&0000ff|
00000af0  30 30 0d 00 5e 31 20 20  20 20 20 20 20 20 20 41  |00..^1         A|
00000b00  44 44 20 20 20 20 77 6f  72 6c 64 78 79 2c 20 20  |DD    worldxy,  |
00000b10  20 77 6f 72 6c 64 78 79  2c 20 20 20 77 6f 72 6c  | worldxy,   worl|
00000b20  64 6c 69 0d 00 5f 04 0d  00 60 33 20 20 20 20 20  |dli.._...`3     |
00000b30  20 20 20 20 80 20 20 20  20 72 65 73 75 6c 74 2c  |    .    result,|
00000b40  20 77 6f 72 6c 64 78 79  2c 20 77 6f 72 6c 64 78  | worldxy, worldx|
00000b50  79 2c 20 41 53 4c 20 23  31 36 0d 00 61 21 20 20  |y, ASL #16..a!  |
00000b60  20 20 20 20 20 20 20 43  4d 50 20 20 20 20 72 65  |       CMP    re|
00000b70  73 75 6c 74 2c 20 23 32  5e 32 32 0d 00 62 2f 20  |sult, #2^22..b/ |
00000b80  20 20 20 20 20 20 20 20  84 52 6c 65 20 20 63 6f  |        .Rle  co|
00000b90  6c 6f 75 72 33 2c 20 63  6f 6c 6f 75 72 33 2c 20  |lour3, colour3, |
00000ba0  23 26 30 30 66 66 30 30  30 30 0d 00 63 31 20 20  |#&00ff0000..c1  |
00000bb0  20 20 20 20 20 20 20 41  44 44 20 20 20 20 77 6f  |       ADD    wo|
00000bc0  72 6c 64 78 79 2c 20 20  20 77 6f 72 6c 64 78 79  |rldxy,   worldxy|
00000bd0  2c 20 20 20 77 6f 72 6c  64 6c 69 0d 00 64 04 0d  |,   worldli..d..|
00000be0  00 65 33 20 20 20 20 20  20 20 20 20 80 20 20 20  |.e3         .   |
00000bf0  20 72 65 73 75 6c 74 2c  20 77 6f 72 6c 64 78 79  | result, worldxy|
00000c00  2c 20 77 6f 72 6c 64 78  79 2c 20 41 53 4c 20 23  |, worldxy, ASL #|
00000c10  31 36 0d 00 66 21 20 20  20 20 20 20 20 20 20 43  |16..f!         C|
00000c20  4d 50 20 20 20 20 72 65  73 75 6c 74 2c 20 23 32  |MP    result, #2|
00000c30  5e 32 32 0d 00 67 2f 20  20 20 20 20 20 20 20 20  |^22..g/         |
00000c40  84 52 6c 65 20 20 63 6f  6c 6f 75 72 33 2c 20 63  |.Rle  colour3, c|
00000c50  6f 6c 6f 75 72 33 2c 20  23 26 66 66 30 30 30 30  |olour3, #&ff0000|
00000c60  30 30 0d 00 68 2d 20 20  20 20 20 20 20 20 20 41  |00..h-         A|
00000c70  44 44 20 20 20 20 77 6f  72 6c 64 78 79 2c 20 77  |DD    worldxy, w|
00000c80  6f 72 6c 64 78 79 2c 20  77 6f 72 6c 64 6c 69 0d  |orldxy, worldli.|
00000c90  00 69 04 0d 00 6a 33 20  20 20 20 20 20 20 20 20  |.i...j3         |
00000ca0  80 20 20 20 20 72 65 73  75 6c 74 2c 20 77 6f 72  |.    result, wor|
00000cb0  6c 64 78 79 2c 20 77 6f  72 6c 64 78 79 2c 20 41  |ldxy, worldxy, A|
00000cc0  53 4c 20 23 31 36 0d 00  6b 21 20 20 20 20 20 20  |SL #16..k!      |
00000cd0  20 20 20 43 4d 50 20 20  20 20 72 65 73 75 6c 74  |   CMP    result|
00000ce0  2c 20 23 32 5e 32 32 0d  00 6c 27 20 20 20 20 20  |, #2^22..l'     |
00000cf0  20 20 20 20 4d 4f 56 6c  65 20 20 63 6f 6c 6f 75  |    MOVle  colou|
00000d00  72 34 2c 20 23 26 30 30  30 30 30 30 66 66 0d 00  |r4, #&000000ff..|
00000d10  6d 27 20 20 20 20 20 20  20 20 20 4d 4f 56 67 74  |m'         MOVgt|
00000d20  20 20 63 6f 6c 6f 75 72  34 2c 20 23 26 30 30 30  |  colour4, #&000|
00000d30  30 30 30 30 30 0d 00 6e  2d 20 20 20 20 20 20 20  |00000..n-       |
00000d40  20 20 41 44 44 20 20 20  20 77 6f 72 6c 64 78 79  |  ADD    worldxy|
00000d50  2c 20 77 6f 72 6c 64 78  79 2c 20 77 6f 72 6c 64  |, worldxy, world|
00000d60  6c 69 0d 00 6f 04 0d 00  70 33 20 20 20 20 20 20  |li..o...p3      |
00000d70  20 20 20 80 20 20 20 20  72 65 73 75 6c 74 2c 20  |   .    result, |
00000d80  77 6f 72 6c 64 78 79 2c  20 77 6f 72 6c 64 78 79  |worldxy, worldxy|
00000d90  2c 20 41 53 4c 20 23 31  36 0d 00 71 21 20 20 20  |, ASL #16..q!   |
00000da0  20 20 20 20 20 20 43 4d  50 20 20 20 20 72 65 73  |      CMP    res|
00000db0  75 6c 74 2c 20 23 32 5e  32 32 0d 00 72 2f 20 20  |ult, #2^22..r/  |
00000dc0  20 20 20 20 20 20 20 84  52 6c 65 20 20 63 6f 6c  |       .Rle  col|
00000dd0  6f 75 72 34 2c 20 63 6f  6c 6f 75 72 34 2c 20 23  |our4, colour4, #|
00000de0  26 30 30 30 30 66 66 30  30 0d 00 73 31 20 20 20  |&0000ff00..s1   |
00000df0  20 20 20 20 20 20 41 44  44 20 20 20 20 77 6f 72  |      ADD    wor|
00000e00  6c 64 78 79 2c 20 20 20  77 6f 72 6c 64 78 79 2c  |ldxy,   worldxy,|
00000e10  20 20 20 77 6f 72 6c 64  6c 69 0d 00 74 04 0d 00  |   worldli..t...|
00000e20  75 33 20 20 20 20 20 20  20 20 20 80 20 20 20 20  |u3         .    |
00000e30  72 65 73 75 6c 74 2c 20  77 6f 72 6c 64 78 79 2c  |result, worldxy,|
00000e40  20 77 6f 72 6c 64 78 79  2c 20 41 53 4c 20 23 31  | worldxy, ASL #1|
00000e50  36 0d 00 76 21 20 20 20  20 20 20 20 20 20 43 4d  |6..v!         CM|
00000e60  50 20 20 20 20 72 65 73  75 6c 74 2c 20 23 32 5e  |P    result, #2^|
00000e70  32 32 0d 00 77 2f 20 20  20 20 20 20 20 20 20 84  |22..w/         .|
00000e80  52 6c 65 20 20 63 6f 6c  6f 75 72 34 2c 20 63 6f  |Rle  colour4, co|
00000e90  6c 6f 75 72 34 2c 20 23  26 30 30 66 66 30 30 30  |lour4, #&00ff000|
00000ea0  30 0d 00 78 31 20 20 20  20 20 20 20 20 20 41 44  |0..x1         AD|
00000eb0  44 20 20 20 20 77 6f 72  6c 64 78 79 2c 20 20 20  |D    worldxy,   |
00000ec0  77 6f 72 6c 64 78 79 2c  20 20 20 77 6f 72 6c 64  |worldxy,   world|
00000ed0  6c 69 0d 00 79 04 0d 00  7a 33 20 20 20 20 20 20  |li..y...z3      |
00000ee0  20 20 20 80 20 20 20 20  72 65 73 75 6c 74 2c 20  |   .    result, |
00000ef0  77 6f 72 6c 64 78 79 2c  20 77 6f 72 6c 64 78 79  |worldxy, worldxy|
00000f00  2c 20 41 53 4c 20 23 31  36 0d 00 7b 21 20 20 20  |, ASL #16..{!   |
00000f10  20 20 20 20 20 20 43 4d  50 20 20 20 20 72 65 73  |      CMP    res|
00000f20  75 6c 74 2c 20 23 32 5e  32 32 0d 00 7c 2f 20 20  |ult, #2^22..|/  |
00000f30  20 20 20 20 20 20 20 84  52 6c 65 20 20 63 6f 6c  |       .Rle  col|
00000f40  6f 75 72 34 2c 20 63 6f  6c 6f 75 72 34 2c 20 23  |our4, colour4, #|
00000f50  26 66 66 30 30 30 30 30  30 0d 00 7d 2d 20 20 20  |&ff000000..}-   |
00000f60  20 20 20 20 20 20 41 44  44 20 20 20 20 77 6f 72  |      ADD    wor|
00000f70  6c 64 78 79 2c 20 77 6f  72 6c 64 78 79 2c 20 77  |ldxy, worldxy, w|
00000f80  6f 72 6c 64 6c 69 0d 00  7e 04 0d 00 7f 30 20 20  |orldli..~....0  |
00000f90  20 20 20 20 20 20 20 53  54 4d 69 62 20 20 28 70  |       STMib  (p|
00000fa0  6f 69 6e 74 29 21 2c 20  7b 63 6f 6c 6f 75 72 20  |oint)!, {colour |
00000fb0  2d 20 63 6f 6c 6f 75 72  34 7d 0d 00 80 0d 20 20  |- colour4}....  |
00000fc0  20 20 20 20 20 20 20 0d  00 81 24 20 20 20 20 20  |       ...$     |
00000fd0  20 20 20 20 43 4d 50 20  20 20 20 70 6f 69 6e 74  |    CMP    point|
00000fe0  2c 20 65 6e 64 6f 66 6c  69 6e 65 0d 00 82 18 20  |, endofline.... |
00000ff0  20 20 20 20 20 20 20 20  42 6c 74 20 20 20 20 6c  |        Blt    l|
00001000  6f 6f 70 0d 00 83 04 0d  00 84 3b 20 20 20 20 20  |oop.......;     |
00001010  20 20 20 20 41 44 44 20  20 20 20 77 6f 72 6c 64  |    ADD    world|
00001020  6c 69 6e 65 73 74 61 72  74 2c 20 77 6f 72 6c 64  |linestart, world|
*
00001040  64 69 0d 00 85 2b 20 20  20 20 20 20 20 20 20 4d  |di...+         M|
00001050  4f 56 20 20 20 20 77 6f  72 6c 64 78 79 2c 20 77  |OV    worldxy, w|
00001060  6f 72 6c 64 6c 69 6e 65  73 74 61 72 74 0d 00 86  |orldlinestart...|
00001070  30 20 20 20 20 20 20 20  20 20 41 44 44 20 20 20  |0         ADD   |
00001080  20 65 6e 64 6f 66 6c 69  6e 65 2c 20 65 6e 64 6f  | endofline, endo|
00001090  66 6c 69 6e 65 2c 20 23  68 70 69 78 25 0d 00 87  |fline, #hpix%...|
000010a0  27 20 20 20 20 20 20 20  20 20 43 4d 50 20 20 20  |'         CMP   |
000010b0  20 65 6e 64 6f 66 6c 69  6e 65 2c 20 66 69 6e 69  | endofline, fini|
000010c0  73 68 65 64 0d 00 88 18  20 20 20 20 20 20 20 20  |shed....        |
000010d0  20 42 6c 74 20 20 20 20  6c 6f 6f 70 0d 00 89 04  | Blt    loop....|
000010e0  0d 00 8a 1e 2e 72 65 74  20 20 20 20 20 4c 44 4d  |.....ret     LDM|
000010f0  46 44 20 20 72 31 33 21  2c 20 7b 70 63 7d 0d 00  |FD  r13!, {pc}..|
00001100  8b 04 0d 00 8c 25 2e 73  73 61 20 20 20 20 20 45  |.....%.ssa     E|
00001110  51 55 44 20 20 a4 53 63  72 65 65 6e 41 64 64 72  |QUD  .ScreenAddr|
00001120  65 73 73 20 2d 20 34 0d  00 8d 1f 2e 65 6f 6c 20  |ess - 4.....eol |
00001130  20 20 20 20 45 51 55 44  20 20 21 73 73 61 20 2b  |    EQUD  !ssa +|
00001140  20 68 70 69 78 25 0d 00  8e 27 2e 73 65 61 20 20  | hpix%...'.sea  |
00001150  20 20 20 45 51 55 44 20  20 21 73 73 61 20 2b 20  |   EQUD  !ssa + |
00001160  68 70 69 78 25 20 2a 20  76 70 69 78 25 0d 00 8f  |hpix% * vpix%...|
00001170  1c 2e 77 78 79 20 20 20  20 20 45 51 55 44 20 20  |..wxy     EQUD  |
00001180  26 30 30 30 30 30 30 30  30 0d 00 90 1c 2e 77 6c  |&00000000.....wl|
00001190  69 20 20 20 20 20 45 51  55 44 20 20 26 30 30 30  |i     EQUD  &000|
000011a0  30 30 30 38 30 0d 00 91  1c 2e 77 64 69 20 20 20  |00080.....wdi   |
000011b0  20 20 45 51 55 44 20 20  26 30 30 38 30 30 30 30  |  EQUD  &0080000|
000011c0  30 0d 00 92 05 5d 0d 00  93 05 ed 0d 00 94 04 0d  |0....]..........|
000011d0  00 95 0c 54 20 3d 20 32  5e 31 34 0d 00 96 05 f5  |...T = 2^14.....|
000011e0  0d 00 97 18 20 20 20 20  20 20 e3 20 53 25 20 3d  |....      . S% =|
000011f0  20 30 20 b8 20 33 35 39  0d 00 98 19 20 20 20 20  | 0 . 359....    |
00001200  20 20 20 20 20 20 c8 97  20 41 25 2c 42 25 2c 43  |      .. A%,B%,C|
00001210  25 0d 00 99 10 20 20 20  20 20 20 20 20 20 20 c8  |%....          .|
00001220  96 0d 00 9a 15 20 20 20  20 20 20 20 20 20 20 d6  |.....          .|
00001230  20 62 65 67 69 6e 0d 00  9b 35 20 20 20 20 20 20  | begin...5      |
00001240  20 20 20 20 21 77 6c 69  20 3d 20 a8 28 41 25 2a  |    !wli = .(A%*|
00001250  b5 b2 28 53 25 29 29 20  2b 20 a8 28 41 25 2a 9b  |..(S%)) + .(A%*.|
00001260  b2 28 53 25 29 29 2a 32  5e 31 36 0d 00 9c 35 20  |.(S%))*2^16...5 |
00001270  20 20 20 20 20 20 20 20  20 21 77 64 69 20 3d 20  |         !wdi = |
00001280  a8 28 41 25 2a 9b b2 28  53 25 29 29 20 2d 20 a8  |.(A%*..(S%)) - .|
00001290  28 41 25 2a b5 b2 28 53  25 29 29 2a 32 5e 31 36  |(A%*..(S%))*2^16|
000012a0  0d 00 9d 46 20 20 20 20  20 20 20 20 20 20 21 77  |...F          !w|
000012b0  78 79 20 3d 20 2d a8 28  54 2a b5 b2 28 53 25 29  |xy = -.(T*..(S%)|
000012c0  2b 54 2a 9b b2 28 53 25  29 29 20 2d 20 a8 28 54  |+T*..(S%)) - .(T|
000012d0  2a 9b b2 28 53 25 29 2d  54 2a b5 b2 28 53 25 29  |*..(S%)-T*..(S%)|
000012e0  29 2a 32 5e 31 36 0d 00  9e 0b 20 20 20 20 20 20  |)*2^16....      |
000012f0  ed 0d 00 9f 07 fd 20 a3  0d 00 a0 05 e0 0d 00 a1  |...... .........|
00001300  04 0d 00 a2 14 dd 20 a4  53 63 72 65 65 6e 41 64  |...... .ScreenAd|
00001310  64 72 65 73 73 0d 00 a3  11 20 20 20 20 de 20 42  |dress....    . B|
00001320  6c 6b 25 20 31 36 0d 00  a4 15 20 20 20 20 42 6c  |lk% 16....    Bl|
00001330  6b 25 21 30 30 20 3d 20  31 34 39 0d 00 a5 14 20  |k%!00 = 149.... |
00001340  20 20 20 42 6c 6b 25 21  30 34 20 3d 20 2d 31 0d  |   Blk%!04 = -1.|
00001350  00 a6 2e 20 20 20 20 c8  99 20 22 4f 53 5f 52 65  |...    .. "OS_Re|
00001360  61 64 56 64 75 56 61 72  69 61 62 6c 65 73 22 2c  |adVduVariables",|
00001370  20 42 6c 6b 25 2c 20 42  6c 6b 25 2b 38 0d 00 a7  | Blk%, Blk%+8...|
00001380  0d 3d 20 42 6c 6b 25 21  30 38 0d 00 a8 04 0d 00  |.= Blk%!08......|
00001390  a9 04 0d 00 aa 04 0d 00  ab 04 0d ff              |............|
0000139c