8-Bit Software Online Conversion

8BS Menu Reader. v2 - Listing

10DEFFNS="MenRead" 20ONERROR:VDU3:CLOSE#0:OSCLI"SPOOL":R EPORT:PRINTERL:END 30A%=0:Y%=0:SYS%=USR&FFDA MOD &100 40REPEAT 50IF SYS%=8:OSCLI"MOUNT 0" 60IF SYS%=4:OSCLI"DR.0":*DIR $ 70MODE7 80F%=OPENIN"Menu" 90PRINT'''TAB(2)"    100PRINTTAB(2)"     110PRINT'''" Printout of menu from iss ue 28 onwards." 120PRINT'''TAB(8)" 1. Printer on. " 130PRINT'TAB(6)" 2. SPOOL to drive 1 . " 140PRINT'TAB(2)" 3. Append SPOOL to drive 1. " 150PRINT'TAB(8)" 4. Screen only. " 160REPEAT 170A$=GET$ 180UNTILINSTR("1234",A$) 190IF A$="1" P%=2 ELSE P%=3 200IF A$="2":*SPOOL :1.8BSmenu 210IF A$="3":*SPOOLON :1.8BSmenu 220IF A$="4" P%=14 230MODE0 240IF P%=14 PRINT"Press SHIFT to scrol l text." 250L%=0 260REPEAT 270A%=BGET#F%:IF A%=&6C IF BGET#F%=&24 IF BGET#F%=&3D IF BGET#F%=&22:L%=1 280UNTILL%=1 290Issue$=FNgt 300Issue$=LEFT$(Issue$,LENIssue$-1) 310L%=0 320REPEAT 330A%=BGET#F%:IF A%=&6D IF BGET#F%=&24 IF BGET#F%=&3D IF BGET#F%=&22:L%=1 340UNTILL%=1 350Date$=FNgt 360Date$=LEFT$(Date$,LENDate$-1) 370VDUP% 380VDU1,27,1,45,1,1:REM UNDERLINE ON 390PRINT "8-Bit Software Issue ";Issue $;" (";Date$;") ";:IF SYS%=4 PRINT"DFS V ersion"' ELSE PRINT "ADFS Version"' 400VDU1,27,1,45,1,0:REM UNDERLINE OFF 410PRINTTAB(5); 420VDU1,27,1,45,1,1:REM UNDERLINE ON 430PRINT"Program description. (T)elete xt (A)SCII (P)rogram. Pathname." 440VDU1,27,1,45,1,0:REM UNDERLINE OFF 450PTR#F%=&1300 460REPEAT 470A%=BGET#F% 480UNTIL A%=&DC:REM FIND FIRST DATA ST ATEMENT 490REPEAT:REM OUTER MENU LOOP 500MenTit$=FNgt 510MenTit$=MID$(MenTit$,INSTR(MenTit$, " ")+1) 520Head$=FNgt:REM HEADINGS IN MENU 530Q%=VAL Head$ 540PROCreadmenu 550REPEATUNTILBGET#F%=&D OR EOF#F% 560IF PTR#F%<>EXT#F%:PTR#F%=PTR#F%+3 570UNTIL EOF#F% 580CLOSE#F% 590VDU3 600*SPOOL 610PRINT'''"INSERT NEXT DISC AND PRESS A KEY OR PRESS ESCAPE TO END" 620REPEATUNTILGET 630UNTILFALSE 640DEFPROCreadmenu 650VDU1,27,1,45,1,1:REM UNDERLINE ON 660PRINT'MenTit$ 670VDU1,27,1,45,1,0:REM UNDERLINE OFF 680FORL%=1TOQ% 690PTR#F%=PTR#F%+5 700Desc$=FNgt 710A$=FNgt 720Name$=FNgt 730IF Name$<>"" Name$=Name$+"." 740Name$=Name$+FNgt 750Ascii$=FNgt 760Ttext$=FNgt 770Menu$=FNgt 780IF Menu$<>"0" NEXT:ENDPROC 790PRINT TAB(5)CHR$(L%+64);".";Desc$; 800PRINT TAB(38); 810IF Ascii$="0" IF Ttext$="0" PRINT"P "; 820IF Ascii$="-1" IF Ttext$="0" PRINT" A"; 830IF Ttext$="-1" IF Ttext$="-1" PRINT "T"; 840PRINTTAB(41);Name$ 850NEXT 860ENDPROC 870DEFFNgt 880Temp$="" 890REPEAT 900A%=BGET#F% 910IFA%<>&2C IF A%<>&D IFA%>31 IF A%<1 27 Temp$=Temp$+CHR$A% 920UNTILA%=&2C OR A%=&D 930=Temp$