Home » CEEFAX disks » telesoftware12.adl » 17-02-89/Printer
17-02-89/Printer
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 » CEEFAX disks » telesoftware12.adl |
Filename: | 17-02-89/Printer |
Read OK: | ✔ |
File size: | 064B bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF802B |
File contents
10 REM File printer 20 REM 19 / 4 / 88 30 40 50 ON ERROR GOTO 1080 60 : 70 MODE 7 80 PRINT TAB(0,5) "Formatted text file printer" 90 PRINT TAB(0,9) "Split statements (Y/other) ? "; 100 S%=GET=89 110 IF S% PRINT "Y" ELSE PRINT "N" 120 REPEAT 130 INPUT TAB(0,11) "Enter file title (<RET> to stop)" ' "? " file$ 140 IF file$="" END 150 MODE 3 160 VDU 2 170 PROCmain 180 VDU 3 190 MODE 7 200 UNTIL FALSE 210 : 220 DEF PROCmain 230 F%=OPENUP file$ 240 page%=1 250 REPEAT 260 PRINT file$ " - Page ";page% ' 270 line%=0 280 REPEAT 290 char%=BGET#F% 300 IF char%=ASC"[" PROCline ELSE PROCbasic 310 UNTIL line%>56 OR EOF#F% 320 page%=page%+1 330 CLS 340 UNTIL EOF#F% 350 CLOSE#0 360 ENDPROC 370 : 380 DEF PROCline 390 REPEAT 400 char%=BGET#F% 410 UNTIL char%=ASC":" OR char%=13 420 IF char%=13 ENDPROC 430 char%=BGET#F% 440 IF char%=ASC"." PROClabel 450 PRINT SPC 9; 460 REPEAT 470 IF char%=ASC"\" PROCcomment ELSE PROCstatement 480 UNTIL char%=13 490 ENDPROC 500 : 510 DEF PROCbasic 520 IF char%=13 ENDPROC 530 REPEAT 540 IF POS=79 PROCnudge(0) 550 VDU char% 560 char%=BGET#F% 570 UNTIL char%=13 580 PROCnudge(0) 590 ENDPROC 600 : 610 DEF PROClabel 620 REPEAT 630 VDU char% 640 char%=BGET#F% 650 UNTIL char%=13 OR char%=32 OR char%=ASC":" 660 PROCnudge(0) 670 IF char%<>32 ENDPROC 680 REPEAT 690 char%=BGET#F% 700 UNTIL char%<>32 710 ENDPROC 720 : 730 DEF PROCcomment 740 IF POS>34 PROCnudge(0) 750 REPEAT 760 VDU 32 770 UNTIL POS=35 780 REPEAT 790 IF POS=79 PROCnudge(35) 800 IF char%>13 AND char%<>ASC":" VDU char% 810 char%=BGET#F% 820 UNTIL char%=ASC":" OR char%=13 830 PROCnudge(0) 840 ENDPROC 850 : 860 DEF PROCstatement 870 REPEAT 880 IF POS=9:IF char%=ASC":" char%=BGET#F% 890 IF char%<>13 PROCchars 900 IF char%=ASC":" AND S%=TRUE PROCnudge(9) 910 UNTIL char%=13 920 PROCnudge(0) 930 ENDPROC 940 : 950 DEF PROCchars 960 REPEAT 970 IF POS=79 PROCnudge(9) 980 VDU char% 990 char%=BGET#F% 1000 UNTIL char%=ASC":" OR char%=13 1010 ENDPROC 1020 : 1030 DEF PROCnudge(spc%) 1040 line%=line%+1 1050 PRINT ' SPC spc%; 1060 ENDPROC 1070 : 1080 CLOSE #0 1090 VDU 3 1100 PRINT 1110 REPORT 1120 PRINT
� File printer � 19 / 4 / 88 ( 2 � � � �TxD < : F � 7 P* � �0,5) "Formatted text file printer" Z- � �0,9) "Split statements (Y/other) ? "; d S%=�=89 n � S% � "Y" � � "N" x � �= � �0,11) "Enter file title (<RET> to stop)" ' "? " file$ � � file$="" � � � 3 � � 2 � �main � � 3 � � 7 � � � � : � � �main � F%=� file$ � page%=1 � � � file$ " - Page ";page% ' line%=0 � " char%=�#F% , � char%=�"[" �line � �basic 6 � line%>56 � �#F% @ page%=page%+1 J � T � �#F% ^ �#0 h � r : | � �line � � � char%=�#F% � � char%=�":" � char%=13 � � char%=13 � � char%=�#F% � � char%=�"." �label � � � 9; � � �' � char%=�"\" �comment � �statement � � char%=13 � � � : � � �basic � char%=13 � � � �=79 �nudge(0) & � char% 0 char%=�#F% : � char%=13 D �nudge(0) N � X : b � �label l � v � char% � char%=�#F% �' � char%=13 � char%=32 � char%=�":" � �nudge(0) � � char%<>32 � � � � char%=�#F% � � char%<>32 � � � : � � �comment � � �>34 �nudge(0) � � � � 32 � �=35 � � �=79 �nudge(35) % � char%>13 � char%<>�":" � char% * char%=�#F% 4 � char%=�":" � char%=13 > �nudge(0) H � R : \ � �statement f � p" � �=9:� char%=�":" char%=�#F% z � char%<>13 �chars �" � char%=�":" � S%=� �nudge(9) � � char%=13 � �nudge(0) � � � : � � �chars � � � � �=79 �nudge(9) � � char% � char%=�#F% � � char%=�":" � char%=13 � � � : � �nudge(spc%) line%=line%+1 � ' � spc%; $ � . : 8 � #0 B � 3 L � V � ` � �
00000000 0d 00 0a 14 20 f4 20 20 46 69 6c 65 20 70 72 69 |.... . File pri| 00000010 6e 74 65 72 0d 00 14 13 20 f4 20 20 31 39 20 2f |nter.... . 19 /| 00000020 20 34 20 2f 20 38 38 0d 00 1e 05 20 0d 00 28 05 | 4 / 88.... ..(.| 00000030 20 0d 00 32 0f 20 ee 20 85 20 e5 20 8d 54 78 44 | ..2. . . . .TxD| 00000040 0d 00 3c 06 20 3a 0d 00 46 08 20 eb 20 37 0d 00 |..<. :..F. . 7..| 00000050 50 2a 20 f1 20 8a 30 2c 35 29 20 22 46 6f 72 6d |P* . .0,5) "Form| 00000060 61 74 74 65 64 20 74 65 78 74 20 66 69 6c 65 20 |atted text file | 00000070 70 72 69 6e 74 65 72 22 0d 00 5a 2d 20 f1 20 8a |printer"..Z- . .| 00000080 30 2c 39 29 20 22 53 70 6c 69 74 20 73 74 61 74 |0,9) "Split stat| 00000090 65 6d 65 6e 74 73 20 28 59 2f 6f 74 68 65 72 29 |ements (Y/other)| 000000a0 20 3f 20 22 3b 0d 00 64 0c 20 53 25 3d a5 3d 38 | ? ";..d. S%=.=8| 000000b0 39 0d 00 6e 17 20 e7 20 53 25 20 f1 20 22 59 22 |9..n. . S% . "Y"| 000000c0 20 8b 20 f1 20 22 4e 22 0d 00 78 06 20 f5 0d 00 | . . "N"..x. ...| 000000d0 82 3d 20 e8 20 8a 30 2c 31 31 29 20 22 45 6e 74 |.= . .0,11) "Ent| 000000e0 65 72 20 66 69 6c 65 20 74 69 74 6c 65 20 28 3c |er file title (<| 000000f0 52 45 54 3e 20 74 6f 20 73 74 6f 70 29 22 20 27 |RET> to stop)" '| 00000100 20 22 3f 20 22 20 66 69 6c 65 24 0d 00 8c 11 20 | "? " file$.... | 00000110 e7 20 66 69 6c 65 24 3d 22 22 20 e0 0d 00 96 08 |. file$="" .....| 00000120 20 eb 20 33 0d 00 a0 08 20 ef 20 32 0d 00 aa 0a | . 3.... . 2....| 00000130 20 f2 6d 61 69 6e 0d 00 b4 08 20 ef 20 33 0d 00 | .main.... . 3..| 00000140 be 08 20 eb 20 37 0d 00 c8 08 20 fd 20 a3 0d 00 |.. . 7.... . ...| 00000150 d2 06 20 3a 0d 00 dc 0c 20 dd 20 f2 6d 61 69 6e |.. :.... . .main| 00000160 0d 00 e6 0f 20 46 25 3d ad 20 66 69 6c 65 24 0d |.... F%=. file$.| 00000170 00 f0 0c 20 70 61 67 65 25 3d 31 0d 00 fa 06 20 |... page%=1.... | 00000180 f5 0d 01 04 1f 20 f1 20 66 69 6c 65 24 20 22 20 |..... . file$ " | 00000190 2d 20 50 61 67 65 20 22 3b 70 61 67 65 25 20 27 |- Page ";page% '| 000001a0 0d 01 0e 0c 20 6c 69 6e 65 25 3d 30 0d 01 18 06 |.... line%=0....| 000001b0 20 f5 0d 01 22 0f 20 63 68 61 72 25 3d 9a 23 46 | ...". char%=.#F| 000001c0 25 0d 01 2c 20 20 e7 20 63 68 61 72 25 3d 97 22 |%.., . char%=."| 000001d0 5b 22 20 f2 6c 69 6e 65 20 8b 20 f2 62 61 73 69 |[" .line . .basi| 000001e0 63 0d 01 36 16 20 fd 20 6c 69 6e 65 25 3e 35 36 |c..6. . line%>56| 000001f0 20 84 20 c5 23 46 25 0d 01 40 12 20 70 61 67 65 | . .#F%..@. page| 00000200 25 3d 70 61 67 65 25 2b 31 0d 01 4a 06 20 db 0d |%=page%+1..J. ..| 00000210 01 54 0b 20 fd 20 c5 23 46 25 0d 01 5e 08 20 d9 |.T. . .#F%..^. .| 00000220 23 30 0d 01 68 06 20 e1 0d 01 72 06 20 3a 0d 01 |#0..h. ...r. :..| 00000230 7c 0c 20 dd 20 f2 6c 69 6e 65 0d 01 86 06 20 f5 ||. . .line.... .| 00000240 0d 01 90 0f 20 63 68 61 72 25 3d 9a 23 46 25 0d |.... char%=.#F%.| 00000250 01 9a 1c 20 fd 20 63 68 61 72 25 3d 97 22 3a 22 |... . char%=.":"| 00000260 20 84 20 63 68 61 72 25 3d 31 33 0d 01 a4 11 20 | . char%=13.... | 00000270 e7 20 63 68 61 72 25 3d 31 33 20 e1 0d 01 ae 0f |. char%=13 .....| 00000280 20 63 68 61 72 25 3d 9a 23 46 25 0d 01 b8 18 20 | char%=.#F%.... | 00000290 e7 20 63 68 61 72 25 3d 97 22 2e 22 20 f2 6c 61 |. char%=."." .la| 000002a0 62 65 6c 0d 01 c2 0b 20 f1 20 89 20 39 3b 0d 01 |bel.... . . 9;..| 000002b0 cc 06 20 f5 0d 01 d6 27 20 e7 20 63 68 61 72 25 |.. ....' . char%| 000002c0 3d 97 22 5c 22 20 f2 63 6f 6d 6d 65 6e 74 20 8b |=."\" .comment .| 000002d0 20 f2 73 74 61 74 65 6d 65 6e 74 0d 01 e0 0f 20 | .statement.... | 000002e0 fd 20 63 68 61 72 25 3d 31 33 0d 01 ea 06 20 e1 |. char%=13.... .| 000002f0 0d 01 f4 06 20 3a 0d 01 fe 0d 20 dd 20 f2 62 61 |.... :.... . .ba| 00000300 73 69 63 0d 02 08 11 20 e7 20 63 68 61 72 25 3d |sic.... . char%=| 00000310 31 33 20 e1 0d 02 12 06 20 f5 0d 02 1c 15 20 e7 |13 ..... ..... .| 00000320 20 b1 3d 37 39 20 f2 6e 75 64 67 65 28 30 29 0d | .=79 .nudge(0).| 00000330 02 26 0c 20 ef 20 63 68 61 72 25 0d 02 30 0f 20 |.&. . char%..0. | 00000340 63 68 61 72 25 3d 9a 23 46 25 0d 02 3a 0f 20 fd |char%=.#F%..:. .| 00000350 20 63 68 61 72 25 3d 31 33 0d 02 44 0e 20 f2 6e | char%=13..D. .n| 00000360 75 64 67 65 28 30 29 0d 02 4e 06 20 e1 0d 02 58 |udge(0)..N. ...X| 00000370 06 20 3a 0d 02 62 0d 20 dd 20 f2 6c 61 62 65 6c |. :..b. . .label| 00000380 0d 02 6c 06 20 f5 0d 02 76 0c 20 ef 20 63 68 61 |..l. ...v. . cha| 00000390 72 25 0d 02 80 0f 20 63 68 61 72 25 3d 9a 23 46 |r%.... char%=.#F| 000003a0 25 0d 02 8a 27 20 fd 20 63 68 61 72 25 3d 31 33 |%...' . char%=13| 000003b0 20 84 20 63 68 61 72 25 3d 33 32 20 84 20 63 68 | . char%=32 . ch| 000003c0 61 72 25 3d 97 22 3a 22 0d 02 94 0e 20 f2 6e 75 |ar%=.":".... .nu| 000003d0 64 67 65 28 30 29 0d 02 9e 12 20 e7 20 63 68 61 |dge(0).... . cha| 000003e0 72 25 3c 3e 33 32 20 e1 0d 02 a8 06 20 f5 0d 02 |r%<>32 ..... ...| 000003f0 b2 0f 20 63 68 61 72 25 3d 9a 23 46 25 0d 02 bc |.. char%=.#F%...| 00000400 10 20 fd 20 63 68 61 72 25 3c 3e 33 32 0d 02 c6 |. . char%<>32...| 00000410 06 20 e1 0d 02 d0 06 20 3a 0d 02 da 0f 20 dd 20 |. ..... :.... . | 00000420 f2 63 6f 6d 6d 65 6e 74 0d 02 e4 15 20 e7 20 b1 |.comment.... . .| 00000430 3e 33 34 20 f2 6e 75 64 67 65 28 30 29 0d 02 ee |>34 .nudge(0)...| 00000440 06 20 f5 0d 02 f8 09 20 ef 20 33 32 0d 03 02 0b |. ..... . 32....| 00000450 20 fd 20 b1 3d 33 35 0d 03 0c 06 20 f5 0d 03 16 | . .=35.... ....| 00000460 16 20 e7 20 b1 3d 37 39 20 f2 6e 75 64 67 65 28 |. . .=79 .nudge(| 00000470 33 35 29 0d 03 20 25 20 e7 20 63 68 61 72 25 3e |35).. % . char%>| 00000480 31 33 20 80 20 63 68 61 72 25 3c 3e 97 22 3a 22 |13 . char%<>.":"| 00000490 20 ef 20 63 68 61 72 25 0d 03 2a 0f 20 63 68 61 | . char%..*. cha| 000004a0 72 25 3d 9a 23 46 25 0d 03 34 1c 20 fd 20 63 68 |r%=.#F%..4. . ch| 000004b0 61 72 25 3d 97 22 3a 22 20 84 20 63 68 61 72 25 |ar%=.":" . char%| 000004c0 3d 31 33 0d 03 3e 0e 20 f2 6e 75 64 67 65 28 30 |=13..>. .nudge(0| 000004d0 29 0d 03 48 06 20 e1 0d 03 52 06 20 3a 0d 03 5c |)..H. ...R. :..\| 000004e0 11 20 dd 20 f2 73 74 61 74 65 6d 65 6e 74 0d 03 |. . .statement..| 000004f0 66 06 20 f5 0d 03 70 22 20 e7 20 b1 3d 39 3a e7 |f. ...p" . .=9:.| 00000500 20 63 68 61 72 25 3d 97 22 3a 22 20 63 68 61 72 | char%=.":" char| 00000510 25 3d 9a 23 46 25 0d 03 7a 17 20 e7 20 63 68 61 |%=.#F%..z. . cha| 00000520 72 25 3c 3e 31 33 20 f2 63 68 61 72 73 0d 03 84 |r%<>13 .chars...| 00000530 22 20 e7 20 63 68 61 72 25 3d 97 22 3a 22 20 80 |" . char%=.":" .| 00000540 20 53 25 3d b9 20 f2 6e 75 64 67 65 28 39 29 0d | S%=. .nudge(9).| 00000550 03 8e 0f 20 fd 20 63 68 61 72 25 3d 31 33 0d 03 |... . char%=13..| 00000560 98 0e 20 f2 6e 75 64 67 65 28 30 29 0d 03 a2 06 |.. .nudge(0)....| 00000570 20 e1 0d 03 ac 06 20 3a 0d 03 b6 0d 20 dd 20 f2 | ..... :.... . .| 00000580 63 68 61 72 73 0d 03 c0 06 20 f5 0d 03 ca 15 20 |chars.... ..... | 00000590 e7 20 b1 3d 37 39 20 f2 6e 75 64 67 65 28 39 29 |. .=79 .nudge(9)| 000005a0 0d 03 d4 0c 20 ef 20 63 68 61 72 25 0d 03 de 0f |.... . char%....| 000005b0 20 63 68 61 72 25 3d 9a 23 46 25 0d 03 e8 1c 20 | char%=.#F%.... | 000005c0 fd 20 63 68 61 72 25 3d 97 22 3a 22 20 84 20 63 |. char%=.":" . c| 000005d0 68 61 72 25 3d 31 33 0d 03 f2 06 20 e1 0d 03 fc |har%=13.... ....| 000005e0 06 20 3a 0d 04 06 13 20 dd 20 f2 6e 75 64 67 65 |. :.... . .nudge| 000005f0 28 73 70 63 25 29 0d 04 10 12 20 6c 69 6e 65 25 |(spc%).... line%| 00000600 3d 6c 69 6e 65 25 2b 31 0d 04 1a 10 20 f1 20 27 |=line%+1.... . '| 00000610 20 89 20 73 70 63 25 3b 0d 04 24 06 20 e1 0d 04 | . spc%;..$. ...| 00000620 2e 06 20 3a 0d 04 38 09 20 d9 20 23 30 0d 04 42 |.. :..8. . #0..B| 00000630 08 20 ef 20 33 0d 04 4c 07 20 f1 20 0d 04 56 06 |. . 3..L. . ..V.| 00000640 20 f6 0d 04 60 07 20 f1 20 0d ff | ...`. . ..| 0000064b