Home » Archimedes archive » Acorn User » AU 1995-12 B.adf » Regulars » StarInfo/Vlietinck/!3dSurf/Zeppelin

StarInfo/Vlietinck/!3dSurf/Zeppelin

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 1995-12 B.adf » Regulars
Filename: StarInfo/Vlietinck/!3dSurf/Zeppelin
Read OK:
File size: 48B8 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM> TRANSbig
   20REM  By Jan Vlietinck
   21REM  vlietin@intec.rug.ac.be
   30PROCINIT
   40PROCMAIN
   50END
   60
   70DEF PROCMAIN
   71T = TIME DIV 1000:PRINTT:FOR I=1 TO T:R=RND(T):NEXT
   80DHX=(RND(50)-25)/300
   90DHY=(RND(50)-25)/300
  100DHZ=(RND(10)+10)/300
  110DRX=RND(100)-50
  120DRY=0
  130DRZ=RND(50)+50
  140REPEAT
  150!HXD=RX:!HYD=RY:!HZD=RZ
  160!TZD=(COS(HZ)+2)*256
  170!TXD=COS(HX)*!TZD/2
  180!TYD=COS(HY)*!TZD/2
  190
  200CALL CALC_ROT_MATRIX
  210SYS "OS_Byte",&70,M
  220CLS:OFF
  230CALL BEGIN
  240CALL SET
  250CALL DISPLAY
  260WAIT
  270SYS "OS_Byte",&71,M
  280M=M EOR3
  290HX+=DHX:HY+=DHY:HZ+=DHZ
  300RX+=DRX:RY+=DRY:RZ+=DRZ
  310UNTIL 0
  320ENDPROC
  330
  340DEF PROCINIT
  350MODE 13+128
  360MODE 13
  370DIM CTABLE 37*16
  380PROCcoltable(CTABLE)
  400PROCQUADRANGLE
  410PUNT=FALSE
  420COLOUR 128+100
  430M1=32:M2=16
  440N=M1*M2
  450DIM P (N+1)*20
  460I=0
  470FOR L=0 TO M2-1
  480G=PI*L/(M2-1)
  490CSG=COSG*200:SNG=SING*200
  500FOR K=0 TO M1-1
  510H=2*PI*K/M1
  520CSH=COSH:SNH=SINH
  530P!(20*I+0)=CSH*SNG
  540P!(20*I+4)=SNH*SNG
  550P!(20*I+8)=CSG
  560I+=1
  570NEXT
  580NEXT
  590P!(20*I)=1<<30
  600I=0
  610DIM VL (M1+1)*(M2+1)*24
  620FOR L=0 TO M2-2
  630FOR K=0 TO M1-2
  640J=K+M1*L
  650VL!(24*I)=P+20*J+12
  660VL!(24*I+4)=P+20*(J+1)+12
  670VL!(24*I+8)=P+20*(J+M1)+12
  680VL!(24*I+12)=P+20*(J+1+M1)+12
  690I+=1
  700NEXT
  710IF 1 THEN
  720J=K+M1*L
  730VL!(24*I)=P+20*J+12
  740VL!(24*I+8)=P+20*(J+M1)+12
  750J=M1*L
  760VL!(24*I+4)=P+20*J+12
  770VL!(24*I+12)=P+20*(J+M1)+12
  780I+=1
  790ENDIF
  800NEXT
  810VL!(24*I)=1<<30
  820I=0
  830FOR L=0 TO M2-2
  840FOR K=0 TO M1-1
  850READ C
  860VL!(24*I+20)=18*C
  870IF 18*C<>0 AND 18*C<>18 THEN PRINT 18*C:END
  880I+=1
  890NEXT
  900NEXT
  910
  920DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  930DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  940DATA 0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0, 0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0
  950DATA 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1, 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
  960DATA 0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1, 0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0
  970DATA 0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1, 0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0
  980DATA 0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1, 0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0
  990DATA 0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1, 0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1
 1000DATA 0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1, 0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1
 1010DATA 0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1, 0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1
 1020DATA 0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1, 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
 1030DATA 0,0,1,1,1,1,1,0,0,0,1,1,0,0,1,1, 0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0
 1040DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 1050DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 1060DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 1070DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 1080DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 1090DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 1100PROCinit_trig_table
 1110PROCcalc_normals
 1130PROCASS
 1140HX=0:HY=0:HZ=0
 1150RX=0:RY=0:RZ=0
 1160M=1
 1170!TZD=300
 1180ENDPROC
 1190
 1200DEF PROCinit_trig_table
 1210F=2*PI/4096:V=2^15
 1220DIM CSTABLE 4096*8
 1230FOR H=0 TO 4095
 1240K=F*H
 1250CSTABLE!(8*H)=COS(K)*V
 1260CSTABLE!(8*H+4)=SIN(K)*V
 1270NEXT
 1280ENDPROC
 1290
 1300DEF PROCcalc_normals
 1310DIM NORMALS (N+5)*24
 1320PROCNORMAL
 1330CALL CALC_NORMALS
 1340ENDPROC
 1550
 1560
 1570DEF PROCcoltable(CTABLE)
 1580C=0:M=15
 1590FOR K=0 TO M
 1600PROCput(C+(K AND %1100)*5.25,K AND %11)
 1610NEXT
 1620FOR T=1 TO 3
 1630C=T:M=4*(4-T)-1
 1640PROCside(  4)
 1650PROCside(- 1)
 1660PROCside( 16)
 1670PROCside(- 4)
 1680PROCside(  1)
 1690PROCside(-16)
 1700NEXT
 1710ENDPROC
 1720
 1730DEF PROCside(RGB)
 1740FOR I=1 TO T
 1750CASE M OF
 1760WHEN 3
 1770FOR K=0 TO M
 1780PROCput(C+(K AND %1100)*5.25,K AND %11)
 1790PROCput(C+(K AND %1100)*5.25,K AND %11)
 1800PROCput(C+(K AND %1100)*5.25,K AND %11)
 1810PROCput(C+(K AND %1100)*5.25,K AND %11)
 1820NEXT
 1830WHEN 7
 1840FOR K=0 TO M
 1850PROCput(C+(K AND %1100)*5.25,K AND %11)
 1860PROCput(C+(K AND %1100)*5.25,K AND %11)
 1870NEXT
 1880WHEN 11
 1890K=0
 1900PROCput(C+(K AND %1100)*5.25,K AND %11)
 1910PROCput(C+(K AND %1100)*5.25,K AND %11)
 1920FOR K=0 TO M
 1930PROCput(C+(K AND %1100)*5.25,K AND %11)
 1940NEXT
 1950K=M
 1960PROCput(C+(K AND %1100)*5.25,K AND %11)
 1970PROCput(C+(K AND %1100)*5.25,K AND %11)
 1980ENDCASE
 1990C+=RGB
 2000NEXT
 2010ENDPROC
 2020
 2030DEF PROCput(C,T)
 2040B1=(C>>5) AND 1
 2050B2=(C>>4) AND 1
 2060G1=(C>>3) AND 1
 2070G2=(C>>2) AND 1
 2080R1=(C>>1) AND 1
 2090R2=(C>>0) AND 1
 2100COL=T+4*(R2+2*(B2+2*(R1+2*(G2+2*(G1+2*B1)))))
 2110?CTABLE=COL
 2120CTABLE+=1
 2130ENDPROC
 2370
 2380DEF PROCCALC
 2390!HXD=HX:!HYD=HY:!HZD=HZ
 2400!TXD=(X-640)/4:!TYD=(512-Y)/4
 2410IF B=4 THEN !TZD+=4
 2420IF B=1 THEN !TZD-=4
 2430!TXD=COS(HX/300)*512
 2440!TYD=COS(HY/300)*512
 2450!TZD=(COS(HZ/300)+2)*256
 2460CALL CALC_ROT_MATRIX
 2470ENDPROC
 2480
 2490DEF PROCNORMAL
 2500LOCAL P%,Q%
 2510DIM Q% 2000
 2520FOR PASS=0 TO 2 STEP 2
 2530P%=Q%
 2540X1=0:Y1=1:Z1=2:X2=3:Y2=4:Z2=5:X3=6:Y3=7:Z3=8:T=9:U=10
 2550[OPT PASS
 2560.VD EQUD VL
 2570.KD EQUD 0.607252935*2^16
 2580.CALC_NORMALS
 2590          STMFD     13!,{14}
 2600          LDR       U,VD
 2610.N_LOOP
 2620          LDMIA     (U)!,{T}
 2621          CMP       T,#1<<30
 2622          LDMEQFD   13!,{PC}
 2630          SUB       T,T,#12
 2631          LDMIA     T,{X1,Y1,Z1}
 2640          LDMIA     (U)!,{T}
 2641          CMP       T,#1<<30
 2642          LDMEQFD   13!,{PC}
 2650          SUB       T,T,#12
 2651          LDMIA     T,{X2,Y2,Z2}
 2660          LDMIA     (U)!,{T}
 2661          CMP       T,#1<<30
 2662          LDMEQFD   13!,{PC}
 2670          SUB       T,T,#12
 2671          LDMIA     T,{X3,Y3,Z3}
 2680          CMP       X1,Y2
 2681          CMPEQ     Y1,Y2
 2682          CMPEQ     Z1,Z2
 2683          BNE       ovr1
 2690          LDMIA     (U) ,{T}
 2691          CMP       T,#1<<30
 2692          LDMEQFD   13!,{PC}
 2700          SUB       T,T,#12
 2701          LDMIA     T,{X2,Y2,Z2}
 2710.ovr1
 2720          ADD U,U,#4
 2730
 2740          SUB X2,X2,X1
 2741          SUB Y2,Y2,Y1
 2742          SUB Z2,Z2,Z1
 2750          SUB X3,X3,X1
 2751          SUB Y3,Y3,Y1
 2752          SUB Z3,Z3,Z1
 2760          MUL X1,Y2,Z3
 2761          MUL T,Z2,Y3
 2762          SUB X1,X1,T
 2770          MUL Y1,Z2,X3
 2771          MUL T,X2,Z3
 2772          SUB Y1,Y1,T
 2780          MUL Z1,X2,Y3
 2781          MUL T,Y2,X3
 2782          SUB Z1,Z1,T
 2790
 2800]
 2810X=0:Y=1:Z=2:I=3:T=9:N=5:Q=6
 2820[OPT PASS
 2830.NORM
 2840          MOVS      X,X
 2841          RSBMI     X,X,#0
 2850          MOVS      Y,Y
 2851          RSBMI     Y,Y,#0
 2860          MOVS      Z,Z
 2861          RSBMI     Z,Z,#0
 2870          MOV       I,#0
 2880.LOOP1
 2890          CMP       Y,#0
 2900          ADDPL     T,X,Y,ASR I
 2910          SUBMI     T,X,Y,ASR I
 2920          SUBPL     Y,Y,X,ASR I
 2930          ADDMI     Y,Y,X,ASR I
 2940          MOV       X,T
 2950          ADD       I,I,#1
 2960          CMP       I,#16
 2970          BNE       LOOP1
 2980          LDR       T,KD
 2990          MUL       T,X,T
 3000          MOV       T,T,LSR #16
 3010          MOV       X,T:MOV Y,Z
 3020          MOV       I,#0
 3030.LOOP2
 3040          CMP       Y,#0
 3050          ADDPL     T,X,Y,ASR I
 3060          SUBMI     T,X,Y,ASR I
 3070          SUBPL     Y,Y,X,ASR I
 3080          ADDMI     Y,Y,X,ASR I
 3090          MOV       X,T
 3100          ADD       I,I,#1
 3110          CMP       I,#16
 3120          BNE       LOOP2
 3130          LDR       T,KD
 3140          MUL       T,X,T
 3150          MOV       T,T,LSR #16
 3160]
 3170
 3180[OPT PASS
 3190.DEEL
 3200          MOV       N,T
 3210          MOV       T,#1<<21
 3220          MOV       Q,#0
 3230          MOV       I,#16
 3240.DLOOP
 3250          CMP       T,N,LSL I
 3260          SUBHS     T,T,N,LSL I
 3270          ADC       Q,Q,Q
 3280          SUBS      I,I,#1
 3290          BPL       DLOOP
 3300]
 3310
 3320[OPT PASS
 3330.ZERO
 3340          STMIA     (U)!,{Q}
 3350          ADD       U,U,#4
 3360          BAL       N_LOOP
 3370]
 3380NEXT
 3390ENDPROC
 3400
 3410DEF PROCASS
 3420LOCAL P%,Q%
 3430DIM Q% 120000
 3440DIM DITABLE 2000*16*4
 3441
 3500FOR PASS=0 TO 2 STEP 2
 3520CHX=0:SHX=1
 3530CHY=2:SHY=3
 3540CHZ=4:SHZ=5
 3550T=6:S=7:H=8
 3560HX=9:HY=10:HZ=11
 3570TX=9:TY=10:TZ=11
 3580CS=12
 3600SCR=0:COL=1
 3610P%=Q%
 3620[OPTPASS
 3630.HXD EQUD 0:.HYD EQUD 0:.HZD EQUD 0
 3640.CSD EQUD CSTABLE
 3650.TXD EQUD 0:.TYD EQUD 0:.TZD EQUD 0
 3660
 3670.CALC_ROT_MATRIX
 3680ADR T,HXD:LDMIA T,{HX,HY,HZ,CS}
 3690MOV S,#4096:SUB S,S,#1
 3700CMP HX,#0:RSBMI HX,HX,#0:AND HX,HX,S:ADD T,CS,HX,LSL #3
 3710LDMIA T,{CHX,SHX}:RSBMI SHX,SHX,#0
 3720CMP HY,#0:RSBMI HY,HY,#0:AND HY,HY,S:ADD T,CS,HY,LSL #3
 3730LDMIA T,{CHY,SHY}:RSBMI SHY,SHY,#0
 3740CMP HZ,#0:RSBMI HZ,HZ,#0:AND HZ,HZ,S:ADD T,CS,HZ,LSL #3
 3750LDMIA T,{CHZ,SHZ}:RSBMI SHZ,SHZ,#0
 3760ADR T,TXD:LDMIA T,{TX,TY,TZ}
 3770MUL T,CHY,CHZ:MOV T,T,ASR #15
 3780MUL S,CHY,SHZ:MOV S,S,LSR #15
 3790ADD T,S,T,LSL #16:STR T,A1D
 3800ADD T,TX,SHY,LSL #16:STR T,A2D
 3810MUL T,SHX,SHY:MOV T,T,ASR #15:MOV S,T
 3820MUL H,CHX,SHZ:MLA T,CHZ,T,H:RSB T,T,#0:MOV T,T,ASR #15
 3830MUL H,CHX,CHZ:MUL S,SHZ,S:SUB S,H,S:MOV S,S,LSR #15
 3840ADD T,S,T,LSL #16:STR T,B1D
 3850MUL T,SHX,CHY:MOV T,T,ASR #15
 3860ADD T,TY,T,LSL #16:STR T,B2D
 3870MUL T,CHX,SHY:MOV T,T,ASR #15:MOV S,T
 3880MUL T,CHZ,T:MUL H,SHX,SHZ:SUB T,H,T:MOV T,T,ASR #15
 3890MUL S,SHZ,S:MLA H,SHX,CHZ,S:RSB S,H,#0:MOV S,S,LSR #15
 3900ADD T,S,T,LSL #16:STR T,C1D
 3910MUL T,CHX,CHY:MOV T,T,ASR #15
 3920ADD T,TZ,T,LSL #16:STR T,C2D
 3930MOV PC,R14
 3940]
 3950
 3960T=0:N=1:Q=2:I=3:J=4:DIT=5
 3970[OPT PASS
 3980.DNRD EQUD 2000*16
 3990.CALC_DIVTABLE
 4000LDR DIT,DITD
 4010LDR I,DNRD
 4020.DVLOOP2
 4030MOV T,#100<<16
 4040MOV N,I
 4050MOV J,#0
 4060MOV Q,#0
 4070.DVLOOP3
 4080CMP N,T
 4090MOVLO N,N,LSL #1
 4100ADDLO J,J,#1
 4110BLO DVLOOP3
 4120MOV N,N,LSR J
 4130.DVLOOP1
 4140CMP T,N,LSL J
 4150SUBHS T,T,N,LSL J
 4160ADC Q,Q,Q
 4170SUBS J,J,#1
 4180BPL DVLOOP1
 4190STR Q,[DIT,I,LSL #2]
 4200SUBS I,I,#1
 4210BNE DVLOOP2
 4220MOV PC,R14
 4230]
 4240A1=0:A2=1:B1=2:B2=3:C1=4:C2=5:T=6:DIT=7:X=8:Y=9:Z=10:U=11:V=12:W=8
 4250A=13:B=14
 4260[OPT PASS
 4270.A1D EQUD 0:.A2D EQUD 0
 4280.B1D EQUD 0:.B2D EQUD 0
 4290.C1D EQUD 0:.C2D EQUD 0
 4300.DITD EQUD DITABLE
 4310.AD EQUD P
 4320.BD EQUD Q
 4330.VD EQUD VL
 4340.SP EQUD 0
 4350.LK EQUD 0
 4360.BEGIN
 4370STR 13,SP
 4380STR 14,LK
 4390ADR T,A1D
 4400LDMIA T,{A1,A2,B1,B2,C1,C2,DIT,A,B}
 4410LDMIA (A)!,{X,Y,Z}
 4420.TRANS
 4430MOV T,A1,ASR #16
 4440MUL U,X,T
 4450MOV T,A1,LSL #16
 4460MOV T,T,ASR #16
 4470MLA U,Y,T,U
 4480MOV T,A2,ASR #16
 4490MLA U,Z,T,U
 4500MOV T,A2,LSL #16
 4510MOV T,T,ASR #16
 4520ADD U,T,U,ASR #15
 4530MOV T,B1,ASR #16
 4540MUL V,X,T
 4550MOV T,B1,LSL #16
 4560MOV T,T,ASR #16
 4570MLA V,Y,T,V
 4580MOV T,B2,ASR #16
 4590MLA V,Z,T,V
 4600MOV T,B2,LSL #16
 4610MOV T,T,ASR #16
 4620ADD V,T,V,ASR #15
 4630MOV T,C1,ASR #16
 4640MUL W,T,X
 4650MOV T,C1,LSL #16
 4660MOV T,T,ASR #16
 4670MLA W,Y,T,W
 4680MOV T,C2,ASR #16
 4690MLA W,Z,T,W
 4700MOV T,C2,LSL #16
 4710MOV T,T,ASR #16
 4720ADD W,T,W,ASR #15
 4730CMP W,#10:BNV TRANS
 4740LDR W,[DIT,W,LSL #2]
 4750MUL U,W,U
 4760MUL V,W,V
 4770MOV U,U,ASR #16
 4780MOV V,V,ASR #16
 4790STMIA (A)!,{U,V}
 4800LDMIA (A)!,{X,Y,Z}
 4810CMP X,#1<<30
 4820BNE TRANS
 4830LDR 13,SP
 4840LDR 14,LK
 4850MOV PC,R14
 4860
 4870]
 4880IF PUNT THEN
 4890[OPT PASS
 4900.SCREEND EQUD 148:EQUD -1
 4910.SCREEN EQUD 0
 4920.SET
 4930ADR R0,SCREEND:ADR R1,SCREEN:SWI "OS_ReadVduVariables"
 4940MOV PC,R14
 4950
 4960.DISPLAY
 4970LDR SCR,SCREEN
 4980LDR U,AD
 4990MOV COL,#255
 5000.LOOP
 5010LDMIA (U)!,{X,Y}
 5020CMP X,#1<<30:MOVEQ PC,R14
 5030ADD X,X,#160
 5040ADD Y,Y,#128
 5050CMP X,#320
 5060CMPLO Y,#256
 5070ADD T,Y,Y,LSL #2
 5080ADD T,X,T,LSL #6
 5090STRLOB COL,[SCR,T]
 5100BAL LOOP
 5110]
 5120ELSE
 5130X1=0:Y1=1:X2=2:Y2=3:X3=4:Y3=5:X4=6:Y4=7
 5140[OPT PASS
 5150.root FNroot
 5160.CTD EQUD CTABLE
 5170.DISPLAY
 5180          STMFD     13!,{14}
 5190          LDR       U,VD
 5200          MOV       COL,#255
 5210.LOOP
 5220          LDMIA     (U)!,{V}
 5230          CMP       V,#1<<30
 5231          LDMEQFD   13!,{PC}
 5240          LDMIA     V,{X,Y}
 5250          ADD       X1,X,#160
 5260          ADD       Y1,Y,#128
 5270          LDMIA     (U)!,{V}
 5280          CMP       V,#1<<30
 5281          LDMEQFD   13!,{PC}
 5290          LDMIA     V,{X,Y}
 5300          ADD       X2,X,#160
 5310          ADD       Y2,Y,#128
 5320          LDMIA     (U)!,{V}
 5330          CMP       V,#1<<30
 5331          LDMEQFD   13!,{PC}
 5340          LDMIA     V,{X,Y}
 5350          ADD       X3,X,#160
 5360          ADD       Y3,Y,#128
 5370
 5380          CMP       X1,X2
 5381          CMPEQ     Y1,Y2
 5382          BNE       ovr1
 5390          LDMIA     (U),{V}
 5400          CMP       V,#1<<30
 5401          LDMEQFD   13!,{PC}
 5410          LDMIA     V,{X,Y}
 5420          ADD       X2,X,#160
 5430          ADD       Y2,Y,#128
 5440.ovr1
 5450          SUB       X ,X2,X1
 5451          SUB       Y ,Y2,Y1
 5460          SUB       X4,X3,X1
 5461          SUB       Y4,Y3,Y1
 5470          MUL       X,Y4,X
 5471          MUL       Y,X4,Y
 5472          CMP       X,Y
 5473          ADDMI     U,U,#12
 5474          BMI       LOOP
 5480
 5490          SUB       Y,X,Y
 5491          LDR       X,[U,#4]
 5492          MUL       X,Y,X
 5493          MOV       Z,X,LSR #12
 5500          CMP       Z,#256
 5501          MOVHS     Z,#255
 5510          ADR       X,root
 5511          LDRB      Z,[X,Z]
 5520          CMP       Z,#16
 5521          MOVHS     Z,#15
 5530
 5540          LDMIA     (U)!,{V}
 5550          CMP       V,#1<<30
 5551          LDMEQFD   13!,{PC}
 5560          LDMIA     V,{X,Y}
 5570          ADD       X4,X,#160
 5580          ADD       Y4,Y,#128
 5590
 5600          ADD       U,U,#4
 5610          LDR       R8,[U],#4
 5620          MOV       R8,R8,LSL #4
 5621          ADD       R8,R8,Z
 5630          LDR       Y,CTD
 5631          LDRB      R8,[Y,R8]
 5640
 5650          STMFD     13!,{0-12}
 5660          BL        QUADRANGLE
 5670          LDMFD     13!,{0-12}
 5680          BAL       LOOP
 5690]
 5700ENDIF
 5710NEXT
 5720CALL CALC_DIVTABLE
 5730ENDPROC
 5740
 5750
 5760DEF FNroot
 5770FOR I=0 TO 255
 5780[OPT PASS
 5790EQUB INT(SQR(I)) AND 255
 5800]
 5810NEXT
 5820=""
 5830
 5840DEF PROCQUADRANGLE
 5850LOCAL P%,Q%
 5860LOCAL DITABLE
 5870DIM DITABLE 4*1024
 5880FOR I=1 TO 1024
 5890DITABLE!(4*I)=(1<<16)/I
 5900NEXT
 5910DIM Q% 4000
 5920AX=0
 5930AY=1
 5940BX=2
 5950BY=3
 5960CX=4
 5970CY=5
 5980DX=6
 5990DY=7
 6000COL=8
 6010T=9
 6020A=10
 6030B=11
 6040C=12
 6050F=8
 6060G=9
 6070T=9
 6080N=10
 6090Q=11
 6100S=12
 6110XL=0
 6120XR=1
 6130L=2
 6140R=3
 6150CT=4
 6160C1=5
 6170C2=6
 6180C3=7
 6190C4=8
 6200T=9
 6210O=10
 6220LA=11
 6230RA=12
 6240FOR P=0 TO 2 STEP 2
 6250P%=Q%
 6260[OPT P
 6270.SCREEN1 EQUD 148
 6280EQUD -1
 6290.SCREEN EQUD 0
 6300.SET
 6310ADR R0,SCREEN1
 6320ADR R1,SCREEN
 6330SWI "OS_ReadVduVariables"
 6340MOV 15,14
 6350
 6360.AXD EQUD 0
 6370.BXD EQUD 0
 6380.CXD EQUD 0
 6390.AB EQUD 0
 6400.AC EQUD 0
 6410.BD EQUD 0
 6420.CD EQUD 0
 6430.AD EQUD 0
 6440.BC EQUD 0
 6450.AA EQUD 0
 6460.BB EQUD 0
 6470.CC EQUD 0
 6480.KL EQUD 255
 6490.DITABD EQUD DITABLE
 6500.QUADRANGLE
 6510STMFD 13!,{14}
 6520STR COL,KL
 6530CMP AY,CY
 6540MOVGT T,AX
 6550MOVGT AX,CX
 6560MOVGT CX,T
 6570MOVGT T,AY
 6580MOVGT AY,CY
 6590MOVGT CY,T
 6600CMP BY,DY
 6610MOVGT T,BX
 6620MOVGT BX,DX
 6630MOVGT DX,T
 6640MOVGT T,BY
 6650MOVGT BY,DY
 6660MOVGT DY,T
 6670CMP AY,BY
 6680MOVGT T,AX
 6690MOVGT AX,BX
 6700MOVGT BX,T
 6710MOVGT T,AY
 6720MOVGT AY,BY
 6730MOVGT BY,T
 6740CMP CY,DY
 6750MOVGT T,CX
 6760MOVGT CX,DX
 6770MOVGT DX,T
 6780MOVGT T,CY
 6790MOVGT CY,DY
 6800MOVGT DY,T
 6810CMP BY,CY
 6820MOVGT T,BX
 6830MOVGT BX,CX
 6840MOVGT CX,T
 6850MOVGT T,BY
 6860MOVGT BY,CY
 6870MOVGT CY,T
 6880ADR T,AXD
 6890STMIA T,{AX,BX,CX}
 6900SUB A,DX,AX
 6910SUB B,DY,AY
 6920SUB S,CX,AX
 6930SUB T,CY,AY
 6940MUL T,A,T
 6950MUL S,B,S
 6960SUBS F,S,T
 6970BEQ Q1
 6980SUB S,BX,AX
 6990SUB T,BY,AY
 7000MUL T,A,T
 7010MUL S,B,S
 7020SUBS G,S,T
 7030BEQ Q1
 7040EORS T,F,G
 7050BLT Q1
 7060BGE Q2
 7070.Q1
 7080LDR Q,DITABD
 7090SUB T,BX,AX
 7100SUB N,BY,AY
 7110LDR N,[Q,N,LSL #2]
 7120MUL N,T,N
 7130MOV N,N,ASR #10
 7140STR N,AB
 7150SUB T,CX,AX
 7160SUB N,CY,AY
 7170LDR N,[Q,N,LSL #2]
 7180MUL N,T,N
 7190MOV N,N,ASR #10
 7200STR N,AC
 7210SUB T,DX,BX
 7220SUB N,DY,BY
 7230LDR N,[Q,N,LSL #2]
 7240MUL N,T,N
 7250MOV N,N,ASR #10
 7260STR N,BD
 7270SUB T,DX,CX
 7280SUB N,DY,CY
 7290LDR N,[Q,N,LSL #2]
 7300MUL N,T,N
 7310MOV N,N,ASR #10
 7320STR N,CD
 7330SUB A,BY,AY
 7340SUB B,CY,BY
 7350SUB C,DY,CY
 7360ADR T,AA
 7370STMIA T,{A,B,C}
 7380LDR O,SCREEN
 7390LDR COL,KL
 7400ADD T,AY,AY,LSL #2
 7410ADD O,O,T,LSL #6
 7420ADD C4,C4,C4,LSL #8
 7430ADD C4,C4,C4,LSL #16
 7440MOV C1,C4
 7450MOV C2,C4
 7460MOV C3,C4
 7470LDR CT,AA
 7480CMP CT,#0
 7490LDR T,AXD
 7500MOV L,T,LSL #6
 7510MOV R,T,LSL #6
 7520LDR LA,AC
 7530ADD L,L,LA,ASR #1
 7540ADD L,L,#1<<5
 7550LDR RA,AB
 7560ADD R,R,RA,ASR #1
 7570ADD R,R,#1<<5
 7580BLNE PIECE
 7590LDR CT,BB
 7600CMP CT,#0
 7610LDR T,BXD
 7620MOV R,T,LSL #6
 7630LDR RA,BD
 7640ADD R,R,RA,ASR #1
 7650ADD R,R,#1<<5
 7660BLNE PIECE
 7670LDR CT,CC
 7680CMP CT,#0
 7690LDR T,CXD
 7700MOV L,T,LSL #6
 7710LDR LA,CD
 7720ADD L,L,LA,ASR #1
 7730ADD L,L,#1<<5
 7740BLNE PIECE
 7750LDMFD 13!,{15}
 7760.Q2
 7770LDR Q,DITABD
 7780SUB T,BX,AX
 7790SUB N,BY,AY
 7800LDR N,[Q,N,LSL #2]
 7810MUL N,T,N
 7820MOV N,N,ASR #10
 7830STR N,AB
 7840SUB T,CX,BX
 7850SUB N,CY,BY
 7860LDR N,[Q,N,LSL #2]
 7870MUL N,T,N
 7880MOV N,N,ASR #10
 7890STR N,BC
 7900SUB T,DX,CX
 7910SUB N,DY,CY
 7920LDR N,[Q,N,LSL #2]
 7930MUL N,T,N
 7940MOV N,N,ASR #10
 7950STR N,CD
 7960SUB T,DX,AX
 7970SUB N,DY,AY
 7980LDR N,[Q,N,LSL #2]
 7990MUL N,T,N
 8000MOV N,N,ASR #10
 8010STR N,AD
 8020SUB A,BY,AY
 8030SUB B,CY,BY
 8040SUB C,DY,CY
 8050ADR T,AA
 8060STMIA T,{A,B,C}
 8070LDR O,SCREEN
 8080LDR COL,KL
 8090ADD T,AY,AY,LSL #2
 8100ADD O,O,T,LSL #6
 8110ADD C4,C4,C4,LSL #8
 8120ADD C4,C4,C4,LSL #16
 8130MOV C1,C4
 8140MOV C2,C4
 8150MOV C3,C4
 8160LDR CT,AA
 8170CMP CT,#0
 8180LDR T,AXD
 8190MOV L,T,LSL #6
 8200MOV R,T,LSL #6
 8210LDR LA,AD
 8220ADD L,L,LA,ASR #1
 8230ADD L,L,#1<<5
 8240LDR RA,AB
 8250ADD R,R,RA,ASR #1
 8260ADD R,R,#1<<5
 8270BLNE PIECE
 8280LDR CT,BB
 8290CMP CT,#0
 8300LDR T,BXD
 8310MOV R,T,LSL #6
 8320LDR RA,BC
 8330ADD R,R,RA,ASR #1
 8340ADD R,R,#1<<5
 8350BLNE PIECE
 8360LDR CT,CC
 8370CMP CT,#0
 8380LDR T,CXD
 8390MOV R,T,LSL #6
 8400LDR RA,CD
 8410ADD R,R,RA,ASR #1
 8420ADD R,R,#1<<5
 8430BLNE PIECE
 8440LDMFD 13!,{15}
 8450
 8460.PIECE
 8470STMFD 13!,{14}
 8480LDR T,SCREEN
 8490CMP O,T
 8500BHS eclip
 8510.clip
 8520ADD L,L,LA
 8530ADD R,R,RA
 8540ADD O,O,#320
 8550SUBS CT,CT,#1
 8560LDMEQFD 13!,{15}
 8570CMP O,T
 8580BLO clip
 8590.eclip
 8600ADD   T,T,#320*256
 8610SUBS  T,T,O
 8620LDMLSFD 13!,{15}
 8630ADD   CT,CT,CT,LSL #2
 8640CMP   CT,T,LSR #6
 8650MOVHI CT,T,LSR #6
 8660CMP L,R
 8670BGT RL
 8680.LR
 8690CMP L,#0
 8700ADD XL,O,L,ASR #6
 8710MOVLT XL,O
 8720.spanLR
 8730CMP R,#320<<6
 8740ADD XR,O,R,ASR #6
 8750ADDGT XR,O,#320
 8760SUBS T,XR,XL
 8770BLE endspanLR
 8780CMP T,#2
 8790STRLSB C1,[XL]
 8800STRLSB C1,[XR,#-1]
 8810BLE endspanLR
 8820TST XL,#%01
 8830STRNEB C1,[XL],#1
 8840TST XL,#%10
 8850STRNEB C2,[XL],#1
 8860STRNEB C1,[XL],#1
 8870TST XR,#%01
 8880STRNEB C2,[XR,#-1]!
 8890TST XR,#%10
 8900STRNEB C1,[XR,#-1]!
 8910STRNEB C2,[XR,#-1]!
 8920SUBS T,XR,XL
 8930MOVS T,T,LSR #3
 8940STRCS C1,[XL],#4
 8950MOVS T,T,LSR #1
 8960STMCSIA (XL)!,{C1,C2}
 8970ADR XR,endspanLR
 8980SUB PC,XR,T,LSL #2
 8990FNVULLR
 9000.endspanLR
 9010ADD O,O,#320
 9020ADDS L,L,LA
 9030ADD XL,O,L,ASR #6
 9040MOVLT XL,O
 9050ADD R,R,RA
 9060SUBS CT,CT,#5
 9070BNE spanLR
 9080LDMFD 13!,{15}
 9090
 9100.RL
 9110CMP   R,#0
 9120ADD   XR,O,R,ASR #6
 9130MOVLT XR,O
 9140.spanRL
 9150CMP   L,#320<<6
 9160ADD   XL,O,L,ASR #6
 9170ADDGT XL,O,#320
 9180SUBS T,XL,XR
 9190BLE endspanRL
 9200CMP T,#2
 9210STRLSB C1,[XR]
 9220STRLSB C1,[XL,#-1]
 9230BLE endspanRL
 9240TST XR,#%01
 9250STRNEB C1,[XR],#1
 9260TST XR,#%10
 9270STRNEB C2,[XR],#1
 9280STRNEB C1,[XR],#1
 9290TST XL,#%01
 9300STRNEB C2,[XL,#-1]!
 9310TST XL,#%10
 9320STRNEB C1,[XL,#-1]!
 9330STRNEB C2,[XL,#-1]!
 9340SUBS T,XL,XR
 9350MOVS T,T,LSR #3
 9360STRCS C1,[XR],#4
 9370MOVS T,T,LSR #1
 9380STMCSIA (XR)!,{C1,C2}
 9390ADR XL,endspanRL
 9400SUB PC,XL,T,LSL #2
 9410FNVULRL
 9420.endspanRL
 9430ADD O,O,#320
 9440ADDS R,R,RA
 9450ADD XR,O,R,ASR #6
 9460MOVLT XR,O
 9470ADD L,L,LA
 9480SUBS CT,CT,#5
 9490BNE spanRL
 9500LDMFD 13!,{15}
 9510]
 9520NEXT
 9530ENDPROC
 9540
 9550DEF FNVULLR
 9560FOR I=1 TO 20
 9570[OPT P
 9580STMIA (XL)!,{C1,C2,C3,C4}
 9590]
 9600NEXT
 9610=""
 9620DEF FNVULRL
 9630FOR I=1 TO 20
 9640[OPT P
 9650STMIA (XR)!,{C1,C2,C3,C4}
 9660]
 9670NEXT
 9680=""

�> TRANSbig
�  By Jan Vlietinck
�  vlietin@intec.rug.ac.be
	�INIT
(	�MAIN
2�
<
F� �MAIN
G&T = � � 1000:�T:� I=1 � T:R=�(T):�
PDHX=(�(50)-25)/300
ZDHY=(�(50)-25)/300
dDHZ=(�(10)+10)/300
nDRX=�(100)-50
x	DRY=0
�DRZ=�(50)+50
��
�!HXD=RX:!HYD=RY:!HZD=RZ
�!TZD=(�(HZ)+2)*256
�!TXD=�(HX)*!TZD/2
�!TYD=�(HY)*!TZD/2
�
�� CALC_ROT_MATRIX
�ș "OS_Byte",&70,M
��:�
�� BEGIN
�	� SET
�
� DISPLAY
Ȗ
ș "OS_Byte",&71,M

M=M �3
"HX+=DHX:HY+=DHY:HZ+=DHZ
,RX+=DRX:RY+=DRY:RZ+=DRZ
6� 0
@�
J
T� �INIT
^� 13+128
h� 13
r� CTABLE 37*16
|�coltable(CTABLE)
��QUADRANGLE
�
PUNT=�
�
� 128+100
�M1=32:M2=16
�N=M1*M2
�� P (N+1)*20
�I=0
�� L=0 � M2-1
�G=�*L/(M2-1)
�CSG=�G*200:SNG=�G*200
�� K=0 � M1-1
�H=2*�*K/M1
CSH=�H:SNH=�H
P!(20*I+0)=CSH*SNG
P!(20*I+4)=SNH*SNG
&P!(20*I+8)=CSG
0I+=1
:�
D�
NP!(20*I)=1<<30
XI=0
b� VL (M1+1)*(M2+1)*24
l� L=0 � M2-2
v� K=0 � M1-2
�J=K+M1*L
�VL!(24*I)=P+20*J+12
�VL!(24*I+4)=P+20*(J+1)+12
�VL!(24*I+8)=P+20*(J+M1)+12
�!VL!(24*I+12)=P+20*(J+1+M1)+12
�I+=1
��
�	� 1 �
�J=K+M1*L
�VL!(24*I)=P+20*J+12
�VL!(24*I+8)=P+20*(J+M1)+12
�
J=M1*L
�VL!(24*I+4)=P+20*J+12
VL!(24*I+12)=P+20*(J+M1)+12
I+=1
�
 �
*VL!(24*I)=1<<30
4I=0
>� L=0 � M2-2
H� K=0 � M1-1
R� C
\VL!(24*I+20)=18*C
f#� 18*C<>0 � 18*C<>18 � � 18*C:�
pI+=1
z�
��
�
�F� 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
�F� 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
�F� 0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0, 0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0
�F� 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1, 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
�F� 0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1, 0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0
�F� 0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1, 0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0
�F� 0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1, 0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0
�F� 0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1, 0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1
�F� 0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1, 0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1
�F� 0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1, 0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1
�F� 0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1, 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
F� 0,0,1,1,1,1,1,0,0,0,1,1,0,0,1,1, 0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0
F� 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
F� 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
$F� 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.F� 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
8F� 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
BF� 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
L�init_trig_table
V�calc_normals
j�ASS
tHX=0:HY=0:HZ=0
~RX=0:RY=0:RZ=0
�M=1
�!TZD=300
��
�
�� �init_trig_table
�F=2*�/4096:V=2^15
�� CSTABLE 4096*8
�� H=0 � 4095
�	K=F*H
�CSTABLE!(8*H)=�(K)*V
�CSTABLE!(8*H+4)=�(K)*V
��
�


� �calc_normals
� NORMALS (N+5)*24
(�NORMAL
2� CALC_NORMALS
<�


"� �coltable(CTABLE)
,C=0:M=15
6
� K=0 � M
@$�put(C+(K � %1100)*5.25,K � %11)
J�
T
� T=1 � 3
^C=T:M=4*(4-T)-1
h�side(  4)
r�side(- 1)
|�side( 16)
��side(- 4)
��side(  1)
��side(-16)
��
��
�
�� �side(RGB)
�
� I=1 � T
�
Ȏ M �
�� 3
�
� K=0 � M
�$�put(C+(K � %1100)*5.25,K � %11)
�$�put(C+(K � %1100)*5.25,K � %11)
$�put(C+(K � %1100)*5.25,K � %11)
$�put(C+(K � %1100)*5.25,K � %11)
�
&� 7
0
� K=0 � M
:$�put(C+(K � %1100)*5.25,K � %11)
D$�put(C+(K � %1100)*5.25,K � %11)
N�
X� 11
bK=0
l$�put(C+(K � %1100)*5.25,K � %11)
v$�put(C+(K � %1100)*5.25,K � %11)
�
� K=0 � M
�$�put(C+(K � %1100)*5.25,K � %11)
��
�K=M
�$�put(C+(K � %1100)*5.25,K � %11)
�$�put(C+(K � %1100)*5.25,K � %11)
��
�
C+=RGB
��
��
�
�� �put(C,T)
�B1=(C>>5) � 1
B2=(C>>4) � 1
G1=(C>>3) � 1
G2=(C>>2) � 1
 R1=(C>>1) � 1
*R2=(C>>0) � 1
41COL=T+4*(R2+2*(B2+2*(R1+2*(G2+2*(G1+2*B1)))))
>?CTABLE=COL
H
CTABLE+=1
R�
	B
	L� �CALC
	V!HXD=HX:!HYD=HY:!HZD=HZ
	`!!TXD=(X-640)/4:!TYD=(512-Y)/4
	j� B=4 � !TZD+=4
	t� B=1 � !TZD-=4
	~!TXD=�(HX/300)*512
	�!TYD=�(HY/300)*512
	�!TZD=(�(HZ/300)+2)*256
	�� CALC_ROT_MATRIX
	��
	�
	�
� �NORMAL
	�� P%,Q%
	�
� Q% 2000
	�� PASS=0 � 2 � 2
	�	P%=Q%
	�9X1=0:Y1=1:Z1=2:X2=3:Y2=4:Z2=5:X3=6:Y3=7:Z3=8:T=9:U=10
	�
[OPT PASS
.VD EQUD VL

.KD EQUD 0.607252935*2^16
.CALC_NORMALS
           STMFD     13!,{14}
(          LDR       U,VD
2.N_LOOP
<           LDMIA     (U)!,{T}
=           CMP       T,#1<<30
>           LDMEQFD   13!,{PC}
F          SUB       T,T,#12
G$          LDMIA     T,{X1,Y1,Z1}
P           LDMIA     (U)!,{T}
Q           CMP       T,#1<<30
R           LDMEQFD   13!,{PC}
Z          SUB       T,T,#12
[$          LDMIA     T,{X2,Y2,Z2}
d           LDMIA     (U)!,{T}
e           CMP       T,#1<<30
f           LDMEQFD   13!,{PC}
n          SUB       T,T,#12
o$          LDMIA     T,{X3,Y3,Z3}
x          CMP       X1,Y2
y          CMPEQ     Y1,Y2
z          CMPEQ     Z1,Z2
{          BNE       ovr1
�           LDMIA     (U) ,{T}
�           CMP       T,#1<<30
�           LDMEQFD   13!,{PC}
�          SUB       T,T,#12
�$          LDMIA     T,{X2,Y2,Z2}
�	.ovr1
�          ADD U,U,#4
�
�          SUB X2,X2,X1
�          SUB Y2,Y2,Y1
�          SUB Z2,Z2,Z1
�          SUB X3,X3,X1
�          SUB Y3,Y3,Y1
�          SUB Z3,Z3,Z1
�          MUL X1,Y2,Z3
�          MUL T,Z2,Y3
�          SUB X1,X1,T
�          MUL Y1,Z2,X3
�          MUL T,X2,Z3
�          SUB Y1,Y1,T
�          MUL Z1,X2,Y3
�          MUL T,Y2,X3
�          SUB Z1,Z1,T
�
�]
�X=0:Y=1:Z=2:I=3:T=9:N=5:Q=6

[OPT PASS
	.NORM
          MOVS      X,X
          RSBMI     X,X,#0
"          MOVS      Y,Y
#          RSBMI     Y,Y,#0
,          MOVS      Z,Z
-          RSBMI     Z,Z,#0
6          MOV       I,#0
@
.LOOP1
J          CMP       Y,#0
T#          ADDPL     T,X,Y,ASR I
^#          SUBMI     T,X,Y,ASR I
h#          SUBPL     Y,Y,X,ASR I
r#          ADDMI     Y,Y,X,ASR I
|          MOV       X,T
�          ADD       I,I,#1
�          CMP       I,#16
�          BNE       LOOP1
�          LDR       T,KD
�          MUL       T,X,T
�#          MOV       T,T,LSR #16
�#          MOV       X,T:MOV Y,Z
�          MOV       I,#0
�
.LOOP2
�          CMP       Y,#0
�#          ADDPL     T,X,Y,ASR I
�#          SUBMI     T,X,Y,ASR I
�#          SUBPL     Y,Y,X,ASR I
#          ADDMI     Y,Y,X,ASR I
          MOV       X,T
          ADD       I,I,#1
&          CMP       I,#16
0          BNE       LOOP2
:          LDR       T,KD
D          MUL       T,X,T
N#          MOV       T,T,LSR #16
X]
b
l
[OPT PASS
v	.DEEL
�          MOV       N,T
�           MOV       T,#1<<21
�          MOV       Q,#0
�          MOV       I,#16
�
.DLOOP
�!          CMP       T,N,LSL I
�#          SUBHS     T,T,N,LSL I
�          ADC       Q,Q,Q
�          SUBS      I,I,#1
�          BPL       DLOOP
�]
�
�
[OPT PASS

	.ZERO

           STMIA     (U)!,{Q}

          ADD       U,U,#4

           BAL       N_LOOP

*]

4�

>�

H

R
� �ASS

\� P%,Q%

f� Q% 120000

p� DITABLE 2000*16*4

q

�� PASS=0 � 2 � 2

�CHX=0:SHX=1

�CHY=2:SHY=3

�CHZ=4:SHZ=5

�T=6:S=7:H=8

�HX=9:HY=10:HZ=11

�TX=9:TY=10:TZ=11

�	CS=12
SCR=0:COL=1
	P%=Q%
$[OPTPASS
.'.HXD EQUD 0:.HYD EQUD 0:.HZD EQUD 0
8.CSD EQUD CSTABLE
B'.TXD EQUD 0:.TYD EQUD 0:.TZD EQUD 0
L
V.CALC_ROT_MATRIX
`#ADR T,HXD:LDMIA T,{HX,HY,HZ,CS}
jMOV S,#4096:SUB S,S,#1
t9CMP HX,#0:RSBMI HX,HX,#0:� HX,HX,S:ADD T,CS,HX,LSL #3
~&LDMIA T,{CHX,SHX}:RSBMI SHX,SHX,#0
�9CMP HY,#0:RSBMI HY,HY,#0:� HY,HY,S:ADD T,CS,HY,LSL #3
�&LDMIA T,{CHY,SHY}:RSBMI SHY,SHY,#0
�9CMP HZ,#0:RSBMI HZ,HZ,#0:� HZ,HZ,S:ADD T,CS,HZ,LSL #3
�&LDMIA T,{CHZ,SHZ}:RSBMI SHZ,SHZ,#0
� ADR T,TXD:LDMIA T,{TX,TY,TZ}
�!MUL T,CHY,CHZ:MOV T,T,ASR #15
�!MUL S,CHY,SHZ:MOV S,S,LSR #15
�ADD T,S,T,LSL #16:STR T,A1D
�"ADD T,TX,SHY,LSL #16:STR T,A2D
�)MUL T,SHX,SHY:MOV T,T,ASR #15:MOV S,T
�:MUL H,CHX,SHZ:MLA T,CHZ,T,H:RSB T,T,#0:MOV T,T,ASR #15
�7MUL H,CHX,CHZ:MUL S,SHZ,S:SUB S,H,S:MOV S,S,LSR #15
ADD T,S,T,LSL #16:STR T,B1D

!MUL T,SHX,CHY:MOV T,T,ASR #15
 ADD T,TY,T,LSL #16:STR T,B2D
)MUL T,CHX,SHY:MOV T,T,ASR #15:MOV S,T
(7MUL T,CHZ,T:MUL H,SHX,SHZ:SUB T,H,T:MOV T,T,ASR #15
2:MUL S,SHZ,S:MLA H,SHX,CHZ,S:RSB S,H,#0:MOV S,S,LSR #15
<ADD T,S,T,LSL #16:STR T,C1D
F!MUL T,CHX,CHY:MOV T,T,ASR #15
P ADD T,TZ,T,LSL #16:STR T,C2D
ZMOV PC,R14
d]
n
xT=0:N=1:Q=2:I=3:J=4:DIT=5
�
[OPT PASS
�.DNRD EQUD 2000*16
�.CALC_DIVTABLE
�LDR DIT,DITD
�LDR I,DNRD
�.DVLOOP2
�MOV T,#100<<16
�MOV N,I
�MOV J,#0
�MOV Q,#0
�.DVLOOP3
�CMP N,T
�MOVLO N,N,LSL #1
ADDLO J,J,#1
BLO DVLOOP3
MOV N,N,LSR J
".DVLOOP1
,CMP T,N,LSL J
6SUBHS T,T,N,LSL J
@
ADC Q,Q,Q
JSUBS J,J,#1
TBPL DVLOOP1
^STR Q,[DIT,I,LSL #2]
hSUBS I,I,#1
rBNE DVLOOP2
|MOV PC,R14
�]
�FA1=0:A2=1:B1=2:B2=3:C1=4:C2=5:T=6:DIT=7:X=8:Y=9:Z=10:U=11:V=12:W=8
�
A=13:B=14
�
[OPT PASS
�.A1D EQUD 0:.A2D EQUD 0
�.B1D EQUD 0:.B2D EQUD 0
�.C1D EQUD 0:.C2D EQUD 0
�.DITD EQUD DITABLE
�.AD EQUD P
�.BD EQUD Q
�.VD EQUD VL
�.SP EQUD 0
�.LK EQUD 0

.BEGIN

STR 13,SP

STR 14,LK
&
ADR T,A1D
0'LDMIA T,{A1,A2,B1,B2,C1,C2,DIT,A,B}
:LDMIA (A)!,{X,Y,Z}
D
.TRANS
NMOV T,A1,ASR #16
X
MUL U,X,T
bMOV T,A1,LSL #16
lMOV T,T,ASR #16
vMLA U,Y,T,U
�MOV T,A2,ASR #16
�MLA U,Z,T,U
�MOV T,A2,LSL #16
�MOV T,T,ASR #16
�ADD U,T,U,ASR #15
�MOV T,B1,ASR #16
�
MUL V,X,T
�MOV T,B1,LSL #16
�MOV T,T,ASR #16
�MLA V,Y,T,V
�MOV T,B2,ASR #16
�MLA V,Z,T,V
�MOV T,B2,LSL #16
MOV T,T,ASR #16
ADD V,T,V,ASR #15
MOV T,C1,ASR #16
 
MUL W,T,X
*MOV T,C1,LSL #16
4MOV T,T,ASR #16
>MLA W,Y,T,W
HMOV T,C2,ASR #16
RMLA W,Z,T,W
\MOV T,C2,LSL #16
fMOV T,T,ASR #16
pADD W,T,W,ASR #15
zCMP W,#10:BNV TRANS
�LDR W,[DIT,W,LSL #2]
�
MUL U,W,U
�
MUL V,W,V
�MOV U,U,ASR #16
�MOV V,V,ASR #16
�STMIA (A)!,{U,V}
�LDMIA (A)!,{X,Y,Z}
�CMP X,#1<<30
�
BNE TRANS
�
LDR 13,SP
�
LDR 14,LK
�MOV PC,R14
�
]
� PUNT �

[OPT PASS
$.SCREEND EQUD 148:EQUD -1
..SCREEN EQUD 0
8.SET
B:ADR R0,SCREEND:ADR R1,SCREEN:SWI "OS_ReadVduVariables"
LMOV PC,R14
V
`.DISPLAY
jLDR SCR,SCREEN
tLDR U,AD
~MOV COL,#255
�	.LOOP
�LDMIA (U)!,{X,Y}
�CMP X,#1<<30:�Q PC,R14
�ADD X,X,#160
�ADD Y,Y,#128
�CMP X,#320
�CMPLO Y,#256
�ADD T,Y,Y,LSL #2
�ADD T,X,T,LSL #6
�STRLOB COL,[SCR,T]
�BAL LOOP
�]
�

+X1=0:Y1=1:X2=2:Y2=3:X3=4:Y3=5:X4=6:Y4=7

[OPT PASS
.root �root
(.CTD EQUD CTABLE
2.DISPLAY
<           STMFD     13!,{14}
F          LDR       U,VD
P           MOV       COL,#255
Z	.LOOP
d           LDMIA     (U)!,{V}
n           CMP       V,#1<<30
o           LDMEQFD   13!,{PC}
x          LDMIA     V,{X,Y}
�!          ADD       X1,X,#160
�!          ADD       Y1,Y,#128
�           LDMIA     (U)!,{V}
�           CMP       V,#1<<30
�           LDMEQFD   13!,{PC}
�          LDMIA     V,{X,Y}
�!          ADD       X2,X,#160
�!          ADD       Y2,Y,#128
�           LDMIA     (U)!,{V}
�           CMP       V,#1<<30
�           LDMEQFD   13!,{PC}
�          LDMIA     V,{X,Y}
�!          ADD       X3,X,#160
�!          ADD       Y3,Y,#128
�
          CMP       X1,X2
          CMPEQ     Y1,Y2
          BNE       ovr1
          LDMIA     (U),{V}
           CMP       V,#1<<30
           LDMEQFD   13!,{PC}
"          LDMIA     V,{X,Y}
,!          ADD       X2,X,#160
6!          ADD       Y2,Y,#128
@	.ovr1
J           SUB       X ,X2,X1
K           SUB       Y ,Y2,Y1
T           SUB       X4,X3,X1
U           SUB       Y4,Y3,Y1
^          MUL       X,Y4,X
_          MUL       Y,X4,Y
`          CMP       X,Y
a          ADDMI     U,U,#12
b          BMI       LOOP
h
r          SUB       Y,X,Y
s           LDR       X,[U,#4]
t          MUL       X,Y,X
u#          MOV       Z,X,LSR #12
|          CMP       Z,#256
}          MOVHS     Z,#255
�          ADR       X,root
�          LDRB      Z,[X,Z]
�          CMP       Z,#16
�          MOVHS     Z,#15
�
�           LDMIA     (U)!,{V}
�           CMP       V,#1<<30
�           LDMEQFD   13!,{PC}
�          LDMIA     V,{X,Y}
�!          ADD       X4,X,#160
�!          ADD       Y4,Y,#128
�
�          ADD       U,U,#4
�!          LDR       R8,[U],#4
�$          MOV       R8,R8,LSL #4
�          ADD       R8,R8,Z
�          LDR       Y,CTD
�!          LDRB      R8,[Y,R8]

"          STMFD     13!,{0-12}
"          BL        QUADRANGLE
&"          LDMFD     13!,{0-12}
0          BAL       LOOP
:]
D�
N�
X� CALC_DIVTABLE
b�
l
v
�� �root
�� I=0 � 255
�
[OPT PASS
�EQUB �(�(I)) � 255
�]
��
�=""
�
�� �QUADRANGLE
�� P%,Q%
�
� DITABLE
�� DITABLE 4*1024
�� I=1 � 1024
DITABLE!(4*I)=(1<<16)/I
�

� Q% 4000
 AX=0
*AY=1
4BX=2
>BY=3
HCX=4
RCY=5
\DX=6
fDY=7
p	COL=8
zT=9
�A=10
�B=11
�C=12
�F=8
�G=9
�T=9
�N=10
�Q=11
�S=12
�XL=0
�XR=1
�L=2
�R=3
CT=4
C1=5
C2=6
$C3=7
.C4=8
8T=9
BO=10
L	LA=11
V	RA=12
`� P=0 � 2 � 2
j	P%=Q%
t
[OPT P
~.SCREEN1 EQUD 148
�EQUD -1
�.SCREEN EQUD 0
�.SET
�ADR R0,SCREEN1
�ADR R1,SCREEN
�SWI "OS_ReadVduVariables"
�
MOV 15,14
�
�.AXD EQUD 0
�.BXD EQUD 0
�.CXD EQUD 0
�.AB EQUD 0
.AC EQUD 0

.BD EQUD 0
.CD EQUD 0
.AD EQUD 0
(.BC EQUD 0
2.AA EQUD 0
<.BB EQUD 0
F.CC EQUD 0
P.KL EQUD 255
Z.DITABD EQUD DITABLE
d.QUADRANGLE
nSTMFD 13!,{14}
xSTR COL,KL
�
CMP AY,CY
�MOVGT T,AX
�MOVGT AX,CX
�MOVGT CX,T
�MOVGT T,AY
�MOVGT AY,CY
�MOVGT CY,T
�
CMP BY,DY
�MOVGT T,BX
�MOVGT BX,DX
�MOVGT DX,T
�MOVGT T,BY
�MOVGT BY,DY
MOVGT DY,T

CMP AY,BY
MOVGT T,AX
"MOVGT AX,BX
,MOVGT BX,T
6MOVGT T,AY
@MOVGT AY,BY
JMOVGT BY,T
T
CMP CY,DY
^MOVGT T,CX
hMOVGT CX,DX
rMOVGT DX,T
|MOVGT T,CY
�MOVGT CY,DY
�MOVGT DY,T
�
CMP BY,CY
�MOVGT T,BX
�MOVGT BX,CX
�MOVGT CX,T
�MOVGT T,BY
�MOVGT BY,CY
�MOVGT CY,T
�
ADR T,AXD
�STMIA T,{AX,BX,CX}
�SUB A,DX,AX
�SUB B,DY,AY
SUB S,CX,AX
SUB T,CY,AY

MUL T,A,T
&
MUL S,B,S
0SUBS F,S,T
:
BEQ Q1
DSUB S,BX,AX
NSUB T,BY,AY
X
MUL T,A,T
b
MUL S,B,S
lSUBS G,S,T
v
BEQ Q1
��S T,F,G
�
BLT Q1
�
BGE Q2
�.Q1
�LDR Q,DITABD
�SUB T,BX,AX
�SUB N,BY,AY
�LDR N,[Q,N,LSL #2]
�
MUL N,T,N
�MOV N,N,ASR #10
�STR N,AB
�SUB T,CX,AX
�SUB N,CY,AY
LDR N,[Q,N,LSL #2]

MUL N,T,N
MOV N,N,ASR #10
 STR N,AC
*SUB T,DX,BX
4SUB N,DY,BY
>LDR N,[Q,N,LSL #2]
H
MUL N,T,N
RMOV N,N,ASR #10
\STR N,BD
fSUB T,DX,CX
pSUB N,DY,CY
zLDR N,[Q,N,LSL #2]
�
MUL N,T,N
�MOV N,N,ASR #10
�STR N,CD
�SUB A,BY,AY
�SUB B,CY,BY
�SUB C,DY,CY
�ADR T,AA
�STMIA T,{A,B,C}
�LDR O,SCREEN
�LDR COL,KL
�ADD T,AY,AY,LSL #2
�ADD O,O,T,LSL #6
�ADD C4,C4,C4,LSL #8
ADD C4,C4,C4,LSL #16

MOV C1,C4

MOV C2,C4
$
MOV C3,C4
.
LDR CT,AA
8
CMP CT,#0
B
LDR T,AXD
LMOV L,T,LSL #6
VMOV R,T,LSL #6
`
LDR LA,AC
jADD L,L,LA,ASR #1
tADD L,L,#1<<5
~
LDR RA,AB
�ADD R,R,RA,ASR #1
�ADD R,R,#1<<5
�BLNE PIECE
�
LDR CT,BB
�
CMP CT,#0
�
LDR T,BXD
�MOV R,T,LSL #6
�
LDR RA,BD
�ADD R,R,RA,ASR #1
�ADD R,R,#1<<5
�BLNE PIECE
�
LDR CT,CC

CMP CT,#0


LDR T,CXD
MOV L,T,LSL #6

LDR LA,CD
(ADD L,L,LA,ASR #1
2ADD L,L,#1<<5
<BLNE PIECE
FLDMFD 13!,{15}
P.Q2
ZLDR Q,DITABD
dSUB T,BX,AX
nSUB N,BY,AY
xLDR N,[Q,N,LSL #2]
�
MUL N,T,N
�MOV N,N,ASR #10
�STR N,AB
�SUB T,CX,BX
�SUB N,CY,BY
�LDR N,[Q,N,LSL #2]
�
MUL N,T,N
�MOV N,N,ASR #10
�STR N,BC
�SUB T,DX,CX
�SUB N,DY,CY
�LDR N,[Q,N,LSL #2]
�
MUL N,T,N
MOV N,N,ASR #10
STR N,CD
SUB T,DX,AX
"SUB N,DY,AY
,LDR N,[Q,N,LSL #2]
6
MUL N,T,N
@MOV N,N,ASR #10
JSTR N,AD
TSUB A,BY,AY
^SUB B,CY,BY
hSUB C,DY,CY
rADR T,AA
|STMIA T,{A,B,C}
�LDR O,SCREEN
�LDR COL,KL
�ADD T,AY,AY,LSL #2
�ADD O,O,T,LSL #6
�ADD C4,C4,C4,LSL #8
�ADD C4,C4,C4,LSL #16
�
MOV C1,C4
�
MOV C2,C4
�
MOV C3,C4
�
LDR CT,AA
�
CMP CT,#0
�
LDR T,AXD
�MOV L,T,LSL #6
 MOV R,T,LSL #6
 
LDR LA,AD
 ADD L,L,LA,ASR #1
 &ADD L,L,#1<<5
 0
LDR RA,AB
 :ADD R,R,RA,ASR #1
 DADD R,R,#1<<5
 NBLNE PIECE
 X
LDR CT,BB
 b
CMP CT,#0
 l
LDR T,BXD
 vMOV R,T,LSL #6
 �
LDR RA,BC
 �ADD R,R,RA,ASR #1
 �ADD R,R,#1<<5
 �BLNE PIECE
 �
LDR CT,CC
 �
CMP CT,#0
 �
LDR T,CXD
 �MOV R,T,LSL #6
 �
LDR RA,CD
 �ADD R,R,RA,ASR #1
 �ADD R,R,#1<<5
 �BLNE PIECE
 �LDMFD 13!,{15}
!
!
.PIECE
!STMFD 13!,{14}
! LDR T,SCREEN
!*CMP O,T
!4
BHS eclip
!>	.clip
!HADD L,L,LA
!RADD R,R,RA
!\ADD O,O,#320
!fSUBS CT,CT,#1
!pLDMEQFD 13!,{15}
!zCMP O,T
!�BLO clip
!�
.eclip
!�ADD   T,T,#320*256
!�SUBS  T,T,O
!�LDMLSFD 13!,{15}
!�ADD   CT,CT,CT,LSL #2
!�CMP   CT,T,LSR #6
!�MOVHI CT,T,LSR #6
!�CMP L,R
!�
BGT RL
!�.LR
!�CMP L,#0
!�ADD XL,O,L,ASR #6
"MOVLT XL,O
".spanLR
"CMP R,#320<<6
"$ADD XR,O,R,ASR #6
".ADDGT XR,O,#320
"8SUBS T,XR,XL
"BBLE endspanLR
"LCMP T,#2
"VSTRLSB C1,[XL]
"`STRLSB C1,[XR,#-1]
"jBLE endspanLR
"tTST XL,#%01
"~STRNEB C1,[XL],#1
"�TST XL,#%10
"�STRNEB C2,[XL],#1
"�STRNEB C1,[XL],#1
"�TST XR,#%01
"�STRNEB C2,[XR,#-1]!
"�TST XR,#%10
"�STRNEB C1,[XR,#-1]!
"�STRNEB C2,[XR,#-1]!
"�SUBS T,XR,XL
"�MOVS T,T,LSR #3
"�STRCS C1,[XL],#4
"�MOVS T,T,LSR #1
#STMCSIA (XL)!,{C1,C2}
#
ADR XR,endspanLR
#SUB PC,XR,T,LSL #2
#
�VULLR
#(.endspanLR
#2ADD O,O,#320
#<ADDS L,L,LA
#FADD XL,O,L,ASR #6
#PMOVLT XL,O
#ZADD R,R,RA
#dSUBS CT,CT,#5
#nBNE spanLR
#xLDMFD 13!,{15}
#�
#�.RL
#�CMP   R,#0
#�ADD   XR,O,R,ASR #6
#�MOVLT XR,O
#�.spanRL
#�CMP   L,#320<<6
#�ADD   XL,O,L,ASR #6
#�ADDGT XL,O,#320
#�SUBS T,XL,XR
#�BLE endspanRL
#�CMP T,#2
#�STRLSB C1,[XR]
$STRLSB C1,[XL,#-1]
$BLE endspanRL
$TST XR,#%01
$"STRNEB C1,[XR],#1
$,TST XR,#%10
$6STRNEB C2,[XR],#1
$@STRNEB C1,[XR],#1
$JTST XL,#%01
$TSTRNEB C2,[XL,#-1]!
$^TST XL,#%10
$hSTRNEB C1,[XL,#-1]!
$rSTRNEB C2,[XL,#-1]!
$|SUBS T,XL,XR
$�MOVS T,T,LSR #3
$�STRCS C1,[XR],#4
$�MOVS T,T,LSR #1
$�STMCSIA (XR)!,{C1,C2}
$�ADR XL,endspanRL
$�SUB PC,XL,T,LSL #2
$�
�VULRL
$�.endspanRL
$�ADD O,O,#320
$�ADDS R,R,RA
$�ADD XR,O,R,ASR #6
$�MOVLT XR,O
$�ADD L,L,LA
%SUBS CT,CT,#5
%BNE spanRL
%LDMFD 13!,{15}
%&]
%0�
%:�
%D
%N� �VULLR
%X� I=1 � 20
%b
[OPT P
%lSTMIA (XL)!,{C1,C2,C3,C4}
%v]
%��
%�=""
%�� �VULRL
%�� I=1 � 20
%�
[OPT P
%�STMIA (XR)!,{C1,C2,C3,C4}
%�]
%��
%�=""
�
00000000  0d 00 0a 0f f4 3e 20 54  52 41 4e 53 62 69 67 0d  |.....> TRANSbig.|
00000010  00 14 17 f4 20 20 42 79  20 4a 61 6e 20 56 6c 69  |....  By Jan Vli|
00000020  65 74 69 6e 63 6b 0d 00  15 1e f4 20 20 76 6c 69  |etinck.....  vli|
00000030  65 74 69 6e 40 69 6e 74  65 63 2e 72 75 67 2e 61  |etin@intec.rug.a|
00000040  63 2e 62 65 0d 00 1e 09  f2 49 4e 49 54 0d 00 28  |c.be.....INIT..(|
00000050  09 f2 4d 41 49 4e 0d 00  32 05 e0 0d 00 3c 04 0d  |..MAIN..2....<..|
00000060  00 46 0b dd 20 f2 4d 41  49 4e 0d 00 47 26 54 20  |.F.. .MAIN..G&T |
00000070  3d 20 91 20 81 20 31 30  30 30 3a f1 54 3a e3 20  |= . . 1000:.T:. |
00000080  49 3d 31 20 b8 20 54 3a  52 3d b3 28 54 29 3a ed  |I=1 . T:R=.(T):.|
00000090  0d 00 50 16 44 48 58 3d  28 b3 28 35 30 29 2d 32  |..P.DHX=(.(50)-2|
000000a0  35 29 2f 33 30 30 0d 00  5a 16 44 48 59 3d 28 b3  |5)/300..Z.DHY=(.|
000000b0  28 35 30 29 2d 32 35 29  2f 33 30 30 0d 00 64 16  |(50)-25)/300..d.|
000000c0  44 48 5a 3d 28 b3 28 31  30 29 2b 31 30 29 2f 33  |DHZ=(.(10)+10)/3|
000000d0  30 30 0d 00 6e 11 44 52  58 3d b3 28 31 30 30 29  |00..n.DRX=.(100)|
000000e0  2d 35 30 0d 00 78 09 44  52 59 3d 30 0d 00 82 10  |-50..x.DRY=0....|
000000f0  44 52 5a 3d b3 28 35 30  29 2b 35 30 0d 00 8c 05  |DRZ=.(50)+50....|
00000100  f5 0d 00 96 1b 21 48 58  44 3d 52 58 3a 21 48 59  |.....!HXD=RX:!HY|
00000110  44 3d 52 59 3a 21 48 5a  44 3d 52 5a 0d 00 a0 16  |D=RY:!HZD=RZ....|
00000120  21 54 5a 44 3d 28 9b 28  48 5a 29 2b 32 29 2a 32  |!TZD=(.(HZ)+2)*2|
00000130  35 36 0d 00 aa 15 21 54  58 44 3d 9b 28 48 58 29  |56....!TXD=.(HX)|
00000140  2a 21 54 5a 44 2f 32 0d  00 b4 15 21 54 59 44 3d  |*!TZD/2....!TYD=|
00000150  9b 28 48 59 29 2a 21 54  5a 44 2f 32 0d 00 be 04  |.(HY)*!TZD/2....|
00000160  0d 00 c8 15 d6 20 43 41  4c 43 5f 52 4f 54 5f 4d  |..... CALC_ROT_M|
00000170  41 54 52 49 58 0d 00 d2  16 c8 99 20 22 4f 53 5f  |ATRIX...... "OS_|
00000180  42 79 74 65 22 2c 26 37  30 2c 4d 0d 00 dc 07 db  |Byte",&70,M.....|
00000190  3a 87 0d 00 e6 0b d6 20  42 45 47 49 4e 0d 00 f0  |:...... BEGIN...|
000001a0  09 d6 20 53 45 54 0d 00  fa 0d d6 20 44 49 53 50  |.. SET..... DISP|
000001b0  4c 41 59 0d 01 04 06 c8  96 0d 01 0e 16 c8 99 20  |LAY............ |
000001c0  22 4f 53 5f 42 79 74 65  22 2c 26 37 31 2c 4d 0d  |"OS_Byte",&71,M.|
000001d0  01 18 0a 4d 3d 4d 20 82  33 0d 01 22 1b 48 58 2b  |...M=M .3..".HX+|
000001e0  3d 44 48 58 3a 48 59 2b  3d 44 48 59 3a 48 5a 2b  |=DHX:HY+=DHY:HZ+|
000001f0  3d 44 48 5a 0d 01 2c 1b  52 58 2b 3d 44 52 58 3a  |=DHZ..,.RX+=DRX:|
00000200  52 59 2b 3d 44 52 59 3a  52 5a 2b 3d 44 52 5a 0d  |RY+=DRY:RZ+=DRZ.|
00000210  01 36 07 fd 20 30 0d 01  40 05 e1 0d 01 4a 04 0d  |.6.. 0..@....J..|
00000220  01 54 0b dd 20 f2 49 4e  49 54 0d 01 5e 0c eb 20  |.T.. .INIT..^.. |
00000230  31 33 2b 31 32 38 0d 01  68 08 eb 20 31 33 0d 01  |13+128..h.. 13..|
00000240  72 12 de 20 43 54 41 42  4c 45 20 33 37 2a 31 36  |r.. CTABLE 37*16|
00000250  0d 01 7c 15 f2 63 6f 6c  74 61 62 6c 65 28 43 54  |..|..coltable(CT|
00000260  41 42 4c 45 29 0d 01 90  0f f2 51 55 41 44 52 41  |ABLE).....QUADRA|
00000270  4e 47 4c 45 0d 01 9a 0a  50 55 4e 54 3d a3 0d 01  |NGLE....PUNT=...|
00000280  a4 0d fb 20 31 32 38 2b  31 30 30 0d 01 ae 0f 4d  |... 128+100....M|
00000290  31 3d 33 32 3a 4d 32 3d  31 36 0d 01 b8 0b 4e 3d  |1=32:M2=16....N=|
000002a0  4d 31 2a 4d 32 0d 01 c2  10 de 20 50 20 28 4e 2b  |M1*M2..... P (N+|
000002b0  31 29 2a 32 30 0d 01 cc  07 49 3d 30 0d 01 d6 10  |1)*20....I=0....|
000002c0  e3 20 4c 3d 30 20 b8 20  4d 32 2d 31 0d 01 e0 10  |. L=0 . M2-1....|
000002d0  47 3d af 2a 4c 2f 28 4d  32 2d 31 29 0d 01 ea 19  |G=.*L/(M2-1)....|
000002e0  43 53 47 3d 9b 47 2a 32  30 30 3a 53 4e 47 3d b5  |CSG=.G*200:SNG=.|
000002f0  47 2a 32 30 30 0d 01 f4  10 e3 20 4b 3d 30 20 b8  |G*200..... K=0 .|
00000300  20 4d 31 2d 31 0d 01 fe  0e 48 3d 32 2a af 2a 4b  | M1-1....H=2*.*K|
00000310  2f 4d 31 0d 02 08 11 43  53 48 3d 9b 48 3a 53 4e  |/M1....CSH=.H:SN|
00000320  48 3d b5 48 0d 02 12 16  50 21 28 32 30 2a 49 2b  |H=.H....P!(20*I+|
00000330  30 29 3d 43 53 48 2a 53  4e 47 0d 02 1c 16 50 21  |0)=CSH*SNG....P!|
00000340  28 32 30 2a 49 2b 34 29  3d 53 4e 48 2a 53 4e 47  |(20*I+4)=SNH*SNG|
00000350  0d 02 26 12 50 21 28 32  30 2a 49 2b 38 29 3d 43  |..&.P!(20*I+8)=C|
00000360  53 47 0d 02 30 08 49 2b  3d 31 0d 02 3a 05 ed 0d  |SG..0.I+=1..:...|
00000370  02 44 05 ed 0d 02 4e 12  50 21 28 32 30 2a 49 29  |.D....N.P!(20*I)|
00000380  3d 31 3c 3c 33 30 0d 02  58 07 49 3d 30 0d 02 62  |=1<<30..X.I=0..b|
00000390  19 de 20 56 4c 20 28 4d  31 2b 31 29 2a 28 4d 32  |.. VL (M1+1)*(M2|
000003a0  2b 31 29 2a 32 34 0d 02  6c 10 e3 20 4c 3d 30 20  |+1)*24..l.. L=0 |
000003b0  b8 20 4d 32 2d 32 0d 02  76 10 e3 20 4b 3d 30 20  |. M2-2..v.. K=0 |
000003c0  b8 20 4d 31 2d 32 0d 02  80 0c 4a 3d 4b 2b 4d 31  |. M1-2....J=K+M1|
000003d0  2a 4c 0d 02 8a 17 56 4c  21 28 32 34 2a 49 29 3d  |*L....VL!(24*I)=|
000003e0  50 2b 32 30 2a 4a 2b 31  32 0d 02 94 1d 56 4c 21  |P+20*J+12....VL!|
000003f0  28 32 34 2a 49 2b 34 29  3d 50 2b 32 30 2a 28 4a  |(24*I+4)=P+20*(J|
00000400  2b 31 29 2b 31 32 0d 02  9e 1e 56 4c 21 28 32 34  |+1)+12....VL!(24|
00000410  2a 49 2b 38 29 3d 50 2b  32 30 2a 28 4a 2b 4d 31  |*I+8)=P+20*(J+M1|
00000420  29 2b 31 32 0d 02 a8 21  56 4c 21 28 32 34 2a 49  |)+12...!VL!(24*I|
00000430  2b 31 32 29 3d 50 2b 32  30 2a 28 4a 2b 31 2b 4d  |+12)=P+20*(J+1+M|
00000440  31 29 2b 31 32 0d 02 b2  08 49 2b 3d 31 0d 02 bc  |1)+12....I+=1...|
00000450  05 ed 0d 02 c6 09 e7 20  31 20 8c 0d 02 d0 0c 4a  |....... 1 .....J|
00000460  3d 4b 2b 4d 31 2a 4c 0d  02 da 17 56 4c 21 28 32  |=K+M1*L....VL!(2|
00000470  34 2a 49 29 3d 50 2b 32  30 2a 4a 2b 31 32 0d 02  |4*I)=P+20*J+12..|
00000480  e4 1e 56 4c 21 28 32 34  2a 49 2b 38 29 3d 50 2b  |..VL!(24*I+8)=P+|
00000490  32 30 2a 28 4a 2b 4d 31  29 2b 31 32 0d 02 ee 0a  |20*(J+M1)+12....|
000004a0  4a 3d 4d 31 2a 4c 0d 02  f8 19 56 4c 21 28 32 34  |J=M1*L....VL!(24|
000004b0  2a 49 2b 34 29 3d 50 2b  32 30 2a 4a 2b 31 32 0d  |*I+4)=P+20*J+12.|
000004c0  03 02 1f 56 4c 21 28 32  34 2a 49 2b 31 32 29 3d  |...VL!(24*I+12)=|
000004d0  50 2b 32 30 2a 28 4a 2b  4d 31 29 2b 31 32 0d 03  |P+20*(J+M1)+12..|
000004e0  0c 08 49 2b 3d 31 0d 03  16 05 cd 0d 03 20 05 ed  |..I+=1....... ..|
000004f0  0d 03 2a 13 56 4c 21 28  32 34 2a 49 29 3d 31 3c  |..*.VL!(24*I)=1<|
00000500  3c 33 30 0d 03 34 07 49  3d 30 0d 03 3e 10 e3 20  |<30..4.I=0..>.. |
00000510  4c 3d 30 20 b8 20 4d 32  2d 32 0d 03 48 10 e3 20  |L=0 . M2-2..H.. |
00000520  4b 3d 30 20 b8 20 4d 31  2d 31 0d 03 52 07 f3 20  |K=0 . M1-1..R.. |
00000530  43 0d 03 5c 15 56 4c 21  28 32 34 2a 49 2b 32 30  |C..\.VL!(24*I+20|
00000540  29 3d 31 38 2a 43 0d 03  66 23 e7 20 31 38 2a 43  |)=18*C..f#. 18*C|
00000550  3c 3e 30 20 80 20 31 38  2a 43 3c 3e 31 38 20 8c  |<>0 . 18*C<>18 .|
00000560  20 f1 20 31 38 2a 43 3a  e0 0d 03 70 08 49 2b 3d  | . 18*C:...p.I+=|
00000570  31 0d 03 7a 05 ed 0d 03  84 05 ed 0d 03 8e 04 0d  |1..z............|
00000580  03 98 46 dc 20 30 2c 30  2c 30 2c 30 2c 30 2c 30  |..F. 0,0,0,0,0,0|
00000590  2c 30 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 30  |,0,0,0,0,0,0,0,0|
000005a0  2c 30 2c 30 2c 20 30 2c  30 2c 30 2c 30 2c 30 2c  |,0,0, 0,0,0,0,0,|
000005b0  30 2c 30 2c 30 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |0,0,0,0,0,0,0,0,|
000005c0  30 2c 30 2c 30 0d 03 a2  46 dc 20 30 2c 30 2c 30  |0,0,0...F. 0,0,0|
000005d0  2c 30 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 30  |,0,0,0,0,0,0,0,0|
000005e0  2c 30 2c 30 2c 30 2c 30  2c 30 2c 20 30 2c 30 2c  |,0,0,0,0,0, 0,0,|
000005f0  30 2c 30 2c 30 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |0,0,0,0,0,0,0,0,|
00000600  30 2c 30 2c 30 2c 30 2c  30 2c 30 0d 03 ac 46 dc  |0,0,0,0,0,0...F.|
00000610  20 30 2c 30 2c 31 2c 31  2c 31 2c 31 2c 31 2c 30  | 0,0,1,1,1,1,1,0|
00000620  2c 30 2c 30 2c 30 2c 31  2c 31 2c 31 2c 31 2c 30  |,0,0,0,1,1,1,1,0|
00000630  2c 20 30 2c 30 2c 30 2c  31 2c 31 2c 31 2c 31 2c  |, 0,0,0,1,1,1,1,|
00000640  30 2c 30 2c 30 2c 30 2c  31 2c 31 2c 31 2c 31 2c  |0,0,0,0,1,1,1,1,|
00000650  30 0d 03 b6 46 dc 20 30  2c 30 2c 31 2c 31 2c 31  |0...F. 0,0,1,1,1|
00000660  2c 31 2c 31 2c 31 2c 30  2c 30 2c 31 2c 31 2c 31  |,1,1,1,0,0,1,1,1|
00000670  2c 31 2c 31 2c 31 2c 20  30 2c 30 2c 31 2c 31 2c  |,1,1,1, 0,0,1,1,|
00000680  31 2c 31 2c 31 2c 31 2c  30 2c 30 2c 31 2c 31 2c  |1,1,1,1,0,0,1,1,|
00000690  31 2c 31 2c 31 2c 31 0d  03 c0 46 dc 20 30 2c 30  |1,1,1,1...F. 0,0|
000006a0  2c 31 2c 31 2c 30 2c 30  2c 31 2c 31 2c 30 2c 30  |,1,1,0,0,1,1,0,0|
000006b0  2c 31 2c 31 2c 30 2c 30  2c 31 2c 31 2c 20 30 2c  |,1,1,0,0,1,1, 0,|
000006c0  30 2c 31 2c 31 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |0,1,1,0,0,0,0,0,|
000006d0  30 2c 31 2c 31 2c 30 2c  30 2c 30 2c 30 0d 03 ca  |0,1,1,0,0,0,0...|
000006e0  46 dc 20 30 2c 30 2c 31  2c 31 2c 30 2c 30 2c 31  |F. 0,0,1,1,0,0,1|
000006f0  2c 31 2c 30 2c 30 2c 31  2c 31 2c 30 2c 30 2c 31  |,1,0,0,1,1,0,0,1|
00000700  2c 31 2c 20 30 2c 30 2c  31 2c 31 2c 30 2c 30 2c  |,1, 0,0,1,1,0,0,|
00000710  30 2c 30 2c 30 2c 30 2c  31 2c 31 2c 30 2c 30 2c  |0,0,0,0,1,1,0,0,|
00000720  30 2c 30 0d 03 d4 46 dc  20 30 2c 30 2c 31 2c 31  |0,0...F. 0,0,1,1|
00000730  2c 31 2c 31 2c 31 2c 30  2c 30 2c 30 2c 31 2c 31  |,1,1,1,0,0,0,1,1|
00000740  2c 31 2c 31 2c 31 2c 31  2c 20 30 2c 30 2c 31 2c  |,1,1,1,1, 0,0,1,|
00000750  31 2c 31 2c 31 2c 31 2c  30 2c 30 2c 30 2c 31 2c  |1,1,1,1,0,0,0,1,|
00000760  31 2c 31 2c 31 2c 31 2c  30 0d 03 de 46 dc 20 30  |1,1,1,1,0...F. 0|
00000770  2c 30 2c 31 2c 31 2c 31  2c 31 2c 31 2c 30 2c 30  |,0,1,1,1,1,1,0,0|
00000780  2c 30 2c 31 2c 31 2c 31  2c 31 2c 31 2c 31 2c 20  |,0,1,1,1,1,1,1, |
00000790  30 2c 30 2c 30 2c 31 2c  31 2c 31 2c 31 2c 31 2c  |0,0,0,1,1,1,1,1,|
000007a0  30 2c 30 2c 30 2c 31 2c  31 2c 31 2c 31 2c 31 0d  |0,0,0,1,1,1,1,1.|
000007b0  03 e8 46 dc 20 30 2c 30  2c 31 2c 31 2c 30 2c 30  |..F. 0,0,1,1,0,0|
000007c0  2c 31 2c 31 2c 30 2c 30  2c 31 2c 31 2c 30 2c 30  |,1,1,0,0,1,1,0,0|
000007d0  2c 31 2c 31 2c 20 30 2c  30 2c 30 2c 30 2c 30 2c  |,1,1, 0,0,0,0,0,|
000007e0  30 2c 31 2c 31 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |0,1,1,0,0,0,0,0,|
000007f0  30 2c 31 2c 31 0d 03 f2  46 dc 20 30 2c 30 2c 31  |0,1,1...F. 0,0,1|
00000800  2c 31 2c 30 2c 30 2c 31  2c 31 2c 30 2c 30 2c 31  |,1,0,0,1,1,0,0,1|
00000810  2c 31 2c 30 2c 30 2c 31  2c 31 2c 20 30 2c 30 2c  |,1,0,0,1,1, 0,0,|
00000820  30 2c 30 2c 30 2c 30 2c  31 2c 31 2c 30 2c 30 2c  |0,0,0,0,1,1,0,0,|
00000830  30 2c 30 2c 30 2c 30 2c  31 2c 31 0d 03 fc 46 dc  |0,0,0,0,1,1...F.|
00000840  20 30 2c 30 2c 31 2c 31  2c 31 2c 31 2c 31 2c 31  | 0,0,1,1,1,1,1,1|
00000850  2c 30 2c 30 2c 31 2c 31  2c 30 2c 30 2c 31 2c 31  |,0,0,1,1,0,0,1,1|
00000860  2c 20 30 2c 30 2c 31 2c  31 2c 31 2c 31 2c 31 2c  |, 0,0,1,1,1,1,1,|
00000870  31 2c 30 2c 30 2c 31 2c  31 2c 31 2c 31 2c 31 2c  |1,0,0,1,1,1,1,1,|
00000880  31 0d 04 06 46 dc 20 30  2c 30 2c 31 2c 31 2c 31  |1...F. 0,0,1,1,1|
00000890  2c 31 2c 31 2c 30 2c 30  2c 30 2c 31 2c 31 2c 30  |,1,1,0,0,0,1,1,0|
000008a0  2c 30 2c 31 2c 31 2c 20  30 2c 30 2c 30 2c 31 2c  |,0,1,1, 0,0,0,1,|
000008b0  31 2c 31 2c 31 2c 30 2c  30 2c 30 2c 30 2c 31 2c  |1,1,1,0,0,0,0,1,|
000008c0  31 2c 31 2c 31 2c 30 0d  04 10 46 dc 20 30 2c 30  |1,1,1,0...F. 0,0|
000008d0  2c 30 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 30  |,0,0,0,0,0,0,0,0|
000008e0  2c 30 2c 30 2c 30 2c 30  2c 30 2c 30 2c 20 30 2c  |,0,0,0,0,0,0, 0,|
000008f0  30 2c 30 2c 30 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |0,0,0,0,0,0,0,0,|
00000900  30 2c 30 2c 30 2c 30 2c  30 2c 30 2c 30 0d 04 1a  |0,0,0,0,0,0,0...|
00000910  46 dc 20 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 30  |F. 0,0,0,0,0,0,0|
00000920  2c 30 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 30  |,0,0,0,0,0,0,0,0|
00000930  2c 30 2c 20 30 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |,0, 0,0,0,0,0,0,|
00000940  30 2c 30 2c 30 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |0,0,0,0,0,0,0,0,|
00000950  30 2c 30 0d 04 24 46 dc  20 30 2c 30 2c 30 2c 30  |0,0..$F. 0,0,0,0|
00000960  2c 30 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 30  |,0,0,0,0,0,0,0,0|
00000970  2c 30 2c 30 2c 30 2c 30  2c 20 30 2c 30 2c 30 2c  |,0,0,0,0, 0,0,0,|
00000980  30 2c 30 2c 30 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |0,0,0,0,0,0,0,0,|
00000990  30 2c 30 2c 30 2c 30 2c  30 0d 04 2e 46 dc 20 30  |0,0,0,0,0...F. 0|
000009a0  2c 30 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 30  |,0,0,0,0,0,0,0,0|
000009b0  2c 30 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 20  |,0,0,0,0,0,0,0, |
000009c0  30 2c 30 2c 30 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |0,0,0,0,0,0,0,0,|
000009d0  30 2c 30 2c 30 2c 30 2c  30 2c 30 2c 30 2c 30 0d  |0,0,0,0,0,0,0,0.|
000009e0  04 38 46 dc 20 30 2c 30  2c 30 2c 30 2c 30 2c 30  |.8F. 0,0,0,0,0,0|
000009f0  2c 30 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 30  |,0,0,0,0,0,0,0,0|
00000a00  2c 30 2c 30 2c 20 30 2c  30 2c 30 2c 30 2c 30 2c  |,0,0, 0,0,0,0,0,|
00000a10  30 2c 30 2c 30 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |0,0,0,0,0,0,0,0,|
00000a20  30 2c 30 2c 30 0d 04 42  46 dc 20 30 2c 30 2c 30  |0,0,0..BF. 0,0,0|
00000a30  2c 30 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 30  |,0,0,0,0,0,0,0,0|
00000a40  2c 30 2c 30 2c 30 2c 30  2c 30 2c 20 30 2c 30 2c  |,0,0,0,0,0, 0,0,|
00000a50  30 2c 30 2c 30 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |0,0,0,0,0,0,0,0,|
00000a60  30 2c 30 2c 30 2c 30 2c  30 2c 30 0d 04 4c 14 f2  |0,0,0,0,0,0..L..|
00000a70  69 6e 69 74 5f 74 72 69  67 5f 74 61 62 6c 65 0d  |init_trig_table.|
00000a80  04 56 11 f2 63 61 6c 63  5f 6e 6f 72 6d 61 6c 73  |.V..calc_normals|
00000a90  0d 04 6a 08 f2 41 53 53  0d 04 74 12 48 58 3d 30  |..j..ASS..t.HX=0|
00000aa0  3a 48 59 3d 30 3a 48 5a  3d 30 0d 04 7e 12 52 58  |:HY=0:HZ=0..~.RX|
00000ab0  3d 30 3a 52 59 3d 30 3a  52 5a 3d 30 0d 04 88 07  |=0:RY=0:RZ=0....|
00000ac0  4d 3d 31 0d 04 92 0c 21  54 5a 44 3d 33 30 30 0d  |M=1....!TZD=300.|
00000ad0  04 9c 05 e1 0d 04 a6 04  0d 04 b0 16 dd 20 f2 69  |............. .i|
00000ae0  6e 69 74 5f 74 72 69 67  5f 74 61 62 6c 65 0d 04  |nit_trig_table..|
00000af0  ba 15 46 3d 32 2a af 2f  34 30 39 36 3a 56 3d 32  |..F=2*./4096:V=2|
00000b00  5e 31 35 0d 04 c4 14 de  20 43 53 54 41 42 4c 45  |^15..... CSTABLE|
00000b10  20 34 30 39 36 2a 38 0d  04 ce 10 e3 20 48 3d 30  | 4096*8..... H=0|
00000b20  20 b8 20 34 30 39 35 0d  04 d8 09 4b 3d 46 2a 48  | . 4095....K=F*H|
00000b30  0d 04 e2 18 43 53 54 41  42 4c 45 21 28 38 2a 48  |....CSTABLE!(8*H|
00000b40  29 3d 9b 28 4b 29 2a 56  0d 04 ec 1a 43 53 54 41  |)=.(K)*V....CSTA|
00000b50  42 4c 45 21 28 38 2a 48  2b 34 29 3d b5 28 4b 29  |BLE!(8*H+4)=.(K)|
00000b60  2a 56 0d 04 f6 05 ed 0d  05 00 05 e1 0d 05 0a 04  |*V..............|
00000b70  0d 05 14 13 dd 20 f2 63  61 6c 63 5f 6e 6f 72 6d  |..... .calc_norm|
00000b80  61 6c 73 0d 05 1e 16 de  20 4e 4f 52 4d 41 4c 53  |als..... NORMALS|
00000b90  20 28 4e 2b 35 29 2a 32  34 0d 05 28 0b f2 4e 4f  | (N+5)*24..(..NO|
00000ba0  52 4d 41 4c 0d 05 32 12  d6 20 43 41 4c 43 5f 4e  |RMAL..2.. CALC_N|
00000bb0  4f 52 4d 41 4c 53 0d 05  3c 05 e1 0d 06 0e 04 0d  |ORMALS..<.......|
00000bc0  06 18 04 0d 06 22 17 dd  20 f2 63 6f 6c 74 61 62  |.....".. .coltab|
00000bd0  6c 65 28 43 54 41 42 4c  45 29 0d 06 2c 0c 43 3d  |le(CTABLE)..,.C=|
00000be0  30 3a 4d 3d 31 35 0d 06  36 0d e3 20 4b 3d 30 20  |0:M=15..6.. K=0 |
00000bf0  b8 20 4d 0d 06 40 24 f2  70 75 74 28 43 2b 28 4b  |. M..@$.put(C+(K|
00000c00  20 80 20 25 31 31 30 30  29 2a 35 2e 32 35 2c 4b  | . %1100)*5.25,K|
00000c10  20 80 20 25 31 31 29 0d  06 4a 05 ed 0d 06 54 0d  | . %11)..J....T.|
00000c20  e3 20 54 3d 31 20 b8 20  33 0d 06 5e 13 43 3d 54  |. T=1 . 3..^.C=T|
00000c30  3a 4d 3d 34 2a 28 34 2d  54 29 2d 31 0d 06 68 0e  |:M=4*(4-T)-1..h.|
00000c40  f2 73 69 64 65 28 20 20  34 29 0d 06 72 0e f2 73  |.side(  4)..r..s|
00000c50  69 64 65 28 2d 20 31 29  0d 06 7c 0e f2 73 69 64  |ide(- 1)..|..sid|
00000c60  65 28 20 31 36 29 0d 06  86 0e f2 73 69 64 65 28  |e( 16).....side(|
00000c70  2d 20 34 29 0d 06 90 0e  f2 73 69 64 65 28 20 20  |- 4).....side(  |
00000c80  31 29 0d 06 9a 0e f2 73  69 64 65 28 2d 31 36 29  |1).....side(-16)|
00000c90  0d 06 a4 05 ed 0d 06 ae  05 e1 0d 06 b8 04 0d 06  |................|
00000ca0  c2 10 dd 20 f2 73 69 64  65 28 52 47 42 29 0d 06  |... .side(RGB)..|
00000cb0  cc 0d e3 20 49 3d 31 20  b8 20 54 0d 06 d6 0a c8  |... I=1 . T.....|
00000cc0  8e 20 4d 20 ca 0d 06 e0  07 c9 20 33 0d 06 ea 0d  |. M ...... 3....|
00000cd0  e3 20 4b 3d 30 20 b8 20  4d 0d 06 f4 24 f2 70 75  |. K=0 . M...$.pu|
00000ce0  74 28 43 2b 28 4b 20 80  20 25 31 31 30 30 29 2a  |t(C+(K . %1100)*|
00000cf0  35 2e 32 35 2c 4b 20 80  20 25 31 31 29 0d 06 fe  |5.25,K . %11)...|
00000d00  24 f2 70 75 74 28 43 2b  28 4b 20 80 20 25 31 31  |$.put(C+(K . %11|
00000d10  30 30 29 2a 35 2e 32 35  2c 4b 20 80 20 25 31 31  |00)*5.25,K . %11|
00000d20  29 0d 07 08 24 f2 70 75  74 28 43 2b 28 4b 20 80  |)...$.put(C+(K .|
00000d30  20 25 31 31 30 30 29 2a  35 2e 32 35 2c 4b 20 80  | %1100)*5.25,K .|
00000d40  20 25 31 31 29 0d 07 12  24 f2 70 75 74 28 43 2b  | %11)...$.put(C+|
00000d50  28 4b 20 80 20 25 31 31  30 30 29 2a 35 2e 32 35  |(K . %1100)*5.25|
00000d60  2c 4b 20 80 20 25 31 31  29 0d 07 1c 05 ed 0d 07  |,K . %11).......|
00000d70  26 07 c9 20 37 0d 07 30  0d e3 20 4b 3d 30 20 b8  |&.. 7..0.. K=0 .|
00000d80  20 4d 0d 07 3a 24 f2 70  75 74 28 43 2b 28 4b 20  | M..:$.put(C+(K |
00000d90  80 20 25 31 31 30 30 29  2a 35 2e 32 35 2c 4b 20  |. %1100)*5.25,K |
00000da0  80 20 25 31 31 29 0d 07  44 24 f2 70 75 74 28 43  |. %11)..D$.put(C|
00000db0  2b 28 4b 20 80 20 25 31  31 30 30 29 2a 35 2e 32  |+(K . %1100)*5.2|
00000dc0  35 2c 4b 20 80 20 25 31  31 29 0d 07 4e 05 ed 0d  |5,K . %11)..N...|
00000dd0  07 58 08 c9 20 31 31 0d  07 62 07 4b 3d 30 0d 07  |.X.. 11..b.K=0..|
00000de0  6c 24 f2 70 75 74 28 43  2b 28 4b 20 80 20 25 31  |l$.put(C+(K . %1|
00000df0  31 30 30 29 2a 35 2e 32  35 2c 4b 20 80 20 25 31  |100)*5.25,K . %1|
00000e00  31 29 0d 07 76 24 f2 70  75 74 28 43 2b 28 4b 20  |1)..v$.put(C+(K |
00000e10  80 20 25 31 31 30 30 29  2a 35 2e 32 35 2c 4b 20  |. %1100)*5.25,K |
00000e20  80 20 25 31 31 29 0d 07  80 0d e3 20 4b 3d 30 20  |. %11)..... K=0 |
00000e30  b8 20 4d 0d 07 8a 24 f2  70 75 74 28 43 2b 28 4b  |. M...$.put(C+(K|
00000e40  20 80 20 25 31 31 30 30  29 2a 35 2e 32 35 2c 4b  | . %1100)*5.25,K|
00000e50  20 80 20 25 31 31 29 0d  07 94 05 ed 0d 07 9e 07  | . %11).........|
00000e60  4b 3d 4d 0d 07 a8 24 f2  70 75 74 28 43 2b 28 4b  |K=M...$.put(C+(K|
00000e70  20 80 20 25 31 31 30 30  29 2a 35 2e 32 35 2c 4b  | . %1100)*5.25,K|
00000e80  20 80 20 25 31 31 29 0d  07 b2 24 f2 70 75 74 28  | . %11)...$.put(|
00000e90  43 2b 28 4b 20 80 20 25  31 31 30 30 29 2a 35 2e  |C+(K . %1100)*5.|
00000ea0  32 35 2c 4b 20 80 20 25  31 31 29 0d 07 bc 05 cb  |25,K . %11).....|
00000eb0  0d 07 c6 0a 43 2b 3d 52  47 42 0d 07 d0 05 ed 0d  |....C+=RGB......|
00000ec0  07 da 05 e1 0d 07 e4 04  0d 07 ee 0f dd 20 f2 70  |............. .p|
00000ed0  75 74 28 43 2c 54 29 0d  07 f8 11 42 31 3d 28 43  |ut(C,T)....B1=(C|
00000ee0  3e 3e 35 29 20 80 20 31  0d 08 02 11 42 32 3d 28  |>>5) . 1....B2=(|
00000ef0  43 3e 3e 34 29 20 80 20  31 0d 08 0c 11 47 31 3d  |C>>4) . 1....G1=|
00000f00  28 43 3e 3e 33 29 20 80  20 31 0d 08 16 11 47 32  |(C>>3) . 1....G2|
00000f10  3d 28 43 3e 3e 32 29 20  80 20 31 0d 08 20 11 52  |=(C>>2) . 1.. .R|
00000f20  31 3d 28 43 3e 3e 31 29  20 80 20 31 0d 08 2a 11  |1=(C>>1) . 1..*.|
00000f30  52 32 3d 28 43 3e 3e 30  29 20 80 20 31 0d 08 34  |R2=(C>>0) . 1..4|
00000f40  31 43 4f 4c 3d 54 2b 34  2a 28 52 32 2b 32 2a 28  |1COL=T+4*(R2+2*(|
00000f50  42 32 2b 32 2a 28 52 31  2b 32 2a 28 47 32 2b 32  |B2+2*(R1+2*(G2+2|
00000f60  2a 28 47 31 2b 32 2a 42  31 29 29 29 29 29 0d 08  |*(G1+2*B1)))))..|
00000f70  3e 0f 3f 43 54 41 42 4c  45 3d 43 4f 4c 0d 08 48  |>.?CTABLE=COL..H|
00000f80  0d 43 54 41 42 4c 45 2b  3d 31 0d 08 52 05 e1 0d  |.CTABLE+=1..R...|
00000f90  09 42 04 0d 09 4c 0b dd  20 f2 43 41 4c 43 0d 09  |.B...L.. .CALC..|
00000fa0  56 1b 21 48 58 44 3d 48  58 3a 21 48 59 44 3d 48  |V.!HXD=HX:!HYD=H|
00000fb0  59 3a 21 48 5a 44 3d 48  5a 0d 09 60 21 21 54 58  |Y:!HZD=HZ..`!!TX|
00000fc0  44 3d 28 58 2d 36 34 30  29 2f 34 3a 21 54 59 44  |D=(X-640)/4:!TYD|
00000fd0  3d 28 35 31 32 2d 59 29  2f 34 0d 09 6a 13 e7 20  |=(512-Y)/4..j.. |
00000fe0  42 3d 34 20 8c 20 21 54  5a 44 2b 3d 34 0d 09 74  |B=4 . !TZD+=4..t|
00000ff0  13 e7 20 42 3d 31 20 8c  20 21 54 5a 44 2d 3d 34  |.. B=1 . !TZD-=4|
00001000  0d 09 7e 16 21 54 58 44  3d 9b 28 48 58 2f 33 30  |..~.!TXD=.(HX/30|
00001010  30 29 2a 35 31 32 0d 09  88 16 21 54 59 44 3d 9b  |0)*512....!TYD=.|
00001020  28 48 59 2f 33 30 30 29  2a 35 31 32 0d 09 92 1a  |(HY/300)*512....|
00001030  21 54 5a 44 3d 28 9b 28  48 5a 2f 33 30 30 29 2b  |!TZD=(.(HZ/300)+|
00001040  32 29 2a 32 35 36 0d 09  9c 15 d6 20 43 41 4c 43  |2)*256..... CALC|
00001050  5f 52 4f 54 5f 4d 41 54  52 49 58 0d 09 a6 05 e1  |_ROT_MATRIX.....|
00001060  0d 09 b0 04 0d 09 ba 0d  dd 20 f2 4e 4f 52 4d 41  |......... .NORMA|
00001070  4c 0d 09 c4 0b ea 20 50  25 2c 51 25 0d 09 ce 0d  |L..... P%,Q%....|
00001080  de 20 51 25 20 32 30 30  30 0d 09 d8 14 e3 20 50  |. Q% 2000..... P|
00001090  41 53 53 3d 30 20 b8 20  32 20 88 20 32 0d 09 e2  |ASS=0 . 2 . 2...|
000010a0  09 50 25 3d 51 25 0d 09  ec 39 58 31 3d 30 3a 59  |.P%=Q%...9X1=0:Y|
000010b0  31 3d 31 3a 5a 31 3d 32  3a 58 32 3d 33 3a 59 32  |1=1:Z1=2:X2=3:Y2|
000010c0  3d 34 3a 5a 32 3d 35 3a  58 33 3d 36 3a 59 33 3d  |=4:Z2=5:X3=6:Y3=|
000010d0  37 3a 5a 33 3d 38 3a 54  3d 39 3a 55 3d 31 30 0d  |7:Z3=8:T=9:U=10.|
000010e0  09 f6 0d 5b 4f 50 54 20  50 41 53 53 0d 0a 00 0f  |...[OPT PASS....|
000010f0  2e 56 44 20 45 51 55 44  20 56 4c 0d 0a 0a 1d 2e  |.VD EQUD VL.....|
00001100  4b 44 20 45 51 55 44 20  30 2e 36 30 37 32 35 32  |KD EQUD 0.607252|
00001110  39 33 35 2a 32 5e 31 36  0d 0a 14 11 2e 43 41 4c  |935*2^16.....CAL|
00001120  43 5f 4e 4f 52 4d 41 4c  53 0d 0a 1e 20 20 20 20  |C_NORMALS...    |
00001130  20 20 20 20 20 20 20 53  54 4d 46 44 20 20 20 20  |       STMFD    |
00001140  20 31 33 21 2c 7b 31 34  7d 0d 0a 28 1c 20 20 20  | 13!,{14}..(.   |
00001150  20 20 20 20 20 20 20 4c  44 52 20 20 20 20 20 20  |       LDR      |
00001160  20 55 2c 56 44 0d 0a 32  0b 2e 4e 5f 4c 4f 4f 50  | U,VD..2..N_LOOP|
00001170  0d 0a 3c 20 20 20 20 20  20 20 20 20 20 20 4c 44  |..<           LD|
00001180  4d 49 41 20 20 20 20 20  28 55 29 21 2c 7b 54 7d  |MIA     (U)!,{T}|
00001190  0d 0a 3d 20 20 20 20 20  20 20 20 20 20 20 43 4d  |..=           CM|
000011a0  50 20 20 20 20 20 20 20  54 2c 23 31 3c 3c 33 30  |P       T,#1<<30|
000011b0  0d 0a 3e 20 20 20 20 20  20 20 20 20 20 20 4c 44  |..>           LD|
000011c0  4d 45 51 46 44 20 20 20  31 33 21 2c 7b 50 43 7d  |MEQFD   13!,{PC}|
000011d0  0d 0a 46 1f 20 20 20 20  20 20 20 20 20 20 53 55  |..F.          SU|
000011e0  42 20 20 20 20 20 20 20  54 2c 54 2c 23 31 32 0d  |B       T,T,#12.|
000011f0  0a 47 24 20 20 20 20 20  20 20 20 20 20 4c 44 4d  |.G$          LDM|
00001200  49 41 20 20 20 20 20 54  2c 7b 58 31 2c 59 31 2c  |IA     T,{X1,Y1,|
00001210  5a 31 7d 0d 0a 50 20 20  20 20 20 20 20 20 20 20  |Z1}..P          |
00001220  20 4c 44 4d 49 41 20 20  20 20 20 28 55 29 21 2c  | LDMIA     (U)!,|
00001230  7b 54 7d 0d 0a 51 20 20  20 20 20 20 20 20 20 20  |{T}..Q          |
00001240  20 43 4d 50 20 20 20 20  20 20 20 54 2c 23 31 3c  | CMP       T,#1<|
00001250  3c 33 30 0d 0a 52 20 20  20 20 20 20 20 20 20 20  |<30..R          |
00001260  20 4c 44 4d 45 51 46 44  20 20 20 31 33 21 2c 7b  | LDMEQFD   13!,{|
00001270  50 43 7d 0d 0a 5a 1f 20  20 20 20 20 20 20 20 20  |PC}..Z.         |
00001280  20 53 55 42 20 20 20 20  20 20 20 54 2c 54 2c 23  | SUB       T,T,#|
00001290  31 32 0d 0a 5b 24 20 20  20 20 20 20 20 20 20 20  |12..[$          |
000012a0  4c 44 4d 49 41 20 20 20  20 20 54 2c 7b 58 32 2c  |LDMIA     T,{X2,|
000012b0  59 32 2c 5a 32 7d 0d 0a  64 20 20 20 20 20 20 20  |Y2,Z2}..d       |
000012c0  20 20 20 20 4c 44 4d 49  41 20 20 20 20 20 28 55  |    LDMIA     (U|
000012d0  29 21 2c 7b 54 7d 0d 0a  65 20 20 20 20 20 20 20  |)!,{T}..e       |
000012e0  20 20 20 20 43 4d 50 20  20 20 20 20 20 20 54 2c  |    CMP       T,|
000012f0  23 31 3c 3c 33 30 0d 0a  66 20 20 20 20 20 20 20  |#1<<30..f       |
00001300  20 20 20 20 4c 44 4d 45  51 46 44 20 20 20 31 33  |    LDMEQFD   13|
00001310  21 2c 7b 50 43 7d 0d 0a  6e 1f 20 20 20 20 20 20  |!,{PC}..n.      |
00001320  20 20 20 20 53 55 42 20  20 20 20 20 20 20 54 2c  |    SUB       T,|
00001330  54 2c 23 31 32 0d 0a 6f  24 20 20 20 20 20 20 20  |T,#12..o$       |
00001340  20 20 20 4c 44 4d 49 41  20 20 20 20 20 54 2c 7b  |   LDMIA     T,{|
00001350  58 33 2c 59 33 2c 5a 33  7d 0d 0a 78 1d 20 20 20  |X3,Y3,Z3}..x.   |
00001360  20 20 20 20 20 20 20 43  4d 50 20 20 20 20 20 20  |       CMP      |
00001370  20 58 31 2c 59 32 0d 0a  79 1d 20 20 20 20 20 20  | X1,Y2..y.      |
00001380  20 20 20 20 43 4d 50 45  51 20 20 20 20 20 59 31  |    CMPEQ     Y1|
00001390  2c 59 32 0d 0a 7a 1d 20  20 20 20 20 20 20 20 20  |,Y2..z.         |
000013a0  20 43 4d 50 45 51 20 20  20 20 20 5a 31 2c 5a 32  | CMPEQ     Z1,Z2|
000013b0  0d 0a 7b 1c 20 20 20 20  20 20 20 20 20 20 42 4e  |..{.          BN|
000013c0  45 20 20 20 20 20 20 20  6f 76 72 31 0d 0a 82 20  |E       ovr1... |
000013d0  20 20 20 20 20 20 20 20  20 20 4c 44 4d 49 41 20  |          LDMIA |
000013e0  20 20 20 20 28 55 29 20  2c 7b 54 7d 0d 0a 83 20  |    (U) ,{T}... |
000013f0  20 20 20 20 20 20 20 20  20 20 43 4d 50 20 20 20  |          CMP   |
00001400  20 20 20 20 54 2c 23 31  3c 3c 33 30 0d 0a 84 20  |    T,#1<<30... |
00001410  20 20 20 20 20 20 20 20  20 20 4c 44 4d 45 51 46  |          LDMEQF|
00001420  44 20 20 20 31 33 21 2c  7b 50 43 7d 0d 0a 8c 1f  |D   13!,{PC}....|
00001430  20 20 20 20 20 20 20 20  20 20 53 55 42 20 20 20  |          SUB   |
00001440  20 20 20 20 54 2c 54 2c  23 31 32 0d 0a 8d 24 20  |    T,T,#12...$ |
00001450  20 20 20 20 20 20 20 20  20 4c 44 4d 49 41 20 20  |         LDMIA  |
00001460  20 20 20 54 2c 7b 58 32  2c 59 32 2c 5a 32 7d 0d  |   T,{X2,Y2,Z2}.|
00001470  0a 96 09 2e 6f 76 72 31  0d 0a a0 18 20 20 20 20  |....ovr1....    |
00001480  20 20 20 20 20 20 41 44  44 20 55 2c 55 2c 23 34  |      ADD U,U,#4|
00001490  0d 0a aa 04 0d 0a b4 1a  20 20 20 20 20 20 20 20  |........        |
000014a0  20 20 53 55 42 20 58 32  2c 58 32 2c 58 31 0d 0a  |  SUB X2,X2,X1..|
000014b0  b5 1a 20 20 20 20 20 20  20 20 20 20 53 55 42 20  |..          SUB |
000014c0  59 32 2c 59 32 2c 59 31  0d 0a b6 1a 20 20 20 20  |Y2,Y2,Y1....    |
000014d0  20 20 20 20 20 20 53 55  42 20 5a 32 2c 5a 32 2c  |      SUB Z2,Z2,|
000014e0  5a 31 0d 0a be 1a 20 20  20 20 20 20 20 20 20 20  |Z1....          |
000014f0  53 55 42 20 58 33 2c 58  33 2c 58 31 0d 0a bf 1a  |SUB X3,X3,X1....|
00001500  20 20 20 20 20 20 20 20  20 20 53 55 42 20 59 33  |          SUB Y3|
00001510  2c 59 33 2c 59 31 0d 0a  c0 1a 20 20 20 20 20 20  |,Y3,Y1....      |
00001520  20 20 20 20 53 55 42 20  5a 33 2c 5a 33 2c 5a 31  |    SUB Z3,Z3,Z1|
00001530  0d 0a c8 1a 20 20 20 20  20 20 20 20 20 20 4d 55  |....          MU|
00001540  4c 20 58 31 2c 59 32 2c  5a 33 0d 0a c9 19 20 20  |L X1,Y2,Z3....  |
00001550  20 20 20 20 20 20 20 20  4d 55 4c 20 54 2c 5a 32  |        MUL T,Z2|
00001560  2c 59 33 0d 0a ca 19 20  20 20 20 20 20 20 20 20  |,Y3....         |
00001570  20 53 55 42 20 58 31 2c  58 31 2c 54 0d 0a d2 1a  | SUB X1,X1,T....|
00001580  20 20 20 20 20 20 20 20  20 20 4d 55 4c 20 59 31  |          MUL Y1|
00001590  2c 5a 32 2c 58 33 0d 0a  d3 19 20 20 20 20 20 20  |,Z2,X3....      |
000015a0  20 20 20 20 4d 55 4c 20  54 2c 58 32 2c 5a 33 0d  |    MUL T,X2,Z3.|
000015b0  0a d4 19 20 20 20 20 20  20 20 20 20 20 53 55 42  |...          SUB|
000015c0  20 59 31 2c 59 31 2c 54  0d 0a dc 1a 20 20 20 20  | Y1,Y1,T....    |
000015d0  20 20 20 20 20 20 4d 55  4c 20 5a 31 2c 58 32 2c  |      MUL Z1,X2,|
000015e0  59 33 0d 0a dd 19 20 20  20 20 20 20 20 20 20 20  |Y3....          |
000015f0  4d 55 4c 20 54 2c 59 32  2c 58 33 0d 0a de 19 20  |MUL T,Y2,X3.... |
00001600  20 20 20 20 20 20 20 20  20 53 55 42 20 5a 31 2c  |         SUB Z1,|
00001610  5a 31 2c 54 0d 0a e6 04  0d 0a f0 05 5d 0d 0a fa  |Z1,T........]...|
00001620  1f 58 3d 30 3a 59 3d 31  3a 5a 3d 32 3a 49 3d 33  |.X=0:Y=1:Z=2:I=3|
00001630  3a 54 3d 39 3a 4e 3d 35  3a 51 3d 36 0d 0b 04 0d  |:T=9:N=5:Q=6....|
00001640  5b 4f 50 54 20 50 41 53  53 0d 0b 0e 09 2e 4e 4f  |[OPT PASS.....NO|
00001650  52 4d 0d 0b 18 1b 20 20  20 20 20 20 20 20 20 20  |RM....          |
00001660  4d 4f 56 53 20 20 20 20  20 20 58 2c 58 0d 0b 19  |MOVS      X,X...|
00001670  1e 20 20 20 20 20 20 20  20 20 20 52 53 42 4d 49  |.          RSBMI|
00001680  20 20 20 20 20 58 2c 58  2c 23 30 0d 0b 22 1b 20  |     X,X,#0..". |
00001690  20 20 20 20 20 20 20 20  20 4d 4f 56 53 20 20 20  |         MOVS   |
000016a0  20 20 20 59 2c 59 0d 0b  23 1e 20 20 20 20 20 20  |   Y,Y..#.      |
000016b0  20 20 20 20 52 53 42 4d  49 20 20 20 20 20 59 2c  |    RSBMI     Y,|
000016c0  59 2c 23 30 0d 0b 2c 1b  20 20 20 20 20 20 20 20  |Y,#0..,.        |
000016d0  20 20 4d 4f 56 53 20 20  20 20 20 20 5a 2c 5a 0d  |  MOVS      Z,Z.|
000016e0  0b 2d 1e 20 20 20 20 20  20 20 20 20 20 52 53 42  |.-.          RSB|
000016f0  4d 49 20 20 20 20 20 5a  2c 5a 2c 23 30 0d 0b 36  |MI     Z,Z,#0..6|
00001700  1c 20 20 20 20 20 20 20  20 20 20 4d 4f 56 20 20  |.          MOV  |
00001710  20 20 20 20 20 49 2c 23  30 0d 0b 40 0a 2e 4c 4f  |     I,#0..@..LO|
00001720  4f 50 31 0d 0b 4a 1c 20  20 20 20 20 20 20 20 20  |OP1..J.         |
00001730  20 43 4d 50 20 20 20 20  20 20 20 59 2c 23 30 0d  | CMP       Y,#0.|
00001740  0b 54 23 20 20 20 20 20  20 20 20 20 20 41 44 44  |.T#          ADD|
00001750  50 4c 20 20 20 20 20 54  2c 58 2c 59 2c 41 53 52  |PL     T,X,Y,ASR|
00001760  20 49 0d 0b 5e 23 20 20  20 20 20 20 20 20 20 20  | I..^#          |
00001770  53 55 42 4d 49 20 20 20  20 20 54 2c 58 2c 59 2c  |SUBMI     T,X,Y,|
00001780  41 53 52 20 49 0d 0b 68  23 20 20 20 20 20 20 20  |ASR I..h#       |
00001790  20 20 20 53 55 42 50 4c  20 20 20 20 20 59 2c 59  |   SUBPL     Y,Y|
000017a0  2c 58 2c 41 53 52 20 49  0d 0b 72 23 20 20 20 20  |,X,ASR I..r#    |
000017b0  20 20 20 20 20 20 41 44  44 4d 49 20 20 20 20 20  |      ADDMI     |
000017c0  59 2c 59 2c 58 2c 41 53  52 20 49 0d 0b 7c 1b 20  |Y,Y,X,ASR I..|. |
000017d0  20 20 20 20 20 20 20 20  20 4d 4f 56 20 20 20 20  |         MOV    |
000017e0  20 20 20 58 2c 54 0d 0b  86 1e 20 20 20 20 20 20  |   X,T....      |
000017f0  20 20 20 20 41 44 44 20  20 20 20 20 20 20 49 2c  |    ADD       I,|
00001800  49 2c 23 31 0d 0b 90 1d  20 20 20 20 20 20 20 20  |I,#1....        |
00001810  20 20 43 4d 50 20 20 20  20 20 20 20 49 2c 23 31  |  CMP       I,#1|
00001820  36 0d 0b 9a 1d 20 20 20  20 20 20 20 20 20 20 42  |6....          B|
00001830  4e 45 20 20 20 20 20 20  20 4c 4f 4f 50 31 0d 0b  |NE       LOOP1..|
00001840  a4 1c 20 20 20 20 20 20  20 20 20 20 4c 44 52 20  |..          LDR |
00001850  20 20 20 20 20 20 54 2c  4b 44 0d 0b ae 1d 20 20  |      T,KD....  |
00001860  20 20 20 20 20 20 20 20  4d 55 4c 20 20 20 20 20  |        MUL     |
00001870  20 20 54 2c 58 2c 54 0d  0b b8 23 20 20 20 20 20  |  T,X,T...#     |
00001880  20 20 20 20 20 4d 4f 56  20 20 20 20 20 20 20 54  |     MOV       T|
00001890  2c 54 2c 4c 53 52 20 23  31 36 0d 0b c2 23 20 20  |,T,LSR #16...#  |
000018a0  20 20 20 20 20 20 20 20  4d 4f 56 20 20 20 20 20  |        MOV     |
000018b0  20 20 58 2c 54 3a 4d 4f  56 20 59 2c 5a 0d 0b cc  |  X,T:MOV Y,Z...|
000018c0  1c 20 20 20 20 20 20 20  20 20 20 4d 4f 56 20 20  |.          MOV  |
000018d0  20 20 20 20 20 49 2c 23  30 0d 0b d6 0a 2e 4c 4f  |     I,#0.....LO|
000018e0  4f 50 32 0d 0b e0 1c 20  20 20 20 20 20 20 20 20  |OP2....         |
000018f0  20 43 4d 50 20 20 20 20  20 20 20 59 2c 23 30 0d  | CMP       Y,#0.|
00001900  0b ea 23 20 20 20 20 20  20 20 20 20 20 41 44 44  |..#          ADD|
00001910  50 4c 20 20 20 20 20 54  2c 58 2c 59 2c 41 53 52  |PL     T,X,Y,ASR|
00001920  20 49 0d 0b f4 23 20 20  20 20 20 20 20 20 20 20  | I...#          |
00001930  53 55 42 4d 49 20 20 20  20 20 54 2c 58 2c 59 2c  |SUBMI     T,X,Y,|
00001940  41 53 52 20 49 0d 0b fe  23 20 20 20 20 20 20 20  |ASR I...#       |
00001950  20 20 20 53 55 42 50 4c  20 20 20 20 20 59 2c 59  |   SUBPL     Y,Y|
00001960  2c 58 2c 41 53 52 20 49  0d 0c 08 23 20 20 20 20  |,X,ASR I...#    |
00001970  20 20 20 20 20 20 41 44  44 4d 49 20 20 20 20 20  |      ADDMI     |
00001980  59 2c 59 2c 58 2c 41 53  52 20 49 0d 0c 12 1b 20  |Y,Y,X,ASR I.... |
00001990  20 20 20 20 20 20 20 20  20 4d 4f 56 20 20 20 20  |         MOV    |
000019a0  20 20 20 58 2c 54 0d 0c  1c 1e 20 20 20 20 20 20  |   X,T....      |
000019b0  20 20 20 20 41 44 44 20  20 20 20 20 20 20 49 2c  |    ADD       I,|
000019c0  49 2c 23 31 0d 0c 26 1d  20 20 20 20 20 20 20 20  |I,#1..&.        |
000019d0  20 20 43 4d 50 20 20 20  20 20 20 20 49 2c 23 31  |  CMP       I,#1|
000019e0  36 0d 0c 30 1d 20 20 20  20 20 20 20 20 20 20 42  |6..0.          B|
000019f0  4e 45 20 20 20 20 20 20  20 4c 4f 4f 50 32 0d 0c  |NE       LOOP2..|
00001a00  3a 1c 20 20 20 20 20 20  20 20 20 20 4c 44 52 20  |:.          LDR |
00001a10  20 20 20 20 20 20 54 2c  4b 44 0d 0c 44 1d 20 20  |      T,KD..D.  |
00001a20  20 20 20 20 20 20 20 20  4d 55 4c 20 20 20 20 20  |        MUL     |
00001a30  20 20 54 2c 58 2c 54 0d  0c 4e 23 20 20 20 20 20  |  T,X,T..N#     |
00001a40  20 20 20 20 20 4d 4f 56  20 20 20 20 20 20 20 54  |     MOV       T|
00001a50  2c 54 2c 4c 53 52 20 23  31 36 0d 0c 58 05 5d 0d  |,T,LSR #16..X.].|
00001a60  0c 62 04 0d 0c 6c 0d 5b  4f 50 54 20 50 41 53 53  |.b...l.[OPT PASS|
00001a70  0d 0c 76 09 2e 44 45 45  4c 0d 0c 80 1b 20 20 20  |..v..DEEL....   |
00001a80  20 20 20 20 20 20 20 4d  4f 56 20 20 20 20 20 20  |       MOV      |
00001a90  20 4e 2c 54 0d 0c 8a 20  20 20 20 20 20 20 20 20  | N,T...         |
00001aa0  20 20 4d 4f 56 20 20 20  20 20 20 20 54 2c 23 31  |  MOV       T,#1|
00001ab0  3c 3c 32 31 0d 0c 94 1c  20 20 20 20 20 20 20 20  |<<21....        |
00001ac0  20 20 4d 4f 56 20 20 20  20 20 20 20 51 2c 23 30  |  MOV       Q,#0|
00001ad0  0d 0c 9e 1d 20 20 20 20  20 20 20 20 20 20 4d 4f  |....          MO|
00001ae0  56 20 20 20 20 20 20 20  49 2c 23 31 36 0d 0c a8  |V       I,#16...|
00001af0  0a 2e 44 4c 4f 4f 50 0d  0c b2 21 20 20 20 20 20  |..DLOOP...!     |
00001b00  20 20 20 20 20 43 4d 50  20 20 20 20 20 20 20 54  |     CMP       T|
00001b10  2c 4e 2c 4c 53 4c 20 49  0d 0c bc 23 20 20 20 20  |,N,LSL I...#    |
00001b20  20 20 20 20 20 20 53 55  42 48 53 20 20 20 20 20  |      SUBHS     |
00001b30  54 2c 54 2c 4e 2c 4c 53  4c 20 49 0d 0c c6 1d 20  |T,T,N,LSL I.... |
00001b40  20 20 20 20 20 20 20 20  20 41 44 43 20 20 20 20  |         ADC    |
00001b50  20 20 20 51 2c 51 2c 51  0d 0c d0 1e 20 20 20 20  |   Q,Q,Q....    |
00001b60  20 20 20 20 20 20 53 55  42 53 20 20 20 20 20 20  |      SUBS      |
00001b70  49 2c 49 2c 23 31 0d 0c  da 1d 20 20 20 20 20 20  |I,I,#1....      |
00001b80  20 20 20 20 42 50 4c 20  20 20 20 20 20 20 44 4c  |    BPL       DL|
00001b90  4f 4f 50 0d 0c e4 05 5d  0d 0c ee 04 0d 0c f8 0d  |OOP....]........|
00001ba0  5b 4f 50 54 20 50 41 53  53 0d 0d 02 09 2e 5a 45  |[OPT PASS.....ZE|
00001bb0  52 4f 0d 0d 0c 20 20 20  20 20 20 20 20 20 20 20  |RO...           |
00001bc0  53 54 4d 49 41 20 20 20  20 20 28 55 29 21 2c 7b  |STMIA     (U)!,{|
00001bd0  51 7d 0d 0d 16 1e 20 20  20 20 20 20 20 20 20 20  |Q}....          |
00001be0  41 44 44 20 20 20 20 20  20 20 55 2c 55 2c 23 34  |ADD       U,U,#4|
00001bf0  0d 0d 20 1e 20 20 20 20  20 20 20 20 20 20 42 41  |.. .          BA|
00001c00  4c 20 20 20 20 20 20 20  4e 5f 4c 4f 4f 50 0d 0d  |L       N_LOOP..|
00001c10  2a 05 5d 0d 0d 34 05 ed  0d 0d 3e 05 e1 0d 0d 48  |*.]..4....>....H|
00001c20  04 0d 0d 52 0a dd 20 f2  41 53 53 0d 0d 5c 0b ea  |...R.. .ASS..\..|
00001c30  20 50 25 2c 51 25 0d 0d  66 0f de 20 51 25 20 31  | P%,Q%..f.. Q% 1|
00001c40  32 30 30 30 30 0d 0d 70  17 de 20 44 49 54 41 42  |20000..p.. DITAB|
00001c50  4c 45 20 32 30 30 30 2a  31 36 2a 34 0d 0d 71 04  |LE 2000*16*4..q.|
00001c60  0d 0d ac 14 e3 20 50 41  53 53 3d 30 20 b8 20 32  |..... PASS=0 . 2|
00001c70  20 88 20 32 0d 0d c0 0f  43 48 58 3d 30 3a 53 48  | . 2....CHX=0:SH|
00001c80  58 3d 31 0d 0d ca 0f 43  48 59 3d 32 3a 53 48 59  |X=1....CHY=2:SHY|
00001c90  3d 33 0d 0d d4 0f 43 48  5a 3d 34 3a 53 48 5a 3d  |=3....CHZ=4:SHZ=|
00001ca0  35 0d 0d de 0f 54 3d 36  3a 53 3d 37 3a 48 3d 38  |5....T=6:S=7:H=8|
00001cb0  0d 0d e8 14 48 58 3d 39  3a 48 59 3d 31 30 3a 48  |....HX=9:HY=10:H|
00001cc0  5a 3d 31 31 0d 0d f2 14  54 58 3d 39 3a 54 59 3d  |Z=11....TX=9:TY=|
00001cd0  31 30 3a 54 5a 3d 31 31  0d 0d fc 09 43 53 3d 31  |10:TZ=11....CS=1|
00001ce0  32 0d 0e 10 0f 53 43 52  3d 30 3a 43 4f 4c 3d 31  |2....SCR=0:COL=1|
00001cf0  0d 0e 1a 09 50 25 3d 51  25 0d 0e 24 0c 5b 4f 50  |....P%=Q%..$.[OP|
00001d00  54 50 41 53 53 0d 0e 2e  27 2e 48 58 44 20 45 51  |TPASS...'.HXD EQ|
00001d10  55 44 20 30 3a 2e 48 59  44 20 45 51 55 44 20 30  |UD 0:.HYD EQUD 0|
00001d20  3a 2e 48 5a 44 20 45 51  55 44 20 30 0d 0e 38 15  |:.HZD EQUD 0..8.|
00001d30  2e 43 53 44 20 45 51 55  44 20 43 53 54 41 42 4c  |.CSD EQUD CSTABL|
00001d40  45 0d 0e 42 27 2e 54 58  44 20 45 51 55 44 20 30  |E..B'.TXD EQUD 0|
00001d50  3a 2e 54 59 44 20 45 51  55 44 20 30 3a 2e 54 5a  |:.TYD EQUD 0:.TZ|
00001d60  44 20 45 51 55 44 20 30  0d 0e 4c 04 0d 0e 56 14  |D EQUD 0..L...V.|
00001d70  2e 43 41 4c 43 5f 52 4f  54 5f 4d 41 54 52 49 58  |.CALC_ROT_MATRIX|
00001d80  0d 0e 60 23 41 44 52 20  54 2c 48 58 44 3a 4c 44  |..`#ADR T,HXD:LD|
00001d90  4d 49 41 20 54 2c 7b 48  58 2c 48 59 2c 48 5a 2c  |MIA T,{HX,HY,HZ,|
00001da0  43 53 7d 0d 0e 6a 1a 4d  4f 56 20 53 2c 23 34 30  |CS}..j.MOV S,#40|
00001db0  39 36 3a 53 55 42 20 53  2c 53 2c 23 31 0d 0e 74  |96:SUB S,S,#1..t|
00001dc0  39 43 4d 50 20 48 58 2c  23 30 3a 52 53 42 4d 49  |9CMP HX,#0:RSBMI|
00001dd0  20 48 58 2c 48 58 2c 23  30 3a 80 20 48 58 2c 48  | HX,HX,#0:. HX,H|
00001de0  58 2c 53 3a 41 44 44 20  54 2c 43 53 2c 48 58 2c  |X,S:ADD T,CS,HX,|
00001df0  4c 53 4c 20 23 33 0d 0e  7e 26 4c 44 4d 49 41 20  |LSL #3..~&LDMIA |
00001e00  54 2c 7b 43 48 58 2c 53  48 58 7d 3a 52 53 42 4d  |T,{CHX,SHX}:RSBM|
00001e10  49 20 53 48 58 2c 53 48  58 2c 23 30 0d 0e 88 39  |I SHX,SHX,#0...9|
00001e20  43 4d 50 20 48 59 2c 23  30 3a 52 53 42 4d 49 20  |CMP HY,#0:RSBMI |
00001e30  48 59 2c 48 59 2c 23 30  3a 80 20 48 59 2c 48 59  |HY,HY,#0:. HY,HY|
00001e40  2c 53 3a 41 44 44 20 54  2c 43 53 2c 48 59 2c 4c  |,S:ADD T,CS,HY,L|
00001e50  53 4c 20 23 33 0d 0e 92  26 4c 44 4d 49 41 20 54  |SL #3...&LDMIA T|
00001e60  2c 7b 43 48 59 2c 53 48  59 7d 3a 52 53 42 4d 49  |,{CHY,SHY}:RSBMI|
00001e70  20 53 48 59 2c 53 48 59  2c 23 30 0d 0e 9c 39 43  | SHY,SHY,#0...9C|
00001e80  4d 50 20 48 5a 2c 23 30  3a 52 53 42 4d 49 20 48  |MP HZ,#0:RSBMI H|
00001e90  5a 2c 48 5a 2c 23 30 3a  80 20 48 5a 2c 48 5a 2c  |Z,HZ,#0:. HZ,HZ,|
00001ea0  53 3a 41 44 44 20 54 2c  43 53 2c 48 5a 2c 4c 53  |S:ADD T,CS,HZ,LS|
00001eb0  4c 20 23 33 0d 0e a6 26  4c 44 4d 49 41 20 54 2c  |L #3...&LDMIA T,|
00001ec0  7b 43 48 5a 2c 53 48 5a  7d 3a 52 53 42 4d 49 20  |{CHZ,SHZ}:RSBMI |
00001ed0  53 48 5a 2c 53 48 5a 2c  23 30 0d 0e b0 20 41 44  |SHZ,SHZ,#0... AD|
00001ee0  52 20 54 2c 54 58 44 3a  4c 44 4d 49 41 20 54 2c  |R T,TXD:LDMIA T,|
00001ef0  7b 54 58 2c 54 59 2c 54  5a 7d 0d 0e ba 21 4d 55  |{TX,TY,TZ}...!MU|
00001f00  4c 20 54 2c 43 48 59 2c  43 48 5a 3a 4d 4f 56 20  |L T,CHY,CHZ:MOV |
00001f10  54 2c 54 2c 41 53 52 20  23 31 35 0d 0e c4 21 4d  |T,T,ASR #15...!M|
00001f20  55 4c 20 53 2c 43 48 59  2c 53 48 5a 3a 4d 4f 56  |UL S,CHY,SHZ:MOV|
00001f30  20 53 2c 53 2c 4c 53 52  20 23 31 35 0d 0e ce 1f  | S,S,LSR #15....|
00001f40  41 44 44 20 54 2c 53 2c  54 2c 4c 53 4c 20 23 31  |ADD T,S,T,LSL #1|
00001f50  36 3a 53 54 52 20 54 2c  41 31 44 0d 0e d8 22 41  |6:STR T,A1D..."A|
00001f60  44 44 20 54 2c 54 58 2c  53 48 59 2c 4c 53 4c 20  |DD T,TX,SHY,LSL |
00001f70  23 31 36 3a 53 54 52 20  54 2c 41 32 44 0d 0e e2  |#16:STR T,A2D...|
00001f80  29 4d 55 4c 20 54 2c 53  48 58 2c 53 48 59 3a 4d  |)MUL T,SHX,SHY:M|
00001f90  4f 56 20 54 2c 54 2c 41  53 52 20 23 31 35 3a 4d  |OV T,T,ASR #15:M|
00001fa0  4f 56 20 53 2c 54 0d 0e  ec 3a 4d 55 4c 20 48 2c  |OV S,T...:MUL H,|
00001fb0  43 48 58 2c 53 48 5a 3a  4d 4c 41 20 54 2c 43 48  |CHX,SHZ:MLA T,CH|
00001fc0  5a 2c 54 2c 48 3a 52 53  42 20 54 2c 54 2c 23 30  |Z,T,H:RSB T,T,#0|
00001fd0  3a 4d 4f 56 20 54 2c 54  2c 41 53 52 20 23 31 35  |:MOV T,T,ASR #15|
00001fe0  0d 0e f6 37 4d 55 4c 20  48 2c 43 48 58 2c 43 48  |...7MUL H,CHX,CH|
00001ff0  5a 3a 4d 55 4c 20 53 2c  53 48 5a 2c 53 3a 53 55  |Z:MUL S,SHZ,S:SU|
00002000  42 20 53 2c 48 2c 53 3a  4d 4f 56 20 53 2c 53 2c  |B S,H,S:MOV S,S,|
00002010  4c 53 52 20 23 31 35 0d  0f 00 1f 41 44 44 20 54  |LSR #15....ADD T|
00002020  2c 53 2c 54 2c 4c 53 4c  20 23 31 36 3a 53 54 52  |,S,T,LSL #16:STR|
00002030  20 54 2c 42 31 44 0d 0f  0a 21 4d 55 4c 20 54 2c  | T,B1D...!MUL T,|
00002040  53 48 58 2c 43 48 59 3a  4d 4f 56 20 54 2c 54 2c  |SHX,CHY:MOV T,T,|
00002050  41 53 52 20 23 31 35 0d  0f 14 20 41 44 44 20 54  |ASR #15... ADD T|
00002060  2c 54 59 2c 54 2c 4c 53  4c 20 23 31 36 3a 53 54  |,TY,T,LSL #16:ST|
00002070  52 20 54 2c 42 32 44 0d  0f 1e 29 4d 55 4c 20 54  |R T,B2D...)MUL T|
00002080  2c 43 48 58 2c 53 48 59  3a 4d 4f 56 20 54 2c 54  |,CHX,SHY:MOV T,T|
00002090  2c 41 53 52 20 23 31 35  3a 4d 4f 56 20 53 2c 54  |,ASR #15:MOV S,T|
000020a0  0d 0f 28 37 4d 55 4c 20  54 2c 43 48 5a 2c 54 3a  |..(7MUL T,CHZ,T:|
000020b0  4d 55 4c 20 48 2c 53 48  58 2c 53 48 5a 3a 53 55  |MUL H,SHX,SHZ:SU|
000020c0  42 20 54 2c 48 2c 54 3a  4d 4f 56 20 54 2c 54 2c  |B T,H,T:MOV T,T,|
000020d0  41 53 52 20 23 31 35 0d  0f 32 3a 4d 55 4c 20 53  |ASR #15..2:MUL S|
000020e0  2c 53 48 5a 2c 53 3a 4d  4c 41 20 48 2c 53 48 58  |,SHZ,S:MLA H,SHX|
000020f0  2c 43 48 5a 2c 53 3a 52  53 42 20 53 2c 48 2c 23  |,CHZ,S:RSB S,H,#|
00002100  30 3a 4d 4f 56 20 53 2c  53 2c 4c 53 52 20 23 31  |0:MOV S,S,LSR #1|
00002110  35 0d 0f 3c 1f 41 44 44  20 54 2c 53 2c 54 2c 4c  |5..<.ADD T,S,T,L|
00002120  53 4c 20 23 31 36 3a 53  54 52 20 54 2c 43 31 44  |SL #16:STR T,C1D|
00002130  0d 0f 46 21 4d 55 4c 20  54 2c 43 48 58 2c 43 48  |..F!MUL T,CHX,CH|
00002140  59 3a 4d 4f 56 20 54 2c  54 2c 41 53 52 20 23 31  |Y:MOV T,T,ASR #1|
00002150  35 0d 0f 50 20 41 44 44  20 54 2c 54 5a 2c 54 2c  |5..P ADD T,TZ,T,|
00002160  4c 53 4c 20 23 31 36 3a  53 54 52 20 54 2c 43 32  |LSL #16:STR T,C2|
00002170  44 0d 0f 5a 0e 4d 4f 56  20 50 43 2c 52 31 34 0d  |D..Z.MOV PC,R14.|
00002180  0f 64 05 5d 0d 0f 6e 04  0d 0f 78 1d 54 3d 30 3a  |.d.]..n...x.T=0:|
00002190  4e 3d 31 3a 51 3d 32 3a  49 3d 33 3a 4a 3d 34 3a  |N=1:Q=2:I=3:J=4:|
000021a0  44 49 54 3d 35 0d 0f 82  0d 5b 4f 50 54 20 50 41  |DIT=5....[OPT PA|
000021b0  53 53 0d 0f 8c 16 2e 44  4e 52 44 20 45 51 55 44  |SS.....DNRD EQUD|
000021c0  20 32 30 30 30 2a 31 36  0d 0f 96 12 2e 43 41 4c  | 2000*16.....CAL|
000021d0  43 5f 44 49 56 54 41 42  4c 45 0d 0f a0 10 4c 44  |C_DIVTABLE....LD|
000021e0  52 20 44 49 54 2c 44 49  54 44 0d 0f aa 0e 4c 44  |R DIT,DITD....LD|
000021f0  52 20 49 2c 44 4e 52 44  0d 0f b4 0c 2e 44 56 4c  |R I,DNRD.....DVL|
00002200  4f 4f 50 32 0d 0f be 12  4d 4f 56 20 54 2c 23 31  |OOP2....MOV T,#1|
00002210  30 30 3c 3c 31 36 0d 0f  c8 0b 4d 4f 56 20 4e 2c  |00<<16....MOV N,|
00002220  49 0d 0f d2 0c 4d 4f 56  20 4a 2c 23 30 0d 0f dc  |I....MOV J,#0...|
00002230  0c 4d 4f 56 20 51 2c 23  30 0d 0f e6 0c 2e 44 56  |.MOV Q,#0.....DV|
00002240  4c 4f 4f 50 33 0d 0f f0  0b 43 4d 50 20 4e 2c 54  |LOOP3....CMP N,T|
00002250  0d 0f fa 14 4d 4f 56 4c  4f 20 4e 2c 4e 2c 4c 53  |....MOVLO N,N,LS|
00002260  4c 20 23 31 0d 10 04 10  41 44 44 4c 4f 20 4a 2c  |L #1....ADDLO J,|
00002270  4a 2c 23 31 0d 10 0e 0f  42 4c 4f 20 44 56 4c 4f  |J,#1....BLO DVLO|
00002280  4f 50 33 0d 10 18 11 4d  4f 56 20 4e 2c 4e 2c 4c  |OP3....MOV N,N,L|
00002290  53 52 20 4a 0d 10 22 0c  2e 44 56 4c 4f 4f 50 31  |SR J.."..DVLOOP1|
000022a0  0d 10 2c 11 43 4d 50 20  54 2c 4e 2c 4c 53 4c 20  |..,.CMP T,N,LSL |
000022b0  4a 0d 10 36 15 53 55 42  48 53 20 54 2c 54 2c 4e  |J..6.SUBHS T,T,N|
000022c0  2c 4c 53 4c 20 4a 0d 10  40 0d 41 44 43 20 51 2c  |,LSL J..@.ADC Q,|
000022d0  51 2c 51 0d 10 4a 0f 53  55 42 53 20 4a 2c 4a 2c  |Q,Q..J.SUBS J,J,|
000022e0  23 31 0d 10 54 0f 42 50  4c 20 44 56 4c 4f 4f 50  |#1..T.BPL DVLOOP|
000022f0  31 0d 10 5e 18 53 54 52  20 51 2c 5b 44 49 54 2c  |1..^.STR Q,[DIT,|
00002300  49 2c 4c 53 4c 20 23 32  5d 0d 10 68 0f 53 55 42  |I,LSL #2]..h.SUB|
00002310  53 20 49 2c 49 2c 23 31  0d 10 72 0f 42 4e 45 20  |S I,I,#1..r.BNE |
00002320  44 56 4c 4f 4f 50 32 0d  10 7c 0e 4d 4f 56 20 50  |DVLOOP2..|.MOV P|
00002330  43 2c 52 31 34 0d 10 86  05 5d 0d 10 90 46 41 31  |C,R14....]...FA1|
00002340  3d 30 3a 41 32 3d 31 3a  42 31 3d 32 3a 42 32 3d  |=0:A2=1:B1=2:B2=|
00002350  33 3a 43 31 3d 34 3a 43  32 3d 35 3a 54 3d 36 3a  |3:C1=4:C2=5:T=6:|
00002360  44 49 54 3d 37 3a 58 3d  38 3a 59 3d 39 3a 5a 3d  |DIT=7:X=8:Y=9:Z=|
00002370  31 30 3a 55 3d 31 31 3a  56 3d 31 32 3a 57 3d 38  |10:U=11:V=12:W=8|
00002380  0d 10 9a 0d 41 3d 31 33  3a 42 3d 31 34 0d 10 a4  |....A=13:B=14...|
00002390  0d 5b 4f 50 54 20 50 41  53 53 0d 10 ae 1b 2e 41  |.[OPT PASS.....A|
000023a0  31 44 20 45 51 55 44 20  30 3a 2e 41 32 44 20 45  |1D EQUD 0:.A2D E|
000023b0  51 55 44 20 30 0d 10 b8  1b 2e 42 31 44 20 45 51  |QUD 0.....B1D EQ|
000023c0  55 44 20 30 3a 2e 42 32  44 20 45 51 55 44 20 30  |UD 0:.B2D EQUD 0|
000023d0  0d 10 c2 1b 2e 43 31 44  20 45 51 55 44 20 30 3a  |.....C1D EQUD 0:|
000023e0  2e 43 32 44 20 45 51 55  44 20 30 0d 10 cc 16 2e  |.C2D EQUD 0.....|
000023f0  44 49 54 44 20 45 51 55  44 20 44 49 54 41 42 4c  |DITD EQUD DITABL|
00002400  45 0d 10 d6 0e 2e 41 44  20 45 51 55 44 20 50 0d  |E.....AD EQUD P.|
00002410  10 e0 0e 2e 42 44 20 45  51 55 44 20 51 0d 10 ea  |....BD EQUD Q...|
00002420  0f 2e 56 44 20 45 51 55  44 20 56 4c 0d 10 f4 0e  |..VD EQUD VL....|
00002430  2e 53 50 20 45 51 55 44  20 30 0d 10 fe 0e 2e 4c  |.SP EQUD 0.....L|
00002440  4b 20 45 51 55 44 20 30  0d 11 08 0a 2e 42 45 47  |K EQUD 0.....BEG|
00002450  49 4e 0d 11 12 0d 53 54  52 20 31 33 2c 53 50 0d  |IN....STR 13,SP.|
00002460  11 1c 0d 53 54 52 20 31  34 2c 4c 4b 0d 11 26 0d  |...STR 14,LK..&.|
00002470  41 44 52 20 54 2c 41 31  44 0d 11 30 27 4c 44 4d  |ADR T,A1D..0'LDM|
00002480  49 41 20 54 2c 7b 41 31  2c 41 32 2c 42 31 2c 42  |IA T,{A1,A2,B1,B|
00002490  32 2c 43 31 2c 43 32 2c  44 49 54 2c 41 2c 42 7d  |2,C1,C2,DIT,A,B}|
000024a0  0d 11 3a 16 4c 44 4d 49  41 20 28 41 29 21 2c 7b  |..:.LDMIA (A)!,{|
000024b0  58 2c 59 2c 5a 7d 0d 11  44 0a 2e 54 52 41 4e 53  |X,Y,Z}..D..TRANS|
000024c0  0d 11 4e 14 4d 4f 56 20  54 2c 41 31 2c 41 53 52  |..N.MOV T,A1,ASR|
000024d0  20 23 31 36 0d 11 58 0d  4d 55 4c 20 55 2c 58 2c  | #16..X.MUL U,X,|
000024e0  54 0d 11 62 14 4d 4f 56  20 54 2c 41 31 2c 4c 53  |T..b.MOV T,A1,LS|
000024f0  4c 20 23 31 36 0d 11 6c  13 4d 4f 56 20 54 2c 54  |L #16..l.MOV T,T|
00002500  2c 41 53 52 20 23 31 36  0d 11 76 0f 4d 4c 41 20  |,ASR #16..v.MLA |
00002510  55 2c 59 2c 54 2c 55 0d  11 80 14 4d 4f 56 20 54  |U,Y,T,U....MOV T|
00002520  2c 41 32 2c 41 53 52 20  23 31 36 0d 11 8a 0f 4d  |,A2,ASR #16....M|
00002530  4c 41 20 55 2c 5a 2c 54  2c 55 0d 11 94 14 4d 4f  |LA U,Z,T,U....MO|
00002540  56 20 54 2c 41 32 2c 4c  53 4c 20 23 31 36 0d 11  |V T,A2,LSL #16..|
00002550  9e 13 4d 4f 56 20 54 2c  54 2c 41 53 52 20 23 31  |..MOV T,T,ASR #1|
00002560  36 0d 11 a8 15 41 44 44  20 55 2c 54 2c 55 2c 41  |6....ADD U,T,U,A|
00002570  53 52 20 23 31 35 0d 11  b2 14 4d 4f 56 20 54 2c  |SR #15....MOV T,|
00002580  42 31 2c 41 53 52 20 23  31 36 0d 11 bc 0d 4d 55  |B1,ASR #16....MU|
00002590  4c 20 56 2c 58 2c 54 0d  11 c6 14 4d 4f 56 20 54  |L V,X,T....MOV T|
000025a0  2c 42 31 2c 4c 53 4c 20  23 31 36 0d 11 d0 13 4d  |,B1,LSL #16....M|
000025b0  4f 56 20 54 2c 54 2c 41  53 52 20 23 31 36 0d 11  |OV T,T,ASR #16..|
000025c0  da 0f 4d 4c 41 20 56 2c  59 2c 54 2c 56 0d 11 e4  |..MLA V,Y,T,V...|
000025d0  14 4d 4f 56 20 54 2c 42  32 2c 41 53 52 20 23 31  |.MOV T,B2,ASR #1|
000025e0  36 0d 11 ee 0f 4d 4c 41  20 56 2c 5a 2c 54 2c 56  |6....MLA V,Z,T,V|
000025f0  0d 11 f8 14 4d 4f 56 20  54 2c 42 32 2c 4c 53 4c  |....MOV T,B2,LSL|
00002600  20 23 31 36 0d 12 02 13  4d 4f 56 20 54 2c 54 2c  | #16....MOV T,T,|
00002610  41 53 52 20 23 31 36 0d  12 0c 15 41 44 44 20 56  |ASR #16....ADD V|
00002620  2c 54 2c 56 2c 41 53 52  20 23 31 35 0d 12 16 14  |,T,V,ASR #15....|
00002630  4d 4f 56 20 54 2c 43 31  2c 41 53 52 20 23 31 36  |MOV T,C1,ASR #16|
00002640  0d 12 20 0d 4d 55 4c 20  57 2c 54 2c 58 0d 12 2a  |.. .MUL W,T,X..*|
00002650  14 4d 4f 56 20 54 2c 43  31 2c 4c 53 4c 20 23 31  |.MOV T,C1,LSL #1|
00002660  36 0d 12 34 13 4d 4f 56  20 54 2c 54 2c 41 53 52  |6..4.MOV T,T,ASR|
00002670  20 23 31 36 0d 12 3e 0f  4d 4c 41 20 57 2c 59 2c  | #16..>.MLA W,Y,|
00002680  54 2c 57 0d 12 48 14 4d  4f 56 20 54 2c 43 32 2c  |T,W..H.MOV T,C2,|
00002690  41 53 52 20 23 31 36 0d  12 52 0f 4d 4c 41 20 57  |ASR #16..R.MLA W|
000026a0  2c 5a 2c 54 2c 57 0d 12  5c 14 4d 4f 56 20 54 2c  |,Z,T,W..\.MOV T,|
000026b0  43 32 2c 4c 53 4c 20 23  31 36 0d 12 66 13 4d 4f  |C2,LSL #16..f.MO|
000026c0  56 20 54 2c 54 2c 41 53  52 20 23 31 36 0d 12 70  |V T,T,ASR #16..p|
000026d0  15 41 44 44 20 57 2c 54  2c 57 2c 41 53 52 20 23  |.ADD W,T,W,ASR #|
000026e0  31 35 0d 12 7a 17 43 4d  50 20 57 2c 23 31 30 3a  |15..z.CMP W,#10:|
000026f0  42 4e 56 20 54 52 41 4e  53 0d 12 84 18 4c 44 52  |BNV TRANS....LDR|
00002700  20 57 2c 5b 44 49 54 2c  57 2c 4c 53 4c 20 23 32  | W,[DIT,W,LSL #2|
00002710  5d 0d 12 8e 0d 4d 55 4c  20 55 2c 57 2c 55 0d 12  |]....MUL U,W,U..|
00002720  98 0d 4d 55 4c 20 56 2c  57 2c 56 0d 12 a2 13 4d  |..MUL V,W,V....M|
00002730  4f 56 20 55 2c 55 2c 41  53 52 20 23 31 36 0d 12  |OV U,U,ASR #16..|
00002740  ac 13 4d 4f 56 20 56 2c  56 2c 41 53 52 20 23 31  |..MOV V,V,ASR #1|
00002750  36 0d 12 b6 14 53 54 4d  49 41 20 28 41 29 21 2c  |6....STMIA (A)!,|
00002760  7b 55 2c 56 7d 0d 12 c0  16 4c 44 4d 49 41 20 28  |{U,V}....LDMIA (|
00002770  41 29 21 2c 7b 58 2c 59  2c 5a 7d 0d 12 ca 10 43  |A)!,{X,Y,Z}....C|
00002780  4d 50 20 58 2c 23 31 3c  3c 33 30 0d 12 d4 0d 42  |MP X,#1<<30....B|
00002790  4e 45 20 54 52 41 4e 53  0d 12 de 0d 4c 44 52 20  |NE TRANS....LDR |
000027a0  31 33 2c 53 50 0d 12 e8  0d 4c 44 52 20 31 34 2c  |13,SP....LDR 14,|
000027b0  4c 4b 0d 12 f2 0e 4d 4f  56 20 50 43 2c 52 31 34  |LK....MOV PC,R14|
000027c0  0d 12 fc 04 0d 13 06 05  5d 0d 13 10 0c e7 20 50  |........]..... P|
000027d0  55 4e 54 20 8c 0d 13 1a  0d 5b 4f 50 54 20 50 41  |UNT .....[OPT PA|
000027e0  53 53 0d 13 24 1d 2e 53  43 52 45 45 4e 44 20 45  |SS..$..SCREEND E|
000027f0  51 55 44 20 31 34 38 3a  45 51 55 44 20 2d 31 0d  |QUD 148:EQUD -1.|
00002800  13 2e 12 2e 53 43 52 45  45 4e 20 45 51 55 44 20  |....SCREEN EQUD |
00002810  30 0d 13 38 08 2e 53 45  54 0d 13 42 3a 41 44 52  |0..8..SET..B:ADR|
00002820  20 52 30 2c 53 43 52 45  45 4e 44 3a 41 44 52 20  | R0,SCREEND:ADR |
00002830  52 31 2c 53 43 52 45 45  4e 3a 53 57 49 20 22 4f  |R1,SCREEN:SWI "O|
00002840  53 5f 52 65 61 64 56 64  75 56 61 72 69 61 62 6c  |S_ReadVduVariabl|
00002850  65 73 22 0d 13 4c 0e 4d  4f 56 20 50 43 2c 52 31  |es"..L.MOV PC,R1|
00002860  34 0d 13 56 04 0d 13 60  0c 2e 44 49 53 50 4c 41  |4..V...`..DISPLA|
00002870  59 0d 13 6a 12 4c 44 52  20 53 43 52 2c 53 43 52  |Y..j.LDR SCR,SCR|
00002880  45 45 4e 0d 13 74 0c 4c  44 52 20 55 2c 41 44 0d  |EEN..t.LDR U,AD.|
00002890  13 7e 10 4d 4f 56 20 43  4f 4c 2c 23 32 35 35 0d  |.~.MOV COL,#255.|
000028a0  13 88 09 2e 4c 4f 4f 50  0d 13 92 14 4c 44 4d 49  |....LOOP....LDMI|
000028b0  41 20 28 55 29 21 2c 7b  58 2c 59 7d 0d 13 9c 1a  |A (U)!,{X,Y}....|
000028c0  43 4d 50 20 58 2c 23 31  3c 3c 33 30 3a ec 51 20  |CMP X,#1<<30:.Q |
000028d0  50 43 2c 52 31 34 0d 13  a6 10 41 44 44 20 58 2c  |PC,R14....ADD X,|
000028e0  58 2c 23 31 36 30 0d 13  b0 10 41 44 44 20 59 2c  |X,#160....ADD Y,|
000028f0  59 2c 23 31 32 38 0d 13  ba 0e 43 4d 50 20 58 2c  |Y,#128....CMP X,|
00002900  23 33 32 30 0d 13 c4 10  43 4d 50 4c 4f 20 59 2c  |#320....CMPLO Y,|
00002910  23 32 35 36 0d 13 ce 14  41 44 44 20 54 2c 59 2c  |#256....ADD T,Y,|
00002920  59 2c 4c 53 4c 20 23 32  0d 13 d8 14 41 44 44 20  |Y,LSL #2....ADD |
00002930  54 2c 58 2c 54 2c 4c 53  4c 20 23 36 0d 13 e2 16  |T,X,T,LSL #6....|
00002940  53 54 52 4c 4f 42 20 43  4f 4c 2c 5b 53 43 52 2c  |STRLOB COL,[SCR,|
00002950  54 5d 0d 13 ec 0c 42 41  4c 20 4c 4f 4f 50 0d 13  |T]....BAL LOOP..|
00002960  f6 05 5d 0d 14 00 05 cc  0d 14 0a 2b 58 31 3d 30  |..]........+X1=0|
00002970  3a 59 31 3d 31 3a 58 32  3d 32 3a 59 32 3d 33 3a  |:Y1=1:X2=2:Y2=3:|
00002980  58 33 3d 34 3a 59 33 3d  35 3a 58 34 3d 36 3a 59  |X3=4:Y3=5:X4=6:Y|
00002990  34 3d 37 0d 14 14 0d 5b  4f 50 54 20 50 41 53 53  |4=7....[OPT PASS|
000029a0  0d 14 1e 0f 2e 72 6f 6f  74 20 a4 72 6f 6f 74 0d  |.....root .root.|
000029b0  14 28 14 2e 43 54 44 20  45 51 55 44 20 43 54 41  |.(..CTD EQUD CTA|
000029c0  42 4c 45 0d 14 32 0c 2e  44 49 53 50 4c 41 59 0d  |BLE..2..DISPLAY.|
000029d0  14 3c 20 20 20 20 20 20  20 20 20 20 20 53 54 4d  |.<           STM|
000029e0  46 44 20 20 20 20 20 31  33 21 2c 7b 31 34 7d 0d  |FD     13!,{14}.|
000029f0  14 46 1c 20 20 20 20 20  20 20 20 20 20 4c 44 52  |.F.          LDR|
00002a00  20 20 20 20 20 20 20 55  2c 56 44 0d 14 50 20 20  |       U,VD..P  |
00002a10  20 20 20 20 20 20 20 20  20 4d 4f 56 20 20 20 20  |         MOV    |
00002a20  20 20 20 43 4f 4c 2c 23  32 35 35 0d 14 5a 09 2e  |   COL,#255..Z..|
00002a30  4c 4f 4f 50 0d 14 64 20  20 20 20 20 20 20 20 20  |LOOP..d         |
00002a40  20 20 4c 44 4d 49 41 20  20 20 20 20 28 55 29 21  |  LDMIA     (U)!|
00002a50  2c 7b 56 7d 0d 14 6e 20  20 20 20 20 20 20 20 20  |,{V}..n         |
00002a60  20 20 43 4d 50 20 20 20  20 20 20 20 56 2c 23 31  |  CMP       V,#1|
00002a70  3c 3c 33 30 0d 14 6f 20  20 20 20 20 20 20 20 20  |<<30..o         |
00002a80  20 20 4c 44 4d 45 51 46  44 20 20 20 31 33 21 2c  |  LDMEQFD   13!,|
00002a90  7b 50 43 7d 0d 14 78 1f  20 20 20 20 20 20 20 20  |{PC}..x.        |
00002aa0  20 20 4c 44 4d 49 41 20  20 20 20 20 56 2c 7b 58  |  LDMIA     V,{X|
00002ab0  2c 59 7d 0d 14 82 21 20  20 20 20 20 20 20 20 20  |,Y}...!         |
00002ac0  20 41 44 44 20 20 20 20  20 20 20 58 31 2c 58 2c  | ADD       X1,X,|
00002ad0  23 31 36 30 0d 14 8c 21  20 20 20 20 20 20 20 20  |#160...!        |
00002ae0  20 20 41 44 44 20 20 20  20 20 20 20 59 31 2c 59  |  ADD       Y1,Y|
00002af0  2c 23 31 32 38 0d 14 96  20 20 20 20 20 20 20 20  |,#128...        |
00002b00  20 20 20 4c 44 4d 49 41  20 20 20 20 20 28 55 29  |   LDMIA     (U)|
00002b10  21 2c 7b 56 7d 0d 14 a0  20 20 20 20 20 20 20 20  |!,{V}...        |
00002b20  20 20 20 43 4d 50 20 20  20 20 20 20 20 56 2c 23  |   CMP       V,#|
00002b30  31 3c 3c 33 30 0d 14 a1  20 20 20 20 20 20 20 20  |1<<30...        |
00002b40  20 20 20 4c 44 4d 45 51  46 44 20 20 20 31 33 21  |   LDMEQFD   13!|
00002b50  2c 7b 50 43 7d 0d 14 aa  1f 20 20 20 20 20 20 20  |,{PC}....       |
00002b60  20 20 20 4c 44 4d 49 41  20 20 20 20 20 56 2c 7b  |   LDMIA     V,{|
00002b70  58 2c 59 7d 0d 14 b4 21  20 20 20 20 20 20 20 20  |X,Y}...!        |
00002b80  20 20 41 44 44 20 20 20  20 20 20 20 58 32 2c 58  |  ADD       X2,X|
00002b90  2c 23 31 36 30 0d 14 be  21 20 20 20 20 20 20 20  |,#160...!       |
00002ba0  20 20 20 41 44 44 20 20  20 20 20 20 20 59 32 2c  |   ADD       Y2,|
00002bb0  59 2c 23 31 32 38 0d 14  c8 20 20 20 20 20 20 20  |Y,#128...       |
00002bc0  20 20 20 20 4c 44 4d 49  41 20 20 20 20 20 28 55  |    LDMIA     (U|
00002bd0  29 21 2c 7b 56 7d 0d 14  d2 20 20 20 20 20 20 20  |)!,{V}...       |
00002be0  20 20 20 20 43 4d 50 20  20 20 20 20 20 20 56 2c  |    CMP       V,|
00002bf0  23 31 3c 3c 33 30 0d 14  d3 20 20 20 20 20 20 20  |#1<<30...       |
00002c00  20 20 20 20 4c 44 4d 45  51 46 44 20 20 20 31 33  |    LDMEQFD   13|
00002c10  21 2c 7b 50 43 7d 0d 14  dc 1f 20 20 20 20 20 20  |!,{PC}....      |
00002c20  20 20 20 20 4c 44 4d 49  41 20 20 20 20 20 56 2c  |    LDMIA     V,|
00002c30  7b 58 2c 59 7d 0d 14 e6  21 20 20 20 20 20 20 20  |{X,Y}...!       |
00002c40  20 20 20 41 44 44 20 20  20 20 20 20 20 58 33 2c  |   ADD       X3,|
00002c50  58 2c 23 31 36 30 0d 14  f0 21 20 20 20 20 20 20  |X,#160...!      |
00002c60  20 20 20 20 41 44 44 20  20 20 20 20 20 20 59 33  |    ADD       Y3|
00002c70  2c 59 2c 23 31 32 38 0d  14 fa 04 0d 15 04 1d 20  |,Y,#128........ |
00002c80  20 20 20 20 20 20 20 20  20 43 4d 50 20 20 20 20  |         CMP    |
00002c90  20 20 20 58 31 2c 58 32  0d 15 05 1d 20 20 20 20  |   X1,X2....    |
00002ca0  20 20 20 20 20 20 43 4d  50 45 51 20 20 20 20 20  |      CMPEQ     |
00002cb0  59 31 2c 59 32 0d 15 06  1c 20 20 20 20 20 20 20  |Y1,Y2....       |
00002cc0  20 20 20 42 4e 45 20 20  20 20 20 20 20 6f 76 72  |   BNE       ovr|
00002cd0  31 0d 15 0e 1f 20 20 20  20 20 20 20 20 20 20 4c  |1....          L|
00002ce0  44 4d 49 41 20 20 20 20  20 28 55 29 2c 7b 56 7d  |DMIA     (U),{V}|
00002cf0  0d 15 18 20 20 20 20 20  20 20 20 20 20 20 43 4d  |...           CM|
00002d00  50 20 20 20 20 20 20 20  56 2c 23 31 3c 3c 33 30  |P       V,#1<<30|
00002d10  0d 15 19 20 20 20 20 20  20 20 20 20 20 20 4c 44  |...           LD|
00002d20  4d 45 51 46 44 20 20 20  31 33 21 2c 7b 50 43 7d  |MEQFD   13!,{PC}|
00002d30  0d 15 22 1f 20 20 20 20  20 20 20 20 20 20 4c 44  |..".          LD|
00002d40  4d 49 41 20 20 20 20 20  56 2c 7b 58 2c 59 7d 0d  |MIA     V,{X,Y}.|
00002d50  15 2c 21 20 20 20 20 20  20 20 20 20 20 41 44 44  |.,!          ADD|
00002d60  20 20 20 20 20 20 20 58  32 2c 58 2c 23 31 36 30  |       X2,X,#160|
00002d70  0d 15 36 21 20 20 20 20  20 20 20 20 20 20 41 44  |..6!          AD|
00002d80  44 20 20 20 20 20 20 20  59 32 2c 59 2c 23 31 32  |D       Y2,Y,#12|
00002d90  38 0d 15 40 09 2e 6f 76  72 31 0d 15 4a 20 20 20  |8..@..ovr1..J   |
00002da0  20 20 20 20 20 20 20 20  53 55 42 20 20 20 20 20  |        SUB     |
00002db0  20 20 58 20 2c 58 32 2c  58 31 0d 15 4b 20 20 20  |  X ,X2,X1..K   |
00002dc0  20 20 20 20 20 20 20 20  53 55 42 20 20 20 20 20  |        SUB     |
00002dd0  20 20 59 20 2c 59 32 2c  59 31 0d 15 54 20 20 20  |  Y ,Y2,Y1..T   |
00002de0  20 20 20 20 20 20 20 20  53 55 42 20 20 20 20 20  |        SUB     |
00002df0  20 20 58 34 2c 58 33 2c  58 31 0d 15 55 20 20 20  |  X4,X3,X1..U   |
00002e00  20 20 20 20 20 20 20 20  53 55 42 20 20 20 20 20  |        SUB     |
00002e10  20 20 59 34 2c 59 33 2c  59 31 0d 15 5e 1e 20 20  |  Y4,Y3,Y1..^.  |
00002e20  20 20 20 20 20 20 20 20  4d 55 4c 20 20 20 20 20  |        MUL     |
00002e30  20 20 58 2c 59 34 2c 58  0d 15 5f 1e 20 20 20 20  |  X,Y4,X.._.    |
00002e40  20 20 20 20 20 20 4d 55  4c 20 20 20 20 20 20 20  |      MUL       |
00002e50  59 2c 58 34 2c 59 0d 15  60 1b 20 20 20 20 20 20  |Y,X4,Y..`.      |
00002e60  20 20 20 20 43 4d 50 20  20 20 20 20 20 20 58 2c  |    CMP       X,|
00002e70  59 0d 15 61 1f 20 20 20  20 20 20 20 20 20 20 41  |Y..a.          A|
00002e80  44 44 4d 49 20 20 20 20  20 55 2c 55 2c 23 31 32  |DDMI     U,U,#12|
00002e90  0d 15 62 1c 20 20 20 20  20 20 20 20 20 20 42 4d  |..b.          BM|
00002ea0  49 20 20 20 20 20 20 20  4c 4f 4f 50 0d 15 68 04  |I       LOOP..h.|
00002eb0  0d 15 72 1d 20 20 20 20  20 20 20 20 20 20 53 55  |..r.          SU|
00002ec0  42 20 20 20 20 20 20 20  59 2c 58 2c 59 0d 15 73  |B       Y,X,Y..s|
00002ed0  20 20 20 20 20 20 20 20  20 20 20 4c 44 52 20 20  |           LDR  |
00002ee0  20 20 20 20 20 58 2c 5b  55 2c 23 34 5d 0d 15 74  |     X,[U,#4]..t|
00002ef0  1d 20 20 20 20 20 20 20  20 20 20 4d 55 4c 20 20  |.          MUL  |
00002f00  20 20 20 20 20 58 2c 59  2c 58 0d 15 75 23 20 20  |     X,Y,X..u#  |
00002f10  20 20 20 20 20 20 20 20  4d 4f 56 20 20 20 20 20  |        MOV     |
00002f20  20 20 5a 2c 58 2c 4c 53  52 20 23 31 32 0d 15 7c  |  Z,X,LSR #12..||
00002f30  1e 20 20 20 20 20 20 20  20 20 20 43 4d 50 20 20  |.          CMP  |
00002f40  20 20 20 20 20 5a 2c 23  32 35 36 0d 15 7d 1e 20  |     Z,#256..}. |
00002f50  20 20 20 20 20 20 20 20  20 4d 4f 56 48 53 20 20  |         MOVHS  |
00002f60  20 20 20 5a 2c 23 32 35  35 0d 15 86 1e 20 20 20  |   Z,#255....   |
00002f70  20 20 20 20 20 20 20 41  44 52 20 20 20 20 20 20  |       ADR      |
00002f80  20 58 2c 72 6f 6f 74 0d  15 87 1f 20 20 20 20 20  | X,root....     |
00002f90  20 20 20 20 20 4c 44 52  42 20 20 20 20 20 20 5a  |     LDRB      Z|
00002fa0  2c 5b 58 2c 5a 5d 0d 15  90 1d 20 20 20 20 20 20  |,[X,Z]....      |
00002fb0  20 20 20 20 43 4d 50 20  20 20 20 20 20 20 5a 2c  |    CMP       Z,|
00002fc0  23 31 36 0d 15 91 1d 20  20 20 20 20 20 20 20 20  |#16....         |
00002fd0  20 4d 4f 56 48 53 20 20  20 20 20 5a 2c 23 31 35  | MOVHS     Z,#15|
00002fe0  0d 15 9a 04 0d 15 a4 20  20 20 20 20 20 20 20 20  |.......         |
00002ff0  20 20 4c 44 4d 49 41 20  20 20 20 20 28 55 29 21  |  LDMIA     (U)!|
00003000  2c 7b 56 7d 0d 15 ae 20  20 20 20 20 20 20 20 20  |,{V}...         |
00003010  20 20 43 4d 50 20 20 20  20 20 20 20 56 2c 23 31  |  CMP       V,#1|
00003020  3c 3c 33 30 0d 15 af 20  20 20 20 20 20 20 20 20  |<<30...         |
00003030  20 20 4c 44 4d 45 51 46  44 20 20 20 31 33 21 2c  |  LDMEQFD   13!,|
00003040  7b 50 43 7d 0d 15 b8 1f  20 20 20 20 20 20 20 20  |{PC}....        |
00003050  20 20 4c 44 4d 49 41 20  20 20 20 20 56 2c 7b 58  |  LDMIA     V,{X|
00003060  2c 59 7d 0d 15 c2 21 20  20 20 20 20 20 20 20 20  |,Y}...!         |
00003070  20 41 44 44 20 20 20 20  20 20 20 58 34 2c 58 2c  | ADD       X4,X,|
00003080  23 31 36 30 0d 15 cc 21  20 20 20 20 20 20 20 20  |#160...!        |
00003090  20 20 41 44 44 20 20 20  20 20 20 20 59 34 2c 59  |  ADD       Y4,Y|
000030a0  2c 23 31 32 38 0d 15 d6  04 0d 15 e0 1e 20 20 20  |,#128........   |
000030b0  20 20 20 20 20 20 20 41  44 44 20 20 20 20 20 20  |       ADD      |
000030c0  20 55 2c 55 2c 23 34 0d  15 ea 21 20 20 20 20 20  | U,U,#4...!     |
000030d0  20 20 20 20 20 4c 44 52  20 20 20 20 20 20 20 52  |     LDR       R|
000030e0  38 2c 5b 55 5d 2c 23 34  0d 15 f4 24 20 20 20 20  |8,[U],#4...$    |
000030f0  20 20 20 20 20 20 4d 4f  56 20 20 20 20 20 20 20  |      MOV       |
00003100  52 38 2c 52 38 2c 4c 53  4c 20 23 34 0d 15 f5 1f  |R8,R8,LSL #4....|
00003110  20 20 20 20 20 20 20 20  20 20 41 44 44 20 20 20  |          ADD   |
00003120  20 20 20 20 52 38 2c 52  38 2c 5a 0d 15 fe 1d 20  |    R8,R8,Z.... |
00003130  20 20 20 20 20 20 20 20  20 4c 44 52 20 20 20 20  |         LDR    |
00003140  20 20 20 59 2c 43 54 44  0d 15 ff 21 20 20 20 20  |   Y,CTD...!    |
00003150  20 20 20 20 20 20 4c 44  52 42 20 20 20 20 20 20  |      LDRB      |
00003160  52 38 2c 5b 59 2c 52 38  5d 0d 16 08 04 0d 16 12  |R8,[Y,R8].......|
00003170  22 20 20 20 20 20 20 20  20 20 20 53 54 4d 46 44  |"          STMFD|
00003180  20 20 20 20 20 31 33 21  2c 7b 30 2d 31 32 7d 0d  |     13!,{0-12}.|
00003190  16 1c 22 20 20 20 20 20  20 20 20 20 20 42 4c 20  |.."          BL |
000031a0  20 20 20 20 20 20 20 51  55 41 44 52 41 4e 47 4c  |       QUADRANGL|
000031b0  45 0d 16 26 22 20 20 20  20 20 20 20 20 20 20 4c  |E..&"          L|
000031c0  44 4d 46 44 20 20 20 20  20 31 33 21 2c 7b 30 2d  |DMFD     13!,{0-|
000031d0  31 32 7d 0d 16 30 1c 20  20 20 20 20 20 20 20 20  |12}..0.         |
000031e0  20 42 41 4c 20 20 20 20  20 20 20 4c 4f 4f 50 0d  | BAL       LOOP.|
000031f0  16 3a 05 5d 0d 16 44 05  cd 0d 16 4e 05 ed 0d 16  |.:.]..D....N....|
00003200  58 13 d6 20 43 41 4c 43  5f 44 49 56 54 41 42 4c  |X.. CALC_DIVTABL|
00003210  45 0d 16 62 05 e1 0d 16  6c 04 0d 16 76 04 0d 16  |E..b....l...v...|
00003220  80 0b dd 20 a4 72 6f 6f  74 0d 16 8a 0f e3 20 49  |... .root..... I|
00003230  3d 30 20 b8 20 32 35 35  0d 16 94 0d 5b 4f 50 54  |=0 . 255....[OPT|
00003240  20 50 41 53 53 0d 16 9e  16 45 51 55 42 20 a8 28  | PASS....EQUB .(|
00003250  b6 28 49 29 29 20 80 20  32 35 35 0d 16 a8 05 5d  |.(I)) . 255....]|
00003260  0d 16 b2 05 ed 0d 16 bc  07 3d 22 22 0d 16 c6 04  |.........=""....|
00003270  0d 16 d0 11 dd 20 f2 51  55 41 44 52 41 4e 47 4c  |..... .QUADRANGL|
00003280  45 0d 16 da 0b ea 20 50  25 2c 51 25 0d 16 e4 0d  |E..... P%,Q%....|
00003290  ea 20 44 49 54 41 42 4c  45 0d 16 ee 14 de 20 44  |. DITABLE..... D|
000032a0  49 54 41 42 4c 45 20 34  2a 31 30 32 34 0d 16 f8  |ITABLE 4*1024...|
000032b0  10 e3 20 49 3d 31 20 b8  20 31 30 32 34 0d 17 02  |.. I=1 . 1024...|
000032c0  1b 44 49 54 41 42 4c 45  21 28 34 2a 49 29 3d 28  |.DITABLE!(4*I)=(|
000032d0  31 3c 3c 31 36 29 2f 49  0d 17 0c 05 ed 0d 17 16  |1<<16)/I........|
000032e0  0d de 20 51 25 20 34 30  30 30 0d 17 20 08 41 58  |.. Q% 4000.. .AX|
000032f0  3d 30 0d 17 2a 08 41 59  3d 31 0d 17 34 08 42 58  |=0..*.AY=1..4.BX|
00003300  3d 32 0d 17 3e 08 42 59  3d 33 0d 17 48 08 43 58  |=2..>.BY=3..H.CX|
00003310  3d 34 0d 17 52 08 43 59  3d 35 0d 17 5c 08 44 58  |=4..R.CY=5..\.DX|
00003320  3d 36 0d 17 66 08 44 59  3d 37 0d 17 70 09 43 4f  |=6..f.DY=7..p.CO|
00003330  4c 3d 38 0d 17 7a 07 54  3d 39 0d 17 84 08 41 3d  |L=8..z.T=9....A=|
00003340  31 30 0d 17 8e 08 42 3d  31 31 0d 17 98 08 43 3d  |10....B=11....C=|
00003350  31 32 0d 17 a2 07 46 3d  38 0d 17 ac 07 47 3d 39  |12....F=8....G=9|
00003360  0d 17 b6 07 54 3d 39 0d  17 c0 08 4e 3d 31 30 0d  |....T=9....N=10.|
00003370  17 ca 08 51 3d 31 31 0d  17 d4 08 53 3d 31 32 0d  |...Q=11....S=12.|
00003380  17 de 08 58 4c 3d 30 0d  17 e8 08 58 52 3d 31 0d  |...XL=0....XR=1.|
00003390  17 f2 07 4c 3d 32 0d 17  fc 07 52 3d 33 0d 18 06  |...L=2....R=3...|
000033a0  08 43 54 3d 34 0d 18 10  08 43 31 3d 35 0d 18 1a  |.CT=4....C1=5...|
000033b0  08 43 32 3d 36 0d 18 24  08 43 33 3d 37 0d 18 2e  |.C2=6..$.C3=7...|
000033c0  08 43 34 3d 38 0d 18 38  07 54 3d 39 0d 18 42 08  |.C4=8..8.T=9..B.|
000033d0  4f 3d 31 30 0d 18 4c 09  4c 41 3d 31 31 0d 18 56  |O=10..L.LA=11..V|
000033e0  09 52 41 3d 31 32 0d 18  60 11 e3 20 50 3d 30 20  |.RA=12..`.. P=0 |
000033f0  b8 20 32 20 88 20 32 0d  18 6a 09 50 25 3d 51 25  |. 2 . 2..j.P%=Q%|
00003400  0d 18 74 0a 5b 4f 50 54  20 50 0d 18 7e 15 2e 53  |..t.[OPT P..~..S|
00003410  43 52 45 45 4e 31 20 45  51 55 44 20 31 34 38 0d  |CREEN1 EQUD 148.|
00003420  18 88 0b 45 51 55 44 20  2d 31 0d 18 92 12 2e 53  |...EQUD -1.....S|
00003430  43 52 45 45 4e 20 45 51  55 44 20 30 0d 18 9c 08  |CREEN EQUD 0....|
00003440  2e 53 45 54 0d 18 a6 12  41 44 52 20 52 30 2c 53  |.SET....ADR R0,S|
00003450  43 52 45 45 4e 31 0d 18  b0 11 41 44 52 20 52 31  |CREEN1....ADR R1|
00003460  2c 53 43 52 45 45 4e 0d  18 ba 1d 53 57 49 20 22  |,SCREEN....SWI "|
00003470  4f 53 5f 52 65 61 64 56  64 75 56 61 72 69 61 62  |OS_ReadVduVariab|
00003480  6c 65 73 22 0d 18 c4 0d  4d 4f 56 20 31 35 2c 31  |les"....MOV 15,1|
00003490  34 0d 18 ce 04 0d 18 d8  0f 2e 41 58 44 20 45 51  |4.........AXD EQ|
000034a0  55 44 20 30 0d 18 e2 0f  2e 42 58 44 20 45 51 55  |UD 0.....BXD EQU|
000034b0  44 20 30 0d 18 ec 0f 2e  43 58 44 20 45 51 55 44  |D 0.....CXD EQUD|
000034c0  20 30 0d 18 f6 0e 2e 41  42 20 45 51 55 44 20 30  | 0.....AB EQUD 0|
000034d0  0d 19 00 0e 2e 41 43 20  45 51 55 44 20 30 0d 19  |.....AC EQUD 0..|
000034e0  0a 0e 2e 42 44 20 45 51  55 44 20 30 0d 19 14 0e  |...BD EQUD 0....|
000034f0  2e 43 44 20 45 51 55 44  20 30 0d 19 1e 0e 2e 41  |.CD EQUD 0.....A|
00003500  44 20 45 51 55 44 20 30  0d 19 28 0e 2e 42 43 20  |D EQUD 0..(..BC |
00003510  45 51 55 44 20 30 0d 19  32 0e 2e 41 41 20 45 51  |EQUD 0..2..AA EQ|
00003520  55 44 20 30 0d 19 3c 0e  2e 42 42 20 45 51 55 44  |UD 0..<..BB EQUD|
00003530  20 30 0d 19 46 0e 2e 43  43 20 45 51 55 44 20 30  | 0..F..CC EQUD 0|
00003540  0d 19 50 10 2e 4b 4c 20  45 51 55 44 20 32 35 35  |..P..KL EQUD 255|
00003550  0d 19 5a 18 2e 44 49 54  41 42 44 20 45 51 55 44  |..Z..DITABD EQUD|
00003560  20 44 49 54 41 42 4c 45  0d 19 64 0f 2e 51 55 41  | DITABLE..d..QUA|
00003570  44 52 41 4e 47 4c 45 0d  19 6e 12 53 54 4d 46 44  |DRANGLE..n.STMFD|
00003580  20 31 33 21 2c 7b 31 34  7d 0d 19 78 0e 53 54 52  | 13!,{14}..x.STR|
00003590  20 43 4f 4c 2c 4b 4c 0d  19 82 0d 43 4d 50 20 41  | COL,KL....CMP A|
000035a0  59 2c 43 59 0d 19 8c 0e  4d 4f 56 47 54 20 54 2c  |Y,CY....MOVGT T,|
000035b0  41 58 0d 19 96 0f 4d 4f  56 47 54 20 41 58 2c 43  |AX....MOVGT AX,C|
000035c0  58 0d 19 a0 0e 4d 4f 56  47 54 20 43 58 2c 54 0d  |X....MOVGT CX,T.|
000035d0  19 aa 0e 4d 4f 56 47 54  20 54 2c 41 59 0d 19 b4  |...MOVGT T,AY...|
000035e0  0f 4d 4f 56 47 54 20 41  59 2c 43 59 0d 19 be 0e  |.MOVGT AY,CY....|
000035f0  4d 4f 56 47 54 20 43 59  2c 54 0d 19 c8 0d 43 4d  |MOVGT CY,T....CM|
00003600  50 20 42 59 2c 44 59 0d  19 d2 0e 4d 4f 56 47 54  |P BY,DY....MOVGT|
00003610  20 54 2c 42 58 0d 19 dc  0f 4d 4f 56 47 54 20 42  | T,BX....MOVGT B|
00003620  58 2c 44 58 0d 19 e6 0e  4d 4f 56 47 54 20 44 58  |X,DX....MOVGT DX|
00003630  2c 54 0d 19 f0 0e 4d 4f  56 47 54 20 54 2c 42 59  |,T....MOVGT T,BY|
00003640  0d 19 fa 0f 4d 4f 56 47  54 20 42 59 2c 44 59 0d  |....MOVGT BY,DY.|
00003650  1a 04 0e 4d 4f 56 47 54  20 44 59 2c 54 0d 1a 0e  |...MOVGT DY,T...|
00003660  0d 43 4d 50 20 41 59 2c  42 59 0d 1a 18 0e 4d 4f  |.CMP AY,BY....MO|
00003670  56 47 54 20 54 2c 41 58  0d 1a 22 0f 4d 4f 56 47  |VGT T,AX..".MOVG|
00003680  54 20 41 58 2c 42 58 0d  1a 2c 0e 4d 4f 56 47 54  |T AX,BX..,.MOVGT|
00003690  20 42 58 2c 54 0d 1a 36  0e 4d 4f 56 47 54 20 54  | BX,T..6.MOVGT T|
000036a0  2c 41 59 0d 1a 40 0f 4d  4f 56 47 54 20 41 59 2c  |,AY..@.MOVGT AY,|
000036b0  42 59 0d 1a 4a 0e 4d 4f  56 47 54 20 42 59 2c 54  |BY..J.MOVGT BY,T|
000036c0  0d 1a 54 0d 43 4d 50 20  43 59 2c 44 59 0d 1a 5e  |..T.CMP CY,DY..^|
000036d0  0e 4d 4f 56 47 54 20 54  2c 43 58 0d 1a 68 0f 4d  |.MOVGT T,CX..h.M|
000036e0  4f 56 47 54 20 43 58 2c  44 58 0d 1a 72 0e 4d 4f  |OVGT CX,DX..r.MO|
000036f0  56 47 54 20 44 58 2c 54  0d 1a 7c 0e 4d 4f 56 47  |VGT DX,T..|.MOVG|
00003700  54 20 54 2c 43 59 0d 1a  86 0f 4d 4f 56 47 54 20  |T T,CY....MOVGT |
00003710  43 59 2c 44 59 0d 1a 90  0e 4d 4f 56 47 54 20 44  |CY,DY....MOVGT D|
00003720  59 2c 54 0d 1a 9a 0d 43  4d 50 20 42 59 2c 43 59  |Y,T....CMP BY,CY|
00003730  0d 1a a4 0e 4d 4f 56 47  54 20 54 2c 42 58 0d 1a  |....MOVGT T,BX..|
00003740  ae 0f 4d 4f 56 47 54 20  42 58 2c 43 58 0d 1a b8  |..MOVGT BX,CX...|
00003750  0e 4d 4f 56 47 54 20 43  58 2c 54 0d 1a c2 0e 4d  |.MOVGT CX,T....M|
00003760  4f 56 47 54 20 54 2c 42  59 0d 1a cc 0f 4d 4f 56  |OVGT T,BY....MOV|
00003770  47 54 20 42 59 2c 43 59  0d 1a d6 0e 4d 4f 56 47  |GT BY,CY....MOVG|
00003780  54 20 43 59 2c 54 0d 1a  e0 0d 41 44 52 20 54 2c  |T CY,T....ADR T,|
00003790  41 58 44 0d 1a ea 16 53  54 4d 49 41 20 54 2c 7b  |AXD....STMIA T,{|
000037a0  41 58 2c 42 58 2c 43 58  7d 0d 1a f4 0f 53 55 42  |AX,BX,CX}....SUB|
000037b0  20 41 2c 44 58 2c 41 58  0d 1a fe 0f 53 55 42 20  | A,DX,AX....SUB |
000037c0  42 2c 44 59 2c 41 59 0d  1b 08 0f 53 55 42 20 53  |B,DY,AY....SUB S|
000037d0  2c 43 58 2c 41 58 0d 1b  12 0f 53 55 42 20 54 2c  |,CX,AX....SUB T,|
000037e0  43 59 2c 41 59 0d 1b 1c  0d 4d 55 4c 20 54 2c 41  |CY,AY....MUL T,A|
000037f0  2c 54 0d 1b 26 0d 4d 55  4c 20 53 2c 42 2c 53 0d  |,T..&.MUL S,B,S.|
00003800  1b 30 0e 53 55 42 53 20  46 2c 53 2c 54 0d 1b 3a  |.0.SUBS F,S,T..:|
00003810  0a 42 45 51 20 51 31 0d  1b 44 0f 53 55 42 20 53  |.BEQ Q1..D.SUB S|
00003820  2c 42 58 2c 41 58 0d 1b  4e 0f 53 55 42 20 54 2c  |,BX,AX..N.SUB T,|
00003830  42 59 2c 41 59 0d 1b 58  0d 4d 55 4c 20 54 2c 41  |BY,AY..X.MUL T,A|
00003840  2c 54 0d 1b 62 0d 4d 55  4c 20 53 2c 42 2c 53 0d  |,T..b.MUL S,B,S.|
00003850  1b 6c 0e 53 55 42 53 20  47 2c 53 2c 54 0d 1b 76  |.l.SUBS G,S,T..v|
00003860  0a 42 45 51 20 51 31 0d  1b 80 0c 82 53 20 54 2c  |.BEQ Q1.....S T,|
00003870  46 2c 47 0d 1b 8a 0a 42  4c 54 20 51 31 0d 1b 94  |F,G....BLT Q1...|
00003880  0a 42 47 45 20 51 32 0d  1b 9e 07 2e 51 31 0d 1b  |.BGE Q2.....Q1..|
00003890  a8 10 4c 44 52 20 51 2c  44 49 54 41 42 44 0d 1b  |..LDR Q,DITABD..|
000038a0  b2 0f 53 55 42 20 54 2c  42 58 2c 41 58 0d 1b bc  |..SUB T,BX,AX...|
000038b0  0f 53 55 42 20 4e 2c 42  59 2c 41 59 0d 1b c6 16  |.SUB N,BY,AY....|
000038c0  4c 44 52 20 4e 2c 5b 51  2c 4e 2c 4c 53 4c 20 23  |LDR N,[Q,N,LSL #|
000038d0  32 5d 0d 1b d0 0d 4d 55  4c 20 4e 2c 54 2c 4e 0d  |2]....MUL N,T,N.|
000038e0  1b da 13 4d 4f 56 20 4e  2c 4e 2c 41 53 52 20 23  |...MOV N,N,ASR #|
000038f0  31 30 0d 1b e4 0c 53 54  52 20 4e 2c 41 42 0d 1b  |10....STR N,AB..|
00003900  ee 0f 53 55 42 20 54 2c  43 58 2c 41 58 0d 1b f8  |..SUB T,CX,AX...|
00003910  0f 53 55 42 20 4e 2c 43  59 2c 41 59 0d 1c 02 16  |.SUB N,CY,AY....|
00003920  4c 44 52 20 4e 2c 5b 51  2c 4e 2c 4c 53 4c 20 23  |LDR N,[Q,N,LSL #|
00003930  32 5d 0d 1c 0c 0d 4d 55  4c 20 4e 2c 54 2c 4e 0d  |2]....MUL N,T,N.|
00003940  1c 16 13 4d 4f 56 20 4e  2c 4e 2c 41 53 52 20 23  |...MOV N,N,ASR #|
00003950  31 30 0d 1c 20 0c 53 54  52 20 4e 2c 41 43 0d 1c  |10.. .STR N,AC..|
00003960  2a 0f 53 55 42 20 54 2c  44 58 2c 42 58 0d 1c 34  |*.SUB T,DX,BX..4|
00003970  0f 53 55 42 20 4e 2c 44  59 2c 42 59 0d 1c 3e 16  |.SUB N,DY,BY..>.|
00003980  4c 44 52 20 4e 2c 5b 51  2c 4e 2c 4c 53 4c 20 23  |LDR N,[Q,N,LSL #|
00003990  32 5d 0d 1c 48 0d 4d 55  4c 20 4e 2c 54 2c 4e 0d  |2]..H.MUL N,T,N.|
000039a0  1c 52 13 4d 4f 56 20 4e  2c 4e 2c 41 53 52 20 23  |.R.MOV N,N,ASR #|
000039b0  31 30 0d 1c 5c 0c 53 54  52 20 4e 2c 42 44 0d 1c  |10..\.STR N,BD..|
000039c0  66 0f 53 55 42 20 54 2c  44 58 2c 43 58 0d 1c 70  |f.SUB T,DX,CX..p|
000039d0  0f 53 55 42 20 4e 2c 44  59 2c 43 59 0d 1c 7a 16  |.SUB N,DY,CY..z.|
000039e0  4c 44 52 20 4e 2c 5b 51  2c 4e 2c 4c 53 4c 20 23  |LDR N,[Q,N,LSL #|
000039f0  32 5d 0d 1c 84 0d 4d 55  4c 20 4e 2c 54 2c 4e 0d  |2]....MUL N,T,N.|
00003a00  1c 8e 13 4d 4f 56 20 4e  2c 4e 2c 41 53 52 20 23  |...MOV N,N,ASR #|
00003a10  31 30 0d 1c 98 0c 53 54  52 20 4e 2c 43 44 0d 1c  |10....STR N,CD..|
00003a20  a2 0f 53 55 42 20 41 2c  42 59 2c 41 59 0d 1c ac  |..SUB A,BY,AY...|
00003a30  0f 53 55 42 20 42 2c 43  59 2c 42 59 0d 1c b6 0f  |.SUB B,CY,BY....|
00003a40  53 55 42 20 43 2c 44 59  2c 43 59 0d 1c c0 0c 41  |SUB C,DY,CY....A|
00003a50  44 52 20 54 2c 41 41 0d  1c ca 13 53 54 4d 49 41  |DR T,AA....STMIA|
00003a60  20 54 2c 7b 41 2c 42 2c  43 7d 0d 1c d4 10 4c 44  | T,{A,B,C}....LD|
00003a70  52 20 4f 2c 53 43 52 45  45 4e 0d 1c de 0e 4c 44  |R O,SCREEN....LD|
00003a80  52 20 43 4f 4c 2c 4b 4c  0d 1c e8 16 41 44 44 20  |R COL,KL....ADD |
00003a90  54 2c 41 59 2c 41 59 2c  4c 53 4c 20 23 32 0d 1c  |T,AY,AY,LSL #2..|
00003aa0  f2 14 41 44 44 20 4f 2c  4f 2c 54 2c 4c 53 4c 20  |..ADD O,O,T,LSL |
00003ab0  23 36 0d 1c fc 17 41 44  44 20 43 34 2c 43 34 2c  |#6....ADD C4,C4,|
00003ac0  43 34 2c 4c 53 4c 20 23  38 0d 1d 06 18 41 44 44  |C4,LSL #8....ADD|
00003ad0  20 43 34 2c 43 34 2c 43  34 2c 4c 53 4c 20 23 31  | C4,C4,C4,LSL #1|
00003ae0  36 0d 1d 10 0d 4d 4f 56  20 43 31 2c 43 34 0d 1d  |6....MOV C1,C4..|
00003af0  1a 0d 4d 4f 56 20 43 32  2c 43 34 0d 1d 24 0d 4d  |..MOV C2,C4..$.M|
00003b00  4f 56 20 43 33 2c 43 34  0d 1d 2e 0d 4c 44 52 20  |OV C3,C4....LDR |
00003b10  43 54 2c 41 41 0d 1d 38  0d 43 4d 50 20 43 54 2c  |CT,AA..8.CMP CT,|
00003b20  23 30 0d 1d 42 0d 4c 44  52 20 54 2c 41 58 44 0d  |#0..B.LDR T,AXD.|
00003b30  1d 4c 12 4d 4f 56 20 4c  2c 54 2c 4c 53 4c 20 23  |.L.MOV L,T,LSL #|
00003b40  36 0d 1d 56 12 4d 4f 56  20 52 2c 54 2c 4c 53 4c  |6..V.MOV R,T,LSL|
00003b50  20 23 36 0d 1d 60 0d 4c  44 52 20 4c 41 2c 41 43  | #6..`.LDR LA,AC|
00003b60  0d 1d 6a 15 41 44 44 20  4c 2c 4c 2c 4c 41 2c 41  |..j.ADD L,L,LA,A|
00003b70  53 52 20 23 31 0d 1d 74  11 41 44 44 20 4c 2c 4c  |SR #1..t.ADD L,L|
00003b80  2c 23 31 3c 3c 35 0d 1d  7e 0d 4c 44 52 20 52 41  |,#1<<5..~.LDR RA|
00003b90  2c 41 42 0d 1d 88 15 41  44 44 20 52 2c 52 2c 52  |,AB....ADD R,R,R|
00003ba0  41 2c 41 53 52 20 23 31  0d 1d 92 11 41 44 44 20  |A,ASR #1....ADD |
00003bb0  52 2c 52 2c 23 31 3c 3c  35 0d 1d 9c 0e 42 4c 4e  |R,R,#1<<5....BLN|
00003bc0  45 20 50 49 45 43 45 0d  1d a6 0d 4c 44 52 20 43  |E PIECE....LDR C|
00003bd0  54 2c 42 42 0d 1d b0 0d  43 4d 50 20 43 54 2c 23  |T,BB....CMP CT,#|
00003be0  30 0d 1d ba 0d 4c 44 52  20 54 2c 42 58 44 0d 1d  |0....LDR T,BXD..|
00003bf0  c4 12 4d 4f 56 20 52 2c  54 2c 4c 53 4c 20 23 36  |..MOV R,T,LSL #6|
00003c00  0d 1d ce 0d 4c 44 52 20  52 41 2c 42 44 0d 1d d8  |....LDR RA,BD...|
00003c10  15 41 44 44 20 52 2c 52  2c 52 41 2c 41 53 52 20  |.ADD R,R,RA,ASR |
00003c20  23 31 0d 1d e2 11 41 44  44 20 52 2c 52 2c 23 31  |#1....ADD R,R,#1|
00003c30  3c 3c 35 0d 1d ec 0e 42  4c 4e 45 20 50 49 45 43  |<<5....BLNE PIEC|
00003c40  45 0d 1d f6 0d 4c 44 52  20 43 54 2c 43 43 0d 1e  |E....LDR CT,CC..|
00003c50  00 0d 43 4d 50 20 43 54  2c 23 30 0d 1e 0a 0d 4c  |..CMP CT,#0....L|
00003c60  44 52 20 54 2c 43 58 44  0d 1e 14 12 4d 4f 56 20  |DR T,CXD....MOV |
00003c70  4c 2c 54 2c 4c 53 4c 20  23 36 0d 1e 1e 0d 4c 44  |L,T,LSL #6....LD|
00003c80  52 20 4c 41 2c 43 44 0d  1e 28 15 41 44 44 20 4c  |R LA,CD..(.ADD L|
00003c90  2c 4c 2c 4c 41 2c 41 53  52 20 23 31 0d 1e 32 11  |,L,LA,ASR #1..2.|
00003ca0  41 44 44 20 4c 2c 4c 2c  23 31 3c 3c 35 0d 1e 3c  |ADD L,L,#1<<5..<|
00003cb0  0e 42 4c 4e 45 20 50 49  45 43 45 0d 1e 46 12 4c  |.BLNE PIECE..F.L|
00003cc0  44 4d 46 44 20 31 33 21  2c 7b 31 35 7d 0d 1e 50  |DMFD 13!,{15}..P|
00003cd0  07 2e 51 32 0d 1e 5a 10  4c 44 52 20 51 2c 44 49  |..Q2..Z.LDR Q,DI|
00003ce0  54 41 42 44 0d 1e 64 0f  53 55 42 20 54 2c 42 58  |TABD..d.SUB T,BX|
00003cf0  2c 41 58 0d 1e 6e 0f 53  55 42 20 4e 2c 42 59 2c  |,AX..n.SUB N,BY,|
00003d00  41 59 0d 1e 78 16 4c 44  52 20 4e 2c 5b 51 2c 4e  |AY..x.LDR N,[Q,N|
00003d10  2c 4c 53 4c 20 23 32 5d  0d 1e 82 0d 4d 55 4c 20  |,LSL #2]....MUL |
00003d20  4e 2c 54 2c 4e 0d 1e 8c  13 4d 4f 56 20 4e 2c 4e  |N,T,N....MOV N,N|
00003d30  2c 41 53 52 20 23 31 30  0d 1e 96 0c 53 54 52 20  |,ASR #10....STR |
00003d40  4e 2c 41 42 0d 1e a0 0f  53 55 42 20 54 2c 43 58  |N,AB....SUB T,CX|
00003d50  2c 42 58 0d 1e aa 0f 53  55 42 20 4e 2c 43 59 2c  |,BX....SUB N,CY,|
00003d60  42 59 0d 1e b4 16 4c 44  52 20 4e 2c 5b 51 2c 4e  |BY....LDR N,[Q,N|
00003d70  2c 4c 53 4c 20 23 32 5d  0d 1e be 0d 4d 55 4c 20  |,LSL #2]....MUL |
00003d80  4e 2c 54 2c 4e 0d 1e c8  13 4d 4f 56 20 4e 2c 4e  |N,T,N....MOV N,N|
00003d90  2c 41 53 52 20 23 31 30  0d 1e d2 0c 53 54 52 20  |,ASR #10....STR |
00003da0  4e 2c 42 43 0d 1e dc 0f  53 55 42 20 54 2c 44 58  |N,BC....SUB T,DX|
00003db0  2c 43 58 0d 1e e6 0f 53  55 42 20 4e 2c 44 59 2c  |,CX....SUB N,DY,|
00003dc0  43 59 0d 1e f0 16 4c 44  52 20 4e 2c 5b 51 2c 4e  |CY....LDR N,[Q,N|
00003dd0  2c 4c 53 4c 20 23 32 5d  0d 1e fa 0d 4d 55 4c 20  |,LSL #2]....MUL |
00003de0  4e 2c 54 2c 4e 0d 1f 04  13 4d 4f 56 20 4e 2c 4e  |N,T,N....MOV N,N|
00003df0  2c 41 53 52 20 23 31 30  0d 1f 0e 0c 53 54 52 20  |,ASR #10....STR |
00003e00  4e 2c 43 44 0d 1f 18 0f  53 55 42 20 54 2c 44 58  |N,CD....SUB T,DX|
00003e10  2c 41 58 0d 1f 22 0f 53  55 42 20 4e 2c 44 59 2c  |,AX..".SUB N,DY,|
00003e20  41 59 0d 1f 2c 16 4c 44  52 20 4e 2c 5b 51 2c 4e  |AY..,.LDR N,[Q,N|
00003e30  2c 4c 53 4c 20 23 32 5d  0d 1f 36 0d 4d 55 4c 20  |,LSL #2]..6.MUL |
00003e40  4e 2c 54 2c 4e 0d 1f 40  13 4d 4f 56 20 4e 2c 4e  |N,T,N..@.MOV N,N|
00003e50  2c 41 53 52 20 23 31 30  0d 1f 4a 0c 53 54 52 20  |,ASR #10..J.STR |
00003e60  4e 2c 41 44 0d 1f 54 0f  53 55 42 20 41 2c 42 59  |N,AD..T.SUB A,BY|
00003e70  2c 41 59 0d 1f 5e 0f 53  55 42 20 42 2c 43 59 2c  |,AY..^.SUB B,CY,|
00003e80  42 59 0d 1f 68 0f 53 55  42 20 43 2c 44 59 2c 43  |BY..h.SUB C,DY,C|
00003e90  59 0d 1f 72 0c 41 44 52  20 54 2c 41 41 0d 1f 7c  |Y..r.ADR T,AA..||
00003ea0  13 53 54 4d 49 41 20 54  2c 7b 41 2c 42 2c 43 7d  |.STMIA T,{A,B,C}|
00003eb0  0d 1f 86 10 4c 44 52 20  4f 2c 53 43 52 45 45 4e  |....LDR O,SCREEN|
00003ec0  0d 1f 90 0e 4c 44 52 20  43 4f 4c 2c 4b 4c 0d 1f  |....LDR COL,KL..|
00003ed0  9a 16 41 44 44 20 54 2c  41 59 2c 41 59 2c 4c 53  |..ADD T,AY,AY,LS|
00003ee0  4c 20 23 32 0d 1f a4 14  41 44 44 20 4f 2c 4f 2c  |L #2....ADD O,O,|
00003ef0  54 2c 4c 53 4c 20 23 36  0d 1f ae 17 41 44 44 20  |T,LSL #6....ADD |
00003f00  43 34 2c 43 34 2c 43 34  2c 4c 53 4c 20 23 38 0d  |C4,C4,C4,LSL #8.|
00003f10  1f b8 18 41 44 44 20 43  34 2c 43 34 2c 43 34 2c  |...ADD C4,C4,C4,|
00003f20  4c 53 4c 20 23 31 36 0d  1f c2 0d 4d 4f 56 20 43  |LSL #16....MOV C|
00003f30  31 2c 43 34 0d 1f cc 0d  4d 4f 56 20 43 32 2c 43  |1,C4....MOV C2,C|
00003f40  34 0d 1f d6 0d 4d 4f 56  20 43 33 2c 43 34 0d 1f  |4....MOV C3,C4..|
00003f50  e0 0d 4c 44 52 20 43 54  2c 41 41 0d 1f ea 0d 43  |..LDR CT,AA....C|
00003f60  4d 50 20 43 54 2c 23 30  0d 1f f4 0d 4c 44 52 20  |MP CT,#0....LDR |
00003f70  54 2c 41 58 44 0d 1f fe  12 4d 4f 56 20 4c 2c 54  |T,AXD....MOV L,T|
00003f80  2c 4c 53 4c 20 23 36 0d  20 08 12 4d 4f 56 20 52  |,LSL #6. ..MOV R|
00003f90  2c 54 2c 4c 53 4c 20 23  36 0d 20 12 0d 4c 44 52  |,T,LSL #6. ..LDR|
00003fa0  20 4c 41 2c 41 44 0d 20  1c 15 41 44 44 20 4c 2c  | LA,AD. ..ADD L,|
00003fb0  4c 2c 4c 41 2c 41 53 52  20 23 31 0d 20 26 11 41  |L,LA,ASR #1. &.A|
00003fc0  44 44 20 4c 2c 4c 2c 23  31 3c 3c 35 0d 20 30 0d  |DD L,L,#1<<5. 0.|
00003fd0  4c 44 52 20 52 41 2c 41  42 0d 20 3a 15 41 44 44  |LDR RA,AB. :.ADD|
00003fe0  20 52 2c 52 2c 52 41 2c  41 53 52 20 23 31 0d 20  | R,R,RA,ASR #1. |
00003ff0  44 11 41 44 44 20 52 2c  52 2c 23 31 3c 3c 35 0d  |D.ADD R,R,#1<<5.|
00004000  20 4e 0e 42 4c 4e 45 20  50 49 45 43 45 0d 20 58  | N.BLNE PIECE. X|
00004010  0d 4c 44 52 20 43 54 2c  42 42 0d 20 62 0d 43 4d  |.LDR CT,BB. b.CM|
00004020  50 20 43 54 2c 23 30 0d  20 6c 0d 4c 44 52 20 54  |P CT,#0. l.LDR T|
00004030  2c 42 58 44 0d 20 76 12  4d 4f 56 20 52 2c 54 2c  |,BXD. v.MOV R,T,|
00004040  4c 53 4c 20 23 36 0d 20  80 0d 4c 44 52 20 52 41  |LSL #6. ..LDR RA|
00004050  2c 42 43 0d 20 8a 15 41  44 44 20 52 2c 52 2c 52  |,BC. ..ADD R,R,R|
00004060  41 2c 41 53 52 20 23 31  0d 20 94 11 41 44 44 20  |A,ASR #1. ..ADD |
00004070  52 2c 52 2c 23 31 3c 3c  35 0d 20 9e 0e 42 4c 4e  |R,R,#1<<5. ..BLN|
00004080  45 20 50 49 45 43 45 0d  20 a8 0d 4c 44 52 20 43  |E PIECE. ..LDR C|
00004090  54 2c 43 43 0d 20 b2 0d  43 4d 50 20 43 54 2c 23  |T,CC. ..CMP CT,#|
000040a0  30 0d 20 bc 0d 4c 44 52  20 54 2c 43 58 44 0d 20  |0. ..LDR T,CXD. |
000040b0  c6 12 4d 4f 56 20 52 2c  54 2c 4c 53 4c 20 23 36  |..MOV R,T,LSL #6|
000040c0  0d 20 d0 0d 4c 44 52 20  52 41 2c 43 44 0d 20 da  |. ..LDR RA,CD. .|
000040d0  15 41 44 44 20 52 2c 52  2c 52 41 2c 41 53 52 20  |.ADD R,R,RA,ASR |
000040e0  23 31 0d 20 e4 11 41 44  44 20 52 2c 52 2c 23 31  |#1. ..ADD R,R,#1|
000040f0  3c 3c 35 0d 20 ee 0e 42  4c 4e 45 20 50 49 45 43  |<<5. ..BLNE PIEC|
00004100  45 0d 20 f8 12 4c 44 4d  46 44 20 31 33 21 2c 7b  |E. ..LDMFD 13!,{|
00004110  31 35 7d 0d 21 02 04 0d  21 0c 0a 2e 50 49 45 43  |15}.!...!...PIEC|
00004120  45 0d 21 16 12 53 54 4d  46 44 20 31 33 21 2c 7b  |E.!..STMFD 13!,{|
00004130  31 34 7d 0d 21 20 10 4c  44 52 20 54 2c 53 43 52  |14}.! .LDR T,SCR|
00004140  45 45 4e 0d 21 2a 0b 43  4d 50 20 4f 2c 54 0d 21  |EEN.!*.CMP O,T.!|
00004150  34 0d 42 48 53 20 65 63  6c 69 70 0d 21 3e 09 2e  |4.BHS eclip.!>..|
00004160  63 6c 69 70 0d 21 48 0e  41 44 44 20 4c 2c 4c 2c  |clip.!H.ADD L,L,|
00004170  4c 41 0d 21 52 0e 41 44  44 20 52 2c 52 2c 52 41  |LA.!R.ADD R,R,RA|
00004180  0d 21 5c 10 41 44 44 20  4f 2c 4f 2c 23 33 32 30  |.!\.ADD O,O,#320|
00004190  0d 21 66 11 53 55 42 53  20 43 54 2c 43 54 2c 23  |.!f.SUBS CT,CT,#|
000041a0  31 0d 21 70 14 4c 44 4d  45 51 46 44 20 31 33 21  |1.!p.LDMEQFD 13!|
000041b0  2c 7b 31 35 7d 0d 21 7a  0b 43 4d 50 20 4f 2c 54  |,{15}.!z.CMP O,T|
000041c0  0d 21 84 0c 42 4c 4f 20  63 6c 69 70 0d 21 8e 0a  |.!..BLO clip.!..|
000041d0  2e 65 63 6c 69 70 0d 21  98 16 41 44 44 20 20 20  |.eclip.!..ADD   |
000041e0  54 2c 54 2c 23 33 32 30  2a 32 35 36 0d 21 a2 0f  |T,T,#320*256.!..|
000041f0  53 55 42 53 20 20 54 2c  54 2c 4f 0d 21 ac 14 4c  |SUBS  T,T,O.!..L|
00004200  44 4d 4c 53 46 44 20 31  33 21 2c 7b 31 35 7d 0d  |DMLSFD 13!,{15}.|
00004210  21 b6 19 41 44 44 20 20  20 43 54 2c 43 54 2c 43  |!..ADD   CT,CT,C|
00004220  54 2c 4c 53 4c 20 23 32  0d 21 c0 15 43 4d 50 20  |T,LSL #2.!..CMP |
00004230  20 20 43 54 2c 54 2c 4c  53 52 20 23 36 0d 21 ca  |  CT,T,LSR #6.!.|
00004240  15 4d 4f 56 48 49 20 43  54 2c 54 2c 4c 53 52 20  |.MOVHI CT,T,LSR |
00004250  23 36 0d 21 d4 0b 43 4d  50 20 4c 2c 52 0d 21 de  |#6.!..CMP L,R.!.|
00004260  0a 42 47 54 20 52 4c 0d  21 e8 07 2e 4c 52 0d 21  |.BGT RL.!...LR.!|
00004270  f2 0c 43 4d 50 20 4c 2c  23 30 0d 21 fc 15 41 44  |..CMP L,#0.!..AD|
00004280  44 20 58 4c 2c 4f 2c 4c  2c 41 53 52 20 23 36 0d  |D XL,O,L,ASR #6.|
00004290  22 06 0e 4d 4f 56 4c 54  20 58 4c 2c 4f 0d 22 10  |"..MOVLT XL,O.".|
000042a0  0b 2e 73 70 61 6e 4c 52  0d 22 1a 11 43 4d 50 20  |..spanLR."..CMP |
000042b0  52 2c 23 33 32 30 3c 3c  36 0d 22 24 15 41 44 44  |R,#320<<6."$.ADD|
000042c0  20 58 52 2c 4f 2c 52 2c  41 53 52 20 23 36 0d 22  | XR,O,R,ASR #6."|
000042d0  2e 13 41 44 44 47 54 20  58 52 2c 4f 2c 23 33 32  |..ADDGT XR,O,#32|
000042e0  30 0d 22 38 10 53 55 42  53 20 54 2c 58 52 2c 58  |0."8.SUBS T,XR,X|
000042f0  4c 0d 22 42 11 42 4c 45  20 65 6e 64 73 70 61 6e  |L."B.BLE endspan|
00004300  4c 52 0d 22 4c 0c 43 4d  50 20 54 2c 23 32 0d 22  |LR."L.CMP T,#2."|
00004310  56 12 53 54 52 4c 53 42  20 43 31 2c 5b 58 4c 5d  |V.STRLSB C1,[XL]|
00004320  0d 22 60 16 53 54 52 4c  53 42 20 43 31 2c 5b 58  |."`.STRLSB C1,[X|
00004330  52 2c 23 2d 31 5d 0d 22  6a 11 42 4c 45 20 65 6e  |R,#-1]."j.BLE en|
00004340  64 73 70 61 6e 4c 52 0d  22 74 0f 54 53 54 20 58  |dspanLR."t.TST X|
00004350  4c 2c 23 25 30 31 0d 22  7e 15 53 54 52 4e 45 42  |L,#%01."~.STRNEB|
00004360  20 43 31 2c 5b 58 4c 5d  2c 23 31 0d 22 88 0f 54  | C1,[XL],#1."..T|
00004370  53 54 20 58 4c 2c 23 25  31 30 0d 22 92 15 53 54  |ST XL,#%10."..ST|
00004380  52 4e 45 42 20 43 32 2c  5b 58 4c 5d 2c 23 31 0d  |RNEB C2,[XL],#1.|
00004390  22 9c 15 53 54 52 4e 45  42 20 43 31 2c 5b 58 4c  |"..STRNEB C1,[XL|
000043a0  5d 2c 23 31 0d 22 a6 0f  54 53 54 20 58 52 2c 23  |],#1."..TST XR,#|
000043b0  25 30 31 0d 22 b0 17 53  54 52 4e 45 42 20 43 32  |%01."..STRNEB C2|
000043c0  2c 5b 58 52 2c 23 2d 31  5d 21 0d 22 ba 0f 54 53  |,[XR,#-1]!."..TS|
000043d0  54 20 58 52 2c 23 25 31  30 0d 22 c4 17 53 54 52  |T XR,#%10."..STR|
000043e0  4e 45 42 20 43 31 2c 5b  58 52 2c 23 2d 31 5d 21  |NEB C1,[XR,#-1]!|
000043f0  0d 22 ce 17 53 54 52 4e  45 42 20 43 32 2c 5b 58  |."..STRNEB C2,[X|
00004400  52 2c 23 2d 31 5d 21 0d  22 d8 10 53 55 42 53 20  |R,#-1]!."..SUBS |
00004410  54 2c 58 52 2c 58 4c 0d  22 e2 13 4d 4f 56 53 20  |T,XR,XL."..MOVS |
00004420  54 2c 54 2c 4c 53 52 20  23 33 0d 22 ec 14 53 54  |T,T,LSR #3."..ST|
00004430  52 43 53 20 43 31 2c 5b  58 4c 5d 2c 23 34 0d 22  |RCS C1,[XL],#4."|
00004440  f6 13 4d 4f 56 53 20 54  2c 54 2c 4c 53 52 20 23  |..MOVS T,T,LSR #|
00004450  31 0d 23 00 19 53 54 4d  43 53 49 41 20 28 58 4c  |1.#..STMCSIA (XL|
00004460  29 21 2c 7b 43 31 2c 43  32 7d 0d 23 0a 14 41 44  |)!,{C1,C2}.#..AD|
00004470  52 20 58 52 2c 65 6e 64  73 70 61 6e 4c 52 0d 23  |R XR,endspanLR.#|
00004480  14 16 53 55 42 20 50 43  2c 58 52 2c 54 2c 4c 53  |..SUB PC,XR,T,LS|
00004490  4c 20 23 32 0d 23 1e 0a  a4 56 55 4c 4c 52 0d 23  |L #2.#...VULLR.#|
000044a0  28 0e 2e 65 6e 64 73 70  61 6e 4c 52 0d 23 32 10  |(..endspanLR.#2.|
000044b0  41 44 44 20 4f 2c 4f 2c  23 33 32 30 0d 23 3c 0f  |ADD O,O,#320.#<.|
000044c0  41 44 44 53 20 4c 2c 4c  2c 4c 41 0d 23 46 15 41  |ADDS L,L,LA.#F.A|
000044d0  44 44 20 58 4c 2c 4f 2c  4c 2c 41 53 52 20 23 36  |DD XL,O,L,ASR #6|
000044e0  0d 23 50 0e 4d 4f 56 4c  54 20 58 4c 2c 4f 0d 23  |.#P.MOVLT XL,O.#|
000044f0  5a 0e 41 44 44 20 52 2c  52 2c 52 41 0d 23 64 11  |Z.ADD R,R,RA.#d.|
00004500  53 55 42 53 20 43 54 2c  43 54 2c 23 35 0d 23 6e  |SUBS CT,CT,#5.#n|
00004510  0e 42 4e 45 20 73 70 61  6e 4c 52 0d 23 78 12 4c  |.BNE spanLR.#x.L|
00004520  44 4d 46 44 20 31 33 21  2c 7b 31 35 7d 0d 23 82  |DMFD 13!,{15}.#.|
00004530  04 0d 23 8c 07 2e 52 4c  0d 23 96 0e 43 4d 50 20  |..#...RL.#..CMP |
00004540  20 20 52 2c 23 30 0d 23  a0 17 41 44 44 20 20 20  |  R,#0.#..ADD   |
00004550  58 52 2c 4f 2c 52 2c 41  53 52 20 23 36 0d 23 aa  |XR,O,R,ASR #6.#.|
00004560  0e 4d 4f 56 4c 54 20 58  52 2c 4f 0d 23 b4 0b 2e  |.MOVLT XR,O.#...|
00004570  73 70 61 6e 52 4c 0d 23  be 13 43 4d 50 20 20 20  |spanRL.#..CMP   |
00004580  4c 2c 23 33 32 30 3c 3c  36 0d 23 c8 17 41 44 44  |L,#320<<6.#..ADD|
00004590  20 20 20 58 4c 2c 4f 2c  4c 2c 41 53 52 20 23 36  |   XL,O,L,ASR #6|
000045a0  0d 23 d2 13 41 44 44 47  54 20 58 4c 2c 4f 2c 23  |.#..ADDGT XL,O,#|
000045b0  33 32 30 0d 23 dc 10 53  55 42 53 20 54 2c 58 4c  |320.#..SUBS T,XL|
000045c0  2c 58 52 0d 23 e6 11 42  4c 45 20 65 6e 64 73 70  |,XR.#..BLE endsp|
000045d0  61 6e 52 4c 0d 23 f0 0c  43 4d 50 20 54 2c 23 32  |anRL.#..CMP T,#2|
000045e0  0d 23 fa 12 53 54 52 4c  53 42 20 43 31 2c 5b 58  |.#..STRLSB C1,[X|
000045f0  52 5d 0d 24 04 16 53 54  52 4c 53 42 20 43 31 2c  |R].$..STRLSB C1,|
00004600  5b 58 4c 2c 23 2d 31 5d  0d 24 0e 11 42 4c 45 20  |[XL,#-1].$..BLE |
00004610  65 6e 64 73 70 61 6e 52  4c 0d 24 18 0f 54 53 54  |endspanRL.$..TST|
00004620  20 58 52 2c 23 25 30 31  0d 24 22 15 53 54 52 4e  | XR,#%01.$".STRN|
00004630  45 42 20 43 31 2c 5b 58  52 5d 2c 23 31 0d 24 2c  |EB C1,[XR],#1.$,|
00004640  0f 54 53 54 20 58 52 2c  23 25 31 30 0d 24 36 15  |.TST XR,#%10.$6.|
00004650  53 54 52 4e 45 42 20 43  32 2c 5b 58 52 5d 2c 23  |STRNEB C2,[XR],#|
00004660  31 0d 24 40 15 53 54 52  4e 45 42 20 43 31 2c 5b  |1.$@.STRNEB C1,[|
00004670  58 52 5d 2c 23 31 0d 24  4a 0f 54 53 54 20 58 4c  |XR],#1.$J.TST XL|
00004680  2c 23 25 30 31 0d 24 54  17 53 54 52 4e 45 42 20  |,#%01.$T.STRNEB |
00004690  43 32 2c 5b 58 4c 2c 23  2d 31 5d 21 0d 24 5e 0f  |C2,[XL,#-1]!.$^.|
000046a0  54 53 54 20 58 4c 2c 23  25 31 30 0d 24 68 17 53  |TST XL,#%10.$h.S|
000046b0  54 52 4e 45 42 20 43 31  2c 5b 58 4c 2c 23 2d 31  |TRNEB C1,[XL,#-1|
000046c0  5d 21 0d 24 72 17 53 54  52 4e 45 42 20 43 32 2c  |]!.$r.STRNEB C2,|
000046d0  5b 58 4c 2c 23 2d 31 5d  21 0d 24 7c 10 53 55 42  |[XL,#-1]!.$|.SUB|
000046e0  53 20 54 2c 58 4c 2c 58  52 0d 24 86 13 4d 4f 56  |S T,XL,XR.$..MOV|
000046f0  53 20 54 2c 54 2c 4c 53  52 20 23 33 0d 24 90 14  |S T,T,LSR #3.$..|
00004700  53 54 52 43 53 20 43 31  2c 5b 58 52 5d 2c 23 34  |STRCS C1,[XR],#4|
00004710  0d 24 9a 13 4d 4f 56 53  20 54 2c 54 2c 4c 53 52  |.$..MOVS T,T,LSR|
00004720  20 23 31 0d 24 a4 19 53  54 4d 43 53 49 41 20 28  | #1.$..STMCSIA (|
00004730  58 52 29 21 2c 7b 43 31  2c 43 32 7d 0d 24 ae 14  |XR)!,{C1,C2}.$..|
00004740  41 44 52 20 58 4c 2c 65  6e 64 73 70 61 6e 52 4c  |ADR XL,endspanRL|
00004750  0d 24 b8 16 53 55 42 20  50 43 2c 58 4c 2c 54 2c  |.$..SUB PC,XL,T,|
00004760  4c 53 4c 20 23 32 0d 24  c2 0a a4 56 55 4c 52 4c  |LSL #2.$...VULRL|
00004770  0d 24 cc 0e 2e 65 6e 64  73 70 61 6e 52 4c 0d 24  |.$...endspanRL.$|
00004780  d6 10 41 44 44 20 4f 2c  4f 2c 23 33 32 30 0d 24  |..ADD O,O,#320.$|
00004790  e0 0f 41 44 44 53 20 52  2c 52 2c 52 41 0d 24 ea  |..ADDS R,R,RA.$.|
000047a0  15 41 44 44 20 58 52 2c  4f 2c 52 2c 41 53 52 20  |.ADD XR,O,R,ASR |
000047b0  23 36 0d 24 f4 0e 4d 4f  56 4c 54 20 58 52 2c 4f  |#6.$..MOVLT XR,O|
000047c0  0d 24 fe 0e 41 44 44 20  4c 2c 4c 2c 4c 41 0d 25  |.$..ADD L,L,LA.%|
000047d0  08 11 53 55 42 53 20 43  54 2c 43 54 2c 23 35 0d  |..SUBS CT,CT,#5.|
000047e0  25 12 0e 42 4e 45 20 73  70 61 6e 52 4c 0d 25 1c  |%..BNE spanRL.%.|
000047f0  12 4c 44 4d 46 44 20 31  33 21 2c 7b 31 35 7d 0d  |.LDMFD 13!,{15}.|
00004800  25 26 05 5d 0d 25 30 05  ed 0d 25 3a 05 e1 0d 25  |%&.].%0...%:...%|
00004810  44 04 0d 25 4e 0c dd 20  a4 56 55 4c 4c 52 0d 25  |D..%N.. .VULLR.%|
00004820  58 0e e3 20 49 3d 31 20  b8 20 32 30 0d 25 62 0a  |X.. I=1 . 20.%b.|
00004830  5b 4f 50 54 20 50 0d 25  6c 1d 53 54 4d 49 41 20  |[OPT P.%l.STMIA |
00004840  28 58 4c 29 21 2c 7b 43  31 2c 43 32 2c 43 33 2c  |(XL)!,{C1,C2,C3,|
00004850  43 34 7d 0d 25 76 05 5d  0d 25 80 05 ed 0d 25 8a  |C4}.%v.].%....%.|
00004860  07 3d 22 22 0d 25 94 0c  dd 20 a4 56 55 4c 52 4c  |.="".%... .VULRL|
00004870  0d 25 9e 0e e3 20 49 3d  31 20 b8 20 32 30 0d 25  |.%... I=1 . 20.%|
00004880  a8 0a 5b 4f 50 54 20 50  0d 25 b2 1d 53 54 4d 49  |..[OPT P.%..STMI|
00004890  41 20 28 58 52 29 21 2c  7b 43 31 2c 43 32 2c 43  |A (XR)!,{C1,C2,C|
000048a0  33 2c 43 34 7d 0d 25 bc  05 5d 0d 25 c6 05 ed 0d  |3,C4}.%..].%....|
000048b0  25 d0 07 3d 22 22 0d ff                           |%..=""..|
000048b8