8-Bit Software Online Conversion
TBI-70 Tape to Disc - Listing
10*FX119
20MODE3
30VDU22,7
40VDU23;8202;0;0;0;
50PROCa
60PROCb
70ONERRORVDU3:MODE7:REPORT:PRINT" at
line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+
"|M"):PROCc("FX138,0,128"):PROCd:END
80REPEAT
90e$=FNf
100IFLEFT$(e$,1)<>CHR$(27)THENPROCg(e$
):*DIR $
110UNTILLEFT$(e$,1)=CHR$(27)
120MODE7
130PROCd
140END
150DEFPROCa
160*FX225,128
170*FX229,1
180*FX4,1
190ENDPROC
200DEFPROCd
210*FX225,1
220*FX229,0
230*FX4,0
240ENDPROC
250DEFPROCb
260DIMh%256
270i$=FNj
280PROCk
290l$=" "
300m$=" "
310n$=".$.7TO3":REM n$="$.MAG.7TO3"
320f%=1
330e%=1
340PROCo
350ENDPROC
360DEFFNS
370="Menu"
380DEFPROCk
390i%=2
400p%=6
410q%=3
420r%=5
430s%=3
440t%=5
450u%=2
460v%=1
470w%=4
480x%=3
490y%=2
500z%=3
510aa%=7
520ba%=7
530ENDPROC
540DEFPROCo
550LOCALca%
560VDU26,12
570PRINTCHR$(128+i%);" ";i$;" ";C
HR$(144+p%);"¶///////%¶/////////////////
¶";
580PRINTCHR$(144+p%);"¶///////////*///
/////";CHR$(128+r%);"Transfer Utils ";CH
R$(144+p%);"¶";
590PRINTCHR$(144+p%);"¶";CHR$(144+q%);
"jk 74$5 j£`p`pj 0 0p0p`p ";CH
R$(144+p%);"¶";
600PRINTCHR$(144+p%);"¶";CHR$(144+q%);
"jk"!7457 "kjjj$j!545=55j.";CHR$(128+r%
);LEFT$(m$,8);CHR$(144+p%);"¶";
610PRINTCHR$(144+p%);"
""£ £ !£! "£"£" "!££!!!!"£ ";CH
R$(145);" ";
620FORca%=1TO18
630PRINTCHR$(144+p%);"¶";SPC(36);CHR$(
144+p%);"¶";
640NEXT
650PRINTCHR$(144+p%);"¶|||||||||||||||
||||||||||||||||||||||¶";
660VDU28,2,22,37,5
670ENDPROC
680DEFPROCc($h%)
690LOCALX%,Y%
700X%=h%MOD256
710Y%=h%DIV256
720CALL&FFF7
730ENDPROC
740DEFFNj:=" "
750DEFPROCea(fa$)
760VDU22,7
770PRINTfa$
780PROCd
790END
800DEFFNf
810LOCALga%,s$,ha%,ia%,ja$,ka$,ka%
820REPEAT
830CLS
840PROCla(f%)
850READs$,ha%
860IFha%>14THENha%=14
870PRINTTAB(0,0);CHR$(128+s%);TAB(1+(1
7.5-(LEN(s$)/2)),0);s$
880FORia%=1TOha%
890READja$,ka$,ka$,ka$,ka%,ka%,ka%
900PRINTTAB(1,1+ia%);" ";CHR$(128+t%)
;CHR$(64+ia%);CHR$(128+u%);ja$;TAB(35,1+
ia%);CHR$156;
910NEXT
920PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1
57;
930PRINTTAB(0,17);CHR$(128+v%);"Press"
;CHR$129;"f0";CHR$(128+v%);"for help if
necessary...";
940REPEAT
950REPEAT
960*FX21
970ga%=GET
980IFga%>=ASC("a")ANDga%<=ASC("z")THEN
ga%=ga%-32
990UNTILga%=128ORga%=138ORga%=139ORga%
=13OR(ga%>=65ANDga%<=(64+ha%))ORga%=ASC(
"8")ORga%=ASC("O")ORga%=ASC("P")OR(ga%=2
7ANDINKEY(-1))
1000PRINTTAB(1,1+e%);" ";
1010IFga%=138ANDe%<ha%THENe%=e%+1
1020IFga%=139ANDe%>1THENe%=e%-1
1030IFga%>=65ANDga%<=(64+ha%)THENe%=ga%
-64
1040PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1
57;
1050UNTILga%=13ORga%=128ORga%=ASC("P")O
Rga%=ASC("8")ORga%=ASC("O")ORga%=27
1060IFga%=128THENPROCma
1070UNTILga%=13ORga%=ASC("P")ORga%=ASC(
"8")ORga%=ASC("O")ORga%=27
1080=CHR$(ga%)+STR$(e%)
1090DEFPROCma
1100LOCALga%
1110CLS
1120PRINTTAB(5,0);CHR$(128+x%);"Using t
he 8BS menu system"
1130PRINTTAB(0,2);CHR$(128+y%);"Use the
up and down cursor keys to"'CHR$(128+y%
);"move the bar or press the letter"'CHR
$(128+y%);"next to the required menu opt
ion to";CHR$(128+y%);"position it immedi
ately."
1140PRINT'CHR$(128+y%);"Press RETURN to
load or view the"'CHR$(128+y%);"highlig
hted program/article. If it"'CHR$(128+y%
);"is an article, pressing 8 will"'CHR$(
128+y%);"display it in 80 columns. Press
ing"
1150PRINTCHR$(128+y%);"P will print it
out and pressing O"'CHR$(128+y%);"will a
llow you to view it in"'CHR$(128+y%);"te
letext mode with your own choice"'CHR$(1
28+y%);"of scrolling keys."
1160PRINTTAB(0,16);CHR$(128+z%);"Press"
;CHR$(129);"f0";CHR$(128+z%);"for more h
elp or ESCAPE"'CHR$(128+z%);"to return t
o the menu...";
1170REPEAT
1180*FX21
1190ga%=GET
1200UNTILga%=27ORga%=128
1210IFga%=27THENENDPROC
1220CLS
1230PRINTTAB(5,0);CHR$(128+x%);"Using t
he 8BS menu system"
1240PRINTTAB(0,2);CHR$(128+y%);"SHIFT a
nd ESCAPE together"'CHR$(128+y%);"at the
menu will return you to"'CHR$(128+y%);"
BASIC."
1250PRINTTAB(0,16);CHR$(128+z%);"Press
ESCAPE to return to the"'CHR$(128+z%);"m
enu...";
1260REPEAT
1270*FX21
1280ga%=GET
1290UNTILga%=27
1300ENDPROC
1310DEFPROCg(e$)
1320LOCALna%,ka$,oa$,pa$,qa$,ra%,sa%,ta
%
1330PROCla(f%)
1340READka$,ka%
1350FORna%=1TOVAL(MID$(e$,2))
1360READka$,oa$,pa$,qa$,ra%,sa%,ta%
1370NEXT
1380IFta%=0ANDpa$<>""THENPROCc("DIR "+p
a$)
1390IFra%ANDNOTsa%THENPROCua(ASC(LEFT$(
e$,1)),qa$):ENDPROC
1400IFra%ANDsa%THENPROCva(ASC(LEFT$(e$,
1)),qa$):ENDPROC
1410IFta%>0THENf%=ta%:e%=1:ENDPROC
1420PROCd
1430IFLEFT$(oa$,1)="*"THENPROCc(oa$+" "
+qa$):END
1440IFoa$="CHAIN"THENCHAINqa$
1450IFoa$="LOAD"THENPROCc("KEY0 LOAD "+
CHR$(34)+qa$+CHR$(34)+"|MLIST|N|M"):PROC
c("FX21"):PROCc("FX138,0,128"):PROCd:VDU
22,7:END
1460END
1470DEFPROCua(ga%,qa$)
1480VDU22,3
1490VDU23;8202;0;0;0;
1500ONERRORIFERR=17THENPROCc("FX229,1")
:VDU3,22,7:VDU23;8202;0;0;0;:PROCo:GOTO7
0ELSEVDU3:MODE7:REPORT:PRINT" at line ";
ERL:PROCc("KEY0 LIST "+STR$(ERL)+"|M"):P
ROCc("FX138,0,128"):PROCd:END
1510*FX21
1520*FX229,0
1530IFga%<>ASC("P")THENPRINT'"Press SHI
FT to scroll or ESCAPE for the menu..."'
:VDU14ELSEPRINT'"Press SPACE when you ar
e ready to print... (Press ESCAPE to qui
t)"':REPEATUNTILGET=32:VDU2
1540PROCc("Type "+qa$)
1550*FX229,1
1560ONERRORVDU3:MODE7:REPORT:PRINT" at
line ";ERL:PROCc("KEY0 LIST "+STR$(ERL)+
"|M"):PROCc("FX138,0,128"):PROCd:END
1570IFga%<>ASC("P")THENVDU15ELSEVDU3
1580PRINT'"Press ESCAPE to return to th
e menu...";
1590*FX21
1600REPEATUNTILGET=27
1610VDU22,7
1620VDU23;8202;0;0;0;
1630PROCo
1640ENDPROC
1650DEFPROCva(ga%,qa$)
1660IFINSTR(qa$,"@")<>0AND(ga%=ASC("P")
ORga%=ASC("8"))THENqa$=FNwa(qa$)
1670IFINSTR(qa$,"@")<>0ANDga%<>ASC("P")
ANDga%<>ASC("8")THENqa$=LEFT$(qa$,INSTR(
qa$,"@")-1)
1680?&80=&C6:?&81=&D6
1690IFga%=ASC("P")THEN$&A00=qa$:Z%=1:CH
AINn$
1700IFga%=ASC("8")THEN$&A00=qa$:Z%=0:CH
AINn$
1710IFga%=ASC("O")THENPROCxa(qa$)
1720PROCc("RUN "+qa$)
1730ENDPROC
1740DEFFNwa(qa$)
1750LOCALga%
1760CLS
1770PRINTCHR$(128+ba%);"Which part? (1/
2)";
1780REPEAT
1790*FX21
1800ga%=GET
1810UNTILga%=49ORga%=50
1820IFga%=49THEN=LEFT$(qa$,INSTR(qa$,"@
")-1)
1830=MID$(qa$,INSTR(qa$,"@")+1)
1840DEFPROCxa(qa$)
1850CLS
1860PRINTCHR$(128+aa%);"Please press th
e key to use to"'CHR$(128+aa%);"scroll u
p..."
1870?&80=0
1880?&80=FNya
1890PRINT'CHR$(128+aa%);"Please press t
he key to use to"'CHR$(128+aa%);"scroll
down..."
1900*FX21
1910?&81=FNya
1920PROCc("KEY0 *LOAD "+qa$+" 1900|M?&1
974=?&80:?&1981=?&81|MCALL&1904|F|M")
1930*FX21
1940VDU21
1950PROCd
1960*FX138,0,128
1970END
1980DEFFNya
1990LOCALA%,B%
2000REPEAT
2010A%=&7A
2020!&70=USR(&FFF4)
2030B%=255-(?&71)
2040UNTILB%<>0ANDB%<>182ANDB%<>?&80
2050=B%
2060DEFPROCla(f%)
2070IFf%=1THENRESTORE
2080IFf%=2THENRESTORE 2190
2090ENDPROC
2100DATA Menu 1.,7
2110DATA About This Disc.,,,Thi1,-1,-1,
0
2120DATA Tape To Disc Info Part 1.,,,Al
bert,-1,-1,0
2130DATA Tape To Disc Info Part 2.,,,Al
bert2,-1,-1,0
2140DATA Tape To Disc Info Part 3.,,,Al
bert3,-1,-1,0
2150DATA Snapshot Documentation.,,S,Sna
pDoc,-1,-1,0
2160DATA TTD Info.,,,TTD,-1,-1,0
2170DATA Menu 2.,,,,0,0,2
2180:
2190DATA Menu 2.,8
2200DATA DBackup.,CHAIN,,DBackup,0,0,0
2210DATA DtoA.,CHAIN,,DTOA,0,0,0
2220DATA T>ADFS.,CHAIN,,T>ADFS,0,0,0
2230DATA T>DFS.,CHAIN,,T>DFS,0,0,0
2240DATA TTD`I.,CHAIN,,TTD`I,0,0,0
2250DATA TTD`II.,CHAIN,,TTD`II,0,0,0
2260DATA TCopy.,CHAIN,,TCopy,0,0,0
2270DATA Menu 1.,,,,0,0,1