Home » Archimedes archive » Acorn User » AU 1994-02.adf » !BasicProg_BasicProg » Listing1
Listing1
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1994-02.adf » !BasicProg_BasicProg |
Filename: | Listing1 |
Read OK: | ✔ |
File size: | 02FC bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >Listing1 20: 30ON ERROR REPORT:PRINT " at line ";ERL/10:END 40MODE 0 50DIM array$(28) 60row%=0 70PRINT TAB(0,29);STRING$(75,"-") 80PRINT TAB(0,0);"*" 90REPEAT 100 CASE GET$ OF 110 WHEN "Z","z":PROCmove(1) 120 WHEN "A","a":PROCmove(-1) 130 WHEN "E","e":PROCedit 140 WHEN "R","r":PROCright 150 WHEN "C","c":PROCcentre 160 WHEN "L","l":PROCprint_line(1) 170 ENDCASE 180UNTIL FALSE 190END 200: 210DEF PROCmove(dir%) 220PRINT TAB(0,row%);" " 230row%=row%+dir% 240IF row%<0 THEN row%=28 250IF row%>28 THEN row%=0 260PRINT TAB(0,row%);"*" 270ENDPROC 280: 290DEF PROCedit 300INPUT LINE TAB(0,30);array$(row%) 310PRINT TAB(0,30);STRING$(75," ") 320PROCprint_line(1) 330ENDPROC 340: 350DEF PROCright 360indent%=75-LEN(array$(row%)) 370PROCprint_line(indent%) 380ENDPROC 390: 400DEF PROCcentre 410indent%=INT((75-LEN(array$(row%)))/2) 420PROCprint_line(indent%) 430ENDPROC 440: 450DEF PROCprint_line(indent%) 460PRINT TAB(1,row%);STRING$(75," ") 470PRINT TAB(indent%,row%);array$(row%) 480ENDPROC
� >Listing1 : � � �:� " at line ";�/10:� (� 0 2� array$(28) < row%=0 F� �0,29);�75,"-") P� �0,0);"*" Z� d Ȏ � � n � "Z","z":�move(1) x � "A","a":�move(-1) � � "E","e":�edit � � "R","r":�right � � "C","c":�centre � � "L","l":�print_line(1) � � �� � �� �: �� �move(dir%) �� �0,row%);" " �row%=row%+dir% �� row%<0 � row%=28 �� row%>28 � row%=0 � �0,row%);"*" � : "� �edit ,� � �0,30);array$(row%) 6� �0,30);�75," ") @�print_line(1) J� T: ^� �right hindent%=75-�(array$(row%)) r�print_line(indent%) |� �: � � �centre �%indent%=�((75-�(array$(row%)))/2) ��print_line(indent%) �� �: �� �print_line(indent%) �� �1,row%);�75," ") �!� �indent%,row%);array$(row%) �� �
00000000 0d 00 0a 0f f4 20 3e 4c 69 73 74 69 6e 67 31 0d |..... >Listing1.| 00000010 00 14 05 3a 0d 00 1e 1e ee 20 85 20 f6 3a f1 20 |...:..... . .:. | 00000020 22 20 61 74 20 6c 69 6e 65 20 22 3b 9e 2f 31 30 |" at line ";./10| 00000030 3a e0 0d 00 28 07 eb 20 30 0d 00 32 10 de 20 61 |:...(.. 0..2.. a| 00000040 72 72 61 79 24 28 32 38 29 0d 00 3c 0a 72 6f 77 |rray$(28)..<.row| 00000050 25 3d 30 0d 00 46 15 f1 20 8a 30 2c 32 39 29 3b |%=0..F.. .0,29);| 00000060 c4 37 35 2c 22 2d 22 29 0d 00 50 0f f1 20 8a 30 |.75,"-")..P.. .0| 00000070 2c 30 29 3b 22 2a 22 0d 00 5a 05 f5 0d 00 64 0b |,0);"*"..Z....d.| 00000080 20 c8 8e 20 be 20 ca 0d 00 6e 18 20 20 c9 20 22 | .. . ...n. . "| 00000090 5a 22 2c 22 7a 22 3a f2 6d 6f 76 65 28 31 29 0d |Z","z":.move(1).| 000000a0 00 78 19 20 20 c9 20 22 41 22 2c 22 61 22 3a f2 |.x. . "A","a":.| 000000b0 6d 6f 76 65 28 2d 31 29 0d 00 82 15 20 20 c9 20 |move(-1).... . | 000000c0 22 45 22 2c 22 65 22 3a f2 65 64 69 74 0d 00 8c |"E","e":.edit...| 000000d0 16 20 20 c9 20 22 52 22 2c 22 72 22 3a f2 72 69 |. . "R","r":.ri| 000000e0 67 68 74 0d 00 96 17 20 20 c9 20 22 43 22 2c 22 |ght.... . "C","| 000000f0 63 22 3a f2 63 65 6e 74 72 65 0d 00 a0 1e 20 20 |c":.centre.... | 00000100 c9 20 22 4c 22 2c 22 6c 22 3a f2 70 72 69 6e 74 |. "L","l":.print| 00000110 5f 6c 69 6e 65 28 31 29 0d 00 aa 06 20 cb 0d 00 |_line(1).... ...| 00000120 b4 07 fd 20 a3 0d 00 be 05 e0 0d 00 c8 05 3a 0d |... ..........:.| 00000130 00 d2 11 dd 20 f2 6d 6f 76 65 28 64 69 72 25 29 |.... .move(dir%)| 00000140 0d 00 dc 12 f1 20 8a 30 2c 72 6f 77 25 29 3b 22 |..... .0,row%);"| 00000150 20 22 0d 00 e6 12 72 6f 77 25 3d 72 6f 77 25 2b | "....row%=row%+| 00000160 64 69 72 25 0d 00 f0 16 e7 20 72 6f 77 25 3c 30 |dir%..... row%<0| 00000170 20 8c 20 72 6f 77 25 3d 32 38 0d 00 fa 16 e7 20 | . row%=28..... | 00000180 72 6f 77 25 3e 32 38 20 8c 20 72 6f 77 25 3d 30 |row%>28 . row%=0| 00000190 0d 01 04 12 f1 20 8a 30 2c 72 6f 77 25 29 3b 22 |..... .0,row%);"| 000001a0 2a 22 0d 01 0e 05 e1 0d 01 18 05 3a 0d 01 22 0b |*".........:..".| 000001b0 dd 20 f2 65 64 69 74 0d 01 2c 1b e8 20 86 20 8a |. .edit..,.. . .| 000001c0 30 2c 33 30 29 3b 61 72 72 61 79 24 28 72 6f 77 |0,30);array$(row| 000001d0 25 29 0d 01 36 15 f1 20 8a 30 2c 33 30 29 3b c4 |%)..6.. .0,30);.| 000001e0 37 35 2c 22 20 22 29 0d 01 40 12 f2 70 72 69 6e |75," ")..@..prin| 000001f0 74 5f 6c 69 6e 65 28 31 29 0d 01 4a 05 e1 0d 01 |t_line(1)..J....| 00000200 54 05 3a 0d 01 5e 0c dd 20 f2 72 69 67 68 74 0d |T.:..^.. .right.| 00000210 01 68 1e 69 6e 64 65 6e 74 25 3d 37 35 2d a9 28 |.h.indent%=75-.(| 00000220 61 72 72 61 79 24 28 72 6f 77 25 29 29 0d 01 72 |array$(row%))..r| 00000230 18 f2 70 72 69 6e 74 5f 6c 69 6e 65 28 69 6e 64 |..print_line(ind| 00000240 65 6e 74 25 29 0d 01 7c 05 e1 0d 01 86 05 3a 0d |ent%)..|......:.| 00000250 01 90 0d dd 20 f2 63 65 6e 74 72 65 0d 01 9a 25 |.... .centre...%| 00000260 69 6e 64 65 6e 74 25 3d a8 28 28 37 35 2d a9 28 |indent%=.((75-.(| 00000270 61 72 72 61 79 24 28 72 6f 77 25 29 29 29 2f 32 |array$(row%)))/2| 00000280 29 0d 01 a4 18 f2 70 72 69 6e 74 5f 6c 69 6e 65 |).....print_line| 00000290 28 69 6e 64 65 6e 74 25 29 0d 01 ae 05 e1 0d 01 |(indent%).......| 000002a0 b8 05 3a 0d 01 c2 1a dd 20 f2 70 72 69 6e 74 5f |..:..... .print_| 000002b0 6c 69 6e 65 28 69 6e 64 65 6e 74 25 29 0d 01 cc |line(indent%)...| 000002c0 17 f1 20 8a 31 2c 72 6f 77 25 29 3b c4 37 35 2c |.. .1,row%);.75,| 000002d0 22 20 22 29 0d 01 d6 21 f1 20 8a 69 6e 64 65 6e |" ")...!. .inden| 000002e0 74 25 2c 72 6f 77 25 29 3b 61 72 72 61 79 24 28 |t%,row%);array$(| 000002f0 72 6f 77 25 29 0d 01 e0 05 e1 0d ff |row%).......| 000002fc