10 REM !++++++++++++++++++++++++++++++++ 11 REM ! Program .... MENYLIST 12 REM ! Utg}va 1.0 1980-08-09 13 REM ! av (c) Magnus Lundberg 14 REM ! {ndrat av Modulservice S.] 15 REM ! Minne 16 Kbytes f|r flexskiva 16 REM ! Ins{nt av 1422 17 REM +++++++++++++++++++++++++++++++++ 18 REM 19 REM 20 DIM P$(99%)=16%,P1$(1%)=12% 21 DIM Z$=200%,Z1$=1%,X1$=6%,X2$=200%,X3$=200%,X4$=60% 22 P%=0% : L%=0% : OPEN 'PR:' ASFILE L% 23 E2%=12% : REM L{ngd per pgm 24 E$='BAS' : REM Extension att v{lja 25 FOR I%=0% TO 99% : P$(I%)="" : NEXT I% 26 FOR D%=0% TO 1% 27 T%=0% : S%=6% : GOSUB 46 28 IF Z% FOR I%=0% TO 7% : V%(I%)=15% : NEXT I% : GOTO 30 29 A%=62959% : FOR I%=0% TO 7% : V%(I%)=PEEK(A%+I%) : NEXT I% 30 T%=2% : FOR S%=0% TO 7% : IF V%(S%)>1% GOSUB 46 ELSE 41 31 IF Z% AND 128% ; 'Luckan |ppen DR'CHR$(D%+48%,58%) : FOR T=0% TO 999% : NEXT T : S%=8% : GOTO 41 32 IF Z% AND 16% ; 'AM ERR sektor'S%' DR'CHR$(D%+48%) : GOTO 41 33 IF Z% AND 8% ; 'CMC ERR sektor'S%' DR'CHR$(D%+48%) : GOTO 41 34 IF Z% AND 4% ; 'DATA LOST sektor'S%' DR'CHR$(D%+48%) : GOTO 41 35 IF Z% ; Z% : GOTO 41 36 A%=62720%+16% 37 FOR N%=0% TO 15% : GOSUB 47 38 IF INSTR(1%,N$,'LBL')<>0% P1$(D%)=LEFT$(N$,8%) : P1$(D%)=LEFT$(P1$(D%),INSTR(1%,P1$(D%)+' ',' ')-1%) 39 IF INSTR(8%,N$,E$) P$(P%)=LEFT$(N$,8%) : P%=P%+1% 40 NEXT N% 41 NEXT S% 42 NEXT D% 43 A%=INP(7) 44 GOSUB 49 45 ; CUR(20,0); : I$=P$(I%)+'.'+E$ : GOTO 65 46 POKE 64769%,D% : Z%=CALL(24678%,SWAP%(T%)+S%*32%) : Z%=PEEK(64789%) : RETURN 47 N$="" : FOR I%=4% TO 14% : N$=N$+CHR$(PEEK(A%+I%)) : NEXT I% : A%=A%+16% : RETURN 48 ; #L%,CHR$(12%); 49 P$=P1$(0%)+P1$(1%) : IF LEN(P$)>8% P$=P1$(0%)+' & '+P1$(1%) 50 IF LEN(P$)<20% P$=P$+' ' : GOTO 50 51 ; #L%CHR$(13%)"LIST80("E$"): "P$ 52 ; #L%STRING$(40%,61%) 53 FOR R%=0% TO 18% : FOR K%=0% TO P% STEP 19% : I%=R%+K% 54 I$=RIGHT$(NUM$(I%),2%) 55 IF LEN(I$)<2% I$=' '+I$ 56 IF LEN(P$(I%))P%-1% 51 63 IF I%<0% 51 64 RETURN 65 F%=1% : OPEN "PR:" ASFILE F% 66 ; #F% : ; #F%,TAB(4%)"PROGRAMLISTA "I$ 67 ; #F%,CHR$(10%) : F1%=3% 68 OPEN I$ ASFILE 2% 69 ONERRORGOTO 102 70 INPUTLINE #2%,Z$ 71 Z$=LEFT$(Z$,LEN(Z$)-2%) 72 Z%=INSTR(1%,Z$,CHR$(9%)) 73 IF Z%=0% 75 ELSE I%=ASC(RIGHT$(Z$,Z%+1%)) 74 Z$=LEFT$(Z$,Z%-1%)+SPACE$(I%)+RIGHT$(Z$,Z%+2%) : GOTO 72 75 Z%=INSTR(1%,Z$," ") 76 X1$=LEFT$(Z$,Z%-1%) 77 X2$=RIGHT$(Z$,Z%+1%) 78 IF LEN(X2$)>55% 79 ELSE 88 79 X3$=RIGHT$(X2$,56%) : X2$=LEFT$(X2$,55%) 80 IF LEN(X3$)>55% 81 ELSE 88 81 X4$=RIGHT$(X3$,56%) : X3$=LEFT$(X3$,55%) 82 GOTO 88 83 RESTORE : ONERRORGOTO 87 84 READ \$ 85 Z%=INSTR(60%,X2$,\$) : IF Z%=0% OR Z%>68% 84 86 X3$=RIGHT$(X2$,Z%) : X2$=LEFT$(X2$,Z%-1%) : GOTO 88 87 X3$=RIGHT$(X2$,69%) : X2$=LEFT$(X2$,68%) 88 GOSUB 97 89 IF X3$<>"" GOSUB 99 90 X4$="" : X3$="" : X2$="" 91 GOTO 69 92 DATA : ,;," ",=,<,>,+,-,"," 93 FOR F2%=F1%+1% TO 72% 94 ; #F% 95 NEXT F2% : F1%=0% 96 ; #F% : F1%=F1%+1% : RETURN 97 IF F1%>65% GOSUB 93 98 ; #F%,TAB(4%)X1$TAB(10%)X2$ : F1%=F1%+1% : RETURN 99 ; #F%,TAB(10%)X3$ : F1%=F1%+1% 100 IF X4$<>"" ; #F%,TAB(10%)X4$ : F1%=F1%+1% : RETURN 101 RETURN 102 ; #F%,"" : ; #F%," * READY" 103 FOR F2%=F1%+5% TO 72% : ; #F% 104 NEXT F2% : F1%=0% : CLOSE F% : CLOSE 2% : GOTO 22