1 REM Ins{nd av Bengt Holgersson <559> 1986-02-02 23.42.40 10 REM -Vad {r nu detta d} ? 20 REM -Ett ABC80 program utan n}n funktion. 30 REM -Vad} ?? 40 REM -Bara en beskrivning av en id`. 50 REM Har ni sett programmet SIDEKICK 60 REM p} PC-maskinerna s} fattar ni galoppen. 70 REM Jag menar en interruptstyrd hj{lpare 80 REM som man kan hoppa in i medan man k|r ett 90 REM annat program. Med Hex-,Dec-,Ascii- 100 REM omvandling,en enkel kalkylator m.m. 110 REM Detta program beskriver bara principen 120 REM f|r hanteringen av sk{rmen. 130 REM Naturligtvis skulle en riktig grej 140 REM vara skriven i assembler. 150 REM N}nting f|r OWOCO kanske ? 160 REM M|jligheterna att vidareutveckla 170 REM smartaidarna {r ingalunda utt|mda. 180 REM 190 REM  Initiering  200 DIM A$(23%)=0% : REM M}ste vara f|rsta variabel 210 H%=9% : B%=17% : REM H|jd och Bredd 220 DIM B$(H%)=B%,C$=B% 230 IF PEEK(885%)=88% W%=80% ELSE W%=40% 240 K%=(W%-B%)/2% : R%=(23-H%)/2% 250 REM  A$() = sk{rmen  260 P%=PEEK(65065%)+SWAP%(PEEK(65066%)) 270 P%=PEEK(P%+4%)+SWAP%(PEEK(P%+5%)) 280 FOR I%=0% TO 23% : POKE P%+I%*6%,W%,0%,PEEK(884%+I%*2%),PEEK(885%+I%*2%),W%,0% : NEXT I% 290 REM  B$() = Menyn  300 B$(0%)=CHR$(23%,55%)+STRING$(B%-4%,35%)+CHR$(107%,7%) 310 FOR I%=1% TO H%-1% 320 ONERRORGOTO 330 : C$='' : READ C$ 330 B$(I%)=CHR$(23%,53%)+C$+SPACE$(B%-4%-LEN(C$))+CHR$(106%,7%) 340 NEXT I% 350 B$(H%)=CHR$(23%,117%)+STRING$(B%-4%,112%)+CHR$(122%,7%) 360 DATA ' MENY',,' W','A S FLYTTA',' Z',,'RETURN P]','SPACE AV' 370 ; CUR(23%,0%)'Tryck return f|r MENY'CHR$(0%,8%); 380 REM  Main loop  390 GET T$ : IF T$=' ' AND M% GOSUB 610 400 ON INSTR(1%,'WZAS'+CHR$(13%),CHR$(ASC(T$) AND 95%))+1% GOTO 390,410,450,490,530,570 410 REM  Flytta upp meny  420 IF M% GOSUB 610 430 IF R% R%=R%-1% 440 GOTO 590 450 REM  Flytta ned meny  460 IF M% GOSUB 610 470 IF R%<23%-H% R%=R%+1% 480 GOTO 590 490 REM  Flytta meny v{nster  500 IF M% GOSUB 610 510 IF K% K%=K%-1% 520 GOTO 590 530 REM  Flytta meny h|ger  540 IF M% GOSUB 610 550 IF K%