***************************************************************************** *'SLACK.TXT': Infodatei zum Programm 'SLACK.PRG' * ***************************************************************************** SLACK.PRG VERSION 1.1 PUBLIC DOMAIN 1992 PRODUCTION BY CHRISTOPH ASCHWANDEN ZUGEH™RIGE DATEIEN 'SLACK.RSC' und 'SLACK.INF' INFODATEI 'SLACK.TXT' ***************************************************************************** *Fr den Gebrauch des Programms * ***************************************************************************** 1. MENULEISTE ----------------------------------------------------------------------------- 1.1 FILE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LOAD BILD: Durch das W„hlen dieses Menueintrags k”nnen Sie ein Bild laden. Sie sollten jedoch beachten, dass die Datei mindistens 32000 Bytes haben muss. Hat die Datei mehr als 32000 Bytes k”nnen die vorderen oder hinteren Stellen je nach Wahl abgeschnitten werden. Ein Bild besteht dementsprechend aus 640*400 Punkten und hat gerade auf dem Monitor Platz! Das Bild sollte ein Monochrombild sein. SAVE BILD: Hier k”nnen Sie ein Bild abspeichern. Das Bild wird unter dem Namen der zuletzt mit 'LOAD BILD' geladenen Datei gesichert. Es er- scheint keine Fileselectorbox! (wurde noch kein Bild geladen, wird die Filselectorbox doch aufgerufen!) SAVE BILD AS ...: Hier k”nnen Sie wie bei 'SAVE BILD' ein Bild abspeichern. Es erscheint jedoch in jedem Fall eine Fileselectorbox! Die Datei, die bei 'SAVE BILD' oder 'SAVE BILD AS ...' erzeugt wird, beinhaltet 32000 Bytes und kann wieder durch 'LOAD BILD' geladen wer- den. ACC: W„hlen Sie diesen Eintrag, wird eine zweite Menuleiste angezeigt, mit der Sie auch Die Accessories ansprechen k”nnen. Durch 'EDITOR' kommen Sie wieder in das Hauptmenu zurck. RAUS: Mit 'RAUS' k”nnen Sie das Programm verlassen. Es erscheint eine Sicherheitsabfrage auch wenn sie gar nichts ver„ndert haben. Dadurch wird verhindert, dass Sie nicht ungewollt durch das Verlassen des Pro- gramms Ihr aktuelles Bild l”schen. 1.2 EDIT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NEW: Durch 'NEW' k”nnen Sie ihr Bild l”schen. Es erfolgt eine Sicherheits- abfrage! Das Kommando ist nicht Rckg„ngig zu machen. HARDCOPY: Sie k”nnen mit 'HARDCOPY' eine Hardcopy auf den angeschlossenen Drucker ausgeben. Es wird dann ihr 32000 Bytes grosses Bild ausge- druckt. EDIT: Durch das Anw„hlen von 'EDIT' k”nnen Sie mit dem Editieren des Bildes beginnen. Die Menuleiste wird dann hell gemacht und ist auch nicht mehr anw„hlbar! Man befindet sich im 'Editiermodus'. 1.3 BLOCK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LOAD BLOCK: Mit 'LOAD BLOCK' wird ein Block, den Sie mit der Fileselector- box ausw„hlen k”nnen, in den Blockspeicher geladen (siehe 2.4, Copy). Hat eine Datei mehr als 32000 Bytes, kann der Block nicht geladen wer- den. Zu einer '*.BLC'-Datei geh”rt immer eine '*.INF'-Datei. Diese Datei enth„lt vier Bytes: 2 Bytes geben die Breite und die anderen bei- den die H”he an. Fehlt diese Datei, mssen Sie in einer Dialogbox die H”he und die Breite selber angeben, oder auch wenn die Werte in der '*.INF'-Datei nicht stimmen. Wichtig: Die Dialogbox berprft nicht, ob diese neuen Werte stimmen! Es kann sein, dass Ihr Block dementsprechend nicht ganz 'normal' aus- sieht! Entweder ist der Block m”glicherweise zu klein oder zu gross. Falls er zu gross ist, sieht man manchmal Striche am Schluss des Blocks, die gar nicht dazugeh”ren! SAVE BLOCK: Hier kann man einen Block aus dem Blockspeicher sichern (siehe 2.4, Copy). Es erscheint eine Fileselectorbox. Zur Blockdatei wird immer noch eine '*.INF'-Datei erzeugt, die die Breite und H”he des Blocks enth„lt, sie ist 4 Bytes gross. Ist noch kein Block bestimmt, wird eine Meldung ausgegeben. 1.4 NEO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INFOS ZUM 'NEO.PRG': Falls Sie das 'NEO.PRG' nicht kennen, sollten Sie folgendes einfach ber- springen; 'LOAD NEO', 'SAVE NEO' (und teilweise noch anderes!). 'COL'/'NEO'-Bilder: Farbbilder, 'MON'-Bilder: Schwarz-Weiss-Bilder LOAD NEO: Mit 'LOAD NEO' k”nnen Sie eine '*.NEO'-Datei laden. Es erscheint eine Fileselectorbox. Eine '*.NEO'-Datei besteht aus 32128 Bytes! Die 128 Bytes Anh„ngsel vor dem eigentlichen Bild sind nur Infos fr das 'NEO.PRG'. Die Anh„ngsel werden weggeschnitten. LOAD COL: Mit 'LOAD COL' k”nnen Sie eine '*.COL'-Datei laden. Es erscheint eine Fileselectorbox. Eine '*.COL'-Datei besteht normalerweise aus 32000 Bytes. Es ist das selbe wie eine '*.NEO'-Datei, ausser dass die 128 Bytes weggelassen wurden. PS: Wenn Sie wollen, k”nnen Sie eine '*.NEO'-oder '*.COL'-Datei auch mit 'LOAD BILD' laden. Es wird aber mit 'LOAD NEO' oder 'LOAD COL' einfach bersichtlicher, da die Masken gerade die richtigen Dateien 'ausfiltern', und mit 'LOAD NEO' werden auch die 128 Bytes auto- matisch abgeschnitten! 'NEO'-oder 'COL'-Bilder sehen nach dem Laden ein bisschen komisch aus. Lassen Sie sich dadurch aber nicht verwirren! TO MON: Durch 'TO MON' wird ein 'NEO'-oder 'COL'-Bild in ein Monochrombild umgewandelt. Dadurch bekommen die Bilder dann endlich ein einigermassen normales Aussehen! Es gibt keinen Sinn ein 'MON'-Bild mit 'TO MON' umzuwandeln! FARBWERTE: Hiermit k”nnen Farbwerte eines mit 'TO MON' umgewandelten Bildes ver„ndert werden. Ein 'NEO'/'COL'-Bild besteht aus 320*200 Pixel, wobei jeder Punkt einen Wert von 0-15 annehmen kann (16 Farben!). Bei 'TO MON' wird dieser Wert zusammengenommen und als 2*2 grosses Raster gezeichnen. Es werden also aus 320*200 Pixeln eines 'NEO'/'COL'-Bildes 320*200 2*2 grosse Raster gemacht, wobei die 2*2 grossen Raster den 4 Bit Farbwert eines be- stimmten 'NEO'/'COL'-Punktes beinhalten?! Das Bild ist jetzt ein 'MON'- Bild. Sie k”nnen nun mit 'FARBWERTE' den Farbwert eines 2*2 Rasters ver„n- dern, also einen neuen Farbwert zuordnen. Jedem gesetzten (schwarzen!) Punkt im 2*2 Raster wird der Wert 1 und jedem nicht gesetzten (weissen!) Punkt der Wert 0 zugewiesen. Der Farb- wert errechnet sich nun folgendermassen: Punkt links oben + Punkt links unten *2 + Punkt rechts oben *4 + Punkt rechts unten *8 = Farbwert Die 320*200 2*2 Raster beginnen immer bei geraden Koordinaten: 0,0 2,0 4,0 6,0 .. 0,2 2,2 .. 0,4 : : BEISPIEL: 1. W„hlen sie ein 'NEO'-Bild aus 2. Gehen Sie ins 'NEO.PRG' und schauen sich das 'NEO' Bild an. Geben sie jetzt jedem der 16 Farbk„stchen einen bestimmten Helligkeitswert zwischen 0-15. Dem hellsten Farbk„stchen geben Sie den Wert 0, dem dunkelsten den Wert 15, den zweithellsten den Wert 1/2/4/8, den zweitdunkelsten den Wert 7/11/13/14 und den mit- telhellsten den Wert 3/5/6/9/10/12 (anzahl Bits!). 3. Gehen Sie ins 'SLACK.PRG'. Laden Sie das 'NEO'-Bild. Wan- deln Sie das Bild mit 'TO MON' um 4. W„hlen Sie 'FARBWERTE' an 5. Schreiben Sie nun den selber bestimmten Hellikeitswert des Farbk„stchens ganz RECHTS bei Farbwert 0 hin, dann den Hellig- keitswert des 2. Farbk„stchens von RECHTS bei Farbwert 1, usw. 6. Starten Sie das Ganze. Das Bild sollte jetzt eine einiger- massen passende Farbe erhalten. TO NEO/COL: Damit werden Monochrombilder in 'NEO'/'COL'-Bilder umgewandelt. Die Bilder sehen danach ein bissche verkrppelt aus! 'TO NEO/COL' sollte nur bei 'MON'-Bilder angewandt werden, ergibt sonst n„mlich keinen Sinn! SAVE COL: Mit 'SAVE COL' kann eine '*.COL'-Datei erzeugt werden. Es er- scheint eine Fileselectorbox. Die Datei enth„lt 32000 Bytes. Die Datei kann mit 'LOAD COL' wieder ge- laden werden SAVE NEO: Mit 'SAVE NEO' wird eine '*.NEO'-Datei erzeugt. Es erscheint eine Fileselectorbox. Es werden vorne automatisch 128 Bytes angeh„ngt, damit das Bild mit dem 'NEO.PRG' auch wieder gelesen werden kann. Die Datei ist so am Schluss 32128 Bytes gross. PS: Anstatt 'SAVE COL' k”nnte man auch 'SAVE MON' machen, 'SAVE COL' ist aber vorzuziehen! Mit 'SAVE COL' oder 'SAVE NEO' sollten nur 'COL'/'NEO'-Bilder abge- speichert werden. 'MON'-Bilder also zuerst mit 'TO NEO/COL' um- wandeln! 1.5 HELP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TASTEN: Hier sehen Sie die Tastenbelegung des Programms. Die Tasten funk- tionieren nur im 'Editiermodus'! 2. EDITIERMODUS ----------------------------------------------------------------------------- Im 'Editiermodus k”nnen Sie ein Bild editieren; zeichnen, l”schen, dre- hen, spiegeln, invertieren, aufhellen usw. MAUS: Mit der rechten Maustaste k”nnen Sie zwischen dem FULL-und HALF- Screen umschalten. (Funktioniert auch wenn man nicht im Editiermodus ist!) Mit der linken Maustaste k”nnen sie Objekte anw„hlen und dement- sprechen die jeweiligen Funktionen beginnen; Boxen zeichnen, Kreise zeichnen, usw. Verl„sst man beim Zeichnen... den zul„ssigen Bereich beim HALF-Screen, wird das Bild 'zurckgesetzt'! 2.1 SCROLLEISTE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ich habe die Leiste ganz links 'Scrolleiste' genannt, weil man damit vor allem Scrollfunktionen ausfhren kann. - Wenn man mit der linken Maustaste auf den Pfeil nach oben oder nach unten drckt, scrollt das Bild dementsprechend nach oben oder nach unten. - Drckt man auf 'OBEN' oder 'UNTEN', wird der untere oder obere Teil des Bildes gezeigt - Bei 'EDIT' kann der Editiermodus verlassen werden, die Menuleiste wird wieder aktiv. 2.2 OBJEKAUSWAHL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bei der Objektauswahl kann ein bestimmtes Objekt ausgew„hlt werden. Es sind folgende Objekte m”glich: - Stift: Beim Drcken der linken Maustaste wird gezeichnet. (die Maus muss sich aber natrlich auf dem Bild befinden!) - Linien: Drcken der linken Maustaste beim gewnschten Startpunkt und wieder loslassen beim Endpunkt. - Boxen: Damit k”nnen Boxen gezeichnen werden. Drcken der linken Maus- taste beim gewnschten Startpunkt und loslassen beim Endpunkt. Jeweils die diagonal gegenberliegenden Punkte! - Kreise: Hier k”nnen Kreise gezeichnet werden. Drcken der Maustaste im gewnschten Kreiszentrum. Die y-Distanz zum Kreiszentrum gibt den Kreisradius an! - Fllen: Hiermit kann eine bestimmte Fl„che gefllt werden. Es wird bis zur andersfarbigen Begrenzung als der Fllstartpunkt ist, gefllt! - Text: Mit dieser Funktion k”nnen Texte ausgegeben werden. Mauscursor an die gewnschte Position bringen und Maustaste drcken. Die Startkoor- dinate entspricht der Basislinie des Textes. Mit 'Return' wird die Ein- gabe beendet. 'Backspace' l”scht das letzte Zeichen. 'Esc' l”scht die ganze Zeichenkette. - Gummi: Mit dem Gummi k”nnen Dinge gel”scht werden. Durch drcken der linken Maustaste wird alles unter dem Gummi gel”scht - Copy: Mit 'Copy' k”nnen bestimmte Bereiche verschoben, gel”scht, inver- tiert oder gesichert werden. Man kann einen bestimmten Bereich ein- rahmen (siehe 'Boxen'). Durch drcken der Leertaste wird der Bereich wieder gel”scht oder auch bei Drcken der linken Maustaste ausserhalb des Bereichs. Durch drcken der Maustaste innerhalb des Bereichs, kann der Inhalt verschoben werden; Maustaste gedrckt halten! - Pinsel: Durch drcken der Maustaste k”nnen sie zeichnen. - Spraydose: Žhnlich wie Pinsel, ausser dass die einzelnen Punkte nicht verbunden werden wenn man die Spraydose verschiebt. (Beim langsamen verschieben werden die Punkte natrlich doch verbunden!) 2.2 AUSGABEWERTE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bei den Ausgabewerte werden bestimmte Werte der Maus aus dem Bild ausge- gegen. - Die 16*16 Punkte grosse Lupe liefert die Vergr”sserung des Maushinter- grunds. Es wird dabei der Hauptaktionspunkt umrahmt angezeigt! - Es werden die Koordinaten der Maus auf dem Bild ausgegeben. Wird z.B. der untere Teil des Bilds gezeigt, wird automatisch die entsprechende y-Koordinatenverschiebung des Bildes bercksichtigt! - Y-Koordinatenverschiebung des Bildes. Es wird die y-Koordinate des obersten Punktes des Bildes auf dem HALF-Screen angezeigt! 2.3 ZUSATZLEISTE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bei der Zusatzleiste k”nnen zus„tzliche, spezielle Funktionen ausgew„hlt werden. - UNDO: Das zuletzt gezeichnete wird wieder gezeigt. - HELL: Durch diese Funktion kann das Bild aufgehellt werden, UNDO ist nicht m”glich. Es erfolgt eine Sicherheitsabfrage - INVERTIEREN: Das ganze Bild wird invertiert. Durch nochmaliges Drcken wird das Bild wieder in normaler Farbe gezeigt. Keine Sicherheitsab- frage. - BILD VERKLEINERN/VERGR™SSERN: Damit kann das Bild vergr”ssert oder ver- kleinert werden: Es erfolgt eine Sicherheitsabfrage: UNDO nicht m”g- lich. Beim 'Vergr”ssern' wird nur der Block mit den Koordinaten 0,0-319,199 vergr”ssert! Beim verkleinern wird das ganze Bild verkeinert! Es gibt zwei verschiedene Arten das Bild zu verkleinern: A und B. A: es werden Teile des Bildes herausgeschnitten, dann wird das Bild zusammengeschoben. B: es wird ein Raster von 4*4 betrachtet. Danach wird das 4*4 Raster in ein 2*2 Raster gewandelt. Die Anzahl der Bits im grossen Raster be- stimmen das Aussehen des kleinen Rasters. - BILD SPIEGELN/DREHEN: Das Bild kann gespiegelt oder gedreht werden. UNDO m”glich. Mit Sicherheitsabfrage. Es wird jeweils an den Mittelachsen gespiegelt. Es wird nur der Block mit den Koordinaten 0,0-399,399 um 90ø gedreht! 2.4 ZUSATZAUSWAHL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bei der Zusatzauswahl k”nnen zus„tzliche Fuktionen fr die jeweiligen ausgew„hlten Objekte gew„hlt werden. - Stift: Es kann die Zeichenfarbe gew„ht werden - Linien: Man kann die Zeichenfarbe w„hlen. Man kann den Zeichenmodus ver„ndern und einen anderen Linientyp bestimmen - Boxen: Linientyp, Zeichenfarbe, Zeichenmodus k”nnen ver„ndert werden. Zus„tzlich hat man die M”glichkeit auch gerundete Boxen zu zeichnen - Kreise: Linientyp, Zeichenfarbe und Zeichenmodus k”nnen ver„ndert wer- den. - Fllen: Man hat eine Auswahl von ber 120 Fllmustern. In dem kleinen K„stchen wird das momentan gew„hlte Fllmuster gezeigt. Drckt man eher im linken Teil dieses K„stchens, werden die Fllmuster von Hinten ge- zeigt, drckt man im rechten Teil werden die Muster von Vorne gezeigt. Man kann sozusagen also vorw„rts und rckwarts 'scrollen'. - Text: Zeichenfarbe, Zeichenmodus, Zeichenh”he, Zeichenrichtung, Text- ausrichtung und Schriftart k”nnen gew„hlt werden. Der Text kann rechts- bndig, zentriert oder linksbndig ausgegeben werden. Man kann die Zeichenh”he w„hlen, dabei entsprechen die einzelnen K„stchen den Bits, die dann die Zeichenh”he festlegen. Probieren Sie die Textrichtung selber aus: Es sind vier verschiedene Richtungen m”glich; nach oben, unten, links und nach rechts. - Gummi: Es kann die Farbe des Gummis gew„hlt werden. (Vielleicht wollen sie ja nicht unbedingt Weiss als Hintergrundsfarbe!) - Copy: Man hat die M”glichkeit den Verknpfungsmodus von einem bestimmten Block mit dem Bild anzugeben. Durch GET kann ein bestimmter Block in den Blockspeicher geholt werden. Dieser Block bleibt auch ge- speichert wenn man ein neues Bild ladet. Mit 'SAVE BLOCK' kann so ein Block gesichert werden oder mit 'LOAD BLOCK' kann ein Block in den Blockspeicher geholt werden (siehe 1.3). Mit PUT wird der Block auf den Bildschirm gebracht. Er wird in der linken oberen Ecke des Bildes hin- gemettet. Ein auf dem Bildschirm definierter Block kann mit 'CLEAR' ge- l”scht werden. Mit 'NOT' kann ein solcher Block invertiert werden und mit 'WEG' wird ein Block entfert, der Hintergrund wird dabei nicht zer- st”rt! Man kann auch die Hintergrundfarbe bestimmen. Bei 'CLEAR' wird mit der Hintergrundfarbe gel”scht! - Pinsel: Es kann die Zeichenfarbe und der Pinsel gew„hlt werden. - Spraydose: Zeichenfarbe und Sprayform k”nnen definiert werden ***************************************************************************** *Zusatzinfos * ***************************************************************************** Das Programm 'SLACK.PRG' ist PUBLIC DOMAIN, das heisst, jeder der es ko- pieren oder weitergeben will, darf dies tun so oft er will. Er darf das Programm jedoch nicht an Verlage oder sonstwie verkaufen oder sich auf irgendeine Art durch dieses Programm gesch„ftliche Vorteile zu erlangen versuchen. Das SLACK-Programm wurde in Assembler geschrieben. Der Sourcecode ist etwa 600'000 Bytes gross, er umfasst ber 200 Seiten oder 15'000 Zeilen. Falls die Nachfrage genug gross ist, werde ich das Programm m”glicher- weise noch verbessern! FRAGE: Wie komme ich zur Adresse des geretteten Maushintergrunds, ohne gleich eine neue Mausroutine schreiben zu mssen? Jetzige Situation: Das Programm schreibt etwas auf den Bildschirm, setzt die Maus darber und durchsucht anschliessen den Speicher danach. Die ge- fundene Adresse entspricht dann der des geretteten Maushintergrunds. Geht es auch noch einfacher? Vielleicht haben Sie schon mal bemerkt, dass bei Programmstart das Pro- gramm manchmal verrckt spielt; das kommt vom Ermitteln des Maushinter- grunds und gleichzeitigen Bewegen der Maus! Bewegen Sie die Maus also wenn m”glich beim Programmstart nicht. Wie kann ich es bewerkstelligen, dass der Mauszeiger sich langsamer be- wegt? Ich finde der Mauszeiger ist jetzt zu schnell um etwas kleines zu zeichen. Das NEO-Programm wurde nicht von mir geschrieben, ich habe mein Programm jedoch daran 'angelehnt'. Ich hoffe man nimmt mir das nicht bel! Wer etwas zu p”beln hat oder sonst noch etwas von mir will, schreibt am Besten an folgende Adresse: CHRISTOPH ASCHWANDEN BUCHHALDENSTR. 16 8610 USTER (CH) PS: Spenden werden gerne entgegengenommen!!!