Home » Archimedes archive » Acorn User » AU 1993-09.adf » !3DGraphic_3DGraphic » Source/SWI00
Source/SWI00
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 1993-09.adf » !3DGraphic_3DGraphic |
Filename: | Source/SWI00 |
Read OK: | ✔ |
File size: | 2210 bytes |
Load address: | 0000 |
Exec address: | 0000 |
Duplicates
There are 2 duplicate copies of this file in the archive:
- Archimedes archive » Acorn User » AU 1993-10.adf » !3DGraphic_3DGraphic » Source/SWI00
- Archimedes archive » Acorn User » AU 1993-08.adf » !3DGraphic_3DGraphic » Source/SWI00
- Archimedes archive » Acorn User » AU 1993-09.adf » !3DGraphic_3DGraphic » Source/SWI00
File contents
10REM >Source.SWI00 20REM BAU3D_Plot source 30REM by DCA 40REM for 32-bit machines 50REM (c) BAU July 1993 60: 70DEF FNswi00_name 80="Plot" 90: 100DEF FNswi00_vars 110vdu_out=FNwk(0) 120ScreenStart=FNwk(4) 130XEigFactor=FNwk(4) 140YEigFactor=FNwk(4) 150LineLength=FNwk(4) 160GWLCol=FNwk(4) 170GWBRow=FNwk(4) 180GWRCol=FNwk(4) 190GWTRow=FNwk(4) 200YWindLimit=FNwk(4) 210Log2BPP=FNwk(4) 220OrgX=FNwk(4) 230OrgY=FNwk(4) 240max_vert=256 250vertices=FNwk(8*max_vert) 260max_y=1024 270ytab=FNwk(8*max_y) 280=0 290: 300DEF FNswi00_code 310[OPT pass% 320 STMFD (sp)!,{r0-r12,link} 330 MOV r6,r0 340 MOV r5,r1 350 ADR r0,vdu_in 360 ADD r1,wp,#vdu_out 370 SWI "XOS_ReadVduVariables" 380 TST r3,#%100 390 BNE os_plot 400 MOV r1,#0 410 MVN r3,#0 420 MOV r2,#&1000000 430 MOV r0,r5 440 ADD r14,wp,#XEigFactor 450 LDMIA r14,{r10,r11} 460 ADD r7,wp,#vertices 470.findminandmax 480 LDMIA r0!,{r8,r9} 490 LDR r14,[wp,#OrgX] 500 ADD r8,r8,r14 510 LDR r14,[wp,#OrgY] 520 ADD r9,r9,r14 530 MOV r8,r8,ASR r10 540 MOV r9,r9,ASR r11 550 STMIA r7!,{r8,r9} 560 CMP r9,r2 570 MOVLT r2,r9 580 MOVLT r4,r1 590 CMP r9,r3 600 MOVGT r3,r9 610 ADD r1,r1,#1 620 CMP r1,r6 630 BNE findminandmax 640 LDR r14,[wp,#GWBRow] 650 CMP r3,r14 660 LDMLTFD (sp)!,{r0-r12,pc} 670 LDR r14,[wp,#GWTRow] 680 CMP r2,r14 690 LDMGEFD (sp)!,{r0-r12,pc} 700 MOV r1,r6 710 ADD r5,wp,#vertices 720 FNadrl(11,ytab) 730.faceloop 740 ADD r0,r5,r4,ASL #3 750 LDMIA r0,{r7,r8} 760 CMP r8,r3 770 FNadreql(11,ytab+4) 780 ADD r0,r4,#1 790 CMP r0,r6 800 MOVEQ r0,#0 810 ADD r0,r5,r0,ASL #3 820 LDMIA r0,{r9,r10} 830 BL line 840 ADD r4,r4,#1 850 CMP r4,r6 860 MOVEQ r4,#0 870 SUBS r1,r1,#1 880 BNE faceloop 890 LDR r14,[wp,#GWBRow] 900 CMP r2,r14 910 MOVLT r2,r14 920 LDR r14,[wp,#GWTRow] 930 CMP r3,r14 940 MOVGT r3,r14 950 LDR r0,[sp,#2*4] 960 LDR r1,[sp,#3*4] 970 AND r1,r1,#%11 980 ADD pc,pc,r1,LSL #3 990 DCD 0 1000 B got_colour 1010 DCD 0 1020 SWI "XColourTrans_GCOLToColourNumber" 1030 B got_colour 1040 SWI "XColourTrans_ReturnColourNumber" 1050 B got_colour 1060 MOV r0,#255 1070.got_colour 1080 MOV r7,r0 1090 LDR r0,[wp,#Log2BPP] 1100 MOV r1,#1 1110 MOV r0,r1,LSL r0 1120 MOV r1,r1,ASL r0 1130 SUB r1,r1,#1 1140 AND r7,r7,r1 1150.make_into_word 1160 ORR r7,r7,r7,LSL r0 1170 MOV r0,r0,LSL #1 1180 CMP r0,#32 1190 BLT make_into_word 1200 MOV r4,r7 1210 MOV r5,r7 1220 MOV r6,r7 1230.fill_loop 1240 FNadrl(14,ytab) 1250 ADD r14,r14,r2,ASL #3 1260 LDMIA r14,{r8,r10} 1270 CMP r8,r10 1280 EORGT r8,r8,r10 1290 EORGT r10,r8,r10 1300 EORGT r8,r8,r10 1310 LDR r14,[wp,#GWLCol] 1320 CMP r10,r14 1330 BLT filled 1340 CMP r8,r14 1350 MOVLT r8,r14 1360 LDR r14,[wp,#GWRCol] 1370 CMP r8,r14 1380 BGE filled 1390 CMP r10,r14 1400 MOVGT r10,r14 1410 ADD r10,r10,#1 1420 LDR r14,[wp,#Log2BPP] 1430 MOV r10,r10,LSL r14 1440 MOV r8,r8,LSL r14 1450 AND r1,r8,#31 1460 MVN r0,#0 1470 MOV r0,r0,LSR r1 1480 MOV r1,r0,LSL r1 1490 BIC r8,r8,#31 1500 SUBS r10,r10,r8 1510 BLE filled 1520 MOV r8,r8,LSR #3 1530 LDR r9,[wp,#ScreenStart] 1540 LDR r14,[wp,#YWindLimit] 1550 RSB r0,r2,r14 1560 LDR r14,[wp,#LineLength] 1570 MLA r9,r0,r14,r9 1580 ADD r9,r9,r8 1590 CMP r10,#32 1600 RSBLE r14,r10,#32 1610 MOVLE r1,r1,LSL r14 1620 MOVLE r1,r1,LSR r14 1630 LDR r14,[r9] 1640 BIC r14,r14,r1 1650 AND r1,r4,r1 1660 ORR r14,r14,r1 1670 STR r14,[r9],#4 1680 SUBS r10,r10,#32 1690 BLE filled 1700.fill_loop2 1710 CMP r10,#128 1720 STMGEIA r9!,{r4-r7} 1730 SUBGE r10,r10,#128 1740 BGE fill_loop2 1750 CMP r10,#64 1760 STMGEIA r9!,{r4-r5} 1770 SUBGE r10,r10,#64 1780 CMP r10,#32 1790 STRGE r4,[r9],#4 1800 SUBGE r10,r10,#32 1810.finish_fill 1820 CMP r10,#0 1830 BLE filled 1840 MVN r0,#0 1850 LDR r14,[r9] 1860 AND r14,r14,r0,LSL r10 1870 RSB r10,r10,#32 1880 ORR r14,r14,r4,LSR r10 1890 STR r14,[r9] 1900.filled 1910 ADD r2,r2,#1 1920 CMP r2,r3 1930 BLE fill_loop 1940 LDMFD (sp)!,{r0-r12,pc} 1950 1960.os_plot 1970 MOV r0,r2 1980 AND r14,r3,#%11 1990 CMP r14,#3 2000 ADDLT pc,pc,r14,LSL #3 2010 B dont_set_colour 2020 SWI "XColourTrans_ColourNumberToGCOL" 2030 B set_colour 2040 B set_colour 2050 DCD 0 2060 SWI "XColourTrans_ReturnGCOL" 2070 B set_colour 2080.set_colour 2090 MOV r7,r0 2100 LDR r8,[wp,#Log2BPP] 2110 CMP r8,#3 2120 MOVEQ r0,r0,LSR #2 2130 SWI &100+18 2140 SWI &100+0 2150 SWI "XOS_WriteC" 2160 CMP r8,#3 2170 BNE dont_set_colour 2180 SUB sp,sp,#12 2190 ADR r14,tint_vdu 2200 LDMIA r14,{r9-r11} 2210 AND r0,r7,#3 2220 ORR r9,r9,r0,LSL #30 2230 STMIA sp,{r9-r11} 2240 MOV r0,sp 2250 MOV r1,#10 2260 SWI "XOS_WriteN" 2270 ADD sp,sp,#12 2280.dont_set_colour 2290 MOV r4,#1 2300 SUB r6,r6,#2 2310.os_plot_loop 2320 MOV r0,#4 2330 LDMIA r5,{r1,r2} 2340 SWI "XOS_Plot" 2350 ADD r10,r5,r4,LSL #3 2360 LDMIA r10!,{r1,r2} 2370 SWI "XOS_Plot" 2380 MOV r0,#85 2390 LDMIA r10,{r1,r2} 2400 SWI "XOS_Plot" 2410 ADD r4,r4,#1 2420 SUBS r6,r6,#1 2430 BGT os_plot_loop 2440 LDMFD (sp)!,{r0-r12,pc} 2450 2460.tint_vdu 2470 DCB 23 2480 DCB 17 2490 DCB 2 2500 DCB 0 2510 DCD 0 2520 DCD 0 2530 2540.line STMFD (sp)!,{r1-r6,link} 2550 CMP r8,r10 2560 STMGEFD (sp)!,{r7-r10} 2570 LDMGEFD (sp)!,{r9-r10} 2580 LDMGEFD (sp)!,{r7-r8} 2590 SUBS r5,r9,r7 2600 RSBMI r5,r5,#0 2610 SUBS r6,r10,r8 2620 CMP r6,r5 2630 BGT line2 2640 2650 RSB r2,r5,r6,ASL #1 2660 SUB r4,r6,r5 2670 CMP r8,r10 2680 MOVGE r5,#1 2690 MVNLT r5,#0 2700 CMP r7,r9 2710 MOVGT r3,r7 2720 MOVGT r7,r9 2730 MOVGT r8,r10 2740 RSBLE r5,r5,#0 2750 MOVLE r3,r9 2760.line_loop 2770 CMP r8,#max_y 2780 STRLO r7,[r11,r8,ASL #3] 2790 CMP r7,r3 2800 LDMGEFD (sp)!,{r1-r6,pc} 2810 ADD r7,r7,#1 2820 CMP r2,#0 2830 ADDLT r2,r2,r6,ASL #1 2840 ADDGE r8,r8,r5 2850 ADDGE r2,r2,r4,ASL #1 2860 B line_loop 2870 2880.line2 2890 RSB r2,r6,r5,ASL #1 2900 SUB r4,r5,r6 2910 CMP r7,r9 2920 MOVGE r6,#1 2930 MVNLT r6,#0 2940 CMP r8,r10 2950 MOVGT r3,r8 2960 MOVGT r8,r10 2970 MOVGT r7,r9 2980 RSBLE r6,r6,#0 2990 MOVLE r3,r10 3000.line_loop2 3010 CMP r8,#max_y 3020 STRLO r7,[r11,r8,ASL #3] 3030 CMP r8,r3 3040 LDMGEFD (sp)!,{r1-r6,pc} 3050 ADD r8,r8,#1 3060 CMP r2,#0 3070 ADDLT r2,r2,r5,ASL #1 3080 ADDGE r7,r7,r6 3090 ADDGE r2,r2,r4,ASL #1 3100 B line_loop2 3110 3120.vdu_in DCD 148 3130 DCD 4 3140 DCD 5 3150 DCD 6 3160 DCD 128 3170 DCD 129 3180 DCD 130 3190 DCD 131 3200 DCD 12 3210 DCD 9 3220 DCD 136 3230 DCD 137 3240 DCD -1 3250] 3260=0
� >Source.SWI00 � BAU3D_Plot source � by DCA (� for 32-bit machines 2� (c) BAU July 1993 <: F� �swi00_name P="Plot" Z: d� �swi00_vars nvdu_out=�wk(0) xScreenStart=�wk(4) �XEigFactor=�wk(4) �YEigFactor=�wk(4) �LineLength=�wk(4) �GWLCol=�wk(4) �GWBRow=�wk(4) �GWRCol=�wk(4) �GWTRow=�wk(4) �YWindLimit=�wk(4) �Log2BPP=�wk(4) �OrgX=�wk(4) �OrgY=�wk(4) �max_vert=256 �vertices=�wk(8*max_vert) max_y=1024 ytab=�wk(8*max_y) =0 ": ,� �swi00_code 6[OPT pass% @' STMFD (sp)!,{r0-r12,link} J MOV r6,r0 T MOV r5,r1 ^ ADR r0,vdu_in h" ADD r1,wp,#vdu_out r* SWI "XOS_ReadVduVariables" | TST r3,#%100 � BNE os_plot � MOV r1,#0 � MVN r3,#0 � MOV r2,#&1000000 � MOV r0,r5 �& ADD r14,wp,#XEigFactor �! LDMIA r14,{r10,r11} �# ADD r7,wp,#vertices �.findminandmax � LDMIA r0!,{r8,r9} �" LDR r14,[wp,#OrgX] � ADD r8,r8,r14 �" LDR r14,[wp,#OrgY] ADD r9,r9,r14 ! MOV r8,r8,ASR r10 ! MOV r9,r9,ASR r11 & STMIA r7!,{r8,r9} 0 CMP r9,r2 : MOVLT r2,r9 D MOVLT r4,r1 N CMP r9,r3 X MOVGT r3,r9 b ADD r1,r1,#1 l CMP r1,r6 v! BNE findminandmax �$ LDR r14,[wp,#GWBRow] � CMP r3,r14 �% LDMLTFD (sp)!,{r0-r12,pc} �$ LDR r14,[wp,#GWTRow] � CMP r2,r14 �% LDMGEFD (sp)!,{r0-r12,pc} � MOV r1,r6 �# ADD r5,wp,#vertices � �adrl(11,ytab) � .faceloop �# ADD r0,r5,r4,ASL #3 � LDMIA r0,{r7,r8} � CMP r8,r3 �adreql(11,ytab+4) ADD r0,r4,#1 CMP r0,r6 �Q r0,#0 *# ADD r0,r5,r0,ASL #3 4 LDMIA r0,{r9,r10} > BL line H ADD r4,r4,#1 R CMP r4,r6 \ �Q r4,#0 f SUBS r1,r1,#1 p BNE faceloop z$ LDR r14,[wp,#GWBRow] � CMP r2,r14 � MOVLT r2,r14 �$ LDR r14,[wp,#GWTRow] � CMP r3,r14 � MOVGT r3,r14 � LDR r0,[sp,#2*4] � LDR r1,[sp,#3*4] � � r1,r1,#%11 �# ADD pc,pc,r1,LSL #3 � DCD 0 � B got_colour � DCD 0 �5 SWI "XColourTrans_GCOLToColourNumber" B got_colour 5 SWI "XColourTrans_ReturnColourNumber" B got_colour $ MOV r0,#255 ..got_colour 8 MOV r7,r0 B$ LDR r0,[wp,#Log2BPP] L MOV r1,#1 V MOV r0,r1,LSL r0 ` MOV r1,r1,ASL r0 j SUB r1,r1,#1 t � r7,r7,r1 ~.make_into_word �" �R r7,r7,r7,LSL r0 � MOV r0,r0,LSL #1 � CMP r0,#32 �" BLT make_into_word � MOV r4,r7 � MOV r5,r7 � MOV r6,r7 �.fill_loop � �adrl(14,ytab) �% ADD r14,r14,r2,ASL #3 � LDMIA r14,{r8,r10} � CMP r8,r10 �GT r8,r8,r10 �GT r10,r8,r10 �GT r8,r8,r10 $ LDR r14,[wp,#GWLCol] ( CMP r10,r14 2 BLT filled < CMP r8,r14 F MOVLT r8,r14 P$ LDR r14,[wp,#GWRCol] Z CMP r8,r14 d BGE filled n CMP r10,r14 x MOVGT r10,r14 � ADD r10,r10,#1 �% LDR r14,[wp,#Log2BPP] �# MOV r10,r10,LSL r14 �! MOV r8,r8,LSL r14 � � r1,r8,#31 � MVN r0,#0 � MOV r0,r0,LSR r1 � MOV r1,r0,LSL r1 � BIC r8,r8,#31 � SUBS r10,r10,r8 � BLE filled � MOV r8,r8,LSR #3 �( LDR r9,[wp,#ScreenStart] ( LDR r14,[wp,#YWindLimit] RSB r0,r2,r14 ( LDR r14,[wp,#LineLength] " MLA r9,r0,r14,r9 , ADD r9,r9,r8 6 CMP r10,#32 @ RSBLE r14,r10,#32 J! MOVLE r1,r1,LSL r14 T! MOVLE r1,r1,LSR r14 ^ LDR r14,[r9] h BIC r14,r14,r1 r � r1,r4,r1 | �R r14,r14,r1 � STR r14,[r9],#4 � SUBS r10,r10,#32 � BLE filled �.fill_loop2 � CMP r10,#128 � STMGEIA r9!,{r4-r7} � SUBGE r10,r10,#128 � BGE fill_loop2 � CMP r10,#64 � STMGEIA r9!,{r4-r5} � SUBGE r10,r10,#64 � CMP r10,#32 � STRGE r4,[r9],#4 SUBGE r10,r10,#32 .finish_fill CMP r10,#0 & BLE filled 0 MVN r0,#0 : LDR r14,[r9] D$ � r14,r14,r0,LSL r10 N RSB r10,r10,#32 X% �R r14,r14,r4,LSR r10 b STR r14,[r9] l.filled v ADD r2,r2,#1 � CMP r2,r3 � BLE fill_loop �% LDMFD (sp)!,{r0-r12,pc} � �.os_plot � MOV r0,r2 � � r14,r3,#%11 � CMP r14,#3 �$ ADDLT pc,pc,r14,LSL #3 �# B dont_set_colour �5 SWI "XColourTrans_ColourNumberToGCOL" � B set_colour � B set_colour DCD 0 - SWI "XColourTrans_ReturnGCOL" B set_colour .set_colour * MOV r7,r0 4$ LDR r8,[wp,#Log2BPP] > CMP r8,#3 H �Q r0,r0,LSR #2 R SWI &100+18 \ SWI &100+0 f SWI "XOS_WriteC" p CMP r8,#3 z# BNE dont_set_colour � SUB sp,sp,#12 � ADR r14,tint_vdu � LDMIA r14,{r9-r11} � � r0,r7,#3 �# �R r9,r9,r0,LSL #30 � STMIA sp,{r9-r11} � MOV r0,sp � MOV r1,#10 � SWI "XOS_WriteN" � ADD sp,sp,#12 �.dont_set_colour � MOV r4,#1 � SUB r6,r6,#2 .os_plot_loop MOV r0,#4 LDMIA r5,{r1,r2} $ SWI "XOS_Plot" .$ ADD r10,r5,r4,LSL #3 8 LDMIA r10!,{r1,r2} B SWI "XOS_Plot" L MOV r0,#85 V LDMIA r10,{r1,r2} ` SWI "XOS_Plot" j ADD r4,r4,#1 t SUBS r6,r6,#1 ~ BGT os_plot_loop �% LDMFD (sp)!,{r0-r12,pc} � � .tint_vdu � DCB 23 � DCB 17 � DCB 2 � DCB 0 � DCD 0 � DCD 0 � �&.line STMFD (sp)!,{r1-r6,link} � CMP r8,r10 " STMGEFD (sp)!,{r7-r10} " LDMGEFD (sp)!,{r9-r10} ! LDMGEFD (sp)!,{r7-r8} SUBS r5,r9,r7 ( RSBMI r5,r5,#0 2 SUBS r6,r10,r8 < CMP r6,r5 F BGT line2 P Z# RSB r2,r5,r6,ASL #1 d SUB r4,r6,r5 n CMP r8,r10 x MOVGE r5,#1 � MVNLT r5,#0 � CMP r7,r9 � MOVGT r3,r7 � MOVGT r7,r9 � MOVGT r8,r10 � RSBLE r5,r5,#0 � MOVLE r3,r9 �.line_loop � CMP r8,#max_y �& STRLO r7,[r11,r8,ASL #3] � CMP r7,r3 �$ LDMGEFD (sp)!,{r1-r6,pc} � ADD r7,r7,#1 CMP r2,#0 # ADDLT r2,r2,r6,ASL #1 ADDGE r8,r8,r5 "# ADDGE r2,r2,r4,ASL #1 , B line_loop 6 @ .line2 J# RSB r2,r6,r5,ASL #1 T SUB r4,r5,r6 ^ CMP r7,r9 h MOVGE r6,#1 r MVNLT r6,#0 | CMP r8,r10 � MOVGT r3,r8 � MOVGT r8,r10 � MOVGT r7,r9 � RSBLE r6,r6,#0 � MOVLE r3,r10 �.line_loop2 � CMP r8,#max_y �& STRLO r7,[r11,r8,ASL #3] � CMP r8,r3 �$ LDMGEFD (sp)!,{r1-r6,pc} � ADD r8,r8,#1 � CMP r2,#0 �# ADDLT r2,r2,r5,ASL #1 ADDGE r7,r7,r6 # ADDGE r2,r2,r4,ASL #1 B line_loop2 & 0.vdu_in DCD 148 : DCD 4 D DCD 5 N DCD 6 X DCD 128 b DCD 129 l DCD 130 v DCD 131 � DCD 12 � DCD 9 � DCD 136 � DCD 137 � DCD -1 �] �=0 �
00000000 0d 00 0a 13 f4 20 3e 53 6f 75 72 63 65 2e 53 57 |..... >Source.SW| 00000010 49 30 30 0d 00 14 17 f4 20 42 41 55 33 44 5f 50 |I00..... BAU3D_P| 00000020 6c 6f 74 20 73 6f 75 72 63 65 0d 00 1e 0c f4 20 |lot source..... | 00000030 62 79 20 44 43 41 0d 00 28 19 f4 20 66 6f 72 20 |by DCA..(.. for | 00000040 33 32 2d 62 69 74 20 6d 61 63 68 69 6e 65 73 0d |32-bit machines.| 00000050 00 32 17 f4 20 28 63 29 20 42 41 55 20 4a 75 6c |.2.. (c) BAU Jul| 00000060 79 20 31 39 39 33 0d 00 3c 05 3a 0d 00 46 11 dd |y 1993..<.:..F..| 00000070 20 a4 73 77 69 30 30 5f 6e 61 6d 65 0d 00 50 0b | .swi00_name..P.| 00000080 3d 22 50 6c 6f 74 22 0d 00 5a 05 3a 0d 00 64 11 |="Plot"..Z.:..d.| 00000090 dd 20 a4 73 77 69 30 30 5f 76 61 72 73 0d 00 6e |. .swi00_vars..n| 000000a0 12 76 64 75 5f 6f 75 74 3d a4 77 6b 28 30 29 0d |.vdu_out=.wk(0).| 000000b0 00 78 16 53 63 72 65 65 6e 53 74 61 72 74 3d a4 |.x.ScreenStart=.| 000000c0 77 6b 28 34 29 0d 00 82 15 58 45 69 67 46 61 63 |wk(4)....XEigFac| 000000d0 74 6f 72 3d a4 77 6b 28 34 29 0d 00 8c 15 59 45 |tor=.wk(4)....YE| 000000e0 69 67 46 61 63 74 6f 72 3d a4 77 6b 28 34 29 0d |igFactor=.wk(4).| 000000f0 00 96 15 4c 69 6e 65 4c 65 6e 67 74 68 3d a4 77 |...LineLength=.w| 00000100 6b 28 34 29 0d 00 a0 11 47 57 4c 43 6f 6c 3d a4 |k(4)....GWLCol=.| 00000110 77 6b 28 34 29 0d 00 aa 11 47 57 42 52 6f 77 3d |wk(4)....GWBRow=| 00000120 a4 77 6b 28 34 29 0d 00 b4 11 47 57 52 43 6f 6c |.wk(4)....GWRCol| 00000130 3d a4 77 6b 28 34 29 0d 00 be 11 47 57 54 52 6f |=.wk(4)....GWTRo| 00000140 77 3d a4 77 6b 28 34 29 0d 00 c8 15 59 57 69 6e |w=.wk(4)....YWin| 00000150 64 4c 69 6d 69 74 3d a4 77 6b 28 34 29 0d 00 d2 |dLimit=.wk(4)...| 00000160 12 4c 6f 67 32 42 50 50 3d a4 77 6b 28 34 29 0d |.Log2BPP=.wk(4).| 00000170 00 dc 0f 4f 72 67 58 3d a4 77 6b 28 34 29 0d 00 |...OrgX=.wk(4)..| 00000180 e6 0f 4f 72 67 59 3d a4 77 6b 28 34 29 0d 00 f0 |..OrgY=.wk(4)...| 00000190 10 6d 61 78 5f 76 65 72 74 3d 32 35 36 0d 00 fa |.max_vert=256...| 000001a0 1c 76 65 72 74 69 63 65 73 3d a4 77 6b 28 38 2a |.vertices=.wk(8*| 000001b0 6d 61 78 5f 76 65 72 74 29 0d 01 04 0e 6d 61 78 |max_vert)....max| 000001c0 5f 79 3d 31 30 32 34 0d 01 0e 15 79 74 61 62 3d |_y=1024....ytab=| 000001d0 a4 77 6b 28 38 2a 6d 61 78 5f 79 29 0d 01 18 06 |.wk(8*max_y)....| 000001e0 3d 30 0d 01 22 05 3a 0d 01 2c 11 dd 20 a4 73 77 |=0..".:..,.. .sw| 000001f0 69 30 30 5f 63 6f 64 65 0d 01 36 0e 5b 4f 50 54 |i00_code..6.[OPT| 00000200 20 70 61 73 73 25 0d 01 40 27 20 20 20 20 20 20 | pass%..@' | 00000210 20 20 53 54 4d 46 44 20 20 20 28 73 70 29 21 2c | STMFD (sp)!,| 00000220 7b 72 30 2d 72 31 32 2c 6c 69 6e 6b 7d 0d 01 4a |{r0-r12,link}..J| 00000230 19 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 |. MOV | 00000240 20 72 36 2c 72 30 0d 01 54 19 20 20 20 20 20 20 | r6,r0..T. | 00000250 20 20 4d 4f 56 20 20 20 20 20 72 35 2c 72 31 0d | MOV r5,r1.| 00000260 01 5e 1d 20 20 20 20 20 20 20 20 41 44 52 20 20 |.^. ADR | 00000270 20 20 20 72 30 2c 76 64 75 5f 69 6e 0d 01 68 22 | r0,vdu_in..h"| 00000280 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 20 | ADD | 00000290 72 31 2c 77 70 2c 23 76 64 75 5f 6f 75 74 0d 01 |r1,wp,#vdu_out..| 000002a0 72 2a 20 20 20 20 20 20 20 20 53 57 49 20 20 20 |r* SWI | 000002b0 20 20 22 58 4f 53 5f 52 65 61 64 56 64 75 56 61 | "XOS_ReadVduVa| 000002c0 72 69 61 62 6c 65 73 22 0d 01 7c 1c 20 20 20 20 |riables"..|. | 000002d0 20 20 20 20 54 53 54 20 20 20 20 20 72 33 2c 23 | TST r3,#| 000002e0 25 31 30 30 0d 01 86 1b 20 20 20 20 20 20 20 20 |%100.... | 000002f0 42 4e 45 20 20 20 20 20 6f 73 5f 70 6c 6f 74 0d |BNE os_plot.| 00000300 01 90 19 20 20 20 20 20 20 20 20 4d 4f 56 20 20 |... MOV | 00000310 20 20 20 72 31 2c 23 30 0d 01 9a 19 20 20 20 20 | r1,#0.... | 00000320 20 20 20 20 4d 56 4e 20 20 20 20 20 72 33 2c 23 | MVN r3,#| 00000330 30 0d 01 a4 20 20 20 20 20 20 20 20 20 4d 4f 56 |0... MOV| 00000340 20 20 20 20 20 72 32 2c 23 26 31 30 30 30 30 30 | r2,#&100000| 00000350 30 0d 01 ae 19 20 20 20 20 20 20 20 20 4d 4f 56 |0.... MOV| 00000360 20 20 20 20 20 72 30 2c 72 35 0d 01 b8 26 20 20 | r0,r5...& | 00000370 20 20 20 20 20 20 41 44 44 20 20 20 20 20 72 31 | ADD r1| 00000380 34 2c 77 70 2c 23 58 45 69 67 46 61 63 74 6f 72 |4,wp,#XEigFactor| 00000390 0d 01 c2 21 20 20 20 20 20 20 20 20 4c 44 4d 49 |...! LDMI| 000003a0 41 20 20 20 72 31 34 2c 7b 72 31 30 2c 72 31 31 |A r14,{r10,r11| 000003b0 7d 0d 01 cc 23 20 20 20 20 20 20 20 20 41 44 44 |}...# ADD| 000003c0 20 20 20 20 20 72 37 2c 77 70 2c 23 76 65 72 74 | r7,wp,#vert| 000003d0 69 63 65 73 0d 01 d6 12 2e 66 69 6e 64 6d 69 6e |ices.....findmin| 000003e0 61 6e 64 6d 61 78 0d 01 e0 1f 20 20 20 20 20 20 |andmax.... | 000003f0 20 20 4c 44 4d 49 41 20 20 20 72 30 21 2c 7b 72 | LDMIA r0!,{r| 00000400 38 2c 72 39 7d 0d 01 ea 22 20 20 20 20 20 20 20 |8,r9}..." | 00000410 20 4c 44 52 20 20 20 20 20 72 31 34 2c 5b 77 70 | LDR r14,[wp| 00000420 2c 23 4f 72 67 58 5d 0d 01 f4 1d 20 20 20 20 20 |,#OrgX].... | 00000430 20 20 20 41 44 44 20 20 20 20 20 72 38 2c 72 38 | ADD r8,r8| 00000440 2c 72 31 34 0d 01 fe 22 20 20 20 20 20 20 20 20 |,r14..." | 00000450 4c 44 52 20 20 20 20 20 72 31 34 2c 5b 77 70 2c |LDR r14,[wp,| 00000460 23 4f 72 67 59 5d 0d 02 08 1d 20 20 20 20 20 20 |#OrgY].... | 00000470 20 20 41 44 44 20 20 20 20 20 72 39 2c 72 39 2c | ADD r9,r9,| 00000480 72 31 34 0d 02 12 21 20 20 20 20 20 20 20 20 4d |r14...! M| 00000490 4f 56 20 20 20 20 20 72 38 2c 72 38 2c 41 53 52 |OV r8,r8,ASR| 000004a0 20 72 31 30 0d 02 1c 21 20 20 20 20 20 20 20 20 | r10...! | 000004b0 4d 4f 56 20 20 20 20 20 72 39 2c 72 39 2c 41 53 |MOV r9,r9,AS| 000004c0 52 20 72 31 31 0d 02 26 1f 20 20 20 20 20 20 20 |R r11..&. | 000004d0 20 53 54 4d 49 41 20 20 20 72 37 21 2c 7b 72 38 | STMIA r7!,{r8| 000004e0 2c 72 39 7d 0d 02 30 19 20 20 20 20 20 20 20 20 |,r9}..0. | 000004f0 43 4d 50 20 20 20 20 20 72 39 2c 72 32 0d 02 3a |CMP r9,r2..:| 00000500 19 20 20 20 20 20 20 20 20 4d 4f 56 4c 54 20 20 |. MOVLT | 00000510 20 72 32 2c 72 39 0d 02 44 19 20 20 20 20 20 20 | r2,r9..D. | 00000520 20 20 4d 4f 56 4c 54 20 20 20 72 34 2c 72 31 0d | MOVLT r4,r1.| 00000530 02 4e 19 20 20 20 20 20 20 20 20 43 4d 50 20 20 |.N. CMP | 00000540 20 20 20 72 39 2c 72 33 0d 02 58 19 20 20 20 20 | r9,r3..X. | 00000550 20 20 20 20 4d 4f 56 47 54 20 20 20 72 33 2c 72 | MOVGT r3,r| 00000560 39 0d 02 62 1c 20 20 20 20 20 20 20 20 41 44 44 |9..b. ADD| 00000570 20 20 20 20 20 72 31 2c 72 31 2c 23 31 0d 02 6c | r1,r1,#1..l| 00000580 19 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 |. CMP | 00000590 20 72 31 2c 72 36 0d 02 76 21 20 20 20 20 20 20 | r1,r6..v! | 000005a0 20 20 42 4e 45 20 20 20 20 20 66 69 6e 64 6d 69 | BNE findmi| 000005b0 6e 61 6e 64 6d 61 78 0d 02 80 24 20 20 20 20 20 |nandmax...$ | 000005c0 20 20 20 4c 44 52 20 20 20 20 20 72 31 34 2c 5b | LDR r14,[| 000005d0 77 70 2c 23 47 57 42 52 6f 77 5d 0d 02 8a 1a 20 |wp,#GWBRow].... | 000005e0 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 72 | CMP r| 000005f0 33 2c 72 31 34 0d 02 94 25 20 20 20 20 20 20 20 |3,r14...% | 00000600 20 4c 44 4d 4c 54 46 44 20 28 73 70 29 21 2c 7b | LDMLTFD (sp)!,{| 00000610 72 30 2d 72 31 32 2c 70 63 7d 0d 02 9e 24 20 20 |r0-r12,pc}...$ | 00000620 20 20 20 20 20 20 4c 44 52 20 20 20 20 20 72 31 | LDR r1| 00000630 34 2c 5b 77 70 2c 23 47 57 54 52 6f 77 5d 0d 02 |4,[wp,#GWTRow]..| 00000640 a8 1a 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 |.. CMP | 00000650 20 20 72 32 2c 72 31 34 0d 02 b2 25 20 20 20 20 | r2,r14...% | 00000660 20 20 20 20 4c 44 4d 47 45 46 44 20 28 73 70 29 | LDMGEFD (sp)| 00000670 21 2c 7b 72 30 2d 72 31 32 2c 70 63 7d 0d 02 bc |!,{r0-r12,pc}...| 00000680 19 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 |. MOV | 00000690 20 72 31 2c 72 36 0d 02 c6 23 20 20 20 20 20 20 | r1,r6...# | 000006a0 20 20 41 44 44 20 20 20 20 20 72 35 2c 77 70 2c | ADD r5,wp,| 000006b0 23 76 65 72 74 69 63 65 73 0d 02 d0 1a 20 20 20 |#vertices.... | 000006c0 20 20 20 20 20 a4 61 64 72 6c 28 31 31 2c 79 74 | .adrl(11,yt| 000006d0 61 62 29 0d 02 da 0d 2e 66 61 63 65 6c 6f 6f 70 |ab).....faceloop| 000006e0 0d 02 e4 23 20 20 20 20 20 20 20 20 41 44 44 20 |...# ADD | 000006f0 20 20 20 20 72 30 2c 72 35 2c 72 34 2c 41 53 4c | r0,r5,r4,ASL| 00000700 20 23 33 0d 02 ee 1e 20 20 20 20 20 20 20 20 4c | #3.... L| 00000710 44 4d 49 41 20 20 20 72 30 2c 7b 72 37 2c 72 38 |DMIA r0,{r7,r8| 00000720 7d 0d 02 f8 19 20 20 20 20 20 20 20 20 43 4d 50 |}.... CMP| 00000730 20 20 20 20 20 72 38 2c 72 33 0d 03 02 1e 20 20 | r8,r3.... | 00000740 20 20 20 20 20 20 a4 61 64 72 65 71 6c 28 31 31 | .adreql(11| 00000750 2c 79 74 61 62 2b 34 29 0d 03 0c 1c 20 20 20 20 |,ytab+4).... | 00000760 20 20 20 20 41 44 44 20 20 20 20 20 72 30 2c 72 | ADD r0,r| 00000770 34 2c 23 31 0d 03 16 19 20 20 20 20 20 20 20 20 |4,#1.... | 00000780 43 4d 50 20 20 20 20 20 72 30 2c 72 36 0d 03 20 |CMP r0,r6.. | 00000790 16 20 20 20 20 20 20 20 20 ec 51 20 20 20 72 30 |. .Q r0| 000007a0 2c 23 30 0d 03 2a 23 20 20 20 20 20 20 20 20 41 |,#0..*# A| 000007b0 44 44 20 20 20 20 20 72 30 2c 72 35 2c 72 30 2c |DD r0,r5,r0,| 000007c0 41 53 4c 20 23 33 0d 03 34 1f 20 20 20 20 20 20 |ASL #3..4. | 000007d0 20 20 4c 44 4d 49 41 20 20 20 72 30 2c 7b 72 39 | LDMIA r0,{r9| 000007e0 2c 72 31 30 7d 0d 03 3e 18 20 20 20 20 20 20 20 |,r10}..>. | 000007f0 20 42 4c 20 20 20 20 20 20 6c 69 6e 65 0d 03 48 | BL line..H| 00000800 1c 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 |. ADD | 00000810 20 72 34 2c 72 34 2c 23 31 0d 03 52 19 20 20 20 | r4,r4,#1..R. | 00000820 20 20 20 20 20 43 4d 50 20 20 20 20 20 72 34 2c | CMP r4,| 00000830 72 36 0d 03 5c 16 20 20 20 20 20 20 20 20 ec 51 |r6..\. .Q| 00000840 20 20 20 72 34 2c 23 30 0d 03 66 1c 20 20 20 20 | r4,#0..f. | 00000850 20 20 20 20 53 55 42 53 20 20 20 20 72 31 2c 72 | SUBS r1,r| 00000860 31 2c 23 31 0d 03 70 1c 20 20 20 20 20 20 20 20 |1,#1..p. | 00000870 42 4e 45 20 20 20 20 20 66 61 63 65 6c 6f 6f 70 |BNE faceloop| 00000880 0d 03 7a 24 20 20 20 20 20 20 20 20 4c 44 52 20 |..z$ LDR | 00000890 20 20 20 20 72 31 34 2c 5b 77 70 2c 23 47 57 42 | r14,[wp,#GWB| 000008a0 52 6f 77 5d 0d 03 84 1a 20 20 20 20 20 20 20 20 |Row].... | 000008b0 43 4d 50 20 20 20 20 20 72 32 2c 72 31 34 0d 03 |CMP r2,r14..| 000008c0 8e 1a 20 20 20 20 20 20 20 20 4d 4f 56 4c 54 20 |.. MOVLT | 000008d0 20 20 72 32 2c 72 31 34 0d 03 98 24 20 20 20 20 | r2,r14...$ | 000008e0 20 20 20 20 4c 44 52 20 20 20 20 20 72 31 34 2c | LDR r14,| 000008f0 5b 77 70 2c 23 47 57 54 52 6f 77 5d 0d 03 a2 1a |[wp,#GWTRow]....| 00000900 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 | CMP | 00000910 72 33 2c 72 31 34 0d 03 ac 1a 20 20 20 20 20 20 |r3,r14.... | 00000920 20 20 4d 4f 56 47 54 20 20 20 72 33 2c 72 31 34 | MOVGT r3,r14| 00000930 0d 03 b6 20 20 20 20 20 20 20 20 20 4c 44 52 20 |... LDR | 00000940 20 20 20 20 72 30 2c 5b 73 70 2c 23 32 2a 34 5d | r0,[sp,#2*4]| 00000950 0d 03 c0 20 20 20 20 20 20 20 20 20 4c 44 52 20 |... LDR | 00000960 20 20 20 20 72 31 2c 5b 73 70 2c 23 33 2a 34 5d | r1,[sp,#3*4]| 00000970 0d 03 ca 1c 20 20 20 20 20 20 20 20 80 20 20 20 |.... . | 00000980 20 20 72 31 2c 72 31 2c 23 25 31 31 0d 03 d4 23 | r1,r1,#%11...#| 00000990 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 20 | ADD | 000009a0 70 63 2c 70 63 2c 72 31 2c 4c 53 4c 20 23 33 0d |pc,pc,r1,LSL #3.| 000009b0 03 de 15 20 20 20 20 20 20 20 20 44 43 44 20 20 |... DCD | 000009c0 20 20 20 30 0d 03 e8 1e 20 20 20 20 20 20 20 20 | 0.... | 000009d0 42 20 20 20 20 20 20 20 67 6f 74 5f 63 6f 6c 6f |B got_colo| 000009e0 75 72 0d 03 f2 15 20 20 20 20 20 20 20 20 44 43 |ur.... DC| 000009f0 44 20 20 20 20 20 30 0d 03 fc 35 20 20 20 20 20 |D 0...5 | 00000a00 20 20 20 53 57 49 20 20 20 20 20 22 58 43 6f 6c | SWI "XCol| 00000a10 6f 75 72 54 72 61 6e 73 5f 47 43 4f 4c 54 6f 43 |ourTrans_GCOLToC| 00000a20 6f 6c 6f 75 72 4e 75 6d 62 65 72 22 0d 04 06 1e |olourNumber"....| 00000a30 20 20 20 20 20 20 20 20 42 20 20 20 20 20 20 20 | B | 00000a40 67 6f 74 5f 63 6f 6c 6f 75 72 0d 04 10 35 20 20 |got_colour...5 | 00000a50 20 20 20 20 20 20 53 57 49 20 20 20 20 20 22 58 | SWI "X| 00000a60 43 6f 6c 6f 75 72 54 72 61 6e 73 5f 52 65 74 75 |ColourTrans_Retu| 00000a70 72 6e 43 6f 6c 6f 75 72 4e 75 6d 62 65 72 22 0d |rnColourNumber".| 00000a80 04 1a 1e 20 20 20 20 20 20 20 20 42 20 20 20 20 |... B | 00000a90 20 20 20 67 6f 74 5f 63 6f 6c 6f 75 72 0d 04 24 | got_colour..$| 00000aa0 1b 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 |. MOV | 00000ab0 20 72 30 2c 23 32 35 35 0d 04 2e 0f 2e 67 6f 74 | r0,#255.....got| 00000ac0 5f 63 6f 6c 6f 75 72 0d 04 38 19 20 20 20 20 20 |_colour..8. | 00000ad0 20 20 20 4d 4f 56 20 20 20 20 20 72 37 2c 72 30 | MOV r7,r0| 00000ae0 0d 04 42 24 20 20 20 20 20 20 20 20 4c 44 52 20 |..B$ LDR | 00000af0 20 20 20 20 72 30 2c 5b 77 70 2c 23 4c 6f 67 32 | r0,[wp,#Log2| 00000b00 42 50 50 5d 0d 04 4c 19 20 20 20 20 20 20 20 20 |BPP]..L. | 00000b10 4d 4f 56 20 20 20 20 20 72 31 2c 23 31 0d 04 56 |MOV r1,#1..V| 00000b20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 | MOV | 00000b30 20 72 30 2c 72 31 2c 4c 53 4c 20 72 30 0d 04 60 | r0,r1,LSL r0..`| 00000b40 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 | MOV | 00000b50 20 72 31 2c 72 31 2c 41 53 4c 20 72 30 0d 04 6a | r1,r1,ASL r0..j| 00000b60 1c 20 20 20 20 20 20 20 20 53 55 42 20 20 20 20 |. SUB | 00000b70 20 72 31 2c 72 31 2c 23 31 0d 04 74 1a 20 20 20 | r1,r1,#1..t. | 00000b80 20 20 20 20 20 80 20 20 20 20 20 72 37 2c 72 37 | . r7,r7| 00000b90 2c 72 31 0d 04 7e 13 2e 6d 61 6b 65 5f 69 6e 74 |,r1..~..make_int| 00000ba0 6f 5f 77 6f 72 64 0d 04 88 22 20 20 20 20 20 20 |o_word..." | 00000bb0 20 20 84 52 20 20 20 20 20 72 37 2c 72 37 2c 72 | .R r7,r7,r| 00000bc0 37 2c 4c 53 4c 20 72 30 0d 04 92 20 20 20 20 20 |7,LSL r0... | 00000bd0 20 20 20 20 4d 4f 56 20 20 20 20 20 72 30 2c 72 | MOV r0,r| 00000be0 30 2c 4c 53 4c 20 23 31 0d 04 9c 1a 20 20 20 20 |0,LSL #1.... | 00000bf0 20 20 20 20 43 4d 50 20 20 20 20 20 72 30 2c 23 | CMP r0,#| 00000c00 33 32 0d 04 a6 22 20 20 20 20 20 20 20 20 42 4c |32..." BL| 00000c10 54 20 20 20 20 20 6d 61 6b 65 5f 69 6e 74 6f 5f |T make_into_| 00000c20 77 6f 72 64 0d 04 b0 19 20 20 20 20 20 20 20 20 |word.... | 00000c30 4d 4f 56 20 20 20 20 20 72 34 2c 72 37 0d 04 ba |MOV r4,r7...| 00000c40 19 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 |. MOV | 00000c50 20 72 35 2c 72 37 0d 04 c4 19 20 20 20 20 20 20 | r5,r7.... | 00000c60 20 20 4d 4f 56 20 20 20 20 20 72 36 2c 72 37 0d | MOV r6,r7.| 00000c70 04 ce 0e 2e 66 69 6c 6c 5f 6c 6f 6f 70 0d 04 d8 |....fill_loop...| 00000c80 1a 20 20 20 20 20 20 20 20 a4 61 64 72 6c 28 31 |. .adrl(1| 00000c90 34 2c 79 74 61 62 29 0d 04 e2 25 20 20 20 20 20 |4,ytab)...% | 00000ca0 20 20 20 41 44 44 20 20 20 20 20 72 31 34 2c 72 | ADD r14,r| 00000cb0 31 34 2c 72 32 2c 41 53 4c 20 23 33 0d 04 ec 20 |14,r2,ASL #3... | 00000cc0 20 20 20 20 20 20 20 20 4c 44 4d 49 41 20 20 20 | LDMIA | 00000cd0 72 31 34 2c 7b 72 38 2c 72 31 30 7d 0d 04 f6 1a |r14,{r8,r10}....| 00000ce0 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 | CMP | 00000cf0 72 38 2c 72 31 30 0d 05 00 1b 20 20 20 20 20 20 |r8,r10.... | 00000d00 20 20 82 47 54 20 20 20 72 38 2c 72 38 2c 72 31 | .GT r8,r8,r1| 00000d10 30 0d 05 0a 1c 20 20 20 20 20 20 20 20 82 47 54 |0.... .GT| 00000d20 20 20 20 72 31 30 2c 72 38 2c 72 31 30 0d 05 14 | r10,r8,r10...| 00000d30 1b 20 20 20 20 20 20 20 20 82 47 54 20 20 20 72 |. .GT r| 00000d40 38 2c 72 38 2c 72 31 30 0d 05 1e 24 20 20 20 20 |8,r8,r10...$ | 00000d50 20 20 20 20 4c 44 52 20 20 20 20 20 72 31 34 2c | LDR r14,| 00000d60 5b 77 70 2c 23 47 57 4c 43 6f 6c 5d 0d 05 28 1b |[wp,#GWLCol]..(.| 00000d70 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 | CMP | 00000d80 72 31 30 2c 72 31 34 0d 05 32 1a 20 20 20 20 20 |r10,r14..2. | 00000d90 20 20 20 42 4c 54 20 20 20 20 20 66 69 6c 6c 65 | BLT fille| 00000da0 64 0d 05 3c 1a 20 20 20 20 20 20 20 20 43 4d 50 |d..<. CMP| 00000db0 20 20 20 20 20 72 38 2c 72 31 34 0d 05 46 1a 20 | r8,r14..F. | 00000dc0 20 20 20 20 20 20 20 4d 4f 56 4c 54 20 20 20 72 | MOVLT r| 00000dd0 38 2c 72 31 34 0d 05 50 24 20 20 20 20 20 20 20 |8,r14..P$ | 00000de0 20 4c 44 52 20 20 20 20 20 72 31 34 2c 5b 77 70 | LDR r14,[wp| 00000df0 2c 23 47 57 52 43 6f 6c 5d 0d 05 5a 1a 20 20 20 |,#GWRCol]..Z. | 00000e00 20 20 20 20 20 43 4d 50 20 20 20 20 20 72 38 2c | CMP r8,| 00000e10 72 31 34 0d 05 64 1a 20 20 20 20 20 20 20 20 42 |r14..d. B| 00000e20 47 45 20 20 20 20 20 66 69 6c 6c 65 64 0d 05 6e |GE filled..n| 00000e30 1b 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 |. CMP | 00000e40 20 72 31 30 2c 72 31 34 0d 05 78 1b 20 20 20 20 | r10,r14..x. | 00000e50 20 20 20 20 4d 4f 56 47 54 20 20 20 72 31 30 2c | MOVGT r10,| 00000e60 72 31 34 0d 05 82 1e 20 20 20 20 20 20 20 20 41 |r14.... A| 00000e70 44 44 20 20 20 20 20 72 31 30 2c 72 31 30 2c 23 |DD r10,r10,#| 00000e80 31 0d 05 8c 25 20 20 20 20 20 20 20 20 4c 44 52 |1...% LDR| 00000e90 20 20 20 20 20 72 31 34 2c 5b 77 70 2c 23 4c 6f | r14,[wp,#Lo| 00000ea0 67 32 42 50 50 5d 0d 05 96 23 20 20 20 20 20 20 |g2BPP]...# | 00000eb0 20 20 4d 4f 56 20 20 20 20 20 72 31 30 2c 72 31 | MOV r10,r1| 00000ec0 30 2c 4c 53 4c 20 72 31 34 0d 05 a0 21 20 20 20 |0,LSL r14...! | 00000ed0 20 20 20 20 20 4d 4f 56 20 20 20 20 20 72 38 2c | MOV r8,| 00000ee0 72 38 2c 4c 53 4c 20 72 31 34 0d 05 aa 1b 20 20 |r8,LSL r14.... | 00000ef0 20 20 20 20 20 20 80 20 20 20 20 20 72 31 2c 72 | . r1,r| 00000f00 38 2c 23 33 31 0d 05 b4 19 20 20 20 20 20 20 20 |8,#31.... | 00000f10 20 4d 56 4e 20 20 20 20 20 72 30 2c 23 30 0d 05 | MVN r0,#0..| 00000f20 be 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 |. MOV | 00000f30 20 20 72 30 2c 72 30 2c 4c 53 52 20 72 31 0d 05 | r0,r0,LSR r1..| 00000f40 c8 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 |. MOV | 00000f50 20 20 72 31 2c 72 30 2c 4c 53 4c 20 72 31 0d 05 | r1,r0,LSL r1..| 00000f60 d2 1d 20 20 20 20 20 20 20 20 42 49 43 20 20 20 |.. BIC | 00000f70 20 20 72 38 2c 72 38 2c 23 33 31 0d 05 dc 1e 20 | r8,r8,#31.... | 00000f80 20 20 20 20 20 20 20 53 55 42 53 20 20 20 20 72 | SUBS r| 00000f90 31 30 2c 72 31 30 2c 72 38 0d 05 e6 1a 20 20 20 |10,r10,r8.... | 00000fa0 20 20 20 20 20 42 4c 45 20 20 20 20 20 66 69 6c | BLE fil| 00000fb0 6c 65 64 0d 05 f0 20 20 20 20 20 20 20 20 20 4d |led... M| 00000fc0 4f 56 20 20 20 20 20 72 38 2c 72 38 2c 4c 53 52 |OV r8,r8,LSR| 00000fd0 20 23 33 0d 05 fa 28 20 20 20 20 20 20 20 20 4c | #3...( L| 00000fe0 44 52 20 20 20 20 20 72 39 2c 5b 77 70 2c 23 53 |DR r9,[wp,#S| 00000ff0 63 72 65 65 6e 53 74 61 72 74 5d 0d 06 04 28 20 |creenStart]...( | 00001000 20 20 20 20 20 20 20 4c 44 52 20 20 20 20 20 72 | LDR r| 00001010 31 34 2c 5b 77 70 2c 23 59 57 69 6e 64 4c 69 6d |14,[wp,#YWindLim| 00001020 69 74 5d 0d 06 0e 1d 20 20 20 20 20 20 20 20 52 |it].... R| 00001030 53 42 20 20 20 20 20 72 30 2c 72 32 2c 72 31 34 |SB r0,r2,r14| 00001040 0d 06 18 28 20 20 20 20 20 20 20 20 4c 44 52 20 |...( LDR | 00001050 20 20 20 20 72 31 34 2c 5b 77 70 2c 23 4c 69 6e | r14,[wp,#Lin| 00001060 65 4c 65 6e 67 74 68 5d 0d 06 22 20 20 20 20 20 |eLength].." | 00001070 20 20 20 20 4d 4c 41 20 20 20 20 20 72 39 2c 72 | MLA r9,r| 00001080 30 2c 72 31 34 2c 72 39 0d 06 2c 1c 20 20 20 20 |0,r14,r9..,. | 00001090 20 20 20 20 41 44 44 20 20 20 20 20 72 39 2c 72 | ADD r9,r| 000010a0 39 2c 72 38 0d 06 36 1b 20 20 20 20 20 20 20 20 |9,r8..6. | 000010b0 43 4d 50 20 20 20 20 20 72 31 30 2c 23 33 32 0d |CMP r10,#32.| 000010c0 06 40 1f 20 20 20 20 20 20 20 20 52 53 42 4c 45 |.@. RSBLE| 000010d0 20 20 20 72 31 34 2c 72 31 30 2c 23 33 32 0d 06 | r14,r10,#32..| 000010e0 4a 21 20 20 20 20 20 20 20 20 4d 4f 56 4c 45 20 |J! MOVLE | 000010f0 20 20 72 31 2c 72 31 2c 4c 53 4c 20 72 31 34 0d | r1,r1,LSL r14.| 00001100 06 54 21 20 20 20 20 20 20 20 20 4d 4f 56 4c 45 |.T! MOVLE| 00001110 20 20 20 72 31 2c 72 31 2c 4c 53 52 20 72 31 34 | r1,r1,LSR r14| 00001120 0d 06 5e 1c 20 20 20 20 20 20 20 20 4c 44 52 20 |..^. LDR | 00001130 20 20 20 20 72 31 34 2c 5b 72 39 5d 0d 06 68 1e | r14,[r9]..h.| 00001140 20 20 20 20 20 20 20 20 42 49 43 20 20 20 20 20 | BIC | 00001150 72 31 34 2c 72 31 34 2c 72 31 0d 06 72 1a 20 20 |r14,r14,r1..r. | 00001160 20 20 20 20 20 20 80 20 20 20 20 20 72 31 2c 72 | . r1,r| 00001170 34 2c 72 31 0d 06 7c 1d 20 20 20 20 20 20 20 20 |4,r1..|. | 00001180 84 52 20 20 20 20 20 72 31 34 2c 72 31 34 2c 72 |.R r14,r14,r| 00001190 31 0d 06 86 1f 20 20 20 20 20 20 20 20 53 54 52 |1.... STR| 000011a0 20 20 20 20 20 72 31 34 2c 5b 72 39 5d 2c 23 34 | r14,[r9],#4| 000011b0 0d 06 90 1f 20 20 20 20 20 20 20 20 53 55 42 53 |.... SUBS| 000011c0 20 20 20 20 72 31 30 2c 72 31 30 2c 23 33 32 0d | r10,r10,#32.| 000011d0 06 9a 1a 20 20 20 20 20 20 20 20 42 4c 45 20 20 |... BLE | 000011e0 20 20 20 66 69 6c 6c 65 64 0d 06 a4 0f 2e 66 69 | filled.....fi| 000011f0 6c 6c 5f 6c 6f 6f 70 32 0d 06 ae 1c 20 20 20 20 |ll_loop2.... | 00001200 20 20 20 20 43 4d 50 20 20 20 20 20 72 31 30 2c | CMP r10,| 00001210 23 31 32 38 0d 06 b8 1f 20 20 20 20 20 20 20 20 |#128.... | 00001220 53 54 4d 47 45 49 41 20 72 39 21 2c 7b 72 34 2d |STMGEIA r9!,{r4-| 00001230 72 37 7d 0d 06 c2 20 20 20 20 20 20 20 20 20 53 |r7}... S| 00001240 55 42 47 45 20 20 20 72 31 30 2c 72 31 30 2c 23 |UBGE r10,r10,#| 00001250 31 32 38 0d 06 cc 1e 20 20 20 20 20 20 20 20 42 |128.... B| 00001260 47 45 20 20 20 20 20 66 69 6c 6c 5f 6c 6f 6f 70 |GE fill_loop| 00001270 32 0d 06 d6 1b 20 20 20 20 20 20 20 20 43 4d 50 |2.... CMP| 00001280 20 20 20 20 20 72 31 30 2c 23 36 34 0d 06 e0 1f | r10,#64....| 00001290 20 20 20 20 20 20 20 20 53 54 4d 47 45 49 41 20 | STMGEIA | 000012a0 72 39 21 2c 7b 72 34 2d 72 35 7d 0d 06 ea 1f 20 |r9!,{r4-r5}.... | 000012b0 20 20 20 20 20 20 20 53 55 42 47 45 20 20 20 72 | SUBGE r| 000012c0 31 30 2c 72 31 30 2c 23 36 34 0d 06 f4 1b 20 20 |10,r10,#64.... | 000012d0 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 72 31 | CMP r1| 000012e0 30 2c 23 33 32 0d 06 fe 1e 20 20 20 20 20 20 20 |0,#32.... | 000012f0 20 53 54 52 47 45 20 20 20 72 34 2c 5b 72 39 5d | STRGE r4,[r9]| 00001300 2c 23 34 0d 07 08 1f 20 20 20 20 20 20 20 20 53 |,#4.... S| 00001310 55 42 47 45 20 20 20 72 31 30 2c 72 31 30 2c 23 |UBGE r10,r10,#| 00001320 33 32 0d 07 12 10 2e 66 69 6e 69 73 68 5f 66 69 |32.....finish_fi| 00001330 6c 6c 0d 07 1c 1a 20 20 20 20 20 20 20 20 43 4d |ll.... CM| 00001340 50 20 20 20 20 20 72 31 30 2c 23 30 0d 07 26 1a |P r10,#0..&.| 00001350 20 20 20 20 20 20 20 20 42 4c 45 20 20 20 20 20 | BLE | 00001360 66 69 6c 6c 65 64 0d 07 30 19 20 20 20 20 20 20 |filled..0. | 00001370 20 20 4d 56 4e 20 20 20 20 20 72 30 2c 23 30 0d | MVN r0,#0.| 00001380 07 3a 1c 20 20 20 20 20 20 20 20 4c 44 52 20 20 |.:. LDR | 00001390 20 20 20 72 31 34 2c 5b 72 39 5d 0d 07 44 24 20 | r14,[r9]..D$ | 000013a0 20 20 20 20 20 20 20 80 20 20 20 20 20 72 31 34 | . r14| 000013b0 2c 72 31 34 2c 72 30 2c 4c 53 4c 20 72 31 30 0d |,r14,r0,LSL r10.| 000013c0 07 4e 1f 20 20 20 20 20 20 20 20 52 53 42 20 20 |.N. RSB | 000013d0 20 20 20 72 31 30 2c 72 31 30 2c 23 33 32 0d 07 | r10,r10,#32..| 000013e0 58 25 20 20 20 20 20 20 20 20 84 52 20 20 20 20 |X% .R | 000013f0 20 72 31 34 2c 72 31 34 2c 72 34 2c 4c 53 52 20 | r14,r14,r4,LSR | 00001400 72 31 30 0d 07 62 1c 20 20 20 20 20 20 20 20 53 |r10..b. S| 00001410 54 52 20 20 20 20 20 72 31 34 2c 5b 72 39 5d 0d |TR r14,[r9].| 00001420 07 6c 0b 2e 66 69 6c 6c 65 64 0d 07 76 1c 20 20 |.l..filled..v. | 00001430 20 20 20 20 20 20 41 44 44 20 20 20 20 20 72 32 | ADD r2| 00001440 2c 72 32 2c 23 31 0d 07 80 19 20 20 20 20 20 20 |,r2,#1.... | 00001450 20 20 43 4d 50 20 20 20 20 20 72 32 2c 72 33 0d | CMP r2,r3.| 00001460 07 8a 1d 20 20 20 20 20 20 20 20 42 4c 45 20 20 |... BLE | 00001470 20 20 20 66 69 6c 6c 5f 6c 6f 6f 70 0d 07 94 25 | fill_loop...%| 00001480 20 20 20 20 20 20 20 20 4c 44 4d 46 44 20 20 20 | LDMFD | 00001490 28 73 70 29 21 2c 7b 72 30 2d 72 31 32 2c 70 63 |(sp)!,{r0-r12,pc| 000014a0 7d 0d 07 9e 04 0d 07 a8 0c 2e 6f 73 5f 70 6c 6f |}.........os_plo| 000014b0 74 0d 07 b2 19 20 20 20 20 20 20 20 20 4d 4f 56 |t.... MOV| 000014c0 20 20 20 20 20 72 30 2c 72 32 0d 07 bc 1d 20 20 | r0,r2.... | 000014d0 20 20 20 20 20 20 80 20 20 20 20 20 72 31 34 2c | . r14,| 000014e0 72 33 2c 23 25 31 31 0d 07 c6 1a 20 20 20 20 20 |r3,#%11.... | 000014f0 20 20 20 43 4d 50 20 20 20 20 20 72 31 34 2c 23 | CMP r14,#| 00001500 33 0d 07 d0 24 20 20 20 20 20 20 20 20 41 44 44 |3...$ ADD| 00001510 4c 54 20 20 20 70 63 2c 70 63 2c 72 31 34 2c 4c |LT pc,pc,r14,L| 00001520 53 4c 20 23 33 0d 07 da 23 20 20 20 20 20 20 20 |SL #3...# | 00001530 20 42 20 20 20 20 20 20 20 64 6f 6e 74 5f 73 65 | B dont_se| 00001540 74 5f 63 6f 6c 6f 75 72 0d 07 e4 35 20 20 20 20 |t_colour...5 | 00001550 20 20 20 20 53 57 49 20 20 20 20 20 22 58 43 6f | SWI "XCo| 00001560 6c 6f 75 72 54 72 61 6e 73 5f 43 6f 6c 6f 75 72 |lourTrans_Colour| 00001570 4e 75 6d 62 65 72 54 6f 47 43 4f 4c 22 0d 07 ee |NumberToGCOL"...| 00001580 1e 20 20 20 20 20 20 20 20 42 20 20 20 20 20 20 |. B | 00001590 20 73 65 74 5f 63 6f 6c 6f 75 72 0d 07 f8 1e 20 | set_colour.... | 000015a0 20 20 20 20 20 20 20 42 20 20 20 20 20 20 20 73 | B s| 000015b0 65 74 5f 63 6f 6c 6f 75 72 0d 08 02 15 20 20 20 |et_colour.... | 000015c0 20 20 20 20 20 44 43 44 20 20 20 20 20 30 0d 08 | DCD 0..| 000015d0 0c 2d 20 20 20 20 20 20 20 20 53 57 49 20 20 20 |.- SWI | 000015e0 20 20 22 58 43 6f 6c 6f 75 72 54 72 61 6e 73 5f | "XColourTrans_| 000015f0 52 65 74 75 72 6e 47 43 4f 4c 22 0d 08 16 1e 20 |ReturnGCOL".... | 00001600 20 20 20 20 20 20 20 42 20 20 20 20 20 20 20 73 | B s| 00001610 65 74 5f 63 6f 6c 6f 75 72 0d 08 20 0f 2e 73 65 |et_colour.. ..se| 00001620 74 5f 63 6f 6c 6f 75 72 0d 08 2a 19 20 20 20 20 |t_colour..*. | 00001630 20 20 20 20 4d 4f 56 20 20 20 20 20 72 37 2c 72 | MOV r7,r| 00001640 30 0d 08 34 24 20 20 20 20 20 20 20 20 4c 44 52 |0..4$ LDR| 00001650 20 20 20 20 20 72 38 2c 5b 77 70 2c 23 4c 6f 67 | r8,[wp,#Log| 00001660 32 42 50 50 5d 0d 08 3e 19 20 20 20 20 20 20 20 |2BPP]..>. | 00001670 20 43 4d 50 20 20 20 20 20 72 38 2c 23 33 0d 08 | CMP r8,#3..| 00001680 48 1d 20 20 20 20 20 20 20 20 ec 51 20 20 20 72 |H. .Q r| 00001690 30 2c 72 30 2c 4c 53 52 20 23 32 0d 08 52 1b 20 |0,r0,LSR #2..R. | 000016a0 20 20 20 20 20 20 20 53 57 49 20 20 20 20 20 26 | SWI &| 000016b0 31 30 30 2b 31 38 0d 08 5c 1a 20 20 20 20 20 20 |100+18..\. | 000016c0 20 20 53 57 49 20 20 20 20 20 26 31 30 30 2b 30 | SWI &100+0| 000016d0 0d 08 66 20 20 20 20 20 20 20 20 20 53 57 49 20 |..f SWI | 000016e0 20 20 20 20 22 58 4f 53 5f 57 72 69 74 65 43 22 | "XOS_WriteC"| 000016f0 0d 08 70 19 20 20 20 20 20 20 20 20 43 4d 50 20 |..p. CMP | 00001700 20 20 20 20 72 38 2c 23 33 0d 08 7a 23 20 20 20 | r8,#3..z# | 00001710 20 20 20 20 20 42 4e 45 20 20 20 20 20 64 6f 6e | BNE don| 00001720 74 5f 73 65 74 5f 63 6f 6c 6f 75 72 0d 08 84 1d |t_set_colour....| 00001730 20 20 20 20 20 20 20 20 53 55 42 20 20 20 20 20 | SUB | 00001740 73 70 2c 73 70 2c 23 31 32 0d 08 8e 20 20 20 20 |sp,sp,#12... | 00001750 20 20 20 20 20 41 44 52 20 20 20 20 20 72 31 34 | ADR r14| 00001760 2c 74 69 6e 74 5f 76 64 75 0d 08 98 20 20 20 20 |,tint_vdu... | 00001770 20 20 20 20 20 4c 44 4d 49 41 20 20 20 72 31 34 | LDMIA r14| 00001780 2c 7b 72 39 2d 72 31 31 7d 0d 08 a2 1a 20 20 20 |,{r9-r11}.... | 00001790 20 20 20 20 20 80 20 20 20 20 20 72 30 2c 72 37 | . r0,r7| 000017a0 2c 23 33 0d 08 ac 23 20 20 20 20 20 20 20 20 84 |,#3...# .| 000017b0 52 20 20 20 20 20 72 39 2c 72 39 2c 72 30 2c 4c |R r9,r9,r0,L| 000017c0 53 4c 20 23 33 30 0d 08 b6 1f 20 20 20 20 20 20 |SL #30.... | 000017d0 20 20 53 54 4d 49 41 20 20 20 73 70 2c 7b 72 39 | STMIA sp,{r9| 000017e0 2d 72 31 31 7d 0d 08 c0 19 20 20 20 20 20 20 20 |-r11}.... | 000017f0 20 4d 4f 56 20 20 20 20 20 72 30 2c 73 70 0d 08 | MOV r0,sp..| 00001800 ca 1a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 |.. MOV | 00001810 20 20 72 31 2c 23 31 30 0d 08 d4 20 20 20 20 20 | r1,#10... | 00001820 20 20 20 20 53 57 49 20 20 20 20 20 22 58 4f 53 | SWI "XOS| 00001830 5f 57 72 69 74 65 4e 22 0d 08 de 1d 20 20 20 20 |_WriteN".... | 00001840 20 20 20 20 41 44 44 20 20 20 20 20 73 70 2c 73 | ADD sp,s| 00001850 70 2c 23 31 32 0d 08 e8 14 2e 64 6f 6e 74 5f 73 |p,#12.....dont_s| 00001860 65 74 5f 63 6f 6c 6f 75 72 0d 08 f2 19 20 20 20 |et_colour.... | 00001870 20 20 20 20 20 4d 4f 56 20 20 20 20 20 72 34 2c | MOV r4,| 00001880 23 31 0d 08 fc 1c 20 20 20 20 20 20 20 20 53 55 |#1.... SU| 00001890 42 20 20 20 20 20 72 36 2c 72 36 2c 23 32 0d 09 |B r6,r6,#2..| 000018a0 06 11 2e 6f 73 5f 70 6c 6f 74 5f 6c 6f 6f 70 0d |...os_plot_loop.| 000018b0 09 10 19 20 20 20 20 20 20 20 20 4d 4f 56 20 20 |... MOV | 000018c0 20 20 20 72 30 2c 23 34 0d 09 1a 1e 20 20 20 20 | r0,#4.... | 000018d0 20 20 20 20 4c 44 4d 49 41 20 20 20 72 35 2c 7b | LDMIA r5,{| 000018e0 72 31 2c 72 32 7d 0d 09 24 1e 20 20 20 20 20 20 |r1,r2}..$. | 000018f0 20 20 53 57 49 20 20 20 20 20 22 58 4f 53 5f 50 | SWI "XOS_P| 00001900 6c 6f 74 22 0d 09 2e 24 20 20 20 20 20 20 20 20 |lot"...$ | 00001910 41 44 44 20 20 20 20 20 72 31 30 2c 72 35 2c 72 |ADD r10,r5,r| 00001920 34 2c 4c 53 4c 20 23 33 0d 09 38 20 20 20 20 20 |4,LSL #3..8 | 00001930 20 20 20 20 4c 44 4d 49 41 20 20 20 72 31 30 21 | LDMIA r10!| 00001940 2c 7b 72 31 2c 72 32 7d 0d 09 42 1e 20 20 20 20 |,{r1,r2}..B. | 00001950 20 20 20 20 53 57 49 20 20 20 20 20 22 58 4f 53 | SWI "XOS| 00001960 5f 50 6c 6f 74 22 0d 09 4c 1a 20 20 20 20 20 20 |_Plot"..L. | 00001970 20 20 4d 4f 56 20 20 20 20 20 72 30 2c 23 38 35 | MOV r0,#85| 00001980 0d 09 56 1f 20 20 20 20 20 20 20 20 4c 44 4d 49 |..V. LDMI| 00001990 41 20 20 20 72 31 30 2c 7b 72 31 2c 72 32 7d 0d |A r10,{r1,r2}.| 000019a0 09 60 1e 20 20 20 20 20 20 20 20 53 57 49 20 20 |.`. SWI | 000019b0 20 20 20 22 58 4f 53 5f 50 6c 6f 74 22 0d 09 6a | "XOS_Plot"..j| 000019c0 1c 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 |. ADD | 000019d0 20 72 34 2c 72 34 2c 23 31 0d 09 74 1c 20 20 20 | r4,r4,#1..t. | 000019e0 20 20 20 20 20 53 55 42 53 20 20 20 20 72 36 2c | SUBS r6,| 000019f0 72 36 2c 23 31 0d 09 7e 20 20 20 20 20 20 20 20 |r6,#1..~ | 00001a00 20 42 47 54 20 20 20 20 20 6f 73 5f 70 6c 6f 74 | BGT os_plot| 00001a10 5f 6c 6f 6f 70 0d 09 88 25 20 20 20 20 20 20 20 |_loop...% | 00001a20 20 4c 44 4d 46 44 20 20 20 28 73 70 29 21 2c 7b | LDMFD (sp)!,{| 00001a30 72 30 2d 72 31 32 2c 70 63 7d 0d 09 92 04 0d 09 |r0-r12,pc}......| 00001a40 9c 0d 2e 74 69 6e 74 5f 76 64 75 0d 09 a6 16 20 |...tint_vdu.... | 00001a50 20 20 20 20 20 20 20 44 43 42 20 20 20 20 20 32 | DCB 2| 00001a60 33 0d 09 b0 16 20 20 20 20 20 20 20 20 44 43 42 |3.... DCB| 00001a70 20 20 20 20 20 31 37 0d 09 ba 15 20 20 20 20 20 | 17.... | 00001a80 20 20 20 44 43 42 20 20 20 20 20 32 0d 09 c4 15 | DCB 2....| 00001a90 20 20 20 20 20 20 20 20 44 43 42 20 20 20 20 20 | DCB | 00001aa0 30 0d 09 ce 15 20 20 20 20 20 20 20 20 44 43 44 |0.... DCD| 00001ab0 20 20 20 20 20 30 0d 09 d8 15 20 20 20 20 20 20 | 0.... | 00001ac0 20 20 44 43 44 20 20 20 20 20 30 0d 09 e2 04 0d | DCD 0.....| 00001ad0 09 ec 26 2e 6c 69 6e 65 20 20 20 53 54 4d 46 44 |..&.line STMFD| 00001ae0 20 20 20 28 73 70 29 21 2c 7b 72 31 2d 72 36 2c | (sp)!,{r1-r6,| 00001af0 6c 69 6e 6b 7d 0d 09 f6 1a 20 20 20 20 20 20 20 |link}.... | 00001b00 20 43 4d 50 20 20 20 20 20 72 38 2c 72 31 30 0d | CMP r8,r10.| 00001b10 0a 00 22 20 20 20 20 20 20 20 20 53 54 4d 47 45 |.." STMGE| 00001b20 46 44 20 28 73 70 29 21 2c 7b 72 37 2d 72 31 30 |FD (sp)!,{r7-r10| 00001b30 7d 0d 0a 0a 22 20 20 20 20 20 20 20 20 4c 44 4d |}..." LDM| 00001b40 47 45 46 44 20 28 73 70 29 21 2c 7b 72 39 2d 72 |GEFD (sp)!,{r9-r| 00001b50 31 30 7d 0d 0a 14 21 20 20 20 20 20 20 20 20 4c |10}...! L| 00001b60 44 4d 47 45 46 44 20 28 73 70 29 21 2c 7b 72 37 |DMGEFD (sp)!,{r7| 00001b70 2d 72 38 7d 0d 0a 1e 1c 20 20 20 20 20 20 20 20 |-r8}.... | 00001b80 53 55 42 53 20 20 20 20 72 35 2c 72 39 2c 72 37 |SUBS r5,r9,r7| 00001b90 0d 0a 28 1c 20 20 20 20 20 20 20 20 52 53 42 4d |..(. RSBM| 00001ba0 49 20 20 20 72 35 2c 72 35 2c 23 30 0d 0a 32 1d |I r5,r5,#0..2.| 00001bb0 20 20 20 20 20 20 20 20 53 55 42 53 20 20 20 20 | SUBS | 00001bc0 72 36 2c 72 31 30 2c 72 38 0d 0a 3c 19 20 20 20 |r6,r10,r8..<. | 00001bd0 20 20 20 20 20 43 4d 50 20 20 20 20 20 72 36 2c | CMP r6,| 00001be0 72 35 0d 0a 46 19 20 20 20 20 20 20 20 20 42 47 |r5..F. BG| 00001bf0 54 20 20 20 20 20 6c 69 6e 65 32 0d 0a 50 04 0d |T line2..P..| 00001c00 0a 5a 23 20 20 20 20 20 20 20 20 52 53 42 20 20 |.Z# RSB | 00001c10 20 20 20 72 32 2c 72 35 2c 72 36 2c 41 53 4c 20 | r2,r5,r6,ASL | 00001c20 23 31 0d 0a 64 1c 20 20 20 20 20 20 20 20 53 55 |#1..d. SU| 00001c30 42 20 20 20 20 20 72 34 2c 72 36 2c 72 35 0d 0a |B r4,r6,r5..| 00001c40 6e 1a 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 |n. CMP | 00001c50 20 20 72 38 2c 72 31 30 0d 0a 78 19 20 20 20 20 | r8,r10..x. | 00001c60 20 20 20 20 4d 4f 56 47 45 20 20 20 72 35 2c 23 | MOVGE r5,#| 00001c70 31 0d 0a 82 19 20 20 20 20 20 20 20 20 4d 56 4e |1.... MVN| 00001c80 4c 54 20 20 20 72 35 2c 23 30 0d 0a 8c 19 20 20 |LT r5,#0.... | 00001c90 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 72 37 | CMP r7| 00001ca0 2c 72 39 0d 0a 96 19 20 20 20 20 20 20 20 20 4d |,r9.... M| 00001cb0 4f 56 47 54 20 20 20 72 33 2c 72 37 0d 0a a0 19 |OVGT r3,r7....| 00001cc0 20 20 20 20 20 20 20 20 4d 4f 56 47 54 20 20 20 | MOVGT | 00001cd0 72 37 2c 72 39 0d 0a aa 1a 20 20 20 20 20 20 20 |r7,r9.... | 00001ce0 20 4d 4f 56 47 54 20 20 20 72 38 2c 72 31 30 0d | MOVGT r8,r10.| 00001cf0 0a b4 1c 20 20 20 20 20 20 20 20 52 53 42 4c 45 |... RSBLE| 00001d00 20 20 20 72 35 2c 72 35 2c 23 30 0d 0a be 19 20 | r5,r5,#0.... | 00001d10 20 20 20 20 20 20 20 4d 4f 56 4c 45 20 20 20 72 | MOVLE r| 00001d20 33 2c 72 39 0d 0a c8 0e 2e 6c 69 6e 65 5f 6c 6f |3,r9.....line_lo| 00001d30 6f 70 0d 0a d2 1d 20 20 20 20 20 20 20 20 43 4d |op.... CM| 00001d40 50 20 20 20 20 20 72 38 2c 23 6d 61 78 5f 79 0d |P r8,#max_y.| 00001d50 0a dc 26 20 20 20 20 20 20 20 20 53 54 52 4c 4f |..& STRLO| 00001d60 20 20 20 72 37 2c 5b 72 31 31 2c 72 38 2c 41 53 | r7,[r11,r8,AS| 00001d70 4c 20 23 33 5d 0d 0a e6 19 20 20 20 20 20 20 20 |L #3].... | 00001d80 20 43 4d 50 20 20 20 20 20 72 37 2c 72 33 0d 0a | CMP r7,r3..| 00001d90 f0 24 20 20 20 20 20 20 20 20 4c 44 4d 47 45 46 |.$ LDMGEF| 00001da0 44 20 28 73 70 29 21 2c 7b 72 31 2d 72 36 2c 70 |D (sp)!,{r1-r6,p| 00001db0 63 7d 0d 0a fa 1c 20 20 20 20 20 20 20 20 41 44 |c}.... AD| 00001dc0 44 20 20 20 20 20 72 37 2c 72 37 2c 23 31 0d 0b |D r7,r7,#1..| 00001dd0 04 19 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 |.. CMP | 00001de0 20 20 72 32 2c 23 30 0d 0b 0e 23 20 20 20 20 20 | r2,#0...# | 00001df0 20 20 20 41 44 44 4c 54 20 20 20 72 32 2c 72 32 | ADDLT r2,r2| 00001e00 2c 72 36 2c 41 53 4c 20 23 31 0d 0b 18 1c 20 20 |,r6,ASL #1.... | 00001e10 20 20 20 20 20 20 41 44 44 47 45 20 20 20 72 38 | ADDGE r8| 00001e20 2c 72 38 2c 72 35 0d 0b 22 23 20 20 20 20 20 20 |,r8,r5.."# | 00001e30 20 20 41 44 44 47 45 20 20 20 72 32 2c 72 32 2c | ADDGE r2,r2,| 00001e40 72 34 2c 41 53 4c 20 23 31 0d 0b 2c 1d 20 20 20 |r4,ASL #1..,. | 00001e50 20 20 20 20 20 42 20 20 20 20 20 20 20 6c 69 6e | B lin| 00001e60 65 5f 6c 6f 6f 70 0d 0b 36 04 0d 0b 40 0a 2e 6c |e_loop..6...@..l| 00001e70 69 6e 65 32 0d 0b 4a 23 20 20 20 20 20 20 20 20 |ine2..J# | 00001e80 52 53 42 20 20 20 20 20 72 32 2c 72 36 2c 72 35 |RSB r2,r6,r5| 00001e90 2c 41 53 4c 20 23 31 0d 0b 54 1c 20 20 20 20 20 |,ASL #1..T. | 00001ea0 20 20 20 53 55 42 20 20 20 20 20 72 34 2c 72 35 | SUB r4,r5| 00001eb0 2c 72 36 0d 0b 5e 19 20 20 20 20 20 20 20 20 43 |,r6..^. C| 00001ec0 4d 50 20 20 20 20 20 72 37 2c 72 39 0d 0b 68 19 |MP r7,r9..h.| 00001ed0 20 20 20 20 20 20 20 20 4d 4f 56 47 45 20 20 20 | MOVGE | 00001ee0 72 36 2c 23 31 0d 0b 72 19 20 20 20 20 20 20 20 |r6,#1..r. | 00001ef0 20 4d 56 4e 4c 54 20 20 20 72 36 2c 23 30 0d 0b | MVNLT r6,#0..| 00001f00 7c 1a 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 ||. CMP | 00001f10 20 20 72 38 2c 72 31 30 0d 0b 86 19 20 20 20 20 | r8,r10.... | 00001f20 20 20 20 20 4d 4f 56 47 54 20 20 20 72 33 2c 72 | MOVGT r3,r| 00001f30 38 0d 0b 90 1a 20 20 20 20 20 20 20 20 4d 4f 56 |8.... MOV| 00001f40 47 54 20 20 20 72 38 2c 72 31 30 0d 0b 9a 19 20 |GT r8,r10.... | 00001f50 20 20 20 20 20 20 20 4d 4f 56 47 54 20 20 20 72 | MOVGT r| 00001f60 37 2c 72 39 0d 0b a4 1c 20 20 20 20 20 20 20 20 |7,r9.... | 00001f70 52 53 42 4c 45 20 20 20 72 36 2c 72 36 2c 23 30 |RSBLE r6,r6,#0| 00001f80 0d 0b ae 1a 20 20 20 20 20 20 20 20 4d 4f 56 4c |.... MOVL| 00001f90 45 20 20 20 72 33 2c 72 31 30 0d 0b b8 0f 2e 6c |E r3,r10.....l| 00001fa0 69 6e 65 5f 6c 6f 6f 70 32 0d 0b c2 1d 20 20 20 |ine_loop2.... | 00001fb0 20 20 20 20 20 43 4d 50 20 20 20 20 20 72 38 2c | CMP r8,| 00001fc0 23 6d 61 78 5f 79 0d 0b cc 26 20 20 20 20 20 20 |#max_y...& | 00001fd0 20 20 53 54 52 4c 4f 20 20 20 72 37 2c 5b 72 31 | STRLO r7,[r1| 00001fe0 31 2c 72 38 2c 41 53 4c 20 23 33 5d 0d 0b d6 19 |1,r8,ASL #3]....| 00001ff0 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 | CMP | 00002000 72 38 2c 72 33 0d 0b e0 24 20 20 20 20 20 20 20 |r8,r3...$ | 00002010 20 4c 44 4d 47 45 46 44 20 28 73 70 29 21 2c 7b | LDMGEFD (sp)!,{| 00002020 72 31 2d 72 36 2c 70 63 7d 0d 0b ea 1c 20 20 20 |r1-r6,pc}.... | 00002030 20 20 20 20 20 41 44 44 20 20 20 20 20 72 38 2c | ADD r8,| 00002040 72 38 2c 23 31 0d 0b f4 19 20 20 20 20 20 20 20 |r8,#1.... | 00002050 20 43 4d 50 20 20 20 20 20 72 32 2c 23 30 0d 0b | CMP r2,#0..| 00002060 fe 23 20 20 20 20 20 20 20 20 41 44 44 4c 54 20 |.# ADDLT | 00002070 20 20 72 32 2c 72 32 2c 72 35 2c 41 53 4c 20 23 | r2,r2,r5,ASL #| 00002080 31 0d 0c 08 1c 20 20 20 20 20 20 20 20 41 44 44 |1.... ADD| 00002090 47 45 20 20 20 72 37 2c 72 37 2c 72 36 0d 0c 12 |GE r7,r7,r6...| 000020a0 23 20 20 20 20 20 20 20 20 41 44 44 47 45 20 20 |# ADDGE | 000020b0 20 72 32 2c 72 32 2c 72 34 2c 41 53 4c 20 23 31 | r2,r2,r4,ASL #1| 000020c0 0d 0c 1c 1e 20 20 20 20 20 20 20 20 42 20 20 20 |.... B | 000020d0 20 20 20 20 6c 69 6e 65 5f 6c 6f 6f 70 32 0d 0c | line_loop2..| 000020e0 26 04 0d 0c 30 17 2e 76 64 75 5f 69 6e 20 44 43 |&...0..vdu_in DC| 000020f0 44 20 20 20 20 20 31 34 38 0d 0c 3a 15 20 20 20 |D 148..:. | 00002100 20 20 20 20 20 44 43 44 20 20 20 20 20 34 0d 0c | DCD 4..| 00002110 44 15 20 20 20 20 20 20 20 20 44 43 44 20 20 20 |D. DCD | 00002120 20 20 35 0d 0c 4e 15 20 20 20 20 20 20 20 20 44 | 5..N. D| 00002130 43 44 20 20 20 20 20 36 0d 0c 58 17 20 20 20 20 |CD 6..X. | 00002140 20 20 20 20 44 43 44 20 20 20 20 20 31 32 38 0d | DCD 128.| 00002150 0c 62 17 20 20 20 20 20 20 20 20 44 43 44 20 20 |.b. DCD | 00002160 20 20 20 31 32 39 0d 0c 6c 17 20 20 20 20 20 20 | 129..l. | 00002170 20 20 44 43 44 20 20 20 20 20 31 33 30 0d 0c 76 | DCD 130..v| 00002180 17 20 20 20 20 20 20 20 20 44 43 44 20 20 20 20 |. DCD | 00002190 20 31 33 31 0d 0c 80 16 20 20 20 20 20 20 20 20 | 131.... | 000021a0 44 43 44 20 20 20 20 20 31 32 0d 0c 8a 15 20 20 |DCD 12.... | 000021b0 20 20 20 20 20 20 44 43 44 20 20 20 20 20 39 0d | DCD 9.| 000021c0 0c 94 17 20 20 20 20 20 20 20 20 44 43 44 20 20 |... DCD | 000021d0 20 20 20 31 33 36 0d 0c 9e 17 20 20 20 20 20 20 | 136.... | 000021e0 20 20 44 43 44 20 20 20 20 20 31 33 37 0d 0c a8 | DCD 137...| 000021f0 16 20 20 20 20 20 20 20 20 44 43 44 20 20 20 20 |. DCD | 00002200 20 2d 31 0d 0c b2 05 5d 0d 0c bc 06 3d 30 0d ff | -1....]....=0..| 00002210