1 REM +++++++++++++++++++++++++++++++++
2 REM ! Program .... RAK4
4 REM ! av Magnus Lundberg
5 REM ! {ndrat av Sven Wickberg <1384>
6 REM ! Minne 16 Kbytes
7 REM ! Ins{nt av Sven Wickberg
8 REM +++++++++++++++++++++++++++++++++
10 REM ... save RAK4 84 10 18 SW f|r FX80 med elitestil m m
11 REM just printerrutin 84 05 01 SW
20 GOTO 390
30 REM +--------------------------------------+
40 REM ! A$ - TEXTRAD !
50 REM ! B$ - LOKAL GET, READ FILE !
60 REM ! C$() - STYRTECKEN TILL PRINTER !
70 REM ! D$ - DATUM ]]MMDD !
80 REM ! D1$()- DATUM ]]MMDD I FILEN !
90 REM ! D2$ - DATUM ]]MMDD K\RDAGEN !
100 REM ! F$() - FILNAMN !
110 REM ! S$ - STYRTECKEN I TEXTEN !
120 REM ! A% - LOKAL SLASK ADRESS DATUM CUR !
125 REM ! B% - LOKAL SLASK INSTR !
130 REM ! C% - LOKAL SLASK DATUM CUR !
132 REM ! C0% - L[GE P] MELLANSLAG !
135 REM ! C1% - ANTAL EXTRA SKARVBITAR !
137 REM ! C9% - FLAGGA f|rsta/andra varvet !
140 REM ! D1% - LOKAL SLASK DATUM CUR !
150 REM ! D2% - LOKAL SLASK DATUM CUR !
160 REM ! E% - ERRCODE !
170 REM ! F% - SPOOLING !
175 REM ! G% - ANTAL STEG ATT SKARVA !
178 REM ! H% - sidnr !
180 REM ! I% - LOKAL LOOPVARIABEL, DATUM !
190 REM ! L% - FILNUMMER PRINTER !
200 REM ! M%() - MARGINAL !
210 REM ! N% - LOOPVARIABEL, UPPLAGA !
220 REM ! N1% - UPPLAGA !
230 REM ! P% - ORDNINGSNR P] TEXTFIL !
232 REM ! P$ - printerkod !
235 REM ! Q% - FLAGGA F\R RAK H\GER !
240 REM ! R% - AKTUELLT RADANTAL !
245 REM ! R5% - RADL[NGD VID RAK H\GER
250 REM ! R9% - MAX RADER F\RE FORMFEED !
260 REM ! S% - GETSVAR 1%=JA, 2%=NEJ !
265 REM ! S0% - S\KNING B\RJAR !
270 REM +-------------------------------------+
280 DEFFNX%=PEEK(884%+2%*PEEK(65011%))+SWAP%(PEEK(885%+2%*PEEK(65011%)))
290 DEFFNY%=FNX%+PEEK(65012%)
300 REM --------------------------------------+
310 GOTO 1050 : REM GET DATE !
320 GOTO 920 : REM PREPARE AND TEST PRINTER !
330 GOTO 1100 : REM OPEN FILE AND READ FIRST !
340 GOTO 1130 : REM READ FILE !
350 GOTO 1210 : REM TOP OF PAGE, HEADLINES !
360 GOTO 1280 : REM GET YES/NO !
370 GOTO 1370 : REM FELSIGNAL !
380 REM --------------------------------------+
390 DIM A$=256% : R%=0% : R9%=60% : REM Max rader/sida
395 DIM C$(20%),S$=20%
400 I%=120% : DIM F$(I%)=20%,M%(I%),D1$(I%)=6%
410 L%=2% : H1%=-1% : H2%=-1% : N1%=1%
420 Q$=CHR$(13%)+SPACE$(PEEK(623%))+CHR$(13%)
430 S$='DdCcEeGgRrXxTt8Pp'
440 S$(1%)='YES' : S$(2%)='NO'
450 C$(1%)=CHR$(14%) : REM D start DOUBLE WIDTH
460 C$(2%)=CHR$(20%) : REM d slut
470 C$(3%)=CHR$(15%) : REM C start CONDENSED
480 C$(4%)=CHR$(18%) : REM c slut
490 C$(5%)=CHR$(27%,69%) : REM E start EMPHASIZED
500 C$(6%)=CHR$(27%,70%) : REM e slut
510 C$(7%)=CHR$(27%,71%) : REM G start BOLD, DOUBLE PRINTING
520 C$(8%)=CHR$(27%,72%) : REM g slut
530 C$(9%)=CHR$(27%,50%) : REM R start NORMAL LINESPACING
540 C$(10%)=CHR$(27%,65%,10%)+CHR$(27%,72%) : REM r slut
545 GOSUB 5000 : REM fill{gg f|r FX
550 A%=65041% : GOSUB 1050 : D2$=D$ : REM DAGENS DATUM
560 REM === INIT PROGRAM ===
570 ; CHR$(12%);'* SKRIVUT *'TAB(40%);
580 ; 'UTSKRIFT AV TEXTER 'D2$ : ; STRING$(PEEK(623%),61%)
590 GOSUB 920 : REM PREPARE AND TEST PRINTER
600 ; 'INFIL >'; : INPUTLINE B$ : B$=LEFT$(B$,LEN(B$)-2%)
610 IF B$='' P1%=P% : GOTO 700 : REM START PRINT
620 IF INSTR(1%,B$,'.')=0% B$=B$+'.TXT' : ; '.TXT';
630 P%=P%+1% : IF LEN(B$)>12% 650 ELSE F$(P%)=B$
640 ONERRORGOTO 650 : GOSUB 1100 : GOTO 660 : REM OPEN FILE AND READ FIRST
650 B$='Finns ej!' : P%=P%-1% : C%=5% : GOSUB 1370 : GOTO 690 : REM FELSIGNAL
660 IF LEN(A$)>9% IF LEFT$(A$,9%)='1 REM /*/' M%(P%)=0% : GOTO 690 : REM ORD
670 IF INSTR(1%,A$,'VMARG') M%(P%)=ASC(A$)-48% : GOTO 690
680 ONERRORGOTO 690 : M%(P%)=10% : ; ' VMARG'; : INPUT M%(P%)
690 ; : ; 'N[STA '; : GOTO 600
700 ; : REM - START PRINT - == MAIN LOOP ==
710 FOR N%=1% TO N1% : REM UPPLAGAN
720 FOR P%=1% TO P1% : REM TEXTFILER
730 GOSUB 1100 : REM OPEN FILE AND READ FIRST
740 IF LEN(A$)>9% IF LEFT$(A$,9%)='1 REM /*/' A%=-1%
750 IF INSTR(1%,A$,'VMARG') A%=-1%
760 IF A%=-1% GOSUB 1130 : REM Read next
770 GOSUB 1220 : REM PRINT HEADINGS
780 REM == NEW FILE ==
790 IF A$=SPACE$(LEN(A$)) A$=''
800 IF A$='^' GOSUB 1200 : GOTO 840 : REM NY SIDA
815 IF Q% G%=R5%-LEN(A$) : IF G%