Home » Archimedes archive » Micro User » MU 1991-02.adf » Listings » Sport_M
Sport_M
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 » Micro User » MU 1991-02.adf » Listings |
Filename: | Sport_M |
Read OK: | ✔ |
File size: | 04CA bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >Sport_M 20MODE 1 30PRINT"Beeb Body Building Course" 40PRINT"Serial Port Input Output Monitor" 50PRINT"By Mike Cook" 60ON ERROR GOTO 780 70 80*FX7,7 90*FX8,7 100*FX156,18 110PROC_SETUP 120B%=0 130CB%=1 140REPEAT 150PROC_DIS(B%,14) 160C%=INKEY(0) 170IF C%<>-1 THEN PROC_COM(C%) 180A%=FN_SP(B%) 190PROC_DIS(A%,8) 200UNTIL FALSE 210 220DEF PROC_SETUP 230PRINT TAB(0,6);" 7 6 5 4 3 2 1 0" 240PRINT TAB(25,8);"Port Input" 250PRINT TAB(0,12);" 7 6 5 4 3 2 1 0" 260PRINT TAB(25,14);"Port Output" 270PRINT TAB(22,15);"^" 280PRINT TAB(0,20);"Use < and > to move pointer" 290PRINT "Space Bar to change the bit" 300PRINT 310PRINT"Q to Quit" 320ENDPROC 330 340DEF PROC_DIS(B%,P%) 350LOCAL M% 360PRINT TAB(0,P%); 370M%=&80 380REPEAT 390IF M% AND B% THEN PRINT" 1 "; ELSE PRINT" 0 "; 400M%=M% DIV 2 410UNTIL M%=0 420ENDPROC 430 440DEF PROC_COM(K%) 450IF K%=32 THEN B%=B% EOR CB%:ENDPROC 460IF K%=60 OR K%=44 THEN PROC_MB(1):ENDPROC 470IF K%=62 OR K%=46 THEN PROC_MB(-1):ENDPROC 480IF K%=81 OR K%=113 THEN PRINT TAB(0,24):END 490ENDPROC 500 510DEF PROC_MB(N%) 520LOCAL BS%,CC% 530IF N%=1 THEN CB%=CB%*2 ELSE CB%=CB% DIV 2 540IF CB%>255 THEN CB%=1 550IF CB%=0 THEN CB%=128 560PRINT TAB(0,15);SPC(23) 570BS%=25 580CC%=CB% 590REPEAT 600BS%=BS%-3 610CC%=CC% DIV 2 620UNTIL CC%=0 630PRINT TAB(BS%,15);"^" 640ENDPROC 650 660REM Send and Read a byte 670DEF FN_SP(B%) 680LOCAL R% 690B%=B% AND &FF 700*FX2,1 710*FX3,3 720PRINT CHR$(B%); 730R%=GET 740*FX2,0 750*FX3,0 760=R% 770 780ON ERROR OFF 790*FX3,0 800*FX2,0 810PRINT"Error ";ERR;" At line ";ERL
� >Sport_M � 1 �"Beeb Body Building Course" ('�"Serial Port Input Output Monitor" 2�"By Mike Cook" <� � � �TLC F P *FX7,7 Z *FX8,7 d *FX156,18 n�_SETUP xB%=0 � CB%=1 �� ��_DIS(B%,14) �C%=�(0) �� C%<>-1 � �_COM(C%) �A%=�_SP(B%) ��_DIS(A%,8) �� � � � � �_SETUP �%� �0,6);" 7 6 5 4 3 2 1 0" �� �25,8);"Port Input" �&� �0,12);" 7 6 5 4 3 2 1 0" � �25,14);"Port Output" � �22,15);"^" *� �0,20);"Use < and > to move pointer" "#� "Space Bar to change the bit" ,� 6�"Q to Quit" @� J T� �_DIS(B%,P%) ^� M% h � �0,P%); r M%=&80 |� �!� M% � B% � �" 1 "; � �" 0 "; � M%=M% � 2 � � M%=0 �� � �� �_COM(K%) �� K%=32 � B%=B% � CB%:� �� K%=60 � K%=44 � �_MB(1):� � � K%=62 � K%=46 � �_MB(-1):� �!� K%=81 � K%=113 � � �0,24):� �� � �� �_MB(N%) � BS%,CC% $� N%=1 � CB%=CB%*2 � CB%=CB% � 2 � CB%>255 � CB%=1 &� CB%=0 � CB%=128 0� �0,15);�(23) : BS%=25 DCC%=CB% N� X BS%=BS%-3 bCC%=CC% � 2 l� CC%=0 v� �BS%,15);"^" �� � �� Send and Read a byte �� �_SP(B%) �� R% �B%=B% � &FF � *FX2,1 � *FX3,3 �� �(B%); �R%=� � *FX2,0 � *FX3,0 �=R% � � � *FX3,0 *FX2,0 *�"Error ";�;" At line ";� �
00000000 0d 00 0a 0e f4 20 3e 53 70 6f 72 74 5f 4d 0d 00 |..... >Sport_M..| 00000010 14 07 eb 20 31 0d 00 1e 20 f1 22 42 65 65 62 20 |... 1... ."Beeb | 00000020 42 6f 64 79 20 42 75 69 6c 64 69 6e 67 20 43 6f |Body Building Co| 00000030 75 72 73 65 22 0d 00 28 27 f1 22 53 65 72 69 61 |urse"..('."Seria| 00000040 6c 20 50 6f 72 74 20 49 6e 70 75 74 20 4f 75 74 |l Port Input Out| 00000050 70 75 74 20 4d 6f 6e 69 74 6f 72 22 0d 00 32 13 |put Monitor"..2.| 00000060 f1 22 42 79 20 4d 69 6b 65 20 43 6f 6f 6b 22 0d |."By Mike Cook".| 00000070 00 3c 0e ee 20 85 20 e5 20 8d 54 4c 43 0d 00 46 |.<.. . . .TLC..F| 00000080 04 0d 00 50 0a 2a 46 58 37 2c 37 0d 00 5a 0a 2a |...P.*FX7,7..Z.*| 00000090 46 58 38 2c 37 0d 00 64 0d 2a 46 58 31 35 36 2c |FX8,7..d.*FX156,| 000000a0 31 38 0d 00 6e 0b f2 5f 53 45 54 55 50 0d 00 78 |18..n.._SETUP..x| 000000b0 08 42 25 3d 30 0d 00 82 09 43 42 25 3d 31 0d 00 |.B%=0....CB%=1..| 000000c0 8c 05 f5 0d 00 96 10 f2 5f 44 49 53 28 42 25 2c |........_DIS(B%,| 000000d0 31 34 29 0d 00 a0 0b 43 25 3d a6 28 30 29 0d 00 |14)....C%=.(0)..| 000000e0 aa 18 e7 20 43 25 3c 3e 2d 31 20 8c 20 f2 5f 43 |... C%<>-1 . ._C| 000000f0 4f 4d 28 43 25 29 0d 00 b4 0f 41 25 3d a4 5f 53 |OM(C%)....A%=._S| 00000100 50 28 42 25 29 0d 00 be 0f f2 5f 44 49 53 28 41 |P(B%)....._DIS(A| 00000110 25 2c 38 29 0d 00 c8 07 fd 20 a3 0d 00 d2 04 0d |%,8)..... ......| 00000120 00 dc 0d dd 20 f2 5f 53 45 54 55 50 0d 00 e6 25 |.... ._SETUP...%| 00000130 f1 20 8a 30 2c 36 29 3b 22 20 37 20 20 36 20 20 |. .0,6);" 7 6 | 00000140 35 20 20 34 20 20 33 20 20 32 20 20 31 20 20 30 |5 4 3 2 1 0| 00000150 22 0d 00 f0 19 f1 20 8a 32 35 2c 38 29 3b 22 50 |"..... .25,8);"P| 00000160 6f 72 74 20 49 6e 70 75 74 22 0d 00 fa 26 f1 20 |ort Input"...&. | 00000170 8a 30 2c 31 32 29 3b 22 20 37 20 20 36 20 20 35 |.0,12);" 7 6 5| 00000180 20 20 34 20 20 33 20 20 32 20 20 31 20 20 30 22 | 4 3 2 1 0"| 00000190 0d 01 04 1b f1 20 8a 32 35 2c 31 34 29 3b 22 50 |..... .25,14);"P| 000001a0 6f 72 74 20 4f 75 74 70 75 74 22 0d 01 0e 11 f1 |ort Output".....| 000001b0 20 8a 32 32 2c 31 35 29 3b 22 5e 22 0d 01 18 2a | .22,15);"^"...*| 000001c0 f1 20 8a 30 2c 32 30 29 3b 22 55 73 65 20 3c 20 |. .0,20);"Use < | 000001d0 61 6e 64 20 3e 20 74 6f 20 6d 6f 76 65 20 70 6f |and > to move po| 000001e0 69 6e 74 65 72 22 0d 01 22 23 f1 20 22 53 70 61 |inter".."#. "Spa| 000001f0 63 65 20 42 61 72 20 74 6f 20 63 68 61 6e 67 65 |ce Bar to change| 00000200 20 74 68 65 20 62 69 74 22 0d 01 2c 05 f1 0d 01 | the bit"..,....| 00000210 36 10 f1 22 51 20 74 6f 20 51 75 69 74 22 0d 01 |6.."Q to Quit"..| 00000220 40 05 e1 0d 01 4a 04 0d 01 54 12 dd 20 f2 5f 44 |@....J...T.. ._D| 00000230 49 53 28 42 25 2c 50 25 29 0d 01 5e 08 ea 20 4d |IS(B%,P%)..^.. M| 00000240 25 0d 01 68 0d f1 20 8a 30 2c 50 25 29 3b 0d 01 |%..h.. .0,P%);..| 00000250 72 0a 4d 25 3d 26 38 30 0d 01 7c 05 f5 0d 01 86 |r.M%=&80..|.....| 00000260 21 e7 20 4d 25 20 80 20 42 25 20 8c 20 f1 22 20 |!. M% . B% . ." | 00000270 31 20 22 3b 20 8b 20 f1 22 20 30 20 22 3b 0d 01 |1 "; . ." 0 ";..| 00000280 90 0d 4d 25 3d 4d 25 20 81 20 32 0d 01 9a 0a fd |..M%=M% . 2.....| 00000290 20 4d 25 3d 30 0d 01 a4 05 e1 0d 01 ae 04 0d 01 | M%=0...........| 000002a0 b8 0f dd 20 f2 5f 43 4f 4d 28 4b 25 29 0d 01 c2 |... ._COM(K%)...| 000002b0 1b e7 20 4b 25 3d 33 32 20 8c 20 42 25 3d 42 25 |.. K%=32 . B%=B%| 000002c0 20 82 20 43 42 25 3a e1 0d 01 cc 1f e7 20 4b 25 | . CB%:...... K%| 000002d0 3d 36 30 20 84 20 4b 25 3d 34 34 20 8c 20 f2 5f |=60 . K%=44 . ._| 000002e0 4d 42 28 31 29 3a e1 0d 01 d6 20 e7 20 4b 25 3d |MB(1):.... . K%=| 000002f0 36 32 20 84 20 4b 25 3d 34 36 20 8c 20 f2 5f 4d |62 . K%=46 . ._M| 00000300 42 28 2d 31 29 3a e1 0d 01 e0 21 e7 20 4b 25 3d |B(-1):....!. K%=| 00000310 38 31 20 84 20 4b 25 3d 31 31 33 20 8c 20 f1 20 |81 . K%=113 . . | 00000320 8a 30 2c 32 34 29 3a e0 0d 01 ea 05 e1 0d 01 f4 |.0,24):.........| 00000330 04 0d 01 fe 0e dd 20 f2 5f 4d 42 28 4e 25 29 0d |...... ._MB(N%).| 00000340 02 08 0d ea 20 42 53 25 2c 43 43 25 0d 02 12 24 |.... BS%,CC%...$| 00000350 e7 20 4e 25 3d 31 20 8c 20 43 42 25 3d 43 42 25 |. N%=1 . CB%=CB%| 00000360 2a 32 20 8b 20 43 42 25 3d 43 42 25 20 81 20 32 |*2 . CB%=CB% . 2| 00000370 0d 02 1c 15 e7 20 43 42 25 3e 32 35 35 20 8c 20 |..... CB%>255 . | 00000380 43 42 25 3d 31 0d 02 26 15 e7 20 43 42 25 3d 30 |CB%=1..&.. CB%=0| 00000390 20 8c 20 43 42 25 3d 31 32 38 0d 02 30 12 f1 20 | . CB%=128..0.. | 000003a0 8a 30 2c 31 35 29 3b 89 28 32 33 29 0d 02 3a 0a |.0,15);.(23)..:.| 000003b0 42 53 25 3d 32 35 0d 02 44 0b 43 43 25 3d 43 42 |BS%=25..D.CC%=CB| 000003c0 25 0d 02 4e 05 f5 0d 02 58 0d 42 53 25 3d 42 53 |%..N....X.BS%=BS| 000003d0 25 2d 33 0d 02 62 0f 43 43 25 3d 43 43 25 20 81 |%-3..b.CC%=CC% .| 000003e0 20 32 0d 02 6c 0b fd 20 43 43 25 3d 30 0d 02 76 | 2..l.. CC%=0..v| 000003f0 12 f1 20 8a 42 53 25 2c 31 35 29 3b 22 5e 22 0d |.. .BS%,15);"^".| 00000400 02 80 05 e1 0d 02 8a 04 0d 02 94 1a f4 20 53 65 |............. Se| 00000410 6e 64 20 61 6e 64 20 52 65 61 64 20 61 20 62 79 |nd and Read a by| 00000420 74 65 0d 02 9e 0e dd 20 a4 5f 53 50 28 42 25 29 |te..... ._SP(B%)| 00000430 0d 02 a8 08 ea 20 52 25 0d 02 b2 0f 42 25 3d 42 |..... R%....B%=B| 00000440 25 20 80 20 26 46 46 0d 02 bc 0a 2a 46 58 32 2c |% . &FF....*FX2,| 00000450 31 0d 02 c6 0a 2a 46 58 33 2c 33 0d 02 d0 0c f1 |1....*FX3,3.....| 00000460 20 bd 28 42 25 29 3b 0d 02 da 08 52 25 3d a5 0d | .(B%);....R%=..| 00000470 02 e4 0a 2a 46 58 32 2c 30 0d 02 ee 0a 2a 46 58 |...*FX2,0....*FX| 00000480 33 2c 30 0d 02 f8 07 3d 52 25 0d 03 02 04 0d 03 |3,0....=R%......| 00000490 0c 09 ee 20 85 20 87 0d 03 16 0a 2a 46 58 33 2c |... . .....*FX3,| 000004a0 30 0d 03 20 0a 2a 46 58 32 2c 30 0d 03 2a 1d f1 |0.. .*FX2,0..*..| 000004b0 22 45 72 72 6f 72 20 22 3b 9f 3b 22 20 41 74 20 |"Error ";.;" At | 000004c0 6c 69 6e 65 20 22 3b 9e 0d ff |line ";...| 000004ca