1 REM +++++++++++++++++++++++++++++++++ 2 REM ! Program .... EXSCREEN 3 REM ! Utg}va 1982-11-12 4 REM ! av (c) Gunnar Tidner <1306> 5 REM ! Minne 16 Kbytes f|r flexskiva 6 REM ! Ins{nt av 1306 7 REM +++++++++++++++++++++++++++++++++ 8 REM Programmet omvandlar FORTH- 9 REM screen's till vanliga Text-filer 10 REM 11 REM Screening av 12 REM Allan Varcoe & G|ran Olsson 13 REM 14 REM +++++++++++++++++++++++++++++++++ 20 DIM B$=256,A$=768,B$(22)=36 30 B$=SPACE$(256%) : REM Fyll med blanka 40 DEFFNS%(X%)=PEEK(X%)+256*PEEK(X%+1%) 50 A%=FNS%(65065%)+6% : POKE A%,0%,247% 60 ; "L{s screens fr}n drive"; : INPUT D% 70 ; "Utfil:"; : INPUT F$ 80 IF D%=1% THEN F1$="DR0:"+F$ ELSE F1$="DR1:"+F$ 90 IF LEN(F$) THEN PREPARE F1$ ASFILE 1 : F%=1 100 ; "Fr o m screen nr"; : INPUT X1% 110 ; "T o m screen nr"; : INPUT X2% 120 FOR S%=X1% TO X2% : REM S%=Screen nr 130 S1%=S%*3%+22% 140 A$="" 150 FOR I%=0 TO 2% 160 POKE -750%,0%,247% 170 POKE -767%,D% : REM l{s fr}n drive D% 180 Z%=CALL(24678%,32%*(S1%+I%)) 190 G%=PEEK(-747%) : IF G% THEN 380 200 A$=A$+B$ 210 NEXT I% 220 IF ASC(RIGHT$(A$,LEN(A$)))<=32% THEN A$=LEFT$(A$,LEN(A$)-1%) : IF LEN(A$) 220 230 N%=LEN(A$)/36% 240 FOR I%=0 TO N%-1% 250 B$(I%)=MID$(A$,I%*36%+1%,36%) 260 NEXT I% 270 IF LEN(A$)>36%*N% THEN B$(N%)=RIGHT$(A$,36%*N%+1%) ELSE N%=N%-1% 280 POKE -750%,0,245% : POKE -767%,1%-D% 290 ; #F%,CHR$(35%);S% 300 FOR I%=0% TO N% 310 ; #F%,B$(I%)+CHR$(13%,10%); 320 NEXT I% 330 ; S%;' L{ngd=';LEN(A$);' Antal rader=';N%+1 340 IF F%=0% THEN GET C$ 350 NEXT S% 360 POKE -750%,0%,245% 370 END 380 ; "Diskfel";G% : STOP