Hallo,
ich weiß, EPROMs sind veraltet, trotzdem möchte ich gerne verstehen wie
früher zum Beispiel Assembler oder Programmiersprachen für Computer
lauffähig in ein EPROM gebracht wurden.
Ich nehme mal an, das diese Programme zunächst auf dem jeweiligen
Computer programmiert wurden und lauffähig waren, bevor sie dann in ein
passendes EPROM transferiert wurden.
Was galt es da zu beachten... gibt es da ggf. Beschreibungen/alte
Unterlagen die den Prozess beschreiben und wo Ihr mir vielleicht einen
Link oder eine Quelle zusenden könnt?
In Summe geht es hier um einen alten Computer (ZX81) für den es diverse
Programm Images in Binärformat zum brennen in ein EPROM gibt, und hier
möchte ich einfach nur den Prozess bis zur Imageerstellung verstehen.
Vielen lieben Dank
Wenn man heute noch für so alte Prozessoren Programme Entwickelt dann
genauso wie für aktuelle Mikrokontroller.
Man schreibt sie in Assembler oder in C und kompiliert sie mit einem
Crosscompiler.
Führt sie eventuell in einem Emulator aus, und Flasht dann den
Mikrokontroller bzw. brennt den EPROM-Baustein.
Hallo,
ich weiß´jetzt nicht, was dir da so unklar ist?
Das Programm wird normal mit einem Entwicklungstool erstellt, da normal
auf einem PC oder einer Alternative oder einem Vörgänger des PC läuft.
Versierte Programmierer können kleine Projekte auch ohne so was entw.
Manche Entw-Tools mit intergeirtem Debugger simulieren das Zielsystem
nur, bei aufwendigeren Systemem hat man einen Incircuit-Debugger.
Die Programmiersprache kann Assembler oder eine Hochsprache sein.
Manche versierte Programmierer können Programme auch direkt in
Maschinensprache schreiben, aber natürlich macht man das bei komplexen
Aufgaben nicht.
Bei Hochsprachen braucht man natürlich einen Compiler und dann normal
auch noch einen Linker.
Damit wird ein Hexfile generiert, das dann mit einem EPROM-Programer auf
den EPROM gebrannt wird.
Gruß Öletronika
Namaste
Heute geht das, früher hat man erstmal am Schreibtisch (wörtlich) alles
schön aufgeschrieben und dann Hexcode von Hand eingetippt um dann ein
Brennertool anzuweisen das ganze vom Ram ins EPROM zu tansferieren.
Dafür hat man mit etwas Geschick einen Hexeditor mit
Checksummenberechnung benutzt. Denn bevor man einen Assembler hatte
musste man von Hand als0 zu Fuss assemblieren und Opcode und Parameter
mittels handschriftlich zu erstellenderer Listings zusammengefügen.
Namaste
Es gab sog. Eprom-Emulatoren, die aus statischen Rams bestanden.
Wenn das Programm dann fehlerfrei lief, wurde deren Innhalt auf
einen "richtigen" Eprom gebrannt.
Das ersparte die ewige Löscherei und Wiederprogrammierei der armen
Eproms.
MfG Paul
Winfried J. schrieb:> um dann ein> Brennertool anzuweisen das ganze vom Ram ins EPROM zu tansferieren
Warmduscher.
Sowas hat man Binärbyte für Binärbyte und Adresse für Adresse mit
DIL-Schaltern eingestellt und mit einem Taster und ein bisschen Logik
dahinter das Byte ins EPROM gebrannt.
mfg.
Paul Baumann schrieb:> Das ersparte die ewige Löscherei und Wiederprogrammierei der armen> Eproms.
Besonders wenn es OTP ohne Fenster waren und man nur einen Schuss hatte.
> Warmduscher
tut mir leid bei mir gings vom Relais über Magnetkarte am Tischrechner
direkt zum 8Bit ATARI
> "mit DIL-Schaltern eingestellt und mit einem Taster "
Davon habe ich auch gehört. Ich glaube der Schlenzig hat mal einen
Melodiegenerator mit NE555, Schiebergister, Epromm und dieser
Programmiermethode veröffentlicht. Allerdings wurden der DIL Schalter
und Taster mittels TT-Modellbahnschaltpulten substituiert.
Letzere benutze ich glegentlich um SPS Eingänge im debugging zu
schalten.
Vorteil sie lassen sich sowohl monostabil tasten als auch bistabil
schalten.
Namaste
So habe ich auch meinen allerersten Eprom programmiert. 2716,
Monitorprogramm für einen Z80. Adresse und Daten per Schalter,
Feuertaste :-)
Erstes Programm am Eigenbau-Rechner war dann ein Eprom-Programmer.
Weiss nicht mehr, wie viele Versuche ich gebraucht habe. Aber es war ein
sehr intensives Erlebnis...Ich hatte nur einen einzigen Eprom
(Goldstaub) und fuhr dann mit dem Moped in die Sauna, um dort eine
Viertelstunde Höhensonne zu buchen...
H.Joachim Seifert schrieb:> fuhr dann mit dem Moped in die Sauna, um dort eine> Viertelstunde Höhensonne zu buchen...
Daher kommt die Bezeichnung "Brown out", weil die Eprom-Besitzer mit
satter Bräunung wieder aus der Sauna kamen.
MfG Paul
Nene, die Sache war mir suspekt.
Das roch so komisch und die Brillen waren auch sehr eigenwillig. Habe
nur mein Heiligtum mit Isolierband angehängt. War schon ne errückte
Zeit.
Hallo Torsten,
die meisten Leute werden den ZX81 wohl in Basic programmiert haben.
C war ja noch ganz jung und eine Programmierumgebung rund um den ZX81
ist mir nicht bekannt. Erst recht keine Emulatoren oder Eprom-Brenner.
Man wird damals eher kompatible (8080) Rechner verwendet haben mit
CP/M als Betriebssystem. Wahrscheinlich wurde darauf die Software
entwickelt und dann mittels Eprom-Emulator oder Eprom-Brenner direkt
am ZX81 getestet.
Die Assembler und Compiler waren sündhaft teuer und der Otto-Normal-
bürger konnte sich weder einen CP/M-Rechner, noch Assembler leisten.
In den 90ern, als Mikrocontroller noch externe Eproms hatten, hat man
gerne eprom-Emulatoren mit Ram verwendet. Die wurden u.a. am Parallel-
port angeschlossen und haben einen Drucker simuliert.
Im Emulator hat dazu ein Binärzähler die Adressen des Rams hochgezählt
(mit Hilfe des Strobe-Signals vom parallelport) und über die acht
Datenleitungen das RAM beschrieben. Am Schluss wurde der Reset für den
Prozessor freigegeben und dieser hat mit dem neuen Programm gestartet.
Genauso kann man auch ein Eprom beschreiben. Es sind lediglich noch
Timer und eine Programmierspannungserzeugung notwendig.
Habe ich alles noch im Keller liegen samt Eprom-UV-Löschgerät. Kannste
gerne alles haben. (kostenlos)
Der Apple II hatte damals eine Z80, bzw. 8080 Steckkarte. Damit kamen
dann auch erstmals bezahlbare Assembler und erste Compiler auf. Das war
aber zeitlich nach der ZX81-Ära und nicht wirklich mehr relevant.
Einige Elektroniker haben auch mittels DIP-Switches selber Programme
in Maschinensprache direkt in EEPROMs gebrannt. Ich gehöre auch dazu.
Mir ist auch bekannt, dass es Boot-Programme gab, die aus Diodenarrays
aufgebaut waren und über einen Zähler ausgelesen wurden. Mit 16 Bytes
konnte man schon einen Bootloader bauen. :)
Früher hatten diese CPUs noch einen Ausgang der aktiv wurde, wenn ein
Befehl abgearbeitet wurde und einen stopp-Eingang mit dem sie angehalten
werden konnten. Somit konnte man Programme step für step abarbeiten,
eben
mit DIP-Schaltern und Tastern.
Wenn Du heute ein Image auf ein EEPROM brennen möchtest, dann benötigst
Du lediglich einen EPROM-Brenner. Ich habe lange nicht mehr geschaut
aber
sowas gibt es sicher noch. Sicher auch für USB. Wobei, die alte Methode
mit dem Druckerport würde immer noch gehen. ...sofern der PC sowas noch
hat.
Viele Grüße,
Christian
Winfried J. schrieb:>> um dort eine Viertelstunde Höhensonne zu buchen>> du hättest ihn auch im Sommer aufs Fensterbrett kleben/legen können.
Nö, ham wir damals probiert, war selbst nach einer Woche im Sommer aufm
Fensterbrett nichts zu machen, die Bits sind nicht mal ansatzweise auf
high gehüpft. Zumindest die 2716, mit denen wir damals gespielt haben,
waren da recht resistent. Ich habe dann auch beschlossen, die EPROMs in
meinem Apple ][ Klon nicht zu zukleben und habs nie bereut :-)
Mein 8051 Entwicklungssystem hatte einen Static RAM ab 0h8000 und unten
bei 0h0000 natürlich den EPROM. Wenn ich was probiert habe, dann immer
mit ORG 0h8000 assembliert und ins Dev System hochgeladen. Wenns
gelaufen ist, dann mit ORG 0h0000 nochmal assembliert und ab ins EPROM.
> In Summe geht es hier um einen alten Computer (ZX81)
Hm..ich kann dir sagen wie das 1983 mit einem ZX-Spektrum funktioniert
hat.
Zunaechst mal, man fragte nicht im Internet doof rum wenn man etwas
nicht konnte sondern hat entweder ein Fachmagazin (Happy Computer, Elrad
:-) gelesen. c't gab es erst ab 12/83. Ausserdem hat man sich den Zaks
aus der Stadtbibliothek besorgt. Und irgendwoher, Reviermarkt? Kam eine
Kopie einer Kopie von einer Kopie des Schaltplans und der
Steckerbelegung. Die war so beschissen lesbar das ich selbt mit 16 schon
glaubte einen Augenschaden zu haben.
Auf der Hobbytronik konnte man sich den Stecker fuer den
Erweiterungsslot kaufen. Ausserdem ein Eprom. (Damit war das Taschengeld
dann weg)
Im uebrigen nicht mit einem Nullkraftsockel. Dafuer war man als Schueler
nicht reich genug.
Dann hat man sich die Schaltung ausgedacht und das Programmiergeraet auf
Lochraster gefaedelt und hinten an den Erweiterungsbus gesteckt. Die
Software wurde in Basic geschrieben. (Aechz. Basic, so ein scheiss!)
Die 1ms Impulse fuer den Programmieralgorythmus wurden mit einem 1Kanal
Hameg ueberprueft das es kurz vorher als Bausatz(!) zu Weihnachten gab.
Die Assemblerprogramme wurden auf Papier von Hand geschrieben und
uebersetzt. Das hat den Vorteil das man danach die wichtigsten
100Befehle und ihren Hexcode auswendig konnte. (Ich glaube RET ist C9
oder? :-) Und den Nachteil das man eine gewisse Aversion gegen relative
Spruenge entwickelt.
Tja, und dann konnte man z.B das Rom dex ZX in das Eprom kopieren und
dort zusaetzliche Routinen einfuegen die es erlaubt haben von jeder
Kasette eine Sicherungskopie zu machen. :-D
Interessant war auch das Loeschen des Eproms. Das lief mit einem 250W
HQL Quarzbrenner mit entferntem Aussenglas. Einschalten, Kinderzimmer
verlassen, 10min warten, Luft anhalten (wegen Ozon) zurueckkommen und
Stecker ziehen und Fenster oeffnen. Da sind dann auch gleich alle
Muecken von der Wand gefallen weil sie einen Sonnenbrand hatten und
blind waren.
Was lernt man draus?
1. Der heutige Nachwuchs nervt manchmal weil er es fuer normal haelt das
alles von selbst geschieht und er ein Recht auf Doofheit und Internet
hat.
2. Man hat Verstaendnis dafuer weil man selber niemals mehr so
entwickeln moechte. Waren halt harte Zeiten damals. :-)
Olaf
Meinen ZX81 habe ich damals mit aufgestocktem RAM gepimpt, ich denke
mal, so etwas ähnliches hat der TE auch vor. Auf den 2k RAM (6116 oder
so) habe ich weitere 6116 gestapelt. Das /CS Signal für die RAMs kam von
einem 74138 in
Dead-Bug Technik.
Wenn man nun statt der aufgelöteten RAM einen 24 pol. Sockel nimmt, kann
man da auch ein EPROM aufsetzen. Trickig ist allerdings die
Programmierung, denn der ZX81 hatte da ja kein Assembler drin, sondern
Tokenized Basic.
Ans Sinclair ROM geht man besser nicht ran, die Nummer mit dem Video,
der ULA und dem NMI kriegt man speziell als Anfänger vermutlich nie hin.
> Trickig ist allerdings die Programmierung, denn der ZX81 hatte da ja kein> Assembler drin, sondern Tokenized Basic.
Deshalb hatte man da ja von Hand gemacht. Da ist man wenigstens
motiviert keine Fehler zu machen. :-)
Ich glaube im Elektor Halbleiterheft von 1979 war auch eine Schaltung
drin wie man ein Eprom nur mit Schaltern und einem Monoflop
programmiert. Das war dann wohl fuer die ganz harten.
> Ans Sinclair ROM geht man besser nicht ran, die Nummer mit dem Video,> der ULA und dem NMI kriegt man speziell als Anfänger vermutlich nie hin.
Das Rom im ZX Spektrum war pinkompatibel zum 27128. Ausserdem war der
gesamte Adressraum bereits belegt.
Wenn man nur im Ram programmieren will dann kann man das ja auch einfach
in eine Rem-Zeile poken.
Olaf
Olaf schrieb:> Das Rom im ZX Spektrum war pinkompatibel zum 27128. Ausserdem war der> gesamte Adressraum bereits belegt.
Im ZX81 wars ein 8k Mask-ROM, vermutlich auch JEDEC Standard a là
2564/2764. Voll bis obenhin und eben die trickige Videologik mit der
Ferranti ULA verwurschtelt. Der Z80 rechnete praktisch nur in der
Austastlücke, während des Bildaufbaus bekam er von der ULA NOPs
untergeschoben und Ferranti machte das Video.
Olaf schrieb:> Ich glaube im Elektor Halbleiterheft von 1979 war auch eine Schaltung> drin wie man ein Eprom nur mit Schaltern und einem Monoflop> programmiert. Das war dann wohl fuer die ganz harten.
Denke ich auch. Ich habe mir letztes Jahr aus der Not heraus wieder
einen Prommer gebaut, der am LPT läuft:
http://www.qsl.net/iz7ath/web/02_brew/17_eprom/english/pag01_eng.htm
Matthias Sch. schrieb:> einen Prommer gebaut, der am LPT läuft:
Was ist denn ein LPT? :-)
In der Firma habe ich einen Galep3 liegen für die immer seltener
auftretenden "Notfälle", so alle paar Jahre inzwischen.
Dafür habe ich dann auch noch ein Notebook mit XP weil die Galep32
Software sich unter Win7 nichtmal installieren lassen will und aktuelle
Rechner sowieso nur noch USB haben.
LPT = List Printer
Er meint wohl eher den SPP = Standard parallel Port.
Wobei zu Basteln der EPP =Enhanced Parallel Port wesentlich
interessanter war, da bidirektional und schneller. Beinhahe jeder
Desktop Computer seit der 386er Generation hat einen EPP kompatiblen
Port.
Stefan us schrieb:> LPT = List Printer>> Er meint wohl eher den SPP = Standard parallel Port.>
Deine Beiträge sind wie Tag und Nacht. Dieser ist sehr verquer.
Christian schrieb:> ...> Habe ich alles noch im Keller liegen samt Eprom-UV-Löschgerät. Kannste> gerne alles haben. (kostenlos)...>> Viele Grüße,> Christian
Hallo Christian... an Deinem Angebot hätte ich durchaus Interesse. Wenn
Du dazu stehst, dann schreib mich doch bitte mal per PN an wenn Du
Forumsmitglied bist.
Allen anderen für Ihre bisherigen Beiträge vielen Dank... auch wenn
diese von meiner eigentlichen Frage teilweise abschweifen... aber
Geschichte(n) ist/sind ja auch schön :-)
Hallo Christian,
vielleicht liest Du diesen Thread ja nochmal... würde mich freuen wenn
Du mich bezüglich Deines oben gemachten Angebots per PN anschreiben
könntest, damit wir ggf. alles weitere regeln könnten.
Vielen lieben Dank