10 REM ++++++++++++++++++++++++++++ 20 REM + + 30 REM + ASSIGN + 40 REM + av ny enhet + 50 REM + till befintlig enhet + 60 REM + + 70 REM + Program av Gunnar Tidner + 80 REM + 1980-10-31 + 90 REM ++++++++++++++++++++++++++++ 100 DIM D$(20)=5,Z%(20),W%(20),F$(20%)=10 110 DEFFNP%(X%)=PEEK(X%)+256%*PEEK(X%+1%) 120 GOSUB 320 130 ; : ; "ASSIGN Nytt device "; : INPUTLINE C$ : E%=0 : IF LEN(C$)=2 THEN 290 140 C$=LEFT$(C$,LEN(C$)-2)+" " 150 ; " assign till "; : INPUTLINE D$ : ; : IF LEN(D$)=2 THEN 290 160 D$=LEFT$(D$,LEN(D$)-2)+" " 170 C1$="" : D1$="" : FOR I%=1 TO 3 180 C%=ASC(RIGHT$(C$,I%)) : D%=ASC(RIGHT$(D$,I%)) 190 IF C%>64 THEN C%=C% AND 223% 200 IF D%>64 THEN D%=D% AND 223% 210 C1$=C1$+CHR$(C%) : D1$=D1$+CHR$(D%) 220 NEXT I% 230 C$=C1$+" " : C$=LEFT$(C$,3) 240 D$=D1$+" " : D$=LEFT$(D$,3) 250 V%=0 : FOR I%=1 TO N% 260 IF D$=D$(I%) THEN V%=I% : GOTO 280 270 NEXT I% 280 IF V% THEN GOSUB 500 ELSE ; CHR$(7);"Device ";D$;" finns ej!" : GOTO 150 290 GOSUB 320 300 IF E% THEN ; C$;" assigned to ";D$ 310 IF PEEK(B%)<>34 THEN CHAIN "" ELSE END 320 REM +++++ Print Device list ++++++ 330 ; CHR$(12);CUR(2,8)"*** DEVICE LIST ***" 340 ; CUR(5,0)" Nr Device Adress Hopptabell" : ; 350 Z%(0%)=-502% : REM start device list 360 FOR I%=1 TO 20% 370 Z%=FNP%(Z%(I%-1%)) 380 IF Z%=0 THEN 480 390 D$(I%)=CHR$(PEEK(Z%+2%),PEEK(Z%+3%),PEEK(Z%+4%)) 400 W%(I%)=FNP%(Z%+5%) 410 Z%(I%)=Z% 420 IF PEEK(W%(I%))<>195 THEN F$(I%)="saknas" ELSE F$(I%)="" : N%=I% 430 Z=Z%(I%) : W=W%(I%) 440 IF Z<0 THEN Z=Z+65536 450 IF W<0 THEN W=W+65536 460 ; I%;TAB(5)D$(I%);TAB(13)Z;TAB(21)W;TAB(30)F$(I%) 470 NEXT I% 480 B%=FNP%(65052) : ; : ; "BOFA=";B%+65536 490 RETURN 500 REM +++++ L{gg in nytt device +++++ 510 E%=PEEK(B%) : REM event E%=7% 520 POKE B%,Z%(1),SWAP%(Z%(1)),ASC(C$),ASC(RIGHT$(C$,2)),ASC(RIGHT$(C$,3)),W%(V%),SWAP%(W%(V%)) 530 POKE -502%,B%,SWAP%(B%) 540 B%=B%+E% 550 POKE 65052,B%,SWAP%(B%) 560 RETURN