Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape32a_acorn_eu_1992_march.wav » Blines
Blines
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 » Personal collection » Acorn tapes » Electron_User » Electron_User_tape32a_acorn_eu_1992_march.wav |
Filename: | Blines |
Read OK: | ❌ |
File size: | 0700 bytes |
Load address: | FFFFFB00 |
Exec address: | FFFF802B |
File contents
10REM Pointless line program (BBC) 20REM (C) Martin Dawe 1991 30MODE1 40VDU 23,1,0;0;0;0; 50ONERRORPROCERR 60PRINT"POINTLESS LINE PROGRAM"' 70REPEAT 80INPUT"(L)INES OR (S)OLID";o$ 90UNTIL INSTR("LlSs",o$) 100IF INSTR("Ll",o$) lines=TRUE ELSE lines=FALSE 110CLS 120INPUT"LENGTH (100:MAX)";L% 130INPUT"SCALE";SC 140PROCsetup 150DIM c1x(101),c1y(101),c2x(101),c2y(101),col(101) 160rn=0 170stc=0 180on=0 190dx1=50:dy1=50:dx2=20:dy2=20 200x1=0:y1=0:x2=100:y2=0 210col=0 220: 230REPEAT 240c1x(rn)=x1 250c1y(rn)=y1 260c2x(rn)=x2 270c2y(rn)=y2 280IF x1>1279 dx1=-100 290IF x1<8 dx1=100 300IF x2>1279 dx2=-100 310IF x2<8 dx2=100 320IF y1>850 dy1=-100 330IF y1<100 dy1=100 340IF y2>850 dy2=-100 350IF y2<100 dy2=100 360IF x2>x1+300 dx1=dx1+96:dx2=dx2-96 370IF x1>x2+300 dx1=dx1-96:dx2=dx2+96 380IF y2>y1+300 dy1=dy1+96:dy2=dy2-96 390IF y1>y2+300 dy1=dy1-96:dy2=dy2+96 400: 410col=col+1 420IF col>3 col=1 430col(rn)=col 440: 450fnrn=FNreen(rn) 460PROCblock(x1,y1,x2,y2,c1x(fnrn),c1y(fnrn),c2x(fnrn),c2y(fnrn),col,0) 470IF stc<L% stc=stc+1 ELSE on=on+1:fnrn=FNreen(on):PROCblock(c1x(on),c1y(on),c2x(on),c2y(on),c1x(fnrn),c1y(fnrn),c2x(fnrn),c2y(fnrn),col(on),0) 480IF rn>L% rn=0 490IF on>L% on=0 500rn=rn+1 510x1=x1+(dx1*SC) 520x2=x2+(dx2*SC) 530y1=y1+(dy1*SC):y2=y2+(dy2*SC) 540IF RND(2)=1 dx1=dx1+20 ELSE dx1=dx1-20 550IF RND(2)=1 dx2=dx2+20 ELSE dx2=dx2-20 560IF RND(2)=1 dy1=dy1+20 ELSE dy1=dy1-20 570IF RND(2)=1 dy2=dy2+20 ELSE dy2=dy2-20 580IF INKEY(-1) THEN G=0 ELSE G=150 590IF G<150 THEN G=G+1:GOTO 590 600UNTIL 0 610DEFFNreen(ren) 620IF ren=1 =L%+1 630IF ren=0 =L%+1 640=ren-1 650DEFPROCERR 660PRINTTAB(0,2)"Do you wish to continue?" 670IF GET=89 RUN 680END 690DEFPROCsetup 700GCOL 0,1 710MOVE 0,128 720MOVE256,895 730PLOT85,0,895 740MOVE0,128 750MOVE256,128 760PLOT85,256,895 770MOVE1279,128 780MOVE1023,895 790PLOT85,1279,895 800MOVE1279,128 810MOVE1023,128 820PLOT85,1023,895 830COLOUR6 840PRINTTAB(1,30)"POINTLESS LINE PROGRAM" 850COLOUR7 860PRINTTAB(1,31)"WRITTEN BY MARTIN DAWE"; 870ENDPROC 880DEFPROCblock(xa,ya,xb,yb,xa2,ya2,x
"� Pointless line program (BBC) � (C) Martin Dawe 1991 �1 (� 23,1,0;0;0;0; 2 ��ERR <�"POINTLESS LINE PROGRAM"' F� P�"(L)INES OR (S)OLID";o$ Z� �"LlSs",o$) d!� �"Ll",o$) lines=� � lines=� n� x�"LENGTH (100:MAX)";L% ��"SCALE";SC � �setup �2� c1x(101),c1y(101),c2x(101),c2y(101),col(101) �rn=0 � stc=0 �on=0 �dx1=50:dy1=50:dx2=20:dy2=20 �x1=0:y1=0:x2=100:y2=0 � col=0 �: �� �c1x(rn)=x1 �c1y(rn)=y1 c2x(rn)=x2 c2y(rn)=y2 � x1>1279 dx1=-100 "� x1<8 dx1=100 ,� x2>1279 dx2=-100 6� x2<8 dx2=100 @� y1>850 dy1=-100 J� y1<100 dy1=100 T� y2>850 dy2=-100 ^� y2<100 dy2=100 h%� x2>x1+300 dx1=dx1+96:dx2=dx2-96 r%� x1>x2+300 dx1=dx1-96:dx2=dx2+96 |%� y2>y1+300 dy1=dy1+96:dy2=dy2-96 �%� y1>y2+300 dy1=dy1-96:dy2=dy2+96 �: � col=col+1 �� col>3 col=1 �col(rn)=col �: �fnrn=�reen(rn) �E�block(x1,y1,x2,y2,c1x(fnrn),c1y(fnrn),c2x(fnrn),c2y(fnrn),col,0) ։� stc<L% stc=stc+1 � on=on+1:fnrn=�reen(on):�block(c1x(on),c1y(on),c2x(on),c2y(on),c1x(fnrn),c1y(fnrn),c2x(fnrn),c2y(fnrn),col(on),0) �� rn>L% rn=0 �� on>L% on=0 �rn=rn+1 �x1=x1+(dx1*SC) x2=x2+(dx2*SC) !y1=y1+(dy1*SC):y2=y2+(dy2*SC) $� �(2)=1 dx1=dx1+20 � dx1=dx1-20 &$� �(2)=1 dx2=dx2+20 � dx2=dx2-20 0$� �(2)=1 dy1=dy1+20 � dy1=dy1-20 :$� �(2)=1 dy2=dy2+20 � dy2=dy2-20 D� �(-1) � G=0 � G=150 N� G<150 � G=G+1:� �DNB X� 0 bݤreen(ren) l� ren=1 =L%+1 v� ren=0 =L%+1 � =ren-1 � ��ERR �$�0,2)"Do you wish to continue?" �� �=89 � �� ���setup � � 0,1 �� 0,128 ��256,895 � �85,0,895 � �0,128 ��256,128 ��85,256,895 �1279,128 �1023,895 �85,1279,895 �1279,128 * �1023,128 4�85,1023,895 >�6 H#�1,30)"POINTLESS LINE PROGRAM" R�7 \$�1,31)"WRITTEN BY MARTIN DAWE"; f� p.��block(xa,ya,xb,yb,xa2,ya2,x
00000000 0d 00 0a 22 f4 20 50 6f 69 6e 74 6c 65 73 73 20 |...". Pointless | 00000010 6c 69 6e 65 20 70 72 6f 67 72 61 6d 20 28 42 42 |line program (BB| 00000020 43 29 0d 00 14 1a f4 20 28 43 29 20 4d 61 72 74 |C)..... (C) Mart| 00000030 69 6e 20 44 61 77 65 20 31 39 39 31 0d 00 1e 06 |in Dawe 1991....| 00000040 eb 31 0d 00 28 13 ef 20 32 33 2c 31 2c 30 3b 30 |.1..(.. 23,1,0;0| 00000050 3b 30 3b 30 3b 0d 00 32 0a ee 85 f2 45 52 52 0d |;0;0;..2....ERR.| 00000060 00 3c 1e f1 22 50 4f 49 4e 54 4c 45 53 53 20 4c |.<.."POINTLESS L| 00000070 49 4e 45 20 50 52 4f 47 52 41 4d 22 27 0d 00 46 |INE PROGRAM"'..F| 00000080 05 f5 0d 00 50 1c e8 22 28 4c 29 49 4e 45 53 20 |....P.."(L)INES | 00000090 4f 52 20 28 53 29 4f 4c 49 44 22 3b 6f 24 0d 00 |OR (S)OLID";o$..| 000000a0 5a 11 fd 20 a7 22 4c 6c 53 73 22 2c 6f 24 29 0d |Z.. ."LlSs",o$).| 000000b0 00 64 21 e7 20 a7 22 4c 6c 22 2c 6f 24 29 20 6c |.d!. ."Ll",o$) l| 000000c0 69 6e 65 73 3d b9 20 8b 20 6c 69 6e 65 73 3d a3 |ines=. . lines=.| 000000d0 0d 00 6e 05 db 0d 00 78 1a e8 22 4c 45 4e 47 54 |..n....x.."LENGT| 000000e0 48 20 28 31 30 30 3a 4d 41 58 29 22 3b 4c 25 0d |H (100:MAX)";L%.| 000000f0 00 82 0f e8 22 53 43 41 4c 45 22 3b 53 43 0d 00 |...."SCALE";SC..| 00000100 8c 0a f2 73 65 74 75 70 0d 00 96 32 de 20 63 31 |...setup...2. c1| 00000110 78 28 31 30 31 29 2c 63 31 79 28 31 30 31 29 2c |x(101),c1y(101),| 00000120 63 32 78 28 31 30 31 29 2c 63 32 79 28 31 30 31 |c2x(101),c2y(101| 00000130 29 2c 63 6f 6c 28 31 30 31 29 0d 00 a0 08 72 6e |),col(101)....rn| 00000140 3d 30 0d 00 aa 09 73 74 63 3d 30 0d 00 b4 08 6f |=0....stc=0....o| 00000150 6e 3d 30 0d 00 be 1f 64 78 31 3d 35 30 3a 64 79 |n=0....dx1=50:dy| 00000160 31 3d 35 30 3a 64 78 32 3d 32 30 3a 64 79 32 3d |1=50:dx2=20:dy2=| 00000170 32 30 0d 00 c8 19 78 31 3d 30 3a 79 31 3d 30 3a |20....x1=0:y1=0:| 00000180 78 32 3d 31 30 30 3a 79 32 3d 30 0d 00 d2 09 63 |x2=100:y2=0....c| 00000190 6f 6c 3d 30 0d 00 dc 05 3a 0d 00 e6 05 f5 0d 00 |ol=0....:.......| 000001a0 f0 0e 63 31 78 28 72 6e 29 3d 78 31 0d 00 fa 0e |..c1x(rn)=x1....| 000001b0 63 31 79 28 72 6e 29 3d 79 31 0d 01 04 0e 63 32 |c1y(rn)=y1....c2| 000001c0 78 28 72 6e 29 3d 78 32 0d 01 0e 0e 63 32 79 28 |x(rn)=x2....c2y(| 000001d0 72 6e 29 3d 79 32 0d 01 18 16 e7 20 78 31 3e 31 |rn)=y2..... x1>1| 000001e0 32 37 39 20 64 78 31 3d 2d 31 30 30 0d 01 22 12 |279 dx1=-100..".| 000001f0 e7 20 78 31 3c 38 20 64 78 31 3d 31 30 30 0d 01 |. x1<8 dx1=100..| 00000200 2c 16 e7 20 78 32 3e 31 32 37 39 20 64 78 32 3d |,.. x2>1279 dx2=| 00000210 2d 31 30 30 0d 01 36 12 e7 20 78 32 3c 38 20 64 |-100..6.. x2<8 d| 00000220 78 32 3d 31 30 30 0d 01 40 15 e7 20 79 31 3e 38 |x2=100..@.. y1>8| 00000230 35 30 20 64 79 31 3d 2d 31 30 30 0d 01 4a 14 e7 |50 dy1=-100..J..| 00000240 20 79 31 3c 31 30 30 20 64 79 31 3d 31 30 30 0d | y1<100 dy1=100.| 00000250 01 54 15 e7 20 79 32 3e 38 35 30 20 64 79 32 3d |.T.. y2>850 dy2=| 00000260 2d 31 30 30 0d 01 5e 14 e7 20 79 32 3c 31 30 30 |-100..^.. y2<100| 00000270 20 64 79 32 3d 31 30 30 0d 01 68 25 e7 20 78 32 | dy2=100..h%. x2| 00000280 3e 78 31 2b 33 30 30 20 64 78 31 3d 64 78 31 2b |>x1+300 dx1=dx1+| 00000290 39 36 3a 64 78 32 3d 64 78 32 2d 39 36 0d 01 72 |96:dx2=dx2-96..r| 000002a0 25 e7 20 78 31 3e 78 32 2b 33 30 30 20 64 78 31 |%. x1>x2+300 dx1| 000002b0 3d 64 78 31 2d 39 36 3a 64 78 32 3d 64 78 32 2b |=dx1-96:dx2=dx2+| 000002c0 39 36 0d 01 7c 25 e7 20 79 32 3e 79 31 2b 33 30 |96..|%. y2>y1+30| 000002d0 30 20 64 79 31 3d 64 79 31 2b 39 36 3a 64 79 32 |0 dy1=dy1+96:dy2| 000002e0 3d 64 79 32 2d 39 36 0d 01 86 25 e7 20 79 31 3e |=dy2-96...%. y1>| 000002f0 79 32 2b 33 30 30 20 64 79 31 3d 64 79 31 2d 39 |y2+300 dy1=dy1-9| 00000300 36 3a 64 79 32 3d 64 79 32 2b 39 36 0d 01 90 05 |6:dy2=dy2+96....| 00000310 3a 0d 01 9a 0d 63 6f 6c 3d 63 6f 6c 2b 31 0d 01 |:....col=col+1..| 00000320 a4 11 e7 20 63 6f 6c 3e 33 20 63 6f 6c 3d 31 0d |... col>3 col=1.| 00000330 01 ae 0f 63 6f 6c 28 72 6e 29 3d 63 6f 6c 0d 01 |...col(rn)=col..| 00000340 b8 05 3a 0d 01 c2 12 66 6e 72 6e 3d a4 72 65 65 |..:....fnrn=.ree| 00000350 6e 28 72 6e 29 0d 01 cc 45 f2 62 6c 6f 63 6b 28 |n(rn)...E.block(| 00000360 78 31 2c 79 31 2c 78 32 2c 79 32 2c 63 31 78 28 |x1,y1,x2,y2,c1x(| 00000370 66 6e 72 6e 29 2c 63 31 79 28 66 6e 72 6e 29 2c |fnrn),c1y(fnrn),| 00000380 63 32 78 28 66 6e 72 6e 29 2c 63 32 79 28 66 6e |c2x(fnrn),c2y(fn| 00000390 72 6e 29 2c 63 6f 6c 2c 30 29 0d 01 d6 89 e7 20 |rn),col,0)..... | 000003a0 73 74 63 3c 4c 25 20 73 74 63 3d 73 74 63 2b 31 |stc<L% stc=stc+1| 000003b0 20 8b 20 6f 6e 3d 6f 6e 2b 31 3a 66 6e 72 6e 3d | . on=on+1:fnrn=| 000003c0 a4 72 65 65 6e 28 6f 6e 29 3a f2 62 6c 6f 63 6b |.reen(on):.block| 000003d0 28 63 31 78 28 6f 6e 29 2c 63 31 79 28 6f 6e 29 |(c1x(on),c1y(on)| 000003e0 2c 63 32 78 28 6f 6e 29 2c 63 32 79 28 6f 6e 29 |,c2x(on),c2y(on)| 000003f0 2c 63 31 78 28 66 6e 72 6e 29 2c 63 31 79 28 66 |,c1x(fnrn),c1y(f| 00000400 6e 72 6e 29 2c 63 32 78 28 66 6e 72 6e 29 2c 63 |nrn),c2x(fnrn),c| 00000410 32 79 28 66 6e 72 6e 29 2c 63 6f 6c 28 6f 6e 29 |2y(fnrn),col(on)| 00000420 2c 30 29 0d 01 e0 10 e7 20 72 6e 3e 4c 25 20 72 |,0)..... rn>L% r| 00000430 6e 3d 30 0d 01 ea 10 e7 20 6f 6e 3e 4c 25 20 6f |n=0..... on>L% o| 00000440 6e 3d 30 0d 01 f4 0b 72 6e 3d 72 6e 2b 31 0d 01 |n=0....rn=rn+1..| 00000450 fe 12 78 31 3d 78 31 2b 28 64 78 31 2a 53 43 29 |..x1=x1+(dx1*SC)| 00000460 0d 02 08 12 78 32 3d 78 32 2b 28 64 78 32 2a 53 |....x2=x2+(dx2*S| 00000470 43 29 0d 02 12 21 79 31 3d 79 31 2b 28 64 79 31 |C)...!y1=y1+(dy1| 00000480 2a 53 43 29 3a 79 32 3d 79 32 2b 28 64 79 32 2a |*SC):y2=y2+(dy2*| 00000490 53 43 29 0d 02 1c 24 e7 20 b3 28 32 29 3d 31 20 |SC)...$. .(2)=1 | 000004a0 64 78 31 3d 64 78 31 2b 32 30 20 8b 20 64 78 31 |dx1=dx1+20 . dx1| 000004b0 3d 64 78 31 2d 32 30 0d 02 26 24 e7 20 b3 28 32 |=dx1-20..&$. .(2| 000004c0 29 3d 31 20 64 78 32 3d 64 78 32 2b 32 30 20 8b |)=1 dx2=dx2+20 .| 000004d0 20 64 78 32 3d 64 78 32 2d 32 30 0d 02 30 24 e7 | dx2=dx2-20..0$.| 000004e0 20 b3 28 32 29 3d 31 20 64 79 31 3d 64 79 31 2b | .(2)=1 dy1=dy1+| 000004f0 32 30 20 8b 20 64 79 31 3d 64 79 31 2d 32 30 0d |20 . dy1=dy1-20.| 00000500 02 3a 24 e7 20 b3 28 32 29 3d 31 20 64 79 32 3d |.:$. .(2)=1 dy2=| 00000510 64 79 32 2b 32 30 20 8b 20 64 79 32 3d 64 79 32 |dy2+20 . dy2=dy2| 00000520 2d 32 30 0d 02 44 19 e7 20 a6 28 2d 31 29 20 8c |-20..D.. .(-1) .| 00000530 20 47 3d 30 20 8b 20 47 3d 31 35 30 0d 02 4e 1a | G=0 . G=150..N.| 00000540 e7 20 47 3c 31 35 30 20 8c 20 47 3d 47 2b 31 3a |. G<150 . G=G+1:| 00000550 e5 20 8d 44 4e 42 0d 02 58 07 fd 20 30 0d 02 62 |. .DNB..X.. 0..b| 00000560 0f dd a4 72 65 65 6e 28 72 65 6e 29 0d 02 6c 11 |...reen(ren)..l.| 00000570 e7 20 72 65 6e 3d 31 20 3d 4c 25 2b 31 0d 02 76 |. ren=1 =L%+1..v| 00000580 11 e7 20 72 65 6e 3d 30 20 3d 4c 25 2b 31 0d 02 |.. ren=0 =L%+1..| 00000590 80 0a 3d 72 65 6e 2d 31 0d 02 8a 09 dd f2 45 52 |..=ren-1......ER| 000005a0 52 0d 02 94 24 f1 8a 30 2c 32 29 22 44 6f 20 79 |R...$..0,2)"Do y| 000005b0 6f 75 20 77 69 73 68 20 74 6f 20 63 6f 6e 74 69 |ou wish to conti| 000005c0 6e 75 65 3f 22 0d 02 9e 0c e7 20 a5 3d 38 39 20 |nue?"..... .=89 | 000005d0 f9 0d 02 a8 05 e0 0d 02 b2 0b dd f2 73 65 74 75 |............setu| 000005e0 70 0d 02 bc 09 e6 20 30 2c 31 0d 02 c6 0b ec 20 |p..... 0,1..... | 000005f0 30 2c 31 32 38 0d 02 d0 0c ec 32 35 36 2c 38 39 |0,128.....256,89| 00000600 35 0d 02 da 0d f0 38 35 2c 30 2c 38 39 35 0d 02 |5.....85,0,895..| 00000610 e4 0a ec 30 2c 31 32 38 0d 02 ee 0c ec 32 35 36 |...0,128.....256| 00000620 2c 31 32 38 0d 02 f8 0f f0 38 35 2c 32 35 36 2c |,128.....85,256,| 00000630 38 39 35 0d 03 02 0d ec 31 32 37 39 2c 31 32 38 |895.....1279,128| 00000640 0d 03 0c 0d ec 31 30 32 33 2c 38 39 35 0d 03 16 |.....1023,895...| 00000650 10 f0 38 35 2c 31 32 37 39 2c 38 39 35 0d 03 20 |..85,1279,895.. | 00000660 0d ec 31 32 37 39 2c 31 32 38 0d 03 2a 0d ec 31 |..1279,128..*..1| 00000670 30 32 33 2c 31 32 38 0d 03 34 10 f0 38 35 2c 31 |023,128..4..85,1| 00000680 30 32 33 2c 38 39 35 0d 03 3e 06 fb 36 0d 03 48 |023,895..>..6..H| 00000690 23 f1 8a 31 2c 33 30 29 22 50 4f 49 4e 54 4c 45 |#..1,30)"POINTLE| 000006a0 53 53 20 4c 49 4e 45 20 50 52 4f 47 52 41 4d 22 |SS LINE PROGRAM"| 000006b0 0d 03 52 06 fb 37 0d 03 5c 24 f1 8a 31 2c 33 31 |..R..7..\$..1,31| 000006c0 29 22 57 52 49 54 54 45 4e 20 42 59 20 4d 41 52 |)"WRITTEN BY MAR| 000006d0 54 49 4e 20 44 41 57 45 22 3b 0d 03 66 05 e1 0d |TIN DAWE";..f...| 000006e0 03 70 2e dd f2 62 6c 6f 63 6b 28 78 61 2c 79 61 |.p...block(xa,ya| 000006f0 2c 78 62 2c 79 62 2c 78 61 32 2c 79 61 32 2c 78 |,xb,yb,xa2,ya2,x| 00000700