Hallo, wie kann ich mit dieser Schaltung... : http://cpuville.com/images/Z80/eprom_2.GIF diesen Code...: http://cpuville.com/EPROM_code.htm in den Eprom 2716 programmieren? Welche Data Input Switches und Adress Switches müssen geschaltet werden? Kann mir das jemand Schritt für Schritt erklären? Ich währ sehr Dankbar! Gruß -- Titel angepasst, es geht um ein EPROM, nicht um ein EEPROM. -rufus
:
Bearbeitet durch User
Sowas haben wir während des Studiums (1982 ff.) tatsächlich im Labor gemacht, allerdings viel weniger Programmzeilen. Alle Datenschalter und alle Adressschalter offen /OE Schalter auf GND Vpp Schalter auf 25V erste Programmzeile: 0004 0000 C3 20 00 JP 0020H ;Jump to start of programs Adressschalter auf Adresse 0 (= alle offen) Datenschalter auf C3 = 11000011 = zu zu auf auf auf auf zu zu 50ms Puls (5V) auf Eingang PGM Adressschalter auf Adresse 1 (nur der rechte geschlossen) Datenschalter auf 20 = 00100000 50 ms Puls Adressschalter auf Adresse 2 (nur der zweite von rechts geschlossen) Datenschalter auf 00 = 00000000 50 ms Puls Und das dann mit allen restlichen Programmzeilen. Das möchtest du hoffentlich nur verstehen und nicht wirklich machen ;-)
prom schrieb: > wie kann ich mit dieser Schaltung... : > [...] > in den Eprom 2716 programmieren? Ernsthaft? Na, dann viel Spass! Das wird eine spassige Sache... > Welche Data Input Switches und Adress Switches müssen geschaltet werden? Vermutlich fast alle... In jeweils unterschiedlicher Kombination! > Kann mir das jemand Schritt für Schritt erklären? > Ich währ sehr Dankbar! OK, mal ernsthaft: ICh erkläre es für die ersten beiden Relevanten zeilen: Also Line 4 und 6. (1,2,3,5 kannst du Ignorieren, die sind für dich nicht relevant) Mit dieser Simpelschaltung programmierst du immer Byte für Byte... Ein Bbyte bestehet aus 8 Bit. Jedes Byte hat eine eigene Adresse. Ein Offener Schalter bedeutet 0, ein geschlossener 1! Die Adressen sowie die Daten musst du mit dne Schaltern als Binärzahl eingeben. In deiner Tabelle hast du eine Spalte Line Code - Die ist nur Informativ... Dann eine Spalte LOCATION: Diese gibt an wie du ADRESSBITS zu setzen hast. Danach kommt CONTENTS: Das ist der Inhalt der an diese Adresse (und die folgenden) kommen muss. Das sind die Befehle, Sprungadressen usw. in MAschinencode. Die nächsten beiden Zeilen sind die ASM Befehle (der Maschinencode in Menschenlesbarer form) und die Kommentare. Dies kommt nicht in den Eprom... (ISt der Quelltext...) Dein Vorgehen für die Zeilen. Die erste Signifikante Adresse (Location) ist 0000 in Zeile 4. (Da an einer Adresse immer nur ein Wert stehen kann, musst du bei mehreren geleichen Adressen immer die LETZTE Zeile mit dieser Adresse beachten, die vorherigen verwerfen. Da Zeile 1 bis 4 die Adresse 0000 haben ist also nur Zeile 4 wichtig! Also: 0000h bedeutet 0000 im Hexadezimalen Zahlensysten. ISt auch 000000 im Binären Zahlensyten. Inhalt ab Adresse 0000 soll später sein CA 20 00 Also stellst du zuerst an den Adressbits die Adresse 0h == 0b = Alle Schalter offen ein. Dann an den Datenschaltern den Wert CA (Hex) CAh ist 1100 1010b Eine 1 bedeutet SCHALTER AN, eine 0 SCHALTER AUS! Daher stellst du an den Datenschaltern ein: D7 = AUS D6 = EIN D5 = AUS D4 = EIN D3 = AUS D2 = AUS D1 = EIN D1 = EIN Jetzt mit der LEitung PGM einen Programmierpuls setzen. Damit ist der erste WErt dieser Zeile Programmiert. Dann kommt nun 20h. Da dieser Wert nicht an derselben Adresse stehen kann musst du diese eine Hochzählen. Also Schalter A0 Einschalten, alle anderen Aus! Jetzt noch den Wert 20h ins Binärsystem übersetzen: sind 0010 0000b Daher stellst du an den Datenschaltern ein: D7 = AUS D6 = AUS D5 = AUS D4 = AUS D3 = AUS D2 = EIN D1 = AUS D1 = AUS PGM Puls setzen und auch diese Daten sind im Eprom. Dann noch das letzte Bzte aus Zeile 4: 00h Zuerst wieder die Adresse um 1 erhöhen. Damit sind wir bei Adresse 2. Bedeutet: Schalter A1 einschalten, ALLE anderen ADressschalter auf AUS! 00h sind auch Binär 0000 0000b Also alle Datenschalter auf AUS, dann PGM Signal senden! Und schon ist die erste Zeile fertig... Jetzt kommt die nöchste Relevante Zeile: 6 Hier steht wieder eine neue einzustellende Adresse: 0020 Dies ist 00 0010 0000 Also Adresseschalter A5 einschalten, alle anderen aus. Erstes Datenbyte ist DBh = 1101 1011b Daher stellst du an den Datenschaltern ein: D7 = EIN D6 = EIN D5 = AUS D4 = EIN D3 = EIN D2 = AUS D1 = EIN D0 = EIN PGM Impuls geben und das nächste Byte: Also wieder die Adresse um eins erhöhen. Bedeutet Adresse 21h, also A5 und A0 EIN, alle anderen AUS. 00h ist 0000 0000b, also alle D Schalter auf Aus. PGM Impuls geben und nöchste Zeile. Hier steht Adresse 22h, also diese Einstellen usw. ICh hoffe das war einigermaßen verständlich... GEnauer werde ich jetzt aber nicht mehr! Gruß Carsten Danach >> > > Gruß
@ Carsten Sch. Sehr gut und ausführlich beschrieben. Zwei gaaanz kleine Fehlerchen sind drin: Bei den Daten sind Msb und Lsb vertauscht und der jmp Befehl beim Z80 ist C3 und nicht CA. Nichts für ungut, ist nur für die Nachwelt gedacht ;-) Gruß, Tom
Hallo, das will er nicht wirklich... Habe ich damals (tm) mit MH74188 so gemacht, das waren 32x8 Bit. Trotzdem einige geschrottet, weil man sich vertan hat. Beim 2716 hieße das, daß man den Fehler beim 2047. Byte macht und ihne wieder löschen und von vorn anfangen kann... Einen passenden AVR, Daten, Adressen und Steuerleitungen an den 2716, die Programmierspannung noch mit 2 Transistoren schaltbar. Die 2k Daten mit ins Flash, 2 Tasten (programmieren und verify) und 2 LED (ok und Fehler) dran. Die Software wäre mehr als simpel. Gruß aus Berlin Michael
Das könnte für Dich interessant sein: http://www.avrfreaks.net/forum/project-atmega-based-eeprom-programmer Grüsse, René
Wenn du nur ein einziges Eprom (2716 ist nicht EEprom) brauchst, melde dich per Mail. Mit Kälberzähnen wird das nichts, da bist du monatelang beschäftigt, bis der Code fehlerfrei drin ist. Hast du eine Löschlampe für den Fall, dass du dich bei einem der 16000 Bits irrst?
:
Bearbeitet durch User
Wenn man noch ne Win98 Kiste mit Druckerport hat - hier ist ein simpler EPROM Programmer für den engagierten Bastler. Funktioniert recht gut. http://www.qsl.net/iz7ath/web/02_brew/17_eprom/english/pag01_eng.htm
So groß ist das genannte Programm ja auch nicht. prom schrieb: > diesen Code...: > http://cpuville.com/EPROM_code.htm Und wenn man dann Kodierschalter nimmt, braucht man sich um die einzelnen BIT auch nicht kümmern.
Matthias S. schrieb: > Wenn man noch ne Win98 Kiste mit Druckerport hat - hier ist ein simpler > EPROM Programmer für den engagierten Bastler. Funktioniert recht gut. > http://www.qsl.net/iz7ath/web/02_brew/17_eprom/english/pag01_eng.htm Zu dem Kabelgefitze sagst du einfach?
Hallo prom (gast), ich befürchte, dass Du nicht den 50ms-Impuls vorliegen hast, den Du zum Programmieren des EPROMs benötigst. Der ist auf dem Schaltplan nämlich so ganz lapidar vorausgesetzt worden! Optimal konvertierst Du das vorliegende Assembler Listing per Hand in ein Binärfile und versendest dieses per Mail an jemanden, der entsprechende EPROMs brennen kann. Solltest Du Bedarf haben, ich habe passende Brenner und Rohlinge von 2704 bis 27C322.
:
Bearbeitet durch User
Wolfgang R. schrieb: > ich befürchte, dass Du nicht den 50ms-Impuls vorliegen hast, den Du zum > Programmieren des EPROMs benötigst. Der ist auf dem Schaltplan nämlich > so ganz lapidar vorausgesetzt worden! Da gibt es noch einen zweiten Schaltplan auf der Seite, zum generieren des Impulses. So ähnlich hatten wir damals auch unsere ersten Eproms programmiert. nur wir hatten da ein zusätzlichen RAM Speicher in den man erstmal alles einprogrammiert hat und auch wieder ändern konnte. von dort wurde es in Eprom übertragen
Wolfgang R. schrieb: > ich befürchte, dass Du nicht den 50ms-Impuls vorliegen hast, den Du zum > Programmieren des EPROMs benötigst. Der ist auf dem Schaltplan nämlich > so ganz lapidar vorausgesetzt worden! Die pulse circuit ist hier versteckt: http://cpuville.com/images/Z80/eprom_1.GIF Wenn man über die Projektseite reinkommt http://cpuville.com/Z80.htm dann versteht man den Zusammenhang. Das Ganze ist wirklich darauf ausgelegt, von Hand ins EPROM getackert zu werden. Daher ist der Code auch nur 120 bytes lang und hat am Anfang einen Bereich für eine Liste von Sprungbefehlen. Die kann man der Reihe nach aus-NOP-en (mit 00 überbrennen) und durch neue ersetzen.
Danke erst mal für eure Hilfe, auch wenn ich nicht alles ganz verstanden habe. Mit Bytes und Bits hatte ich noch nie im Leben was zu tun, bin aber sehr interessiert daran, mal einen eigenen Z80 zu bauen. Es würde mir vollkommen reichen, wenn der Z80 erst mal nur eine LED blinken lassen kann, oder sowas in der Art. Das Programmerboard würde ich erst mal aufbauen, hinterher dann den eigentlichen Z80. Löt und Elektronikerfahrung habe ich schon eine Menge, seit ungefähr 7 Jahren bastle ich an allerlei Dingen rum. Wenn ich das Projekt beginne melde ich mich noch mal zurück. Gruß
Aber so primitiv muß man nicht anfangen. Das habe ich damals nicht mal gemacht. Kauf dir einen Programmer aus China für 40 EUR. Der kann zwar die 24V 2716 nicht, aber par. EEPROM 2816 o.ä. EPROM mit 12V wie 27128 usw. gehen da problemlos.
Kann man denn diese 2716 mit diesem Programmer programmieren? https://upload.wikimedia.org/wikipedia/commons/3/3c/Programmer_SE4942.jpg
prom schrieb: > Kann man denn diese 2716 mit diesem Programmer programmieren? > https://upload.wikimedia.org/wikipedia/commons/3/3c/Programmer_SE4942.jpg Der hier behauptet, das es geht: http://www.augusta.de/~mars/electrical.htm Aber: dazu musst du einen Rechner mit serieller Schnittstelle haben, um Dateien in den Programmierer zu laden, dazu brauchst du das Protokoll des Programmers, denn da benimmt sich jeder anders. Ohne ausreichende Unterlagen zum Gerät kriegt man das i.A. nicht hin. Muss es denn wirklich das alte Z80 Schlachtschiff sein? Nicht, das das ein schlechter Prozessor war, aber das nötige Drumherum macht es nicht einfach, sich mit dem eigentlichen programmieren zu beschäftigen. Dafür gibt es heute viel einfacherere Plattformen. michael_ schrieb: > Zu dem Kabelgefitze sagst du einfach? Der Italiener hat das auch alles sehr aufwendig und m.E. unnötig kompliziert aufgebaut. Bei mir ist das eine Lochrasterplatte mit etwa 100*100mm, einem 32 pin Sockel und zwei Jumperfeldern für EPROMs von 2716 bis 271001. Die eigentliche Schaltung ist ja wirklich simpel.
prom schrieb: > Kann man denn diese 2716 mit diesem Programmer programmieren? > https://upload.wikimedia.org/wikipedia/commons/3/3c/Programmer_SE4942.jpg Hast Du 2716 herumliegen, die weg müssen? Die alten Dinger sind gesuchte Ersatzteile. Für einen Neubau würde ich die nicht nehmen, sondern 27C64 oder 27C256. Die sind billiger, weiter verbreitet und leichter zu programmieren.
Das ist ja so was von 1979.. Damals (tm) habe ich mit zwei Lehrlingen bei Blaupunkt ein 8085 System gebaut das mit gemultiplexter 6 Stellen LED Anzeige für Adresse und Daten und einer HEX Tastatur daherkam. Nach 4 Wochen haben wir aufgegeben den 2716 mit Schaltern zu Flaschen es ging einfach nicht. Ich habe dann einen TTL Programmer mit Zählern und Registern gebaut waren zwei Din A4 Lochrasterkarten. Damit ging's fast auf anhieb. Heute lacht man darüber und holt den GALB aus dem Schrank. mfg Michael
H.Joachim S. schrieb: > Doch, es ging. > Lästig wars, das stimmt. Aber mit Geduld war es möglich. früher oder später nimmt man einen Portbaustein und generiert Adress und Daten Bits. Heute würde ich einen AVR nehmen, z.B. den arduino mighty 1284p oder einen Nano einige I2C PCF8574(A) Ports und/oder Latch Der Code kann ja dann aus HEX direkt geschrieben werden, die 50ms macht der Atmel. Ach ja Programmierspannung, ist ja auch kein Hexenwerk. Oder wie schon geschrieben wurde ein EEPROM als Ersatz nehmen
:
Bearbeitet durch User
Joachim B. schrieb: > früher oder später nimmt man einen Portbaustein und generiert Adress und > Daten Bits. Ach ja, und womit? Setzt ein Stück funktionierende Software voraus. Und das nimmt man woher? Irgendwie musste man anfangen. Ok, Adressen habe ich nicht zu Fuss sondern mit einem Zähler eingstellt. 8bit-Schalter für das Datenbyte, einen Taster zum Brennen, einen Taster zum Weiterschalten der Adresse. Die "Daten" waren das Ergebnis einer Assembler-Programmierung auf Papier :-), völlig irre. Aber es hat Spass gemacht und es hat funktioniert.
H.Joachim S. schrieb: > Ach ja, und womit? Setzt ein Stück funktionierende Software voraus. Und > das nimmt man woher? Irgendwie musste man anfangen. heute stellt das doch kein Problem mehr dar, als ich auf dem LH5803 angefangen hatte musste ich alles handkodieren auf Karopapier und per Hex Edit in den Ram tippen, aber auch schon 1977 gab es die ersten Compis die geliefert wurden, eine VIA 6522 gab es im Elektronikladen und Schaltdraht war in jeder Bastelwerkstatt.
Joachim B. schrieb: > H.Joachim S. schrieb: >> Ach ja, und womit? Setzt ein Stück funktionierende Software voraus. Und >> das nimmt man woher? Irgendwie musste man anfangen. > > heute stellt das doch kein Problem mehr dar, Heute gibt es integrierte Microcontroller mit Intel Flash(tm)EEPROM Technologie, internem RAM, Timer, Ports, Schnittstellen, etc. Wenn wir die 1977 gehabt hätten, hätte sich keiner mit UV-EPROMs in seinem 6504 EMUF abgequält. Es gab genau einen Mikroprozessor, dessen (externes) RAM man ohne Zusatzaufwand per Kippschalter beschreiben konnte. Das war der CDP1802. Alle andere sind nach dem Reset an einer festen Adresse losgelaufen, und da musste ein Programm stehen. Um über Hex-Tastatur und Siebensegmentanzeige irgendwas eintippen zu können, brauchte der Rechner ein funktionierendes ROM mit einem Monitorprogramm. Und genau da ergab sich das Henne-und-Ei-Problem. Das allererste (E)PROM musste man entweder mit Kippschaltern zu Fuss brennen, oder man wohnte halt in einer Stadt, wo es einen Computerclub gab (in dem jemand seinen Rechner schon soweit fertig hatte, dass dieser EPROMs brennen konnte). Und den musste man erstmal finden. Ohne Internet und mit Wählscheibentelefonen. Klar, der TO kann mogeln. Ich kann ihm sein EPROM brennen, oder Du, oder er nimmt ein Flash oder einen Arduino. Aber das Ziel dieses Projektes soll ja eigentlich sein, ein Wochende lang die Steinzeit nachzuempfinden. "Reenactment" nennt man das neudeutsch.
soul e. schrieb: > Klar, der TO kann mogeln. Ich kann ihm sein EPROM brennen, oder Du, oder > er nimmt ein Flash oder einen Arduino. Aber das Ziel dieses Projektes > soll ja eigentlich sein, ein Wochende lang die Steinzeit > nachzuempfinden. "Reenactment" nennt man das neudeutsch. kommt halt drauf an was sein Ziel ist, er kann alle 2kByte so per Schalter einbringen, zum Lernen würden mir die ersten 2 Byte reichen, danach würde ich "tricksen" um vorwärts zu kommen um die Kiste lauffähig zu bekommen.
es sind ja nur knapp 100 bytes. Von 0020h bis 007Dh. Ansonsten hast Du recht, ich würde mir das heute auch nicht mehr geben wollen =:-(
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.