Home » Archimedes archive » Acorn User » AU 1993-10.adf » !StarInfo_StarInfo » Disint
Disint
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-10.adf » !StarInfo_StarInfo |
Filename: | Disint |
Read OK: | ✔ |
File size: | 0D44 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >Disint 20REM By Mark Hobson 30REM For 32-bit machines 40REM (c) BAU October 1993 50: 60MODE 15 70OFF 80SYS "Hourglass_On" 90PROCass 100PROCinit 110SYS "Hourglass_Off" 120MODE 13 130OFF 140ON ERROR IF ERR<>17 MODE0:REPORT:PRINT" at line ";ERL:END ELSE PROCend 150CALL swop 160!scr1=!screen 170CALL swop 180!scr2=!screen 190CLS 200FOR i=0 TO 200 210 GCOL RND(63) TINT (RND(3)+1)*64 220 CIRCLE FILL RND(1279),RND(1023),RND(200) 230NEXT 240PROCtext("SCREEN FADING ROUTINE",700,63,3) 250PROCtext("by Mark Hobson",650,63,1) 260PROCtext("Press any key to fade",450,42,3) 270PROCtext("Press ESCAPE to exit",400,42,2) 280CALL change 290CLS 300FOR i=0 TO 200 310 GCOL RND(63) TINT (RND(3)+1)*64 320 RECTANGLE FILL RND(1279),RND(1023),RND(400),RND(400) 330NEXT 340PROCtext("Works by using two screen banks",700,63,3) 350PROCtext("and swapping the contents 'randomly'",634,63,1) 360PROCtext("Press any key to fade",450,42,3) 370PROCtext("Press ESCAPE to exit",400,42,2) 380REPEAT 390 a=INKEY(500) 400 CALL change 410UNTIL INKEY-113 420PROCend 430END 440: 450DEF PROCass 460len%=1024*8 470speed=32 480DIM code len% 490FOR pass=8 TO 10 STEP 2 500P%=code 510L%=code+len% 520[OPT pass 530.change STMFD R13!,{R14} 540 ADR R4,table 550 MOV R5,#speed 560.main_loop MOV R2,#63 570.y_loop MOV R3,#79 580.x_loop ADD R6,R2,R3,LSL#6 590 LDRB R7,[R4,R6] 600 CMP R7,R5 610 BNE skip 620 ADR R8,offsets 630 LDR R0,scr1 640 LDR R1,scr2 650 ADD R7,R3,R2,LSL#6 660 ADD R7,R7,R2,LSL#8 670 ADD R0,R0,R7 680 ADD R1,R1,R7 690] 700FOR loop=1 TO 4 710[OPT pass 720 LDMIA R8!,{R9-R12} 730 LDRB R7,[R0,R9] 740 LDRB R14,[R1,R9] 750 STRB R7,[R1,R9] 760 STRB R14,[R0,R9] 770 LDRB R7,[R0,R10] 780 LDRB R14,[R1,R10] 790 STRB R7,[R1,R10] 800 STRB R14,[R0,R10] 810 LDRB R7,[R0,R11] 820 LDRB R14,[R1,R11] 830 STRB R7,[R1,R11] 840 STRB R14,[R0,R11] 850 LDRB R7,[R0,R12] 860 LDRB R14,[R1,R12] 870 STRB R7,[R1,R12] 880 STRB R14,[R0,R12] 890] 900NEXT 910[OPT pass 920.skip SUBS R3,R3,#1 930 BPL x_loop 940 SUBS R2,R2,#1 950 BPL y_loop 960 SUBS R5,R5,#1 970 BNE main_loop 980 LDMFD R13!,{PC} 990 1000.scr1 EQUD 0 1010.scr2 EQUD 0 1020 1030.offsets FNarray(64) 1040.table FNarray(64*80+4) 1050 1060.swop STMFD R13!,{R14} 1070 LDR R4,bank 1080 RSB R4,R4,#3 1090 STR R4,bank 1100 MOV R0,#112 1110 MOV R1,R4 1120 SWI "OS_Byte" 1130 MOV R0,#113 1140 RSB R1,R4,#3 1150 SWI "OS_Byte" 1160 ADR R0,vduin 1170 ADR R1,screen 1180 SWI "OS_ReadVduVariables" 1190 LDMFD R13!,{PC} 1200 1210.bank EQUD 1 1220.vduin EQUD 148 1230 EQUD -1 1240.screen EQUD 0 1250] 1260NEXT 1270FOR i%=0 TO 3 1280 FOR j%=0 TO 3 1290 offsets!(4*i%+16*j%)=80*i%+320*64*j% 1300 NEXT 1310NEXT 1320ENDPROC 1330: 1340DEF FNarray(b%) 1350P%+=b% 1360=0 1370: 1380DEF PROCinit 1390FOR i=0 TO 64*80 1400 table?i=RND(speed) 1410NEXT 1420ENDPROC 1430: 1440DEF PROCtext(a$,y%,c%,t%) 1450x%=640-((LENa$*32)/2) 1460VDU 5 1470GCOL 0 TINT 0 1480FOR x=-4 TO 4 STEP 4 1490 FOR y=-4 TO 4 STEP 4 1500 MOVE x%+x,y%+y 1510 PRINTa$ 1520 NEXT 1530NEXT 1540GCOL c% TINT t%*64 1550MOVE x%,y% 1560PRINTa$ 1570VDU 4 1580OFF 1590ENDPROC 1600: 1610DEF PROCend 1620MODE 0 1630END 1640ENDPROC
� >Disint � By Mark Hobson � For 32-bit machines (� (c) BAU October 1993 2: <� 15 F� Pș "Hourglass_On" Z�ass d �init nș "Hourglass_Off" x� 13 �� �,� � � �<>17 �0:�:�" at line ";�:� � �end � � swop �!scr1=!screen � � swop �!scr2=!screen �� �� i=0 � 200 � � �(63) Ȝ (�(3)+1)*64 �! ȏ Ȑ �(1279),�(1023),�(200) �� �+�text("SCREEN FADING ROUTINE",700,63,3) �$�text("by Mark Hobson",650,63,1) +�text("Press any key to fade",450,42,3) *�text("Press ESCAPE to exit",400,42,2) � change "� ,� i=0 � 200 6 � �(63) Ȝ (�(3)+1)*64 @( ȓ Ȑ �(1279),�(1023),�(400),�(400) J� T5�text("Works by using two screen banks",700,63,3) ^:�text("and swapping the contents 'randomly'",634,63,1) h+�text("Press any key to fade",450,42,3) r*�text("Press ESCAPE to exit",400,42,2) |� � a=�(500) � � change �� �-113 ��end �� �: � � �ass �len%=1024*8 �speed=32 �� code len% �� pass=8 � 10 � 2 �P%=code �L%=code+len% [OPT pass .change STMFD R13!,{R14} ADR R4,table & MOV R5,#speed 0.main_loop MOV R2,#63 :.y_loop MOV R3,#79 D$.x_loop ADD R6,R2,R3,LSL#6 N LDRB R7,[R4,R6] X CMP R7,R5 b BNE skip l ADR R8,offsets v LDR R0,scr1 � LDR R1,scr2 �$ ADD R7,R3,R2,LSL#6 �$ ADD R7,R7,R2,LSL#8 � ADD R0,R0,R7 � ADD R1,R1,R7 �] �� loop=1 � 4 � [OPT pass �" LDMIA R8!,{R9-R12} � LDRB R7,[R0,R9] �! LDRB R14,[R1,R9] � STRB R7,[R1,R9] �! STRB R14,[R0,R9] ! LDRB R7,[R0,R10] " LDRB R14,[R1,R10] ! STRB R7,[R1,R10] " STRB R14,[R0,R10] *! LDRB R7,[R0,R11] 4" LDRB R14,[R1,R11] >! STRB R7,[R1,R11] H" STRB R14,[R0,R11] R! LDRB R7,[R0,R12] \" LDRB R14,[R1,R12] f! STRB R7,[R1,R12] p" STRB R14,[R0,R12] z] �� � [OPT pass �.skip SUBS R3,R3,#1 � BPL x_loop � SUBS R2,R2,#1 � BPL y_loop � SUBS R5,R5,#1 � BNE main_loop � LDMFD R13!,{PC} � �.scr1 EQUD 0 �.scr2 EQUD 0 � .offsets �array(64) .table �array(64*80+4) $ .swop STMFD R13!,{R14} . LDR R4,bank 8 RSB R4,R4,#3 B STR R4,bank L MOV R0,#112 V MOV R1,R4 ` SWI "OS_Byte" j MOV R0,#113 t RSB R1,R4,#3 ~ SWI "OS_Byte" � ADR R0,vduin � ADR R1,screen �+ SWI "OS_ReadVduVariables" � LDMFD R13!,{PC} � �.bank EQUD 1 �.vduin EQUD 148 � EQUD -1 �.screen EQUD 0 �] �� �� i%=0 � 3 � j%=0 � 3 * offsets!(4*i%+16*j%)=80*i%+320*64*j% � � (� 2: <� �array(b%) F P%+=b% P=0 Z: d� �init n� i=0 � 64*80 x table?i=�(speed) �� �� �: �� �text(a$,y%,c%,t%) �x%=640-((�a$*32)/2) �� 5 �� 0 Ȝ 0 �� x=-4 � 4 � 4 � � y=-4 � 4 � 4 � � x%+x,y%+y � �a$ � � �� � c% Ȝ t%*64 � x%,y% �a$ "� 4 ,� 6� @: J � �end T� 0 ^� h� �
00000000 0d 00 0a 11 f4 20 20 20 20 20 3e 44 69 73 69 6e |..... >Disin| 00000010 74 0d 00 14 15 f4 20 42 79 20 20 4d 61 72 6b 20 |t..... By Mark | 00000020 48 6f 62 73 6f 6e 0d 00 1e 19 f4 20 46 6f 72 20 |Hobson..... For | 00000030 33 32 2d 62 69 74 20 6d 61 63 68 69 6e 65 73 0d |32-bit machines.| 00000040 00 28 1a f4 20 28 63 29 20 42 41 55 20 4f 63 74 |.(.. (c) BAU Oct| 00000050 6f 62 65 72 20 31 39 39 33 0d 00 32 05 3a 0d 00 |ober 1993..2.:..| 00000060 3c 08 eb 20 31 35 0d 00 46 05 87 0d 00 50 15 c8 |<.. 15..F....P..| 00000070 99 20 22 48 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 |. "Hourglass_On"| 00000080 0d 00 5a 08 f2 61 73 73 0d 00 64 09 f2 69 6e 69 |..Z..ass..d..ini| 00000090 74 0d 00 6e 16 c8 99 20 22 48 6f 75 72 67 6c 61 |t..n... "Hourgla| 000000a0 73 73 5f 4f 66 66 22 0d 00 78 08 eb 20 31 33 0d |ss_Off"..x.. 13.| 000000b0 00 82 05 87 0d 00 8c 2c ee 20 85 20 e7 20 9f 3c |.......,. . . .<| 000000c0 3e 31 37 20 eb 30 3a f6 3a f1 22 20 61 74 20 6c |>17 .0:.:." at l| 000000d0 69 6e 65 20 22 3b 9e 3a e0 20 8b 20 f2 65 6e 64 |ine ";.:. . .end| 000000e0 0d 00 96 0a d6 20 73 77 6f 70 0d 00 a0 11 21 73 |..... swop....!s| 000000f0 63 72 31 3d 21 73 63 72 65 65 6e 0d 00 aa 0a d6 |cr1=!screen.....| 00000100 20 73 77 6f 70 0d 00 b4 11 21 73 63 72 32 3d 21 | swop....!scr2=!| 00000110 73 63 72 65 65 6e 0d 00 be 05 db 0d 00 c8 0f e3 |screen..........| 00000120 20 69 3d 30 20 b8 20 32 30 30 0d 00 d2 1b 20 e6 | i=0 . 200.... .| 00000130 20 b3 28 36 33 29 20 c8 9c 20 28 b3 28 33 29 2b | .(63) .. (.(3)+| 00000140 31 29 2a 36 34 0d 00 dc 21 20 c8 8f 20 c8 90 20 |1)*64...! .. .. | 00000150 b3 28 31 32 37 39 29 2c b3 28 31 30 32 33 29 2c |.(1279),.(1023),| 00000160 b3 28 32 30 30 29 0d 00 e6 05 ed 0d 00 f0 2b f2 |.(200)........+.| 00000170 74 65 78 74 28 22 53 43 52 45 45 4e 20 46 41 44 |text("SCREEN FAD| 00000180 49 4e 47 20 52 4f 55 54 49 4e 45 22 2c 37 30 30 |ING ROUTINE",700| 00000190 2c 36 33 2c 33 29 0d 00 fa 24 f2 74 65 78 74 28 |,63,3)...$.text(| 000001a0 22 62 79 20 4d 61 72 6b 20 48 6f 62 73 6f 6e 22 |"by Mark Hobson"| 000001b0 2c 36 35 30 2c 36 33 2c 31 29 0d 01 04 2b f2 74 |,650,63,1)...+.t| 000001c0 65 78 74 28 22 50 72 65 73 73 20 61 6e 79 20 6b |ext("Press any k| 000001d0 65 79 20 74 6f 20 66 61 64 65 22 2c 34 35 30 2c |ey to fade",450,| 000001e0 34 32 2c 33 29 0d 01 0e 2a f2 74 65 78 74 28 22 |42,3)...*.text("| 000001f0 50 72 65 73 73 20 45 53 43 41 50 45 20 74 6f 20 |Press ESCAPE to | 00000200 65 78 69 74 22 2c 34 30 30 2c 34 32 2c 32 29 0d |exit",400,42,2).| 00000210 01 18 0c d6 20 63 68 61 6e 67 65 0d 01 22 05 db |.... change.."..| 00000220 0d 01 2c 0f e3 20 69 3d 30 20 b8 20 32 30 30 0d |..,.. i=0 . 200.| 00000230 01 36 1b 20 e6 20 b3 28 36 33 29 20 c8 9c 20 28 |.6. . .(63) .. (| 00000240 b3 28 33 29 2b 31 29 2a 36 34 0d 01 40 28 20 c8 |.(3)+1)*64..@( .| 00000250 93 20 c8 90 20 b3 28 31 32 37 39 29 2c b3 28 31 |. .. .(1279),.(1| 00000260 30 32 33 29 2c b3 28 34 30 30 29 2c b3 28 34 30 |023),.(400),.(40| 00000270 30 29 0d 01 4a 05 ed 0d 01 54 35 f2 74 65 78 74 |0)..J....T5.text| 00000280 28 22 57 6f 72 6b 73 20 62 79 20 75 73 69 6e 67 |("Works by using| 00000290 20 74 77 6f 20 73 63 72 65 65 6e 20 62 61 6e 6b | two screen bank| 000002a0 73 22 2c 37 30 30 2c 36 33 2c 33 29 0d 01 5e 3a |s",700,63,3)..^:| 000002b0 f2 74 65 78 74 28 22 61 6e 64 20 73 77 61 70 70 |.text("and swapp| 000002c0 69 6e 67 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 |ing the contents| 000002d0 20 27 72 61 6e 64 6f 6d 6c 79 27 22 2c 36 33 34 | 'randomly'",634| 000002e0 2c 36 33 2c 31 29 0d 01 68 2b f2 74 65 78 74 28 |,63,1)..h+.text(| 000002f0 22 50 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 |"Press any key t| 00000300 6f 20 66 61 64 65 22 2c 34 35 30 2c 34 32 2c 33 |o fade",450,42,3| 00000310 29 0d 01 72 2a f2 74 65 78 74 28 22 50 72 65 73 |)..r*.text("Pres| 00000320 73 20 45 53 43 41 50 45 20 74 6f 20 65 78 69 74 |s ESCAPE to exit| 00000330 22 2c 34 30 30 2c 34 32 2c 32 29 0d 01 7c 05 f5 |",400,42,2)..|..| 00000340 0d 01 86 0d 20 61 3d a6 28 35 30 30 29 0d 01 90 |.... a=.(500)...| 00000350 0d 20 d6 20 63 68 61 6e 67 65 0d 01 9a 0b fd 20 |. . change..... | 00000360 a6 2d 31 31 33 0d 01 a4 08 f2 65 6e 64 0d 01 ae |.-113.....end...| 00000370 05 e0 0d 01 b8 05 3a 0d 01 c2 0a dd 20 f2 61 73 |......:..... .as| 00000380 73 0d 01 cc 0f 6c 65 6e 25 3d 31 30 32 34 2a 38 |s....len%=1024*8| 00000390 0d 01 d6 0c 73 70 65 65 64 3d 33 32 0d 01 e0 0f |....speed=32....| 000003a0 de 20 63 6f 64 65 20 6c 65 6e 25 0d 01 ea 15 e3 |. code len%.....| 000003b0 20 70 61 73 73 3d 38 20 b8 20 31 30 20 88 20 32 | pass=8 . 10 . 2| 000003c0 0d 01 f4 0b 50 25 3d 63 6f 64 65 0d 01 fe 10 4c |....P%=code....L| 000003d0 25 3d 63 6f 64 65 2b 6c 65 6e 25 0d 02 08 0d 5b |%=code+len%....[| 000003e0 4f 50 54 20 70 61 73 73 0d 02 12 20 2e 63 68 61 |OPT pass... .cha| 000003f0 6e 67 65 20 20 20 20 53 54 4d 46 44 20 20 52 31 |nge STMFD R1| 00000400 33 21 2c 7b 52 31 34 7d 0d 02 1c 1e 20 20 20 20 |3!,{R14}.... | 00000410 20 20 20 20 20 20 20 41 44 52 20 20 20 20 52 34 | ADR R4| 00000420 2c 74 61 62 6c 65 0d 02 26 1f 20 20 20 20 20 20 |,table..&. | 00000430 20 20 20 20 20 4d 4f 56 20 20 20 20 52 35 2c 23 | MOV R5,#| 00000440 73 70 65 65 64 0d 02 30 1c 2e 6d 61 69 6e 5f 6c |speed..0..main_l| 00000450 6f 6f 70 20 4d 4f 56 20 20 20 20 52 32 2c 23 36 |oop MOV R2,#6| 00000460 33 0d 02 3a 1c 2e 79 5f 6c 6f 6f 70 20 20 20 20 |3..:..y_loop | 00000470 4d 4f 56 20 20 20 20 52 33 2c 23 37 39 0d 02 44 |MOV R3,#79..D| 00000480 24 2e 78 5f 6c 6f 6f 70 20 20 20 20 41 44 44 20 |$.x_loop ADD | 00000490 20 20 20 52 36 2c 52 32 2c 52 33 2c 4c 53 4c 23 | R6,R2,R3,LSL#| 000004a0 36 0d 02 4e 20 20 20 20 20 20 20 20 20 20 20 20 |6..N | 000004b0 4c 44 52 42 20 20 20 52 37 2c 5b 52 34 2c 52 36 |LDRB R7,[R4,R6| 000004c0 5d 0d 02 58 1b 20 20 20 20 20 20 20 20 20 20 20 |]..X. | 000004d0 43 4d 50 20 20 20 20 52 37 2c 52 35 0d 02 62 1a |CMP R7,R5..b.| 000004e0 20 20 20 20 20 20 20 20 20 20 20 42 4e 45 20 20 | BNE | 000004f0 20 20 73 6b 69 70 0d 02 6c 20 20 20 20 20 20 20 | skip..l | 00000500 20 20 20 20 20 41 44 52 20 20 20 20 52 38 2c 6f | ADR R8,o| 00000510 66 66 73 65 74 73 0d 02 76 1d 20 20 20 20 20 20 |ffsets..v. | 00000520 20 20 20 20 20 4c 44 52 20 20 20 20 52 30 2c 73 | LDR R0,s| 00000530 63 72 31 0d 02 80 1d 20 20 20 20 20 20 20 20 20 |cr1.... | 00000540 20 20 4c 44 52 20 20 20 20 52 31 2c 73 63 72 32 | LDR R1,scr2| 00000550 0d 02 8a 24 20 20 20 20 20 20 20 20 20 20 20 41 |...$ A| 00000560 44 44 20 20 20 20 52 37 2c 52 33 2c 52 32 2c 4c |DD R7,R3,R2,L| 00000570 53 4c 23 36 0d 02 94 24 20 20 20 20 20 20 20 20 |SL#6...$ | 00000580 20 20 20 41 44 44 20 20 20 20 52 37 2c 52 37 2c | ADD R7,R7,| 00000590 52 32 2c 4c 53 4c 23 38 0d 02 9e 1e 20 20 20 20 |R2,LSL#8.... | 000005a0 20 20 20 20 20 20 20 41 44 44 20 20 20 20 52 30 | ADD R0| 000005b0 2c 52 30 2c 52 37 0d 02 a8 1e 20 20 20 20 20 20 |,R0,R7.... | 000005c0 20 20 20 20 20 41 44 44 20 20 20 20 52 31 2c 52 | ADD R1,R| 000005d0 31 2c 52 37 0d 02 b2 05 5d 0d 02 bc 10 e3 20 6c |1,R7....]..... l| 000005e0 6f 6f 70 3d 31 20 b8 20 34 0d 02 c6 0d 5b 4f 50 |oop=1 . 4....[OP| 000005f0 54 20 70 61 73 73 0d 02 d0 22 20 20 20 20 20 20 |T pass..." | 00000600 20 20 20 20 20 4c 44 4d 49 41 20 20 52 38 21 2c | LDMIA R8!,| 00000610 7b 52 39 2d 52 31 32 7d 0d 02 da 20 20 20 20 20 |{R9-R12}... | 00000620 20 20 20 20 20 20 20 4c 44 52 42 20 20 20 52 37 | LDRB R7| 00000630 2c 5b 52 30 2c 52 39 5d 0d 02 e4 21 20 20 20 20 |,[R0,R9]...! | 00000640 20 20 20 20 20 20 20 4c 44 52 42 20 20 20 52 31 | LDRB R1| 00000650 34 2c 5b 52 31 2c 52 39 5d 0d 02 ee 20 20 20 20 |4,[R1,R9]... | 00000660 20 20 20 20 20 20 20 20 53 54 52 42 20 20 20 52 | STRB R| 00000670 37 2c 5b 52 31 2c 52 39 5d 0d 02 f8 21 20 20 20 |7,[R1,R9]...! | 00000680 20 20 20 20 20 20 20 20 53 54 52 42 20 20 20 52 | STRB R| 00000690 31 34 2c 5b 52 30 2c 52 39 5d 0d 03 02 21 20 20 |14,[R0,R9]...! | 000006a0 20 20 20 20 20 20 20 20 20 4c 44 52 42 20 20 20 | LDRB | 000006b0 52 37 2c 5b 52 30 2c 52 31 30 5d 0d 03 0c 22 20 |R7,[R0,R10]..." | 000006c0 20 20 20 20 20 20 20 20 20 20 4c 44 52 42 20 20 | LDRB | 000006d0 20 52 31 34 2c 5b 52 31 2c 52 31 30 5d 0d 03 16 | R14,[R1,R10]...| 000006e0 21 20 20 20 20 20 20 20 20 20 20 20 53 54 52 42 |! STRB| 000006f0 20 20 20 52 37 2c 5b 52 31 2c 52 31 30 5d 0d 03 | R7,[R1,R10]..| 00000700 20 22 20 20 20 20 20 20 20 20 20 20 20 53 54 52 | " STR| 00000710 42 20 20 20 52 31 34 2c 5b 52 30 2c 52 31 30 5d |B R14,[R0,R10]| 00000720 0d 03 2a 21 20 20 20 20 20 20 20 20 20 20 20 4c |..*! L| 00000730 44 52 42 20 20 20 52 37 2c 5b 52 30 2c 52 31 31 |DRB R7,[R0,R11| 00000740 5d 0d 03 34 22 20 20 20 20 20 20 20 20 20 20 20 |]..4" | 00000750 4c 44 52 42 20 20 20 52 31 34 2c 5b 52 31 2c 52 |LDRB R14,[R1,R| 00000760 31 31 5d 0d 03 3e 21 20 20 20 20 20 20 20 20 20 |11]..>! | 00000770 20 20 53 54 52 42 20 20 20 52 37 2c 5b 52 31 2c | STRB R7,[R1,| 00000780 52 31 31 5d 0d 03 48 22 20 20 20 20 20 20 20 20 |R11]..H" | 00000790 20 20 20 53 54 52 42 20 20 20 52 31 34 2c 5b 52 | STRB R14,[R| 000007a0 30 2c 52 31 31 5d 0d 03 52 21 20 20 20 20 20 20 |0,R11]..R! | 000007b0 20 20 20 20 20 4c 44 52 42 20 20 20 52 37 2c 5b | LDRB R7,[| 000007c0 52 30 2c 52 31 32 5d 0d 03 5c 22 20 20 20 20 20 |R0,R12]..\" | 000007d0 20 20 20 20 20 20 4c 44 52 42 20 20 20 52 31 34 | LDRB R14| 000007e0 2c 5b 52 31 2c 52 31 32 5d 0d 03 66 21 20 20 20 |,[R1,R12]..f! | 000007f0 20 20 20 20 20 20 20 20 53 54 52 42 20 20 20 52 | STRB R| 00000800 37 2c 5b 52 31 2c 52 31 32 5d 0d 03 70 22 20 20 |7,[R1,R12]..p" | 00000810 20 20 20 20 20 20 20 20 20 53 54 52 42 20 20 20 | STRB | 00000820 52 31 34 2c 5b 52 30 2c 52 31 32 5d 0d 03 7a 05 |R14,[R0,R12]..z.| 00000830 5d 0d 03 84 05 ed 0d 03 8e 0d 5b 4f 50 54 20 70 |].........[OPT p| 00000840 61 73 73 0d 03 98 1e 2e 73 6b 69 70 20 20 20 20 |ass.....skip | 00000850 20 20 53 55 42 53 20 20 20 52 33 2c 52 33 2c 23 | SUBS R3,R3,#| 00000860 31 0d 03 a2 1c 20 20 20 20 20 20 20 20 20 20 20 |1.... | 00000870 42 50 4c 20 20 20 20 78 5f 6c 6f 6f 70 0d 03 ac |BPL x_loop...| 00000880 1e 20 20 20 20 20 20 20 20 20 20 20 53 55 42 53 |. SUBS| 00000890 20 20 20 52 32 2c 52 32 2c 23 31 0d 03 b6 1c 20 | R2,R2,#1.... | 000008a0 20 20 20 20 20 20 20 20 20 20 42 50 4c 20 20 20 | BPL | 000008b0 20 79 5f 6c 6f 6f 70 0d 03 c0 1e 20 20 20 20 20 | y_loop.... | 000008c0 20 20 20 20 20 20 53 55 42 53 20 20 20 52 35 2c | SUBS R5,| 000008d0 52 35 2c 23 31 0d 03 ca 1f 20 20 20 20 20 20 20 |R5,#1.... | 000008e0 20 20 20 20 42 4e 45 20 20 20 20 6d 61 69 6e 5f | BNE main_| 000008f0 6c 6f 6f 70 0d 03 d4 1f 20 20 20 20 20 20 20 20 |loop.... | 00000900 20 20 20 4c 44 4d 46 44 20 20 52 31 33 21 2c 7b | LDMFD R13!,{| 00000910 50 43 7d 0d 03 de 04 0d 03 e8 17 2e 73 63 72 31 |PC}.........scr1| 00000920 20 20 20 20 20 20 45 51 55 44 20 20 20 30 0d 03 | EQUD 0..| 00000930 f2 17 2e 73 63 72 32 20 20 20 20 20 20 45 51 55 |...scr2 EQU| 00000940 44 20 20 20 30 0d 03 fc 04 0d 04 06 19 2e 6f 66 |D 0.........of| 00000950 66 73 65 74 73 20 20 20 a4 61 72 72 61 79 28 36 |fsets .array(6| 00000960 34 29 0d 04 10 1e 2e 74 61 62 6c 65 20 20 20 20 |4).....table | 00000970 20 a4 61 72 72 61 79 28 36 34 2a 38 30 2b 34 29 | .array(64*80+4)| 00000980 0d 04 1a 04 0d 04 24 20 2e 73 77 6f 70 20 20 20 |......$ .swop | 00000990 20 20 20 53 54 4d 46 44 20 20 52 31 33 21 2c 7b | STMFD R13!,{| 000009a0 52 31 34 7d 0d 04 2e 1d 20 20 20 20 20 20 20 20 |R14}.... | 000009b0 20 20 20 4c 44 52 20 20 20 20 52 34 2c 62 61 6e | LDR R4,ban| 000009c0 6b 0d 04 38 1e 20 20 20 20 20 20 20 20 20 20 20 |k..8. | 000009d0 52 53 42 20 20 20 20 52 34 2c 52 34 2c 23 33 0d |RSB R4,R4,#3.| 000009e0 04 42 1d 20 20 20 20 20 20 20 20 20 20 20 53 54 |.B. ST| 000009f0 52 20 20 20 20 52 34 2c 62 61 6e 6b 0d 04 4c 1d |R R4,bank..L.| 00000a00 20 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 | MOV | 00000a10 20 20 52 30 2c 23 31 31 32 0d 04 56 1b 20 20 20 | R0,#112..V. | 00000a20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 52 | MOV R| 00000a30 31 2c 52 34 0d 04 60 1f 20 20 20 20 20 20 20 20 |1,R4..`. | 00000a40 20 20 20 53 57 49 20 20 20 20 22 4f 53 5f 42 79 | SWI "OS_By| 00000a50 74 65 22 0d 04 6a 1d 20 20 20 20 20 20 20 20 20 |te"..j. | 00000a60 20 20 4d 4f 56 20 20 20 20 52 30 2c 23 31 31 33 | MOV R0,#113| 00000a70 0d 04 74 1e 20 20 20 20 20 20 20 20 20 20 20 52 |..t. R| 00000a80 53 42 20 20 20 20 52 31 2c 52 34 2c 23 33 0d 04 |SB R1,R4,#3..| 00000a90 7e 1f 20 20 20 20 20 20 20 20 20 20 20 53 57 49 |~. SWI| 00000aa0 20 20 20 20 22 4f 53 5f 42 79 74 65 22 0d 04 88 | "OS_Byte"...| 00000ab0 1e 20 20 20 20 20 20 20 20 20 20 20 41 44 52 20 |. ADR | 00000ac0 20 20 20 52 30 2c 76 64 75 69 6e 0d 04 92 1f 20 | R0,vduin.... | 00000ad0 20 20 20 20 20 20 20 20 20 20 41 44 52 20 20 20 | ADR | 00000ae0 20 52 31 2c 73 63 72 65 65 6e 0d 04 9c 2b 20 20 | R1,screen...+ | 00000af0 20 20 20 20 20 20 20 20 20 53 57 49 20 20 20 20 | SWI | 00000b00 22 4f 53 5f 52 65 61 64 56 64 75 56 61 72 69 61 |"OS_ReadVduVaria| 00000b10 62 6c 65 73 22 0d 04 a6 1f 20 20 20 20 20 20 20 |bles".... | 00000b20 20 20 20 20 4c 44 4d 46 44 20 20 52 31 33 21 2c | LDMFD R13!,| 00000b30 7b 50 43 7d 0d 04 b0 04 0d 04 ba 17 2e 62 61 6e |{PC}.........ban| 00000b40 6b 20 20 20 20 20 20 45 51 55 44 20 20 20 31 0d |k EQUD 1.| 00000b50 04 c4 19 2e 76 64 75 69 6e 20 20 20 20 20 45 51 |....vduin EQ| 00000b60 55 44 20 20 20 31 34 38 0d 04 ce 18 20 20 20 20 |UD 148.... | 00000b70 20 20 20 20 20 20 20 45 51 55 44 20 20 20 2d 31 | EQUD -1| 00000b80 0d 04 d8 17 2e 73 63 72 65 65 6e 20 20 20 20 45 |.....screen E| 00000b90 51 55 44 20 20 20 30 0d 04 e2 05 5d 0d 04 ec 05 |QUD 0....]....| 00000ba0 ed 0d 04 f6 0e e3 20 69 25 3d 30 20 b8 20 33 0d |...... i%=0 . 3.| 00000bb0 05 00 0f 20 e3 20 6a 25 3d 30 20 b8 20 33 0d 05 |... . j%=0 . 3..| 00000bc0 0a 2a 20 20 6f 66 66 73 65 74 73 21 28 34 2a 69 |.* offsets!(4*i| 00000bd0 25 2b 31 36 2a 6a 25 29 3d 38 30 2a 69 25 2b 33 |%+16*j%)=80*i%+3| 00000be0 32 30 2a 36 34 2a 6a 25 0d 05 14 06 20 ed 0d 05 |20*64*j%.... ...| 00000bf0 1e 05 ed 0d 05 28 05 e1 0d 05 32 05 3a 0d 05 3c |.....(....2.:..<| 00000c00 10 dd 20 a4 61 72 72 61 79 28 62 25 29 0d 05 46 |.. .array(b%)..F| 00000c10 0a 50 25 2b 3d 62 25 0d 05 50 06 3d 30 0d 05 5a |.P%+=b%..P.=0..Z| 00000c20 05 3a 0d 05 64 0b dd 20 f2 69 6e 69 74 0d 05 6e |.:..d.. .init..n| 00000c30 11 e3 20 69 3d 30 20 b8 20 36 34 2a 38 30 0d 05 |.. i=0 . 64*80..| 00000c40 78 15 20 74 61 62 6c 65 3f 69 3d b3 28 73 70 65 |x. table?i=.(spe| 00000c50 65 64 29 0d 05 82 05 ed 0d 05 8c 05 e1 0d 05 96 |ed).............| 00000c60 05 3a 0d 05 a0 18 dd 20 f2 74 65 78 74 28 61 24 |.:..... .text(a$| 00000c70 2c 79 25 2c 63 25 2c 74 25 29 0d 05 aa 17 78 25 |,y%,c%,t%)....x%| 00000c80 3d 36 34 30 2d 28 28 a9 61 24 2a 33 32 29 2f 32 |=640-((.a$*32)/2| 00000c90 29 0d 05 b4 07 ef 20 35 0d 05 be 0c e6 20 30 20 |)..... 5..... 0 | 00000ca0 c8 9c 20 30 0d 05 c8 12 e3 20 78 3d 2d 34 20 b8 |.. 0..... x=-4 .| 00000cb0 20 34 20 88 20 34 0d 05 d2 13 20 e3 20 79 3d 2d | 4 . 4.... . y=-| 00000cc0 34 20 b8 20 34 20 88 20 34 0d 05 dc 11 20 20 ec |4 . 4 . 4.... .| 00000cd0 20 78 25 2b 78 2c 79 25 2b 79 0d 05 e6 09 20 20 | x%+x,y%+y.... | 00000ce0 f1 61 24 0d 05 f0 06 20 ed 0d 05 fa 05 ed 0d 06 |.a$.... ........| 00000cf0 04 11 e6 20 63 25 20 c8 9c 20 74 25 2a 36 34 0d |... c% .. t%*64.| 00000d00 06 0e 0b ec 20 78 25 2c 79 25 0d 06 18 07 f1 61 |.... x%,y%.....a| 00000d10 24 0d 06 22 07 ef 20 34 0d 06 2c 05 87 0d 06 36 |$..".. 4..,....6| 00000d20 05 e1 0d 06 40 05 3a 0d 06 4a 0a dd 20 f2 65 6e |....@.:..J.. .en| 00000d30 64 0d 06 54 07 eb 20 30 0d 06 5e 05 e0 0d 06 68 |d..T.. 0..^....h| 00000d40 05 e1 0d ff |....| 00000d44