Platin ist ein rasterorientiertes Platinenlayoutprogramm
fr ATARI-Computer. Ich habe es auf einem FALCON geschrieben,
es sollte aber auch auf jedem anderen Computer lauffhig
sein.

Es liegt in zwei Versionen vor, als PLATIN.PRG fr
Platinengren von 128 * 128 Rasterelementen, was einer
Seitenlnge von 16.256 cm im Modus mit dnnen Bahnen
und 8.128 cm im Modus mit dicken Bahnen entspricht und
als PLATIN_G.PRG fr Platinengren von 256 * 256
Rasterelementen, was der doppelten Seitenlnge entspricht.

Das Programm reserviert einen Speicherbereich um ein
dreidimensionales Feld zu verarbeiten, welches eine Platine
darstellt. Jedem Rasterelement kann eine geometrische
Grundform zugeordnet werden, welche dann aneinandergereiht
z.B. die Leiterbahnen auf der Platine oder Ltpunkte
darstellen.

Verbesserungsvorschlge und Wnsche fr spezielle Funktionen
werden dankbar aufgenommen, obwohl mit den vorhandenen
Funktionen eigentlich alles vorhanden ist, was man fr den
Hausgebrauch so bentigt.

Ich habe es vorgesehen, vier Ebenen bearbeiten zu knnen,
falls jemand einen Weg finden sollte, Platinen mit
Leiterbahnen in vier Ebenen herstellen zu knnen. Ich
bearbeite auch nur zwei Ebenen, es wre aber denkbar, zwei
doppelseitige Platinen mit einer Trennschicht aufeinander zu
kleben und mit Durchkontaktierungen zu versehen. Platin setzt
Durchkontaktierungen immer zusammen auf Ebenen 1 und 2 oder
auf Ebenen 3 und 4. Wenn auf Ebenen 1, 2, 3 und 4
Durchkontaktierungen gesetzt sind, werden diese beim Lschen
und Verbindung testen als verbunden angesehen.

Ein Autorouter ist nicht vorgesehen, da so etwas ist wohl
sehr schwierig zu schreiben ist. Ich wte zumindest nicht,
wie.

Die Ausgaben geschehen in ein GEM-Fenster und machen auch
mit Zusatzprogrammen wie z.B. WINX (sehr empfehlenswert)
keine Probleme.

In der Titelzeile des Fensters steht der Name der Datei,
wenn es sich um eine genderte und noch nicht gespeicherte
Datei handelt steht ein Sternchen davor und das Beenden des
Programms ist nur nach Abfrage mglich.

In der Infozeile (diese soll in zuknftigen Versionen
abschaltbar sein) stehen die X- und Y- Position des Cursors
auf der Platine, die Bahndicke, der Programmodus und der Wert
des Zeichens, das sich unter dem Cursor befindet.

Mit der UNDO-Taste wird die letzte nderung rckgngig
gemacht. Die wichtigsten Funktionen sind auch ber
Tastaturkrzel aufrufbar, hierbei wird nicht zwischen
Control & [Taste] und [Taste] unterschieden (Caps-Lock aus
vorrausgesetzt). 

Die Menfunktionen im einzelnen:

Platin:
Info und Registrierung durch Eingabe von:
Name
Vorname
Schlssel (bei mir erhltlich fr 50.- DM)

Bei Registrierung mit dem richtigen Schlssel wird eine Datei
PLATIN.REG angelegt, in die der Name, der Vorname und der
Schlssel abgelegt werden, abspeichern von Platinen und
Blcken wird dann mglich.

Datei:
ffnen   ^O
einer Datei im Ordner PLATIN\PLATINEN\ , Kennung *.PLA
Die Datei wird geladen und in einem Fenster wird die Platine
dargestellt. Diese Funktion kann auch durch CTRL-O oder
o aufgerufen werden.

Verwerfen  ^U
lscht eine Datei im Speicher, das Fenster ist danach leer
und man kann eine neue Platine entwerfen. Vorher findet
eine Sicherheitsabfrage statt, falls die Datei nicht
gespeichert wurde. 

Sichern    ^S
sichert eine Platine unter dem aktuellen Namen, falls
die aktuelle Platine noch keinen Namen hat, wird dazu
aufgefordert, einen einzugeben.

Sichern als ^M
sichert die Platine unter einem neuen Namen ab, dieser wird
bernommen.

Drucken    ^P
druckt ber das GDOS alle Ebenen der Platine, auf denen sich
etwas befindet. Dabei wird anhand der eingestellten Bahndicke
(Y) unterschieden, ob die Rasterelemente mit einer
Seitenlnge von 1.27 mm oder 0.635 mm ausgedruckt werden.

Ende       ^Q
verlt das Programm.

Block:
Blcke knnen im Ausschneiden- oder Kopieren-Modus
markiert werden, indem die linke obere Ecke mit der linken
Maustaste angeklickt wird und die rechte untere Ecke mit der
rechten Maustaste angeklickt wird.

Ausschneiden   ^X
schaltet in den Programmodus Ausschneiden, ein gewnschter
Block kann dann markiert werden und wird mit RETURN
ausgeschnitten. Dann wird automatisch in den Einfgen-Modus
geschaltet.

Kopieren       ^C
verhlt sich wie Ausschneiden, allerdings wird die markierte
Flche nicht gelscht.

Einsetzen      ^V
schaltet in den Einfgen-Modus, unter dem Mauszeiger wird der
Block angezeigt, der eingefgt wird. Das Einfgen selber
wird durch Mausklick mit der linken Taste ausgelst.

Links - Rechts 
spiegelt einen Block an einer vertikalen Achse. Dieser Block
mu tatschlich ausgeshnitten sein, er darf nicht nur
markiert sein. Das Gleiche gilt fr die Funktionen
Oben - Unten, Linksherum, Rechtsherum.

Oben - Unten
spiegelt den Block an einer horizontalen Achse.

Linksherum
dreht den Block linksherum.

Rechtsherum
verhlt sich hnlich wie Linksherum.

Block laden   ^L
lt eine Dateiauswahlbox erscheinen, aus der im Verzeichnis
PLATIN\BLOECKE ein Block mit der Kennung *.BLK geladen
werden kann, dann wird automatisch in den Einfgen-Modus
geschaltet.

Block sichern
sichert einen ausgeschnittenen bzw. kopierten Block im
Verzeichnis PLATIN\BLOECKE.

Bearbeiten:
Bahnen Ziehen  ^B
ist wohl der wichtigste Programmodus, mit ihm werden durch
langsames ziehen der Maus ber den Bildschirm Leiterbahnen
gezogen, hierbei mu die linke Maustaste gedrckt sein. Mit
der rechten Maustaste werden Rasterelemente gelscht, dies
kann beim Lschen zwischen diagonalen Bahnen aber zu
Unterbrechungen von benachbarten Bahnen fhren. Hier sollte
man lieber die UNDO-Funktion benutzen.

Kontakte       ^K
schaltet in den Programmodus, in dem die Durchkontaktierungen
gesetzt werden. Dies geschieht dann mit der linken Maustaste.
Die Einstellung der Bahndicke entscheidet ber die Art der
Durchkontaktierungen. Die rechte Maustaste lscht
Durchkontaktierungen.

Masseflche   ^M
schaltet in eine Art Fllmodus, hier wird ab dem angeklickten
Punkt auf der Platine eine Masseflche eingefgt.
Der Algorithmus, der dies tut ist sehr speicheraufwendig,
deshalb kann es vorkommen, da nicht vollstndig gefllt
wird, dies wird dann aber angezeigt.

Potential lschen ^Z
schaltet in einen Lschmodus, in dem ein angeklicktes
Platinenelement und alles, was mit ihm Verbindung hat,
gelscht wird. Der Algorithmus, der dies tut ist sehr
speicheraufwendig, deshalb kann es vorkommen, da nicht
vollstndig gelscht wird, dies wird dann aber angezeigt.

Bahnen Lschen     ^D
Hier wird eine zusammenhngende Leiterbahn gelscht, sie
mu nur angeklickt werden, es sollte aber kein diagonales
Leiterbahnelement als Startpunkt gewhlt werden, da dieses
durch die Einteilung in Rasterelemente nicht eindeutig wre.

Testen          ^T
schaltet in den Testen-Modus, in der ein Potential angeklickt
werden kann. Dieses wird dann (einen Farbbildschirm
vorrausgesetzt) in rot dargestellt. In den
Schwarz-Wei-Grafikmodi wird das selektierte Potential
blinkend dargestellt.

Undo          UNDO
macht die letzte nderung rckgngig, bzw. wenn die
letzte Aktion die Undo-Funktion war macht es die nderung
wieder wirksam.

Auswahl:
Raster   ^R
Das Raster, das eine Hilfe beim Bahnen Ziehen darstellt,
kann hiermit ein- bzw. ausgeschaltet werden.

Linien   ^Y
schaltet die Bahndicke zwischen dick und dnn hin und her.
Diese Einstellung ist auch beim Drucken relevant.

Ebene 1,2,3,4   1,2,3,4
schaltet die entsprechende Ebene in den Vordergrund.
Die gewhlte Ebene wird damit zur aktiven Ebene, auf
die sich alle Funktionen beziehen, z.B. Bahnen ziehen.

Alle Ebenen   SPACE
schaltet die im Hintergrund liegenden Ebenen ein- oder
aus. Falls sie eingeschaltet sind, werden diese hell
gezeichnet. Die Darstellung passiert derart, da falls
alle Ebenen aktiviert sind, zuerst die inaktiven Ebenen
hell gezeichnet werden und darber die aktive Ebene normal
gezeichnet wird. 

Fr folgende Versionen ist geplant:
 - Die Infozeile soll abgeschaltet werden knnen.
 - Der Speicherbedarf bei den rekursiven Funktionen wie
   z.B. Masseflche und Potential lschen soll verringert
   werden.

Fehler:
Fehler sind mir nicht bekannt, ich kann sie
aber nicht ausschlieen. Unter anderem muten sehr
viele und umfangreiche Tabellen eingegeben werden um z.B.
einen Block linksherum zu drehen. Dafr ist es notwendig
zu wissen, zu welchem Zeichen z.B. ein waagerechtes
Verbindungsstck mit Abzweigung nach oben wird, wenn
es linksherum gedreht wird. Das wird mit Tabellen
realisiert. Ich will nicht ausschlieen, da sich hier
Fehler eingeschlichen haben knnen. Deshalb wird
in der Infozeile noch das Zeichen ausgegeben,
das sich unter dem Mauspfeil befindet. Reproduzierbare
Fehler sollten mir mit genauer Angabe der Voraussetzungen
und der Folgen gemeldet werden.

Die beigefgten Platinen sollen nur Beispiele sein,
sie sind nicht vollstndig und es fehlen wichtige
Anschlsse. Sie sind als eine Art Anregung fr eigene
Platinen zu verstehen und stellen ein
80C535-Mikrokontroller-Grundsystem dar, wobei sehr
platzsparend gearbeitet wird. Der Baustein 74HCT573 wird
zuerst eingeltet, dann werden zwei Sockel bereinander
ber diesen Baustein eingeltet und in den Obersten kann
dann das EPROM eingesetzt werden.

WICHTIGES:
- Blcke werden markiert, indem mit der linken Maustaste
  die linke obere Ecke angeklickt wird, mit der Rechten
  die rechte untere Ecke.
- Die Blockfunktionen beziehen sich nur auf tatschlich
  ausgeschnittene oder herauskopierte Blcke, es reicht
  nicht, den Block nur zu markieren.
- Das Ausschneiden oder Herauskopieren wird mit der
  Return- oder Entertaste ausgelst. Dabei mu ein Block
  markiert sein.

Wer sich registrieren lassen will, sollte mir 50.- DM
zukommen lassen (und Namen und Anschrift, vielleicht auch
die Telefonnummer), dann erhlt derjenige von mir den
Schlssel, mit dem dann auch das abspeichern von Platinen
mglich wird. Falls es eine aktuellere Version gibt, erhlt
er auch diese.

Meine Adresse:
Torsten Mohr
Rollstrae 48 B
38678 Clausthal-Zellerfeld

Deutsche Bank Clausthal-Zellerfeld
Kto.-Nr. 33 11 412
BLZ 268 700 32
