10 REM CASCREEN version 1.2 1982-11-10 15 REM Program av Gunnar Tidner 20 DIM B$=0 30 IF PEEK(32768)=255% THEN N%=5 ELSE N%=26 40 B0%=53018% : B%=773% 50 I%=1% 60 DIM A$=40%,F$=12% 70 P%=65065% 80 P%=PEEK(P%)+SWAP%(PEEK(P%+1%)) 90 POKE P%+4%,B%,SWAP%(B%) : REM DIM B$=B% 100 P%=P%+6% : REM P% skall inneh}ller pekare till bufferten 110 ; "Ny infil:"; : INPUT F$ : IF LEN(F$)=0% THEN 500 120 ; "Ladda screen nr (s{tt ; emellan):"; : INPUT S$ 130 S$=';'+S$+';' : ; S$ 140 POKE -456%,0% : ONERRORGOTO 110 150 OPEN F$ ASFILE 1 : ; 160 INPUTLINE #1,A$ : A$=LEFT$(A$,LEN(A$)-2%) : GOSUB 410 170 FOR I%=I% TO N% 180 B1%=B0%-B%*(N%+1%-I%) 190 POKE P%,B1%,SWAP%(B1%) 200 GOSUB 240 210 IF E%>0% THEN GOSUB 300 ELSE IF E%=0% THEN GOSUB 410 220 IF E%<0% THEN 460 ELSE IF E%=0% THEN 200 230 NEXT I% 240 REM SUB Kolla om screen skall laddas 250 IF LEN(S$)<3% THEN E%=-1% : RETURN 260 A$=RIGHT$(A$,3%) : E%=INSTR(1%,S$,';'+A$+';') : IF E%=0% THEN RETURN 270 S$=LEFT$(S$,E%-1%)+RIGHT$(S$,E%+1%+LEN(A$)) : S%=VAL(A$) 280 B$=CHR$(S%,SWAP%(S%) OR 128%) 290 RETURN 300 REM SUB Ladda screen nr S% 310 ONERRORGOTO 370 320 FOR J%=0% TO 21% 330 INPUTLINE #1,A$ : A$=LEFT$(A$,LEN(A$)-2%) 335 IF J%=0% THEN ; S%;' ';A$ 340 IF ASC(A$)=35% THEN 370 350 B$=B$+A$+SPACE$(36%-LEN(A$)) 360 NEXT J% 370 B$=B$+SPACE$(B%-2%-LEN(B$))+CHR$(0%,0%) 380 ; "Laddat";S% 390 IF ERRCODE=34 THEN E%=-2% 400 RETURN 410 REM Sub skip 420 ONERRORGOTO 450 430 IF ASC(A$)=35% THEN RETURN 440 INPUTLINE #1,A$ : A$=LEFT$(A$,LEN(A$)-2%) : GOTO 430 450 IF ERRCODE=34 THEN E%=-2% : RETURN 460 ; "Laddning avslutad fr}n ";F$ 470 IF E%=-1% THEN ; "Stopp f|re filslut" 480 CLOSE 1 490 GOTO 110 500 REM Nollst{ll lediga buffertar 510 ; "Nollst{ller buffer:" 520 FOR I%=I% TO N% 530 B1%=B0%-B%*(N%+1%-I%) : POKE P%,B1%,SWAP%(B1%) 540 B$=CHR$(0%,0%)+SPACE$(B%-4%)+CHR$(0%,0%) 550 ; I%; 560 NEXT I% : ; 570 END