10 REM" [210]ENNBAHN [214]2.11 11 [143]"************************* 12 REM" (W) BY [212].[194]AADE 13 [143]" 02/1999 - 08/2000 14 REM" EMAIL : 15 [143]"TORSTEN.BAADE@UNI-JENA.DE 16 REM"************************* 17 [143] 40 G[178][194](186): [143]" AKT. ASCLOPPYADRESSE 45 EM=58: REM" [193]NZAHL [201]NTERRUPTS 50 W[178]0.7: [143]" (null)CHLEIFENWARTEZEIT 60 A=PEEK(53433)AND128 61 REM" [211][195][208][213] VORHANDEN ? 62 [139] A[178]128 [167] 70:[143]" KEINE (null)LEN(null)(null) 63 POKE53374,0:POKE53366,0:POKE53375,0 64 REM" [211][195][208][213] OPTIMIEREN FUER [194][193][211][201][195] 65 [151] 53371,0:[143]" (null)LEN(null)(null) -> 20(null)LEFT$Z 66 PRINT"[211][195][208][213] GEFUNDEN ..." 70 IF PEEK(49153)=173 THEN 90 71 REM" [212][201][205][197][210] WURDE SCHON GELADEN 72 [153]"(null)RIGHT$(null)VAL(null)-(null)2 LADEN ..." 80 [143]" RIGHT$NTERUPTROUTINE LADEN 83 SYS 57812("TIMER-V2"),G,1 84 POKE780,0 85 SYS 65493 86 REM" MIT DIESEN [211][217][211]'S KANN MAN OHNE [208]ROGRAMMNEUSTART NACHLADEN 90 [151] 56325,EM:[143]" # RIGHT$NTERRUPTS DEFAULT=58 95 SYS 49152: REM" [201]NITIALISIEREN DER [201]NTERUPTROUTINE 100 [141] 1100: [143]" RIGHT$NITIALISIEREN 101 POKE53370,0:REM" [211][195][208][213] -> 1 [205][200]Z 102 [153]"LEFT$AUPTPROGRAMM STARTEN ..." 103 A[178]100:[141] 1000:[143]" (null)ON AUSGEBEN 104 FOR L=0 TO W*200:NEXT 105 A=160:GOSUB 1000 106 FOR L=0 TO W*200:NEXT 107 A=70:GOSUB 1000:FORL=0TOW*300:NEXT 108 POKE 53771,0:REM" [211][195][208][213] -> 20 [205][200]Z 110 [143]" LEFT$AUPTPROGRAMM ***************** 120 GOSUB 1200: REM" [194]ILDSCHIRM AUFBAUEN 130 [141] 1400: [143]" (null)PIELER/(null)UNDENZAHL 140 POKE49242,255:REM"1/10'' [218]WZT.1 150 [151]49245,255:[143]"1/10'' (null)WZT.2 160 POKE49236,255:REM"1/10'' [211]PIELER1 165 [151]49239,255:[143]"1/10'' (null)PIELER2 167 REM" WENN [201]NHALT=255, DANN KEIN [211]CHALTER BETAETIGT 170 L%(1)[178][171]1:L%(2)[178][171]1:[143]" NOCH KEINE (null)UNDE GEFAHREN 175 ZB%(1)=32767:ZB%(2)=32767:REM" [194]ESTZEITEN ZURUECKSETZEN 180 ZR%(1)[178]0:ZR%(2)[178]0:[143]" (null)UNDENZEITEN LOESCHEN 190 GOSUB 2000: REM" [193].[196].[208].-[198]ERTIG-[204][207][211]! 195 [161] A$:[143]" (null)ASTATURPUFFER LOESCHEN 200 GOSUB 3000: REM" [210]ENNEN 900 [153]"STOP (null)OCH EIN (null)ENNEN (J/N) ? WAIT" 910 [161] A$ 920 [139] [168](A$[178]"J" [176] A$[178]"N" [176] A$[178]"Y")[167] 910 930 [139] A$[178]"N" [167] 1900:[143]" THE END... 980 GOTO 110 1000 REM "[212]ON ERZEUGEN --> A - [212]ONHOEHE 1010 [151] 54296,15:[151]54273,A:[151]54277,9 1020 [151]54278,9:[151]54276,17:[151]54276,16 1030 [142] 1100 [143]" PEEKILDSCHIRM INITIALISIEREN 1110 PRINT"[158]":REM" [211]CREEN LOESCHEN, [203]LEINSCHREIBUNG, [211]CHREIBFARBE 1120 [151]53280,11:[151]53281,11:[143]" (null)AHMEN-/LEFT$INTERGRUNDFARBE 1130 DIM PO$(2):REM"LINKS/RECHST - 1/2 1140 PO$(1)[178]"" 1141 PO$(2)[178]"" 1150 S1$[178]"(null)PIELER 1" 1151 S2$[178]"(null)PIELER 2" 1152 L0%[178]3 1170 [151] 56579,255:[143]" INIT (null)(null)VAL(null)(null)(null)(null)(null) 1180 GOSUB 1600:REM" [198]AHRSTROM [197][201][206] 1190 [142] 1200 [143]"PEEKILDSCHIRMSCHREIBEN 1210 POKE53280,11:REM" [210]AHMENFARBE 1270 [153]"LOADSYS ***** (null)ENNBAHN (null)2.11 ***** " 1280 [153] " ASCAHRER 1: SYS(null)UNDEN ASCAHRER 2:SYS" 1290 [153] " (null)UNDENZEIT (null)UNDENZEIT" 1295 [153] " (null)WISCHENZEIT (null)WISCHENZEIT" 1300 [153] " GEFAHREN : GEFAHREN : " 1310 [153] " ZU FAHREN: ZU FAHREN: " 1320 [153] " CHR$ESAMTZEIT CHR$ESAMTZEIT " 1330 [153] " BESTE (null)EIT BESTE (null)EIT " 1390 [142] 1400 [143] "ASCAHRER/(null)UNDENZAHL EINGEBEN 1410 PRINT "";PO$(1);" ";S1$ 1420 PRINT "[144]";PO$(1); 1430 INPUT S1$ 1440 S3$=RIGHT$(" "+S1$,INT((10-LEN(S1$))/2)+LEN(S1$)) 1450 PRINT "[144]";PO$(1);" [157][157][157][157][157]";S3$;" " 1460 PRINT "";PO$(2);" ";S2$ 1470 PRINT "[144]";PO$(2); 1480 INPUT S2$ 1490 S4$=RIGHT$(" "+S2$,INT((10-LEN(S2$))/2)+LEN(S2$)) 1500 PRINT "[144]";PO$(2);" [157][157][157][157][157]";S4$;" " 1510 PRINT"";L0% 1520 PRINT""; 1530 INPUT A$ 1540 IF VAL(A$)<1 OR VAL(A$)>99 THEN 1510 1550 L0%=VAL(A$):RU%=L0% 1560 PRINT" [157][157][157][157]";L0% 1590 RETURN 1600 REM" [198]AHRSTROM EINSCHALTEN 1610 [143]" (null)ELAIS AM (null)ASSETTENPORT 1620 POKE192,0:POKE1,PEEK(1)AND39 1630 REM" [210]ELAIS AM [213][211][197][210] [208]ORT 1640 [151] 56577,255 1695 [142] 1700 [143]" ASCAHRSTROM AUSSCHALTEN 1710 REM" [210]ELAIS AM [203]ASSETTENPORT 1720 [151]192,1:[151]1,[194](1)[176]32 1730 [143]" (null)ELAIS AM (null)(null)VAL(null) (null)ORT 1740 POKE 56577,0 1795 RETURN 1900 REM" [208]ROGRAMM BEENDEN 1910 [158] 49220:[143]" RESET (null)RIGHT$(null)VAL(null)-(null)2 1920 POKE 56325,58:REM" RESET # [201][210][209] 1930 [151]53280,6:[151]53281,6:[143]" PEEKILDSCHIRMFARBEN ZURUECKSETZEN 1935 GOSUB 1600:REM" [198]AHRSTROM [197][201][206] 1940 [153]"LOAD" 1945 [151] 53370,0:[143]" (null)LEN(null)(null) -> 1(null)LEFT$Z 1950 A=110:GOSUB 1000 1955 FOR L=0 TO W*100:NEXT 1960 A=60:GOSUB 1000 1965 FOR L=0 TO W*100:NEXT 1970 A=160:GOSUB 1000 1975 FOR L=0 TO W*100:NEXT 1980 A=100:GOSUB 1000 1985 POKE 53371,0:REM" [211][195][208][213] -> 20[205][200]Z 1990 [128] 2000 [143]" AUF DIE (null)LAETZE, ASCERTIG, (null)OS! 2005 GOSUB 1700:REM" [198]AHRSTROM [193][213][211] 2010 [151] 53370,0:[143]" (null)LEN(null)(null) -> 1(null)LEFT$Z 2020 POKE 53280,6:REM" [210]AHMENFARBE 2030 [153]"BITTE FERTIG WERDEN" 2040 A[178]100:[141] 1000:[143] "(null)ON ERZEUGEN 2050 FOR L=0 TO W*2000:NEXT:REM" [215]ARTEN 2060 [151] 53280,7:[143]" RAHMENFARBE AENDERN 2070 PRINT" [193]UF DIE [208]LAETZE ! " 2080 A=80:GOSUB1000:REM "[212]ON ERZEUGEN 2090 [129] L[178]0 [164] W[172]5000:[130]:[143]"(null)ARTEN 2100 POKE 53280,2:REM" [210]AHMENFARBE 2110 [153]" ASCERTIG ! " 2120 A[178]90:[141]1000:[143] "(null)ON ERZEUGEN 2130 FOR L=0 TO W*3000:NEXT:REM"WARTEN 2140 [151] 53280,5 2150 [153]" (null)OS ! WAIT " 2160 A[178]120:[141]1000:[143] "(null)ON ERZEUGEN 2170 POKE 53371,0:REM" [211][195][208][213] -> 20[205][200]Z 2180 [141] 1600:[143]" ASCAHRSTROM VALRIGHT$(null) 2190 RETURN 3000 REM" [210]ENNEN (ZWEI [211]PIELER + [218]W.ZT.) 3010 [143]" (null)TARTZEIT BESTIMMEN : 3020 GET A$ 3025 IF A$<>"" THEN RETURN: REM" STOP 3030 [139] [194](49236)[178]255 [167] 3100:[143]" (null)PIELER 1 HAT NICHT BEGONNEN 3040 T%=PEEK(49236):REM" [218]EHNTEL 3042 S%[178][194](49235):[143]" (null)EKUNDEN 3044 M%=PEEK(49234):REM" [205]INUTEN 3046 [141] 4700:[143]" CHR$ESAMTZEHNTELZEIT 3050 Z0%=Z%: REM" [205]ASTERZEIT 3070 ZL%(1)[178]Z0%:ZL%(2)[178]Z0% 3080 [137] 3200 3100 [139] [194](49239)[178]255 [167] 3190:[143]" (null)PIELER 2 HAT NICHT BEGONNEN 3110 T%=PEEK(49239):REM" [218]EHNTEL 3112 S%[178][194](49238):[143]" (null)EKUNDEN 3114 M%=PEEK(49237):REM" [205]INUTEN 3116 [141] 4700:[143]" CHR$ESAMTZEHNTELZEIT 3120 Z0%=Z%: REM" [205]ASTERZEIT 3140 ZL%(2)[178]Z0%:ZL%(1)[178]Z0% 3150 [137] 3200 3190 [137] 3010:[143]" (null)TART NOCH NICHT ERFOLGT 3200 REM" [211]TART IST ERFOLGT 3300 [143]" (null)WISCHENZEITEN ? 3305 REM" [211]PIELER 1 3310 [139] [194](49242)[178]255 [167] 3410:[143]" (null)PIELER 1 KEINE (null)W.ZT. 3320 T%=PEEK(49242):REM" [218]EHNTEL 3322 S%[178][194](49241):[143]" (null)EKUNDEN 3324 M%=PEEK(49240):REM" [205]INUTEN 3326 [141] 4700:[143]" CHR$ESAMTZEHNTELZEIT 3330 G=Z%-ZL%(1):REM" [218]EITDIFFERENZ BIS LETZTE [218]IELDURCHFAHRT 3340 [141] 4900:[143]" (null)MWANDELN IN M$S$T$ 3350 PRINT"";PO$(1);G$ 3360 POKE 49242,255:REM" RESET TIME 3400 [143]" (null)PIELER 2 3410 IF PEEK(49245)=255 THEN 3500:REM" [211]PIELER 2 KEINE [218]W.ZT. 3420 T%[178][194](49245):[143]" (null)EHNTEL 3422 S%=PEEK(49244):REM" [211]EKUNDEN 3424 M%[178][194](49243):[143]" (null)INUTEN 3426 GOSUB 4700:REM" [199]ESAMTZEHNTELZEIT 3430 G[178]Z%[171]ZL%(2):[143]" (null)EITDIFFERENZ BIS LETZTE (null)IELDURCHFAHRT 3440 GOSUB 4900:REM" [213]MWANDELN IN M$S$T$ 3450 [153]"";PO$(2);G$ 3460 [151] 49245,255:[143]" RESET TIME 3500 REM" [218]IELDURCHFAHRT ? 3505 [143]" (null)PIELER 1 3510 IF PEEK(49236)=255 THEN 3710:REM" [211]PIELER 1 KEINE [218]IELDURCHF. 3515 [139] F1%[178]1 [167] 3690:[143]"STR$AUERKONTAKT 3520 T%=PEEK(49236):REM" [218]EHNTEL 3522 S%[178][194](49235):[143]" (null)EKUNDEN 3524 M%=PEEK(49234):REM" [205]INUTEN 3526 [141] 4700:[143]" CHR$ESAMTZEHNTELZEIT (T%, S%, M% -> Z%) 3530 L%(1)=L%(1)+1:REM" [210]UNDE GEFAHREN 3540 ZR%(1)[178]Z%[171]ZL%(1):[143]" (null)UNDENZEIT 3545 IF L%(1)>L0% THEN 3590:REM" ALLE [210]UNDEN SIND ABSOLVIERT 3550 ZG%(1)[178]Z%[171]Z0%:[143]" CHR$ESAMTZEIT 3560 IF(ZR%(1)0)THEN ZB%(1)=ZR%(1):REM" NEUE [194]ESTZEIT 3590 ZL%(1)[178]Z% 3600 [143]" PEEKILDSCHIRMAUSGABE 3610 G=ZR%(1):GOSUB 4900:REM" [213]MWANDELN (G -> G$) 3620 [153]"";PO$(1);G$ 3625 G[178]0:[141] 4900:[143]" (null)WZT RESETEN 3626 PRINT"";PO$(1);G$ 3630 PRINT"";PO$(1);" [157][157][157]";L%(1) 3640 PRINT"";PO$(1);" [157][157][157]";L0%-L%(1) 3650 G=ZG%(1):GOSUB 4900:REM" [213]MWANDELN 3660 [153]"";PO$(1);G$ 3670 [139] L%(1)[178]0 [167] 3690:[143]"NOCH KEINE PEEKESTZEIT 3672 G=ZB%(1):GOSUB 4900:REM" [213]MWANDELN 3680 [153]"";PO$(1);G$ 3690 [151]49236,255:[143]" 1/10 'LOESCHEN' 3692 POKE53370,0:POKE56325,1:WAIT 56325,1:POKE53371,0:POKE56325,EM 3693 REM" WARTEN AUF INTERRUPT 3695 [139] [194](49236)[179]255 [167] F1%[178]1:[137] 3700:[143]" STR$AUERKONTAKT 3697 F1%=0:REM" KEIN [196]AUERKONTAKT 3700 [143]" (null)PIELER 2 3710 IF PEEK(49239)=255 THEN 4000:REM" [211]PIELER 2 KEINE [218]IELDURCHF. 3715 [139] F2%[178]1 [167] 3890:[143]"STR$AUERKONTAKT 3720 T%=PEEK(49239):REM" [218]EHNTEL 3722 S%[178][194](49238):[143]" (null)EKUNDEN 3724 M%=PEEK(49237):REM" [205]INUTEN 3726 [141] 4700:[143]" CHR$ESAMTZEHNTELZEIT 3730 L%(2)=L%(2)+1:REM" [210]UNDE GEFAHREN 3740 ZR%(2)[178]Z%[171]ZL%(2):[143]" (null)UNDENZEIT 3745 IF L%(2)>L0% THEN 3790:REM" ALLE [210]UNDEN SIND ABSOLVIERT 3750 ZG%(2)[178]Z%[171]Z0%:[143]" CHR$ESAMTZEIT 3760 IF(ZR%(2)0)THEN ZB%(2)=ZR%(2):REM" NEUE [194]ESTZEIT 3790 ZL%(2)[178]Z% 3800 [143]" PEEKILDSCHIRMAUSGABE 3810 G=ZR%(2):GOSUB 4900:REM" [213]MWANDELN 3820 [153]"";PO$(2);G$ 3825 G[178]0:[141] 4900:[143]" (null)WZT RESETEN 3826 PRINT"";PO$(2);G$ 3830 PRINT"";PO$(2);" [157][157][157]";L%(2) 3840 PRINT"";PO$(2);" [157][157][157]";L0%-L%(2) 3850 G=ZG%(2):GOSUB 4900:REM" [213]MWANDELN 3860 [153]"";PO$(2);G$ 3870 [139] L%(2)[178]0 [167] 3890:[143]"NOCH KEINE PEEKESTZEIT 3872 G=ZB%(2):GOSUB 4900:REM" [213]MWANDELN 3880 [153]"";PO$(2);G$ 3890 [151]49239,255 3892 [151]53370,0:[151]56325,1:[146] 56325,1:[151]53371,0:[151]56325,EM 3893 [143]" WARTEN AUF INTERRUPT 3895 IF PEEK(49239)<255 THEN F2%=1:GOTO 4000:REM" [196]AUERKONTAKT 3897 F2%[178]0:[143]" KEIN STR$AUERKONTAKT 4000 IF(L%(1)=RU%)OR(L%(2)=RU%)THEN POKE 53280,6:RU%=-2:GOSUB 1000 4100 GET A$:REM" [193]BBRUCH ? 4110 [139]((L%(1)[179]L0%)[176](L%(2)[179]L0%))[175](A$[178]"")[167] 3300:[143]" KEIN VALNDE 4130 GOSUB1000 4140 RETURN 4700 REM" [199]ESAMTZEHNTELZEIT BERECHNEN --> M%,S%,T% (NORMAL-[198]ORMAT) 4701 [143]" <-- Z% (NORMAL-ASCORMAT) 4710 Z%=M%*600 4711 REM" [205]INUTEN IN [218]EHNTEL UMRECHNEN 4720 Z%[178]Z%[170]S%[172]10 4721 [143]" (null)EKUNDEN IN (null)EHNTEL UMRECHNEN UND ADDIEREN 4730 Z%=Z%+T% 4731 REM" [218]EHNTEL ADDIEREN 4790 [142] 4900 [143]" (null)INUTEN, (null)EKUNDEN, (null)EHNTEL BERECHNEN AUS CHR$ESAMTZEHNTELZEIT 4901 REM" --> G 4902 [143]" <-- G$ 4910 Z=INT((G/10-INT(G/10))*10):REM"[218]EHNTEL 4920 G[178][181](G[173]10):[143]" (null)EHNTEL WEG 4930 S=INT((G/60-INT(G/60))*60):REM"[211]EKUNDEN 4940 M[178][181](G[173]60):[143]" (null)INUTEN 4950 G$=" "+RIGHT$(STR$(M),2)+"M" 4960 G$=G$+RIGHT$(STR$(S),2)+"." 4970 G$=G$+RIGHT$(STR$(Z),1)+"S" 4990 RETURN