Anleitung zur Junior-Prommer Treibersoftware PINATUBO V1.6 vom 28.3.1994 =========================================================================== Copyright (C) 1992 - 1994 Michael Schwingen. "Der Maschine ist fur usen bei der Experten only. Es ist nicht fur gewerken bei Dummkopfen." (aus der Bedienungsanleitung einer englischen Firma) Allgemeines ----------- PINATUBO ist ein Treiberprogramm, welches dazu dient, Eprommer am Atari ST zu betreiben. PINATUBO unterstuetzt den 'Junior-Prommer', welcher als Bauanleitung in der Zeitschrift 'ST-Computer' veroeffentlicht wur- de, den 'Easyprommer' (Vorgaenger des Juniorprommers) sowie den 'Vesuv' von Rossm*ller, letzterer muss per Schalter auf Amiga-Betrieb einge- stellt werden (in diesem Modus ist er kompatibel zu einem Junior- Prommer im Amiga-Modus). Wer einen dieser beiden Eprommer benutzen will, sollte unbedingt die Abschnitte 'Hardware' sowie 'INF- Datei' in dieser Anleitung beachten - die Eproms danken es mit einer laengeren Lebensdauer. Pinatubo unterstuetzt bei allen Prommern den im ST-Computer Hardware- Sonderheft veroeffentlichten Megabit-Programmieradapter (zum Brennen von Megabit-Eproms 27010-27080) sowie den SWB16-Adapter zum Brennen von 16- Bit-Eproms. Pinatubo ist als Alternative zur Original-Software gedacht, welche bei Maxon Computer GmbH zusammen mit dem Megabit-Adapter fuer den Junior- prommer erhaeltlich ist (bei Easyprommer und Vesuv unterstuetzt die Originalsoftware sowieso keine Megabit-Eproms). PINATUBO wurde neu erstellt und ist kein Update/Upgrade der Max*n-Software! PINATUBO hat folgende Vorteile: Unterstuetzung des Megabit-Programmieradapters fuer 27(C)010 bis 27(C)080- Eproms eingebaut, auch mit Easy-Prommer und Vesuv. Der Megabitadapter besteht aus einem CD4040, 3 Dioden, einem Widerstand sowie (optional) einem Textool-Sockel und kann daher preiswert selbstgebaut werden. kann mit einem passenden Adapter (von Harun Scheutzow) 16-Bit-Eproms der Typen 27C1024, 27C2048 und 27C4096 brennen. Die Bauanleitung ist von Harun Scheutzow oder von mir erhaeltlich, naeheres siehe am Ende der Anleitung. Unterstuetzung fuer 87(C)51-Programmieradapter (wird im Moment ueber- arbeitet) laeuft auch auf Mega STE, auf STs mit Beschleunigerkarten sowie TT und Falcon030. Dabei wird - im Gegensatz zur Max*n-Software das Programmiertiming per Timer korrekt eingehalten, die Eproms werden also korrekt und nach Herstellerspezifikation gebrannt (soweit mit der Prommer-Hardware moeglich, s.u.). laeuft aufloesungsunabhaengig auf Grafikkarten. Hardware-Voraussetzungen: ------------------------- Atari ST/Mega ST/STE/TT/Falcon, genug RAM, damit Platz fuer den kom- pletten Eprominhalt ist (512K sollten bis 27C020 reichen). Auf der PAK (68020 oder 68030 Prozessor) treten teilweise Probleme auf, die am Soundchip liegen, dafuer gibt es eine 'gebremste' Version PINA_PAK.PRG. Naeheres siehe weiter unten unter 'Hardware'. Die jeweils aktuelle Version des Programms bekommt man: - in der Maus AC3 (Tel. 0241-54540, kein Gastdownload - bitte als User eintragen) - per 'anonymous FTP' auf ftp.informatik.rwth-aachen.de:/pub/atari/util --------------------------------------------- - im Internet (nicht im Mausnet!) auf Anfrage uuencoded per Mail - gegen Einsendung einer formatierten Diskette mit freigemachtem Rueck- umschlag bei mir: Michael Schwingen Ahornstrasse 36 52074 Aachen Germany Nutzungsbedingungen ------------------- PINATUBO ist Shareware, d.h. das Copyright bleibt bei mir. Ich gestatte jedoch die freie Weitergabe von PINATUBO unter der Vo- raussetzung, dass keinerlei Entgelt fuer die Weitergabe verlangt wird und dass das Archiv PINATUxx.ZOO unveraendert kopiert wird (d.h. es duerfen auch keine Dateien hinzugefuegt werden). Wer Pinatubo gegen Entgelt vertreiben will (darunter faellt auch die Erstattung der reinen Kopierkosten, z.B. bei PD- Haendlern/Versendern), benoetigt von mir eine schriftliche Genehmigung. Die Verbreitung ueber Mailboxen und Datennetze ist gestattet, solange diese fuer den Download keine zusaetzlichen Gebuehren nehmen. Wer PINATUBO laenger als 3 Wochen benutzt, muss sich bei mir registrie- ren lassen, indem er/sie mir (mindestens) 20 DM zukommen laesst (fuer Easyprommer 30DM), ich denke, dass dies angesichts des Entwicklungs- aufwandes ein fairer Preis ist (alleine das Update bei Max*n, um Megabit-Eproms brennen zu koennen, kostet mehr als das Doppelte!). Am einfachsten geht dies durch Ueberweisung auf das am Ende dieser Anleitung genannte Konto oder durch Einsenden eines Verrechnungs(!)- Schecks - bitte wenn moeglich kein Bargeld per Brief schicken. Wer mit bei der Registrierung seine eMail-Adresse mitteilt, bekommt auch eine Bestaetigung. Hinweis: -------- Ich uebernehme keine Garantie fuer die Fehlerfreiheit des Programmes und kann fuer Schaeden, die auf eine Fehlfunktion des Programmes zurueck- zufuehren sind, nicht haftbar gemacht werden. Ich habe das Programm zwar ausgiebig getestet, kann allerdings Fehler nicht komplett aus- schliessen. Wenn Fehler auftreten, freue ich mich ueber eine Beschrei- bung, wie diese reproduziert werden koennen, unter Angabe der Ver- sionsnummer und der naeheren Umstaende! Das Programm wird auf einem 1040ST mit 16MHz-Prozessor sowie sporadisch auf einem Falcon030 getestet. Wenn auf bestimmten anderen Rechnern Probleme auftreten, bitte ich um Hinweise! Achtung: Auch Eproms, bzw. die darin enthaltenen Programme, unterliegen dem Copyright. Wer Kopien von Betriebssystem-Eproms etc. herstellt, ohne fuer den selben Rechner ein entsprechendes Original zu besitzen, benutzt eine Raubkopie! AUFRUF ------ Das Programm wird durch Starten von PINATUBO.PRG aufgerufen, dabei muss die Datei PINATUBO.RSC im aktuellen Verzeichnis sein. Zuerst wird versucht, den Eprommer zu initialisieren. Dabei werden 2 verschiedene Tests durchgefuehrt, beim Fehlschlagen des Tests erscheint eine Alertbox, in der man entweder den Test wiederholen kann (z.B. weil der Eprommer vorher ausgeschaltet war) oder das Programm trotz des Fehlers starten kann. Wenn man letzteres tut, ist die Eprommerhardware evtl. nicht richtig initialisiert, daher ist es in diesem Zustand *nicht* sinnvoll, einen Speicher in den Eprommer zu stecken, die Wahrscheinlichkeit ist gross, dass dieser sein Leben aushaucht. Vor dem Starten von Pinatubo sollte sich kein Speicher im Eprommer befinden, da dieser 1. die Tests (s.u.) stoeren kann und 2. fuer dessen Sicherheit nicht garantiert werden kann. Der erste Test testet die Funktion des schaltbaren Pullups an D7 der Eprom-Fassung - abhaengig vom Zustand der Busy-LED muss auf D7 eine 1 oder 0 zurueckgelesen werden. Der zweite Test testet die beiden Daten-Schieberegister SRC und SRD, indem jedes Byte von 0..255 ueber SRC ausgegeben und dann ueber SRD zurueckgelesen wird. Wenn hier ein Fehler auftritt, wird der geschrie- bene (erwartete) und der tatsaechlich zurueckgelesene Wert angezeigt. Wenn ein SWB16-Adapter im Eprommer steckt, wird dieser erkannt und dessen Schieberegister werden statt der im Prommer getestet. Nach dem Start erscheint das Info-Fenster, welches Auskunft ueber den gewaehlten Epromtyp und Programmieralgorithmus, die Puffergroesse etc. gibt. In der Titelzeile des Fensters wird der Name der zuletzt geladenen Datei angezeigt. Wenn im aktuellen Verzeichnis eine Datei PINATUBO.INF gefunden wird, so wird diese geladen (siehe unten). In diesem Fenster wird auch der gewaehlte Typ der Eprommer-Hardware angezeigt - wenn dieser nicht stimmt, sollte man die .INF-Datei anpassen (s.u.) und Pinatubo neu starten. Wenn im aktuellen Verzeichnis eine Datei PINATUBO.CFG gefunden wird, so werden aus dieser die letzten Einstellungen geladen (Epromtyp, Split- ting, Fensterpositionen, ...). Diese Datei kann entweder automatisch beim Verlassen von Pinatubo (-> Extras/Optionen) oder manuell per Datei/Einstellungen sichern erzeugt werden. Sollte Pinatubo sich einmal seltsam verhalten oder beim Start abstuer- zen, sollte man als erstes versuchen, diese Datei zu loeschen - sie kann ja aus Pinatubo heraus leicht wieder angelegt werden. Kommandozeilenoptionen ---------------------- Man kann Pinatubo beim Aufruf Optionen uebergeben, z.B. indem man (ab TOS 2.06) unter 'Anwendung anmelden' passende Optionen eintraegt, oder bei Verwendung einer Command-shell die Parameter an den Aufruf von Pinatubo anhaengt. Ein Dateiname kann einfach uebergeben werden, indem man die Datei (ab TOS 2.06) auf das Pinatubo-Icon zieht. Pinatubo kann auf folgende Art aufgerufen werden: pinatubo [-t epromtyp] [-a algorithmus] [dateiname] 'epromtyp' kann ein beliebiger Teil-String der Bezeichnung aus der Typenauswahlliste sein. Der erste Typ, der diesen Teilstring enthaelt, wird dann ausgewaehlt. '27256' oder '256' waehlt z.B. den '27256@21V only' aus, 'C256' waehlt den '27256A/27C256' aus. 'algorithmus' ist eine Zahl ab 0. Nummer 0 ist '50 ms', die weiteren sind aufsteigend nummeriert. Diese Angabe wird auch OHNE Angabe eines Eprom-Typs (s.o.) beachtet. 'dateiname' ist der Name einer Eprom-Datei, diese wird nach dem Programmstart automatisch geladen. Das Menue ######### Das Menue bietet folgende Optionen: Datei ===== Laden: die angewaehlte Datei wird in den Puffer geladen. Wenn die Datei kuerzer als der Puffer ist, wird dieser nicht verkuerzt. Anhaengen: die Datei wird hinter die beim letzten Ladevorgang erreichte Adresse geladen. Vergleichen: die Datei wird mit dem Pufferinhalt verglichen. Speichern: der komplette Puffer wird gespeichert. Einstellungen sichern: Die aktuellen Einstellungen, also Epromtyp, Fensterpositionen etc. werden in die Datei PINATUBO.CFG gespeichert. Bei allen Dateioperationen wird die eingestellte Splitting-Option beachtet und nur der entsprechende Teil des Puffers bearbeitet. Optionen: ========= Typ waehlen: der Epromtyp kann aus einer Liste gewaehlt werden. Splitten Even/ODD ...: hier kann man einstellen, welche Bereiche des Puffers bei allen Operationen benutzt werden. Es ist 16, 32 und 64-Bit-Splitting moeglich. Bei Verwendung des SWB16-Adapters beziehen sich alle Anga- ben auf 16-Bit-WORDs, mit 'EVEN/ODD' kann man z.B. 32-Bit-Daten auf 2 16-Bit-Eproms aufteilen. Algorithmus: hier kann der Programmieralgorithmus gewaehlt werden. Es stehen fol- gende Algorithmen zur Wahl: "Standard 50ms" - der einfache, alte Standard-Algorithmus. Er ver- wendet einen Programmierimpuls von 50ms Dauer pro Byte, es werden maximal 2 Versuche gemacht. "INTeLLIGENT(TM) 1ms/3*" - schnellerer Algorithmus, ab 2764 anwend- bar. Dieser Algorithmus brennt eine Speicherzelle mit maximal 25 Impulsen von je 1ms Dauer, bis der Inhalt stimmt. Dann wird mit der 3-fachen Zeit nachgebrannt. "INTeLLIGENT(TM) 1ms/4*" - eine modifizierte Version des Original- INTeLLIGENT- Algorithmus', bei der mit der 4-fachen Zeit nachge- brannt wird. Dies ist u.U. bei aelteren, kleinen EPROMs sinnvoll. "QUICK-PULSE(TM) 100us/0*" - der neueste und schnellste Algorithmus. Er brennt jedes Byte mit max. 25 100us langen Impulsen, bis der Inhalt stimmt - dann wird beim naechsten Byte weitergemacht. Bei der Anwendung dieses Algorithmus' muesste eigentlich die Betriebs- spannung des EPROMs auf 6V/6.25V und die Programmierspannung auf 12.75V/13V angehoben werden, dies unterstuetzt die Hardware aller- dings nicht. "mod. QUICK-PULSE(TM) 100us/1*" - eine modifizierte Version, bei der jedes Byte mit der selben Zeit nachprogrammiert wurde, die benoetigt wurde, bis der Inhalt das erste Mal stimmte. Dieses System sollte die Nachteile der Junior-Prommer-Hardware (s.o.) ausgleichen. "mod. Quick-Pulse 87C51" - eine modifizierte Version, die von Intel fuer die Programmierung des 87C51 angegeben wird, dabei erfolgt eine Ueberpruefung, ob der Inhalt der aktuellen Speicherzelle stimmt, erst nach 25 Programmierimpulsen. Die Anwendung ist nur bei 87C51 sinnvoll. Weitere Programmieralgorithmen kann man ueber die Datei PINATUBO.INF selber definieren (s.u.). Die ersten 10 Algorithmen sind ausserdem ueber die Funktionstasten F1-F10 erreichbar. Beispiele befinden sich in der mitgelieferten PINATUBO.INF. Action: ======= Auslesen: Das eingesetzte Eprom wird ausgelesen, der alte Pufferinhalt wird ueberschrieben. Die Puffergroesse entspricht hinterher genau der des Eproms, bzw. bei aktiviertem Splitting einem entsprechenden Vielfa- chen. Vergleichen: Das Eprom wird mit dem Pufferinhalt verglichen. Leertest: Es wird geprueft, ob alle Bytes des Eproms den Inhalt $FF haben. Bittest: Es wird ueberprueft, ob der aktuelle Pufferinhalt in das Eprom programmiert werden kann. Dies ist dann der Fall, wenn bei der Programmierung nur Bits auf '0' geaendert werden muessen und nicht umgekehrt. Programmieren: Das Eprom wird mit dem aktuellen Pufferinhalt und dem eingestellten Algorithmus programmiert. Dies ist nur moeglich, wenn der Puffer nicht leer ist. Nach der Programmierung wird automatisch ein Vergleich durchgefuehrt. Der Programmiervorgang kann durch Druecken von CTRL- ALT- SHIFT(links) abgebrochen werden, es kann allerdings etwas dauern, bis die Tastenkombination erkannt wird. Extra: ====== Hardware-Test: Die Hardware des Prommers kann genau durchgetestet werden. Dabei darf kein Speicher im Sockel sein ! Es werden der Reihe nach 60 Tests durchgefuehrt, mit denen saemtliche moeglichen Spannungen an allen Pins des Textool-Sockels ueberprueft werden koennen. Dabei kann auch die Programmierspannung mit dem Poti am Eprommer exakt eingestellt werden. Fuer die Messung wird ein (moeglichst Digital-) Multimeter benoetigt, die Masseklemme wird an Pin 14 des Textool-Sockels gehalten, die andere Klemme an den zu ueberpruefenden Pin. Pinbelegung: Es wird eine Pinbelegung des gerade gewaehlten Eprom-Typs angezeigt, dies funktioniert mit allen Typen bis 32 Pins. Hexdump anzeigen: Oeffnet/schliesst das Fenster mit der Hexdump-Anzeige des Puffers. Optionen: In der Dialogbox, die unter 'Optionen' erscheint, kann man das Verhalten von Pinatubo in verschiedenen Situationen einstellen: - Ob im Statusfenster die CRC/Summe des Puffers angezeigt wird (dauert etwas, daher abschaltbar) - ob bestimmte Warnmeldungen beim Laden ausgegeben werden (Dateilaenge stimmt nicht mit Epromlaenge ueberein) - ob beim Verlassen von Pinatubo eine Sicherheitsabfrage erscheint - ob beim Verlassen die Einstellungen automatisch in die Datei PINATUBO.CFG gesichert werden sollen. Editieren von Eprom-Daten ========================= Bisher ist in Pinatubo kein Hex-Editor wie in der Original-Max*n- Software eingebaut, und ich werde wohl aus zeitlichen Gruenden nicht so bald einen Editor einbauen. Im Moment empfehle ich den Public-Domain- Hex-Editor 'XXED' oder den SED von der Kleisterscheibe. Wer mehrere Dateien auf mehrere Eproms (nicht 1:1) verteilen muss, um z.B. 2 Betriebssysteme in doppelt grosse Eproms zu brennen, kann dies recht komfortabel mit dem beiliegenden Programm ROMMIX tun, die Anlei- tung dazu befindet sich in der Datei ROMMIX.TXT. Die Datei PINATUBO.INF ====================== In der Datei PINATUBO.INF koennen diverse Einstellungen gemacht werden. Die Datei kann mit einem beliebigen Texteditor erstellt werden. Ein '#' am Zeilenanfang kennzeichnet einen Kommentar, unbekannte Befehle werden kommentarlos ignoriert. Es ist besonders wichtig, die richtige Eprommer- Hardware zu waehlen, wenn nicht der Juniorprommer verwendet wird. Eine Beispieldatei sollten Sie zusammen mit Pinatubo erhalten haben. Es sind folgende Befehle erlaubt: H n Auswahl der Prommer-Hardware: n = 0 (default): Junior-Prommer n = 1 Easy-Prommer n = 2 Vesuv A "a" b c d e f g Neuen Programmieralgorithmus definieren. Es muessen folgende Para- meter angegeben werden: a = Name b = Zeit der ersten Programmierimpulse, bis die zurueckgelesenen Daten stimmen, in 100us c = Multiplikationsfaktor fuer Nachbrenn-Zeit. Mit diesem Wert wird die Anzahl der Impulse (b) multipliziert, die noetig waren, bis das erste Mal die richtigen Daten zurueckgelesen wurden. d = Feste Nachbrenn-Zeit, in 100 us. Dieser Wert wird zu dem Ergebnis aus (c) addiert, dann werden die Daten mit einem Impuls der so berechneten Laenge nachgebrannt. e = Maximale Anzahl Versuche bei (a), bis die Daten stimmen muessen, sonst wird das Programmieren abgebrochen. f = Verify-Flag. Wenn dieser Wert ungleich 0 ist, wird erst mit (e) Impulsen der Laenge (a) gebrannt und dann erst ueberprueft, ob die Daten stimmen. Dies ist eigentlich nur fuer den 87C51- Programmieralgorithmus von Bedeutung. g = $FF-Flag. Wenn dieser Wert ungleich 0 ist, werden auch $FF-Bytes gebrannt (dies ist fuer SRAMs etc. gedacht, die nicht mit UV- Licht geloescht werden). Ein Verify, ob der Inhalt $FF stimmt, erfolgt aber immer. Die Befehle koennen in beliebiger Reihenfolge in der Datei PINATUBO.INF stehen, die maximale Anzahl zusaetzlich definierbarer Algorithmen ist auf 100 beschraenkt. Hinweise zur Hardware ===================== Megabit-Adapter: ---------------- Beim Megabit-Adaptermodul ist es sinnvoll, an Stelle der angegebenen 1N4148 Schottky-Dioden zu verwenden, z.B. BAT43. Wenn bei Verwendung eines 74HCT4040 Probleme auftreten, kann es sein, dass ein 74HC4040 diese beseitigt. 16-Bit-Adapter: --------------- Beim Brennen von 16-Bit-Eproms sind alle angezeigten Adressen (bei Fehlern etc.) BYTE-Adressen, wie sie auch im Puffer angezeigt werden, und nicht WORD- Adressen (wie sie an den Adressleitungen des Eproms anliegen), es kommen also nur gerade Adresse vor. Bei der Verwendung dieses Adapters kann Pinatubo nicht ueberpruefen, ob sich das eingesetzte Eprom selektieren laesst. Dafuer wird bei jedem Zugriff der Adapter durchgetestet, bei einem Fehler erscheint die Meldung 'Eprom laesst sich nicht selektieren'. Wenn beim Programmstart der Adapter im Prommer steckt, wird automatisch - wenn dies nicht bereits die Voreinstellung ist - das erste 16-Bit- Eprom in der Typtabelle ausgewaehlt. Bezugsquellen fuer diesen Adapter und die Bauanleitung sind in der getrennten Datei JP40.TXT beschrieben. Bei allen Adaptern kann man den Adapter auch zusammen mit dem zu programmierenden IC in den Prommer stecken - das ist praktisch, wenn man einen Adapter nur selten benoetigt und ihn deshalb nur mit einem 'normalen' Sockel bestueckt hat - dann kann man in Ruhe das IC in den Adapter fummeln und dann einfach den ganzen Adapter in den Null- kraftsockel am Prommer stecken. Hierfuer empfiehlt sich ein normaler Low-Cost-Sockel statt eines Praezisionssockels, da so das Einsetzen der Eproms leichter geht. Junior-Prommer: --------------- Beim Junior-Prommer muss unbedingt eine 27V-Zenerdiode von Pin 1 (Anode) nach Pin 6 (Kathode) des TL497 geloetet werden, diese fehlt in manchen Versionen des Schaltplanes und im Platinenlayout. Die Diode verhindert Fehlfunktionen des TL497 beim ersten Einschalten, die dazu fuehren koennen, dass beim ersten Programmieren eine zu hohe Programmierspan- nung anliegt. Das Vorhandensein dieser Diode sollte man auch bei einem Fertiggeraet ueberpruefen! Wenn man den Prommer selbst aufbaut, sollte man fuer D1-D3 auch BAT43 o.ae. an Stelle der 1N4148 nehmen, das ist aber fuer die Funktion nicht unbedingt noetig. Wenn Probleme auftreten, sollte man zuerst das Kabel zum Druckerport ueberpruefen, mehr als 40-50 cm koennen je nach Rechner und Soundchip kritisch sein. Easy-Prommer: ------------- Wer den Megabit-Adapter am Easy-Prommer verwenden moechte, muss am Easyprommer folgende Modifikation vornehmen: Links vom Textool-Sockel befinden sich nebeneinander eine Diode 1N4148 sowie ein 22K-Widerstand. Die rechten Anschluesse der beiden Bauteile sind mit dem Textool-Sockel, Pin 24 verbunden, die Diode geht an Pin 14 des 4040 daneben, der Widerstand nach Masse. Die Diode wird gegen einen Schottky-Typ (z.B. BAT43) ausgetauscht, der Widerstand wird auf 10k verkleinert. Diese Modifikation beeintraechtigt den normalen Betrieb des Easyprommers ohne Megabit-Adapter (und auch mit der Originalsoftware) nicht. Des weiteren scheint der Easy-Prommer deutlich kritischer in Bezug auf lange Anschlusskabel zu sein als der Junior (s.o.). Vorsicht: An der D-Sub-Buchse des Easyprommers liegen die Pins 14-17 und 19- 25 alle auf Masse, wer an seinem ST zusaetzliche Pins am Druckerport mit Funktionen versehen hat, oder den Prommer am Falcon verwenden moechte, sollte hier aufpassen. Vesuv: ------ Der Vesuv muss per Schalter am Geraet auf Amiga-Betrieb eingestellt werden, in diesem Modus ist er kompatibel zu einem Junior-Prommer im Amiga-Modus. Probleme mit schnellen Rechnern (PAK, TT etc.) ---------------------------------------------- Bei manchen TTs oder STs, die mit einer Beschleunigerkarte ausgeruestet sind, kommt es zu Problemen mit Pinatubo - dies aeussert sich darin, dass bereits beim Programmstart der Hardware-Test Fehler meldet, obwohl der Prommer an sich einwandfrei funktioniert. Diese Fehler verschwinden meistens, wenn der Cache abgeschaltet wird. Die Ursache dieser Probleme liegt nicht bei Pinatubo, sondern beim Soundchip, der fuer die Ansteuerung der Druckerschnittstelle zustaendig ist. Bei der Untersuchung zeigte sich folgendes: Mit folgendem Programm: loop: move.b d0,(a0) move.b d1,(a0) dbra d2,loop dbra d3,loop (A0 = FFFF8802, D0 = 00, D1 = FF) kann man am Druckerport ein Signal mit knapp 400kHz erzeugen (PAK3, 36MHz, 32K second level cache) - das duerfte so ziemlich die kuerzeste Schleife sein, die etwas auf den Druckerport ausgeben kann. Bei dieser Frequenz sieht das Signal mehr nach einer RC- Lade/Entladekurve als nach einem Rechteck aus, ausserdem ist die Amplitude - je nach Soundchip - recht gering (Spitze bei 2V oder so). Es scheint, dass der Soundchip nur extrem schwache Ausgangsstufen hat - 'normale' ICs zeigen bei diesen geringen Frequenzen jedenfalls keine solchen Effekte. Wie stark der Effekt ist, haengt anscheinend von Hersteller und/oder Serie des Soundchips ab. Es gibt also 3 Loesungsmoeglichkeiten: - Soundchip tauschen und hoffen, dass der neue besser ist - die Signale per Schmitt-Trigger auffrischen - oder die Spezialversion PINA_PAK.PRG verwenden. Diese hat an den kritischen Stellen zusaetzliche Verzoegerungen eingebaut, so dass der Betrieb auch mit solchen langsamen Soundchips moeglich sein sollte (wenn das bei manchen Soundchips immer noch nicht reicht, bitte ich um Benachrichtigung, dann mache ich es noch etwas langsa- mer). PINA_PAK.PRG ist nicht auf die PAK beschraenkt, man kann diese Version auch auf normalen STs benutzen (wenn man unbedingt will, oder Probleme mit sehr langen Kabeln hat). Allgemeines: ------------ Wenn die Versorgungsspannung des Prommers zu niedrig ist, kann es ebenfalls zu Problemen kommen, dies tritt haeufig auf, wenn man den Prommer aus dem Joystickport versorgt. Wenn Probleme auftreten, kann es helfen, den Prommer mit einem externen Netzteil zu versorgen, so dass am Prommer wirklich mindestens 5V ankommen. Dafuer spricht auch ein anderer Grund: Bei allen Programmieralgorithmen schneller als INTeLLIGENT wird von den Herstellern eigentlich gefordert, dass die Versorgungsspannung des Eproms waehrend des Programmierens auf 6V oder mehr (je nach Hersteller) angehoben wird, dies wird aber von der Junior-Prommer-Hardware nicht unterstuetzt. Daher sollte man darauf achten, dass die Versorgungsspannung des Eprommers moeglichst am oberen Ende des erlaubten Bereiches liegt, wenn man den Prommer aus dem Joystick-Port versorgt, liegen z.B. haeufig nur noch 4.5 - 4.8V am Eprom. Ich versorge meinen Eprommer mit einem externen Netzteil ueber einen im Prommer eingebauten Stabilisator (7805 mit einer Diode in der Masselei- tung), der die Spannung auf etwas unter 6V haelt - das ist zwar knapp ueber dem erlaubten, funktioniert aber prima. Wem dies zu viel ist (der 7406 auf dem Prommer oder aeltere Eproms koennten es theoretisch uebelnehmen), der sollte zumindest 5.25V einstellen, das ist noch erlaubt. Weiterentwicklung ----------------- Bisher nicht unterstuetzte Speicher-Typen koennen nach Ruecksprache ergaenzt werden, wenn man mir die entsprechenden Unterlagen (und evtl. ein Muster, wenn ich es testen soll ...) zukommen laesst. Die 8751-Unterstuetzung wird im Moment ueberarbeitet (d.h. es gibt keine Adapter-Hardware, die mit der aktuellen Software laeuft - bitte etwas Geduld!). Flash-Proms sind geplant, aber ich kann noch nicht absehen, wann es soweit ist. Das Programmieren von batteriegepufferten SRAMS waere auch moeglich. Ich brauche noch genaue Infos, ob die Pinbelegung bei folgenden Typen korrekt ist: - ROM 2K - ROM 4K - ROM 8K / 23xx Insbesondere bitte ich um Benachrichtigung, wenn jemand die Typen, die im Programm mit '**' gekennzeichnet sind, erfolgreich mit Pinatubo lesen und brennen konnte (natuerlich auch, wenn es damit Probleme gab). Diese Typen konnte ich nur anhand von Datenbuechern etc. eintragen, aber nicht selbst testen. Wer bei Erscheinen einer neuen Programmversion per eMail benachrichtigt werden moechte, kann mir das mitteilen, per Default schreibe ich *keine* Mail, sondern kuendige neue Versionen nur in der Mausgruppe ATARI.INFO an. Bekannte Bugs ------------- Waehrend Pinatubo auf den Prommer zugreift, werden alle Interrupts gesperrt. Das hat zur Folge, dass die GEMDOS-Uhr waehrend dieser Zeit angehalten wird und dass die Maus sich nicht bewegt. Daran laesst sich wenig aendern, da sonst das Programmiertiming durcheinander kommen koennte. Aenderungen: ----------- 28.9.1992 V1.0 scheint zu laufen :-) V1.1 GEM-Oberflaeche, Brennen von High-/Low/...-bytes, neue Pufferverwaltung, 27020 getestet V1.2 Pufferverwaltung geaendert, Splitten funktioniert jetzt wirklich. 22.11.1992 V1.3 kleinere Aenderungen, oeffentliche Version 7.12.1992 V1.3.1 EO und OE waren vertauscht V1.3.x Fileselect: besseres Verhalten bei 'Abbruch' Algorithmen-Auswahl ueber Dialogbox statt Menue, es koennen unabhaengig vom Typalle Algorithmen gewaehlt werden. Hilfe: Pinbelegung eingebaut Datei PINATUBO.INF wird ausgewertet Dateiname im Statusfenster wird wenn noetig gekuerzt ROMS koennen nicht mehr programmiert werden (es passierte zwar nichts, war aber unschoen) Initialisierung der Hardware erweitert (fuer Martin :-)) $FF-Bytes werden wirklich nicht mehr gebrannt, wenn es nicht gewuenscht ist (irgendwann seit 1.3.x falsch) Timing fuer Megabit-Adapter etwas unkritischer 19.1.1993 V1.3.7 Easyprommer geht CRC eingebaut Summe und CRC werden bei Splitting nur ueber die ausgewaehlten Bytes gebildet Bei Dateivergleich wird die Adresse jetzt korrekt in Hex angegeben Neues Programm: ROMMIX dient zum Zusammenbasteln und Auseinanderfummeln von Eproms, die Daten aus mehr als einer Datei enthalten. 26.1.1993 V1.4 diverse Kleinigkeiten Warnungen beim Laden / Vergleichen, wenn Datei zu lang oder zu kurz ist 8.2.1993 V1.4.1 Pinatubo stuerzt nicht mehr ab, wenn die .INF-Datei nicht gefunden wird :-) 16.2.1993 V1.4.2 bei der Pinbelegung sind die Pins nicht mehr anwaehlbar Support fuer Vesuv (noch nicht 100% getestet) 25.3.1993 V1.4.4 neue, schnellere Low-Level-Routinen - macht sich besonders auf 8MHz-Rechnern bemerkbar. 21.4.1993 V1.4.5 ausfuehrlicherer Hardware-Test beim Programmstart Interaktiver Hardware-Test fuer alle Pins 18.5.1993 V1.5 ein paar neue ROM-Typen. Oeffentliche Version. 2716 korrigiert. 29.6.1993 V1.5.1 Es kann jetzt auch ein ganz bestimmtes TI-27C010-Eprom korrekt gebrannt und ausgelesen werden :-) 7.7.1993 V1.5.2 kleine kosmetische Aenderungen 20.7.1993 V1.5.3 Fehlerhafte Warnung beim gesplitteten Laden / Anhaengen / Vergleichen behoben 10.8.1993 V1.5.4 Die Menuetitel werden jetzt auch bei Tastaturbedienung invertiert Default-Pfad, Eprom-Typ und Algorithmus kann angegeben werden 12.8.1993 V1.5.5 Typ und Algorithmus koennen per Kommandozeile gesetzt werden. Eine per Kommandozeile angegebene Datei wird automatisch geladen. 15.10.1993 V1.5.6 2716-Pinbelegung korrigiert Fehler bei Easyprommer behoben, der u.a. zu Fehlern beim Hardwaretest fuehrte. Es ist moeglich, dass auch das Programmieren von Eproms betroffen war, ich halte das aber fuer unwahrscheinlich. 7.12.1993 V1.5.7 Fehler in Pinbelegungs-Fenster behoben, wenn das Fenster ausserhalb des Bildschirms war und aktualisiert wurde 16-Bit-Eprom-Support 7.12.1993 V1.5.8 Alle wichtigen Einstellungen werden jetzt in der Datei PINATUBO.CFG abgespeichert Hex-Anzeigefenster funktioniert 27.12.1993 V1.5.9 Optionen per Dialogbox einstellbar Aenderung in 27C4096-Typtabelle 4.3.1994 V1.5.10 Fenstersystem ueberarbeitet 7.3.1994 V1.5.11 16-Bit-Adapter wird automatisch erkannt extra-Version fuer langsame Soundchips (PINA_PAK.PRG) 14.3.1994 V1.5.12 Warnungen 'Datei zu lang' / 'Datei zu kurz' korrigiert 28.3.1994 V1.6 Oeffentliche Version freigegeben - mal sehen, wann V1.6.1 noetig wird :-) meine Adresse: -------------- Michael Schwingen Ahornstrasse 36 52074 Aachen Germany eMail: MausNet: Michael Schwingen @ AC3 UUCP: rincewind@discworld.oche.de (fuer Mails >>50K): michaels@pool.informatik.rwth-aachen.de Bankverbindung: Raiffeisenbank Erp-Ahrem eG BLZ 370 692 50 Kto-Nr. 170 159 401 7 50374 Erftstadt Ich komme nur ca. jede 2. Woche zur Bank, also bitte etwas Geduld, bis ich mich zurueckmelde.