1 REM Ins{nd av Thomas Andersson <3917> 1985-02-26 02.16.54 2 ! ********************************************************************** 3 ! Program MENY2.BAS Utg}va 1.0 1985-02-26 4 ! av L Lundstr|m 5 ! Ins{nd av T Andersson <3917> 6 ! F|r ABC800M ABC802 ABC806 8 ! Testad p} ABC800M, ABC802, ABC806 9 ! ********************************************************************** 70 EXTEND : FLOAT 80 ! 90 DEF FNUtskrift$ 100 ; CHR$(12%) 110 ; '  ********* H{r s{tts namnet p} menyn **********' 120 ; STRING$(75%,61%) 130 ; 140 ; ' 1' 150 ; ' 2' 160 ; ' 3' 170 ; ' 4' 180 ; ' 5' 190 ; ' 6' 200 ; ' 7' 210 ; ' 8' 220 ; ' 9' 230 ; '10' 240 ; '11' 250 ; '12' 260 ; '13' 270 ; '14' 280 ; '15' 290 ; '16' 300 ; '17' 310 ; '18 -DOS' 320 ; 330 ; 340 RETURN '' 350 FNEND 360 ! 370 DEF FNV{ljprog% LOCAL Nr% 380 ON ERROR GOTO 440 390 WHILE Nr%<1% OR Nr%>18% 400 INPUT 'V[LJ PROGRAMNUMMER (1-18) 'Nr%; 410 IF Nr%<1% OR Nr%>18% THEN ; FNSuddarad$; 420 WEND 430 RETURN Nr% 440 ; FNSuddarad$; 450 RESUME 390 460 FNEND 470 ! 480 DEF FNSuddarad$ LOCAL Radnr% 490 Radnr%=PEEK(65363%) 500 ; CUR(Radnr%,0%) SPACE$(80%); 510 ; CUR(Radnr%,0%); 520 RETURN '' 530 FNEND 540 ! 550 DEF FNRuta$(Programval%) LOCAL Curpos% 560 Curpos%=SWAP%(PEEK2(65362%)) 570 ; CUR(Programval%+2%,3%) CHR$(158%); 580 ; CUR(Curpos%,Curpos%/256%); 590 RETURN '' 600 FNEND 610 ! 620 DEF FNBest{mmfil$(Programval%) 630 ON Programval% GOTO 640,650,660,670,680,690,700,710,720,730,740,750,760,770,780,790,800,810 640 RETURN '' ! 1 H{r s{tts filnamnet 650 RETURN '' ! 2 660 RETURN '' ! 3 670 RETURN '' ! 4 680 RETURN '' ! 5 690 RETURN '' ! 6 700 RETURN '' ! 7 710 RETURN '' ! 8 720 RETURN '' ! 9 730 RETURN '' ! 10 740 RETURN '' ! 11 750 RETURN '' ! 12 760 RETURN '' ! 13 770 RETURN '' ! 14 780 RETURN '' ! 15 790 RETURN '' ! 16 800 RETURN '' ! 17 810 ; CHR$(12%) : BYE 820 FNEND 830 ! 840 DEF FNBytprog%(Nyttprog$) LOCAL Felrad% 850 ON ERROR GOTO 890 860 Felrad%=1% : CHAIN 'RAM:'+Nyttprog$ 870 Felrad%=2% : CHAIN Nyttprog$ 880 RETURN 0% 890 ON Felrad% RESUME 870,880 900 FNEND 910 ! 920 DEF FNFel%(Prog$) LOCAL In$=3,Kod%,Kvittens% 930 Kvittens%=24% ! CE 940 ; FNSuddarad$; 950 ; 'Hittar ej filen ' Prog$ ' Kvittera med CE efter diskettbyte '; 960 WHILE Kod%<>Kvittens% 970 GET In$ 980 Kod%=ASCII(In$) 990 WEND 1000 Z%=FNBytprog%(Prog$) 1010 ; FNSuddarad$; 1020 RETURN 0% 1030 FNEND 1040 ! 1050 ! **** MAIN **** 1060 ! 1070 WHILE -1% 1080 ; FNUtskrift$; 1090 Prognr%=FNV{ljprog% 1100 ; FNRuta$(Prognr%); 1110 Fil$=FNBest{mmfil$(Prognr%) 1120 IF Fil$<>'' THEN Z%=FNBytprog%(Fil$) 1130 IF Fil$<>'' THEN Z%=FNFel%(Fil$) 1140 WEND