8-Bit Software Online Conversion
:0.$.Loader - Listing
10programname$="LOADER":REM works usi
ng DNFS only
11*DR.1
15MODE7
20REM revised 17th MAY
21REM added X command to show *XSTATU
S
40VDU14
50drive%=0
60ONERRORGOTO1450
70*FX4,1
80VDU14
90CLS:*.
100PRINTTAB(0,20)"ENTER 0 1 2 3 to sel
ect another drive,"'"or initial key to .
.."'"Copy Delete Format Info. Lock Move
"' "Name Print Run Title View Unlo
ck"
110M=31907
120IF?(M-75)<>36THENM=M+38
130P=220:?M=62
140PROCshow
150*FX21,5
160*FX21,6
170SOUND1,-10,P,2
180SOUND2,-10,250,2
190*FX21,0
200A=GET:IFA=33THENCHAIN":0.CONTROL"
210IFA=138ORA=139GOTO600:REMjump
220IFA>47ANDA<52THENPROCdrive(A):GOTO6
0
230IFA=67ORA=99THEN770:REMcopy
240IFA=70ORA=102THEN740:REMformat
250IFA=82ORA=114THENCHAINF$:REMrun
260IFA=68ORA=100THEN860:REMdelete
270IFA=86ORA=118THEN1080:REMview
280IFA=80ORA=112THEN1080:REMprint
290IFA=78ORA=110THEN1350:REMchange nam
e
300IFA=73ORA=105THEN1400:REMinformatio
n
310IFA=77ORA=109THEN800:REMmove
320IFA=84ORA=116THEN920:REMtitle
330IFA=76ORA=108THEN1000:REMlock
340IFA=85ORA=117THEN1050:REMunlock
350IFA=36ORA=52THEN1490:REMdirectory
360IFA=88ORA=120THEN1530:REM B32 statu
s
370VDU3
380GOTO140
390
400DEFPROCshow
410F$="":C$="":I=1
420C$=CHR$(?(M+I)):IFC$=" "THEN440
430F$=F$+C$:I=I+1:GOTO420
440IFASC(F$)=33THENA=138:GOTO600
450PRINTTAB(24,0)" ":PRINTTAB(24
,0)F$;
460ENDPROC
470
480DEFFNQUO(F$):IFF$=""THEN=""
490=""""+F$+"""":
500
510DEFPROCwipe(line):IFline=24THENPRIN
TTAB(0,24)STRING$(37," ");:ENDPROC
520PRINTTAB(0,line);STRING$(40," ");:E
NDPROC
530ENDPROC
540
550DEFPROCclear
560FOR W=20TO24:PROCwipe(W):NEXT:ENDPR
OC
570
575DEFPROCclear1
576FOR W=4TO24:PROCwipe(W):NEXT:ENDPRO
C
578
580REMjump
590A=32
600?M=32:IFA=138THENM=M+20:P=P-4
610IFA=139THENM=M-20:P=P+4
620?M=62:PROCshow:IFASC(F$)=-1THEN?M=3
2:VDU7:GOTO110
630GOTO140
640
650DEFPROCdrive(A)
660REM DEFPROCdrive(A):drive%=A-48:*DR
IVE(drive%):ENDPROC
670IFA=48THENdrive%=0:*DRIVE0
680IFA=49THENdrive%=1:*DRIVE1
690IFA=50THENdrive%=2:*DRIVE2
700IFA=51THENdrive%=3:*DRIVE3
710ENDPROC
720
730REMformat
740CLS:OSCLI("*FORM80")
750RUN
760
770REMcopy
780PROCclear:PRINTTAB(0,20)"COPY ";F$;
" to drive ... ?";:D=GET:PROCcopy:GOTO60
790
800REMmove
810PROCclear:PRINTTAB(0,20)"MOVE:` '";
F$;"' to drive ... ?";:D=GET:PROCcopy:*D
RIVE source
820*OSCLI("DELETE "+F$)
830GOTO60:
840DEFPROCcopy:source=drive%:PROCdrive
(D):PRINTTAB(0,20);:OSCLI("COPY "+STR$(s
ource)+" "+STR$(drive%)+" "+F$):ENDPROC
850
860REMdelete
870VDU7:PROCclear:PRINTTAB(0,20)"DELET
E ";F$;". Are you sure ?";:A=GET:IFA=89O
RA=121THEN890
880GOTO60
890OSCLI("DELETE "+F$):GOTO60
900
910REMtitle
920I=0:T$=""
930PROCclear
940*FX4,0
950C$=CHR$(?(31744+I)):IFC$=" "THEN970
960T$=T$+C$:I=I+1:GOTO950
970IFT$<>""PRINTTAB(0,20)"The present
title is ";T$
980VDU7:PRINTTAB(0,22);:INPUT"ENTER th
e new title... "T$:OSCLI("TITLE "+T$):GO
TO60
990
1000REMlock
1010OSCLI("ACCESS "+F$+" L"):PRINTTAB(0
,0);:*.
1020GOTO90
1030
1040REMunlock
1050OSCLI("ACCESS "+F$):PRINTTAB(0,0);:
*.
1060GOTO90
1070
1080REMview
1090PROCclear:PRINTTAB(0,20);:OSCLI("IN
FO "+F$):G$="":FORI=0TO5:G$=G$+CHR$(?(32
558+I)):NEXTI:IFG$="000000"ORG$="FFFFFF"
THEN1120
1100VDU7:PROCwipe(20):PRINTTAB(0,20)F$;
" is a basic file.":GOTO170
1110
1120CLS:VDU15:z%=0:IFA=80ORA=112THENPRO
Ccheck`printer
1130CLOSE#0:ch=OPENIN(F$)
1140GOSUB1240:REMcheck keyboard
1150pointer%=PTR#ch:a=BGET#ch:IFa=0GOTO
1200
1160PRINTCHR$(a);:IFa=13THENVDU10
1170IFa=&40ORa=&FFGOTO1230
1180z%=z%+1:IFz%=105THENGOSUB1240:z%=0
1190GOTO1150: :REMstring
1200PTR#ch=pointer%:INPUT#ch,A$:IFA=118
THENPRINTLEFT$(A$,39):GOTO1140
1201IFA=112THENPRINTLEFT$(A$,76):GOTO11
40
1210IFA=112THENPRINTA$:GOTO1140
1220PRINT';A$:GOTO1140: :REMvalue
1230PTR#ch=pointer%:INPUT#ch,A%:PRINT"
";A%:GOTO1140: :REM check keyboard
1240K=INKEY(1):IFK=32THEN1280
1250IFK=13THEN1480
1260*FX21,0
1270RETURN:REM hold display
1280v%=VPOS:h%=POS:PRINT:PRINTTAB(0,24)
"HIT any key to continue.";:*FX21,0
1290K=GET:IFK=13THEN1480
1300PRINTTAB(0,24)"
":IFv%=24THENv%=23
1310PRINTTAB(h%,v%-1);:RETURN: :
1320DEFPROCcheck`printer:PRINTTAB(8,10)
"CHECK PRINTER IS READY"'" AND
HIT ANY KEY":VDU7:G=GET:IFG=33ORG=13THE
N1480
1330CLS:VDU2:ENDPROC:
1340
1350REMname
1360PROCclear:PRINTTAB(0,20)"Rename ";F
$;" as ... ";:INPUT;N$:IFN$=""ORN$="!"TH
EN60
1370IFLEN(N$)>7THENN$=LEFT$(N$,7)
1380OSCLI("RENAME "+F$+" "+N$):GOTO60
1390
1400REMinformation
1410IFA=73THENCLS:PRINT"INFORMATION for
drive ";drive%;':OSCLI("INFO *.*"):PRIN
T'"Hit any key to continue ...":A=GET:GO
TO60
1420PROCclear:PRINTTAB(0,20);:OSCLI("IN
FO "+F$):GOTO200:PRINT'"Hit any key to c
ontinue ...":GOTO140
1430
1440REMerrortrap
1450IFERR=223GOTO1480
1460*FX4,0
1470PROCclear:PRINTTAB(0,20)"ERROR ";ER
R;" at line ";ERL:REPORT:PRINT:VDU7:CLOS
E#0:VDU3:END
1480PRINT''"END OF FILE"'"HIT any key."
:G=GET:IFG=33THENCHAIN"CONTROL"ELSECLOSE
#0:VDU3:GOTO60
1485
1490REMdirectory
1500PROCclear:PRINTTAB(0,20)"ENTER the
new directory...";:G$=GET$:PRINTG$
1510OSCLI("DIR "+G$)
1520GOTO90
1525
1530REM B32 status
1540PROCclear1
1541PRINTTAB(0,4);
1545*XSTATUS
1550PRINT
1560*XSTATUS S
1570PRINTTAB(0,20)"RETURN for main disp
lay."'"Buffer Help Aries Load ROM"
1600G=GET
1610IFG=13GOTO90
1620IFG=72ORG=104THENPROCclear1:PRINTTA
B(0,3);:OSCLI("*HELP ARIES"):GOTO1570