??SYSDIR SYS LIB ABSLIB BAC@CLIB BAS`INDEX BACINSTR BAC`SIFFER BACNUM BACNUM BASMASKEN BASY BASINDEX BASDEMO1 BACDEMO BAC@PROG1 BAC? bc "?  88!ί2Q.S!̯ww66*m`^#VS{> >w:P .!! P2!!)!6L#6,# :P!7=(w!~# (~# (K (G,(/ ~# (9 (5_N &S & 8 F &P O :'>((:TP &:b :m (+!m:͊!b.͊!j ͊ ~ݾ!.*k` ~o0$~2"#~202; :@ Nr]C0C:?*w2:2>2rC0:?@*w2:2 7z].*k`o0$##V#^!r#s; f(. 6R#6A#6Mʧ!~ J[r\*.^#Vz #~_0r[o!6 ##!zʧ; z\~ [r[.~,n <=}w~ [} 6'_0tZ*$.#~ (S(R#^#VS#~<= R ( *( #yV ##F(1}ݶOtrr> > 0N(]*| I}oV#>_:(:< tZ[!E<( ̯s 4A}  8B(0>0> !6^ 5 4 ^ͨ54~*m`##~:*.~7.~?,v*~?@w*#N˶~2`q~ (#y3W:'7 3FssE!!:η >!]ͳ>2V'+##~ # L : W' !9> ' ''~0:ΧjssE!!͝^(666>>~ ^w *< o2S :Χ*,~ #^#VSZSͿ6B6C6'6&6#{~D7PR: i|12bk6#6 ͡ x0G> ͜.89ͬ#͡x 0(>ͬ͜. #͡x0> ͬ͜ί>7_͹0 1Q8+~# (0:?A^?V#~( 0# (!9   ~# 7 (+~:06D#6R# w#6:ˮ#ˮ#~:8ˮ:0* *{^#V##O ~:7?| 7 UFD:P FILENAME.EXT ** Libra 0^ry list ** Ver 6.03, 1983-02-10 Drive ***:RAM:xxxxxInga av  sektorer lediga.Skiv fel = Felaktig enhet !Enhet/Bibliotek? S - StorlekN - Fysiskt filnummer.F - Filstatus.P - Utskrift p} printer.ingen - Filnamn enbart.OptX /kioner (S,N,F,P,ingen) 810 Drive ***:RAM:xxxxxInga av  sektorer lediga.Skiv fel = Felaktig enhet !Enhet/Bibliotek? S - StorlekN - Fysiskt filnummer.F - Filstatus.P - Utskrift p} printer.ingen - Filnamn enbart.OptX0?0)(jd xg. Enheten ej klar 4( !Skrivaren ej READY.  < ݵ""ݓ"/࣐/"ޜ:9;J@( !Skrivaren ej READ0Y.  C "ޜ" "ޟ"i` I;; ݵީ ǠOk`-Y_ i_,, ,ݸ,Y,Y, ,ݸ9BUFDDR0DR1DR2DR3HD0HD1HD2HD3SF0SF01SF2SF3MF0MF1MF2MF3MO0MO1MO2MO3RAM/ CsƃzƍƗƧƧ,,ݸ,޸,,,ݸ,޸TII( 浱ݵ 쵷  ABC800 LIB  Ver. 6.01II= ǠO* ABC800 LIB *0 Ver. 6.01 * * O= 'Filnamn: Storlek: Skriv-Raderskydd:'------------ -------- ----- -----------IP!!('80 >ǡǻ 'p`!:v!U~<~<_## ?h) c9&I_i5 _(=_ @ ᜵0i_ !Y&&9UFD:9 9 9RAM:R M ݵ' Yߜ-᜵ Yᜈ ݊Yᜈ9RAM:9'9RAM: ކ0Yޜ䈧Q&L'ᜈ%Y%ޜ䈧-݊ I Dd9UFD: 4  F  (yՂ&y ½;1 - 0Skrivare (Printer) 2 - Storlek 3 - Filstatus4 - Viss drivenhetV{lj (1,2,3,4) O޵6O1234O݊Oᖆ;ޜO1 O2 22O3 80 8O4  Enhet ? EOO%Felaktigt enhetsnamn 4 Z(J)q))y zǠ;.RIS ;ޜ;0   0  ߟ Funktionstangent l W ) z :9 01DR:9 ኽ  /݊ :91!)!*Q*y q*½0 9—Lkvar avRIVOLYM: ;ޜޜ= ƒޟݵ}ޜ;ƒ ƒ ƒ ƒ;0 ޜ ފ ߊኆ ޜޟݐݵ⊽C C㊽Z U)9+y a+>pr:޸#޸,#޸#޸,9—,Llediga av totaltR sektorer0 .#޸,VOLYM: #޸#޸,)#޸,)ƒޟފ )޵ޜ#޸,;#޸,ƒ ƒ ƒ ƒ;ޜo Y#0 y [ ޜ犈   ޜV#Q>9 sysdir.sys߸ #߸,O踈O .O'+zYᜈߜ0-/ᜈYDRޜ RAM (:) +",a,,,ƒޟ=ߣƒޜ  ޜƒ ƒޜ+,!-,0f`݊ǀ 툽,9Skivan d}ligt formatterad.R퟈!9Diskfel ' %!*I-ފ2 ފ9UFD:{{+R0ޟ +L9UFD:ޟ $퐸s ޜ[)VJ)݊ _  _  8",3!*", § .0j-e!*--8݊  §ޜ ވ(=S߈(=Rz(!*!.Q.z(2  §ߜ04§0 +0'.!*",.q){s݊x ޵[§ ݊)=e휵ޜcƒޜƒޜƒ0C+>r*+Iߟ*; Iߟ ;f1"aIPI;Fler utskrifter (J/N) ? OO j  *IP(PF5=F|reg}ende SH+PF5=F|reg}ende enhet;0%PF7=N{sta SH+PF7=N{sta enhet >;;I= ;;MPF5=F|reg}ende PF7=N{sta SH+PF5=F|reg}ende enhet SH+PF7=N{sta enhet >;;I= ;  /9/ ;;I;;;Lj0ޟ5 - Tryck ;  ݊ Ɲ;I; "/9CIOY_is%28LR0{5 - Tryck ;  ݊ Ɲ;I; "/9CIOY_is%28LR@O@?@1000 ! * LIB .BAC * 1010 ! +------------------------------+ 1020 ! ! LIB.BAC ! 1030 ! ! Biblioteksprogram ! 1040 ! ! f|r alla diskenheter & RAM: ! 1050 ! ! (C) Luxor Datorer AB / ! 1060 ! ! Tillh|r Systemdisk, UFD-DOS ! 1070 ! +-------@-----------------------+ 1080 ! * 1090 ! * Because of the size of this programme, it should be squeezed when 1100 ! * running, to perform well. 1110 ! * 1120 ! * Ver date / VerRev / Sign / Note 1130 ! * 83-03-17 / 6.00 / LDAB / Orig. LIB Ver 5.0 f@|r RAM/skiva 1140 ! * 83-06-23 / 6.01 / LDAB / CE or CR clears error message 1150 ! 1160 EXTEND : INTEGER 1170 ! *********************************************************************** 1180 ! * E* 1190 ! * M A I N P R O G R A M * 1200 ! * E* 121@0 ! *********************************************************************** 1220 ! * 1230 Q7=FNInit 1240 Q7=FNSetlin(T) 1250 ! * 1260 IF Scan THEN GOTO 1320 1270 IF FNEnhet THEN Q7=FNFel('Enheten ej klar',T) : GOTO 1450 1280 IF Fil THEN IF FNPrlist THE@N Q7=FNFel('Skrivaren ej READY.',T) 1290 IF Fil=F THEN Q7=FNScroll 1300 GOTO 1450 1310 ! * 1320 ! * Scan sequence 1330 ! * 1340 Devnr=0 ! First device 1350 ! * 1360 WHILE Devnr>=0 AND Devnr'RAM:' THEN Selcod=Selcod OR VAL(MID$(Dev$,3,1)) 2390 IF Dev$='RAM:' THEN Selcod=Selcod OR 1 2400 Clusi=2^(PEEK(Table+Entry+1) AND 7) 2410 Dirbeg=16 2420 RETURN F 2430 FNEND 2440 ! * 2450 DEF FNUdesc LOCAL Qselcod 2460 Qselcod=PEEK(-7) 2@470 Entry=Qselcod AND 16+8+4 2480 Selcod=30 2490 Clusi=2^(PEEK(Table+Entry+1) AND 7) 2500 Dirbeg=PEEK2(-9) 2510 IF Dirbeg=0 THEN RETURN T ! UFD not active 2520 RETURN F 2530 FNEND 2540 ! * 2550 ! +---------------------------------+ 2560 ! ! Hu@vudrutin f|r en drive el. RAM ! 2570 ! +---------------------------------+ 2580 DEF FNEnhet 2590 Q7=FNVolname 2600 IF Dev$='UFD:' THEN Q7=FNMfd ELSE Q7=FNVolshort 2610 IF FNBitmap THEN RETURN T 2620 Q7=FNReadfil 2630 RETURN Q7 2640 FNEND 2650 !@ * 2660 ! ********************************************************************** 2670 ! * D* 2680 ! * S U B F U N C T I O N D E C L A R A T I O N P A R T * 2690 ! * D* 2700 ! ********************************************************************@** 2710 ! * 2720 DEF FNUnsign.(X)=-(X AND 32768)*2.+X 2730 ! * 2740 ! +-----------------------------+ 2750 ! ! Meny ! 2760 ! +-----------------------------+ 2770 DEF FNMeny LOCAL I 2780 ! * 2790 ; Huvud$ CUR(8,0); 2800 ; TAB(Widcomp1) '1 - @Skrivare (Printer)' 2810 ; TAB(Widcomp1) '2 - Storlek' 2820 ; TAB(Widcomp1) '3 - Filstatus' 2830 ; TAB(Widcomp1) '4 - Viss drivenhet' 2840 Q7$=FNCon$('V{lj (1,2,3,4) ',13,Widcomp1+3) 2850 I=1 2860 WHILE I<=LEN(Q7$) 2870 IF INSTR(1,'1234',MID$(Q7@$,I,1))=0 OR LEN(Q7$)>4 THEN 2780 2880 I=I+1 2890 WEND 2900 IF INSTR(1,Q7$,'1') THEN Fil=T ELSE Fil=F 2910 IF INSTR(1,Q7$,'2') THEN Storlek=T ELSE Storlek=F 2920 IF INSTR(1,Q7$,'3') THEN Filstatus=T ELSE Filstatus=F 2930 IF INSTR(1,Q7$,'4') THEN@ Scan=F ELSE Scan=T 2940 IF Scan THEN RETURN F 2950 ! * 2960 Q7$=FNCon$('Enhet ? ',16,6) 2970 IF FNDevname(Q7$) OR FNDesc THEN Q7=FNFel('Felaktigt enhetsnamn',T) : GOTO 2950 2980 RETURN F 2990 FNEND 3000 ! * 3010 ! *****************************@*** 3020 ! * 3030 ! * Skriv ledtext och h{mta svar 3040 ! * 3050 DEF FNCon$(Text$,Rad,Kol) LOCAL S,S1,T$=160 3060 ! * 3070 S=160 3080 ; CUR(Rad,Kol) Text$; 3090 WHILE S1<=S AND (PEEK(65362)4 OR LEN(N$)<3 THEN RETURN T 3360 IF LEN(N$)=4 THEN N$=LEFT$(N$,3) 3370 IF INSTR(1,Devs$,N$)=0 THEN RETURN T 3380 Dev$=N$+':' 339@0 RETURN F 3400 FNEND 3410 ! * 3420 ! +------------------------------------+ 3430 ! ! Scroll rutin ! 3440 ! +------------------------------------+ 3450 DEF FNScroll LOCAL Mxname,Index,Lin,I,Opt 3460 ; Huvud$ 3470 ; Dev$ Volshort$ FNUnsign.(Rsi@ ze) 'kvar av' FNUnsign.(Osize) TAB(Wid) 3480 ; 'VOLYM: ' Volname$ 3490 ; CUR(4,0); 3500 ; TAB(Widcomp2+1) Lhead1$ 3510 ; TAB(Widcomp2+1) Lhead2$ 3520 Q7=FNHelp 3530 Mxname=LEN(Summa$)/20-1 ! Max filename nr 3540 WHILE Index+Mxlin<=Mxname 3550 L@!in=0 3560 WHILE Lin<=Mxlin 3570 I=20*(Index+Lin)+1 3580 ; CUR(Lin+6,Widcomp2); 3590 ; MID$(Summa$,I,12)+' '+MID$(Summa$,I+12,6)+' '+MID$(Summa$,I+18,1)+' '+MID$(Summa$,I+19,1); 3600 Lin=Lin+1 3610 WEND 3620 Opt=FNKey(CHR$(13,32,196,198,212,21@"4)) 3630 IF Opt=1 THEN RETURN T 3640 IF Opt=2 OR Opt=4 THEN Index=Index+1 3650 IF Opt=3 THEN Index=Index-1 : IF Index<0 THEN Index=0 3660 IF Opt=5 THEN Forw=F : RETURN F ELSE Forw=T 3670 IF Opt=6 THEN RETURN F 3680 WEND 3690 RETURN F 3700 FNEND@# 3710 ! * 3720 ! ******************************* 3730 ! * 3740 ! * List filenames on pr: 3750 ! * 3760 DEF FNPrlist LOCAL Mxname,Name,I,Tabul 3770 ON ERROR GOTO 3950 3780 PREPARE 'pr:' AS FILE 1 3790 ; #1,Prhead$ 3800 ; #1 3810 ; #1,Dev$ Volshort@$$ ',' FNUnsign.(Rsize) 'lediga av totalt' FNUnsign.(Osize) 'sektorer.' 3820 ; #1,'VOLYM: ' Volname$ 3830 ; #1 3840 ; #1,Lhead1$ TAB(41) Lhead1$ 3850 ; #1,Lhead2$ TAB(41) Lhead2$ 3860 Mxname=LEN(Summa$)/20-1 3870 WHILE Name<=Mxname 3880 IF Tabul=@%1 THEN Tabul=41 ELSE Tabul=1 3890 I=20*Name+1 3900 ; #1,TAB(Tabul); 3910 ; #1,MID$(Summa$,I,12)+' ' MID$(Summa$,I+12,6)+' '+MID$(Summa$,I+18,1)+' '+MID$(Summa$,I+19,1); 3920 LET Name=Name+1 3930 WEND 3940 RETURN F 3950 ! * 3960 RESUME 3970 3@&970 RETURN T 3980 FNEND 3990 ! * 4000 ! ******************************* 4010 ! * 4020 ! * Read volume name 4030 ! * 4040 DEF FNVolname 4050 Volname$='' 4060 IF FNRdsec(0) THEN RETURN T 4070 I=-2681 4080 WHILE I<-2560 4090 IF PEEK(I)=13 AND PE@'EK(I+1)=10 THEN RETURN F 4100 IF PEEK(I)<32 OR PEEK(I)>127 THEN Volname$='' : RETURN F 4110 Volname$=Volname$+CHR$(PEEK(I)) 4120 I=I+1 4130 WEND 4140 Volname$='' 4150 RETURN F 4160 FNEND 4170 ! * 4180 ! ******************************* 4190 ! *@( 4200 ! * Read short volume name in sysdir 4210 ! * 4220 DEF FNVolshort 4230 ON ERROR GOTO 4280 4240 OPEN Dev$+'sysdir.sys' AS FILE 2 4250 GET #2,Q7$ COUNT 11 4260 Volshort$=LEFT$(Q7$,8)+'.'+RIGHT$(Q7$,9) 4270 RETURN F 4280 ! * 4290 RESUME 4300 @)4300 Volshort$=SPACE$(12) 4310 RETURN F 4320 FNEND 4330 ! * 4340 ! ******************************* 4350 ! * 4360 ! * Find MFD device 4370 ! * 4380 DEF FNMfd LOCAL Mfdcod,D$=3 4390 Mfdcod=PEEK(-7) 4400 D$=CVT%$(PEEK2(Table+(Mfdcod AND 16+8+4)+2)) 4@*410 IF (Mfdcod AND 16+8+4)=PEEK(Table) THEN D$='DR' 4420 D$=D$+NUM$(Mfdcod AND 2+1) 4430 IF Mfdcod>=28 THEN D$='RAM' 4440 Volshort$=' ('+D$+':) ' 4450 RETURN F 4460 FNEND 4470 ! * 4480 ! +------------------------------+ 4490 ! ! Sortera in fil@+namn i listan ! 4500 ! +------------------------------+ 4510 DEF FNSort(Filnamn$) LOCAL Bottom,Mitten,Top 4520 Top=LEN(Summa$)/20-1 4530 WHILE Bottom<>Top 4540 Mitten=(Bottom+Top)/2 4550 IF Filnamn$'UFD:' AND PEEK(Dosbuf+3)<>255 THEN Mxdirsec=7 ELSE Mxdirsec=15 4830 Osize=CALL(VARPTR(Bitmap$))*Clusi 4840 ! * 4850 IF FNRdsec(Sec-1) THEN RETURN T 4860 Rsize=CALL(VARPTR@0(Bitmap$))*Clusi 4870 IF Dev$='UFD:' THEN IF FNRdsec(Dirbeg-1) THEN RETURN T 4880 WHILE Index<16 4890 Antal(Index)=PEEK(-2577+Index) 4900 Index=Index+1 4910 WEND 4920 RETURN F 4930 FNEND 4940 ! * 4950 ! +------------------------------------+ @14960 ! ! Omvandlar sm} bokst{ver till stora ! 4970 ! +------------------------------------+ 4980 DEF FNUpcase$(Text$) 4990 IF LEN(Text$)=0 THEN RETURN '' 5000 IF ASCII(Text$)>95 AND ASCII(Text$)<127 THEN RETURN CHR$(ASCII(Text$) AND 95)+FNUpcase$(R@2IGHT$(Text$,2)) 5010 RETURN LEFT$(Text$,1)+FNUpcase$(RIGHT$(Text$,2)) 5020 FNEND 5030 ! * 5040 ! +-------------------------------------+ 5050 ! ! H{mta filnamn ur DOSBUF 0 ! 5060 ! +-------------------------------------+ 5070 DEF FNFilnamn$(Index@3) LOCAL Filnamn$=12 5080 Filnamn$=MID$(Dosbuf$,Index+4,11) 5090 Filnamn$=LEFT$(Filnamn$,8)+'.'+RIGHT$(Filnamn$,9) 5100 RETURN Filnamn$ 5110 FNEND 5120 ! * 5130 ! +-------------------------------------+ 5140 ! ! Skriv- och rad`rskydd ! 5150 ! +--@4-----------------------------------+ 5160 DEF FNProt$(Index) LOCAL Prot$=4,Protbyte 5170 IF Filstatus=0 THEN RETURN ' ' 5180 Prot$=' ' 5190 Protbyte=ASCII(MID$(Dosbuf$,Index+1,1)) 5200 IF (Protbyte AND 1) THEN MID$(Prot$,1,1)='S' 5210 IF (Protb@5yte AND 2) THEN MID$(Prot$,2,1)='R' 5220 RETURN Prot$ 5230 FNEND 5240 ! * 5250 ! +-------------------------------------+ 5260 ! ! Filens storlek ! 5270 ! +-------------------------------------+ 5280 DEF FNStorlek$(Index) LOCAL Ribad,Filesize,Stor@6lek$=6 5290 IF Storlek=F THEN RETURN ' ' 5300 Filesize=CVT$%(MID$(Dosbuf$,Index+2,2)) 5310 Storlek$=NUM$(FNUnsign.(Filesize)) 5320 IF Filesize THEN RETURN SPACE$(6-LEN(Storlek$))+Storlek$ 5330 ! * 5340 ! * Old DOS file size computing 5350 ! * 5@7360 Ribad=Clusi*(SWAP%(CVT$%(MID$(Dosbuf$,Index,2)))/32) 5370 Filesize=Clusi*CALL(VARPTR(Stor$),Ribad) 5380 Storlek$=NUM$(FNUnsign.(Filesize)) 5390 RETURN SPACE$(6-LEN(Storlek$))+Storlek$ 5400 FNEND 5410 ! * 5420 ! +-------------------------------@8----+ 5430 ! ! Huvudrutin f|r l{sning av filnamn ! 5440 ! +-----------------------------------+ 5450 DEF FNReadfil LOCAL Status,Index,Filnamn$=20,Dirsec,Rad 5460 Summa$=SPACE$(20) 5470 WHILE Dirsec<=Mxdirsec 5480 IF Antal(Dirsec)=0 THEN GOTO 5590@9 5490 IF FNRdsec(Dirsec+Dirbeg) THEN RETURN T 5500 Index=1 5510 WHILE Index<=250 5520 Q7=ASCII(RIGHT$(Dosbuf$,Index)) 5530 IF Q7=0 OR Q7=255 THEN GOTO 5560 5540 Filnamn$=FNFilnamn$(Index)+FNStorlek$(Index)+FNProt$(Index) 5550 Q7=FNSort(Filnamn$)@: 5560 ! * 5570 Index=Index+16 5580 WEND 5590 ! * 5600 Dirsec=Dirsec+1 5610 WEND 5620 IF LEN(Summa$)<20*(Mxlin+1) THEN Summa$=Summa$+SPACE$(20*(Mxlin+1)-LEN(Summa$)) 5630 RETURN F 5640 FNEND 5650 ! * 5660 ! +----------------------------------@;+ 5670 ! ! L{s ett tkn ! 5680 ! +----------------------------------+ 5690 DEF FNKey(Opt$) LOCAL Key$=1 5700 ; CUR(23,Wid-2) '*'; 5710 GET Key$ 5720 ; CUR(23,Wid-2) ' '; 5730 RETURN INSTR(1,Opt$,Key$) 5740 FNEND 5750 ! * 5760 ! +---------------@<-------------------+ 5770 ! ! Fler utskrifter ?? ! 5780 ! +----------------------------------+ 5790 DEF FNMore 5800 IF Wid<80 THEN ; CUR(22,0) SPACE$(Wid); 5810 Q7$=FNCon$('Fler utskrifter (J/N) ? ',23,0) 5820 IF (ASCII(Q7$) OR 32)=ASCII('j') T@=HEN RETURN T ELSE RETURN F 5830 FNEND 5840 ! * 5850 ! +------------------------------------+ 5860 ! ! Skriv ut hj{lptext ! 5870 ! +------------------------------------+ 5880 DEF FNHelp 5890 IF Wid>=80 THEN GOTO 5940 5900 ; CUR(22,0) 'PF5=F|reg}@>ende SH+PF5=F|reg}ende enhet'; 5910 ; CUR(23,0) 'PF7=N{sta SH+PF7=N{sta enhet >'; 5920 ; CUR(21,0);STRING$(Wid,ASCII('=')); 5930 RETURN F 5940 ! * 5950 ; CUR(23,0);'PF5=F|reg}ende PF7=N{sta SH+PF5=F|reg}ende enhet SH+PF7=N{sta enhet >'; 596@?0 ; CUR(22,0);STRING$(Wid,ASCII('=')); 5970 RETURN F 5980 FNEND 5990 ! * 6000 ! ******************************** 6010 ! * 6020 ! * Felfunktion 6030 ! * 6040 DEF FNFel(Skriv$,Kvittera) 6050 ; CHR$(7); 6060 ; CUR(23,0);SPACE$(Wid);CUR(23,0);Skr@@iv$; 6070 IF Kvittera=F THEN Q7=5000 : WHILE Q7 : Q7=Q7-1 : WEND : GOTO 6130 6080 ; ' - Tryck '; 6090 Q$=' ' 6100 WHILE INSTR(1,CHR$(24,13),Q$)=0 6110 GET Q$ 6120 WEND 6130 ! * 6140 ; CUR(23,0);SPACE$(Wid); 6150 RETURN F 6160 FNEND 6170 @A! * 070 IF Kvittera=F THEN Q7=5000 : WHILE Q7 : Q7=Q7-1 : WEND : GOTO 6130 6080 ; ' - Tryck '; 6090 Q$=' ' 6100 WHILE INSTR(1,CHR$(24,13),Q$)=0 6110 GET Q$ 6120 WEND 6130 ! * 6140 ; CUR(23,0);SPACE$(Wid); 6150 RETURN F 6160 FNEND 6170 @B70 IF Kvittera=F THEN Q7=5000 : WHILE Q7 : Q7=Q7-1 : WEND : GOTO 6130 6080 ; ' - Tryck '; 6090 Q$=' ' 6100 WHILE INSTR(1,CHR$(24,13),Q$)=0 6110 GET Q$ 6120 WEND 6130 ! * 6140 ; CUR(23,0);SPACE$(Wid); 6150 RETURN F 6160 FNEND 6170 Pa@?P s, ք@ (2<FPZ6dЂ+ COPYRIGHT 1984-09-06 -nЂ" HENRY BRANDTxՁ׍@ ք@   TRANSPORT:  MASKIPNER: # DRIVMEDEL: + ELKRAFT: 3ARMERINGSST]L: ;ASFALT: CBALLASTMATERIAL: K BYGGNADSMATERIAL: SCEMENT: [)D\RRAR OCH LUCKOR AV PL]T: c FORMVIRKEP: k$F\RBRUKNINGSMATERIAL: sGOLVBEL[GGNING: {"H]RDMETALLBORR: ă, J[RNVAROR: ċ&6KAKEL- OCH GOLVPLATTOR: ē"@MELLANV[GGSPLATTOR: ě!JMUR- OCH PUTSBRUK: ģ/T!M]LNING, ARPBETSL\N OCH MATERIAL: ī ^SNICKERIER D\RR-: ij!hSNICKERIER, SK]P-: Ļ%rSPR[NG- OCH T[NDMEDEL: | TR[VAROR: !ALLM[NA KOSTNADER: ևH ք@ 7)HAR INMATNING SKETT FR]N H 63 (PJA/NEJ) : (JANEJ{5Xy>#܀sg#G+~48Rr+3܁L͠3;܀a]U\R碴;C܁KNvݭCXK܀*8 KS܀Y|S[{__Hɢ[c܀"э%Scki~+U PkGs- Zqs{܀TɅ{܀=ulvK܀#ijG܀ CcH܀'i,e܀ ]U\S܀%1񢴫G܀HӮh]܀ Q_܀Q.See2a|Q܁& ք@ 8P*\NSKAS UTSKRIFT INKLUSIVE L\NER (JA/NEJ): (&JANEJ8 0ք@ $:L\NEINDEX SPR[NGNINGSARBETEN$D============================N STOCKHOLM: X G\TEBORG: b ORTSGRUPP 4: Pl ORTSGRUPP 5:  vք@ ,$L\NEINDEX F\RST[RKNING OCH INKL[DNAD,$==================================== STOCKHOLM:  G\TEBORG:  ORTSGRUPP 4: ' ORTSGRUPP 5: / ք@ L\NEP INDEX INKL[DNAD=================== STOCKHOLM: 7 G\TEBORG: ? ORTSGRUPP 4: G ORTSGRUPP 5: O{L͠#~=p =q+{TEˠ3|P`A7LS{tj~۠s|@nP|0 ěTP ~-V}H9XbN}Y+ JW* EGENTLIGA SPR[NGNINGSARBETEN ,WNEJ%  STOCKHOLM:  I^5?}W%* G\TEBORG:  I^5?}W%4 ORTSGR. 4:  I^5?}W%> ORTSGR. 5:  I^5?}WHP R#{S٠3{,1&xՠ;}{lCC{DSϠK}-V[~.zGk}Rl}N+ }_;dZ_\NEJ%f STOCKHOLM: -V_%p G\TEBORG: -V_%z ORTSGR. 4: '` ?`! PR:ՁB#Ձ,ք` -*********************************************A#Ձք` -VID K\RNING AV NYA VERSIONEN AV SEKTIONSFAKTAC(#Ձ,ք` .**********************************************2#Ձ#Ձ`#ՁE<#Ձ,ք` 01: S[TT IN SYSTEMDISKETTEN I DR:0 (DEN V[NSTRA) VISAR SIG P] SK[RMEN SKRIV PRI`NTER (SKRIVAREN5x#Ձ,ք` P] ON LINE) + TRYCK P] RETURN #ՁE#Ձ,ք` 04: N[R A> ]TER VISAR SIG, SKRIV MAINK (+ RETURN) #Ձ'#Ձ,ք` 5: K\R SOM VANLIGT#Ձ#Ձ#Ձ#Ձք` ,,,D.P. p?p10 OPEN "PR:" AS FILE 1 11 ; #1,"123" 12 CLOSE 1 13 END 20 ; #1,CHR$(14),"*********************************************" 30 ; #1 CHR$(14),"VID K\RNING AV NYA VERSIONEN AV SEKTIONSFAKTA" 40 ; #1,CHR$(14),"*********************************************" p50 ; #1 : ; #1 : ; #1 60 ; #1,CHR$(14),"1: S[TT IN SYSTEMDISKETTEN I DR:0 (DEN V[NSTRA) " 70 ; #1,CHR$(14)," OCH DATADISKETTEN I DR:1 (DEN H\GRA)" 80 ; #1 90 ; #1,CHR$(14),"2: TRYCK P] RESET" 95 ; #1 100 ; #1,CHR$(14),"3: N[R A> VISAR SIG P] SK[RMEN SpKRIV PRINTER (SKRIVAREN P] ON LINE)2 + TRYCK P] RETURN" 110 ; #1 120 ; #1,CHR$(14),"4: N[R A> ]TER VISAR SIG, SKRIV MAINK (+ RETURN)" 130 ; #1 140 ; #1,CHR$(14),"5: K\R SOM VANLIGT" 150 CLOSE 1  ; #1 100 ; #1,CHR$(14),"3: N[R A> VISAR SIG P] SK[RMEN SpINTER (SKRIVAREN P] ON LINE)2 + TRYCK P] RETURN" 110 ; #1 120 ; #1,CHR$(14),"4: N[R A> ]TER VISAR SIG, SKRIV MAINK (+ RETURN)" 130 ; #1 140 ; #1,CHR$(14),"5: K\R SOM VANLIGT" 150 CLOSE 1  ; #1 100 ; #1,CHR$(14),"3: N[R A> VISAR SIG P] SK[RMEN S`ՁN5x#Ձ,ք` P] ON LINE) + TRYCK P] RETURN #ՁE#Ձ,ք` 04: N[R A> ]TER VISAR SIG, SKRIV MAINK (+ RETURN) #Ձ'#Ձ,ք` 5: K\R SOM VANLIGT#Ձ#Ձ#Ձ#Ձք` ,,,D.P. P /vɠ_% ORTSGR. 5: /-V_tfF\RST[RKNINGSARBETEN AV BETONG OCH INKL[DNADSARBETEN ,,_٬#{]/vɠ3|# =pנK{tj~۠[{ 1,1,1,1,0? 0,1,1,1,1+@&------------------------------------- ք@ Ձ(ЂTryck p} en SIFFER-tangent: ; 'Ёք ! 2EYl8Ձ&փ`B&L*Ђք;Ձ&փ`Ђֆ;9&~.=L[jyՁLփ 7 c&cՁЂև~ ; ЀՆ ;P9|z x &x Lx cx&L*Ђք;Ձ&փ`Ђֆ;9&~.=L[jyՁLփ 7 c&cՁЂև~ ; ЀՆ ;P9? ? ? 10 REM MASKEN 11 REM L Y S A T O R 20 OUT 4,0 21 ; CHR$(12%) 'styr }t ena h}llet med A och }t andra h}llet med [' 22 ; 'styr }t ena h}llet med A och }t andra h}llet med [' 23 ; : ; : ; : ; 'OBS STORA BOKST[VER!' 25 ; : ; : ; : ; : ; : ; '[r du klar?' : GET A$ 30 X%=26% : Y%=15% 40 DIM M1%(500%),M2%(500%),B$=30 50 DIM S%(5%),T%(1000%),D%(1000%) 60 F9%=75% 70 T3%=0% : P%=0% : R%=0% 80 FOR I%=65081 TO 65085% 90 S%(I%-65081%)=PEEK(I%) : NEXT I% 100 ; CHR$(12) 110 FOR I%=1% TO 24% : ; : ; CHR$(151); : NEXT I% 120 FOR I%=3% TO 78% : FGPOINT 2%,I% : FGPOINT 69%,I% : NEXT I% 130 FOR I%=2% TO 68% : FGPOINT I%,3% : FGPOINT I%,78% : NEXT I% 140 ; CUR(11%,5%);"OOOO\" 150 FOR I%=1% TO 5% : M1%(I%+250)=11% : M2%(256%-I%)=4%+I% : NEXT I% 160 B%=251% : E%=255% : F%=0% 170 FOR D=-2000*R% TO 2000 : NEXT D 180 T2%=-1% : GOSUB 440 190 T3%=1%+T3% 200 IF T3%=T7% T7%=0% : R%=0% : GOSUB 880 210 IF NOT R% THEN 250 220 IF T3%<>T%(P%) THEN 300 230 A%=D%(P%) : P%=1%+P% 240 GOTO 290 250 A%=PEEK(65013%) 260 IF A%=0% THEN 300 270 A%=INP(56%) AND 127% : POKE 65013%,0% 280 T%(P%)=T3% : D%(P%)=A% : P%=1%+P% 290 F%=(F%+(A%=91%)-(A%=65%)) AND 3% 300 M1%(B%-1%)=M1%(B%)+(F%=1%)-(F%=3%) 310 M2%(B%-1%)=M2%(B%)+(F%=2%)-(F%=0%) 320 W%=M1%(B%-1%) : Z%=M2%(B%-1%) 330 IF (W%=Y% OR W%=Y%+1%) AND (Z%=X% OR Z%=X%+1%) THEN GOTO 450 : GOTO 330 340 IF FGPOINT(W%*3%,Z%*2%) 530 350 IF W%<1% OR W%>22% OR Z%<2% OR Z%>38% THEN 530 360 ; CUR(M1%(B%),M2%(B%));"O"; 370 ; CUR(M1%(B%-1%),M2%(B%-1%));"\"; 380 IF RND>.1 ; CUR(M1%(E%),M2%(E%));" " : E%=E%-1% 390 IF E%=-1% E%=499% 400 B%=B%-1% 410 IF B%=0% THEN M1%(500%)=M1%(0%) : M2%(500%)=M2%(0%) : B%=500% 420 FOR D=F9%*R% TO F9% : NEXT D 430 GOTO 190 440 REM TR[FF 450 OUT 6,7 : A%=0% : T2%=T2%+1% 460 ; CUR(Y%,X%) " " : ; CUR(Y%+1%,X%) " " 470 X%=RND*36+2% : Y%=RND*21+1% 480 FOR G%=X%*2% TO X%*2%+2% : FOR T%=Y%*3% TO Y%*3%+3% : IF FGPOINT(T%,G%) 470 490 NEXT T% : NEXT G% 500 ; CUR(Y%,X%);"ff"; 510 ; CUR(Y%+1%,X%);"99"; 520 OUT 6,0 : RETURN 530 REM 540 FOR D=1 TO 1000 : OUT 6,11  : NEXT D : OUT 6,0 550 FOR D=1 TO 1000 : NEXT D 560 ; CHR$(12) : ; : ; 570 ; "Du tr{ffade " T2% " m}l." 580 B$="URKASST...." 590 IF T2%>0% B$="Inte riktigt bra." 600 IF T2%>5% B$="Bravo...." 610 IF T2%>10% B$="Mycket bra...." 620 IF T2%>25% B$="Fenom enalt...." 630 IF T2%>50% B$="Du {r ju PROFFS...." 640 IF T2%>100% B$="*** SUPERBRA ***" 650 ; : ; B$ 660 IF T2%>30% ; "Du borde bli maskf|rare p} heltid." 670 IF A8% THEN 770 680 IF R% THEN 800 690 ; : ; "Vill du ha repris"; : POKE 65013%,0% : INPUT A $ 700 T7%=0% 710 ON ERROR GOTO 730 720 T7%=T3%-VAL(A$) 730 ON ERROR GOTO 740 IF T7% 770 750 IF INSTR(1,"Jj",CHR$(ASCII(A$))) 770 760 GOTO 800 770 FOR I%=65081% TO 65085% 780 POKE I%,S%(I%-65081%) : NEXT I% 790 R%=-1% : T3%=0% : P%=0% : GOTO 100 800 ; : ; "Vill du {ndra fart"; : POKE 65013%,0% : INPUT A$ 810 IF INSTR(1,"Jj",CHR$(ASCII(A$))) 850 820 ; : ; "Vill du f|rs|ka en g}ng till"; : POKE 65013%,0% : INPUT A$ 830 IF INSTR(1,"Nn",CHR$(ASCII(A$))) 835 835 END 840 GOTO 70 850 ; "fart 1,2,3 eller  4 "; : INPUT A9% 860 IF A9<5% AND A9>0% THEN F9%=(5%-A9%)*25% : GOTO 70 870 A8%=-1% : GOTO 770 880 POKE 65013%,0 890 IF PEEK(65013%)=0% 890 900 RETURN % : INPUT A$ 830 IF INSTR(1,"Nn",CHR$(ASCII(A$))) 835 835 END 840 GOTO 70 850 ; "fart 1,2,3 eller INPUT A9% 860 IF A9<5% AND A9>0% THEN F9%=(5%-A9%)*25% : GOTO 70 870 A8%=-1% : GOTO 770 880 POKE 65013%,0 890 IF PEEK(65013%)=0% 890 900 RETURN % : INPUT A$ 830 IF INSTR(1,"Nn",CHR$(ASCII(A$))) 835 835 END 840 GOTO 70 850 ; "fart 1,2,3 eller ? 10 DIM A(20) 160 DATA 1,7,1,1,1,1,8 170 DATA 8,6,5,4,1,3,10 180 DATA 8,6,5,9,5,6,8 190 DATA 5,15,16,17,10,5,5 200 DATA 10,2,2,18,5,6,8 210 DATA 8,6,2,18,6,6,8 220 DATA 10,6,5,4,1,3,2 230 DATA 8,6,6,8,6,6,8 240 DATA 8,6,6,19,5,6,8 250 DATA 8,6,6,6,6,6,8 301 DATA 0,0,1,0,0 302 DATA 1,0,0,0,0 303 DATA 0,1,0,0,0 304 DATA 0,0,0,1,0 305 DATA 0,0,0,0,1 306 DATA 1,0,0,0,1 307 DATA 0,1,1,0,0 308 DATA 0,1,1,1,0 309 DATA 0,0,1,1,0 310 DATA 1,1,1,1,1 311 DATA 1,0,1,1,0 312 DATA 1,1,0,0,1 313 DATA 1,0,0,1,1 314 DATA 0,1,1,0,1 315 DATA 0,0,0,1,1 316 DATA 0,0,1,0,1 317 DATA 0,1,0,0,1 318 DATA 1,1,1,1,0 319 DATA 0,1,1,1,1 320 ! ------------------------------------- 1000 ; CHR$(12) 1005 ; CUR(1,0) 1010 ; GRN "Tryck p} en SIFFER-tangent: "; 1020 GET I$ : I=VAL(I$) : ; RED I$ 1025 IF I=0 THEN I=10 1030 ; 1050 ON I RESTORE 160,170,180,190,200,210,220,230,240,250 1080 FOR K=1 TO 7 1090 READ A(K) 1100 NEXT K 1190 ; GRN CUR(9,0); 1200 FOR K=1 TO 7 1205 ; GRN TAB(37); 1210 ON A(K) RESTORE 301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319 1220 FOR M=1 TO 5 1230 READ A 1240 IF A=1 THEN ; GRN CHR$(127); ELSE ; BLK CHR$(32); 1250 NEXT M 1260 ; 1270 NEXT K 1280 GOTO 1005  GRN TAB(37); 1210 ON A(K) RESTORE 301,302,303,304,305,3068,309,310,311,312,313,314,315,316,317,318,319 1220 FOR M=1 TO 5 1230 READ A 1240 IF A=1 THEN ; GRN CHR$(127); ELSE ; BLK CHR$(32); 1250 NEXT M 1260 ; 1270 NEXT K 1280 GOTO 1005  GRN TAB(37); 1210 ON A(K) RESTORE 301,302,303,304,305,306? ? ?!8  ք@ ЀЇЁЂև4,և4,ւ@(։H,և4,ւ@2ֈH,և>,ւ@<ֈR,և4,ՁFֈ\,ֈ,ՁPֈp,և4,ՁZֈz,և>,Ձdֈ\,ֈ,Ձnֈ\,ֈ*,ՁxֈP,ֈ4,Ձֈ\,ֈ>,Ձֈh,ֈ4,Ձֈ\,ֈ*,Ձֈ\,ֈ%,Ձֈf,ֈ,Ձֈ\,ֈ%,ՁֈR,ֈ,Ձֈ\,ֈ4,Ղօ0+]TERHOPP TILL HUVUDMENY (J/N)J DEMONzֈ\,ֈ*,Ձֈ\,ֈ%,Ձֈf,ֈ,Ձֈ\,ֈ%,ՁֈR,ֈ,Ձֈ\,ֈ4,Ղօ0+]TERHOPP TILL HUVUDMENY (J/N) ?}L  ք@ )!PF1: SKRIVER VANLIG TEXT P] SK[RM()2!PF2: SKRIVER DUBBEL TEXT P] SK[RM<FPF3: H]LLER OLJUDP3Z+PF4: GER EXEMPEWL P] UTSKRIFTER P] SKRIVAREd0n(PF5: GER EXEMPEL P] H\GUPPL\SNINGSGRAFIKx PF6: UTHOPP V[LJ TANGENTֆT   ֈ? &j ք@  VANLIG SKRIFT,; vanlig skrift,;,;Ё VANLIG SKRIFT,;,;,;Ђ vanlig skrift ք@ Ѝ DUBBEL TEXT,;Ѝ dubbel text!,;,;ЍЃ DUBBEL TEXT" ,ք@ 6ՁևH @փ` JTU^PR:Ձh#ՁVANLIG utskrift r#Ձ"|#Ձքp LITEN utskrift#Ձօ 9#Ձ#Ձ#Ձ#Ձ,ք` DUBBEL utskrift#Ձօ #Ձ#Ձ#Ձ&#ՁօX ;K;և ; ;Ձ/և #Ձֈ ;3#Ձ#Ձ#Ձ Ձ DEMO1օ0,]TERHOPP TILL HUVUDMENYN (J/N)FFJFN&Ed40Pf5GerErrorAsgI01Chrzzx /xFzՁ/և #Ձֈ ;3#Ձ#Ձ#Ձ Ձ DEMO1@?):  ք@ ܊&]RLIG INDEX UTVECKLING % (]R XX 2M]NAD XX <V FևH ևH &PևH ևH ޜ. Z&.&Ղք@6 d6n}Ed20BasUtv]rM}nInd1Ind2IndexGoto15Ed15Goto10LllllllllllllllllllllliiiiiiiiiiiiiisssssssssssssssttttttttttttStart~( H i  y& . 6 &PևH ևH ޜ. Z&.&Ղք@6 d6n