20.4 Dela Prommer Dela Eprommer für Atari ST
Und jetzt ein paar Details fuer die Hardware Freaks, die
Speicherbelegung der Hardwareregister des DELA ST-EPROMMERS. Mit
diesen Daten kann man selbst eine Steuersoftware fuer den DELA
ST-EPROMMERS schreiben.
---------------------------------------------------------------------------- Register Tabelle ---------------------------------------------------------------------------- Reg0 fb0001 eprommer control write only Reg1 fb0201 adress high write only Reg2 fb0401 adress low write only Reg3 fb0601 data out write only Reg4 fb0801 data in read only Die Bedeutung der einzelnen bits von reg0: **************************************************** * bit# bit = 0 low bit = 1 high * **************************************************** * 0 enable adress output disable * * 1 enable data output disable * * 2 TTL of pin# 20 'CE' dito * * 3 TTL of pin# 22 'OE' dito * * 4 Vcc OFF Vcc ON * * 5 Vpp = 12.5 volt Vpp = 21.0 volt * * 6 Vpp pin# 22 OFF ON * * 7 Vpp pin# 1 OFF ON * ****************************************************
Die Leistungsaufnahme im Standbybetrieb beträgt ca. 250 mA. Beim brennen haengt dies hauptsaechlich von dem EPROM ab und kann bis zu ca 800 mA betragen. Der DELA ST-EPROMMER sollte grundsaetzlich nur bei ausgeschaltetem
Rechner in den Romport gesteckt werden. Der DELA ST-EPROMMER kann mit
allen Atari Rechnern der ST Klasse verwendet werden.
Es ist darauf zu achten, dass der DELA ST-EPROMMER sorgfaeltig und
ohne Gewaltanwendung in den Romport eingefuehrt wird. EPROMS werden
immer mit der Kerbe nach oben in den Textool Sockel gesteckt.
Zuwiederhandlungen koennen sowohl das EPROM, als auch den DELA
ST-EPROMMER zerstoeren! Sie sollten sich angewoenen, EPROMS lediglich
waehrend des Hauptmenues in den Sockel zustecken, oder aus demselben
zu entnehmen. Zu diesem Zeitpunkt liegt an allen Pins des Sockels, ein
moeglichst niedriges Potential an, selbst die Versorgungsspannung ist
dann abgeschaltet.
Man koennte eine busy-LED zwischen pin 28 und 14 des
Textoolsockels anloeten, den Vorwiederstand bitte nicht vergessen. Die
LED leuchtet immer dann, wenn das EPROM irgendwie benutzt wird, sie
erlischt, sobald das EPROM abgeschaltet wird.
Die Anode kommt an pin 28, die Kathode wird ueber einen Widerstand
von ca. 1K8 an pin 14 angeloetet.
Ein weiteres Problem tauchte bei manchen CMOS Eproms auf, selbst
bei kuerzester Programmierdauer (Faktor 0) wird das Eprom
ueberprogrammiert, dh, es werden mehr bits im Eprom auf 0 gesetzt, als
sollten. Dies laesst sich meist durch einen kleinen Umbau aus der Welt
schaffen. Man loetet einfach ein 8-fach Wiederstands-Array (2K7 * 8)
unter den Datenbustreiber LS245 und zwar wie folgt:
Der gemeinsame Pin kommt an pin Nummer 1 des LS245 die acht
anderen pins werden einfach der Reihe nach an die Pins Nr. 2 bis Nr. 9
geloetet.
Diese Umbauten sollten nur durch Loeterfahrene User ausgefuehrt
werden!
Bei diesen Eingriffen verliert man natuerlich die Garantie (take
it easy)!!!
Wahrscheinlich werden viele EPROMS die Sie zu programmieren
gedenken in irgendeiner Weise in Verbindung mit dem ST verwendet
werden. Also zB auf meiner EpromDisk (Schleichwerbung?) oder vieleicht
sollen TOS EPROMS gebrannt werden, dazu ein Tip:
Der ST wird mit 8 MHz getaktet, das bedeutet ein Speicherzugriff
dauert 250 nS von dieser Zeit muss noch die MMU Zeit und fuer die
Epromdisk die Decodier Zeit abgezogen werden, das heisst, es bleiben
weniger als 250 nS fuer den Zugriff uebrig, es ist also notwendig
EPROMS mit einer Access Zeit von 200 nS oder besser noch 150 nS zu
verwenden.
Eine Faust aufs Auge Regel ist:
Eproms mit einer VPP von 21 Volt sind fuer den ST zu langsamm!
ohne Gewaehr!! Fragen Sie Ihren Haendler einfach nach Eproms mit 150nS
oder besser noch, verabreden Sie eine Umtauschmoeglichkeit, falls die
Eproms fuer Ihren Atari ST zu langsam sind!!!
Der 16 bit Mode (Aufspaltung einer Datei in upper und lower byte):
Der ST mit dem 'kraftvollen' 68000 Chip ist eine 16 bit Maschine,
die ihren Speicher spassigerweise byte weise adressiert, dh ein
Datenwort besteht aus einem higher byte und einem lower byte.
Die von meinem DELA ST-EPROMMER unterstuetzten Eproms sind reine
byte Speicher Medien, (word orientierte Eproms sind noch viiiiel zu
teuer), das bedeutet, will man ein TOS oder Programme fuer die
Epromdisk brennen, so sind die files in higher und lower byte
aufzuspalten, dies geschieht einfach durch anklicken, der DELA
ST-EPROMMER fragt stets nach, wenn irgendwo die Moeglichkeit der
Aufspaltung besteht.
Eigentlich ist dies trivial, aber viele DELA EpromDisk Anwender
klagten ueber Schwierigkeiten gerade mit dieser Funktion, daher
versuche ich nun mit einem Beispiel den Vorgang etwas besser als beim
letztenmal zu erklaeren. Als Beispiel moechte ich den Ablauf beim
brennen eines Moduls beschreiben.
(Modul siehe auch unten ModulGenerator).
Das Modul moege 128Kbyte gross sein und wurde durch den
Modulgenerator interaktiv erzeugt. Die erzeugten Daten befinden sich
dann im Buffer mit der buffer start address 0h und der buffer end
address 1ffffh.
(Das kleine h am Ende der Zahlen bedeutet, dass es sich dabei um hex-Zahlen handelt, es darf (kann nicht) mit eingegeben werden. Ein Modul
besteht aus vier 27256-150 Eproms. Diese muessen jetzt der Reihe nach
mit Daten programmiert werden. Das DELA Modul besitzt folgende Form:
Eprom #1 Eprom #2 Eprom #3 Eprom #4 SLOT Die 128Kbyte des Moduls werden wie folgt auf die vier Eproms
aufgeteilt:
#1 eprom start address 0 eprom end address 7fff buffer start address 0 mode upper #2 eprom start address 0 eprom end address 7fff buffer start address 0 mode lower #3 eprom start address 0 eprom end address 7fff buffer start address 10000 mode upper #4 eprom start address 0 eprom end address 7fff buffer start address 10000 mode lower Wenn Sie dies einmal ausprobieren, so werden Sie bemerken, dass
die Software des DELA ST-EPROMMERs eigentlich alle Werte fuer Sie
automatisch ermittelt und man lediglich den vom Programm angebotenen
default Wert zu bestaetigen braucht (durch druecken von RETURN).
Die Steuersoftware heisst 'eprommer.prg' oder so, oder wie? Das
prg benoetigt einen Monochrom bzw Color Monitor mit mittlerer bzw
hoher Aufloesung s. Voreinstellung,Kontrollfeld.acc etc.
Die niedrige Aufloesung wird aus technischen Gruenden (Faulheit)
nicht unterstuetzt. Das prg sollte (koennte vieleicht) sogar auf einem
ST mit nur 512 kbyte arbeiten. Maximal werden zur Zeit etwas ueber 300
kbyte benoetigt. Mit dem B(l)itter TOS (it's simply magic) gibt es
mehr oder weniger kaum Probleme. Falls gerade auf diesem Gebiet bugs
entdeckt werden, waere ich fuer eine moeglichst detailreiche
Beschreibung der Effekte dankbar.
Ein paar Tips fuer die Bedienung der software:
Functionkeys F11 bis F18 erreicht man durch gleichzeitiges druecken von shift und F1 bis F8. zB F11 = shift F1 F18 = shift F8 usw...
Zu jedem Hauptmenuepunkt existiert ein HelpScreen, dieser kann
betrachtet, werden, indem man im Hauptmenue F1 drueckt und danach die
Funktionstaste, zu deren Funktion man eine Erklaerung wuenscht. Es ist
sinvoll zuerst einmal alle Helpscreens zu lesen! Da fast alle
Funktionen im Klartext ohne AKUEWA arbeiten sollte der Umgang mit der
Software relativ einfach sein.
Alle Aktionen des DELA ST-EPROMMER am Eprom koennen durch den drei
Finger Griff abgebrochen werden, dh druecken Sie gleichzeitig die
Control, die linke Shift und die Alternate Taste. (Es muss die linke
shift sein.)
Die Software wurde uebrigens mit dem Megamax C compiler version
1.1 verfasst. Nur einige wenige Zeilen mussten in Assembler
geschrieben werden, hauptsaechlich der residente Teil des
Modulgenerators und einige Stellen der Interrupt Prozeduren.
Die Faktor Schnellmodes arbeiten mit 1 mS langen Impulsen, solange
bis das Eprom den Wert annimmt, bzw eine maximale Zeit ueberschritten
wird, danach wird nocheinmal mit (Anzahl der Impulse)*Faktor mS
nachgebrannt.
Die Overburn Schnellmodes arbeiten genauso jedoch mit dem
Unterschied, dass der Overburn eine konstante Laenge hat, soviele mS
wie jeweils angegeben. Gerade bei den modernen Eproms 27512 und
insbesondere bei den CMOS Typen habe ich mit diesen Algorithmen gute
Erfahrungen gemacht.
Durch die automatische Erkennung der Programmierspannung wird das
brennen besonders bequem. Ich lasse eigentlich immer den Eprommer die
gewuenschte Programmierspannung ermitteln.
Der schon in der Werbung angekuendigte Generator fuer Atari ST
Eprommodule ist nun endlich implementiert. Der Generator stellt die
128Kbyte Eprom Kapazitaet eines EpromModuls als Epromdisk zur
Verfuegung. Diese Funktion laesst sich nur dann aktivieren, wenn bei
Programmstart des Eprommers ein buffer von mindestens 128Kbyte
angelegt werden konnte. (Notfalls einfach ein paar acc's weglassen,
oder ohne Ramdisk arbeiten.)
Von den 128Kbyte eines Moduls benoetigt die Treibersoftware und
das TOS nur 2Kbyte, der Rest steht als Epromdisk zur Verfuegung. Zur
Laufzeit benoetigt der Treiber noch ca. 50 byte des Atari Speichers.
Der Generator erzeugt immer nur ganze Module, dh er erzeugt stets
128Kbyte grosse Module.
Wie arbeitet man mit dem Generator ?!?
Man waehlt einfach den Menuepunkt an, klickt an ob das Modul als
BootDevice angemeldet werden soll, dh der AUTO Ordner und die acc
files koennen dann aus dem Modul geladen werden nicht vergessen, in
diesem Fall MUSS auch das DESKTOP.INF file mit auf das Modul
gespeichert werden. Denken Sie bitte auch daran, ein floppy icon mit
der number P zu erzeugen und mit in das DESKTOP.INF zu packen (im
Desktop 'ARBEIT SICHER'). Danach wird der Fileselector sichtbar. Jetzt
koenen Sie solange Programme oder files auswaehlen, bis der Generator
mit einer Fehlermeldung abbricht, oder man der Meinung ist genung zu
haben. Achtung, es koenen keine Ordner auf dem Modul angelegt werden.
Beachte es stehen genau 252 Sectoren a 512 byte zur Verfuegung, da
der Generator ein Drive mit Drivenummer P simuliert, dh der
Speicherplatz im Modul wird nicht byteweise sondern Sectorweise
vergeben. Sobald man den Generator verlassen hat, stehen die
Moduldaten im Buffer von Addresse 0 bis Addresse 1ffff.
Sobald der Generator erneut gestartet wird, werden alle alten
Daten im Buffer geloescht.
Diese Daten brennt man nun nach der oben im 16 bit Mode
beschriebenen Weise in vier Eproms, steckt diese in das Modul,
schaltet den Rechner ab, steckt das Modul in den Romport, schaltet
wieder ein, und wird dann von einer mini Epromdisk ueberrascht.
12.5 volt bedeutet, dass der Eprommer die von den Herstellern geforderten ca. 11.5 bis 14.0 Volt zur verfuegung stellt, dh. es wird eine Spannung in diesem bereich ca. 12.6 volt erzeugt.(!nl) 21.0 volt bedeutet, dass der Eprommer die von den Herstellern
geforderten ca. 20.0 bis 21.5 volt zur verfuegung stellt, dh. es wird
eine Spannung in diesem Bereich ca. 20.9 volt erzeugt.
Friedhelm Heyer, Aachen, den 26.06.88
Copyright © Robert Schaffner (doit@doitarchive.de) Letzte Aktualisierung am 23. Mai 2004 |