1 REM Ins{nd av Bo Kullmar * <1789> 1985-10-15 23.43.37
2 ! **********************************************************************
3 ! Program HUVUD.800 Utg}va 2.11 1985-10-15
4 ! av Gunnar Tidner, {ndrad av Bo Kullmar
5 ! Ins{nd av Bo Kullmar, 1789.
6 ! F|r ABC800M ABC800C ABC802 ABC806
8 ! Testad p} ABC806
9 ! **********************************************************************
10 ! Ett f|rs|k att bilda en standardhuvud f|r ABC-Klubbbens program.
20 ! ----------------------------------------------------------------------
30 ! En utfil : "HEADER.BAS" bildas som sedan med MERGE sammanfogas
40 ! med huvudprogrammet innan slutgiltig programlagring sker.
50 ! ---------------------------------------------------------------------
60 ! Om du inte vill anget n}got s} kan du vid vissa fr}gor svar med .
70 ! ---------------------------------------------------------------------
80 ! Om du anger kombinationer med datortyper och grafik som inte finns s}
90 ! f}r du b|rja om igen med att ange datortyp och grafik!
100 ! ---------------------------------------------------------------------
110 INTEGER : EXTEND
120 DIM U$=200,M$=200
1000 PREPARE 'HEADER.BAS' AS FILE 1 : L=1
1010 IF PEEK(-17)=255 THEN Z=FNTidinst
1020 ; CHR$(12) '*** Skapar Klubbens Standardhuvd ***' : ; : ; : ;
1025 ; 'F|r anvisningar, lista programmet!' : ; : ;
1030 ; "Programnamn: "; : INPUT LINE P$ : ; : P$=LEFT$(P$,LEN(P$)-2)
1040 IF LEN(P$)>12 ; 'max 12 tecken' : GOTO 1030
1050 IF LEN(P$)<1 THEN 1030
1060 D$=LEFT$(TIME$,10)
1070 ; "Version: "; : INPUT LINE V$ : ; : V$=LEFT$(V$,LEN(V$)-2)
1080 ; "Upphovsman: "; : INPUT LINE U$ : ; : U$=LEFT$(U$,LEN(U$)-2)
1090 IF U$='' THEN 1080
1100 ; "[ndrat av: "; : INPUT LINE P1$ : ; : P1$=LEFT$(P1$,LEN(P1$)-2)
1110 ; "Ins{nt av: "; : INPUT LINE I$ : ; : I$=LEFT$(I$,LEN(I$)-2)
1120 IF LEN(I$)=0 THEN ; 'Du m}ste ange vem som skickar in programmet!' : GOTO 1110
1130 Abc800m$='' : Abc800c$='' : Abc802$='' : Abc806$=''
1140 Hr$='' : Lr$='' : Ar$=''
1150 Abc800m=FNTyp('F|r ABC800 M')
1160 Abc800c=FNTyp('F|r ABC800 C')
1170 Abc802=FNTyp('F|r ABC802')
1180 Abc806=FNTyp('F|r ABC806')
1190 IF Abc800m THEN Abc800m$='ABC800M'
1200 IF Abc800c THEN Abc800c$=' ABC800C'
1210 IF Abc802 THEN Abc802$=' ABC802'
1220 IF Abc806 THEN Abc806$=' ABC806'
1230 Hr=FNTyp('F|r HR-grafik')
1240 IF Hr THEN Hr$=', med HR-grafik'
1250 Lr=FNTyp('F|r l}ggrafik')
1260 IF Lr THEN Lr$=', med l}ggrafik'
1270 Ar=FNTyp('F|r ASCII-gafik')
1280 IF Ar THEN Ar$=', med ASCII-grafik'
1290 Datortyp$=Abc800m$+Abc800c$+Abc802$+Abc806$+Hr$+Lr$+Ar$
1300 IF LEN(Datortyp$)=0 THEN ; CHR$(7) : ; 'Du m}ste ange datortyp!' : GOTO 1140
1310 IF LEFT$(Datortyp$,1)=' ' THEN Datortyp$=RIGHT$(Datortyp$,2)
1320 IF Abc800m AND Ar THEN ; CHR$(7) : ; 'ASCII grafik finns ej f|r ABC800 M!' : GOTO 1130
1330 IF Abc800m AND Lr THEN ; CHR$(7) : ; 'L}ggrafik finns ej f|r ABC800 M!' : GOTO 1130
1340 IF Abc802 AND Hr THEN ; CHR$(7) : ; 'Hr grafik finns ej f|r ABC802!' : GOTO 1130
1350 IF Abc806 AND Lr THEN ; CHR$(7) : ; 'L}ggrafik finns ej f|r ABC806!' : GOTO 1130
1355 ; 'Disktyp? Svara om programmet {r oberoende av disktyp!'
1360 ; 'F|r disk typ? '; : INPUT LINE Disktyp$ : Disktyp$=LEFT$(Disktyp$,LEN(Disktyp$)-2)
1370 ;
1375 IF LEN(Disktyp$) Disktyp$=Disktyp$+', '
1380 Superdos=FNTyp('F|r UFD-DOS, svara CR om oberoende av DOS')
1390 IF Superdos THEN Superdos$='med UFD-DOS' ELSE Superdos$='med gammalt DOS'
1395 IF Superdos=10 Superdos$=''
1400 Disktyp$=Disktyp$+Superdos$
1410 T800m$='' : T800c$='' : T802$='' : T806$=''
1420 IF FNTyp('Testad p} ABC800 M') THEN T800m$=' ABC800M'
1430 IF FNTyp('Testad p} ABC800 C') THEN T800c$=' ABC800C'
1440 IF FNTyp('Testad p} ABC802') THEN T802$=' ABC802'
1450 IF FNTyp('Testad p} ABC806') THEN T806$=' ABC806'
1460 Test$=T800m$+T800c$+T802$+T806$
1470 IF LEN(Test$)=0 THEN ; 'Du m}ste ange dator som programmet {r testat p}!' : GOTO 1410
1480 IF LEFT$(Test$,1)=' ' THEN Test$=RIGHT$(Test$,2)
1490 ; #L,"2 ! "+STRING$(70,42)
1500 D$=" Utg}va "+V$+SPACE$(9-LEN(V$))+D$
1510 ; #L,"3 ! Program ";P$ TAB(38) D$
1520 IF LEN(P1$) THEN U$=U$+', {ndrad av '+P1$
1530 ; #L,"4 ! av ";U$
1540 ; #L,'5 ! Ins{nd av ' I$
1550 ; #L,"6 ! F|r " Datortyp$
1560 IF LEN(Disktyp$) THEN ; #L,'7 ! F|r disk ' Disktyp$
1570 ; #L,'8 ! Testad p} ' Test$
1580 ; "Extra kommentar rad" 9+I "? (avbryt med CR)"
1590 IF I=0 THEN ; 'Du kan t ex ange om programmet {ven kan k|ras p} alla diskar och dos!'
1600 INPUT LINE M$ : ; : M$=LEFT$(M$,LEN(M$)-2)
1610 IF LEN(M$) THEN ; #L,I+9 " ! ";M$ : I=I+1 : GOTO 1580
1620 ; #L,I+9 "! "+STRING$(70,42)
1630 CLOSE 1
1640 ; : ; 'Klart! Nu skall du ladda in programmet och sedan ge kommandot'
1650 ; 'MERGE HEADER.BAS, s} har du f}tt in ditt nya programhuvud i programmet.'
1660 END
1670 DEF FNTidinst LOCAL ]r,M}nad,Dag,Tim,Min,Sek,Rad,Svar$=1
1680 ; CHR$(12) '*** Skapar Klubbens Standardhuvd ***' : ; : ; : ;
1690 ; 'Inst{llning av datum och tid:'
1700 ;
1710 INPUT ']r? ']r
1720 INPUT 'M}nad? 'M}nad
1730 INPUT 'Dag? 'Dag
1740 INPUT 'Tid (xx,xx,xx,) ? 'Tim,Min,Sek
1750 POKE -17,]r,M}nad,Dag,Tim,Min,Sek
1760 Rad=PEEK(-173)+1
1770 ; CUR(Rad,0) TIME$
1780 ; : ; '[r datum och tid riktig (J) ?'
1790 WHILE SYS(5)=0
1800 IF (PEEK(-11) AND 16)=0 THEN ; CUR(Rad+2,30) '_'; ELSE ; CUR(Rad+2,30) ' ';
1810 ; CUR(Rad,0) TIME$
1820 WEND
1830 GET Svar$ : ; CUR(Rad+2,30) WHT Svar$
1840 IF Svar$='N' OR Svar$='n' THEN Z=FNTidinst ELSE RETURN 0
1850 FNEND
1860 DEF FNTyp(Fr}ga$)
1870 ; Fr}ga$ '? (J/N) ';
1880 GET Svar$ : ; Svar$
1890 IF INSTR(1,Fr}ga$,'UFD')=0 AND Svar$<>'J' AND Svar$<>'j' AND Svar$<>'N' AND Svar$<>'n' THEN 1870
1900 IF Svar$='J' OR Svar$='j' THEN RETURN -1
1910 IF Svar$='N' OR Svar$='n' THEN RETURN 0
1915 IF INSTR(1,Fr}ga$,'UFD')<>0 RETURN 10
1920 FNEND