Discussion:
Der EMUF 8052AH-BASIC
(zu alt für eine Antwort)
Ralf Kiefer
2020-04-10 18:14:05 UTC
Permalink
N'Abend!

Ich muß mal berichten :-) Ein EMUF ist dabei wiederaufzuerstehen.

Kurzfassung: Ich habe jetzt im Jahr 2020 das erste Intel-basierte System
gefunden, das mich begeistert.

Langfassung: Vor ein paar Wochen lief mir über Ebay ein EMUF 8052AH
BASIC zu. Der kam ein paar Tage später mit Handbuch und weiterem Papier
an. Erwartungsgemäß fand ich den ein bißchen verbastelt. Etwas mehr, als
auf den Fotos zu erahnen war. Aber wenigstens war nur eine Leiterbahn
defekt, die ich recht einfach flicken konnte. Außerdem war nur der
digitale Teil bestückt und nicht der mit der umfangreichen
Analog-Peripherie. Egal :-)

Zu den begeisterungsfähigen Leistungsmerkmalen des guten Stücks:
- Vorgestellt in der mc 12/1986 (das Heft lag griffbereit hier, d.h. ich
wußte vor dem Auktionsende, auf was ich biete)
- Einfach-Europakarte zur Hälfte mit dem digitalen Teil gefüllt
- Der Prozessor ist ein 8052, d.h. der hat 8kB ROM, das mit einem BASIC
der 1980er Jahre (Tiny-Basic?) gefüllt ist, inkl. Floating Point
Arithmetik.
- Der läuft mit 11,0592MHz, er könnte bis 12MHz, aber der "ungerade"
Takt ist besser für seine seriellen Schnittstellen.
- Als Basis hat der 8kB SRAM, kann auch mit einem 32kB SRAM bestückt
werden. Die waren zum Zeitpunkt der Vorstellung noch recht teuer. Ich
habe eines in der Krabbelkiste gefunden, das einen Datecode von Anfang
1987 hat :-)
- Daneben hat der zwei weitere 28pol. Sockel für EPROMs. In einem kann
ein 2764 oder 27128 programmiert werden! Die nötigen BASIC-Befehle sind
im Befehlssatz enthalten. Ein Sockel kann mit BASIC-Programmen gefüllt
werden, der andere mit Assembler-Routinen, die den BASIC-Befehlssatz
erweitern. Einfach genial :-)
- Für die IO ist ein 8255 zuständig.
- Als IO-Erweiterungen können 4 entprellte Digitaleingänge, ein
Uhrenchip mit Akku, der auch das SRAM puffert, zwei DA-Wandler, ein
4-Kanal-AD-Wandler sowie ein Treiber mit zwei Relais angeschlossen
werden. Vom 8255 bleiben dann ein paar GPIOs übrig.

D.h. dieser EMUF hat auf der Europakarte wirklich alles, was man
braucht, inkl. Entwicklungssystem.

Ich habe in den vergangenen Wochen in einem Bestellmarathon bei zig
verschiedenen Verkäufern die heute etwas exotischen IO-Chips bestellt.
Es sind schon fast alle angekommen. Über eine 64pol. VG-Leiste sind die
relevanten IO-Signale erreichbar. Dazu habe ich eine Spannungsversorgung
gebastelt, die nicht nur die 5V für die digitale Basis liefert, sondern
auch +12V, -12V sowie die Programmierspannung für den EPROM-Sockel,
wahlweise 12,5 oder 21V.

Das Schönste ist: der 8052 mit seinem BASIC V1.1 funktioniert. Er meldet
sich an der seriellen Schnittstelle mit 19200Baud. Nochmal: der wurde
Ende 1986 vorgestellt!

Frage in die Runde, da es hier MCS-51-Auskenner gibt: wie selten sind
diese 8052 mit dem internen BASIC mittlerweile? Ich habe auf die
Schnelle keine Ersatzteilquellen gefunden. "Vorsorglich" liegen zwei
8032 bereit. Das BASIC habe ich in den Weiten des Web in
EPROM-tauglicher Version gefunden.

Noch 'ne Frage zum AD-Wandler, einem NEC uPD7002C: Im EMUF-Handbuch wird
davor gewarnt den an seinen Eingängen unbeschaltet zu betreiben, da der
sonst kaputtgehen würde. Man solle nicht benutzte Eingänge an GND
hängen. Ist das ernstzunehmen?

Gruß, Ralf
olaf
2020-04-10 18:40:49 UTC
Permalink
Post by Ralf Kiefer
Frage in die Runde, da es hier MCS-51-Auskenner gibt: wie selten sind
diese 8052 mit dem internen BASIC mittlerweile? Ich habe auf die
Schnelle keine Ersatzteilquellen gefunden. "Vorsorglich" liegen zwei
8032 bereit. Das BASIC habe ich in den Weiten des Web in
EPROM-tauglicher Version gefunden.
Ich glaube nicht das die jemals ernsthaft im industriellen Einsatz
waren. Das war damals eher sowas wie die Arduino heute. Das Basic gab
es schon immer. Manche haben es auch erweitert. ICh meine Burkhard
(b.kainka) hat es auch mal fuer den 80535 erweitert. Da gab es
irgendwelche Probleme mit dem zweiten Timer oder so.
Du konntest die ja auch selber in einen Epromtypen reinbrennen.
Ich bin mir relativ sicher das man es in einem externen Eprom nutzen
konnte, allerdings dann mit kaum I/O.

Aber so richtig vom Hocker gehauen hat mich Basic schon damals nicht.
Post by Ralf Kiefer
Noch 'ne Frage zum AD-Wandler, einem NEC uPD7002C: Im EMUF-Handbuch wird
davor gewarnt den an seinen Eingängen unbeschaltet zu betreiben, da der
sonst kaputtgehen würde. Man solle nicht benutzte Eingänge an GND
hängen. Ist das ernstzunehmen?
Davon hab ich auch noch irgendwo einen rumliegen. Ich glaube so hab
ich damals Burkhard kennengelernt. Er hat die an einen PC1245 dran
gehaengt und ich hab es nachgebaut. Ich hatte damals auch noch einen
auf meinem eigenen Demoboard mit MCS48. Bei mir haben sie nicht
rumgezickt und ich war da noch ahnunglose unstudierte 16J. .-)

Olaf
Ralf Kiefer
2020-04-10 19:21:27 UTC
Permalink
Post by olaf
Ich glaube nicht das die jemals ernsthaft im industriellen Einsatz
waren.
Der industrielle Einsatz wurde mit den EMUFs und EPACs nicht unbedingt
verfolgt. Die meisten wurden von Hobbyisten gekauft, die damit ihre
Heizungs- oder Was-auch-immer-Steuerung bauten. Genau dafür ist dieser
EMUF mit seiner IO prädestiniert.
Post by olaf
Das war damals eher sowas wie die Arduino heute.
Wenn man die Lücke zwischen den EMUFs und dem Arduino von Mitte des
1990er bis Mitte der 2000-Jahrzehnts vernachlässigt, wurden die Arduinos
die Nachfolger der EMUFs, EPACs und Kat'Cen.
Post by olaf
Du konntest die ja auch selber in einen Epromtypen reinbrennen.
Ich bin mir relativ sicher das man es in einem externen Eprom nutzen
konnte, allerdings dann mit kaum I/O.
Bei diesem EMUF "nur" mit dem Verlust eines EPROM-Sockels. Ich hatte
bereits eine fehlerbereinigte Version 1.2 gefunden.
Post by olaf
Aber so richtig vom Hocker gehauen hat mich Basic schon damals nicht.
Natürlich macht das kein BASIC. Aber im Vergleich zu anderen EMUFs, bei
denen man ein Entwicklungssystem braucht, einen EPROM-Brenner und das
System von Grund auf selbst schrieb, finde ich diesen EMUF bemerkens-
und erhaltenswert, so wie er ist.
Post by olaf
[NEC uPD7002C]
Bei mir haben sie nicht
rumgezickt und ich war da noch ahnunglose unstudierte 16J. .-)
Oh, sollten sie das? Was machen die denn?

Gruß, Ralf
Hans-Joerg Schlaberg
2020-04-11 05:27:14 UTC
Permalink
Moin,
Post by olaf
Ich glaube nicht das die jemals ernsthaft im industriellen Einsatz
waren.
Ich habe in den 90igern in einer Firma gearbeitet, die mit diesem EMUF
meherere Industrieprojekte realisiert und vermarktet hatten. In der
Auslieferungsversion wurde allerdings der BASIC-Code compiliert und in
ein EPROM gebrannt. Als Prozessor wurden dann die 8031/32 genutzt.
Der 8052AH-BASIC war anfangs das Entwicklungssystem.

Gruß Hans-Jörg
Ralf Kiefer
2020-04-11 10:03:53 UTC
Permalink
Post by Hans-Joerg Schlaberg
Ich habe in den 90igern in einer Firma gearbeitet, die mit diesem EMUF
meherere Industrieprojekte realisiert und vermarktet hatten.
Ein erfahrener Anwender :-) Ich frage aus Interesse an den Prozessen,
die ihr damit gesteuert oder überwacht habt: was war denn das? Die Frage
zielt auf die Geschwindigkeitsanforderungen. Was war real mit der
Rechenleistung vom 8052 und diesem BASIC möglich? Habt ihr die
Nebenläufigkeit der Interrupt-Reaktion von diesem BASIC genutzt? Soll
heißen: funktionierte das einigermaßen?
Post by Hans-Joerg Schlaberg
Der 8052AH-BASIC war anfangs das Entwicklungssystem.
Es gab weitere Anbieter, die ähnliche Kleinrechner anboten. Ich vermute,
daß das auf einer Application Note o.ä. von Intel basierte.

Ich habe hier eine Kopie eines Artikels aus der Zeitschrift "Elektronik
Industrie" 12/1984, wo dieses System bereits vorgestellt wurde, in der
Einfachvariante sogar mit nur 2kB RAM.

Gruß, Ralf
Hans-Joerg Schlaberg
2020-04-11 11:22:29 UTC
Permalink
Post by Ralf Kiefer
Ein erfahrener Anwender :-) Ich frage aus Interesse an den Prozessen,
die ihr damit gesteuert oder überwacht habt: was war denn das? Die Frage
zielt auf die Geschwindigkeitsanforderungen. Was war real mit der
Rechenleistung vom 8052 und diesem BASIC möglich? Habt ihr die
Nebenläufigkeit der Interrupt-Reaktion von diesem BASIC genutzt? Soll
heißen: funktionierte das einigermaßen?
Zeitkritische Routinen hatte mein Chef in Assembler geschrieben.
Ich hab in BASIC geschrieben und die schnellen Assembler-Routinen in
BASIC aufgerufen.
Zwei Beispiel-Anwendungen:
- Steuerungen für die Wasseraufbereitung (Filtersteuerungen)
- Start-Stopp-Automatiken für Dieselaggregate in der Notstromerzeugung
und für Sprinkleranlagen

Das ist aber schon Jahrzehnte her. :-)
Ralf Kiefer
2020-04-12 12:17:26 UTC
Permalink
Post by Hans-Joerg Schlaberg
Ich hab in BASIC geschrieben und die schnellen Assembler-Routinen in
BASIC aufgerufen.
Rein praktisch: wie lief denn das ab? Du hast BASIC-Texte per Terminal
eingegeben und editiert, laufen lassen und getestet. Wie hast Du das
Programm gesichert (EPROM?) und weiterverbreitet oder dokumentiert?
Mutig ;-)
Post by Hans-Joerg Schlaberg
Das ist aber schon Jahrzehnte her. :-)
"Damals" war das so. Rückfallebenen, Redundanz, Sicherheitskonzepte u.ä.
kamen gerade erst.

Gruß, Ralf
Hans-Joerg Schlaberg
2020-04-12 14:53:22 UTC
Permalink
Post by Ralf Kiefer
Rein praktisch: wie lief denn das ab? Du hast BASIC-Texte per Terminal
eingegeben und editiert,
Ja. Dann durch den Compiler und Linker.
Post by Ralf Kiefer
laufen lassen und getestet.
Im EPROM-Sockel der Testhardware steckte ein EPROM-Simulator, der mit
dem Code gefüttert wurde.
Die Eingänge (digital und analog) der Testhardware waren mit Simulatoren
bestückt, die Ausgänge mit LEDs (digital) oder evtl. Messgeräten (analog).
Dann konnte man das Programm testen.
Post by Ralf Kiefer
Wie hast Du das
Programm gesichert (EPROM?) und weiterverbreitet oder dokumentiert?
Das Endprodukt war ein EPROM für die Hardware. Jedes Projekt hatte eine
aufwendige Hard- und Softwaredokumentation.
Ich hatte nebenbei auch die Bestückungs- und Montagedokumentation für
die Fertigung erstellt. Ach ja: Die Bedienungsanleitung des Produkts war
auch meine Aufgabe. War schon umfangreich.
Die Geräte wurden bei uns entwickelt, gefertigt und vertrieben. Das
volle Programm. Aber nur kleine Serien.
Die Entwicklung dieser Geräte wurde meist vom Kunden angetriggert.
Post by Ralf Kiefer
Mutig ;-)
Ich war auch manchmal mit den Kunden auf den Baustellen und habe die
Geräte vor Ort montiert, verdrahtet und in Betrieb genommen. Das war
sehr interessant.
Post by Ralf Kiefer
Post by Hans-Joerg Schlaberg
Das ist aber schon Jahrzehnte her. :-)
"Damals" war das so. Rückfallebenen, Redundanz, Sicherheitskonzepte u.ä.
kamen gerade erst.
Es gab zumindest schon die ISO 9000. :-)

Schöne Ostern und Gesundheit.

Gruß Hans-Jörg
Martin Peters
2020-04-11 15:02:16 UTC
Permalink
Post by Hans-Joerg Schlaberg
Moin,
Post by olaf
Ich glaube nicht das die jemals ernsthaft im industriellen Einsatz
waren.
Ich habe in den 90igern in einer Firma gearbeitet, die mit diesem EMUF
meherere Industrieprojekte realisiert und vermarktet hatten. In der
Auslieferungsversion wurde allerdings der BASIC-Code compiliert und in
ein EPROM gebrannt.
Compilieren konnte man da nichts, zumindest hatte das dann nichts mehr
mit dem BASIC selber zu tun. Man konnte den BASIC-Code allerdings in ein
EPROM brennen. Dazu besass das BASIC uebrigens Routinen, die ich damals
nicht genauer dokumentiert habe. Erinnere mich da an eine ganze Latte
Befehle, die sich z.T. nur durch eine Zahl unterschieden.
Post by Hans-Joerg Schlaberg
Als Prozessor wurden dann die 8031/32 genutzt.
Auf dem 8031 lief das BASIC meiner Erinnerung nach nicht. Man brauchte
schon die 256 Byte internes RAM. Ich glaube, jemand hat spaeter mal
Versionen des BASICs gebaut, mit denen das ging, aber out-of-the-box war
das iirc damals nicht moeglich... zumindest nicht ohne Aenderungen am
Interpreter.

Viele Gruesse,
Martin
Hans-Joerg Schlaberg
2020-04-11 17:21:24 UTC
Permalink
Nabend,
Post by Martin Peters
Compilieren konnte man da nichts, zumindest hatte das dann nichts mehr
mit dem BASIC selber zu tun.
http://www.grifo.com/SOFT/uk_bxc51.htm
Gruß Hans-Jörg
Martin Peters
2020-04-11 20:53:56 UTC
Permalink
n'abend auch :)

Hans-Joerg Schlaberg schrieb:
(...)
Post by Martin Peters
Compilieren konnte man da nichts, zumindest hatte das dann nichts mehr
mit dem BASIC selber zu tun.
http://www.grifo.com/SOFT/uk_bxc51.htm
Ah, okay. Kannte ich nicht und wenn doch, dann ist's wieder von meinem
Radarschirm verschwunden. Gut, hat dann halt nur insofern was mit dem
MCS52-Interpreter zu tun, als dass sie den gleichen "Sourcecode"
"verstehen".
Rainer Knaepper
2020-04-11 18:12:00 UTC
Permalink
Post by Martin Peters
Post by Hans-Joerg Schlaberg
Als Prozessor wurden dann die 8031/32 genutzt.
Auf dem 8031 lief das BASIC meiner Erinnerung nach nicht. Man
brauchte schon die 256 Byte internes RAM. Ich glaube, jemand hat
spaeter mal Versionen des BASICs gebaut, mit denen das ging, aber
out-of-the-box war das iirc damals nicht moeglich... zumindest
nicht ohne Aenderungen am Interpreter.
Elektor hatte eine 80C32-Platine mit Basic im Eprom.

Rainer
--
Lass mich raten - Du hast T-Aktien gekauft, Stoiber gewählt,
betreibst einen ALDI-PC mit der neuesten Beta als Firmenserver
und wunderst Dich, warum Dich inne 4ma niemand mehr grüsst?
(Benedict Mangelsdorff in ger.ct)
Ralf Kiefer
2020-04-11 18:40:23 UTC
Permalink
Post by Rainer Knaepper
Elektor hatte eine 80C32-Platine mit Basic im Eprom.
Das wäre meine Notfalloption mit diesem 8052, falls der kaputt geht
(oder sich als kaputt herausgestellt hätte), denn der 8032 ist ein 8052
ohne ROM.

Gruß, Ralf
Martin Peters
2020-04-11 20:47:00 UTC
Permalink
Post by Ralf Kiefer
Post by Rainer Knaepper
Elektor hatte eine 80C32-Platine mit Basic im Eprom.
Das wäre meine Notfalloption mit diesem 8052, falls der kaputt geht
(oder sich als kaputt herausgestellt hätte), denn der 8032 ist ein 8052
ohne ROM.
Ja schon, aber um einen 8052AH-BASIC-Baustein in einem System zu
ersetzen, brauchst Du dann ja einen 8752.
Ralf Kiefer
2020-04-11 22:34:00 UTC
Permalink
Post by Martin Peters
Ja schon, aber um einen 8052AH-BASIC-Baustein in einem System zu
ersetzen, brauchst Du dann ja einen 8752.
Diese EMUF-Platine hat drei 28pol. Sockel. Einer ist für SRAM, die
beiden anderen für EPROMs. Um das BASIC im EPROM unterzubringen, muß ich
die Adreßdekodierung der Sockel ändern. Das ist Aufgabe eines GALs,
dessen Gleichungen mitgeliefert wurden. Das sieht nach einer
überschaubaren Aufgabe aus :-)

D.h. man kann wahlweise einen 8031, 8032, 8051 oder 8052 einsetzen, nur
muß man die Sockeldekodierung geeignet wählen.

Gruß, Ralf
Josef Moellers
2020-04-14 12:07:00 UTC
Permalink
Post by Ralf Kiefer
Diese EMUF-Platine hat drei 28pol. Sockel. Einer ist für SRAM, die
beiden anderen für EPROMs. Um das BASIC im EPROM unterzubringen, muß ich
die Adreßdekodierung der Sockel ändern. Das ist Aufgabe eines GALs,
dessen Gleichungen mitgeliefert wurden. Das sieht nach einer
überschaubaren Aufgabe aus :-)
Wo bekommst Du denn heutzutage ein GAL her? Oder waren die lösch- und
wiederprogrammierbar?

Josef

PS Ich hate einen 8052 BASIC (aus BYTE) nachgebaut und einen Z8
BSIC/DBUG oder so. Beide sind vor einiger Zeit wiederbelebt und die
RS232-Schnittstellen für die Terminals durch USB-seriell-Adapter ersetzt
worden.
Gerrit Heitsch
2020-04-14 12:17:00 UTC
Permalink
Post by Josef Moellers
Post by Ralf Kiefer
Diese EMUF-Platine hat drei 28pol. Sockel. Einer ist für SRAM, die
beiden anderen für EPROMs. Um das BASIC im EPROM unterzubringen, muß ich
die Adreßdekodierung der Sockel ändern. Das ist Aufgabe eines GALs,
dessen Gleichungen mitgeliefert wurden. Das sieht nach einer
überschaubaren Aufgabe aus :-)
Wo bekommst Du denn heutzutage ein GAL her? Oder waren die lösch- und
wiederprogrammierbar?
GAL und PALCE kann man löschen und neu programmieren. PAL sind hingegen
nur einmal programmierbar.

Bekommen tut man sowas z.B. auf Ebay. Sind aktuell sehr beliebt weil es
jemand geschafft hat die PLA (ein 82S100 im Original) im C64 durch zwei
passend programmierte GAL 20V8 zu ersetzen.

Gerrit
Ralf Kiefer
2020-04-14 13:52:50 UTC
Permalink
Post by Josef Moellers
Wo bekommst Du denn heutzutage ein GAL her? Oder waren die lösch- und
wiederprogrammierbar?
Wie von Gerrit erwähnt ...

Weiterhin hat Reichelt GALs noch im Angebot, mindestens 16V8 und 22V10.
Ob die die alten Programmiergeräte "packen", sollte man vorher
anschauen. Ich habe glücklicherweise noch Bestände von "damals".

BTW ursprünglich war in dem 8052AH-BASIC-EMUF ein PAL 10L8 vorgesehen,
aber das wurde bereits zu Produktionszeiten "erweitert", weil löschbar.

Gruß, Ralf
Josef Moellers
2020-04-15 06:41:14 UTC
Permalink
Post by Ralf Kiefer
Post by Josef Moellers
Wo bekommst Du denn heutzutage ein GAL her? Oder waren die lösch- und
wiederprogrammierbar?
Wie von Gerrit erwähnt ...
Weiterhin hat Reichelt GALs noch im Angebot, mindestens 16V8 und 22V10.
Ob die die alten Programmiergeräte "packen", sollte man vorher
anschauen. Ich habe glücklicherweise noch Bestände von "damals".
Da muß ich mal schauen. Es sollte doch nicht schwierig sein, einen
Mikrocontroller so zu programmieren, daß er so ein Teil ... ahem ...
programmieren (*) kann. BTDT für SST27SF512 für mein SB180FX.

Hintergrund: Besagter SB180FX hat einen 9266 FDC und ich wollte den
Controller samt Laufwerke durch einen Mikrocontroller (ATmega oder
PIC24) und eine SD-Karte ersetzen bevor mir die FD-Laufwerke den Geist
aufgeben und für die Dekodierung der Signale vom HD64180 würde das
besser passen als ein FPGA, den ich mangels PAL jetzt geplant hatte. Das
FPGA hätte zwar auch die Register beinhaltet, aber mit einem PAL/GAL
wäre alles (bis auf SD-Karte) 5V-kompatibel.

Danke für den Hinweis!

Josef

(*) Mein Deutschlehrer hätte mir hier einen Wiederholungsfehler
angekreidet ;-)
Josef Moellers
2020-04-17 06:39:59 UTC
Permalink
Post by Ralf Kiefer
Post by Josef Moellers
Wo bekommst Du denn heutzutage ein GAL her? Oder waren die lösch- und
wiederprogrammierbar?
Wie von Gerrit erwähnt ...
Weiterhin hat Reichelt GALs noch im Angebot, mindestens 16V8 und 22V10.
Ob die die alten Programmiergeräte "packen", sollte man vorher
anschauen. Ich habe glücklicherweise noch Bestände von "damals".
Darf ich hier noch mal nachhaken?

Gibt es irgendwo eine Beschreibung des Programmiervorgangs
(Timing/Spannungen/Belegung)?
Ich habe mir gerade ein paar Teile beim türkischen Chinesen (oder war's
umgekehrt: chinesischer Türke?) bestellt und scheue die Anschaffung
eines Programmierers.
Ich habe mir ja für SST27SF512 selber ein "Shield" für einen Arduino
gebaut, der ganz gut funktioniert, sowas würde ich dann halt auch für
den 22V10 machen wollen.

Josef
Peter Heitzer
2020-04-17 06:58:33 UTC
Permalink
Post by Josef Moellers
Post by Ralf Kiefer
Post by Josef Moellers
Wo bekommst Du denn heutzutage ein GAL her? Oder waren die lösch- und
wiederprogrammierbar?
Wie von Gerrit erwähnt ...
Weiterhin hat Reichelt GALs noch im Angebot, mindestens 16V8 und 22V10.
Ob die die alten Programmiergeräte "packen", sollte man vorher
anschauen. Ich habe glücklicherweise noch Bestände von "damals".
Darf ich hier noch mal nachhaken?
Gibt es irgendwo eine Beschreibung des Programmiervorgangs
(Timing/Spannungen/Belegung)?
Ich habe mir gerade ein paar Teile beim türkischen Chinesen (oder war's
umgekehrt: chinesischer Türke?) bestellt und scheue die Anschaffung
eines Programmierers.
Ich habe mir ja für SST27SF512 selber ein "Shield" für einen Arduino
gebaut, der ganz gut funktioniert, sowas würde ich dann halt auch für
den 22V10 machen wollen.
Schau mal nach galblast von M. Winterhoff. In einer älteren ct war auch
mal ein GAL Programmierer beschrieben.
--
Dipl.-Inform(FH) Peter Heitzer, ***@rz.uni-regensburg.de
Josef Moellers
2020-04-17 13:45:32 UTC
Permalink
Post by Peter Heitzer
Post by Josef Moellers
Post by Ralf Kiefer
Post by Josef Moellers
Wo bekommst Du denn heutzutage ein GAL her? Oder waren die lösch- und
wiederprogrammierbar?
Wie von Gerrit erwähnt ...
Weiterhin hat Reichelt GALs noch im Angebot, mindestens 16V8 und 22V10.
Ob die die alten Programmiergeräte "packen", sollte man vorher
anschauen. Ich habe glücklicherweise noch Bestände von "damals".
Darf ich hier noch mal nachhaken?
Gibt es irgendwo eine Beschreibung des Programmiervorgangs
(Timing/Spannungen/Belegung)?
Ich habe mir gerade ein paar Teile beim türkischen Chinesen (oder war's
umgekehrt: chinesischer Türke?) bestellt und scheue die Anschaffung
eines Programmierers.
Ich habe mir ja für SST27SF512 selber ein "Shield" für einen Arduino
gebaut, der ganz gut funktioniert, sowas würde ich dann halt auch für
den 22V10 machen wollen.
Schau mal nach galblast von M. Winterhoff.
Sieht gut aus. Ich hatte auch schon ATFBLAST von bhabbot (B.H. Abbott?)
gefunden.
Post by Peter Heitzer
In einer älteren ct war auch
mal ein GAL Programmierer beschrieben.
Dazu finde ich leider nix im c't archiv.

Naja, schau'n 'mer mal, wie der Kaiser zu sagen pflegte.
Wenn die teile da sind, wird's erst ernst. Bis dahin gibt's noch viele
andere Projekte.

Danke erst mal so weit.

PX! (*)

Josef

(*) Pleibt Xund
olaf
2020-04-17 14:58:20 UTC
Permalink
Post by Josef Moellers
Dazu finde ich leider nix im c't archiv.
===============================================================================
Titel : Logische Konsequenz
Untertitel : GAL-Extender f???r den c't-EPROP
Autor(en) : Frank Majewski
Redakteur : cm
Zeitschrift : c't 4/94, S. 300
Schlagw???rter: Projekt, GAL-Programmer, GAL16V8, 20V8, 22V10, 6001, Extender,
Aufsatz, JEDEC, OPAL
===============================================================================

Aber wie schon gesagt, ich konnte damit nur GALs von einigen Herstellern
und nicht alle Versionen brennen.

Ups... sehe gerade meine software geht nicht mehr:

[olaf] ~/sources/Linux/work/lingal: ./lingal
bash: ./lingal: /lib/ld-linux.so.1: bad ELF interpreter: Datei oder Verzeichnis nicht gefunden

Naja, ist ja auch von 1996. :-)

Olaf
Josef Moellers
2020-04-20 07:56:45 UTC
Permalink
Post by olaf
Post by Josef Moellers
Dazu finde ich leider nix im c't archiv.
===============================================================================
Titel : Logische Konsequenz
Untertitel : GAL-Extender f???r den c't-EPROP
Autor(en) : Frank Majewski
Redakteur : cm
Zeitschrift : c't 4/94, S. 300
Mist ... in meinen ctROM Images klafft eine Lücke zwischen 1989 und 2003 :-(

Aber ... dabke für den "Link", damit kann ich weiter suchen. Vielleicht
hat ein Kollege die Scheibe.
Post by olaf
[olaf] ~/sources/Linux/work/lingal: ./lingal
bash: ./lingal: /lib/ld-linux.so.1: bad ELF interpreter: Datei oder Verzeichnis nicht gefunden
Naja, ist ja auch von 1996. :-)
Was sagt "file lingal"?

Josef
olaf
2020-04-20 10:55:20 UTC
Permalink
Post by Josef Moellers
Post by olaf
Naja, ist ja auch von 1996. :-)
Was sagt "file lingal"?
Da brauch ich nix zu filen. Ich hab das ja programmiert und irgendwie
glaube ich das da ein paar Dinge drinstehen wo ein aktueller Kernel
empoert husten wird. .-)

Ich glaub z.B nicht das sowas noch geht:

void outportb(int port, unsigned char value)
{
regis[port] = value;
outb(value,BASIS+port);
}

Olaf
Josef Moellers
2020-04-20 12:09:44 UTC
Permalink
Post by olaf
Post by Josef Moellers
Post by olaf
Naja, ist ja auch von 1996. :-)
Was sagt "file lingal"?
Da brauch ich nix zu filen. Ich hab das ja programmiert und irgendwie
glaube ich das da ein paar Dinge drinstehen wo ein aktueller Kernel
empoert husten wird. .-)
Das erinnert mich an einen Rechner (paßt sogar zum Thema!), ein "Torch
Triple X": MC68000 basiert mir GUI (programmiert wurde nicht in Pixeln
sondern in Längeneinheiten!). Das "Triple X" stand wohl für (ein seeeehr
frühes) X11, X.25 und nochwasmitX.
Der Rechner hatte sowohl Tastatur, Maus und Bildschirm als auch eine
serielle Schnittstelle. Ich habe ein Terminal dort angeschlossen und
nachem ich ein getty darauf gestartet hatte konnte mich sogar einloggen,
mußte aber "blind fliegen", weil nix 'rauskam. Im "vi" konnte ich aber
was sehen. Ich habe dann mal die Firma angeschrieben und bekam als
Antwort, das System hätte (vermutlich) nur eine Einzelpatz-Lizenz und
für die serielle Schnittstelle habe man das Echo abgeschaltet.
Nundenn ... den seriellen Treiber dis-assembliert und: voila: als
letztes im ioctl()-Code wurde das ECHO bit ausgeknipst. Die Lösung war
dann, mittels "adb" auf /dev/mem aus der Maske mit dem nicht gesetzten
ECHO-Bit ein 0xffff zu machen. Das mußte dann zwar immer wieder
geschehen (der Kernel war prüfsummen-geschützt), aber das machte nix.
Heute darf man /dev/mem oder /dev/kmem nicht mal mehr scharf ansehen :-(
Post by olaf
void outportb(int port, unsigned char value)
{
regis[port] = value;
outb(value,BASIS+port);
}
Ja. Früher gab's tatsächlich mal "/dev/ioports" oder so ...

Bleibt gesund!

Josef
Ralf Kiefer
2020-04-20 12:08:46 UTC
Permalink
Post by Josef Moellers
Mist ... in meinen ctROM Images klafft eine Lücke zwischen 1989 und 2003 :-(
Wenn denn Deine Mail-Adresse funktionieren würde ...

Meine funktioniert genau so, wie sie im Header steht.

Gruß, Ralf
Josef Moellers
2020-04-20 12:13:10 UTC
Permalink
Post by Ralf Kiefer
Post by Josef Moellers
Mist ... in meinen ctROM Images klafft eine Lücke zwischen 1989 und 2003 :-(
Wenn denn Deine Mail-Adresse funktionieren würde ...
Der Anfang ist richtig, dann bin ich bei GMX in DEutschland ;-)

Josef

olaf
2020-04-17 13:09:44 UTC
Permalink
Post by Josef Moellers
Gibt es irgendwo eine Beschreibung des Programmiervorgangs
(Timing/Spannungen/Belegung)?
Es gibt nicht den einen Vorgang. Die unterschieden sich je nach
Hersteller und teilweise sogar nach der Revision, also dem Buchstaben
nach der Bezeichnung.

Olaf
Martin Peters
2020-04-11 20:45:23 UTC
Permalink
Post by Rainer Knaepper
Post by Martin Peters
Post by Hans-Joerg Schlaberg
Als Prozessor wurden dann die 8031/32 genutzt.
Auf dem 8031 lief das BASIC meiner Erinnerung nach nicht. Man
brauchte schon die 256 Byte internes RAM. Ich glaube, jemand hat
spaeter mal Versionen des BASICs gebaut, mit denen das ging, aber
out-of-the-box war das iirc damals nicht moeglich... zumindest
nicht ohne Aenderungen am Interpreter.
Elektor hatte eine 80C32-Platine mit Basic im Eprom.
Elektor hat mehrere Projekte mit dem MCS52-BASIC gehabt, sowohl mir 8032
als auch mit dem 8052AH-BASIC selbst. Aber auf einem 8031 lief damals
definitiv keins.

Der 8032 hat ja 256 Byte RAM, der 8031 nur 128. Auf dem 8032 lief es
daher ja auch "ohne Probleme", wenngleich natuerlich nicht die volle
Funktionalitaet zur Verfuegung stand, weil viele Funktionspins der Ports
mit der Ansteuerung der externen Speicherbausteine belegt waren.
Ralf Kiefer
2020-04-11 22:34:01 UTC
Permalink
Post by Martin Peters
Der 8032 hat ja 256 Byte RAM, der 8031 nur 128. Auf dem 8032 lief es
daher ja auch "ohne Probleme", wenngleich natuerlich nicht die volle
Funktionalitaet zur Verfuegung stand, weil viele Funktionspins der Ports
mit der Ansteuerung der externen Speicherbausteine belegt waren.
Bei diesem EMUF wird die IO von dem 8255 erledigt, und von den
speziellen Chips daneben (AD- und DA-Wandler u.a.). Von den
Funktionspins des 8052 sind nur die Seriellanschlüsse und ein paar
spezielle genutzt, auch um das EPROM programmieren zu können. Diese
Funktionen sind fest im BASIC verankert.

Gruß, Ralf
Holm Tiffe
2020-04-14 19:28:06 UTC
Permalink
Post by Martin Peters
Post by Rainer Knaepper
Post by Martin Peters
Post by Hans-Joerg Schlaberg
Als Prozessor wurden dann die 8031/32 genutzt.
Auf dem 8031 lief das BASIC meiner Erinnerung nach nicht. Man
brauchte schon die 256 Byte internes RAM. Ich glaube, jemand hat
spaeter mal Versionen des BASICs gebaut, mit denen das ging, aber
out-of-the-box war das iirc damals nicht moeglich... zumindest
nicht ohne Aenderungen am Interpreter.
Elektor hatte eine 80C32-Platine mit Basic im Eprom.
Elektor hat mehrere Projekte mit dem MCS52-BASIC gehabt, sowohl mir 8032
als auch mit dem 8052AH-BASIC selbst. Aber auf einem 8031 lief damals
definitiv keins.
Der 8032 hat ja 256 Byte RAM, der 8031 nur 128. Auf dem 8032 lief es
daher ja auch "ohne Probleme", wenngleich natuerlich nicht die volle
Funktionalitaet zur Verfuegung stand, weil viele Funktionspins der Ports
mit der Ansteuerung der externen Speicherbausteine belegt waren.
Jaein. Ich habe hier eine Stange D87C51FA aus zugelaufenem Ramsch
gekramt, beim lesen des Datenblattes klappte mir die Kinnlade herunter:

8K Eprom, 256Bytes RAM. Das FA am Ende (FX) ist wichtig, Intel hat
wirklich seine eigene Nomenklatur über den Haufen geworfen.
Das Datenblatt gibts bei Datasheetarchive.com, direkt von intel.

Gruß,
Holm
Andreas Kohlbach
2020-04-11 16:45:21 UTC
Permalink
Post by olaf
Aber so richtig vom Hocker gehauen hat mich Basic schon damals nicht.
Es war auf allen bis einem 8-Bit Homecomputer dabei. Viele Leute,
inklusive ich, taten ihre ersten Schritte beim Programmieren (oder besser
"Koden"?) damit. Ich hatte einen C64, aber erst nach einem Jahr mich mit
Assembler auseinandergesetzt.

Ich kann nicht sagen, dass BASIC (sollte alles großgeschrieben werden)
mich vom Hocker haute. Aber das war erst mal das, worauf man bei den
meisten Homecomputern *direkten* Zugriff hatte.

Damals hatte ich mit BASIC über POKE gelernt, dessen Sound-Chip
(SID MOS 6581) zu programmieren, um ein paar schräge Sounds zu erzeugen.
--
Andreas

PGP fingerprint 952B0A9F12C2FD6C9F7E68DAA9C2EA89D1A370E0
Peter Heitzer
2020-04-14 06:54:07 UTC
Permalink
Post by olaf
Post by Ralf Kiefer
Frage in die Runde, da es hier MCS-51-Auskenner gibt: wie selten sind
diese 8052 mit dem internen BASIC mittlerweile? Ich habe auf die
Schnelle keine Ersatzteilquellen gefunden. "Vorsorglich" liegen zwei
8032 bereit. Das BASIC habe ich in den Weiten des Web in
EPROM-tauglicher Version gefunden.
Ich glaube nicht das die jemals ernsthaft im industriellen Einsatz
waren. Das war damals eher sowas wie die Arduino heute. Das Basic gab
es schon immer. Manche haben es auch erweitert. ICh meine Burkhard
(b.kainka) hat es auch mal fuer den 80535 erweitert. Da gab es
irgendwelche Probleme mit dem zweiten Timer oder so.
Du konntest die ja auch selber in einen Epromtypen reinbrennen.
Ich bin mir relativ sicher das man es in einem externen Eprom nutzen
konnte, allerdings dann mit kaum I/O.
Oder man nimmt einen 8051 kompatiblen Flash µC von Atmel (jetzt Microchip).
--
Dipl.-Inform(FH) Peter Heitzer, ***@rz.uni-regensburg.de
Christian Zietz
2020-04-10 18:50:23 UTC
Permalink
Post by Ralf Kiefer
Noch 'ne Frage zum AD-Wandler, einem NEC uPD7002C: Im EMUF-Handbuch wird
davor gewarnt den an seinen Eingängen unbeschaltet zu betreiben, da der
sonst kaputtgehen würde. Man solle nicht benutzte Eingänge an GND
hängen. Ist das ernstzunehmen?
Das Datenblatt [1] zeigt, dass die analogen Eingänge sehr hochohmig
sind: typisch 1 GΩ. Es deutet auch an, dass der ADC keinen internen
Schutz besitzt; jedenfalls ist eine Schaltung mit externen Schutzdioden
dargestellt. Insofern kann ich mir gut vorstellen, dass man die Eingänge
recht einfach unabsichtlich mit ESD zerstören kann. Auf Masse legen ist
da sicherer.

Grüße
Christian

[1] <https://www.mikrocontroller.net/attachment/283970/UPD7002.pdf>
--
Christian Zietz - CHZ-Soft - czietz (at) gmx.net
WWW: https://www.chzsoft.de/
PGP/GnuPG-Key-ID: 0x52CB97F66DA025CA / 0x6DA025CA
Ralf Kiefer
2020-04-10 19:21:26 UTC
Permalink
Post by Christian Zietz
Insofern kann ich mir gut vorstellen, dass man die Eingänge
recht einfach unabsichtlich mit ESD zerstören kann. Auf Masse legen ist
da sicherer.
Soweit "um die Ecke" hatte ich nicht gedacht. Danke, das klingt
plausibel.

Gruß, Ralf
olaf
2020-04-11 03:56:48 UTC
Permalink
Post by Christian Zietz
Schutz besitzt; jedenfalls ist eine Schaltung mit externen Schutzdioden
dargestellt.
Das waere natuerlich bloede. Aber wie ich schon sagte, mir ist damals
im normalen Bastelalltag eines 16J der das Wort EMV noch nichtmal
kannte nichts aufgefallen. Aber vielleicht hatte ich ja Glueck
Post by Christian Zietz
Insofern kann ich mir gut vorstellen, dass man die Eingänge
recht einfach unabsichtlich mit ESD zerstören kann. Auf Masse legen ist
da sicherer.
Man sollte keinen CMOS Eingang einfach so rumhaengen lassen. Egal ob
Schutzdioden oder nicht.

Olaf
Martin Peters
2020-04-11 14:53:55 UTC
Permalink
Ralf Kiefer schrieb:
(...)
Post by Ralf Kiefer
- Der Prozessor ist ein 8052, d.h. der hat 8kB ROM, das mit einem BASIC
der 1980er Jahre (Tiny-Basic?) gefüllt ist, inkl. Floating Point
Arithmetik.
Deswegen heisst dieser Baustein 8052AH-BASIC. Sollte iirc auch so
draufstehen.

Das ist btw. kein Tiny-BASIC im klassischen Sinne (der Interpreter ist
recht umfangreich), sondern ein von Intel (John Kathausky oder wie der
Entwickler hiess) entwickelter BASIC-Interpreter, speziell fuer den
8052AH. Ich weiss das noch, weil ich damals seine Ego-Message fand. Ich
hab den in den ganz fruehen 90ern mal disassembliert und dokumentiert,
bis ich wenige Jahre spaeter den Quellcode auf einem ftp-Server fand.
Das BASIC hat meiner Erinnerung nach erhebliches Optimierungspotential,
war aber trotzdem ne tolle Leistung vom Entwickler. Die Arithmetik war
BCD-basiert und damit eher nicht so flott. Auch viele trigonometrischen
Funktionen waren meiner Erinnerung nach eher einfach implementiert,
okay, nicht unbedingt schlecht, eher nicht so performant. Ich hab 1992
oder so ernsthaft ueber ne Version 1.2 nachgedacht, aber das haben viele
Jahre spaeter andere dann erledigt. Inwiefern die die Probleme
angegangen sind, die ich damals entdeckt habe, weiss ich allerdings
nicht. Kann garnicht glauben, dass das bald 30 Jahre her ist.

Alles in allem trotzdem ein gutes BASIC.

Elektor hatte in den ganz spaeten 80ern oder ganz fruehen 90ern auch mal
ein Bauprojekt dazu. Es gibt von elektor auch ein Buch dazu. Ohne das
haette ich das damals bestimmt nicht disassembliert gekriegt. Da sind
auch viele interne Datensstrukturen beschrieben. Allerdings steht da
auch nichts drin, was man nicht auch in den Datenblaettern haette finden
koennen. Aber die habe ich erst in den spaeten 90ern das erste mal
gesehen.
Post by Ralf Kiefer
Frage in die Runde, da es hier MCS-51-Auskenner gibt: wie selten sind
diese 8052 mit dem internen BASIC mittlerweile?
Also das BASIC 1.1 ist sehr haeufig. Wenn Du einen mit 1.0 findest, hast
Du ne Raritaet ;-)

Viele Gruesse,
Martin
Ralf Kiefer
2020-04-11 16:27:38 UTC
Permalink
Post by Martin Peters
Deswegen heisst dieser Baustein 8052AH-BASIC. Sollte iirc auch so
draufstehen.
... und "VERSION 1.1", also kein 1.0.
Post by Martin Peters
Das ist btw. kein Tiny-BASIC im klassischen Sinne (der Interpreter ist
recht umfangreich), sondern ein von Intel (John Kathausky oder wie der
Entwickler hiess) entwickelter BASIC-Interpreter, speziell fuer den
8052AH.
Hier hat sich jemand um die Historie gekümmert:
https://www.dos4ever.com/8031board/8031board.html

Die Version 1.2a lief dann auch auf 8031/8051, also mit nur 128Byte
internem RAM. Im Jahr 2001 gab's abschließend noch 1.3. Bemerkenswert.
Post by Martin Peters
Alles in allem trotzdem ein gutes BASIC.
... und ein halbes Betriebssystem für ein Embedded System.
Post by Martin Peters
Elektor hatte in den ganz spaeten 80ern oder ganz fruehen 90ern auch mal
ein Bauprojekt dazu.
November 1987, Artikel ist als nicht ganz optimale Papierkopie hier :-)
Post by Martin Peters
Post by Ralf Kiefer
Frage in die Runde, da es hier MCS-51-Auskenner gibt: wie selten sind
diese 8052 mit dem internen BASIC mittlerweile?
Also das BASIC 1.1 ist sehr haeufig. Wenn Du einen mit 1.0 findest, hast
Du ne Raritaet ;-)
Ok, dann muß ich mal weitersuchen, um notfalls eine Ersatz-CPU vorrätig
zu haben. Denn 8052AH gibt's genügend, nur haben die alle was anderes im
ROM. Notfalls gibt's noch 8752 als EPROM-Version.

Gruß, Ralf
Loading...