10 PROCinit
20 ON ERROR GOTO 660
30 *|"
40 *|"”‡DISPLAY†v 3.01 œ
50 *|"
60 *|"‚Text File Reader
70 *|"ƒ(c) 1991 John Carpenter
80 *|"
90 MODE mode%
100 OSCLI"DIR "+dir$
110 VDU23;8202;0;0;0;0;0;
120 PROCpic
130 REPEATUNTILGET=32
140 CLS
150 VDU15
160 IF paged%=1 THEN VDU14
170 IFpaged%=1 THEN CLS:PRINT"†PressˆSHIFT‰to Scroll through"'
180 *.
190 INPUT"‚FILENAMEƒ"file$
200 X=OPENIN(file$)
210 IF paged%=1 AND return%=0 THEN CLS:PRINT"„†‡top †
‡ause †‡esume text "'
220 REPEAT
230 IF paged%=1 AND return%=0 THEN GOTO 270
240 CLS
250 PRINT"„†‡top †‡ause †‡esume text "
260 IF print%=1 THEN PRINT'"‚Turn printerˆON‰and pressƒRETURN‚when ‚ready..":REPEATUNTILGET=13:VDU2
270 REPEAT
280 IF EOF#X THEN VDU 3,30:PRINT" „End of the file..press any key ":A=GET:CLOSE#0:GOTO 140
290 A=BGET#X
300 IF A=10 THEN A=0:ELSE IF A=13 THEN VDU 10
310 IF (A>159 AND A<255) THEN A=A-128
320 IF chars%=0 THEN GOTO 360
330 IF A=95 THEN A=35:GOTO360
340 IF A=35 THEN A=96:GOTO360
350 IFA=96 THEN A=95
360 VDU A
370 A$=INKEY$(0)
380 UNTIL A$<>"" OR VPOS=23
390 IF INSTR("SsPp",A$)=0 THEN 270
400 VDU3:IF A$="S" OR A$="s" THEN VDU 30:PRINT"‘‡File has been stoppedƒHit any key ":A=GET:OSCLI"CLOSE":GOTO 140
410 IF A$="P" OR A$="p" THEN PROCpause:GOTO270
420 IF return%=1 THEN VDU30:PRINT"‘‡More text..ƒbash hash or return ":REPEAT:UNTILGET=13
430 UNTIL FALSE
440 DEF PROCpause
450 xpos%=POS:ypos%=VPOS
460 IF print%<>1 THEN VDU30:PRINT"‚Paused...ƒR‚to resume text ":REPEAT:C=GET:UNTIL C=ASC("R") OR C=ASC("r"):VDU30:PRINT"„†‡top †‡ause †‡esume text"
470 PROCmoveto(xpos%,ypos%)
480 ENDPROC
490 DEF PROCmoveto(xpos%,ypos%)
500 IF ?&70=13 AND ypos%=21 VDU30:ENDPROC
510 REPEAT
520 IF POS>xpos% THEN VDU8
530 IF POSypos% THEN VDU11
560 UNTIL xpos%=POS AND ypos%=VPOS
570 ENDPROC
580 DEF PROCinit
590 chars%=1
600 paged%=0
610 print%=0
620 return%=1
630 mode%=7
640 dir$="$"
650 ENDPROC
660 *|"‚ˆERROR HELP BIT
670 CLS
680 VDU3
690 VDU15
700 REPORT
710 IFERR=17 THEN GOTO 740
720 PRINT"‚at lineƒ";ERL;"‚numberƒ";ERR
730 PRINT"†Press any key":A=GET
740 CLS
750 sel%=1
760 PRINT"”‡Resolve Comms Text File Reader†HELP"'
770 IF paged%=1 THEN PRINT"†Paged mode..ƒON" ELSE PRINT"†Paged mode..ƒOFF"
780 IF print%=1 THEN PRINT"†Printing text..ƒON" ELSE PRINT"†Printing text..ƒOFF"
790 IF return%=1 THEN PRINT"†Return at end of page..ƒON" ELSE PRINT"†Return at end of page..ƒOFF"
800 PRINT"†Mode number..ƒ";mode%
810 PRINT"†Current dir..ƒ";dir$
820 PRINT"†Select help screen"
830 PRINT"†Drop to BASIC"
840 PRINT"†Return to program"
850 IF chars%=1 THEN PRINT"†Change CharsƒON" ELSE PRINT"†Change CharsƒOFF"
860 PRINT'"…Move cursor with :"
870 PRINT'"ƒ:‚(same key as *,no shift)ƒfor up"
880 PRINT"ƒ/‚(same key as ?,no shift)ƒfor down"
890 PRINT "ƒRETURN to select"
900 REPEAT
910 PRINTTAB(0,sel%+1)"";
920 A=GET
930 UNTIL A=58 OR A=47 OR A=13
940 IFA=13 AND sel%=8 THEN GOTO 20
950 IFA=13 THEN PROCselect:GOTO 740
960 PRINTTAB(0,sel%+1)"†";
970 IF A=58 THEN sel%=sel%-1 ELSE sel%=sel%+1
980 IF sel%=10 THEN sel%=1
990 IFsel%=0 THEN sel%=9
1000 GOTO 900
1010 DEF PROCmode
1020 PRINTTAB(0,5)" ";
1030 INPUTTAB(0,5)"ƒEnter new mode‚"mode%
1040 ENDPROC
1050 DEF PROCdir
1060 PRINTTAB(0,6)" ";
1070 INPUTTAB(0,6)"ƒEnter new dir‚"dir$
1080 ENDPROC
1090 DEF PROCheylp
1100 CLS
1110 PRINT"‚ This program is designed to read text ‚files..it is DESIGNED to be used in ‚Mode 7,but any number of modes may be ‚used."
1120 PRINT"† Options can be toggled/changed with †the help menu which appears when you †press ESCAPE as you will have noticed. †It also appears if you make a mistake †in entering a filename,but it is easy"
1130 PRINT"†to return back to displaying the file."
1140 PRINT"†…If you want to use this program ONLINE…just delete the line that says ON ERROR…in it (line 20) and it will work in …Viewdata Mode."
1150 PRINT"ƒ This program was written by John ƒCarpenter and is PD..but,don't rip it ƒoff please..if you change it,still ƒcredit me!"
1160 PRINT"‘,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,†Bang return"
1170 REPEAT:UNTILGET=13
1180 CLS
1190 PRINT"‚ Please also call my long running BB, ‚Resolve which,from August 23rd 1991, ‚will have the new numberƒ0438 832824"
1200 PRINT"‚ It is Viewdata,V23,V21 (hopefully ‚2400 too soon), 24hours and it can also‚support Scrolly in a naff way..Hmm.."
1210 PRINT" †Anyway,enough plugging..enjoy the prog†and let me know,via the BB,what you †think..I'm quite pleased with it myself"
1220 PRINT"… Paged mode means when the bottom of ……screen is reachedƒSHIFT…must be pressed…to scroll it.This also happens when …CATTING a disk."
1230 PRINT"‘,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,†Bang return"
1240 REPEAT:UNTILGET=13
1250 CLS
1260 PRINT"†Return means that at the very bottom of†the screen it asks you to press return †to continue.This is much better than †paged mode.But,if you want to print and†read at the same time,use paged mode, †as that does not print PRESS "
1270 PRINT"†SHIFT etc..doNOT†have paged AND return†mode BOTH on or it will go a bit odd.. †it will still work,just be crap!"
1280 PRINT"… Print means that it will print the …text to printer.It will not print …graphics though.It will ask you to turn…on the printer before it starts …printing and automatically turn it off …if you stop it or if the file"
1290 PRINT"…ends..Pause does not work in printmode"
1300 PRINT"‘,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,†Bash Return"
1310 REPEATUNTILGET=13
1320 CLS
1330 PRINT" ‚Change Chars is defaulted to ON and it‚changes pound,hash,underline etc around‚as in Viewdata.The screen should still ‚look Ok..but,should you want to turn ‚this off,just toggle it off."
1340 PRINT"† I hope to have included every feature †possible with this..feel free to change†it about,just keep me credited,please!!…This program was written for Resolve …Comms and Eight Bit Software Public "
1350 PRINT"…Domain Library and should work on BBC …model B and Master users."
1360 PRINT"‘,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,†Bash Return"
1370 REPEATUNTILGET=13
1380 ENDPROC
1390 DEF PROCselect
1400 IFsel%=1 THEN PROCpaged
1410 IFsel%=2 THEN PROCprint
1420 IFsel%=3 THEN PROCreturn
1430 IFsel%=4 THEN PROCmode
1440 IFsel%=5 THEN PROCdir
1450 IFsel%=6 THEN PROCheylp
1460 IFsel%=7 THEN CLS:PRINT"‚Finished:ƒ";:END
1470 IFsel%=9 THEN PROCchars
1480 ENDPROC
1490 DEF PROCpaged
1500 IF paged%=1 THEN paged%=0:ENDPROC
1510 paged%=1
1520 ENDPROC
1530 DEF PROCprint
1540 IF print%=1 THEN print%=0:ENDPROC
1550 print%=1
1560 ENDPROC
1570 DEF PROCreturn
1580 IF return%=1 THEN return%=0:ENDPROC
1590 return%=1
1600 ENDPROC
1610 DEF PROCchars
1620 IF chars%=1 THEN chars%=0:ENDPROC
1630 chars%=1
1640 ENDPROC
1650 DEF PROCpic
1660 CLS
1670 PRINT" —ÿï´ÿ迯j¿ýj5 þï´ÿj5 ’µé¢ã¥ ¸¹±µ"
1680 PRINT" —ÿêµÿ¢¯ýjý¿j5 ÿþ5«ï5 ’µê ©° µµµµ"
1690 PRINT" —¯¯¡/ª¯§ª¥ ª¯¥/ª¥¯¯¡ ’¡¨¬¡¤¦¦ ¥"
1700 PRINT"”"
1710 PRINT"”‡The Resolve Comms Text File Reader"
1720 PRINT"ӠWritten by John Carpenter (c) 1991"
1730 PRINT"”///////////////////////////////////////";
1740 PRINT"‘"
1750 PRINT"‘‡PressƒESCAPE‡for the help menu etc"
1760 PRINT"‘‡PressƒSPACE ‡to start displaying"
1770 PRINT"‘"
1780 ENDPROC