8-Bit Software Online Conversion
Message File Reader - Listing
10REM >MesgRdr
20ONERROR CLOSE#0:VDU3,15,12:IFERR<>1
7REPORT:PRINT" at ";ERL:END:ELSEEND
30REM v1.00
40DIM r%(25)
50REPEAT:MODE0:PROCreadsubject:PROCre
adascii :UNTIL0
60:
70DEFPROCreadsubject:LOCAL C%,p%,i%,i
d$
80G%=OPENIN("!Mesg") :IFG%=0PRINT'"!M
esg file Not Found!":END
90S%=((EXT#G%)-256)/4096
100i%=BGET#G% :IFi%<>1PRINT'"Version 1
data files only!":END
110INPUT#G%,id$,name$ :PTR#G%=256
120I%=0 :id$="":PROCdh("* * M E S S A
G E S * *")
130FOR R%=1 TO S%
140INPUT#G%,id$ :C%=BGET#G%:IFC%>0GOTO
200
150id$=""
160FORp%=1TO76:C%=BGET#G%
170IFC%>31 AND C%<127 id$=id$+CHR$C% E
LSE id$=id$+" "
180NEXT
190PRINT"<"CHR$(I%+65)">"id$ :r%(I%)=R
% :I%=I%+1
200PTR#G%=256+R%*4096
210NEXT :CLOSE#0
220ENDPROC
230:
240DEFPROCreadascii:LOCAL C%,i%,l%,c$,
id$
250PRINT'"<ESC> <Z>=All or select A to
"CHR$(I%+64)" ?";
260REPEAT :R%=((GETAND223)-65):UNTILR%
<=I%-1 OR R%=25
270CLS:G%=OPENIN("!Mesg")
280PRINT''"SEND TO PRINTER Y/N ?";:*FX
21
290REPEAT:a%=INSTR("YN",CHR$(GETAND223
)):UNTILa% :CLS
300i%=BGET#G%:INPUT#G%,id$,name$
310PRINT" <Esc>" :VDU(a%+1) :IFa%=2VDU
31,7,0,14:PRINT"<Shift> to scroll."'
320IFR%=25 r%=S% :i%=0 :ELSE r%=r%(R%)
:i%=r%-1
330FOR N%=i% TO r%-1 :PTR#G%=256+N%*40
96
340INPUT#G%,id$ :C%=BGET#G%:IFC%>0GOTO
400
350l%=0 :c$=""
360REPEAT:C%=BGET#G% :l%=l%+1
370IFC%>32 AND C%<127 VDUC% ELSE VDU32
:c$=c$+" ":IFLENc$=40PRINT:c$=""
380IFl%MOD40=0c$=""
390UNTILC%=152:PRINT'
400NEXT:CLOSE#0
410PRINT:VDU3,15:PROCkey:ENDPROC
420:
430DEFPROCkey:*FX21
440PRINT"Press <key>";:IF GET
450ENDPROC
460:
470DEFPROCdh(A$) :LOCALA%,X%,Y%,N:VDU3
1,22,0
480FOR N=1 TO LEN(A$) :?&70=ASC(MID$(A
$,N)) :A%=10 :X%=&70 :Y%=0 :CALL&FFF1
490VDU23,255,?&71,?&71,?&72,?&72,?&73,
?&73,?&74,?&74,255,10,8
500VDU23,255,?&75,?&75,?&76,?&76,?&77,
?&77,?&78,?&78,255,11
510NEXT:PRINT''
520ENDPROC