Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199801_2.adf » Features » DiffDim/Triangle4b

DiffDim/Triangle4b

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 » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199801_2.adf » Features
Filename: DiffDim/Triangle4b
Read OK:
File size: 3924 bytes
Load address: 0000
Exec address: 0000
File contents

� Triangle 4
�
1� Demonstrate more advanced uses of triangles
(:
2� � �0:� �$;" at line ";�:�
<
� 13:�
Flx=0.707:ly=0.707
P
�assemble
Z� setup
d
�x%=0 � 3
n
�y%=0 � 3
x$p_table%!((x%+y%*4)<<3)=37+x%*75
�(p_table%!(4+((x%+y%*4)<<3))=12+y%*75
��
��
�:
�	bk%=1
�	�draw
�	�draw
�ȗ �
��
��
�ȗ mx%,my%,b%
�
� b%=4
�:
fx%=-1:md%=10000

�x%=0 � 3

�y%=0 � 3
"!px%=p_table%!((x%+y%*4)<<3)*4
,*py%=1024-p_table%!(4+((x%+y%*4)<<3))*4
6dx%=mx%-px%:dy%=my%-py%
@d%=dx%*dx%+dy%*dy%
J!� d%<md% md%=d%:fx%=x%:fy%=y%
T�
^�
h � fx%<>-1 � �change(fx%,fy%)
r� �
|�
�:
���change(fx%,fy%)
��
�ȗ mx%,my%,b%
�$p_table%!((fx%+fy%*4)<<3)=mx%>>2
�.p_table%!(4+((fx%+fy%*4)<<3))=256-(my%>>2)
�	�draw
�
� b%=0
�	�draw
��
�:
�
��draw
�ș"OS_Byte",112,bk%
Ȕ !screenadr,screenadr!4

bk%=3-bk%
Ȗ
&ș"OS_Byte",113,bk%
0�
:� bezier
D
�x%=0 � 3
N
�y%=0 � 3
XEȏ p_table%!((x%+y%*4)<<3)*4,1024-p_table%!(4+((x%+y%*4)<<3))*4,8
b�
l�
v�
�:
���assemble
�!q_step%=16:sstep%=256/q_step%
� log2_q_step%=�(q_step%)/�(2)
��� code% 16384,p_table% 128,output% q_step%*q_step%*8,normal% q_step%*q_step%*5,div_table% 32768*4,big_normal_table% 128*128*8,sprite% 65592,coltab% 8192
�� pass%=0 � 2 � 2
�P%=code%
�[OPT pass%
�
.setup
�ldr r12,big_normal_table
�
mov r1,#0
�.ny_loop
�
mov r0,#0
.nx_loop

mul r2,r0,r0
 mla r2,r1,r1,r2
*mov r2,r2,lsl#10
4
>; r3 = �(r2)
H
mov r3,#0
Rmov r4,#1<<30
\.lp
fadd r5,r3,r4
p
cmp r5,r2
zsuble r2,r2,r5
�addle r3,r5,r4
�mov r3,r3,asr#1
�movs r4,r4,asr#2
�
bne lp
�
�; r2 = 1048576/r3
�mov r4,#1048576
�
mov r5,#0
�
mov r2,#0
�mov r7,#1<<31
�.lp
�movs r4,r4,lsl#1
�adc r5,r5,r5

cmp r5,r3
subge r5,r5,r3
orrge r2,r2,r7
$movs r7,r7,lsr#1
.
bne lp
8
Bmul r3,r1,r2
Lmul r2,r0,r2
V
`stmia r12!,{r2,r3}
j
tadd r0,r0,#1
~cmp r0,#128
�blt nx_loop
�
�add r1,r1,#1
�cmp r1,#128
�blt ny_loop
�
�ldr r0,div_table
�
mov r2,#1
�
�.dl
�mov r4,#1<<20
�'mov r5,#0               ; remainder
&mov r6,#0               ; quotient

mov r7,#1<<31

.div_loop
movs r4,r4,lsl#1
(adc r5,r5,r5
2
cmp r5,r2
<subge r5,r5,r2
Forrge r6,r6,r7
Pmovs r7,r7,lsr#1
Zbne div_loop
d
n; r6 = r4 div r2 = s
x
�str r6,[r0,#4]!
�add r2,r2,#1
�cmp r2,#32768
�
ble dl
�
�
.main1
�mov +d+d+p_tabl� r2,r|12,b12,b1 �2)orr
�57d  ��addl0 �,#
�,l,l,>>dd4
 r1811
ab$
R
R

�
c
c
.7�#0!
inx%=x%=x10
t
tmx%>811�%
Dmy%�%=1076/rrrx=
c+y%*4r2,d%x%,� ��)
ble%!�(76/rrorp
cP000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ee�lelelad�ezx=OS_K� "107,<m88r4
rr�fy4

8hlp
ad,#0 <m:w
dx(
 �v r�al>-Llr4
lt  pas�ha%
T(ree�alddp_tabl� r2,r|12,b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 �2)orr
�57d  ��addl0 �,#
�,l�e>>dal>4
 r1811
ab$
R
R

�
c
c
.7�#0!
inx%=x%=x10
t� ��mx%>811�%
Dmy%�%=1076/rrrx=
c+y%*4r2,d%x%,� ��)
ble%!�(76/rrorp
cP000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ee�lelelad�ezx=OS_K� "107,<m88r4
rr�fy4

8hlp
ad,#0 <m:w
dx(
 �v r�al>-Llr4
lt  pas�ha%
T(ree�ald
 p_tabl� r2,r|12,b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 �2)orr
�57d  ��addl0 �,#
�,l�e>>dal>4
 r1811
ab$
Rlt  
�
c
c
.7�#0!
inx%=lt  10
t� ��mx%>811�%
Dmy%�%=1076/rhx=
c+y%*4r2,d%x%,� ��)
ble%!�(76/rrorp
cP000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ee�le�lad�ezx=OS_K� "107,<m8le�r4
rr�fy4

8hlp
ad,#0 <m:w
dx(
 �v r�al>-Llr4
lt  pas�ha%
T(ree�ald
 p_tabl� r2,r|12,b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 �2)orr
�57d  ��addl0 �,#
�,l�e>>dal>4
 r1811
ab$
Rlt  
�
�
ordx �D%
$ble%!,#0 ,#0 ,mx%>mx%>m pas r1x%,812,b12,b1adad>>>>>��#0reev r,#76/76/7alalaordx �D%
$ble%!,#0 ,#0 ,mx%>mx%>m pas r1x%,812,b12,b1adad>>>>>��#0reev r,#76/76/7alalaordx �D%
$ble%!,#0 ,#0 ,mx%>mx%>m pas r1x%,812,b12,b1adad>>>>>��#0reev r,#76/76/7alalaordx �D%
$ble%!,#0 ,#0 ,mx%>mx%>m pas r1x%,812,b12,b1adad>>>>>��#0reev r,#76/76/7alalaordx �D%
$ble%!,#0 ,#0 ,mx%>mx%>m pas r1x%,812,b12,b1adad>>>>>��#0reev r,#76/76/7alalaordx �D%
$ble%!,#0 ,#0 ,mx%>mx%>m pas r1x%,812,b12,b1adad>>>>>��#0reev r,#76/76/7alalaordx �D%
$ble%!,#0 ,#0 ,mx%>mx%>m pas r1x%,812,b12,b1adad>>>>>��#0reev r,#76/76/7alalaordx �D%
$ble%!,#0 ,#0 ,mx%>mx%>m pas r1x%,812,b12,b1adad>>>>>��#0reev r,#76/76/7alalaordx �D%
$ble%!,#0 ,#0 ,mx%>mx%>m pas r1x%,812,b12,b1adad>>>>>��#0reev r,#76/76/7alalaordx �D%
$ble%!,#0 ,#0 ,nagt 12,b1h
2d_o<ble%!,5,8r4
r�f
F �Dub%
$%
Dble%!,Pstrgt r5,8rou�f
Z�gt 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 _2)or
dstrgt ,#0 ,n
n
bgt �op
x
�hlr r0,,#0 <:wdx(
��e>p
cPlel,#0 <:,l,rmal
�lp
cP12,big,l,r>>lt  
e
�ble%!,le�rl_$b
�bp
cP14,l_12,b1
�
mov r1,#0
�inx8x=x

�#add r2,rle�,lsl#log2_q_step%+3
�$add d_o$
,lsl#log2_q_step%+2
�add r3,r2,#4
�
mov r4,# r1x� �vp
cP5,[r$
,lsl##0r
� �vpr r6,�#,r4,lsl##0r

mov r4,#1
!
i.v_lh/ble%!,7,[r$,r4,lsl##0r �D; $b"/bp
cP8,�#,r4,lsl##0r  r1x; 12,b1, �Du% r5,r7,r5
6rsblt r5,r5,#0
@Dmovlt rr�#1
J �Dus r6,r
t�6
Trsblt r6,r6,#0
8h;orrlt r�1,#2
h.lp
rcmp r5,#128
|cmplt r6,#128
%
Tmovge r5%
Dlsr#1
�le�rovge r6,r6,lsr#1
�
bge lp
�
�add 5,r5,r6,lsl#7
�add 5T(r5,lsl##
�Dad5,{r5,r6}                        ; get $
lised vectors
�
�m� "5,r#0r5
�?r4
r5,r#4,r6,r5                        ; nx*lx+ny*ly << 25
�:movs r5,r5,asr#76/r                       ; n�e>al * shd
�D%
$%ble%!,1024+384
�movlt ,5,#0
cmp r5,#223
movgt 05,#223
sr2,dr5,[r10>>>
>-L
0
mov r5":
mov r6 r2,r|Dadd r4,r4,#1
Ncmp r4,#� "Xble v_lop
 ��add x=x
#1
,lcmp r1,#� "vble 8xh�
�x=x
,#0 <� ��)
bp
�
��e>pord,,#0 <:,$
l
�hlrlt  1,#0 <:,w
dse
�'mov r0,#dx ; $b�
.xx=x
�'mod_�,#0                       ; 12,b1�
.yx=x
�=add v r,,r1,lsl#4              ; $+y*q_step%, q_step%=16
�4add 4,r3,r2,lsl#2              ; n�e>al+ofs%<<2
dx(
�(ble%!,5,[r4,#4]                  ; l1

v r�r2,dr5,�)



(bp
cP5,[r4]                     ; l2

 v r�rr r5,bc

*

4(bpr r5,[r4,#4+16*4]             ; l3

>v r�rr r5,cc

H

R4add r7,r6,r2,lsl##              ; output+ofs%<<3

\

f1ad7,{r
t�$
le�1}        %x,by,ax,a12,b1
p
12,b08,%
$

zv r�rr >>,by

�12,b0d%x%
$

�1r2,dr�#12,b1
%
$

��e>poT(,[r7,#8+16*8]

�v r�rr >8,c$b
�

� �vprT(,[r7,#12+16*8]

�
12,b08,c12,b1
�

�9mov r
t�0,lsl#4x%,8; $*sstep%, sstep%=16

�v r�rr >8,bv

�add ala,#16

�v r�rr >8,av

12,b08,cv

.mov r,r1,lsl#4  �D; 1*sstep%
$v r�rr >8,au
.v r�rr >8,bu
8addT(,%+y
a,#16
Bv r�rr >8,cu
L
V"�%Dm3dle�,d%x4,r6p_tabl8}
`bl t<m:ture_triangle
j">>%
Dd%xdl�l3,r4,r6p%+y
a}
ad
~v r�rr >8,au
76/7ble%!,8,r4,#16*4]               ; l4
�v r�rr >8,ac
�$b
t�0,lsl#4
�v r�rr >8,av
�
�hlrl%+y
a,[r7,#16*8]
�v r�rr >8,a$b��e>poT%+y
a,[r7,#4+16*8]
�v r�rr >8,a12,b1�
��%Dd%xv r,1,r3,r6}
�

adr r0,b12,b1
lp
a81mree�a0,%=107<m:3,r4,r5}
ala

ap
cP6, pas 
(ad6,{r7,r
t�$DmK�}
2
<811�t57d6,{r1p_tabl5}
F�#ree�a0al>7 �v1}
P
Zbl texture_triangle
dlpm%
Dd811dl�reev,r6}
n
xadd rx=x
#1
�cmp r1,#14
�
ble yxh�
�add rmx%>m#1
�cmp r0,#76/r
�
ble xxh�
�l
�5%
Dd8my%al>15}
12,b1
�.8rorr�t
�	811 0
�
� pas�_2orr	8cd 0

.l_$b"dcd lx*1024
,.l_12,b16dcd ly*1024
@
J.>-LT	8cd 0
^
hinx� ��)ble%!�
r	8cd 0
|
�.p_� ��D r2,r|811 p_table%
�
�.,#0 <:,wdx(
�dcd output%
�
�.,ndex_$
l
�dcd $
l%
�
�. �Dt
�]
�P%+=8192/q_step%
�[OPT pass%
.div_lt  
e
811 div_lt  
e%

>-L
0inx�ta)
bp
:	8cd 0
Dordlink
N	8cd 0
X.div_lt  
e
b8cd div_lable%
l
.collt  
e
vdcd collab%
�.r_,#0 <:
�	8cd 0
�.l_,#0 <:
�	8cd 0
�
�
.y_end
�	8cd 0
ezx
�inx�prite
�8cd sprite%+56
�.screenadr
�811 �screenadr(2)
�8cd �screenadr(1)
lt  
.a1:dcd 0:.ax:dcd 0

.�):dcd 0
 .au:dcd 0:.av:dcd 0
*8cd 0:dcd 0:dcd 0

�,>.b1:dcd 0:,#
x:811 0
H
,#
c:dcd 0
R.bu:811 0:,#
v:dcd 0
\8cd 0:dcd 0:811 0
f
p. pas :dcd 0:,c$:dcd 0
zv.cc:811 0
�. u:8cd 0:,cv:dcd 0
	o811 0:811 0:8cd 0
%
$
�0 �,texture_triangle
�vadr r0,a1
�d  p
cP10,[r0,#d]
�lr r
Rl[r0,#32]
�cmp rr��%
�movlt r� r2,r|�movge r10
�movlt ,2,#1
�movge r2,#0
,#7ble%!,l�#0,#64]
#0!cmp r1ad
movlt r� lt  
movlt r2,#2
$cmp r1,#5>>>.movge 
�5<m:
8cmp rd%x#0
Bcmplt r�1,#0
Lcmplt ,12,#0
Vmovlt 
�5<76/r
`
j107D� ��)bp
ad
~ �Dus r3,r2,#1
�movlt r3,#2
�
�addTr2,r0lt  
lsl#5
�=ad,b r2,{r5,r6+o @a}                  ; $_k,c_k,8k,v_k
�add r
Rl3,lsl#5
�107Dr4,l_,nd<m:
� �Dus d%x3,#1
�movlt ,3,#2
�addalaad,lsl#5
�107Dr0,r_,ndex
�Aad4,{r$
lK�T(rv r�           ; 1_l,x_l,c_l,8x,v_l
�
|1r2,dr4,link
	�ble%!,l4,div_lable
1D% r2,r$
                           ; dl12,b17ldrgt 0�#76/rlt  
lsl#2]                                                        11<<20/dl1
(
2>>>gt 0mx%>m,lsl#10
<moveq r3,r10,lsl#10
Fsubgt ,4,r pas 5
P5+y%*4rOS_Kr2,r4  ; dlx<<20
Z1r7,<,dlx
d
nmovgt ,1ordlsl#10
xmoveq 	o
Rllsl#10
�12,b0d0,lc
�subgtOS_Krad,6
�5+� "4,r$
                            ; dlc<<20
�1r7OS_Kdlc
�
�movgt ,1o+o lsl#10
�moveq�lT(lsl#10
�1r7O r1xlu
�subgt 04,r 2,r7
�5+�l r4,r$,r4                            ; dlu<<20
�1r7O 4,dlu
�
�movgt 0 pas 8,lsl#10
moveq  pas le�rlsl#10
1r7O d%xlv
subgt ,4�# r2,r|"5+�lOS_Kr$
                            ; dlv<<20
,1r7O 4,dlv
ad
@Adcmr r0,{rle�le�1T(rv3}           ; 1_r,x_r,c_r,8r,v_r
J1Dub% r2,rl,r1                           ; dr12,b1T7ldrgt 0,[r76/rlr2,lsl#2]x%,8; 1<<20/dr1
^
h>>>gt ,4�r5,lsl#10
rmoveq�r4, r1xlsl#10
|811�ubgt�lT	o5
�5+�lO	oaddx ; drx<<20
�sr2,dr0,dr$b�
,lmovgt ,1o+r6,lsl#10
�moveq�r pas l1,lsl#10
�1r7O d0,rc
�811�ubgtO	o
1,r6
�5+�lO pas add                          ; drc<<20
�srr r
0,drc
�)
�movgt ,1o+r7,lsl#10
�moveq�lT12,lsl#10
�12,b0d0,ru
7,<Dgt 0 #0r"5+�lO 76/710                          ; dru<<20
srr�lTdru
>-L
0movgt�lT8,lsl#10
:moveq  le�3,lsl#10
D1r7O d0,rv
12,b0Dgt ,1o+r#0r8
X5+�lO 7 pas dx ; drv<<20
bsrr� r1xdrv
l
1
a	�,screenadr
�addar2,r2,r1,lsl#6
�9add v pas ,lsl#8                      ; screen line
�
�MOV R76/rlR7
x=
ble%!,l0,sprite
�
�
cmp raddl00
�107lt rlely_end
OS_Kstrge r0,y_end
�
�bgt method_2
�beq�last_bit
�
<.method_ r1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; left_1<right_12,b1

�yxop
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 
*; r0 = y_l
481r2 = scline
>v; r3 = lx
H
; r4 = r$bR; r1,r5 �v4 = em2)o12,b1\
f ; recalcuate dlx,dlu,dlv,dlc
pdex
,1,l_,nd<m:
z=adcmb r1,{r
h>le�1T>-L}               ; x_l,c_l,_l,v_l
�ble%!,l,r_,nd<$b�A57d1,%=107<r5,r6,r7,r}               ; 1_r,x_r,c_r,_r,v_r
�|1rr r
,y_end
�
�1Du% ble%!,,#7                           ; dl12,b1�ble%!,l4,div_lable
76/7
�7ldrgt ,1,[r74,r ,lsl#2]                                                        ; 1<<20/dl1
%
$DgtOS_K81
�5+�lO7,r1,r7                            ; dlu<<ad�1r7O 7,dlu
�subgt 05�f3
,#7mov r� lsl#10
5+�lO5,r#,r5                            ; dlx<<20
12,b05,dlx
subgt r5,r+y%*4r0
$5+�lO5�l5                            ; dlc<<ad.1r7O 5,dlc
8
Bsubgt r5,rlt  2
L5+�lO5�� ��m5                            ; dlv<<20
V1r7O 5,dlv
`
j1ble%!,l0,sprite
ad
~MOV R76/rlR0
�
.last_bit
�
�yxop

h>
	�ble%!,lx%,�ta)ble%!�
�ble%!,l5,link
�
x%,8
�=.method_2                               ; right_1< left_1
�
�ydex
�
�; r0 = y_l
�81r2 = scline

; r3 = lx


; r4 = r$b; � ��m5 �v4 = em2t12,b1
( ; recalcuate drx,dru,drv,drc
2dex
,1,r_,#0 <:
<=amib r1,%r4,  pas l1 �2}               ; $_r,c_r,_r,v_r
Fble%!,l,l_,nd<$bPA5mx%>mal>1�f6,r710}               ; y_l,x_l,c_l,_l,v_l
Z12,b0d,y_end
d
n1Dus rdex
r0                           ; dl1
xhlrl%76/rldiv_lable
�
�7ldrgt 0 ,[r74,r1,lsl#2]                                                        ; 1<<20/dly
�subgt ,5�f4
�76/74,r4,lsl#10
�5+�lO5��1,r5                            ; dlx<<20
�1r7O 5,dr$
�subgt r5,r6orp�5+�lO5��1,r5                            ; dlc<<0
�1r7O 5,drc
�subgt r5+o @11
�5+�lO5��1,r5                            ; dlu<<0
�1r7O 5,dru
�subgt r5+@a,lt  
5+�lO5��1,r5                            ; dlv<<ad12,b05,drv


c+ble%!,l0,sprite
,MOV R74,R0
6
�ydh@
1ble%!,lx,sta)bp
Tbp
cP15,link
^
hordline
r	811 0
|
�inxcoords
�.lu:dcd 0:,ru:8cd 0
�.lc:8cd 0:.rc:dcd 0
,l.lv:811 0:.rv:8cd 0
�.dlx:dcd 0:,dr$:dcd 0
�.dlc:dcd 0:,drc:811 0
�.dlu:811 0:.dru:dcd 0
�.dlv:8cd 0:.drv:dcd 0
�
�]
��
�p%= �Dt:stp=1024/q_step%
��n%=0 � 1024 � stp
1qn%=1024-n%:qs%=(qn%*qn%)>>10:ns%=(n%*n%)>>10
!p%=qs%*qn%
p%!4=3*qs%*n%
&p%!8=3*ns%*qn%
lrp%!12=ns%*n%
:
p%+=16
D�
N$ș"OS_File",16,"Picture",sprite%
X#ș"OS_File",16,"ColTab",collab%
b�
l:
vݤydex
�[OPT pass%
�
; r2 = sc
�
; r3 = lx
�
; r4 = r$
�; <m: = y_k
�
�
.ydex
�,sub% fy44,r3                   ; dx<<10
�.addTr�l(rasr#7dx ; left adr
�bpr r
3,dlx
�-add � ,#0 <asr#7d            ; lx+=dlx
�bprp_tabl,dr$b�/add x3,r2,r4,asr#7d            ; right adr
-addTr4,r4,rr�asr#7d            ; rx+=dr$
hlrl%71,div_lable
$bmx%>masr#4
 .ldrgt ,0,[rr�0,lsl#2]xxxxxxxxx; 1<<18/d$b*ble%!,l1,lc
4
ble%!,addl0c
>,sub r5,r$
 r1xxxxxxxxxxxxxxxxxxx; dc<<10
H,m� "5,#7,r5                                                                                                                        %,8dc<<30
Rble%!,8,drc
\addTr%
$10+o 10
fv r�rr >addl0c
pbp
cP8,dlc
zadd $
 10+asr#7d
�v r�rr >a,lc
�
ble%!,a,lu
�
bp
cP8,ru
�
�,sub81
t�$ �D; du<<10
�,m�l rorp.,r6 �D; du<<4
76/7
�bpr r7,dru
�add rala,r7,asr#7d
�v r�r
00000000  0d 00 0a 10 f4 20 54 72  69 61 6e 67 6c 65 20 34  |..... Triangle 4|
00000010  0d 00 14 05 f4 0d 00 1e  31 f4 20 44 65 6d 6f 6e  |........1. Demon|
00000020  73 74 72 61 74 65 20 6d  6f 72 65 20 61 64 76 61  |strate more adva|
00000030  6e 63 65 64 20 75 73 65  73 20 6f 66 20 74 72 69  |nced uses of tri|
00000040  61 6e 67 6c 65 73 0d 00  28 05 3a 0d 00 32 1f ee  |angles..(.:..2..|
00000050  20 85 20 eb 30 3a f1 20  f6 24 3b 22 20 61 74 20  | . .0:. .$;" at |
00000060  6c 69 6e 65 20 22 3b 9e  3a e0 0d 00 3c 0a eb 20  |line ";.:...<.. |
00000070  31 33 3a 87 0d 00 46 15  6c 78 3d 30 2e 37 30 37  |13:...F.lx=0.707|
00000080  3a 6c 79 3d 30 2e 37 30  37 0d 00 50 0d f2 61 73  |:ly=0.707..P..as|
00000090  73 65 6d 62 6c 65 0d 00  5a 0b d6 20 73 65 74 75  |semble..Z.. setu|
000000a0  70 0d 00 64 0d e3 78 25  3d 30 20 b8 20 33 0d 00  |p..d..x%=0 . 3..|
000000b0  6e 0d e3 79 25 3d 30 20  b8 20 33 0d 00 78 24 70  |n..y%=0 . 3..x$p|
000000c0  5f 74 61 62 6c 65 25 21  28 28 78 25 2b 79 25 2a  |_table%!((x%+y%*|
000000d0  34 29 3c 3c 33 29 3d 33  37 2b 78 25 2a 37 35 0d  |4)<<3)=37+x%*75.|
000000e0  00 82 28 70 5f 74 61 62  6c 65 25 21 28 34 2b 28  |..(p_table%!(4+(|
000000f0  28 78 25 2b 79 25 2a 34  29 3c 3c 33 29 29 3d 31  |(x%+y%*4)<<3))=1|
00000100  32 2b 79 25 2a 37 35 0d  00 8c 05 ed 0d 00 96 05  |2+y%*75.........|
00000110  ed 0d 00 a0 05 3a 0d 00  aa 09 62 6b 25 3d 31 0d  |.....:....bk%=1.|
00000120  00 b4 09 f2 64 72 61 77  0d 00 be 09 f2 64 72 61  |....draw.....dra|
00000130  77 0d 00 c8 08 c8 97 20  ee 0d 00 d2 05 f5 0d 00  |w...... ........|
00000140  dc 05 f5 0d 00 e6 11 c8  97 20 6d 78 25 2c 6d 79  |......... mx%,my|
00000150  25 2c 62 25 0d 00 f0 0a  fd 20 62 25 3d 34 0d 00  |%,b%..... b%=4..|
00000160  fa 05 3a 0d 01 04 14 66  78 25 3d 2d 31 3a 6d 64  |..:....fx%=-1:md|
00000170  25 3d 31 30 30 30 30 0d  01 0e 0d e3 78 25 3d 30  |%=10000.....x%=0|
00000180  20 b8 20 33 0d 01 18 0d  e3 79 25 3d 30 20 b8 20  | . 3.....y%=0 . |
00000190  33 0d 01 22 21 70 78 25  3d 70 5f 74 61 62 6c 65  |3.."!px%=p_table|
000001a0  25 21 28 28 78 25 2b 79  25 2a 34 29 3c 3c 33 29  |%!((x%+y%*4)<<3)|
000001b0  2a 34 0d 01 2c 2a 70 79  25 3d 31 30 32 34 2d 70  |*4..,*py%=1024-p|
000001c0  5f 74 61 62 6c 65 25 21  28 34 2b 28 28 78 25 2b  |_table%!(4+((x%+|
000001d0  79 25 2a 34 29 3c 3c 33  29 29 2a 34 0d 01 36 1b  |y%*4)<<3))*4..6.|
000001e0  64 78 25 3d 6d 78 25 2d  70 78 25 3a 64 79 25 3d  |dx%=mx%-px%:dy%=|
000001f0  6d 79 25 2d 70 79 25 0d  01 40 16 64 25 3d 64 78  |my%-py%..@.d%=dx|
00000200  25 2a 64 78 25 2b 64 79  25 2a 64 79 25 0d 01 4a  |%*dx%+dy%*dy%..J|
00000210  21 e7 20 64 25 3c 6d 64  25 20 6d 64 25 3d 64 25  |!. d%<md% md%=d%|
00000220  3a 66 78 25 3d 78 25 3a  66 79 25 3d 79 25 0d 01  |:fx%=x%:fy%=y%..|
00000230  54 05 ed 0d 01 5e 05 ed  0d 01 68 20 e7 20 66 78  |T....^....h . fx|
00000240  25 3c 3e 2d 31 20 8c 20  f2 63 68 61 6e 67 65 28  |%<>-1 . .change(|
00000250  66 78 25 2c 66 79 25 29  0d 01 72 07 fd 20 a3 0d  |fx%,fy%)..r.. ..|
00000260  01 7c 05 e0 0d 01 86 05  3a 0d 01 90 15 dd f2 63  |.|......:......c|
00000270  68 61 6e 67 65 28 66 78  25 2c 66 79 25 29 0d 01  |hange(fx%,fy%)..|
00000280  9a 05 f5 0d 01 a4 11 c8  97 20 6d 78 25 2c 6d 79  |......... mx%,my|
00000290  25 2c 62 25 0d 01 ae 24  70 5f 74 61 62 6c 65 25  |%,b%...$p_table%|
000002a0  21 28 28 66 78 25 2b 66  79 25 2a 34 29 3c 3c 33  |!((fx%+fy%*4)<<3|
000002b0  29 3d 6d 78 25 3e 3e 32  0d 01 b8 2e 70 5f 74 61  |)=mx%>>2....p_ta|
000002c0  62 6c 65 25 21 28 34 2b  28 28 66 78 25 2b 66 79  |ble%!(4+((fx%+fy|
000002d0  25 2a 34 29 3c 3c 33 29  29 3d 32 35 36 2d 28 6d  |%*4)<<3))=256-(m|
000002e0  79 25 3e 3e 32 29 0d 01  c2 09 f2 64 72 61 77 0d  |y%>>2).....draw.|
000002f0  01 cc 0a fd 20 62 25 3d  30 0d 01 d6 09 f2 64 72  |.... b%=0.....dr|
00000300  61 77 0d 01 e0 05 e1 0d  01 ea 05 3a 0d 01 f4 0a  |aw.........:....|
00000310  dd f2 64 72 61 77 0d 01  fe 17 c8 99 22 4f 53 5f  |..draw......"OS_|
00000320  42 79 74 65 22 2c 31 31  32 2c 62 6b 25 0d 02 08  |Byte",112,bk%...|
00000330  1d c8 94 20 21 73 63 72  65 65 6e 61 64 72 2c 73  |... !screenadr,s|
00000340  63 72 65 65 6e 61 64 72  21 34 0d 02 12 0d 62 6b  |creenadr!4....bk|
00000350  25 3d 33 2d 62 6b 25 0d  02 1c 06 c8 96 0d 02 26  |%=3-bk%........&|
00000360  17 c8 99 22 4f 53 5f 42  79 74 65 22 2c 31 31 33  |..."OS_Byte",113|
00000370  2c 62 6b 25 0d 02 30 05  db 0d 02 3a 0c d6 20 62  |,bk%..0....:.. b|
00000380  65 7a 69 65 72 0d 02 44  0d e3 78 25 3d 30 20 b8  |ezier..D..x%=0 .|
00000390  20 33 0d 02 4e 0d e3 79  25 3d 30 20 b8 20 33 0d  | 3..N..y%=0 . 3.|
000003a0  02 58 45 c8 8f 20 70 5f  74 61 62 6c 65 25 21 28  |.XE.. p_table%!(|
000003b0  28 78 25 2b 79 25 2a 34  29 3c 3c 33 29 2a 34 2c  |(x%+y%*4)<<3)*4,|
000003c0  31 30 32 34 2d 70 5f 74  61 62 6c 65 25 21 28 34  |1024-p_table%!(4|
000003d0  2b 28 28 78 25 2b 79 25  2a 34 29 3c 3c 33 29 29  |+((x%+y%*4)<<3))|
000003e0  2a 34 2c 38 0d 02 62 05  ed 0d 02 6c 05 ed 0d 02  |*4,8..b....l....|
000003f0  76 05 e1 0d 02 80 05 3a  0d 02 8a 0e dd f2 61 73  |v......:......as|
00000400  73 65 6d 62 6c 65 0d 02  94 21 71 5f 73 74 65 70  |semble...!q_step|
00000410  25 3d 31 36 3a 73 73 74  65 70 25 3d 32 35 36 2f  |%=16:sstep%=256/|
00000420  71 5f 73 74 65 70 25 0d  02 9e 20 6c 6f 67 32 5f  |q_step%... log2_|
00000430  71 5f 73 74 65 70 25 3d  ab 28 71 5f 73 74 65 70  |q_step%=.(q_step|
00000440  25 29 2f ab 28 32 29 0d  02 a8 9c de 20 63 6f 64  |%)/.(2)..... cod|
00000450  65 25 20 31 36 33 38 34  2c 70 5f 74 61 62 6c 65  |e% 16384,p_table|
00000460  25 20 31 32 38 2c 6f 75  74 70 75 74 25 20 71 5f  |% 128,output% q_|
00000470  73 74 65 70 25 2a 71 5f  73 74 65 70 25 2a 38 2c  |step%*q_step%*8,|
00000480  6e 6f 72 6d 61 6c 25 20  71 5f 73 74 65 70 25 2a  |normal% q_step%*|
00000490  71 5f 73 74 65 70 25 2a  35 2c 64 69 76 5f 74 61  |q_step%*5,div_ta|
000004a0  62 6c 65 25 20 33 32 37  36 38 2a 34 2c 62 69 67  |ble% 32768*4,big|
000004b0  5f 6e 6f 72 6d 61 6c 5f  74 61 62 6c 65 25 20 31  |_normal_table% 1|
000004c0  32 38 2a 31 32 38 2a 38  2c 73 70 72 69 74 65 25  |28*128*8,sprite%|
000004d0  20 36 35 35 39 32 2c 63  6f 6c 74 61 62 25 20 38  | 65592,coltab% 8|
000004e0  31 39 32 0d 02 b2 15 e3  20 70 61 73 73 25 3d 30  |192..... pass%=0|
000004f0  20 b8 20 32 20 88 20 32  0d 02 bc 0c 50 25 3d 63  | . 2 . 2....P%=c|
00000500  6f 64 65 25 0d 02 c6 0e  5b 4f 50 54 20 70 61 73  |ode%....[OPT pas|
00000510  73 25 0d 02 d0 0a 2e 73  65 74 75 70 0d 02 da 1c  |s%.....setup....|
00000520  6c 64 72 20 72 31 32 2c  62 69 67 5f 6e 6f 72 6d  |ldr r12,big_norm|
00000530  61 6c 5f 74 61 62 6c 65  0d 02 e4 0d 6d 6f 76 20  |al_table....mov |
00000540  72 31 2c 23 30 0d 02 ee  0c 2e 6e 79 5f 6c 6f 6f  |r1,#0.....ny_loo|
00000550  70 0d 02 f8 0d 6d 6f 76  20 72 30 2c 23 30 0d 03  |p....mov r0,#0..|
00000560  02 0c 2e 6e 78 5f 6c 6f  6f 70 0d 03 0c 04 0d 03  |...nx_loop......|
00000570  16 10 6d 75 6c 20 72 32  2c 72 30 2c 72 30 0d 03  |..mul r2,r0,r0..|
00000580  20 13 6d 6c 61 20 72 32  2c 72 31 2c 72 31 2c 72  | .mla r2,r1,r1,r|
00000590  32 0d 03 2a 14 6d 6f 76  20 72 32 2c 72 32 2c 6c  |2..*.mov r2,r2,l|
000005a0  73 6c 23 31 30 0d 03 34  04 0d 03 3e 10 3b 20 72  |sl#10..4...>.; r|
000005b0  33 20 3d 20 b6 28 72 32  29 0d 03 48 0d 6d 6f 76  |3 = .(r2)..H.mov|
000005c0  20 72 33 2c 23 30 0d 03  52 11 6d 6f 76 20 72 34  | r3,#0..R.mov r4|
000005d0  2c 23 31 3c 3c 33 30 0d  03 5c 07 2e 6c 70 0d 03  |,#1<<30..\..lp..|
000005e0  66 10 61 64 64 20 72 35  2c 72 33 2c 72 34 0d 03  |f.add r5,r3,r4..|
000005f0  70 0d 63 6d 70 20 72 35  2c 72 32 0d 03 7a 12 73  |p.cmp r5,r2..z.s|
00000600  75 62 6c 65 20 72 32 2c  72 32 2c 72 35 0d 03 84  |uble r2,r2,r5...|
00000610  12 61 64 64 6c 65 20 72  33 2c 72 35 2c 72 34 0d  |.addle r3,r5,r4.|
00000620  03 8e 13 6d 6f 76 20 72  33 2c 72 33 2c 61 73 72  |...mov r3,r3,asr|
00000630  23 31 0d 03 98 14 6d 6f  76 73 20 72 34 2c 72 34  |#1....movs r4,r4|
00000640  2c 61 73 72 23 32 0d 03  a2 0a 62 6e 65 20 6c 70  |,asr#2....bne lp|
00000650  0d 03 ac 04 0d 03 b6 15  3b 20 72 32 20 3d 20 31  |........; r2 = 1|
00000660  30 34 38 35 37 36 2f 72  33 0d 03 c0 13 6d 6f 76  |048576/r3....mov|
00000670  20 72 34 2c 23 31 30 34  38 35 37 36 0d 03 ca 0d  | r4,#1048576....|
00000680  6d 6f 76 20 72 35 2c 23  30 0d 03 d4 0d 6d 6f 76  |mov r5,#0....mov|
00000690  20 72 32 2c 23 30 0d 03  de 11 6d 6f 76 20 72 37  | r2,#0....mov r7|
000006a0  2c 23 31 3c 3c 33 31 0d  03 e8 07 2e 6c 70 0d 03  |,#1<<31.....lp..|
000006b0  f2 14 6d 6f 76 73 20 72  34 2c 72 34 2c 6c 73 6c  |..movs r4,r4,lsl|
000006c0  23 31 0d 03 fc 10 61 64  63 20 72 35 2c 72 35 2c  |#1....adc r5,r5,|
000006d0  72 35 0d 04 06 0d 63 6d  70 20 72 35 2c 72 33 0d  |r5....cmp r5,r3.|
000006e0  04 10 12 73 75 62 67 65  20 72 35 2c 72 35 2c 72  |...subge r5,r5,r|
000006f0  33 0d 04 1a 12 6f 72 72  67 65 20 72 32 2c 72 32  |3....orrge r2,r2|
00000700  2c 72 37 0d 04 24 14 6d  6f 76 73 20 72 37 2c 72  |,r7..$.movs r7,r|
00000710  37 2c 6c 73 72 23 31 0d  04 2e 0a 62 6e 65 20 6c  |7,lsr#1....bne l|
00000720  70 0d 04 38 04 0d 04 42  10 6d 75 6c 20 72 33 2c  |p..8...B.mul r3,|
00000730  72 31 2c 72 32 0d 04 4c  10 6d 75 6c 20 72 32 2c  |r1,r2..L.mul r2,|
00000740  72 30 2c 72 32 0d 04 56  04 0d 04 60 16 73 74 6d  |r0,r2..V...`.stm|
00000750  69 61 20 72 31 32 21 2c  7b 72 32 2c 72 33 7d 0d  |ia r12!,{r2,r3}.|
00000760  04 6a 04 0d 04 74 10 61  64 64 20 72 30 2c 72 30  |.j...t.add r0,r0|
00000770  2c 23 31 0d 04 7e 0f 63  6d 70 20 72 30 2c 23 31  |,#1..~.cmp r0,#1|
00000780  32 38 0d 04 88 0f 62 6c  74 20 6e 78 5f 6c 6f 6f  |28....blt nx_loo|
00000790  70 0d 04 92 04 0d 04 9c  10 61 64 64 20 72 31 2c  |p........add r1,|
000007a0  72 31 2c 23 31 0d 04 a6  0f 63 6d 70 20 72 31 2c  |r1,#1....cmp r1,|
000007b0  23 31 32 38 0d 04 b0 0f  62 6c 74 20 6e 79 5f 6c  |#128....blt ny_l|
000007c0  6f 6f 70 0d 04 ba 04 0d  04 c4 14 6c 64 72 20 72  |oop........ldr r|
000007d0  30 2c 64 69 76 5f 74 61  62 6c 65 0d 04 ce 0d 6d  |0,div_table....m|
000007e0  6f 76 20 72 32 2c 23 31  0d 04 d8 04 0d 04 e2 07  |ov r2,#1........|
000007f0  2e 64 6c 0d 04 ec 11 6d  6f 76 20 72 34 2c 23 31  |.dl....mov r4,#1|
00000800  3c 3c 32 30 0d 04 f6 27  6d 6f 76 20 72 35 2c 23  |<<20...'mov r5,#|
00000810  30 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |0               |
00000820  3b 20 72 65 6d 61 69 6e  64 65 72 0d 05 00 26 6d  |; remainder...&m|
00000830  6f 76 20 72 36 2c 23 30  20 20 20 20 20 20 20 20  |ov r6,#0        |
00000840  20 20 20 20 20 20 20 3b  20 71 75 6f 74 69 65 6e  |       ; quotien|
00000850  74 0d 05 0a 11 6d 6f 76  20 72 37 2c 23 31 3c 3c  |t....mov r7,#1<<|
00000860  33 31 0d 05 14 0d 2e 64  69 76 5f 6c 6f 6f 70 0d  |31.....div_loop.|
00000870  05 1e 14 6d 6f 76 73 20  72 34 2c 72 34 2c 6c 73  |...movs r4,r4,ls|
00000880  6c 23 31 0d 05 28 10 61  64 63 20 72 35 2c 72 35  |l#1..(.adc r5,r5|
00000890  2c 72 35 0d 05 32 0d 63  6d 70 20 72 35 2c 72 32  |,r5..2.cmp r5,r2|
000008a0  0d 05 3c 12 73 75 62 67  65 20 72 35 2c 72 35 2c  |..<.subge r5,r5,|
000008b0  72 32 0d 05 46 12 6f 72  72 67 65 20 72 36 2c 72  |r2..F.orrge r6,r|
000008c0  36 2c 72 37 0d 05 50 14  6d 6f 76 73 20 72 37 2c  |6,r7..P.movs r7,|
000008d0  72 37 2c 6c 73 72 23 31  0d 05 5a 10 62 6e 65 20  |r7,lsr#1..Z.bne |
000008e0  64 69 76 5f 6c 6f 6f 70  0d 05 64 04 0d 05 6e 18  |div_loop..d...n.|
000008f0  3b 20 72 36 20 3d 20 72  34 20 64 69 76 20 72 32  |; r6 = r4 div r2|
00000900  20 3d 20 73 0d 05 78 04  0d 05 82 13 73 74 72 20  | = s..x.....str |
00000910  72 36 2c 5b 72 30 2c 23  34 5d 21 0d 05 8c 10 61  |r6,[r0,#4]!....a|
00000920  64 64 20 72 32 2c 72 32  2c 23 31 0d 05 96 11 63  |dd r2,r2,#1....c|
00000930  6d 70 20 72 32 2c 23 33  32 37 36 38 0d 05 a0 0a  |mp r2,#32768....|
00000940  62 6c 65 20 64 6c 0d 05  aa 04 0d 05 b4 0a 2e 6d  |ble dl.........m|
00000950  61 69 6e 31 0d 05 be 0e  6d 6f 76 20 2b 64 2b 64  |ain1....mov +d+d|
00000960  2b 70 5f 74 61 62 6c 1f  ee 88 20 72 32 2c 72 7c  |+p_tabl... r2,r||
00000970  05 31 32 2c 62 31 32 2c  62 31 20 b6 32 29 6f 72  |.12,b12,b1 .2)or|
00000980  72 04 0d 04 c4 35 37 64  20 20 88 88 61 64 64 6c  |r....57d  ..addl|
00000990  30 20 b8 2c 23 0d 00 be  2c 6c 2c 6c 2c 3e 3e 1b  |0 .,#...,l,l,>>.|
000009a0  64 1b 64 1b 34 0d 00 20  72 31 38 31 31 0d 04 61  |d.d.4.. r1811..a|
000009b0  62 24 14 0d 03 52 0d 03  52 0d 0d 00 be 0d 63 0d  |b$...R..R.....c.|
000009c0  63 0d 2e 37 a1 23 30 21  0d 69 6e 78 25 3d 78 25  |c..7.#0!.inx%=x%|
000009d0  3d 78 31 30 04 0d 04 74  04 0d 04 74 04 6d 78 25  |=x10...t...t.mx%|
000009e0  3e 38 31 31 96 25 0d 44  6d 79 25 03 e8 25 3d 31  |>811.%.Dmy%..%=1|
000009f0  30 37 36 2f 72 07 72 07  72 78 3d 0d 63 2b 79 25  |076/r.r.rx=.c+y%|
00000a00  2a 34 72 32 2c 64 25 78  25 2c fd 20 a3 d1 29 0d  |*4r2,d%x%,. ..).|
00000a10  62 6c 65 25 21 ab 28 37  36 2f 72 07 72 6f 72 70  |ble%!.(76/r.rorp|
00000a20  0d 63 50 30 30 30 30 30  30 30 30 30 30 30 30 30  |.cP0000000000000|
00000a30  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
*
00000a90  30 30 30 30 30 65 65 aa  6c 65 6c 65 6c 10 61 64  |00000ee.lelel.ad|
00000aa0  01 9a 65 7a 78 3d 4f 53  5f 4b f4 20 22 04 10 31  |..ezx=OS_K. "..1|
00000ab0  30 04 37 2c 3c 6d 04 38  04 38 04 72 34 0d 72 07  |0.7,<m.8.8.r4.r.|
00000ac0  72 d8 04 66 79 34 0d 00  0a 38 04 68 6c 70 0d 04  |r..fy4...8.hlp..|
00000ad0  61 64 2c 23 30 20 3c 6d  3a 0c 77 0d 64 78 28 0d  |ad,#0 <m:.w.dx(.|
00000ae0  00 14 20 b8 76 20 72 86  61 6c 3e 2d 4c 10 14 6c  |.. .v r.al>-L..l|
00000af0  72 34 0d 6c 74 20 20 70  61 73 82 11 68 61 25 0d  |r4.lt  pas..ha%.|
00000b00  02 54 05 28 05 72 65 65  aa 61 6c 1b 64 1b 64 1b  |.T.(.ree.al.d.d.|
00000b10  70 5f 74 61 62 6c 1f ee  88 20 72 32 2c 72 7c 05  |p_tabl... r2,r|.|
00000b20  31 32 2c 62 30 30 30 30  30 30 30 30 30 30 30 30  |12,b000000000000|
00000b30  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
*
00000b90  30 30 30 30 30 30 20 b6  32 29 6f 72 72 04 0d 04  |000000 .2)orr...|
00000ba0  c4 35 37 64 20 20 88 88  61 64 64 6c 30 20 b8 2c  |.57d  ..addl0 .,|
00000bb0  23 0d 00 be 2c 6c 01 9a  65 3e 3e 1b 64 61 6c 3e  |#...,l..e>>.dal>|
00000bc0  34 0d 00 20 72 31 38 31  31 0d 04 61 62 24 14 0d  |4.. r1811..ab$..|
00000bd0  03 52 0d 03 52 0d 0d 00  be 0d 63 0d 63 0d 2e 37  |.R..R.....c.c..7|
00000be0  a1 23 30 21 0d 69 6e 78  25 3d 78 25 3d 78 31 30  |.#0!.inx%=x%=x10|
00000bf0  04 0d 04 74 fd 20 a3 d1  6d 78 25 3e 38 31 31 96  |...t. ..mx%>811.|
00000c00  25 0d 44 6d 79 25 03 e8  25 3d 31 30 37 36 2f 72  |%.Dmy%..%=1076/r|
00000c10  07 72 07 72 78 3d 0d 63  2b 79 25 2a 34 72 32 2c  |.r.rx=.c+y%*4r2,|
00000c20  64 25 78 25 2c fd 20 a3  d1 29 0d 62 6c 65 25 21  |d%x%,. ..).ble%!|
00000c30  ab 28 37 36 2f 72 07 72  6f 72 70 0d 63 50 30 30  |.(76/r.rorp.cP00|
00000c40  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
*
00000cb0  65 65 aa 6c 65 6c 65 6c  10 61 64 01 9a 65 7a 78  |ee.lelel.ad..ezx|
00000cc0  3d 4f 53 5f 4b f4 20 22  04 10 31 30 04 37 2c 3c  |=OS_K. "..10.7,<|
00000cd0  6d 04 38 04 38 04 72 34  0d 72 07 72 d8 04 66 79  |m.8.8.r4.r.r..fy|
00000ce0  34 0d 00 0a 38 04 68 6c  70 0d 04 61 64 2c 23 30  |4...8.hlp..ad,#0|
00000cf0  20 3c 6d 3a 0c 77 0d 64  78 28 0d 00 14 20 b8 76  | <m:.w.dx(... .v|
00000d00  20 72 86 61 6c 3e 2d 4c  10 14 6c 72 34 0d 6c 74  | r.al>-L..lr4.lt|
00000d10  20 20 70 61 73 82 11 68  61 25 0d 02 54 05 28 05  |  pas..ha%..T.(.|
00000d20  72 65 65 aa 61 6c 1b 64  0d 00 14 20 70 5f 74 61  |ree.al.d... p_ta|
00000d30  62 6c 1f ee 88 20 72 32  2c 72 7c 05 31 32 2c 62  |bl... r2,r|.12,b|
00000d40  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
*
00000db0  30 30 20 b6 32 29 6f 72  72 04 0d 04 c4 35 37 64  |00 .2)orr....57d|
00000dc0  20 20 88 88 61 64 64 6c  30 20 b8 2c 23 0d 00 be  |  ..addl0 .,#...|
00000dd0  2c 6c 01 9a 65 3e 3e 1b  64 61 6c 3e 34 0d 00 20  |,l..e>>.dal>4.. |
00000de0  72 31 38 31 31 0d 04 61  62 24 14 0d 03 52 6c 74  |r1811..ab$...Rlt|
00000df0  20 20 0d 00 be 0d 63 0d  63 0d 2e 37 a1 23 30 21  |  ....c.c..7.#0!|
00000e00  0d 69 6e 78 25 3d 6c 74  20 20 31 30 04 0d 04 74  |.inx%=lt  10...t|
00000e10  fd 20 a3 d1 6d 78 25 3e  38 31 31 96 25 0d 44 6d  |. ..mx%>811.%.Dm|
00000e20  79 25 03 e8 25 3d 31 30  37 36 2f 72 07 11 68 78  |y%..%=1076/r..hx|
00000e30  3d 0d 63 2b 79 25 2a 34  72 32 2c 64 25 78 25 2c  |=.c+y%*4r2,d%x%,|
00000e40  fd 20 a3 d1 29 0d 62 6c  65 25 21 ab 28 37 36 2f  |. ..).ble%!.(76/|
00000e50  72 07 72 6f 72 70 0d 63  50 30 30 30 30 30 30 30  |r.rorp.cP0000000|
00000e60  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
*
00000ec0  30 30 30 30 30 30 30 30  30 30 30 65 65 aa 6c 65  |00000000000ee.le|
00000ed0  aa 6c 10 61 64 01 9a 65  7a 78 3d 4f 53 5f 4b f4  |.l.ad..ezx=OS_K.|
00000ee0  20 22 04 10 31 30 04 37  2c 3c 6d 04 38 6c 65 aa  | "..10.7,<m.8le.|
00000ef0  72 34 0d 72 07 72 d8 04  66 79 34 0d 00 0a 38 04  |r4.r.r..fy4...8.|
00000f00  68 6c 70 0d 04 61 64 2c  23 30 20 3c 6d 3a 0c 77  |hlp..ad,#0 <m:.w|
00000f10  0d 64 78 28 0d 00 14 20  b8 76 20 72 86 61 6c 3e  |.dx(... .v r.al>|
00000f20  2d 4c 10 14 6c 72 34 0d  6c 74 20 20 70 61 73 82  |-L..lr4.lt  pas.|
00000f30  11 68 61 25 0d 02 54 05  28 05 72 65 65 aa 61 6c  |.ha%..T.(.ree.al|
00000f40  1b 64 0d 00 14 20 70 5f  74 61 62 6c 1f ee 88 20  |.d... p_tabl... |
00000f50  72 32 2c 72 7c 05 31 32  2c 62 30 30 30 30 30 30  |r2,r|.12,b000000|
00000f60  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
*
00000fc0  30 30 30 30 30 30 30 30  30 30 30 30 20 b6 32 29  |000000000000 .2)|
00000fd0  6f 72 72 04 0d 04 c4 35  37 64 20 20 88 88 61 64  |orr....57d  ..ad|
00000fe0  64 6c 30 20 b8 2c 23 0d  00 be 2c 6c 01 9a 65 3e  |dl0 .,#...,l..e>|
00000ff0  3e 1b 64 61 6c 3e 34 0d  00 20 72 31 38 31 31 0d  |>.dal>4.. r1811.|
00001000  04 61 62 24 14 0d 03 52  6c 74 20 20 0d 00 be 0d  |.ab$...Rlt  ....|
00001010  00 be 0d 6f 72 64 78 20  88 44 04 10 25 0d 02 24  |...ordx .D..%..$|
00001020  14 62 6c 65 25 21 2c 23  30 20 2c 23 30 20 2c 6d  |.ble%!,#0 ,#0 ,m|
00001030  78 25 3e 6d 78 25 3e 6d  20 70 61 73 20 72 31 78  |x%>mx%>m pas r1x|
00001040  25 2c 38 04 31 32 2c 62  31 32 2c 62 31 10 61 64  |%,8.12,b12,b1.ad|
00001050  10 61 64 10 3e 3e 3e 3e  3e d8 04 1f ee 23 30 72  |.ad.>>>>>....#0r|
00001060  65 65 76 20 72 2c 23 37  36 2f 37 36 2f 37 61 6c  |eev r,#76/76/7al|
00001070  61 6c 61 6f 72 64 78 20  88 44 04 10 25 0d 02 24  |alaordx .D..%..$|
00001080  14 62 6c 65 25 21 2c 23  30 20 2c 23 30 20 2c 6d  |.ble%!,#0 ,#0 ,m|
00001090  78 25 3e 6d 78 25 3e 6d  20 70 61 73 20 72 31 78  |x%>mx%>m pas r1x|
000010a0  25 2c 38 04 31 32 2c 62  31 32 2c 62 31 10 61 64  |%,8.12,b12,b1.ad|
000010b0  10 61 64 10 3e 3e 3e 3e  3e d8 04 1f ee 23 30 72  |.ad.>>>>>....#0r|
000010c0  65 65 76 20 72 2c 23 37  36 2f 37 36 2f 37 61 6c  |eev r,#76/76/7al|
000010d0  61 6c 61 6f 72 64 78 20  88 44 04 10 25 0d 02 24  |alaordx .D..%..$|
000010e0  14 62 6c 65 25 21 2c 23  30 20 2c 23 30 20 2c 6d  |.ble%!,#0 ,#0 ,m|
000010f0  78 25 3e 6d 78 25 3e 6d  20 70 61 73 20 72 31 78  |x%>mx%>m pas r1x|
00001100  25 2c 38 04 31 32 2c 62  31 32 2c 62 31 10 61 64  |%,8.12,b12,b1.ad|
00001110  10 61 64 10 3e 3e 3e 3e  3e d8 04 1f ee 23 30 72  |.ad.>>>>>....#0r|
00001120  65 65 76 20 72 2c 23 37  36 2f 37 36 2f 37 61 6c  |eev r,#76/76/7al|
00001130  61 6c 61 6f 72 64 78 20  88 44 04 10 25 0d 02 24  |alaordx .D..%..$|
00001140  14 62 6c 65 25 21 2c 23  30 20 2c 23 30 20 2c 6d  |.ble%!,#0 ,#0 ,m|
00001150  78 25 3e 6d 78 25 3e 6d  20 70 61 73 20 72 31 78  |x%>mx%>m pas r1x|
00001160  25 2c 38 04 31 32 2c 62  31 32 2c 62 31 10 61 64  |%,8.12,b12,b1.ad|
00001170  10 61 64 10 3e 3e 3e 3e  3e d8 04 1f ee 23 30 72  |.ad.>>>>>....#0r|
00001180  65 65 76 20 72 2c 23 37  36 2f 37 36 2f 37 61 6c  |eev r,#76/76/7al|
00001190  61 6c 61 6f 72 64 78 20  88 44 04 10 25 0d 02 24  |alaordx .D..%..$|
000011a0  14 62 6c 65 25 21 2c 23  30 20 2c 23 30 20 2c 6d  |.ble%!,#0 ,#0 ,m|
000011b0  78 25 3e 6d 78 25 3e 6d  20 70 61 73 20 72 31 78  |x%>mx%>m pas r1x|
000011c0  25 2c 38 04 31 32 2c 62  31 32 2c 62 31 10 61 64  |%,8.12,b12,b1.ad|
000011d0  10 61 64 10 3e 3e 3e 3e  3e d8 04 1f ee 23 30 72  |.ad.>>>>>....#0r|
000011e0  65 65 76 20 72 2c 23 37  36 2f 37 36 2f 37 61 6c  |eev r,#76/76/7al|
000011f0  61 6c 61 6f 72 64 78 20  88 44 04 10 25 0d 02 24  |alaordx .D..%..$|
00001200  14 62 6c 65 25 21 2c 23  30 20 2c 23 30 20 2c 6d  |.ble%!,#0 ,#0 ,m|
00001210  78 25 3e 6d 78 25 3e 6d  20 70 61 73 20 72 31 78  |x%>mx%>m pas r1x|
00001220  25 2c 38 04 31 32 2c 62  31 32 2c 62 31 10 61 64  |%,8.12,b12,b1.ad|
00001230  10 61 64 10 3e 3e 3e 3e  3e d8 04 1f ee 23 30 72  |.ad.>>>>>....#0r|
00001240  65 65 76 20 72 2c 23 37  36 2f 37 36 2f 37 61 6c  |eev r,#76/76/7al|
00001250  61 6c 61 6f 72 64 78 20  88 44 04 10 25 0d 02 24  |alaordx .D..%..$|
00001260  14 62 6c 65 25 21 2c 23  30 20 2c 23 30 20 2c 6d  |.ble%!,#0 ,#0 ,m|
00001270  78 25 3e 6d 78 25 3e 6d  20 70 61 73 20 72 31 78  |x%>mx%>m pas r1x|
00001280  25 2c 38 04 31 32 2c 62  31 32 2c 62 31 10 61 64  |%,8.12,b12,b1.ad|
00001290  10 61 64 10 3e 3e 3e 3e  3e d8 04 1f ee 23 30 72  |.ad.>>>>>....#0r|
000012a0  65 65 76 20 72 2c 23 37  36 2f 37 36 2f 37 61 6c  |eev r,#76/76/7al|
000012b0  61 6c 61 6f 72 64 78 20  88 44 04 10 25 0d 02 24  |alaordx .D..%..$|
000012c0  14 62 6c 65 25 21 2c 23  30 20 2c 23 30 20 2c 6d  |.ble%!,#0 ,#0 ,m|
000012d0  78 25 3e 6d 78 25 3e 6d  20 70 61 73 20 72 31 78  |x%>mx%>m pas r1x|
000012e0  25 2c 38 04 31 32 2c 62  31 32 2c 62 31 10 61 64  |%,8.12,b12,b1.ad|
000012f0  10 61 64 10 3e 3e 3e 3e  3e d8 04 1f ee 23 30 72  |.ad.>>>>>....#0r|
00001300  65 65 76 20 72 2c 23 37  36 2f 37 36 2f 37 61 6c  |eev r,#76/76/7al|
00001310  61 6c 61 6f 72 64 78 20  88 44 04 10 25 0d 02 24  |alaordx .D..%..$|
00001320  14 62 6c 65 25 21 2c 23  30 20 2c 23 30 20 2c 6d  |.ble%!,#0 ,#0 ,m|
00001330  78 25 3e 6d 78 25 3e 6d  20 70 61 73 20 72 31 78  |x%>mx%>m pas r1x|
00001340  25 2c 38 04 31 32 2c 62  31 32 2c 62 31 10 61 64  |%,8.12,b12,b1.ad|
00001350  10 61 64 10 3e 3e 3e 3e  3e d8 04 1f ee 23 30 72  |.ad.>>>>>....#0r|
00001360  65 65 76 20 72 2c 23 37  36 2f 37 36 2f 37 61 6c  |eev r,#76/76/7al|
00001370  61 6c 61 6f 72 64 78 20  88 44 04 10 25 0d 02 24  |alaordx .D..%..$|
00001380  14 62 6c 65 25 21 2c 23  30 20 2c 23 30 20 2c 6e  |.ble%!,#0 ,#0 ,n|
00001390  61 67 74 20 31 32 2c 62  31 11 68 0a 32 1b 64 1b  |agt 12,b1.h.2.d.|
000013a0  5f 6f 3c 12 62 6c 65 25  21 2c 35 2c 04 38 04 72  |_o<.ble%!,5,.8.r|
000013b0  34 0d 72 d8 04 66 0a 46  20 88 44 75 62 25 0d 02  |4.r..f.F .Dub%..|
000013c0  24 25 0d 44 62 6c 65 25  21 2c 50 14 73 74 72 67  |$%.Dble%!,P.strg|
000013d0  74 20 72 35 2c 04 38 04  72 6f 75 d8 04 66 0a 5a  |t r5,.8.rou..f.Z|
000013e0  d8 04 1f 67 74 20 30 30  30 30 30 30 30 30 30 30  |...gt 0000000000|
000013f0  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
*
00001450  30 30 30 30 30 30 30 30  20 5f 32 29 6f 72 0d 0a  |00000000 _2)or..|
00001460  64 0f 73 74 72 67 74 20  2c 23 30 20 2c 6e 0d 0a  |d.strgt ,#0 ,n..|
00001470  6e 0d 62 67 74 20 82 11  6f 70 0d 0a 78 04 0d 0a  |n.bgt ..op..x...|
00001480  82 68 6c 72 20 72 30 2c  2c 23 30 20 3c 3a 0c 77  |.hlr r0,,#0 <:.w|
00001490  64 78 28 0d 0a 8c 01 9a  65 3e 70 0d 63 50 6c 65  |dx(.....e>p.cPle|
000014a0  6c 2c 23 30 20 3c 3a 2c  6c 2c 72 6d 61 6c 0d 0a  |l,#0 <:,l,rmal..|
000014b0  96 1c 6c 70 0d 63 50 31  32 2c 62 69 67 2c 6c 2c  |..lp.cP12,big,l,|
000014c0  72 3e 3e 1b 6c 74 20 20  0d 65 0d 0a a0 0f 62 6c  |r>>.lt  .e....bl|
000014d0  65 25 21 2c 6c 65 aa 72  6c 5f 24 14 62 0a aa 0f  |e%!,le.rl_$.b...|
000014e0  62 70 0d 63 50 31 34 2c  6c 5f 31 32 2c 62 31 0a  |bp.cP14,l_12,b1.|
000014f0  b4 0d 6d 6f 76 20 72 31  2c 23 30 0d 0a be 69 6e  |..mov r1,#0...in|
00001500  78 04 38 04 78 3d 78 0d  10 0a c8 23 61 64 64 20  |x.8.x=x....#add |
00001510  72 32 2c 72 6c 65 aa 2c  6c 73 6c 23 6c 6f 67 32  |r2,rle.,lsl#log2|
00001520  5f 71 5f 73 74 65 70 25  2b 33 0d 0a d2 24 61 64  |_q_step%+3...$ad|
00001530  64 20 1b 64 1b 5f 6f 24  14 0d 2c 6c 73 6c 23 6c  |d .d._o$..,lsl#l|
00001540  6f 67 32 5f 71 5f 73 74  65 70 25 2b 32 0d 0a dc  |og2_q_step%+2...|
00001550  10 61 64 64 20 72 33 2c  72 32 2c 23 34 0d 0a e6  |.add r3,r2,#4...|
00001560  0d 6d 6f 76 20 72 34 2c  23 20 72 31 78 f0 20 b8  |.mov r4,# r1x. .|
00001570  76 70 0d 63 50 35 2c 5b  72 24 14 0d 2c 6c 73 6c  |vp.cP5,[r$..,lsl|
00001580  23 23 30 72 0d 0a fa 20  b8 76 70 72 20 72 36 2c  |##0r... .vpr r6,|
00001590  1f ee 23 2c 72 34 2c 6c  73 6c 23 23 30 72 0d 0b  |..#,r4,lsl##0r..|
000015a0  04 0d 6d 6f 76 20 72 34  2c 23 31 0d 0b 21 0d 69  |..mov r4,#1..!.i|
000015b0  2e 76 5f 6c 11 68 0b 18  2f 62 6c 65 25 21 2c 37  |.v_l.h../ble%!,7|
000015c0  2c 5b 72 24 2c 72 34 2c  6c 73 6c 23 23 30 72 20  |,[r$,r4,lsl##0r |
000015d0  88 44 3b 20 24 14 62 0b  22 2f 62 70 0d 63 50 38  |.D; $.b."/bp.cP8|
000015e0  2c 1f ee 23 2c 72 34 2c  6c 73 6c 23 23 30 72 20  |,..#,r4,lsl##0r |
000015f0  20 72 31 78 3b 20 31 32  2c 62 31 0b 2c 20 88 44  | r1x; 12,b1., .D|
00001600  75 04 10 25 20 72 35 2c  72 37 2c 72 35 0d 0b 36  |u..% r5,r7,r5..6|
00001610  12 72 73 62 6c 74 20 72  35 2c 72 35 2c 23 30 0d  |.rsblt r5,r5,#0.|
00001620  0b 40 44 04 6d 6f 76 6c  74 20 72 07 72 d8 23 31  |.@D.movlt r.r.#1|
00001630  0d 0b 4a 20 88 44 75 04  73 20 72 36 2c 72 04 0d  |..J .Du.s r6,r..|
00001640  04 74 fd 36 0d 0b 54 12  72 73 62 6c 74 20 72 36  |.t.6..T.rsblt r6|
00001650  2c 72 36 2c 23 30 0d 0b  38 04 68 3b 6f 72 72 6c  |,r6,#0..8.h;orrl|
00001660  74 20 72 d8 04 1f 31 2c  23 32 0d 0b 68 07 2e 6c  |t r...1,#2..h..l|
00001670  70 0d 0b 72 0f 63 6d 70  20 72 35 2c 23 31 32 38  |p..r.cmp r5,#128|
00001680  0d 0b 7c 11 63 6d 70 6c  74 20 72 36 2c 23 31 32  |..|.cmplt r6,#12|
00001690  38 0d 0b 25 0d 02 54 6d  6f 76 67 65 20 72 35 25  |8..%..Tmovge r5%|
000016a0  0d 44 6c 73 72 23 31 0d  0b 90 6c 65 aa 72 6f 76  |.Dlsr#1...le.rov|
000016b0  67 65 20 72 36 2c 72 36  2c 6c 73 72 23 31 0d 0b  |ge r6,r6,lsr#1..|
000016c0  9a 0a 62 67 65 20 6c 70  0d 0b a4 04 0d 0b ae 16  |..bge lp........|
000016d0  61 64 64 20 1b 35 2c 72  35 2c 72 36 2c 6c 73 6c  |add .5,r5,r6,lsl|
000016e0  23 37 0d 0b b8 17 61 64  64 20 1b 35 54 05 28 72  |#7....add .5T.(r|
000016f0  35 2c 6c 73 6c 23 23 0d  0b c2 44 10 61 64 10 35  |5,lsl##...D.ad.5|
00001700  2c 7b 72 35 2c 72 36 7d  20 20 20 20 20 20 20 20  |,{r5,r6}        |
00001710  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001720  3b 20 67 65 74 20 24 14  0d 6c 69 73 65 64 20 76  |; get $..lised v|
00001730  65 63 74 6f 72 73 0d 0b  cc 04 0d 0b d6 11 6d f4  |ectors........m.|
00001740  20 22 35 2c 72 23 30 72  35 0d 0b e0 3f 72 34 0d  | "5,r#0r5...?r4.|
00001750  72 35 2c 72 23 34 2c 72  36 2c 72 35 20 20 20 20  |r5,r#4,r6,r5    |
00001760  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001770  20 20 20 20 3b 20 6e 78  2a 6c 78 2b 6e 79 2a 6c  |    ; nx*lx+ny*l|
00001780  79 20 3c 3c 20 32 35 0d  0b ea 3a 6d 6f 76 73 20  |y << 25...:movs |
00001790  72 35 2c 72 35 2c 61 73  72 23 37 36 2f 72 20 20  |r5,r5,asr#76/r  |
000017a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000017b0  20 20 20 20 20 3b 20 6e  01 9a 65 3e 61 6c 20 2a  |     ; n..e>al *|
000017c0  20 73 68 64 0d 0b f4 18  44 04 25 0d 02 24 25 62  | shd....D.%..$%b|
000017d0  6c 65 25 21 2c 31 30 32  34 2b 33 38 34 0d 0b fe  |le%!,1024+384...|
000017e0  0f 6d 6f 76 6c 74 20 2c  35 2c 23 30 0d 0c 08 0f  |.movlt ,5,#0....|
000017f0  63 6d 70 20 72 35 2c 23  32 32 33 0d 0c 12 11 6d  |cmp r5,#223....m|
00001800  6f 76 67 74 20 30 35 2c  23 32 32 33 0d 0c 1c 13  |ovgt 05,#223....|
00001810  73 72 32 2c 64 72 35 2c  5b 72 31 30 3e 3e 3e 0d  |sr2,dr5,[r10>>>.|
00001820  0c 3e 2d 4c 0d 0c 30 0d  6d 6f 76 20 72 35 22 04  |.>-L..0.mov r5".|
00001830  0c 3a 0d 6d 6f 76 20 72  36 20 72 32 2c 72 7c 0c  |.:.mov r6 r2,r|.|
00001840  44 10 61 64 64 20 72 34  2c 72 34 2c 23 31 0d 0c  |D.add r4,r4,#1..|
00001850  4e 13 63 6d 70 20 72 34  2c 23 f4 20 22 0c 58 0e  |N.cmp r4,#. ".X.|
00001860  62 6c 65 20 76 5f 6c 11  6f 70 0d 0c 20 88 88 61  |ble v_l.op.. ..a|
00001870  64 64 20 1b 78 3d 78 0d  10 23 31 0d 0c 2c 6c 01  |dd .x=x..#1..,l.|
00001880  63 6d 70 20 72 31 2c 23  f4 20 22 0c 76 0e 62 6c  |cmp r1,#. ".v.bl|
00001890  65 20 04 38 04 78 11 68  0c 80 04 0d 0c 8a 78 3d  |e .8.x.h......x=|
000018a0  78 0d 10 2c 23 30 20 3c  fd 20 a3 d1 29 0d 62 70  |x..,#0 <. ..).bp|
000018b0  0d 0c 94 04 0d 0c 9e 01  9a 65 3e 70 6f 72 64 2c  |.........e>pord,|
000018c0  2c 23 30 20 3c 3a 2c 24  14 0d 6c 0d 0c a8 68 6c  |,#0 <:,$..l...hl|
000018d0  72 6c 74 20 20 31 2c 23  30 20 3c 3a 2c 77 0d 64  |rlt  1,#0 <:,w.d|
000018e0  73 65 0d 0c b2 27 6d 6f  76 20 72 30 2c 23 64 78  |se...'mov r0,#dx|
000018f0  20 17 3b 20 24 14 62 0c  bc 0a 2e 78 78 3d 78 0d  | .; $.b....xx=x.|
00001900  10 0c c6 27 6d 6f 1b 64  1b 5f d8 2c 23 30 20 20  |...'mo.d._.,#0  |
00001910  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001920  20 20 20 20 20 3b 20 31  32 2c 62 31 0c d0 0a 2e  |     ; 12,b1....|
00001930  79 78 3d 78 0d 10 0c da  3d 61 64 64 20 1b 76 20  |yx=x....=add .v |
00001940  72 2c 2c 72 31 2c 6c 73  6c 23 34 20 20 20 20 20  |r,,r1,lsl#4     |
00001950  20 20 20 20 20 20 20 20  20 3b 20 24 2b 79 2a 71  |         ; $+y*q|
00001960  5f 73 74 65 70 25 2c 20  71 5f 73 74 65 70 25 3d  |_step%, q_step%=|
00001970  31 36 0d 0c e4 34 61 64  64 20 1b 34 2c 72 33 2c  |16...4add .4,r3,|
00001980  72 32 2c 6c 73 6c 23 32  20 20 20 20 20 20 20 20  |r2,lsl#2        |
00001990  20 20 20 20 20 20 3b 20  6e 01 9a 65 3e 61 6c 2b  |      ; n..e>al+|
000019a0  6f 66 73 25 3c 3c 32 0d  0c 64 78 28 0d 0c f8 28  |ofs%<<2..dx(...(|
000019b0  62 6c 65 25 21 2c 35 2c  5b 72 34 2c 23 34 5d 20  |ble%!,5,[r4,#4] |
000019c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000019d0  20 3b 20 6c 31 0d 0d 02  76 20 72 86 72 32 2c 64  | ; l1...v r.r2,d|
000019e0  72 35 2c d1 29 0d 0d 0c  04 0d 0d 16 28 62 70 0d  |r5,.).......(bp.|
000019f0  63 50 35 2c 5b 72 34 5d  20 20 20 20 20 20 20 20  |cP5,[r4]        |
00001a00  20 20 20 20 20 20 20 20  20 20 20 20 20 3b 20 6c  |             ; l|
00001a10  32 0d 0d 20 76 20 72 86  72 72 20 72 35 2c 62 63  |2.. v r.rr r5,bc|
00001a20  0d 0d 2a 04 0d 0d 34 28  62 70 72 20 72 35 2c 5b  |..*...4(bpr r5,[|
00001a30  72 34 2c 23 34 2b 31 36  2a 34 5d 20 20 20 20 20  |r4,#4+16*4]     |
00001a40  20 20 20 20 20 20 20 20  3b 20 6c 33 0d 0d 3e 76  |        ; l3..>v|
00001a50  20 72 86 72 72 20 72 35  2c 63 63 0d 0d 48 04 0d  | r.rr r5,cc..H..|
00001a60  0d 52 34 61 64 64 20 72  37 2c 72 36 2c 72 32 2c  |.R4add r7,r6,r2,|
00001a70  6c 73 6c 23 23 20 20 20  20 20 20 20 20 20 20 20  |lsl##           |
00001a80  20 20 20 3b 20 6f 75 74  70 75 74 2b 6f 66 73 25  |   ; output+ofs%|
00001a90  3c 3c 33 0d 0d 5c 04 0d  0d 66 31 10 61 64 10 37  |<<3..\...f1.ad.7|
00001aa0  2c 7b 72 04 0d 04 74 fd  24 14 0d 6c 65 aa 31 7d  |,{r...t.$..le.1}|
00001ab0  20 20 20 20 20 20 20 20  04 10 25 78 2c 62 79 2c  |        ..%x,by,|
00001ac0  61 78 2c 61 31 32 2c 62  31 0d 70 0d 31 32 2c 62  |ax,a12,b1.p.12,b|
00001ad0  30 38 2c 25 0d 02 24 0d  0d 7a 76 20 72 86 72 72  |08,%..$..zv r.rr|
00001ae0  20 3e 3e 1b 2c 62 79 0d  0d 84 0e 31 32 2c 62 30  | >>.,by....12,b0|
00001af0  64 25 78 25 0d 02 24 0d  0d 8e 0e 31 72 32 2c 64  |d%x%..$....1r2,d|
00001b00  72 1f ee 23 31 32 2c 62  31 0d 25 0d 02 24 0d 0d  |r..#12,b1.%..$..|
00001b10  a2 01 9a 65 3e 70 6f 54  05 28 2c 5b 72 37 2c 23  |...e>poT.(,[r7,#|
00001b20  38 2b 31 36 2a 38 5d 0d  0d ac 76 20 72 86 72 72  |8+16*8]...v r.rr|
00001b30  20 3e 38 2c 63 24 14 62  0d b6 04 0d 0d c0 20 b8  | >8,c$.b...... .|
00001b40  76 70 72 54 05 28 2c 5b  72 37 2c 23 31 32 2b 31  |vprT.(,[r7,#12+1|
00001b50  36 2a 38 5d 0d 0d ca 0d  31 32 2c 62 30 38 2c 63  |6*8]....12,b08,c|
00001b60  31 32 2c 62 31 0d d4 04  0d 0d de 39 6d 6f 76 20  |12,b1......9mov |
00001b70  72 04 0d 04 74 fd 30 2c  6c 73 6c 23 34 78 25 2c  |r...t.0,lsl#4x%,|
00001b80  38 3b 20 24 2a 73 73 74  65 70 25 2c 20 73 73 74  |8; $*sstep%, sst|
00001b90  65 70 25 3d 31 36 0d 0d  e8 76 20 72 86 72 72 20  |ep%=16...v r.rr |
00001ba0  3e 38 2c 62 76 0d 0d f2  11 61 64 64 20 1b 61 6c  |>8,bv....add .al|
00001bb0  61 2c 23 31 36 0d 0d fc  76 20 72 86 72 72 20 3e  |a,#16...v r.rr >|
00001bc0  38 2c 61 76 0d 0e 06 0d  31 32 2c 62 30 38 2c 63  |8,av....12,b08,c|
00001bd0  76 0d 0e 10 04 0d 0e 1a  2e 6d 6f 76 20 72 04 2c  |v........mov r.,|
00001be0  72 31 2c 6c 73 6c 23 34  20 20 88 44 3b 20 31 2a  |r1,lsl#4  .D; 1*|
00001bf0  73 73 74 65 70 25 0d 0e  24 76 20 72 86 72 72 20  |sstep%..$v r.rr |
00001c00  3e 38 2c 61 75 0d 0e 2e  76 20 72 86 72 72 20 3e  |>8,au...v r.rr >|
00001c10  38 2c 62 75 0d 0e 38 11  61 64 64 54 05 28 2c 25  |8,bu..8.addT.(,%|
00001c20  2b 79 0d 61 2c 23 31 36  0d 0e 42 76 20 72 86 72  |+y.a,#16..Bv r.r|
00001c30  72 20 3e 38 2c 63 75 0d  0e 4c 04 0d 0e 56 22 96  |r >8,cu..L...V".|
00001c40  25 44 6d 33 1b 64 1b 6c  65 aa 2c 64 25 78 34 2c  |%Dm3.d.le.,d%x4,|
00001c50  72 36 70 5f 74 61 62 6c  1f 38 7d 0d 0e 60 17 62  |r6p_tabl.8}..`.b|
00001c60  6c 20 74 3c 6d 3a 74 75  72 65 5f 74 72 69 61 6e  |l t<m:ture_trian|
00001c70  67 6c 65 0d 0e 6a 22 3e  3e 1b 25 0d 44 64 25 78  |gle..j">>.%.Dd%x|
00001c80  1b 64 1b 6c aa 6c 10 33  2c 72 34 2c 72 36 70 25  |.d.l.l.3,r4,r6p%|
00001c90  2b 79 0d 61 7d 0d 0e 10  61 64 10 0d 0e 7e 76 20  |+y.a}...ad...~v |
00001ca0  72 86 72 72 20 3e 38 2c  61 75 0d 0e 37 36 2f 37  |r.rr >8,au..76/7|
00001cb0  62 6c 65 25 21 2c 38 2c  1f 72 34 2c 23 31 36 2a  |ble%!,8,.r4,#16*|
00001cc0  34 5d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |4]              |
00001cd0  20 3b 20 6c 34 0d 0e 92  76 20 72 86 72 72 20 3e  | ; l4...v r.rr >|
00001ce0  38 2c 61 63 0d 0e 9c 24  14 62 04 0d 04 74 fd 30  |8,ac...$.b...t.0|
00001cf0  2c 6c 73 6c 23 34 0d 0e  a6 76 20 72 86 72 72 20  |,lsl#4...v r.rr |
00001d00  3e 38 2c 61 76 0d 0e b0  04 0d 0e ba 68 6c 72 6c  |>8,av.......hlrl|
00001d10  25 2b 79 0d 61 2c 5b 72  37 2c 23 31 36 2a 38 5d  |%+y.a,[r7,#16*8]|
00001d20  0d 0e c4 76 20 72 86 72  72 20 3e 38 2c 61 24 14  |...v r.rr >8,a$.|
00001d30  62 0e ce 01 9a 65 3e 70  6f 54 25 2b 79 0d 61 2c  |b....e>poT%+y.a,|
00001d40  5b 72 37 2c 23 34 2b 31  36 2a 38 5d 0d 0e d8 76  |[r7,#4+16*8]...v|
00001d50  20 72 86 72 72 20 3e 38  2c 61 31 32 2c 62 31 0e  | r.rr >8,a12,b1.|
00001d60  e2 04 0d 0e ec 1c 96 25  44 64 25 78 1b 76 20 72  |.......%Dd%x.v r|
00001d70  2c 31 2c 72 33 2c 72 36  7d 0d 0e f6 04 0d 0f 00  |,1,r3,r6}.......|
00001d80  0d 61 64 72 20 72 30 2c  62 31 32 2c 62 31 0f 0a  |.adr r0,b12,b1..|
00001d90  6c 70 0d 04 61 38 04 31  10 6d 72 65 65 aa 61 30  |lp..a8.1.mree.a0|
00001da0  2c 25 3d 31 30 37 3c 6d  3a 33 2c 72 34 2c 72 35  |,%=107<m:3,r4,r5|
00001db0  7d 0d 0f 61 6c 61 0d 0f  1e 0d 61 70 0d 63 50 36  |}..ala....ap.cP6|
00001dc0  2c 20 70 61 73 20 0d 0f  28 1f 10 61 64 10 36 2c  |, pas ..(..ad.6,|
00001dd0  7b 72 37 2c 72 04 0d 04  74 fd 24 44 6d 4b f4 7d  |{r7,r...t.$DmK.}|
00001de0  0d 0f 32 1b 0d 0f 3c 38  31 31 96 74 35 37 64 36  |..2...<811.t57d6|
00001df0  2c 7b 72 31 70 5f 74 61  62 6c 1f 35 7d 0d 0f 46  |,{r1p_tabl.5}..F|
00001e00  15 1f ee 23 72 65 65 aa  61 30 61 6c 3e 37 20 b8  |...#ree.a0al>7 .|
00001e10  76 31 7d 0d 0f 50 04 0d  0f 5a 17 62 6c 20 74 65  |v1}..P...Z.bl te|
00001e20  78 74 75 72 65 5f 74 72  69 61 6e 67 6c 65 0d 0f  |xture_triangle..|
00001e30  64 1c 6c 70 6d 25 0d 44  64 38 31 31 1b 64 1b 6c  |d.lpm%.Dd811.d.l|
00001e40  aa 72 65 65 76 2c 72 36  7d 0d 0f 6e 04 0d 0f 78  |.reev,r6}..n...x|
00001e50  10 61 64 64 20 72 78 3d  78 0d 10 23 31 0d 0f 82  |.add rx=x..#1...|
00001e60  0e 63 6d 70 20 72 31 2c  23 31 34 0d 0f 8c 0d 62  |.cmp r1,#14....b|
00001e70  6c 65 20 79 78 11 68 0f  96 04 0d 0f a0 10 61 64  |le yx.h.......ad|
00001e80  64 20 72 6d 78 25 3e 6d  23 31 0d 0f aa 0e 63 6d  |d rmx%>m#1....cm|
00001e90  70 20 72 30 2c 23 37 36  2f 72 0d 0f b4 0d 62 6c  |p r0,#76/r....bl|
00001ea0  65 20 78 78 11 68 0f be  04 0d 0f c8 14 6c 04 0d  |e xx.h.......l..|
00001eb0  04 c4 35 25 0d 44 64 38  6d 79 25 03 61 6c 3e 31  |..5%.Dd8my%.al>1|
00001ec0  35 7d 0d 0f 31 32 2c 62  31 0d 0f dc 0c 2e 04 38  |5}..12,b1......8|
00001ed0  04 72 6f 72 07 72 d8 74  0d 0f e6 09 38 31 31 20  |.ror.r.t....811 |
00001ee0  30 0d 0f f0 04 0d 0f fa  20 70 61 73 82 5f 32 6f  |0....... pas._2o|
00001ef0  72 72 04 10 04 09 38 63  64 20 30 0d 10 0e 04 0d  |rr....8cd 0.....|
00001f00  10 18 08 2e 6c 5f 24 14  62 10 22 0f 64 63 64 20  |....l_$.b.".dcd |
00001f10  6c 78 2a 31 30 32 34 0d  10 2c 08 2e 6c 5f 31 32  |lx*1024..,..l_12|
00001f20  2c 62 31 10 36 0f 64 63  64 20 6c 79 2a 31 30 32  |,b1.6.dcd ly*102|
00001f30  34 0d 10 40 04 0d 10 4a  07 2e 3e 2d 4c 10 54 09  |4..@...J..>-L.T.|
00001f40  38 63 64 20 30 0d 10 5e  04 0d 10 68 69 6e 78 fd  |8cd 0..^...hinx.|
00001f50  20 a3 d1 29 62 6c 65 25  21 ab 0d 10 72 09 38 63  | ..)ble%!...r.8c|
00001f60  64 20 30 0d 10 7c 04 0d  10 86 0c 2e 70 5f fd 20  |d 0..|......p_. |
00001f70  a3 d1 44 04 10 20 72 32  2c 72 7c 38 31 31 20 70  |..D.. r2,r|811 p|
00001f80  5f 74 61 62 6c 65 25 0d  10 9a 04 0d 10 a4 0f 2e  |_table%.........|
00001f90  2c 23 30 20 3c 3a 2c 77  64 78 28 0d 10 ae 0f 64  |,#0 <:,wdx(....d|
00001fa0  63 64 20 6f 75 74 70 75  74 25 0d 10 b8 04 0d 10  |cd output%......|
00001fb0  c2 11 2e 2c 6e 64 65 78  5f 24 14 0d 6c 0d 10 cc  |...,ndex_$..l...|
00001fc0  0f 64 63 64 20 24 14 0d  6c 25 0d 10 d6 04 0d 10  |.dcd $..l%......|
00001fd0  e0 0c 2e 20 88 44 74 0d  10 ea 05 5d 0d 10 f4 14  |... .Dt....]....|
00001fe0  50 25 2b 3d 38 31 39 32  2f 71 5f 73 74 65 70 25  |P%+=8192/q_step%|
00001ff0  0d 10 fe 0e 5b 4f 50 54  20 70 61 73 73 25 0d 11  |....[OPT pass%..|
00002000  08 0e 2e 64 69 76 5f 6c  74 20 20 0d 65 0d 11 12  |...div_lt  .e...|
00002010  12 38 31 31 20 64 69 76  5f 6c 74 20 20 0d 65 25  |.811 div_lt  .e%|
00002020  0d 11 1c 04 0d 11 3e 2d  4c 0d 11 30 69 6e 78 fd  |......>-L..0inx.|
00002030  74 61 29 0d 62 70 0d 11  3a 09 38 63 64 20 30 0d  |ta).bp..:.8cd 0.|
00002040  11 44 6f 72 64 6c 69 6e  6b 0d 11 4e 09 38 63 64  |.Dordlink..N.8cd|
00002050  20 30 0d 11 58 0e 2e 64  69 76 5f 6c 74 20 20 0d  | 0..X..div_lt  .|
00002060  65 0d 11 62 12 38 63 64  20 64 69 76 5f 6c 61 62  |e..b.8cd div_lab|
00002070  6c 65 25 0d 11 6c 0d 2e  63 6f 6c 6c 74 20 20 0d  |le%..l..collt  .|
00002080  65 0d 11 76 0f 64 63 64  20 63 6f 6c 6c 61 62 25  |e..v.dcd collab%|
00002090  0d 11 80 0c 2e 72 5f 2c  23 30 20 3c 3a 0d 11 8a  |.....r_,#0 <:...|
000020a0  09 38 63 64 20 30 0d 11  94 0c 2e 6c 5f 2c 23 30  |.8cd 0.....l_,#0|
000020b0  20 3c 3a 0d 11 9e 09 38  63 64 20 30 0d 11 a8 04  | <:....8cd 0....|
000020c0  0d 11 b2 0a 2e 79 5f 65  6e 64 0d 11 bc 09 38 63  |.....y_end....8c|
000020d0  64 20 30 0d 11 65 7a 78  0d 11 d0 69 6e 78 fd 70  |d 0..ezx...inx.p|
000020e0  72 69 74 65 0d 11 da 12  38 63 64 20 73 70 72 69  |rite....8cd spri|
000020f0  74 65 25 2b 35 36 0d 11  e4 0e 2e 73 63 72 65 65  |te%+56.....scree|
00002100  6e 61 64 72 0d 11 ee 15  38 31 31 20 a4 73 63 72  |nadr....811 .scr|
00002110  65 65 6e 61 64 72 28 32  29 0d 11 f8 15 38 63 64  |eenadr(2)....8cd|
00002120  20 a4 73 63 72 65 65 6e  61 64 72 28 31 29 0d 12  | .screenadr(1)..|
00002130  6c 74 20 20 0d 12 0c 17  2e 61 31 3a 64 63 64 20  |lt  .....a1:dcd |
00002140  30 3a 2e 61 78 3a 64 63  64 20 30 0d 12 16 0d 2e  |0:.ax:dcd 0.....|
00002150  d1 29 3a 64 63 64 20 30  0d 12 20 17 2e 61 75 3a  |.):dcd 0.. ..au:|
00002160  64 63 64 20 30 3a 2e 61  76 3a 64 63 64 20 30 0d  |dcd 0:.av:dcd 0.|
00002170  12 2a 15 38 63 64 20 30  3a 64 63 64 20 30 3a 64  |.*.8cd 0:dcd 0:d|
00002180  63 64 20 30 0d 12 0d 00  be 2c 12 3e 17 2e 62 31  |cd 0.....,.>..b1|
00002190  3a 64 63 64 20 30 3a 2c  23 0d 78 3a 38 31 31 20  |:dcd 0:,#.x:811 |
000021a0  30 0d 12 48 0d 2c 23 0d  63 3a 64 63 64 20 30 0d  |0..H.,#.c:dcd 0.|
000021b0  12 52 17 2e 62 75 3a 38  31 31 20 30 3a 2c 23 0d  |.R..bu:811 0:,#.|
000021c0  76 3a 64 63 64 20 30 0d  12 5c 15 38 63 64 20 30  |v:dcd 0..\.8cd 0|
000021d0  3a 64 63 64 20 30 3a 38  31 31 20 30 0d 12 66 04  |:dcd 0:811 0..f.|
000021e0  0d 12 70 17 2e 20 70 61  73 20 3a 64 63 64 20 30  |..p.. pas :dcd 0|
000021f0  3a 2c 63 24 3a 64 63 64  20 30 0d 12 7a 76 2e 63  |:,c$:dcd 0..zv.c|
00002200  63 3a 38 31 31 20 30 0d  12 84 17 2e 20 75 3a 38  |c:811 0..... u:8|
00002210  63 64 20 30 3a 2c 63 76  3a 64 63 64 20 30 0d 12  |cd 0:,cv:dcd 0..|
00002220  10 04 09 6f 38 31 31 20  30 3a 38 31 31 20 30 3a  |...o811 0:811 0:|
00002230  38 63 64 20 30 0d 12 25  0d 02 24 0d 12 a2 30 20  |8cd 0..%..$...0 |
00002240  b8 2c 74 65 78 74 75 72  65 5f 74 72 69 61 6e 67  |.,texture_triang|
00002250  6c 65 0d 12 ac 76 61 64  72 20 72 30 2c 61 31 0d  |le...vadr r0,a1.|
00002260  12 b6 64 20 20 70 0d 63  50 31 30 2c 5b 72 30 2c  |..d  p.cP10,[r0,|
00002270  23 64 5d 0d 12 c0 14 6c  04 72 20 72 0d 03 52 6c  |#d]....l.r r..Rl|
00002280  5b 72 30 2c 23 33 32 5d  0d 12 ca 0f 63 6d 70 20  |[r0,#32]....cmp |
00002290  72 07 72 d8 03 e8 25 0d  12 d4 10 6d 6f 76 6c 74  |r.r...%....movlt|
000022a0  20 72 d8 20 72 32 2c 72  7c 12 de 10 6d 6f 76 67  | r. r2,r|...movg|
000022b0  65 20 72 04 10 31 30 0d  12 e8 0f 6d 6f 76 6c 74  |e r..10....movlt|
000022c0  20 2c 32 2c 23 31 0d 12  f2 0f 6d 6f 76 67 65 20  | ,2,#1....movge |
000022d0  72 32 2c 23 30 0d 12 2c  23 37 62 6c 65 25 21 2c  |r2,#0..,#7ble%!,|
000022e0  6c 1f ee 23 30 2c 23 36  34 5d 0d 13 23 30 21 63  |l..#0,#64]..#0!c|
000022f0  6d 70 20 72 31 10 61 64  01 0d 13 10 10 6d 6f 76  |mp r1.ad.....mov|
00002300  6c 74 20 72 d8 20 6c 74  20 20 0d 13 1a 0f 6d 6f  |lt r. lt  ....mo|
00002310  76 6c 74 20 72 32 2c 23  32 0d 13 24 0f 63 6d 70  |vlt r2,#2..$.cmp|
00002320  20 72 31 2c 23 35 3e 3e  3e 13 2e 10 6d 6f 76 67  | r1,#5>>>...movg|
00002330  65 20 04 0d 04 c4 35 3c  6d 3a 0d 13 38 0e 63 6d  |e ....5<m:..8.cm|
00002340  70 20 72 64 25 78 23 30  0d 13 42 10 63 6d 70 6c  |p rd%x#0..B.cmpl|
00002350  74 20 72 d8 31 2c 23 30  0d 13 4c 10 63 6d 70 6c  |t r.1,#0..L.cmpl|
00002360  74 20 2c 31 32 2c 23 30  0d 13 56 10 6d 6f 76 6c  |t ,12,#0..V.movl|
00002370  74 20 04 0d 04 c4 35 3c  37 36 2f 72 0d 13 60 04  |t ....5<76/r..`.|
00002380  0d 13 6a 31 30 04 37 44  04 fd 20 a3 d1 29 62 70  |..j10.7D.. ..)bp|
00002390  0d 13 10 61 64 10 0d 13  7e 20 88 44 75 04 73 20  |...ad...~ .Du.s |
000023a0  72 33 2c 72 32 2c 23 31  0d 13 88 0f 6d 6f 76 6c  |r3,r2,#1....movl|
000023b0  74 20 72 33 2c 23 32 0d  13 92 04 0d 13 9c 16 61  |t r3,#2........a|
000023c0  64 64 54 72 32 2c 72 30  6c 74 20 20 0d 6c 73 6c  |ddTr2,r0lt  .lsl|
000023d0  23 35 0d 13 a6 3d 61 64  2c 62 20 72 32 2c 7b 72  |#5...=ad,b r2,{r|
000023e0  35 2c 72 36 2b 6f 20 40  04 61 7d 20 20 20 20 20  |5,r6+o @.a}     |
000023f0  20 20 20 20 20 20 20 20  20 20 20 20 20 3b 20 24  |             ; $|
00002400  5f 6b 2c 63 5f 6b 2c 04  38 04 6b 2c 76 5f 6b 0d  |_k,c_k,.8.k,v_k.|
00002410  13 b0 16 61 64 64 20 72  0d 03 52 6c 33 2c 6c 73  |...add r..Rl3,ls|
00002420  6c 23 35 0d 13 ba 31 30  04 37 44 72 34 2c 6c 5f  |l#5...10.7Dr4,l_|
00002430  2c 6e 64 3c 6d 3a 0d 13  c4 20 88 44 75 04 73 20  |,nd<m:... .Du.s |
00002440  64 25 78 33 2c 23 31 0d  13 ce 0f 6d 6f 76 6c 74  |d%x3,#1....movlt|
00002450  20 2c 33 2c 23 32 0d 13  d8 16 61 64 64 61 6c 61  | ,3,#2....addala|
00002460  10 61 64 10 2c 6c 73 6c  23 35 0d 13 e2 31 30 04  |.ad.,lsl#5...10.|
00002470  37 44 72 30 2c 72 5f 2c  6e 64 65 78 0d 13 ec 41  |7Dr0,r_,ndex...A|
00002480  10 61 64 10 34 2c 7b 72  24 14 0d 6c 4b f4 54 05  |.ad.4,{r$..lK.T.|
00002490  28 72 76 20 72 86 20 20  20 20 20 20 20 20 20 20  |(rv r.          |
000024a0  20 3b 20 31 5f 6c 2c 78  5f 6c 2c 63 5f 6c 2c 04  | ; 1_l,x_l,c_l,.|
000024b0  38 04 78 2c 76 5f 6c 0d  13 f6 04 0d 14 00 7c 05  |8.x,v_l.......|.|
000024c0  31 72 32 2c 64 72 1f 34  2c 6c 69 6e 6b 0d 14 10  |1r2,dr.4,link...|
000024d0  04 09 d8 62 6c 65 25 21  2c 6c 34 2c 64 69 76 5f  |...ble%!,l4,div_|
000024e0  6c 61 62 6c 65 0d 14 14  31 44 04 25 20 72 32 2c  |lable...1D.% r2,|
000024f0  72 24 14 0d 20 20 20 20  20 20 20 20 20 20 20 20  |r$..            |
00002500  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3b  |               ;|
00002510  20 64 6c 31 32 2c 62 31  14 1e 37 6c 64 72 67 74  | dl12,b1..7ldrgt|
00002520  20 30 1f ee 23 37 36 2f  72 6c 74 20 20 0d 6c 73  | 0..#76/rlt  .ls|
00002530  6c 23 32 5d 20 20 20 20  20 20 20 20 20 20 20 20  |l#2]            |
00002540  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002560  20 20 20 20 20 20 20 20  20 20 20 20 04 31 31 3c  |            .11<|
00002570  3c 32 30 2f 64 6c 31 0d  14 28 04 0d 14 32 3e 3e  |<20/dl1..(...2>>|
00002580  3e 67 74 20 30 6d 78 25  3e 6d 2c 6c 73 6c 23 31  |>gt 0mx%>m,lsl#1|
00002590  30 0d 14 3c 17 6d 6f 76  65 71 20 72 33 2c 72 31  |0..<.moveq r3,r1|
000025a0  30 2c 6c 73 6c 23 31 30  0d 14 46 13 73 75 62 67  |0,lsl#10..F.subg|
000025b0  74 20 2c 34 2c 72 20 70  61 73 20 35 0d 14 50 35  |t ,4,r pas 5..P5|
000025c0  2b 79 25 2a 34 72 4f 53  5f 4b 72 32 2c 72 34 20  |+y%*4rOS_Kr2,r4 |
000025d0  20 1c 3b 20 64 6c 78 3c  3c 32 30 0d 14 5a 0e 31  | .; dlx<<20..Z.1|
000025e0  72 37 2c 3c 2c 64 6c 78  0d 14 64 04 0d 14 6e 17  |r7,<,dlx..d...n.|
000025f0  6d 6f 76 67 74 20 2c 31  6f 72 64 6c 73 6c 23 31  |movgt ,1ordlsl#1|
00002600  30 0d 14 78 18 6d 6f 76  65 71 20 10 04 09 6f 0d  |0..x.moveq ...o.|
00002610  03 52 6c 6c 73 6c 23 31  30 0d 14 82 0e 31 32 2c  |.Rllsl#10....12,|
00002620  62 30 64 30 2c 6c 63 0d  14 8c 13 73 75 62 67 74  |b0d0,lc....subgt|
00002630  4f 53 5f 4b 72 61 64 2c  36 0d 14 96 35 2b f4 20  |OS_Krad,6...5+. |
00002640  22 34 2c 72 24 14 0d 20  20 20 20 20 20 20 20 20  |"4,r$..         |
00002650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002660  20 20 20 3b 20 64 6c 63  3c 3c 32 30 0d 14 a0 0e  |   ; dlc<<20....|
00002670  31 72 37 4f 53 5f 4b 64  6c 63 0d 14 aa 04 0d 14  |1r7OS_Kdlc......|
00002680  b4 17 6d 6f 76 67 74 20  2c 31 6f 2b 6f 20 6c 73  |..movgt ,1o+o ls|
00002690  6c 23 31 30 0d 14 be 18  6d 6f 76 65 71 aa 6c 54  |l#10....moveq.lT|
000026a0  05 28 6c 73 6c 23 31 30  0d 14 c8 0e 31 72 37 4f  |.(lsl#10....1r7O|
000026b0  20 72 31 78 6c 75 0d 14  d2 13 73 75 62 67 74 20  | r1xlu....subgt |
000026c0  30 34 2c 72 20 32 2c 72  37 0d 14 dc 35 2b f4 6c  |04,r 2,r7...5+.l|
000026d0  20 72 34 2c 72 24 2c 72  34 20 20 20 20 20 20 20  | r4,r$,r4       |
000026e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000026f0  20 20 20 20 20 3b 20 64  6c 75 3c 3c 32 30 0d 14  |     ; dlu<<20..|
00002700  e6 0e 31 72 37 4f 20 34  2c 64 6c 75 0d 14 f0 04  |..1r7O 4,dlu....|
00002710  0d 14 fa 17 6d 6f 76 67  74 20 30 20 70 61 73 20  |....movgt 0 pas |
00002720  38 2c 6c 73 6c 23 31 30  0d 15 04 18 6d 6f 76 65  |8,lsl#10....move|
00002730  71 20 10 20 70 61 73 20  6c 65 aa 72 6c 73 6c 23  |q . pas le.rlsl#|
00002740  31 30 0d 15 0e 0e 31 72  37 4f 20 64 25 78 6c 76  |10....1r7O d%xlv|
00002750  0d 15 18 13 73 75 62 67  74 20 2c 34 a1 23 20 72  |....subgt ,4.# r|
00002760  32 2c 72 7c 15 22 35 2b  f4 6c 4f 53 5f 4b 72 24  |2,r|."5+.lOS_Kr$|
00002770  14 0d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00002780  20 20 20 20 20 20 20 20  20 20 20 20 20 20 3b 20  |              ; |
00002790  64 6c 76 3c 3c 32 30 0d  15 2c 0e 31 72 37 4f 20  |dlv<<20..,.1r7O |
000027a0  34 2c 64 6c 76 0d 15 10  61 64 01 0d 15 40 41 10  |4,dlv...ad...@A.|
000027b0  0f 64 63 6d 72 20 72 30  2c 7b 72 6c 65 aa 6c 65  |.dcmr r0,{rle.le|
000027c0  aa 31 54 05 28 72 76 33  7d 20 20 20 20 20 20 20  |.1T.(rv3}       |
000027d0  20 20 20 20 3b 20 31 5f  72 2c 78 5f 72 2c 63 5f  |    ; 1_r,x_r,c_|
000027e0  72 2c 04 38 04 72 2c 76  5f 72 0d 15 4a 31 44 75  |r,.8.r,v_r..J1Du|
000027f0  62 25 20 72 32 2c 72 6c  2c 72 31 20 20 20 20 20  |b% r2,rl,r1     |
00002800  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002810  20 20 20 20 20 20 3b 20  64 72 31 32 2c 62 31 15  |      ; dr12,b1.|
00002820  54 37 6c 64 72 67 74 20  30 1f 2c 5b 72 37 36 2f  |T7ldrgt 0.,[r76/|
00002830  72 6c 72 32 2c 6c 73 6c  23 32 5d 78 25 2c 38 3b  |rlr2,lsl#2]x%,8;|
00002840  20 31 3c 3c 32 30 2f 64  72 31 0d 15 5e 04 0d 15  | 1<<20/dr1..^...|
00002850  68 3e 3e 3e 67 74 20 2c  34 a1 72 35 2c 6c 73 6c  |h>>>gt ,4.r5,lsl|
00002860  23 31 30 0d 15 72 17 6d  6f 76 65 71 aa 72 34 2c  |#10..r.moveq.r4,|
00002870  20 72 31 78 6c 73 6c 23  31 30 0d 15 7c 38 31 31  | r1xlsl#10..|811|
00002880  96 75 62 67 74 aa 6c 54  10 04 09 6f 35 0d 15 86  |.ubgt.lT...o5...|
00002890  35 2b f4 6c 4f 10 04 09  6f 10 61 64 01 64 78 20  |5+.lO...o.ad.dx |
000028a0  1a 3b 20 64 72 78 3c 3c  32 30 0d 15 90 0f 73 72  |.; drx<<20....sr|
000028b0  32 2c 64 72 1f 30 2c 64  72 24 14 62 15 9a 04 0d  |2,dr.0,dr$.b....|
000028c0  15 2c 6c 01 6d 6f 76 67  74 20 2c 31 6f 2b 72 36  |.,l.movgt ,1o+r6|
000028d0  2c 6c 73 6c 23 31 30 0d  15 ae 18 6d 6f 76 65 71  |,lsl#10....moveq|
000028e0  aa 72 20 70 61 73 20 6c  31 2c 6c 73 6c 23 31 30  |.r pas l1,lsl#10|
000028f0  0d 15 b8 0e 31 72 37 4f  20 64 30 2c 72 63 0d 15  |....1r7O d0,rc..|
00002900  c2 38 31 31 96 75 62 67  74 4f 10 04 09 6f 0d 31  |.811.ubgtO...o.1|
00002910  2c 72 36 0d 15 cc 35 2b  f4 6c 4f 10 20 70 61 73  |,r6...5+.lO. pas|
00002920  20 10 61 64 01 64 20 20  20 20 20 20 20 20 20 20  | .ad.d          |
00002930  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002940  3b 20 64 72 63 3c 3c 32  30 0d 15 d6 0f 73 72 72  |; drc<<20....srr|
00002950  20 72 0d 30 2c 64 72 63  0d 15 d1 29 0d 15 ea 17  | r.0,drc...)....|
00002960  6d 6f 76 67 74 20 2c 31  6f 2b 72 37 2c 6c 73 6c  |movgt ,1o+r7,lsl|
00002970  23 31 30 0d 15 f4 18 6d  6f 76 65 71 aa 6c 54 10  |#10....moveq.lT.|
00002980  31 32 2c 6c 73 6c 23 31  30 0d 15 fe 0e 31 32 2c  |12,lsl#10....12,|
00002990  62 30 64 30 2c 72 75 0d  16 37 2c 3c 44 04 67 74  |b0d0,ru..7,<D.gt|
000029a0  20 30 20 23 30 72 22 04  16 12 35 2b f4 6c 4f 10  | 0 #0r"...5+.lO.|
000029b0  20 37 36 2f 37 31 30 20  20 20 20 20 20 20 20 20  | 76/710         |
000029c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000029d0  20 3b 20 64 72 75 3c 3c  32 30 0d 16 1c 0f 73 72  | ; dru<<20....sr|
000029e0  72 aa 6c 54 64 72 75 0d  16 3e 2d 4c 0d 16 30 17  |r.lTdru..>-L..0.|
000029f0  6d 6f 76 67 74 aa 6c 54  10 38 2c 6c 73 6c 23 31  |movgt.lT.8,lsl#1|
00002a00  30 0d 16 3a 18 6d 6f 76  65 71 20 10 20 6c 65 aa  |0..:.moveq . le.|
00002a10  33 2c 6c 73 6c 23 31 30  0d 16 44 0e 31 72 37 4f  |3,lsl#10..D.1r7O|
00002a20  20 64 30 2c 72 76 0d 16  31 32 2c 62 30 44 04 67  | d0,rv..12,b0D.g|
00002a30  74 20 2c 31 6f 2b 72 23  30 72 38 0d 16 58 35 2b  |t ,1o+r#0r8..X5+|
00002a40  f4 6c 4f 10 20 37 20 70  61 73 20 64 78 20 1a 3b  |.lO. 7 pas dx .;|
00002a50  20 64 72 76 3c 3c 32 30  0d 16 62 0f 73 72 72 aa  | drv<<20..b.srr.|
00002a60  20 72 31 78 64 72 76 0d  16 6c 04 0d 16 31 0d 04  | r1xdrv..l...1..|
00002a70  61 10 04 09 d8 2c 73 63  72 65 65 6e 61 64 72 0d  |a....,screenadr.|
00002a80  16 80 16 61 64 64 61 72  32 2c 72 32 2c 72 31 2c  |...addar2,r2,r1,|
00002a90  6c 73 6c 23 36 0d 16 8a  39 61 64 64 20 1b 76 20  |lsl#6...9add .v |
00002aa0  70 61 73 20 2c 6c 73 6c  23 38 20 20 20 20 20 20  |pas ,lsl#8      |
00002ab0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002ac0  3b 20 73 63 72 65 65 6e  20 6c 69 6e 65 0d 16 94  |; screen line...|
00002ad0  04 0d 16 9e 0e 4d 4f 56  20 52 37 36 2f 72 6c 52  |.....MOV R76/rlR|
00002ae0  37 0d 16 78 3d 0d 62 6c  65 25 21 2c 6c 30 2c 73  |7..x=.ble%!,l0,s|
00002af0  70 72 69 74 65 0d 16 b2  04 0d 16 bc 0d 63 6d 70  |prite........cmp|
00002b00  20 72 61 64 64 6c 30 30  0d 16 c6 31 30 04 37 6c  | raddl00...10.7l|
00002b10  74 20 72 6c 65 6c 79 5f  65 6e 64 0d 16 4f 53 5f  |t rlely_end..OS_|
00002b20  4b 73 74 72 67 65 20 72  30 2c 79 5f 65 6e 64 0d  |Kstrge r0,y_end.|
00002b30  16 da 04 0d 16 e4 10 62  67 74 20 6d 65 74 68 6f  |.......bgt metho|
00002b40  64 5f 32 0d 16 ee 10 62  65 71 aa 6c 61 73 74 5f  |d_2....beq.last_|
00002b50  62 69 74 0d 16 f8 04 0d  17 02 3c 2e 6d 65 74 68  |bit.......<.meth|
00002b60  6f 64 5f 20 72 31 78 78  78 78 78 78 78 78 78 78  |od_ r1xxxxxxxxxx|
00002b70  78 78 78 78 78 78 78 78  78 78 78 78 78 78 78 78  |xxxxxxxxxxxxxxxx|
00002b80  78 78 78 78 78 3b 20 6c  65 66 74 5f 31 3c 72 69  |xxxxx; left_1<ri|
00002b90  67 68 74 5f 31 32 2c 62  31 17 0c 04 0d 17 16 0a  |ght_12,b1.......|
00002ba0  a4 79 78 11 6f 70 0d 17  30 30 30 30 30 30 30 30  |.yx.op..00000000|
00002bb0  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
*
00002c10  30 30 30 30 30 30 30 30  30 30 20 0d 17 2a 0e 3b  |0000000000 ..*.;|
00002c20  20 72 30 20 3d 20 79 5f  6c 0d 17 34 38 04 31 72  | r0 = y_l..48.1r|
00002c30  32 20 3d 20 73 63 6c 69  6e 65 0d 17 3e 76 3b 20  |2 = scline..>v; |
00002c40  72 33 20 3d 20 6c 78 0d  17 48 0d 3b 20 72 34 20  |r3 = lx..H.; r4 |
00002c50  3d 20 72 24 14 62 17 52  17 3b 20 72 31 2c 72 35  |= r$.b.R.; r1,r5|
00002c60  20 b8 76 34 20 3d 20 65  6d 32 29 6f 31 32 2c 62  | .v4 = em2)o12,b|
00002c70  31 17 5c 04 0d 17 66 20  3b 20 72 65 63 61 6c 63  |1.\...f ; recalc|
00002c80  75 61 74 65 20 64 6c 78  2c 64 6c 75 2c 64 6c 76  |uate dlx,dlu,dlv|
00002c90  2c 64 6c 63 0d 17 70 64  65 78 0d 10 2c 31 2c 6c  |,dlc..pdex..,1,l|
00002ca0  5f 2c 6e 64 3c 6d 3a 0d  17 7a 3d 61 0f 64 63 6d  |_,nd<m:..z=a.dcm|
00002cb0  62 20 72 31 2c 7b 72 04  0d 10 68 3e 6c 65 aa 31  |b r1,{r...h>le.1|
00002cc0  54 3e 2d 4c 7d 20 20 20  20 20 20 20 20 20 20 20  |T>-L}           |
00002cd0  20 20 20 20 3b 20 78 5f  6c 2c 63 5f 6c 2c 04 5f  |    ; x_l,c_l,._|
00002ce0  6c 2c 76 5f 6c 0d 17 84  12 62 6c 65 25 21 2c 6c  |l,v_l....ble%!,l|
00002cf0  2c 72 5f 2c 6e 64 3c 24  14 62 17 8e 41 10 0f 35  |,r_,nd<$.b..A..5|
00002d00  37 64 31 2c 25 3d 31 30  37 3c 72 35 2c 72 36 2c  |7d1,%=107<r5,r6,|
00002d10  72 37 2c 72 04 7d 20 20  20 20 20 20 20 20 20 20  |r7,r.}          |
00002d20  20 20 20 20 20 3b 20 31  5f 72 2c 78 5f 72 2c 63  |     ; 1_r,x_r,c|
00002d30  5f 72 2c 04 5f 72 2c 76  5f 72 0d 17 98 7c 05 31  |_r,._r,v_r...|.1|
00002d40  72 72 20 72 0d 2c 79 5f  65 6e 64 0d 17 a2 04 0d  |rr r.,y_end.....|
00002d50  17 ac 31 44 75 04 10 25  20 62 6c 65 25 21 2c 2c  |..1Du..% ble%!,,|
00002d60  23 37 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |#7              |
00002d70  20 20 20 20 20 20 20 20  20 20 20 20 20 3b 20 64  |             ; d|
00002d80  6c 31 32 2c 62 31 17 b6  15 62 6c 65 25 21 2c 6c  |l12,b1...ble%!,l|
00002d90  34 2c 64 69 76 5f 6c 61  62 6c 65 0d 17 37 36 2f  |4,div_lable..76/|
00002da0  37 0d 17 ca 37 6c 64 72  67 74 20 2c 31 2c 5b 72  |7...7ldrgt ,1,[r|
00002db0  37 34 2c 72 20 2c 6c 73  6c 23 32 5d 20 20 20 20  |74,r ,lsl#2]    |
00002dc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002df0  20 20 20 20 3b 20 31 3c  3c 32 30 2f 64 6c 31 0d  |    ; 1<<20/dl1.|
00002e00  17 25 0d 02 24 44 04 67  74 4f 53 5f 4b 04 38 04  |.%..$D.gtOS_K.8.|
00002e10  31 0d 17 de 35 2b f4 6c  4f 10 37 2c 72 31 2c 72  |1...5+.lO.7,r1,r|
00002e20  37 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |7               |
00002e30  20 20 20 20 20 20 20 20  20 20 20 20 20 3b 20 64  |             ; d|
00002e40  6c 75 3c 3c 10 61 64 10  17 e8 0e 31 72 37 4f 20  |lu<<.ad....1r7O |
00002e50  37 2c 64 6c 75 0d 17 f2  12 73 75 62 67 74 20 30  |7,dlu....subgt 0|
00002e60  35 d8 04 66 33 0d 17 2c  23 37 6d 6f 76 20 72 88  |5..f3..,#7mov r.|
00002e70  20 6c 73 6c 23 31 30 0d  18 06 35 2b f4 6c 4f 10  | lsl#10...5+.lO.|
00002e80  35 2c 72 23 2c 72 35 20  20 20 20 20 20 20 20 20  |5,r#,r5         |
00002e90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002ea0  20 20 20 3b 20 64 6c 78  3c 3c 32 30 0d 18 10 0e  |   ; dlx<<20....|
00002eb0  31 32 2c 62 30 35 2c 64  6c 78 0d 18 1a 13 73 75  |12,b05,dlx....su|
00002ec0  62 67 74 20 72 35 2c 72  2b 79 25 2a 34 72 30 0d  |bgt r5,r+y%*4r0.|
00002ed0  18 24 35 2b f4 6c 4f 10  35 aa 6c 10 35 20 20 20  |.$5+.lO.5.l.5   |
00002ee0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002ef0  20 20 20 20 20 20 20 20  20 3b 20 64 6c 63 3c 3c  |         ; dlc<<|
00002f00  10 61 64 10 18 2e 0e 31  72 37 4f 20 35 2c 64 6c  |.ad....1r7O 5,dl|
00002f10  63 0d 18 38 04 0d 18 42  13 73 75 62 67 74 20 72  |c..8...B.subgt r|
00002f20  35 2c 72 6c 74 20 20 32  0d 18 4c 35 2b f4 6c 4f  |5,rlt  2..L5+.lO|
00002f30  10 35 aa fd 20 a3 d1 6d  35 20 20 20 20 20 20 20  |.5.. ..m5       |
00002f40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002f50  20 20 20 20 20 3b 20 64  6c 76 3c 3c 32 30 0d 18  |     ; dlv<<20..|
00002f60  56 0e 31 72 37 4f 20 35  2c 64 6c 76 0d 18 60 04  |V.1r7O 5,dlv..`.|
00002f70  0d 18 6a 31 62 6c 65 25  21 2c 6c 30 2c 73 70 72  |..j1ble%!,l0,spr|
00002f80  69 74 65 0d 18 10 61 64  10 0d 18 7e 0e 4d 4f 56  |ite...ad...~.MOV|
00002f90  20 52 37 36 2f 72 6c 52  30 0d 18 88 0d 2e 6c 61  | R76/rlR0.....la|
00002fa0  73 74 5f 62 69 74 0d 18  92 0a a4 79 78 11 6f 70  |st_bit.....yx.op|
00002fb0  0d 18 04 0d 10 68 3e 0d  18 10 04 09 d8 62 6c 65  |.....h>......ble|
00002fc0  25 21 2c 6c 78 25 2c fd  74 61 29 62 6c 65 25 21  |%!,lx%,.ta)ble%!|
00002fd0  ab 0d 18 b0 10 62 6c 65  25 21 2c 6c 35 2c 6c 69  |.....ble%!,l5,li|
00002fe0  6e 6b 0d 18 ba 04 0d 18  78 25 2c 38 0d 18 ce 3d  |nk......x%,8...=|
00002ff0  2e 6d 65 74 68 6f 64 5f  32 20 20 20 20 20 20 20  |.method_2       |
00003000  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003010  20 20 20 20 20 20 20 20  3b 20 72 69 67 68 74 5f  |        ; right_|
00003020  31 3c 20 6c 65 66 74 5f  31 0d 18 d8 0a a4 79 64  |1< left_1.....yd|
00003030  65 78 0d 10 18 e2 04 0d  18 ec 0e 3b 20 72 30 20  |ex.........; r0 |
00003040  3d 20 79 5f 6c 0d 18 f6  38 04 31 72 32 20 3d 20  |= y_l...8.1r2 = |
00003050  73 63 6c 69 6e 65 0d 19  00 0d 3b 20 72 33 20 3d  |scline....; r3 =|
00003060  20 6c 78 0d 19 0a 0d 3b  20 72 34 20 3d 20 72 24  | lx....; r4 = r$|
00003070  14 62 19 14 17 3b 20 fd  20 a3 d1 6d 35 20 b8 76  |.b...; . ..m5 .v|
00003080  34 20 3d 20 65 6d 32 74  31 32 2c 62 31 19 1e 04  |4 = em2t12,b1...|
00003090  0d 19 28 20 3b 20 72 65  63 61 6c 63 75 61 74 65  |..( ; recalcuate|
000030a0  20 64 72 78 2c 64 72 75  2c 64 72 76 2c 64 72 63  | drx,dru,drv,drc|
000030b0  0d 19 32 64 65 78 0d 10  2c 31 2c 72 5f 2c 23 30  |..2dex..,1,r_,#0|
000030c0  20 3c 3a 0d 19 3c 3d 61  0f 6d 69 62 20 72 31 2c  | <:..<=a.mib r1,|
000030d0  25 72 34 2c 20 20 70 61  73 20 6c 31 20 b6 32 7d  |%r4,  pas l1 .2}|
000030e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3b  |               ;|
000030f0  20 24 5f 72 2c 63 5f 72  2c 04 5f 72 2c 76 5f 72  | $_r,c_r,._r,v_r|
00003100  0d 19 46 12 62 6c 65 25  21 2c 6c 2c 6c 5f 2c 6e  |..F.ble%!,l,l_,n|
00003110  64 3c 24 14 62 19 50 41  10 0f 35 6d 78 25 3e 6d  |d<$.b.PA..5mx%>m|
00003120  61 6c 3e 31 d8 04 66 36  2c 72 37 31 30 04 7d 20  |al>1..f6,r710.} |
00003130  20 20 20 20 20 20 20 20  20 20 20 20 20 20 3b 20  |              ; |
00003140  79 5f 6c 2c 78 5f 6c 2c  63 5f 6c 2c 04 5f 6c 2c  |y_l,x_l,c_l,._l,|
00003150  76 5f 6c 0d 19 5a 10 31  32 2c 62 30 64 2c 79 5f  |v_l..Z.12,b0d,y_|
00003160  65 6e 64 0d 19 64 04 0d  19 6e 31 44 75 04 73 20  |end..d...n1Du.s |
00003170  72 64 65 78 0d 10 72 30  20 20 20 20 20 20 20 20  |rdex..r0        |
00003180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003190  20 20 20 3b 20 64 6c 31  0d 19 78 68 6c 72 6c 25  |   ; dl1..xhlrl%|
000031a0  37 36 2f 72 6c 64 69 76  5f 6c 61 62 6c 65 0d 19  |76/rldiv_lable..|
000031b0  82 04 0d 19 8c 37 6c 64  72 67 74 20 30 20 2c 5b  |.....7ldrgt 0 ,[|
000031c0  72 37 34 2c 72 31 2c 6c  73 6c 23 32 5d 20 20 20  |r74,r1,lsl#2]   |
000031d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00003200  20 20 20 20 20 3b 20 31  3c 3c 32 30 2f 64 6c 79  |     ; 1<<20/dly|
00003210  0d 19 96 12 73 75 62 67  74 20 2c 35 d8 04 66 34  |....subgt ,5..f4|
00003220  0d 19 a0 37 36 2f 37 34  2c 72 34 2c 6c 73 6c 23  |...76/74,r4,lsl#|
00003230  31 30 0d 19 aa 35 2b f4  6c 4f 10 35 aa fd 31 2c  |10...5+.lO.5..1,|
00003240  72 35 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |r5              |
00003250  20 20 20 20 20 20 20 20  20 20 20 20 20 20 3b 20  |              ; |
00003260  64 6c 78 3c 3c 32 30 0d  19 b4 0e 31 72 37 4f 20  |dlx<<20....1r7O |
00003270  35 2c 64 72 24 0d 19 be  13 73 75 62 67 74 20 72  |5,dr$....subgt r|
00003280  35 2c 72 36 6f 72 70 19  c8 35 2b f4 6c 4f 10 35  |5,r6orp..5+.lO.5|
00003290  aa fd 31 2c 72 35 20 20  20 20 20 20 20 20 20 20  |..1,r5          |
000032a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000032b0  20 20 3b 20 64 6c 63 3c  3c 10 30 0d 19 d2 0e 31  |  ; dlc<<.0....1|
000032c0  72 37 4f 20 35 2c 64 72  63 0d 19 dc 13 73 75 62  |r7O 5,drc....sub|
000032d0  67 74 20 72 35 2b 6f 20  40 31 31 0d 19 e6 35 2b  |gt r5+o @11...5+|
000032e0  f4 6c 4f 10 35 aa fd 31  2c 72 35 20 20 20 20 20  |.lO.5..1,r5     |
000032f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003300  20 20 20 20 20 20 20 3b  20 64 6c 75 3c 3c 10 30  |       ; dlu<<.0|
00003310  0d 19 f0 0e 31 72 37 4f  20 35 2c 64 72 75 0d 19  |....1r7O 5,dru..|
00003320  fa 13 73 75 62 67 74 20  72 35 2b 40 04 61 2c 6c  |..subgt r5+@.a,l|
00003330  74 20 20 0d 1a 04 35 2b  f4 6c 4f 10 35 aa fd 31  |t  ...5+.lO.5..1|
00003340  2c 72 35 20 20 20 20 20  20 20 20 20 20 20 20 20  |,r5             |
00003350  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3b  |               ;|
00003360  20 64 6c 76 3c 3c 10 61  64 10 1a 0e 0e 31 32 2c  | dlv<<.ad....12,|
00003370  62 30 35 2c 64 72 76 0d  1a 18 04 0d 1a 0d 63 2b  |b05,drv.......c+|
00003380  62 6c 65 25 21 2c 6c 30  2c 73 70 72 69 74 65 0d  |ble%!,l0,sprite.|
00003390  1a 2c 0e 4d 4f 56 20 52  37 34 2c 52 30 0d 1a 36  |.,.MOV R74,R0..6|
000033a0  0a a4 79 64 11 68 1a 40  04 0d 1a 04 10 31 62 6c  |..yd.h.@.....1bl|
000033b0  65 25 21 2c 6c 78 2c 73  74 61 29 62 70 0d 1a 54  |e%!,lx,sta)bp..T|
000033c0  10 62 70 0d 63 50 31 35  2c 6c 69 6e 6b 0d 1a 5e  |.bp.cP15,link..^|
000033d0  04 0d 1a 68 6f 72 64 6c  69 6e 65 0d 1a 72 09 38  |...hordline..r.8|
000033e0  31 31 20 30 0d 1a 7c 04  0d 1a 86 69 6e 78 63 6f  |11 0..|....inxco|
000033f0  6f 72 64 73 0d 1a 90 17  2e 6c 75 3a 64 63 64 20  |ords.....lu:dcd |
00003400  30 3a 2c 72 75 3a 38 63  64 20 30 0d 1a 9a 17 2e  |0:,ru:8cd 0.....|
00003410  6c 63 3a 38 63 64 20 30  3a 2e 72 63 3a 64 63 64  |lc:8cd 0:.rc:dcd|
00003420  20 30 0d 1a 2c 6c 01 2e  6c 76 3a 38 31 31 20 30  | 0..,l..lv:811 0|
00003430  3a 2e 72 76 3a 38 63 64  20 30 0d 1a ae 19 2e 64  |:.rv:8cd 0.....d|
00003440  6c 78 3a 64 63 64 20 30  3a 2c 64 72 24 3a 64 63  |lx:dcd 0:,dr$:dc|
00003450  64 20 30 0d 1a b8 19 2e  64 6c 63 3a 64 63 64 20  |d 0.....dlc:dcd |
00003460  30 3a 2c 64 72 63 3a 38  31 31 20 30 0d 1a c2 19  |0:,drc:811 0....|
00003470  2e 64 6c 75 3a 38 31 31  20 30 3a 2e 64 72 75 3a  |.dlu:811 0:.dru:|
00003480  64 63 64 20 30 0d 1a cc  19 2e 64 6c 76 3a 38 63  |dcd 0.....dlv:8c|
00003490  64 20 30 3a 2e 64 72 76  3a 64 63 64 20 30 0d 1a  |d 0:.drv:dcd 0..|
000034a0  d6 04 0d 1a e0 05 5d 0d  1a ea 05 ed 0d 1a f4 1f  |......].........|
000034b0  70 25 3d 20 88 44 74 3a  73 74 70 3d 31 30 32 34  |p%= .Dt:stp=1024|
000034c0  2f 71 5f 73 74 65 70 25  0d 1a fe 16 e3 6e 25 3d  |/q_step%.....n%=|
000034d0  30 20 b8 20 31 30 32 34  20 88 20 73 74 70 0d 1b  |0 . 1024 . stp..|
000034e0  08 31 71 6e 25 3d 31 30  32 34 2d 6e 25 3a 71 73  |.1qn%=1024-n%:qs|
000034f0  25 3d 28 71 6e 25 2a 71  6e 25 29 3e 3e 31 30 3a  |%=(qn%*qn%)>>10:|
00003500  6e 73 25 3d 28 6e 25 2a  6e 25 29 3e 3e 31 30 0d  |ns%=(n%*n%)>>10.|
00003510  1b 12 0f 21 70 25 3d 71  73 25 2a 71 6e 25 0d 1b  |...!p%=qs%*qn%..|
00003520  1c 11 70 25 21 34 3d 33  2a 71 73 25 2a 6e 25 0d  |..p%!4=3*qs%*n%.|
00003530  1b 26 12 70 25 21 38 3d  33 2a 6e 73 25 2a 71 6e  |.&.p%!8=3*ns%*qn|
00003540  25 0d 1b 14 6c 72 70 25  21 31 32 3d 6e 73 25 2a  |%...lrp%!12=ns%*|
00003550  6e 25 0d 1b 3a 0a 70 25  2b 3d 31 36 0d 1b 44 05  |n%..:.p%+=16..D.|
00003560  ed 0d 1b 4e 24 c8 99 22  4f 53 5f 46 69 6c 65 22  |...N$.."OS_File"|
00003570  2c 31 36 2c 22 50 69 63  74 75 72 65 22 2c 73 70  |,16,"Picture",sp|
00003580  72 69 74 65 25 0d 1b 58  23 c8 99 22 4f 53 5f 46  |rite%..X#.."OS_F|
00003590  69 6c 65 22 2c 31 36 2c  22 43 6f 6c 54 61 62 22  |ile",16,"ColTab"|
000035a0  2c 63 6f 6c 6c 61 62 25  0d 1b 62 05 e1 0d 1b 6c  |,collab%..b....l|
000035b0  05 3a 0d 1b 76 0b dd a4  79 64 65 78 0d 10 1b 80  |.:..v...ydex....|
000035c0  0e 5b 4f 50 54 20 70 61  73 73 25 0d 1b 8a 0d 3b  |.[OPT pass%....;|
000035d0  20 72 32 20 3d 20 73 63  0d 1b 94 0d 3b 20 72 33  | r2 = sc....; r3|
000035e0  20 3d 20 6c 78 0d 1b 9e  0d 3b 20 72 34 20 3d 20  | = lx....; r4 = |
000035f0  72 24 0d 1b a8 0f 3b 20  3c 6d 3a 20 3d 20 79 5f  |r$....; <m: = y_|
00003600  6b 0d 1b b2 04 0d 1b bc  0a 2e 79 64 65 78 0d 10  |k.........ydex..|
00003610  1b c6 2c 73 75 62 25 20  66 79 34 34 2c 72 33 20  |..,sub% fy44,r3 |
00003620  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003630  20 20 3b 20 64 78 3c 3c  31 30 0d 1b d0 2e 61 64  |  ; dx<<10....ad|
00003640  64 54 72 aa 6c 10 28 05  72 61 73 72 23 37 64 78  |dTr.l.(.rasr#7dx|
00003650  20 0c 3b 20 6c 65 66 74  20 61 64 72 0d 1b da 0f  | .; left adr....|
00003660  62 70 72 20 72 0d 33 2c  64 6c 78 0d 1b e4 2d 61  |bpr r.3,dlx...-a|
00003670  64 64 20 1b 88 20 2c 23  30 20 3c 61 73 72 23 37  |dd .. ,#0 <asr#7|
00003680  64 20 20 20 20 20 20 20  20 20 20 20 20 3b 20 6c  |d            ; l|
00003690  78 2b 3d 64 6c 78 0d 1b  ee 0f 62 70 72 70 5f 74  |x+=dlx....bprp_t|
000036a0  61 62 6c 1f 2c 64 72 24  14 62 1b f8 2f 61 64 64  |abl.,dr$.b../add|
000036b0  20 1b 78 33 2c 72 32 2c  72 34 2c 61 73 72 23 37  | .x3,r2,r4,asr#7|
000036c0  64 20 20 20 20 20 20 20  20 20 20 20 20 3b 20 72  |d            ; r|
000036d0  69 67 68 74 20 61 64 72  0d 1c 02 2d 61 64 64 54  |ight adr...-addT|
000036e0  72 34 2c 72 34 2c 72 07  72 d8 61 73 72 23 37 64  |r4,r4,r.r.asr#7d|
000036f0  20 20 20 20 20 20 20 20  20 20 20 20 3b 20 72 78  |            ; rx|
00003700  2b 3d 64 72 24 0d 1c 0c  68 6c 72 6c 25 37 31 2c  |+=dr$...hlrl%71,|
00003710  64 69 76 5f 6c 61 62 6c  65 0d 1c 16 24 14 62 6d  |div_lable...$.bm|
00003720  78 25 3e 6d 61 73 72 23  34 0d 1c 20 2e 6c 64 72  |x%>masr#4.. .ldr|
00003730  67 74 20 2c 30 2c 5b 72  07 72 d8 03 30 2c 6c 73  |gt ,0,[r.r..0,ls|
00003740  6c 23 32 5d 78 78 78 78  78 78 78 78 78 3b 20 31  |l#2]xxxxxxxxx; 1|
00003750  3c 3c 31 38 2f 64 24 14  62 1c 2a 0e 62 6c 65 25  |<<18/d$.b.*.ble%|
00003760  21 2c 6c 31 2c 6c 63 0d  1c 34 0d 62 6c 65 25 21  |!,l1,lc..4.ble%!|
00003770  2c 61 64 64 6c 30 63 0d  1c 3e 2c 73 75 62 20 72  |,addl0c..>,sub r|
00003780  35 2c 72 24 14 0d 20 72  31 78 78 78 78 78 78 78  |5,r$.. r1xxxxxxx|
00003790  78 78 78 78 78 78 78 78  78 78 78 78 3b 20 64 63  |xxxxxxxxxxxx; dc|
000037a0  3c 3c 31 30 0d 1c 48 2c  6d f4 20 22 35 2c 23 37  |<<10..H,m. "5,#7|
000037b0  2c 72 35 20 20 20 20 20  20 20 20 20 20 20 20 20  |,r5             |
000037c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00003820  20 20 20 20 20 20 20 20  20 20 20 25 2c 38 64 63  |           %,8dc|
00003830  3c 3c 33 30 0d 1c 52 0e  62 6c 65 25 21 2c 38 2c  |<<30..R.ble%!,8,|
00003840  64 72 63 0d 1c 5c 17 61  64 64 54 72 25 0d 02 24  |drc..\.addTr%..$|
00003850  31 30 04 2b 6f 20 31 30  0d 1c 66 76 20 72 86 72  |10.+o 10..fv r.r|
00003860  72 20 3e 61 64 64 6c 30  63 0d 1c 70 0e 62 70 0d  |r >addl0c..p.bp.|
00003870  63 50 38 2c 64 6c 63 0d  1c 7a 18 61 64 64 20 1b  |cP8,dlc..z.add .|
00003880  24 14 0d 20 31 30 04 2b  61 73 72 23 37 64 0d 1c  |$.. 10.+asr#7d..|
00003890  84 76 20 72 86 72 72 20  3e 61 2c 6c 63 0d 1c 8e  |.v r.rr >a,lc...|
000038a0  0d 62 6c 65 25 21 2c 61  2c 6c 75 0d 1c 98 0d 62  |.ble%!,a,lu....b|
000038b0  70 0d 63 50 38 2c 72 75  0d 1c a2 04 0d 1c ac 2c  |p.cP8,ru.......,|
000038c0  73 75 62 38 04 31 04 0d  04 74 fd 24 20 88 44 3b  |sub8.1...t.$ .D;|
000038d0  20 64 75 3c 3c 31 30 0d  1c b6 2c 6d f4 6c 20 72  | du<<10...,m.l r|
000038e0  6f 72 70 2e 2c 72 36 20  88 44 3b 20 64 75 3c 3c  |orp.,r6 .D; du<<|
000038f0  10 34 0d 1c 37 36 2f 37  0d 1c ca 0e 62 70 72 20  |.4..76/7....bpr |
00003900  72 37 2c 64 72 75 0d 1c  d4 17 61 64 64 20 72 61  |r7,dru....add ra|
00003910  6c 61 2c 72 37 2c 61 73  72 23 37 64 0d 1c de 76  |la,r7,asr#7d...v|
00003920  20 72 86 72                                       | r.r|
00003924