From b70b202e46d1bff6a77c418fb751a0812ba41db2 Mon Sep 17 00:00:00 2001 From: Markus Birth Date: Mon, 15 Jul 2013 23:19:32 +0200 Subject: [PATCH] Initial commit --- .gitignore | 3 + CBF.BAS | 69 + CBF.DAT | 34 + DELTREE.BAS | 14 + EDITPATH2.BAS | 155 ++ ELFELDT.BAS | 233 ++ FORMAT.BAS | 14 + HTML2LST.BAS | 61 + RUC.BAS | 37 + TBCLEANM.BAS | 18 + agen.bas | 186 ++ ampel.bas | 55 + ansipack.bas | 104 + bargraph.bas | 33 + bargraph.nfo | 22 + bildtest.bas | 60 + bin-dez.bas | 161 ++ bitmap/bitmap.bas | 203 ++ bitmap/bitmap.txt | 45 + bootinfo.bas | 132 + bootpass/access.dat | 1 + bootpass/bootpass.bas | 695 +++++ bootpass/warn | 25 + bpm.bas | 128 + bpm2.bas | 56 + bpm_dl.bas | 135 + bpm_dlux.bas | 131 + bruch.bas | 61 + chem_dia/chem_dia.bas | 122 + chem_dia/chem_dia.fnt | 4354 +++++++++++++++++++++++++++++++ chem_dia/chem_dia.ft_ | 4354 +++++++++++++++++++++++++++++++ chem_dia/loadfont.com | Bin 0 -> 111 bytes chem_dia/savefont.com | Bin 0 -> 262 bytes chngdfv.bas | 85 + cit_095.bas | 18 + cit_100.bas | 104 + col_tab.bas | 7 + compi/andreas.cfg | 2 + compi/arne.cfg | 2 + compi/co&m.cfg | 2 + compi/compi.bas | 257 ++ compi/compi.cfg | 2 + compi/hans.cfg | 3 + compi/hans2.cfg | 3 + compi/hcv386.cfg | 3 + compi/hcv3862.cfg | 3 + compi/maik.cfg | 2 + csafe.bas | 76 + dart.bas | 107 + dart.gam | 4 + decode.bas | 65 + decrypt.bas | 38 + delpick.bas | 216 ++ dfvnc.bas | 106 + dostrend.bas | 71 + editpath.bas | 153 ++ fx7700ge.bas | 13 + gam_mast.bas | 271 ++ graftest/2dgraph.bas | 6 + graftest/2dgraph1.bas | 6 + graftest/2dgraph2.bas | 13 + graftest/3dline.bas | 23 + graftest/graftest.bas | 31 + graftest/grftest2.bas | 64 + graftest/grftest3.bas | 48 + hallo.bas | 45 + hd-data.bas | 89 + inst_xw/go.bas | 193 ++ inst_xw/install.bas | 5 + joy.bas | 26 + joytest.bas | 15 + keypro.bas | 22 + keyprog.bas | 392 +++ keys.bas | 3 + life/glider.lif | 19 + life/great_x.lif | 29 + life/life.bas | 510 ++++ life/life.hlp | 40 + life/life.lif | 11 + life/megaglid.lif | 29 + life/serial.num | 2 + life/test.lif | 14 + life/x.lif | 14 + logos/hcv.bas | 20 + logos/ibm.bas | 21 + logos/logo.exe | Bin 0 -> 8713 bytes makelst.exe | Bin 0 -> 42704 bytes makeser.bas | 126 + makeser.exe | Bin 0 -> 19200 bytes maketext.bas | 101 + mouse/mse.bas | 34 + mouse/mt.bas | 195 ++ mouse/mtlaunch.bat | 4 + movetest.bas | 45 + n-eck.bas | 32 + oszi.bas | 74 + oszi.win | 1 + pbc.cmt | 14 + pcalc.bas | 209 ++ pcalc.chk | 1 + pcalc.fnt | 4354 +++++++++++++++++++++++++++++++ pfeiltst.bas | 8 + pingpong.bas | 86 + poincare/katze.inc | 9 + poincare/plus.inc | 5 + poincare/poincare.bas | 102 + pt_crack.bas | 77 + read_key.bas | 74 + rom0.bas | 28 + screen/katze.ssc | Bin 0 -> 64064 bytes screen/loadscr.bas | 43 + screen/logo.ssc | Bin 0 -> 102483 bytes screen/savescr.bas | 40 + screen/test.ssc | Bin 0 -> 10997 bytes serial.num | 2 + specsymb.txt | 3 + termin/termin.bas | 267 ++ termin/termin.his | 6 + termin/termin.lst | 38 + termstst.bas | 6 + tetris/tetris.bas | 347 +++ tetris/tetris.exe | Bin 0 -> 32109 bytes tetris/tetris.fnt | 4354 +++++++++++++++++++++++++++++++ tnse/tnse.bas | 34 + tnse/tnse2.bas | 79 + tnse/tnse_wav.bas | 79 + unprot/info.txt | 11 + unprot/modup.bat | 4 + unprot/shroom.com | Bin 0 -> 13702 bytes unprot/unp.bt_ | 37 + unprot/unp.com | Bin 0 -> 2627 bytes unprot/unp.ovl | Bin 0 -> 120240 bytes unprot/unp_.com | Bin 0 -> 2072 bytes unprot/unprot.bas | 269 ++ unprot/unprot.exe | Bin 0 -> 31039 bytes vidmodes.bas | 64 + vidmodes.exe | Bin 0 -> 22291 bytes voc/bad_day.v_c | 88 + voc/bargraph.bas | 25 + voc/save_voc.bas | 28 + voc/sbtest.bas | 16 + voc/voc_vu.bas | 74 + voc/zarathus.bas | 10 + winlnchr/1/win_laun.bas | 100 + winlnchr/2/sysinis/1024x768.16c | 185 ++ winlnchr/2/sysinis/1024x768.256 | 186 ++ winlnchr/2/sysinis/640x480.256 | 186 ++ winlnchr/2/sysinis/800x600.16c | 185 ++ winlnchr/2/sysinis/800x600.256 | 185 ++ winlnchr/2/wl.bas | 196 ++ write.bas | 39 + wsprot.bas | 469 ++++ 152 files changed, 28238 insertions(+) create mode 100644 .gitignore create mode 100644 CBF.BAS create mode 100644 CBF.DAT create mode 100644 DELTREE.BAS create mode 100644 EDITPATH2.BAS create mode 100644 ELFELDT.BAS create mode 100644 FORMAT.BAS create mode 100644 HTML2LST.BAS create mode 100644 RUC.BAS create mode 100644 TBCLEANM.BAS create mode 100644 agen.bas create mode 100644 ampel.bas create mode 100644 ansipack.bas create mode 100644 bargraph.bas create mode 100644 bargraph.nfo create mode 100644 bildtest.bas create mode 100644 bin-dez.bas create mode 100644 bitmap/bitmap.bas create mode 100644 bitmap/bitmap.txt create mode 100644 bootinfo.bas create mode 100644 bootpass/access.dat create mode 100644 bootpass/bootpass.bas create mode 100644 bootpass/warn create mode 100644 bpm.bas create mode 100644 bpm2.bas create mode 100644 bpm_dl.bas create mode 100644 bpm_dlux.bas create mode 100644 bruch.bas create mode 100644 chem_dia/chem_dia.bas create mode 100644 chem_dia/chem_dia.fnt create mode 100644 chem_dia/chem_dia.ft_ create mode 100644 chem_dia/loadfont.com create mode 100644 chem_dia/savefont.com create mode 100644 chngdfv.bas create mode 100644 cit_095.bas create mode 100644 cit_100.bas create mode 100644 col_tab.bas create mode 100644 compi/andreas.cfg create mode 100644 compi/arne.cfg create mode 100644 compi/co&m.cfg create mode 100644 compi/compi.bas create mode 100644 compi/compi.cfg create mode 100644 compi/hans.cfg create mode 100644 compi/hans2.cfg create mode 100644 compi/hcv386.cfg create mode 100644 compi/hcv3862.cfg create mode 100644 compi/maik.cfg create mode 100644 csafe.bas create mode 100644 dart.bas create mode 100644 dart.gam create mode 100644 decode.bas create mode 100644 decrypt.bas create mode 100644 delpick.bas create mode 100644 dfvnc.bas create mode 100644 dostrend.bas create mode 100644 editpath.bas create mode 100644 fx7700ge.bas create mode 100644 gam_mast.bas create mode 100644 graftest/2dgraph.bas create mode 100644 graftest/2dgraph1.bas create mode 100644 graftest/2dgraph2.bas create mode 100644 graftest/3dline.bas create mode 100644 graftest/graftest.bas create mode 100644 graftest/grftest2.bas create mode 100644 graftest/grftest3.bas create mode 100644 hallo.bas create mode 100644 hd-data.bas create mode 100644 inst_xw/go.bas create mode 100644 inst_xw/install.bas create mode 100644 joy.bas create mode 100644 joytest.bas create mode 100644 keypro.bas create mode 100644 keyprog.bas create mode 100644 keys.bas create mode 100644 life/glider.lif create mode 100644 life/great_x.lif create mode 100644 life/life.bas create mode 100644 life/life.hlp create mode 100644 life/life.lif create mode 100644 life/megaglid.lif create mode 100644 life/serial.num create mode 100644 life/test.lif create mode 100644 life/x.lif create mode 100644 logos/hcv.bas create mode 100644 logos/ibm.bas create mode 100644 logos/logo.exe create mode 100644 makelst.exe create mode 100644 makeser.bas create mode 100644 makeser.exe create mode 100644 maketext.bas create mode 100644 mouse/mse.bas create mode 100644 mouse/mt.bas create mode 100644 mouse/mtlaunch.bat create mode 100644 movetest.bas create mode 100644 n-eck.bas create mode 100644 oszi.bas create mode 100644 oszi.win create mode 100644 pbc.cmt create mode 100644 pcalc.bas create mode 100644 pcalc.chk create mode 100644 pcalc.fnt create mode 100644 pfeiltst.bas create mode 100644 pingpong.bas create mode 100644 poincare/katze.inc create mode 100644 poincare/plus.inc create mode 100644 poincare/poincare.bas create mode 100644 pt_crack.bas create mode 100644 read_key.bas create mode 100644 rom0.bas create mode 100644 screen/katze.ssc create mode 100644 screen/loadscr.bas create mode 100644 screen/logo.ssc create mode 100644 screen/savescr.bas create mode 100644 screen/test.ssc create mode 100644 serial.num create mode 100644 specsymb.txt create mode 100644 termin/termin.bas create mode 100644 termin/termin.his create mode 100644 termin/termin.lst create mode 100644 termstst.bas create mode 100644 tetris/tetris.bas create mode 100644 tetris/tetris.exe create mode 100644 tetris/tetris.fnt create mode 100644 tnse/tnse.bas create mode 100644 tnse/tnse2.bas create mode 100644 tnse/tnse_wav.bas create mode 100644 unprot/info.txt create mode 100644 unprot/modup.bat create mode 100644 unprot/shroom.com create mode 100644 unprot/unp.bt_ create mode 100644 unprot/unp.com create mode 100644 unprot/unp.ovl create mode 100644 unprot/unp_.com create mode 100644 unprot/unprot.bas create mode 100644 unprot/unprot.exe create mode 100644 vidmodes.bas create mode 100644 vidmodes.exe create mode 100644 voc/bad_day.v_c create mode 100644 voc/bargraph.bas create mode 100644 voc/save_voc.bas create mode 100644 voc/sbtest.bas create mode 100644 voc/voc_vu.bas create mode 100644 voc/zarathus.bas create mode 100644 winlnchr/1/win_laun.bas create mode 100644 winlnchr/2/sysinis/1024x768.16c create mode 100644 winlnchr/2/sysinis/1024x768.256 create mode 100644 winlnchr/2/sysinis/640x480.256 create mode 100644 winlnchr/2/sysinis/800x600.16c create mode 100644 winlnchr/2/sysinis/800x600.256 create mode 100644 winlnchr/2/wl.bas create mode 100644 write.bas create mode 100644 wsprot.bas diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..36e2f75 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/!_PowerBASIC_!/ +*~ +*.pb diff --git a/CBF.BAS b/CBF.BAS new file mode 100644 index 0000000..64fa1d3 --- /dev/null +++ b/CBF.BAS @@ -0,0 +1,69 @@ +10 KEY OFF +20 CLS +40 ON ERROR GOTO 700 +50 CHCDE$="" +60 CODE$="" +70 ANF$="" +80 CDE$="" +90 BED$="" +100 COLOR 14 +110 LOCATE 1,30:PRINT"CB-Funk Hilfsprogramm" +120 LOCATE 2,40:COLOR 12:PRINT"written by RoboCop INDUSTRIES" +130 LOCATE 4,25:COLOR 10:PRINT"(C)1995-96 by RoboCop INDUSTRIES" +150 COLOR 15 +160 LOCATE 7,1:PRINT"Code : ";:COLOR 14:INPUT "",CODE$ +170 IF CODE$="END" OR CODE$="end" THEN COLOR 15:END +180 GOSUB 620 +190 ANF$=LEFT$(CODE$,1) +200 LOCATE 7,12:COLOR 14:PRINT CODE$ +210 COLOR 15:PRINT"Kategorie: "; +220 COLOR 13:PRINT"Suche ..." +230 LOCATE 8,12 +240 COLOR 14 +250 IF ANF$="Q" OR ANF$="q" THEN PRINT"Q-Code ":GOTO 340 +260 IF ANF$="S" AND LEN(CODE$)=2 AND ASC(RIGHT$(CODE$,1))>47 AND ASC(RIGHT$(CODE$,1))<58 THEN PRINT"S-Stufe ":GOTO 340 +270 IF ASC(ANF$)>47 AND ASC(ANF$)<58 THEN PRINT"Zahlencode":GOTO 340 +280 PRINT"unbekannt":GOTO 340 +290 COLOR 15:PRINT"Datendatei erweitern [J/N] ?" +300 A$=INKEY$:IF A$="" THEN 300 +310 IF A$="j" OR A$="J" THEN GOTO 530 +320 IF A$="n" OR A$="N" THEN GOTO 510 +330 GOTO 300 +340 COLOR 15:PRINT"Bedeutung: "; +350 COLOR 13:PRINT"Suche ..." +360 OPEN "I",#1,"CBF.DAT" +370 ON ERROR GOTO 390 +380 INPUT#1,CDE$,BED$:GOTO 400 +390 COLOR 14:LOCATE 9,12:PRINT"unbekannt":CLOSE #1:GOTO 290 +400 IF CDE$=CODE$ THEN CLOSE #1:GOTO 420 +410 GOTO 380 +420 IF LEFT$(BED$,7)="Station" THEN COLOR 14:LOCATE 8,12:PRINT"Rufname / Bezeichnung" +430 ON ERROR GOTO 690:COLOR 14:LOCATE 9,12 +440 IF LEN(BED$)>9 THEN GOTO 480 +450 FOR Y=LEN(BED$) TO 9 +460 BED$=BED$+" " +470 NEXT Y +480 PRINT BED$ +490 LOCATE 15,1:COLOR 9:PRINT"Taste drcken, wenn bereit" +500 A$=INKEY$:IF A$="" THEN 500 +510 CLS +520 RUN +530 '***** Datendatei erweitern +540 OPEN "A",#2,"CBF.DAT" +550 CLS:LOCATE 7,1:COLOR 15:PRINT"Code : ";CODE$ +560 INPUT"Bedeutung: ",BED$ +570 PRINT:PRINT"Alles richtig [J/N] ?" +580 A$=INKEY$:IF A$="" THEN 580 +590 IF A$="j" OR A$="J" THEN WRITE#2,CODE$,BED$:CLOSE #2:GOTO 510 +600 IF A$="n" OR A$="N" THEN GOTO 560 +610 GOTO 580 +620 '***** kleinbuchst. ----> GROáBUCHST. +630 FOR X=1 TO LEN(CODE$) +640 BUCHST$=MID$(CODE$,X,1) +650 IF ASC(BUCHST$)>96 AND ASC(BUCHST$)<123 THEN BUCHST$=CHR$(ASC(BUCHST$)-32) +660 CHCDE$=CHCDE$+BUCHST$ +670 NEXT X +680 IF LEN(CODE$)=LEN (CHCDE$) THEN 690 ELSE GOTO 700 +690 CODE$=CHCDE$:RETURN +700 COLOR 12:PRINT"FEHLER ist aufgetreten! Programmabbruch!":END + \ No newline at end of file diff --git a/CBF.DAT b/CBF.DAT new file mode 100644 index 0000000..915bff3 --- /dev/null +++ b/CBF.DAT @@ -0,0 +1,34 @@ +"QRA","Rufname / Kennung" +"QRG","Frequenz / Kanal" +"QRK","Lesbarkeit / Radiowert" +"QRL","Besch„ftigung bei der man nicht funken kann" +"QRM","St”rungen" +"QRT","Ende / Schluá" +"QRV","Bereit / auf Empfang" +"QRX","Bitte warten!" +"QRZ","Kommen / Rufe ..." +"QSA","Lautst„rke / Santiagowert" +"QSB","Fading" +"QSL","Empfangsbest„tigung" +"QSO","Funkverbindung" +"QSP","Vermittlung / Relaisstation" +"QST","An ALLE!" +"QSY","Frequenzwechsel / Kanalwechsel" +"QTH","Standort" +"QTR","Uhrzeit" +"S1","kaum h”rbares Signal" +"S2","sehr schwach h”rbares Signal" +"S3","mhsam h”rbares Signal" +"S4","leises. aber ausreichend h”rbares Signal" +"S5","noch schwaches. aber ziemlich gut h”rbares Signal" +"S6","gut h”rbares Signal" +"S7","lautes Signal" +"S8","sehr lautes Signal. voll aufgedrehte Lautst„rke nicht mehr m”glich" +"S9","„uáerst lautes Signal" +"55","viel Erfolg / viele QSO's" +"73","die besten Gráe" +"74","laá dich nicht erwischen" +"99","verschwinde" +"88","Liebe und Ksse" +"600","weiter am Telefon" + \ No newline at end of file diff --git a/DELTREE.BAS b/DELTREE.BAS new file mode 100644 index 0000000..e29fcd2 --- /dev/null +++ b/DELTREE.BAS @@ -0,0 +1,14 @@ + open "A",#1,"C:\HACKER.NFO" + datum$=mid$(date$,4,2)+"."+left$(date$,2)+"."+right$(date$,2) + print#1,"þ DELTREE-Versuch ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ" + print#1,"Datum: ";datum$;" ";chr$(15);" Uhrzeit: ";time$ + print#1,"Kommandozeile: DELTREE ";command$ + print#1,"Erfolgreich abgewehrt." + BEEP + COLOR 12:print"* * * W A R N U N G * * *":color 15 + print + print"Es wurde ein DELTREE-Versuch gemacht!" + print"Befehl: DELTREE ";command$ + print + print"DELTREE ist auf diesem Ger„t momentan deaktiviert." + \ No newline at end of file diff --git a/EDITPATH2.BAS b/EDITPATH2.BAS new file mode 100644 index 0000000..3053fe0 --- /dev/null +++ b/EDITPATH2.BAS @@ -0,0 +1,155 @@ +CLS +shell "mode co80" +DIM PATH$(40) +$INCLUDE "LOGO.INC" +color 15 +print +print"ððð EditPath ððð by RoboCop INDUSTRIES" +print +print"Lese Path-Variable ... "; +PATH$=ENVIRON$("PATH") +BACKUP$=PATH$ +print "OK" +if PATH$="" then + print + print"Pfad-Variable ist leer! Neu anlegen (J/N)?" + gosub InpKey + if a$="j" or a$="J" then goto NewPath + if A$="n" or A$="N" then goto Ende +end if +print"Splitte Path-String ... "; +x=1 +for y=1 to 255 + IF MID$(PATH$,y,2)=";" or mid$(path$,y,2)="" then PATHs=x:exit for + IF MID$(PATH$,y,1)=";" then x=x+1:goto 2 + PATH$(x)=PATH$(x)+mid$(PATH$,y,1) +2next y +print "OK" +goto EditPath + +NewPath: +PATHs=1 +PATH$(1)="C:\DOS" +goto EditPath + +InpKey: +1 A$=INKEY$:IF A$="" THEN 1 + RETURN + +EditPath: +chosen=1 +oldchosen=1 +oldy=1 +cls:color 15,1 +print"ððð EditPath ððð by RoboCop INDUSTRIES [ESC] - Ende"; + +EP: +locate 25,1:color 14,1:print space$(80); +color 15,0 +y=1 +for x=1 to PATHs + if x+2-z>22 and y<>41 then y=41:z=20:goto 4 + if x+2-z>22 and y=41 then end +4 locate x+2-z,y + print using"## \ \";x;PATH$(x); + locate x+3-z,y + print space$(40); +next x +z=0 +ShowPaths: +color 15,0 +locate oldchosen+2-oldz,oldy:print using"## \ \";oldchosen;PATH$(oldchosen); +if chosen<=20 then y=1:z=0 else y=41:z=20 +oldchosen=chosen:oldy=y:oldz=z +locate chosen+2-z,y +color 0,4:print using"## \ \";chosen;PATH$(chosen); +gosub InpKey +KeyIn$=MID$(A$,2,1) +if KeyIn$="H" and chosen>1 then sound 1000,.5:chosen=chosen-1 +if KeyIn$="P" and chosen20 then sound 1000,.5:chosen=chosen-20 +if KeyIn$="M" and chosen<21 and PATHs>=chosen+20 then sound 1000,.5:chosen=chosen+20 +if KeyIn$="R" and PATHs<40 then sound 1500,1:goto InsertOne +if KeyIn$="S" and PATHs>1 then sound 800,1:goto RemoveChosen +if KeyIn$="G" and chosen>1 then sound 1000,.5:chosen=1 +if KeyIn$="O" and chosen" +color 15 +print + +EnterFile: +input"Dateiname (z.B. project5)([ENTER] fr neue Datei): ",finame$ +finame$=finame$+".elf" +cls +screen 12 +if finame$=".elf" then goto HierWeiter1 +on error goto FileNotEx + open "I",#1,finame$ + close #1 + open "B",#1,finame$ +HierWeiter1: +on error goto SomeError +locate 1,1:color nneg:print"þ";:color 8:print" negativ" +locate 2,1:color npos:print"þ";:color 8:print" positiv" +locate 3,1:color nneu:print"þ";:print" neutral" +locate 5,1:color 14:print"+/-" +locate 6,2:color 8:print"Ladung" +locate 8,1:color 14:print"0" +locate 9,2:color 8:print"neutral" +locate 11,1:color 14:print"Cursor" +locate 12,2:color 8:print"bewegen" +locate 14,1:color 14:print"[ESC]" +locate 15,2:color 8:print"fertig!" +dim col(50,30) +dim num(50,30) +dim onum(50,30) +dim ocol(50,30) +for x=1 to 50 + for y=1 to 30 + color 8:locate y,x+14:print"ú"; + if done=0 then locate y,66:print str$(y);:if y<10 then locate y,11:print str$(y); else locate y,10:print str$(y); + if done=0 then locate y,14:print"³";:locate y,65:print"³";:oldy=y + if x=2 then done=1 + if finame$<>".elf" then get$ #1,1,ch$ else ch$=chr$(0) + locate y,x+14 + if asc(ch$)<128 then col(x,y)=npos:num(x,y)=asc(ch$) + if asc(ch$)>128 then col(x,y)=nneg:num(x,y)=256-asc(ch$) + if asc(ch$)=0 then col(x,y)=nneu + color col(x,y) + if num(x,y)<>0 then print right$(str$(num(x,y)),1); else print"ú"; + onum(x,y)=num(x,y) + ocol(x,y)=col(x,y) + if finame$<>".elf" then if eof(1) then exit for + next y + if finame$<>".elf" then if eof(1) then exit for +next x +if finame$<>".elf" then close #1 +newposx=1:newposy=1:gosub ShowNewPos +2 a$=inkey$:if a$="" then goto 2 +skey$=right$(a$,1) +if a$=chr$(27) then goto WannaSave +if ((a$="9" OR skey$="I") AND newposy>1 AND newposx<50) then newposy=newposy-1:newposx=newposx+1 +if ((a$="8" OR skey$="H") AND newposy>1) then newposy=newposy-1 +if ((a$="7" OR skey$="G") AND newposy>1 AND newposx>1) then newposy=newposy-1:newposx=newposx-1 +if ((a$="6" OR skey$="M") AND newposx<50) then newposx=newposx+1 +if ((a$="4" OR skey$="K") AND newposx>1) then newposx=newposx-1 +if ((a$="3" OR skey$="Q") AND newposy<30 AND newposx<50) then newposy=newposy+1:newposx=newposx+1 +if ((a$="2" OR skey$="P") AND newposy<30) then newposy=newposy+1 +if ((a$="1" OR skey$="O") AND newposy<30 AND newposx>1) then newposy=newposy+1:newposx=newposx-1 +if a$="0" OR skey$="R" then col(newposx,newposy)=nneu:num(newposx,newposy)=0 +if a$="+" then + x=newposx:y=newposy + OK=0 + if col(x,y)=nneu AND OK=0 then num(x,y)=1:col(x,y)=npos:OK=1 + if col(x,y)=nneg AND OK=0 then num(x,y)=num(x,y)-1:OK=1:if num(x,y)=0 then col(x,y)=nneu + if col(x,y)=npos AND OK=0 AND num(x,y)<9 then num(x,y)=num(x,y)+1:OK=1 +end if +if a$="-" then + x=newposx:y=newposy + OK=0 + if col(x,y)=nneu AND OK=0 then num(x,y)=1:col(x,y)=nneg:OK=1 + if col(x,y)=nneg AND OK=0 AND num(x,y)<9 then num(x,y)=num(x,y)+1:OK=1 + if col(x,y)=npos AND OK=0 then num(x,y)=num(x,y)-1:OK=1:if num(x,y)=0 then col(x,y)=nneu +end if +gosub ShowNewPos +goto 2 + +ShowNewPos: +locate OldposY,OldposX+14 +color col(OldposX,OldposY) +if num(OldposX,OldposY)=0 then print "ú"; else print right$(str$(num(OldposX,OldposY)),1); +locate NewPosY,NewPosX+14 +color col(NewPosX,NewPosY) +if num(NewPosX,NewPosY)=0 then + color hneu:print"ù"; +else + if col(NewPosX,NewPosY)=nneg then color hneg + if col(NewPosX,NewPosY)=npos then color hpos + print right$(str$(num(NewPosX,NewPosY)),1); +end if +OldposX=NewposX +OldposY=NewposY +locate 1,73 +color 14:print using"X## Y##";newposx;newposy; +return + +WannaSave: +screen 0 +cls +color 14 +print "-=ðþ Elektrische Felder þð=-" +color 7 +print " Editor geschrieben von RoboCop " +print +color 15 +for x=1 to 50 + for y=1 to 30 + if num(x,y)<>onum(x,y) OR col(x,y)<>ocol(x,y) then ChangedFlag=1:exit for + next y + if ChangedFlag=1 then exit for +next x +if ChangedFlag=1 then + color 12:print"ACHTUNG!! Daten wurden ver„ndert. "; +Question: + color 15:print"Žnderungen speichern (J/N)? "; +3 a$=inkey$:if a$="" then 3 + if a$="j" or A$="J" then print "J":goto SaveItNow + if a$="n" or a$="N" then print "N":goto DontSave + sound 600,1 + goto 3 +else + color 15:print"Es wurde nix ver„ndert....beende Programm." + goto HereUpToQuit +end if + +DontSave: +print "Sind Sie sich sicher (J/N)? "; +4 a$=inkey$:if a$="" then 4 + if a$="j" or a$="J" then print "J":goto HereUpToQuit + if a$="n" or a$="N" then print "N":goto Question + sound 600,1 + goto 4 + +SaveItNow: +color 14:print "þ Speichern" +color 15 +print +print "Dateiname (z.B. project6)([ENTER] fr ";finame$;"): "; +input "",fi2name$ +fi2name$=fi2name$+".elf" +if fi2name$=".elf" then fi2name$=finame$ +print "Speichere ... "; +open "B",#1,fi2name$ +for x=1 to 50 + for y=1 to 30 + countr=countr+1 + locate csrlin,15:print using"###%";(countr/(50*30))*100; + if col(x,y)=npos then put$ #1,chr$(num(x,y)) + if col(x,y)=nneg then put$ #1,chr$(256-num(x,y)) + if col(x,y)=nneu then put$ #1,chr$(0) + next y +next x +print " - OK" +print "Speichere Einstellungen ..."; +put$ #1,chr$(0)+"ngeClipboardChain"+chr$(1)+chr$(0)+"ø" +for x=1 to 7 + put$ #1,chr$(0) +next x +put$ #1,chr$(6)+chr$(13)+chr$(4) +for x=1 to 5 + put$ #1,chr$(0) +next x +put$ #1,"š"+chr$(1)+chr$(1)+chr$(1)+chr$(2)+chr$(0)+">"+chr$(1)+chr$(1)+chr$(1)+chr$(2)+">"+chr$(1)+chr$(1)+chr$(1)+chr$(2) +put$ #1,chr$(0)+chr$(0)+"R"+chr$(10)+"ChangeMenu"+chr$(1)+chr$(0) +put$ #1,chr$(0)+chr$(1) +for x=1 to 6 + put$ #1,chr$(0) +next x +put$ #1,chr$(6)+chr$(13)+chr$(4) +for x=1 to 5 + put$ #1,chr$(0) +next x +put$ #1,"š"+chr$(1)+chr$(1)+chr$(1)+chr$(5)+chr$(0)+">"+chr$(1)+chr$(1)+chr$(1)+chr$(2)+">"+chr$(1)+chr$(1)+chr$(1)+chr$(2) +put$ #1,"î"+chr$(1)+chr$(1)+chr$(1)+chr$(2)+">"+chr$(1)+chr$(1)+chr$(1)+chr$(2)+">"+chr$(1)+chr$(1)+chr$(1)+chr$(2)+chr$(0) +put$ #1,chr$(0)+"R"+chr$(14)+"ChangeSelector"+chr$(1)+chr$(0)+chr$(8)+chr$(1) +for x=1 to 6 + put$ #1,chr$(0) +next x +put$ #1,chr$(6)+chr$(13)+chr$(4) +for x=1 to 5 + put$ #1,chr$(0) +next x +put$ #1,">"+chr$(1)+chr$(1)+chr$(1)+chr$(2)+chr$(0)+">"+chr$(1)+chr$(1)+chr$(1)+chr$(2)+">"+chr$(1) +put$ #1,chr$(1)+chr$(1)+chr$(2)+chr$(0)+chr$(0)+"R"+chr$(14)+"CheckDlgButton"+chr$(1)+chr$(0)+chr$(16)+chr$(1) +for x=1 to 6 + put$ #1,chr$(0) +next x +put$ #1,chr$(6)+chr$(13)+chr$(4) +for x=1 to 9 + put$ #1,chr$(0) +next x +put$ #1,chr$(3)+chr$(0)+">"+chr$(1)+chr$(1)+chr$(1)+chr$(2)+"*"+chr$(1)+chr$(1)+chr$(1)+chr$(2)+">"+chr$(1)+chr$(1)+chr$(1)+chr$(2) +put$ #1,chr$(0)+chr$(0)+"R"+chr$(13)+"CheckMenuItem"+chr$(1)+chr$(0)+chr$(24)+chr$(1) +for x=1 to 6 + put$ #1,chr$(0) +next x +put$ #1,chr$(6)+chr$(13)+chr$(4)+chr$(0)+chr$(0) +close #1 +print " OK" +goto HereUpToQuit + +FileNotEx: +color 12:print"FEHLER!! Diese Datei existiert nicht!" +color 15 +resume EnterFile + +SomeError: +color 12:print"FEHLER!! Es ist ein unbekannter Fehler aufgetreten." +color 15:print"Versuchen Sie es mit einer anderen Datendatei." +resume HereUpToQuit + +HereUpToQuit: +print +print "Programm beendet." \ No newline at end of file diff --git a/FORMAT.BAS b/FORMAT.BAS new file mode 100644 index 0000000..587cec2 --- /dev/null +++ b/FORMAT.BAS @@ -0,0 +1,14 @@ + open "A",#1,"C:\HACKER.NFO" + datum$=mid$(date$,4,2)+"."+left$(date$,2)+"."+right$(date$,2) + print#1,"þ FORMAT-Versuch ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ" + print#1,"Datum: ";datum$;" ";chr$(15);" Uhrzeit: ";time$ + print#1,"Kommandozeile: FORMAT ";command$ + print#1,"Erfolgreich abgewehrt." + BEEP + COLOR 12:print"* * * W A R N U N G * * *":color 15 + print + print"Es wurde ein FORMAT-Versuch gemacht!" + print"Befehl: FORMAT ";command$ + print + print"FORMAT ist auf diesem Ger„t momentan deaktiviert." + \ No newline at end of file diff --git a/HTML2LST.BAS b/HTML2LST.BAS new file mode 100644 index 0000000..4ebda64 --- /dev/null +++ b/HTML2LST.BAS @@ -0,0 +1,61 @@ + dim eta(1000) + cls + print"þ HTML to List" + print + print"Converts HTML-File of a germany.net-Userlist into a Textfile" + print + shell "DIR gnusers.htm >html2lst.tmp" + open "I",#1,"html2lst.tmp" + for x=1 to 6:line input #1,dat$:next x + close #1 + kill "html2lst.tmp" + size$=mid$(dat$,16,3)+mid$(dat$,20,3)+mid$(dat$,24,3) + size=val(Size$) + size=size-63422 + open "I",#1,"gnusers.htm" + open "O",#2,"gnusers.txt" + for x=1 to 10:line input#1,dummy$:next x + starttime=timer +1 line input #1,dat$ + bytecount=bytecount+Len(dat$) + l=l+1 + if dat$="" or dat$="" then goto Ende + for x=1 to 20 + x$=mid$(dat$,x,3) + if x$="" or x$="" then a=x:exit for + next x + ot$= mid$(dat$,a+8,10) 'Usernumber + ot$=ot$+mid$(dat$,a+26,99) 'Username and City + if inkey$=chr$(27) then end + if timer-1>oldtim then gosub ShowEta:oldtim=timer + if ot$<>"" then print #2,ot$ + if eof(1) then goto Ende else goto 1 + +ShowEta: + pro=int((bytecount/size)*100) + if pro>0 then + tim=int(timer-starttime) + eta=int(tim/(bytecount/size)) + if pro>5 then + ect=ect+1 + eta(ect)=eta + for y=1 to ect:etb=etb+eta(ect):next y:eta=etb/ect:etb=0 + end if + tm=int(tim/60) + ts=int(tim)-tm*60 + em=int(eta/60) + es=int(eta)-em*60 + end if + locate csrlin,1:print using "Bytes: #######/#######(Zeile: ######) ###% Zeit: ";bytecount;size;l;pro; + if tm<10 then print using "0#_.";tm; else print using "##_.";tm; + if ts<10 then print using "0# ETA: ";ts; else print using "## ETA: ";ts; + if em<10 then print using "0#_.";em; else print using "##_.";em; + if es<10 then print using "0#";es; else print using "##";es; + print " "; + return + +Ende: + print + print"Programm beendet." + end + \ No newline at end of file diff --git a/RUC.BAS b/RUC.BAS new file mode 100644 index 0000000..1ec5ef7 --- /dev/null +++ b/RUC.BAS @@ -0,0 +1,37 @@ + cls + print "-=ðþ Olson Software Help Tools Cracker þð=-" + print + print "RUC.INI format:" + print chr$(34)+"helpfile"+chr$(34)+","+chr$(34)+"name"+chr$(34)+",countstart" + print + print "helpfile is needed for REGUTIL.EXE" + print "name is the desired name" + print "countstart is the starting number from which to try" + print + print "Reading infos ... "; + open "I",#1,"RUC.INI" + input #1,hf$,nam$,x + close #1 + print "OK ("+hf$+";"+nam$+";"+right$(str$(x),len(str$(x))-1)+")" + print "Cracking sequence begins (ESC breaks):" +Again: + locate 12,1:print "þ"; + x$=right$(str$(x),len(str$(x))-1) + print "þ"; + open "A",#1,"regutil.out" + print "þ"; + print #1,chr$(13)+"["+x$+"] "; + print "þ"; + close #1 + print "þ"; + print"ð "+x$+" ð"; + shel$="regutil.exe "+hf$+" "+chr$(34)+nam$+chr$(34)+" "+x$+" >>regutil.out" + print "þ"; + shell shel$ + print "þ"; + x=x+1 + print "þ OK"; + if inkey$=chr$(27) then end + locate 12,1:print space$(79); + goto Again + \ No newline at end of file diff --git a/TBCLEANM.BAS b/TBCLEANM.BAS new file mode 100644 index 0000000..5b947fa --- /dev/null +++ b/TBCLEANM.BAS @@ -0,0 +1,18 @@ +cls +open "I",#1,"C:\TBAV.LOG" +1 if eof(1)=0 then + line input #1,zeile$ + if mid$(Zeile$,2,1)=":" and right$(Zeile$,2)="XE" then + print "Bearbeite: "+Zeile$ + shellstr$="TBCLEAN "+left$(Zeile$,Len(Zeile$)-3)+"VXE "+left$(Zeile$,Len(Zeile$)-3)+"EXE" + print "S„ubere...." + shell shellstr$ + print "L”sche infizierte Datei...."; + kill left$(Zeile$,Len(Zeile$)-3)+"VXE" + print "OK" + x=x+1 + end if + end if +goto 1 +print "Komplett! ";x;" Dateien bearbeitet" +end \ No newline at end of file diff --git a/agen.bas b/agen.bas new file mode 100644 index 0000000..04e6f0c --- /dev/null +++ b/agen.bas @@ -0,0 +1,186 @@ +DECLARE SUB MakePat (Zw$, ZwF%, ZwB%) +DECLARE SUB MakeANSI (offen%) +DECLARE FUNCTION InsPat$ (Zahl%) +DECLARE FUNCTION PosOK% (Up%, Max%) +DECLARE SUB MakeSITS (eingabe$, laenge%) +CONST MaxEin = 70 +CONST MaxAus = 80 +DIM zeile AS STRING * MaxEin +DIM SHARED Result AS STRING * MaxAus +DIM SHARED ResultF(MaxAus + 1), ResultB(MaxAus + 1) AS INTEGER +DIM minpat AS INTEGER +DIM Patlen AS INTEGER +DIM veil AS INTEGER +RANDOMIZE TIMER +CONST maxpat = 10 + +CONST Zeichen = "°±²Û" +CONST Zeichenk = 4 +CONST FColor = 16 +CONST BColor = 8 +CLS +PRINT " AGEN V111.111á" +PRINT " (c) Arndt Grass" +PRINT : PRINT +INPUT "Filename"; datei$ +INPUT "Wie soll die ANSI-Ausgabedatei heiáen"; ausdatei$ +nustart: +OPEN datei$ FOR INPUT AS #1 +veil = FREEFILE +OPEN ausdatei$ FOR OUTPUT AS veil +minpat = 5 +DO + PRINT "Wie lang soll das Pattern gew„hlt werden (min."; minpat; " max."; maxpat; ")"; + INPUT Patlen +LOOP UNTIL (Patlen <= maxpat) AND (Patlen >= minpat) +WHILE NOT EOF(1) + LINE INPUT #1, zeile + Result = "" + FOR i = 1 TO MaxAus + ResultF(i) = 0 + ResultB(i) = 0 + NEXT i + CALL MakeSITS(zeile, Patlen) + CALL MakeANSI(veil) +WEND +CLOSE +COLOR 1, 0 +PRINT +PRINT " (W)iederholen oder (S)peichern und Ende?" +repeat: +ink$ = "" +WHILE ink$ = "" + ink$ = INKEY$ +WEND +IF UCASE$(ink$) = "S" THEN + CLS + END +ELSEIF UCASE$(ink$) = "W" THEN + GOTO nustart +ELSE + GOTO repeat +END IF + +SUB delpat (pattern$, PatPosition%, Aktuell%, change%) + + FOR i = 1 TO change% + IF PatPosition% = Aktuell% THEN + pattern$ = LEFT$(pattern$, Aktuell% - 1) + Aktuell% = Aktuell% - 1 + PatPosition% = PosOK%(PatPosition%, Aktuell%) + ELSE + pattern$ = LEFT$(pattern$, PatPosition% - 1) + RIGHT$(pattern$, Aktuell% - PattPosition%) + Aktuell% = Aktuell% - 1 + END IF + NEXT i +END SUB + +FUNCTION InsPat$ (Zahl%) + Zw$ = "" + FOR i = 1 TO Zahl% + Zw$ = Zw$ + CHR$(Start + INT(Ende * RND)) + NEXT i + InsPat$ = Zw$ +END FUNCTION + +SUB MakeANSI (offen%) + FOR i = 1 TO LEN(Result) + p$ = CHR$(27) + "[0;" + IF ResultF(i) > 7 THEN + p$ = p$ + "1;" + ResultF(i) = ResultF(i) - 8 + END IF + p$ = p$ + "3" + CHR$(48 + ResultF(i)) + ";4" + CHR$(48 + ResultB(i)) + "m" + MID$(Result, i, 1) + COLOR ResultF(i), ResultB(i) + PRINT MID$(Result, i, 1); + PRINT #offen%, p$; + NEXT + PRINT #offen%, CHR$(13); + + + + +END SUB + +SUB MakePat (Zw$, ZwF%, ZwB%) + + Zw$ = MID$(Zeichen, INT(Zeichenk * RND) + 1, 1) + ZwB% = INT(RND * BColor) + DO + ZwF% = INT(RND * FColor) + LOOP UNTIL ZwF% <> ZwB% + +END SUB + +SUB MakeSITS (eingabe$, laenge%) +DIM Vore%(20), Back(20) AS INTEGER +DIM RanDot(20) AS STRING * 1 +DIM PatPos AS INTEGER + + 'Pattern generieren + FOR ii = 1 TO laenge% + CALL MakePat(RanDot(ii), Vore%(ii), Back(ii)) + NEXT ii + Aktuell% = laenge% + + level% = 0 + FOR i = 1 TO Aktuell% 'Leerpattern schreiben + MID$(Result, i) = RanDot(i) + ResultF(i) = Vore%(i) + ResultB(i) = Back(i) + NEXT i + + PatPos = 1 'Erste Patternposition festlegen + FOR i = 1 TO LEN(eingabe$) 'Eingabe abarbeiten + a$ = MID$(eingabe$, i, 1) + IF a$ = " " THEN neuLevel% = 0 ELSE neuLevel% = VAL(a$) + IF neuLevel% <> level% THEN + IF level% > neuLevel% THEN + change% = level% - neuLevel% + FOR j = Aktuell% TO PatPos STEP -1 + RanDot(j + change%) = RanDot(j) + Vore%(j + change%) = Vore%(j) + Back(j + change%) = Back(j) + NEXT + FOR j = 0 TO change% - 1 + RanDot(j + PatPos) = MID$(Zeichen, INT(Zeichenk * RND) + 1, 1) + Back(j + PatPos) = INT(RND * BColor) + DO + Vore%(j + PatPos) = INT(RND * FColor) + LOOP UNTIL Back(j + PatPos) <> Vore%(j + PatPos) + NEXT + Aktuell% = Aktuell% + change% + ELSE 'neulevel kleiner level + change% = neuLevel% - level% + FOR k = 1 TO change% + FOR j = PatPos TO Aktuell% - 1 + RanDot(j) = RanDot(j + 1) + Vore%(j) = Vore%(j + 1) + Back(j) = Back(j + 1) + NEXT + Aktuell% = Aktuell% - 1 + PatPos = PosOK%(PatPos, Aktuell%) + NEXT k + END IF + level% = neuLevel% + END IF + MID$(Result, i + laenge%) = RanDot(PatPos) + ResultF(i + laenge%) = Vore%(PatPos) + ResultB(i + laenge%) = Back(PatPos) + PatPos = PatPos + 1 + PatPos = PosOK%(PatPos, Aktuell%) + NEXT i + +END SUB + +FUNCTION PosOK% (Up%, Max%) + + IF Up% > Max% THEN + PosOK% = 1 + ELSE + PosOK% = Up% + END IF + +END FUNCTION + + \ No newline at end of file diff --git a/ampel.bas b/ampel.bas new file mode 100644 index 0000000..f391eba --- /dev/null +++ b/ampel.bas @@ -0,0 +1,55 @@ +'Verkehrsampeln, zeitgesteuert (AL aktuell,S.88 ) + SCREEN 9 '(Band 2, Oldenbourg ) + LOCATE 3,26:print "Ampel 1 Ampel 2" + rot = 12: gelb = 14: gruen = 10: weiss = 15: schwarz = 0 + drot= 8 :dgelb = 8 :dgruen = 8 :dweiss = 7 +'----------------------------------------------------- + daten: + DATA 6 + DATA 1,0,0,0,0,1,5 + DATA 1,0,0,0,1,0,3 + DATA 1,1,0,1,0,0,3 + DATA 0,0,1,1,0,0,5 + DATA 0,1,0,1,0,0,3 + DATA 1,0,0,1,1,0,3 +'----------------------------------------------------- + RESTORE daten: READ phasen + for i=1 to phasen: locate 2,2:print"Phase: ";i + if inkey$<>"" then end + READ rotein,gelbein,gruenein + xa=200:ya=50:dy=150 + gosub ampel3 + read rotein,gelbein,gruenein + xa=400:ya=50:dy=150 + gosub ampel3 + n=1 + read zeit:delay zeit + next i +'--------------------------- SUBROUTINEN ------------------ +ampel3: + ver=.4 + ye=ya+dy + xe=xa+ver*(ye-ya):lr=(xe-xa)*.4 + xm=xa+(xe-xa)/2 + if n=0 then line (xa,ya)-(xe,ye),weiss,B + line (xa+1,ya+1)-(xe-1,ye-1),schwarz,BF + circle (xm,ya+1/6*(ye-ya)),lr,rot + if rotein then paint step(0,0),rot else paint step(0,0),drot,rot + circle (xm,ya+3/6*(ye-ya)),lr,gelb + if gelbein then paint step(0,0),gelb else paint step(0,0),dgelb,gelb + circle (xm,ya+5/6*(ye-ya)),lr,gruen + if gruenein then paint step(0,0),gruen else paint step(0,0),dgruen,gruen + return + +ampel2: + ver=.7 + ye=ya+dy + xe=xa+ver*(ye-ya):lr=(xe-xa)*.4 + xm=xa+(xe-xa)/2 + line (xa,ya)-(xe,ye),weiss,B + line (xa+1,ya+1)-(xe-1,ye-1),schwarz,BF + circle (xm,ya+1/4*(ye-ya)),lr,rot + if rotein then paint step(0,0),rot else paint step(0,0),drot,rot + circle (xm,ya+3/4*(ye-ya)),lr,gruen + if gruenein then paint step(0,0),gruen else paint step(0,0),dgruen,gruen + return \ No newline at end of file diff --git a/ansipack.bas b/ansipack.bas new file mode 100644 index 0000000..5e925be --- /dev/null +++ b/ansipack.bas @@ -0,0 +1,104 @@ + cls + maxzei=50 + maxwert=100 + $include "logo.inc" + color 15:print"ððð ANSI-PACKer ððð v";ver$;" by RoboCop INDUSTRIES" + print + print"Dieses Programm sucht in ANSI-Dateien (meiát mit .ANS Endung) nach" + print"doppelten Deklarationen. (z.B.: 0;36m°0;37m± ==> 0;36m°37m±)!" + +TryAgain: + print + color 14 + input"Dateiname (mit Endung): ",fil$ + if fil$="" then goto ENDE + on error goto WheresTheFile + open "I",#1,fil$ + close #1 + on error goto + outfil$="" + for x=1 to len(fil$) + if mid$(fil$,x,1)="." then exit for + outfil$=outfil$+mid$(fil$,x,1) + next x + if len(outfil$)<8 then outfil$=outfil$+"2.ANS" else outfil$=left$(outfil$,7)+"2.ANS" + print"Ausgabedatei : ";outfil$ + color 10:print"[G]ut so! "; + color 12:print"[Ž]ndern!?":color 14 +1 a$=inkey$:if a$="" then 1 + if a$="g" or a$="G" then goto 2 + if a$="„" or a$="Ž" then goto 3 + goto 1 + +WheresTheFile: + print + color 28:print"Datei nicht gefunden!!!" + color 12:print"šberprfen Sie den Dateinamen auf Richtigkeit!" + delay 5 + resume TryAgain + +3 print + input"Ausgabedatei (mit Endung): ",outfil$ + goto 2 +2 color 15 + print + print"DIMensioniere Variablen auf";maxzei;"Zeilen ... "; + dim zeile$(maxzei) + dim wert$(maxwert,10) + print"Variablen dimensioniert" + print"™ffne Eingabedatei ... "; + open "I",#1,fil$ + print"Datei ge”ffnet" + print"™ffne Ausgabedatei ... "; + open "O",#2,outfil$ + print"Datei ge”ffnet" + anzw=0 + print"Lese Eingabedatei ein ..."; + x=1 +4 line input#1,zeile$(x) + if eof(1) then zeilen=x else x=x+1:goto 4 + print zeilen;"Zeilen eingelesen" + print "Lese Werte ein ..."; + for zei=1 to zeilen + for xpos=1 to len(zeile$(zei)) + x$=mid$(zeile$(zei),xpos,1) + if vlue=1 then value$=value$+x$ + if x$="m" then vlue=0:y=y+1:gosub ScrambleIt + if x$="[" then vlue=1 + next xpos + next zei + maxw=y + print anzw;"Werte in";y;"Wertegruppen gelesen" + + + + + + + + goto ENDE + +ScrambleIt: + z=1 + x=1 +10 if mid$(value$,x,1)=";" then anzw=anzw+1:z=z+1:x=x+1:if x=len(value$) then value$="":return else goto 10 + wert$(y,z)=wert$(y,z)+mid$(value$,x,1) + x=x+1:if x=len(value$) then value$="":return else goto 10 + + + + + + + + + + +ENDE: + print + print"Fahre Programm herunter ... "; + close #1 + close #2 + print"Programm heruntergefahren." + print + end \ No newline at end of file diff --git a/bargraph.bas b/bargraph.bas new file mode 100644 index 0000000..ade73f1 --- /dev/null +++ b/bargraph.bas @@ -0,0 +1,33 @@ +Mode=8 'vidmode to use +Lines=25 'number of lines in desired vidmode +Columns=80 'number of columns in desired vidmode +TakesPerLine=Columns/40 'calculates loops per line +BGCol=0 'enables backgroundcolorchange + +if BGCol=1 then BG1=1:BG2=2:BG3=3:BG4=4 else BG1=0:BG2=0:BG3=0:BG4=0 + +screen Mode +WoAllesBegann: +x=x+1 +color 9,BG1:print" ±²Û"; 'Bargraph forward +color 9,BG3:print"± "; +color 11,BG3:print"±Û"; +color 11,BG2:print"²±"; +color 10,BG2:print"±Û"; +color 14,BG2:print"±²Û"; +color 14,BG4:print"²±"; +color 12,BG4:print"±²Û"; +delay .05 +color 12,BG4:print"Û²±"; 'Bargraph backward +color 14,BG4:print"±²"; +color 14,BG2:print"Û²±"; +color 10,BG2:print"Û±"; +color 11,BG2:print"±²"; +color 11,BG3:print"Û±"; +color 9,BG3:print" ±"; +color 9,BG1:print"Û²± "; +delay .1 +if inkey$=chr$(27) then end +if x=(Lines-1)*TakesPerLine then locate Lines,1 +if x=Lines*TakesPerLine then color 15,0,0:end else goto WoAllesBegann + \ No newline at end of file diff --git a/bargraph.nfo b/bargraph.nfo new file mode 100644 index 0000000..41c7fec --- /dev/null +++ b/bargraph.nfo @@ -0,0 +1,22 @@ +ä: Total  ±²Û± ±Û²±±Û±²Û²±±²Û 888 + 888 = 888 Mb Phys= 888 +Chr-ASCII-Code ³³³³³³³³³³³³³³³³³³³³ Chr FC BC +FC -Vordergrund ³³³³³³³³³³³³³³³³³³³ÀÄ219/12/x +BC -Hintergrund ³³³³³³³³³³³³³³³³³³ÀÄÄ178/12/4 +x = egal ³³³³³³³³³³³³³³³³³ÀÄÄÄ177/12/4 + ³³³³³³³³³³³³³³³³ÀÄÄÄÄ177/14/4 + ³³³³³³³³³³³³³³³ÀÄÄÄÄÄ178/14/4 + ³³³³³³³³³³³³³³ÀÄÄÄÄÄÄ219/14/x + ³³³³³³³³³³³³³ÀÄÄÄÄÄÄÄ178/14/2 + ³³³³³³³³³³³³ÀÄÄÄÄÄÄÄÄ177/14/2 + ³³³³³³³³³³³ÀÄÄÄÄÄÄÄÄÄ219/10/x + ³³³³³³³³³³ÀÄÄÄÄÄÄÄÄÄÄ177/10/2 + ³³³³³³³³³ÀÄÄÄÄÄÄÄÄÄÄÄ177/11/2 + ³³³³³³³³ÀÄÄÄÄÄÄÄÄÄÄÄÄ178/11/2 + ³³³³³³³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ219/11/x + ³³³³³³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄ177/11/3 + ³³³³³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 32/ x/3 + ³³³³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ177/ 9/3 + ³³³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ219/ 9/x + ³³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ178/ 9/1 + ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ177/ 9/1 + ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 32/ x/1 diff --git a/bildtest.bas b/bildtest.bas new file mode 100644 index 0000000..740cfd7 --- /dev/null +++ b/bildtest.bas @@ -0,0 +1,60 @@ + screen 12 + call g(40,0) + call g(15,0) + for i=0 to 639 step 40 + line (i,0)-(i+40,480),i/40,bf + next i + call w(0) + call d(0,639,0,480,20,15,1) + call w(0) + for i=0 to 500 step 10 + circle (320,240),i,2 + next + call w(0) + z=1 + for i=0 to 630 step 160 + z=z+1 + call m(i,i+160,z,0,240) + next + z=6 + for i=0 to 630 step 160 + z=z-1 + call m(i,i+160,z,240,479) + next + call w(0) + call g(40,1) + call d(20,620,20,460,80,80,0) + call d(60,620,60,460,80,80,0) + call w(0) + + SUB w(c) + c$=inkey$ + do + loop until instat + if c=0 then cls + END SUB + + SUB g(s,c) + cls + for x=0 to 639 step s + line (x,0)-(x,479),15 + next + for y=10 to 479 step s + line (0,y)-(639,y),15 + next + call w(c) + END SUB + + SUB d(x1,x2,y1,y2,s1,s2,wa) + for x=x1 to x2 step s1 + for y=y1 to y2 step s2 + if wa=0 then paint (x,y),15,15 else pset (x,y) + next + next + END SUB + + SUB m(x1,x2,s,j,k) + for x=x1 to x2 step s + line (x,j)-(x,k),15 + next + END SUB \ No newline at end of file diff --git a/bin-dez.bas b/bin-dez.bas new file mode 100644 index 0000000..e326cdb --- /dev/null +++ b/bin-dez.bas @@ -0,0 +1,161 @@ +shell "mode co80" +cls +gosub StatusPaint +memo=26:memo$="Bitte warten...":gosub StatusDisp +locate 1,1 +color 14:print"Umrechnungen BIN/DEZ written by RoboCop INDUSTRIES" +color 15:print +print"W„hlen Sie eine Umrechnung:";:color 31:print"_":for z=0 to 7500:next z +locate 3,28:print" " +print"_":for z=0 to 7500:next z:locate 4,1:print" " +texta$="[1] DEZimal in BIN„r" +textb$="[2] BIN„r in DEZimal" +for z=1 to 20 +locate 5,z:color 15 +print mid$(texta$,z,1);:color 31:print"_" +for x=0 to 500:next x +next z +for x=0 to 7500:next x +locate 5,21:print" " +locate 6,1:color 31:print"_" +for x=0 to 7500:next x +locate 6,1:print" " +for z=1 to 20 +locate 7,z:color 15 +print mid$(textb$,z,1);:color 31:print"_" +for x=0 to 500:next x +next z +for x=0 to 7500:next x +locate 7,21:print" " +color 31:print"_" +for x=0 to 7500:next x +locate 8,1:print" " +texta$="Geben Sie eine Zahl ein: " +for z=1 to 25 +locate 9,z:color 15 +print mid$(texta$,z,1);:color 31:print"_" +for x=0 to 500:next x +next z +Anfang: +memo=14:memo$="Ziffer eingeben!":gosub StatusDisp +1 a$=inkey$:if a$="" then 1 +if a$="1" then goto DezToBin +if a$="2" then goto BinToDez +goto 1 + +DezToBin: +locate 9,26:color 15:print"1";:color 31:print"_" +memo=26:memo$="Bitte warten...":gosub StatusDisp +for z=0 to 5000:next z +textb$=" - Dezimal in Bin„r umrechnen" +for z=1 to 31 +locate 9,26+z:color 15 +print mid$(textb$,z,1);:color 31:print"_" +for x=0 to 500:next x +next z +cls +gosub StatusPaint +memo=14:memo$="Bitte Zahl eingeben":gosub StatusDisp +locate 1,1 +color 10:print"Umrechnen von Dezimal in Bin„r" +color 12:print" This program was written by RoboCop INDUSTRIES" +color 0:print"Wenn du diesen Text lesen kannst, hast du das hier ausgedruckt oder bist in" +print"der Datei! Und das sollst du nicht! Geh weg, laá mich in ruh'!" +print"Fick dich ins Knie!" +color 15 +input"Geben Sie eine Dezimale Zahl ein: ",dez +memo=26:memo$="Bitte warten...":gosub StatusDisp +zhl=0 +erg$="" +erg=0 +mx=67108864 +for z=1 to 27 +if zhl+mx>dez then mx=mx/2:if erg=1 then erg$=erg$+"0":goto 2 else goto 2 +erg$=erg$+"1":erg=1:zhl=zhl+mx:mx=mx/2 +2 next z +memo=10:memo$="Bitte Taste drcken":gosub StatusDisp +color 15:locate 8,1 +print"Die Bin„rzahl lautet :";erg$ +3 a$=inkey$:if a$="" then 3 +goto EndAsk + +BinToDez: +locate 9,26:color 15:print"2";:color 31:print"_" +memo=26:memo$="Bitte warten...":gosub StatusDisp +for z=0 to 5000:next z +textb$=" - Bin„r in Dezimal umrechnen" +for z=1 to 31 +locate 9,26+z:color 15 +print mid$(textb$,z,1);:color 31:print"_" +for x=0 to 500:next x +next z +cls +gosub StatusPaint +memo=14:memo$="Bitte Code eingeben":gosub StatusDisp +locate 1,1 +color 10:print"Umrechnen von Bin„r in Dezimal" +color 12:print" This program was written by RoboCop INDUSTRIES" +color 0:print"Wenn du diesen Text lesen kannst, hast du das hier ausgedruckt oder bist in" +print"der Datei! Und das sollst du nicht! Geh weg, laá mich in ruh'!" +print"Fick dich ins Knie!" +color 15 +input"Geben Sie einen Bin„r-Code ein: ",bn$ +memo=26:memo$="Bitte warten...":gosub StatusDisp +mx=1 +for z=0-len(bn$) to -1 +zhl$=mid$(bn$,z*-1,1) +if zhl$="1" then erg=erg+mx:goto 5 +if zhl$="0" then goto 5 +5 mx=mx*2:next z +memo=10:memo$="Bitte Taste drcken":gosub StatusDisp +color 15:locate 8,1 +print"Die Dezimalzahl lautet: ";erg +7 a$=inkey$:if a$="" then 7 +goto EndAsk + +EndAsk: +memo=12:memo$="J oder N drcken":gosub StatusDisp +locate 10,1 +color 14 +print"Wollen Sie noch eine Umrechnung machen [J/N] ?" +4 a$=inkey$:if a$="" then 4 +if a$="j" or a$="J" then goto Begin +if a$="n" or a$="N" then goto Ende +goto 4 + +Begin: +cls +gosub StatusPaint +memo=14:memo$="Ziffer eingeben!":gosub StatusDisp +locate 1,1:color 14:print"Umrechnen von BIN„r- und DEZimal-Zahlen" +color 10:print" written by RoboCop INDUSTRIES" +print +print +color 15:print"[1] Umrechnen von DEZ in BIN" +print +print"[2] Umrechnen von BIN in DEZ" +print +print"Geben Sie eine Zahl ein: " +goto Anfang + +StatusDisp: +locate 24,3:color memo +for z=len(memo$) to 21 +memo$=memo$+" " +next z +print memo$; +return + +StatusPaint: +locate 21,1:color 15:print"ÚÄÄÄÄÄÄÄÄ¿" +locate 22,1:color 15:print"³ Status º" +locate 23,1:color 15:print"ÆÍÍÍÍÍÍÍÍÊÍÍÄÄÄÄÄÄÄÄÄÄÄÄ¿" +locate 24,1:color 15:print"³ --------------------- º"; +locate 25,1:color 15:print"ÀÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ"; +return + +Ende: +color 15 +cls +locate 1,1 +end \ No newline at end of file diff --git a/bitmap/bitmap.bas b/bitmap/bitmap.bas new file mode 100644 index 0000000..0179bbc --- /dev/null +++ b/bitmap/bitmap.bas @@ -0,0 +1,203 @@ + CLS + shell "mode co80" + $INCLUDE "PBWINDOW.INC" + goto Weiter + $INCLUDE "FX_WRITE.INC" + +Weiter: + $INCLUDE "LOGO.INC" +' goto StartUp + TXT$="presents" + Lin=CSRLIN-1 + gosub WriteText + print + TXT$="The BitMaP-Brother" + Lin=csrlin-1 + gosub WriteText + delay 1 + goto StartUp + +FileNotExist: + close #1 + Msg$=Msg$+"FEHLER!" + call PrtWindow(5,2,Msg$) + call MakeWindow(10,20,6,40,ColAttr%(12,4),5,4,2) + call TitleWindow(2,"[ Fehler 001 ]") + for x=1 to 3 + sound 1000,1 + delay 1.5/18.2 + next x + call PrtCWindow(2,"Diese Datei existiert nicht!") + call PrtCWindow(3,"Geben Sie eine existierende an.") + call TitleWindow(5," Taste ... ") +3 a$=inkey$:if a$="" then 3 + call RemoveWindow + call PrtWindow(5,2," ") + if NoError=0 then resume NeedInput else goto NeedInput + +StartUp: + call MakeWindow(10,18,11,44,ColAttr%(15,1),4,4,1) + call TitleWindow(1,"[ The Bitmap-Brother ]") + call PrtWindow(2,2,"Geben Sie die Datei an, welche nach BMPs") +NeedInput: + call PrtWindow(3,2,"durchsucht werden soll: ") + locate 13,44:color 14,1 + input "",File$ + File$=ucase$(File$) + if File$="Q" then goto Ende + Msg$="™ffne '"+File$+"' ... " + on error goto FileNotExist + call PrtWindow(5,2,Msg$) + open "B",#1,File$ + on error goto + DOS$="DIR "+File$+" >BITMAP.$$1" + shell DOS$ + open "I",#2,"BITMAP.$$1" + for x=1 to 6 + line input #2,FileInfo$ + next x + close #2 + kill "BITMAP.$$1" + FileSize=(val(mid$(FileInfo$,16,3))*1000000)+(val(mid$(FileInfo$,20,3))*1000)+(val(mid$(FileInfo$,24,3))) + if FileSize=0 then NoError=1:kill File$:goto FileNotExist + Msg$="™ffne '"+File$+"' ... ge”ffnet" + call PrtWindow(5,2,Msg$) + call PrtWindow(6,2,"Durchsuche Datei ... ") + call MakeWindow(5,5,16,64,ColAttr%(15,1),1,4,1) + call TitleWindow(1,"[ Durchsuche Datei ... ]") + ONSymb1=219 + ONSymb2=178 + ONSymb3=177 + ONSymb4=176 + OFSymb=250 + call PrtWindow(2,2,"Starte Scan ...") + StartUpHour=val(mid$(Time$,1,2)) + StartUpMinu=val(mid$(time$,4,2)) + StartUpSeco=val(mid$(time$,7,2)) + Time$="00:00:00" + Msg$="Byte XXXXXXXXX von "+using$("#########",FileSize) + call PrtWindow(4,2,Msg$) + Msg$="" + for x=1 to 60 + Msg$=Msg$+chr$(OFSymb) + next x + call PrtWindow(6,2,Msg$) + call PrtWindow(7,2,"0 2 5 7 1") + call PrtWindow(8,2," 5 0 5 0") + call PrtWindow(9,2," 0") + ActBytes=1 +StartSearch: + gosub UpDisp + Get$ #1,54,Search$ + Se$=mid$(search$,30,25) + s$=mid$(search$,30,1) + sf$="" + for x=1 to 25 + sf$=sf$+s$ + next x + nulla$=mid$(search$,10,1) + nullb$=mid$(search$,22,1) + nullc$=mid$(search$,26,1) + null=ascii(nulla$)+ascii(nullb$)+ascii(nullc$) + nullb=0 + for x=29 to 54 + nullb=nullb+ascii(mid$(search$,x,1)) + next x + nullc=ascii(mid$(search$,1,1))+ascii(mid$(search$,2,1)) + nullc=nullc+ascii(mid$(search$,3,1))+ascii(mid$(search$,19,1)) + nullc=nullc+ascii(mid$(search$,23,1)) + if Se$=sf$ and null=0 and nullb=0 and nullc<>0 then + BMPs=BMPs+1 + if BMPs=1 then B$="" else B$="s" + Msg$=using$("####",BMPs)+" BMP"+B$+" gefunden " + call PrtWindow(12,2,Msg$) + OFile$=mid$(str$(BMPs),2,10)+".BMP" + Size$=mid$(Search$,3,8) + V1$=Size$:gosub BVar:Size$=V2$ + Wid$=mid$(Search$,19,4) + V1$=Wid$:gosub BVar:Wid$=V2$ + Hei$=mid$(Search$,23,4) + V1$=Hei$:gosub BVar:Hei$=V2$ + Bits$=mid$(Search$,29,1) + gosub WriteBMP + end if + ActBytes=ActBytes+1 + seek #1,ActBytes + goto StartSearch + + + + goto Ende + +BVar: + V2$="" + for x=len(V1$) to 1 step -1 + V2$=V2$+mid$(V1$,x,1) + next x + return + +Hex2Dec: +' H=&H$ + +WriteBMP: + open "O",#2,OFile$ + close #2 + return + +UpDisp: + Msg$="Byte "+using$("#########",ActBytes) + call PrtWindow(4,2,Msg$) + if ShowPer=10 then ShowPer=0 else SkipPer + Percent=ActBytes/FileSize + Blocks=Percent*60 +11 if Blocks>=1 then Blocks=Blocks-1:Per$=Per$+Chr$(ONSymb1):goto 11 + B1=Blocks +12 if Blocks/.75>=1 then Blocks=Blocks-int(Blocks/.75)*.75:Per$=Per$+Chr$(ONSymb2):goto 12 + B2=Blocks +13 if Blocks/.5>=1 then Blocks=Blocks-int(Blocks/.5)*.5:Per$=Per$+Chr$(ONSymb3):goto 13 + B3=Blocks +14 if Blocks/.25>=1 then Blocks=Blocks-int(Blocks/.25):Per$=Per$+Chr$(ONSymb4):goto 14 + B4=Blocks + call PrtWindow(6,2,Per$) + Per$="" +SkipPer: + ShowPer=ShowPer+1 + Msg$="Zeit: "+Time$ + call PrtWindow(10,2,Msg$) + if Percent>0 then else goto SkipRTime + HD=val(mid$(time$,1,2)) + MD=val(mid$(time$,4,2)) + SD=val(mid$(time$,7,2)) + TiDiff=HD*100+MD+(SD/100)/.6 + ATime=(ATime+TiDiff)/2 + if Now<300 then SkipRTime else Now=0 + RTime=ATime/Percent + RTime2=int(Rtime) + RH=int(Rtime2/100) + RM=int(RTime2-RH*100) + RS=(Rtime-Rtime2)*100*.6 + if RS>=59.5 then RM=RM+1:RS=RS-59.5 + if RM>=59.5 then RH=RH+1:RM=RM-59.5 + rH$=mid$(str$(int(RH)),2,2) + rM$=mid$(str$(int(RM)),2,2) + rS$=mid$(str$(int(RS)),2,2) + if inkey$=chr$(27) then end + if len(rH$)<2 then RH$="0"+rh$ + if len(rM$)<2 then RM$="0"+rm$ + if len(rS$)<2 then RS$="0"+rs$ + TEnd$=RH$+":"+RM$+":"+RS$ + Msg$="vorr. Ende: "+TEnd$ + call PrtWindow(10,25,Msg$) +SkipRTime: + Now=Now+1 + if ActBytes>=FileSize then Ende + return + + + +Ende: + NowHour=val(mid$(time$,1,2)) + NowMinu=val(mid$(time$,4,2)) + NowSeco=val(mid$(time$,7,2)) + TimeNow$=using$("##:",StartUpHour+NowHour)+using$("##:",StartUpMinu+NowMinu)+using$("##",StartUpSeco+NowSeco) + Time$=TimeNow$ \ No newline at end of file diff --git a/bitmap/bitmap.txt b/bitmap/bitmap.txt new file mode 100644 index 0000000..80fd7df --- /dev/null +++ b/bitmap/bitmap.txt @@ -0,0 +1,45 @@ +Header : 54 Bytes +Farbtabelle: 1024 Bytes (nur bei 256 Farben) +Bildinfo : BxHxX (siehe Tabelle) + ÄÄÄÄÄÄÄ +Gr”áe : H+F+B + ÄÍÍÍÍÍÍÍÄ + +X Farbtiefe +- --------- +1 256 Farben/256 Graustufen/16 Farben +2 32767 Farben/RealColor +2 65535 Farben/HighColor +3 16777216 Farben/TrueColor + +256C - 253638 Bytes (siehe unten) +TC - 675054 Bytes + + +Byte 256C TC + 02 C6 E6 + 03 DE 8F + 04 03 0B + 0B 04 00 + 1C 08 18 + +616x410 - 253638 Bytes (ohne Header&Farbtab - 252560) +308x205 - 63398 Bytes (ohne Header&Farbtab - 63140) + +Byte 616x410 308x205 + 02 C6 A6 Ä· + 03 DE F7 ÇÄ Dateigr”áe (komplett) + 04 03 00 Ľ + 12 68 30 ÄÒÄ Breite + 13 02 01 Ľ + 16 9A CD ÄÒÄ H”he + 17 01 00 Ľ + 1C 08 08 ÄÄÄ Farbtiefe (08-8bit, 0F - 16bit, 18-24bit) + +Byte(s) Beschreibung +---------- ------------------------------------ +0000-0001 Kennung "BM" fr BitMap +0002-0009 Gr”áe der Datei +0012-0015 Breite des Bildes +0016-0019 H”he des Bildes + 0001C Anzahl Bits pro Pixel diff --git a/bootinfo.bas b/bootinfo.bas new file mode 100644 index 0000000..2a59715 --- /dev/null +++ b/bootinfo.bas @@ -0,0 +1,132 @@ + ver$="1.3" + BeginCheck=10000 + print"Scanning for Checksum ."; + shell "DIR BOOTINFO.EXE > BOOTINFO.TMP" + print"."; + for x=1 to len(command$) + if File=0 then LogFile$=LogFile$+mid$(command$,x,1) + if File=1 then OutText$=OutText$+mid$(command$,x,1) + if mid$(command$,x+1,1)=" " then File=1 + next x + print"."; + open "I",#1,"BOOTINFO.TMP" + for z=1 to 5 + line input#1,DummesZeugs$ + next z + print"."; + line input#1,DateiInfo$ + close #1 + kill "BOOTINFO.TMP" + print"."; + open "O",#1,"BOOTINFO.TMP" + print#1,"PHYSICALLY DELETED! HARHARHAR!" + close #1 + kill "BOOTINFO.TMP" + print"."; + FileSize=val(mid$(DateiInfo$,14,5))*1000000+val(mid$(DateiInfo$,20,3))*1000+val(mid$(DateiInfo$,24,3)) + FileDate$=mid$(DateiInfo$,28,8) + FileTime$=mid$(DateiInfo$,39,5) + ver$=ver$+" ("+FileDate$+" / "+FileTime$+")" + open "BOOTINFO.EXE" FOR BINARY AS #1 + get$ #1,256,CheckSum$ + print"."; + CheckSumme=0 + get$ #1,BeginCheck-1,Dummy$ + Dummy$="" + for x=BeginCheck to FileSize step 4 + if x=23738 or x=23740 then goto HereIsNext + get$ #1,2,CheckSum$ + CurrentCheckSumL=ASCII(left$(CheckSum$,1)) + CurrentCheckSumR=ASCII(right$(CheckSum$,1)) + if CurrentCheckSumL=-1 then CurrentCheckSumL=0 + if CurrentCheckSumR=-1 then CurrentCheckSumR=0 + CheckSumme=CheckSumme+CurrentCheckSumL+CurrenCheckSumR + if CheckSumme>65535 then CheckSumme=-65535+CheckSumme +HereIsNext: + next x + close #1 + CheckSum$=hex$(CheckSumme) + print". "; + IF FileSize<>0025488 then goto FileSizeAlert + if CheckSum$<>"9055" then goto CheckSumAlert + print"Veryfied (";mid$(str$(FileSize),2,20);" / ";CheckSum$;")" + IF COMMAND$="" THEN GOTO Syntax + sound 750,2 + delay 3/18.2 + sound 1250,1 + delay 2/18.2 + sound 1250,1 + delay 2/18.2 + sound 1500,2 + color 7:print"Writing BootInfo ."; + open "A",#1,LogFile$ + print"."; + dat$=mid$(date$,4,2)+"."+mid$(date$,1,2)+"."+mid$(date$,7,4) + OutText$=dat$+" / "+time$+" "+OutText$ + print"."; + print#1,OutText$ + print"."; + close #1 + print". "; + print"Written (";mid$(str$(len(OutText$)),2,4);" Chars)" + goto Ende + +Syntax: + $INCLUDE "LOGO.INC" + color 14 + print"another program from RoboCop INDUSTRIES" + print:color 10 + print"BootInfo - v";ver$:color 15 + print + print"Syntax: BootInfo [Log-File] [Information]" + print:color 7 + print"Log-File - Filename of the Log-File" + print" If it exists the entry will be added." + print"Information - The Text, which will be written to the Log-File" + goto Ende + +CheckSumAlert: + print"Alert [CheckSum does not match (";CheckSum$;")]" + goto VirusAlert + +FileSizeAlert: + print"Alert [FileSize does not match (";mid$(str$(FileSize),2,20);")]" + goto VirusAlert + +VirusAlert: + $INCLUDE "LOGO.INC" + color 28 + print + print"VIRUS ALERT!!!!!!!" + color 12 + print + print"The File-Checksum is changed, possibly a virus" + print"infected this file or some HACKERs have done it's work." + print:color 26 + print"This program locks up in 5 seconds..."; + for y=1 to 30 + for x=1 to 500 step 75 + sound 750+x,.5 + next x + next y + color 10 + print"LOCKED UP" + delay 1.5 + sound 750,1 + sound 1250,1 + print"BOOT UP Sequence engaged, please confirm..." + delay 1 + sound 1250,1 + sound 1500,2 + sound 800,3 + print"BOOT UP Sequence confirmed. Boot."; + for x=1 to 4 + delay 1 + print "."; + next x + print + $INLINE "INLINES\BOOT_R.COM" + + + +Ende: \ No newline at end of file diff --git a/bootpass/access.dat b/bootpass/access.dat new file mode 100644 index 0000000..d0a48df --- /dev/null +++ b/bootpass/access.dat @@ -0,0 +1 @@ +"RoboCop","Markus Birth","16. Nov 1980","Musterstrasse 1","12345 Musterstadt","(0123) 4567","(0123) 4567 [9600 Baud]","",1,"RC","RC" diff --git a/bootpass/bootpass.bas b/bootpass/bootpass.bas new file mode 100644 index 0000000..00398f2 --- /dev/null +++ b/bootpass/bootpass.bas @@ -0,0 +1,695 @@ + on error goto Fehler + dim pname$(25) + dim rname$(25) + dim birth$(25) + dim adress1$(25) + dim adress2$(25) + dim tele$(25) + dim fax$(25) + dim codenum$(25) + dim master(25) + dim mpasswd1$(25) + dim mpasswd2$(25) + cls + color 15:print"USER VERIFICATION" + locate 1,73:color 31:print"STRICTED"; + color 7 + print + input "Type in tha name: ",nam$ + print + gosub GetInfo + color 15:print"Real Name :";:color 7:? rname$;:color 23 + if MASTER=1 then print" *** MASTER ACCESS ABILITY ***" else print + color 15:print"Birthday :";:color 7:? birth$ + color 15:print"Age (DATE$) :";:color 7:? compage$ + color 15:print"Adress :";:color 7:? adress1$ + print" ";adress2$ + color 15:print"Telephone :";:color 7:? tele$ + color 15:print"FAX :";:color 7:? fax$ + print + try=1 + print"And now tha "; +3 print"Code-numba (";mid$(str$(try),2,20);". Try): "; + gosub GetCode + if try>=3 and cod$<>codenum$ then msg$="Your 3 Trys are out:":goto FuckHim + if cod$=codenum$ and try<=3 then pass=1 else try=try+1:print:goto 3 + if MASTER=1 then goto MASTERPROG else goto CONTBOOT + +GetInfo: + msg$="Trying to cheat ??? --->" + on error goto FuckHim + open "I",#1,"access.dat" +1 input#1,pname$,rname$,birth$,adress1$,adress2$,tele$,fax$,codenum$,MASTER,mpasswd1$,mpasswd2$ + if pname$=nam$ then + datd=val(left$(date$,2)) + datm=val(mid$(date$,4,2)) + daty=val(right$(date$,2)) + hed=val(left$(birth$,2)) + hm$=mid$(birth$,5,3) + if hm$="Jan" then hem=1 + if hm$="Feb" then hem=2 + if hm$="Mar" then hem=3 + if hm$="Apr" then hem=4 + if hm$="May" then hem=5 + if hm$="Jun" then hem=6 + if hm$="Jul" then hem=7 + if hm$="Aug" then hem=8 + if hm$="Sep" then hem=9 + if hm$="Oct" then hem=10 + if hm$="Nov" then hem=11 + if hm$="Dec" then hem=12 + if hem=0 then hem=6 + hey=val(right$(birth$,2)) + compage=daty-hey + if datm0 and hem>0 and hey>0 then compage$=mid$(str$(compage),2,3)+" years" else compage$="" + close #1:reset + on error goto Fehler + return + else + goto 1 + end if + +GetCode: + cod$="" +2 a$=inkey$:if a$="" then 2 + if a$=chr$(13) then return + cod$=cod$+a$ + print"+"; + goto 2 + +Fehler: + cls + color 31:print"!!! WARNING !!!" + color 7 + print + print"An error has occured. The" + print"program will stop here and" + print"beep! To get access to ur" + print"system, press the reset-" + print"Button or switch ya compu" + print"off and then on." + delay 10 + msg$="Ahh, an error:" + goto FuckHim +FuckHim: + cls + color 10 + print msg$ + locate 5,1 + color 28,0,0 + print" ÜÜÜÜÜ Ü ÜÜÜÜÜÜÜ ÜÜÜÜÜ ÜÜÜÜÜÜÜ" + print" Û Û Û Û Û Û Û" + print" ÛÜÜÜÜÜÛ Û ÛÜÜÜÜ ÛÜÜÜÜß Û" + print" Û Û Û Û Û ßÜ Û" + print" Û Û ÛÜÜÜÜÜÜ ÛÜÜÜÜÜÜ Û ßÜ Û" + color 12 + print + print"Formatting Harddisk ..." + sec=5 +4 locate 12,1:print "... in";sec;"seconds! " + if sec<=0 then dl=3:goto BOOTSTOP + delay 1 + sec=sec-1 + goto 4 + +BOOTSTOP: + color 31,0,0 + cls + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; + locate 25,1:print"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"; +6 for tim=1 to 5 + delay dl + for z=1 to 4 + sound 2000,1.0 + delay 1.5/18.2 + next z + next tim + if dl>1 then + dl=dl-1 + elseif dl>0.1 then + dl=dl-.2 + else + dl=0 + end if + goto 6 + +CONTBOOT: + cls + color 31:print"BOOT VERIFICATION ... OK":color 7 + print + system + +MASTERPROG: + cls + color 31:print"MASTER PROGRAM START SEQUENCE ..." + color 7 + print + print"Enter Code #1 :"; + gosub GetCode + if cod$<>mpasswd1$ then goto CONTBOOT + print + print"Enter Code #2 :"; + gosub GetCode + if cod$<>mpasswd2$ then goto CONTBOOT + goto MPR + +MPR: + cls + color 15:print"*** MASTER PROGRAM ***" + color 7 + print + print"1 - User-Control" + print"2 - System Files" + print"3 - Informations" + print"4 - Continue BOOT" + print +7 locate 8,1:input"Ya choose :",i + if i=1 then goto USA + if i=2 then goto SYS + if i=3 then goto INF + if i=4 then goto CONTBOOT + goto 7 + +USA: + cls + color 15:print"*** MASTER PROGRAM ***" + color 31:print" USER CONTROL" + color 7 + print + print"1 - Add a User" + print"2 - Delete a User" + print"3 - Change a User" + print"4 - Back to Main Menu" + print +8 locate 9,1:input"Ur choose :",i + if i=1 then goto UserAdd + if i=2 then goto UserDel + if i=3 then goto UserChg + if i=4 then goto MPR + goto 8 + +UserAdd: + cls + color 15:print"*** MASTER PROGRAM ***" + color 07:print" USER CONTROL" + color 31:print" ADD A USER" + color 7 + print + print"--------------------------------------------------------------------------------"; +10 input"Codename/ID :",pname$ + input"Code Number :",codenum$ + input"Real Name :",rname$ + input"Birthday (dd. mmm yyyy):",birth$ + input"Adress #1 (Street) :",adress1$ + input"Adress #2 (City) :",adress2$ + input"Telephone Number :",tele$ + input"FAX Number :",fax$ + input"MASTER access (0/1) :",master + if MASTER=1 then input"MASTER Password #1 :",mpasswd1$ + if MASTER=1 then input"MASTER Password #2 :",mpasswd2$ + print"--------------------------------------------------------------------------------"; +9 locate 19,1:input"Is thiz correct (Y/N/B) ?",answ$ + if answ$="y" or answ$="Y" then goto UserAddWrite + if answ$="n" or answ$="N" then locate 6,1:goto 10 + if answ$="b" or answ$="B" then goto USA + goto 9 + +UserAddWrite: + color 15 + locate 19,1:print space$(70) + locate 19,1:print"Opening Channel ... "; + open "A",#1,"access.dat" + print"OK" + print"Writing Data ... "; + write#1,pname$,rname$,birth$,adress1$,adress2$,tele$,fax$,codenum$,master,mpasswd1$,mpasswd2$ + print"OK" + print"Closing Channel ... "; + close #1:reset + print"OK" + print"Resetting Data ... "; + pname$="":rname$="":birth$="":adress1$="":adress2$="":tele$="":fax$="":master=0:mpasswd1$="":mpasswd2$="":codenum$="" + print"OK" + color 0,7:print"User Add Complete." + color 7,0,0 + delay 1.5 + goto USA + +UserDel: + cls + color 15:print"*** MASTER PROGRAM ***" + color 07:print" USER CONTROL" + color 31:print" DELETE A USER" + color 7 + print + print"Opening Channel ... "; + reset + open "I",#1,"access.dat" + print"OK" + print"Reading User Data ... "; + x=0 +11 x=x+1 + if eof(1) then goto 12 + input#1,pname$(x),rname$(x),birth$(x),adress1$(x),adress2$(x),tele$(x),fax$(x),codenum$(x),master(x),mpasswd1$(x),mpasswd2$(x) + goto 11 +12 endx=x:on error goto Fehler:print"OK" + print"Closing Channel ... "; + close#1 + RESET + print"OK" + color 0,7:print"USER DATA INPUT COMPLETE":color 7,0,0 + delay 1.5 + goto UserDelChoose + +UserDelChoose: + locate 10,1:print"--------------------------------------------------------------------------------"; + x=1 +13 locate 11,1:print"Codename/ID : ";pname$(x);space$(40-len(pname$(x))) + if x=1 then print"Codenumber : ";:color 31:print"*** SECRET ***":color 7 else print"Codenumber : ";codenum$(x);space$(40-len(codenum$(x))) + print"Real Name : ";rname$(x);space$(40-len(rname$(x))) + print"Birthday : ";birth$(x);space$(40-len(birth$(x))) + print"Adress : ";adress1$(x);space$(40-len(adress1$(x))) + print" ";adress2$(x);space$(40-len(adress2$(x))) + print"Telephone : ";tele$(x);space$(40-len(tele$(x))) + print"FAX : ";fax$(x);space$(40-len(tele$(x))) + print"MASTER access : "; + if master(x)=1 then print"YES" else print"NO " + if x=1 then print"MASTER Pswrd#1: ";:color 31:print"*** SECRET ***":color 7 else print"MASTER Pswrd#1: ";mpasswd1$(x);space$(40-len(mpasswd1$(x))) + if x=1 then print"MASTER Pswrd#2: ";:color 31:print"*** SECRET ***":color 7 else print"MASTER Pswrd#2: ";mpasswd2$(x);space$(40-len(mpasswd2$(x))) + print"--------------------------------------------------------------------------------"; + print" PgUp/PgDn - Look Up/Down [ENTER] - Delete [ESC] - Back"; + print"--------------------------------------------------------------------------------"; +14 a$=inkey$:if a$="" then 14 + if mid$(a$,2,1)="I" and x>1 then x=x-1:goto 13 + if mid$(a$,2,1)="Q" and x1 then x=x-1:goto 21 + if mid$(a$,2,1)="Q" and x0 then goto WaitItAb +if a$="0" then locate 1,1:color 12:print"ÛBEATÛ";:beat=1000:beats=beats+1 +goto 3 + +WaitItAb: +cls +timer off +color 15 +print using"Beats: #####";oldbeats +print using"BPS: ###.##";bps +print using"BPM: ####.##";bpm +print +print"Ende mit Tastendruck!" +4 a$=inkey$:if a$="" or a$="0" then 4 else Ende + +Automatic: +timer on +dim check(640) +FOR SbPort = &H210 to &H280 STEP &H10 + OUT SbPort + &H6, 1 + FOR a = 1 to 10:next + OUT SbPort + &H6, 0 + FOR a = 1 to 100 + IF INP(SbPort + &HA) = &HAA THEN GOTO SbFound + NEXT +NEXT +PRINT "kein SoundBlaster => Ende..." +END + +SbFound: +cls +locate 1,1 +color 10:print"SoundBlaster an Adresse ";hex$(SbPort);"h gefunden." +color 15:locate 1,1:print" " +DO + OUT SbPort + &HC, &H20 + DO:LOOP UNTIL INP(SbPort + &HE) AND 128 + value=(256-125+(inp(sbport+&HA)-125))/256*480 + locate 2,1 + color 15 + print using "Aussteuerung: ###.##";value + if maxvalue<>oldmax then locate 1,8:color 14:print using "Max: ###.#";maxvalue + if beats=oldbeats then NoNew=NoNew+1 else NowNew=0 + oldbeats=beats + if NoNew=20 then maxvalue=abs(value) + oldmax=maxvalue + maxvalue=max(Maxvalue,abs(value)) + if beat>0 then beat=beat-1:goto SkipIT + FaktMax=20 + if value>maxvalue-(maxvalue/FaktMax) then + color 12 + locate 1,1 + diff=value-(maxvalue-(maxvalue/FaktMax)) + BeatStage=0 + Fakt1=50 + Fakt2=80 + Fakt3=100 + if diff>=0 and diff<=(MAXDIFF/100)*Fakt1 then BeatStage=1 + if diff>(MAXDIFF/100)*Fakt1 and diff<=(maxdiff/100)*Fakt2 then BeatStage=2 + if diff>(maxdiff/100)*Fakt2 and diff<=(maxdiff/100)*Fakt3 then BeatStage=3 + if beats/2=int(beats/2) and BeatStage=1 then print"ßBEATÜ"; + if beats/2<>int(beats/2) and BeatStage=1 then print"ÜBEATß"; + if beats/2=int(beats/2) and BeatStage=2 then print"ÞBEATÝ"; + if beats/2<>int(beats/2) and BeatStage=2 then print"ÝBEATÞ"; + if BeatStage=3 then print"ÛÛÛÛÛÛ"; + maxdiff=max(maxdiff,diff) + beats=beats+1 + beat=200 + else + locate 1,1 + print" "; + end if + +SkipIT: + a$=inkey$ + if a$="+" then del=del+.01 + if a$="-" then del=del-.01:if del<0 then del=0 + if a$="*" then del=del+.1 + if a$="/" then del=del-.1:if del<0 then del=0 + if a$="0" then del=0 + if a$="1" then del=1 +LOOP UNTIL a$=chr$(27) +Goto Ende + +CalcBPM: + BPS=Beats/BPMTime + oldbeats=beats + Beats=0 + BPM=BPS*60 + color 10 + locate 1,20:print using"BPS: ###.## BPM: ####.##";bps;bpm; + return + +Ende: +print"Programm beendet." + \ No newline at end of file diff --git a/bpm2.bas b/bpm2.bas new file mode 100644 index 0000000..3e7c726 --- /dev/null +++ b/bpm2.bas @@ -0,0 +1,56 @@ +MainMenu: +cls +Beats=0 +InpBeats=10 +ATime=0:ETime=0 +BPS=0:BPM=0 +color 15 +print"-=ð Beats Per Minute ð=-" +print" by RoboCop INDUSTRIES" +print +print" [RET] - Manuelle Eingabe (";InpBeats;"x [ 0 ] im Takt drcken)" +print +print" [ESC] - Beenden!" +print +print"Drcken Sie die gewnschte Taste" +1 a$=inkey$:if a$="" then 1 +if a$=chr$(13) then goto Manuell +if a$=chr$(27) then cls:goto Ende +goto 1 + +Manuell: +cls +print"-=ð Beats Per Minute ð=-" +print" Manuelle Eingabe" +print +print"Drcken Sie jetzt immer im Takt die 0-Taste auf dem Numerischen" +print"Tastenfeld. Ab dem ersten Tastendruck beginnt die Z„hlerei";InpBeats;"Beats" +print"lang." +2 a$=inkey$ +if a$="0" then ATime=timer:beats=1:cls:locate 2,1:print"============":locate 4,1:print"BPS: ---.--":print"BPM: ----.--":goto 3 +goto 2 +3 a$=inkey$ +locate 3,1:color 15:print using"Time: ###.## (#####.## to #####.##)";timer-ATime;ATime;timer +locate 1,1:print using"Beats: #####";beats +if beat=0 then locate 1,15:color 12:print" BEAT "; else beat=beat-1 +if a$="0" then locate 1,15:color 12:print"ÛBEATÛ";:beat=500:beats=beats+1 +if beats>=InpBeats then locate 1,15:print" ":ETime=timer:goto WaitItAb +goto 3 + +WaitItAb: +BPS=Beats/(ETime-ATime) +BPM=BPS*60 +color 15 +locate 1,1 +print using"Beats: #####";Beats +print"============" +print using"Time: ###.## (#####.## to #####.##)";ETime-ATime,ATime,ETime +print using"BPS: ###.##";BPS +print using"BPM: ####.##";BPM +print +print"Weiter mit Tastendruck!" +4 a$=inkey$:if a$="" or a$="0" then 4 else MainMenu + +Ende: +print"Programm beendet." + \ No newline at end of file diff --git a/bpm_dl.bas b/bpm_dl.bas new file mode 100644 index 0000000..2eb02eb --- /dev/null +++ b/bpm_dl.bas @@ -0,0 +1,135 @@ +cls:screen 12 +BPMTime=3 +'open "O",#1,"KLATSCH.RAW" +timer on +dim check(640) +FOR SbPort = &H210 to &H280 STEP &H10 + OUT SbPort + &H6, 1 + FOR a = 1 to 10:next + OUT SbPort + &H6, 0 + FOR a = 1 to 100 + IF INP(SbPort + &HA) = &HAA THEN GOTO SbFound + NEXT +NEXT +PRINT "kein SoundBlaster => Ende..." +END + +SbFound: +on timer(BPMTime) GOSUB CalcBPM +locate 1,1 +color 10:print"SoundBlaster an Adresse ";hex$(SbPort);"h gefunden." +color 15:locate 1,1:print" " +DO + OUT SbPort + &HC, &H20 + DO:LOOP UNTIL INP(SbPort + &HE) AND 128 + 'locate 2,1:print Wert;"/";inp(sbport+&HA) + 'gosub ShowLEV + if minus=0 then strecke=strecke+1 + if minus=1 then strecke=strecke-1 + if strecke>639 then minus=1 + if strecke<1 then minus=0 + value=(256-125+(inp(sbport+&HA)-125))/256*480 + 'locate 2,1:print value; + pset (strecke,check(strecke)),0 + if value>190 or value<290 then col=10 + if (value>155 and value<190) or (value >290 and value <325) then col=14 + if value<155 or value>325 then col=12 + col=15 + if minus=0 then ls=strecke+1 else ls=strecke-1 +' ÚÄ y1 + line (ls,13)-(ls,480),0 'Wer mit der MAX-Anzeige arbeitet sollte y1 auf 13 setzen + pset (veryolds,veryoldv),8 + pset (olds,oldv),7 'Diese Zeile sollte ungeREMt bleiben + if maxvalue<>oldmax then locate 1,8:color 14:print using "Max: ###.#";maxvalue + if beats<>oldbeats then NoNew=0 else NoNew=NoNew+1 + oldbeats=beats + oldmax=maxvalue 'alles mit einem 'max' in der Variablen geh”rt zur Maxerkennung + if NoNew>=750 then maxvalue=value + if strecke=1 then pset(0,240),0 + pset (strecke,value),col 'Wer aus 'line -' ein 'pset ' macht, und alle anderen REMs entfernt, hat auch einen coolen FX +' line (strecke,1)-(strecke,5),12 + line (strecke,479)-(strecke,475),12 + if minus=0 then ps=strecke-1 else ps=strecke+1 +' line (ps,1)-(ps,5),4 + line (ps,479)-(ps,475),4 + if minus=0 then ps2=ps-1 else ps2=ps+1 +' line (ps2,2)-(ps2,5),0 + line (ps2,478)-(ps2,475),0 + maxvalue=max(Maxvalue,abs(value)) + if beat>0 then beat=beat-1:goto SkipIT + FaktMax=7 + if value>=maxvalue-(maxvalue/FaktMax) then + color 12 + locate 1,1 + diff=value-(maxvalue-(maxvalue/FaktMax)) + BeatStage=0 + Fakt1=50 + Fakt2=80 + Fakt3=100 + if diff>=0 and diff<=(MAXDIFF/100)*Fakt1 then BeatStage=1 + if diff>(MAXDIFF/100)*Fakt1 and diff<=(maxdiff/100)*Fakt2 then BeatStage=2 + if diff>(maxdiff/100)*Fakt2 and diff<=(maxdiff/100)*Fakt3 then BeatStage=3 + if beats/2=int(beats/2) and BeatStage=1 then print"ßBEATÜ"; + if beats/2<>int(beats/2) and BeatStage=1 then print"ÜBEATß"; + if beats/2=int(beats/2) and BeatStage=2 then print"ÞBEATÝ"; + if beats/2<>int(beats/2) and BeatStage=2 then print"ÝBEATÞ"; + if BeatStage=3 then print"ÛÛÛÛÛÛ"; + maxdiff=max(maxdiff,diff) + beats=beats+1 + beat=50 + else + locate 1,1 + print" "; + end if +SkipIT: + veryolds=olds + veryoldv=oldv + olds=strecke 'Wenn man die beiden oldx's REMt erh„lt man einen recht + oldv=value 'lustigen Effekt!!! + delay del + check(strecke)=value + 'print#1,chr$(inp(sbport+&HA)); + a$=inkey$ + if a$="+" then del=del+.01 + if a$="-" then del=del-.01:if del<0 then del=0 + if a$="*" then del=del+.1 + if a$="/" then del=del-.1:if del<0 then del=0 + if a$="0" then del=0 + if a$="1" then del=1 +LOOP UNTIL a$=chr$(27) +Goto Ende + +CalcBPM: + BPS=Beats/BPMTime + Beats=0 + BPM=BPS*60 + color 10 + locate 1,20:print using"BPS: ###.## BPM: ####.##";bps;bpm; + return + +ShowLEV: +y=3 +Zeichen=176 +Einheit=256/80 +Wert=inp(sbport+&HA) +Einheiten=round(Wert/Einheit,0) +for x=1 to 80 + locate y,x:if x<=Einheiten then + if x>=0 and x<=45 then color 10 + if x>45 and x<=70 then color 14 + if x>70 and x<=80 then color 12 + else + if x>=0 and x<=45 then color 2 + if x>45 and x<=70 then color 6 + if x>70 and x<=80 then color 4 + end if + print chr$(Zeichen); + locate y+1,x + print chr$(Zeichen); +next x +return + +Ende: +screen 0:width 80 +print"Programm beendet." + \ No newline at end of file diff --git a/bpm_dlux.bas b/bpm_dlux.bas new file mode 100644 index 0000000..a6ac366 --- /dev/null +++ b/bpm_dlux.bas @@ -0,0 +1,131 @@ +cls:screen 12 +BPMTime=5 +'open "O",#1,"KLATSCH.RAW" +timer on +dim check(640) +FOR SbPort = &H210 to &H280 STEP &H10 + OUT SbPort + &H6, 1 + FOR a = 1 to 10:next + OUT SbPort + &H6, 0 + FOR a = 1 to 100 + IF INP(SbPort + &HA) = &HAA THEN GOTO SbFound + NEXT +NEXT +PRINT "kein SoundBlaster => Ende..." +END + +SbFound: +OuterString$="Scanne Eingangssignal...":OuterCol=15 +OS=1 +on timer(BPMTime) GOSUB CalcBPM +locate 1,1 +color 10:print"SoundBlaster an Adresse ";hex$(SbPort);"h gefunden." +color 15:locate 1,1:print" " +DO +'###### +' if ScrollIt/30=int(ScrollIt/30) then ScrollIt=ScrollIt+1 else ScrollIt=ScrollIt+1:goto SkipText +' OuterS$=SPACE$(40)+OuterString$ +' Outer$=mid$(OuterS$,OS,40) +' locate 30,20:color OuterCol:print using"\ \";Outer$; +' OS=OS+1 +' if len(Outer$)<=0 then OS=1 +'###### + +SkipText: + OUT SbPort + &HC, &H20 + DO:LOOP UNTIL INP(SbPort + &HE) AND 128 + strecke=strecke+1 + if strecke>639 then strecke=1 + value=(256-125+(inp(sbport+&HA)-125))/256*465 +'###### +' if int(value)=245 and OS<=1 then OuterCol=12:OuterString$="Kein Signal!" +' if int(value)<>245 and OS<=1 then OuterCol=15:OuterString$="Scanne Eingangssignal..." +'###### +' pset (strecke,check(strecke)),0 + if value>190 or value<290 then col=10 + if (value>155 and value<190) or (value >290 and value <325) then col=14 + if value<155 or value>325 then col=12 +' col=15 + ls=strecke+1 +' Ú468 bzw. 480 + line (ls,12)-(ls,474),0 + pset (olds,oldv),0 'Diese Zeile sollte ungeREMt bleiben + if maxvalue=oldmax and refresha>=100 then refresha=0:locate 1,58:print" "; else refresha=refresha+1 + if maxvalue<>oldmax then locate 1,9:color 14:print using "Max: ###.# Min: ###.#";maxvalue;maxvalue-(maxvalue/FaktMax);:locate 1,58:color 14:print"ðADJUSTð"; + if oldlm<>lockmax then + locate 1,68:color 14 + if lockmax=1 then print "-=ðLOCKEDð=-"; else print " "; + end if + if beats<>oldbeats then NoNew=0 else NoNew=NoNew+1 + oldmax=maxvalue 'alles mit einem 'max' in der Variablen geh”rt zur Maxerkennung + oldbeats=beats + if NoNew>=750 and lockmax=0 then nmaxvalue=value + if strecke=1 then pset(0,240),0 + line -(strecke,value),col 'Wer aus 'line -' ein 'pset ' macht, und alle anderen REMs entfernt, hat auch einen coolen FX + if lockmax=0 and nmaxvalue=maxvalue then nmaxvalue=max(Maxvalue,abs(value)) + if nmaxvaluemaxvalue then maxvalue=maxvalue+1 + if abs(nmaxvalue-maxvalue)<1 then maxvalue=nmaxvalue +'###### +' if maxvalue<>oldmc then +' line (oldmc,475)-(oldmc,480),0 +' oldmc=maxvalue +' line (maxvalue,475)-(maxvalue,480),15 +' end if +'###### + if beat>0 then beat=beat-1:goto SkipIT + FaktMax=7 + if value>=maxvalue-(maxvalue/FaktMax) then + color 12 + locate 1,1 + diff=value-(maxvalue-(maxvalue/FaktMax)) + BeatStage=0 + Fakt1=60 + Fakt2=90 + Fakt3=100 + if diff>=0 and diff<=(MAXDIFF/100)*Fakt1 then BeatStage=1 + if diff>(MAXDIFF/100)*Fakt1 and diff<=(maxdiff/100)*Fakt2 then BeatStage=2 + if diff>(maxdiff/100)*Fakt2 and diff<=(maxdiff/100)*Fakt3 then BeatStage=3 + if beats/2=int(beats/2) and BeatStage=1 then print"ÜBEATÜ"; + if beats/2<>int(beats/2) and BeatStage=1 then print"ßBEATß"; + if beats/2=int(beats/2) and BeatStage=2 then print"ÞBEATÝ"; + if beats/2<>int(beats/2) and BeatStage=2 then print"ÝBEATÞ"; + if BeatStage=3 then print"ÛÛÛÛÛÛ"; + maxdiff=max(maxdiff,diff) + beats=beats+1 + beat=50 + else + locate 1,1 + print" "; + end if + +SkipIT: + olds=strecke 'Wenn man die beiden oldx's REMt erh„lt man einen recht + oldv=value 'lustigen Effekt!!! + delay del + check(strecke)=value + oldlm=lockmax + lpress=0 + a$=inkey$ + if a$=" " then nmaxvalue=value + if a$="+" then nmaxvalue=maxvalue+1 + if a$="-" then nmaxvalue=maxvalue-1 + if a$="*" then nmaxvalue=maxvalue+10 + if a$="/" then nmaxvalue=maxvalue-10 + if (a$="l" or a$="L") and lockmax=0 and lpress=0 then lockmax=1:lpress=1 else lpress=0 + if (a$="l" or a$="L") and lockmax=1 and lpress=0 then lockmax=0:lpress=1 else lpress=0 +LOOP UNTIL a$=chr$(27) +Goto Ende + +CalcBPM: + BPS=Beats/BPMTime + Beats=0 + BPM=BPS*60 + color 10 + locate 1,33:print using"BPS: ##.## BPM: ###.## ";bps;bpm; + return + +Ende: +screen 0:width 80 +print"Programm beendet." + \ No newline at end of file diff --git a/bruch.bas b/bruch.bas new file mode 100644 index 0000000..e126cba --- /dev/null +++ b/bruch.bas @@ -0,0 +1,61 @@ +10 DIM TIR(100) +20 STP=50 +30 CLS +40 COLOR 15 +50 LOCATE 1,31:PRINT"Krzen von Brchen" +60 KEY OFF:LOCATE 25,1:PRINT"Z„hler eingeben"; +70 LOCATE 3,1:INPUT"",ZHL +80 IF ZHL=INT(ZHL) THEN 90 ELSE GOTO 70 +90 LOCATE 25,1:PRINT"Nenner eingeben"; +100 LOCATE 5,1:INPUT"",NENN +110 IF NENN=INT(NENN) THEN 120 ELSE GOTO 100 +120 IF NENN<>0 THEN GOTO 130 ELSE GOTO 100 +130 IF LEN(STR$(ZHL))>LEN(STR$(NENN)) THEN Y=LEN(STR$(ZHL)) ELSE Y=LEN(STR$(NENN)) +140 LOCATE 4,1:FOR Z=1 TO Y-1:PRINT"Ä";:NEXT Z +150 MINU=VAL(MID$(TIME$,4,2)):SEC=VAL(RIGHT$(TIME$,2)):TI=MINU+(SEC/100)/.6 +160 LOCATE 25,1:COLOR 31:PRINT"Berechne... ";:COLOR 15 +170 LOCATE 24,13:PRINT"X % Zeit Maximal 0% 50% 100%";:COLOR 8 +180 LOCATE 25,38:PRINT"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ";:COLOR 15 +190 IF ZHLLEN(STR$(NENN/GGT)) THEN Y=LEN(STR$(ZHL/GGT)) ELSE Y=LEN(STR$(NENN/GGT)) +430 LOCATE 10,2:FOR Z=1 TO Y-1:PRINT"Ä";:NEXT Z +440 LOCATE 25,1:COLOR 15:PRINT"Fertig! "; +450 LOCATE 13,1 +460 END +470 PLUS=INT(PROZ/.025) +480 ZEI=INT(PROZ/.0125) +490 LOCATE 25,38+PLUS +500 IF PLUS<=19 THEN W=10 +510 IF PLUS>19 AND PLUS<=32 THEN W=14 +520 IF PLUS>32 THEN W=12 +530 COLOR W +540 IF ZEI/2=INT(ZEI/2) THEN ZEI$="Ý" ELSE ZEI$="Û" +550 IF PROZ=1 THEN ZEI$=" " +560 PRINT ZEI$; +570 COLOR 15 +580 RETURN + \ No newline at end of file diff --git a/chem_dia/chem_dia.bas b/chem_dia/chem_dia.bas new file mode 100644 index 0000000..3e846d7 --- /dev/null +++ b/chem_dia/chem_dia.bas @@ -0,0 +1,122 @@ + shell"savefont >chem_dia.ft_" + shell"loadfont 109 then 2 + gosub SearchElement + locate 15,15:print ele$ +3 locate 4,2:input"Periode : ",peri + if peri<1 or peri>7 then 3 +4 locate 5,2:input"Gruppe (H/N+Zahl) : ",grup$ + lgr$=left$(grup$,1) + if lgr$="H" or lgr$="h" or lgr$="N" or lgr$="n" then else 4 + + + + + + + + shell"loadfont ZERO.DAT" + shell"ECHO indem sie mit diesem Text berschrieben und DANN gel”scht wurde >>ZERO.DAT" + shell"move ZERO.DAT chem_dia.ft_ >NUL" + shell"del chem_dia.ft_ >NUL" + end + +PrintCover: + locate 1,1 + color 0,3:print" Chemie-Diagramm written by RoboCop INDUSTRIES " + locate 25,1 + print" (C)1995 by RoboCop INDUSTRIES "; + return + +PrintChem: + locate 2,1 + print" ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄ¿ ÚÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿" + print" ³ º ³ º ³ º ³ º ³ È» ÚÙ º" + print" ³ ÉÍÍÍÍÍͼ ³ º ³ º ³ ÉÍÍÍͼ ³ È» ÚÙ º" + print" ³ º ³ º ³ º ³ º ³ È» ÚÙ º" + print" ³ º ³ ÈÍÄÙ º ³ ÈÍÄÄ¿ ³ ÈÍÄÙ º" + print" ³ º ³ º ³ º ³ É» É» º" + print" ³ º ³ ÉÍÍ» º ³ ÉÍÍͼ ³ ºÀ¿ ɼº º" + print" ³ º ³ º ³ º ³ º ³ º À¿ ɼ ³ º" + print" ³ ÈÄÄÄÄÄÄ¿ ³ º ³ º ³ ÈÄÄÄÄ¿ ³ º À¿ ɼ ³ º" + print" ³ º ³ º ³ º ³ º ³ º À¿ ɼ ³ º" + print" ÀÍÍÍÍÍÍÍÍÍÍͼ ÀÍͼ ÀÍͼ ÀÍÍÍÍÍÍÍͼ ÀÍÍÍͼ ÀÍͼ ÀÍÍÍͼ"; + return + +PrintDia: + locate 14,1 + print" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿" + print" ³ º ³ º ³ ÉÍÍÍÍÍÍ» º" + print" ³ ÉÍÍÍÍÍÍÍ» º ³ º ³ º ³ º" + print" ³ º ³ º ³ º ³ º ³ º" + print" ³ º ³ º ³ º ³ º ³ º" + print" ³ º ³ º ³ º ³ ÈÄÄÄÄÄÄÙ º" + print" ³ º ³ º ³ º ³ ÉÍÍÍÍÍÍ» º" + print" ³ º ³ º ³ º ³ º ³ º" + print" ³ ÈÄÄÄÄÄÄÄÙ º ³ º ³ º ³ º" + print" ³ º ³ º ³ º ³ º" + print" ÀÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÀÍÍÍÍÍÍÍÍÍͼ ÀÍÍÍÍÍÍÍͼ ÀÍÍÍÍÍÍÍͼ"; + return + +SearchElement: +5 read b,ele$,bez$,zust$,eneg,atu,s(1),s(2),s(3),s(4),s(5),s(6),s(7) + if b=ordn then return + if b=0 and b$="XXX" then restore + goto 5 + data 1,H,Wasserstoff,gasf”rmig,2.1,1.008,1,0,0,0,0,0,0 + data 2,He,Helium,gasf”rmig,,4,2,0,0,0,0,0,0 + data 3,Li,Lithium,fest,1,6.94,2,1,0,0,0,0,0 + data 4,Be,Beryllium,fest,1.5,9.01,2,2,0,0,0,0,0 + data 5,B,Bor,2,10.81,2,3,0,0,0,0,0 + data 6,C,Kohlenstoff,2.5,12.01,2,4,0,0,0,0,0 \ No newline at end of file diff --git a/chem_dia/chem_dia.fnt b/chem_dia/chem_dia.fnt new file mode 100644 index 0000000..30bcf15 --- /dev/null +++ b/chem_dia/chem_dia.fnt @@ -0,0 +1,4354 @@ +16 +000----- + + + + + + + + + + + + + + + + +001----- + + +######## +# # +# # # # +# # +# # +# #### # +# ## # +# # +# # +######## + + + + +002----- + + +######## +######## +## ## ## +######## +######## +## ## +### ### +######## +######## +######## + + + + +003----- + + + + + ## ## +####### +####### +####### +####### + ##### + ### + # + + + + +004----- + + + + + # + ### + ##### +####### + ##### + ### + # + + + + + +005----- + + + + ## + #### + #### +######## +######## +######## +# ## # + ## + #### + + + + +006----- + + + + ## + #### + ###### +######## +######## +######## + ## + ## + #### + + + + +007----- + + + + + + + #### + #### + #### + #### + + + + + + +008----- +######## +######## +######## +######## +######## +######## +## ## +## ## +## ## +## ## +######## +######## +######## +######## +######## +######## +009----- + + + + + + ###### + # # + # # + # # + # # + ###### + + + + + +010----- +######## +######## +######## +######## +######## +# # +# #### # +# #### # +# #### # +# #### # +# # +######## +######## +######## +######## +######## +011----- + + + #### + ### + ## # + ## +###### +## ## +## ## +## ## +## ## +###### + + + + +012----- + + + ###### + ## ## + ## ## + ## ## + ## ## + ###### + ## + ###### + ## + ## + + + + +013----- + + + ###### + ## ## + ###### + ## + ## + ## + ## +#### +#### +#### + + + + +014----- + + + ####### + ## ## + ####### + ## ## + ## ## + ## ## + ## ## + ## ### +### ### +### ### +### + + + +015----- + + + + ## + ## +## ## ## + #### +### ### + #### +## ## ## + ## + ## + + + + +016----- + +# +## +### +#### +##### +###### +##### +#### +### +## +# + + + + +017----- + + # + ## + ### + #### + ##### + ###### + ##### + #### + ### + ## + # + + + + +018----- + + + ## + #### + ###### + ## + ## + ## + ## + ###### + #### + ## + + + + +019----- + + + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + ## ## + ## ## + + + + +020----- + + +######## +## ## ## +## ## ## +## ## ## +##### ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + +021----- + +####### +## ## + ## + ### + ## ## +## ## +## ## + ## ## + ### + ## +## ## +####### + + + +022----- + + + + + + + + + + + +####### +####### +####### +####### + +023----- + + + ## + #### + ###### + ## + ## + ## + ## + ###### + #### + ## + ###### + + + +024----- + + + ## + #### + ###### + ## + ## + ## + ## + ## + ## + ## + + + + +025----- + + + ## + ## + ## + ## + ## + ## + ## + ###### + #### + ## + + + + +026----- + + + + + + ## + ### +####### + ### + ## + + + + + + +027----- + + + + + + ## + ### +####### + ### + ## + + + + + + +028----- + + + + + +## +## +## +## +####### + + + + + + +029----- + + + + + + # # + ## ## +######## + ## ## + # # + + + + + + +030----- + + + + + # + ### + ### + ##### + ##### +####### +####### + + + + + +031----- + + + + +####### +####### + ##### + ##### + ### + ### + # + + + + + +032----- + + + + + + + + + + + + + + + + +033----- + + + ## + #### + #### + #### + ## + ## + ## + + ## + ## + + + + +034----- + + ## ## + ## ## + ## ## + ## ## + + + + + + + + + + + +035----- + + + + ## ## + ## ## +####### + ##### + ##### + ##### +####### + ## ## + ## ## + + + + +036----- + ## + ## + ##### +## ## +## # +## + ##### + ## +# ## +## ## + ##### + ## + ## + + + +037----- + + + + +## # +## ## + ## + ## + ## + ## +## ## +# ## + + + + +038----- + + + ### + ## ## + ## ## + ### + ### ## +## ### +## ## +## ## +## ## + ### ## + + + + +039----- + + ## + ## + ## + ## + + + + + + + + + + + +040----- + + + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +041----- + + + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +042----- + + + + + + ## ## + #### +######## + #### + ## ## + + + + + + +043----- + + + + + + ## + ## +######## + ## + ## + + + + + + +044----- + + + + + + + + + + ## + ## + ## + ## + + + +045----- + + + + + + + +######## + + + + + + + + +046----- + + + + + + + + + + + ## + ## + + + + +047----- + + + + + # + ## + ## + ## + ## + ## +## +# + + + + +048----- + + + ##### +## ## +## ## +## ### +## # ## +## # ## +### ## +## ## +## ## + ##### + + + + +049----- + + + ## + ### + #### + ## + ## + ## + ## + ## + ## + ###### + + + + +050----- + + + ##### +## ## + ## + ## + ## + ## + ## +## +## ## +####### + + + + +051----- + + + ##### +## ## + ## + ## + #### + ## + ## + ## +## ## + ##### + + + + +052----- + + + ## + ### + #### + ## ## +## ## +####### + ## + ## + ## + #### + + + + +053----- + + +####### +## +## +## +###### + ### + ## + ## +## ## + ##### + + + + +054----- + + + ### + ## +## +## +###### +## ## +## ## +## ## +## ## + ##### + + + + +055----- + + +####### +## ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +056----- + + + ##### +## ## +## ## +## ## + ##### +## ## +## ## +## ## +## ## + ##### + + + + +057----- + + + ##### +## ## +## ## +## ## + ###### + ## + ## + ## + ## + #### + + + + +058----- + + + + + ## + ## + + + + ## + ## + + + + + +059----- + + + + + ## + ## + + + + ## + ## + ## + + + + +060----- + + + + ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +061----- + + + + + + +####### + + +####### + + + + + + +062----- + + + + ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +063----- + + + ##### +## ## +## ## + ## + ## + ## + ## + + ## + ## + + + + +064----- + + + + ##### +## ## +## ## +## #### +## #### +## #### +## ### +## + ##### + + + + +065----- + + + # + ### + ## ## +## ## +## ## +####### +## ## +## ## +## ## +## ## + + + + +066----- + + +###### + ## ## + ## ## + ## ## + ##### + ## ## + ## ## + ## ## + ## ## +###### + + + + +067----- + + + #### + ## ## +## # +## +## +## +## +## # + ## ## + #### + + + + +068----- + + +##### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +##### + + + + +069----- + + +####### + ## ## + ## # + ## # + #### + ## # + ## + ## # + ## ## +####### + + + + +070----- + + +####### + ## ## + ## # + ## # + #### + ## # + ## + ## + ## +#### + + + + +071----- + + + #### + ## ## +## # +## +## +## #### +## ## +## ## + ## ## + ### # + + + + +072----- + + +## ## +## ## +## ## +## ## +####### +## ## +## ## +## ## +## ## +## ## + + + + +073----- + + + #### + ## + ## + ## + ## + ## + ## + ## + ## + #### + + + + +074----- + + + #### + ## + ## + ## + ## + ## +## ## +## ## +## ## + #### + + + + +075----- + + +### ## + ## ## + ## ## + ## ## + #### + #### + ## ## + ## ## + ## ## +### ## + + + + +076----- + + +#### + ## + ## + ## + ## + ## + ## + ## # + ## ## +####### + + + + +077----- + + +## ## +### ### +######## +## ## ## +## ## ## +## ## +## ## +## ## +## ## +## ## + + + + +078----- + + +## ## +### ## +#### ## +####### +## #### +## ### +## ## +## ## +## ## +## ## + + + + +079----- + + + ### + ## ## +## ## +## ## +## ## +## ## +## ## +## ## + ## ## + ### + + + + +080----- + + +###### + ## ## + ## ## + ## ## + ##### + ## + ## + ## + ## +#### + + + + +081----- + + + ##### +## ## +## ## +## ## +## ## +## ## +## ## +## # ## +## #### + ##### + ## + ### + + +082----- + + +###### + ## ## + ## ## + ## ## + ##### + ## ## + ## ## + ## ## + ## ## +### ## + + + + +083----- + + + ##### +## ## +## ## + ## + ### + ## + ## +## ## +## ## + ##### + + + + +084----- + + +######## +## ## ## +# ## # + ## + ## + ## + ## + ## + ## + #### + + + + +085----- + + +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## + ##### + + + + +086----- + + +## ## +## ## +## ## +## ## +## ## +## ## +## ## + ## ## + ### + # + + + + +087----- + + +## ## +## ## +## ## +## ## +## ## +## ## ## +## ## ## +######## + ## ## + ## ## + + + + +088----- + + +## ## +## ## + ## ## + ## ## + ### + ### + ## ## + ## ## +## ## +## ## + + + + +089----- + + + ## ## + ## ## + ## ## + ## ## + #### + ## + ## + ## + ## + #### + + + + +090----- + + +######## +## ## +# ## + ## + ## + ## + ## + ## # +## ## +######## + + + + +091----- + + + ##### + ## + ## + ## + ## + ## + ## + ## + ## + ##### + + + + +092----- + + + +# +## +### + ### + ### + ### + ### + ## + # + + + + +093----- + + + ##### + ## + ## + ## + ## + ## + ## + ## + ## + ##### + + + + +094----- + # + ### + ## ## +## ## + + + + + + + + + + + + +095----- + + + + + + + + + + + + + +######## + + +096----- + ## + ## + ## + + + + + + + + + + + + + +097----- + + + + + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +098----- + + +### + ## + ## + #### + ## ## + ## ## + ## ## + ## ## + ## ## +## ### + + + + +099----- + + + + + + ##### +## ## +## +## +## +## ## + ##### + + + + +100----- + + + ### + ## + ## + #### + ## ## +## ## +## ## +## ## +## ## + ### ## + + + + +101----- + + + + + + ##### +## ## +####### +## +## +## ## + ##### + + + + +102----- + + + ### + ## ## + ## # + ## +#### + ## + ## + ## + ## +#### + + + + +103----- + + + + + + ### ## +## ## +## ## +## ## +## ## +## ## + ##### + ## +## ## + #### + +104----- + + +### + ## + ## + ## ## + ### ## + ## ## + ## ## + ## ## + ## ## +### ## + + + + +105----- + + + ## + ## + + ### + ## + ## + ## + ## + ## + #### + + + + +106----- + + + ## + ## + + ### + ## + ## + ## + ## + ## + ## + ## ## + ## ## + #### + +107----- + + +### + ## + ## + ## ## + ## ## + #### + #### + ## ## + ## ## +### ## + + + + +108----- + + + ### + ## + ## + ## + ## + ## + ## + ## + ## + #### + + + + +109----- + + + + + +### ## +######## +## ## ## +## ## ## +## ## ## +## ## ## +## ## ## + + + + +110----- + + + + + +## ### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + +111----- + + + + + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +112----- + + + + + +## ### + ## ## + ## ## + ## ## + ## ## + ## ## + ##### + ## + ## +#### + +113----- + + + + + + ### ## +## ## +## ## +## ## +## ## +## ## + ##### + ## + ## + #### + +114----- + + + + + +## ### + ### ## + ## # + ## + ## + ## +#### + + + + +115----- + + + + + + ##### +## ## + ## + ### + ## +## ## + ##### + + + + +116----- + + + # + ## + ## +###### + ## + ## + ## + ## + ## ## + ### + + + + +117----- + + + + + +## ## +## ## +## ## +## ## +## ## +## ## + ### ## + + + + +118----- + + + + + + ## ## + ## ## + ## ## + ## ## + ## ## + #### + ## + + + + +119----- + + + + + +## ## +## ## +## ## +## ## ## +## ## ## +######## + ## ## + + + + +120----- + + + + + +## ## + ## ## + ### + ### + ### + ## ## +## ## + + + + +121----- + + + + + +## ## +## ## +## ## +## ## +## ## +## ## + ###### + ## + ## +##### + +122----- + + + + + +####### +## ## + ## + ## + ## +## ## +####### + + + + +123----- + + + ### + ## + ## + ## + ### + ## + ## + ## + ## + ### + + + + +124----- + + + ## + ## + ## + ## + + ## + ## + ## + ## + ## + + + + +125----- + + + ### + ## + ## + ## + ### + ## + ## + ## + ## + ### + + + + +126----- + + + ### ## +## ### + + + + + + + + + + + + +127----- + + + + + # + ### + ##### +####### +####### +####### +####### + + + + + +128----- + + +####### +## +## +## +## +## +## +## +####### + ## + ## + ##### + + +129----- + + + +## ## + +## ## +## ## +## ## +## ## +## ## +## ## + ##### + + + + +130----- + + + + + + + + + + + + + + # + ## + # # +131----- + # + # + # + + + + + + + + + + + + + +132----- + + +## ## +## ## + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +133----- + + + + + + + + + + + + + + ## + # # + # +134----- + # + # + #### + + + + + + + + + + + + + +135----- + + + + + + + + + + + + + + ### + # # + ## +136----- + # + # # + ### + + + + + + + + + + + + + +137----- + + +## ## +## ## + + ##### +## ## +####### +## +## +## ## + ##### + + + + +138----- + + + + + + + + + + + + + + # + # # + ##### +139----- + # + # + # + + + + + + + + + + + + + +140----- + + + + + + + + + + + + + + ##### + # + #### +141----- + # + # # + ### + + + + + + + + + + + + + +142----- + +## ## +## ## + # + ### + ## ## +## ## +## ## +####### +## ## +## ## +## ## + + + + +143----- + + + + + + + + + + + + + + ### + # + # +144----- + #### + # # + ### + + + + + + + + + + + + + +145----- + + + + + +### ### + # # # + # # # +### ### +# # # +# # # +### ### + + + + +146----- + + +### ### +# # # +# # # +# # # +### ## +# # # +# # # +# # # +# # # +# # ### + + + + +147----- + + # + ### + ## ## + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +148----- + + +## ## +## ## + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +149----- + + + + + + + + + + + + + + ##### + # + #### +150----- + # + # + # + + + + + + + + + + + + + +151----- + + + + + + + + + + + + + + ### + # # + ### +152----- + # # + # # + ### + + + + + + + + + + + + + +153----- + +## ## +## ## + + ### + ## ## +## ## +## ## +## ## +## ## + ## ## + ### + + + + +154----- + +## ## +## ## + +## ## +## ## +## ## +## ## +## ## +## ## +## ## + ##### + + + + +155----- + + + + + + + + + + + + + + ### + # # + ### +156----- + # + # + ### + + + + + + + + + + + + + +157----- + + + + + + + + + + + + + + ### + # ## + # # # +158----- + # # # + ## # + ### + + + + + + + + + + + + + +159----- + + ### + ## ## + ## + ## + ## + ###### + ## + ## + ## + ## + ## +## ## + ### + + +160----- + + ## + ## + ## + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +161----- + + ## + ## + ## + + ### + ## + ## + ## + ## + ## + #### + + + + +162----- + + ## + ## + ## + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +163----- + + ## + ## + ## + +## ## +## ## +## ## +## ## +## ## +## ## + ### ## + + + + +164----- + + + ### ## +## ### + +## ### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + +165----- + ### ## +## ### + +## ## +### ## +#### ## +####### +## #### +## ### +## ## +## ## +## ## + + + + +166----- + + ###### + ## # + ## # + ###### + + ###### + + + + + + + + + +167----- + + ##### + # # + # # + ##### + + ##### + + + + + + + + + +168----- + + + ## + ## + + ## + ## + ## +## +## ## +## ## +####### + + + + +169----- + + + + + + +####### +## +## +## +## + + + + + +170----- + + + + + + +####### + ## + ## + ## + ## + + + + + +171----- + +## +## +## ## +## ## +## ## + ## + ## + ## +## #### +## ## + #### + ## + #### + + +172----- + +## +## +## # +## ## +## ## + ## + ## + ## ## +## ### +# ## # + ###### + ## + #### + + +173----- + + + ## + ## + + ## + ### + ### + #### + #### +##### +##### + + + + +174----- + + + + + ### + ## ## +## ## +######## +## ## + ## ## + ### + + + + + +175----- + + + + + + ## + ## + #### + #### + ###### + ###### + ## + ## + ## + ## + ## +176----- + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # +177----- + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # +178----- +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +179----- + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## +180----- + ## + ## + ## + ## + ## + ## + ### +##### + ### + ## + ## + ## + ## + ## + ## + ## +181----- + ## + ## + ## + ## + ### +##### +##### +##### + ### + ## + ## + ## + ## + ## + ## + ## +182----- + ##### + ##### + ##### + ##### + ##### + ##### + ###### +####### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +183----- + + + + + + + +###### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +184----- + + + + + +#### +##### +##### + ### + ## + ## + ## + ## + ## + ## + ## +185----- + ##### + ##### + ##### + ##### + ###### +####### +####### +####### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +186----- + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +187----- + + + + + +###### +####### +####### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +188----- + ##### + ##### + ##### + ##### + ###### +####### +####### +###### + + + + + + + + +189----- + ##### + ##### + ##### + ##### + ##### + ##### + ###### +###### + + + + + + + + +190----- + ## + ## + ## + ## + ### +##### +##### +#### + + + + + + + + +191----- + + + + + + + +#### + ### + ## + ## + ## + ## + ## + ## + ## +192----- + ## + ## + ## + ## + ## + ## + ### + #### + + + + + + + + +193----- + ## + ## + ## + ## + ## + ## + #### +######## + + + + + + + + +194----- + + + + + + + +######## + #### + ## + ## + ## + ## + ## + ## + ## +195----- + ## + ## + ## + ## + ## + ## + ### + ##### + ### + ## + ## + ## + ## + ## + ## + ## +196----- + + + + + + + +######## + + + + + + + + +197----- + ## + ## + ## + ## + ## + ## + #### +######## + #### + ## + ## + ## + ## + ## + ## + ## +198----- + ## + ## + ## + ## + ### + ##### + ##### + ##### + ### + ## + ## + ## + ## + ## + ## + ## +199----- + ##### + ##### + ##### + ##### + ##### + ##### + ###### + ####### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +200----- + ##### + ##### + ##### + ##### + ###### + ###### + ###### + ##### + + + + + + + + +201----- + + + + + + ##### + ###### + ###### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +202----- + ##### + ##### + ##### + ##### + ####### +######## +######## +######## + + + + + + + + +203----- + + + + + +######## +######## +######## + ####### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +204----- + ##### + ##### + ##### + ##### + ###### + ###### + ###### + ###### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +205----- + + + + + +######## +######## +######## + + + + + + + + +206----- + ##### + ##### + ##### + ##### + ####### +######## +######## +######## + ####### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +207----- + ## + ## + ## + ## + #### +######## +######## +######## + + + + + + + + +208----- + ##### + ##### + ##### + ##### + ##### + ##### + ####### +######## + + + + + + + + +209----- + + + + + +######## +######## +######## + #### + ## + ## + ## + ## + ## + ## + ## +210----- + + + + + + + +######## + ####### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +211----- + ##### + ##### + ##### + ##### + ##### + ##### + ###### + ##### + + + + + + + + +212----- + ## + ## + ## + ## + ### + ##### + ##### + #### + + + + + + + + +213----- + + + + + + #### + ##### + ##### + ### + ## + ## + ## + ## + ## + ## + ## +214----- + + + + + + + + ##### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +215----- + ##### + ##### + ##### + ##### + ##### + ##### + ####### +######## + ####### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +216----- + ## + ## + ## + ## + #### +######## +######## +######## + #### + ## + ## + ## + ## + ## + ## + ## +217----- + ## + ## + ## + ## + ## + ## + ### +#### + + + + + + + + +218----- + + + + + + + + #### + ### + ## + ## + ## + ## + ## + ## + ## +219----- +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +220----- + + + + + + + +######## +######## +######## +######## +######## +######## +######## +######## +######## +221----- + + + + + ### + ## ## +## ## +######## +## ## + ## ## + ### + + + + + +222----- + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### +223----- +######## +######## +######## +######## +######## +######## +######## + + + + + + + + + +224----- + + + + + + ### ## +## ### +## ## +## ## +## ## +## ### + ### ## + + + + +225----- + + + + + +###### +## ## +###### +## ## +## ## +###### +## +## +## + + +226----- + + +####### +## ## +## ## +## +## +## +## +## +## +## + + + + +227----- + + + + +# +####### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + +228----- + + + +####### +## ## + ## + ## + ## + ## + ## +## ## +####### + + + + +229----- + + + + + + ###### +## ## +## ## +## ## +## ## +## ## + ### + + + + +230----- + + + + + ## ## + ## ## + ## ## + ## ## + ## ## + ##### + ## + ## +## + + + +231----- + + + + + ### ## +## ### + ## + ## + ## + ## + ## + ## + + + + +232----- + + + + ###### + ## + #### + ## ## + ## ## + ## ## + #### + ## + ###### + + + + +233----- + + + + ### + ## ## +## ## +## ## +####### +## ## +## ## + ## ## + ### + + + + +234----- + + + ### + ## ## +## ## +## ## +## ## + ## ## + ## ## + ## ## + ## ## +### ### + + + + +235----- + + + #### + ## + ## + ## + ##### + ## ## + ## ## + ## ## + ## ## + #### + + + + +236----- + + + + + + ###### +## ## ## +## ## ## +## ## ## + ###### + + + + + + +237----- + + + + ## + ## + ###### +## #### +## ## ## +#### ## + ###### + ## +## + + + + +238----- + + + ### + ## + ## + ## + ##### + ## + ## + ## + ## + ### + + + + +239----- + + + + ##### +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## + + + + +240----- + + + + +####### + + +####### + + +####### + + + + + +241----- + + + + + ## + ## +######## + ## + ## + + +######## + + + + +242----- + + + + ## + ## + ## + ## + ## + ## + ## + + ###### + + + + +243----- + + + + ## + ## + ## + ## + ## + ## + ## + + ###### + + + + +244----- + + + ### + ## ## + ## ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## +245----- + ## + ## + ## + ## + ## + ## + ## + ## +## ## +## ## +## ## + ### + + + + +246----- + + + + + ## + ## + +######## + + ## + ## + + + + + +247----- + + + + + + ### ## +## ### + + ### ## +## ### + + + + + + +248----- + + ### + ## ## + ## ## + ### + + + + + + + + + + + +249----- + + + + + + + + ## + ## + + + + + + + +250----- + + + + + + + + + ## + + + + + + + +251----- + + #### + ## + ## + ## + ## + ## +### ## + ## ## + ## ## + #### + ### + + + + +252----- + +## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + + + + + + +253----- + + ### +# ## + ## + ## +## # +##### + + + + + + + + + +254----- + + + + + ##### + ##### + ##### + ##### + ##### + ##### + ##### + + + + + +255----- + + + + + + + + + + + + + + + + +-------- diff --git a/chem_dia/chem_dia.ft_ b/chem_dia/chem_dia.ft_ new file mode 100644 index 0000000..6b84c16 --- /dev/null +++ b/chem_dia/chem_dia.ft_ @@ -0,0 +1,4354 @@ +16 +000----- + + + + + + + + + + + + + + + + +001----- + + + ###### +# # +# # # # +# # +# # +# #### # +# ## # +# # +# # + ###### + + + + +002----- + + + ###### +######## +## ## ## +######## +######## +## ## +### ### +######## +######## + ###### + + + + +003----- + + + + + ## ## +####### +####### +####### +####### + ##### + ### + # + + + + +004----- + + + + + # + ### + ##### +####### + ##### + ### + # + + + + + +005----- + + + + ## + #### + #### +### ### +### ### +### ### + ## + ## + #### + + + + +006----- + + + + ## + #### + ###### +######## +######## + ###### + ## + ## + #### + + + + +007----- + + + + + + + ## + #### + #### + ## + + + + + + +008----- +######## +######## +######## +######## +######## +######## +### ### +## ## +## ## +### ### +######## +######## +######## +######## +######## +######## +009----- + + + + + + #### + ## ## + # # + # # + ## ## + #### + + + + + +010----- +######## +######## +######## +######## +######## +## ## +# ## # +# #### # +# #### # +# ## # +## ## +######## +######## +######## +######## +######## +011----- + + + #### + ### + ## # + ## # + #### +## ## +## ## +## ## +## ## + #### + + + + +012----- + + + #### + ## ## + ## ## + ## ## + ## ## + #### + ## + ###### + ## + ## + + + + +013----- + + + ###### + ## ## + ###### + ## + ## + ## + ## + ### +#### +### + + + + +014----- + + + ####### + ## ## + ####### + ## ## + ## ## + ## ## + ## ## + ## ### +### ### +### ## +## + + + +015----- + + + + ## + ## +## ## ## + #### +### ### + #### +## ## ## + ## + ## + + + + +016----- + +# +## +### +#### +##### +####### +##### +#### +### +## +# + + + + +017----- + + # + ## + ### + #### + ##### +####### + ##### + #### + ### + ## + # + + + + +018----- + + + ## + #### + ###### + ## + ## + ## + ###### + #### + ## + + + + + +019----- + + + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + ## ## + ## ## + + + + +020----- + + + ####### +## ## ## +## ## ## +## ## ## + #### ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + +021----- + + ##### +## ## + ## + ### + ## ## +## ## +## ## + ## ## + ### + ## +## ## + ##### + + + +022----- + + + + + + + + +####### +####### +####### +####### + + + + +023----- + + + ## + #### + ###### + ## + ## + ## + ###### + #### + ## + ###### + + + + +024----- + + + ## + #### + ###### + ## + ## + ## + ## + ## + ## + ## + + + + +025----- + + + ## + ## + ## + ## + ## + ## + ## + ###### + #### + ## + + + + +026----- + + + + + + ## + ## +####### + ## + ## + + + + + + +027----- + + + + + + ## + ## +####### + ## + ## + + + + + + +028----- + + + + + + +## +## +## +####### + + + + + + +029----- + + + + + + # # + ## ## +######## + ## ## + # # + + + + + + +030----- + + + + + # + ### + ### + ##### + ##### +####### +####### + + + + + +031----- + + + + +####### +####### + ##### + ##### + ### + ### + # + + + + + +032----- + + + + + + + + + + + + + + + + +033----- + + + ## + #### + #### + #### + ## + ## + ## + + ## + ## + + + + +034----- + + ## ## + ## ## + ## ## + # # + + + + + + + + + + + +035----- + + + + ## ## + ## ## +####### + ## ## + ## ## + ## ## +####### + ## ## + ## ## + + + + +036----- + ## + ## + ##### +## ## +## # +## + ##### + ## + ## +# ## +## ## + ##### + ## + ## + + +037----- + + + + +## # +## ## + ## + ## + ## + ## +## ## +# ## + + + + +038----- + + + ### + ## ## + ## ## + ### + ### ## +## ### +## ## +## ## +## ## + ### ## + + + + +039----- + + ## + ## + ## + ## + + + + + + + + + + + +040----- + + + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +041----- + + + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +042----- + + + + + + ## ## + #### +######## + #### + ## ## + + + + + + +043----- + + + + + + ## + ## + ###### + ## + ## + + + + + + +044----- + + + + + + + + + + ## + ## + ## + ## + + + +045----- + + + + + + + +####### + + + + + + + + +046----- + + + + + + + + + + + ## + ## + + + + +047----- + + + + + # + ## + ## + ## + ## + ## +## +# + + + + +048----- + + + #### + ## ## +## ## +## ## +## ## ## +## ## ## +## ## +## ## + ## ## + #### + + + + +049----- + + + ## + ### + #### + ## + ## + ## + ## + ## + ## + ###### + + + + +050----- + + + ##### +## ## + ## + ## + ## + ## + ## +## +## ## +####### + + + + +051----- + + + ##### +## ## + ## + ## + #### + ## + ## + ## +## ## + ##### + + + + +052----- + + + ## + ### + #### + ## ## +## ## +####### + ## + ## + ## + #### + + + + +053----- + + +####### +## +## +## +###### + ## + ## + ## +## ## + ##### + + + + +054----- + + + ### + ## +## +## +###### +## ## +## ## +## ## +## ## + ##### + + + + +055----- + + +####### +## ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +056----- + + + ##### +## ## +## ## +## ## + ##### +## ## +## ## +## ## +## ## + ##### + + + + +057----- + + + ##### +## ## +## ## +## ## + ###### + ## + ## + ## + ## + #### + + + + +058----- + + + + + ## + ## + + + + ## + ## + + + + + +059----- + + + + + ## + ## + + + + ## + ## + ## + + + + +060----- + + + + ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +061----- + + + + + + ###### + + + ###### + + + + + + + +062----- + + + + ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +063----- + + + ##### +## ## +## ## + ## + ## + ## + ## + + ## + ## + + + + +064----- + + + + ##### +## ## +## ## +## #### +## #### +## #### +## ### +## + ##### + + + + +065----- + + + # + ### + ## ## +## ## +## ## +####### +## ## +## ## +## ## +## ## + + + + +066----- + + +###### + ## ## + ## ## + ## ## + ##### + ## ## + ## ## + ## ## + ## ## +###### + + + + +067----- + + + #### + ## ## +## # +## +## +## +## +## # + ## ## + #### + + + + +068----- + + +##### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +##### + + + + +069----- + + +####### + ## ## + ## # + ## # + #### + ## # + ## + ## # + ## ## +####### + + + + +070----- + + +####### + ## ## + ## # + ## # + #### + ## # + ## + ## + ## +#### + + + + +071----- + + + #### + ## ## +## # +## +## +## #### +## ## +## ## + ## ## + ### # + + + + +072----- + + +## ## +## ## +## ## +## ## +####### +## ## +## ## +## ## +## ## +## ## + + + + +073----- + + + #### + ## + ## + ## + ## + ## + ## + ## + ## + #### + + + + +074----- + + + #### + ## + ## + ## + ## + ## +## ## +## ## +## ## + #### + + + + +075----- + + +### ## + ## ## + ## ## + ## ## + #### + #### + ## ## + ## ## + ## ## +### ## + + + + +076----- + + +#### + ## + ## + ## + ## + ## + ## + ## # + ## ## +####### + + + + +077----- + + +## ## +### ### +######## +######## +## ## ## +## ## +## ## +## ## +## ## +## ## + + + + +078----- + + +## ## +### ## +#### ## +####### +## #### +## ### +## ## +## ## +## ## +## ## + + + + +079----- + + + ##### +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## + ##### + + + + +080----- + + +###### + ## ## + ## ## + ## ## + ##### + ## + ## + ## + ## +#### + + + + +081----- + + + ##### +## ## +## ## +## ## +## ## +## ## +## ## +## # ## +## #### + ##### + ## + ### + + +082----- + + +###### + ## ## + ## ## + ## ## + ##### + ## ## + ## ## + ## ## + ## ## +### ## + + + + +083----- + + + ##### +## ## +## ## + ## + ### + ## + ## +## ## +## ## + ##### + + + + +084----- + + +######## +## ## ## +# ## # + ## + ## + ## + ## + ## + ## + #### + + + + +085----- + + +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## + ##### + + + + +086----- + + +## ## +## ## +## ## +## ## +## ## +## ## +## ## + ## ## + #### + ## + + + + +087----- + + +## ## +## ## +## ## +## ## +## ## +## ## ## +## ## ## +######## + ## ## + ## ## + + + + +088----- + + +## ## +## ## + ## ## + #### + ## + ## + #### + ## ## +## ## +## ## + + + + +089----- + + +## ## +## ## +## ## + ## ## + #### + ## + ## + ## + ## + #### + + + + +090----- + + +######## +## ## +# ## + ## + ## + ## + ## +## # +## ## +######## + + + + +091----- + + + #### + ## + ## + ## + ## + ## + ## + ## + ## + #### + + + + +092----- + + + +# +## +### + ### + ### + ### + ### + ## + # + + + + +093----- + + + #### + ## + ## + ## + ## + ## + ## + ## + ## + #### + + + + +094----- + # + ### + ## ## +## ## + + + + + + + + + + + + +095----- + + + + + + + + + + + + + +######## + + +096----- + ## + ## + ## + + + + + + + + + + + + + +097----- + + + + + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +098----- + + +### + ## + ## + #### + ## ## + ## ## + ## ## + ## ## + ## ## + ##### + + + + +099----- + + + + + + ##### +## ## +## +## +## +## ## + ##### + + + + +100----- + + + ### + ## + ## + #### + ## ## +## ## +## ## +## ## +## ## + ### ## + + + + +101----- + + + + + + ##### +## ## +####### +## +## +## ## + ##### + + + + +102----- + + + ### + ## ## + ## # + ## +#### + ## + ## + ## + ## +#### + + + + +103----- + + + + + + ### ## +## ## +## ## +## ## +## ## +## ## + ##### + ## +## ## + #### + +104----- + + +### + ## + ## + ## ## + ### ## + ## ## + ## ## + ## ## + ## ## +### ## + + + + +105----- + + + ## + ## + + ### + ## + ## + ## + ## + ## + #### + + + + +106----- + + + ## + ## + + ### + ## + ## + ## + ## + ## + ## + ## ## + ## ## + #### + +107----- + + +### + ## + ## + ## ## + ## ## + #### + #### + ## ## + ## ## +### ## + + + + +108----- + + + ### + ## + ## + ## + ## + ## + ## + ## + ## + #### + + + + +109----- + + + + + +### ## +######## +## ## ## +## ## ## +## ## ## +## ## ## +## ## ## + + + + +110----- + + + + + +## ### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + +111----- + + + + + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +112----- + + + + + +## ### + ## ## + ## ## + ## ## + ## ## + ## ## + ##### + ## + ## +#### + +113----- + + + + + + ### ## +## ## +## ## +## ## +## ## +## ## + ##### + ## + ## + #### + +114----- + + + + + +## ### + ### ## + ## ## + ## + ## + ## +#### + + + + +115----- + + + + + + ##### +## ## + ## + ### + ## +## ## + ##### + + + + +116----- + + + # + ## + ## +###### + ## + ## + ## + ## + ## ## + ### + + + + +117----- + + + + + +## ## +## ## +## ## +## ## +## ## +## ## + ### ## + + + + +118----- + + + + + +## ## +## ## +## ## +## ## + ## ## + #### + ## + + + + +119----- + + + + + +## ## +## ## +## ## +## ## ## +## ## ## +######## + ## ## + + + + +120----- + + + + + +## ## + ## ## + #### + ## + #### + ## ## +## ## + + + + +121----- + + + + + +## ## +## ## +## ## +## ## +## ## +## ## + ###### + ## + ## +##### + +122----- + + + + + +####### +## ## + ## + ## + ## +## ## +####### + + + + +123----- + + + ### + ## + ## + ## + ### + ## + ## + ## + ## + ### + + + + +124----- + + + ## + ## + ## + ## + + ## + ## + ## + ## + ## + + + + +125----- + + + ### + ## + ## + ## + ### + ## + ## + ## + ## + ### + + + + +126----- + + + ### ## +## ### + + + + + + + + + + + + +127----- + + + + + # + ### + ## ## +## ## +## ## +## ## +####### + + + + + +128----- + + + #### + ## ## +## # +## +## +## +## # + ## ## + #### + ## + ## + ##### + + +129----- + + +## ## + + +## ## +## ## +## ## +## ## +## ## +## ## + ### ## + + + + +130----- + + ## + ## + ## + + ##### +## ## +####### +## +## +## ## + ##### + + + + +131----- + + # + ### + ## ## + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +132----- + + +## ## + + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +133----- + + ## + ## + ## + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +134----- + + ### + ## ## + ### + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +135----- + + + + + #### + ## ## + ## + ## + ## ## + #### + ## + ## + #### + + + +136----- + + # + ### + ## ## + + ##### +## ## +####### +## +## +## ## + ##### + + + + +137----- + + +## ## + + + ##### +## ## +####### +## +## +## ## + ##### + + + + +138----- + + ## + ## + ## + + ##### +## ## +####### +## +## +## ## + ##### + + + + +139----- + + + ## ## + + + ### + ## + ## + ## + ## + ## + #### + + + + +140----- + + ## + #### + ## ## + + ### + ## + ## + ## + ## + ## + #### + + + + +141----- + + ## + ## + ## + + ### + ## + ## + ## + ## + ## + #### + + + + +142----- + +## ## + + # + ### + ## ## +## ## +## ## +####### +## ## +## ## +## ## + + + + +143----- + ### + ## ## + ### + + ### + ## ## +## ## +## ## +####### +## ## +## ## +## ## + + + + +144----- + ## + ## + ## + +####### + ## ## + ## + ##### + ## + ## + ## ## +####### + + + + +145----- + + + + + + ## ### + ### ## + ## ## + ###### +## ## +## ### + ### ### + + + + +146----- + + + ##### + ## ## +## ## +## ## +####### +## ## +## ## +## ## +## ## +## ### + + + + +147----- + + # + ### + ## ## + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +148----- + + +## ## + + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +149----- + + ## + ## + ## + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +150----- + + ## + #### +## ## + +## ## +## ## +## ## +## ## +## ## +## ## + ### ## + + + + +151----- + + ## + ## + ## + +## ## +## ## +## ## +## ## +## ## +## ## + ### ## + + + + +152----- + + +## ## + + +## ## +## ## +## ## +## ## +## ## +## ## + ###### + ## + ## + #### + +153----- + +## ## + + ##### +## ## +## ## +## ## +## ## +## ## +## ## +## ## + ##### + + + + +154----- + +## ## + +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## + ##### + + + + +155----- + + ## + ## + ###### +## ## +## +## +## +## ## + ###### + ## + ## + + + + +156----- + + ### + ## ## + ## # + ## +#### + ## + ## + ## + ## +### ## +###### + + + + +157----- + + +## ## + ## ## + #### + ## +######## + ## +######## + ## + ## + ## + + + + +158----- + +###### + ## ## + ## ## + ##### + ## # + ## ## + ## #### + ## ## + ## ## + ## ## +#### ## + + + + +159----- + + ### + ## ## + ## + ## + ## + ###### + ## + ## + ## + ## + ## +## ## + ### + + +160----- + + ## + ## + ## + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +161----- + + ## + ## + ## + + ### + ## + ## + ## + ## + ## + #### + + + + +162----- + + ## + ## + ## + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +163----- + + ## + ## + ## + +## ## +## ## +## ## +## ## +## ## +## ## + ### ## + + + + +164----- + + + ### ## +## ### + +## ### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + +165----- + ### ## +## ### + +## ## +### ## +#### ## +####### +## #### +## ### +## ## +## ## +## ## + + + + +166----- + + #### + ## ## + ## ## + ##### + + ###### + + + + + + + + + +167----- + + ### + ## ## + ## ## + ### + + ##### + + + + + + + + + +168----- + + + ## + ## + + ## + ## + ## +## +## ## +## ## + ##### + + + + +169----- + + + + + + +####### +## +## +## +## + + + + + +170----- + + + + + + +####### + ## + ## + ## + ## + + + + + +171----- + +## +## +## # +## ## +## ## + ## + ## + ## +## ### +# ## ## + ## + ## + ##### + + +172----- + +## +## +## # +## ## +## ## + ## + ## + ## ## +## ### +# # ## + ##### + ## + ## + + +173----- + + + ## + ## + + ## + ## + ## + #### + #### + #### + ## + + + + +174----- + + + + + + ## ## + ## ## +## ## + ## ## + ## ## + + + + + + +175----- + + + + + +## ## + ## ## + ## ## + ## ## +## ## + + + + + + +176----- + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # +177----- + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # +178----- +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +179----- + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## +180----- + ## + ## + ## + ## + ## + ## + ## +##### + ## + ## + ## + ## + ## + ## + ## + ## +181----- + ## + ## + ## + ## + ## +##### + ## +##### + ## + ## + ## + ## + ## + ## + ## + ## +182----- + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +#### ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +183----- + + + + + + + +####### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +184----- + + + + + +##### + ## +##### + ## + ## + ## + ## + ## + ## + ## + ## +185----- + ## ## + ## ## + ## ## + ## ## + ## ## +#### ## + ## +#### ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +186----- + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +187----- + + + + + +####### + ## +#### ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +188----- + ## ## + ## ## + ## ## + ## ## + ## ## +#### ## + ## +####### + + + + + + + + +189----- + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +####### + + + + + + + + +190----- + ## + ## + ## + ## + ## +##### + ## +##### + + + + + + + + +191----- + + + + + + + +##### + ## + ## + ## + ## + ## + ## + ## + ## +192----- + ## + ## + ## + ## + ## + ## + ## + ##### + + + + + + + + +193----- + ## + ## + ## + ## + ## + ## + ## +######## + + + + + + + + +194----- + + + + + + + +######## + ## + ## + ## + ## + ## + ## + ## + ## +195----- + ## + ## + ## + ## + ## + ## + ## + ##### + ## + ## + ## + ## + ## + ## + ## + ## +196----- + + + + + + + +######## + + + + + + + + +197----- + ## + ## + ## + ## + ## + ## + ## +######## + ## + ## + ## + ## + ## + ## + ## + ## +198----- + ## + ## + ## + ## + ## + ##### + ## + ##### + ## + ## + ## + ## + ## + ## + ## + ## +199----- + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +200----- + ## ## + ## ## + ## ## + ## ## + ## ## + ## ### + ## + ###### + + + + + + + + +201----- + + + + + + ###### + ## + ## ### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +202----- + ## ## + ## ## + ## ## + ## ## + ## ## +#### ### + +######## + + + + + + + + +203----- + + + + + +######## + +#### ### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +204----- + ## ## + ## ## + ## ## + ## ## + ## ## + ## ### + ## + ## ### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +205----- + + + + + +######## + +######## + + + + + + + + +206----- + ## ## + ## ## + ## ## + ## ## + ## ## +#### ### + +#### ### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +207----- + ## + ## + ## + ## + ## +######## + +######## + + + + + + + + +208----- + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +######## + + + + + + + + +209----- + + + + + +######## + +######## + ## + ## + ## + ## + ## + ## + ## + ## +210----- + + + + + + + +######## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +211----- + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ###### + + + + + + + + +212----- + ## + ## + ## + ## + ## + ##### + ## + ##### + + + + + + + + +213----- + + + + + + ##### + ## + ##### + ## + ## + ## + ## + ## + ## + ## + ## +214----- + + + + + + + + ###### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +215----- + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +######## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +216----- + ## + ## + ## + ## + ## +######## + ## +######## + ## + ## + ## + ## + ## + ## + ## + ## +217----- + ## + ## + ## + ## + ## + ## + ## +##### + + + + + + + + +218----- + + + + + + + + ##### + ## + ## + ## + ## + ## + ## + ## + ## +219----- +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +220----- + + + + + + + +######## +######## +######## +######## +######## +######## +######## +######## +######## +221----- +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +222----- + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### +223----- +######## +######## +######## +######## +######## +######## +######## + + + + + + + + + +224----- + + + + + + ### ## +## ### +## ## +## ## +## ## +## ### + ### ## + + + + +225----- + + + #### +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## + + + + +226----- + + +####### +## ## +## ## +## +## +## +## +## +## +## + + + + +227----- + + + + +####### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + +228----- + + + +####### +## ## + ## + ## + ## + ## + ## +## ## +####### + + + + +229----- + + + + + + ###### +## ## +## ## +## ## +## ## +## ## + ### + + + + +230----- + + + + + ## ## + ## ## + ## ## + ## ## + ## ## + ##### + ## + ## +## + + + +231----- + + + + + ### ## +## ### + ## + ## + ## + ## + ## + ## + + + + +232----- + + + + ###### + ## + #### + ## ## + ## ## + ## ## + #### + ## + ###### + + + + +233----- + + + + ### + ## ## +## ## +## ## +####### +## ## +## ## + ## ## + ### + + + + +234----- + + + ### + ## ## +## ## +## ## +## ## + ## ## + ## ## + ## ## + ## ## +### ### + + + + +235----- + + + #### + ## + ## + ## + ##### + ## ## + ## ## + ## ## + ## ## + #### + + + + +236----- + + + + + + ###### +## ## ## +## ## ## +## ## ## + ###### + + + + + + +237----- + + + + ## + ## + ###### +## ## ## +## ## ## +#### ## + ###### + ## +## + + + + +238----- + + + ### + ## + ## + ## + ##### + ## + ## + ## + ## + ### + + + + +239----- + + + + ##### +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## + + + + +240----- + + + + +####### + + +####### + + +####### + + + + + +241----- + + + + + ## + ## + ###### + ## + ## + + +######## + + + + +242----- + + + + ## + ## + ## + ## + ## + ## + ## + + ###### + + + + +243----- + + + + ## + ## + ## + ## + ## + ## + ## + + ###### + + + + +244----- + + + ### + ## ## + ## ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## +245----- + ## + ## + ## + ## + ## + ## + ## + ## +## ## +## ## +## ## + ### + + + + +246----- + + + + + ## + ## + + ###### + + ## + ## + + + + + +247----- + + + + + + ### ## +## ### + + ### ## +## ### + + + + + + +248----- + + ### + ## ## + ## ## + ### + + + + + + + + + + + +249----- + + + + + + + + ## + ## + + + + + + + +250----- + + + + + + + + + ## + + + + + + + +251----- + + #### + ## + ## + ## + ## + ## +### ## + ## ## + ## ## + #### + ### + + + + +252----- + +## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + + + + + + +253----- + + ### +## ## + ## + ## +## # +##### + + + + + + + + + +254----- + + + + + ##### + ##### + ##### + ##### + ##### + ##### + ##### + + + + + +255----- + + + + + + + + + + + + + + + + +-------- diff --git a/chem_dia/loadfont.com b/chem_dia/loadfont.com new file mode 100644 index 0000000000000000000000000000000000000000..360de2d3e7910abe2ac08a31f2dfc4599725cad9 GIT binary patch literal 111 zcmV-#0FeKI{Qv!OT)uAsi~cj)x&Ql%*0ev(Au{BwBoBZ*FmeZq;H)GM)e4K~=sf^3 z_UJeOi_NltGUTj0AaV$F0t({L>UHyq#H#2Y0OIHV#&zC{-G<-2ZvnXg0W;FL5E0D~ R!?*`b%_+?xtUL;J`@`$NIWGVJ literal 0 HcmV?d00001 diff --git a/chem_dia/savefont.com b/chem_dia/savefont.com new file mode 100644 index 0000000000000000000000000000000000000000..fbe3c9ce4bcf7c7ddd6dbb1982c8196e78a10dae GIT binary patch literal 262 zcmV+h0r~!c`~d%V2e=1J%_+?xE`dH>08>zO8^3@6GuyNq%@ClY0KVn{=&b;~0HBWD zGwtgWGwqJujvf{Oi!J~FprZgTqN4!61_IOy4KOf<#OQti=t}@D#s*yg0E_i5iXNi? ztcu{d2mr7n0_1W8bOo>=s^atLSpfdab>`?H0E5LKF8&5x0Cmz1AHMVf=tTg!1_F!E zE6Te80JK2OA;T_!K3xF+atF9AEvu{RATFT-0;?{e1OltO1OhJp2QGj=Id%sw#s@G< z>+rZOEvu`z4GOEn`nd!Ey2JzXZ?OZi&hu~k!vFyS1Ox{F0|WvE00smA0RjUA0{{aA M00j^R4lpn Name" + color 7 + OPEN "I",#1,"NAMES.LST" + OPEN "O",#2,"DFVNC.LOG" + on error goto FEHLER + PRINT#2,"þ LOG-Datei vom Dark Forces Voice Name Changer v1.00" + print#2,"þ von RoboCop INDUSTRIES" + print#2,"þ" + print#2,"þ Gew„hlte Funktion: NUM2NAM" + print#2,"---------------------------------------------------" + X=1 +1 line input#1,FIL$ + x$=str$(x)+".VOC" + print"Benenne ";x$;" in ";FIL$;" um ... "; + print#2,X$;" ===> ";FIL$;" ... "; + name x$ as fil$ + print "OK" + print#2,"OK" + x=x+1 + if eof(1) then + print#2,"þ " + goto Ende + end if + goto 1 + +NamesToNumbers: + print"Gew„hlte Funktion: ";:color 14:print"Name ==> Nummer" + color 7 + OPEN "I",#1,"NAMES.LST" + OPEN "O",#2,"DFVNC.LOG" + ON ERROR GOTO FEHLER + PRINT#2,"þ LOG-Datei vom Dark Forces Voice Name Changer v1.00" + print#2,"þ von RoboCop INDUSTRIES" + print#2,"þ" + print#2,"þ Gew„hlte Funktion: NAM2NUM" + print#2,"---------------------------------------------------" + X=1 +2 line input#1,FIL$ + x$=str$(x)+".VOC" + print"Benenne ";FIL$;" in ";X$;" um ... "; + print#2,FIL$;" ===> ";X$;" ... "; + name fil$ as x$ + print "OK" + print#2,"OK" + x=x+1 + if eof(1) then + print#2,"þ " + goto Ende + end if + goto 2 + +FEHLER: + print#2,"=====================================================" + PRINT#2,"þ !!!WARNUNG!!!" + print#2,"þ Ein unbekannter Fehler ist aufgetreten! Vielleicht" + print#2,"þ haben Sie die FALSCHE FUNKTION gew„hlt. Wenn es das" + print#2,"þ nicht war, k”nnen wir Ihnen auch nicht helfen." + print#2,"=====================================================" + + Syntax: + print + print"Syntax: DFVNC [Serialnummer] [Funktion] + print + print" Serialnummer - Ihre Serialnummer" + print" Funktion - gewnschte Funktion:" + print" NUM2NAM - Nummern zu Namen" + print" (z.B.: 1.VOC => DOOR2-1.VOC, ...)" + print" NAM2NUM - Namen zu Nummern" + print" (z.B.: DOOR2-2.VOC => 2.VOC, ...)" + print + goto Ende + +Ende: + print#2,"þ Programm beendet." + \ No newline at end of file diff --git a/cit_095.bas b/cit_095.bas new file mode 100644 index 0000000..25b2b8d --- /dev/null +++ b/cit_095.bas @@ -0,0 +1,18 @@ +WIDTH "LPT1:",255 +lprint chr$(27);"1" +for n=1 to 20 +read x +flag$=flag$+chr$(x) +next +lprint chr$(27);"K";chr$(20);chr$(0);flag$ +flag$="" +for n=1 to 20 +read x +flag$=flag$+chr$(x) +next +lprint chr$(27);"K";chr$(20);chr$(0);flag$ +data 85,42,85,42,85,42,85,42,85,42 +data 85,85,85,85,85,85,85,85,85,85 +data 42,42,42,42,42,42,42,42,42,42 +data 42,42,42,42,42,42,42,42,42,42 + \ No newline at end of file diff --git a/cit_100.bas b/cit_100.bas new file mode 100644 index 0000000..228af58 --- /dev/null +++ b/cit_100.bas @@ -0,0 +1,104 @@ + dim matrix(15,15):lx=1:ly=1 + dim wert(15) + dim wert$(15) + for x=1 to 11 + for y=1 to 9 + matrix(x,y)=0 + next y + next x + cls:screen 12:color 15 + print"ððð CITIZEN 120D ððð" + print + gosub ShowIt +2 locate lx+2,ly + if matrix(ly,lx)=0 then color 30:print"þ" else color 26:print"±" + color 15 +1 a$=inkey$:if a$="" then 1 + if mid$(a$,2,1)="P" and lx<9 then lx=lx+1:gosub ShowIt:goto 2 + if mid$(a$,2,1)="H" and lx>1 then lx=lx-1:gosub ShowIt:goto 2 + if mid$(a$,2,1)="K" and ly>1 then ly=ly-1:gosub ShowIt:goto 2 + if mid$(a$,2,1)="M" and ly<11 then ly=ly+1:gosub ShowIt:goto 2 + if a$=" " and matrix(ly,lx)=0 then matrix(ly,lx)=1:gosub ShowIt:goto 2 + if a$=" " and matrix(ly,lx)=1 then matrix(ly,lx)=0:gosub ShowIt:goto 2 + if a$=chr$(27) then goto Fertig + goto 1 + +ShowIt: + for x=1 to 11 + for y=1 to 9 + locate y+2,x + if matrix(x,y)=1 then color 15:print"Û" + if matrix(x,y)=0 then color 8:print"ú" + next y + next x + return + +Fertig: + for x=1 to 11 + for y=1 to 9 + locate y+2,x + if matrix(x,y)=1 then color 15:print"Û" + if matrix(x,y)=0 then color 8:print"ú" + next y + next x + for x=1 to 11 + for y=1 to 9 + if y=1 and matrix(x,y)=1 then wert=wert+128 + if y=2 and matrix(x,y)=1 then wert=wert+64 + if y=3 and matrix(x,y)=1 then wert=wert+32 + if y=4 and matrix(x,y)=1 then wert=wert+16 + if y=5 and matrix(x,y)=1 then wert=wert+8 + if y=6 and matrix(x,y)=1 then wert=wert+4 + if y=7 and matrix(x,y)=1 then wert=wert+2 + if y=8 and matrix(x,y)=1 then wert=wert+1 + if y=9 and matrix(x,y)=1 then wert=wert+0 + next y + wert(x)=wert + wert=0 + next x + for x=1 to 11 + wert$(x)=using$("###",wert(x)) + next x:color 10 + for x=1 to 11 + for y=12 to 14 + locate y,x + print mid$(wert$(x),y-11,1); + next y + locate 15,x:color 11:print chr$(wert(x));:color 10 + next x + for x=1 to 11 + for y=1 to 9 + if matrix(x,y)=1 then pset (x+150,y+45),15 + next y + next x +5 locate 17,1:input"ASCII-Code: ",asci + if asci<32 or asci>126 then 5 + locate 17,20:print"Altes Zeichen: ";chr$(asci) +6 locate 18,1:input"Stimmt das (Ja/Nein/Anderer ASCII-Code)? ",YN$ + if yn$="j" or yn$="J" then goto JaStimmt + if yn$="n" or yn$="N" then goto 2 + if yn$="a" or yn$="A" then goto 5 + goto 6 +JaStimmt: + color 10 + print"Sende Daten ... "; + lprint chr$(27);":";chr$(0);chr$(0);chr$(0); + lprint chr$(27);"=";chr$(15);chr$(0);chr$(20);chr$(asci);chr$(0);chr$(0); + for x=1 to 11 + lprint chr$(wert(x)); + next x + lprint + lprint chr$(27);"I";chr$(4); + lprint "ððð CITIZEN 120D ððð "; + lprint "Neues Zeichen: ";chr$(asci) + print "OK" +7 locate 20,1:print"Noch ein Zeichen programmieren (J/N)? ",YN$ + if YN$="j" or YN$="J" then run + if YN$="n" or YN$="N" then goto Ende + goto 7 + +Ende: + screen 0,0,0:color 15:print"ððð CITIZEN 120D ððð was written by RoboCop INDUSTRIES" + print + end + \ No newline at end of file diff --git a/col_tab.bas b/col_tab.bas new file mode 100644 index 0000000..747bcac --- /dev/null +++ b/col_tab.bas @@ -0,0 +1,7 @@ + for x=0 to 31 + for y=0 to 7 + color x,y:print using" ##_,#ð>þþ";x,y; + next y + print + next x + \ No newline at end of file diff --git a/compi/andreas.cfg b/compi/andreas.cfg new file mode 100644 index 0000000..7764494 --- /dev/null +++ b/compi/andreas.cfg @@ -0,0 +1,2 @@ +3,3,3,1,2,2,1,3,3,2,2,2,3,2 +1 diff --git a/compi/arne.cfg b/compi/arne.cfg new file mode 100644 index 0000000..598f8c9 --- /dev/null +++ b/compi/arne.cfg @@ -0,0 +1,2 @@ +2,3,2,1,2,2,1,2,2,2,2,2,2,2 +1 diff --git a/compi/co&m.cfg b/compi/co&m.cfg new file mode 100644 index 0000000..8d93779 --- /dev/null +++ b/compi/co&m.cfg @@ -0,0 +1,2 @@ +2,0,2,3,1,2,2,2,1,3,1,1,0,2 +0 diff --git a/compi/compi.bas b/compi/compi.bas new file mode 100644 index 0000000..d32ddb4 --- /dev/null +++ b/compi/compi.bas @@ -0,0 +1,257 @@ +5 FLE$="COMPI.CFG" +10 CLS +20 KEY OFF +30 CO=10 +40 OF=8 +50 PIN=14 +60 BR=15 +70 A=2:B=2:C=2:D=2:E=2:F=2:G=2 +80 H=2:I=2:J=2:K=2:L=2:M=2:N=2 +90 TUR=0 +100 REM Anzeigeroutine +110 COLOR 15:LOCATE 5,30:PRINT"W - Werte speichern [";FLE$;"]" +120 LOCATE 6,30:PRINT"R - Werte laden [";FLE$;"]" +130 LOCATE 7,30:PRINT"S - Datei „ndern (momentan: ";FLE$;")" +140 LOCATE 8,30:PRINT"Q - Werte zurcksetzen" +150 LOCATE 9,30:PRINT"Z - Zufallswerte setzen" +160 LOCATE 10,30:PRINT"T - TURBO AN/AUS" +170 LOCATE 11,30:PRINT"U - m”gliche Dateinamen" +180 LOCATE 12,30:PRINT"A-N - Werte einzeln „ndern" +190 LOCATE 13,30:PRINT"^/ø - EXIT TO DOS" +200 LOCATE 14,30:PRINT"[SPCE]- alle Werte „ndern" +210 LOCATE 1,2:IF A=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +220 LOCATE 2,1:IF A=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF A=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +230 LOCATE 3,2:IF A=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +240 LOCATE 1,4:IF B=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +250 LOCATE 2,3:IF B=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF B=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +260 LOCATE 3,4:IF B=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +270 LOCATE 1,6:IF C=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +280 LOCATE 2,5:IF C=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF C=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +290 LOCATE 3,6:IF C=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +300 LOCATE 1,8:IF D=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +310 LOCATE 2,7:IF D=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF D=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +320 LOCATE 3,8:IF D=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +330 LOCATE 1,10:IF E=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +340 LOCATE 2,9:IF E=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF E=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +350 LOCATE 3,10:IF E=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +360 LOCATE 1,12:IF F=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +370 LOCATE 2,11:IF F=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF F=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +380 LOCATE 3,12:IF F=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +390 LOCATE 1,14:IF G=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +400 LOCATE 2,13:IF G=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF G=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +410 LOCATE 3,14:IF G=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +420 REM Untere Reihe +430 LOCATE 13,2:IF H=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +440 LOCATE 14,1:IF H=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF H=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +450 LOCATE 15,2:IF H=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +460 LOCATE 13,4:IF I=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +470 LOCATE 14,3:IF I=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF I=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +480 LOCATE 15,4:IF I=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +490 LOCATE 13,6:IF J=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +500 LOCATE 14,5:IF J=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF J=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +510 LOCATE 15,6:IF J=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +520 LOCATE 13,8:IF K=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +530 LOCATE 14,7:IF K=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF K=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +540 LOCATE 15,8:IF K=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +550 LOCATE 13,10:IF L=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +560 LOCATE 14,9:IF L=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF L=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +570 LOCATE 15,10:IF L=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +580 LOCATE 13,12:IF M=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +590 LOCATE 14,11:IF M=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF M=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +600 LOCATE 15,12:IF M=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +610 LOCATE 13,14:IF N=1 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +620 LOCATE 14,13:IF N=2 THEN COLOR BR:PRINT"ÛÛ" ELSE IF N=0 THEN COLOR PIN:PRINT"oo" ELSE COLOR PIN:PRINT"o";:COLOR BR:PRINT"Û" +630 LOCATE 15,14:IF N=3 THEN COLOR BR:PRINT"Û" ELSE COLOR PIN:PRINT"o" +640 LOCATE 1,40:IF TUR=0 THEN COLOR OF:PRINT"ÛÛÛ" ELSE COLOR 14:PRINT"ÛÛÛ" +650 COLOR 15:LOCATE 2,39:PRINT"TURBO" +660 IF A=1 AND TUR=0 OR A=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +670 IF A=2 THEN COLOR CO +680 LOCATE 6,2:PRINT"Û":LOCATE 7,2:PRINT"Û" +690 IF B=1 AND TUR=0 OR B=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +700 IF B=2 THEN COLOR CO +710 LOCATE 8,3:PRINT"ÛÛÛ" +720 IF C=1 AND TUR=0 OR C=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +730 IF C=2 THEN COLOR CO +740 LOCATE 5,3:PRINT"ÜÜÜ" +750 IF D=1 AND TUR=0 OR D=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +760 IF D=2 THEN COLOR CO +770 LOCATE 6,6:PRINT"Û":LOCATE 7,6:PRINT"Û" +780 IF E=1 AND TUR=0 OR E=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +790 IF E=2 THEN COLOR CO +800 LOCATE 6,9:PRINT"Û":LOCATE 7,9:PRINT"Û" +810 IF F=1 AND TUR=0 OR F=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +820 IF F=2 THEN COLOR CO +830 LOCATE 5,10:PRINT"ÜÜÜ" +840 IF G=1 AND TUR=0 OR G=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +850 IF G=2 THEN COLOR CO +860 LOCATE 6,13:PRINT"Û":LOCATE 7,13:PRINT"Û" +870 REM Untere Reihe +880 IF H=1 AND TUR=0 OR H=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +890 IF H=2 THEN COLOR CO +900 LOCATE 9,2:PRINT"Û":LOCATE 10,2:PRINT"Û" +910 IF I=1 AND TUR=0 OR I=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +920 IF I=2 THEN COLOR CO +930 LOCATE 11,3:PRINT"ßßß" +940 IF J=1 AND TUR=0 OR J=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +950 IF J=2 THEN COLOR CO +960 LOCATE 9,6:PRINT"Û":LOCATE 10,6:PRINT"Û" +970 IF K=1 AND TUR=0 OR K=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +980 IF K=2 THEN COLOR CO +990 LOCATE 9,9:PRINT"Û":LOCATE 10,9:PRINT"Û" +1000 IF L=1 AND TUR=0 OR L=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +1010 IF L=2 THEN COLOR CO +1020 LOCATE 11,10:PRINT"ßßß" +1030 IF M=1 AND TUR=0 OR M=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +1040 IF M=2 THEN COLOR CO +1050 LOCATE 8,10:PRINT"ÛÛÛ" +1060 IF N=1 AND TUR=0 OR N=3 AND TUR=1 THEN COLOR CO ELSE COLOR OF +1070 IF N=2 THEN COLOR CO +1080 LOCATE 9,13:PRINT"Û":LOCATE 10,13:PRINT"Û" +1090 COLOR OF:LOCATE 11,7:PRINT"Ü":LOCATE 11,14:PRINT"Ü" +1100 LOCATE 16,30:COLOR 15:PRINT" A B C D E F G H I J K L M N" +1110 LOCATE 17,30 +1120 X=A:GOSUB 1150:X=B:GOSUB 1150:X=C:GOSUB 1150:X=D:GOSUB 1150:X=E:GOSUB 1150:X=F:GOSUB 1150:X=G:GOSUB 1150 +1130 X=H:GOSUB 1150:X=I:GOSUB 1150:X=J:GOSUB 1150:X=K:GOSUB 1150:X=L:GOSUB 1150:X=M:GOSUB 1150:X=N:GOSUB 1150 +1140 GOTO 1200 +1150 IF X=0 THEN COLOR 15 +1160 IF X=1 THEN COLOR 8 +1170 IF X=2 THEN COLOR 10 +1180 IF X=3 THEN COLOR 14 +1190 PRINT X;:RETURN +1200 REM Eingaberoutine +1210 A$=INKEY$:IF A$="" THEN 1210 +1220 IF A$="T" OR A$="t" THEN IF TUR=0 THEN TUR=1:GOTO 640 ELSE TUR=0:GOTO 640 +1230 IF A$=" " THEN 1890 +1240 IF A$="w" OR A$="W" THEN 2120 +1250 IF A$="q" OR A$="Q" THEN 2310 +1260 IF A$="r" OR A$="R" THEN 2190 +1270 IF A$="s" OR A$="S" THEN 2260 +1280 IF A$="u" OR A$="U" THEN 2490 +1290 IF A$="z" OR A$="Z" THEN 2330 +1300 IF A$="a" OR A$="A" THEN 1470 +1310 IF A$="b" OR A$="B" THEN 1500 +1320 IF A$="c" OR A$="C" THEN 1530 +1330 IF A$="d" OR A$="D" THEN 1560 +1340 IF A$="e" OR A$="E" THEN 1590 +1350 IF A$="f" OR A$="F" THEN 1620 +1360 IF A$="g" OR A$="G" THEN 1650 +1370 IF A$="h" OR A$="H" THEN 1680 +1380 IF A$="i" OR A$="I" THEN 1710 +1390 IF A$="j" OR A$="J" THEN 1740 +1400 IF A$="k" OR A$="K" THEN 1770 +1410 IF A$="l" OR A$="L" THEN 1800 +1420 IF A$="m" OR A$="M" THEN 1830 +1430 IF A$="n" OR A$="N" THEN 1860 +1440 IF A$="^" OR A$="ø" THEN CLS:COLOR 15:END +1450 GOTO 1210 +1460 REM INPUT +1470 LOCATE 17,1:INPUT "Neuer Wert fr A: ",A +1480 IF A<0 OR A>3 THEN 1470 +1490 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1500 LOCATE 17,1:INPUT "Neuer Wert fr B: ",B +1510 IF B<0 OR B>3 THEN 1500 +1520 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1530 LOCATE 17,1:INPUT "Neuer Wert fr C: ",C +1540 IF C<0 OR C>3 THEN 1530 +1550 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1560 LOCATE 17,1:INPUT "Neuer Wert fr D: ",D +1570 IF D<0 OR D>3 THEN 1560 +1580 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1590 LOCATE 17,1:INPUT "Neuer Wert fr E: ",E +1600 IF E<0 OR E>3 THEN 1590 +1610 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1620 LOCATE 17,1:INPUT "Neuer Wert fr F: ",F +1630 IF F<0 OR F>3 THEN 1620 +1640 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1650 LOCATE 17,1:INPUT "Neuer Wert fr G: ",G +1660 IF G<0 OR G>3 THEN 1650 +1670 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1680 LOCATE 17,1:INPUT "Neuer Wert fr H: ",H +1690 IF H<0 OR H>3 THEN 1680 +1700 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1710 LOCATE 17,1:INPUT "Neuer Wert fr I: ",I +1720 IF I<0 OR I>3 THEN 1710 +1730 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1740 LOCATE 17,1:INPUT "Neuer Wert fr J: ",J +1750 IF J<0 OR J>3 THEN 1740 +1760 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1770 LOCATE 17,1:INPUT "Neuer Wert fr K: ",K +1780 IF K<0 OR K>3 THEN 1770 +1790 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1800 LOCATE 17,1:INPUT "Neuer Wert fr L: ",L +1810 IF L<0 OR L>3 THEN 1800 +1820 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1830 LOCATE 17,1:INPUT "Neuer Wert fr M: ",M +1840 IF M<0 OR M>3 THEN 1830 +1850 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1860 LOCATE 17,1:INPUT "Neuer Wert fr N: ",N +1870 IF N<0 OR N>3 THEN 1860 +1880 LOCATE 17,1:PRINT SPACE$(25):GOTO 100 +1890 REM Gesamteingabe +1900 COLOR 15 +1910 LOCATE 17,1:INPUT"A=",A:IF A<0 OR A>3 THEN 1910 +1920 INPUT"B=",B:IF B<0 OR B>3 THEN LOCATE 18,1:GOTO 1920 +1930 INPUT"C=",C:IF C<0 OR C>3 THEN LOCATE 19,1:GOTO 1930 +1940 INPUT"D=",D:IF D<0 OR D>3 THEN LOCATE 20,1:GOTO 1940 +1950 INPUT"E=",E:IF E<0 OR E>3 THEN LOCATE 21,1:GOTO 1950 +1960 INPUT"F=",F:IF E<0 OR E>3 THEN LOCATE 22,1:GOTO 1960 +1970 INPUT"G=",G:IF G<0 OR G>3 THEN LOCATE 23,1:GOTO 1970 +1980 LOCATE 17,5:INPUT"H=",H:IF H<0 OR H>3 THEN 1980 +1990 LOCATE 18,5:INPUT"I=",I:IF I<0 OR I>3 THEN 1990 +2000 LOCATE 19,5:INPUT"J=",J:IF J<0 OR J>3 THEN 2000 +2010 LOCATE 20,5:INPUT"K=",K:IF K<0 OR K>3 THEN 2010 +2020 LOCATE 21,5:INPUT"L=",L:IF L<0 OR L>3 THEN 2020 +2030 LOCATE 22,5:INPUT"M=",M:IF M<0 OR M>3 THEN 2030 +2040 LOCATE 23,5:INPUT"N=",N:IF N<0 OR N>3 THEN 2040 +2050 LOCATE 17,1:PRINT SPACE$(70) +2060 PRINT SPACE$(70) +2070 PRINT SPACE$(70) +2080 PRINT SPACE$(70) +2090 PRINT SPACE$(70) +2100 PRINT SPACE$(70) +2110 PRINT SPACE$(70):GOTO 100 +2120 REM Werte speichern +2130 OPEN "O",#1,FLE$ +2140 LOCATE 17,1:COLOR 15:PRINT"Werte gesichert!" +2150 WRITE#1,A,B,C,D,E,F,G,H,I,J,K,L,M,N +2160 WRITE#1,TUR +2170 CLOSE #1 +2180 GOTO 1200 +2190 REM Werte laden +2200 OPEN "I",#1,FLE$ +2210 LOCATE 17,1:COLOR 15:PRINT"Werte geladen! " +2220 INPUT#1,A,B,C,D,E,F,G,H,I,J,K,L,M,N +2230 INPUT#1,TUR +2240 CLOSE #1 +2250 GOTO 100 +2260 REM Datei „ndern +2270 LOCATE 17,1:COLOR 15:INPUT"Neuer Dateiname: ",NFLE$ +2280 IF NFLE$="" THEN CLS:GOTO 100 +2290 FLE$=NFLE$ +2300 CLS:GOTO 100 +2310 REM RESET +2320 GOTO 70 +2330 REM Zufall +2340 A=INT(RND(1)*4) +2350 B=INT(RND(1)*4) +2360 C=INT(RND(1)*4) +2370 D=INT(RND(1)*4) +2380 E=INT(RND(1)*4) +2390 F=INT(RND(1)*4) +2400 G=INT(RND(1)*4) +2410 H=INT(RND(1)*4) +2420 I=INT(RND(1)*4) +2430 J=INT(RND(1)*4) +2440 K=INT(RND(1)*4) +2450 L=INT(RND(1)*4) +2460 M=INT(RND(1)*4) +2470 N=INT(RND(1)*4) +2480 GOTO 100 +2490 REM Directory +2500 LOCATE 17,1:COLOR 15 +2510 FILES "*.CFG" +2520 PRINT"Bitte Taste drcken!" +2530 A$=INKEY$:IF A$="" THEN 2530 +2540 LOCATE 17,1:FOR Z=1 TO 7:PRINT SPACE$(79):NEXT Z +2550 GOTO 1200 + \ No newline at end of file diff --git a/compi/compi.cfg b/compi/compi.cfg new file mode 100644 index 0000000..8d93779 --- /dev/null +++ b/compi/compi.cfg @@ -0,0 +1,2 @@ +2,0,2,3,1,2,2,2,1,3,1,1,0,2 +0 diff --git a/compi/hans.cfg b/compi/hans.cfg new file mode 100644 index 0000000..09c4f60 --- /dev/null +++ b/compi/hans.cfg @@ -0,0 +1,3 @@ +3,3,0,2,1,3,2,0,0,2,3,3,2,1 +1 + \ No newline at end of file diff --git a/compi/hans2.cfg b/compi/hans2.cfg new file mode 100644 index 0000000..d256e45 --- /dev/null +++ b/compi/hans2.cfg @@ -0,0 +1,3 @@ +3,2,2,2,3,2,2,0,2,2,3,2,1,2 +1 + \ No newline at end of file diff --git a/compi/hcv386.cfg b/compi/hcv386.cfg new file mode 100644 index 0000000..54248e4 --- /dev/null +++ b/compi/hcv386.cfg @@ -0,0 +1,3 @@ +1,3,2,2,1,2,2,1,2,2,1,2,2,2 +1 + \ No newline at end of file diff --git a/compi/hcv3862.cfg b/compi/hcv3862.cfg new file mode 100644 index 0000000..50e1ee7 --- /dev/null +++ b/compi/hcv3862.cfg @@ -0,0 +1,3 @@ +0,3,3,3,1,2,2,0,3,3,1,2,2,2 +1 + \ No newline at end of file diff --git a/compi/maik.cfg b/compi/maik.cfg new file mode 100644 index 0000000..acc1a39 --- /dev/null +++ b/compi/maik.cfg @@ -0,0 +1,2 @@ +2,3,0,2,2,2,2,0,0,2,2,2,0,2 +0 diff --git a/csafe.bas b/csafe.bas new file mode 100644 index 0000000..e64359f --- /dev/null +++ b/csafe.bas @@ -0,0 +1,76 @@ +$COMPILE EXE + on error goto 4 + comm$=command$ + msg$="Befehl oder Dateiname nicht gefunden "+chr$(13) + wdi$="Ungltiges Verzeichnis "+chr$(13) + x=1 +1 x$=mid$(comm$,x,1) + if x$=chr$(32) or x$="" then x=x+1:goto 2 + c1$=c1$+x$ + x=x+1 + goto 1 +2 x$=mid$(comm$,x,1) + if x$=chr$(32) or x$="" then x=x+1:goto 3 + c2$=c2$+x$ + x=x+1 + goto 2 +3 if c1$="" then goto Syntax + pass$=c1$ + if c2$="" then LogIt=0 else LogIt=1:file$=c2$ + if LogIt=1 then open "A",#1,file$ + if LogIt=1 then print#1,"" + if LogIt=1 then print#1,"ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ" + if LogIt=1 then print#1,"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²²²²²²²²²±±±±±±±±±±±±±±±±±±±±²²²²²²²²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" + if LogIt=1 then print#1,"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²²±±±±±±±±±°°°°°°°°°°°°°°°°°°±±±±±±±±²²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" + if LogIt=1 then print#1,"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²²±±°°°°°°°°° CSAFE-LOG-FILE °°°°°°°°±±²²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" + if LogIt=1 then print#1,"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²²±±°° (C)1995 by RoboCop INDUSTRIES °°±±²²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" + if LogIt=1 then print#1,"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²²±±°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°±±²²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" + if LogIt=1 then print#1,"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²²±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±²²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ" + if LogIt=1 then print#1,"ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß" + if LogIt=1 then print#1,"Datum: ";date$;" Uhrzeit: ";time$;" Passwort: ";pass$ + if LogIt=1 then print#1,"" + if LogIt=1 then print#1,"Datum Uhrzeit Eingabe getan?" + if LogIt=1 then print#1,"ðððððððððð ðððððððð ððððððððððððððððððððððððððððððððððððððððððððððððð ðððððð" + color 7 +4 print curdir$;:input ">",eingabe$(1),eingabe$(2),eingabe$(3),eingabe$(4),eingabe$(5),eingabe$(6) + if eingabe$(6)<>"" then eingabe$=eingabe$(1)+","+eingabe$(2)+","+eingabe$(3)+","+eingabe$(4)+","+eingabe$(5)+","+eingabe$(6):goto 5 + if eingabe$(5)<>"" then eingabe$=eingabe$(1)+","+eingabe$(2)+","+eingabe$(3)+","+eingabe$(4)+","+eingabe$(5):goto 5 + if eingabe$(4)<>"" then eingabe$=eingabe$(1)+","+eingabe$(2)+","+eingabe$(3)+","+eingabe$(4):goto 5 + if eingabe$(3)<>"" then eingabe$=eingabe$(1)+","+eingabe$(2)+","+eingabe$(3):goto 5 + if eingabe$(2)<>"" then eingabe$=eingabe$(1)+","+eingabe$(2):goto 5 + if eingabe$(1)<>"" then eingabe$=eingabe$(1):goto 5 +5 if eingabe$=pass$ then goto OKEnde + if lcase$(eingabe$)="cls" then goto ClearScreen + if LogIt=1 then stat$="NEIN":gosub WriteLog + print msg$ + goto 4 + +ClearScreen: + if LogIt=1 then stat$="JA":gosub WriteLog + cls + goto 4 + +WriteLog: + if len(eingabe$)>49 then eingabe$=left$(eingabe$,46)+"..." + if LogIt=1 then print#1,using "\ \ \ \ \ \ \ \";date$;time$;eingabe$;stat$ + return + +Syntax: + color 10:print"-=ð CSAFE v2.00 ð=-":color 15 + print + print"Syntax: ";:color 14:?"CSAFE Passwort [Log-Datei]":color 7 + print + print"ùPasswort - Das Passwort, das eingegeben werden muá" + print"ùLog-Datei - Die Datei, in die die Eingaben geschrieben werden sollen" + print:color 12 + print"(C)1995 by Markus Birth":color 7 + goto Ende + +OKEnde: + stat$="ENDE" + if LogIt=1 then gosub WriteLog + print"Befehl oder Dateiname nicht gefunden" + goto Ende + +Ende: + \ No newline at end of file diff --git a/dart.bas b/dart.bas new file mode 100644 index 0000000..6b27dd1 --- /dev/null +++ b/dart.bas @@ -0,0 +1,107 @@ + print"Dart was written by" + $INCLUDE "LOGO.INC" + DELAY .5 +Menu: + CLS + locate 1,1:color 15:print"ððð DART ððð by RoboCop INDUSTRIES" + print:color 14 + print"Dieses Programm ist abgestimmt auf die DARTGAME~-Zielscheibe" + print"von BEST sporting!" + print:color 10 + print"W„hlen Sie eine Option:":color 15 + print" A - Spielregeln" + print" B - Dart" + print" C - Zielscheibe":color 12 + print" X - Ende" + print +1 a$=inkey$:if a$="" then 1 + if a$="a" or a$="A" then goto Rules + if a$="b" or a$="B" then goto Dart + if a$="c" or a$="C" then goto Target + if a$="x" or a$="X" then goto Ende + sound 1000,.25 + goto 1 + +Rules: + cls + color 15:print"ððð Spielregeln ððð":color 14 + print + print"Punkteverteilung: Auge - 50 Punkte" + print" 25-Ring - 25 Punkte" + print" mittlere Zone - 2x" + print" „uáere Zone - 3x" + print + color 10:print" === Taste drcken, wenn bereit ===":color 15 +2 a$=inkey$:if a$="" then 2 + print"ððð Spielregeln ððð":color 14 + print + print"Regeln: 1. Die Zielscheibe ist so aufzuh„ngen, daá die Mitte 1,72m ber dem" + print" Fuáboden h„ngt. Der Abstand von der Wurflinie zur Scheibe betr„gt" + print" 2,44m, die Wurflinie darf nicht bertreten werden." + print" 2. Jeder Spieler wirft zun„chst nur einen Dart auf die Schiebe. Der-" + print" jenige Spieler oder diejenige Mannschaft deren Dart dem Mittelpunkt" + print" am n„chsten kommt, beginnt das Spiel." + print" 3. Jeder Spieler wirft abwechselnd 3 Darts. Treffer werden nur ge-" + print" wertet, wenn die Darts in der Scheibe steckenbleiben." + print" 4. Es wird mit 301 Punkten bzw. bei Mannschaften mit 501 oder 1001" + print" begonnen. Von dieser Punktzahl werden die jeweils geworfenen" + print" Punkte abgezogen." + print" 5. Das Spiel kann nur beendet werden, wenn ein Feld im Doppelring oder" + print" der Mittelpunkt getroffen wird. Mit der geworfenen Doppelziffer" + print" oder mit der Ziffer 50 muá exakt ";chr$(34);"Null";chr$(34);" erreicht werden." + print" 6. Wird in der Endphase eine gr”áere Punktzahl geworfen als n”tig, um" + print" ";chr$(34);"Null";chr$(34);" zu erreichen, so ist die geworfene Punktzahl ungltig, die" + print" Punktzahl bleibt, wir sie vor dem Wurf war. Der Spieler" + print" (bzw. Mannschaft), der zuerst ";chr$(34);"Null";chr$(34);" erreicht hat, ist Sieger." + print + print + print:color 10 + print" === Taste drcken, wenn bereit ===";:color 15 +3 a$=inkey$:if a$="" then 3 + goto Menu + +Dart: + cls + color 15:print"ððð DARTGAME ððð" + print + input"Anzahl Spieler : ",players + for x=1 to players + print"Name Spieler";x; + input" :",playername$(x) + next x + open "O",#1,"DART.GAM" + print#1,"ððð DARTGAME ððð (by RoboCop INDUSTRIES)" + print#1,"" + print#1,"Name Wurf Pfeil Punkte ges.Punkte í " + print#1,"============ ==== ===== ====== ========== ===== " + cls + color 15:print"ððð DARTGAME ððð" + print + for maximum=1 to 500 + for x=1 to players + throw(x)=throw(x)+1 + locate 3,1:print"Spieler";x;": " + locate 4,1:print playername$(x);" " + locate 5,1:print"Statistik:" + locate 7,1:print"Wurf Pfeil Punkte ges.Punkte í " + locate 8,1:print"==== ===== ====== ========== ======" + for y=1 to 3 + arrow(x)=arrow(x)+1 + locate 9,12:input"",points + points(x)=points(x)+points + locate 9,1:print using"#### ##### ###### ########## ###.##";throw(x);y;points;points(x);points(x)/arrow(x); + print #1,using"#### ##### ###### ########## ###.##";throw(x);y;points;points(x);points(x)/arrow(x); + next y + next x + next maximum + + +Target: + +Ende: + cls + color 15:print"ððð DART ððð was written by" + $INCLUDE "LOGO.INC" + print + end + \ No newline at end of file diff --git a/dart.gam b/dart.gam new file mode 100644 index 0000000..47a6d06 --- /dev/null +++ b/dart.gam @@ -0,0 +1,4 @@ +ððð DARTGAME ððð (by RoboCop INDUSTRIES) + +Name Wurf Pfeil Punkte ges.Punkte í +============ ==== ===== ====== ========== ===== diff --git a/decode.bas b/decode.bas new file mode 100644 index 0000000..ea5238b --- /dev/null +++ b/decode.bas @@ -0,0 +1,65 @@ +cls +open "I",#1,"USER.DAT" +line input #1,nam$ +line input #1,num$ +num$="Unlizensierte Kopie !!" +close #1 +stp=0 +1 rem cls +color 15 +locate 1,1 +print "Codierter USER #1: ";nam$ +print "Codierter USER #2: ";num$ +print +print "Decodierter #1 : ";dnam$ +print "Decodierter #2 : ";dnum$ +print +print "Schrittweite : ";stp +dnam$="" +dnum$="" +for z=1 to len(nam$) + x$=mid$(nam$,z,1) + x=asc(x$) + soll=x+stp + locate 4,19+z + print chr$(soll) + dnam$=dnam$+chr$(soll) +next z + +for y=1 to len(num$) + x$=mid$(num$,y,1) + x=asc(x$) + soll=x+stp + locate 5,19+y + print chr$(soll) + dnum$=dnum$+chr$(soll) +next y +2 a$=inkey$:if a$="" then 2 + if a$="i" or a$="I" then gosub InputNumb:goto 1 + if a$="-" then stp=stp-1:goto 1 + if a$="+" then stp=stp+1:goto 1 + if a$=chr$(13) then locate 10,1:goto WriteErg + if a$=chr$(27) then locate 10,1:goto Ende + goto 2 +goto 1 + +InputNumb: +locate 10,1 +color 15:input"Geben Sie die Verschiebung ein :",stp +locate 10,1:print space$(79) +return + +WriteErg: +print"Benenne USER.DAT in USER2.DAT um ... "; +name "USER.DAT" as "USER2.DAT" +print "OK" +print"Schreibe USER.DAT ... "; +open "O",#1,"USER.DAT" +print#1,"";dnam$ +print#1,"";dnum$ +close #1 +print"OK" +print + +Ende: +print"Programm-Ende." \ No newline at end of file diff --git a/decrypt.bas b/decrypt.bas new file mode 100644 index 0000000..49d98c6 --- /dev/null +++ b/decrypt.bas @@ -0,0 +1,38 @@ + cls + open "I",#1,"TRICK.DAT" + dim l$(80) + line input#1,line1$ + close #1 + locate 1,1:color 15:print"Original: ";line1$ + for x=1 to len(line1$) + l$(x)=mid$(line1$,x,1) + next x + locate 2,1:color 15:print"Crypted : ";:color 7 + for x=1 to len(line1$) + print l$(x); + next x + x=1 +2 locate 2,11+x:color 14:print l$(x) +1 a$=inkey$: if a$="" then 1 + if a$="+" then l$(x)=chr$(asc(l$(x))+1):goto 2 + if a$="-" then l$(x)=chr$(asc(l$(x))-1):goto 2 + if a$=chr$(27) then 3 + if a$=chr$(8) then locate 2,11+x:color 7:print l$(x):x=x-1:goto 2 + if a$=chr$(13) then color 15:locate 2,11+x:print l$(x):x=x+1:if x>len(line1$) then 3 else goto 2 +3 print:color 15 + print"ASCII-Werte:" + for x=1 to len(line1$) + print asc(l$(x)); + next x + print + print"Schreibe Daten in DECRYPT.OUT ... "; + open "o",#1,"decrypt.out" + print#1,"No C O ASC ASO Diff" + for x=1 to len(line1$) + unt=asc(l$(x))-asc(mid$(line1$,x,1)) + print #1, using "## ! ! ### ### +###";x;mid$(line1$,x,1);l$(x);asc(mid$(line1$,x,1));asc(l$(x));unt + next x + print"OK" + close #1 + + \ No newline at end of file diff --git a/delpick.bas b/delpick.bas new file mode 100644 index 0000000..d07c81a --- /dev/null +++ b/delpick.bas @@ -0,0 +1,216 @@ +$INCLUDE "LOGO.INC" +$INCLUDE "PBWINDOW.INC" + if command$="SKIP" or command$="skip" then goto SkipIt + color 15 + Lin=csrlin-1 + txt$="proudly presents" + txt$(1)=txt$ + gosub WriteText + txt$="The Paintbrush Pick Info Remover" + txt$(2)=txt$ + print + Lin=csrlin-1 + delay 1 + gosub WriteText + delay 1 + color 9 + Anf1=40-int(len(txt$(1))/2)+1 + Anf2=40-int(len(txt$(2))/2)+1 + locate Lin-1,Anf1:print txt$(1) + locate Lin,Anf2:print txt$(2) + delay .15 + color 3 + locate Lin-1,Anf1:print txt$(1) + locate Lin,Anf2:print txt$(2) + delay .15 + color 11 + locate Lin-1,Anf1:print Txt$(1) + locate Lin,Anf2:print txt$(2) + delay .15 + color 15 + locate Lin-1,Anf1:print txt$(1) + locate Lin,Anf2:print txt$(2) + goto Program + +WriteText: + AnfLocX=40-int(len(txt$)/2) + x=1 +1 if x>0 then LetA$=mid$(txt$,x,1) + if x>1 then LetB$=mid$(txt$,x-1,1) + if x>2 then LetC$=mid$(txt$,x-2,1) + if x>3 then LetD$=mid$(txt$,x-3,1) + if x>4 then LetE$=mid$(txt$,x-4,1) + if x>0 then color 15:locate Lin,AnfLocX+x:print LetA$ + if x>1 then color 11:locate Lin,AnfLocX+x-1:print LetB$ + if x>2 then color 3:locate Lin,AnfLocX+x-2:print LetC$ + if x>3 then color 9:locate Lin,AnfLocX+x-3:print LetD$ + if x>4 then color 1:locate Lin,AnfLocX+x-4:print LetE$ + x=x+1:if x>len(txt$)+4 then 2 else delay .05:goto 1 +2 delay 1 + color 15:locate Lin,AnfLocX+1:print txt$ + delay .1:color 11:locate Lin,AnfLocX+1:print txt$ + delay .1:color 3:locate Lin,AnfLocX+1:print txt$ + delay .1:color 9:locate Lin,AnfLocX+1:print txt$ + delay .1:color 1:locate Lin,AnfLocX+1:print txt$ + return + +SkipIt: + color 15 + txt$="proudly presents" + locate csrlin-1,40-int(len(txt$)/2):print txt$ + txt$="The Paintbrush Pick Info Remover" + locate csrlin,40-int(len(txt$)/2):print txt$ + goto Program + +Program: + Item$(0)="[Programm w„hlen]" + gosub PF2:test=1 + gosub CheckForPresence + gosub PF3:test=2 + gosub CheckForPresence + gosub PCP:test=3 + gosub CheckForPresence + Lin=17 + call MakeWindow (15,9,5,63,ColAttr%(11,0),2,4,2) + call TitleWindow (1,"[Information]") + txt$="Zum Abbrechen [ESC] drcken, ansonsten eine Auswahl treffen" + if command$="skip" or command$="SKIP" then + locate Lin,40-int(len(txt$)/2) + color 15,0 + print txt$ + goto 7 + end if + gosub WriteText:delay 1 + color 9:locate 17,AnfLocX+1:print txt$:delay .15 + color 3:locate 17,AnfLocX+1:print txt$:delay .15 + color 11:locate 17,AnfLocX+1:print txt$:delay .15 + color 15:locate 17,AnfLocX+1:print txt$ +7 Call MakeMenu (3,3,ColAttr%(11,1),ColAttr%(0,3),4,4,2,1,3,Item$()) + if CurntPos%=0 then ag=0:goto BreakItUp + if CurntPos%=1 and right$(Item$(1),17)<>"[nicht vorhanden]" then ag=0:gosub PF2:goto 20 else ag=1:goto 7 + if CurntPos%=2 and right$(Item$(2),17)<>"[nicht vorhanden]" then ag=0:gosub PF3:goto 20 else ag=1:goto 7 + if CurntPos%=3 and right$(Item$(3),17)<>"[nicht vorhanden]" then ag=0:gosub PCP:goto 20 else ag=1:goto 7 +20 if ag=0 then Call RemoveWindow + goto ChangeWININI + +CheckForPresence: + open "I",#1,"C:\WINDOWS\WIN.INI" +10 if eof(1) then close #1:return + line input#1,dummy$ + if left$(dummy$,1)="[" then + tit$="" + for dummy=2 to 80 + if mid$(dummy$,dummy,1)="]" then exit for else tit$=tit$+mid$(dummy$,dummy,1) + next dummy + else + goto 10 + end if + if tit$=Title$ then Item$(test)=ProgInfo$:close #1:return else Item$(test)=ProgInfo$+" [nicht vorhanden]":goto 10 + +PF2: + Title$="PhotoFinish" + ProgInfo$="Photo Finish 2.0" + PickInfo$=lcase$("Pick") + return + +PF3: + Title$="Photo Finish 3.0" + ProgInfo$="Photo Finish 3.0" + PickInfo$=lcase$("Pick") + return + +PCP: + Title$="PC Paintbrush" + ProgInfo$="PC Paintbrush 1.0" + PickInfo$=lcase$("Pick") + return + +ChangeWININI: + call MakeWindow(5,5,15,70,ColAttr%(14,1),1,4,1) + WinTit$="[Editing C:\WINDOWS\WIN.INI]ÄÄÄ[Mode: "+Title$+"]" + call TitleWindow(1,WinTit$) + per%=0 + color 14,1 + locate 7,8:print"Erstelle Sicherheitskopie von Ausgangs-Datei ... "; + CopyOrd$="COPY C:\WINDOWS\WIN.INI C:\WINDOWS\WIN.PPR /V /Y >NUL" + shell CopyOrd$ + print "OK" + locate 8,8:print"™ffne Eingabe-Datei ... "; + open "I",#1,"C:\WINDOWS\WIN.INI" + print "OK" + locate 9,8:print"™ffne Temp-Datei ... "; + open "O",#2,"C:\WINDOWS\PPR.$$$" + print "OK" + zeil=1 +6 line input#1,dummy$ + if eof(1) then 5 else zeil=zeil+1:goto 6 +5 close #1:open "I",#1,"C:\WINDOWS\WIN.INI" + locate 10,8:print "Bearbeite Temp-Datei ... "; '10,33 ist HIER + gosub ShowGraph + aktz=1 +3 line input#1,zei$ + if left$(zei$,1)="[" then + tit$="" + for g=2 to 80 + if mid$(zei$,g,1)="]" then exit for else tit$=tit$+mid$(zei$,g,1) + next g + per%=(aktz/zeil)*100 + gosub ShowGraph + print#2,zei$ + locate 11,8:print"Momentane Gruppe: ";tit$ + else + raus$=zei$ + gosub CheckForParam + print#2,raus$ + end if + if eof(1) then goto 4 + aktz=aktz+1 + goto 3 +4 locate 11,8:print space$(64) + locate 11,8:print"Schlieáe Eingabe-Datei ... "; + close #1 + print"OK" + locate 12,8:print"Schlieáe Temp-Datei ... "; + close #2 + print "OK" + locate 13,8:print"L”sche alte WIN.INI ... "; + kill "C:\WINDOWS\WIN.INI" + print "OK" + locate 14,8:print"Benenne Temp-Datei in WIN.INI um ... "; + name "C:\WINDOWS\PPR.$$$" as "C:\WINDOWS\WIN.INI" + print "OK" + locate 16,8:print"Operation abgeschlossen!" + delay 1 + call RemoveWindow + color 15,0 + locate 24,1:print:print + locate 24,1 + print"Alle Pick-Eintr„ge von ";chr$(34);Title$;chr$(34);" wurden entfernt!" + print + end + +CheckForParam: + if lcase$(left$(zei$,len(PickInfo$)+2))=PickInfo$+"1=" and tit$=Title$ then raus$=PickInfo$+"1=" + if lcase$(left$(zei$,len(PickInfo$)+2))=PickInfo$+"2=" and tit$=Title$ then raus$=PickInfo$+"2=" + if lcase$(left$(zei$,len(PickInfo$)+2))=PickInfo$+"3=" and tit$=Title$ then raus$=PickInfo$+"3=" + if lcase$(left$(zei$,len(PickInfo$)+2))=PickInfo$+"4=" and tit$=Title$ then raus$=PickInfo$+"4=" + return + +ShowGraph: + locate 10,57:print using"### %";per% + locate 10,35:print"°°°°°°°°°°°°°°°°°°°°" + locate 10,35 + for z=0 to per%/5 + if tst=1 then print "²"; else tst=1 + next z + return + +BreakItUp: + locate 24,1:print:print + call MakeWindow(10,27,5,26,ColAttr%(14,1),5,4,2) + call TitleWindow(1,"[Information]") + color 12,1:locate 12,29:print"Programm abgebrochen !" + if command$="skip" or command$="SKIP" then locate 24,1:end + delay 1.75 + call RemoveWindow + locate 24,1:end \ No newline at end of file diff --git a/dfvnc.bas b/dfvnc.bas new file mode 100644 index 0000000..d32e10a --- /dev/null +++ b/dfvnc.bas @@ -0,0 +1,106 @@ + ON ERROR GOTO FEHL + color 15 + print"Dark Forces Voice Name Changer (DFVNC) v1.00" + print" written by RoboCop INDUSTRIES" + color 7 + PARA$=COMMAND$ + IF PARA$="+4933223198 NUM2NAM" THEN GOTO NumbersToNames + IF PARA$="+4933223198 NAM2NUM" THEN GOTO NamesToNumbers + GOTO Syntax +FEHL: + print + print"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + print"!! WARNUNG !!" + print"!! Ein Fehler ist aufgetreten !!" + print"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + goto GanzEnde + +NumbersToNames: + print"Gew„hlte Funktion: ";:color 14:print"Nummer ==> Name" + color 7 + OPEN "I",#1,"NAMES.LST" + OPEN "O",#2,"DFVNC.LOG" + on error goto FEHLER + PRINT#2,"þ LOG-Datei vom Dark Forces Voice Name Changer v1.00" + print#2,"þ von RoboCop INDUSTRIES" + print#2,"þ" + print#2,"þ Gew„hlte Funktion: NUM2NAM" + print#2,"---------------------------------------------------" + X=1 +1 line input#1,FIL$ + x$=mid$(str$(x),2,20)+".VOC" + print"Benenne ";x$;" in ";FIL$;" um ... "; + print#2,X$;" ===> ";FIL$;" ... "; + name x$ as fil$ + print "OK" + print#2,"OK" + x=x+1 + if eof(1) then + print#2,"þ " + goto Ende + end if + goto 1 + +NamesToNumbers: + print"Gew„hlte Funktion: ";:color 14:print"Name ==> Nummer" + color 7 + OPEN "I",#1,"NAMES.LST" + OPEN "O",#2,"DFVNC.LOG" + ON ERROR GOTO FEHLER + PRINT#2,"þ LOG-Datei vom Dark Forces Voice Name Changer v1.00" + print#2,"þ von RoboCop INDUSTRIES" + print#2,"þ" + print#2,"þ Gew„hlte Funktion: NAM2NUM" + print#2,"---------------------------------------------------" + X=1 +2 line input#1,FIL$ + x$=MID$(str$(x),2,20)+".VOC" + print"Benenne ";FIL$;" in ";X$;" um ... "; + print#2,FIL$;" ===> ";X$;" ... "; + name fil$ as x$ + print "OK" + print#2,"OK" + x=x+1 + if eof(1) then + print#2,"þ " + goto Ende + end if + goto 2 + +FEHLER: + print#2,"" + print#2,"===================================================" + PRINT#2," !!!WARNUNG!!!" + print#2,"Ein unbekannter Fehler ist aufgetreten! Vielleicht" + print#2,"haben Sie die FALSCHE FUNKTION gew„hlt. Wenn es das" + print#2,"nicht war, k”nnen wir Ihnen auch nicht helfen." + print#2,"===================================================" + color 12 + print + print"===================================================" + PRINT" !!!WARNUNG!!!" + print"Ein unbekannter Fehler ist aufgetreten! Vielleicht" + print"haben Sie die FALSCHE FUNKTION gew„hlt. Wenn es das" + print"nicht war, k”nnen wir Ihnen auch nicht helfen." + print"===================================================" + color 7 + goto GanzEnde + + Syntax: + print + print"Syntax: DFVNC [Serialnummer] [Funktion] + print + print" Serialnummer - Ihre Serialnummer" + print" Funktion - gewnschte Funktion:" + print" NUM2NAM - Nummern zu Namen" + print" (z.B.: 1.VOC => DOOR2-1.VOC, ...)" + print" NAM2NUM - Namen zu Nummern" + print" (z.B.: DOOR2-2.VOC => 2.VOC, ...)" + print + goto GanzEnde + +Ende: + print#2,"þ Programm beendet." + +GanzEnde: + \ No newline at end of file diff --git a/dostrend.bas b/dostrend.bas new file mode 100644 index 0000000..1898080 --- /dev/null +++ b/dostrend.bas @@ -0,0 +1,71 @@ + cls + color 15 + print"ððð DOS Trend - Sortierer ððð";:color 7:print" written by" + $INCLUDE"LOGO.INC" + color 15:print + if command$="" then goto Syntax + fle$=command$ + print"Sortiere Eingabedatei ... "; + dos$="sort <"+fle$+" >temp.$$$" + shell dos$ + print"OK" + on error goto Syntax + print"™ffne Kanal #1 ... "; + open "I",#1,"TEMP.$$$" + print"OK" + on error goto + print"™ffne Kanal #2 ... "; + open "O",#2,"DOSTREND.OUT" + print"OK" + print"Schreibe Dateikopf ... "; + print#2,"ððð DOS Trend - Sortierer ððð" + print#2," written by RoboCop INDUSTRIES" + print#2,"" + print#2,"" + print#2,"Folgende Programme sind sofort verfgbar:" + print#2,"" + print"OK" + print"Beginne L”schsequenz ... "; + x=csrlin:y=pos(0) + locate 25,1:color 10:print"ÛÛÛÛÛÛ"; + line input#1,zle$ +2 locate 25,1:color 12:print"ÛÛÛÛÛÛ"; + print#2,zle$ +1 if eof(1) then 3 + locate 25,1:color 10:print"ÛÛÛÛÛÛ"; + line input#1,zle2$ + locate 25,1:color 14:print"ÛÛÛÛÛÛ"; + if zle2$=zle$ then goto 1 else let zle$=zle2$:goto 2 +3 locate 25,1:color 15:print" "; + locate x,y:print"OK" + print"Schlieáe Kanal #1 ... "; + close #1 + print"OK" + print"Schlieáe Kanal #2 ... "; + close #2 + print"OK" + print"L”sche TEMP.$$$ Datei ... "; + kill "temp.$$$" + shell "echo .>temp.$$$" + kill "temp.$$$" + print"OK" + print + print"ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»" + print"º Die Liste befindet sich º" + print"º sortiert in der Datei º" + print"º DOSTREND.OUT. º" + print"ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" + print + print"Programm beendet." + goto Ende + +Syntax: + print + print"Syntax: DOSTREND " + print + print"Eingabedatei - Datei mit dem Inhalt der DOS Trend CDs" + print + goto Ende + +Ende: + \ No newline at end of file diff --git a/editpath.bas b/editpath.bas new file mode 100644 index 0000000..873c3b6 --- /dev/null +++ b/editpath.bas @@ -0,0 +1,153 @@ +CLS +shell "mode co80" +DIM PATH$(40) +$INCLUDE "LOGO.INC" +color 15 +print +print"ððð EditPath ððð by RoboCop INDUSTRIES" +print +print"Lese Path-Variable ... "; +PATH$=ENVIRON$("PATH") +BACKUP$=PATH$ +print "OK" +if PATH$="" then + print + print"Pfad-Variable ist leer! Neu anlegen (J/N)?" + gosub InpKey + if a$="j" or a$="J" then goto NewPath + if A$="n" or A$="N" then goto Ende +end if +print"Splitte Path-String ... "; +x=1 +for y=1 to 255 + IF MID$(PATH$,y,2)=";" or mid$(path$,y,2)="" then PATHs=x:exit for + IF MID$(PATH$,y,1)=";" then x=x+1:goto 2 + PATH$(x)=PATH$(x)+mid$(PATH$,y,1) +2next y +print "OK" +goto EditPath + +NewPath: +PATHs=1 +PATH$(1)="C:\DOS" +goto EditPath + +InpKey: +1 A$=INKEY$:IF A$="" THEN 1 + RETURN + +EditPath: +chosen=1 +oldchosen=1 +oldy=1 +cls:color 15,1 +print"ððð EditPath ððð by RoboCop INDUSTRIES Q - Ende"; + +EP: +locate 25,1:color 14,1:print space$(80); +color 15,0 +y=1 +for x=1 to PATHs + if x+2-z>22 and y<>41 then y=41:z=20:goto 4 + if x+2-z>22 and y=41 then end +4 locate x+2-z,y + print using"## \ \";x;PATH$(x); + locate x+3-z,y + print space$(40); +next x +z=0 +ShowPaths: +color 15,0 +locate oldchosen+2-oldz,oldy:print using"## \ \";oldchosen;PATH$(oldchosen); +if chosen<=20 then y=1:z=0 else y=41:z=20 +oldchosen=chosen:oldy=y:oldz=z +locate chosen+2-z,y +color 0,4:print using"## \ \";chosen;PATH$(chosen); +gosub InpKey +KeyIn$=MID$(A$,2,1) +if KeyIn$="H" and chosen>1 then sound 1000,.5:chosen=chosen-1 +if KeyIn$="P" and chosen20 then sound 1000,.5:chosen=chosen-20 +if KeyIn$="M" and chosen<21 and PATHs>=chosen+20 then sound 1000,.5:chosen=chosen+20 +if KeyIn$="R" and PATHs<40 then sound 1500,1:goto InsertOne +if KeyIn$="S" and PATHs>1 then sound 800,1:goto RemoveChosen +if a$=chr$(13) then sound 800,1:delay 1/18.2:sound 1500,1:goto EditSelected +if a$="q" or a$="Q" then for a=1 to 3:sound 1000,1:delay 2/18.2:next a:goto WriteItDown +goto ShowPaths + +InsertOne: +PATHs=PATHs+1 +for x=PATHs to chosen STEP -1 + PATH$(x)=PATH$(x-1) +next x +path$(chosen)="" +goto EP + +RemoveChosen: +PATHs=PATHs-1 +for x=chosen to PATHs + PATH$(x)=PATH$(x+1) +next x +if PATHs+1=chosen then chosen=chosen-1:oldchosen=1 +goto EP + + +EditSelected: +color 15,0 +BAKPATH$=PATH$(chosen) +' locate 24,1:print PATH$(chosen); +locate 24,1:input ;"Neuer Pfad: ",PATH$(chosen) +locate 24,1:print space$(80); +if PATH$(chosen)="" then + color 14,1 + locate 25,19:print"Keine Eingabe, L”schen oder Behalten (L/B)?"; + for a=1 to 3:sound 1000,1:delay 2/18.2:next a +6 gosub InpKey + if a$="l" or a$="L" then sound 800,1:PATH$(chosen)="":goto 7 + if a$="b" or a$="B" then sound 1500,1:PATH$(chosen)=BAKPATH$:goto 7 + sound 1000,1 + goto 6 +7end if +goto EP + + + +WriteItDown: +Down$="@SET PATH=" +locate 25,18:color 30,1 +print"Wollen Sie die Žnderungen schreiben (J/N)?"; +5gosub InpKey +if A$="j" or a$="J" then sound 1500,1:Zustand$="Neue PATH-Variable geschrieben.":goto YoSchreiben +if a$="n" or A$="N" then sound 800,1:Zustand$="Alte PATH-Variable beibehalten.":goto Nee +sound 1000,1 +goto 5 + +YoSchreiben: +for x=1 to PATHs + Down$=Down$+PATH$(x)+";" +next x +open "O",#1,"EDITPATH.BAT" +PRINT#1,Down$ +close #1 +goto Ende + +Nee: +Down$="@SET PATH=" +Down$=Down$+BACKUP$ +open "O",#1,"EDITPATH.BAT" +PRINT#1,Down$ +close #1 +goto Ende + +Ende: +color 15,0 +cls:color 15,1 +print"ððð EditPath ððð by RoboCop INDUSTRIES "; +color 15,0 +print +print Zustand$ +print +print"Vielen Dank fr die Benutzung von EditPath!" +print +print"Bitte rufen Sie EDITPATH.BAT auf." +end \ No newline at end of file diff --git a/fx7700ge.bas b/fx7700ge.bas new file mode 100644 index 0000000..962935e --- /dev/null +++ b/fx7700ge.bas @@ -0,0 +1,13 @@ +$COMPILE UNIT +sub Drawfx + screen 7 + for z=10 to 107 + pset (z,10),7 + pset (z,75),7 + next z + for z=10 to 75 + pset (10,z),7 + pset (107,z),7 + next z +end sub + \ No newline at end of file diff --git a/gam_mast.bas b/gam_mast.bas new file mode 100644 index 0000000..fa97728 --- /dev/null +++ b/gam_mast.bas @@ -0,0 +1,271 @@ + $link "text.obj" + dim x(100) + dim title$(100) + dim file$(100) + declare sub putchar(integer,integer,integer,integer,string) + noz=0 + gosub Logo +1 a$=inkey$:if a$="" then 1 + screen 0,0,0 +12 width 40 + color 14:print"*** GAME * MASTER ***" + color 11:print" written by Markus Birth" + print + color 15 + print"W„hlen Sie ein System:" + print + print" System Anzahl Tips" + msk$="*.MD_":gosub GetFileNum + MDNum=filenum + print" [M]ega Drive ";MDNum + msk$="*.TIP":gosub GetFileNum + PCNum=filenum + msk$="*.HEX":gosub GetFileNum + PCNum=PCNum+filenum + msk$="*.ADV":gosub GetFileNum + PCNum=PCNum+filenum + msk$="*.COD":gosub GetFileNum + PCNum=PCNum+filenum + print" [P]C ";PCNum + print" [E]nde" + print + print"Geben Sie einen Buchstaben ein: "; +2 a$=inkey$:if A$="" then 2 + if (a$="m" or a$="M") and MDNum>0 then print "M":gosub Roger:goto MegaDrive + if (A$="p" or a$="P") and PCNum>0 then print "P":gosub Roger:goto PC + if a$="e" or a$="E" then print "E":gosub Roger:goto Ende + gosub Signal + goto 2 + +MegaDrive: + cls + width 80 + color 15 + print"Zu folgenden Spielen existiert ein Text: (Auswahl mit 8/2/RET/ESC)" + x=0 +'********* MDGetName + x=x+1 + dat$=dir$("*.md_") +3 open "I",#1,dat$ + file$(x)=dat$ + line input #1, title$(x) + close #1 + x=x+1 + dat$=dir$ + if dat$="" then mx=x-1:a=1:goto 4 + goto 3 + +4 for f=a to mx + if f+y>21 then more=1:exit for + locate f+y+2,1 + print title$(f) + next f + if x=0 or x>21 then x=1 +'************ MDPrintItOut +6 locate x+y+2,1:color 0,7:print title$(x);space$(80-len(title$(x))) + if oldx<>0 then mem=oldx:oldx=0:goto 10 + a$=inkey$:if a$="" then 6 +10 locate x+y+2,1:color 15,0:print title$(x);space$(80-len(title$(x))) + altx=x + if mem<>0 then x=mem:mem=0 + if a$=chr$(27) then gosub Roger:goto 12 + if x20 and mx>21 and a$="2" or a$=chr$(34) then a=a+1:y=y-1:x=x+1:gosub Roger:goto 4 + if x>=2 and (a$="8" or a$="(") then x=x-1:gosub Roger + if a$=chr$(13) then gosub ReadyBeep:goto 7 + if altx=x then gosub Signal + goto 6 +'********* MDGotIt +7 num=x + file$=file$(x) + bez$=title$(x) + cls:color 15 + print bez$:color 7 + print + print"[1] Ansehen" + print"[2] Editieren" + fill$=mid$(str$(num),2,5) +8 if len(fill$)<5 then fill$="0"+fill$:goto 8 else FUCK=0 + sav$="GM_"+fill$+".DAT" + print"[3] Abspeichern als ";sav$ + print"[4] Ausdrucken auf PRN" + print"[5] L™SCHEN" + print:color 15 + print"[6] Zurck":color 7 + print + print"Geben Sie eine Zahl ein: " +9 a$=inkey$:if a$="" then 9 + if a$="1" or a$="!" then goto MDView + if a$="2" or a$=chr$(34) then goto MDEdit + if a$="3" then goto MDSave + if a$="4" or a$="$" then goto MDPrint + if a$="5" or a$="%" then gosub Roger:goto MDKill + if a$="6" or a$="&" then oldx=num:gosub Roger:goto MegaDrive + goto 9 + +MDView: + cls + shl$="wpview "+file$ + gosub ReadyBeep + shell shl$ + oldx=num + goto MegaDrive + +MDEdit: + cls + shl$="ncedit "+file$ + gosub ReadyBeep + shell shl$ + oldx=num-1 + goto MegaDrive + +MDSave: + cls + print"Speichere '";bez$;"' in ";chr$(34);sav$;chr$(34);" ... "; + shl$="copy "+file$+" "+sav$+" >NUL" + shell shl$ + print"OK" + oldx=num + gosub ReadyBeep + goto MegaDrive + +MDPrint: + cls + print"Drucke '";bez$;"' nach LPT1 ... "; + shl$="copy "+file$+" LPT1 >NUL" + shell shl$ + print"OK" + oldx=num + gosub ReadyBeep + goto MegaDrive + +MDKill: + cls + print"Wollen Sie die Datei '";file$;"' mit den Tips fr" + print"'";bez$;"'" + input"l”schen (Ja/n)? ",ans$ + if ans$="Ja" or ans$="ja" then goto MDKillItNow + oldx=num + goto MegaDrive + MDKillItNow: + print + print"L”sche '";file$;"' ... "; + kill file$ + print "OK" + gosub ReadyBeep + goto MegaDrive + +PC: + + end + +Signal: + for z=1 to 3 + sound 1000,1.0 + delay 1.5/18.2 + next z + return + +Roger: + sound 1200,1 + return + +Logo: + screen 9 + color 15,0 + line (179,13)-(36,13),15 + line -(36,135),15 + line -(180,135),15 + line -(180,74),15 + line -(114,74),15 + line -(114,94),15 + line -(148,94),15 + line -(148,112),15 + line -(66,112),15 + line -(66,37),15 + line -(180,37),15 + line -(180,13),15 + line (194,135)-(194,13),15 + line -(292,13),15 + line -(292,135),15 + line -(261,135),15 + line -(261,92),15 + line -(226,92),15 + line -(226,135),15 + line -(194,135),15 + line (226,64)-(261,33),15,b + line (305,135)-(305,13),15 + line -(352,13),15 + line -(390,72),15 + line -(417,13),15 + line -(467,13),15 + line -(467,135),15 + line -(438,135),15 + line -(438,37),15 + line -(403,107),15 + line -(375,107),15 + line -(334,37),15 + line -(334,135),15 + line -(305,135),15 + line (479,135)-(479,13),15 + line -(607,13),15 + line -(607,40),15 + line -(522,40),15 + line -(522,107),15 + line -(607,107),15 + line -(607,135),15 + line -(479,135),15 + line (522,65)-(569,85),15,b + if noz<>1 then sound 130.81,54.6 + call putchar(480,140,15,14,"**** MASTER ****") + if noz<>1 then delay 54.6/18.2 + if noz<>1 then sound 174.61,36.4 + call putchar(36,4,3,8,"(C)1995 by RoboCop INDUSTRIES") + if noz<>1 then delay 36.4/18.2 + if noz<>1 then sound 220,36.4 + call putchar(150,317,15,8,"----- Bitte Taste drcken, -----") + if noz<>1 then delay 36.4/18.2 + if noz<>1 then sound 523.25,4 + if noz<>1 then delay 3/18.2 + paint (165,113),14,15 + paint (212,86),12,15 + paint (323,86),10,15 + if noz<>1 then sound 493.88,36.4 + paint (505,78),10,15 + paint (531,78),10,15 + paint (508,93),8,15 + paint (536,81),8,15 + call putchar(150,317,15,8,"----- Bitte Taste drcken, jetzt -----") + if noz<>1 then 14 + gosub ReadyBeep +14 return + +ReadyBeep: + sound 800,1 + delay 1.5/18.2 + sound 1000,1 + delay 1.5/18.2 + sound 1200,1 + return + +GetFileNum: + filenum=0 + x=0 + dat$=dir$(msk$) + if dat$="" then return + x=x+1 +5 dat$=dir$ + if dat$="" then + filenum=x + return + else + x=x+1 + goto 5 + end if + +Ende: + noz=1 + gosub Logo +11 a$=inkey$:if a$="" then 11 else gosub Roger + screen 0,0,0 + end \ No newline at end of file diff --git a/graftest/2dgraph.bas b/graftest/2dgraph.bas new file mode 100644 index 0000000..3fcc441 --- /dev/null +++ b/graftest/2dgraph.bas @@ -0,0 +1,6 @@ +screen 12 +cls +for x=0 to 20 +y=int(x) +pset (x,y) +next \ No newline at end of file diff --git a/graftest/2dgraph1.bas b/graftest/2dgraph1.bas new file mode 100644 index 0000000..ff03c62 --- /dev/null +++ b/graftest/2dgraph1.bas @@ -0,0 +1,6 @@ +screen 12 +cls +for x=0 to 20 + y=int(x) + pset (x,y) +next \ No newline at end of file diff --git a/graftest/2dgraph2.bas b/graftest/2dgraph2.bas new file mode 100644 index 0000000..e8e67e8 --- /dev/null +++ b/graftest/2dgraph2.bas @@ -0,0 +1,13 @@ +screen 12 +cls +maxx=640 +maxy=480 +line (maxx/2,0)-(maxx/2,maxy) +line (0,maxy/2)-(maxx,maxy/2) +pset (maxx/2,maxy/2) +for l=1 to 125 + y=l^2 + x=(maxx/2)+l + y=(maxy/2)-y + line -(x,y) +next l \ No newline at end of file diff --git a/graftest/3dline.bas b/graftest/3dline.bas new file mode 100644 index 0000000..b854d91 --- /dev/null +++ b/graftest/3dline.bas @@ -0,0 +1,23 @@ +cls +screen 12 +delay 1 +def fn y(x,z)=exp(-x^2-z^2) +puanz=15 'Anzahl Punkte pro Linie +wz=1 'Winkel von Z- zur X-Achse +masz=1 'Stauch/Streckfaktor fr Z-Achsenteilung +projzx=cos(wz)*masz:projzy=sin(wz)*masz 'Projektion Z-Achse +xuntg=-3:xobg=3:xl=xobg-xuntg +yuntg=0:yobg=1:yl=yobg-yuntg +zuntg=-3:zobg=3:zl=zobg-zuntg +masx=5000/(xl+zl*projzx) +masy=5000/(yl+zl*projzy) +for z=zobg to zuntg step -zl/puanz + pset ((zobg-z)*projzx*masx,(fn y(xuntg,zobg)-yuntg-projzy*(z-zobg))*masy) + for x=xuntg to xobg step xl/puanz + y=fn y(x,z) + xk=(x-xuntg-projzx*(z-zobg))*masx + yk=(y-yuntg-projzy*(z-zobg))*masy + line -(xk,yk) + pset (xk,yk) + next x +next z \ No newline at end of file diff --git a/graftest/graftest.bas b/graftest/graftest.bas new file mode 100644 index 0000000..7243ab0 --- /dev/null +++ b/graftest/graftest.bas @@ -0,0 +1,31 @@ +cls +screen 12 +call WriteLn("Calculating and Drawing Graphic, please wait ... ( )",30,80) +for z=400 to 480 step 2 +pset (0,z),0 +for s=1 to 640 step 2 +if st=0 then st=1 +st=st+.01 +if st>=5 then st=1 +locate 30,64 +if st>=1 then st$="-" +if st>=2 then st$="\" +if st>=3 then st$="|" +if st>=4 then st$="/" +print st$; +anz$=" Aktuelle Pos.: Z"+mid$(str$(z),2,5)+" S"+mid$(str$(s),2,5)+" Farbe: "+str$(farbe)+" " +call WriteLn(anz$,29,80) +farbe=0 'farbe=int(rnd(1)*256)+1 +pset (s,z),farbe 'line -(s,z),farbe +next s +next z +locate 1,80:print" "; +call WriteLn("Graphic contruction complete.",30,80) +goto Ende + +sub WriteLn (s$,x,ymax) SHARED PUBLIC + locate x,(ymax/2)-len(s$)/2 + print s$; +end sub + +Ende: \ No newline at end of file diff --git a/graftest/grftest2.bas b/graftest/grftest2.bas new file mode 100644 index 0000000..2e45444 --- /dev/null +++ b/graftest/grftest2.bas @@ -0,0 +1,64 @@ +cls +screen 12 +locate 1,1 +1 x1=int(rnd(1)*640) +x2=int(rnd(1)*640) +y1=int(rnd(1)*480) +y2=int(rnd(1)*480) +far=int(rnd(1)*256) +line (x1,y1)-(x2,y2),far,BF +zahl=zahl+1 +locate 30,1:print"Anzahl Rechtecke: ";zahl; +if inkey$=" " then 2 +goto 1 + +2 REM Fucking Hostile is back + +goto Fade +'goto RoboCop +'goto ARoboCop + +RoboCop: +for x=0 to 480 step 2 +line (0,x)-(640,x),0 +next x +goto Ende + +ARoboCop: + +' 1 Zeile Schrift = 16 Pixel +' 1 Buchstabe = 8 Pixel +'=> Schrift = 8x16 + +z=50 +for x=0 to 640 step 2 +line (x,0)-(x,480),0 +next x +goto Ende + +Fade: +an=.5 +st=1 +for g=1 to 9 +an=an*2 +st=st*2 +gosub DoIt +9 a$=inkey$:if a$="" then 9 + if a$="r" or a$="R" then exit for +next g + +goto Ende + +DoIt: +z=an-st +s=an-st +6 REM FuckHost +z=z+st +s=s+st +if z>480 then 7 +line (0,z)-(640,z),0 +7 line (s,0)-(s,480),0 +if s>640 and z>480 then return +goto 6 + +Ende: \ No newline at end of file diff --git a/graftest/grftest3.bas b/graftest/grftest3.bas new file mode 100644 index 0000000..2fa7b10 --- /dev/null +++ b/graftest/grftest3.bas @@ -0,0 +1,48 @@ +cls +open "O",#1,"GRFTEST3.OUT" +print#1,"OUTPUT-Datei von GRFTEST3.BAS" +print#1,"" +print#1,"Die Datei hat folgendes Format:" +print#1,"X : Zufalls X-Koordinate" +print#1,"Y : Zufalls Y-Koordinate" +print#1,"0/1: X,Y schon belegt NEIN/JA" +print#1,"# : Nummer der schon belegten Pixel (640x480)" +print#1,"" +open "O",#2,"GRFTEST3.OU2" +print#2,"OUTPUT-Datei von GRFTEST3.BAS" +print#2,"" +print#2,"Die Datei hat folgendes Format:" +print#2,"0/1: Pixel schon belegt NEIN/JA" +print#2,"" +dim o(640) +dim p(480) +screen 12 +locate 1,1 +1 x1=int(rnd(1)*640) +x2=int(rnd(1)*640) +y1=int(rnd(1)*480) +y2=int(rnd(1)*480) +far=int(rnd(1)*256) +line (x1,y1)-(x2,y2),far,BF +if inkey$=" " then 2 +goto 1 + +2 REM Fucking Hostile is back +for g=1 to 640*480 +randomize timer +5 x=int(rnd(1)*640) +y=int(rnd(1)*480) +if inkey$=chr$(27) then end +if o(x)=255 and p(y)=255 and o(x+1)=255 and p(y+1)=255 then + locate 30,1:print using "X ### Y ### 0/1:# _#######/307200";x;y;0;g; + print#1,using"X ### Y ### 0/1:# _#######/307200";x;y;0;g + print#2,"0"; + goto 5 +else + line (x,y)-(x+1,y+1),0,BF:o(x)=255:p(y)=255:o(x+1)=255:p(y+1)=255 + locate 30,1:print using "X ### Y ### 0/1:# _#######/307200";x;y;1;g; + print#1,using "X ### Y ### 0/1:# _#######/307200";x;y;1;g + print#2,"1"; +end if +next g + \ No newline at end of file diff --git a/hallo.bas b/hallo.bas new file mode 100644 index 0000000..7e813d7 --- /dev/null +++ b/hallo.bas @@ -0,0 +1,45 @@ +1 'Programm: HALLO.BAS +2 'Funktion: Sprachausgabe mit BASIC +3 'Sprache : GW-Basic +4 'Autor : John Lupton +6 input r: +7 if r>0 then z=int(1193280! / R) +10 f=1850:i=97:dim d(f):b=.2 +20 out 67,182:out 66,z and 255: +21 out 66,z\256:h=inp(i) or 3: +22 out i,h:l=inp(i) and 252: +23 out i,l +30 key(1) on: key(2) on: key(5) on: +31 key(6) on: on key(1) gosub 200: +32 on key(2) gosub 210: +33 on key(5) gosub 220: +34 on key(6) gosub 230 +40 while a>-1 +50 read a:if a=0 then a=1 +60 d(a+a1)=1:a1=a1+a +70 wend +80 while inkey$="" +90 for t=1 to f step b +100 if d(t) then out i,h +110 if s>0 then for n=2 to s:next n +120 out i,l +130 next t +140 wend +150 out i,l:end +200 s=s-2 +210 s=s+1:return +220 b=b+.005:return +230 b=b-.005:if b<.005 then b=.005 +240 return +500 data 374,21,4,,5,15,,4,6,6,,9,4,,5,,12, +501 data 4,6,11,,4,,,4,,10,5,,5,,8,,5,6, +502 data 8,,5,,5,,8,6,,,6,6,,,6,,,9,,,,8, +503 data 9,3,8,12,,19,,,56,24,11,28,,,9,,9, +504 data ,,7,2,10,,2,6,3,9,,,,6,,,10,,,,7,, +505 data 11,,,7,,11,,10,11,,9,,10,,7,,13,, +510 data 7,,12,,,7,,12,,8,,12,,8,,12,,8,,11 +511 data ,,,7,,,11,,,7,,,10,,,8,,11,,,8,,10 +512 data ,,,8,,,10,,9,,10,,,8,,,9,,,8,,,9,, +513 data ,9,,10,,9,,10,,9,,10,,5,5,10,,,9,, +514 data 9,,,9,,10,,,9,11,,,20,,,,21,,14,8, +515 data ,,14,9,,,23,,,27,,33,-1 \ No newline at end of file diff --git a/hd-data.bas b/hd-data.bas new file mode 100644 index 0000000..fc6edd1 --- /dev/null +++ b/hd-data.bas @@ -0,0 +1,89 @@ +color 1,1 +cls +color 14,1 +locate 5,5:print " HEADS " +locate 7,5:print " CYLINDERS " +locate 9,5:print " SECTORS " +locate 12,5:print" SIZE " +locate 17,5:print"LANDING ZONE " +color 11,1 +locate 9,27:print"* 512 Bytes" +locate 12,32:print"Bytes" +locate 13,32:print"kBytes" +locate 14,32:print"MBytes" +locate 15,32:print"GBytes" +color 15,1 +locate 5,40:print "Up/Down - Switch between HEADS," +locate 6,40:print " CYLINDERS and SECTORS" +locate 7,40:print "Right/Left - Increase / decrease" +locate 8,40:print " selected value" +locate 9,40:print "[ENTER] - enter value directly" +locate 10,40:print"[ESC]ape - Quit this nice proggy" +color 16,7:locate 2,27:print" HARDDISK-SIZE-CALCULATOR " +gosub PrintItOut +1 a$=inkey$:if a$="" then 1 +if a$=chr$(27) then goto Ende +if mid$(a$,2,1)="H" and active>1 then active=active-1 +if mid$(a$,2,1)="P" and active<3 then active=active+1 +if active=1 then value=heads +if active=2 then value=cylinders +if active=3 then value=sectors +if mid$(a$,2,1)="M" and value<999999 then Incr Value +if mid$(a$,2,1)="K" and value>0 then Decr Value +if a$=chr$(13) and active<>0 then gosub InputIt +if active=1 then heads=value +if active=2 then cylinders=value +if active=3 then sectors=value +gosub PrintItOut +goto 1 + +InputIt: +locate 19,10:color 14,1:print"Enter the new value for "; +if active=1 then print"HEADS"; +if active=2 then print"CYLINDERS"; +if active=3 then print"SECTORS"; +print " :"; +oldvalue=value +color 11,1:input "",value +if value=0 then value=oldvalue +if value>999999 then value=oldvalue +locate 19,10:print space$(70); +return + +PrintItOut: +color 0,3 +locate 5,19:print using "######";heads +locate 7,19:print using "######";cylinders +locate 9,19:print using "######";sectors +color 11+16,1 +if active=0 then goto 2 +if active=1 then l=5 +if active=2 then l=7 +if active=3 then l=9 +locate 5,18:if l=5 then print chr$(16); else print " "; +locate 7,18:if l=7 then print chr$(16); else print " "; +locate 9,18:if l=9 then print chr$(16); else print " "; +locate 5,25:if l=5 then print chr$(17); else print " "; +locate 7,25:if l=7 then print chr$(17); else print " "; +locate 9,25:if l=9 then print chr$(17); else print " "; +2 color 0,7 +locate 17,18:print using "#######";cylinders+1 +sizeb=heads*cylinders*sectors*512 +sizek=sizeb/1024 +sizem=sizek/1024 +sizeg=sizem/1024 +locate 12,18 +if sizeb<9999999999 then print using ",,,,,,,,,,,,,";sizeb else color 12,7:print"* OVERFLOW * ":color 0,7 +locate 13,18 +if sizek<9999999999 then print using ",,,,,,,,,,,,,";sizek else color 12,7:print"* OVERFLOW * ":color 0,7 +locate 14,18 +if sizem<9999999999 then print using ",,,,,,,,,,,,,";sizem else color 12,7:print"* OVERFLOW * ":color 0,7 +locate 15,18 +if sizeg<9999999999 then print using ",,,,,,,,,,,,,";sizeg else color 12,7:print"* OVERFLOW * ":color 0,7 +return + +Ende: +color 7,0 +cls +print "READY." +end \ No newline at end of file diff --git a/inst_xw/go.bas b/inst_xw/go.bas new file mode 100644 index 0000000..51fb8a1 --- /dev/null +++ b/inst_xw/go.bas @@ -0,0 +1,193 @@ +Start: + color 1,1 + cls + color 0,3 + print" X-Wing Installationsprogramm " + color 7,0 + locate 25,1 + color 7,0:print"1";:color 0,3:print" "; + for z=2 to 9 + color 7,0:print left$(str$(z),2); + color 0,3:print" "; + next z + color 7,0:print" 10";:color 0,3:print" "; + defint m + def seg=0 + mseg=256*peek(207)+peek(206) + mouse=256*peek(205)+peek(204)+2 + if mseg or (mouse-2) then mse=1 else mse=0 + if mse<>1 then 1 + def seg=mseg + if peek(mouse-2)=207 then mse=0:goto 1 + m1%=0 + call absolute mouse(m1%,m2%,m3%,m4%) + mse=0 + if m1=-1 then mse=1 +1 color 0,7 + locate 3,3 + if mse=1 then print" MAUSUNTERSTšTZUNG " else print" " + locate 3,23 + if mse=1 then + print m2%;"Tasten " + m1=1:call absolute mouse(m1%,m2%,m3%,m4%) + m1=10:m2=0:m3=2:m4=5:call absolute mouse(m1%,m2%,m3%,m4%) + else + print " " + end if + DriveAsk: + locate 25,2:color 0,3:print"LW C:"; + locate 25,10:print"LW D:"; + locate 25,18:print"LW E:"; + locate 25,26:print"LW F:"; + locate 25,34:print"LW G:"; + locate 25,75:print"Ende"; + locate 5,2:color 11,1:print"Bitte drcken Sie die F-Taste mit der Nummer, die vor der Laufwerksbezeichnung" + print" des gewnschten Ziellaufwerks steht"; + if mse=1 then print" oder klicken Sie die Fl„che an." else print"." + locate 6,2 + print"Es werden w„hrend der Installation ca. 25,5 MB sp„ter ca. 17 MB ben”tigt." + ReadKoord1: + if mse=0 then 2 + m1=3 + call absolute mouse(m1%,m2%,m3%,m4%) + x=m3:y=m4:butt=m2 +2 a$=inkey$ + if a$="" and butt=0 then ReadKoord1 + f$=mid$(a$,2,1) + lw$="" + if f$=";" or (butt>0 and x>=0 and x<=48 and y=192) then LW$="C" + if f$="<" or (butt>0 and x>=64 and x<=112 and y=192) then lw$="D" + if f$="=" or (butt>0 and x>=128 and x<=176 and y=192) then lw$="E" + if f$=">" or (butt>0 and x>=192 and x<=240 and y=192) then lw$="F" + if f$="?" or (butt>0 and x>=256 and x<=304 and y=192) then lw$="G" + if f$="D" or (butt>0 and x>=576 and x<=632 and y=192) then goto Beenden + if lw$="" then ReadKoord1 + locate 5,2:color 0,1:print space$(78):print space$(79):print space$(79) + locate 5,2:color 11,1:print"Ziellaufwerk: C D E F G" + color 0,3 + if lw$="C" then locate 5,16:?" C " + if lw$="D" then locate 5,20:?" D " + if lw$="E" then locate 5,24:?" E " + if lw$="F" then locate 5,28:?" F " + if lw$="G" then locate 5,32:?" G " + locate 25,2:print" "; + locate 25,10:print" "; + locate 25,18:print" "; + locate 25,26:print" "; + locate 25,34:print" "; + locate 25,75:print" "; + gosub MemTest + if mry=1 then locate 5,36:color 0,3:print" OK ":goto MemOK + if mry=0 then + locate 9,2:color 11,1:print"Der Speicherplatz auf Laufwerk ";lw$;" reicht nicht aus." + print" Folgende Informationen wurden ermittelt:" + print using" þ Ben”tigt : ,,,,,,,,,,,,";17*(1024^2) + print " þ Frei auf ";lw$;:print using": : ,,,,,,,,,,,";frei*1000 + print using" þ Noch ben”tigt: ,,,,,,,,,,,";(17*(1024^2))-(frei*1000) + print + print" W„hlen Sie ein anderes Laufwerk oder beenden Sie." + goto DriveAsk + end if + + MemOK: + color 11,1 + locate 9,2:print space$(78):print space$(79):print space$(79):print space$(79):print space$(79):print space$(79):print space$(79) + locate 7,2:print"Verzeichnis : "; + color 0,3:print"\ " + locate 7,16:input "\",verz$ + verz$="\"+verz$ + pfad$=lw$+":"+verz$ + color 12,1:locate 9,2:print"Sollen die obigen Einstellungen verwendet werden?" + color 0,7:locate 14,2:print" JA ";:color 8,1:?"Ü" + color 0,7:locate 14,17:print" ŽNDERN ";:color 8,1:?"Ü" + color 0,7:locate 14,32:print" ENDE ";:color 8,1:?"Ü" + for z=3 to 33 step 15 + locate 15,z:print"ßßßßßßßßßßßß" + next z + color 0,3 + locate 25,2:print"JA"; + locate 25,10:print"ŽNDERN"; + locate 25,75:print"Ende"; + color 11,1:locate 16,2:print"Bitte F1,F2,F10 oder [ENTER] drcken"; + if mse=1 then print" oder einen Knopf oder einen Bereich":print" in der F-Leiste mit der Maus anklicken." else print"." + ReadKoord2: + if mse=0 then 3 + m1=3 + call absolute mouse(m1%,m2%,m3%,m4%) + x=m3:y=m4:butt=m2 +3 a$=inkey$ + if a$="" and butt=0 then ReadKoord2 + f$=mid$(a$,2,1) + wahl$="" + if f$=";" or (butt>0 and x>=0 and x<=48 and y=192) or (butt>0 and x>=8 and x<=96 and y=104) then wahl$="J":c=2 + if f$="<" or (butt>0 and x>=64 and x<=112 and y=192) or (butt>0 and x>=128 and x<=216 and y=104) then wahl$="Ž":c=17 + if f$="D" or (butt>0 and x>=576 and x<=632 and y=192) or (butt>0 and x>=248 and x<=336 and y=104) then wahl$="E":c=32 + if wahl$="" then ReadKoord2 + locate 14,c:color 7,1 + print" ÜÜÜÜÜÜÜÜÜÜÜÜ" + locate 15,c + print" ßßßßßßßßßßßß" + locate 16,2:print space$(79); + locate 17,2:print space$(79); + delay 1 + if wahl$="J" then InstallRout + if wahl$="Ž" then Start + if wahl$="E" then Beenden + + InstallRout: + mkdir pfad$ + exec$="C:\DEICE.COM "+lw$+" "+verz$ + color 15,0 + cls + color 0,3 + print" X-Wing Installationsprogramm "; + color 15,0 + print + shell exec$ + goto Ende + + Beenden: + color 15,0 + cls + color 0,3 + locate 1,1 + print" X-Wing Installationsprogramm "; + color 11,1 + print"Installation abgebrochen... "; + end + + Ende: + shell "Del C:\RAR.cfg >NUL" + shell "Del C:\rar.exe >NUL" + shell "del C:\deice.com >NUL" + shell "del C:\go.exe >NUL" + + color 15,0 + cls + color 0,3 + locate 1,1 + print" X-Wing Installationsprogramm "; + color 11,1 + print"Installation beendet... "; + print space$(80); + print"Viel Spaá noch mit X-Wing, B-Wing und Imperial Pursuits! "; + print"Start von alledem mit "; + shell "Del c:\inst.exe >NUL" + end + + MemTest: + shell"Chkdsk "+lw$+": >C:\MEMCHK.XW" + open "I",#1,"C:\MEMCHK.XW" + locate 5,1 + color 14,0 +4 line input#1,ZEILE$ + if mid$(zeile$,15,24)="Byte auf dem Datentr„ger" then memory=0 else goto 4 + close #1 + kill "C:\MEMCHK.XW" + frei$=left$(zeile$,13) + mem$=mid$(frei$,1,5)+mid$(frei$,7,3)+mid$(frei$,11,3) + frei=val(mem$)/1000 + kbfrei=val(mem$)/(1024^2) + if kbfrei<25.5 then mry=0 + if kbfrei>=25.5 then mry=1 + return \ No newline at end of file diff --git a/inst_xw/install.bas b/inst_xw/install.bas new file mode 100644 index 0000000..4900c79 --- /dev/null +++ b/inst_xw/install.bas @@ -0,0 +1,5 @@ + shell"copy go.exe C:\go.exe >NUL" + shell"copy deice.com C:\deice.com >NUL" + shell"copy rar.exe C:\rar.exe >NUL" + shell"copy rar.cfg C:\rar.cfg >NUL" + execute "C:\go.exe" \ No newline at end of file diff --git a/joy.bas b/joy.bas new file mode 100644 index 0000000..1fa9c60 --- /dev/null +++ b/joy.bas @@ -0,0 +1,26 @@ +10 CLS:STRIG ON +20 PRINT"Dies ist ein Joystick-Test fr den HCV 386-DX." +30 PRINT"Drcken Sie eine Taste zum Start !!!" +40 B$=INKEY$:IF B$="" THEN 40 +50 CLS +60 PRINT"Left = 4-6 Right = 181-185 Up = 5-7 Down = 127-133" +70 PRINT"Fire Button 1 = -1 Fire Button 2 = -1" +80 LOCATE 15,30 +90 A=STICK(0):B=STICK(1) +100 C=STRIG(1):D=STRIG(4) +110 LOCATE 15,1 +120 PRINT " Left/Right : ";A;"Up/Down : ";B;" " +130 LOCATE 16,1 +140 PRINT" Fire Button 1 : ";C;"Fire Button 2 : ";D;" " +150 IF A=5 OR A=6 OR A=7 THEN LOCATE 15,1:PRINT"®®® Left" +160 IF A=152 OR A=153 OR A=154 OR A=155 THEN LOCATE 15,60:PRINT"Right ¯¯¯" +170 IF B=5 OR B=6 OR B=7 THEN LOCATE 15,1:PRINT"7 Up" +180 IF B=151 OR B=152 OR B=153 OR B=154 OR B=155 THEN LOCATE 15,60:PRINT"8 Down" +190 IF C=-1 THEN LOCATE 16,1:PRINT"6 Fire Button 1" +200 IF D=-1 THEN LOCATE 16,61:PRINT"6 Fire Button 2" +210 B$=INKEY$:IF B$=" " THEN 230 +220 GOTO 90 +230 PRINT"^C" +240 PRINT"BREAK in 240" +250 A$="Quick" + \ No newline at end of file diff --git a/joytest.bas b/joytest.bas new file mode 100644 index 0000000..7abad97 --- /dev/null +++ b/joytest.bas @@ -0,0 +1,15 @@ +CLS:STRIG ON +1 PRINT"Joystick A" +PRINT USING"X ###";STICK(0) +PRINT USING"Y ###";STICK(1) +2 PRINT USING"Button A ##";STRIG(0) +PRINT USING"Button B ##";STRIG(4) +PRINT +PRINT"Joystick B" +PRINT USING"X ###";STICK(2) +PRINT USING"Y ###";STICK(3) +PRINT USING"Button A ##";STRIG(2) +PRINT USING"Button B ##";STRIG(6) +IF INKEY$=CHR$(27) THEN END +LOCATE 1,1:GOTO 1 + \ No newline at end of file diff --git a/keypro.bas b/keypro.bas new file mode 100644 index 0000000..319a0c3 --- /dev/null +++ b/keypro.bas @@ -0,0 +1,22 @@ +dim x$(12) +color 15:print"Bitte drcken Sie [Prog]+[Esc] zusammen.":color 7 +for y=1 to 12 +for z=1 to 20 +1 a$=inkey$:if a$="" then 1 +if a$=chr$(27) then exit for +x$(y)=x$(y)+a$ +next z +next y +input SHIT$ +print +color 15:print"Folgende Codes wurden von der Tastatur gelesen:":color 7 +for z=1 to 12 +?x$(z) +next z +print +color 15:print"Folgende Befehle mssten die šbersetzung sein:":color 7 +open "O",#1,"KEYPRO.TAB" +for z=1 to 12 +?#1,x$(z) +next z + \ No newline at end of file diff --git a/keyprog.bas b/keyprog.bas new file mode 100644 index 0000000..67c142d --- /dev/null +++ b/keyprog.bas @@ -0,0 +1,392 @@ + ver$="1.02" + color 15:print"ððð KeyProg v";ver$;" ððð" + print"by:" + $INCLUDE "LOGO.INC" + color 15 + shell"DIR C:\*.* >director.y__" + open "I",#2,"director.y__" + line input#2,dummy$ + line input#2,hdname$ + line input#2,hdnumb$ + close #2 + open "O",#2,"Director.y__" + print#2,"PHYSIKALISCH GEL™SCHT!" + close #2 + kill "director.y__" + on error goto NotReg + open "I",#1,"serial.num" + on error goto + line input#1,ser$ + line input#1,usnam$ + close #1 + for zet=1 to 11 + ser2$=ser2$+chr$(asc(mid$(ser$,zet,1))-100) + next zet + hdname$=right$(hdname$,11) + hdnumb$=right$(hdnumb$,9) + for zet=1 to len(hdname$) + midd$=mid$(hdname$,zet,1) + if midd$="A" then nm$="1" + if midd$="B" then nm$="5" + if midd$="C" then nm$="3" + if midd$="D" then nm$="2" + if midd$="E" then nm$="9" + if midd$="F" then nm$="8" + if midd$="G" then nm$="7" + if midd$="H" then nm$="4" + if midd$="I" then nm$="6" + if midd$="J" then nm$="0" + if midd$="K" then nm$="2" + if midd$="L" then nm$="1" + if midd$="M" then nm$="3" + if midd$="N" then nm$="4" + if midd$="O" then nm$="7" + if midd$="P" then nm$="9" + if midd$="Q" then nm$="0" + if midd$="R" then nm$="6" + if midd$="S" then nm$="5" + if midd$="T" then nm$="4" + if midd$="U" then nm$="2" + if midd$="V" then nm$="6" + if midd$="W" then nm$="8" + if midd$="X" then nm$="0" + if midd$="Y" then nm$="9" + if midd$="Z" then nm$="5" + if midd$="0" then nm$="1" + if midd$="1" then nm$="0" + if midd$="2" then nm$="3" + if midd$="3" then nm$="2" + if midd$="4" then nm$="5" + if midd$="5" then nm$="4" + if midd$="6" then nm$="7" + if midd$="7" then nm$="6" + if midd$="8" then nm$="9" + if midd$="9" then nm$="8" + if midd$="_" then nm$="3" + if nm$="" then nm$="5" + hdn$=hdn$+nm$ + nm$="" + next zet + hdnumb$=left$(hdnumb$,4)+right$(hdnumb$,4) + for zet=1 to 8 + midd$=mid$(hdnumb$,zet,1) + if midd$="A" then nm$="2" + if midd$="B" then nm$="4" + if midd$="C" then nm$="6" + if midd$="D" then nm$="8" + if midd$="E" then nm$="1" + if midd$="F" then nm$="3" + if nm$="" then nm$=midd$ + hdnum$=hdnum$+nm$ + nm$="" + next zet + ser$=str$(val(hdnum$)+val(hdn$)) + ser$=right$(ser$,len(ser$)-1) + if ser$=ser2$ then goto Anfang else goto NotRegisterd + + NotReg: + resume NotRegisterd + + NotRegisterd: + print + print"Dieses Programm ist noch nicht registriert !!!" + print"Lassen Sie sich unter (03322) 3198 registrieren." + print + print"Es wird nur die Taste F1 zu programmieren sein." + print + delay 10 + unreg=1 + usnam$="NIEMANDEN" + Anfang: + cls + color 14 + print"ððð Key Prog v";ver$;" ððð":color 10 + rstr$="Registriert fr <" + locate 1,80-len(usnam$)-1 + print usnam$;:color 7:?">" + locate 1,80-len(usnam$)-1-len(rstr$) + print rstr$ + color 12 + print" by RoboCop INDUSTRIES" + color 15 + print + print" 1 F1 21 Einfg (Z) 41 C 61 W 81 ' (Z) - auf dem Zehnerblock"; + print" 2 F2 22 Entf (Z) 42 D 62 X 82 ," + print" 3 F3 23 Pos1 43 E 63 Y 83 ." + print" 4 F4 24 ";chr$(24);" 44 F 64 Z 84 /" + print" 5 F5 25 Bild";chr$(24);" 45 G 65 1 85 `" + print" 6 F6 26 ";chr$(27);" 46 H 66 2 86 ";chr$(17);"ÄÙ (Z)" + print" 7 F7 27 ";chr$(26);" 47 I 67 3 87 / (Z)" + print" 8 F8 28 Ende 48 J 68 4 88 * (Z)" + print" 9 F9 29 ";chr$(25);" 49 K 69 5 89 - (Z)" + print" 10 F10 30 Bild";chr$(25);" 50 L 70 6 90 + (Z)" + print" 11 F11 31 Einfg 51 M 71 7 91 5 (Z)" + print" 12 F12 32 Entf 52 N 72 8" + print" 13 Pos1 (Z) 33 Druck 53 O 73 9 0 RAUS ZUM DOS" + print" 14 ";chr$(24);" (Z) 34 Pause 54 P 74 0" + print" 15 Bild";chr$(24);" (Z) 35 ";chr$(17);"ÄÄ 55 Q 75 -" + print" 16 ";chr$(27);" (Z) 36 ";chr$(17);"ÄÙ 56 R 76 =" + print" 17 ";chr$(26);" (Z) 37 TAB 57 S 77 [" + print" 18 Ende (Z) 38 NULL 58 T 78 ]" + print" 19 ";chr$(25);" (Z) 39 A 59 U 79 [SPACE]" + print" 20 Bild";chr$(25);" (Z) 40 B 60 V 80 ;" +1 locate 23,55:input"Taste: ",ein + if ein=0 then cls:goto ProgEnd + if ein<>1 and unreg=1 then 1 + if ein<1 or ein>91 or int(ein)<>ein then 1 + cls + if ein=1 then gosub F1 + if unreg=1 then goto ProgKey + if ein=2 then gosub F2 + if ein=3 then gosub F3 + if ein=4 then gosub F4 + if ein=5 then gosub F5 + if ein=6 then gosub F6 + if ein=7 then gosub F7 + if ein=8 then gosub F8 + if ein=9 then gosub F9 + if ein=10 then gosub F10 + if ein=11 then gosub F11 + if ein=12 then gosub F12 + if ein=13 then gosub ZHome + if ein=14 then gosub ZUp + if ein=15 then gosub ZPgUp + if ein=16 then gosub ZLt + if ein=17 then gosub ZRt + if ein=18 then gosub ZEnd + if ein=19 then gosub ZDn + if ein=20 then gosub ZPgDn + if ein=21 then gosub ZIns + if ein=22 then gosub ZDel + if ein=23 then gosub Home + if ein=24 then gosub Up + if ein=25 then gosub PgUp + if ein=26 then gosub Lt + if ein=27 then gosub Rt + if ein=28 then gosub Ende + if ein=29 then gosub Dn + if ein=30 then gosub PgDn + if ein=31 then gosub Ins + if ein=32 then gosub Del + if ein=33 then gosub PrtScr + if ein=34 then gosub Break + if ein=35 then gosub BckSpc + if ein=36 then gosub Ret + if ein=37 then gosub TABULATOR + if ein=38 then gosub NULL + if ein=39 then gosub A + if ein=40 then gosub B + if ein=41 then gosub C + if ein=42 then gosub D + if ein=43 then gosub E + if ein=44 then gosub F + if ein=45 then gosub G + if ein=46 then gosub H + if ein=47 then gosub I + if ein=48 then gosub J + if ein=49 then gosub K + if ein=50 then gosub L + if ein=51 then gosub M + if ein=52 then gosub N + if ein=53 then gosub O + if ein=54 then gosub P + if ein=55 then gosub Q + if ein=56 then gosub R + if ein=57 then gosub S + if ein=58 then gosub T + if ein=59 then gosub U + if ein=60 then gosub V + if ein=61 then gosub W + if ein=62 then gosub X + if ein=63 then gosub Y + if ein=64 then gosub Z + if ein=65 then gosub N1 + if ein=66 then gosub N2 + if ein=67 then gosub N3 + if ein=68 then gosub N4 + if ein=69 then gosub N5 + if ein=70 then gosub N6 + if ein=71 then gosub N7 + if ein=72 then gosub N8 + if ein=73 then gosub N9 + if ein=74 then gosub N0 + if ein=75 then gosub Minus + if ein=76 then gosub Equals + if ein=77 then gosub BrckO + if ein=78 then gosub BrckC + if ein=79 then gosub Space + if ein=80 then gosub Semicolon + if ein=81 then gosub Appostrophy + if ein=82 then gosub Comma + if ein=83 then gosub Punkt + if ein=84 then gosub Slash + if ein=85 then gosub Appostrophy2 + if ein=86 then gosub ZRet + if ein=87 then gosub ZSlash + if ein=88 then gosub ZAsterisk + if ein=89 then gosub ZMinus + if ein=90 then gosub ZPlus + if ein=91 then gosub Z5 + goto ProgKey + + $INCLUDE "KEYCODES.INC" + +ProgKey: + cls + print"ððð KeyProg v";ver$;" ððð" + if fle$="" then gosub InFileName + print + print"Taste: ";KeyString$ + print + print"In welcher Verbindung wnschen Sie die Taste:" + print + if InitStringN$="NA" then color 8 else color 14 + print"1 - NORMAL";:if InitStringN$="NA" then print:goto 2 + if InitStringS$=InitStringN$ then print"/SHIFT";:InitStringS=1 + if InitStringC$=InitStringN$ then print"/CTRL";:InitStringC=1 + if InitStringA$=InitStringN$ then print"/ALT";:InitStringA=1 + print + +2 if InitStringS=1 then color 8 else color 14 + if InitStringS$="NA" then color 8 + print"2 - SHIFT";:if InitStringS$="NA" then print:goto 3 + if InitStringC$=InitStringS$ then print"/CTRL";:InitStringC=1 + if InitStringA$=InitStringS$ then print"/ALT";:InitStringA=1 + print + +3 if InitStringC=1 then color 8 else color 14 + if InitStringC$="NA" then color 8 + print"3 - CTRL";:if InitStringC$="NA" then print:goto 4 + if InitStringA$=InitStringC$ then print"/ALT";:InitStringA=1 + print + +4 if InitStringA=1 then color 8 else color 14 + if InitStringA$="NA" then color 8 + print"4 - ALT" + +5 ask$=inkey$:if ask$="" then 5 + if ask$="1" and InitStringN$<>"NA" and InitStringN<>1 then goto Normal + if ask$="2" and InitStringS$<>"NA" and InitStringS<>1 then goto Shift + if ask$="3" and InitStringC$<>"NA" and InitStringC<>1 then goto Control + if ask$="4" and InitStringA$<>"NA" and InitStringA<>1 then goto Alt + goto 5 + + + goto ProgEnd + +Normal: + cls + print"ððð KeyProg v";ver$;" ððð" + print + color 15 + print"Taste: ";KeyString$ + print"Code : ";InitStringN$ + cde$=InitStringN$ + print + goto MakeString + +Shift: + cls + color 15 + print"Taste: [SHIFT]+";KeyString$ + print"Code : ";InitStringS$ + cde$=InitStringS$ + print + goto MakeString + +Control: + cls + color 15 + print"Taste: [CTRL]+";KeyString$ + print"Code : ";InitStringC$ + cde$=InitStringC$ + print + goto MakeString + +Alt: + cls + color 15 + print"Taste: [ALT]+";KeyString$ + print"Code : ";InitStringA$ + cde$=InitStringA$ + print + goto MakeString + +MakeString: + print"Welcher Befehl soll zur Programmierung verwendet werden:" + print"1 - PROMPT" + print"2 - ECHO" + print"3 - TYPE" +6 ask$=inkey$:if ask$="" then 6 + if ask$="1" then lin$="PROMPT $e[":endlin$="PROMPT $p$g" + if ask$="2" then lin$="ECHO "+chr$(27)+"[" + if ask$="3" then lin$=chr$(27)+"[" + if val(ask$)<1 or val(ask$)>3 or int(val(ask$))<>val(ask$) then 6 + lin$=lin$+cde$+";"+chr$(34) + input"Welcher String soll ausgegeben werden: ",ausg$ + lin$=lin$+ausg$+chr$(34) +7 input"Soll nach der Ausgabe [ENTER] ausgefhrt werden (J/N)";yn$ + if yn$="j" or yn$="J" then lin$=lin$+";13p":goto 8 + if yn$="n" or yn$="N" then lin$=lin$+"p":goto 8 + goto 7 +8 on error goto NoFile + open "A",#1,fle$ + on error goto + if smf<>1 then + print#1,"@ECHO OFF" + print#1,": BATCH FILE made by KEYPROG v";ver$ + if unreg=1 then print#1,": Unregistered Version!!!" else print#1,": Registered to <";usnam$;">" + print#1,": (C)1995 by RoboCop INDUSTRIES" + print#1,"" + end if + print#1,lin$ + if unreg=1 then goto ProgEnd +9 print"Noch mehr Codes eingeben (J)a, in ";fle$;"; Ja, (a)ndere Datei;(N)ein "; + input yn$ + if yn$<>"j" and yn$<>"J" and endlin$<>"" then print#1,endlin$:close #1 else close#1 + if yn$="j" or yn$="J" then goto YesSameFile + if yn$="a" or yn$="A" then goto YesOthaFile + if yn$="n" or yn$="N" then goto ProgEnd + goto 9 + +NoFile: + color 12 + print"Ungltige Datei!!" + color 15 + print + print"Die Ausgabe-Datei ist ungltig." + print + goto ProgEnd + +YesSameFile: + cls + endlin$="" + InitStringN$="" + InitStringS$="" + InitStringC$="" + InitStringA$="" + KeyString$="" + lin$="" + ausg$="" + smf=1 + goto Anfang + +YesOthaFile: + cls + fle$="" + endlin$="" + InitStringN$="" + InitStringS$="" + InitStringC$="" + InitStringA$="" + KeyString$="" + lin$="" + ausg$="" + goto Anfang + +InFileName: + input"Ausgabe-Datei (auáer bei TYPE-Mode, meiát .BAT): ",fle$ + return + +ProgEnd: + \ No newline at end of file diff --git a/keys.bas b/keys.bas new file mode 100644 index 0000000..5d2cb0b --- /dev/null +++ b/keys.bas @@ -0,0 +1,3 @@ +1 a$=inkey$:if a$="" then 1 +locate 1,1:print ">>>";a$;"<<<" +goto 1 \ No newline at end of file diff --git a/life/glider.lif b/life/glider.lif new file mode 100644 index 0000000..955e884 --- /dev/null +++ b/life/glider.lif @@ -0,0 +1,19 @@ +10 +10 +254,10 +250,8 +1,15 +43,4 +"* * " +" ** " +" * " +" " +" " +" " +" " +" " +" " +" " + +LIFE-DAT-File created by LIFE.EXE +Copyright of LIFE.EXE (C)1995-96 by RoboCop INDUSTRIES diff --git a/life/great_x.lif b/life/great_x.lif new file mode 100644 index 0000000..e7a183e --- /dev/null +++ b/life/great_x.lif @@ -0,0 +1,29 @@ +20 +20 +254,7 +250,8 +249,7 +249,8 +" " +" " +" " +" " +" " +" " +" * * " +" * * " +" * " +" * * " +" * * " +" " +" " +" " +" " +" " +" " +" " +" " +" " + +LIFE-DAT-File created by LIFE.EXE +Copyright of LIFE.EXE (C)1995-96 by RoboCop INDUSTRIES diff --git a/life/life.bas b/life/life.bas new file mode 100644 index 0000000..031d125 --- /dev/null +++ b/life/life.bas @@ -0,0 +1,510 @@ +$ERROR BOUNDS + ver$="1.12" +SetColors: + schwarz=0 + blau=1 + grun=2 + zyan=3 + rot=4 + lila=5 + braun=6 + hgrau=7 + grau=8 + hblau=9 + hgrun=10 + hzyan=11 + hrot=12 + hlila=13 + gelb=14 + weiss=15 + bschwarz=16 + bblau=17 + bgrun=18 + bzyan=19 + brot=20 + blila=21 + bbraun=22 + bhgrau=23 + bgrau=24 + bhblau=25 + bhgrun=26 + bhzyan=27 + bhrot=28 + bhlila=29 + bgelb=30 + bweiss=31 + shell "mode co80" + cls + 'goto 1 + color hgrun + print "LIFE v";ver$;" was written by" + $include"logo.inc" + color weiss + print + print "Simulation einer Bakterienkultur" + $include "serial.inc" + +NotReg: + resume NotRegisterd + +NotRegisterd: + print + print "Dieses Programm ist noch nicht registriert!!!" + print "Sie k”nnen nur 3 Generationen sehen und das Programm" + print "wird eine Standard Bakterienkolonie verwenden!" + print + print "Lassen Sie sich unter (03322) 3198 registrieren!" + delay 10 + usnam$="NIEMANDEN" + unreg=1 + goto Anfang + +Anfang: + cls + txt$="LIFE - Bakterienkulturen v"+ver$+", Registriert fr <"+usnam$+">" + locate 24,40-(len(txt$)/2):print txt$; +1 if unreg=0 then goto HoleData + maxx=5 + maxy=5 + bakt=254 + bcol=15 + nobak=250 + nbcol=7 + birth=254 + bicol=14 + death=254 + dcol=12+16 + dim b(maxx+1,maxy+1) + dim u(maxx+1,maxy+1) + dim s(maxx+1,maxy+1) + dim s2(maxx+1,maxy+1) + for y=0 to maxy+1 + for x=0 to maxx+1 + b(x,y)=0 + u(x,y)=0 + next x + next y + + data "* * " '1 + data " ** " '2 + data " * " '3 + data " " '4 + data " " '5 + + for y=1 to maxy + read a$ + for x=1 to maxx + if mid$(a$,x,1)="*" then b(x,y)=1 else b(x,y)=0 + next x + next y +AfterHoleData: + gen=1 + gosub ShowBakt +2 for y=1 to maxy + for x=1 to maxx + u(x,y)=0 + if x-1>0 and y-1>0 then u(x,y)=b(x-1,y-1) + if y-1>0 then u(x,y)=u(x,y)+b(x,y-1) + if y-1>0 then u(x,y)=u(x,y)+b(x+1,y-1) + u(x,y)=u(x,y)+b(x+1,y)+b(x+1,y+1)+b(x,y+1) + if x-1>0 then u(x,y)=u(x,y)+b(x-1,y+1)+b(x-1,y) + next x + next y + for y=1 to maxy + for x=1 to maxx + if b(x,y)<>0 and (u(x,y)<2 or u(x,y)>3) then b(x,y)=3 + if u(x,y)=3 and b(x,y)=0 then b(x,y)=2 + next x + next y + gen=gen+1 + addx=addx+maxx+1 + if addx>80-maxx then addx=0:addy=addy+maxy+2 + if addy>24-maxy then + if dauer=0 then gosub WaitState + locate 1,1 + addx=0 + addy=0 + end if + color hgrun + gosub ShowBakt + if weiter=1 then goto 2 + if gleich=maxx*maxy then goto Gleichbleibend + if tod=0 then goto Todesfall + if puls=maxx*maxy then goto Pulsierend + if gen=3 and unreg=1 then goto ENDE + goto 2 + +Gleichbleibend: + locate 24,1:print space$(80); + locate 24,1:color hgrun:print"Die Kultur hat nach";gen-1;"Generation(en) eine konstante Anordnung gefunden!"; + gosub WaitState + locate 24,1:print space$(80); + color weiss:locate 24,40-(len(txt$)/2):print txt$; + weiter=1 + goto 2 + +Todesfall: + locate 24,1:print space$(80); + locate 24,1:color hrot:print"Die Kultur ist nach";gen-1;"Generation(en) ausgestorben!"; + gosub WaitState + locate 24,1:print space$(80); + color weiss:locate 24,40-(len(txt$)/2):print txt$; + weiter=1 + goto 2 + +Pulsierend: + locate 24,1:print space$(80); + locate 24,1:color gelb:print"Die Kultur hat nach";gen-2;"Generation(en) eine pulsierende Anordnung gefunden!"; + gosub WaitState + locate 24,1:print space$(80); + color weiss:locate 24,40-(len(txt$)/2):print txt$; + weiter=1 + goto 2 + +ShowBakt: + color hgrun + locate addy+maxy+1,(addx+(maxx/2))-1 + print using "###";gen; + for y=1 to maxy + for x=1 to maxx + color weiss + locate y+addy,x+addx + if b(x,y)=0 then color nbcol:print chr$(nobak) + if b(x,y)=1 then color bcol:print chr$(bakt) + if b(x,y)=2 then color bicol:print chr$(birth):b(x,y)=1 + if b(x,y)=3 then color dcol:print chr$(death):b(x,y)=0 + next x + next y + gleich=0 + tod=0 + puls=0 + for y=1 to maxy + for x=1 to maxx + if b(x,y)=s(x,y) then gleich=gleich+1 + if b(x,y)=s2(x,y) then puls=puls+1 + tod=tod+b(x,y) + next x + next y + for y=1 to maxy + for x=1 to maxx + s2(x,y)=s(x,y) + s(x,y)=b(x,y) + next x + next y + if inkey$=chr$(27) then goto ENDE + return + +WaitState: + waitmsg$="+ - Weiter, D - Dauernd, [ESC] - Andere Datei" + locate 25,80-len(waitmsg$) + color bgelb + print waitmsg$; +3 a$=inkey$: if a$="" then 3 + if a$="+" then locate 25,80-len(waitmsg$):print space$(len(waitmsg$));:return + if a$="D" or a$="d" then locate 25,80-len(waitmsg$):print space$(len(waitmsg$));:dauer=1:return + if a$=chr$(27) then locate 25,80-len(waitmsg$):print space$(len(waitmsg$));:run + sound 2000,.5 + goto 3 + +HD: + resume HoleData + +NoFileFound: + color bhrot:print"Keine Datendatei(en) im aktuellen Verzeichnis." + resume next + +HoleData: + cls + dim file$(50) + locate 1,1 + color weiss + on error goto NoFileFound + fle$(1)=dir$("*.LIF") + for x=1 to len(fle$(1)) + if mid$(fle$(1),x,1)="." then exit for + file$(1)=file$(1)+mid$(fle$(1),x,1) + next x + for fle=2 to 50 + fle$(fle)=dir$ + file$(fle)="" + for x=1 to len(fle$(fle)) + if mid$(fle$(fle),x,1)="" then file$(fle)="":exit for + if mid$(fle$(fle),x,1)="." then exit for + file$(fle)=file$(fle)+mid$(fle$(fle),x,1) + next x + if file$(fle)="" then maxfle=fle-1:exit for + next fle + x=1 +52 color hgrau + locate 1,3:print using "\ \";file$(x-1) + color weiss + locate 1,14:print using "\ \";file$(x) + color hgrau + locate 1,25:print using "\ \";file$(x+1) + if x>1 then locate 1,1:color bgelb:print chr$(27) else locate 1,1:color bhrot:print chr$(26) + if x1 then x=x-1:goto 52 + if mid$(a$,2,1)=";" then goto EditYaOwn + if a$=chr$(27) then cls:color 15:end + if a$=chr$(13) then file$=file$(x)+".LIF":goto 51 + goto 50 +51 on error goto HD + open "I",#1,file$ + on error goto + input#1,maxx + input#1,maxy + input#1,bakt,bcol + input#1,nobak,nbcol + input#1,birth,bicol + input#1,death,dcol + dim b(maxx+1,maxy+1) + dim u(maxx+1,maxy+1) + dim s(maxx+1,maxy+1) + dim s2(maxx+1,maxy+1) + for y=0 to maxy+1 + for x=0 to maxx+1 + b(x,y)=0 + u(x,y)=0 + next x + next y + for y=1 to maxy + input#1,a$ + for x=1 to maxx + if mid$(a$,x,1)="*" then b(x,y)=1 else b(x,y)=0 + next x + next y + close #1 + cls + goto AfterHoleData + +EditYaOwn: + cls + color hrot + print "ððð Edit-Modus ððð" + print + color weiss + print"Bitte geben Sie die gefragten Daten ein:" +61 locate 4,1:input "Breite (X, 1-80): ",maxx + if maxx<1 or maxx>80 then 61 +62 locate 5,1:input "L„nge (Y, 1-23): ",maxy + if maxy<1 or maxy>23 then 62 + print "Zeichen fr Bakterie: ":gax=23:gay=6:gosub HoleASCII + bakt=asccode + print "Farbe fr Bakterie: ":gax=21:gay=7:gosub HoleCOL + bcol=colcode + print "Z. fr leeres Feld: ":gax=21:gay=8:gosub HoleASCII + nobak=asccode + print "F. fr leeres Feld: ":gax=21:gay=9:gosub HoleCOL + nbcol=colcode + print "Z. fr neue Bakterie: ":gax=23:gay=10:gosub HoleASCII + birth=asccode + print "F. fr neue Bakterie: ":gax=23:gay=11:gosub HoleCOL + bicol=colcode + print "Z. fr gestorbende Bakterie: ":gax=30:gay=12:gosub HoleASCII + death=asccode + print "F. fr gest. Bakterie: ":gax=24:gay=13:gosub HoleCOL + dcol=colcode + print + color hgrun:print"Sind diese Daten richtig (J/N)? "; +69 a$=inkey$:if a$="" then 69 + if a$="j" or a$="J" then print "J":print:goto 39 + if a$="n" or a$="N" then print "N":print:goto EditYaOwn + goto 69 +39 print"Im folgenden k”nnen Sie das Feld aufbauen!" + print"Mit den Cursortasten bewegen Sie den Cursor (_), und" + print"mit der [SPACE]-Taste k”nnen Sie eine Bakterie setzen, bzw. entfernen" + print"und mit [ESC]ape k”nnen Sie das Ganze abspeichern." + print + print"Mit Tastendruck geht's weiter..." +79 a$=inkey$:if a$="" then 79 + goto EditField + +HoleCOL: + c=0 + color gelb + if gay>1 then over=screen(gay-1,gax+5):locate gay-1,gax+5:print chr$(25); + if gay<24 then under=screen(gay+1,gax+5):locate gay+1,gax+5:print chr$(24); +74 c1=c + if c=1 then c1=33 + if c=0 then c1=32 + color c1-2:locate gay,gax+3:print "Û" + if c=0 then c3=32 else c3=c + color c3-1:locate gay,gax+4:print "Û" + color c:locate gay,gax+5:print "Û" + if c=31 then c2=-1 else c2=c + locate gay,gax+6:color c2+1:print "Û" + c4=c + if c=30 then c4=-1 + if c=31 then c4=-2 + locate gay,gax+7:color c4+2:print "Û" + locate gay,gax:color gelb:print chr$(27); + locate gay,gax+10:print chr$(26); +73 a$=inkey$:if a$="" then 73 + if mid$(a$,2,1)="M" and c<31 then c=c+1:goto 74 + if mid$(a$,2,1)="M" and c=31 then c=0:goto 74 + if mid$(a$,2,1)="K" and c>0 then c=c-1:goto 74 + if mid$(a$,2,1)="K" and c=0 then c=31:goto 74 + if a$=chr$(13) then + color hgrun + if gay>1 then locate gay-1,gax+5:print chr$(25); + if gay<24 then locate gay+1,gax+5:print chr$(24); + locate gay,gax:print chr$(26) + locate gay,gax+10:print chr$(27) + for cox=gax to gax+3 step 1 + locate gay,cox + print " ";chr$(26); + locate gay,(gax+9)-(cox-gax) + print chr$(27);" "; + delay .1 + next cox + color weiss + if gay>1 then locate gay-1,gax+5:print chr$(over); + if gay<24 then locate gay+1,gax+5:print chr$(under); + for cox=gax+3 to gax step -1 + locate gay,cox + color hgrun + print chr$(26); + color c:print "Û"; + color hgrun:print chr$(27);" " + delay .25 + next cox + let colcode=c:color weiss + return + end if + goto 73 + + + + +HoleASCII: + x=0 + color gelb + if gay>1 then over=screen(gay-1,gax+5):locate gay-1,gax+5:print chr$(25); + if gay<24 then under=screen(gay+1,gax+5):locate gay+1,gax+5:print chr$(24); +64 x1=x + if x=0 then x1=256 + if x=1 then x1=257 + color grau + locate gay,gax+3:print using "!";chr$(x1-2) + if x=0 then x3=256 else x3=x + color hgrau + locate gay,gax+4:print using "!";chr$(x3-1) + color weiss + locate gay,gax+5:print using "!";chr$(x) + color hgrau + if x=255 then x2=-1 else x2=x + locate gay,gax+6:print using "!";chr$(x2+1) + color grau + x4=x + if x=255 then x4=-1 + if x=254 then x4=-2 + locate gay,gax+7:print using "!";chr$(x4+2) + locate gay,gax + color gelb:print chr$(27) + locate gay,gax+10:print chr$(26) +63 a$=inkey$:if a$="" then 63 + if mid$(a$,2,1)="M" and x<255 then x=x+1:goto 64 + if mid$(a$,2,1)="M" and x=255 then x=0:goto 64 + if mid$(a$,2,1)="K" and x>0 then x=x-1:goto 64 + if mid$(a$,2,1)="K" and x=0 then x=255:goto 64 + if a$=chr$(13) then + color hgrun + if gay>1 then locate gay-1,gax+5:print chr$(25); + if gay<24 then locate gay+1,gax+5:print chr$(24); + locate gay,gax:print chr$(26) + locate gay,gax+10:print chr$(27) + for cox=gax to gax+3 step 1 + locate gay,cox + print " ";chr$(26); + locate gay,(gax+9)-(cox-gax) + print chr$(27);" "; + delay .1 + next cox + if gay>1 then locate gay-1,gax+5:print chr$(over); + if gay<24 then locate gay+1,gax+5:print chr$(under); + for cox=gax+3 to gax step -1 + locate gay,cox + color hgrun + print chr$(26); + color weiss + print chr$(x); + color hgrun + print chr$(27);" " + delay .25 + next cox + let asccode=x:color weiss + return + end if + goto 63 + +EditField: + dim b(maxx,maxy) + x=1 + y=1 + cls +91 locate 1,1 + color hgrau + for cx=1 to maxy + for cy=1 to maxx + locate cx,cy + if b(cy,cx)=0 then print "ú" else print "þ" + next cy + next cx + locate x,y:color weiss + if b(y,x)=0 then print "ù"; else print "Û"; +90 a$=inkey$:if a$="" then 90 + if mid$(a$,2,1)="H" and x>1 then x2=x:x=x-1:goto 91 + if mid$(a$,2,1)="P" and x1 then y2=y:y=y-1:goto 91 + if mid$(a$,2,1)="M" and yF*rbQW2rFW$ubjd-&QG2>!XGA zl%*KPE?X*FvP^Lq%P`D#uX}&Jet(|NdA&a8{CCdlea`MMWnd)$09YUqgQDR$CU8IJ zPY4+PQI4KCMwb-`l-mtd0E5Y3X#t*eV1MA=pa3GwZnnnYw*!^tSX>>ePtgIBH<-t@ z6WgH`N`UCePQM+=vw6I{zUt$^D;D@xV=52-8+-KhIr1B_u`&>6ZLB%jWiZ*k+`8Pf zJYQbFTx$RThz9mJG%Wj5*BQV8c%8)|quq*f6h&S`@S+0nMIGL94XcPlkbHm%*d@Uj zBrdAXu7iL-jjgW{5CElE!0O<4*m+vI$TTV+x)0lGNl^&3W|Q0i>n6O*LOvh#Rsg%? zcT~#ztR*Ol-vM|446N<10Fa~#Y5?eb2&k)Sok#j?UKI9jS3BQ*4JiJ05<@!;>R>^S zYSHq0B6vt=1dQjPIHK|Eyhn}r=W9?DsK<|)mn!s(a1H@ElmGxl**bxM9Iwk7fnZj1 zO+6OPx9semwBw43+09j3fn2%F5TfI%yrmt!gtAd(aBjJSEIxE59LjJzFg!!ovgSnX zJnH&MF01E(7Nx$cLk`nbQZ`nlviVJf!=#|CNosA+ty#oveJq_#FbX;N0jgrUEw0wG z)v^&q^ZJV709IG`2(AuXt%}1-Q5vf`qgJWhh778yvfDIK9B&vm$Ys@n`&B|vuAHd* zv4jkvBX8QR=Y4THuk6Hm12w7U!xe~h2P}HhlToLHNkepQn&;?502Q4zcheAa%&Lqg ztVFSNWT{(LL7e+Ir!XcPknxIiElA~(?0Z9YgI|u_>hfi)exd8Ue6;D2>M|jf3~-#} zb{RbE*r+k=WLyN$R)Bv&N+6z?1>rzFwMsF{SRu(Z2gr1V^7~sb7!Ik5&^3vfOx%Z? z+>oY5UuUg~XJ6rD!&%5Vl|lYJ>wc-kdhQ;t-I3q!a%U-4o%e1>l`IdRMq++ggjXzO zeW#Lcn8tk9MVb)NSn!rrc}zYnEOn(Y!A~nG)Z}`sHk3~VO!lmoHhTRR?jzL zUBKiTmSh=F&^e4E4WH478=K})*efJ>l;0C6G_Qu&e%J5?s=vrRO>W6M{4)p}51mLg}{fb?a9V+qBbH#bUi0tTU_GlUK)A;%L8a5;>1aU)L*Gc9l(ZPTo^; z$Qy+3V`eu06raF#q71#ZGM3w-`K7_zb+Ra?4<{g62AreLv%U!)o-Ew*rmSI!{c z0E@ew=W`St?=Bk65(hPAyEfJ94ER1#8iQm%Wra$%+)EAf4^+7IMbqXS9Se@0MZm#o z1B)B$&3JQzYx~x4?POOu=A6^Z=e8e2@Tp;(^(JuhXoW+~l}x{iA0A>}av!c4 zoR0f7;9~WAf6-cm0$EM7@#_JBqVz|_)rHru8PXSS9`LSd$iJ&blSX8mevQWy9kBU- z%PDfObVi$@7Nb6ck-ybVluuy5oUhFL3NyP18_&=5$uwp(c>ChVL#XwEcVB+~B13n& zj=#`Lnj=f@CTwi95>Tr6&mrK`6 zJ?7KWrS!pt=5|${zV5X6`bedEJ36l6LZF2w;3jW*4*1^MN9jV$YS?~sWvw2zgkkq- znrA^|qL|BlGE`ym2~b&yvmKl^eYVWZ9jVZeI-|q&bOOR-LMn8{G2!GtZ|40y1S!(; z)Rb4d&w{DTjQI6e<2}nO(hAXnbT<{e*B*ujJR()Y?+#!nN!NwXd+w$CHVE9ii$K>b z-IEpZ*(9h$QAI0u7F%Lqo$~UR;k(c}F9|~twEmLmsRhZzHc(v+R*f5*8)G{y z_Q!sGfywO@HIpv~+a-hF71Z6!gsxfhdopsgCa1LLI~sz<7?`$_nf^DAK24@+fe)#z zVBnPI7aP~kgIY^zrzfMdNFWOag^=;CNof~+cypT+{Gp!yk&|l1>HMF!31^21Wm{Qy zvfNL;%OnZCE%!IMtRN3Cxl?dI3!kZs=P1fQi_66wsc*%V;&^ZSLm76>-HERf)ZGYOB60Vq>?R!T}IjjAqZ|; z59>{H4aE^zhU3m)=uaj32yr#Ws?xd7uFKdyx0bjvf}Bu-eI01E`=UyReV4N|`a-Jxtcaw# zfU~Qc9$>atpSI3b*akjE&rAPIghiEK^pz#{DdYdzzhSWHMd$;KW@TPUpZhiZiB@Eo-|+5hPQnvEfM*mEE6SJD%6iu9dnk)CxLz z%hNdFPsyyjcI3pfNxPB3eratfrgUZwQ;MN$mI|Ay5p@<)A}Gamz~@-4>`z`gmfh^9 z)T*1zXZ^ev>Xj!DLV*Ww6zK*LnCB8n!%rr=oO8D)k2w337~kmDKXaA&*6B`!$xj0j zs5V0=Io&8aAu}Gro3$4yIaml*>_IC|TDHck6iMNH)#bU#>wrY(>EA+@!#v9kUw984 z&5$X^o8ek~dP7ZL z#w0c;arB;0-ciZ>%IbUbi|R4aM0`$q&HzZyT{`TZJ7m-$e_yJlpzcLF7M6X~0h*~b zMn|oBX*OdDyVm|{uh1|d@Zvm*^8AB$?Q-53y4Bk`$Sbg=#^0IcALP6%VBe;}8ORp0 zo96L$&qMPNbz)fyD$jSdkJeRX8uwr((0tj4XwR4worQJM%mo0%c~uCA+`skwe7 z0wesnJDSKV%}1K$njIa!wLHxSgex8$UvUGP*Ir^M5fMouYjgebYle7nws?eG|E(U& z=l1iQn*-{BY%1AoqFeqBS6N?D?`f(fCQ4{H!km@aHu?D;YqR<-1v1XQVRN(GrkrSw z?S#Eq(3@Phkq5Gg^g0aYAggwr_tpIF;S9H-vKRtG`4a)p_%v}&P1QF>>f#_$t>x^m z-DXxX6#s@_hI*R~Qvu_meP$9Ql~NLD#+m^?Bxt-*!Vj&n=^N@uT`aHIRTE`ai+TkV z7Z*SDF>A_j#(SBSfMP7~FdZlQUpDK*En7FDnET-j5q@=k{MD;miX#)sUrSE3p|6&a z=tRh%3EqDfsTcq9Ypxc|!0|dB0xhb#lvp_^rP#{w5H2MBst4(WjTvmKDy?=fd&OA~ zJIz6`GwcFa&$+=K@D3Ov?Scc~tza~K6Ta<}p}3eL+rJb7hYd^MLvT2p0!F}F;nC`j zwThbuC~^^}PZ=-Y%XPZYbVngnUj1|BfHti2$5IbAgx!9UV6wS=RWPyADyCz3s%AGa z1Hm#>_wr0ECtl#H``*r{a7+d>4-+}2vSZ#qWt2xc^Sw6FMVmPOdI=*`UzV-e~Tp^r@QPnB00Rsu**0 zA!$u@KH5sg33FL9d<9Qf^q7F#eIz_IqmKtOw1WG?_dfa=uz-TQv7jUN@R87izv4nJg@-*W4jfiw{!ZhYJgx;4 zWF^mURo?_lK?GA4)5N>ZK>1sMm&Hh(b5FujK42sp6A9L4z%RiA3-%1+(Umvn)yE zR0(-BODaRcLUScZ$J?R8<-n6^EO7ccl!IYF5FN^-%x-uYmaK8Ax3RU^T2Ww9;Vuib z74NW=kC`E14M?N2gr*mNHKHQOTc$p42^|z4!6c$-INL8g^fyb8{u>3lf8&;$WZd*+ z-hCswx?H(Ricz9t8xVqR8yxf?xSB6+j>zmjKGA#({9!qd?9sr+OmO^}aweKB-c2R*f_{*LW*H!T4gkkZaNY zSM{op+>XygGa`a$v0L)`^J?LWrTB`PN0Q!tUR*g=qw-Uzp=FEdCVvivldzm*Ruq-* z>Bk{)&WR7uxO8I{K>;U6z{}S&$bZiPFTb7c=7671 zpck-Tn9%cp#QN^_5_jK;u9QGmaJgIOvk;1+>j7J?>L7g`#YvG)X0@@>h8ILn8S0c= z#a^x6CL8r$y6R8Qe?)@8^`DJBt8eNER#e}E2uVuS*^qrU3he<4QDYkEb2Dnt;Ip!F z$z>ni4qE9FdctMfjSEEo0<{&(8gQ+JatK;;AYk`SKX0$Co*wRQt}fK%w=QhC?h61} z(8{_CYW=Ky;iwx{_jM{d$+d1W4hOMMn%r&hmE4pt*YO$N$5nGxpde|{X@xPEE|&}P zje%d0rm%cGvczHBOX~N?Yy8`S$I#c|kmQWtq_8I(@4L|A!H>1SjG?l>-hWIME{>f_ z)5;qn5;7*#k4%V8o}jf(Osf1!+FtXhCoUNs&UxotEKpsjneTk^1YvnAtWzIR8TpaE zu_xo~kG1))0r&jl&pH$F<^Oq4#B5?tIKTWAkt-cTQR_?imur%oU4(Q8CO?*+Cg$N* zGTU%0o~gR4!nVQe8_M{hE4k)P^-qtLzhIl|8MM4v@#M@7rnP%?Fn4W{M)_d*KehB~>$Ftm{5mqY3Xl(~ zF;i29Ow;RTi9Lup&yE!4>_+U~ z0`Gta9`7Gv_1~$OzDS?t_v^C=9313}O%_TyJ~dh{@TipX=+ zt8)cj!e7{{oq`iTcG}+X%9zVXJMDIE-sQE^Zh^4CM%?Y}yuEks*u2f#*Um3biun1h zUfwco7fE7FRFG0gm(wVCoxje0w0`^WVQ5)x(j_E5L~tgk^O)VBbr$LV&b)E_gN*~( zq@SI7IlGRHz_@szZ+g_Vm4>T=MyaO_M?<5W9|k+7n!O9bOP<{u5GLqpnIDm67r?3Wdn7ncdkna#$lDCN-2iFHk*wvlnWHBYyNJief- zk5foDbhkbSxXxc(Ir(|_-ncJ&QO8xR--k0i%TgCTx3!LJ8T?pqE;~HSL3|c2!?MPA z=8*m~xwZdj9Ta~Nz64ac>8`uH2lFto#Nv%*|9C2*J$f7{n(Vp#hYub)iST!G%_%80 zEXPmQ|Eo6lCy%YuGhtcSR3CBd+~|^aZq=UDRKfW^YFqrIe)Z<~%FI*dF~x28^|$G} zxb&e@a}4PoJUDk{mo|7*JDBZ$cMW(%Oaem}uWPQ!$PCx)QOR-Z-XBHD+4%Sp^5V+j z?1dxz(*+0oUxBM7mM5kv?fU`(>P|>Bw1W@c6a*}NsY!bXUd6Dwszv#d{Lc#kUqfy) zR;p~t&{5S)@mf$78oMN!1qM{ARd{^)`(;H)SeEh!Tvo`(qh{7lM<;JhapQOEVAPgw z-*Pv2@lJV#qec8enhoCkeoz23>4=zpa_UnJNJrJ!&D3r9!|%#MR{v1-TJb~6^(!!R zTyEt=>Q6%&!j*Cfrie=(#)~D*^~G#AZOU16!Izk35u{QV7`M~QD`%)_n_5FdqRL^l z&Vt9fmKoC;=SA=9?THP|_jHixt8Z^QrBd=OEU$MG-^ep4|`ASj8pw``nSW zvWAOG%KNr=fuT}9EVmWdcgWXWH+3So{&)+nh3ZXR^~A+BP3nYv-71Gh+gFAO4qB(b?{Q>fbRrtD(sDsdRe$`U9U>6m{|59_U8i znoK_yPd-jNmbP##F!Jot*fZq*Gf_>($7tlBxufo69~v!ou?3Ah9T#(ELo}V{tPTer z`xt+Y| zL?N(!qjC&dAq4)yj9|10+#ElF3o^3-2n#yx>gi_ixfR z=5M@fb!7dt>$;UZ1*NC4$o>8TA3_ho`RSpaWs+8 ztgPz3z{Is8jT%aR4%sq? zM!BdE#lr9%uDj5k-wC^;rRqX;SRGYI@})xDM-)kOH&#bS2{;UsJ0g_ANJlG5WO|S_ zloYUgRRGM+u1RG$Ql*INux^DD*x-0hOY!&qH@_USHTJVsl8mvsNXzYx zFk=?0G+ayUbOVbf9l#+~!^=LHL7fgGU{m)DE9$=VDY3lZK^N7YNEufIC6oj~d&z>s z75)Akhi06+z^1s5)nwV|$2rIQMu8JB0X-7<62*Q$yVizNmFWf(*nQuYq&Jj#MMfpc z8_DZbo>bcUw7NoEzJmNWfAthGufLO8zfX&Tthqa16qcdGt2sj_yBwn?&(e+M)-v#d&4N_4!Xc57W1v#;dG z=)wADTD=s!V^_7{A(M~!fB{P&8|9L9lSddI+FFP;FIueE;{8j?&IWeQpIK*nclDk} zW_RA2{YNtWv(7D6%74~`RjXFFkK)@t^xUy7!mjq`kja$T`wz^){TUhfKI0iYg{j>T zvm3kuu*cGVd{z3d={B$E#&->~gREwAzsoC))XduY^(7AZ9F^k;`?7?uXtw4D*;FWg z@PI=!d#aX$%~v49R#E)Tk#|@+!f$qHTCp^~7-7{F<7)kiKej|-%Ze3i9&yoY#U9tj zL@b_7NO9Nd;Kj&lgP2_-O0OE-vZB&WvBfBMIYwr>cf~q_7i6J=9GZP8D|$JuI z3(yGq)aG-!=#vL7KLUq0P^2bNZs7xyvi3>$xp!_H38N{On*Mgg=gcCe!9BPwE#ve3 zFhBMK@lE0{<5S4qj9Pq#OzBo=XT`>67ex~YD+Q~Cp!5UO6^To%RhHcuaur%<;p&`K zIQbogoM5d~n{H+YQ~Ge3AQM^21Od1?{fI#3sGL*TWI4#%jWlODMRkrUWc5N=vA~K+ zKb4u3Y5Q>M)|Ka|OWuIsMgUldlts`~*ym<8w5;yS3=L%qUD*S9bqP&>kN*9;bFJzi zW0ez?@37R>FNji3)J16nArq`#O~wUE5yGy`+EefP7jZT;N4<{Pc`|i}D01#7>-)z- z>HUF(mDQte_SFlC3ziPo^EYPc-rLv+3l(efX+RR(G$lCPYI!OP3;~dRc^9D zegmrD#{88=ZKM&YbrrZo6}&n;c^CH87Dlyk_?C7(y>r&(&?aZAxBRgBs=I1~pbmA=j45)+ptf}P(Jw^@8& zo1`F|TTboA_#tK4-L^TqG7fd&q^}lTSM(O}*DdtUo+nT&-JX7Ny@h+cqu2EHe>{Bj*MwuW zCkGGV-!?58RNiSkwYJd_J2azo*f<6-MUxL&9gI3S z6E+*RT94OtmS}|V3YM_4@0`aRlN-ZI$AZVTCRVStVaAeQSwzOAuP`P+$=TlIgsWhrxXL0Omx0Ertv_Y1BGhQK=;+IM?EL)|TM#A>d=fSD?n|`WH;2 z&wmlvhpB#~2L>!-hT#hOm>~ z^=pG_-P;eVWMxceyLo`{_93uL?F#rxRJb?~Px^dLCxvv^JU38O2%FPNRaB9u1>6#@ z(F5@HaYpqBES>Gr9N&oQmz0#2zJ2?4aBwgs$y>Yxm+m?AvmY8M8`Y%p2UW-F8YDl5 z%VvcehkyJ)`hQ|%i_~B2InYSHWVDd?nh50iC!QZHvzZ(mcdCTtG9q`egX%2*`7lrG z1C`6IvrPtS2G0~Da%Oz-t7C)1PSZ$>i03(c?iK!*(eL3M{yogHt$!h^PhsR!8Ou7n zSh3jo*S}T=!oi3G>Z_ZKUJcY9j5yF=!DTG|7iC=lUxZ$BtfW`q*)3y1w_lvY9W^H{ zUfE)Z0zmf+(#lZ$|4#-UIFEMqg3~BX`#rW42l7#xGWhe4)HOb~uparNDIkqtJ4(|S zlYotA{E9zO4H}O{8gn}Y>%n(_5~aBJ09cH6eIJuC8w9hSi3^D^+fiGOi(y z`-;^kz;};yOL2V^%*L?^jP*PoV=cjl91IN$KVnR{AFm}(Z#aj``}UCuKz1`%rmp;X M^*B5=*$M#v2kh{;RR910 literal 0 HcmV?d00001 diff --git a/makelst.exe b/makelst.exe new file mode 100644 index 0000000000000000000000000000000000000000..fb2e135ea4143c0643938afd534e1c16701240aa GIT binary patch literal 42704 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 literal 0 HcmV?d00001 diff --git a/makeser.bas b/makeser.bas new file mode 100644 index 0000000..f01cc52 --- /dev/null +++ b/makeser.bas @@ -0,0 +1,126 @@ + color 15:print"ððð MakeRegister ððð" + print +2 input"Manuelle oder Automatische Eingabe (M/A)";ask$ + if ask$="M" or ask$="m" then goto Manual + if ask$="A" or ask$="a" then goto Automatic + goto 2 +10 shell"DIR C:\*.* >makereg.tmp" + open "I",#1,"makereg.tmp" + line input#1,dummy$ + line input#1,hdname$ + line input#1,hdnumb$ + close #1 + open "O",#1,"makereg.tmp" + print#1,"PHYSIKALISCH GEL™SCHTE DATEI!!!" + close #1 + kill "makereg.tmp" + hdname$=right$(hdname$,11) + hdnumb$=right$(hdnumb$,9) +5 for zet=1 to len(hdname$) + midd$=mid$(hdname$,zet,1) + if midd$="A" then nm$="1" + if midd$="B" then nm$="5" + if midd$="C" then nm$="3" + if midd$="D" then nm$="2" + if midd$="E" then nm$="9" + if midd$="F" then nm$="8" + if midd$="G" then nm$="7" + if midd$="H" then nm$="4" + if midd$="I" then nm$="6" + if midd$="J" then nm$="0" + if midd$="K" then nm$="2" + if midd$="L" then nm$="1" + if midd$="M" then nm$="3" + if midd$="N" then nm$="4" + if midd$="O" then nm$="7" + if midd$="P" then nm$="9" + if midd$="Q" then nm$="0" + if midd$="R" then nm$="6" + if midd$="S" then nm$="5" + if midd$="T" then nm$="4" + if midd$="U" then nm$="2" + if midd$="V" then nm$="6" + if midd$="W" then nm$="8" + if midd$="X" then nm$="0" + if midd$="Y" then nm$="9" + if midd$="Z" then nm$="5" + if midd$="0" then nm$="1" + if midd$="1" then nm$="0" + if midd$="2" then nm$="3" + if midd$="3" then nm$="2" + if midd$="4" then nm$="5" + if midd$="5" then nm$="4" + if midd$="6" then nm$="7" + if midd$="7" then nm$="6" + if midd$="8" then nm$="9" + if midd$="9" then nm$="8" + if midd$="_" then nm$="3" + if nm$="" then nm$="5" + hdn$=hdn$+nm$ + nm$="" + next zet + hdnumb$=left$(hdnumb$,4)+right$(hdnumb$,4) + for zet=1 to 8 + midd$=mid$(hdnumb$,zet,1) + if midd$="A" then nm$="2" + if midd$="B" then nm$="4" + if midd$="C" then nm$="6" + if midd$="D" then nm$="8" + if midd$="E" then nm$="1" + if midd$="F" then nm$="3" + if nm$="" then nm$=midd$ + hdnum$=hdnum$+nm$ + nm$="" + next zet + ?"Codierter HD-Name : ";hdn$ + ?"Codierte HD-Nummer: ";hdnum$ + ser$=str$(val(hdnum$)+val(hdn$)) + ser$=right$(ser$,len(ser$)-1) + ?"Registrationscode : ";ser$ + for zet=1 to len(ser$) + serf$=serf$+chr$(asc(mid$(ser$,zet,1))+100) + next zet + ?"Fertiger Code : ";serf$ + ?"ASC-Code :" + ? + for zet=1 to len(serf$) + ?asc(mid$(serf$,zet,1));" "; + next zet + print + color 10 + print + print"In der 2. Zeile der SERIAL.NUM ";:color 12:print"muá";:color 10 + print" der Name des Benutzers stehen!" + color 15 + goto Ende + +Manual: + print + input"Laufwerksbezeichnung (C): ",hdname$ + input"Laufwerksnummer (auch C): ",hdnumb$ + print + goto 5 + +Automatic: + print + goto 10 + +Ende: + print + input"Soll die SERIAL.NUM geschrieben werden (J/N) ";yn$ + if yn$="j" or yn$="J" then goto WriteSER + if yn$="n" or yn$="N" then goto ProgEnd + goto Ende + +WriteSER: + print + input"Benutzernamen eingeben: ";unam$ + open "O",#1,"SERIAL.NUM" + print#1,serf$ + print#1,unam$ + close #1 + print + print"FERTIG!" + goto ProgEnd + +ProgEnd: \ No newline at end of file diff --git a/makeser.exe b/makeser.exe new file mode 100644 index 0000000000000000000000000000000000000000..e2914622cae946c52a4271ae7edb85ede9b3436e GIT binary patch literal 19200 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 WcEA|~oVnY)fB-Y#|3OsXf9t=32 and x<=136 and butt=1 then LoadProg +if y=112 and x>=32 and x<=136 and butt=1 then Beenden +goto ReadKoord + +WriteStatus: +statusa$=statusb$ +statusa=statusb +statusb$=statusc$ +statusb=statusc +statusc$=statusd$ +statusc=statusd +statusd$=left$(status$,38) +if len(statusd$)<38 then for a=len(statusd$) to 38:statusd$=statusd$+" ":next a +statusd=status +locate 2,3 +color statusa,1 +print statusa$ +locate 3,3 +color statusb,1 +print statusb$ +locate 4,3 +color statusc,1 +print statusc$ +locate 5,3 +color statusd,1 +print statusd$ +return + +WriteKoord: +locate 11,25 +color 11,1 +print"Knopf-Status: ";butt;" X: ";m3;" Y: ";m4 +return + +PaintButt: +a=0:b=0:c=0 +if m2=1 then a=1 +if m2=2 then c=1 +if m2=3 then a=1:c=1 +if m2=4 then b=1 +if m2=5 then a=1:b=1 +if m2=6 then b=1:c=1 +if m2=7 then a=1:b=1:c=1 +ButtA1: +if a<>1 then goto ButtA0 +locate 15,26:print"²²²²²²" +locate 16,26:print"²²²²²²" +goto ButtB1 +ButtA0: +locate 15,26:print" " +locate 16,26:print" " +ButtB1: +if b<>1 then goto ButtB0 +locate 15,33:print"²²²²²²" +locate 16,33:print"²²²²²²" +goto ButtC1 +ButtB0: +locate 15,33:print" " +locate 16,33:print" " +ButtC1: +if c<>1 then goto ButtC0 +locate 15,40:print"²²²²²²" +locate 16,40:print"²²²²²²" +return +ButtC0: +locate 15,40:print" " +locate 16,40:print" " +return + +Beenden: +status=11 +status$="Maus-Cursor unsichtbar machen..." +gosub WriteStatus +m1=2 +call absolute mouse(m1%,m2%,m3%,m4%) +status=12 +status$="Programm beendet." +gosub WriteStatus +end + +LoadProg: +status=11 +status$="Maus-Cursor unsichtbar machen..." +gosub WriteStatus +m1=2 +call absolute mouse(m1%,m2%,m3%,m4%) +status=14 +status$="Beenden und Starten von "+laun$+"..." +gosub WriteStatus +color 15,0,0 +cls +execute laun$ \ No newline at end of file diff --git a/mouse/mtlaunch.bat b/mouse/mtlaunch.bat new file mode 100644 index 0000000..5011ed0 --- /dev/null +++ b/mouse/mtlaunch.bat @@ -0,0 +1,4 @@ +@ECHO OFF +ECHO Datei aufgefhrt! +ECHO. +mem |find "Gr”á" \ No newline at end of file diff --git a/movetest.bas b/movetest.bas new file mode 100644 index 0000000..818dbd6 --- /dev/null +++ b/movetest.bas @@ -0,0 +1,45 @@ +x=.028 +dim z(256) +tim=50 +cls +color 15 +locate 5,1:print"Programming ASCII-Codes ... "; +let z(1)=32 +let z(2)=250 +let z(3)=249 +let z(4)=7 +let z(5)=254 +print "codes programmed" +print "Counting values ... "; +a=1 +1 if z(a)=0 and z(a+1)=0 then maxz=a-1:goto 2 else a=a+1:goto 1 +2 print "counted:";maxz;"values found" +print "Playing sequence";tim;"times ... "; +cx=csrlin +cy=pos(0) +atim=1 + +Anfang: +for y=1 to maxz + locate 1,1 + print chr$(z(y)) + delay x +next y +t1=atim/10 +t2=t1-int(t1) +t3=t2*10 +t3=round(t3,0) +tim$=str$(atim)+"th" +if t3=3 and int(atim/10)<>1 then tim$=str$(atim)+"rd" +if t3=2 and int(atim/10)<>1 then tim$=str$(atim)+"nd" +if t3=1 and int(atim/10)<>1 then tim$=str$(atim)+"st" +if atim>1 then s$="s" else s$="" +locate cx,cy:print"seq. now played";tim$;" time";s$;" " +tim$="" +if atim=tim then goto Ende else atim=atim+1:goto Anfang + +Ende: +locate cx,cy +print"sequence played";tim;"times " +print"Shutting Down ... "; +print"program completely shutted down. Bye!" \ No newline at end of file diff --git a/n-eck.bas b/n-eck.bas new file mode 100644 index 0000000..44b4a49 --- /dev/null +++ b/n-eck.bas @@ -0,0 +1,32 @@ + pi=3.14159265358979323846 + screen 12 +rem window screen (0,31)-(0,39) + cls:color 14 + print " ðððúnECKúððð":color 15 + print " by + print " RoboCopúINDUSTRIES" + print +20 input"Ecken-Anzahl =",n:q=2*pi/n:if n<3 or n>12 goto 20 + dim P(5),x(n),y(n):p(0)=N + input"Startl„nge =",p(1) +50 input"Endl„nge =",p(2):if p(2)>=p(1) goto 50 +60 input"Drehwinkel =",p(3):d=p(3)*pi/180:if d>q/2 goto 60 + s=sin(d):c=cos(d):a=cos(q):b=sin(q) + p(4)=b/(c*b+s-a*s):x(1)=a:y(1)=B + print"Idealer Wert ="p(4):input"„ndern 0/1 =";r:p(5)=p(4) + if r=1 then input"gewnschter =",p(5) +REM --------------- Eingabe beendet ---------------------- + cls:for i=1 to n-1:a=i*q:x(i)=cos(a):y(i)=sin(a):next i + x(0)=1:y(0)=0:x(n)=1:y(n)=0:r=p(1) +REM ------------------ Rechnen --------------------------- +150 x1=r*x(0)+160:y1=r*y(0)+130: rem Startwert + for i=1 to n:x2=r*x(i)+160:y2=r*y(i)+130 + line (x1,y1)-(x2,y2),15:x1=x2:y1=y2 + next i + for i=0 to n:a=x(i)*c-y(i)*s:y(i)=y(i)*c+x(i)*s:x(i)=a + next i: r=r*p(5):if r Ende..." +END + +SbFound: +Strecke=640-maxh-(maxh/2) +pset (strecke,240),0 +locate 1,1 +color 10:print"SoundBlaster an Adresse ";hex$(SbPort);"h gefunden." +locate 30,1:print "+/- Breite Bi";chr$(24);"/Bi";chr$(25);" beides L/S Fenster speichern/laden *// H”he"; +DO + +SkipText: + ANFx=640/2-maxh/2 + ANFy=480/2-maxv/2 + if maxh<>oldmaxh or maxv<>oldmaxv then gosub PaintWindow + oldmaxh=maxh + oldmaxv=maxv + OUT SbPort + &HC, &H20 + DO:LOOP UNTIL INP(SbPort + &HE) AND 128 + strecke=strecke+1 + if strecke>maxh+ANFx then strecke=ANFx + value=(256-125+(inp(sbport+&HA)-125))/256*maxv + value=value+ANFy + pset (strecke,check(strecke)),0 + pset (strecke,value),15 + check(strecke)=value + a$=inkey$ + if a$="+" then maxh=maxh+2 + if a$="-" then maxh=maxh-2 + if a$="*" then maxv=maxv+2 + if a$="/" then maxv=maxv-2 + if mid$(a$,2,1)="I" then maxh=maxh+2:maxv=maxv+2 + if mid$(a$,2,1)="Q" then maxh=maxh-2:maxv=maxv-2 + if a$="s" or a$="S" then gosub SaveWindow + if a$="l" or a$="L" then gosub LoadWindow +LOOP UNTIL a$=chr$(27) +Goto Ende + +SaveWindow: +open "O",#1,"OSZI.WIN" +write#1,maxh,maxv +close #1 +return + +LoadWindow: +open "I",#1,"OSZI.WIN" +input#1,maxh,maxv +close #1 +return + +PaintWindow: +ANF2x=640/2-oldmaxh/2 +ANF2y=480/2-oldmaxv/2 +line (ANF2x-4,ANF2y-4)-(ANF2x+oldmaxh+4,ANF2y+oldmaxv+4),0,BF +line (ANFx-1,ANFy)-(ANFx+maxh+1,ANFy+maxv+2),9,B +return + + +Ende: +screen 0:width 80 +print"Programm beendet." + \ No newline at end of file diff --git a/oszi.win b/oszi.win new file mode 100644 index 0000000..728f2e6 --- /dev/null +++ b/oszi.win @@ -0,0 +1 @@ +130,66 diff --git a/pbc.cmt b/pbc.cmt new file mode 100644 index 0000000..a7bd331 --- /dev/null +++ b/pbc.cmt @@ -0,0 +1,14 @@ + + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + /°°°°°°°°°°±±±²²±±±\ + ³°°°°°°°°°±±±²²ÛÛ²²±±³ ÜÜÜÜ ÜÜÜ ÜÜÜÜ ÜÜÜ ÜÜÜÜ ÜÜÜ ÜÜÜÜ + ³°°°°°°°°°°°±±±²²±±±°³ Û Û Û Û Û Û Û Û Û Û Û Û Û + ÀÂÄÄÄÄÄÄÄÄÄÄ¿°±±±±°°°³ ÛßÛß Û Û ÛßßÜ Û Û Û Û Û Ûßßß + ³ÞÞÞÞÞÞÞÞÞÞ³°°±±°°°°³ Û Û Û Û Û Û Û Û Û Û Û Û + ÚÁÄÄÄÄÄÄÄÄÄÄÙ°°°°°°°°³ ß ß ßßß ßßßß ßßß ßßßß ßßß ß + ³°°°°°°°°°°°°°°°°°°°°³ I N D U S T R I E S + ³°°°°°°°°°°°°°°°°°°°°³ + ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ (C)1995 by RoboCop INDUSTRIES + +PowerBASIC v2.10f-File +Converted with PowerBASIC-Compiler v2.10f \ No newline at end of file diff --git a/pcalc.bas b/pcalc.bas new file mode 100644 index 0000000..4110eca --- /dev/null +++ b/pcalc.bas @@ -0,0 +1,209 @@ +$COMPILE EXE +REM Printing Calculator +REM Selbsttest + color 15,0:print"ðððð Printing Calculator ðððð";:color 7,0 + print" was written by" + print"ÜÜÜÜ ÜÜÜ ÜÜÜÜ ÜÜÜ ÜÜÜÜ ÜÜÜ ÜÜÜÜ" + print"Û Û Û Û Û Û Û Û Û Û Û Û Û" + print"ÛßÛß Û Û ÛßßÜ Û Û Û Û Û Ûßßß" + print"Û Û Û Û Û Û Û Û Û Û Û Û" + print"ß ß ßßß ßßßß ßßß ßßßß ßßß ß" + print"I N D U S T R I E S" + print + print"Teste PCALC.EXE auf Viren. Dieser Test kann bis zu 30sek dauern!" + print + print"Test auf Viren l„uft..."; + gosub CheckFile + goto Start 'if sum=1744 then print"OK":goto Start + print"fehlgeschlagen" + color 14:print + print"Irgendetwas stimmt mit der Datei PCALC.EXE nicht!" + print"šberprfen Sie folgende Sachverhalte:" + print" þ Haben Sie sie nicht ver„ndert?" + print" þ Haben Sie sie nicht umbenannt (Diese Datei MUá PCALC.EXE heissen)?" + print" þ Haben Sie vielleicht einen Virus in Ihrem System?" + print + print"Wenn keiner dieser Sachverhalte zutrifft, dann fordern Sie eine" + print"neue PCALC.EXE bei Ihrer Bezugsquelle an!" + end +Start: +REM Aufbau des Tastenfeldes + print"Aufbau der Textgrafik..." + screen ,,1 + mstat$=" " + tb=0 + color 15,0 + shell"loadfont =17 then color 12 + if x<17 then color 7 + locate x,26:print"ÚÄÄÄ¿" + locate x+2,26:print"ÀÄÄÄÙ" + color 3 + next x + locate 12,60:print"³ Mæ³" + locate 15,60:print"³ Mç³" + locate 18,60:print"³ Mè³" + locate 21,60:print"³ M*³" + color 7 + locate 12,26:print"³ é ³" + locate 15,26:print"³ % ³" + color 12 + locate 18,26:print"³ CE³" + locate 21,26:print"³ONC³" + color 7 + locate 20,32:print"ÚÄÄÄÄ¿" + locate 21,32:print"³ 0 ³" + locate 22,32:print"ÀÄÄÄÄÙ" + for x=11 to 17 step 3 + locate x,33:print"ÚÄÄÄ¿" + locate x+1,33:print"³";18-x;"³" + locate x+2,33:print"ÀÄÄÄÙ" + locate x,38:print"ÚÄÄÄ¿" + locate x+1,38:print"³";19-x;"³" + locate x+2,38:print"ÀÄÄÄÙ" + locate x,43:print"ÚÄÄÄ¿" + locate x+1,43:print"³";20-x;"³" + locate x+2,43:print"ÀÄÄÄÙ" + next x + locate 20,38:print"ÚÄÄÄ¿" + locate 21,38:print"³ 00³" + locate 22,38:print"ÀÄÄÄÙ" + locate 20,43:print"ÚÄÄÄ¿" + locate 21,43:print"³ . ³" + locate 22,43:print"ÀÄÄÄÙ" + for x=11 to 20 step 3 + locate x,54:print"ÚÄÄÄ¿" + locate x+2,54:print"ÀÄÄÄÙ" + if x<17 then + locate x,49:print"ÚÄÄÄ¿" + locate x+2,49:print"ÀÄÄÄÙ" + end if + next x + locate 17,49:print"ÚÄÄÄ¿" + locate 18,49:print"³ ³" + locate 19,49:print"³ + ³" + locate 20,49:print"³ ³" + locate 21,49:print"³ ³" + locate 22,49:print"ÀÄÄÄÙ" + locate 12,49:print"³ x ³" + locate 15,49:print"³ - ³" + locate 12,54:print"³ \ ³" + locate 15,54:print"³ = ³" + locate 18,54:print"³#/P³" + locate 21,54:print"³ * ³" + color 0,3:locate 24,1 + print"[ENTER]-* M+-Mæ M--Mç MO-Mè M[ENTER]-M* ^-é "; + locate 25,1 + print"[TAB]-TAB C-ON/C X-CE #-00 P-#/P Q-P/NP [ESC]-OFF "; + screen ,,1,1 + color 15,0 + locate 4,41:print" " + num$="0" + gosub WriteN +REM Hauptroutine +1 a$=inkey$ + if a$="" then 1 + if a$="#" then a$="00" + if a$=chr$(13) then goto Summe + if a$="M" or a$="m" then goto Memory + if A$="^" or a$="ø" then lprint:goto 1 + if a$="q" or a$="Q" then goto SwitchPrint + if a$="P" or a$="p" then goto PrintDisp + if a$=chr$(7) then goto SwitchTAB + if a$="c" or a$="C" then goto ReLaunch + if a$="x" or A$="X" then locate 4,41:print" ":num$="0":gosub WriteN:goto 1 + if a$=chr$(27) then end + if num$="0" then num$=a$ else num$=num$+a$ + gosub WriteN + goto 1 + + + +end + +Summe: +Memory: +SwitchPrint: +SwitchTAB: +PrintDisp: +ReLaunch: +end + + + +WriteN: +REM Ausw„hlen der Anzeigeart + if tb=0 then gosub WriteNumb + if tb=1 then gosub WriteNumb0 + if tb=2 then gosub WriteNumb2 + if tb=3 then gosub WriteNumb3 + if tb=4 then gosub WriteNumb4 + if tb=5 then gosub WriteNumbA + return + +WriteNumb: +REM Anzeigen der Zahl im Display (mstat$=Status des M/-/E & num=Zahl) + color 15,0 + locate 4,41:print mstat$;" "; + locate 4,42+(11-len(num$)) + if val(num$)=int(val(num$)) then prt$=num$+"." else prt$=num$+" " + print prt$ + return + + +WriteNumb0: +REM Anzeigen der Zahl im Display (mstat$=Status des M/-/E & num=Zahl)mit TAB0 + color 15,0 + locate 4,41:print mstat$;:print using" ##########. ";num + return + +WriteNumb2: +REM Anzeigen der Zahl im Display (mstat$=Status des M/-/E & num=Zahl)mit TAB2 + color 15,0 + locate 4,41:print mstat$;:print using" ########.## ";num + return + +WriteNumb3: +REM Anzeigen der Zahl im Display (mstat$=Status des M/-/E & num=Zahl)mit TAB3 + color 15,0 + locate 4,41:print mstat$;:print using" #######.### ";num + return + +WriteNumb4: +REM Anzeigen der Zahl im Display (mstat$=Status des M/-/E & num=Zahl)mit TAB4 + color 15,0 + locate 4,41:print mstat$;:print using" ######.#### ";num + return + +WriteNumbA: +REM Anzeigen der Zahl im Display (mstat$=Status des M/-/E & num=Zahl)mit TABAUTO + color 15,0 + locate 4,41:print mstat$;:print using" ########.## ";num + return + +PrintNumb: +REM Ausdrucken der Zahl im Display (oper$=Operator & num=Zahl + lprint using"##########,. ";num;:lprint oper$ + return + +CheckFile: +' open "I",#1,"compiled\PCALC\PCALC.EXE" +' for z=1 to 999999 +' if eof(1) then exit for +' line input #1,lin$ +' for x=1 to len(lin$) +' sum=sum+asc(mid$(lin$,x,1)) +' next x +' next z +' close #1 + return \ No newline at end of file diff --git a/pcalc.chk b/pcalc.chk new file mode 100644 index 0000000..aa69d7a --- /dev/null +++ b/pcalc.chk @@ -0,0 +1 @@ +AFFE \ No newline at end of file diff --git a/pcalc.fnt b/pcalc.fnt new file mode 100644 index 0000000..4b248d6 --- /dev/null +++ b/pcalc.fnt @@ -0,0 +1,4354 @@ +16 +000----- + + + + + + + + + + + + + + + + +001----- + + +######## +# # +# # # # +# # +# # +# #### # +# ## # +# # +# # +######## + + + + +002----- + + +######## +######## +## ## ## +######## +######## +## ## +### ### +######## +######## +######## + + + + +003----- + + + + + ## ## +####### +####### +####### +####### + ##### + ### + # + + + + +004----- + + + + + # + ### + ##### +####### + ##### + ### + # + + + + + +005----- + + + + ## + #### + #### +######## +######## +######## +# ## # + ## + #### + + + + +006----- + + + + ## + #### + ###### +######## +######## +######## + ## + ## + #### + + + + +007----- + + + + + + + #### + #### + #### + #### + + + + + + +008----- +######## +######## +######## +######## +######## +######## +## ## +## ## +## ## +## ## +######## +######## +######## +######## +######## +######## +009----- + + + + + + ###### + # # + # # + # # + # # + ###### + + + + + +010----- +######## +######## +######## +######## +######## +# # +# #### # +# #### # +# #### # +# #### # +# # +######## +######## +######## +######## +######## +011----- + + + #### + ### + ## # + ## +###### +## ## +## ## +## ## +## ## +###### + + + + +012----- + + + ###### + ## ## + ## ## + ## ## + ## ## + ###### + ## + ###### + ## + ## + + + + +013----- + + + ###### + ## ## + ###### + ## + ## + ## + ## +#### +#### +#### + + + + +014----- + + + ####### + ## ## + ####### + ## ## + ## ## + ## ## + ## ## + ## ### +### ### +### ### +### + + + +015----- + + + + ## + ## +## ## ## + #### +### ### + #### +## ## ## + ## + ## + + + + +016----- + +# +## +### +#### +##### +###### +##### +#### +### +## +# + + + + +017----- + + # + ## + ### + #### + ##### + ###### + ##### + #### + ### + ## + # + + + + +018----- + + + ## + #### + ###### + ## + ## + ## + ## + ###### + #### + ## + + + + +019----- + + + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + ## ## + ## ## + + + + +020----- + + +######## +## ## ## +## ## ## +## ## ## +##### ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + +021----- + +####### +## ## + ## + ### + ## ## +## ## +## ## + ## ## + ### + ## +## ## +####### + + + +022----- + + + + + + + + + + + +####### +####### +####### +####### + +023----- + + + ## + #### + ###### + ## + ## + ## + ## + ###### + #### + ## + ###### + + + +024----- + + + ## + #### + ###### + ## + ## + ## + ## + ## + ## + ## + + + + +025----- + + + ## + ## + ## + ## + ## + ## + ## + ###### + #### + ## + + + + +026----- + + + + + + ## + ### +####### + ### + ## + + + + + + +027----- + + + + + + ## + ### +####### + ### + ## + + + + + + +028----- + + + + + +## +## +## +## +####### + + + + + + +029----- + + + + + + # # + ## ## +######## + ## ## + # # + + + + + + +030----- + + + + + # + ### + ### + ##### + ##### +####### +####### + + + + + +031----- + + + + +####### +####### + ##### + ##### + ### + ### + # + + + + + +032----- + + + + + + + + + + + + + + + + +033----- + + + ## + #### + #### + #### + ## + ## + ## + + ## + ## + + + + +034----- + + ## ## + ## ## + ## ## + ## ## + + + + + + + + + + + +035----- + + + + ## ## + ## ## +####### + ##### + ##### + ##### +####### + ## ## + ## ## + + + + +036----- + ## + ## + ##### +## ## +## # +## + ##### + ## +# ## +## ## + ##### + ## + ## + + + +037----- + + + + +## # +## ## + ## + ## + ## + ## +## ## +# ## + + + + +038----- + + + ### + ## ## + ## ## + ### + ### ## +## ### +## ## +## ## +## ## + ### ## + + + + +039----- + + ## + ## + ## + ## + + + + + + + + + + + +040----- + + + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +041----- + + + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +042----- + + + + ## +# ## # + # ## # + #### + ## + #### + # ## # +# ## # + ## + + + + +043----- + + + + + + ## + ## +######## + ## + ## + + + + + + +044----- + + + + + + + + + + ## + ## + ## + ## + + + +045----- + + + + + + + +######## + + + + + + + + +046----- + + + + + + + + + + + + + + ## + ## + +047----- + + + + + # + ## + ## + ## + ## + ## +## +# + + + + +048----- + ##### +# ### # +## ## +## ## +## ## +## ## +# # + +# # +## ## +## ## +## ## +## ## +# ### # + ##### + +049----- + + # + ## + ## + ## + ## + # + + # + ## + ## + ## + ## + # + + +050----- + ##### + ### # + ## + ## + ## + ## + ### # + ##### +# ### +## +## +## +## +# ### + ##### + +051----- + ##### + ### # + ## + ## + ## + ## + ### # + ##### + ### # + ## + ## + ## + ## + ### # + ##### + +052----- + +# # +## ## +## ## +## ## +## ## +# ### # + ##### + ### # + ## + ## + ## + ## + # + + +053----- + ##### +# ### +## +## +## +## +# ### + ##### + ### # + ## + ## + ## + ## + ### # + ##### + +054----- + +# +## +## +## +## +# ### + ##### +# ### # +## ## +## ## +## ## +## ## +# ### # + ##### + +055----- + ##### +# ### # +## ## +## ## +## ## +## ## +# # + + # + ## + ## + ## + ## + # + + +056----- + ##### +# ### # +## ## +## ## +## ## +## ## +# ### # + ##### +# ### # +## ## +## ## +## ## +## ## +# ### # + ##### + +057----- + ##### +# ### # +## ## +## ## +## ## +## ## +# ### # + ##### + ### # + ## + ## + ## + ## + ### # + ##### + +058----- + + + + + ## + ## + + + + ## + ## + + + + + +059----- + + + + + ## + ## + + + + ## + ## + ## + + + + +060----- + + + + ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +061----- + + + + + + +####### + + +####### + + + + + + +062----- + + + + ## + ## + ## + ## + ## + ## + ## + ## + ## + + + + +063----- + + + ##### +## ## +## ## + ## + ## + ## + ## + + ## + ## + + + + +064----- + + + + ##### +## ## +## ## +## #### +## #### +## #### +## ### +## + ##### + + + + +065----- + + + # + ### + ## ## +## ## +## ## +####### +## ## +## ## +## ## +## ## + + + + +066----- + + +###### + ## ## + ## ## + ## ## + ##### + ## ## + ## ## + ## ## + ## ## +###### + + + + +067----- + + + #### + ## ## +## # +## +## +## +## +## # + ## ## + #### + + + + +068----- + + +##### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## +##### + + + + +069----- + + +####### + ## ## + ## # + ## # + #### + ## # + ## + ## # + ## ## +####### + + + + +070----- + + +####### + ## ## + ## # + ## # + #### + ## # + ## + ## + ## +#### + + + + +071----- + + + #### + ## ## +## # +## +## +## #### +## ## +## ## + ## ## + ### # + + + + +072----- + + +## ## +## ## +## ## +## ## +####### +## ## +## ## +## ## +## ## +## ## + + + + +073----- + + + #### + ## + ## + ## + ## + ## + ## + ## + ## + #### + + + + +074----- + + + #### + ## + ## + ## + ## + ## +## ## +## ## +## ## + #### + + + + +075----- + + +### ## + ## ## + ## ## + ## ## + #### + #### + ## ## + ## ## + ## ## +### ## + + + + +076----- + + +#### + ## + ## + ## + ## + ## + ## + ## # + ## ## +####### + + + + +077----- + + +## ## +### ### +######## +## ## ## +## ## ## +## ## +## ## +## ## +## ## +## ## + + + + +078----- + + +## ## +### ## +#### ## +####### +## #### +## ### +## ## +## ## +## ## +## ## + + + + +079----- + + + ### + ## ## +## ## +## ## +## ## +## ## +## ## +## ## + ## ## + ### + + + + +080----- + + +###### + ## ## + ## ## + ## ## + ##### + ## + ## + ## + ## +#### + + + + +081----- + + + ##### +## ## +## ## +## ## +## ## +## ## +## ## +## # ## +## #### + ##### + ## + ### + + +082----- + + +###### + ## ## + ## ## + ## ## + ##### + ## ## + ## ## + ## ## + ## ## +### ## + + + + +083----- + + + ##### +## ## +## ## + ## + ### + ## + ## +## ## +## ## + ##### + + + + +084----- + + +######## +## ## ## +# ## # + ## + ## + ## + ## + ## + ## + #### + + + + +085----- + + +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## + ##### + + + + +086----- + + +## ## +## ## +## ## +## ## +## ## +## ## +## ## + ## ## + ### + # + + + + +087----- + + +## ## +## ## +## ## +## ## +## ## +## ## ## +## ## ## +######## + ## ## + ## ## + + + + +088----- + + +## ## +## ## + ## ## + ## ## + ### + ### + ## ## + ## ## +## ## +## ## + + + + +089----- + + + ## ## + ## ## + ## ## + ## ## + #### + ## + ## + ## + ## + #### + + + + +090----- + + +######## +## ## +# ## + ## + ## + ## + ## + ## # +## ## +######## + + + + +091----- + + + ##### + ## + ## + ## + ## + ## + ## + ## + ## + ##### + + + + +092----- + + + + + + ## + +######## + + ## + + + + + + +093----- + + + ##### + ## + ## + ## + ## + ## + ## + ## + ## + ##### + + + + +094----- + # + ### + ## ## +## ## + + + + + + + + + + + + +095----- + + + + + + + + + + + + + +######## + + +096----- + ## + ## + ## + + + + + + + + + + + + + +097----- + + + + + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +098----- + + +### + ## + ## + #### + ## ## + ## ## + ## ## + ## ## + ## ## +## ### + + + + +099----- + + + + + + ##### +## ## +## +## +## +## ## + ##### + + + + +100----- + + + ### + ## + ## + #### + ## ## +## ## +## ## +## ## +## ## + ### ## + + + + +101----- + + + + + + ##### +## ## +####### +## +## +## ## + ##### + + + + +102----- + + + ### + ## ## + ## # + ## +#### + ## + ## + ## + ## +#### + + + + +103----- + + + + + + ### ## +## ## +## ## +## ## +## ## +## ## + ##### + ## +## ## + #### + +104----- + + +### + ## + ## + ## ## + ### ## + ## ## + ## ## + ## ## + ## ## +### ## + + + + +105----- + + + ## + ## + + ### + ## + ## + ## + ## + ## + #### + + + + +106----- + + + ## + ## + + ### + ## + ## + ## + ## + ## + ## + ## ## + ## ## + #### + +107----- + + +### + ## + ## + ## ## + ## ## + #### + #### + ## ## + ## ## +### ## + + + + +108----- + + + ### + ## + ## + ## + ## + ## + ## + ## + ## + #### + + + + +109----- + + + + + +### ## +######## +## ## ## +## ## ## +## ## ## +## ## ## +## ## ## + + + + +110----- + + + + + +## ### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + +111----- + + + + + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +112----- + + + + + +## ### + ## ## + ## ## + ## ## + ## ## + ## ## + ##### + ## + ## +#### + +113----- + + + + + + ### ## +## ## +## ## +## ## +## ## +## ## + ##### + ## + ## + #### + +114----- + + + + + +## ### + ### ## + ## # + ## + ## + ## +#### + + + + +115----- + + + + + + ##### +## ## + ## + ### + ## +## ## + ##### + + + + +116----- + + + # + ## + ## +###### + ## + ## + ## + ## + ## ## + ### + + + + +117----- + + + + + +## ## +## ## +## ## +## ## +## ## +## ## + ### ## + + + + +118----- + + + + + + ## ## + ## ## + ## ## + ## ## + ## ## + #### + ## + + + + +119----- + + + + + +## ## +## ## +## ## +## ## ## +## ## ## +######## + ## ## + + + + +120----- + + + + + +# # + # # + # # + # + # # + # # +# # + + + + +121----- + + + + + +## ## +## ## +## ## +## ## +## ## +## ## + ###### + ## + ## +##### + +122----- + + + + + +####### +## ## + ## + ## + ## +## ## +####### + + + + +123----- + + + ### + ## + ## + ## + ### + ## + ## + ## + ## + ### + + + + +124----- + + + ## + ## + ## + ## + + ## + ## + ## + ## + ## + + + + +125----- + + + ### + ## + ## + ## + ### + ## + ## + ## + ## + ### + + + + +126----- + + + ### ## +## ### + + + + + + + + + + + + +127----- + + + + + # + ### + ##### +####### +####### +####### +####### + + + + + +128----- + + +####### +## +## +## +## +## +## +## +####### + ## + ## + ##### + + +129----- + + + +## ## + +## ## +## ## +## ## +## ## +## ## +## ## + ##### + + + + +130----- + + ## + ## + ## + + ##### +## ## +####### +## +## +## ## + ##### + + + + +131----- + + # + ### + ## ## + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +132----- + + +## ## +## ## + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +133----- + + ## + ## + ## + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +134----- + + ### + ## ## + ### + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +135----- + + + + + #### + ## ## + ## + ## + ## ## + #### + ## + ## + #### + + + +136----- + + # + ### + ## ## + + ##### +## ## +####### +## +## +## ## + ##### + + + + +137----- + + +## ## +## ## + + ##### +## ## +####### +## +## +## ## + ##### + + + + +138----- + + ## + ## + ## + + ##### +## ## +####### +## +## +## ## + ##### + + + + +139----- + + + ## ## + ## ## + + ### + ## + ## + ## + ## + ## + #### + + + + +140----- + + ## + #### + ## ## + + ### + ## + ## + ## + ## + ## + #### + + + + +141----- + + ## + ## + ## + + ### + ## + ## + ## + ## + ## + #### + + + + +142----- + +## ## +## ## + # + ### + ## ## +## ## +## ## +####### +## ## +## ## +## ## + + + + +143----- + ### + ## ## + ### + + ### + ## ## +## ## +## ## +####### +## ## +## ## +## ## + + + + +144----- + ## + ## + ## + +####### + ## ## + ## + ##### + ## + ## + ## ## +####### + + + + +145----- + + + + + +### ### + # # # + # # # +### ### +# # # +# # # +### ### + + + + +146----- + + +### ### +# # # +# # # +# # # +### ## +# # # +# # # +# # # +# # # +# # ### + + + + +147----- + + # + ### + ## ## + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +148----- + + +## ## +## ## + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +149----- + + ## + ## + ## + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +150----- + + ## + #### +## ## + +## ## +## ## +## ## +## ## +## ## +## ## + ### ## + + + + +151----- + + ## + ## + ## + +## ## +## ## +## ## +## ## +## ## +## ## + ### ## + + + + +152----- + + +## ## +## ## + +## ## +## ## +## ## +## ## +## ## +## ## + ###### + ## + ## + #### + +153----- + +## ## +## ## + + ### + ## ## +## ## +## ## +## ## +## ## + ## ## + ### + + + + +154----- + +## ## +## ## + +## ## +## ## +## ## +## ## +## ## +## ## +## ## + ##### + + + + +155----- + + ## + ## + ###### + ## # + ## # + ## # + ## # + ## # + ###### + ## + ## + + + + +156----- + + ### + ## ## + ## # + ## +#### + ## + ## + ## + ## +### ## +###### + + + + +157----- + + +## ## + ## ## + #### + ## + ###### + ## + ###### + ## + ## + ## + + + + +158----- + +###### + ## ## + ## ## + ##### + ## # + ## ## + ## #### + ## ## + ## ## + ## ## +#### ## + + + + +159----- + + ### + ## ## + ## + ## + ## + ###### + ## + ## + ## + ## + ## +## ## + ### + + +160----- + + ## + ## + ## + + #### + ## + ##### +## ## +## ## +## ## + ### ## + + + + +161----- + + ## + ## + ## + + ### + ## + ## + ## + ## + ## + #### + + + + +162----- + + ## + ## + ## + + ##### +## ## +## ## +## ## +## ## +## ## + ##### + + + + +163----- + + ## + ## + ## + +## ## +## ## +## ## +## ## +## ## +## ## + ### ## + + + + +164----- + + + ### ## +## ### + +## ### + ## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + +165----- + ### ## +## ### + +## ## +### ## +#### ## +####### +## #### +## ### +## ## +## ## +## ## + + + + +166----- + + ###### + ## # + ## # + ###### + + ###### + + + + + + + + + +167----- + + ##### + # # + # # + ##### + + ##### + + + + + + + + + +168----- + + + ## + ## + + ## + ## + ## +## +## ## +## ## +####### + + + + +169----- + + + + + + +####### +## +## +## +## + + + + + +170----- + + + + + + +####### + ## + ## + ## + ## + + + + + +171----- + +## +## +## ## +## ## +## ## + ## + ## + ## +## #### +## ## + #### + ## + #### + + +172----- + +## +## +## # +## ## +## ## + ## + ## + ## ## +## ### +# ## # + ###### + ## + #### + + +173----- + + + ## + ## + + ## + ### + ### + #### + #### +##### +##### + + + + +174----- + + + + + + ## ## + ## ## +## ## + ## ## + ## ## + + + + + + +175----- + + + + + +## ## + ## ## + ## ## + ## ## +## ## + + + + + + +176----- + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # + # # +177----- + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # + # # # # +# # # # +178----- +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +## ### # + ### ### +179----- + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## +180----- + ## + ## + ## + ## + ## + ## + ### +##### + ### + ## + ## + ## + ## + ## + ## + ## +181----- + ## + ## + ## + ## + ### +##### +##### +##### + ### + ## + ## + ## + ## + ## + ## + ## +182----- + ##### + ##### + ##### + ##### + ##### + ##### + ###### +####### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +183----- + + + + + + + +###### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +184----- + + + + + +#### +##### +##### + ### + ## + ## + ## + ## + ## + ## + ## +185----- + ##### + ##### + ##### + ##### + ###### +####### +####### +####### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +186----- + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +187----- + + + + + +###### +####### +####### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +188----- + ##### + ##### + ##### + ##### + ###### +####### +####### +###### + + + + + + + + +189----- + ##### + ##### + ##### + ##### + ##### + ##### + ###### +###### + + + + + + + + +190----- + ## + ## + ## + ## + ### +##### +##### +#### + + + + + + + + +191----- + + + + + + + +#### + ### + ## + ## + ## + ## + ## + ## + ## +192----- + ## + ## + ## + ## + ## + ## + ### + #### + + + + + + + + +193----- + ## + ## + ## + ## + ## + ## + #### +######## + + + + + + + + +194----- + + + + + + + +######## + #### + ## + ## + ## + ## + ## + ## + ## +195----- + ## + ## + ## + ## + ## + ## + ### + ##### + ### + ## + ## + ## + ## + ## + ## + ## +196----- + + + + + + + +######## + + + + + + + + +197----- + ## + ## + ## + ## + ## + ## + #### +######## + #### + ## + ## + ## + ## + ## + ## + ## +198----- + ## + ## + ## + ## + ### + ##### + ##### + ##### + ### + ## + ## + ## + ## + ## + ## + ## +199----- + ##### + ##### + ##### + ##### + ##### + ##### + ###### + ###### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +200----- + ##### + ##### + ##### + ##### + ###### + ###### + ###### + ##### + + + + + + + + +201----- + + + + + + ##### + ###### + ###### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +202----- + ##### + ##### + ##### + ##### + ####### +######## +######## +######## + + + + + + + + +203----- + + + + + +######## +######## +######## + ####### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +204----- + ##### + ##### + ##### + ##### + ###### + ###### + ###### + ###### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +205----- + + + + + +######## +######## +######## + + + + + + + + +206----- + ##### + ##### + ##### + ##### + ####### +######## +######## +######## + ####### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +207----- + ## + ## + ## + ## + #### +######## +######## +######## + + + + + + + + +208----- + ##### + ##### + ##### + ##### + ##### + ##### + ####### +######## + + + + + + + + +209----- + + + + + +######## +######## +######## + #### + ## + ## + ## + ## + ## + ## + ## +210----- + + + + + + + +######## + ####### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +211----- + ##### + ##### + ##### + ##### + ##### + ##### + ###### + ##### + + + + + + + + +212----- + ## + ## + ## + ## + ### + ##### + ##### + #### + + + + + + + + +213----- + + + + + + #### + ##### + ##### + ### + ## + ## + ## + ## + ## + ## + ## +214----- + + + + + + + + ##### + ###### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +215----- + ##### + ##### + ##### + ##### + ##### + ##### + ####### +######## + ####### + ##### + ##### + ##### + ##### + ##### + ##### + ##### +216----- + ## + ## + ## + ## + #### +######## +######## +######## + #### + ## + ## + ## + ## + ## + ## + ## +217----- + ## + ## + ## + ## + ## + ## + ### +#### + + + + + + + + +218----- + + + + + + + + #### + ### + ## + ## + ## + ## + ## + ## + ## +219----- +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +######## +220----- + + + + + + + +######## +######## +######## +######## +######## +######## +######## +######## +######## +221----- +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +#### +222----- + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### + #### +223----- +######## +######## +######## +######## +######## +######## +######## + + + + + + + + + +224----- +## ## +### ### +######## +## ## ## +## ## + + +######## + + +######## +## +######## +## +######## + +225----- +## ## +### ### +######## +## ## ## +## ## + + + + + + + + + + + +226----- +## ## +### ### +######## +## ## ## +## ## + + +######## + + + + + + + + +227----- + + + + + + + +######## + + + + + + + + +228----- + + + + + + + +######## + + +######## +## +######## +## +######## + +229----- + + + + + + + + + + +######## +## +######## +## +######## + +230----- + + + + ## + ## +######## + ## + ## + +######## + +######## + + + + +231----- + + + + + +######## + + + +######## + +######## + + + + +232----- + + + + # + ### + ## ## +## ## +## ## + ## ## + ### + # + + + + + +233----- + + + + ## + #### + ###### +######## + #### + #### + #### + #### + + + + + +234----- + + + ### + ## ## +## ## +## ## +## ## + ## ## + ## ## + ## ## + ## ## +### ### + + + + +235----- + + + #### + ## + ## + ## + ##### + ## ## + ## ## + ## ## + ## ## + #### + + + + +236----- + + + + + + ###### +## ## ## +## ## ## +## ## ## + ###### + + + + + + +237----- + + + + ## + ## + ###### +## #### +## ## ## +#### ## + ###### + ## +## + + + + +238----- + + + ### + ## + ## + ## + ##### + ## + ## + ## + ## + ### + + + + +239----- + + + + ##### +## ## +## ## +## ## +## ## +## ## +## ## +## ## +## ## + + + + +240----- + + + + +####### + + +####### + + +####### + + + + + +241----- + + + + + ## + ## +######## + ## + ## + + +######## + + + + +242----- + + + + ## + ## + ## + ## + ## + ## + ## + + ###### + + + + +243----- + + + + ## + ## + ## + ## + ## + ## + ## + + ###### + + + + +244----- + + + ### + ## ## + ## ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## + ## +245----- + ## + ## + ## + ## + ## + ## + ## + ## +## ## +## ## +## ## + ### + + + + +246----- + + + + + ## + ## + +######## + + ## + ## + + + + + +247----- + + + + + + ### ## +## ### + + ### ## +## ### + + + + + + +248----- + + ### + ## ## + ## ## + ### + + + + + + + + + + + +249----- + + + + + + + + ## + ## + + + + + + + +250----- + + + + + + + + + ## + + + + + + + +251----- + + #### + ## + ## + ## + ## + ## +### ## + ## ## + ## ## + #### + ### + + + + +252----- + +## ## + ## ## + ## ## + ## ## + ## ## + ## ## + + + + + + + + + +253----- + + ### +# ## + ## + ## +## # +##### + + + + + + + + + +254----- + + + + + ##### + ##### + ##### + ##### + ##### + ##### + ##### + + + + + +255----- + + + + + + + + + + + + + + + + +-------- diff --git a/pfeiltst.bas b/pfeiltst.bas new file mode 100644 index 0000000..a3953b6 --- /dev/null +++ b/pfeiltst.bas @@ -0,0 +1,8 @@ +cls +b=1 +1 a$=inkey$:if a$="" then 1 +a=a+1 +locate b,a:print a$ +if a>=80 then a=0:b=b+2 +goto 1 + \ No newline at end of file diff --git a/pingpong.bas b/pingpong.bas new file mode 100644 index 0000000..e8844de --- /dev/null +++ b/pingpong.bas @@ -0,0 +1,86 @@ +cls:screen 12 +'open "O",#1,"KLATSCH.RAW" +dim check(640) +FOR SbPort = &H210 to &H280 STEP &H10 + OUT SbPort + &H6, 1 + FOR a = 1 to 10:next + OUT SbPort + &H6, 0 + FOR a = 1 to 100 + IF INP(SbPort + &HA) = &HAA THEN GOTO SbFound + NEXT +NEXT +PRINT "kein SoundBlaster => Ende..." +END + +SbFound: +locate 1,1 +color 10:print"SoundBlaster an Adresse ";hex$(SbPort);"h gefunden." +color 15:print +DO + OUT SbPort + &HC, &H20 + DO:LOOP UNTIL INP(SbPort + &HE) AND 128 + 'locate 2,1:print Wert;"/";inp(sbport+&HA) + 'gosub ShowLEV + if minus=0 then strecke=strecke+1 + if minus=1 then strecke=strecke-1 + if strecke>639 then minus=1 + if strecke<1 then minus=0 + value=(256-125+(inp(sbport+&HA)-125))/256*480 + 'locate 2,1:print value; + pset (strecke,check(strecke)),0 + if value>190 or value<290 then col=10 + if (value>155 and value<190) or (value >290 and value <325) then col=14 + if value<155 or value>325 then col=12 +' col=15 'ÚÄ y1 + if minus=0 then ls=strecke+1 else ls=strecke-1 + line (ls,0)-(ls,480),0 'Wer mit der MAX-Anzeige arbeitet sollte y1 auf 13 setzen +' pset (veryolds,veryoldv),8 + pset (olds,oldv),7 'Diese Zeile sollte ungeREMt bleiben +' if maxvalue<>oldmax then locate 1,1:color 15:print "Max:";maxvalue +' oldmax=maxvalue 'alles mit einem 'max' in der Variablen geh”rt zur Maxerkennung + if strecke=1 then pset(0,240),0 + line -(strecke,value),col 'Wer aus 'line -' ein 'pset ' macht, und alle anderen REMs entfernt, hat auch einen coolen FX +' maxvalue=max(Maxvalue,abs(value)) +' veryolds=olds +' veryoldv=oldv + olds=strecke 'Wenn man die beiden oldx's REMt erh„lt man einen recht + oldv=value 'lustigen Effekt!!! + delay del + check(strecke)=value + 'print#1,chr$(inp(sbport+&HA)); + a$=inkey$ + if a$="+" then del=del+.01 + if a$="-" then del=del-.01:if del<0 then del=0 + if a$="*" then del=del+.1 + if a$="/" then del=del-.1:if del<0 then del=0 + if a$="0" then del=0 + if a$="1" then del=1 +LOOP UNTIL a$=chr$(27) +Goto Ende + +ShowLEV: +y=3 +Zeichen=176 +Einheit=256/80 +Wert=inp(sbport+&HA) +Einheiten=round(Wert/Einheit,0) +for x=1 to 80 + locate y,x:if x<=Einheiten then + if x>=0 and x<=45 then color 10 + if x>45 and x<=70 then color 14 + if x>70 and x<=80 then color 12 + else + if x>=0 and x<=45 then color 2 + if x>45 and x<=70 then color 6 + if x>70 and x<=80 then color 4 + end if + print chr$(Zeichen); + locate y+1,x + print chr$(Zeichen); +next x +return + +Ende: +screen 0:width 80 +print"Programm beendet." + \ No newline at end of file diff --git a/poincare/katze.inc b/poincare/katze.inc new file mode 100644 index 0000000..008c2bb --- /dev/null +++ b/poincare/katze.inc @@ -0,0 +1,9 @@ +circle (83,25),21,15,2.5,.65,3.4/3 +line (83,42)-(92,33),15:line -(83,37),15 +line -(73,33),15:line -(82,42),15 +circle (83,25),10,15,.5,2.65,3/3.5 +line (69,12)-(74,20),15 +line (97,12)-(92,20),15 +circle (73,27),3,15 +circle (92,27),3,15 +paint (83,25),15 \ No newline at end of file diff --git a/poincare/plus.inc b/poincare/plus.inc new file mode 100644 index 0000000..5848b71 --- /dev/null +++ b/poincare/plus.inc @@ -0,0 +1,5 @@ +line (58,0)-(108,50),15,bf +circle (83,25),20,0 +paint (83,25),0 +line (81,11)-(85,39),15,bf +line (69,23)-(97,27),15,bf \ No newline at end of file diff --git a/poincare/poincare.bas b/poincare/poincare.bas new file mode 100644 index 0000000..883439d --- /dev/null +++ b/poincare/poincare.bas @@ -0,0 +1,102 @@ +screen 12 +anfh=val(left$(time$,2)) +anfm=val(mid$(time$,4,2)) +anfs=val(right$(time$,2)) +dim x(1552) +dim y(1552) +a1=1:b1=1 +a2=1:b2=2 +if abs(a1*b2-a2*b1)<>1 then end +$INCLUDE "plus.inc" +rem locate 1,10:print "TEST" +rem locate 2,10:print " IT " +rem locate 3,10:print "OUT" +goto SkipIt + line (58,0)-(108,50),15,bf + + for x=58 to 108 step 2 + line (x,0)-(x,50),0 + next x + for y=0 to 50 step 2 + line (58,y)-(108,y),0 + next y + +SkipIt: +xb=58 +for y=0 to 50 + for x=0 to 50 + if point (xb+x,y)=15 then x(p)=x:y(p)=y:p=p+1 + next x +next y +do + xb=xb+58:if xb>590 then xb=0:yb=yb+58 + if yb>425 then xb=0:yb=0:gosub Druck + for z=0 to p-1 + x=(x(z)*a1+y(z)*b1) + y=(x(z)*a2+y(z)*b2) + x=(a1+b1)*50-x + x(z)=x-int(x/51)*51 + y(z)=y-int(y/51)*51 + pset (xb+x(z),yb+y(z)),15 + next z + gosub ShowPer + if inkey$=chr$(27) then end + v=v+1 + line (0,0)-(50,50),15,b + locate 2,6-len(str$(v)):print V +loop until v=72 +end + +ShowPer: +nowh=val(left$(time$,2)) +nowm=val(mid$(time$,4,2)) +nows=val(right$(time$,2)) +unth=nowh-anfh +untm=nowm-anfm +unts=nows-anfs +if unts<0 then untm=untm-1:unts=60-abs(unts) +if untm<0 then unth=unth-1:untm=60-abs(untm) +sekl=(unth*3600)+(untm*60)+unts +if iper=0 then gosub InitPer +per%=(v/71)*100 +per=(v/71) +if per>0 then rsek=sekl/per +if per%>=0 and per%<70 then col=10 +if per%>=70 and per%<92 then col=14 +if per%>=92 and per%<101 then col=12 +for bar=lastper%*6 to per%*6 step 2 + line (spx+bar,spy)-(spx+bar,spy+30),col +next bar +lastper%=per% +locate 23,75:print using "### %";per%; +if int(rsek/3600)>=1 then rhour=int(rsek/3600):rsek=rsek-(rhour*3600) else rhour=0 +if int(rsek/60)>=1 then rmin=int(rsek/60):rsek=rsek-(rmin*60) else rmin=0 +if unth<10 then let unth$="0"+mid$(str$(unth),2,1) else let unth$=mid$(str$(unth),2,2) +if untm<10 then let untm$="0"+mid$(str$(untm),2,1) else let untm$=mid$(str$(untm),2,2) +if unts<10 then let unts$="0"+mid$(str$(unts),2,1) else let unts$=mid$(str$(unts),2,2) +if rhour<10 then let rhour$="0"+mid$(str$(rhour),2,1) else let rhour$=mid$(str$(rhour),2,2) +if rmin<10 then let rmin$="0"+mid$(str$(rmin),2,1) else let rmin$=mid$(str$(rmin),2,2) +if rsek<10 then let rsek$="0"+mid$(str$(rsek),2,1) else let rsek$=mid$(str$(rsek),2,2) +locate 24,72:print using "\\:\\:\\";unth$;untm$;unts$; +locate 25,72:print using "\\:\\:\\";rhour$;rmin$;rsek$; +locate 3,6-len(str$(per%)):print per%; +return + +InitPer: +iper=1 +spx=10:spy=450 +for pbar=spx to spx+600 step 6 + line (pbar,spy-1)-(pbar,spy-5),15 +next pbar +line (spx,spy-1)-(spx,spy-20),10 +line (spx+150,spy-1)-(spx+150,spy-10),10 +line (spx+300,spy-1)-(spx+300,spy-15),10 +line (spx+450,spy-1)-(spx+450,spy-10),14 +line (spx+600,spy-1)-(spx+600,spy-20),12 +return + +Druck: + sound 700,10 + do:loop while not inkey$<>"" + cls:xb=58 +return \ No newline at end of file diff --git a/pt_crack.bas b/pt_crack.bas new file mode 100644 index 0000000..1b4b1cc --- /dev/null +++ b/pt_crack.bas @@ -0,0 +1,77 @@ +color 14,1:cls +mess$="M*** PowerTOOLS 3.6 Crack v1.0 ***":gosub PS +color 15,1 +mess$="M written by RoboCop IND.":gosub PS +color 11,1 +print +mess$="MP - PowerTOOLS-Pfad „ndern":gosub PS +mess$="MA - Zeit anzeigen ":gosub PS +mess$="MC - Zeit „ndern ":gosub PS +mess$="M--------------------------":gosub PS +mess$="MESC - ENDE":gosub PS +print +mess$="MBitte den gew. Buchstaben eingeben.":gosub PS +locate csrlin,37:print "Wahl:"; +1 a$=inkey$:if a$="" then 1 + a$=ucase$(a$) + if a$="P" then print a$:goto ChangePTPath + if a$="A" then print a$:goto ShowPTTime + if a$="C" then print a$:goto ChangePTTime + if a$=chr$(27) then print "[ESC]":sound 600,.5:goto Quit + sound 1000,.5 +goto 1 + +PTPathNotRight: + sound 800,.5:delay .1 + color 12:locate 19,1:mess$="Mððð DER PFAD IST NICHT RICHTIG ððð":gosub PS + color 11 + sound 800,.5:delay .1:sound 800,.5 + delay 2:locate 19,1:mess$="M ":gosub PS + PTPath$="" + locate 11,1 + resume ChangePTPath + +Back2Menu: + for x=12 to 24 + locate x,1:print space$(80); + next x + color 11 + locate 11,42:print " " + locate 11,42 + goto 1 + +ChangePTPath: + locate csrlin+1,1:for x=1 to 80:o$=o$+"ð":next x:print o$:o$="" 'line 14 + locate 15,1:print"Geben Sie den Pfad ein, indem sich PowerTOOLS befindet:" + print "Bsp.: 'C:\AOL30I\PWRTOOLS'":color 15 + OPTPath$=PTPath$ + input ">",PTPath$ + for x=14 to 17:locate x,1:print space$(80);:next x:print + PTPath$=PTPath$+"\PWRTOOLS.LIC" + if PTPath$="\PWRTOOLS.LIC" then PTPath$=OPTPath$:goto Back2Menu + on error goto PTPathNotRight + open "R",#1,PTPath$ + on error goto + + + + +ShowPTTime: +ChangePTTime: +Quit: + + +goto Ende + + +PS: + mes$=right$(mess$,len(mess$)-1) + ind$=left$(mess$,1) + if ind$="M" then locate csrlin,40-len(mes$)/2 + if ind$="L" then locate csrlin,1 + if ind$="R" then locate csrlin,80-len(mes$) + print mes$; + locate csrlin+1,1 +return + +Ende: \ No newline at end of file diff --git a/read_key.bas b/read_key.bas new file mode 100644 index 0000000..92fcf36 --- /dev/null +++ b/read_key.bas @@ -0,0 +1,74 @@ + shell"mode co80" + $include "TIMECALC.INC" +Anfang: + stp=25 + dim tir(stp) + open "O",#1,"READ_KEY.OUT" + print#1,"ððð Ausgabedatei von READ_KEY.OUT ððð" + print#1,"" + print#1,"Z - Zeichen" + print#1,"CHR$ - ASCII-Code" + print#1,"Att - Attribut (0-255)" + print#1,"Fr - Vordergrundfarbe (errechnet)" + print#1,"Ba - Hintergrundfarbe (errechnet)" + print#1,"" + print#1,"Z CHR$ Att Fr Ba" + print#1,"- ---- --- -- --" + cls:randomize timer +3 'a=int(rnd(1)*256) + 'b=int(rnd(1)*32) + 'c=int(rnd(1)*8) + durchg=durchg+1 + a=a+1 + if a=256 then a=0:b=b+1 + if b=32 then b=0:c=c+1 + if c=8 then close #1:end + locate 1,1:color b,c:print chr$(a) + oft=25 + if durchg/oft<>int(durchg/oft) then goto 4 + durchgmax=65536 + per=(durchg/durchgmax)*100 + gosub CalcPercent +4 ke=screen(1,1) + attr=screen(1,1,1) + locate 2,1:color 15,0 + print "ASCII-Code: ";ke;" Zeichen: ";chr$(ke) + print "Attribut : ";attr + print + back=0:front=0 + battr=attr + if attr<128 then goto LowAttribute + if attr>127 and attr<256 then goto HighAttribute + +LowAttribute: +1 if attr/16>=1 then + back=back+1 + if back>7 then back=back-1:exit if + attr=attr-16 + goto 1 + end if + front=attr + goto ShowIt + +HighAttribute: + attr=attr-128 +2 if attr/16>=1 then + back=back+1 + if back>7 then back=back-1:exit if + attr=attr-16 + goto 2 + end if + front=attr+16 + goto ShowIt + + +ShowIt: + if inkey$=chr$(27) then close #1:end + print "Vordergrundfarbe: ";front + print "Hintergrundfarbe: ";back + print using"Zeit seit Start: ##:##";mn,sc + print using"Vorauss Ende : ##:##";bm,bs + print using"Geschafft : ### %";per + print#1,using "! #### ### ## ##";chr$(ke),ke,battr,front,back + goto 3 + \ No newline at end of file diff --git a/rom0.bas b/rom0.bas new file mode 100644 index 0000000..ada8045 --- /dev/null +++ b/rom0.bas @@ -0,0 +1,28 @@ +rem Arabische Zahlen -> Roem. Zahlen +DIM ein$(15), fuenf$(15) +DATA I,V,X,L,C,D,M,I)),((I)),I))) +for i=1 to 5:read ein$(i), fuenf$(i):next i +for i=6 to 15:ein$(i)="("+ein$(i-1)+")" +fuenf$(i)=fuenf$(i-1)+")":next i +do: input "Dezimalzahl, Stop mit 0"; z$ +l=len(z$) +for i=1 to l:m=l-i+1 +ziffer=val(mid$(z$,i,1)) +select case ziffer +case 1 to 3 +for j=1 to ziffer: rom$=rom$+ein$(m):next j +case 4 +rom$=rom$+ein$(m)+fuenf$(m) +case 5 +rom$=rom$+fuenf$(m) +case 6 to 8 +rom$=rom$+fuenf$(m) +for j=6 to ziffer: rom$=rom$+ein$(m):next j +case 9 +rom$=rom$+ein$(m)+ein$(m+1) +end select +next i +print rom$ +rom$="" +loop until val(z$)<1 + \ No newline at end of file diff --git a/screen/katze.ssc b/screen/katze.ssc new file mode 100644 index 0000000000000000000000000000000000000000..e035cecdb1f6ae24c457503c57f93ceebf843b25 GIT binary patch literal 64064 zcmeI!y>1jS5Ww-&k)rLXR##I*q2K`mNNFhU-~kf20tpmEfyCRhW6#**yW4R%1qtMT z1hMDCv+G|jQnrr|kGGHC=ezfBKJGqj@80g_-Tlw~?$eKVU%u|=Z}*?~^TV%sdwX@c znP1&pZ(eTZo9nc^-n_WFyxkSHt;#k6)=5nBBKhQ+msW92iE{RX$u1%AB`gMwv03zjvVv$!{8;JOhBSlP?Q z#{>KHu3pRz_yo|^dSiyI7o%u1tWNjhk(#S@=ZxCmjH2zRJl%UoXs*_sGirk~ingQj zbnhLZxmtJ5s10Vc+~2mg`qZdA-Fqum>NB{!HmUBMQ5(!`xxZ~~^{G*Ly7xA$&f1+b zY(obwmxtBqUmU-_QPhE7q|>kA*Eb3~o&Xr0AH7)pn!jLtFgj6ue+O9p2rL^Z#>a=R zR=*^b!CVr*&PT*qS*J_EXDF+y)5<+A0pBWHEjTYpx)8pq6zrTBe1X$y$pQN9YCnYo z0k2l}2R($5KvAIfi!00IagfB*srAbr<968c_VRkj5A-G5r{N_yxv?jlEIwOO zpHg2tPqx^eW3jDrKiQWrjeI@bQS$kpURh7c@$~aJ`rM{`&9?pSd1bq@(Ss}1=Sut6 z6OVkYwD=d0{i*-%HHt^d9W=|>JTHH@VKuLl>|AP)Ts@^Hb7K?e*>>r7wEgEr`V{{# z+51=qTkdeRhaTm9LeJ-3DQIHZYLrVZU*8~i$oICljp_i~S^cT2o%_SpJ^=dhNTH0- zxJ+AOxq!S)dLxZ}J;CTXDd+ywUFVhhQk4T5+Z+j-yoRY;M`>>x*#KKh)i%A=4zePE T00IagfB*srAb=0 and val(ScrMo$)<=10 then LastLine=24 else LastLine=30 + print"."; + close #1 + print"."; + HWide=val(HWide$) + VWide=val(VWide$) + ScreenMode=val(ScrMo$) + print"."; + get$ #2,19,Dummy$ + Dummy$="" + print".vorbereitet" + delay .5 + cls + screen ScreenMode + locate LastLine-1,1:print"HeaderInfo: ";Header$; + locate LastLine,1:print space$(40); + locate LastLine,1:print"Lese und Zeige Bild."; + HeadLengt=len(Header$)+4 + Schritt=13 + Skale=int(HWide*VWide/Schritt) + get$ #2,HeadLengt,Dummy$ + for y=1 to VWide + for x=1 to HWide + get$ #2,1,PixCol$ + incr Pixel,1 + PixCol=ascii(PixCol$) + if PixCol=-1 then PixCol=0 + pset(x,y),PixCol + if Pixel/Skale=int(Pixel/Skale) then print"."; + next x + next y + print".fertig"; +1 a$=inkey$:if a$="" then 1 + \ No newline at end of file diff --git a/screen/logo.ssc b/screen/logo.ssc new file mode 100644 index 0000000000000000000000000000000000000000..fb5601da2f98173034a327af867dfcdbfc2e8d25 GIT binary patch literal 102483 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 C!g5;x literal 0 HcmV?d00001 diff --git a/screen/savescr.bas b/screen/savescr.bas new file mode 100644 index 0000000..0f83611 --- /dev/null +++ b/screen/savescr.bas @@ -0,0 +1,40 @@ + CLS + input"Bilddatei (*.EXE): ",Includer$ + input"Ausgabedatei (*.SSC): ",OutFile$ + input"Bildschirmmodus (0-12): ",ScreenMode + input"Capturebereich, Breite: ",HWide + input"Capturebereich, H”he : ",VWide + screen ScreenMode + if ScreenMode>=0 and ScreenMode<=10 then LastLine=24 else LastLine=30 + locate LastLine,1 + print"Lese und Schreibe Bild."; + line (0,0)-(HWide,VWide),1,B + print"."; + LastPos=POS(0) + locate 1,1 + shell Includer$ + locate LastLine,LastPos + print"."; + open "O",#1,OutFile$ + print"."; + print#1,"RoboCop INDUSTRIES SaveScrFile (Horizontal/Vertical/ScrMode)" + print#1,chr$(34); + print#1,using "####";HWide; + print#1,chr$(34);",";chr$(34); + print#1,using "####";VWide; + print#1,chr$(34);",";chr$(34); + print#1,using "##";ScreenMode; + print#1,chr$(34);chr$(26) + print "."; + LastPoint=POS(0) + for y=1 to VWide + for x=1 to HWide + PixData=POINT(x,y) + if PixData=-1 then PixData=0 + print#1,chr$(PixData); + next x + next y + locate LastLine,LastPoint + print"."; + close #1 + print".fertig"; \ No newline at end of file diff --git a/screen/test.ssc b/screen/test.ssc new file mode 100644 index 0000000000000000000000000000000000000000..aa046f30361c14dcf3cf723ebdd9dc67f77f5804 GIT binary patch literal 10997 zcmeI0O;3YB5QaUPCJlE_q$f>GY)$+He#9R1P}F;^9GWy@NaMj@@60aC&Mr%ZLOa9^ z7np^xPv3cGcIhH}&u+7?c>a9%n!GIL_eq>Aztd!uKdd)teEyi_>!0j%yWCv8rTKQf zf(y9$lzpTZMX|lXTWfPmDQ4DjTVoi>koTR3?D4 zqBQZ2Y6z1*7F~&jHHilsRe%dYf0nkfP&Kbf(Mq%e52zCB(x3bq6<>+3#8*%iJ+8KXjr|o% Y4N4744N47GS9j?Q(ix;P9Ii9`0vn;#v;Y7A literal 0 HcmV?d00001 diff --git a/serial.num b/serial.num new file mode 100644 index 0000000..febef3e --- /dev/null +++ b/serial.num @@ -0,0 +1,2 @@ +˜•šœ–š™–—•• +RoboCop IND. diff --git a/specsymb.txt b/specsymb.txt new file mode 100644 index 0000000..1b061f1 --- /dev/null +++ b/specsymb.txt @@ -0,0 +1,3 @@ +© - Copyright Zeichen +® - Registered Trade Mark Zeichen +™ - TradeMark Zeichen (nicht SYSTEM) \ No newline at end of file diff --git a/termin/termin.bas b/termin/termin.bas new file mode 100644 index 0000000..cfa9f4b --- /dev/null +++ b/termin/termin.bas @@ -0,0 +1,267 @@ + ver$="2.10" + IniFile$=environ$("TEMP") + IniFile$=IniFile$+"\TERMIN.INI" + if command$="/?" then goto Help + dim zeile$(500) + dim choice$(50) + open "I",#1,"TERMIN.LST" + now$=mid$(date$,4,2)+"."+left$(date$,2)+"."+right$(date$,2) + Day=val(mid$(date$,4,2)) + Month=val(left$(date$,2)) + Year=val(right$(date$,2)) + for Addi=1 to 5 + NDay=Day+Addi + NMonth=Month + + if Day+Addi>28 and Month=2 and int(Year/4)<>Year/4 then + NMonth=Month+1 + if Feb28=0 and F28=0 then Feb28=Addi-1:F28=1 + NDay=Addi-Feb28 + end if + + if Day+Addi>29 and Month=2 and int(Year/4)=Year/4 then + NMonth=Month+1 + if Feb29=0 and F29=0 then Feb29=Addi-1:F29=1 + NDay=Addi-Feb29 + end if + + if Day+Addi>30 and (Month=4 or Month=6 or Month=9 or Month=11) then + NMonth=Month+1 + if Month30=0 and M30=0 then Month30=Addi-1:M30=1 + NDay=Addi-Month30 + end if + + if Day+Addi>31 and (Month=1 or Month=3 or Month=5 or Month=7 or Month=8 or Month=10 or Month=12) then + NMonth=Month+1 + if Month31=0 and M31=0 then Month31=Addi-1:M31=1 + if NMonth=13 then NMonth=1:NYear=Year+1:NDay=Addi-Month31 else NDay=Addi-Month31 + end if + + if NYear=0 then NYear=Year + NDay$=str$(1000+NDay) + NMonth$=str$(1000+NMonth) + NYear$=Str$(1000+NYear) + + Now$(Addi)=using$("\\",right$(NDay$,2))+"." + Now$(Addi)=Now$(Addi)+using$("\\",right$(NMonth$,2))+"." + Now$(Addi)=Now$(Addi)+using$("\\",right$(NYear$,2)) + next Addi + + + color 15,0,0:print"ððð TERMIN v";ver$;" ððð by RC Datum: ";now$; + color 8,0,0:print "TERMIN /? fr Hilfe":color 14,0,0 + x=1 +2 line input#1,zeile$(x) + if eof(1) then maxb=x:close #1:goto 1 else x=x+1:goto 2 + MESS$="Termin(e) heute:" +1 for x=1 to maxb + if left$(zeile$(x),1)="'" then goto 999 + bdate$=left$(zeile$(x),6) + bdate2$=left$(zeile$(x),8) + bname$=mid$(zeile$(x),8,60) + bname2$=mid$(zeile$(x),10,60) + if bdate2$=now$ then gosub PrintItOut2 + if bdate$=left$(now$,6) and Date2=0 then gosub PrintItOut1 + Date2=0 +999 next x + if FoundIt=0 then color 7,,9:print"Kein(e) heutigen Termin(e) gefunden." + if inkey$="a" or inkey$="A" then goto AddIt + if inkey$="c" or inkey$="C" then goto ClearIt + if FoundIt=1 then FoundSomething=1 + goto CommonSearch + +PrintItOut1: + color ,,15:num=num+1 + if PrintedNow=0 then + color 14 + print MESS$ + PrintedNow=1 + end if + if CS=0 then BDC=15 + if CS=2 or CS=3 or CS=4 then BDC=14 + if CS=1 then BDC=12 + if CS=5 then BDC=10 + color 15:print num; + color BDC:if BDC=15 then print "¯"; else print " "; + print bdate$; + color 10:print " ";bname$; + color 15 + if BDC=15 then print " ®" else print + FoundIt=1 + color ,,0 + return + +PrintItOut2: + color ,,15:Date2=1:num=num+1 + if PrintedNow=0 then + color 15 + print MESS$ + PrintedNow=1 + end if + IF CS=0 or CS=2 or CS=3 or CS=4 then BDC=14 + if CS=1 then BDC=12 + if CS=5 then BDC=10 + color 15:print num; + color BDC:if BDC=15 then print "¯"; else print " "; + print bdate2$; + color 10:print " ";bname2$; + color 15 + if BDC=15 then print " ®" else print + FoundIt=1 + color ,,0 + return + +SomethingFound: + print + color 15 + print " ÛÛÛÛÛÛBESTŽTIGUNGÛÛÛÛÛÛ" +3 for x=1 to 50 + wt=5 + if x>0 and x<=wt then color ,,0 + if (x>wt and x<=2*wt) or (x>9*wt and x<=10*wt) then color ,,1 + if (x>2*wt and x<=3*wt) or (x>8*wt and x<=9*wt) then color ,,9 + if (x>3*wt and x<=4*wt) or (x>7*wt and x<=8*wt) then color ,,3 + if (x>4*wt and x<=5*wt) or (x>6*wt and x<=7*wt) then color ,,7 + if x>5*wt and x<=6*wt then color ,,11 + a$=inkey$ + if a$="a" or a$="A" then Add=1:exit for + if a$="c" or a$="C" then Clr=1:exit for + if a$<>"" then Response=1:exit for + next x + if Add=1 then goto AddIt + if Clr=1 then goto ClearIt + if Response=1 then return + goto 3 + +AddIt: + color 15,0,0:print:print:print "Termin hinzufgen" + print + input"Datum (TT.MM.[JJ]) : ",dat$ + input"Terminbeschreibung (max. 60 Zeichen): ",termin$ + open "A",#1,"TERMIN.LST" + OutIt$=dat$+" "+termin$ + print#1,OutIt$ + close #1 + print + color 10:print"Noch einen Termin addieren (J/N)?":print +5 a$=inkey$:if a$="" then 5 + if a$="j" or a$="J" then goto AddIt else goto Ende + +ClearIt: + color 15,0,0:print:print:print "Termin l”schen" + print + input"Datum (TT.MM.) : ",dat$ + print"Suche ..."; + open "I",#1,"TERMIN.LST" + x=1 +6 if eof(1) then close #1:print "OK":goto 7 + line input#1,zeile$ + if left$(zeile$,len(dat$))=dat$ then choice$(x)=zeile$:x=x+1:goto 6 else goto 6 +7 maxx=x-1 + print" fertig" + color 10:print:print"M”glichkeit(en):":color 15 + for x=1 to maxx + print x;" ";choice$(x) + next x + print + color 12 + IpString$="Zahl von 0 bis "+mid$(str$(maxx),2,40)+" eingeben und [ENTER] drcken" +8 print IpString$;:input ": ",choice + if choice<0 or choice >maxx then print "Falsche Eingabe!":goto 8 + if choice=0 then color 10:print"Update abgebrochen.":goto 13 + color 10:print"Update l„uft ..."; + open "I",#1,"TERMIN.LST" + open "O",#2,"TERMIN.$$$" +9 line input#1,zeile$ + if zeile$<>choice$(choice) then print#2,zeile$ + if eof(1) then goto 10 else goto 9 +10 close #1:close #2:kill "termin.lst" + name "Termin.$$$" as "termin.lst" + color 15:print" komplett" +13 print + color 10:print"Noch einen Termin l”schen (J/N)?":print +11 a$=inkey$:if a$="" then 11 + if a$="j" or a$="J" then goto ClearIt else goto Ende + +Help: + cls + now$=mid$(date$,4,2)+"."+left$(date$,2)+"."+right$(date$,2) + color 15,0,0:print"ððð TERMIN v";ver$;" ððð by RC Datum: ";now$; + color 8,0,0:print "TERMIN /? fr diesen Hilfebildschirm":color 7,0,0 + print"TERMIN Version ";ver$;" ist fr den Einsatz in der AUTOEXEC.BAT gedacht. Es + print"speichert Termine ab und zeigt sie beim Starten des Rechners an. Und:" + color 12+16 + print"* NEU *** NEU *** NEU *** NEU *** NEU *** NEU *** NEU *** NEU *** NEU *** NEU *" + color 7 + print"Es zeigt seit der Version 2.00 die Termine der n„chsten 5 Tage an und gibt eine" + print"Tonfolge aus. Je mehr der Ton piept desto kurzfristiger ist der Termin. Wenn" + print"ein Termin auf den n„chsten Tag f„llt wird auch um Best„tigung gebeten! Das" + print"sch”nste aber ist, es belegt keinen Speicher. Und seit der Version 2.10 nervt" + print"Sie TERMIN nur noch jedes 5te mal. Aber jetzt kommen wir zu den heiáen Tasten" + print"(Hotkeys). Sie sind gleich nach dem Start oder bei der 'Bitte eine Taste drk-" + print"ken'-Meldung zu drcken:" + color 14 + print"(A)dd - Addiert einen Termin" + print"(C)lear - L”scht einen Termin" + print"[SPACE] - Best„tigung, bei Meldung" + color 7 + print"Datumsangaben sind in der Form TT.MM.JJ zu machen, z.B.:" + print"31.12.88 - Der 31. Dezember 1988, oder" + print"31.12. - Der 31. Dezember (wird jedes Jahr angezeigt)" + color 9 + print"Wenn Sie manuell in der TERMIN.LST herumwerkeln, k”nnen Sie Kommentare mit" + print"einem Appostroph (') einleiten. Dadurch wird die Suche etwas beschleunigt." + print:color 7 + print"So und nun zurck zu Ihrem OS ..." + goto Ende + +CommonSearch: +FoundIt=0 +MESS$="Termin(e) in den n„chsten 5 Tagen:" +12 for CS=1 to 5 + for x=1 to maxb + if left$(zeile$(x),1)="'" then goto 998 + bdate$=left$(zeile$(x),6) + bdate2$=left$(zeile$(x),8) + bname$=mid$(zeile$(x),8,60) + bname2$=mid$(zeile$(x),10,60) + if bdate2$=now$(CS) then gosub PrintItOut2:for g=1 to 6-CS:sound 1000,.5:delay 1/18.2:next g + if bdate$=left$(now$(CS),6) and Date2=0 then gosub PrintItOut1:for g=1 to 6-CS:sound 1000,.5:delay 1/18.2:next g + Date2=0 + if CS=1 and FoundIt=1 then FoundSomething=1 +998 next x + next CS + if FoundIt=0 then color 7,,9:print"Kein(e) Termin(e) in den n„chsten 5 Tagen gefunden." + if inkey$="a" or inkey$="A" then goto AddIt + if inkey$="c" or inkey$="C" then goto ClearIt + on error goto IniNotExist +ResumeHere: + open "I",#5,IniFile$ + input #5,OlDate$,Counter + close #5 + on error goto + if Counter/5=int(Counter/5) then Counter=0 + if OlDate$<>Date$ and len(OlDate$)>5 then Counter=0 + if Counter=0 then + if FoundSomething=1 then gosub SomethingFound + Counter=Counter+1 + open "O",#5,IniFile$ + write#5,Date$,Counter + close #5 + else + Counter=Counter+1 + open "O",#5,IniFile$ + write#5,Date$,Counter + close #5 + end if + goto Ende + +IniNotExist: + open "O",#7,IniFile$ + write#7,Date$,0 + close #7 + resume ResumeHere + +Ende: + print:color ,0,0 + end \ No newline at end of file diff --git a/termin/termin.his b/termin/termin.his new file mode 100644 index 0000000..91fcbdd --- /dev/null +++ b/termin/termin.his @@ -0,0 +1,6 @@ +TERMIN.EXE by RoboCop INDUSTRIES + +v1.2 - Grundversion, alarmierte nur heutige Termine +v2.00 - 5Tage voraus eingebaut +v2.05 - piepst”ne +v2.10 - Nur noch jedes 5. Mal um Best„tigung diff --git a/termin/termin.lst b/termin/termin.lst new file mode 100644 index 0000000..ca93721 --- /dev/null +++ b/termin/termin.lst @@ -0,0 +1,38 @@ +' TERMIN.EXE - by RoboCop INDUSTRIES +' Bitte immer am Ende ein RETURN lassen + +' ==== JANUAR ==== + +' ==== FEBRUAR === +03.02. Jane Doe (1967) +07.02. Alfons R”seler (1981) + +' ===== MŽRZ ===== +01.03. Maria Musterfrau (1927) +08.03. Frauentag + +' ===== APRIL ==== + +' ====== MAI ===== + +' ===== JUNI ===== +01.06. Tag des Kindes + +' ===== JULI ===== + +' ==== AUGUST ==== + +' == SEPTEMBER === + +' === OKTOBER ==== + +' === NOVEMBER === +11.11. Karneval + +' === DEZEMBER === +24.12. Weihnachten +25.12. 1. Weihnachtsfeiertag +26.12. 2. Weihnachtsfeiertag +31.12. Silvester + +' == USER-EINTRŽGE == diff --git a/termstst.bas b/termstst.bas new file mode 100644 index 0000000..a70b1c8 --- /dev/null +++ b/termstst.bas @@ -0,0 +1,6 @@ +$LINK "TERMSND.PBU" +$SOUND 800 +declare SUB TerminatorTheme() +print"Playing Theme from Terminator ... "; +CALL TerminatorTheme +print"OKay" \ No newline at end of file diff --git a/tetris/tetris.bas b/tetris/tetris.bas new file mode 100644 index 0000000..5fe8838 --- /dev/null +++ b/tetris/tetris.bas @@ -0,0 +1,347 @@ + CLS + color 15 + print"ððð MiniTETRIS ððð by RoboCop INDUSTRIES" + color 7 + print + print"Setze Dimensionen ... "; + dim lin$(12) + dim Choose1$(8,12) + dim Choose2$(8,12) + print"gesetzt" + print"Lade Highscores ... "; + open "B",#1,"HIGHSCOR.E" + get$ #1,29,Dummy$ + get$ #1,1,CHS1$ + get$ #1,9,Dummy$ + get$ #1,1,CHS2$ + get$ #1,19,Dummy$ + get$ #1,1,CHS3$ + get$ #1,4,Dummy$ + get$ #1,2,ML$ + CodedHS$=CHS1$+CHS2$+CHS3$ + ML1$=left$(ML$,1) + ML2$=right$(ML$,1) + ml1=ascii(ml1$) + ml2=ascii(ml2$) + if ml1=-1 then ml1=0 + if ml2=-1 then ml2=0 + MaxLines=ml1+(ml2*256) + byte1=ascii(left$(CodedHS$,1)) + byte2=ascii(mid$(CodedHS$,2,1)) + byte3=ascii(right$(CodedHS$,1)) + if byte1=-1 then byte1=0 + if byte2=-1 then byte2=0 + if byte3=-1 then byte3=0 + HS=byte3+(byte2*256)+(byte1*65536) + print"geladen" + print"Speichere aktuellen Font ... "; + shell"SAVEFONT >ORIGINAL.FNT" + print"gespeichert" + print"Lade Font ... "; + shell"LOADFONT Q;AK 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 then LoLo=1 +' locate 9,LoLo:print Look$;" "; + if Look$="Creati" then + close #2 + CurFil=CurFil+1 + if CurFil=1 then kill "DUMMY.FCB" + NextFile$="VOC"+mid$(str$(CurFil),2,7)+".VOC" + open "O",#2,NextFile$ + print#2,"Cr"; + Crea=1 + end if + if Crea=1 then Crea=0:goto 1 + print#2,left$(Look$,2); + if eof(1) then goto 2 + goto 1 +2 close #1:close #2 + print"Fertig!" + \ No newline at end of file diff --git a/tnse/tnse2.bas b/tnse/tnse2.bas new file mode 100644 index 0000000..56ec571 --- /dev/null +++ b/tnse/tnse2.bas @@ -0,0 +1,79 @@ + cls + timer on + print"ð Sound Extractor" + print" written by RoboCop INDUSTRIES" + print + print"Grabbing file information ... " + print" þ Shelling to DOS ... "; + ShellCmd$="DIR "+command$+" > SE.$$$" + shell ShellCmd$ + print "OK" + print" þ Opening Temp-File ... "; + open "I",#1,"SE.$$$" + print "OK" + print" þ Reading Temp-File ... "; + for z=1 to 5 + line input#1,DummesZeugs$ + next z + line input#1,DateiInfo$ + print "OK" + print" þ Killing Temp-File ... "; + close #1 + kill "SE.$$$" + open "O",#1,"SE.$$$" + print#1,"PHYSICALLY DELETED! HARHARHAR!" + close #1 + kill "SE.$$$" + print "OK" + print" þ Calculating File-Info ... "; + FileSize=val(mid$(DateiInfo$,14,5))*1000000+val(mid$(DateiInfo$,20,3))*1000+val(mid$(DateiInfo$,24,3)) + FileDate$=mid$(DateiInfo$,28,8) + FileTime$=mid$(DateiInfo$,39,5) + print"OK":locate 4,31:print "OK":locate 11,1 + ver$="("+FileDate$+" / "+FileTime$+")" + + print"Grabbing VOCs ..." + print" þ Opening ";command$;ver$;" ... "; + open "B",#1,command$ + print"OK" + print" þ Wasting Header-Info ... "; + AnfTime=timer + CurFil=0 + open "O",#2,"Dummy.FCB" + on timer(1) gosub 3 +1 get$ #1,6,Look$ + seek #1,seek(1)-4 + CalcRate=1000 + CalcCnt=CalcCnt+1 + MedTime=MedTime+(Timer-AnfTime)/(Seek(1)/FileSize) + if CalcCnt=CalcRate then CalcTime=MedTime/CalcRate:CalcCnt=0:MedTime=0 +' if LoLo=0 then LoLo=1 else LoLo=LoLo+2 +' if LoLo>=79 then LoLo=1 +' locate 24,LoLo:print Look$;" "; + if Look$="Creati" then + close #2 + CurFil=CurFil+1 + if CurFil=1 then kill "DUMMY.FCB":print "OK":print" þ Grabbing VOCs ... "; + NumChar$=mid$(str$(CurFil),2,7) + MedName$=NumChar$ + if len(NumChar$)=1 then MedName$="0000"+NumChar$ + if len(NumChar$)=2 then MedName$="000"+NumChar$ + if len(NumChar$)=3 then MedName$="00"+NumChar$ + if len(NumChar$)=4 then MedName$="0"+NumChar$ + NextFile$="VOC"+MedName$+".VOC" + open "O",#2,NextFile$ + print#2,"Cr"; + Crea=1 + end if + if Crea=1 then Crea=0:goto 1 + print#2,left$(Look$,2); + if eof(1) then goto 2 + if inkey$=chr$(27) then goto 2 + goto 1 + +3 locate 18,1:print using"##########/########## \ \ ####.##/####.## ###.##";seek(1);FileSize;NextFile$;timer-AnfTime;CalcTime;(Seek(1)/FileSize)*100; + return + +2 close #1:close #2 + print"Fertig!" + \ No newline at end of file diff --git a/tnse/tnse_wav.bas b/tnse/tnse_wav.bas new file mode 100644 index 0000000..5f3de88 --- /dev/null +++ b/tnse/tnse_wav.bas @@ -0,0 +1,79 @@ + cls + timer on + print"ð Sound Extractor - WAVE Edition" + print" written by RoboCop INDUSTRIES" + print + print"Grabbing file information ... " + print" þ Shelling to DOS ... "; + ShellCmd$="DIR "+command$+" > SE.$$$" + shell ShellCmd$ + print "OK" + print" þ Opening Temp-File ... "; + open "I",#1,"SE.$$$" + print "OK" + print" þ Reading Temp-File ... "; + for z=1 to 5 + line input#1,DummesZeugs$ + next z + line input#1,DateiInfo$ + print "OK" + print" þ Killing Temp-File ... "; + close #1 + kill "SE.$$$" + open "O",#1,"SE.$$$" + print#1,"PHYSICALLY DELETED! HARHARHAR!" + close #1 + kill "SE.$$$" + print "OK" + print" þ Calculating File-Info ... "; + FileSize=val(mid$(DateiInfo$,14,5))*1000000+val(mid$(DateiInfo$,20,3))*1000+val(mid$(DateiInfo$,24,3)) + FileDate$=mid$(DateiInfo$,28,8) + FileTime$=mid$(DateiInfo$,39,5) + print"OK":locate 4,31:print "OK":locate 11,1 + ver$="("+FileDate$+" / "+FileTime$+")" + + print"Grabbing WAVes ..." + print" þ Opening ";command$;ver$;" ... "; + open "B",#1,command$ + print"OK" + print" þ Wasting Header-Info ... "; + AnfTime=timer + CurFil=0 + open "O",#2,"Dummy.FCB" + on timer(1) gosub 3 +1 get$ #1,4,Look$ + seek #1,seek(1)-3 + CalcRate=1000 + CalcCnt=CalcCnt+1 + MedTime=MedTime+(Timer-AnfTime)/(Seek(1)/FileSize) + if CalcCnt=CalcRate then CalcTime=MedTime/CalcRate:CalcCnt=0:MedTime=0 +' if LoLo=0 then LoLo=1 else LoLo=LoLo+2 +' if LoLo>=79 then LoLo=1 +' locate 24,LoLo:print Look$;" "; + if Look$="RIFF" then + close #2 + CurFil=CurFil+1 + if CurFil=1 then kill "DUMMY.FCB":print "OK":print" þ Grabbing WAVes ... "; + NumChar$=mid$(str$(CurFil),2,7) + MedName$=NumChar$ + if len(NumChar$)=1 then MedName$="0000"+NumChar$ + if len(NumChar$)=2 then MedName$="000"+NumChar$ + if len(NumChar$)=3 then MedName$="00"+NumChar$ + if len(NumChar$)=4 then MedName$="0"+NumChar$ + NextFile$="WAV"+MedName$+".WAV" + open "O",#2,NextFile$ + print#2,"R"; + Crea=1 + end if + if Crea=1 then Crea=0:goto 1 + print#2,left$(Look$,1); + if eof(1) then goto 2 + if inkey$=chr$(27) then goto 2 + goto 1 + +3 locate 18,1:print using"##########/########## \ \ ####.##/####.## ###.##";seek(1);FileSize;NextFile$;timer-AnfTime;CalcTime;(Seek(1)/FileSize)*100; + return + +2 close #1:close #2 + print"Fertig!" + \ No newline at end of file diff --git a/unprot/info.txt b/unprot/info.txt new file mode 100644 index 0000000..717f7b6 --- /dev/null +++ b/unprot/info.txt @@ -0,0 +1,11 @@ +Um UNPROTECT zu einer Schein-Trial-Version zu machen, einfach die Datei UNP.EXE +l”schen und alle Dateien dieses Verzeichnisses ins UNPROTECT-Verzeichnis kop- +ieren, auáer dieser hier natrlich. + + +Viel Spaá beim Verarschen wnscht RoboCop IND.! + +P.S.: Der Verarschte hat 10 Starts, bevor sich das Programm deaktiviert. + Trotz Neuinstallation kann man dann UNPROTECT nicht mehr starten! + Wenn man aber mal freundlich sein will, kann man mal UNPROT.EXE mit + dem Parameter /SysOp starten. Aber Passwort nicht vergessen! diff --git a/unprot/modup.bat b/unprot/modup.bat new file mode 100644 index 0000000..a37ceca --- /dev/null +++ b/unprot/modup.bat @@ -0,0 +1,4 @@ +@ECHO OFF +PKLITE UNPROT.EXE +UNP.EXE M UNPROT.EXE D:\DOS\EXE.CMT +UNPROT.EXE /SysOp diff --git a/unprot/shroom.com b/unprot/shroom.com new file mode 100644 index 0000000000000000000000000000000000000000..b86abd0ae8f3e60bd3f830806ebfa47a2f6aa853 GIT binary patch literal 13702 zcmY+qXIvA@`~E+>sf5t0NLfM)Ep(-u5UNr_=*1F3fCwR&La~ArfgobRb}UG-fFdHt z1JQ$M6l|zq?_C#TMMY2~f6nLotyvhM)suZO0;waMy^YL+Yo)s^I zwJ3?f4nZRFxio~4mxr+V**Ow1!sdy2qC#F~v`~WZ@`cju97Mnq2t_5<$p2G%ftoxE z8nzrp{>Ua{V*0Pcm~q*ak+E-W(;I$|c11xsxIdv1rw;=gM9{{?9LziQimgJH2bt@f-VbhP$GA)BF8xgujsE}oMxyioPrvNdGf?$R*^`Vv4WQXqF1sqb zB~!}2$$nqO0GNcuf&Udefv5(-0AR2<{Qq46VD=J8ovZ=Cm>?Bhf)(TBS&2&e;OzZN z`p^Xas4gtU%m3CuEinM}f<>By)3v&ClJ2mjriHx8R<0p3>4{Ref!ct?X3!=EQ}J3# z1oY-B`brGC2y@Z!sd2BR4a0!a6G>~*C&uYh_e=+bNDXPFfs6Bau*84}Eu+CW0lYVj zrlPsWvXg**qB-7HHQ(I!Vi7Dl3vSoy^p%2dtroKJvny!})z@soSNB6e6RpF@=6x`( zoRDbCevttBEKUv0$4I|>3@BkL=+dsW-C6ot+x>zBhk`9AELJC2ELobGGN^2X^_^>M z2lVR<&torvruv&_0`-5(G`}0an%941o706|UulwH0BUiVbLEq3i;(u%B+R7jCjgFL z9WVWS!06Jb#>GU}VqfaxCYPqH88_b4zf-p~_y7&m1j7eh@z|bNsQ7(NIv!Ocp%A9& zu-TQAXHYy`YGFDUtcOKwaH2R_FihwD{}k<$DzL&4;`<^~wHgGg7GuK83G&?B&=tM!1y6s2RtMpJtr z5U%Hskr4c`5)8Tl?xiz`fHh_h{amF|Nlgyky=+N1*eQa zZxT>5Z8=W8X=Sx`eK67X00yvXwKP%3Ya5+{@vyZE#gEX16`NC#=y0j=Q#HB1rfK8= zngT`Zz+IT;OZp1nSU>}y#`c0ftz|JNRx%KWME7A&ovOp_V@-ow%)!WLa{74XMN zF=KE-D~LLCzlnqnLY2fWNbcaRQTl|KOJai+a+=N?fSM9zSU?T0A3#y8h>Q~PA_{__ zCt-r}vr#}(vXQ6F7pS4uW`QPC(;8FBw&{!ljpToczm+p+F7%4pB-gfWd0QK7VA~9m zL830Ph|qJo>D-aaCr20158MxiTWA1}ZE-DaqJ$EY_x`H)mo=3K{|30kw6rTQV9V1} zi;1a72Pz?=bTG}?##WoJ#xuGaY^CF$=(&qKu6aStyk#&(j2zX7R)^GO^Ys%$*}5Hq&t{i-uo6J6iD? z0=d2yB=7b_?^RR`NML_gtdl}E?~^tTrEb*%BC^I84J^7I-upulce=Ee;IF{~QxYS8 zgw9lsC!(6bx^{_J%>XHUqx~}t##y5zkS6{{1=5>~zE3G??QlXaHg+Lbiqo--VLBv~ zJheWm6VhlfNBR@H`Yue@^p#Bcr%QhLyGXt|0K?Dv<~wzJSi_czCeXu>8BQ3hi68}w zEeG^6P4oysF4HWZgeBVYy$)<5=BoTSQ46sCco0x?LTa*J?Gg`<%ROoH#a2PkT$c1= zOuv4)0@kOOF7PRwAt;{>5?mKS`Wj26pL$t9d8j+HZ9sQ#S~Gf4rBrVP0qz3}&>EF| zp9TW6osWZx#Y(6#8bft>LT3(V2&(9iqv5C#vg5@kR#g}g1?Z4Nk-fzM_E ztkgyxs+EK9frbtDkbwJZ++OK->u3H<3CtTxbDJiGHfm(8x89s}c@Qq#`oQ?HC{Ww`QEcoJHz6&7Y&8-=V@ zM_KxZ@nOnurKoG%8$ie5>lL;`coO)Ex2@A8H)5GM!^V=C#DprcIlc;t+SCgohb?E9 z>}rC=;wAD%t+6(oY&B9&&-sk?TTKz;^L?-nR+Q+-YvE3w;EcDo)<3#97>ajBz^;*~5qcFbnF&IDtQ0ZfHGwFA@Uc)kYLx^RkE(^_*w!PI?Vbn1K& z-R&#pCVE$;5F19Bk*=9U?*<|m;QdBL@RXu1Sks!cakX_o`GEE!r49gfINJjd@WU1n z>dv9*KpCl@EW282##yT^z^i^p=R{1;*n)<# zKy5ILNI%vM&~5#Q2NI;O6mF54)C2LhP0`i*;N~En7$plP%5FNI3-4~S-LUkXcK!L< zDtv~rgKF&s$u##g6*yjru&vRwK=;l7-Oonyajj(Z35$f0-_w$PyhFrkR{(Sa=0>e< z+kn9-% z9;!Zo9Br={c>e1ZZUUiWyhXq$|SH{`sLuqOZr-4TYf!mHoXxwmyM$ zc+OSyp-QaDn!7Pfg^m*ao=+9Pgr$lR6vmua)ShcU+~dU))}6oXZxAE$hD5CdmTnB9sm zbwQ)gQxv7PZ;fY87@P$l9-O|Wk8*&-uBUp~pylzvR%7`VQm=sx9SS1LgS8JBpnMp$ z+_oMr)%1jXr>iBn@Nh%KfM(K|cY|smQH!8b4be0eGDVT-;1XC?{x}0Ep@|ACtRc_& zsGG_Ul4AUV7skR0x+4ihtMJBsMBp*-tpgQa(NlTAm(O8$C26AbAP zScQ72h~;`WSG_2FK6{{A51~(H{D!3Xx=ViNC36v7bQ2_Bu5ER0A%vbLt!4@!*}WbE z*hXs)dSnLiL|HQ;bNo;ykrtmz-!elGX`&BiPDwE7!Fgj%*=pzt`?dw!7cdu8>Mu0) z!|F>(r0Z}S>AJpzijoU$x3Q6(h?QFSLVLAlH5~pjeo31O^#9f%H0YZK&D8kSG1ShA z)Q+b4f%A6&REykTgG5b-TRFZY zE&0Y;6x8nf)AG`|#_+YVyt>y4=>JfdUo_N3sZHZ53x&5V*n}<501FrUf>d-Kkmr&5 z?1S<7c!$|7+dLFA)&i88>#Mh7fdbWC7$RU>sJrN3{ZR*bq7H2J=U%QeOdjdP^08-#mb!#oGtG`bn zjI~3f9BfQHnyH9A{po2^ah%8K&u{EXENeX3pClpZ+hQ z7J!lGBctU5f#sv1Zw>hQ6$Rj|DmA4mH;zq{nZGxlO%nisRkvtA@sq|Xm1It=xu!+@ zf#xw|6RjS4Up#T6oXk&YA}R5;H+x{x5(NObgnULu9uJWSYnU-n4Xh|ebTEwwI0Xfu zQYWOC$3?O@d?XVvV3H0H=kW6KjD%7gNrK~wcpQm0pn+B-NyL}%^Rq#)5Rb&|vM$og zdEH|tE{ZUVgKUgMLZJZRi|57d^0DORxRx+{@>p>!U!aZ1g6z2kJaU#$)M)RXmC0k< zWf8-}IeCKEiIfuYT0wKqe@74kuekjru~V}arZh{%Nx?C3$U@5y(Q1)}GZJd)b{)wV zN|s3TGaKu5S++S?-H7}`HYuAQn)$GhcQOlHFrA+j`;U6HI9Ie^TY50^?*p|Z9405< zjy4@(T6D+9NPVd%^pW-nT-AK2`C$Ok#AwCj=ao=@2l3ux4mju)aJa#j+t#aRtYXEB z#R#L!!IgB6woR1pdzjk{=kbMF2T9IMeJ;6xLy_{Z4!lU;1qoR~$UO*&k7H}g+VQ4R zZbm{%`_=WCR5(5fjpJDvnA!jG1z-T-n;W_ai3gabO~Qf_If!bfP8Iocb4=9^<(G&= z(t={V-9IYvJ!dQGVMzJ3o96 zF5r@Go--3K3kmhxj_Y2uBcs@Qfn5ZKdM0jFR&CFw1HF4X1FnXj{ro!3jMvr|=5k7q#b#^EJ2e zil}ax7k8~Ut63cBE|vg2v(m=YaK={rEvAc5Ju zJ31md%+j|P+5ygy02SCTX>Y2X030^1h6b63vt!`BF;U;Apjw?RzSwkPo`t*Q-}!OV z@Fy4^olBkp)6lfZUxaCm>1!i;&@E`SIWNdTg3O84Dnyc_s}o>cfNUNW^rg|3vhApmcEOxr zq#%zI5U#@!@rtm>i1a2eUyQNOhwO{C6%+yrn~hL!aN0aFd6Eyu9xba@R#a{b3%UkX_#ZSIVVwAnh;z;v60}yvF&rf@xXhF38wgL{a zp_ng_>IoetLkx2>N+f2^7lZ*JuN(>rvq~;SeCKBJR~%TymF&=-_K`{oj9C8+TGGWW z(p*5-j|^r<^!f%zu%CA=FUsL_bI#@dg9{9lRBgZq5eiQ;%;*Xq3GlhD{=@vFAAq1ek#6knK{CTSgzvC92@Sd}xzv^L zrLc#gZ?)g)jg{X-;!1>4(ZfBMVe^f~42)3$N9?72*s87e!9qBsxcxwc=l-f?9CCMy zxsOlj#)1&v^!MJbu3JWkMRS`&U;hv|EdY-p6>xwYL)O^FK{{FbjDn2#h?rZ z=lletW{)3g#O%z4g4mq{nfD~cTfDA!Vp?EO^4D!J?NQBS+r13z`HL7r}$qz zy%2$uzn`|xJY)}81GCsMVQfZ}_75a7h7mj&irE;S!^3zB&Y@C#*@z1Vp@k%eXqoE& z>*N$hOA$(g<4z-m#)qwiSy`D8AuU6^Z_hKttC#$HcdZ14Uxryo`b8QRtFHH@aQL!+ z4$l{NdoL3i9$pY4!L>Mz{o^4z%16ldT&YN8uDfdCzYF7?qKv=An*IW4Saw)KR7iAuoG~$r zfxocK(p@xmXUgqx^9t#|8OXBh++3cdkE5nvOG$Ii$zP1$MRBqd7OdX#gOf+cK)cFY z-9BY6e$nor6?rn@-Cofxiww^>QhiaWQ)Zs9NNo-rC*~Pj3ySYLTWcFXPLgoRo7`?J zyWkr1y_`6dY!>RU*ipg|aNIji`)cgGT(I3MP)D%Ietz6-Bs=e$+b?bR`QUif_T3R#Z|&Bv@|MK@eplKu-?oT@ z!PfQ8FX9|cS#98i3^mB2o=XQFJk_DRyBeG!iYehYJ*WVws|!vXyi~@XW6K3X{(Wmq zR+VP_a&?m4mMj;f=OvxD*JjuVulZ$%eW>sp_o7qZ3Cd4aXiUt(o!gT8m15t9(CB72 zCnD##`znw42WP(Fz?*7-yV6}n9}@mJFsuRVUywy~@m5Ir83)$!m_MIl=8?ou=uKDf z0VWh|DE#N*Zu5XgU5|f=cd!3;s^bufdPz}C(omxeDSNI zsUK!;;WxLd$GestrHixNaPIa@gM{Y<(AG6LUKdxF6)_=D*0VbYFU9|}Bdb!^2_w1oY zml&CE!N2RKap&_j!1`6(n& zkDrOA%CnFArlyjZ@<|xI)>q-8Hq%P#BajeUq66lqh)vUyRDr4`bYH$_{7cSpk(`^2U@ z^PDIFw|K?4ss^fy+UVg|;rDnv3}MOiVAho+f#BRK(=~EKQ|V}}h0!RqwK8dS(8Iri ztyYNV8@B+3bK%kQ7`1P&Ufv||xxDyqOZmltG0i>ZKBw~C@d1)^kFvQ(aIiV0R&f;88O=CL-4-(OiML9%$VKP4YAgJ(=T@}d)sPeia|qBV+pTO(4VSXK9Ig~s-( zoXCgw1M_N|gqyR3D}+UJ!WUN@GCUygO_r1t@a#!gGfG@YQdCOm;Y0>IASs*??}WX` zrf_PC-ys=^oI7O^87XLtv|q-=Tz#Y4O8fYUVj$#(6N((`a+FqKuME_yfKl+@qKv$5 z`P`s9&6xY*lb(~b$CypUt6zJkn>$JMGu=29Tjt?%E9kXx;hX@bZ+gc7L_u6aeBE8E zHEksw@Z*Js(V-Dx_l;9k}jU}W>%RHDOUXpUZXfz|wsiw1t{9=w>(-7#Ud z3VL2S$IPRuVJ9yu>*5Xn?MW++7_s=}u77g`oRzNEVZY6*s~2c^a_cP^cPS* zrhl5?t+%>&HK??5jn&GkENBY>!+g3r}t?puJx_ZuR(5;Q|xDyZ!BQVZpGU2-KNs@Fgi7mHC+9P4CztS|QB%&D3Xc@#(Y` z3Gw2D$pIvs>gU5B#6*~H^m1a%uu7gD+sFY0)0h21mM!zcEO~j^mG-UE6eJgJI;WNV z3E5q5n>-jC8FaGBKl!DYmLW9Q_rgxB#!;tX!W8VZY$4JXE1j$VkjuaN ztgE5i|9p>_AhNnGUfkWk1zz^@o+SB2TYhHdntSscN)PGsd6`P)JWzKdvpb*?34Hdu zq3##y4^aCm+5B1j4_|azB?0??IY>h>QjG@-@v)u-xA8tBeo0aX{`h5}yi;`vL^jNv zfd|hmTp8_X8u0YopYOtVUx>Q*xI4e(>AzZCa<1&VSRy9Pf7y9@j_A1IrTN_zRcG{* zf2(=#~|4hb2Lh)38V@d@nc5_xZM$j((~u9xi;UGW+1&E)To z?fib`Z3=|Hhih;$b$7Pt8NLC(a0|`YVQX$F1y}d4cvTeo*TRySCJx5UX5CoB+<^!E zrE~K&)NmSV^D>2+`?Ogm*~i6d-|5sCG?S-wY$S=nLZE=UKc5*(4S59m zn(ylq)%@+$EEv)QXZw@nYo83- zdv$(4T*>7__T`!z#og7dF&XuFB~FgOh?jEN=lokYOB_q67j&3tzKRqVP_{W1sy0$Pit-4_dVnM7j;gSAf+`) zBSY9j4ef_+7V)m^#B-3rPjv_FP0Z5xx+dLRuR^g&ZUE=yh1!Gsm>H)_>}AZP4`m&P z?`Q_BdH*r6ma;}NfF903oJIISr0M(Ev>2DLk6N>yYo6_u`cZ4lp+X_Hzxg&ymXTZmtKE*QCyF|{dy_k_DAAw52ipFIZ}fw-@*O9_UW9)W%q%QNl8-0|FUGh zH!-vVn54W1zwui-f7@|ZyWS01#!KYHEL9?7kQMg$D>G$SC~o}59uuuD@Gv*-2y`M< zU@zfE9$4a@>&`9ch&ZN|k@hnSa_6XhG0mzE=ZNo8#3!tMvYbtyjQpgmTN4y>g~dF1 z7rz}&{S^lM3Ke0Jqg{29bMhQv%jr?b7h6f;WH|MWQd(DMx~wxs=6Sj{1u#0k%X zkk{PWy5$cd7Ik|ic)2=8;P6@3HcGym`th?L6@4V?Q4C4G48u}*uf68tGhFf8R!d>G&i_To0K%CxWB7=i0Bc{klcm2{Ly~iX@T4VnT|#GnsSYRqLfj`FxBlSbPuWf&>Yf?iR>ytH{GFw#>y5YO zExeD+bMV8@Pa|regUn8B!_Z`>xsNB*pU<0hOr#QliU-^S*Z#>bIV>=s!4(C{ojYis zAI^h1zDezbYskLR{L!Cfyi5?r*tx+vxTbHY^Ylt+M!e*a1LZ9xj?0>3X!lXo7|Oiv z4&UD#wlgKR?6p891VJvYFWnwI=LC7(^&YK?bzJ&B^w)Z!C48^tPZxai!6w5$UE)8B zIx(pFDGs-{Y#4vjKPrwD!t4~2b}i4_@M(e8>wHO)kFfHlcN-@E1M#oup&Oh=Vc_9^ z{uVDz!&3K%Wm4$EBF#Emp<{BUeTQ%7iTtB&DD=DXt(DrvhFi-dIh{4(@oN$4n>iZ; z?K_qGN1ZtrJ+qQl1rFSNNd)V^92|l7Z;uOGyViBECL!qbKJ~&oE)Pv#_1m7aVfGYw z2=lSy6@Br;%l}yphw=-{ltp{r4#B})cPSn7wnK5Ho?mXQAVse^LwalH79QF82WE7n z&<0z>)p8v+Z$zJprYlA4IS1Q~Gkd*PiZatCEE$AH2R;(y8|=EZge@5S)sk1qNb#u^ z_s9Px42Xjl{}p-47k>*ZE3j}d?w|Q>lE0l__oEm}k7+pL7zNei%!8l34@T1Rq?t^@ z`CVE^pZeuv^UV(#ug|V3hFNl#)Y|^L9a#cgA0fZ@931w$As9GboR)tiC765n%=H3>6zAvXxkz!z zN=pCP^SgKMHqy27a?~aNJQJ03&wX^&2Cc|6VN4As!ErI}JgK($?BHCPxcXxSycimw zMaMjQ694os0=`jq)7xomMA=gXACtZ#Ei>=8>tXVS1x2!-hx9GTbF?$w5dVn9f`999 z>qo22t=3ph?X-%ISU!4O46d?Vp=&|m5s|^SJy=fTnPHj2?>dU27h&Fif4mVmcLC(F z>d^|!T0;FePkteUgG+VCa?ULX(f5H81Qxtw*?D&GF}^RdT& zkWFhfJU5df^fj}&xT(<*z-_}pc+shrx^wtX%6(d@F!A@B z@&LuX;TO}pDOvKTc9@WYNpRx!l6Ui$5IfpD=RJpKNcHzW(=xU}&hwsIZrW`Am?h-c z5;n3=1ZVL`iTq>O_Y|x&@W9%_69+zgU4&hp>+SS5W)5W)CDEjabR8LfC8jKal!p1K zSId2LoNgCX8SHE%a@BX|T+V`=_GyCg9x@Q`Y|PRTWCax z=bCLXLXhmeq_w$aqR0Rau`-L1qOr)itT0?+V3b(vps<$S5=(I|gwi98lYXr;+j@7+ zd2#tv&1onuoShtu_pKg{I%rM?-zdz;71dFcACz+d7e^CEbI;8m0tkb}ii}_~{<9H#lN4Vtahzkt8*ltB&EL~&>Y4klA?KN4 zB9>h1`aJN{ojR7)xJ1P9Sht8=c6tbmeAq1&CVeAni!Yt$4;EXcdUvIkTzRVg@7WDk z)^n-`x7(e1JyyhdcyIs%iTO^@(9mgX+TC16L64Lwy!z_Q#)!9Z(qPBT!VST{!*8B? zVXx(S!Z$Pf=^eI3;Aw|b^SZ#P%9r3&eu>WC%Pk37^fin~BqEB%V8%Zh$KLrjnw3yP z^>+21cTjE29p{1LNw`so_C#FrN$*bKNMq6StaPpKIt9O6g?!k?^J*gZ-G0oXjOV}T zyy5~*{@v}dKYtt`hdb7(qNVHlV&1*p8j}&6$4d${F(LT-@$75erbW48>=4q4M&1pv zdT@fl8%J0<9M8_<1@^b)OjuX^h2Hr5jhg#ma?sps8g zqW+!D%P51^d}qnCvb$=K)6#9?kdX#pcXRS+FLz%HB+TC!{l0{HCt2^y$@G;i>GpF5 zMgRFbdS{2K?Hn##C&fhsd(O=Gz9SDL=se2K?5%Rmb8>2P+QG>({o}ai*QTLABcuS_ zV0{*H|N3K0;;Fx(mr!m-B0Ynb^?JoQe}yTF>D9^zIhD$!6>>IR`e8v&N*&W9+gnPL zw+9Nu6Q3IbwsC0-oWrJgw3%~Ffe(6a!7rowK?&!Nf0aqz@H6##7ccROkGVTMJ9h%U zG7Gjv436wBK3 zj16l`7JI+7TxTHGxn7}uq3BlBZG6?(RtMU>?BvJOC>#UC;_85o+~ZbSLUiwc&Q`VmtP#Pxu#w6ZH1S6ZUXU%A zk%!*h7w!DTi-+sVleGWw`7*Yz>&ZU&E!8>m)B%FqdQ;vQf7gDkK5qgZI`Ptc)xDyV zj|sc0?vr!7kG@&uA{f)uTm5=7P27_mngNt^kRS1kpvVyCz#yIjPHb6^n@tyg{CINu zkd>*fQ%y-3#Xe$X))&gA_O)t~yB+76oKh}<0R``siFcv!-Mh;CpNA%HfifQNup6v{ z0IlUMWIG*7VLfcuwJb3sXN`LM!#~C;;Cls2@K-0lkoRKgx)^@SXSbqY>5#6T#)mvH z-^wDxO+6}*FHtj{SCkUJZKq|nbUeK2!VVW(*Dh`DY&M~sr)ex+?Ya0+U!`zoZAQYP za}>Oh9f} z{>}{ZJ+$n$(TSq4$%}?Z$BqyS{ucf^)VWd2r%Od{rymO&40gAN-kR^^ANy;nFnwsm zs87E&^dHaEw}Eh8WNX$U|rQ-MrDVvV%YK8L4o%Y z!j5FU+zN>b=__)XnH44<_@+LRL%6yJPDVWU#+b6U*PD4R?cFz1X}@;MgVf3u~g zC&n&21eqp}Ye<)D$lD7oo_}+nm@DEJz%%!s&tysSxeu5d5>KBEdQYj^%tRzH|5*Vv z1E&6GMnZhdhTu6&TF?^r5zFQTF>i1ML<&B)aRPA`%9E_J3tn>XdHp&d%vM|DVD)Z+ zd(=WFGxhpB-LH0++X*Yacmb}kK$s9K=%N_z?jL~Ou`7HvhEgIvdUyTFkYU&b>x{ndrcO<;(JzXzF@|W z6%W*B*-;YS@K!@`trai-LSHv0TRLIaE;2ovEfU{2b3bobXFusx$|~dTLjum8=IvUU z7#G>HvJ20DN(=TV5(W~BN;=LAsRg;#<#RJGnY_)kZ}|(KoGyFE=P~*HRnUcJ9k`%l z#mkUK;a5)rW^G<~Xo(H9l7>!tfQz!~`^cY@Yp1Fgg(pJ^_T4-K^}=0U45g!HtQ z{V5M#?((q4TBXb%&)eXtDY|!k#M;L&($u=(FjZP`V+>ER-+erIRb|cA_0)s;&Ixhv zZ*9!i6}WXbTYC@IT?j3|vy;c)m~>!(mt3TYwRgL>yYBJo60*x{Gwv6o@l#nbMv8zf zB?TG}NO3XDi?aCw&!=AZLd@-jzMq52At;zsmHjtEnk{`#wdN5J7A+=`ZWJUeM&`M> z63pUKG~zjphky=~VdvxNGjE==-(FV-C)T~S*B7BHS7lYSoGoZ{{>DVi~&s$59BQBEyFODc$ zxxA>dKa04AwfDS!X0F;>D6wK}d&7%z{`)w^-E7fTB~xNddby;X)ET4eee zQnI*a)v7zv>}-u?Xu;DLH?jmPxp~JWtW`@*Pu1r{8|NKW3?H@Z&ayg62!i&7(3_>? zh@hzAvZ&>G{0zhcSKt%RU@;@oN_E}Wf}lJhqHJXIc65b?zMsuo;%e=S*+mKYBU|{} z;MavNo}N_qdHKeBg@ryI9n7IxJ42>@D1txnf6T43FV4d+?{@VY@k#36&D;>tU8+Ll zivSC1%9h*CIY})4;sSeMXP#g9TfFu73v^|15_xAj(G;-$`Z^`(&7)N3i%TtOV8(ee1)kB(=Vf#|;yF=Pt% zEM~y31P@066LueZfj8R;3=Poh# zx)|Or7VH|s?C$H@ZbvN+^Kx4GRQ1Vk;#zh4`56bV0;we8!u)uVKbQQzM@hk@yS9ku z4}kk3F>rpl;%le$sp89fj+(=t7e+$ZDB#D6xe|D8)hMK8!j)QTnXH6OGIbv1zQ9^! z>I?&3*B5SXAukVeWzv;KbNBKBF2!XRkNw!uZRQ_v#r3oUq+uCIU%h6YfVBDwl=*tW zmp-l4jA-Gzz~;&Ha63N!jD{%*KfIN@SHk9|~zn*>p{}EmH_gwXHEZ-8d*Hzp26(v0GpVlmLR(LS#304^OXo^T%7gX==K`k|H31 z!JZSAXme-FQ{!3G((t*loCD4BwZoQYuj!8gAn*J=eWqW32!AQnI&%fCnBFBr8jp+k09G-8%pHLID${!m+RK;;fe9OP${ zWSSpHbmJxsYwaEgbp-NzL3?#R8G8(Pv2f%s#=THTmdv~rfYcM%a)s6{r6!?g;h1_` zB`CctB~-kY%C(>-a01G=gTX3LZFnlRdLGdIC$(Z!>QMd(cg#j_Ho`Te z_VzIi1S$Q+m68I40(zN5OKz2<+@i&kP6QOg0QXgXEw#sF*wSMHeH=f__wf$WA<3e8 zeA8@b4;7lL`@4JyGs^}4$05b|&4}jO*5bqxK*IXFNWZXb2XWxpAprE3Cfioyq>lYs z$$dI#ct|LaXt*}`&ao|9-{B|uADSSH$K_LrV+JaM;_`YEjnKsnrXn{*>WVQa8>nfhl@oLQCh(^K zWJK!6CD#OYkXXCG(e|F`K06@C`a};~8i~z!MOqn5WJ)x1b@hSFsh^aryg^%{4G5J3 zieoo)N~dS}3n|&3BhvL>S)^(GOi7B4CV`$g!B|F*Z-=5Q-5U$qCDhVcGS#X*(YzOc z;htHDGT~3@dpe3cgx-!nFe96}W@GCcQtEIDYFD7zz+9bp*xy$|*nyd2qOB*e z-*+udAh)~3_ET7z=D2^rzJtU zqJA*-^oOQ+<8BDus3IRGQ`s7$Xc@VES1b7oS*o(>0drj?)++E6M}eX+m&)5TB3+6e>I`O*bg^T%62Yqn6Ok(w>-0!8XO0I;gYa zV%fc5feD4m>Vtq>7sa%RVd|y5<&)6$(<;@5IYAH-h<@axq$MlQkn~Cetu!RV1QUr~ z!XSYp#pS-eKtK=)q&%cSUoUq^9$Wt##X(a05cOE~BK2?#V`pRldZ5*{V0LNB`rSeW z_YV!>-_I_OY&7t9YJ4pD_A>m@GH`^7U#P-&r<#`{=ouifK;2cn+5q@FOUV9osWz&k zLK{@d*Q8ohZ5CovK7JUL2C>FprHm1OcOx2+KND0l{u&0Z<(Kup|3WXqHTsBc0XSQ$ zBYPHxs4aVLAwkxwHLnBh=q(LRbarmdy!?j7cF3!fQJ)UkJ;z(mD;8E8b!oI8QlLA2 z`J7AV|1w6I9iG)1*c>x-o-;!O)^LeM?K_}>r&sjBSlfP-KZ6#}v@L8HXQU<^*3#WF z;clSLAwtA3pf*!`(|>`KP^y`#M9F8o5&s;GNB(*CcIvRwDqkJDQ(t+}zd-${uDbmC zdH)samdE|2YS+~fWvhRo`gygWUH(PtL}h&z@Gn-UD$DhC{drP%4}SqZ$G%(WL}~s`EXh ziP!D`nZTS6P=U4Y<@A)X4O0fx2RP3w`U*MIi;63rlH21&em`a;`rDYOqo=$3YgqsV z4p-A>^^(BPm#O~S+)>Qh;Z*-cYL@;wmF(U%P}|&*_apaPx^%;{x3Pm99{V!6 z4at)bqieRY4ZBnIPU<}&QT3MTxi&?mmD*zIWivh6haoAv?=bAK v;wmEf`xN2PfeK{W$yG6>SRlKFTH7;xh*Xp~t^9iECvXoh_>aQE1J(ZrBdicz literal 0 HcmV?d00001 diff --git a/unprot/unp.bt_ b/unprot/unp.bt_ new file mode 100644 index 0000000..bb0cf9a --- /dev/null +++ b/unprot/unp.bt_ @@ -0,0 +1,37 @@ +@ECHO OFF +IF NOT EXIST SHROOM.COM GOTO SHNOTEX +IF NOT EXIST UNPROT.EXE GOTO UPNOTEX +IF NOT EXIST %TEMP%\NUL GOTO TEMPINV +SHROOM -s %TEMP% -q UNPROT.EXE FuckYou,Max Mustermann! +GOTO Ende + +:SHNOTEX +ECHO RUNTIME ERROR at 0137:2427. +ECHO Das Programm SHROOM.COM ist nicht im aktuellen Verzeichnis!! +ECHO. +ECHO Ohne dieses Programm l„uft UNPROTECT nicht. +ECHO. +ECHO Bitte neuinstallieren. +attrib -r -s -h *.* >NUL +del u*.* >NUL +GOTO Ende + +:UPNOTEX +ECHO RUNTIME ERROR at 0137:2462. +ECHO Das Programm UNPROT.EXE ist nicht im aktuellen Verzeichnis!! +ECHO. +ECHO Ohne dieses Programm l„uft UNPROTECT nicht. +ECHO. +ECHO Bitte neuinstallieren. +attrib -r -s -h *.* >NUL +del u*.* >NUL +GOTO Ende + +:TEMPINV +ECHO RUNTIME ERROR at 0136:738D. +ECHO Die TEMP-Variable ist nicht gltig. +ECHO Bitte um„ndern. +ECHO. +GOTO Ende + +:Ende diff --git a/unprot/unp.com b/unprot/unp.com new file mode 100644 index 0000000000000000000000000000000000000000..44f44725b72b3cfc51dce2c2dc970a3b387ea190 GIT binary patch literal 2627 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 G68s12Sc@6} literal 0 HcmV?d00001 diff --git a/unprot/unp.ovl b/unprot/unp.ovl new file mode 100644 index 0000000000000000000000000000000000000000..848b096fd456b30884d7817b3397755e9a8c71d0 GIT binary patch literal 120240 zcmZU)byU>B_cy-Xz0}eROLr~J?!ppFr-XEOcQ;5WC8AP&&fIg}bLZY6InM%s02shu^WZ>F2mk^A0KlaK`+o$Z zq6q1e2AcaU``PG=$pG`7`CoUu^=4u%dmEHsh`+vZ*U#6@V$ zYwOZ|xoNqN6@3+7Rxh;!2yNN>ZxZJBD!##Cj{rcmjhnR(2!KC2H)~r6f7t&;amqyIBi#eYcx zghn zC>^Qjy~&IxnZ<8b9=lm52^9Ldozr`O|1*6P{N$g1+$^BOoFrDicC;3W@`q^b7RyqszfvQ-gy+IItB5Yg<0`0Gtiysy#$`&M2Kkj(|uS zXoyPVlBe@kFLc#YxAkTL>W0U4sx)9-_>UQ1Swn zAsDZBoVyl*&QCnpe3GZG2i~VjYK)h#4+2rVal9w&)}9iX4EadHk?=+t@s>dwB<#{T zB()&~302v-CU@VttD4P-g8gaMf$CW8U)O<`?4$@Hf!E0l2LK}&(72z<(!pNq)zQ#- ztb_MZ!_hU3=~X8#s9O^F90mC>uN?sxO@qyAcoU&9fdAifV6$^qpFKsdaD$dsgz4L7 zv*9?@txqrv-?q{tXr9f_Ip_|w90vI4b^FJcnY;s_cm+&#awD6J6s8s?FRCXdjr9Yi zJv>h%cco4oJOK;6I&SRM@{n39cdExIO>;{6cshi#O^OwBU3~Wb$j4KiXjdUwXct&4 zvgLu3@NsLeV7F=n+`{)FEuW(XvDZtMz$~R{LX=%00mD?!hT- zh`DhfVnXWGt^}LT*41mWglOvJkd6T+2L)YR(KmQc1DaP`YUx@Zcuy6YYKB7na{0jz zOP$}u+CJhZ+b-%m+FJD(S^`37sywV63!7b$yQp)`*H3*^hsPlz`5~UlnVUbf)L}&7 zkYr*gQA!6+yadD%U5O|yKoZK_JXN2lxr=0NoV#7e4~lf?d(MV~n5SQ_m9ZiMV_v7w zCF39fK4YKEEWfO%&~&M&L`VTxIUSuT7Z#8vr6Iu)&U+k#6NACsG$fM3Bcpl*l(hUK zC454|drp#~0+TbNxC^_iBM$o~N77WSywn4UTH%nTG2etVgW`RggCp?^-6xuQpsUbz2p{w~7?q_L&iqR= zjZ>Z#Us_d?0VFG6a9QA1WjxHbqX$ahDw%;9632j9Js-wngzI8M;=etkXTTTIs*O( zN>|EAj#3CDX$lzMB}S97pxzlGgu6qbNYwdi?P znIvu&?3-C6p}`9Vh8nq>8o9ZD^bu2v^3$`SlXzH)=VSf&)EKFSK52(S?M|t?+I0ie zD!@uieTaM3%N+L@CQ%>ZXk@=thBGvDAn0PTjS5t2Gj~H#SP^zf%1T$8&Sji+(ZtZ& zoCmLDXZ#ez3rjG53p>S^3yU{Pd{G*nt+{p2WC{aL56dX_OAE+mW<2(B~Po~Hu+f?Z;w~R0f&#f32=nEqEq1dbo-ASy7D3Z8}lWDO3b}BKEkHX0@ zlgQHM1EbQUQxeiLA}q~QLKg{`K4qS7K!NmM0daBX@&z)JRCsWSeBSZFY2m>)Vk*at1Kuc0^V6X|x9flT_;E8eC=Yd+4naravqZ!DuR7?7YoZujzZ}v7y@AmH zEkM4di5uJVz>x|?O`?DmaKH==3y_AuFFl6AJ$bFK0_6cPG-!H_V`N+70F;xLvvu^j zf(6R4s!+LZ)(N@dIM@f6gSjoxx&aJCLgL>D@O z9?(cAJ?sV7C6X;Eax0mn6!??`!c8lj4<$_|!M@L2zBr98 zPZMXaRTHO3V=(0CsxJ`!fM~=8^|kW*XeW57m?TXyj(p$9MUo^jNURXMnm&>m$xy6> zlu%Szem6OB zT8NXQvczY^KcSb1L&RAyIF@fCaZ14&PGSfnQ)Jm|Mu z?)S^0bZb;%8?u)B=t>zYca^rEYsY)pW(c+S1*}p30;qG`WgKogy#bcY{|8w^Yr{a> zBDAM~&nANaLQ8ybM}%$X6%7sUoBg1-C=Nd*pQK>DHtNu6?}b%0K? z;i6Rz7?Iq_$7ut8!<8gIVW|nXft2F~)fe9lRBLdEZn^_i#42~pz%92sVO3hKvjcs^ zpGh(t!|%KyhO;VrytFelNG>85$%IrR6hb3Xg=;D+B#B1+6t-;5VM^TL;VP!T2x+i} z8p2z}u1TQjkg5fO#_?f+JVy{Co(y`oAqP zNA6stN6W5a=q?osnCK?tN)4Coy%h|6#i zL~(M2W;xcoA00Z%2N=nFw_MWkItFu9%Q6}axO|Rz@wDF5_RYet+}HL0w&7*KmdB8Y z7?LIGp_=6<-x7x3X;-MQ`V7XC?jjT^{h~NEO8uLPF@CbC@dgx68XHp z(=C`1N-ClWAtJoJzW~BnL5IYn{JiNd7!Na!fQX}v)a|rPpEPeD_&TYFRND_765!^B)b^JO(qB<^X^WW`R}=t0ZW7>Tdqf4DIk|ele^s3m_beH zu%-rZZuF107oMP6UD;i1_t@y>c`BT*Fx&HQZ`!{ID|%x&w{&7%KG#YB4TbBDH*zbM z8|kb6R(yt1JcSYUbK?&fn|TSWDp6hcFH z#=A&Ve$W}Nm&l1h#O=R!(a&$Xf((gkyzt9)v-3Lte&k9y_NfR^q+BrCbKIkOX3fkW z57EM%{G=tK1vIun{Q7~Y8*YEK%xCPB;=Ooj`c>yHD+jvp;5PR)=vl`ZoPZ@<7zv7> zwGNdGBsspr1SSM-Ia~?c#0JWRUJbm;9VVp)P78A%6%G*Y<3aDW>DmJe>d<%An9e+l zg1?k>lF+BFI!G<_WqWR)_I`octU5zhEQ|8KaUqtLTPk_}8o7oCB4%vqc0MHyA5j?^ z(XLnHi!lFvD~mS)9DO$>D_SNbHbEj*cv4a{@z(6_>q z75??LvQL^~qW@VhXD`OjA8~2nZeJy2qsAgYgiuj=VTSa4YyI+BCpFYB|=`+t1+lgEO4;2M0)f zJ#L@-oxNdsZ{1fMT{NREoE809ni-{G6%%1x>sg|h{^j}UAW;MKheI(96AEI*RL*>O zrhaVL73ZNunLmBmTF0qk!7_#S4XL#J`$bR1{j%PSr{znt%!?kuwf`)zug(R8MFUBv zeL`NXpB3{{Wv&Dp+WDjm;98dn!ZQ zJXJz{`L>I*PfQ0#MWo1?Uw(Fyob%_)xiq<7IT8)@>yN^CGS1lMCD4yOObAO0OpZKp z#-s-k5q`tU*VH;I#qV>dHY_XC9ttw|nImltcfH;P5m4ymN9!TYKh3XTJKBA7SHT zVT!5Sm}K=mJjgf#>L6T&x=*!xV5dD4YbY#kxUkf1IKGk!{-fs$PSb~nScY}Yaxucz zQV9$M1N3f&(Me#y*3JJ3V9_fd@C-ZyeBGL1NnkWP^D@AU2G28ue{JZ+hCPC3GXu&1 z>ilJ_;uu)anmGf+Fr`XO;~7w2op6Lx5aS4zA+ap91MzI;0E?kIU7U-AVkCp;nZTGy z?IJLQ7?j}|22~o*Agy0x2r^jJ)>y``b-;nnjDsBQAe%bMp&hhH96+S5bYU4*x(x0y z(F{q>gZuD{`}beY7-2C88?VM!f`*AqMG01Dcq|GQJ%#&Drp09@;L~4Ld~u7)N~;z= ze~r&RzBDp0y4EPJvM0kD>cA3{9@SCr$K55^e|y`?^jGc?YTZ%&({ZHk?5Cfg?xpGbczltHG?bP z8ny}06}{;v0gp6hV)yrtj7Z%4b8gWWza2R#ADoLmlRTwE2Rx1;ptyhRsM}n1U1qkRDMMB?$&*8&lqPW0O(l*YgPp zS4o6Q0(57X&{o%KdH(cBY~A_O6JVEVoZ_W3m;K-I2|_1mFO6}C_T za%vH@ySH?f5r3cQA@VhIbY9zr`sYR1<_YD(FNQ{hL`icaam-kNyEj!`K}lO*)<9MA zeW!!8w5ma##5GGA^7<=ZZ!`Rx<}J`G+&dk(;J<9`FNugf+zpnng5 zc+5$Z?n3TTQI|M1p&bLc?Iz|tZ3Dbfg-&Qm^p29D)O@eookrDVc=@(R*w%G;>7V+mcEXUgp7>_6}C*nUN9 z*frjx4KlB(p zv9lHr<583GNw*E>**cM_)6AsXGuZ1Ow2+W~8(JGl&%d6Gi6DRe5zK#nw*Dfj!CJ44 zf=X&0(bAO?PU8FHpeLIo6x4)D+KK*18a>*ruiI*)RZua39$){)bx2vJpbbjO?>+39N<4ItwNVM>^J zUz7GkfM5BI@@rH4Ld~MXBXOprbi>}b$PDH6y~83g)?^WDe|_J?kq#1{bjdJ(T%oVXC-Q7pj~l7&>v~|MYO4y z;h1?ac%?YixTv6J-7FiEQiOSJHTIKB#_O!8aAV~lxM1XB)rg9b%o^hT^?I?&QgVs= zF`%;O@QwPCKqW@EfIuhZisYzF~z_ST}sW zNQ^D}YM^YB)XZ67fe++u4zPXKs_8-2#7h|qTX zX|rtpHvWCM9dAF`Jq{#VlEqI1t=JI-h)PoWwR9x|rN)+11;@-4358$OsdO0c$*VeN zq=1Bq`0tM=gvCfT*^M73>pmPc{B-Wv2U+#eu*!&+gs|gD{HEF)##l_!D7`GS=(osbUsi zbY|D0qv(Rw@DQHoy+ID?g*PEDwM7Z1)fB^+FDv!as4t9b3xLY1v3%? z?s=6e)kQfc>fTAWuahpR(F3*Y8J*Xqg#_{W4@X^nQPa<-9VNjynrfp|ejxP2v#2#3 zZ1Ll%R3JMg>(Z|C6i;;8y`tQKx^wsJK%h8I0y>~gSob}I&-a8DHp3{ZzasVtB%LFd zkMi+jtMpc*6kWxU!SZT%{zhwR^_xv#X2HzYsiywIISE_BT??o-5Jv*gvr=KZ-IK8; zWd?h1PRFkJEGlqWM`?;!T+#OVt-1baRhaq(rjPLXqj>(717j1%08TDUeEz~1^Kwo@ zX9(yRB^jp87#DYS%NHE#*3G{l96))m`&ak3Io}RsW<8T^B=PU;h2$7AJpLWPWQ`2;n@}kK1dvds`9UJqQ4u%~~u-okhg!>jUVDJXl-l0C3<0KC`Ei z9Z1T&e_eh`5?{v1@4Q)s-rm4Do?i0wGFfHG3hO};Sel2e0~TS$E_QWy!+>l}4*@37 zEDINyr<)bW!AO)_%!}h?WrNYLIsCyg+&ahnaeQ!0lwTaX8k>mKJe`?wwF_vMD&&nz>CM*dFC6c15iAN)RC_MfNE8Ia*#qvJQ^PB zQ=||1%*Mdt9N^4kTR7@7B#$eO)qm84Bp)Y!6h}JuD z=bc?0#&BOPN+wXLrtk%^cmcn$>{6mkz8UWDv2|sDXOY=bAy{21o~Y#-F9pb!&q-BM zu1W@~H$;nQ{Y>OV6swmcp#jKPoE{Uwg*RwI_5h^XfFL1&U>2lUTdWlt13S1NC=CA{ z#3vs=_f@AKL40`r+)t&KYJ!ekhE=C-0H!q{k%r32I{EjO)oNef#qhi?|Gf9TMezJ3 z+9%-%ozKEy&bc7k=D!Su6m1kFy7c4}Ukwn6XK)?l*zM!BxFoQK$MW8me+My*^~RJx zCE$`d27S?-Gj9vi<=4Q^^eV7WZ9n9dRJAF`yCwVuN7j)%8wPdOAwN!YSN@=FJN2uAPqp^Oo>*!Pj{UqN_*xK$93iq@#v6$*@vZ|s#{=b^ z0VS$Cx8%OcbxT>wz5BEPko)j`UGA;=v|N|m2uydR^NifLz#X|Ga-DL6x30*I%DL6U z{oT}KCm~qGG<9XC6gP)fQsFYZtzDhi{J3y9Xx{h+xQ&13q82T2FE9e#jM8YWS@7k zOBFk+A>B^q-o>8knJdt#8+lE1m-@@T6kw^6trBVG;v7)*A&&X<5g?Xal?MttUCv0w=8Ndh0vAns@8#y4 zvXnBBc!&~RUAv4ZN4FcBiMM>c(;A8BDC;xb6Myd%CTwq)cBq&cb8B}gr{wRN_}5|p z1np{2?0H-`*5QG}-=izYg=IW!c@0W3^KiaR$|uz=AC#W(T{3=&#}cI!T9G70kwx# z(IBn1GbR@Hx2y|>14O=ijCxmk&r8YveN66(D{tyLOjlE0o(ZlSsAL>b?B=#7zcw|H_&jVnT7GZQbI}!JNjxD{FyLJFxL!i6CHGG5GB}c_gC0$POeH&Ftwi-(9+OccYM4_VtCW& z2G|pL8d(^N*UKx1?_&8(ALSlB*e>jZ$UOA$L%l##p=Rn(^2qpGM`Phb;Y`!Q!doi*p`uOQA=^(z~19H{!c-s$|m-m)yOasQFAbD+89ozbFR z$Tu!)x%^dc(n8^h?UlD7+ZO0w$nq42t1{VgHRN;Kgdk zKz^|01&3}y51%WR+jp1#hEX7RCa<{~43i}pf9xtGa0X_J-RQ|4c*3#gd3}fz`q~L{ zKj3&*$~Pgu7ZlV>EBeA^s8bVVx#%yv_Yu_+bE#cirZ$s+S&yZyo4m!1#!3#vy;t+c ze;)qRBN*gCU>)Rwendr18XOO*fMXpAts4V8Fz~j^84pmCiKSqXm$zYPxjQ+q`rvi}ql zoyotqy(2j+=&f;EmS?|8v%XOG*@0Jh?aSV9Cb3p7ioS$+XuK&$g)?TO+sy4z* zvtO&NccPsndSzkrOM5JM6Pgp?=%DBXI^XStucSMnZHGmibZ{UOCo=AJ+1ffBx^)1b z!FiR~iV9)9)ZAf9)1fOVCG7_Sx`?JcGG|$B&5&c_%*k>%c{%pc3tMMYHkMIXy0lSp zAHo1mo3z*AQA?X4*_1e}q#+dIRuj%t7TTK6aBk+Xs-;3b`@#+lN}I1aInLgt8z&}q zV=4hyetMguT}#72)Jl*E_k_wDlxanDKM3%U6A&607)3}nObv|j&S7TUbnwfF77u)> zArio!wIG`i_$j5Cpe{&ABu3x}Bt)=xnm{ru^+`ScEK-aoJs?ag3S4FY8k)0kG778=?EwTVgkI+dHkMdp+ z3=XV!$Iv!~tin8thq;yXm3);KF{e=~jXz`5s-%}RO*I|c5|;L+KcU+DJ?EcZo-T2m z51svE^}c#a-Maec{STYi+iPsIVYBuns9_ebL%TKN@fY;B${~1nmp>UB2IdZ130vFG z$_oVF`B$@MByeT0LH@z5Kfc5P%Bkarl2n^VxKwc@Rp~!#s`^~2VmoYA$t@u-OjHMy zqNs6cZB{J+rXf57*SMoO$dtZEjG#I{v=oZK&!9YKENxu}-sw6CYojpM)~D_lPW9i> znlVJ7xO_tLEEh=2x1K`3s~xTSi~A<6%@Qbx-tSmn|LEg)_N+Ug$4~`@#~%HJ@+9@Z zo+;OxU#T|5KnD)B5+64=ny;I~_uR}Uu8<&-EUA~pnqx1+A1atDf#p8PrhQBsz{qa= z`QTAJQgsPDp2n|ARWSJoW^4382Oc2PVI~RecPGr}xlml1*~A56j}8nPBc}E^Z%pKu z8sL=X{JbbY@3AzI{Sj*W800d(`fYH<@SPN^1`GRHBBFrrMm@K1n413$7P}ZM!8q_8 zx1a{&&`{=2i;Wx=GCz-u5H7nf37AS@^u|;6lg`WPgIT{>k}RQX`psFjKJ3=tR@k2t zI*_SUNeP_L^vRWV@7a^k-#9X91P=aKAGw=`hRvMg1umke0l*<=ps7iJIGUAiPS((# z_Et|ZfOjU!n10gV$sy*D?w(8VaRs^4fKz)KfLnquqBuSgfw7oM5XQ|vokzl~E+&2gkQof*vG9xYiSmie zJ{=#5vaoVX;p29WS(2na4u}T2DUW9;d1M4gO2Z^!iZbtqc%V*-+d6chos>n7D$q_s zR#$6nRV)MG@5HfVF%MDq01{LK9f9F6P4f) zct!jbNihjuW|a*LO&Xl-06_m2c^N7O*@q)SVk5Gn5_R7&L5=pc5nKp`VC2lhA0jiJ z_b9rYo5=DOi+AgPF`g1Z_p1a+<8SrP)e%z#S}4Jo=Ctt`4HQMp<{>3i7fO*eSfTcuiS;XCVB-96A2FuYjMlJ0d8A@IBC z(bo*BG?#Ob?wLe+UTCI}NJIQPs0h(_R$km7RNP?j6InFl69&3XF1%O`aZQPyl+N-U zDKT#%BvdH{+)6N<2moeVB+FuLtZdAghqOWHuXn{|6{#i^+p6-PJ7q4KSZ5i8e|W}i zM46>egaAPS#bFX$S*~WrF3OFyk+@xeCDLswa;r3c77-_~JPr`}{X43id-D6_4Bj>P z2`&ht^9aRC4Z6B*vg7Bya z;};3lYDfkpKG+}l2=9U0yuz2BPxI2MXi)8s_FIbnbzH5nTH(IjP21B&ZUx}o)j4R5wCIe$ zn15QqQu+(66Qwy@J=>_^UgLQfTY9K#`?wsy%hSW)L!zaQZNX3~yQNqP z`y^f8kzAn1RZ=tse7jPh0*jF-Gd`F-evZ5hJswh-kV6tpn#iq_o;gELTJ5l9b@E?x zV+&HMki!;riJs#aV2Wv4pbvXG$`^W`Y0Odv9m`=Mqo5Z6?T5duVI_I}#nJFLk$20- zC?&oRvOnh{-)fm0by#cg#xFgk-nH2m3qFsilj(^zu5dVIW2z`0=PpUe1eM zs2hQvWBFa{my;Y(6~mAodRsBD1=%ra08iN#lz-kV?SLSjI(=x`%8`ARv#M~@lkk1Q z>EV$!gt4b6Q%Xc*u_R*J180WZigmf@D%!HzMV-~ib$y0)y3zf&_ge8aBoh$}V){i4 z)UOQThQFa@2VX^m2Kj^#F8hmw-+q2v~?f`txM}%V>%iXum z^H%U$Qa{#KSO!DJK32GusWwEm5mZ53&jf`87uIg`2b<2y$@*#YIVJ6A%Z7-%HSC&v zL#~;$At$WMuT415xvH2D+@t?&VU!^Im|f!#`YU2_fA+{{Wv6WJE$)9sP~4bLjVe5w z?t`^KTl2EdZ=i-~=s&{xmx!8*^TWXx*8{HJh5jb37m0KRTEV^>PQbt-(PAFwFnA^D zi0RbI2V+5P@ncxM`>|G?9Ja#mknul>9#g+caMZtJBpus;p$t%qmDM64mDv9`uD5vC zOo8>+=FNf>r_1d6OM-L@0%h)BaqL8oMjN*Af*h_G0kVK9I^T;BQ*7Z@hNj6zg+9`@ z*TGefKkMIdIe!bTg(wS43QP03F38>F3kEb;|1v>>fmNo;cysSdcCkT#FV+tLI#)Ev z1y(n*J)1XZkSDQS5~Wp_&+qcQMHnbZUqedmwB1bEw{N`$HGe1ql7Ha99bksG5H9@S zf78EtJqvvK^~&xMiZJgbaC24t(Wj>6@XnE=S*GO=FRAMz4_$bbkx{iFSfN@j*$*g4 zxt zWAfM8Sod@8CIC2AHDc#y{}yCblbu^uyCKSO$H9_QDgF7+r}R$xR6IeNo=Kqo@OB65 z74=^^htAYlTeJ(2z0;i$607|_n_f}|L}?vPI#Fg*X7IRj7)`C=fvf8HNeR*4(+#mj%GZ$Mq zR<zwcX?w5xTfq*Zkc<;ZoHbjNvXA~_?uv0BO z5gtE1GfR#BrKQs!3OHSrbv1NdKPm0H4$VasU*<#kRT!B;9Qz4g(UY8vf{djXpS1W@ z!U5SW!H2zJNY3{>A5?GVW{$^-B6QoAV}+mS_b~Cd9s$3v)H4Eb9_oEfx8#i~2)t!w zCx6w!(i~vPkSQxhDG-+)MjJ>l-rdMLe z&!FBl;C-OHlRmo%>p1YZHzEllUi$$#fv^*k(RGtYX{;`(V<{Ne16&*L2gr#fi%9{U z67JSSc|)Z9$d;C;VdQaQVz5#*xT_0r(kHMB^7 zQE8u|BwAMHt-~rd@asItPvgop@yBUN(c3}@c5N?KBzx&34onL54~z`k9rZ3Rx~@nL zPv;KR7Bdsb-}E(h&Pbv9KzvaV{$d9Ax%f{WjoA_Kk52SaDU@>RKl7eDAkh1knJ!K; z@-bgasyM*VUnV|SFSxokD}<~gaMdF!I5T-v&%v)^+e{hopadjyt1^* zeWSPP(A8IzudNXFnr)4ASrWjo{Zz)oGyIa20>RtScFuw=_fZ}5UMK*esO0=+_L=Lu zJ1rkb5X@{_>21I#0r#KggJXOhMcqGe=q!2B=vB*5Bx|KD8#;)1f8_iUc4y_qo#%R@ zF%ng{jN4C~;_Rafu!dhLuwg+yIFNe(C% z)3;O|hK;}Yo-pn+TyHr(<);6U%KG~1RHhnIY54c2%PPP(B+arkLx1EX z=m!Rd*RJ-vnj+-RSeBf4d2qFRMgiF!@H&~Z_krig#3I(nYXpnQ6vU*M{jxwYi!9-> z`}_nQzr_0x2*P&`ai5mrbZ0PJ>cbgc>g73^8ex`G1SetDdF+vJS_Xw!m2n8~t}Ywl zjkmeqPxnJ`>ojHJ5KuqOL}-M$?7xs>@dj^t#=k&*{dL?k7ooxa5;pV`Mg87GDe7_o z2CQA9yQ$y(;Dl!M&Q6JKq-Gj1;g||4K~@gsnhfgu4s3HyI;MOc!#cOO&EpS9vWtj~ zvlYln3yVx{HO`TJV`O1Z{#PJZ^YD!?^Z8RnjHWG03NU!K49Jy#$TKJ`)H%*0nK~c* zl!tv>PPYAR92g)TlmAyVO!G_C#jZs7QSPkBz#y7TWLQGqF*z&Sy(@SC?~|5O##vcm zA^E$7-e-b_>hGywIf(R^hSsuvIEh+`sYO+FL&7>MgQZG%$i3fU!81Ae7X&pM9MB5bhVFm8TRmI0*ge_V_V# z2lBWDQGYcLi>c={-nk0>aLNbk!;V0gC1}Ovz)qq9sA~>+x#5nj2BqJ)ir)Rn&xqhw z?62i*t|O{|e)L{CHe`S5$o1*LBJ61B;(qtXhaVp`yNuR*E&)Ax-GqtrPBP5xE0-b6 z73NMiow@6)N|l)v-6h;O_GsnzF_sTqgBYsqogik6g$dUhW z7)&vh^8%eK+rw8xH4@RhWf=l#^L$o(yY!4eKfjFc&+59%URPukh}$tTHJ^EA4ypXO z<4}PKoz13M8(j1QS%)3LjE?3~ti?IcLDuQTyiL`bd?4$>yb7X*cK-4W)!DM!5R#m3 z{{l|@j$Zl)oGM8_?#GY{4x0Q3%SE~L_X-dS6Be4%~?O!m@|HJHWoFj z_X7nhMn`KMsMz)E#MO*5jM4q{xrjXe3o*r(YajXcT&E&j=xhrD1WAt znD1GUPc-Z(2San%_O&>t*s3K|0HhjZ%Qo}B;BKxS_^;N4BP;$j03j#nWX2!`$(AVE zA}^fKbLD<|DT4Lsf`+S|JzW=hFIA>{c}+q0c7J}X9jt3ChQCCB`B9=H>)g;BpM`*U zahCMka`+B3J|DJ*1BdsXA_|>v2gC$ro)EgMqKQ3c=-48jbME_bDH#b~Pk+x+A4F~O z@eMx>yS3|rh|~|ePhQa9#*qfoYzzXoO!2JFAwW@LAR`_`IyCQJjx0c zP=>jKxDf0&Ep#Eg6{w?PAT4((WQTQi#GIuwQaPt%1>GqM-{s*-L*8)k_;KM?1zJ1- z(S6$vWfj79E-#V{o%6&!C~yk~G@%*TgjU8X$r6`X`TLxbeEYfkfyo3h89~sXf*|HM zaV5d;w{3~31bLHhuaz)Adc@QNK(2GH}?$O`YpMzB~= zV=I`kgLf{*6Yp*gcCh=HiN$8N+(9NiX@aP2a~0G5*W))<5Ly@B@vU}i+2oIb0JYn# z8?ShBjz?x1T)yD?2C^RP8Xw{~ku!SAaj7ksW+W38*u{{Y1O2_09X~oZj04QsHVrD) z+B&d3xn(>YxHY)t|Dhz$`_GfIy2PriJ@<}y~iCw*9|NE^1BEskx?HfNhcZiq9j-B1RJX4QP$rgNC=(n0R)J5&W8 z?nXcOOTKfZ-dXj7yqNvg^F|oCaNu+urr_-KVa&1b_qW)lVv8pX#sxC=v-<6UR6 zrk%$-&Nfz!->F}7>V1oP+)#m%<jE)Bfl0fh%m`>?pR}Fk{eV<-S{lGW0TEf~ z6BH05k0DnWX$1iN;hBd_jLiT^Mu#oD{`2HYTKt+8Roojna9n&9TNkxQqO+;rh@NqMFdvoWLTIfUQU|R9&C$99Li6}GR3<4Yq&aa_VU&S z!QZaYBBcyHJJ24^7mKZgL10@eWSPe9ZA4tgQ6XG6ep4~%Ht*61ppZMmZM{U53 zM4@eDqEG$en%We_Rh;H%eE&oPM45zf9}ikz0Kmk0LT6y!`)^(WA!63V_VOs1fNGzR z_@>c@34SSHbRR0tD8UDiXp$ThSO=)}$wJ9v&{@b&$1WR0aUuGQmpAR7f53IFp6T#? z$^m-6$Dn`8=dd=)?3b$)E*(sQh7g4uUN{nsDz)xKIa$9+y6LaVKnJ>6sjjO2{Ru8s z1zVQnPp*0|h-<=PpmX(L<#>t7N!%)QGiI)o-NFMfR5RKzobX*B9O;_ib%2f|x!w(J z@AqT5@?tv{H$)WW=YAFxBe2&2f)8WYMa0XlmQ;X)TwMMBhVx98mDxORh>i$R2mY1N z_X7iCCGIez79s=AD?Bt@Bw610;Y>$lX{riM8^!E{$M5nJyv+4w z0B9QE&y1P^p=lqyrTbV<9n@t>d#t=3uWY>mHztfkzb<>Wy35i5Ud*ySaRqhW*)`fX z5&!Cq@e^*Er)|umm9NB#J5h1M`{i4d;l$gCNhM^yw7dcPcMWjd7H+(y11*_8o}8Oq z>$7SN&alop_f3!;uxsFA{1pjg#+OH{W7BcP+I6F_1YWsVZvIRpcQ%5zzxewK>IYn~ z*p#>>st?8$5W(7qV0w#gel#Q`$(~OjZBJXAAJv^YGTqGR5x;v=%AI!7oSqH<^D{98 z7(Y}5I0_X4ZC*13T`7`vUtQY~5Y!gDD54F!7IeKvTkwOFwuCnMug{(GZx^(&H$@`> zQZ?FsT#s(WE2(B-R4>lQ)xCt6mGL1)G#e`YLcCWe_LgnzIl z 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 z ldzZWSUPP8=O#1ql7R0wTpzO6bk(KaJTh+CF7g!cni6v(^ z;(nrN($Ae%t!Eq0n)vrGK1c#RJ1Ba%CBnS-7lI=}H7-0Os?$9O)-Fr48mE94xg{5y z0CN=1*bsJze<%OK!3rBjIXfr%ed-@1OYt|ZF>DX#ZSOP02nYnGRy zt_dypiPzM#aYY>(Iiv#t%S(zZYz*RzRZwv*T(F1Ke82L%2Ayt*=}?riJ@d%{_+miu z{3mD-qBO}^FbKW#c=c>h<^$Vz>98N9;NpWrzlPX1Kg|A90yqm9FiA>RTR0oF*0=>ayD;)PtAUK6H?Of9r^1;s6R$mI4BiQahQ1082xSW$YXI+SI6hFh zL$^=^%*99FbJg^cOcYf|z_=J?vYraI>vI;jo_F>}gVcS(69P9O0p1zWp4$OV z@ra-o1&^L-7wusv(o8-A<;Dq09TfcZyxm!p`aq22scm1kx|MdmvR0w0d;|sWVQ43K z-!pby69==eIvzP4;o<|d?T9#XPXW%cX$Y)1%2-z+<&@X^oQPv%%#g9VxsAE zdibv|aPH{!O^fs|81W_v4h?DB6orAWcb@qCt(kjw^!@tJFr)q^g>i?cjrmIO#^4gZ zy?5~Mhl_l&=M2P~d@`E2{ET0c+?mi!QV`mU-f1!(_zt<!ED9$7{ zO9>%vn4gIhPYIMSo2i}jVj??j#QyxEFPrtnddFLJpH0@)yOLbT-T_rp2?D(kFmKv|1JH_Vm%j{h0}Qh73fijoEZSr-uz~8vFLWQ;TWA z{I;}Ubl*Z+bCAQ^=YleVk~_76wY9CxX8l>YJ|=sn#q}yb0ID^26y6Qox${(4Y3SQE z@kKw797Ne>4b*4OaVF)e!sP(d;b4__Wy!e}v%3=f6&nXeZvsJSovPO{yRc@Q0MqQrQmEoAk=2ED2Z zqGkM6meiLJFweo1FH}fqmqmMQm0%}QP@v;(GE(JeEBumETK5|HkhxzY(*FXSXEosgNGp2CJ|#n7YX^jA|7<(R zmpyJ1EZH3lQ43ZrQseu#>=YJ2=%M%W!Mu0TE?~W?-nyT5cT#Gcsil`!XnrqOaU=g$XQ}KRsk~R~{lFa#u+-0B`Yl2x z%suKMf|p?v__`juM{&H|Mt{ZMk`=##*ih6U;+u0d%dT|-3pgPJ#pjy*H!yh?60ABzz6?D zQ<2%*6=k+HcOy(2Jh&hAi<>fBE*ZQO*vZXJu0EZcx<&@GIDZkf-?(hk6wBhciu~NO zO`r?pqZ87>`v9~Zw@|`w7+!#qqj>e9=Qr@B$E=YOJXXb(tm{n?@7LqjKng6<$i0=Q zo3RN`QIGXOe*AY{%3zTQHl224gs(pX6!1=r5*q}>v)9+TiG@rBzv5f4I=Q6HF9DNa zfO!+efmIe_j@L^d8bFA~s3FBn7JI=j+dBQkIJ46@t*Iz$Lf=pBgO110&ff8x{++WO z2gHS;Sj4scNtJv@FDNn3-@tSwWt+`o`@c}xpfCTkuD?k}MiwMFAFgx1G7F?n(_8rF z@r)@|sGz#`1b#v)&v6oVT{$xB^V4~3SxUAe)bf0U1CUt6Pd|o$fsWg^0hl-rDC`8* zq^C`)i6(pNiFhlk7S#B_n8k^-O8lAQZ}ha2!Eu!CwVFi)>V&d{dP2b(2z+CZ z&l%FKwx;cAH>S62oHt=Bn@gXf^J0~C({uppw8^A^DXdRW(%X4+OVHsWCkw&d)odU= z&hjo^ZSg~;yRSC{dp;$?CU8jD{+L!RN_P2$@vI$PzHhz9u~QlZa~F-)w$t>~(m&PsDzXaoTKSm^R)(R?Z`aQ%%p}nsod- z`l0ld+Bv9`?vWj;sSne*RY%qpSW-*U6?Sz8fvY%-YGWp<#=!yAhWdJb{zgrmpEIb_ z!WtCdHj1TH5G97PHvo*{fsCn$?yE^`X8=G~mppbTp*OAal0V@?( zkRQ~#{Wqlc0yFbZ2(jEz1jzWeDWLR5hYWt-z!1uwvWFqw5D;3w#xebrCPV%_!gjnK z+0XLzMgs1mCorA!_#*-UQrcl;Oh1ME5&WqLh-Cb9D*~>i*!gn*V6R4NVV(dt!2D7+ zN#5cI_k7S_j~+9LzKY|j247S!c@opDFze{}-dP-!rVe~kk3V>Mh5h~Qr}vYk$$WPx zUe-v*+5YWM%+vdXjamu_NAW~k_uidA9IP&Vu?m3z5VI+A$S~-NGTGE`GG~8v`Y@Lw z&o~Pstw!L(Bljnc_E$cfEc_XXFI~c&jvTto4MxH>E!NKyI){;6B71(Ux}gozu|W(q zn{Fpp2zICa?{u0J71#FF3A?%#-B%que@D^8JFn)?G30~A>PV4j{Jqirkqs6s#JrBg z^_lpb!nFYflxZalCv>Nb9VCT~e+EFVkxL~Qf)FiC&+>YFT^O1f7{5GXi0)11hk1uw z&%?yUW*`gE^{mw~|AL1bqwO1(Gpw{E0_xv&Iofcp^AU(S<-bU%()o`#aJ@X;4}W)4 zBv5$RlxOcTTamv6+`sO&Y?vnai+EUg)xeZn*ofthVSm^-R8aWuzO*npE)K%q zWdcBM-ewxg`x$A_j~rfzBn&~3c$6;^SKI_a(naGML4U45e4y#|Q*c57pABf_QN$yE z--gd8>cYREdZ-8q?6~W3YHBxKY)Fnj!yiLdG6bbr$NK1R8U6mTuu<5D)1f!F*YsV< zbRE~1=cCep;#`2sm!A_Fw8m!noq1+=<`t72M|+9r9@$;b_1IJ4)6_018oU0_t@@vy zd!g4PxpdI|U1u~dnYouN)rkQ=iM2J{`*1DR3bKRso{YaZW9)3ry$X!ZPyB&jQn5yP zT2rWAvcL$(PD?AT9NgCM z5J&auhKasQcfOH#cE7}vtQCPuZ0lPKUWP0@I-vh)K~ZH~aFYW#*hXd+4$+%%nTXEA zlko^$p>#)Ab4wA3VD_T5O_#B)`F;KRf-r(V8X?W|{o>E_kl#+hZQk1pIl<-YtQp~J z1LBPJ2GaTdY(I)VH(lUI!a^RgtB4E9miv6w)0Nf=hr__0MW0g`es0399^K{1my-7y ze_fZ~=kfld0#8h661Wyu$MI2pZHC?Fgo#M7wD2F`n)Ki(xK^f<;Z6mH#RoBfeI1HD zM-Ji*(*8mtS$oIDUhOu31m9GqEu$*EdKi089QihO2&5@20w%L2|y-=YQ{nW11 zh!Uo*mF3o)(jCdwj=k5?hHjPD0M~f)|EqcWV&|0cNfy?GV_`Df#tk`qk*nw8PTp;u zq3bpNHg@kt1>^;}g>D@Iw3VG* zY}j`GvtZVo(gq6tpA68E*H(g1j+OvO!8ft9?g(kj73FJN+yA}cX=pqd*g9onF*_LV zMuL#NNH1g8O+gjb%}r1;PO^_;;5QUUqDg^Sc>Ij@5p0*YCqCM1zdu~XN4vfEb<|jS z3D#=l&{ov;78JJ4^&SvV(Nsx2n9%kPki8(=zvC3F?8&3_-|8Jc6!)^W#)a)w9cA7z zRd%}fT|SFcquZ<`I;ykX00kQh%L<1zm?-|RL2pz4gD`B5F4EAqzajrkNHAj5_q=o-FRKas+zDSXmcm0`Q9?xYkF1ot zBdM$85Wo$c(%7FH2A`NcvZUO-s0wv{-gker{fmJ%axDwAnH|WnSo+GbCV4w_W z0yrOb83#cg(={<2bTaVMEkYnwLNNj3De7Y#ITB1`kct+5)SJ{7s39@T0+;6b-_1X% z2yqAMa(t(R%%rFk36wj5y_P}hZEb7?s6LqUR_vBD}`cr}eI>SjSnPwju z&PwJ#qTdCR!7Gli=+5GKz?vi-V3nxe0}lsSMyB;A`fd!_`yPnW?GSonoQ7vppC7T) zUBDm+rwPfjZX%OImgr;#N4zDoB{YRQslU+JVD}FDrCc!{b-fo+X>o%k;0WRP)cea@ z8XjB;MJY}G5Xm8c(N<_gx8=VLJ4iM*)gOQi(@S)=X_SN{Z=JDd0Ag?ZBtThq=Bx(} z2DoVzW~O8mECV>)mxJ*{&6Nu;vpws-7QP&>@qH!5L@y6wY};u+wcsbdJ+AS(r7%!ahkAZ>Boj*}RiIKY9SED79D)I*wOW{x9{x zci1I-x9O(v$5_e>u)p#PUuU(NoC$7?GX5?k8ohKk#N}HBkO4ZY9FuF$cZlW!cdXb` z7-$2ayuFF{_Fbqvv8&4HbT6uX)j%Li@JY`Q{zm&|csE zTjxD6P(bhUW)arP)JP>5%g?Q%hWZeMG0|CusHwN={akOCyKvobUff7a`lFyppdJ8K z255Hz70|N?85D$Fs*q)srf2p238e>5Iv*q^10G@LGz@agm$YjieiRfUF|2+9kU!~O zc&W;FyZ7nj5MGABwk-qrVRC$6h;zYx5~vg)1n;Ex4sOTz?74RzJ-0mM+HVQoWQ`D$ zWN{cumO;5jNcS3ta!{T(-`)I2Z|A>4vg2yYF*x`JJRK_Q&7ihxEGP#npKSz(+N!uR zoeoW2VjBKSgw5uGiI21|<)s!irCWSk2iHyC(*L~@hIIMrk{7*7ej7^YC4JdxMxqFZ zEv*{#Si)8t41TGKa6ayz4n5pD*|gds_M#aPKQ8P;AYZN)&!?Jit>XqKp@zp?$E}}t zCtV)2(51~?ymPU(9=?i!DQIb=argi(1oFVWDSA(}3QUfKuA7-sZ@8 z@Y2z{6ZgEC1(%18buMQQD5CJND2ZOf(kmd0D#i%#M7S#I1R~4yhJj2uuSsdz^73KW z0k3MLFS7?>Brd`h;vzX4m3L=~Q5-+mn<3)Q6({fzsOYCv*qgu*e5h{@`h+cHLSA(2V9 zNOUIG;|#a#>p*46CR#izi99^UApP4ZIlprG?0L5=nN2Su_yJcL{D=nnMcyCQ@W>6f z%MltVELKw}#l7qUap2NU=&?ccv(jAVXXpp!)gtQaTHEwVOB_#v-44v&x@}iEx@}35 z-88&!z1J|Dp9pNdJiZ0Jv@hV`s(}3c^Gv5`k&P3r)@1Z9%hwIm1g2P5q^{5Op;;P# z8U~xa5N9<{QK!hc)k$q^i>|J5^c&XD%87gwY^%+4g5o&W8%_ z7uz{xxA=o(rwki(4vth!A_cLr2<5e?;R_(?ZaQj@CRJP2TR*#188|*0R$` zX?{_~ZGh#=7hr1uQh%|$26p(eFzzI^(g<#?Y!}vv+E45jvV&#n*~HmS(ra1R*hJdv zOmIctx$tJ)=?D9{#ehLw!yALcLX#u)w1nd26|7z2N@JY$25SCFbm%w7=wYhHM*6Rw z90OW$qyM)%f|13|%y`dRjc_K}jTDy;Li1^FYB$bkC7F5O>e6=ltO~NnuVOz8UEk2$ zohUNfZOAcR_~CNk?5xkyvek0MIpsv!q-C+?nTKaff@94=`f`o(0HzPHCS085F#COT zeBBhT3}~2NEqZp04p@nyY)3rjwf&@1>~mhvK^l5a!7Y@^8x9I;h1AD0T1$X za5H}2R25Pb9B+n~pikRXTtP>G`z{AS?g||365_}gl#N}q+Qc5&h#YVJsyO~Ydj8U6 z>+8pb8PJw83ui*zR5(76Wjl)w8Az(@=rF`cI(bBY%+eQ__ z0u|7rh%wdJkRwrrAMHE-V%zaMD`~#zcjGokSUUSpq)BaMAj6cznu>cK|-At+eAaJ0l!h5-;|Fvy($o}{M64?_|Fg{ff>VGpz zB$Oj@Ja6juu2IShP)^_$FWZ)^>gaT5t{7baI*Fh6?guuGRdGcNKJQ-|TD&`w#{taD zDGF*w>S&s{&GUWi{TuDwCdyaIU-+BR7cPsvD<#zOek>jPhvbnaj(sh7E&B6*w5R72 zk2__x38qjr6YtVBYiN+N;zFtjJavWNLz}N)p8TNyI{lM(*Ny)f*S-u8=(v3Cw#KCm z4HMA?Z2DPR@cPW>5q8tp)p`1O;X-Zyb&5Kfd{m?m8|N%4KEZc z*@X}HmoOU6Pf7?d;RkvAjfV=^S3xC^=}Y++ElvC|R8F#a!J}-subg=Uzk`)gZ?6TV zcc+DOz_Zpj=#o_q?^OM~k#WAF{lh8)CvFtj!2YzpSCNYgg<}RRuK>s>=k~Vo(#rWU zGpG%Qp*TDh_~R&B^gGkSHH=S?EeaH2>yM50W(QoWH&Q6jaR|p-Hfo_99Z0AvD5tI+ z209=YlE{s+W`3_!+!g-?KVWZvc})F41?Wvj8+grhjVKHF8v6l%}y}71aSzDRFT_zhG{=5QC=dx^$P}~fg{_@>1h>Q?pe)B=N z8zw1oBT!CFRI%$Ypy=OKHE5bJXTn1ho;+~L&aJtrq8TYG5wHD2oj@E-W!;`=wi zTRx)L9e))-q>uvJU?6Tv8nG;QrUpfgLo@cMYAwmm9}vW& z2OP2BSkUSFZ1dVq`Qbn`o5A8uHbGu;pEWlf8@49+(B z+R=g@=R{v)75F9W|17-90RrL2*|U_gE#c$jL20i)u91myWzSl@e&=v%4`jZ zC7u33(*-hhz5>4i0L1b4WPtBgqc>w>p5O6@y^Op`H-mYLjWOCi-x3_!KsN!sZvTtJ zVle-U!!GuOW83vNDgZu3{pnJfS5cuV#LsJ#IWuPSHlEifj8JF3XW@wM+u3ob=UoqM z{yoLspN0-D1U^#%C_XQ67qapL*>5>PF5Y|Tgu2vk^%6x3<#UD5fO}rJ6mTT` z^0zNjYiY=_9qhv#@8_IQdS?3a#kZVrtPdypjbyf$uQrE`*i&ICn=T7xPeJB;r&eek zMr|ok)k_@vBHo3aSLe`7BC9=)3w?Q9SE&=U-}X@ zV^;u@$gqeph991=utxnleeX?vgN%**)gBMEYyg|Zi+5j0;Jm~|h^>L9Yv<*gI$TG) z;%kiStzZefzdS(pt2!G!8gaDyvD=KRvB6X6$B-tBB1Z^)BW|s0QQOH$b?CYoo0;g0 zAw2SU$KFgu^o!XQvlTsX6+g=yS-xo2jp1dbO$uAobICh6@>3tq9T6`u3m`%axu*y- z@xrv8*0ZlU5zNnet{=R>5p{_}1)M|$V$Ca0q89O_Kum}zLcE`6NVF$HthWx>hzWI< zh@lb3aY3e-oyi~uF9s`S=8Ln3E0-B`^1yEUQc|Oga{QV`mr0u8oFu(F6-TzLtnm%3 zT&x-q%ntYDBqPv_a7N911fxSZ3!~{w-M-Vx>Dj70qiGNTd_vecP6#>0arlWvvcl=6 zM$UXaQ1>V$Dot2=pe&5Oi}wS$(A|O=XXRfh;+rpHk7~s@Mv24_K2^nt5KuN=*Fgre z{6=VSXDI&ecRh7>vHp_*JTHhh-ycw~X6nRhzQvJ@A>Z>CeTx)LH+BV#ihLI~5Q&Wp zrjPz2>Qg_G{adMYgKr3ICVakjCGj}eQN?fevzFp`Wu0x=p)oN$*PjDwcwGjIAIGV} zl!MFdd3}$ckT@ZI6koc?>S%6T<)rvGv zK6J#1dqsVp8COt06D_w1+2mhbDpPWQs>#9yh9T)C=wC=zGY+zPTDGX?-~p#US8>zePbbE)q+54IX(A zc4PLIG9Ww=Q&D&WW!lO3+%*tXvhiJORT&d&JH86~Pp-xTy1+YsH~W$H#w4a!F8wU& zTVWqhj22I-jjUyP9OkVE5?K%2?r_7IbYhn1RKdP7iemB*1B$%z8Hkr})4j+>e`V*6 zs+kCw`B~Jn(SRM%OfL?;NhN`{DS0SJ2GbgJeq;BDWR?{^B6-b-1nf!cvsg11ay*0{ zSd~2nbb%fp&=tIVwZ<5H;j#33;MO~i+UCbBZbN!oxZ;A^JEDug=#aR{Yt?vxPgz0b@BiwJOB88XY0F5*pZIi6`&ia+L6iZ z)=tIa%9FS|B3q+7qwn}6`k`(BxW?;3C^RGBNJIehdnPmX3+@RlCDd-N9$*1J7>5~$ zSX8dz4sqAc4%xVgg-Q?I8MW{-ydSt50^IShQ8e|aN_w%1=<)=Mx!nZO2Kj>5`4)T_ z!5Z<40%2H<_-_;B*OiV{=6QNQ27&(gY47wRqBx4H+vY3Yf+k)~jp6s9S~wrA$c zN+FxchU&k?aWZx)J|@=wyZf%U{E0$Dw|4e+lDQtBQjjO(OL;iS$rL1rjMzT`>cWGZ@K}?H8%~>vsM?|w= z3{8-5XrG=E9Rvvwm5FBHh~`Qc297c&oq#$=KK=8~`(!`=R2WitjZFwn(tA~sd=Lmw zUX2Yy0KZJTF0jyb>|4&$Gl-}j{vpwD{tWbid1D`oP{vt};WsAU+Y|XQU>>^GKmBmW zn7QixD|Di;A?=MthXqaoa2G`K0|7pn{#2Q8mPV-oRbhh2+ez(PsZWpWrQSubJ78yZ zd@so>%gLBlS8#I4YlxLWwadm-Bfls2U z&h+xzO4mTW6Qn0Nr-U<>Eyt;uD34d5b7~$hl^B% zLHwD82uV&_e;~2yn-ljY;tCQ*77_4LQ>JY#c-Wi-!QVlGQ(!>i_L9Jw&>I028r3qx zze5AIroZBUDS(43ambJXh<4;`W>=0`k;mM_cUf47r1Sy+Haai9T|{T ziS}*B<<;z;Y(6xcSO}>@!D@6*MJK-jHG+cNMNUkJcn8x-gxBQPbv-dHoE2b1N}Vxy z;0+uIkiQLS#=#~q`eC2mf%gE;A&@`>WGnI*fC1daypWO__l0KsR5^(#j~ru8^V?Kj z0wo7QnUfyHtaI(+Dlxi%)Xm-51e2)S;D*uLk279n0^%8^s`{&^2@{J)5G2+<@F>`^ z0tN%ZIAQS6FXm&NUc=Xt%ib~1L3lcscCZ;WCL5D{oP_rseVib$&|6MCCz1f_@D#_R zpvM@9c|O6^huJY4@$?Kc^xbsb2`vhtv&QOLQt`3cK&AGadj%u3Q zQ)&dTq2I=d73?uVP-<2`{3*297G(d`~67;utG;=?0Um zT({1b_c>(0F(!EHjcK09F`{g&cWO}?5<|mO z$)S&6sv8^+a`f5T8wQO4DrlY8j}JiDNw$04Aazb!e|eRl(=NxlTMVq}fF5b~xCdS| z^*#H(;R0t}FlA#UiW0Qzf`WwoLOJZQMe4P@w}){SEf#?z?h-T zKE#<}7e%fs9*ajZNo8dpos;Mj#s>7ut@4DK6)1LGE^aQl;46DKNk)b#3E|U`8x(DL zh;iiX;|b(0H1CcG<5iJuBtnH+a&K+D^5E3R&h;#@|A~qBOA9k*_sd2Qj+;gTk50id z&%;z=zhCU8{UZO+)|!tp#4s94uFPEF^T-(8RGCkFx$TksH{)h5X*4B^3ppg+YI!s% zBucxfY0|)egbaBpbWS z=MSOh-Eg}SO^z3^bUcF3(T2sv9H*~a|d`rk!%b)&&Iq){{FW?X)h!qS5s>}+uKOdiHDCDoPy2Nq`08tdnAHE9>5WHb{hK4Hy=Za6`eIx42TocOk7OGK_3mY8YCNQN^v0t0gXy(- zJC%UuhDurML+-aoL82QhwG=@npg@5MMnH&xen!wNqb*bq+xB3fx}Oau1mk@pyDv0# z9mklx2LWF~x$J6ii~1?l6#Fqj zl)R8U%5?Mtz|JsDRpi{}i<1Mxq75dJ=fD}gQP}^HC2j1jJeh6rS z+0NALY$fe`#xQWw@b7FcqMLOTvR$@rZf-K8t(Gx#nv5S?=O zvgXOSgBpOFe73c%!k=&mIZArJeE38wtNOBE26p{ns9VmQlKuV-RaMN%xujQ-d&_EP zYzuJ5q@z9r=W`C_yyi~EwohJTEt++Hy^)5w zfBqzpBP-8I%V(dMvJZfxKm3QZZ9?}oIvA~?*0Dz8Lo2xX!uPoPNfK4-J|pX^OtNo;lS#i=5yZ3K`xWwTnofsp=zW@Qg zYIS5}{g(98E{8qUL3kkTy-9a&HmH%d8+5FiZ{-y#(?~UL%aA?bj5-RQhajMBo^z7qf< zV>do7r8I5C-cwjWOmM8ir0vM>cAkeEnq*S5dXE2q#C7u1`)j1h$O%NE<$1xzGS%z_ z1P{PHN6_O$Ms{AX+nFIOSN;3a+XnK>tC{52nE3P!m>5^-g+SUzi3|m7T5Q_~GjDb^ zWZU>zxgmU{=LA^wt^w(bu6Sn+oy;Gor(Z&d4CHs!DV)t4_sg7T;Mb1W4qGFGb0~HK zBA=Nejez>-#LYl(su40e&8P%NjMAF}G3lHxSU7{jH!3T)Kf|xDtO7wsqSuY+)vK}U zyaD)n+CwT!%ld?+H0$O-X!0$Tn7Hfj3<1u1H?2GC^1(KT9fe3*u$DB@Q}YXr4^W>W zfZ-P`<*}7r_%T2KU5El4=i>7NS~5{!E0P{JTL-U4zX&{(sQ#eSTFYl}2-7bIy))Zj z6*-{%EWqA6?B>-IV{p*rrODf>ffeoxU0O8|q!uNc8`!W3TAN3OkCbh1hpW z>CH-i0K4z8sg{->S}&G6`-V)ize&4I^Ju*7OAU(Te}d?TWdG zZ;q$ml-!`ap(RR<2n1|WQr77lHK&B=qR8dEUPcT4x%*jzij0+OjM6{V8MCJ}gAM!E zvDdv_n^vQ{x@VYVOI}~=Ee&P>^_4R`e6PgQ$u7A49@~sZ<};{E!Sp=kaUmf4p8D!Q zqOr!EKoAccMm0F*l&~KjS@t21<=?-(N112u7 z$l4d=0$GmdVkfucRygEfblcDsZ2X)vZpU1Z$~nxLMg5QSF~Y#SYxA%7H025ru)ST9 zXpR^*y0vig6ge|B?;t9u3PP^L2Z?|p^kvZ|yD&k%(~DL?0R5fL#MKS-q+*Q1EO}Kh zyuNF0E7&=s7^gZ#K9J>yuOZBlXIOYrL`n7OqsdxF<{hieb0r-t*4XFuGgNHz@Zo~- z{fgcC)$W`3?CzA2m*8#3m$%jgL%B)fOQxikx5!MqJ#!yw9_WU$M{rCe*M}y{DR{uV zWRqCROH~(mW74v23rAEZq=}G}!*d=!WYkI9{$9JCk;{IYo6e@`mBn^$ftlg@V8HDC zE1vne1Kww@eT9c^eT5VAh>(xd8|!-$tR=#Nh!;5q$KlNX)Mpj`afOBEcPTJoFhPGP zQ=Dv+JNhgSQ*~=xVU!LQ6K$~I8V}>`5JjdRDj=0|!Ph1NJeamCn)P-4Y@ZE`sXut% zDbb3SOj$6ioVq&qxdWgUYtqbmv}fmqLV6!;HGP8n+k1XYr`im?v&s1LY-V@Vh>Kto z#2?D~tpxT;&hWzn!l46eB%!fB?nm>7~&sprl0h|f_nTBey|EzqVUb=KmMSPQ)1|K`YqE- z>R1&h?|Dh@$($Bz2&)Qg%xl_3>hcVowQZm=veQnn{M~hkRUaVlcEE?xXkh#o+H@?ol%_In| zzzgteIMD+nx68i7t%Es>L!b0wi)~(ZEq8#;@uXy9+ZUD`Zkdub1orCzXjM)>Q(?E) zqpP<|>Cb(NR(v=uF%gm+%oP7I&&r|gK&^7Zt{GVP<~x)QY_R|%-3p}YFuZ-7`z zzZB6n_!H^3j|?4e9+XbQ@t46?i znL`1(5`UlOIj7Q9+)372(D;#WW1D=~vt|5@7(*<7;tC``bp>ZcF!?S1fCyY6rs|yy zOok9PsDz3lf| z8oC}htypD=JlSD?TB60AK3H{Qr;M3Sh^V#>fd4 z?vn~IU1AIlYZT#Y}k}X)!ehYNO9lX&$X6#%-T;-Jmnw1 zEpz^-_ID+qFF;SGYkTdxvV~9E%HhScrra?;hwQ(8@lfa#SLQFmy-5Noj83xmmbqEa zDS$%%%`$4XmjuVea<58!V`+gK!@3A8{e%P72chHno{j&Nm+CyJEW08i@rwOd_3wlM z0elAjt9ha&c8k^^87FB;t-rXse!_uBnzy!RE7Q?wa(F!ybuZZX5Vhp@7|CTE@Chq@ z(@DCcWr-%au6TIFY4CG}UJ&QqtWMHRI?bO-&s{01jU|5*9_>0tK@aJ~>a(>yaeB;F z#F0XB>3TRv8=r0o%8rdQI;4pIA~cpw4irAiL8K>Qi3q=#apLoT$W{bv<1F^ox-RnV z2Qs2r?Pg_W+C)|_Y&VFK@G02zr;;dB`DJdiUc_z5nQNIi<`05Z*E`4Sk=eah_w?rxPubjgj6y(g~u z-`FqJQ;VKamx{_bBuU?CBW?~!l! zM9DhcpvbDos)Km3ye6@(iJqec zIx+@!+$iaHlfIpXW`{DEQs@V|;tV8rBkgxGA>$3>9?R7ZE16>GT+1tFk{dOdo^7td zragB#gVPOe#{2G>>#u=Ic-9uZ$pzVpk1!+J=3q|5KErLCI;@Fk0P2aONI6g-ph&~O zry{OyU;)>TV@nNTG)d!fxVm4ohNuG6pN#?6Q`jpme@VpD>65_6w23Ns4RZ)nFO zS!wF51|mje63%Q|R;?<8`ku@0{a_6eRupkCuh}Fh?!;Frz2xAi|9E$qsXR{e z>mCWXAxBF-N<&2dQvJ_ZKI6Tj1Hks8Io=-~IUw*pWKO0pVwGIP7++@ns&3;(K`sib zA;0rz$K7+K9C_7Mi*68RV)iP6u|d?t-5c|NJe^fs6mPu7XLn|MHi(42fcO1^SI2W@Q^VzH2&->22&+mD@4_`T4 zT4^s{q#|Hi%f>-hz)%g=Yp%V+;cH&ro5a18lEO)G^vFxmrO55}Qhe;UxSqGxvi-9F z!8T2#y9K8BtK`MM3i^iUE>UlWhc70b+c0|G+}=rGe|X#jp4JcvaFA;!NV_mS2^+Er z7r(rfizmpQYPi$c&o+B%B4Olp^P_F<-<*E-B}gH*|u%<2|r@H zp49Q>i%RzqTXSrLb@g}aoS&airBsdSQWKpg);x|%1~jQ}9jCDZL0|xE4HCCa{Y_Zd zm%Kevc9EeY;Gwi!WdV*iey+MjS@LQitv%s(Ag*qVRqmbThzM7P%oflvBSym+?w zL@>#)xf(y@6}E^f)*dS`0`~EMa5`OP6cq#4d6vg$Y4_U2A#(mM!EgyZA+^NgDRPyE9FF1~?i%K_-1b-zZAvXVgzWQp<>SW2vj%4{|*CJ!Bq#GK7J58p9{l%33(nueC2{>;>4~F2Wn19ym zPv07dM(Ws$zZT;i6Ivj5admOUhkx@juo$L))G(*+H0=VtXyCNx|HodQe+7V3i2I5j z`>_|77dH?7n}3v(^|M(f?c@8)e69;JzCtZK+z9ZBYcw?#v0B4ZV?gC!VxkU$PHc8} zlStrxLQ&C1{j;K}GeN(oOXkppH5-G(zG1US5t9rt$n4C`-AYq{VRHdE@V4_ki9Vqy z=yDa`%0Hl~li}wAdCffQ68mNDEV^?0UrZ_V>-|fWMjemXiHQZOK4f#ZuhwO7t#H-l z`zN#77IVo0Ex#-tI9}%M8xW_zCt;bi5|_<23)_&?`AzvP137Ycri}5NuWHLYbtZ#s zpF_ed07_8p;knn#b84r?D$el;m};7-DH-Yyy>dymR+1wW9?MHN*+u`k5v1^neLX$) zLgm0C^ZX)qp-K%Y$c)cj^TcZcxb*T$)!U%$k4aBTZtDD}@-2bs^lIO`9vPt2`k){B zB-YOPyM3~vr zo@7L_y3}_tnKPMx^o)vqxozK<%YdvvxP>Qy#2e?sVI#a0>aFnn?F_F5$eSQcRRv!@ z5>6D>4P;mHS0hz_*9(*=cO*wYl(5MW?TiQ)RIFuLyX)C}^fG{Yl+6D7z$Q+5zi~cO z;er0Gnn~jaHzuv0-tIdOCKBdWQiD;FfmFx#4Q|=vEj$5&@jV7;G;M7_Q(aW&#E zj18;}tl7z(y5WG?My&+Ql6LkR*aS(;wJ+?fmV-2;vM#la`Qy9Kry7R-eY{W6)DE0c*)o*gxf(U7#s zyDFDJW?88S;v~6>W6E+Pfl;4(V??zjzUWv&!&8wH`jTg{FND3{{rNXklybmf>Fjb0 z=AA9eQQ2+m#*(awt?->?pad-qO&r|4wQ$covpkr~BO`Zv?_0+DW`rh3r@~_S6`$+* zi~HdaKIBVowa=54ok-OKA4H_d1cy>{%`g6HHKYF4HgnH$Xy8bmh049GT7iG7#2rgs zjzw01(rfi&oKt5UoT;y^@s7^UczgVr{m)Q*rU?me$HF7Z6;)o={FQJ16UL_Q|E5NF zlH^PRGc;?|e~~=yX`b^yb|wEi1n(7J0pRjG`=jB8`E*rf6a$x@V9f09r7m zBWns9gGgOR0r86flcS~Nvu08^v+h0W$K1Nw7qepz;wVORRdZ9GB}k!MtsqffJwQUUse7*?u>0V{L`J0KX2t%R(1dts z$DYRW7<(^|m=2PzHgvR|%T0y1>_SLe%pBTHA*P z4%60!>uPj^z_q!6&2v2aT~QeG6WRbF6mx=6iWBh8bU=O({i@tgfRgD&}@qtLNDsIu;Eao?w4#dS8@HZuOliEY~gpzG+` zHv}!SDL-hzQU`?juUf0IT^jUsXtgvv}qfL*@XCjZ6;-`h+K*AhwodT zbKoc#?z1L7!6v@boFST`3nYQgQUTlazd2oLu|OiN?_YA-)M;jW+SfI>Rv-T7?QtES z@P>04UnVX#!ZYuFS@AA)nn-1*4k>9bMy}xjY{#qe6C4EqAZqd65Eg2PpSMo?@JLFF zSNxj>h0SVkXJeLU%kAX@^61T#OTRpLE5qN5R;z`G2a}mxY+Hj8D%`WU$3{X*25 zW0}llKNSEL(25D;(u)fX;T512owI7jV8v_qH9Yi$A0iLsc6Axsswj!6uj1T}A*vwZ zL7t4gww9N~4Fy~}0=q4*&)Mff0aIbVPPK2B%UW3UT=X`fS z{R+4LzF54*VRF_QMfgV%juxmv{x(d(_c~Er>S=3l+7b&<{A!SP{UpJ>7@g87=lMyp zvLK92L`l3g9F$&tbVFicr=yFn5UE6>J0iy3cd_iY+ zf9iY|7n;eQ5$GYrJUQ35GtIwSc;P)e4||ai4ks<(tWKINH)axagZ03FyNX0iG zOd+tVH>G_0U~P)pVM5sg!yYWZSpZn!Q(a$9B;g z&hn2Q67q+fU(*qRoQZ!OGv*0VN*Odp34x$!tDw{qD1qEA^4@n~-~56@Iof$M<;;B? zk2t*t7XF4}(z%Ho(#4H+OA>YnK=Nqj)H2>PW1Sp8U8#!$&?gb4`*eezJxe43Few#a zn|o*a&C|u`D4rYm_BT)+qy@OInAn&+kYUV^^EmCH=y9gn zm9iE9=;DfdFaVqN@-vme>jRcA;38LL8JEJLoe>iNAZ)&qgVlQvss}1cY-I1<@BP-+LvzP*Mpa68ase2*GG zgYbqZ?nhl+2SqSPy~rIb?*_5{7&KzVRc;N_2zsBuhvPP0XuOjXb>Q^+ zHP2HamN(M@CPurS8M#8|N*(=~w5uO_@E8r{84jR~0{Ky{`-eQBHTe(lGn$;an$iC% zwGjZiJ`0TTeFBhOG2Dy&`;CzDKr{K>J1IlUG&qN|#l`p5?gp5^QamQEr51z50yJ*q zQT^}eJNu`ZwDc`YT3JbNA1 zm3o7p>Bsmgp4;j` zxRj~Hqi$j2?&j=u<~!XM*H$E$w;p4-i92~iAARl%8uuW7rC>1i`zv6O|0Qr7L*zYm z>D~P`cKEuGV}*0hD7%CEGj!tZ9*!dxX@ZEB%VPuvFQn86VOMs*)XO6QH}o0#YuC^y%5?WhAz zw*N408jn3(2|ubpa$598$fprBum7_wPF##}rqN!_is6UkSNydaSJE9f1ZUaB_vCY` zZY*!6x2iDSdx>e;1XwUVo_CZ!{?sy5+!PtMbVN;3JB8EnBP9}2nbG|`l^uKNXlTu% z;IWIOZT!67+@q+<`T(atrwV`HxlSU^X&f&@sH0zwzSM z3kvVSrf|CqmjEIE+&8Q1vl1IO>=Fy03m0ns05NVr^4@kRYSpGlQRRfUEmGmUbK&i^ z-v$L&;BdkC-%2lyj)lv|pi5omsy95d-lZvZM@mUZl`Ta4CRd{2I|MstV!~DlhT!JD z-)NO)z&H_s3J?)m9CAhOgXv64waE9{WgvZDr_p7QFo9f@Xh1BaeS6{L_{HH^s zkrQ1obQGd377@ufEA}%jC=7LOBS7%ZRwBQmv4hj+(`F)??*^8k98-Z?In@;#N?!!2 zN{O!S7aWWYi4P?V(d&;447)r;@f7^~{=2R`!Ea~kqz9jZgZyIDn`rS&bzgVT;LMHr}X$wlYCGOPAw%3L!chW$gu_G|J% zop#O6z~O^|2M8N;S?2*E$3$BU>RYIQytX?S!9MK^{1`=+)yPUYq9?GIZMlYu-bS5n zQ6ea<#T!L{It|elAY6fn=69wbET4+;dY<<1n({8;4Lm5aZJ*h*==u-ch%_-pFulaS z$AXE`TQrbw{;@y;NAUgoOF;P)!fzU^+}zG+x~8zMHs8RPy6vMJ_G+v+yExtCdoi{c zRtaiO5j|2dnjUgM+~D2szeCQxzf!>M`PQFa>Fp*Omy z7z46Kjx;`F;RJE=v)jPzQCE(6$4^p$zX~7i5|b=?VhQo4`rw&e{R`BITH6!L!3I<` zAdO_nvoiNOhj#|phYDw?TTKVn07iUa!OTt!f;lhW*FBBYdh7CpXnksZ3cmcy?3Ci# z)g5<{q$&iL`GUArmK*lHs4o}+iGrWOwEOGYmmv3}J$Q^DK9InhY*X_==NZXLuy+C( z-on-~lF#}f;r~a_AnqhNCS^oHEcdFfst)Ic-`5!r|GPR@4h)Dr)jiE4#G(nM`wLH$ z%T^N4Y)_-Emz`zIywKB6D3-p^+4wo!05eFeKr&|T>D2A&n=pK0%{e)YP&RifZ`&-A z5b|LP#q|mza@Myh{w#RVZlus(Yd?>y73)2a}4{|2;nRIdcP@-%Kf4mVpA z$0HQ-R%O0rr>WNl*Gl%BfTR8Ps*^1muEnnXjSg1x!;-N-=PKm#9k|wdU!Cs!-4a52 z7{`5q?FrF%Z2WoobVBW2;61S zUx%VkdvYs2M^uRqpD-}w$V~5p?q7Eui*=uPE_hJIhV3~d%EURKOfO&P#yEa@2H^x{ zn~Md-1ZOXuq0TtHdTHC^2OAhZ#zf$kF`Q{*z?{L)J|(fr>-u+JBQk2b$Jt^zA8L55 zQj_1doLQN_FBOh5(qbGbfiat_4^+CseRw$7rLUb*mn~2cdyqdO{tddpUUwrgI>_-j zYT0e;($1tN!4hMA5)W7+F0sG5I7cKNu~QV06?@HlGB-cv{Pt@}oF`8C8UyFD6_dLv z5}`G~P_12kfqa-O#L^IKXs5+5^S-@3V9vMkCuw_V<-wWmYEQ`?9_{PTlR3s8B%{6V zZNEF5Dj}Pj3b2AGuMAEw;OKCFN*M9Jnb8?S?4@u7!0C4VH9V#3w$uMv%MbY`tCJZNr&lMW?|tgPvx9PA zaL`pnjE=$i+gmB6C^FAuy97V1TS@}sH zwm`O#7E$20YAw?5ux=_e3}CG0qq+2|wp-qX(tV;%kfij7J!knQeJaG^8kjOfB-63) zkw2yZfx{vVQNr5)1&g35w-K2lzm?E7X9GD9%q2>~56x{RoE?ctJ%kn@(8Z=vf1Gv} zA18wP?-|aB=5bqMdW}{GCGI3rl0;YzL?8|SO)K~0hqapsDBLshW^qr;IJ3LiqQ7R; zr5@x5&J5-(e;>89VPbBrFYOk~wZ|MsyYUa(3OAFm1}ECR)~mQOTak}K-QoLJ;9vQz zKA(+h#cAw@6I71@%Jn0sQs&^bs&V}BPh{yq>O0hY&nd0M!#lHcx+ol!qsxh_Za`#p zsF0y8G_(R)-_@?JVt7ivD(py>*t8ujH@kee2m3`<3yti^VUm zzyY%_Q@SWECzO2@vAx*4`bdAgRwkpl1DlpOMh9kP1im5PK@&jfPjR;CCeR62N^;v- z<8n)suB4EaWG>x5gWfqs{9RR-ld!%Mmy<&l1>*^wR}bK2F;6Fba6U@MaPR!US-_AS z>${D-eOJQ8gd~t4$g%n^OZ)TcJ-K_Q0kz~L4&iJp+!U$^gD*)WZmWcJHudBFxB-%E zNCZx@`!QPJTI62RAVwt_n>PtKaw+GBlgh6?upa&9bnpyx23}#ES;YN%P07^g1%(R% zcw;^>e~H32w{@G$Bp)=zMo^?UjSjh*$7ExA1Y>ZC4JnniiKI>|&DhX=>+O~M^sjt6 zYy%f-2Xt?oHZjB{=zh;v>kPK3N|Ymp}YjDE&Mm841~XIH`dN7;k$n}-`YfOz>g?XCF*Wd;2=&jP5{MQfwPY0&Up~HvV5pJX3K{7HwBBN&F z7}uTLlR?6wdX~OD>xrxn(=F_INpF&DIA(`x^l(()<^pp(8yyk!z34!C6{0Hgh7_Sn z^S7O&ie2s#_Bj#c6aj}s5um=K1k&2U#Ctpvpah9L`*8gmK600!FTeut2LX2qxkM+K z!aHAX?IOJY-P3PBOx3@xzeOSRQjCA?H})3)7pT>F870Q9{DXJwGD($pr;PsrH#^_o zHFdrmaZDh&wqa?Wk;xVKrM^y9d}$R*x+U%^6?gKq)d`EI1V@8UaA&x=CwewlNKKZ{ z(F^Igmr3dtT~4P!Vfb!$U2kZ4)F3&FqBbO2kg2l+fb#8SL}L6-LIzj4^MxfC{G2_A zHet?-WTuq-O7=dY(!6r%+bPYLFGz1e9?KfpNV_qH_<0M5a#0&VPR z!0eHQWQT=};5GKZ2Pxfb)$(A?-Qet0)K=!Lt(Vrh?qomOL`}zg;xRnF$6|tVKT+((#)b68nww&LqMKiQkGWU3sWTseD)YHwp-5|Xf7s_ zHdov);boF>7d)qu_8>F%g`kd2`!HRGL#!^D{7TnZ;P9ldUavU0He7jaS;LU8d26jH zOqJdufZ*7y?fLSES4~{)TFe!-i_n#(i`@&VU02fAvnIF_(xMcvOQdN`OH|&>)a*nD$Mgpf^X@=!;=V7vA;^NKX^kSCkH)_77F$^L%Dk25FsUFPQ2ggC&_!A`-6 zWC-uGo-o&sx1pX0wBeARwU_1aG-Z($YCDd2RT($2DD?CI(Z$d`GzHp}O-DU0TLGlu z2-&yCk!V}4#kXqujE&y)8wm(o+IK(Vs0cM}l@A#KvE>!I6jVYXi8*YiWOBa~0k)N^ zPMLGdD7Wiad1Ab05D5q_|V4uTKyI2snO1&JP`Z(l0>F@BBp=&{a5(x+uj^Q_)cp zJ?qEvj*h(;;dAyBn~9U1oE07MV?cF%@YYqi*R1c%5G?aN;m!qta9y57R&>uTn;GNs z4^JNCoG(NT)3!dKnJ?~jFz>zjD}D6mSD@zVJ4IIojyrUtUIRtRLpmsSv-TO_IB)KO zQ{BZ^#_744-nV-0_0(D0&|QO7(;xGZowlS8x*h7fg-1OL=eX;_{%=@J*D(=Kkf8+Xj}hD!&~!Sp@pMz}N+V^>so@ zgF?u&re8&sKN-~zlz|7>cCh7_>Eri(nHXR`Gq&^?EXU-O*WnA;V*uE)$;Ip1`1v1; zKRz8q&{*TUFW!VU)Vk6(c8o#WKFr~rHF|jIz5BGuzD6eC zFm6K{(ZLO5Ze*tY1;oS?&2b}?l|k?IN9wH#28wmGL^m`PONK0=eeLfUPW4x`ywYNT z`0f2nF?oR%!o57)$lX-@?p7*%r7G|9Z& zv4zuwRGfVRy5VF<}dBImAYcw?{|^aGUZ+@JCN)4XXN%DnJSMG_u+*MNqVZA4=A4}qgx z!7^fcXXt=^X=#^k-!Kt3xnRrG*CCOze-Of9Uwe4C#XG?Tsj0dj?njaj_QkU8Y$o&% zoqP_2;Q((sJmFhWIc*XDb>L9;SDrd3l`gTHoIpF1q0-ci13cP3U;@*IhY~reQE@ul zP-_H_`V0@2P?wb_#fF%j2XDY*n+sz8ya(%JT3DP7huQz4kV#N>3KIdPm;ouy7&0{n z$hI6PL^dAQfjJefLV)bs2HfjcU{+gF3{axoQXd6rmG^%MVfzK6)p!-?OeaA!PllzD zF^t|9w>9iiX9KGUwt)Hn7V12lC)xv|-M7(mUYnIjq|Sc9Xq2X+V65grILOdaofaw% z0J5Y=c?K~?SA{>&NSzdF4XDd1T&h;Zai=GaQ~-pBp+M&Cj(FOMm}mJ_?f(CjN{s&wb! z0o{X`%QW>u?ot73Hpjbx8NM(}By7X3^WFQG&926naAJlXtf<1mSOCkH&VT0uv&tFGoAWbmHCCZ6PbyDA_rSFRhE1A|DSqAC z_vT8t!sPLbFy#b%orQM($6q9{?oP_*%qRW>jh!XKmj_7$>S#GWGv_02Q!nS#P&&Z* zl=BH~3qm%K;xf{g(V18mb+`;WHAfZb_-=*P|A>KW01#$tD`4zIUpVc+52eF5`o&n5 zU%KNJJ9$CV7kYbhRTvhc3TED3du2!_W0_x*G%b+mI7B_i%cxi)`e87NKWAS6Mzuvy z*B<3BPQ4@s;GY6$y3Ym34ibLzg0z7z?;X-!;4(Yjc{>4npP9;U8>S1 znkI_9_3+(rswP2qj{Qk$&D3}>y4G(@{J{+rTWE?rtxw{gSc-|TuZRobgAj7Rfc@`l zDZ5Q|6$&vi~F#HK}5qt>}x_Nmb{LCjek;NBt|7jL3n~N z{rFi7rV?PsUeo1O=HUHCWX{V5k@jB6>ImqW{>y(VF@)T0WZeff#%{#9P<|Bt9mefD z%f0!FGO=dmTJMt^lX8o%piY$2x?x570dWe)+jU<5^9ihjQ|Kmu<#_m!;(9Ds@`i3G zX~xftieZ=`C8URt=4Pe*2N?jT^(VE*LYI)q8ZKeda)5+wQeUO*JrC{*?dtP5Hb>`3 z&V=&BSd7cxnQrY_%ge`voW-j{2fntLCoQ=@=H-aGs0VnFybu7(>*45lR_L;mcp%c^ z@Pq&#KoBL+QzN%r1K_w>@HPi-Nil|e$c4NWbXoBiB@Bs?bWLe-5@|Pk&ih>DKnquk zKbobpp8O*nj*nOZ=gy+g1{kxj`2ygHB?&zv2P*zzu(oj72SpkVYya_IEXUW#b7Mw$ z@CPwM@1~Ftor8Hmv|Fbx6p>ba?4<8Ltf($?MIZSmXIxqhVEh*_%SU*u$`ylp&s!i` zNVQGe_d`GK9asu&DpV@exEctrLLy>zVdCb2i_6y{w$SZCxGx>Ze@sq3;^(E&6~dYEYz!d8jMW(! z5$7EIgvqKxP$Gc#^d3yry%Ve!@8{>D$;2ZVZ!i!hgOOlpM6$wx2jCi#^0yip7YI`} z*b;!WOHYqsp6=v6ets{9mRgQ1+`C_n6oV_CT9TMtL}UICG{fIlBd_KkRPFE3-#3*dmXI`CmW*)xk)JsMmbMK6L;9 z+U(P(*HgAu{E3Ef7Oeg~$|bbvp}u zD02TknPfo)U4ih!M;sj-j!;SUUw)uu_WgVC`&!uEZiw72ws!gN{!?@92{R(0j#%ff z``|2~?G3d>h$b~D6mz5TyZ}wBC4zUWOASX0=K8|E3eXne_E>_PA{oF0gQ8TXC}pHS z`D;p}NPRrO+!9OynNbPc$zj!e@j=;DVX8KQMg(;7n-uVFWa$g^D$1@2y2`U@a;%$# z(_^PhoT7+_V_`jS*k}8x4Gh?XO0rnbLf}ym!n2372cZuczD!sa=AP3=z15hs%;F)4 z4~cVUaO3L$$}7V>A+?s1h8lvgUb7H{`ubRCgo{l0#z6;g zoClRcAOx7!`L2tbOTQfn#CS#c#CZE07xxYgxDdp^Fv#-0;VAK^e1JZQcIs5Hxas+z zs31Qe;>t$UPI z-;k@68Csn)P8g~d%N=g`Gu<~WHcS3y!Y0-xHYt|2MFaSjBkAb)_4&~&OGDR?H3H)( z^4}^HzhWnunF$6GcYn?ICHHOPeqjJY|8`e;*Lo0#UZ+2fS+#T~t?kbCRz8^BmfFDs z2OV~E&Vn}x05BINkWv*ln9y@@BZrkXkO9osC2jl}`_&qHi#k7mlH4PhF2=GI!kR;XsPW;v-j0k@whJBdIoMhHhq^s?QUOItGC5=dtO zL+dliBe(uTUyttu{<2E|gP*IY-E%%uSC~YKhpW4%OWZe0;nc6$z}OTS+U4rGd~Nk2 zYX!S;`%2cN+O|tVtm2Mf$8B2ytPlpAKjQ4^&Y9AU#E19pYOg!-e&gKc!rd9<<>|D8 zlRH6#2DMS(m;J2(@|YQ*e0eN~h|9pI{|0}6J%}ph01nUPuYkX8B+4?mDSa-Cxb*!W z9%y5B<~GAq{(}i)dwu%`ZL#t8CZsm&r<>PU{5rh9>7=rl{HIX; z8SpSjtjTC)8%k|NV-f+GLE`VRDG*?C*X8|pSGh6JCg=P0)f)am=ahxp=tL~$s8A>S zVq))7)3{Y#0vxtaWApOI9!4HxaR}IhQNc^P6QLDAb|q>IGjiMB-m`|b)IIuZ*#xzH z^CM6_H$VEZU>IDE6am;?tgc2;u`_%3H;(gSM`&2AC_qCE*ldKM_CqUJL&})Ynu^T& z1R!;{E`SujH^7z~iPmdzt(^(o!BWh~=b{F*#==GvKn}s$#LdM}Ktd4JglUhPiSP9N z#@{B;#JLy1NfIgFFWbw}*zRDL-wUCW;sBvqOei@I6en-hhAywMn61=dg?}V`GV*(S zSCtD~xN!}hh{jWZi6~HI3O!qOnU*UuH0D(B$27)>SBAq= z(U_Ireys8Cx{3!#0I*5xtGEs9MH8ioq=nQUOriYc#ExLt5FZX$tjezc8>rrBQ}^=s z0{rkn;28#<7)y;={^0rkGk`d0c+ie9 zXA7iiE;?5vSyfy_v#yq8s9ldd;_T!+9S(xfV9w(2>YoklXaImnBg0aw&aPgIRRHoo z;HJszBhbigdCkND7jtJac?{QH)_XW zr5`&MGj@ZhzEv0`y@xXLt>f_U5HwKnPwY7{pjRt6n32g^9H!(9MceCSYv zs(y+sH~ucOA$u>ipPM*tVburpR%y)WZ1H5^`FfOez^aiu?`6g(*hW-#vl>U5umoh` zI#KKBHdsfAUg-^^j(jK4ZJKsKuO|jG&NyCpIMbNGye(zeE1T(lk4O9w(e!k=WL`l zv8H{7#a5F?oP}$u&gWf#F5nn^lwy6c;ZkQG@%pi5OoLt3xOzBAv2Ezz3)$O3e357H zmBd16GnR3UX{lN9Rq!6|izcPEkVOQv>oGv=xt?~{%dbf<)DL8B*?=M<++$LIM7z=Z zOQiC3vJ`tUyW4E5W$6pSs z0=QGUHCBwj&sIX9sE}pv-zgbLVOJC{m{G}=@up{6* zIiW2sCJborJ;z^W1|8D=j_$h|MCJtcUB!PR*x&KWD|ZCrZ(d$mtC33pz4G%~m?BPh z@dY?})RhvYFQtgxG4ueN1^Sy<8UsYBG{o%UoAHP{QP3LFt6uV`WNWoH@a#NEbaMcM zzWEJ@QOp|=N^3HtGwBq$i}AlRSH|r3M;W3)kbD?4F5;Hf#4{lBb}qvPP(CE)T#I9pf2TAS5^sZtP7 zvY?EKLMwbfz@r5Qb~v89ZVX|6o{cg5ZK$gVs^{Po=S%@`3H4b{TA6%_aA14t@a~7C z1Be!@RyK|^F8 zX&t*xL^H%yUNPd>7%Z&}em3$I@&QS!y-G3kW8nSIl&X~G0Yo4{GQ}L`icicLd^ujSHOYVrERpJ!XfxZ`ir-hiYswA$S$qBhZ0vE!0NGAAFP zb`rK4+hzU~>AiV*($wa?!IT1_ir>)~jzF=5N(foY#8_AjJJY?mjw?DJ^!yo^*se~0 z_XnU0(uwl5w2mNcIqDZOn^ptn;|^JVT)HHQz12a85a8^X2McQfbgqb)NVcP{DUC(J8n;vd+ z3^3=h%$X7H<*`%0t-`}rG7qa_Bg+F{KP2+e#@|1}>{lvrlav1b?RbO7c25hz;KwND zf8Gh-5}G{YBuo$hb~U9|wv{`BrMnQ8B;hYAgMAW6yrpU5Y+p5=&*k#N9R=p()NkZcOO1Hlz4HF7M)A!ND zJ4Y5hkk^h)pWN}tW*vvyzOOXUfz^9aM7}L7^(ilw(n*1{i^RDs43*#H(YT8y5Iy;(gvatSQO);qL&TrR3zN;s( zlK%eFtUj3@(sqrhJ$nM((SBbYz>GBwst1wwxoWwV#|4@k@B_dYy74fY;HA`pjf3TVyB<{^KA13);{a!60)aiFT62!=v>dO;RA+$`zpT@k@u$QB#ggt^(QF#c|!t?W@p2Np+MX z;Nj|VFkChsz}2|li5Tb4A(B-3`w&sjIuVErEc!C^49%vAfXrWnBPc|4c zP`c608uA_mLR0+J#<|MmVBM@1=zNHS~MsijCX zgmTlni1V-Kq*e>trP391nNl=&sYY98o(ku$V~C5~lDW|1@_02K94Gi7ls+2D}Ly&2Ttbl`VS-M-09V-|4+M zDb=W-s-ShL>)6Tt)e&>@)syHCsuH&B++`%i_lZ&PvSqIn?S_)Nj_80Q!$C1u$rR&p zROF=mMP44Gb$ny|n=P1QMeA`>U6QhjtxR16 zGFr~n1!l8Of3>ETX_tdkb*SKjMahM@kBNbNLpQWFcd>7L1?jflW~%GwaVa(Cgv_y4 zpF_@vsPYBJ#v}22X?0lcV=2zyEKQyAMKOve5xMCt@P}@XacuPi@=QEL70FUZ!ku|= z1ZfS~fa~kicFR=#2`@0IUZu=PKh8wRlgHeiXKjc`gfRDo`S{$e9PAEKg}(d(O{ zy68}}45MV_$?Uw5m>@^uMo@0<+p&HMf#cDZpUj8d>qS_RFIaqj%}w3UuSvONMa5sU z<4fp%v0%++r9GX805P1%lB@B@7#vpe@#*MJnp2%sVH^CCY8wTUo)F&%UNPJO`11Sl zR*&8=oF3=~z5`>NIqcUWKyIGDdj;f`L|X%SAoMIA{miJ?!ObDBaQNy-sLRM%DY8ed zkZ}5nQlR*_->yY`#z_Io6FOfZ#w17>M5ab0qWmMmPRq>4QV$!5A|}ojsg50_k|lkp z2gl^8H~d*enMF_ZqIYHwh1`08&Id1VM(-OA*=$*?kOb z5+AI|c}EelfC|{4EPkkt_L>(Gm7?bfLuc(xDK|ZOtD&QMv$s4RVZ*eb)zcMFlL{ng z>S&_a4t2JQy~8elp)s(ghao1oF2ZL+39M^2_PA&P%^cP~0qv^r8Vk+iT9k$E{|`&| z9nFUS#SJ`(h=_>Tv19K&YEyg9Aa?A%BW7aH+ItICyHssOY1OVxTiViATm4oi-KtNX z-}5-fIiEjqoRiP%zCZU~7O1G04j=RlhfyoI6Fv(C%V#9@!|M|hqX2+A5}eG88mepr z4h0Q0MkZXjjEp=nCJIWOr~`n~iVKR7B=L$`I&w1%XclRbl&YAj61xV-$4)hw$O_>= zGyDfYCke-hvHt2n+pudZpmj`juPDc1fI3krXcY}k%TO=CybVfTi`&o8G*Fr#SUD4c zCq&c1sX?%B2~^Oli8QZ^*`W|R`h>rfH$cpS`TwNg(X@=BDM=7x07(4hzX$*iSWW#E znpQW`;|EJka7{5~a8SwkPcbO-jh|7_1jA)(+msxt*zZ`97`oZ2W)qbUQV)vQNCfQ@ zy#>g7=8|9}=s}};7!_z)qgo6^jRWamvq4tdDWhPJS_v5$``C4#>J5<-7C}IQ{$n*o za+05bzn-r!l)$R@AYx1l>PW~VdQgu$0%_*+oDBv_>PI&E$-&62A?vB=wLL0iWYcdp zSk-QoEFy0Ff0No-{ra+VSfpT#m8KQBL zWCCC&C5{vu8xtSpmEuJVO(MMdg3`n*fRu>hyq_TINTaAAbmZU9Fe4dQAkm-X!4xXP z#1FQf=t8UOg+x3Pl0l*$s*aIk>J!Og2qxaWJOT0-DgX#(nHU%^Mo_v``f2nV0&qV^ zh9@N@M8x^VM#RLP{q%x+b7SH{Vd7t)K~Nif$k`b$C=nqQXLo}QCq{x|e%L{hIRo`{ z$T1KWErJ+cDLSd1e6BM?e(BSyPb@AAJtvV2J-pmJY7yS;BvQn7Hwpp8DVmM32w!=} zrUbQ6X*+`lbh}~ViFK|i4q&mrY~)lM!z1ZP&|LDo=tFPNMtr_UV5;Ct?sgIgW|h4l zb>x<00dD^=~#m)g70Arx>(>=6~WcGY`g4`L0u$nl>?r{Z0Mfe| znIK!84N9&m$@zh3?*+9fN(8U~B~Vj@2oP2a-cH_GD@XvbCF_Dt+u%tcA@Jb!EYQWL z6Y_<|Z}J7XX!?SD{nG{cMB{?|yXb<9c>awn(HEC$UJ^w7SCDwKPK<{Lx*!`D1@aTnxso(u8?(U^R3xJj}G@p88|4ZNB<5(#33MZTbnXIOq@EA zQhK?mpBl*#&zwPIARf#XIfB8P15Jml?O;g2$5a*0EJMAdLd3UjFgR174yd2Mi8!TSwwTHvU`|>+@&fK0Q_px^_Q~! z8K&o(5(m}wHZx_4ZSbm7(q#)Tt2Xm?k%@WfHpGIfFgV9O@2ZMR4sVOYVeh>Yi8c^p zN%){U3DAA{L49j&pP$JG#CxLqWOh0+b;Vh4FCA+|@Yra(V%C;&)R`E_6iL-6@);P# zLx2pbMJwO2k#seoJ5pG(1qin6rq~ zr^_h#wmkUnL?$tZ8$iI~Xrqk`TSe$z79sSw+NDy%^d%r>BBf75HFe(=;Z(M3-QsK>~RSh`{I{uo`zxZ~ONR-V?^^mw3Lmqz35eH9V%RH8X>U_OuqWk!r$i8k9Pe z>nn2_$)#}XTQELZDuka-H+bJaxdvidmDGHd?B+!0t;b6)a*F_OU{W!DCjKCp#4X%+ zVWDmaZ%8c|;=Co*>x(>5=$3{^K>Kt%pE9|Za8|HlKG}2;T*3(xKr(Z#kGur=JZhI% z;X?{W%;)>6iuGc>y&y}^!%+rG*+HNwi)7P|F(5exE7cF5EoP32S~7IE)aSB`QgkowzS8BmORKx#^b_#e4QiC%^)oePK7@))ZWjx$(r%E zjXL^qmRd*T1FYV&WTkvC|!=)f}`8{|`6JF_F5jayGnsmYjODqUdK`O&S@9V88zxx~UE zxK-DYrSBn5xzi8=sn-LqIuuNXmFs% z#9=5xLQZv!(#lC5tVp3IEB4WYx)XQbgT8^5l?fmb!go#&39|5i1;1I6q>S*OUz^jB98PXHmACebtF2K9Mu2I})A!`6%V_XEHyJNRnoP1_)*gIPwcmN=OK# ze7t(c5Tax|=9sv3xJ?LE46-ah-{c71u-;E3NWd2o)Fqyz8cyjCK@m|nw)P?g8%YDl zxTs=VPG6jqfW@TfPte#7T}g5X<+&n$;SY$o9tBDUO$ER>+qruPvQ{8S3J6;BjQ>*A z18^H>{MYR427uQk>gB<75(pXzO0j@2S=}9W^a#KF4I;;JxRQA%&eKgkf3ypazWY#x z94^Rn>YLzy4vmY;@H2|Ei4Md6;sSZWo_(lD>Ll#l$Dm$(afCbI@%3N{xOym~y&j8X zyf`@WQzi~UUQJpjS*eGChT<=aE{-myuam7PpCb(F8aOeK#soD^4!2fhisb1l#`XQP z`MrrmDM#Zsjbq*na>0QdpI5{RU9>5z&B>3V(qrDKn~Kg2<5(LxaU_)kcELMS>3W}fpy2IdzX z!W3|}CBq~^S!`lSRM+zrdJmC7s=BCOPr*HNfzA|JfmUKEw+@%srIbG2kj9y~sZ`LB z0I8RL24)udMV{S7X#4KOz&X za+t_iiC?L}a5p1}P^%qu(Lf2ECKq}S2i}qhXQ}l73Ze)ay&yQ`zB+{b_=(Xa)Bn9N z0Jh#CK+<$sAS!+kP@n$pIrNv=cX3ajCTZ{l6xjXToGBn|9<=n3?u zabrY-o+<_o!~2E6^OGnVN_>la4xTG+LIzrbZPC9dZJOY~N{%yVB@*0>gjW{G3*F>` z`qD#>fE2&Y@qvdq!0UYA@oSWVS0L~Y;Nr6B`KMekJ#CH^P>6w!wg?CTC^Pi@rGr6# z(*VKWslYRGNXmi*_yuJuD-E0z0%rn4&mpvKG<4zs1PXwphI6xg=cJ50VW;{I006)Y z^b8zyJhZ$tKpJkUUjSSIEd!JRu8X2EHvvV<7hve)O`y7$V9TEzK43#EEmjC@2KUiq z@C=0&eg{Wi%s&RZYtlJ~LI6hdBgS@g2s>jdj`?H@c3N{90b@|;ptgzVRW1l5%wL7g z&O;XH&(&=yLMx!k2@R!UGC-)Z>4w@4Tv>;I1WP)D>H1Ne$QER@N73~Y26!|(`|b2C zILl>ex-v~HlAAd_4J?2U`xYn+f-@rl`v2|HNmH}%{)sq80G^>JOWVWzQUVhJiJNeX z(BN3=DK@B4QBpMEMd~8Gz?G!82IM9pnTo|EG42p30#OnXlij~%yEs_uiUZ*Scn(gpur60t8f4p<)f$#!A06sbDs(@0xIBXvCZ?zOG(U*!#olL zPz1k`6}ZlgnG!(lsB4^Im^Hwc&y(b|#Q@y1$U{?cF^2PTV`iRnSK1E1y!wAbo?@v8 z*%D>g3Sa{W-E#v%)l=^na6qL%8;Dzg#S~HS^z5QaKh^0la8-X%O%&_~rlS6JArNVl zBrb-97?{E6U`#wb;I>|6hFwCgbh^_CVVKSorSYDSCM-q%M5Wz}*8NA-nmM3w2N-!k z1xDB~w{jLd006TyGC+mO%JTBc0J5-}+W$_#UA+~6YpXEWMGaWd*mU@p$*g8C3l zm%$q@Y>}4<_#dE%S=g_D-ZYm%)e8X*XBI(~;vB8OFmWmbI~x!H0Z1A8iQ~M3V}-o& zH~=8QCn5qDE`jqGjSdTo6!3NerZkbFBmiItfQ+IkDk#dOe5XRRz$^M>0NXV6TLJxA zuID>oRS9D=ur}SCTO;s_!o?K;((^_m*iD<7pZ9qmJcdf(j9uDIkOp2|Ch1m2)~`bc7*{d5VNKZzvpq-isEj{_D@7+tNm2@y@(VJ@P7%) z)kI8nLj7}pgh@rBmo@!g(>?V+T zV(&Tmv6u<2M2!5`iK`qXxZVi^K{)%_1n=}ibTxQ`VZxri-|K@%n}FDRtBd4|8A+@1 zP%!_+Yl$@y@Pf4(L+2JX#tjaV}f@?2$;q)Men6+l%k;*Q{O=_jt(bRLg|}D z+62S}JDGCEB}4`pf|3Op%t8a60#b-Ro}rltEF@EyR$75_xUS24=w ztT`0bRkI0sx+P4Gb`FGb(T^3u4aEvaEI!i3*sm|9p^d431Hc}9@j6IX8;z=uU<7W6 zfuY?#1O{^jZEs4!>8)eM68UcbmvG1#$Rd7QfOZ2TNHhR}>cZT4Fu3DRD_#_q8F-B8 zEaqkXiRpwP^SAb1@NNfU8IfTOw&Q!Oy^jNqp}ef%C{)2mY=|_pSmJpSwiUSyeh*d; z`XNQ_n}z<~Jn73Is=efU3$4}Y`w4m}O^yHVt0qS4+t{$^BkNlsI$5^(?qi^Ygl~G# z7Sct+_o-mSZ{KNIYHO)Rx$nY7MZP+)2Y{zut5m*QOz!F>rIO66!x0s=B*$9<1A-X3 z>&=d$@Mpc-SUEJ34qN@>KQXN5rYVak{Q=-sl=NLStgLdNNu(C|Q1aFm-7Rk}Ja(T0 zkLA0f>i=+B0Gk$$*VH%>!*lfthR5Z3`u9aTI(%k|+?QHvTt zxhWO-NN#`<7(`>_5-bvhV*iS>;$mpGJD^3t15kYknwQuP7T7Xl0~A3+8J#1F+^qU3 zOKGT`gjpiMFxDVMq#hkZQRr~!z6979!AEB1dU z2S==kpP!eP9{>;=6!gE7Ur+EinmEt|ZsJ6xed7zuDFn5D6)W_{0f&_;iFmhRfy{Ux55jc`M!+#-d?64HEKud%W zB8!^|U_nPm`BAB;1P*32cW%i@udZ)X4}_>&eeTr+WVH8P!WB5Y1k-J(ef8AJ^Rv50@a>1Le6tx30!8qR7% zUDmbthewqKzlH2z$v!J6@^m7f=W*H8Y5Y>**@Z$0&t4NW1qW z`mxdmbLUVx+iwH}Y#yvd#rU~L009AV=MDu3h~U?2pNkJ7-&0tZmBvg=7Ki48rS z7uuhni3jxGSzScVh)%BF7o1)N01k)7o=PF;pfGA`F0R`bgLBMCUS0^^>M1KdfeOxq zW@iTi5U);Csi=tXxngc!03RQR-+`jMIRNxEoeN?`*?p|5OH77~S`mT?f#?vQQ2#)Z zWM7xGY^<=7QlglEAIFa!0aJ1BFb;+xX(&-lDJmdv@^f@x2yO1+V={l7`xW$)a21@d z48&D*R0E*EX(WmXm+=dQ6mdOL*Z(H}6e28v^$zjz4^&0n7B=+u4t0wCy&jYjFJfzh zkV^C>wLS60?=6u+D}J3(%%=+K-#2W&A&6MASotg>ejHJKP@m534|{AiE=Cg z*w&uK%yru)0x`9juj9y~t+l8P0NkoQd?>p|%sZawkrLXC4+a3_|2@6zvVV9yraLF^ zvACZN05o_QzSMc~Uo|P<)lz7>#WVnr>AIq%b=%$nYf$Xu?>$J_DVVz%TfAW`a`S0* z_u;5oa{&O5EJ1kvd%QCCZ{v^nmoJ~00|1Hp9XdhlK7^uW1FzB=CrT^fgjJg8>!NqT zg8GBOsv5)N0Knitws5`BfYbFt2YX^$#5w@rWlHY3UZx}aX$`+sS>l`p0K7fSQoJe*%$Bkeh5}(wM&L^umr*l-E;AJk)D!Dw3DPw%u`v#zk^Yws zRRvrHP~IE^f&s~ZG(a_=0niPY1k3^+0iFW>16%-rKz1NEPy(n4yb3f2x&r-y8Ngg% zGq4SK8#o7C0`3Ekf!}}t5H*Mm#19eyT>4U~8~5xQ6oI&Z%iY066D1o~9^9Qq>qWBT{>U+I6*0}wO_4}>2g6cK|+MBGCxAvO??5YG|s5T6l0 z5SIvQ2FeUY22KWk1~~>}23rP4hA;*qLk>d$!*zy1hAD=73{M!|F`O~{WMDw@A;pn0 zNJFFp(i7>6OhT3*E0NvEA><132>BZcV`O0zV$^2*%YtH!U?s2;Su1)Y`VRL2kW(#85WqZo@itRtPFKj>A{;?Ubo3q=oJF^$ESFqQ!e`Wv04nWbM z5GY5KJIWUof{Lb;i!xEyP-UoE6dBcl>O&2q=1>Qy*QozcKn_L@E)F!u6%Jz#TMkE# zFb*O|4o3mUb&f%fDUN#_PdMIjoN@f*VBqB7l;bqy^yG}-OyJDpyv{koxz4%6sn6xW zRn67Jb%U#yYm{rA>nRtEn}b`FTb0|K$CD?52hWqvQ^C{2^O6U|3+H9yMe|DVD)DOb zn(|_K{dkjkvw2H+>v-FE`*_EA@AGc)9`b(Sh4HcTiSwE8S@QYv;rSByGWZJls`=Xa z2Kkox_W2I^-tnFB{pEwBInZ)wU9=(E8tshsLC2uu(K+Y}bUS($y@pm7wh;~$CJ1K; zlZCs5M}=Ps{}N^p;TKUAu@b?F#EBG&G>eRgtcpAr`6faq$|I^IY9{I?8Y7w~S}%HA zbWwC)^ouBs7>Aggn30&bSb|uwSc}-0*qYdp*bgy!aXxVsaSL%T@p$nfakBWR_(SnS z@$cer30?_h33CZ|iFk=3i8_fq$tKBR$%m5vNq&+1DM=&6BPA=PFXb#1B9$vuA=NH5 zA+;g(QtF=+oivZMoV1R#xwN}`S=t81#8t9z*v)l1Zy)rZwL)!(UqR{y7t(ooWH)Nt4E)d;)`K=X?xy_T4kww8-ltkyNHYAq3MOYJo67VQn~ zPujFPsyZt=a=J#kVY)o}3i>Acp86^JRreSZ(=+oi3o|n|_czZmFEH;jA2XjaUon4a z{=xjWIlTq9g}8;TMYV;kWsYTw<-X;)T_|Z+Bw%!S2!yZqIEmZ?9r+Y42elVxMN;Xn$$Xff2>% zVk|K@j30)8$;8~k>|!__R2=jj{2kIAiXB=V<{UO1-Z}hs;BypmRB+UF^m2@IEOWf! z$m}HSr08VgR@qL61E0=8#{_!!9K-)!Uj4gI_Ek! zI?p(tICH!3yQsMsyLh?yyCk~gx^%fLxSY5kTs2$`UF}`5t_iNyt_`lYTqj(gxP5e^ zc2{w?cXx63a*uS+cCT^obsuwIc7N{vpZkS7(u3PW#>3FV*2Bjm$s^sP)T7a(-(%Th z&*P=X7Y_kXRZmmTP|tGDLC+meQ(QQX%1hhJ#w)^0)Z4&2!n@IX-ut6B#Anv`+?T^o z)KAaP)erAi=-2Ld*Kfmb-|xNOXTM87R)4g=jK7h;jlYL~vVXpRo&OF0e*Y=|E&oUU zPyN66fA|06j|^Z9;0%xrPzq2BunMpbzy^c`LtORTX>;}9F zI0^6xEDD?nTnU5($pzU5#RnA!-3+=NG#d0M=qQLM*f=;Qm=v5BTpN5Zcp-Q-crW-> z@Yi5i2ycjH$kmY8ki?L-kj0S05Ux;_P`yx0XhdjIXklne=*`dvp+aE+VbS3^;Z5P| z;cvq~hW`zxjo^xqjnIg&jPQyGi%5y6i)fD+i`b4hjCddMJ3=wiBr+(nDe_k2Zlpj| zNR(o&$|ag7MkHn?<|U3MP9{D~ zJV^YT$dJUBB$T9(gh}#GA|xdxt z*h%~(MUpnjgk(o@BL$Q2qy$nXsfl!*G)1~c+9Ms4evuF$Y9K5%aq8}$h6D!&n(Yu$z03a&U~EtHuFm+D2pbG zHA^Z>K1(IbILjd`G%G5Lkd>2FnRPv@GixO4PS#4+Ue=qei!7RK&TP$WhwP~A*6h`6 z(Hy&+jGX42TREFKA95~p_;NLJEpo$h^K$EQdvfpRisz~2nddp@`Q(M=#pR{t<>yW1 zt>-<-fPR()~`Le z_U{_9K&rs1Af_O#;95atL32S@!A!wk!P^3=LS!L-;gv$oLd!zeLSkWhVO3#A;d
fS;OGipqN{>pvmBPxz%CyQ{%RI{S%InH! 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 Rn*X;a|6Ow}DEz;<{11L!sFeT! literal 0 HcmV?d00001 diff --git a/unprot/unp_.com b/unprot/unp_.com new file mode 100644 index 0000000000000000000000000000000000000000..b251795deb5fedc632fbbf3befa94495c5c1d810 GIT binary patch literal 2072 zcmY+Ee^gV4702&;dHEd@lwbg9@?r(~ArXj(0$K=!pOSvialasrAP;^|fmUCgK1|2>rn=)~!PI?ZUwpHDbtH zpHrm8)9r6NRCwH)HL)?XNWcww<}{-g&#B$2!qcj&aiguWig4matJCV(X|2%N3EWz1 zCo8M)8f%T+v3n{0igg43+%{xLIfTEUCiVKBZ&B7LH8A{m?D)+46PcO4fSfvb&L8Ob zmQx2m^QV*NnKI9`d2XF&#XPO^+%`uC@7VB;0eY@^CN`%kV{nnwFb05AOaPXyToohy&a+SL` z8tHW3ET$%+$HtD8(hZ&H*RFp+3PYZ!)vt_pP4gVr{x6m}`d^9nJ-7??cWF-v=LzF%HU^&D zA?4BK&{!WL0RaH>U^|<-;Ry+(u1A3Ssz=9jV0BmIlNUcW0FrIsK(BZ67L}qQ|C?G7eVRaE+b@_i1wa3^h^4ZI%bp>|?779D;Z7 zodvpg6r~$J3h52s9DnV#1-@^8#rO5^*9bBC2i>INIX!(;5XUD(32g+YEkbaO{4b4h z2zu%;Jil0;EcY^CrhE~7)bQD`9nr(N)L+XAg1g_61o9p#atjO0oMtKLKc>E$J;lJ- z3Bn|hwx=)&;jV~*wLsGC9ECl2c^KEZ*6YHfU#ByuK>nVICT`goF?Jqr!@j|yu_dy2 zXxn2*E6QG*uFuz&Xf+)m^hY$-ZPu!40Nh?-b>JE0gw)eI*rBZYp!1cAW5X3Tk5)h*YzazcwLr+9f3A( zB0|q@>L@O*=vf%hJlP2{<0X15_0fAJfpzbH^{$n5aaWYdE(f%AE)yq_M zPgs^5O{8~*x~yezL{Pe5^?GI(%gr7;CT+XS_FG3?iSBR6VBjO|C@rD(F3|h@%&@$0 zvdqV}T#Uv}V32)_^6B06a*!Kp8bvC3iK0PbfPqK2+-ToopM6#sn0}RxiZpfpqhqj>a zEv$tP21UqJ^9VIP!&N*9_2dWbUJ5(7@Kd2di&dms&UwcUDI0>^(#%$l2i;?sOOe#w2TpOQGUa9v7hEc+g z-DrxCAy7?=@6vcAbyKiZBn;4~uTcXFf*`l?$U-ReXum)}+!!TY>E&BInWBro*;3b& zMg)kcBQn#X0M9xhA7U2A@TP=-%m`nIe8BcMS0%c^uNt|q!w19$K8z>sa!=d?Xk zJpvhg!sCM5U#Bn9mY8&gpd!`g{j@BW&ovoNfh-KmH-v4{nR4^jLvW8wa+sZ?E7nHf zG0w_i{B^+&90AC{Gs&&nH`vML`Q=2FP0K3}%d1|l_FsU53`!9u-rRlOM@f z3&4nnv6w16N)?6cBM{twMLPcXaou{H1ey5Ws(AY& z?mcAn=Y6VstCAAct26GE)w%HCnBsDWt$fQ9*H_5x%6-*@tx~1vZzXFE)ZPJO?H`-E zaG-j4vk$j>3Bvr%!FtRQ*T=Nh0`q-PA~z^wa7mCZNZg$~ToXifakycYunUK4Ak5FY z)Z+Ik8eiXrpNzX8Igf>YHGYVXAuRJEE@GMBCkPd*HF1gpq!$7u?0rKb6VlZ4CSvb4 zTn}8h1Cj3x5l_%qNOQx}Cs`->{}h%c*&itup#nv4;_py?JPL2GLO-FK*P&>$5h2dV e%_y(gmi7LPKk-lTdw<`?|3zXqtRGS$!2A#TWfNUL" +shell cmdline$ +kill "unp.$$$" +shell "UNP.EXE" +kill "UNP.EXE" +goto Ende + +SysOp: +Call MakeWindow(3,5,20,74,ColAttr%(14,1),3,4,1) +Call TitleWindow(1,"[ SysOp - Setup ]") +Call PrtCwindow(2,"*** SysOp - Setup initiated ***") +color 15,1 +locate 7,7:print "Opening UNPROT.EXE ... "; +open "B",#1,"UNPROT.EXE" +print "OK" +locate 8,7:print "Seeking to Flag-Byte ... "; +seek #1,30 +print "OK" +locate 9,7:print "Getting Launch-Flag-Info ... "; +get$ #1,1,LaunchsLeft$ +print "OK" +locate 10,7:print "Closing UNPROT.EXE ... "; +close #1 +print"OK" +color 12,1:locate 11,7:print"StartUp-Sequence complete." +Call MakeWindow(10,20,5,40,ColAttr%(15,3),3,4,1) +Call TitleWindow(1,"[ Password input ]") +locate 12,22:color 14,3:print"Enter password: "; +color 1,1:input "",Pass$:color 15,1 +if Pass$="FuckHost" then UserN$="Markus" +if Pass$="Calle" then UserN$="Carlos" +if UserN$="" then + Call MakeWindow(10,30,4,22,ColAttr%(12,2),3,4,1) + Call TitleWindow(1,"[ ALERT!! ]") + locate 12,32:color 12,2:print "PASSWORD INCORRECT" + delay 2 + call RemoveWindow + delay .5 + call RemoveWindow + color 12,1 + locate 13,7:print"*** INCORRECT PASSWORD ***, exiting..." + delay 1 + call RemoveWindow + goto Ende +end if +Call RemoveWindow +locate 13,7:color 12,1 +print"*** PASSWORD CORRECT ***, logging in ..." +locate 15,7:color 14,1 +print "Hi ";UserN$;"! Nice to see you again." +MenuAgain: +item$(0)="" +item$(1)="" +item$(2)="" +item$(3)="" +item$(0)="[ Logged in ]" +item$(1)="View current Status" +item$(2)="Enter new LF" +item$(3)="Register this program" +call MakeMenu(10,50,ColAttr%(14,3),ColAttr%(15,1),3,4,1,1,3,item$()) +decr Wwidth%,4 +if CurntPos%=0 then + locate 20,7:color 10,1:print "*** ESC PRESSED ***, logging out ..." + delay 2 + call RemoveWindow + goto Ende +end if +if CurntPos%=1 then 'Status anzeigen + call MakeWindow(9,30,6,28,ColAttr%(15,3),3,4,1) + call TitleWindow(1,"[ Program Status ]") + locate 11,32:color 15,3:print"Program Status: "; + if Expi=1 then color 12,3:print"LOCKED" else color 10,3:print"UNLOCKED" + color 15,3 + locate 12,32:print"Launchs left : ";mid$(str$(asc(LaunchsLeft$)),2,3) + call TitleWindow(5," KEY ") +1 if inkey$="" then 1 + call RemoveWindow + goto MenuAgain +end if +if CurntPos%=2 then 'neues Launch-Flag setzen + call MakeWindow(9,20,7,40,ColAttr%(15,3),3,4,1) + call TitleWindow(1,"[ Edit Parameters ]") + call PrtWindow(2,2,"Program Status: ") + call PrtWindow(3,2,"Launchs left : ") + call TitleWindow(4," Stat-SPC ") + call TitleWindow(6," Lnch-+/- ") + call TitleWindow(5," OK-ESC ") + locate 11,38 + if Expi=1 then color 12,3:print"LOCKED " else color 10,3:print"UNLOCKED" + locate 12,38 + color 15,3:print mid$(str$(asc(LaunchsLeft$)),2,3) +2 a$=inkey$:if a$="" then 2 + if a$=" " and Expi=1 and chf=0 then Expi=0:chf=1 + if a$=" " and Expi=0 and chf=0 then Expi=1:chf=1 + chf=0 + if a$="+" then LaunchsLeft$=chr$(asc(LaunchsLeft$)+1) + if a$="-" then LaunchsLeft$=chr$(asc(LaunchsLeft$)-1) + locate 11,38 + if Expi=0 then color 10,3:print"UNLOCKED" + if Expi=1 then color 12,3:print"LOCKED " + color 15,3 + locate 12,38:print mid$(str$(asc(LaunchsLeft$)),2,3);" " + if A$=chr$(27) then goto WriteIt + goto 2 +end if +if CurntPos%=3 then 'Programm komplett registrieren (Diesen Schutz entfernen) + Call MakeWindow(10,20,5,40,ColAttr%(15,3),3,4,1) + call TitleWindow(1,"[ Password input ]") + locate 12,22:color 14,3:print"Enter password: "; + color 1,1:input "",Pass$:color 15,1 + if Pass$="RoboCop INDUSTRIES" then goto RegProggy + Call MakeWindow(10,30,4,22,ColAttr%(12,2),3,4,1) + call TitleWindow(1,"[ ALERT!! ]") + locate 12,32:color 12,2:print"PASSWORD INCORRECT" + delay 2 + call RemoveWindow + delay .5 + call RemoveWindow + color 12,1 + locate 20,7:print"*** INCORRECT PASSWORD ***, exiting ..." + delay 1 + call RemoveWindow + goto Ende +end if + +RegProggy: + call RemoveWindow + call ClearWindow + color 12,1 + locate 5,7:print"*** REGISTER SEQUENCE ENGAGED ***" + color 15,1 + locate 7,7:print"Creating Temp-File ... "; + open "O",#1,"UNP.$$$" + print#1,"MZ"; + close #1 + print"OK" + locate 8,7:print"Creating UNP.EXE ... "; + shell "copy UNP.$$$ /B + UNP.OVL /b UNP.EXE /B >NUL" + print "OK" + locate 9,7:print"Deleting Temp-File ... "; + kill "UNP.$$$" + print "OK" + locate 10,7:print"Deleting Overlay-Data ... "; + kill "UNP.OVL" + print "OK" + locate 11,7:print"Deleting StartUp-Prog ... "; + kill "UNP.COM" + print"OK" + locate 12,7:print"Deleting StartUp-Tool ... "; + kill "SHROOM.COM" + print"OK" + locate 13,7:print"Killing MYSELF (Bye, ";UserN$;"!!) ... "; + kill "UNPROT.EXE" + print"OK" + locate 15,7:color 12,1:print"*** REGISTER SEQUENCE COMPLETE ***" + color 14,1:locate 16,7:print"This program is now fully functioning." +goto Ende + +WriteIt: +call RemoveWindow +call ClearWindow +color 14,1:locate 5,7:print"OK, ";UserN$;"!" +color 15,1 +locate 7,7:print"Opening UNPROT.EXE ... "; +open "B",#1,"UNPROT.EXE" +print "OK" +locate 8,7:print"Seeking to Flag-Byte ... "; +seek #1,30 +print"OK" +locate 9,7:print"Writing setted Flag-Byte ... "; +put$ #1,LaunchsLeft$ +print "OK" +locate 10,7:print"Closing UNPROT.EXE ... "; +close #1 +print"OK" +locate 11,7:print"Changing Attribs of Flag-File ... "; +shell "ATTRIB -s -h -r C:\IO.SYS" +print "OK" +locate 12,7:print"Opening Flag-File ... "; +open "B",#1,"C:\IO.SYS" +print"OK" +locate 13,7:print"Seeking to Flag-Byte ... "; +seek #1,40102 +print "OK" +locate 14,7:print"Writing setted Flag ... "; +if Expi=1 then put$ #1,"n" +if Expi=0 then put$ #1,"m" +print "OK" +locate 15,7:print"Closing Flag-File ... "; +close #1 +print "OK" +locate 16,7:print"Changing Attribs of Flag File ... "; +shell "ATTRIB +s +h +r C:\IO.SYS" +print"OK" +color 12,1:locate 17,7:print"Write-Down Sequence complete." +goto MenuAgain + +Expired: +color 4,0 +print"Dies ist nur die Shareware-Version von UNPROTECT." +print"Wenn Ihnen dieses Programm gef„llt, so lassen Sie sich bitte registrieren." +print +if Expi=0 then + shell "ATTRIB -s -h -r C:\IO.SYS" + open "B",#1,"C:\IO.SYS" + seek #1,40102 + put$ #1,"n" + close #1 + shell "ATTRIB +s +h +r C:\IO.SYS" +end if +goto Ende + +Ende: +end \ No newline at end of file diff --git a/unprot/unprot.exe b/unprot/unprot.exe new file mode 100644 index 0000000000000000000000000000000000000000..b4c21165a8e9063435d551c87c50e5419592ff3c GIT binary patch literal 31039 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 literal 0 HcmV?d00001 diff --git a/vidmodes.bas b/vidmodes.bas new file mode 100644 index 0000000..c09575a --- /dev/null +++ b/vidmodes.bas @@ -0,0 +1,64 @@ +dim MaxLines(12) +for s=0 to 12 + screen 0,0,0 + width 80 + gosub PrintNA + screen s + cls + on error goto MaxHere + for x=1 to 50 + locate x,1 + print"Linie ";x; + next x +1 delay .5 +next s +goto Ende + +PrintNA: +xpos=22 +y=11 +locate y,xpos +color 28 +for block=0 to 37 + print"Û"; +next block +locate y+1,xpos +color 28:print"ÛÛ";:color 14:print using" VideoMode ## is not available_!";s;:print" ";:color 28:print"ÛÛ" +locate y+2,xpos +for block=0 to 37 + print"Û"; +next block +color 15 +MaxLines(s)=0 +return + +MaxHere: + MaxLines(s)=x-1 + locate MaxLines(s),20:print "Modus";s; + resume 1 + +Ende: +screen 0,0,0 +for s=0 to 12 + ModeInfo$="n/a" + if s=0 then ModeInfo$="Textmodus" + if s=1 then ModeInfo$="320x200x4" + if s=2 then ModeInfo$="640x200x4 / 720x348x2" +' if s=3 then ModeInfo$="720x348x2" + if s=7 then ModeInfo$="320x200x16" + if s=8 then ModeInfo$="640x200x16" + if s=9 then ModeInfo$="640x350x16" +' if s=10 then ModeInfo$="640x350x16m" + if s=11 then ModeInfo$="640x480x256m" + if s=12 then ModeInfo$="640x480x256" + MaxLines$=mid$(str$(MaxLines(s)),2,20)+" Zeilen" + if ModeInfo$="n/a" then MaxLines$="n/a" + PO$=using$("Modus ##",s) + PO$=PO$+using$(" (\ \)",ModeInfo$) + print PO$;": ";MaxLines$ +next s +color 14+16,0 +Ausgabe$="Bitte eine Taste drcken, wenn bereit" +locate 20,(80-len(Ausgabe$))/2 +print Ausgabe$ +999 if inkey$="" then 999 \ No newline at end of file diff --git a/vidmodes.exe b/vidmodes.exe new file mode 100644 index 0000000000000000000000000000000000000000..34aad4f20e579b30dca82a78c6ea929c7cd4dab1 GIT binary patch literal 22291 zcmbt+3qTWB*6^K2CgEWSiYU}35ivp0DF#a|0mWCeRuQEtqGDg}+HP0<;sk8JR>P(% zCPUe_yI&v6wkxIW-$mP|t?Q!fYGACW_yFnGg4RdD>ZD`Qf(3+_`OlqzkFMQszyA-+ z%zd1D?zv~~J@?*o&YcDM!-xq8ArifTWLeEPA^b92qu|0ne`CD=SiJv8yuUu)e<0pp z8;?_U9Rdzg6u;2ACrM7!o6 z8!dJt@oB>Tj2KIbS){mIE3S-H^2Lpm)=7-jOT`AnH#VK8>co2@D8`PcL#|p)b&64pj3{lOgt8XuV407v6_yFK1iXZKzy0_CWiwj5i@D?3z~t-Jpz_ijIxmHSgGHmcl*7 zs(&M?P{s1_VBPwm6dZ^5o+70it zF=>Bi(jE=wvl9OTM=;NMZTL7oEpi+mdo-!6u3cjyVq6E)+j<4|0G-@ecFJF_DQze_ z9Z2<+F-McSp$J{;nXn!D~Ye%ZDCI{_# z674qb?;f+mauNP1p{=`~NlBoQ5XjZ5Q+<1UC{^y-;Wgs^2Mnqz)yE^Yq7+q*LX~<{ z34JO7RVJcTU$J%+nl`Lht49{N8Gl7>c!t$TFgy`3;a!&%CJIJ%|9p%8=1m z&%6xdv!3|_Iy8f=fY;w+3X7OXppC>lpx+(44y_P?)qB)v|0twYckK{k(XJHeJW!{& z6^Va9;$@&`6wqt&rG~nfsf?Kba)=p^B-I{S?)>N@M=$H1Iv>F;8;Sd)?OF%Jy0l4% zgu4lm;wRDe7)PX%M8JI%!gmuQME5ONT1leC|Gbr?Q<8MTBYD;X)mX|@6EF<)$~XeF zh>L&$0kt5<1PNNk=%Lw;uw&6)n78Uh9|!#$Q-Dd+ zBaJeUrk0{|w%AmPvd#;;qK@e@)b@fx%KtiuFJLs#Y8r)tfZqfXoeNXyq>&?4+>Pv7 zr%X7)6gb-d9@@K?vYfu0==7Z5gPib8KftMjg0nxIQ?*_7|2Bj$OL{>mKq@GKC$EW8NE)F;oTy`_LMl{0X$wa>02$a$_VkqDbxRr;5m4 z;W}i;0}tXIvCe)q7v=2NaN*AW2s;2oh5$sPwn2=FY!D+5TL!ZO%fmDwD02x^f5<4y z93_4^M2ylwbRIIon-kr`{NIH`^f~CD4x+(3jD2S<@^2X?ZpSYX2D$8r9)#A2D~4^P z{ErXQi+n)5+HcT{jRCCzUZwbT6b!%TP~~QG<*bCtc?tE54F*#^GgrCKPuK+E?1Y!- zdL}17SHk$p;V-)`hv(!hTHJs> z7)3_hOTRfPY{Wl|(Pg#_DYRX78PHDeCCM{1X^XCVu z9|*yWQgWK(mk&H|FZsUb&@s&v*Pr7@VxnDowpE;sy8jmLJon+WK4OVFA z>&ccZ0+zQlEOR5ZIvB?m^yDt|jjU((tVH`XX#XQbSxc;1iiQL`v5(U1cM^Ivo+ShC z?Pv?A4MHF^W$sa-eb?0cy<^^m^nMuTcrE2nvlKG}<`8(yLQI*@#Oo1K?}}gz2vg~5viktZ5&h~F0?@0%lRWXzKJOUTL)*l6W!FKv?OON+ zZm4%Mkg)IY81ZE}=)!fR)E=ZO{zf)%#^lLY3OWL#BLE%2MGvCe z7mVVAUGGW9144j5a%Y{f$xQ=w!Xn~kO|8OTq7bJNNt7itiJ?Cs<1ssv@mvu(*(l`d zMFZLxuZUYG;=;u*X4oUeNVHMyRb#Py-LOJ{C38jmIB5u8upyLuWMg;*jUs%GEB@c3 zo>&s`X*A-eGAOIe=en-iXr_)(wPh_hCqjld>rR8hOxZa%fWi8mDLd;1U}>ovwn|i8 zSqpyFGbD)pELev7NjFr2;|Spr7?y9LY9a4dMhLHd0I&WgUOnJVbJdZs#)Xw_MeMlb z7V9Z{B1^=^j)N7k>pL=3om&t5DDw^0j-x{MlKJz~A6`CVR(kHt#o6gI7iQe z624jREfvxhOu{z{zA4ek>4+dHS{0+7@?g3(BXcSqEn%S_3J?7d!sG1Km|OST$6fWX zW5b%`-$?I>A%{1|tF67mPD6Z8`WfvRZCq4b)N>C$_u%damqY>HfnTb1y>*B6l66eR zYS>UU$3Gq&`Wt5*XJxIAM-Rdw^oPv%GIwWwocX)yd?to`F?#&a!M``7-;Dk+`kmk+)TLmHX1$Bx-)kxXM-ky;ZC(F1#ga+$HC<-LQ?Z1Jty4%xmIOm_rl2G=} z-!5t|g}mtBD2tF*Yf#rS6U=JpFRU3MykN6jsC)!fCYe3;l@@d5WOME=$}@Gc`IxS_ zjv!X>wPTSH#?(32)FiXo5mtO%%{Zt%krA%zzl5iniKwkyiYjepSVjOsckC>)9=0-u zibu>nCcwAY%tMm+HS1|<5UiMC1+s@i`yV&M;yq`_jvd=)o70(@W(Os9lY-X3 z>yyk)?flry!^-h+O@S*Nt_--Q!j%QrJh^r!aJ>fC8)ng^`mk~-1oPm^hifHV1#mqI*9`NAz@9PC^!tHJCYxD47slAki(n6K z7T=_oe^@ybpkm;Pg=-{Squ|oRWi<1XYnEv75>JCw01LFPAnAy}(j6AH)INlG*u9wf z7guR36XCH&TWK=OvGHcCCtxd5%$3=w5-%LBOcF58Ujt*lsomADwX0b9|9qwe`DBEt zM^Y<+*?`jjM_B(SnZ^G?(lRA+a*)Y3N{T zt`Zo9xOob`*+{Q7u=4A#!#&iu;DI|AJZ6~*0v?u7Y;x$aIP}O4JvPGwFPt-DfDOlV zg8xq%@eH+#WN{~ijq)sW@plAq47M{^8{#nTB0$5j6hXrFM-ZD1t>+>w7a&>zQD~ol zsp)3Cqh(H;3u5h~(JWu`$>)X=BH`SfYqMv z49qGV;tc$jQ#k`$9m&qiS&Nn~WAtjzfeF@b*#7PJj^1~~NL}?rTE1_mrw6*;Rj)2s z&Q^Rf`Yq5}=#aQY=6czn);pS&p$-8^`Cv3G+6AZ!)I%bL{PZ<3U*;lj0ZCVcz~ZHP zCMS2%vL&p?Gy&SJpAl+2dthp|SzJPfpLD>BjWwA?E5Q~|HJSIMJBH;dY_be+NExr< z0#bZ{T(x@niafQUAYTY5NckhqZ@083+!gnA0`Ml7#TZfy5=ubk1{R(N1w0YU>m9sVB=$ZC^tt_Uvt;I&xq)leZW`k(!QtgRp3+9yT;NW>16V zd(c9G3L-xh?fjvGgBSPZXwzL^&SFTSxSor@~I(Hzf({S=9YBZJ3-$L}Z<$X&Li{obFx zlUmTy#U`4?uaS5Vty;Yz#2`urrnOyD*p?@U(oP0*!~{7HG+~QaIc=7i^`y--e@ck& zAg?j>N<7*bX3O{Df64jF{iO(A*-|`2$D3heH&NV#SdV_DIoR+M=wHgg28RT2c+=<@ zBUZ?go~>AiJC7Z1+6}k|apu(S{jm2NK1n=}#EA$x>xw)f2gZUfPgt}EwzV&^bFk!< zeItQ;`JQb0JRUwk8%5khvXDU9crIht7l3Nm$jDF2KI!Z z{qLChue#o=CUwVju!Mv`4b#RtbEVx}S!k}@WUhG4JhyU#x$-%4#TyXf%$3iZ4Q$18 z=By@>t$fwYRy-dH{=qDuDG#8TbEfBJFI+Zr?!##A?8P(D(mB&n09H8smos;U`#4QT zCP!x&9i57rW<0X^B2IH-O;c2yk#FETyWV$1nLH{090q_<8AdL`;#1T&(&_6$udwg6 zSZT<<@>of;Z(FQH?c-yCVDW9)VAn&Lc#~%~A@2P#;}LFX#&S-ZVS~D|9aJPCM1rca z8MNYg%W@VxJa^X28Pl_-P0h@(f($FwCyltN0VtsaaTvmz_z_r3F%PDDkSYERR6p?i z=>(&r2TPi#6P%7&%E*lHapC=Rf$$5Pv>-q?z&3=Q zzAJr)6rsd4=so!Hv*@u==flsl+n)w;ybi_)^E6T$EWQ(15HZzR2sS1j{Rq&PU3k>f z8}4JbGCN0aO3%2;r8(QzcMB9pIU6WmNQ}y)ZH@^8Vjr)!JxQQA!WyK~B$%5tia?d6 zd1@@{fK=ZYPd!!yjvo=|{K%oIA(0fz3wxr_e$VL6j~y-5T9gbMg&G=xCan29e~1^v zdFZ#b+&(t!cXdW_IO@CbSfumfV~JaUO~#8x1@Vc+Sd<-2;+rE*I*1uCm(&^A-QNFx)lbB2A#a7w5jhBL zels* zg!?D5>J{X&WhAU9e-rncxL1|yow)bo@S=G#0b*2DEFhy$EO`yWU>t(Q5+u5W9Kj{! zgb0PI{~qUyI}mp?t~Jh-q7qCRmC)TBE|`oeApt_BgnJ>f4H6rrE4WoZ#1ZlMijI#} zbR`dW3xq>eT#u`}0(HzBh~w(6K;px$`W#`V>k3qu`tbepXFi*0C# z+h)y4otrv$?%aFk&V3LPAJaSZFX&&=L(g6difouex5NGliw`UrK^d7R{W>@GG+Uy7 z8a>Q<{(N6NyG_3ql(M;sYM$B{%eQ0>1M@-6Fc6`C9yOQ^YO1Bnmgt#X%TrGu8y)!U z;mpyfNc)*B(}0T9@D^`^stv1F7vwL`TOoMU_IfAp^{V!IukH1!_j(z;)x%1#*DfjD zLksF?7L>vz%=37oN3#{6<9-fh{($U5{YOJX7Iur2XuY5Rc9m=MHJOuO)T{*_uE`MafjI~@yJQT~x?4wEh$D`DffIxhO;2ZaiN8EnaKb6?P0(We0)vOx}vOa&!9q4+NEV&|E|g=)6l0S#8X!JT6Lsi5P$x zhE>>#ihM#&t{%WXFVJ|@iNTC+j+p70Lx9;Tu|9+0!V-O)I>X0N56_(GF3{B5B0mpb z1#{ksKVjUi%Xq$1Y++1mVQ0CdO_TL2iN6d%+>m4U7k2jZwrdb^=%A0}4Jc%Q=ex&* z*w6!=3ugL<8b!ONQG~lin#|k!#!gXZ>eSr0OdZ7~W{y;IhRl%^7ylPTIEIX!f-+M; zp`AGeakN(@G2RG?^fK=}kJxvfL5dppiwn3m*8%bbnlX3bqD30mkZ53jA<@fA^rgqj z&isQw`)bVxXURq>B9xN){XU=hGh@WbXCuKJ;yQ(TPWCi@HW5bOQFBc=N0JDZp+&YOdmsWqatVwm$xI!zuxRVjwqX_Dqy9>!HO{jWeF* z)@(HX!oFtB;>XrKx&GJ2Y{#!3Ut>4su37WsG~;Z$eZAfI7-!t@%U@4?g0rVDUh^N0 zr|eK-*1}w)<-SxlFE25By>Uv)lm`-X?CXDNf9%&rZvA@W<4^rElx~@lcHfkg)G29+ zQ79JaQ3l$CuA;TXdBR6I)v&kLqlqX#cj1EB*;6!0BhlNoO*0Noeb%~VO3&ohNip~R zal-2Hm(5jUhsGjW6ApS8_&FC5$`fuha)JqaODHPK2#ijaVG|N?oFK4*27YQycvwUv zu$NH&LW#HT3=R&_>Y}2DBGrq5gb8Dw83VGNU>F)rL({URIj8wfpcA?i#uF)BsEh8> zbVUYGfC!KQY75%p+>iEWokQo0SI`w*59-nMqkj4Zx&aSDobDi7rbf|(Js{d*AfSh3bW z9cvk|T&hm;bjqfe1hq5Ls#2o7%1Ra{=DUJ⋘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 RSgpX>?SWHl1NhFO{|oSckiGx_ literal 0 HcmV?d00001 diff --git a/voc/bad_day.v_c b/voc/bad_day.v_c new file mode 100644 index 0000000..040312f --- /dev/null +++ b/voc/bad_day.v_c @@ -0,0 +1,88 @@ +yqr}‰{qq{|x€zwqux|„{wpros~€|wzy€†}‚†ˆ††‡‰‡†€†…zwqux|„{wpros~€|wzy€†}‚†ˆ††‡‰‡þþþþþþþþþþþþþ€†…xtƒxpu{}ƒ~}}zyyz{||~}‹Œ‘Šƒ‡…~uzyqoy‚{yˆˆz|Œ‘…‚ƒ}ƒ‰ˆ‚x}~ƒ‹‹…ywryˆ +„vuv†|{„…us‚‹„xrt~}vu„„†~{ƒˆ‡|~}|‚…ƒskq€‹†xprwz|††vgn’—‹~‡‡|stvy‡‡€zy}„…ˆƒuu‰’‡su…ˆƒŠ‹xu~‰”Šsjt|„‹{qjkt~…€vor{ƒ…ƒudkrx€schx{†‡‹ƒ€‚„xt‚‡Š…zsw„ˆ +ˆ{|…‰’‡vmx‡“–‹~’š‘ˆ‚vz}…ˆƒuq}„‚€vv~}|z{|}~ƒ„|vpt{‡}wlr‚}yuvy~‚~ylly…Š„|qt{xvuwty|}ƒ‡‹†ƒ‹‰………‡€zy„„…~vwyw~€€‚|xy†‚ƒ…‡Ž˜’Šƒ€yx|€xzy}z}…„~ƒ†|y…‚„ +{xz~Šƒ}wuy„ˆŽ†xr|€y‚}{z|€ƒŒƒ}~‚‡‡€pnqt{~~’‰†}…ƒŠwzŒ„wxw|…ˆ…sls‚‡ƒ~{vq|~‰„z€Ž…€vtwvv…†€u~‚vnuyy~……{lfw‰‚yxxv{‚‚‚wmq…ˆrloy‚ƒŽ‡‚uu‡‹~xxpsw{‚~u‚Œ +‘ŒˆŠ‹†~}}~~„‘ƒrotvz}wv‚…tov‡ŒŒ‚{|†‘•}~ƒƒ~ƒˆƒ€‹•’‰€„ƒ‹‰ˆŽŠ‹‡‚ƒƒvm|…‡}}~|}‡†xz~‚}vrttw‚ƒrgmrqlpwyzx‚‚zz€ƒ‰„~y~}{†ƒ~ƒƒymnpx~„ˆ…~rtzƒ…}ƒ‹‹‹Œ}rw +ƒ‚yy{†ƒ„ƒ„|{|yuzzy~ƒ„|vw‚zrz‰‚ywxtu{‚‚zts{„~{{y€ƒ‚wqqlt}…Œ‡ƒŽˆ‡Š•‹‰‰‹„}||{~{}ƒ‡‚…ƒ†Ž‰ƒ|xwŒ‹ŠŽ†{}‚{vt€Œ“ƒury{|„€zyrw{}}~€‚€xwwwwyx}‚}{ywxxvx +€‡ƒ{tomruuniihqx†„ƒ}…Ž“Š„{tx~~€Š†~|xz€„…„„~z{yw}€…„€‚…‡†Œ’Š~tloy‚|€yu{~{sw‰…zwtxyxƒ‚z†‰‘‹‡ŒŠƒ{~~vv‚…„~y{xrw…Š„ƒ†ˆ‡‡‚‚z€ˆŠ‹„‚ƒ†‹‰}rfgsxtu +ƒ~tv€†y~Š‘‹„‚‡„zztuyqs†„‰ƒ€€‹€xtquxx{}{|ƒ†„vsx‰ˆ‚~}z|‚|…‚toy~}~{|v{€upppnsvuzƒ‡ŒŠ‚y|„’„‚‚€‡‚qqqkq†ƒ~y{’‘ƒzz}‰ˆŠŽ‹†yrŽ…ˆˆ}v|{xwurs|…†~|‚‡‰ +€w|{y}‚}~xy{††…|ww…‹~tx|trsoqqlr~„‹ƒ~‡‘‡‚‚zu|~}~|€‚„…ƒ}pkt{}{z„…||xu~‡†„‹’{xy{{~„†‚w}‰Š‰ƒno}…}ƒ†|‚ywups|ƒ„Š†y}†‰}wtz}uotsjp~oqpgo€ˆ„ƒ‡Š|x‡ +‘‹Ž˜Š~ˆ•“„€zrt}|y~xrt„‰‰ƒˆ‰„„ŽŠ…Š‹|tslnw‡€}‹„x|††zrqux{xzxop|ˆ‚„ln~…{‰{ot„‚}ywuv…yxyxvop|s{{}†‹ˆƒ‹Žˆ‰ˆ‚…‘‰mfmv}†~ot‚ƒ…‰€xz‰††zx‹ˆ|y{~‚„Œ +‚ƒ†…{svw~{„€‡’‡ˆ‚~{‰†„zpwˆ”ˆ‰‡‹€rr|zvlid^lz‚Š†ƒ……~†€€‚€‚‚}ywzˆ„‚|wvv~zzusy‚ƒ‚thot…Ž‡|{„Ž‡‡‚{qn}ˆ„z{wt‚‹†€zzyt{|vx|‚€}tvslzƒƒ{~€‡Œ…‚€…‰ŽŒ†rjku|z +xmigo~‡ƒ|‚……Šˆ}|xz‚ŽŠ‡‹Œ†…{|xosvy€†}‡‰“–‚€‰••”…utrz‡’‚‰’”–Œ‚†€}€‡}nknt{‚{~…€€‚|w~‚ƒzu|vw€€yst~†sacikrtzpjlt~‡…xz‚‰‹~‚ŒŽ„„~ztov|wvz†„|q{†… +†‰‹€~€‡‰ˆƒzz{‚ˆˆ‡vu{‘Ž†{wwut{ynim|††}ru|ƒyuvqlw~ƒ{w‘‘Šyr|Œtqsyzx|xz}‹—š‹~Š˜š•Œˆ€ŠŽ“ww…‚‰ƒwszƒˆ„onrw{‚xuy…’’{ns‡Œ‚zxxzƒŠ‘‰wv~‰ŒŠ†wos‡‹~qpx~unl +r~ƒˆ‹zv„•–ˆ}yuuw{~q_bq€|utjlwƒ†{vrv~ŠŠ‰v{„ˆˆƒnvˆ’…{yxz~~y}sgn~Š‡‡€€ƒŒ•‹ˆyr{†ˆz{xu„‘‡Ž‚|„’–‰{v‰ˆ…€„wpx‰ƒvxvr|Ž~}„Ž…~zy{…„‚†|sv†…ynlsw}tmvyq|†ƒƒƒ†‹} +~„†Œ‚xvuwƒuovwnyŒ„€{{‚……}}€~sv}{}|„…‡‹‰Š‡Šˆ‹‡xu|„€‡‡xzƒ~}zohw‰ˆ{wx~€ƒ~wy‚ƒ}……|~|€{wrmjqzrjgns~†||€…‰ˆ|oxŠŽƒ‚‚‚—“ˆ‚|xy†Š……ƒƒ‡Œ‰‚{s{†…}}ƒ†‹Ž‡~Š‘sm +s‡…yrxƒ†ˆ|ofefr€zymix‡Ž„}€{|Ž†‚„~„†vpijr{xoqu|‚‡„uqxˆ†Œ’€rs€Š•“~w}Ž‹ŽŒ€ulqxˆ„xyz…‘€w…‚wƒxt„Œ‚ƒ†~xzˆŒwn}“•Š†{xŒŒxc]m|wyxqtŠŒ€uu€ƒˆŠ„…Œ‹Œ‹wmz„ns} +w}‰‚}xop}‰†ysqy’š“Ž‡}u„–Ž~}wns~{uou†›•{yuwwrz}ru…’Š}xw}ˆ‹ytyx|ˆ•…xy‰ˆyrefp‚pedo}‡…yz|us‰Žts~ž–ˆƒ}zx}~uur{‰”|pops{Žwo~‘—Š|zƒ†ˆŽ€vf_uŒ’€xw~„ˆ‘Ž~ty}„‡ys +lxŠ”‹}{…ŽŠ{y‹Ž–”Œ„{~ŒžŸ‹yz‰Š~{ws|†‚qonp~Š‰~Šrr|{vopodjw‚ƒxjkppqoow|ƒ™~yy‚ƒ…~~xty}}}wty‡–Œuuzpq|„‡{w€‰‹Š……ƒ„ˆ}xutt~‹ƒ†‡‚‚…„{vy„‰}llrrrqvy{qwƒ„ +yz…ˆ‘‰xsvz€{rz„††||ynq…vck~†ˆŽ•š‹Š†Š‹Šƒ‡€…z…Š‹{w€‡‡~ƒŠ~tv€‡|ts~ˆ‚ˆ‰ƒ€‡‹‰†{}ztxy€zw{}qks~|vuŒ‚wy€ˆuoxŒ‚xns|~v~Šƒzkjgbdgr{‡„{{h\uŠ{‡™—Ÿ–…„œ° +¨Šyu]ICJg€y‰Ž˜£¨ž•ƒnfcagƒŽ‡Œ ©§£¡ ¢Œm`bc\MQgtwrpz„ugv}}woddp{ˆ”‹…Š‰Œ–«¯¬£˜¡©£ˆ•™…bOKKTZb‚œž¡ ¤ž“„xk[L@?EWtˆ“‘ ¢¢¡žžž’q]]j}€Š— –šª©–„wn^K?DHHMTYZeptrt‡ +‡|y~zxqr|‘–„„‹¥¨¤ª³°¢š˜Ÿ —‰‹Œ~m_VW\m|€ˆŒ‚{z†Œ~h^TQHEOfx~~’ª¨¥«¬™„sfhqx|{z‚—š£›‘†ske]RBEScca`dmsz…•–Œy|€ˆˆˆ–˜œœ¢©¬£™ ˜—š™™œ—‚prk]`do€‰‹’—‘‘‹‰†yiVB=FOY +fos|ˆ“£´¯©˜†€|wvtx‚ˆ‡‡‰‘ˆ‡…zk^XQOOGCHT\__dq}‡“‰}ww|ˆŽ‹‡†‡• ­«Ÿ¢ª¦¥¦–‘‰Ž’ylSVq€‹‘’Žˆ†““‹„yn_QKOR[o|}uv}‘Ÿ¡£—‰‡€x€ŽŽ‰›¡£œ–“‰ywrcWLKJKNU_^Z_t~wqrz{€}Œ +†‰‘›•˜¢©¢’‘˜Ÿ™ ¨š|osgfrv…Œ‰‘‘Ž„vyxrhXJLSQat|†ˆˆ• ›‡…{uxywsw‡”—•› šŒ…ˆxg[RWagga_jkachprbajpmqrru|‰‘“™ž¡ž£«¨ œ¡žŽxz{zx„Š—žš–Ž”‡‚xga^^ehtƒ†‚‰‘”–œœ•ˆ€{y| +€…“¢¦œ–‘‰}tmg\URWXYYW[`bgfehlhpiiu{zvux{„†‡Ž££¢Ÿ¤¦ž‹†ukn||Š›¢ —†{ne`RS_ky‚„‰‰„˜™ˆ{onnqmz†‹‰”Ÿ™’‡{|ua\_]b\bfkkb\\_gd\ckmsv~ƒˆ‡„Š‘œ¨¥§²ž‹…zp}ƒ~ˆ‘“˜ +˜ž£¨’…|m^`hn{‹‘Œ˜œ“‰vqo•–•š¤«§•“—€vscaeXPOGMOMYi}xkoupumhvtilv…†‰Œ“£¨‘yvsw‰ˆ™”•”—‰|qieOKW^SWfu~††‹‡~wz†‹‰˜ ¤³²«§Ÿ”‚svqfhu…‰zsnpiXX^[NLKYdlkh +nkfpr‘”“š‘†…««ž£¥¡—™§Ÿ†vmbTT]`coz…š””§¥›Š†|rv…Ž‚†–†}ƒŠ‡rjq{utuutjcgsvvrsx}‚vt{nft}{†•œ›™Šˆ“žŸ‹™œžŒƒxZKLKIPR\ow{|‹¡—”™‰y}†‹‚‚–š†›•‰ŠŒ€~yrsl][Z +W[XRX`iaTaod[^fgfk€„wy‚‚‡•¬¸²§§«¯³°¦œ…q_W^cbdpzƒ€…”š—“›‚~ŠŠ‚Š’‹‡‘Ž‘••Ž‹‹}xtkoqliju}|ruwvmiw„ƒx{zrlir†‹™—››™›•‰znbL?FJYXd{~ws|†Š‰€y…“‘•›—”˜•—”ƒ„ +‡„‚tog]\\^[XX]bdiqrnklhh[Ykw‚Œ ¦ª°¯©¯£…zvrmnsx}ŠŒ‰€}‰Š€~zz~Œšž¢›¡¡ž—”’ƒwwuumjtx|{‚ƒ€€}}…}|‡tjhfmp{•™›¢®­¤šwhYQV^_emz‹‘˜“‰‚ytfYQ[aglo‹‘•œž¥§˜’‘ˆ~t +lnkjhifdjozv{~wsc\UXQTbmv|‰‹‹–ƒvhaagdjv„•”—žª¯ªŸœ˜ŽˆƒŽ–šž—’˜›ƒ‚|x{}xtqoopfhnnspd^WUbej}‚ŠŽŒ—§¥£–~uypiry~‡‹”šœ¥¢–’Šƒ|{ŠŒ—› ¤—ˆtcRQV]UPVYdpvy +€ƒymnmkgehpx€‚…ˆ€€†…qoje[T^eiiir‚„ƒˆ€{vtytvyy‚• ˜ ¤©«¨£¡›Ž…‚‡‡‡‰†„‡Š‡}ntnb^egow‰‹””‰”†xm`[UU]`ddhw„‡‡“Ž†‡‹Žˆˆ”£¨ª­«°®­¬¦¢–‹†‰yzz}€~†ƒ|ooyrqxzz|{yƒzofd +h_SKFMU\fw€}‚‘“‰…‚xqp}‚}ˆ—˜œ ¡—“Žˆykipnnhffidcohkfev|†††~Š€|uxy{‚…‡Š‰‹Š‚tu{xwppt}†˜¡£ž¤­¯¥¡œ’„xpxxqjilrmnphnku‡”–˜Ÿ ¦ž’…wideceiuˆ†Š‹zxvojcfrƒŒ“ +ž£¤£¥‘†„ƒunnlsqu~€wpz{|†ˆˆŒˆ}pmgbZVQPWaou}}yz‚„|sh^YUaioqŽ›¤ ¤¤›™—•›•‘“™™‘Žwzwt{z}‡Œ‰‡‡}{rgc]VTYds€ˆ…†…ƒ€wrf]\`hlsy…¦¨¨¡¢§¬¯¥™‡„Œ„„qlwyyƒŒŒ +ŽŒŠwojaYRRZgpovslqtvolj^Yahq}‚†–¨®®°ª¥¥¥¢˜‹‚~‚~yvc``eu€ƒ‰ŒŠ“—“Ž~m_RHHNLUiv~†Š‰†‚„ƒysollz‡“—‘œ©®¨¥ž“Œ‹‡†…wzxpogfw‡Ž–˜ŒŒ†‰vj[H<>==AKVZ`bit{‚Žœ¡ª²µµ¬©¦¥ œ—‰€tpjhigjmtpqrkmv|‚Œ”—œ¡¨©¨¨¦—Œukjca__ZYXWZ]fmu~‚†‰•™œ¡¥®±°¬¦ž˜”Ž‹†‚{tpje_^^^imqtrmosw†“˜žž¢§¥§££¥›–ƒurpnmiea\WW^`is{‚‡‹Š‘™£§§¨££žž–ˆ€}tlbXPLIEFCHNOTQUY`dfsy„‰’•—–ššš›“Žƒƒxutrllkknmosx„…ŠŽ”š £¥¤¨«©«¦©ª¢—”‡ƒvokhh__`caaabb_cgmrsz€‡‡ˆŽ“’’Œ†}{}zxpojgkkory†‡Œ—¢¨©­¯µµ¶µ°«¥£Ÿ•Š{{xroplijiimjccbdgjlnljnjmmkonnhhfgidfejgggfjlswyy|‚‹“˜ž¥§¬­­§£¦£Ÿ˜”Ž‰…‚€||tkkkkeccfggouwz~‚ˆ†…„ˆ‰†ˆƒ‚€~|wvppnmgccbghlpuy{„‹–žŸ£¥¥¦¥§¥œœ™•“Š‚‚|xuttqsppvxtops}~|~‡‡ŠŒ‹†€{|wtlke^cdfbcehgjrs|‚‚ˆ’“•’“Š„ƒ‡…‡~vqsquuyvroorrtwzzv}„Š…‚€‚„€zy~{{xxrsuxz{}yxz}………„‰ŒŒˆ‡ŒŒŠŠŠŠŠ‰ƒ€„ƒ~{zvttrttqqxzvvry{zz…†‡„†ˆˆ‹Š‰ˆŒ’’‹…~~ztrtxx~€‰Š‘—•”—™˜‡ywxwsnniijhdfhgjkllknotuzy}……„„†‹‹ˆ…ŠŽŒŠ†„€~~xy{}„…„{zzz|z‚„……ˆ‰Œ’—š›—‘Š‡„{yuplc__c]^Z[\\__afjnqwxz}€……ˆˆŠ’’‘‡‡‰‹„‚ƒ‰‰‹Ž““•—”“‘•’’••—“””†ƒ}urmookdeefb[[Y_ddbccdeelpsw{„†‹†…Š‹‘’————’Š†Ž”•‘‘‘Ž“˜š–”‘Ž…€|vuturpsrtuzwxwssqsturpnklfaa]^^a_edehhlnuw}‚„‰‰‰ŠˆˆŽ’’‘–™›¡Ÿ˜’“•Œ‡ƒƒƒƒ„‹Ž‘‰‰‡Š‚ƒ…zvw|}y}|tsmknlhgjkjedb_[]_`chhmqstu||ƒ‰’”–˜—•’šŸ¡™Ÿ¡£¤ —’“•œš˜–‘”’“’ŽŒŒ‰†€{tppiijhfjnpqstqmmmnpqpnnnqnoonjknlstsqsusxy}†‹Š‹†„‡‹”““•—˜–•Œ†ƒ†‡‡†‚€€~{‚†„†‚ywzvsv|ytvstxyxsusqqnprqqssqnnkfddiknqruuw{€„†”™™’‹‡‹‹“”—›››š£¤ ž›šš›—“••‘Ž‡ƒ‡Š‚}€xvurjgopqruvw{|yxxwwurwwx|{xx|vrnpqtuppptvuwyƒˆ’”Žˆ‡…‡‹‹’Œ‹Ž‰…ƒƒ‚~zy{}€|zts{|{~}}{|xwqqosy|~~}~€}{{yropsqomjljheehppmrqsux|~ƒ‡—œš•Ž‹Ž’˜™™œ™œš—’‘”’‘Œ‹‰‡‚{}€„ƒ……„ƒ…~xwvv{‚€‚„€ƒ†‡ˆ„‚ƒ‚~|ywsqjghgjiihillqu|„Š•’‹‹”’•“‘’Š„‡†…†…~|vusonpspoqtuqspqruv{†…„ƒ{w|}{{uqvvtopokh^]_`aa]^edjknvz‚‰‘”–“—“™£«¥£¢¤¥¡žŸ¡›˜˜‹…‚}|‚yy|zy}yvvtmswx†€ƒˆ‚‰ˆˆˆ„ˆ‹Š||ƒ|€wqnlbfmlkkmouom{x†ƒ‡‡‚„‹‹”—ŒŽ”’™Š‰•‘…|„{w…xzww…q{qrou‡vn{orookn|nmxkngbtoc[^YcbUW`]beemms{ˆ‰…‹Šš£‘œ¢‘˜› ¨œ£œ¢™ŒŒ€…€}ƒ€ƒ†€……‹„„‰˜ŽŽ…ŒŒ„‰€y…zswtmklttkkl^jo[gi_lnlrvu†ˆ„–—˜‹†™—œŽ†‰ˆ““’ŒŠ††€wtourw|t~‚„ƒ„~}…ˆ‚„}„‹…{€{wvwrhljjf^[UY[XTPS][QX`feirn‚‚v‚‚ƒŽ•—œŽš¡’¤­¦ª›žŸ–šŽ†|z|t‚q{€v††~€ƒy‡Œ‹ƒ‹‡Š•‘‹†‹‡ƒ‡ƒw}wxtouokmklntrwzz{Œ…‘œŽ…Œ’Ž‘•‰~‚‚}‹•ˆ‹Š†‘…€{qnsqrnvuo€ƒ…„~Œ‚z‡{ƒ‡{yzyvvmnomqifecff_Ya_ZZfe^ilmou|…‘Ž‘”œ›–’‘ˆ“Ÿ˜šŸ”’Ž•‘‚x{miqljnimqryzsv‚uw†€‡ˆ‰‘•…ˆŠ€|~zw{umtkddlunmxvv|‡‹Œ’˜•‘‘“™–ž•–¢£œ¡¨š™“~pxjfupgl{poxtuqr€…q|…zo|ˆr~gwien`s_PlkPHi\BZX^\[xdiƒ{‚‘™Š¨†‘™†‡”•ž–›¢¡™™˜—›”Œ‚xyw{wyzt€w{}tuyt€€€r~vˆ~{‹yr„y‰rs†njonebj\Zlelao{huˆ}zŒš‰€–“’‡‘’Ž ™–¨¯ ¢¤Ÿ «ž‘™Š{…‹†}ƒ€‚€tu~y|y||€}‡‰‚}~qxoc{x_gp`^lcZgWXd^_a]lobwzu~zq{mxˆwk}‚t~’‡Š”Ž™•¢‰™ž†…›˜Š’““•’Ÿ†‰|}„€‚|x{yzzkp|ynnurpqorh{xg{y~€{‹ƒ„Š‚|”Ž‹y‚xqsvibeXemhalzvzppŒ„–™““œ¥¨¬¦§±¬­ª™ ¦ ”“”‹ƒ€{~qpoeihgihgeckmgnlmv~y|Œ‰‚ƒˆŒˆ„‚oy~ghfXP[bESf\]U[a`fpop€wr‹‘™˜£®§ª«¡¬­£ ££Ÿœ–š—‘Œ~€ƒ{onqmohkoqszzƒ…‡“‘…‡‘˜‚{iqnclZDOTGOPH_bGSUcvmoƒ‰•’™«««®ª¹³¨­¬¦¦š‘‘’”Ž‡‚†{xzy}}xq{ƒƒ‚|‡…ˆ”ˆŽ“’˜•”Š…€||z{ptmM_fTJ<>EA7IQTd`Wisw‹–—“šœ›—žŸ›–Ÿœ“’‘‹Œ†Ž‡‡‰…‹Ž†‰ŽŒ—˜†ƒˆ‡‰†€}~{s{qU`bQJGLO>?LLMPQEWadjk‚‹Œ‘— œ™Ÿ¡”•˜™š’Œ‹‘”™™—–šœ §³±µ»³²§œœªŸŒ‡„|qo`P[_RIC?JDLVGCG6<_d_^`mrwzqvy|†šœ™Ÿ¡¢«¦Ÿ—š˜”ž£¤ž––Ÿ£¢¡¦«³­²µ±®¬³°¬£xio\TMAD9$)&&'#"-7CH?MYalfioxwkw†’–“Ž‹‘‘””••œ¤ «®¬²­±¶¤Ÿ±²´¬§°¡§¨š–’Š}~ƒ{si[YZPPTMLEGLPY]_\TNU`PKQ`ktss{t{ˆ‰™qq{‡–—˜Ÿ±±±¸¿ËÌÎåæÖÜØÌÍʹª¥•‰lmjb`TH>AJLCCU_`[SRVYTdo]QAKdb]gZ_oidg^_gm}ƒup|ˆŽ›œ–Ÿ¡©œ—®ª¤®§Ÿž› ¢¢Ÿ—•’‰ˆop‡€v`N]hbg`LTQOZYegeuŠ„ƒŒ—Ÿ¡ ¢£¤¡¢–’™—£šˆ›¢–œ¡ §¢ƒzgdeg_OMMKRTIDAC@9CIGU[fqpitvx‡ŽŽ‘–˜–›œ¡Ÿ— ª­µ¹¸ÊÕÐÉÇÂÉɼú¤ •‰ˆ|mXOKFK81DMKQQMQEFSTTJBDOPQ\`onhks†…–™±Á÷¼ÍÌÈÍÊÁ½®¥ª« “‡†ƒ|jjmqn_V]`UQUUZMDR[\[OQZVTPYdbabgwˆ‹Š™¯¶°±¿·µ±¥œ¨¤Ž…†‚†|snwxqpihcY]egaYT`jea_empgfvv{}‚”ŸŸž£«¯¬®¿ÆĺÀøüÁ½®ª¨š”““˜“Š€the``ZMWUPPBAE>@>1283;@IXepw€‡ŠŒ“œ¢¦©µ¸¬¶¼·µ¬ §¦—‘™šžœ‰ŠŠ‡ƒ{tl\^b[TPNNG=DFHKN[[WYdppryxz~y|‚…–¦®¨°®§®§ŸŸ˜••ˆŠ…|~{ywqeaa`WMWZUOPZV\^ervrq†’’““™ ¦£¨ª©¦¤®µ¹¨¨´¬ª§¨·»¬ª²®ª¤› –‰…{tgeeXVVUVNFJNSULKUPOW\`efhw}ƒ„™›”ž¥Ÿ¥§®¸°¤¯´£œ––›—ŒƒyupchnaYFEIHD>DOPJQ\lnlu~€vnv{||ƒˆ„ˆ‹ž®¨ž¢ŸŸ¡”‹‹…}{zxngnopfcd[PLS\_XXglonv‰ˆ~tz„ˆ‡ˆŒ‘Ž“œ¡¤¡¦µ¿¶½¾·À¹³ÀÀ± ¦«¥›’——Œ‚ysrjb[Y\ZWZ]hgefgggf`[YVZdfcjt|‚‚†™¢Ÿ¡œž¬¨ª°§œ¡£Ÿžƒ~~y}}qeWU\bfZQQUYZ^ceYQW]c`]aosvy~‰Š„‡–¡ž•™˜—”¥›“Š{volhedZYZciffihgnuwqmqvtkgnuvqtuwwt~Œ’Ž‘“¡«°²»µ«½ÀÁ¿­©®¨¡©¦¤¥“Š•ž—Ž|}|w{tmfa`b``a\YWWclja]^fory|€…”œ§ž¢¡›š—y†‡ƒztzvkpzyvsuxwysjggc]\Y[[USYZ[Yfmqx~~‚‹•œ•š  š“‘ŒŽŒƒƒƒ}‚}wvsnlonurlmkkd]\][WUYegeaet{…„…‹’¡¨¦¡¡¤¤¯¨¥¡™˜˜£ ¢‘˜žŸŸ¥¤§¬©¬¬«¡—“Ž‰†€rc^^a\WUa_\`enkefmtyuu„„†‹‹…‚Š‰„ˆ‰Š‹‚~Žˆƒˆ‘“Ž‡ƒ„†€uticbda\XXZZ`dfeZX_oww{|ƒˆŠŒŒ„‚x€‡‡†ƒ|ƒ‹‹”‹‰•’ˆ†‰zuvodZW\YWURST[[^^ZZarw€Œ‘’•””™™”–ž¢ž•™Ÿ¡¢š—žž›£­¥§§¢¢¢£¥¨ œ•Ž‹………‚vsrpl`^kqrkjmspjgfe^[Y_dbozzy€ˆŽ˜¢§¨¦œ›©§››™“ˆzu}}xukigjaYTJJTa^[`kslfmrvpikuz||€‰ˆŒŒ‘’“‘ŒŒ”{ˆŠ€rkjpmgklkkidifbb_gkpqoqomoolnqv|x{„””–š›œ¥¬²°©©¯¨«®ª¦¥™”›˜™›—™˜šš–ŽŠ‘—‹}zojjkeXKPZZVVX^igknkpw€Š–—›£™Ÿ¢Ÿ}…ˆ…‡†‹…„‡†€xzzz~wpc`gcWRKGQTVUY\_ijmov€…‹‘˜ §©©ª¥ž™†sknlijmpmihkloutwxwtsunstkb]`hg]_begox~|ƒš¤¥¦®¯¯¶·ªª¢™™•Ž“ššž˜˜¡¢›™—¦¨¤›•ŽŠ‰~}qb^XRRPJNUSUX`eil}‹‘šŸ£¤©¯®¨¥ ’”Ž„‰‹…|vtwvsy}†ˆ‡ˆ‡†…ˆƒuiec[WRRRLJLOW_aadj{ˆ‹“ž§¤§ ˜›Ž•…‡€tsjghbbalx{wrknsom_YYRRQRPOMOWZ`bfgow‡™¢­°¸ÂÂÌÍÇÀ¼³¯«¡ž–‰Š‚}|{uzƒ‹””•˜˜—’ˆ~zwoplbikllfgimnopwƒ…Ž”¡ ¢¡œ—›Ÿ¡™•‰‰‡‚†yyz|€vpux~zrg`dbe`\ZX[Y]Z[^_beoz„Ž™œ£©°¸¯¡£œŠ„yvmoqicaijke]VU][ZRONLPNMPUYZ\Z_fins‚—–š¡¥¤¦­¬¹À¸¾¿¸¶´¬¤–•Œ‚}}€……{qlmnmhba^ckdbelonmqv}ƒŠ“ ¨°´²µº»º¯¥¤ž¡¦›•”Š‚{qpvpmlks{ysrrurpmf`SW]bhiifjinqtwv€„Œ‘•œ¢¥¦£›¡Ÿ–¤žš›™“Ž…{}yuqjnnokgec_ZREA=884857;EEJS\hmq~‹šž§´º½º·»¾´µ²¨ª¤”Œ‡†Š‰‚€zw}€wwtqkc`\ZUSOQXXZbiow}‹–•Ÿ¦®³»ÃÆÇÉÃÇÍǽª©¬ž“…|sqljeaiknmhhhje_XVUVUVaa]agmmllx‚‹˜¢©°º¿¿Â¼¶¶®©©™–“†ylkneaeffjovrpifh_ZWTOONOUSRRQQRQOU[ekr~Š—–ž¡œ¥¨¨§ “›¢œš‘‰‰…€~~vvsuyzy|~tppme\[Z[ZVVTZabbhoyˆ‘ ­¼ÅÍÙÙÕÔÍÌȵª²¨¦ “Ž‡‚ytrmoki__a^][WVPPR]b_`_chpoq~‹“Ÿ©²±·¼¶¿½¼¾²§ªª¡|rnmjhiefghiegdc`[\^`\[[SQMOPPW]bkx{‡‘œ £©œ›œ‘›—‰‰’Ž„wtsmijd_`ahmrsstruogegghrwwvmuwsopx{‚„—¥®«£¨Ÿ§¯¦§¨¦®³«¨§™˜•ˆƒ€€ƒ‡‰†„~|xnld]VONPRRTW]^_elt|ƒš¨¶¹µ½µ¸½®®®£ ž›–’‡‡ˆ}wrokihjkfedfb`^\YRSU[\\_`imt}‹“”›¥Ÿ¡ª£¤§š™šŒ‡ƒ||wkbaYZYSTSVV]`\`ccb_ac_\`cadjjklq}‚˜¤²·Á¾¼Ã»º´©©¥”‘’‰ˆ‚|vsmilhhhlrzƒ‡ŒŒƒƒ€}xvwyzwƒ…}‚†ƒ‚ˆ˜œ™¤«¤¬§œž”‘•Ž††ƒz|ywsllhhfgkhkx€€vqmihbb`cdekmsry…ŠŽ›¡Ÿ­¯¶Ä¾¾´¬§™”‰…|ztmgWUPJ?9;8;=DKKKJLOUZ[[]`kw}~Ž’Ÿ¥­¬¦«ª¶Ã¸´®ª­« ›•…€ytph_[VRVQSQTY\gnpvwy†Š–—˜›žž¢§ª¯µ­¯­ª·±§¢›˜’†‚‚vrrrrmb\VTQJIIILKWgiigmu|{~‰Ž’–œ£¢››Ÿ¡¢¨¢¤ ª®¥¦›‘Œ†}~ƒ|~xz~vog`[URQMQPQY\egb\WVS[`bc]fjmw€ˆ’”œšŸ›‘£¤¢¨Ÿ›™‘‡Š†‡|}zsmjib][USWPPY]ekqtrrqz}……‚’Ÿ¦¬´¿ÇÅÁǾ¼³®·±­®§Ÿš‘‹‡yxsjhg`ZVQKGHKSYUW^fqoiimlmry‚}|ƒ’– §«ª²³®³«©¯¦¥¤›“–Š‹„yollfaY[b^^akpdbkponlljaelloqrort|††ŠˆŠˆƒˆ„‘˜–‚…{stsstmfliiecjhjmlooow€ƒ~wponquw~‡††’”š¢®«´µ´Ã½º¿¶©Ÿ•“•‰†|wvtmc^ZPSVUXPRVW_ehfjiluvzxy€„‡ŽšŸ¡¡¡®ª®³ª®­¥¥›“”Š…‚~{wolpprkgh]cc`ebiu~‚ƒ…€‚wuvsrtty~|‚‚ƒ„‰„ŽŠ–†‰{tuuvvrmkeea]ZW[ZXacbjox€}}y|~z‚€€|„ˆ‹•˜š—¡¦ž žœ¡š”¡Ÿœ™™–“‹‚{yxtquwpvmrurrponledfa\[]_djt}{‚ˆˆ’–¥©´µ¬°¦§ª¥”Š|zz|vod_^`ggemopytyzqrponux}…‚‡‹Ž‘’‘‘“’—›žŸŒ†x€{uka^XZ][YWX[ebchilhgmjksuxxrwy}z{yxx}ˆŽ—š¤¯®¯³¨  ššœŠ€yxw{„‡€‰„„|z€yxx|{{yupka`ellebdcllpx{‡’¢¬°©¤Ÿ••’Š’Œ€}~€‚{zronrux}wyuqzx{~~unjkronmiimpuƒ—˜ ¯·½µ·¶±±Ÿ–˜‰‚‚xoiVSV[[[ZVSPSYbhfmlnppxsme`\aloorvxƒ„†’š ¤§«¯²¸«¬¨–•…Œ†|vmjlkkonqot‚‰‘—’™ ›–‰‚‚wrnngdedg`^]bintŽ’•™™¤¯±­°ž˜”‡‡€wrhijmosuz||„~w€‚vnlihpmmkideffopsy‚Ž–ž¤µ½ÂÈÀ¼¬£˜ŽŒ†xvlfginha]aekgejdig`e]^__``b`__^^X^blwŽ­¶¼ÅÆÇÄ··®¢Ÿ‹ˆzwrrpkgcebikqpmttz~{€€‰†yxurpsust{ƒŠ‘”—ž¥¦§©£¢‘„Š„ƒ}{utqnnqmcgjrpowy€‚}|yndhglha]___ablsz†ˆŽ™¢®·½Ã¼³­¡§¦§¯§žœ˜”‹~wrihfcc`hgdb_[VTOQSWXPQRWYbghjiwšž¢¦²µ±³³©§¥£©¥›–Ž‹†ƒ{zwqliokorlla]^[YZb__^_efkw…“—›¡¦²¸¹ÄÁ½Á¹³¯¡›—Žˆvnkijfd_[``bfaabcedYUTSWW[`b`ksy}}„ˆŒ– «¯·»¼¿¸µ´ª š•“‘Œ†‚xw}xtsrory}tpf`]_YQPMNONPRUXaeju{Š˜¤²¸ºÂ¾½À³±³§¡š’Š…}yyrqkkjggcgifeda``]bdb[Y[\`adjq~†Œ–§¶·ËÊÌÏÆÊËÅ»®›’‹‡€zslf^WVONUURWUXZ\[[]\]XUY`lqvy}~|…Š— ¥­²²Àþ¼´°ª¢–‹Šƒxpi^WWRTQSUSVWZ_hlnnnotuz„ƒ†Œ“•™•˜šž¤–š›—¡¡Ÿœ–‘Œ}{ztmf]ZY^caZVPMV[`fosux}‚‚}~‚ŠŠŽ•œ §¡ £—•–“›¤§­© š’Œ†xprifcZ[YSQNR\feedaffkqx}„“—ž¨©¢¢š™—™œš–’Œ…€|}}}xwqid\[[UVURUVV_cgiprrts~‹Ž‘——Ÿ£¨´²³³§¨¡˜—Ž’‘Œ‹†€{{wtpf_[\VWWRWNLOPUWY]elv€ƒŠ‹’•˜¡£¦¯´½¾ÄÀ³®¢š–”“’Š„|{twtpkb]Z`b[VWSUUXaegmqy|„‚„Ž”™–ŸŸ£¥¯¬¥¨¡œœŒ…‚{€€„|smnroffZTRMRPKKOSY``ddhkox‹•›¤©§®®º¾ºº««¬£ ™‘‘Ž‡„ƒ‡…€~|yoa[]WRPJMKEGJRNOV\caflu}„“œ¤­¯±´µ¼¼Ã¹´±Ÿ˜•“Ž‰€€ƒ†‡‰„~yqlgcbb^[][WUUSQWZ]cehgo}ˆŽ•¢©±³µ¼Â»º¹°³¨ž›•‘‹…€~xqqrxwvofaYTVTSXSNMILORWZ^Z[Zamx‹—¡ª±¸¹¿Â¹·²¬©¢›™™“Š„‚~xzvw|}|pkeccaccc_]ZXWWYUSRTVW]`nƒ•£¤­°·Á¿À¸±­§¡£Ÿœ“‹}|z|}xrmjffglhknkmifb`]\]Z\_airx{„Œš¢¬²¸¾»¾º°¯©Ÿ›Ÿœ˜Š€|xvpigfbbd_^a`ea_\[^[]]][Z\]_fnrx}…•¢­°°«¦ª¥¤¦ Ÿ¢¡žŸ˜“Œ€vrpkjjhijknnihfb`cdccbaia`bciqw{„‹’™¡¨¦ª®«­¤Ÿ¡›™—Ž‘ŽŠ‡‚|uqolhccgklkjfmptxrjfdeoxy~‡‹’—”–“š¡¨¯²®­¨¦«¡™˜ŽŽŽ‹ˆ€yvtlhgkkelnmojkic_^a__`_cinmopsu{‚‡•š £¨®«¨­¢Ÿ˜ŽŒ‹„{rg`cffkonrqorrmgdehgnnkhjvtwttpowx{ˆ‹‹—¥¦ª­­¬©Ÿ™Š†||uusljimkjhedgpnqrnomoorqrrnow||wvyz„¦®¶ÀÉÅÈ»³¤œ“‘‡~xxqmkcfgkoonokhfgmnosqlkqnpsmllnrux}‚Š’—¡¡¡¦¦¡¡ž”Œˆ~}vwpgigkgfecfikinprww|zyrjgbegoqllmqx~€‡‘œ£¬¯¯®­­§¦ ˜–Œƒ€yzshgcbchmjqpomnkjiinnlomonpoqrtuuz‚ŠŽ“›ž¤¤©®³´¶º¹»³®«šŽ‰€{~|vnttvttuoplkmlkgcaefghhihnotsv~|‚‹•Ÿ¡¥§©¦£¥£¢˜“ˆ„vslfiljed`eiqpmlfa]\cfgmssyzwpgedkipvzƒ‡’˜  Ÿ¢¡¥¤¥©¦¦ž˜‹y}zz|xvpnpsqokjljljigjgghge^_celkoqw}‚†Š’• ¨«®«¬©§«¬ª«¯¥¢ž™–ˆ……ƒ……~{qmhgimljicc^bfejotyƒ„†‰†‹’••—›œ£¢¡Ÿžš•Š‡{uxyyzvqmnjgcbbdd`[YZWUTY^ahmprxy|‚„„‰Ž’”š¢¤¤Ÿš›Ÿžœ—‹|yyzy|zwusqnklmlif`ddefgkhgghijlrutzw{{}€ƒˆŽ˜› ¤¡¦¬«ª¦žž¦£¡¡Ÿ¡“Œˆ‡ƒ~€|zwtrmlkjhjnnssutrqpsx€††ŠŒ‘•œ™››˜›˜™˜”“Œƒƒ|urqvnmhebab]]ZZXX[VVVY]deagkstxy}}y‚†‹š ©«©ªª£¢ œš˜”‹†zrtqoonkgjd__c_[]\_cjoqsornlqqrquwx}…‡Ž“—™š ¤¤¥§ŸŸ™•›“Ž”šœ—•”“Œ‰„‚z€{sswzyzwwusqssrtstrpuw‡–œ ¡¢ ©¬«¬§£œ—•“Ž†{vnhf`b_^^^ZUSPURUZ\^^^\\^cggilpuw}†‘“˜ž¡Ÿ©³´µ·²°ªœ•Ž‹zztokeedd`bb^^]b`^`dcaf`_cfklttutw‰’”–™Ÿ¤¦¦§©¡£––ˆ†‚~‚€z€~~€|ƒ~zyz||€‚‚€~„†~{wy{z€…‡”•šœŸ ¥¨¯¬¨©£œ˜“—”Ž‡…{zutmhc_ZSTSSRWYYYSROPTUWVY\dijrzˆ‘˜œŸ©«ª®±¯­©¢žšš•‘Ž‰„|uqmnjjd]ZTST[[YZZ_abbhdafiqsx{‚Ž‘žŸ¡¨¦£¢ž¢¢œœ™•˜“ˆ}ywupiigggddcabequuwyzzwz{w}…–—ž¤««°´´³³¸³­¯¨¤¡  œ“ŽŠ„~|uojiigb\XUWW^^ac\ZZ_acgdkputx~‚ˆŽ˜—‘‘‘”˜”’•–—Š…ƒzunlegjdgegd[Z\]]ddegfjggovuv}‚‹’›¤¢¤ŸŸ—™™™˜œš“‹…vspnjfda]YUQRSRUSVZ]aeqtŠ‘šŸ¥«²·¶»»º¼³²³®®±­«¨¤¢›–‘Ž„}uofigb`[ZXTX[\Z[afmruwz{…Š“‘”ž£¢¥¤¥¢˜š–Œ…†„{unliigjb[XTSSRPQSRTUTTW^iqu…ˆŽ’™˜œ ª°¯¬¥¤¡¡›•“Š††~}|z|w{xsqjc`^YXWTURQQPQRWT[`ekow}„Š–™Ÿ¤®´·¹·¶µ¸²±ª££ž›™™—‰Š…zwtlmib^^cec^`]^bgnrw{‚‰‘šŸ¦ª¶½¿¿·´²­©¥ž™•Œ‹…|xrokmid_YTOMJCC@DEEFKKGOV^ghs{…‰›¡ª¬²ºº¸·º··±©¡›’‘„€zsnlojf^[XRTSPMPQQRMPPRRU[\ejr~‡Œ”›ž¥§¨´µ³°¯ª§¥š–Ž‹‡„ƒ~}}|||wvpppolikklkosnnouutx~‹Ž”™¡¥¥­¯´´²³²²®±§¦¦£¡˜’Šˆ€yypojjkjfcc]VROMKOOTPPRWVV\djr{‹‘”˜žŸ£«­¯­­§¡¢š›š–“‰‰ƒ~}yuonhikf_ZWURPQLLOOROSWZbiruyz‡Ž‘–œ›Ÿ£¬®ª¬¨¦ ””ŒŒˆ„}xtvnillkilihddediikmpppstz€ˆ‘˜ž©±´µµ¶³¸º¹°«¢žŸ˜•‹Œ‡…~€~{}{zwwslgbc_]^becffeebcflnx…Ž”š——•—œž¡œ•””ŽŠŠ„€~zxoolorqqmnkkgc^[[Z]\WUSWVY]dhitw|‰• ¥¤§§©ª¥¡š—‘‰‚ƒ€xurmhffegigiiigha[_dffglmmny€ƒ‡š¡¥­°³³²¸½ÀÀ½º´±§ ™—‘Šˆ}zuolmlkqonkmppwuppnnlmkkgjmjrzƒ‡Ž•—œžŸ¡££§¨¤Ÿœ™‡€zspongcdbgehiffehhheefdkpqppqmmiklpsry}‚…‡Œ™—šš™™–˜œ™’‰€}xrkkkeecgmnlihacabb_ceffijllgjiou~„‰“–ž©²·¹½¸»º·¶±¯¥¤£™“‹†„}yywwspkmjie`ehkmkibiosvz€€……ˆŒ‘™—› ¨¬­­­¬©¤ ™‡ƒ{wrib^\_bb`[Z\\]bfhccacccfinnpw~„‚†Š‘•—¡£¡ Ÿžœ•”‘‘Š‚yvookgebfbecb_[^^[Z_deihjgjhdhhnruxz~…‹‰‹“™ ¢§§¨¬­±®¶¶°¬£™”„ƒ~|~…†‡z{urprojfde`b_aehnnsuy}…‘š¦¬­±±µ³°¬ª¯¯© ˜‡~womkkjhhfh`XPPVU[WUYY_dfiposyy|{z}…Ž’š¥¬±±­ª¥£¤¢ œ–ˆ‚xohec^_^ac_`^\VUWUXUUVZX]]_hfkquz|}}€ƒ—›ž ¨¨¥Ÿ›œ››–“’‘•ŽŒˆƒ~~|usvuwstz}|ytuuuvuvsvtwvy‚ˆŒ•›œ ¡¥£¢¡¢¢¢Ÿšœ™–•Ž‹ˆˆ…‚€|~wphfge_]_ccYUXUYZ\^]aisz…‰˜œ ¡¥¢ £¢¨¨§¨¬®§ •‘‹ˆ†€xlid`^ZWVSLOPOQRTQRSVUY]\_ekprv|‹‘“—˜Ÿ¤§¤¢Ÿ›¡ž žœ™‘ˆ€}{|voqoptxwvzuytoqmhhlmrst|…Š…†…Š‘—Ÿ¢ Ÿ¡¤£¢ž šœŸ¡ŸŸš”‘Œ‰‚~|ysonnmgkqrsmljnniebc`dhllknoru}†Œ”˜ ¤¥©«¬©¥¢ ›–“ŽŠ†ƒƒ†‚{tpolmhf_ZXVSKIGEIMQS\^cabms~‹‘—›¡¢¦¥¤££Ÿš™˜”Œƒ{rpnkheb`c`adacccbejqssz~ƒƒƒ†ƒ„ˆ•˜œ¨®µ¶³¯®²°­©¢ž•’Ž‰}vwtusutmlgikokmkgjkomopptruw~ƒ…ŠˆŠ‹‹“™ž ›››˜“’ŽŒˆ‰††„ƒ‚z{zuqjkkmlknorv{|zzwz|zzyuqtqomkkjou|…‰‰Œ‹‡…‚~€}|}|}vqmmkknkheffffgjilillikmsutw{„‰’’™ £§¦¬©«§¦§¥¨¦©§Ÿš”“Ž‰‚{vvmic`^_cflmnnpvxzyzywy|ƒƒ†‰Ž––™˜šŸ¡—”ŽŒ†‰†‚xyxtqkkiijdfksruw{€€|{z{~~}€…ˆˆŠ‰‹ŒŽŒ’—“Š‡€}€|zvsrnokgcbb]_``acimnllmnrtvtvqpolrtutvvy€€‚„†Š’–Ÿ¢£¡žœ–‹‰ŠŠ…‹‹‰ƒˆƒ{|~„~ulgfjklmnpqw{z‚ƒƒ‰Žˆˆš £¤Ÿ¡¡Ÿ˜–’Šˆ~yvolfghfechjmhiooorx{‚ƒ„ˆŠŠ‰ˆˆ‰‘–šœœ™œž œ™™–“‹€wqllggecffikhgihceiiaenqojnrrolljnottvxtvw|x}…‡‰‰Ž‹Ž‹‰‹‹Š‰ŒŒˆ‰ˆŠ‹Š†€„†ˆŠ‰‡‡ƒ…ƒƒ€ysmljprwzzƒ†ˆ–•“‘“Ž‹”ŠŠŒ‹‡ƒ€{||{xy{utstoloppmijkmlmnrrzƒƒ……‹‘–“’˜˜šœ¥¦¦¦¢¢ž™”Žˆƒ~wnigaa^`bglmtompvtnhdcdgljlmputvvsvuvv{~|~ƒ€}{{~xywx{yyvy|‡‹‰„…‹‘’““ŽŒ”“ˆ‰‹‰…~€‚…„…†…€{zwy{}€€‚†Ž‡†ˆŠ…|yzz~€„ƒ€}~~z|zw~z}}yvsroopsmqvvwvttyˆ’”•—˜›—’‹Ž”“’“—–”’‹Œ‰ŽŒ‰†ƒƒ}xqqnlqpkioroijtqokhiinotsvz{~~}}}xurrtpqrstmpqqorvyzywty„‹‘“Ž“‰„‰ŒŽŠŒ’ˆ†‰’Œ‰…ƒzutu|zxx}ƒ‡‡ƒ‚{‚€„ƒ………†‚ƒ~zwrsqpklptvrwwwvw|~„…„‚‚‚„‰Š‰ˆˆ‡ŠŽŽ‘‹Š‰ŠŽ‘––““‘‘••ŽŠ‚zxrnjhklnjnrpuvxtxypqrvxwvvxtspqnjkjikmosxxyzxwy}„‚~{yy}…€‚……„…Š‰†‡‰”•—œ Ÿ—’‘“Š{ttsqokosvvx}}€€‡…„ˆ‡…„„|€€€‚‚}|yuwttpqvw|„|ywxwz{}wwvyy~€‚ƒˆ…‹Œ‹‘“–™™™˜’Ž‹ˆƒ‚{uvxvtux~ƒ„||xsmqomedmomhkigllmhfjnrx€€}{}}}}€‚‚†ˆ…‹‹Ž“‘Œ‡Š†‡ŠŽŒŒ‡‡„…„‡Š‚€{yxsxz{y}~}€€~~‚€€~}|ytx{‚‚‚€}~{wuvyx{}{qqtsmort{y{x}‚„†ˆ‘““‘’ŽŠ†‹Œ‘–•—“”‘’”’’Ž†€‚~y{w||~{x{{yusuwtqtspputkmnuwtsqsoqnlhhlmos||xsw}z~€‚ƒ„‡‡ŠˆˆŒŠŒŽŠŠ‹ˆ€}€…ŠŠ„‚}ƒ†Œ‰„}~|xx{€„†‡ˆ‚‡…ƒ…††‚€}~‚|xtvwwxvvpopqjlqnmmt||ywz~€ƒ‚€€ƒ…†„ƒ‚…‰ŠŠŽŽ‰‹Š‹Ž˜–”Ž“‘Š†ƒ~}yyyy{|~|{|xxz|{x{yxwywtqrtutwutsqpinqomsv{‚‚ƒƒ~ƒ~‚ƒ„‚}€†ˆˆ†ˆŒ†„…ˆ†‘‡‚}ƒ„{zyvpttx|}ƒƒ†‹‰ˆŠŠ‰†€}|{wvqrrpomomnkjidknrv|}~…„‚‚€€‚€€‚…††…‚†ˆŒŒ‡‰‹‘Ž’“’‡†„ƒ„…~|zyyy{}€…‡ˆŠŠˆŠ„…ƒƒ|xttsorpllmlknmmnmssvtutz‚€~ƒ„ƒ‚€ƒ~}‚‚ƒ~}„‹Š‹†‡…‡‡†ŒŒŒŒŽ‹Š€€}zyuuqsvy|~…‰ŒŒŠ‰‡ˆ‡‡„~wutroqtpqmptvwttstqtvtvwzxx||}z{}~}~ƒ†‰ˆ‰”–“Œ‹‰‹Ž‘ŽŒˆˆƒ‚€z|{|y|z}||€ˆ‹‘ŽŽ‹Š„~|xvppmlppurpnqqqrutnpvwzz~}|y|ƒƒ‚ƒ„€ƒ…Š‹Œ‡‚††Œ‡‡‡‡ƒ|~‚„ƒƒ‚ƒƒ}€}|y}~€{|}}}}€‡‹Ž‡ˆ…„„€}y{trrsutussqsvrppsqnmoqqvwwvv{}{}ƒ‚‡ˆŒ‹ˆ‡ˆŠŽ‘‹‰Šˆ‰Š‹‹Š‰Š‡ŠŠŠˆ…†}yxyz{wyzz}ˆ‡Š‹‹……Š††{yyvuuytspoqpoppnmssuux{{‚…‹‹Šˆ‡ˆ‡‰ŠŽŒ‰……†ˆŒ†‡‡„€…‡‡ˆŠ‡†„|z{vuuvtstsuuvy†ˆ‹‹ŽŒ‰Œ………€vsqmnknnokfieehnlnvuuv}€‚‚‰ˆ‡††‡ƒ‚€…ˆ„„~ƒ…†ƒ†„†ŠŽŒ‹Š…ƒƒ|{~}|{~‰‹‘ŽŽŒ‡‡‡†stuwsnpnnlmjlnostxy}}|}~‚~„ˆ‹Š‡†„†ˆ†‰‰‹‡‡Š‘‹‹‰‡‡‰†„„…„€ywrtsrrsqpqrtyw{„ŒŽŒ‰†‚€|wqqsqmoropmooosruuvtsstvtxz}~€„‚€€‚ƒ…„…†ˆ‹Š‰ƒˆ‰ˆ„††……}}††ˆ„ƒ‚†…€„†‰Œ†ƒ|wuunkhlljlororqruvxwxy||z€€‚…‰Œ’•—•–—’‘“ŽŠˆ‰‰„†ƒ‡‚|~ƒ†‚~yywuswz…}xwvsvx{‚„…Œ‰ŠŠ‡‚||zwqtvrppuqpmjllmknswwqpnplmsx}‡ŠŠŒŠ†††‡‚ƒˆ†„ƒ‰‹ƒ„‡‹‰‡ˆˆ†‡„…€„…‡‡‡€{{z}z{„ˆ………‡ˆ‚}{||wpqomkkrpooosqqryz|}†„‡’’”›Ÿ¡ž™–““‰†‡……„‚„€|y€‚‚}zz||wuw~}‚|xxyxwy}„‡Š‹Œ…„€~ytpiighhjhhlmmhimqoouruwutx|€~ƒŽ‹‰ˆ‡‡…ƒ€€€€„ˆŒ‡…†‹Ž‹Š‚€„}{~~ƒ„ˆ†}yxvty~ƒ„ˆŒ†ˆ‚{yywqnmommjikoxsvw{€‚†„†ˆ†‚‰ŠŒ”™˜—–‘Ž‰‡‚ƒ…‡††ˆ……‡ˆ‡„}xvyzwvv{‚†„}|~{{|‡ˆ‰Œ‹‰……~yurpkfigd^_cgjgkkkqrvtvtuwuuxz‚…ƒ‰‘‹†‡…ƒ€€€‚€‚}y|€„ƒ}{~~|y~…„ˆŽ†‚„…„||‚…†ˆ†€‚ƒ~{wxnooppntswtxwvywvx{z~ƒ…‹‘Œ‘•™š˜’”™”ŒŠ‹‰…ƒ‚„‰‡…}{|{y|ƒƒŠ‡„|xyuvu{}|€„}}zwrokkhhjikmqoonpsrogjqrrquvxvx‚‡Šˆ“””………‚~|}yxuy}||z{z~€}‚}~~ˆ‡Œ”Š‰„€{ƒˆˆ…‡ƒ…‚~{}ywtrqnnosqqrtwuvprprww{€…„„Œ“œšž£¢›œ––’’“ŒŠˆ~ˆŒ‰‡ˆ„‡‰ˆŒˆ†…„yx{~~‚‚}zyxuqswxz}ƒ~y{||wrrtrihgjjkjntstrokmqpqpuyxz}ƒƒ…‡‰‘’‘Š‡†„}ytruw|xz|~‚……Š†„†y~„††ˆ‰‡†„‚~„‡…‰‡†ƒ|yyytttplfjnolltswtsqprsxvz}||‡Ž•“—¢¢¥¦¤›—–™—•—’‘‘‘”‘‰ŠŒŠ‚„„€{tvzxzx~€‚}|ywzuut„‚‚zyywtwurojkmlmlrstqvwsplqporrss{|€€€„…‡‰‰‡„€y}xz}yvrwywv{}}„‡Š‡‰‹ŠŠˆ‘Ž““Œ‡‚ƒ‚|wvxz|uuqokhmmmjnllnmot||z{{|yx|€{}zƒ†ŠŠ‡”–“›¢¥¡˜š—˜–‘Œ……Œ‡‰†€‡††‡~|xxw}}}{†‡ˆ…ˆ‰…„…Ž‹‹ŽŒŒ‰}~}yrprmbabdcdeaaa_abfeefnpv{|€‚‰‘”˜”‰‰‡‡‡sotxvtrrxy}}~†~wyy~ƒ„}€„‚‡‡|~~w{{yywxww|uw{xrwwvvr}„‚ƒ‚{|}€„ƒz…‡†‰…†‹‹“–“——‘“˜”Ž‘‹Š‚ˆ‘’“•–’‘„€{‚‚{y|{|€~uutquqwwtx{ysppqnmrioollroiuxjfsppxunŠ‡q€€–Žƒ“˜“‰Žƒ…Œ{{uoq‚…xƒ…{z‚~}vypv{yzy~vr~~†Š…wŠwt~ww}wrx|ngrjedolnsihyyksssty}v‚…€…‘‹–—š›–œ¡˜–Ÿœ’œœ‹•’•’“¥‘”©’Š¡“|†…|€„‡y}}~Ž‹ƒyxz{wrstpqmnkehjhfpxwswtqowtjmornpxuonurs|{x|€‚‰ˆ†…‚‚}{wvx{…‚ƒŠ…~Š}„ˆzvtq‘€w‹‚z…¥Šz—€z‰~‡€q|ut~jn}ll{pi€}muqrvpqmknqu{w…ƒw…‹‰“’‘¢•™£Ÿ ¡—˜Ÿ•’Š‡Œ‰Œ“ŒŠˆ‰Š‹†…w†w‚‹x}zƒƒ‹|„Œrq‰ub|€rvxw€svss||…‚p€zs{ssigowuoxxltx{{‡s‹|€Šƒxƒ‚vrqzoxƒ€‚„…‰Š‹‰ˆŠ{{xv‚z„€wn„x€~~yqttlkopnwrjsnpshnqssyqzrxzssxww~Š‹‰Š‰‹…™–•§Ÿ¤–¢ª˜›¦›š•Šƒ”‚€ž‡‹™‰‘“‰’‘Š‹v~{w…jw†}„€ˆ†‚„‚t{~uuwtwx{{trxstytjqjcuodoohgxziprns|oz{s‹wp‚{†‡x~}y{‚Š…ƒ‰ˆ‡‹ˆ‘…„{uƒ„xƒ„zx‚„u†Œ|ˆ}xqrphdwjboiltjfirs{uo€u|zzvxxy†‰ƒ‹‚Œ’Œ—“Œ“˜›––‰ˆŽƒ‡ƒ‡‹‰‰†Š‹‹‡†…€‰‡ŠŒ‡‘™‰™‡“†w†|lszrjtvirwhx~y„ƒ€Œ‚yzywrypspmyqiu|xy|ƒ{x‡ˆˆ•…~€~|us{x{ywy{}€wz€urqywyz€{}~‚zƒ|{qwpiumehflxj_|pa}{oq{stswqs‡srŒ‰†™”™£ªž¡›­›–¬¡š’ˆŠŽ…}}~„‚~}‡”ˆƒˆ‡€x~‡…ˆˆƒ‡†…†|u‡ƒnnswu|{w˜ˆy…r|udb`l]Q`\MZ`Njwaaz…v‚•‡ˆ”œ¢§¯–›¯“†˜ŽŒ‚‡…€ƒ†~…wmxrigvsflvooljwvtyrknogmuxtn~z}Š~ˆŠ‰Œ„‚~uelu]VjbRjoXkndoklszpsŒˆ™ §²›”»»¨¿À³©¸¸¸½®¢¤¨Ÿ˜‰†”zpy…tfinosnjttnihsztin~†w}‘’“–˜‚‡‘xq‚mtr_\_[LUCGRDCCOLBVeklac‰Œpx—¤¢‘¢·³·Á¸¸¿Â¶¦¤¶®Ž†–„muqni__ei[SSZa[[^gkkr}ŒŒ‰‹˜›šš‘—’‰ƒxnicadTNPPQFCILILZ^[VqŒnn‡‘”¦¶¯®½ÆÍÌÓ̼ÅѾ©«´®–‘˜‘„zyyutusouphmsyus~…‰—¢šœ¤£ž•Žˆumh`VMMLD::?;7*1SE3BU_`agx…Œ™¤¬«©°¼¹¯°¸º¨ŸŸŸ—‹…‰‡|nmomkgcisqstw|x„‹Ž•£›—–‰„}ypj`ZZNFIJ7+@J7,COKHRjvxz‡˜£§®±¬¶¿¶®µÄ½«ª»¸£š¡ª›ŠŒ‹ƒzzzyyywu|‡…‚•›•‘œ¦ ž Ÿ™˜›™Šz|ynmTDW\5&?CB83D]_U`o‡†‡—¢œ‰£ª££žz‡‹}t~‡€ws}†‘˜‹ŒŒ…†“˜ƒ“™–Š†‡Œ„€rikdOQZG3AN;4;JPKIIZjYZlsx{{„ƒ¬£Ž–Ÿ—Œ§«žœŸ«®Ÿ“œ˜”š•˜žš—š•”œ““’…†“–“‰€wˆ|ixl]NTh^IS]hmOETgoiv ž’‰›ªœšœ¡§¨™†”¤›…isxla[_fqqt~‹‚„•˜Ÿ•”Ÿ¬¦™“›œ•˜…\\bVKAHTHHRUZ`_ajrvms‚‹Šv{€u`_sxlquo}{x‚‚ƒ€…Œ„›¥¥ ­¯¨¢—¢­¥™•Ž–f}”ƒjkt~q^[dgPELVZJFWiz€wu‰„‚~~‚xz†††„xpifiqvzz‚‡‰”¡®½ÅË×ÒÇÓßÜÆÃú¼¦™‹wqllmnlklqqtufkg`aW]kmbdlh`ZZVZUL[Z`aaoxz}‹”Ž‰””z…“’‡†{ “…›‚py}|xcesmjcafkcVSWXUWR[li`\_jwuv…‰Œ‡›…ˆ’œ…ˆ¡¡§´½Æ´±ÇÓÉ´¥º¶¢ž§ž‡~ƒ‡r_dogQEP\VMRcvv]UdgaTYc^\ZZ_b_iv‹™—ž¤«´¹ÆÊ˽¾ÎËÁ®¯»²˜‘š•‰yx…~skih]RTW[^QTW[`XZRHHE<:CELRZ\iwyxzŒ”ŒŒ‰˜š‘‘¥£›“¢„‡…Œ‰€ƒ‹Š……Œ’„€€znkcVVULGMJGPR\dfuŠ–›¥ª§¯²±­®²­¤¢«©§Ÿ‘¡¦•‘‘‰‡›¦¤œ“›ž–†zxjTJEH>3A=8@=GT^kqy~†Ÿ§®°¨®®¬ª š–€{pjgZTQNLNRVbhoyŠ› ±ÂÌÌÍÉÅÁº´¨Ÿ”ˆ„wnk[L@110)18;HS\iv{„ˆŽ——ž££¢–Œ…xofZYTTUTY]aiw€Š•Ÿ®¸ÆÍÔÖÖÕËƾ¸­›ŒymaZMD?22++/.9GU\mxƒ‘˜¢«µ¶¹¹¹¹´®¥Ÿ–Š~rjd_VKIIHGJNQXcv|ˆ•œ§±ÀÄÌÉÿ°¬¬¥œ“…vmfZTQE?D@INP^pz…–ž¦¯°³²­¬¦Ÿš“…xocWOMFC?<@HMQ_fuŒ˜¢®´º¼¼»¶µ­¤š‘†{tg_ZRKNSORSIKNO`qx™—¤®¯¶·°±«›–†zpfa^]\_\[ZXdin{‚†’–“š£ £§ª¨¢¡  œœ–‰vnniececdkmdke\dfn„‹”¥ Ÿ¤ œ—”“‚tcOID<>GGLQWcqƒ™¡ª­®´´¹··¹²®©£š™•Ž‡zrkeb^`[[X[Z[`jsmrseacery~‹Œ™˜–š‘‰xl]RXT]hihptov‚‰Ž“Œ‹Ž‰‡Š‹…ˆ‡†’—›ž›™’ˆ‡{xxvtxupns|ˆxebdcrƒ†‘™Ž˜š‘œ‘Ž…odYKPUYhns€‚„’Ÿ¤¦£•’Š‰ŒŠ†{vpx}†‹…|yz}~€|vyvwuy||……yvjXW^cx‰’¢¥ §¦¢¬ªžš‰uhYOTUV`\[chp€Š‰‹Š†€w|}}{}}}‚‡Œ–š—–”†‚{wz|zqnga_]cgvsgm]NS^cz‹‹œ˜–¨«¨º·¥¢Œtmd^bgjvvx€~‹•““Žƒƒƒ…‡ˆ†ƒ€z†‡‘™š–—‘ŒŒ„‚€|{}upqquz†‚|zf]efq‰‹“œŽ’„Š˜ˆƒycTIGKVYfkfmwŒ ¦¦¥¡˜’”ŽŒ‘’œ¥¡›—Ž‰†‚}}wrk_^\[evobfL;?EQlvwŠ€ƒ“—©¤›‚e_TTY[cmhjqq|Œ’”—“ˆ„†ŠŽ—•”‘ŒŒš¢£žš“ˆ‚|{y~wnmiloƒ}„}g]cbs‰‹žŽ’’‹™£•–ˆk^WPPX`omjuu~’Ÿ£ª¦ •‹‰‰’Ž‹‡‰Ž‘”˜‘Š‚wqlkjnlihgccw{qqhljm†•˜©¡š£˜¨¨ž…k[PKORV_]^hlv…““’Œxuwr{„ƒ…‚ˆ‰‡ˆ‰ƒ‡|uttsvz{xtpp{…}‡oqkfr„}‰Šz‡Šƒ”š…h_SMV^gpsq}…’›¡™’‡ˆ‰Š‰–™œŸœ¢££¦«¦¥ŸŒ~qliffe]VZitp{~lmmk““¢›£¢›¬¬›’„iYNCMV]d_akor€ŽŒ}€~‡‹–š™š¢œ£¦¤Ÿ–‡yphfccgcci||{…rknqr†ˆˆ‘†…„„Œ€yfTI??HPU[Z_hly„’“”–’Š…ƒz‰–šœ §§¨¨ž™Œyodb[XXZYbp|{…‰{~ˆ‡’¤¦ª®¡Ÿ¤˜œž”’‚jWQKJNRZ]dlx™š™”’Ž†‚€~„‹Œ•—ž¤¥¨©¥”Šƒ|vtpldfoywzƒsnsty†‡„‹||„}†‡‚oa[SU_cflns|‡‘š•‡~yv{~}‡’˜œ¡ ¢¥ª¢›‚ujdYSMFDK[[]hYWago‚†˜ŠŽš™©¢—“ybUNPU[^einvx€‹‰‰‹ƒ|z|Š–œ¥¦¨±¸¶±¯¢–‡{phgbb`gwwv|qhops†Ž‘š–”ž¦ž“|j^XU\]^dflrv|‰Ž‹ŽŠˆˆˆŽŠŠ’›¡¨ª³®§Ÿ‘…wi\WRLEGXkptuowv€’—š ™“—”œˆp\QLFMPXZ[]dku„‹ŒŠ…zwssvw}~†‘“˜Ÿ¡¡–ƒvkgiffdkx~{z|lnsp€‘™‰‰•ŠŽ”Œ†}nab\`gjopsx„ˆ•™™”ˆ‚€ƒ‡Œ““™ž£«´¶±¨ •†|unic]W[cjdsmdqrp‚“žžŸœ—¤¢™–ŠvmeXZZ]`cgmwŒ‘Œ†yusvvyƒŒ”˜¤©«§¦Ÿ”„vnbZUWS^e_elb`mnx‘•ŠŠ’ŽŽ—‹ƒyfZWSQVRR\\agow‚ˆ…‚|usrvw…—Ÿ¦¨¬®«°®§£”ˆznc]WQV^d]gaarz‰Ÿ¨©´±ª¶°ª°¨˜Šyhf][_[_b`aisz‡…‚{ww|…‰Œ–™¢¥©­«¦“„€{snechrknsem}¢  ¨››Ÿ—˜—‰|t_QNIKQQPUY_lu€……‚yxtsu{|€Œ“ž¨«®±¬¨ „zql_USWVNWSLVah|ŒŒ––•—““‘€zmZUPLQZ[bhjs|‡’—–|ww{|†ˆ‘“–¦¯³´¹±ª¤˜‘ˆstqsykjj\_mq‚Ÿ¡¦« ¢¨¤Ÿ¡Ž~sc\VQQX[_fhmy„‹““…|€‚~„ƒ…ˆ’Ÿ§¯´¿¸²ª¥Ÿ‘„rjb[[QPNDGT\j„†’ š›¦ œ”ˆ}i\UPQ\\Z^_emu}Œ…€vqononrtz€„•œ¡¨¦ œ”Œzke\Y^PQRBIVYj‡Œš§¤¯¬®±¤™tg^UNNQS[\gr}ˆ“˜•’Œƒ€~~‡‹Ž“—¢¬¹À¿¿¸±¨Ÿ•‹‚vpfjbW\SRY^gƒŒŒ˜ ¢š¡ž‘Šyd]Y[__adflu|‚‡’ŽŒ~~|‡‹“˜œ ¤¤§­©§š‡{ujcWW]OLLBGX`p†‡š–™˜ž’ˆ|j]TKNUSQRRYbmy„‡……‚~z{|}€†‹Œ˜ŸŸ££¡™~ytjjb^]b][`R^lr”šš¡—š¤ ¤©’Šylg^cgeilkq}‡Ž› š’Œ‹ŒŽŒ“’‘œ¢¡£¦¤¢—Š‰}rjda`eZZ]PU`dp™Ÿª¤¢««¬®¢š’qg`]^\Z\`elsw‰……ƒ~z{~|€€€„Š“•œž™™“Ž…{sha\V[aX]bRZbdt‰Œ‘ž˜™Ÿ››Ÿ˜Œ„p_YQOPQPTVV\cmxƒ„ƒ†‚ƒ}{{€ƒ‰Œ•š¥§®°µ¯¤œŒ€tiddkjgjeWbjmƒ“– ¤Ÿ«²®µ¶¨ “~nk_bhbeb``iqw€ƒ„†‰‡ˆ‡ˆŒŠˆŠŽ”›¤¨°²µ°§ž‘‹‚vjcYW^[[d\V^ai‰Œ—˜›£«¦¨¢”|f\SLKMMQPPV]gr|‰ŽŠ‹‹Œ†‰†Š‹‘”›˜™˜ˆ}qie_]\a`[`PPV\i|„‰™•”™œ£ —ŽlbWTW\^`caefkt~…‰••’‘‘‹‰Œ‘•¢«®ª§£Š€{vstxvrxhakpz‹š›¨ªŸ©ª¨¨¥šƒmcXQRRUSSW`glv…Ž‘‘ŽŽ‘ŽŽ‰Ž–Ÿ£¢£œ“Š‚{rnmknneecSRYYaw}ŽˆŽŠ”Ž‡‚ue`YRWVUSPRV]fs|ƒ‰‡‰Š‰…†‡ŠŽŽ‘”™—šœŸ˜’‡yqkedeYSUHFRY^yƒŒœ™š¥¦¡©£—…|wqedc\^[WW_fs…–œ›ž¢£¤§¥¨«ªª­¯¯¯¨¥ ™€||ricdfhWYXR^ef|ŽŒ™¤š£ª¦«­¨Ÿ“|qlbaa]YVRT[`o|‡‹Ž‰‰‚‚‚„†•“‘‘‘‘”Œ‰‚zsmiee_``VYTHMZYiƒ™”š£ ¡« ™|qiea_YUUMMKSZgsz‚…‰‰’”š—˜”“–™š™œ—”’‰‚€zwqjkmg`gVXlqxŒ”–¤ ¨¦¥¬§  •~uhaa_bdeaefn{~†Œ’““—––˜›ššš˜™žž“Ž‡ywuxxqmqa[cah{‰‹‰—•“œŸš”ˆvk`QQIJLORRW\ginw|€€‚„‰‘“˜™—•——””“•”Œ‡~rja^[_a^]`WT]]az’“™›™¤¦ž™sh\`^Z[[ZX\^elu‚‡ˆ‹’šœ£¢¢¢›‘‹‹‰“–›——†|wunjglokspjmqr„”’Ÿ¬¨ª²±³¶«¨¤‘xmbbaed]VX_`cgr{‚ŠŒ‘‘•¡¦«¬°­©¡œ™š”’†znb^XYXblfjj\[]Xb|~Œ™––žœ›¢œ’{h]RJKLMMEIFELWfq~…Œ””“”›¤¤££›”™”’“Œ€yogfcefmojnh[eokx††‘˜“”™“–œ”“trjacaaWRNOSUal{‡Š••˜ž¢¤©³µ¹¸¹¸²­©¨ œ”Šƒwnllghkaelb`lkr‰Ž”™š¢£ž£Ÿ  •ƒyrba_^^\`ZXX]dm}„ˆŠŒŽ‘—Ÿ£¨£œ˜’‰ƒ€z|uspeb\YYc`X\VHPTRh€ƒ˜‘•‘˜¢›™™“‡xga_Y[YVVSQR[bny|ƒ„ƒƒŠ”ž¨®°°²­©£¡¤ž˜…znja^[^bZ]XNU`aqŠŠ—ž™›¢¤§±­©¨–ˆtic\Y]WWY]alrw‚…Ž”•™ž¦­·½º·²±«¨£™–‘ˆ~tojffgleeb[`fis‰’š›™—œ——ˆxodYSMIMJIIGGFLUbks€ƒ†’œ£©¯³®§ ››˜’‰}maZSVX]\\[QTWZcuˆ“’”šœ¤©©¥¦™Šƒtk^YYVTNMKQX_nw…‹’‘˜¢­²¶¸´­¨¥žžš–‚qe^WUYcffffachju„Š™™™¡¢«´³­¦Ÿ”’Š…ƒ|yoh_YTQW\gos{ƒ‹Ž–œ¥®µ¸¶²§¦¦¤¢œ–‹ƒwngc_[\WQTMKLRQ^kny‚‡—›ž£ —€yxtokg_VPHCAFHQZ^gp{„—ž¦ª¯°±±­©¨¤—…upieabbhjcb]]_afqxw„˜¤¨¬©©¥™‘‡€}tnjaVROJLS]ajoxz~‡’™ž¤­·¶¶¸ºº¶¬¢›ˆ}wuruywusmikgo{|€‰Ž–—™Ÿ¡ ¡ž•“‡„zwpi`ZTPLJSZ\emu{‡‹— ¢¥¤¨§¥¦¥¢™‘†|vqjbc]\^VRRMJMQXhip{‚†‡‹‹‘”•™‘‡ƒƒ€}wumfb___a`ckjnpuuy…ˆ“œ¦©©ªª«ª©§™‹‚zwspqpqnilhfcbbint~€ƒŠŒ•™››š•‘ŒŠ„zsjeghhghmsrsww}…•›¥­²·¼½¾º¶´«©”‡uoheaZb\[afenvv|}}‚„„…‡‡Š‰‡…‚ƒ~}xsmeb\\_^[^^_aaimp}ƒ‰Œ’˜œ››š–˜–˜–‘‹ˆ‚~spmfc^WRY[\dikprw††ŠŽ“’ŒŠ…€€€|~wuplmliilkijmty‚“š¡¦§®±´²­¬¨¦š’Ž†€xsmic_a^Y[[Y_ccioy~‡”™šœŸœ™™™œ™“‘ˆˆ…|{{z{{{w~‚ˆ‰†‹Ž‘”™ žž›—‘ˆ…|tlcbab`[XZYYaegimlqvv}€‚ƒ€‚€„y{wtofb]_]accilqsx|„‰Ž’’–šœž£§¢Ÿš—”Ž‡„}zvphed[\^aglou€‚‚…ŠŽ‹‡ƒ‚€„ƒ„‡…{{vwwrttrruw|}z€…ˆ˜™™———•––——••“Ž…†‚~~ywrtuy}~„ˆ‡“ŽŠ†ƒ~zzssqmnmnorlnqnnmqqsw}„…Œ–›œ˜—˜–‘Œˆ~}vpjedab_a]YZZ]`eehkosw||…ƒ‚~}|{|~y{x|yz|z}€†‹Š‡ƒ†‡‰…„„„ˆ‹‘”“šœš•’Š†~{wuutusuwwvwwx|{}}}€~€€|}||€|zyxtoojmrw{{yz€‚ƒ‡Ž”˜¢¤¦©«¯²´®«¦¢¡œ›”Ž…~uqlmkgjgjkfdmoppnooiggfhjjnpquuywuurvuqloqrxxywy}}„‡‹’”’‘‘ŽŠŠ…‚€}yvvsttqqnrqpomnpvwwuuwuurwxzxx{{~~~‚…„€~}~„ƒƒ……‹Ž“™¢¤¦¦¥ œž—–Œˆ†…yusstponrqjnosv}{xvvwx{z€ƒ‚„…Š“••“‘“•‘Žˆ…„€{uyy{zy‚„ƒˆ‡ƒƒ€€}{yzx{{vuqstxsnnrrmlmqqommnmpsttrmddd`fikpvruwvx{~~€†‰‘‘’•›œ™™“™›ž—“““Ž‹Š†…‚~~{|{yzy|zyxtqoorrtxxzzy€||zutpsonpqspquz|ƒˆŠ‘’ŒŽ•›šœ˜—š™š——•‘•’“Ž‹‹Œ‡Š‡†ˆ‚€{|y{vrpkjifgghdihfiiigljhihiooqvw€‚„‡…„…‡‡‚…†„ƒ‚‚ƒ‰…†„†‡ƒ}}yxzywu}|xxwstvv{{{}…ƒ‚€†‚€~……‚~}}z{xvuotswtw~ƒ€|‚††……†‡‡‹ˆ‹”™š›š™”’‹‹…†„…ƒƒƒƒ€ƒ„zwtqsvqx{€~{wuy}|„€†‰‡‰‚„‡‡ˆˆ†ƒƒƒƒ€}}{{{}ytvsv{~…‚…‚‚|{}~wxxxuzy{}}}}~|{yywutsrlqmpuqrtxwuvswtvwr{}~wsrsvrvyxz|~~€}‚‹Ž‘”Ž’ŒŠŒ‡„ƒ~€€ƒ…ˆŽ‹‹Œ‡ƒ‚‚€…†ƒˆˆ‹Ž‡‚yvortoomonnpswuz|}~}‚„„…‡Ž’Žˆ†„„ƒ…‡‡…‡…ƒ€‡ŒŒ‹‹‰Œ‹‰……„‚‚€‚€ƒ„„|{xuqqomoplfefhjkqtwy€{{z{uomprmsssvwy|{zwtvttwv{ƒ…‚{z}~~€…„Š‘ŽŒ’–˜•–“”’Ž‡‡‰‡Š…†…ƒ…‡‡Š‰ƒ…„{wvwrttrxqmrrrxxx~y{~||zstsstt{‚}€ˆŠŒŠŠ‡ˆ†ƒ…‚‰’Œˆ‡‰‰‡‡ˆ‹ŒŽŒŽŒ‹Ž‹Š‡‚‚ztswwsssvtvx{|{}yzwttsuxvlikgecgjmrlnnojhkijhkmpuxƒ†‹‹Šˆƒ„†‡ˆ‹”•–”ŽŽŽ‡‰Š†‰‡‹Š‰‰ŠŠ‹‘ŒŠŽ‰‡~zwwuqvz€~}z{|{{ywsx{~{uurtqopswy€~{wuurrostw}ƒ„‚‡ŒŒŽ’š›šš› ¢¥¢£œ“‹ƒ}zz{}}}xwvvwt||}„†|}~~|zƒ‚€~|yspmieaedfa^ZZ[Z[Z^_elnqpqpswuwty{~†Š‘•›Ÿ¡ŸœŸ ¥¡ŸŸ ¥ ž™—Žˆƒ{zyyy{zwuuxxw}€€„‡†€}z}~z|~‡Š‹‰ˆ‡ƒyxqkgghfc]\^abcgkpqtvvyx~ƒ„†Œ’—¢¦¤§¨¬¯­¥¡£Ÿ–’‰Žˆ‡}vokfiegjmrv|€ŠŽ‘ŒŒŒŠ‰~}uuqnmjnkgd`\ZWONQMPTYZ^Z]_cggsuy€…”–ŸŸŸœ¢££¤ ¢¢Ÿ›š˜‘Œ‡‚€}{|yysookoqsx…‹•˜”•”–˜•—’‹…}sleb]][UUSSONQTZWY\bkpz~†‘—¡¥ª­®¯¯¬«§£œ˜•Ž‹ˆ‰†‰Š‡†…‰„|}||{y{€‚„ŒŒŽŠ‰ˆƒ„„‚ƒ‚ƒ}{wppmggdec]QLMLKLOVY^_cdilnosvv|‚Š“•™ž¦¨¨©¨ª¥¦¤¡Ÿ™“Œ„~|wuprqqpnpqutuy{ƒŠŠ“–£Ÿ¢¡ž˜‘Š‡„ƒ~xvqmed_^\WQOTVUPNSX\chow~ƒ‹Ž•˜›¡¢©«±´¸º´¯¯°«§¡š™‘‹…‚|wspojgfccbgjmstz‚‡‡‰””•˜”‹Šƒ}vnjea^ZUTTQUVTUXXZaegdfgirty}†•œ£¦©««¬ª§¢¡›˜—ŽŒƒzwtjjffdefejjilqsv|‚‰”–š¤¦«¤¢£Ÿ˜˜‘Ž‰ƒ}tpf_VPHDEDEEGOT\_dgqwy‰ŽŒ’›¢¥­¯²¹»º¹¹¶³®¨£—“Ž‰Œˆ‚{zurmlkijehhkqty{~„„„‹ŽŒŽ‹ŒŠˆƒ|yvokeb^ZSSMEDEB??IMPU^hsx–¡ª¯¶»½º····¬¬¦¡š‘ˆ‚zvpnh__`bccgjopsz‚†‡‘‘•šŸ¢ Ÿ›™”’‹…~{vngca[YRPMNRSUQPSVYXagnrx‡‘˜ž¢ª±´¼½½¼¼µ²µªž“’Œ‰†‚€|xoklkompqrvy€…Œ‘”“—œ—šœœ–”•ˆƒ}vogaZSOHJGC==BBBCLOUX`ls€‰’™›¡¢£¡§§¨§¡¡˜—™š“‹‡ˆƒ~yxssqrwxz}‚‡‘’•—š™›˜™˜”“‰„}tslc]]YTOGKGA:E]daiq}‡}m{‹Žˆˆ”› µÄÆÍÏÇλ¿½±¦¥¡™ˆ—¤”ŒŽŠ†ˆˆ|zze`^TRXZTU^mw~visz}€†Œ“’”—Ÿ¢›£¢™¥Ÿ—›—Š†‰‰Š|omtwbY\WQOMINGC@HIHOKIKS`hqms€‚†…Ž—œŸ¦«·¾»·¤°¸®Àƽ··¸·¬š‘Ž}nspkcWNLMH@AA=DDCPRUY\foyz‡ˆŠ’’Œ¢Ÿ¤”šž’•ž™’›•ŒŽ‹‹ƒ{wuvsrwyihoelmemtpsx€ŒŒ‡‹— £¢«­§ ­¤˜¥–”€spztwxwqwvmtpmidfgf`_[Y\YVaeajosƒ†šŸ¢¢¦±¶´¸È·¶¼­¯·©œ¡œ‡‡Ž…„„zxxspllnmfib^caac][ebejhnrsv€ƒ†ŽŒŽ‘‹‚„“‘…‚}ƒ|ttlhih^bdYZZWTTUWTRPPQUZ[aa_gmnx€†‹•œ£­­µ¸³±º°©º°¨µ­œ’Œ–‘‹’‡‰ˆ€|wxvtmfe]Z^WRZZTZX[`dioxƒš¢¢£®§––Ÿ–Œ—„„‡~ƒzvƒ}~~}zuppmollqtsr|zvz{|{}}ƒ‡‘–—˜š••§Ÿš©¡—¢ž”¡ŸˆŽ…v{rksunjjefea]UPHGAJOIRRPS[]_ffklu}„Š’Œ—–™–‹’“†‹Ž‹…Š€……€ƒ‹…„ˆ…ˆ‡ˆ‡~yqhhmokqqttywx„ˆŽ”ž¡ª¬¯·¶²³·¦¬§• ŸŠŒ‘„w‚wywkggZ_a]``fec^]\]^YU[bbfhinooy‡Š’™£¨¥³·¢«©©ªœŸ§ž”—–ŒŠˆzv€srrpmlihe`_]``c]^fckssuy|~…‰Ž•’š¡¡˜Ÿžš™ˆ†‰zt{tnpuoqqefkebcdec]`[WWQMPZTV^Zcgpx}…†Œ”˜š¦³¶·Ã¿¸Â¹¯¸µŸ¤§™•˜“‡†w}ƒ{y}|||y|}yvrgoldlkglihjjlu}~„…‹Žˆ“ž•›’”›ŠƒŒ‚z{~vuxkkskklkknggjgjlefg_dmfmrwˆŠŒ—˜œ ¢ªª¨¤²§ ¬ ˜Ÿš•—ŠˆŽŠ„…€u~zvrligfbce[[[TZ\Y`ZQXZ__cgpvu~‹“••¥™ ž–™›‘”ƒ…~yxtmqwottsnljmsmosqywvzsusu}€„‘—ž£«²¯­³¿¹¼À²¶·¨¢¨£“‘…ztqqd_]][TTOOMEC?CB@JMJN[_ikjlsx‹”žœ“ ›¢¡˜ž¦œ£ •—”Œ‹†ˆ‡}ywvsqspljfpj^djlkintz{‚†Œ˜Ÿ¢Ÿ®®¦®¬¦ª¦š–—‘Š~zskmfb`__^]VUTU[Y[]YUYWX^_ejlmpxz~}‡’”›§¤¦²ª¬¯§¤§§ ¤¦ ¤Ÿ—“•‰‚‚zvvstqmjjkgmqjjpmqxxz„‡ˆŽˆ•ŽŒ—˜’‰ˆ}yyvsvofhgc\[]ZWVYZ\^Y^ea\ba\ccjsz{‚‡–¡¤£¨±¯ºÁ¹ºÂ»¶³¯¤ Ÿ–‘ˆ€ƒ{voknfgdff__`cigknpmpmpqqs{ƒ‡Ž‘–•—“œš“™™‘Ž‹‡„„}|{omnnhg`_YSTUTUSS[[U`gjquy{‚‰‘™¢¤®±µ³¸³¬´®­³®¦§ª¡œ›˜Š†}ƒtnggeb`_\URSSRMJQUUVY^diihqqvv|…„…‘’Žš”Œž™“–›•—‘ˆvuxonmolhjgjihhelmkv}z|}‚ŠŒŒ“•™Ÿ ¤Ÿ¡¬§ª±«¬³¬§®©£œš˜–“ˆ††yrme_\]]VQOQRURSYW]\]acgjrx…ˆŽ–—’˜ž›¤Ÿ”›š’ŽŒ‹‡‡…~…{zxwlfefhfeadkmhjlmorsy}‚…‹ŽŒ‘”œœ¥¥ž§¦œ£¦š™››‰‡zwvqjf]]][YURNKLMMHMJCKSZ^effmp{„Œ‹‘˜šš•›¢ ª¬§¬±¥¥¨¨££¦›—™’’‘ˆ€…ƒ„~upoojhgcieelnpw|}†‰ŠŽ”™¢ ¤©žœ——˜’‘Œ‡‹ŒŠ‰~x{vohca^TVXWUUTPTTX`\`cdcegjtx~€…ŠŽš˜™Ÿ™™™›—™š—•–˜•”ˆŠ‚|wuuqonpolghjkkhjgfjgqrxyy~y~€„‡ˆ„‘‰’‘Ž‰‰Œ…€‚~€|y{tuqsomnrngf``_\`hmlruz…‰”œŸ  ¤¦§¬²ª­¯©°¬¦¤¦¥ššžš›•‘‘‡…€~vqofigfgceeadccinhlmqw}‚…ŒŠŒ‹„‡ŒŒ‘‡‡‰ƒˆŠŠ€~vxvqqmdb_WY[WRVVVXRWZ[dfcdimr{}„—¡£¥¬¨§«¥¦«¥ ¥¡ž¡—–—““†„|zwumkib`\ZVVUOTPTYY]ceemqv}~…‡ŠŽ–š™¡¡œ¡¤ž› —•““‹‰Š‡Ž‹ˆ‰…}~~{usrrsqnrrotouwzyˆ‰•šž §¬®««¯©§®ª¦¤™“™—’Š†ƒ‚}wurnhgb_]YWTRVLMMORSSTVX[\gopw~~}ƒ„ˆŠƒˆˆ‚‰‹‡‹Š„…†…‚€…€†ƒ~~ywuwvvtoqnloomlnoutssy€ƒ‡‰–š ¢¤¡£¤¨¬ £Ÿ››‘‰Š‰ƒ~zurnpqjgdhhhda_\\^ekjghggloptw||‡‘”›œŸ¦¤ª¯¥§«©¬¬ ž¡™™š“ŒŒŠ†€~~||uuqnkkjnrmqrmqnmtxz|„Œ‘’Œ‹‘‡ˆ‡~uuttoonlhcfijlnkeb\XYWWPSPQURRU[_ghnux‡‘œ¡Ÿ£¤¤£§¡¡§£¢£žš˜›–•Œ…„„…ƒ€~€ƒ~ssulgkinnkoqqooptvv{~€~ƒƒ‡‹Ž˜•‘’‹Œ“”Ž‘–’‹…„€~~y||{z \ No newline at end of file diff --git a/voc/bargraph.bas b/voc/bargraph.bas new file mode 100644 index 0000000..7c0d889 --- /dev/null +++ b/voc/bargraph.bas @@ -0,0 +1,25 @@ +cls +x=1 +1 locate 1,1 +for z=1 to x +locate 1,z +if z<16 then color 12 +if z<14 then color 14 +if z<11 then color 10 +st$=st$+chr$(7) +print chr$(254) +locate 2,z +print chr$(254) +next z +for y=len(st$) to 15 +color 8 +locate 1,y +print chr$(254) +locate 2,y +print chr$(254) +next y +2 a$=inkey$: if a$="" then 2 +if a$="+" then x=x+1:st$="":goto 1 +if a$="-" then X=x-1:st$="":goto 1 +goto 2 + \ No newline at end of file diff --git a/voc/save_voc.bas b/voc/save_voc.bas new file mode 100644 index 0000000..682bd4e --- /dev/null +++ b/voc/save_voc.bas @@ -0,0 +1,28 @@ +cls +open "O",#1,"SAVE_VOC.RAW" +FOR SbPort = &H210 to &H280 STEP &H10 + OUT SbPort + &H6, 1 + FOR a = 1 to 10:next + OUT SbPort + &H6, 0 + FOR a = 1 to 100 + IF INP(SbPort + &HA) = &HAA THEN GOTO SbFound + NEXT +NEXT +PRINT "kein SoundBlaster => Ende..." +END + +SbFound: +locate 1,1 +color 10:print"SoundBlaster an Adresse ";hex$(SbPort);"h gefunden." +print"Beginne Speichern, Abbruch mit [ESC]!" +DO + OUT SbPort + &HC, &H20 + DO:LOOP UNTIL INP(SbPort + &HE) AND 128 + value=inp(sbport+&HA) + print#1,chr$(value); +LOOP UNTIL inkey$=chr$(27) +Goto Ende + +Ende: +print"Programm beendet." + \ No newline at end of file diff --git a/voc/sbtest.bas b/voc/sbtest.bas new file mode 100644 index 0000000..b710946 --- /dev/null +++ b/voc/sbtest.bas @@ -0,0 +1,16 @@ + +call interrupt 7 + +for x=1 to 9 +if x=1 then print"AX: "; +if x=2 then print"BX: "; +if x=3 then print"CX: "; +if x=4 then print"DX: "; +if x=5 then print"SI: "; +if x=6 then print"DI: "; +if x=7 then print"BP: "; +if x=8 then print"DS: "; +if x=9 then print"ES: "; +?reg(x) +next x +print"----------------------------" \ No newline at end of file diff --git a/voc/voc_vu.bas b/voc/voc_vu.bas new file mode 100644 index 0000000..fd0422b --- /dev/null +++ b/voc/voc_vu.bas @@ -0,0 +1,74 @@ +' VOiCe - VU - Meter +' by RoboCop INDUSTRIES +dim sig$(51,200) +dim sig(51,200) +dim ym(51) +cls +print:print +print"™ffne Datei ";:color 30:print"... ":color 7 +OPEN "I",#1,"BAD_DAY.V_C" +locate 3,13:print"... OK" +print"Lese Daten [Zeile: Zeichen: ( ) Zeichen ges.: ] ";:color 30:print"...":color 7 +for z=1 to 10 + if eof(1) then exit for + line input #1,ZLE$ + e=len(zle$) + for x=1 to e + if x>=401 then exit for + SIG$(z,x)=mid$(zle$,x,1) + zeiges=zeiges+1 + locate 1,66:print using"###.#kB Memory";fre(0)/1024 + locate 2,66:print using"###.#kB free";fre(-1)/1024 + locate 3,66:print using"##### B unused";fre(-2) + locate 4,18:print using ": ### Zeichen: ### (!) Zeichen ges.: ######";z,x,sig$(z,x),zeiges; + next x + ym(z)=x +next z +zm=z +print" ] ... OK" +print"Konvertiere Daten [Zeichen: ASCII: Kurve: ñ Wert: ] ";:color 30:print"...":color 7 +for z=1 to zm + for x=1 to ym(z) + sig(z,x)=0 + f=ascii(sig$(z,x)) + sig(z,x)=f-128 + locate 1,66:print using"###.#kB Memory";fre(0)/1024 + locate 2,66:print using"###.#kB free";fre(-1)/1024 + locate 3,66:print using"##### B unused";fre(-2) + locate 5,27:print using": ! ASCII: ### Kurve: +### Wert: ###";sig$(z,x),f,sig(z,x),abs(sig(z,x)); + next x +next z +print " ] ... OK" +print"Zeige Daten [Kurve: ñ Wert: Aussteuerung: ] ";:color 30:print"...":color 7 +locate 1,1:color 8:print "þþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþ" +locate 1,1:color 12:print"ANF" +locate 1,31:print"MID" +locate 1,62:print"END" +oldx=1 +for z=1 to zm + for y=1 to ym(z) + a=sig(z,y)/2 + a=abs(a) + x=round(a,0) + if x<1 then x=1:if x>64 then x=64 + for h=1 to x + if h<64 and h>=52 then far=12 + if h<52 and h>=35 then far=14 + if h<35 and h>=0 then far=10 + b$="þ" + if h=1 then b$="A" + if h=32 then b$="M" + if h=64 then b$="E" + locate 1,h:color far:print b$;:color 8 + next h + for i=h to 64 + b$="þ" + if i=1 then b$="A" + if i=32 then b$="M" + if i=64 then b$="E" + locate 1,i:print b$; + next i + color 7:locate 6,19:print using": +### Wert: ### Aussteuerung: ##";sig(z,y),abs(sig(z,y)),x; + next y +next z +color 7:print" ] ... OK" \ No newline at end of file diff --git a/voc/zarathus.bas b/voc/zarathus.bas new file mode 100644 index 0000000..c610e71 --- /dev/null +++ b/voc/zarathus.bas @@ -0,0 +1,10 @@ +sound 130.810,54.6 +delay 54.6/18.2 +sound 174.610,36.4 +delay 36.4/18.2 +sound 220,36.4 +delay 50/18.2 +sound 523.25,4 +delay 4/18.2 +sound 493.88,36.4 + \ No newline at end of file diff --git a/winlnchr/1/win_laun.bas b/winlnchr/1/win_laun.bas new file mode 100644 index 0000000..9408aa1 --- /dev/null +++ b/winlnchr/1/win_laun.bas @@ -0,0 +1,100 @@ + cls + color 15:print"ðððúWINDOWSúv3.11-Launcherúððð" + color 14:print"written by RoboCop INDUSTRIES" + color 7 + print + print"W„hlen Sie einen Grafikmodus:" + print + print"No H x B x c Schrift fr" + color 10:print" 1 ";:color 7:print" 640x480x256 normal" + color 10:print" 2 ";:color 7:print" 640x480x256 groá" + color 10:print" 3 ";:color 7:print" 800x600x 16 normal" + color 10:print" 4 ";:color 7:print" 800x600x 16 groá" + color 10:print" 5 ";:color 7:print" 800x600x256 normal" + color 10:print" 6 ";:color 7:print" 800x600x256 groá" + color 10:print" 7 ";:color 7:print"1024x768x 16 normal" + color 10:print" 8 ";:color 7:print"1024x768x 16 groá" + color 10:print" 9 ";:color 7:print"1024x768x256 normal" + color 10:print" 0 ";:color 7:print"1024x768x256 groá" + end + print + print"Geben Sie eine Zahl ein!" +1 a$=inkey$:if a$="" then 1 + if a$="1" or a$="!" then goto ModeA + if a$="2" or a$=chr$(34) then goto ModeB + if a$="3" or a$=chr$(21) then goto ModeC + if a$="4" or a$="$" then goto ModeD + if a$="5" or a$="%" then goto ModeE + if a$="6" or a$="&" then goto ModeF + if a$="7" or a$="/" then goto ModeG + if a$="8" or a$="(" then goto ModeH + if a$="9" or a$=")" then goto ModeI + if a$="0" or a$="=" then goto ModeJ + goto 1 + +ModeA: + print:print"Setze Variablen ... "; + dsp1$="display.drv=T480.DRV" + dsp2$="display.drv=TRIDENT TVGA 640x480x256c" + font$="font + print"OK" + print"Erstelle neue INI-Datei ... "; + gosub ChangeINI + print"Starte WINDOWS v3.11 ... " + goto Launch + +ModeB: + print:print"Setze Variablen..."; + dsp1$="display.drv=W800.DRV" + dsp2$="display.drv=TRIDENT TVGA 800x600 16-color" + print"gesetzt" + print"Erstelle neue INI-Datei..."; + gosub ChangeINI + print"Starte WINDOWS v3.11..." + goto Launch + +ModeC: + print:print"Setze Variablen..."; + dsp1$="display.drv=T1024.DRV" + dsp2$="display.drv=TRIDENT TVGA8900 1024x768 256-color" + print"gesetzt" + print"Erstelle neue INI-Datei..."; + gosub ChangeINI + print"Starte WINDOWS v3.11..." + goto Launch + +ChangeINI: + open "I",#1,"C:\WINDOWS\SYSTEM.INI" + open "O",#2,"C:\WINDOWS\SYSTEM.IN_" + print:color 15:print"Status aktuelle Zeile b b-d":color 7 + x=csrlin + locate x,1 +2 line input#1,zle$ + if left$(zle$,6)="[boot]" then b=1 + if left$(zle$,18)="[boot.description]" then bd=1 + ers$=zle$ + if left$(zle$,11)="display.drv" and b=1 then ers$=dsp1$:flag=1:fl=1 + if left$(zle$,11)="display.drv" and bd=1 then ers$=dsp2$:flag=2:fl=1 + st$="Suche nach Zeile..." + if fl=1 then st$="Zeile ge„ndert. Neu:":fl=0 + rem print "Status aktuelle Zeile b b-d":color 7 + print using"\ \ \ \ # #";st$;ers$;b;bd + if flag=2 then b=0 + print#2,ers$ + locate x,1 + if flag=1 then locate x+1,1 + if flag=2 then locate x+2,1 + if eof(1)<>0 then + print"fertig."+space$(73) + close #1 + close #2 + return + else + goto 2 + end if + +Launch: + kill "C:\WINDOWS\SYSTEM.INI" + name "C:\WINDOWS\SYSTEM.IN_" AS "C:\WINDOWS\SYSTEM.INI" + print"OK" + execute "WIN.COM :" \ No newline at end of file diff --git a/winlnchr/2/sysinis/1024x768.16c b/winlnchr/2/sysinis/1024x768.16c new file mode 100644 index 0000000..a3117d8 --- /dev/null +++ b/winlnchr/2/sysinis/1024x768.16c @@ -0,0 +1,185 @@ +[boot] +shell=progman.exe +network.drv= +mouse.drv=msc3bc2.drv +language.dll=langger.dll +sound.drv=mmsound.drv +comm.drv=comm.drv +atm.system.drv=system.drv +386grabber=V7VGA.3GR +oemfonts.fon=vga850.fon +fixedfon.fon=vgafix.fon +fonts.fon=vgasys.fon +display.drv=W1024.DRV +keyboard.drv=keyboard.drv +system.drv=atmsys.drv +SCRNSAVE.EXE=C:\WINDOWS\SSSTARS.SCR +drivers=mmsystem.dll + +[keyboard] +keyboard.dll=kbdgr.dll +oemansi.bin=xlat850.bin +subtype= +type=4 + +[boot.description] +mouse.drv=Mouse Systems serielle Maus an COM2 +language.dll=Deutsch +system.drv=MS-DOS-System +codepage=850 +woafont.fon=Mehrsprachig (850) +aspect=100,96,96 +display.drv=TRIDENT 1024x768-16c +keyboard.typ=Erweiterte 101-/102-Tasten-US oder andere +network.drv=Kein Netzwerk installiert +secondnet.drv=Kein zus„tzliches Netzwerk installiert + +[386Enh] +device=*vpd +mouse=mscvmd.386 +EGA80WOA.FON=EGA80850.FON +EGA40WOA.FON=EGA40850.FON +CGA80WOA.FON=CGA80850.FON +CGA40WOA.FON=CGA40850.FON +woafont=app850.fon +device=vtdapi.386 +device=vshare.386 +display=vddtvga.386 +SysVMIn2ndBank=FALSE +ebios=*ebios +device=dva.386 +32BitDiskAccess=on +device=*int13 +device=*wdctrl +keyboard=*vkd +network=*dosnet,*vnetbios +netheapsize=16 +device=*vcd +device=*vpicd +device=*vtd +device=*reboot +device=*vsd +device=*v86mmgr +device=*pageswap +device=*dosmgr +device=*vmpoll +device=*wshell +device=*PAGEFILE +device=*BLOCKDEV +device=*vfd +device=*parity +device=*biosxlat +device=*vmcpd +device=*combuff +device=*cdpscsi +device=vpmtd.386 +device=vcomm.386 +device=serial.386 +device=lpt.386 +device=ifsmgr.386 +device=vcache.386 +local=CON +FileSysChange=off +COM3Irq=4 +COM3Base=03E8 +COM4Irq=3 +COM4Base=02E8 +PermSwapDOSDrive=C +PermSwapSizeK=15708 +MinTimeslice=20 +WinTimeslice=100,50 +WinExclusive=0 +Com1AutoAssign=2 +Com2AutoAssign=2 +LPT1AutoAssign=60 +;device=vsbd.386 +;device=vadlibd.386 +CGA40850.FON=CGA40850.FON +CGA80850.FON=CGA80850.FON +EGA40850.FON=EGA40850.FON +EGA80850.FON=EGA80850.FON +Anzeige=VDDTVGA.386 +device=vsbpd.386 +device=vfat.386 +device=*vdmad +Maus=*VMD + +[NonWindowsApp] +localtsrs=dosedit,ced +DisablePositionSave=0 +MouseInDosBox=1 +FontChangeEnable=1 +CommandEnvSize=1024 + +[vcache] +minfilecache=2048 + +[mci] +CDAudio=mcicda.drv +Sequencer=mciseq.drv +WaveAudio=mciwave.drv +AVIVideo=mciavi.drv +Overlay=mcism.drv + +[drivers] +midimapper=midimap.drv +timer=timer.drv +VIDC.IV32=ir32.dll +VIDC.IV31=ir32.dll +VIDC.RT21=ir21.dll +VIDC.YVU9=iyvu9.dll +VIDC.CVID=iccvid.drv +VIDC.MSVC=msvidc.drv +VIDC.MRLE=MSRLE.drv +WaveMapper=msacm.drv +MSACM.msadpcm=msadpcm.acm +MSACM.imaadpcm=imaadpcm.acm +Aux=sbpaux.drv +Wave=sbpsnd.drv +MIDI=sbpsnd.drv +MIDI1=sbp2fm.drv + +[DDEShares] +CHAT$=winchat,chat,,31,,0,,0,0,0 +SCHAT$=winchat,chat,,31,,0,,0,0,0 +CLPBK$=clipsrv,system,,31,,0,,0,0,0 +HEARTS$=mshearts,hearts,,15,,0,,0,0,0 + +[Network] +winnet=nonet +multinet=nonet +FileSharing=No +PrintSharing=No + +[network drivers] +devdir=C:\WINDOWS +LoadRMDrivers=No + +[SNDBLST.DRV] +port=220 +int=7 +dmachannel=1 +Palette= +MasterVolume=14, 14 +FmVolume=14, 14 +CDVolume=14, 14 +LineVolume=14, 14 +VoiceVolume=14, 14 + +[MSACM.imaadpcm] +MaxRTEncodeSetting=4 +MaxRTDecodeSetting=5 + +[ClipShares] + +[svga256.drv] +resolution=1 +ChipSet=Trident +LatchCapable=No +svgamode=93 + +[msacm.drv] +Playback=SBPro Wave Out +Record=SBPro Wave In +PreferredOnly=0 + diff --git a/winlnchr/2/sysinis/1024x768.256 b/winlnchr/2/sysinis/1024x768.256 new file mode 100644 index 0000000..bd3b950 --- /dev/null +++ b/winlnchr/2/sysinis/1024x768.256 @@ -0,0 +1,186 @@ +[boot] +386grabber=v7vga.3gr +oemfonts.fon=vga850.fon +fixedfon.fon=vgafix.fon +fonts.fon=vgasys.fon +display.drv=t1024.drv +shell=progman.exe +network.drv= +mouse.drv=msc3bc2.drv +language.dll=langger.dll +sound.drv=mmsound.drv +comm.drv=comm.drv +atm.system.drv=system.drv +keyboard.drv=keyboard.drv +system.drv=atmsys.drv +SCRNSAVE.EXE=C:\WINDOWS\SSSTARS.SCR +drivers=mmsystem.dll + +[keyboard] +keyboard.dll=kbdgr.dll +oemansi.bin=xlat850.bin +subtype= +type=4 + +[boot.description] +aspect=100,96,96 +displayinf=OEM0.INF +display.drv=TRIDENT 1024x768-256c +mouse.drv=Mouse Systems serielle Maus an COM2 +language.dll=Deutsch +system.drv=MS-DOS-System +codepage=850 +woafont.fon=Mehrsprachig (850) +keyboard.typ=Erweiterte 101-/102-Tasten-US oder andere +network.drv=Kein Netzwerk installiert +secondnet.drv=Kein zus„tzliches Netzwerk installiert + +[386Enh] +display=vddtvga.386 +EGA80WOA.FON=EGA80850.FON +EGA40WOA.FON=EGA40850.FON +CGA80WOA.FON=CGA80850.FON +CGA40WOA.FON=CGA40850.FON +device=*vpd +mouse=mscvmd.386 +woafont=app850.fon +device=vtdapi.386 +device=vshare.386 +SysVMIn2ndBank=FALSE +ebios=*ebios +device=dva.386 +32BitDiskAccess=on +device=*int13 +device=*wdctrl +keyboard=*vkd +network=*dosnet,*vnetbios +netheapsize=16 +device=*vcd +device=*vpicd +device=*vtd +device=*reboot +device=*vsd +device=*v86mmgr +device=*pageswap +device=*dosmgr +device=*vmpoll +device=*wshell +device=*PAGEFILE +device=*BLOCKDEV +device=*vfd +device=*parity +device=*biosxlat +device=*vmcpd +device=*combuff +device=*cdpscsi +device=vpmtd.386 +device=vcomm.386 +device=serial.386 +device=lpt.386 +device=ifsmgr.386 +device=vcache.386 +local=CON +FileSysChange=off +COM3Irq=4 +COM3Base=03E8 +COM4Irq=3 +COM4Base=02E8 +PermSwapDOSDrive=C +PermSwapSizeK=15708 +MinTimeslice=20 +WinTimeslice=100,50 +WinExclusive=0 +Com1AutoAssign=2 +Com2AutoAssign=2 +LPT1AutoAssign=60 +;device=vsbd.386 +;device=vadlibd.386 +CGA40850.FON=CGA40850.FON +CGA80850.FON=CGA80850.FON +EGA40850.FON=EGA40850.FON +EGA80850.FON=EGA80850.FON +Anzeige=VDDTVGA.386 +device=vsbpd.386 +device=vfat.386 +device=*vdmad +Maus=*VMD + +[NonWindowsApp] +localtsrs=dosedit,ced +DisablePositionSave=0 +MouseInDosBox=1 +FontChangeEnable=1 +CommandEnvSize=1024 + +[vcache] +minfilecache=2048 + +[mci] +CDAudio=mcicda.drv +Sequencer=mciseq.drv +WaveAudio=mciwave.drv +AVIVideo=mciavi.drv +Overlay=mcism.drv + +[drivers] +midimapper=midimap.drv +timer=timer.drv +VIDC.IV32=ir32.dll +VIDC.IV31=ir32.dll +VIDC.RT21=ir21.dll +VIDC.YVU9=iyvu9.dll +VIDC.CVID=iccvid.drv +VIDC.MSVC=msvidc.drv +VIDC.MRLE=MSRLE.drv +WaveMapper=msacm.drv +MSACM.msadpcm=msadpcm.acm +MSACM.imaadpcm=imaadpcm.acm +Aux=sbpaux.drv +Wave=sbpsnd.drv +MIDI=sbpsnd.drv +MIDI1=sbp2fm.drv + +[DDEShares] +CHAT$=winchat,chat,,31,,0,,0,0,0 +SCHAT$=winchat,chat,,31,,0,,0,0,0 +CLPBK$=clipsrv,system,,31,,0,,0,0,0 +HEARTS$=mshearts,hearts,,15,,0,,0,0,0 + +[Network] +winnet=nonet +multinet=nonet +FileSharing=No +PrintSharing=No + +[network drivers] +devdir=C:\WINDOWS +LoadRMDrivers=No + +[SNDBLST.DRV] +port=220 +int=7 +dmachannel=1 +Palette= +MasterVolume=14, 14 +FmVolume=14, 14 +CDVolume=14, 14 +LineVolume=14, 14 +VoiceVolume=14, 14 + +[MSACM.imaadpcm] +MaxRTEncodeSetting=4 +MaxRTDecodeSetting=5 + +[ClipShares] + +[svga256.drv] +resolution=1 +ChipSet=Trident +LatchCapable=No +svgamode=93 + +[msacm.drv] +Playback=SBPro Wave Out +Record=SBPro Wave In +PreferredOnly=0 + diff --git a/winlnchr/2/sysinis/640x480.256 b/winlnchr/2/sysinis/640x480.256 new file mode 100644 index 0000000..100cdfb --- /dev/null +++ b/winlnchr/2/sysinis/640x480.256 @@ -0,0 +1,186 @@ +[boot] +386grabber=v7vga.3gr +oemfonts.fon=vga850.fon +fixedfon.fon=vgafix.fon +fonts.fon=vgasys.fon +display.drv=t640.drv +shell=progman.exe +network.drv= +mouse.drv=msc3bc2.drv +language.dll=langger.dll +sound.drv=mmsound.drv +comm.drv=comm.drv +atm.system.drv=system.drv +keyboard.drv=keyboard.drv +system.drv=atmsys.drv +SCRNSAVE.EXE=C:\WINDOWS\SSSTARS.SCR +drivers=mmsystem.dll + +[keyboard] +keyboard.dll=kbdgr.dll +oemansi.bin=xlat850.bin +subtype= +type=4 + +[boot.description] +aspect=100,96,96 +displayinf=OEM0.INF +display.drv=TRIDENT 640x480-256c +mouse.drv=Mouse Systems serielle Maus an COM2 +language.dll=Deutsch +system.drv=MS-DOS-System +codepage=850 +woafont.fon=Mehrsprachig (850) +keyboard.typ=Erweiterte 101-/102-Tasten-US oder andere +network.drv=Kein Netzwerk installiert +secondnet.drv=Kein zus„tzliches Netzwerk installiert + +[386Enh] +display=vddtvga.386 +EGA80WOA.FON=EGA80850.FON +EGA40WOA.FON=EGA40850.FON +CGA80WOA.FON=CGA80850.FON +CGA40WOA.FON=CGA40850.FON +device=*vpd +mouse=mscvmd.386 +woafont=app850.fon +device=vtdapi.386 +device=vshare.386 +SysVMIn2ndBank=FALSE +ebios=*ebios +device=dva.386 +32BitDiskAccess=on +device=*int13 +device=*wdctrl +keyboard=*vkd +network=*dosnet,*vnetbios +netheapsize=16 +device=*vcd +device=*vpicd +device=*vtd +device=*reboot +device=*vsd +device=*v86mmgr +device=*pageswap +device=*dosmgr +device=*vmpoll +device=*wshell +device=*PAGEFILE +device=*BLOCKDEV +device=*vfd +device=*parity +device=*biosxlat +device=*vmcpd +device=*combuff +device=*cdpscsi +device=vpmtd.386 +device=vcomm.386 +device=serial.386 +device=lpt.386 +device=ifsmgr.386 +device=vcache.386 +local=CON +FileSysChange=off +COM3Irq=4 +COM3Base=03E8 +COM4Irq=3 +COM4Base=02E8 +PermSwapDOSDrive=C +PermSwapSizeK=15708 +MinTimeslice=20 +WinTimeslice=100,50 +WinExclusive=0 +Com1AutoAssign=2 +Com2AutoAssign=2 +LPT1AutoAssign=60 +;device=vsbd.386 +;device=vadlibd.386 +CGA40850.FON=CGA40850.FON +CGA80850.FON=CGA80850.FON +EGA40850.FON=EGA40850.FON +EGA80850.FON=EGA80850.FON +Anzeige=VDDTVGA.386 +device=vsbpd.386 +device=vfat.386 +device=*vdmad +Maus=*VMD + +[NonWindowsApp] +localtsrs=dosedit,ced +DisablePositionSave=0 +MouseInDosBox=1 +FontChangeEnable=1 +CommandEnvSize=1024 + +[vcache] +minfilecache=2048 + +[mci] +CDAudio=mcicda.drv +Sequencer=mciseq.drv +WaveAudio=mciwave.drv +AVIVideo=mciavi.drv +Overlay=mcism.drv + +[drivers] +midimapper=midimap.drv +timer=timer.drv +VIDC.IV32=ir32.dll +VIDC.IV31=ir32.dll +VIDC.RT21=ir21.dll +VIDC.YVU9=iyvu9.dll +VIDC.CVID=iccvid.drv +VIDC.MSVC=msvidc.drv +VIDC.MRLE=MSRLE.drv +WaveMapper=msacm.drv +MSACM.msadpcm=msadpcm.acm +MSACM.imaadpcm=imaadpcm.acm +Aux=sbpaux.drv +Wave=sbpsnd.drv +MIDI=sbpsnd.drv +MIDI1=sbp2fm.drv + +[DDEShares] +CHAT$=winchat,chat,,31,,0,,0,0,0 +SCHAT$=winchat,chat,,31,,0,,0,0,0 +CLPBK$=clipsrv,system,,31,,0,,0,0,0 +HEARTS$=mshearts,hearts,,15,,0,,0,0,0 + +[Network] +winnet=nonet +multinet=nonet +FileSharing=No +PrintSharing=No + +[network drivers] +devdir=C:\WINDOWS +LoadRMDrivers=No + +[SNDBLST.DRV] +port=220 +int=7 +dmachannel=1 +Palette= +MasterVolume=14, 14 +FmVolume=14, 14 +CDVolume=14, 14 +LineVolume=14, 14 +VoiceVolume=14, 14 + +[MSACM.imaadpcm] +MaxRTEncodeSetting=4 +MaxRTDecodeSetting=5 + +[ClipShares] + +[svga256.drv] +resolution=1 +ChipSet=Trident +LatchCapable=No +svgamode=93 + +[msacm.drv] +Playback=SBPro Wave Out +Record=SBPro Wave In +PreferredOnly=0 + diff --git a/winlnchr/2/sysinis/800x600.16c b/winlnchr/2/sysinis/800x600.16c new file mode 100644 index 0000000..4e69e5d --- /dev/null +++ b/winlnchr/2/sysinis/800x600.16c @@ -0,0 +1,185 @@ +[boot] +shell=progman.exe +network.drv= +mouse.drv=msc3bc2.drv +language.dll=langger.dll +sound.drv=mmsound.drv +comm.drv=comm.drv +atm.system.drv=system.drv +386grabber=V7VGA.3GR +oemfonts.fon=vga850.fon +fixedfon.fon=vgafix.fon +fonts.fon=vgasys.fon +display.drv=W800.DRV +keyboard.drv=keyboard.drv +system.drv=atmsys.drv +SCRNSAVE.EXE=C:\WINDOWS\SSSTARS.SCR +drivers=mmsystem.dll + +[keyboard] +keyboard.dll=kbdgr.dll +oemansi.bin=xlat850.bin +subtype= +type=4 + +[boot.description] +mouse.drv=Mouse Systems serielle Maus an COM2 +language.dll=Deutsch +system.drv=MS-DOS-System +codepage=850 +woafont.fon=Mehrsprachig (850) +aspect=100,96,96 +display.drv=TRIDENT 800x600-16c +keyboard.typ=Erweiterte 101-/102-Tasten-US oder andere +network.drv=Kein Netzwerk installiert +secondnet.drv=Kein zus„tzliches Netzwerk installiert + +[386Enh] +device=*vpd +mouse=mscvmd.386 +EGA80WOA.FON=EGA80850.FON +EGA40WOA.FON=EGA40850.FON +CGA80WOA.FON=CGA80850.FON +CGA40WOA.FON=CGA40850.FON +woafont=app850.fon +device=vtdapi.386 +device=vshare.386 +display=vddtvga.386 +SysVMIn2ndBank=FALSE +ebios=*ebios +device=dva.386 +32BitDiskAccess=on +device=*int13 +device=*wdctrl +keyboard=*vkd +network=*dosnet,*vnetbios +netheapsize=16 +device=*vcd +device=*vpicd +device=*vtd +device=*reboot +device=*vsd +device=*v86mmgr +device=*pageswap +device=*dosmgr +device=*vmpoll +device=*wshell +device=*PAGEFILE +device=*BLOCKDEV +device=*vfd +device=*parity +device=*biosxlat +device=*vmcpd +device=*combuff +device=*cdpscsi +device=vpmtd.386 +device=vcomm.386 +device=serial.386 +device=lpt.386 +device=ifsmgr.386 +device=vcache.386 +local=CON +FileSysChange=off +COM3Irq=4 +COM3Base=03E8 +COM4Irq=3 +COM4Base=02E8 +PermSwapDOSDrive=C +PermSwapSizeK=15708 +MinTimeslice=20 +WinTimeslice=100,50 +WinExclusive=0 +Com1AutoAssign=2 +Com2AutoAssign=2 +LPT1AutoAssign=60 +;device=vsbd.386 +;device=vadlibd.386 +CGA40850.FON=CGA40850.FON +CGA80850.FON=CGA80850.FON +EGA40850.FON=EGA40850.FON +EGA80850.FON=EGA80850.FON +Anzeige=VDDTVGA.386 +device=vsbpd.386 +device=vfat.386 +device=*vdmad +Maus=*VMD + +[NonWindowsApp] +localtsrs=dosedit,ced +DisablePositionSave=0 +MouseInDosBox=1 +FontChangeEnable=1 +CommandEnvSize=1024 + +[vcache] +minfilecache=2048 + +[mci] +CDAudio=mcicda.drv +Sequencer=mciseq.drv +WaveAudio=mciwave.drv +AVIVideo=mciavi.drv +Overlay=mcism.drv + +[drivers] +midimapper=midimap.drv +timer=timer.drv +VIDC.IV32=ir32.dll +VIDC.IV31=ir32.dll +VIDC.RT21=ir21.dll +VIDC.YVU9=iyvu9.dll +VIDC.CVID=iccvid.drv +VIDC.MSVC=msvidc.drv +VIDC.MRLE=MSRLE.drv +WaveMapper=msacm.drv +MSACM.msadpcm=msadpcm.acm +MSACM.imaadpcm=imaadpcm.acm +Aux=sbpaux.drv +Wave=sbpsnd.drv +MIDI=sbpsnd.drv +MIDI1=sbp2fm.drv + +[DDEShares] +CHAT$=winchat,chat,,31,,0,,0,0,0 +SCHAT$=winchat,chat,,31,,0,,0,0,0 +CLPBK$=clipsrv,system,,31,,0,,0,0,0 +HEARTS$=mshearts,hearts,,15,,0,,0,0,0 + +[Network] +winnet=nonet +multinet=nonet +FileSharing=No +PrintSharing=No + +[network drivers] +devdir=C:\WINDOWS +LoadRMDrivers=No + +[SNDBLST.DRV] +port=220 +int=7 +dmachannel=1 +Palette= +MasterVolume=14, 14 +FmVolume=14, 14 +CDVolume=14, 14 +LineVolume=14, 14 +VoiceVolume=14, 14 + +[MSACM.imaadpcm] +MaxRTEncodeSetting=4 +MaxRTDecodeSetting=5 + +[ClipShares] + +[svga256.drv] +resolution=1 +ChipSet=Trident +LatchCapable=No +svgamode=93 + +[msacm.drv] +Playback=SBPro Wave Out +Record=SBPro Wave In +PreferredOnly=0 + diff --git a/winlnchr/2/sysinis/800x600.256 b/winlnchr/2/sysinis/800x600.256 new file mode 100644 index 0000000..7a1465f --- /dev/null +++ b/winlnchr/2/sysinis/800x600.256 @@ -0,0 +1,185 @@ +[boot] +shell=progman.exe +network.drv= +mouse.drv=msc3bc2.drv +language.dll=langger.dll +sound.drv=mmsound.drv +comm.drv=comm.drv +atm.system.drv=system.drv +386grabber=V7VGA.3GR +oemfonts.fon=vga850.fon +fixedfon.fon=vgafix.fon +fonts.fon=vgasys.fon +display.drv=T800.DRV +keyboard.drv=keyboard.drv +system.drv=atmsys.drv +SCRNSAVE.EXE=C:\WINDOWS\SSSTARS.SCR +drivers=mmsystem.dll + +[keyboard] +keyboard.dll=kbdgr.dll +oemansi.bin=xlat850.bin +subtype= +type=4 + +[boot.description] +mouse.drv=Mouse Systems serielle Maus an COM2 +language.dll=Deutsch +system.drv=MS-DOS-System +codepage=850 +woafont.fon=Mehrsprachig (850) +aspect=100,96,96 +display.drv=TRIDENT 800x600-256c for 1M Board (Faster) +keyboard.typ=Erweiterte 101-/102-Tasten-US oder andere +network.drv=Kein Netzwerk installiert +secondnet.drv=Kein zus„tzliches Netzwerk installiert + +[386Enh] +device=*vpd +mouse=mscvmd.386 +EGA80WOA.FON=EGA80850.FON +EGA40WOA.FON=EGA40850.FON +CGA80WOA.FON=CGA80850.FON +CGA40WOA.FON=CGA40850.FON +woafont=app850.fon +device=vtdapi.386 +device=vshare.386 +display=vddtvga.386 +SysVMIn2ndBank=FALSE +ebios=*ebios +device=dva.386 +32BitDiskAccess=on +device=*int13 +device=*wdctrl +keyboard=*vkd +network=*dosnet,*vnetbios +netheapsize=16 +device=*vcd +device=*vpicd +device=*vtd +device=*reboot +device=*vsd +device=*v86mmgr +device=*pageswap +device=*dosmgr +device=*vmpoll +device=*wshell +device=*PAGEFILE +device=*BLOCKDEV +device=*vfd +device=*parity +device=*biosxlat +device=*vmcpd +device=*combuff +device=*cdpscsi +device=vpmtd.386 +device=vcomm.386 +device=serial.386 +device=lpt.386 +device=ifsmgr.386 +device=vcache.386 +local=CON +FileSysChange=off +COM3Irq=4 +COM3Base=03E8 +COM4Irq=3 +COM4Base=02E8 +PermSwapDOSDrive=C +PermSwapSizeK=15708 +MinTimeslice=20 +WinTimeslice=100,50 +WinExclusive=0 +Com1AutoAssign=2 +Com2AutoAssign=2 +LPT1AutoAssign=60 +;device=vsbd.386 +;device=vadlibd.386 +CGA40850.FON=CGA40850.FON +CGA80850.FON=CGA80850.FON +EGA40850.FON=EGA40850.FON +EGA80850.FON=EGA80850.FON +Anzeige=VDDTVGA.386 +device=vsbpd.386 +device=vfat.386 +device=*vdmad +Maus=*VMD + +[NonWindowsApp] +localtsrs=dosedit,ced +DisablePositionSave=0 +MouseInDosBox=1 +FontChangeEnable=1 +CommandEnvSize=1024 + +[vcache] +minfilecache=2048 + +[mci] +CDAudio=mcicda.drv +Sequencer=mciseq.drv +WaveAudio=mciwave.drv +AVIVideo=mciavi.drv +Overlay=mcism.drv + +[drivers] +midimapper=midimap.drv +timer=timer.drv +VIDC.IV32=ir32.dll +VIDC.IV31=ir32.dll +VIDC.RT21=ir21.dll +VIDC.YVU9=iyvu9.dll +VIDC.CVID=iccvid.drv +VIDC.MSVC=msvidc.drv +VIDC.MRLE=MSRLE.drv +WaveMapper=msacm.drv +MSACM.msadpcm=msadpcm.acm +MSACM.imaadpcm=imaadpcm.acm +Aux=sbpaux.drv +Wave=sbpsnd.drv +MIDI=sbpsnd.drv +MIDI1=sbp2fm.drv + +[DDEShares] +CHAT$=winchat,chat,,31,,0,,0,0,0 +SCHAT$=winchat,chat,,31,,0,,0,0,0 +CLPBK$=clipsrv,system,,31,,0,,0,0,0 +HEARTS$=mshearts,hearts,,15,,0,,0,0,0 + +[Network] +winnet=nonet +multinet=nonet +FileSharing=No +PrintSharing=No + +[network drivers] +devdir=C:\WINDOWS +LoadRMDrivers=No + +[SNDBLST.DRV] +port=220 +int=7 +dmachannel=1 +Palette= +MasterVolume=14, 14 +FmVolume=14, 14 +CDVolume=14, 14 +LineVolume=14, 14 +VoiceVolume=14, 14 + +[MSACM.imaadpcm] +MaxRTEncodeSetting=4 +MaxRTDecodeSetting=5 + +[ClipShares] + +[svga256.drv] +resolution=1 +ChipSet=Trident +LatchCapable=No +svgamode=93 + +[msacm.drv] +Playback=SBPro Wave Out +Record=SBPro Wave In +PreferredOnly=0 + diff --git a/winlnchr/2/wl.bas b/winlnchr/2/wl.bas new file mode 100644 index 0000000..7c41ced --- /dev/null +++ b/winlnchr/2/wl.bas @@ -0,0 +1,196 @@ +$INCLUDE "LOGO.INC" +$INCLUDE "PBWINDOW.INC" + if command$="SKIP" or command$="skip" then goto SkipIt + color 15 + Lin=csrlin-1 + txt$="proudly presents" + txt$(1)=txt$ + gosub WriteText + txt$="The WINDOWS FOR WORKGROUPS 3.11 - Multiple Configuration Launcher" + txt$(2)=txt$ + print + Lin=csrlin-1 + delay 1 + gosub WriteText + delay 1 + color 9 + Anf1=40-int(len(txt$(1))/2)+1 + Anf2=40-int(len(txt$(2))/2)+1 + locate Lin-1,Anf1:print txt$(1) + locate Lin,Anf2:print txt$(2) + delay .15 + color 3 + locate Lin-1,Anf1:print txt$(1) + locate Lin,Anf2:print txt$(2) + delay .15 + color 11 + locate Lin-1,Anf1:print Txt$(1) + locate Lin,Anf2:print txt$(2) + delay .15 + color 15 + locate Lin-1,Anf1:print txt$(1) + locate Lin,Anf2:print txt$(2) + goto Program + +WriteText: + AnfLocX=40-int(len(txt$)/2) + x=1 +1 if x>0 then LetA$=mid$(txt$,x,1) + if x>1 then LetB$=mid$(txt$,x-1,1) + if x>2 then LetC$=mid$(txt$,x-2,1) + if x>3 then LetD$=mid$(txt$,x-3,1) + if x>4 then LetE$=mid$(txt$,x-4,1) + if x>0 then color 15:locate Lin,AnfLocX+x:print LetA$ + if x>1 then color 11:locate Lin,AnfLocX+x-1:print LetB$ + if x>2 then color 3:locate Lin,AnfLocX+x-2:print LetC$ + if x>3 then color 9:locate Lin,AnfLocX+x-3:print LetD$ + if x>4 then color 1:locate Lin,AnfLocX+x-4:print LetE$ + x=x+1:if x>len(txt$)+4 then 2 else delay .05:goto 1 +2 delay 1 + color 15:locate Lin,AnfLocX+1:print txt$ + delay .1:color 11:locate Lin,AnfLocX+1:print txt$ + delay .1:color 3:locate Lin,AnfLocX+1:print txt$ + delay .1:color 9:locate Lin,AnfLocX+1:print txt$ + delay .1:color 1:locate Lin,AnfLocX+1:print txt$ + return + +SkipIt: + color 15 + txt$="proudly presents" + locate csrlin-1,40-int(len(txt$)/2):print txt$ + txt$="The WINDOWS FOR WORKGROUPS 3.11 - Multiple Configuration Launcher" + locate csrlin,40-int(len(txt$)/2):print txt$ + goto Program + +Program: + Item$(0)="[Konfiguration w„hlen]" + Item$(1)="Photo Finish v2.0" + Item$(2)="Photo Finish v3.0" + Item$(3)="PC Paintbrush" + Lin=17 + call MakeWindow (15,9,5,63,ColAttr%(11,0),2,4,2) + call TitleWindow (1,"[Information]") + txt$="Zum Abbrechen [ESC] drcken, ansonsten eine Auswahl treffen" + if command$="skip" or command$="SKIP" then + locate Lin,40-int(len(txt$)/2) + color 15,0 + print txt$ + goto 7 + end if + gosub WriteText:delay 1 + color 9:locate 17,AnfLocX+1:print txt$:delay .15 + color 3:locate 17,AnfLocX+1:print txt$:delay .15 + color 11:locate 17,AnfLocX+1:print txt$:delay .15 + color 15:locate 17,AnfLocX+1:print txt$ +7 Call MakeMenu (3,3,ColAttr%(11,1),ColAttr%(0,4),4,4,2,1,5,Item$()) + Call RemoveWindow + if CurntPos%=0 then goto BreakItUp + if CurntPos%=1 then goto PF2 + if CurntPos%=2 then goto PF3 + if CurntPos%=3 then goto PCP + if CurntPos%=4 then goto + if CurntPos%=5 then goto + +PF2: + Title$="Photo Finish 2.0" + PickInfo$="Pick" + goto ChangeWININI + +PF3: + Title$="Photo Finish 3.0" + PickInfo$="Pick" + goto ChangeWININI + +PCP: + Title$="PC Paintbrush" + PickInfo$="Pick" + goto ChangeWININI + +ChangeWININI: + call MakeWindow(5,5,15,70,ColAttr%(14,1),1,4,1) + WinTit$="[Editing C:\WINDOWS\SYSTEM.INI]ÄÄÄ[Mode: "+ShortInfo$+"]" + call TitleWindow(1,WinTit$) + per%=0 + color 14,1 + locate 7,8:print"Erstelle Sicherheitskopie von Ausgangs-Datei ... "; + CopyOrd$="COPY C:\WINDOWS\SYSTEM.INI C:\WINDOWS\SYSTEM.WL_ /V /Y >NUL" + shell CopyOrd$ + print "OK" + locate 8,8:print"™ffne Eingabe-Datei ... "; + open "I",#1,"C:\WINDOWS\SYSTEM.INI" + print "OK" + locate 9,8:print"™ffne Temp-Datei ... "; + open "O",#2,"C:\WINDOWS\WL.$$$" + print "OK" + zeil=1 +6 line input#1,dummy$ + if eof(1) then 5 else zeil=zeil+1:goto 6 +5 close #1:open "I",#1,"C:\WINDOWS\SYSTEM.INI" + locate 10,8:print "Bearbeite Temp-Datei ... "; '10,33 ist HIER + gosub ShowGraph + aktz=1 +3 line input#1,zei$ + if left$(zei$,1)="[" then + tit$="" + for g=2 to 80 + if mid$(zei$,g,1)="]" then exit for else tit$=tit$+mid$(zei$,g,1) + next g + per%=(aktz/zeil)*100 + gosub ShowGraph + print#2,zei$ + locate 11,8:print"Momentane Gruppe: ";tit$ + else + raus$=zei$ + gosub CheckForParam + print#2,raus$ + end if + if eof(1) then goto 4 + aktz=aktz+1 + goto 3 +4 locate 11,8:print space$(64) + locate 11,8:print"Schlieáe Eingabe-Datei ... "; + close #1 + print"OK" + locate 12,8:print"Schlieáe Temp-Datei ... "; + close #2 + print "OK" + locate 13,8:print"L”sche alte SYSTEM.INI ... "; + kill "C:\WINDOWS\SYSTEM.INI" + print "OK" + locate 14,8:print"Benenne Temp-Datei in SYSTEM.INI um ... "; + name "C:\WINDOWS\WL.$$$" as "C:\WINDOWS\SYSTEM.INI" + print "OK" + locate 16,8:print"Operation abgeschlossen!" + delay 1 + call RemoveWindow + color 15,0 + locate 24,1:print:print + locate 24,1 + execute "WIN.COM :" + end + +CheckForParam: + if left$(zei$,len(PickInfo$)+2)=PickInfo$+"1=" and tit$=Title$ then raus$=PickInfo$+"1=" + if left$(zei$,len(PickInfo$)+2)=PickInfo$+"2=" and tit$=Title$ then raus$=PickInfo$+"2=" + if left$(zei$,len(PickInfo$)+2)=PickInfo$+"3=" and tit$=Title$ then raus$=PickInfo$+"3=" + if left$(zei$,len(PickInfo$)+2)=PickInfo$+"4=" and tit$=Title$ then raus$=PickInfo$+"4=" + return + +ShowGraph: + locate 10,57:print using"### %";per% + locate 10,35:print"°°°°°°°°°°°°°°°°°°°°" + locate 10,35 + for z=0 to per%/5 + if tst=1 then print "²"; else tst=1 + next z + return + +BreakItUp: + locate 24,1:print:print + call MakeWindow(10,27,5,26,ColAttr%(14,1),5,4,2) + call TitleWindow(1,"[Information]") + color 12,1:locate 12,29:print"Programm abgebrochen !" + if command$="skip" or command$="SKIP" then locate 24,1:end + delay 1.75 + call RemoveWindow + locate 24,1:end \ No newline at end of file diff --git a/write.bas b/write.bas new file mode 100644 index 0000000..1986352 --- /dev/null +++ b/write.bas @@ -0,0 +1,39 @@ + dim p$(20) + para$=command$ + a=1:x=1 +1 x$=mid$(para$,x,1) + if x$=" " then a=a+1:x=x+1:goto 1 + p$(a)=p$(a)+x$ + if x$="" then 2 + x=x+1 + goto 1 +2 if p$(1)="/?" or p$(1)="" then goto Hilfe + x=val(p$(1)) + y=val(p$(2)) + zei=val(p$(3)) + v=val(p$(4)) + h=val(p$(5)) +3 for z=6 to 20 + if p$(z)="" then text$=left$(text$,len(text$)-1):goto 4 + text$=text$+p$(z)+" " + next z +4 color v,h,0 + versch=round(zei/2-len(text$)/2,0) + y=y+versch + locate x,y:print text$ + end + +Hilfe: + print"WRITE was written by RoboCop INDUSTRIES" + print + print"Syntax: WRITE x y length fc bc TEXT" + print + print"x - x-coordinates of the begin of the field" + print"y - y-coordinates -------- '' -------------" + print"lengt - length of the field (the TEXT will be centered)" + print"fc - foreground color" + print"bc - background color" + print"TEXT - the text to print out" + print + print"(C)1995 by RoboCop INDUSTRIES" + end \ No newline at end of file diff --git a/wsprot.bas b/wsprot.bas new file mode 100644 index 0000000..086efbc --- /dev/null +++ b/wsprot.bas @@ -0,0 +1,469 @@ + TempDir$=environ$("TEMP") + if Command$="" then + goto Syntax + else + WinDir$=Command$ + WinIniTest$=WinDir$+"\WIN.INI" + on error goto NotAValidPath + FileEx$=Dir$(WinIniTest$) + if FileEx$<>"" then WinDir$=Command$ else goto NotAValidPath + on error goto + end if + OpenString$=WinDir$+"\WINSTART.BAT" + ConfigString$=WinDir$+"\WSPROT.INI" + +' Um die Ausgaben auch in der Datei %TEMP%\WSPROT.MSG zu haben, einfach +' alle REMs in den folgenden Zeilen entfernen + +' MsgFile$=TempDir$+"\WSPROT.MSG" + Ready$="û" + Warning$="!" + DontKnow$="?" + OnlyRead$="ö" + Working$="ð" +' open "A",#5,MsgFile$ +' print#5,"" +' print#5,"=============================================" +' print#5,"New Test [";date$;" / ";time$;"]:" +' close #5 + cls + shell "mode co80" + SUB PrintCentered (OutLine%,Text$) STATIC +' MsgFile$=environ$("TEMP")+"\WSPROT.MSG" +' open "a",#5,MsgFile$ +' print#5,Text$ +' close #5 + AddOn=(58-len(Text$))/2 + if AddOn<0 then AddOn=0 + Text$=Space$(AddOn)+Text$+Space$(AddOn) + if OutLine%=0 then + OL1$=OL2$ + OL2$=OL3$ + OL3$=OL4$ + OL4$=OL5$ + OL5$=OL6$ + OL6$=Text$ + locate 17,11:print OL1$ + locate 18,11:print OL2$ + locate 19,11:print OL3$ + locate 20,11:print OL4$ + locate 21,11:print OL5$ + locate 22,11:print OL6$ + else + locate OutLine%,11:print Text$; + end if + END SUB + goto StartHere + +NoWINSTART: + beep + close #1 + call PrintCentered(0,"No WINSTART.BAT found, creating new one...") + call PrintCentered(9,"Creating new WINSTART.BAT...") + open "o",#1,OpenString$ + print#1,"@ECHO OFF" + print#1,WinDir$;"\WSPROT.EXE ";WinDir$ + close #1 + resume Ende + +NoCONFIG: + beep + call PrintCentered(0,"No Initialisation-File found,") + call PrintCentered(0,"a new one will be created.") + call PrintCentered(0,"") + NewCONFIG=1 + resume AfterConfigTest + +StartHere: + color 9,1 + for x=1 to 25 + for y=1 to 80 + locate x,y:print"±"; + next y + next x + color 8,0 + for x=4 to 24 + locate x,71:print"±±"; + next x + for y=13 to 72 + locate 25,y:print"±"; + next y + color 14,1 + locate 2,10:print"É"; + locate 2,70:print"»"; + locate 24,10:print"È"; + locate 24,70:print"¼"; + for x=11 to 69 + locate 2,x:print"Í"; + locate 24,x:print"Í"; + next x + for y=3 to 23 + locate y,10:print"º"; + locate y,70:print"º"; + next y + for x=3 to 23 + for y=11 to 69 + locate x,y:print" "; + next y + next x + color 15,1 + call PrintCentered(4,"Windows") + call PrintCentered(5,"WinStart-Protector") + color 12,1 + call PrintCentered(6,"written by RoboCop INDUSTRIES") + color 11,1 + locate 11,15:print"- WINSTART.BAT: Size/Date" + locate 13,15:print"- WINSTART.BAT: CheckSum" + locate 15,15:print"- WINSTART.BAT: Attribs" + locate 11,41:print"- WIN.INI: 'load='-Entries" + locate 13,41:print"- WIN.INI: 'run=' -Entries" + color 15,1 + call PrintCentered(9,"Looking for Configuration-File...") + on error goto NoCONFIG + open "I",#1,ConfigString$ + call PrintCentered(0,"Config-File found.") + on error goto + call PrintCentered(9,"Reading Configuration...") + input#1,WSSize,WSDate1,WSDate2,WSDate3,WSHours,WSMins,WSAttribs,WSCheck + input#1,LoadString$,RunString$ + close #1 + call PrintCentered(0,"Configuration read.") +AfterConfigTest: + call PrintCentered(9,"Looking for WINSTART.BAT ...") + on error goto NoWINSTART + open "I",#1,OpenString$ + close #1 + call PrintCentered(0,"WINSTART.BAT found.") + call PrintCentered(0,"") + on error goto + if NewCONFIG<>1 then call PrintCentered(9,"Comparing WINSTART.BAT's Size ...") else call PrintCentered(9,"Creating WINSTART.BAT's Size ...") + call PrintCentered(0,"Size/Date-Check initiated.") + color 31,1 + locate 11,15:print Working$; + color 15,1 + CmdLine$="DIR "+WinDir$+"\WINSTART.BAT >"+TempDir$+"\WINLNCH.TMP" + shell CmdLine$ + call PrintCentered(0,"InfoTempFile created.") + TempFile$=TempDir$+"\WINLNCH.TMP" + open "I",#1,TempFile$ + for Dummy=1 to 4 + line input#1,dummy$ + next Dummy + line input#1,FileData$ + if left$(FileData$,12)<>"WINSTART BAT" then line input#1,FileData$ + FileSize=val(mid$(FileData$,14,5)+mid$(FileData$,20,3)+mid$(FileData$,24,3)) + FileDate1=val(mid$(FileData$,28,2)) + FileDate2=val(mid$(FileData$,31,2)) + FileDate3=val(mid$(FileData$,34,2)) + FileHours=val(mid$(FileData$,39,2)) + FileMins=val(mid$(FileData$,42,2)) + close #1 + call PrintCentered(0,"InfoTempFile read.") + kill TempFile$ + call PrintCentered(0,"InfoTempFile deleted.") + if NewCONFIG=1 then + call PrintCentered(0,"Size/Date-Datas read, jumping to CheckSum") + call PrintCentered(0,"") + locate 11,15 + print OnlyRead$; + goto 3 + end if + if FileSize=WSSize then SizeCheck=1 else SizeCheck=2 + if FileDate1=WSDate1 and FileDate2=WSDate2 and FileDate3=WSDate3 then DateCheck=1 else DateCheck=2 + if FileHours=WSHours and FileMins=WSMins then TimeCheck=1 else TimeCheck=2 + if SizeCheck=2 or DateCheck=2 or TimeCheck=2 then fin$=Warning$:fincol=12 + if SizeCheck=1 and DateCheck=1 and TimeCheck=1 then fin$=Ready$:fincol=10 + if SizeCheck=0 or DateCheck=0 or TimeCheck=0 then fin$=DontKnow$:fincol=11 + color fincol,1 + locate 11,15:print fin$; + color 15,1 + call PrintCentered(0,"Size/Date-Check completed.") + call PrintCentered(0,"") +3 call PrintCentered(9,"Comparing WINSTART.BAT's Checksum ...") + call PrintCentered(0,"CheckSum-Test initiated.") + color 31,1 + locate 13,15:print Working$; + color 15,1 + call PrintCentered(0,"Opening WINSTART.BAT as BINARY") + open "B",#1,OpenString$ + x=1 +4 get$ #1,1,CheckChar$ + CheckChar=ascii(CheckChar$) + if CheckChar=-1 then CheckChar=0 + CheckSum=Checksum+(CheckChar*x) + if CheckSum>65535 then CheckSum=CheckSum-65535 + x=x+1 + if eof(1)=0 then goto 4 + Caller$=str$(x-1)+"Bytes checked and added." + call PrintCentered(0,Caller$) + close #1 + call PrintCentered(0,"WINSTART.BAT closed") + Caller$="Actually CheckSum is "+hex$(CheckSum)+"." + call PrintCentered(0,Caller$) + if NewCONFIG=1 then + call PrintCentered(0,"CheckSum read, jumping to Attribs") + call PrintCentered(0,"") + locate 13,15 + print OnlyRead$; + goto 5 + end if + if CheckSum=WSCheck then CSTest=1 else CSTest=2 + if CSTest=0 then fincol=11:fin$=DontKnow$ + if CSTest=2 then fincol=12:fin$=Warning$ + if CSTest=1 then fincol=10:fin$=Ready$ + color fincol,1 + locate 13,15 + print fin$; + color 15,1 + call PrintCentered(0,"CheckSum test completed.") + call PrintCentered(0,"") +5 call PrintCentered(0,"Attrib-Check initiated.") + call PrintCentered(9,"Comparing WINSTART.BAT's Attributes ...") + color 31,1:locate 15,15:print Working$;:color 15,1 + call PrintCentered(0,"Comparing Attributes...") + FileAttrib=attrib(OpenString$) + if NewCONFIG=1 then + call PrintCentered(0,"Attributes read, jumping to WIN.INI-Part") + call PrintCentered(0,"") + locate 15,15 + print OnlyRead$; + goto 6 + end if + call PrintCentered(0,"Attribs read, comparing...") + if FileAttrib=WSAttribs then AtTest=1 else AtTest=2 + if AtTest=0 then fincol=11:fin$=DontKnow$ + if AtTest=2 then fincol=12:fin$=Warning$ + if AtTest=1 then fincol=10:fin$=Ready$ + locate 15,15 + color fincol,1:print fin$; + color 15,1 + call PrintCentered(0,"Attribute-Check completed.") + call PrintCentered(0,"") + goto 6 + +NoWinIni: + locate 11,41:color 12:print Warning$ + locate 13,41:color 12:print Warning$ + call PrintCentered(0,"WIN.INI does not exist or FileOpen error!") + color 15 + call PrintCentered(0,"jumping to end") + call PrintCentered(9,"WARNING: WIN.INI is corrupt") + resume VorEnde + +6 call PrintCentered(0,"WIN.INI-Check initiated.") + call PrintCentered(9,"Checking WIN.INI-Entries...") + color 31,1:locate 11,41:print Working$;:locate 13,41:print Working$;:color 15,1 + + call PrintCentered(0,"Opening WIN.INI ...") + IniOpen$=WinDir$+"\WIN.INI" + on error goto NoWinIni + open "I",#1,IniOpen$ + on error goto + call PrintCentered(0,"Reading WIN.INI-Entries ...") +7 line input #1,InLine$ + if left$(lcase$(InLine$),9)="[windows]" then WinSect=1 else goto 7 +8 line input #1,InLine$ + if left$(lcase$(InLine$),5)="load=" then LString$=InLine$ + if left$(lcase$(InLine$),4)="run=" then RString$=InLine$ + if (RString$="" or LString$="") and left$(Inline$,1)<>"[" and eof(1)=0 then goto 8 + close #1 + call PrintCentered(0,"WIN.INI closed") + if NewCONFIG=1 then + call PrintCentered(0,"WIN.INI-Entries read, jumping to SAVE") + call PrintCentered(0,"") + locate 11,41:print OnlyRead$ + locate 13,41:print OnlyRead$ + goto WriteThemDown + end if + call PrintCentered(0,"Entries successfully read, comparing them...") + if RString$=RunString$ then RCheck=1 else RCheck=2 + if RCheck=0 then fincol=11:fin$=DontKnow$ + if RCheck=2 then fincol=12:fin$=Warning$ + if RCheck=1 then fincol=10:fin$=Ready$ + locate 11,41:color fincol:print fin$;:color 15,1 + call PrintCentered(0,"Run-Entry checked") + if LString$=LoadString$ then LCheck=1 else LCheck=2 + if LCheck=0 then fincol=11:fin$=DontKnow$ + if LCheck=2 then fincol=12:fin$=Warning$ + if LCheck=1 then fincol=10:fin$=Ready$ + locate 13,41:color fincol:print fin$;:color 15,1 + call PrintCentered(0,"Load-Entry checked") + call PrintCentered(0,"WIN.INI-Check completed.") + goto VorEnde + +WriteThemDown: + call PrintCentered(9,"Writing Datas to IniFile ...") + call PrintCentered(0,"Writing File-Datas to WSPROT.INI") + gosub WriteConfig + call PrintCentered(0,"written!") + goto Ende + +WriteConfig: + open "O",#1,ConfigString$ + write#1,FileSize,FileDate1,FileDate2,FileDate3,FileHours,FileMins,FileAttrib,CheckSum + write#1,LString$,RString$ + close #1 + return + +VorEnde: + Warnings=0 + Errors=0 + Warn$="" + Erro$="" + if SizeCheck=2 then Warnings=Warnings+1:Warn$=Warn$+"size, " + if DateCheck=2 then Warnings=Warnings+1:Warn$=Warn$+"date, " + if TimeCheck=2 then Warnings=Warnings+1:Warn$=Warn$+"time, " + if CSTest=2 then Warnings=Warnings+1:Warn$=Warn$+"checksum, " + if AtTest=2 then Warnings=Warnings+1:Warn$=Warn$+"attribs, " + if RCheck=2 then Warnings=Warnings+1:Warn$=Warn$+"run-entry, " + if LCheck=2 then Warnings=Warnings+1:Warn$=Warn$+"load-entry, " + if SizeCheck=0 then Errors=Errors+1:Erro$=Erro$+"size, " + if DateCheck=0 then Errors=Errors+1:Erro$=Erro$+"date, " + if TimeCheck=0 then Errors=Errors+1:Erro$=Erro$+"time, " + if CSTest=0 then Errors=Errors+1:Erro$=Erro$+"checksum, " + if AtTest=0 then Errors=Errors+1:Erro$=Erro$+"attribs, " + if RCheck=0 then Errors=Errors+1:Erro$=Erro$+"run-entry, " + if LCheck=0 then Errors=Errors+1:Erro$=Erro$+"load-entry, " + if len(Warn$)>0 then Warn$=left$(Warn$,len(Warn$)-2) + if len(Erro$)>0 then Erro$=left$(Erro$,len(Erro$)-2) + call PrintCentered(0,"") + Caller$=str$(Warnings)+" Warnings,"+str$(Errors)+" Errors" + call PrintCentered(0,Caller$) + if Warnings>0 then + call PrintCentered(0,"Warnings occured at:") + Caller$=Warn$+"-check(s)" + call PrintCentered(0,Caller$) + end if + if Errors>0 then + call PrintCentered(0,"Errors occured at:") + Caller$=Erro$+"-check(s)" + call PrintCentered(0,Caller$) + end if + AllInOne=Warnings+Errors + if AllInOne=0 then goto Ende + if RCheck=2 then + Caller$="Run-Entry changed from" + call PrintCentered(0,Caller$) + Caller$=RunString$+" to "+RString$ + call PrintCentered(0,Caller$) + end if + if LCheck=2 then + Caller$="" + if RCheck=2 then Caller$="and " + Caller$=Caller$+"Load-Entry changed from" + call PrintCentered(0,Caller$) + Caller$=LoadString$+" to "+LString$ + call PrintCentered(0,Caller$) + end if + color 14,1 + Caller$="Press [C]ontinue, [R]evert, [U]pdate or re[B]oot" +10 a$=inkey$ + Cnt=Cnt+1 + if Cnt=2000 then call PrintCentered(9,Caller$):sound 1000,2:Cnt=0 + if Cnt=1000 then call PrintCentered(9,Space$(len(Caller$))) + if a$="c" or a$="C" then color 15:goto Ende + if a$="r" or a$="R" then color 15:goto RemoveChanges + if a$="u" or a$="U" then color 15:goto WriteThemDown + if a$="b" or a$="B" then color 15:goto Reboot + goto 10 + +RemoveChanges: + call PrintCentered(9,"Reverting old WIN.INI ...") + call PrintCentered(0,"") + call PrintCentered(0,"Closing all open channels") + CLOSE #1 + CLOSE #2 + call PrintCentered(0,"Opening WIN.INI & Temp-File") + OPEN "I",#1,IniOpen$ + OutFile$=TempDir$+"\WININI.$$$" + OPEN "O",#2,OutFile$ + call PrintCentered(0,"Searching & Replacing suspicious entry") + LineNum=0:CharNum=0 +11 LINE INPUT#1,TestIt$ + LineNum=LineNum+1 + if TestIt$=RString$ then + TestIt$=RunString$ + call PrintCentered(0,"Suspicious Run=-entry found and replaced") + end if + if TestIt$=LString$ then + TestIt$=LoadString$ + call PrintCentered(0,"Suspicious Load=-entry found and replaced") + end if + CharNum=CharNum+len(TestIt$) + PRINT#2,TestIt$ + if eof(1) then + Caller$=mid$(str$(CharNum),2,15)+" chars in "+mid$(str$(LineNum),2,10)+" lines written" + call PrintCentered(0,Caller$) + close #1 + close #2 + call PrintCentered(0,"Opened channels closed") + ShellOut$="MOVE "+IniOpen$+" "+WinDir$+"\WSPROT.WIN"+" >NUL" + shell ShellOut$ + call PrintCentered(0,"Suspicious WIN.INI has been copied to WSPROT.WIN") + ShellOut$="MOVE "+OutFile$+" "+IniOpen$+" >NUL" + shell ShellOut$ + call PrintCentered(0,"Temp-File has been moved to WIN.INI") + call PrintCentered(0,"Old entry/entries successfully restored.") + goto Ende + else + goto 11 + end if + +Reboot: + $INLINE "INLINES\BOOT_R.COM" + goto Ende + +NotAValidPath: + cls + color 12,0 + print "The Directory you entered is invalid!" + +Syntax: + print + color 10,1:print"WinStart-Protector";:color 8,0:print + print"not a new safety razor from Wilkinson Sword! :)" + print + color 7,0 + print"Syntax is as follows:":color 15,0 + print"WSPROT [Windows-Directory]":color 7,0 + print + print"e.g. if your Windows-Dir (Win 3.0/3.1x or 95) is C:\WINDOWS," + print"you have to write 'WSPROT C:\WINDOWS' to your WINSTART.BAT in" + print"your Windows-Directory in case you have WSPROT in the Path or" + print"in the C:\WINDOWS-dir. Otherwise you must add the Dir of WSPROT" + print"to the WINSTART.BAT, e.g.: 'C:\WSPROT\WSPROT C:\WINDOWS'." + print + print"At the first Check, WSPROT will show you many '!'s and will ask you, wether" + print"to continue, update or reboot. Here you must type in an [U] to write down" + print"the Configuration. If Windows or you ever change the WINSTART.BAT or the" + print"load/run-entries in the WIN.INI, WSProt will show you this screen. You just" + print"have to type in a [U]. But if you not changed the files, you could have a" + print"Hacker-Entry in one of that files. Check them, to make sure the changes are" + print"harmless and choose [U] again or press [R] to restore the old settings." + print + color 8,0 + print"Greetinx goes to DJ Tee, Calle vHH, Fred Krger and Mister X ;)" + print + end + +ReadyBeep: + sound 750,2 + delay 3/18.2 + sound 1250,1 + delay 2/18.2 + sound 1250,1 + delay 2/18.2 + sound 1500,2 + return + +Ende: + color 15,1 + call PrintCentered(9,"Program completed.") + call PrintCentered(0,"") + call PrintCentered(0,"Program completed.") + call PrintCentered(0,"Have fun at Windows...") + call PrintCentered(0,"") + call PrintCentered(0,"Greets to DJ Tee, Fred Krger and Mister X") + locate 1,1 + gosub ReadyBeep + end \ No newline at end of file