8-Bit Software Online Conversion

:0.$.Menu - Listing

10REM Menu Program 20REM S.Johnson 30REM August 1991 40REM 100MODE1 110VDU19,1,4,0,0,0 112VDU23,0,10,32,0,0,0,0,0,0 120READd 130DIM n$(d),fn$(d),ty$(d) 140PROCinit 145REM (PUT YOUR TITLE HERE!!!) 150title$="Programs By S.Johnson" 160PROCscreen 170PROClabels(title$) 180PROCnames 190PROCcursor 200G=GET 210END 220DEFPROCscreen 230GCOL16,131 240CLG 250MOVE19,880 260PROCbox(1236,60,0) 270MOVE25,900 280PROCbox(1236,60,3) 290FORf=277TO775STEP90 300MOVE17,f 310PROCbox(600,54,0) 320MOVE654,f 330PROCbox(600,54,0) 340MOVE30,f+15 350PROCbox(600,54,3) 360MOVE666,f+15 370PROCbox(600,54,3) 380NEXTf 390MOVE30,742 400PROCbox(600,54,1) 410MOVE19,70 420PROCbox(1236,120,0) 430MOVE25,95 440PROCbox(1236,120,3) 450VDU4 460ENDPROC 470DEFPROCbox(x,y,c) 480GCOL0,c 490PLOT97,x,y 500ENDPROC 510DEFPROCcursor 520*FX4,1 530x=30:y=742:p=1 540xx=x:yy=y:r=p 550PROCupdate(x,xx,y,yy,p,r) 560REPEAT 570g=GET 580IF g=136 THEN xx=x+636*(x>30):r=p+1 *(x>30) 590IF g=137 THEN xx=x-636*(x<666):r=p- 1*(x<666) 600IF g=138 THEN yy=y+90*(y>300):r=p-2 *(y>300) 610IF g=139 THEN yy=y-90*(y<742):r=p+2 *(y<742) 620MOVEx,y 630PROCbox(600,54,3) 640MOVExx,yy 650PROCbox(600,54,1) 660PROCupdate(x,xx,y,yy,p,r) 665COLOUR3 680x=xx:y=yy:p=r 690UNTIL g=135 700*FX4,0 705PROCchoice(r) 710ENDPROC 720DEFPROClabels(title$) 730VDU5 740n=LEN(title$) 750x=37-n 760x=x/2 770MOVE40,940 780GCOL16,4 790PRINTTAB(x) title$ 800MOVE40,190 810GCOL16,1 820PRINTTAB(5)" " 830MOVE40,160 840PRINTTAB(4)" to select & COPY to load" 850MOVE40,130 860PRINTTAB(5)" " 870VDU4 880ENDPROC 920DEFPROCinit 930FOR f=1TOd 940READn$(f),fn$(f),ty$(f) 950NEXTf 960ENDPROC 970DEFPROCnames 980y=775:w=0 990IF d=1 OR d=3 OR d=5 OR d=7 OR d=9 OR d=11 THEN w=d+1 1000VDU5 1010FOR f=1TOd STEP2 1015IF f=w THEN GOTO1130 1020MOVE40,y 1030GCOL0,1 1040PRINT n$(f) 1050y=y-90 1060NEXTf 1070y=775 1080FOR h=2TOd STEP2 1090MOVE676,y 1100PRINT n$(h) 1110y=y-90 1120NEXTh 1130VDU4 1140ENDPROC 1150DEFPROCupdate(x,xx,y,yy,p,r) 1170VDU5 1185IF p<=d THEN GCOL0,1:MOVEx+10,y+33: PRINT n$(p) 1210IF r<=d THEN GCOL0,2:MOVExx+10,yy+3 3:PRINT n$(r) 1250VDU4 1260ENDPROC 1300DEFPROCchoice(r) 1310CLS 1315MOVE200,550 1320PROCbox(900,100,2) 1325MOVE225,575 1326PROCbox(900,100,1) 1327VDU5 1328MOVE250,625 1329GCOL0,3:PRINT"LOADING : "n$(r) 1330VDU4 1335IF ty$(r)="B" THEN CHAIN fn$(r) 1340IF ty$(r)="M" THEN A$=fn$(r) 1350$&900="RUN "+A$ 1360X%=&900 MOD 256 1370Y%=&900 DIV 256 1380CALL &FFF7 1400ENDPROC 1990REM LINE 2000 IS THE NUMBER OF PROGRAMS IN DATA STATEMENTS 2000DATA6 2005REM "B"=BASIC "M"=MACHINE CODE" 2010DATA"Form Master","FORMMAS","B" 2030DATA"View Start","V-START","B" 2060DATA"Tiles","TILES","B" 2070DATA"Warning","WARN","B" 2080DATA"VAT Calculator","VATCALC","B" 2090DATA"Comic Relief","CRELIEF","B"