Suche Eprom Simulator Eprom Emulator z.B. ELV EPS1

Beitrag #5506881 wurde von einem Moderator gelöscht.
#5507595
Lesenswert?

Hallo,
den EPS1 versuche ich auch seit geraumer Zeit zu bekommen. Der ist 
verdammt rar. Und wenn er mal auftaucht, sehr teuer... Na ja, Angebot 
und Nachfrage.

Als Alternative kommt eventuell dieser in Frage:
https://www.ebay.de/itm/memSIM2-EPROM-Emulator/162310534410?hash=item25ca76350a:g:IfAAAOSwMNxXVpjw
Der Vorteil ist dass er USB hat und die Software auch auf modernen 
Betriebssystemen läuft.
#5704948
Lesenswert?

Damals, im MCS51 Zeitalter gab es in der Elektor einen EPROM-Emulator. 
Mit Centronics-Port zum Upload. Den habe ich mir damals gebaut, er 
funktionierte einwandfrei.

Der Gag war damals, dass das Ding sich für den Host wie ein Drucker 
verhielt, d.h. man "druckte" (LPT) in den Emulator hinein, mit normalen 
DOS-Kommandos.

Der Gag ist heute, wegen diesem einfachen Prinzip müsste das auch mit 
einem USB-LPT Adapter funktionieren. D.h. unter einem neuen Windows in 
der DOS-Box eine Binärdatei an einen virtuellen LPT-Port schicken.

Der EPROM-Emulator bestand damals aus einem (LS)-TTL-Grab und AFAIR 
2x62256. Müsste also auch heute noch nachbaubar sein.
#5704979
Lesenswert?

Steffen K. schrieb:
> Damals, im MCS51 Zeitalter gab es in der Elektor einen EPROM-Emulator.
> Mit Centronics-Port zum Upload. Den habe ich mir damals gebaut, er
> funktionierte einwandfrei.

So einen EPROM Emulator habe ich noch irgendwo im Schrank liegen. Das 
originale Elektor Heft habe ich auch noch. Ich habe das Teil von 32KB im 
Huckepackverfahren auf 64 KB umgebaut und es damals gut zwei im Einsatz 
gehabt. Damals eine echte Errungenschaft;-)
Ich würd ihn bei Interesse abgeben...
(Firma: 100nF 0603 X7R) #5705096
Lesenswert?

Steffen K. schrieb:
> Der Gag ist heute, wegen diesem einfachen Prinzip müsste das auch mit
> einem USB-LPT Adapter funktionieren. D.h. unter einem neuen Windows in
> der DOS-Box eine Binärdatei an einen virtuellen LPT-Port schicken.

Habe ich lange und mehrfach versucht.
Zugriff auf einen einfachen USB-LPT Wandler erhält man in Windows nicht 
auf LPTx, sondern nur über einen virtuellen Druckerport. Darauf kann nur 
ein Druckertreiber Daten senden, kein Copy /b in der Kommandozeile. Ich 
habe trotz langer Suche keinen Druckertreiber gefunden, der die Daten 
nur 1:1 durchreicht, ohne Hinzufügen irgendwelcher 
Sonder-/Steuerzeichen.
Ergebnis: im ROM-Image im EpromSim sind eine Menge zusätzlicher Zeichen, 
die den abgelegten Code unbrauchbar machen.
Wenn es zu dem Problem eine Lösung gibt... bitte her damit!

Viele Grüße
Jörg
#5705126
Lesenswert?

Wolfgang R. schrieb:
> Maik D. schrieb:
>> Als Alternative kommt eventuell dieser in Frage:
>> Ebay-Artikel Nr. 162310534410
>> Der Vorteil ist dass er USB hat und die Software auch auf modernen
>> Betriebssystemen läuft.
>
> Was hindert Dich am Kauf des vorgeschlagenen Modells?

Mein persönlicher Wille das ELV Ding zu bekommen hindert mich am kauf 
von dem Vorschlag. Das ELV Ding kann im Zielsystem verbleiben, passt da 
mechanisch besser rein, ist "so pseudo echtzeittauglich"..
(Firma: EAS ;-)) #7123192
Lesenswert?

Der EPS1 von ELV war einer der Besten und wurde zum Schluss als Bausatz 
für einen Spottpreis verkauft.
Deshalb hab ich auch gleich 2 davon, welche ich auch ab und zu noch 
benutze,
z.B. um "Reparaturhilfen" für 8 und 16bit Rechentechnik der 80er Jahre 
zu programmieren.
Im Zusammenhang damit habe ich mir ein kleines Programm geschrieben, 
welches den EPS1 als 2716-Ersatz
"konfiguriert" und direkt aus einer Intel-Hex-Datei lädt. Für 
16bit-Maschinen hatte ich noch geplant,
zwei EPS1 gleichzeitig über getrennte COMx zu laden (orig. Software von 
ELV müsste man dafür doppelt geöffnet halten, wenn man nicht den 
ELV-RS232-Multiplexer hat und wäre bei beiden auf COM1-4 beschränkt).

Das Programm anbei ist in Visual C VS2008Express geschrieben und bis auf 
den CRC-Teil komplett aus der Doku im ELV-Heft entstanden, wobei einige 
Protokoll-Tests
per OC-Console hilfreich waren (z.B. Antworten des EPS1 bei inkorrekten 
Befehlen anschauen).
Sofern keine Rechte Dritter verletzt werden, deklariere ich meine 
Source(n) anbei als "Freeware".

Zugriff auf LPT-Parallelports unter Windows 32bit:
--------------------------------------------------
 "Wenn es zu dem Problem eine Lösung gibt... bitte her damit!" (@ Joerg 
L. 22.01.19 10:31)

1.) Im laufenden Betrieb von Windows (beim Drucken) senden 
Druckertreiber nur Daten an den Spooler
  und der managed dann alle anstehenden Druckjobs (inkl. der von den 
DOS-Boxen? kommenden).

2.) bei ungeöffneten Ports (vor allem COMs) kann es sein, dass der 
Plug'n Play Treiber zusätzlich dazwischenfunkt

3.) Win32 Anwendungen erhalten über VCOMM/file-I/O oder Win printing-/ 
spooler-API Zugriff auf LPTx

4.) müssen wahrscheinlich bei file-I/O COMs und LPTs explizit auf 
"binary" im DCB eingestellt werden
   (copy-Option /b wird offensichtlich vom Spooler ignoriert)

Laut meinen Informationen sollte der Zugriff auf LPTs über file-I/O 
genauso wie bei COMx funktionieren (siehe Link-Adressen ganz unten bzw. 
ähnlich zu meinem EPS1-Prg).
Lediglich wird in einem Programmbeispiel darauf hingewiesen, dass bei 
Zugriff auf LPTx Ports vorher der Spooler gestoppt werden muss.

https://web.archive.org/web/20160123172941/https://support.microsoft.com/en-us/kb/823179
  Abschnitt: Zugriff per Win32 API (der Quelltext zum LPT-Port steht in 
meinem Browser sehr weit rechts)

 "8. Before you can access a serial port or a parallel port, you must 
obtain a handle to the appropriate port and then configure the port 
communications.
  To do this, add the following initialization code to Module1.vb after 
the Sub Main statement.
  Note To establish communication with the LPTx port, you must stop the 
Print Spooler service.
  To do this, use the Services tool in Administrative Tools."

Per spooler API wird in folgendem Beispiel direkt Ausgegeben (Beispiel 
mit EXE):

https://web.archive.org/web/20150403072826/http://support.microsoft.com/en-us/kb/138594
(bei Verwendung von RawPrint.exe sollte der Druckername des 
installierten Druckers am besten in Gänsefüsschen geschrieben werden
 z.B. "Generic / Text only"
 siehe 
https://social.msdn.microsoft.com/Forums/en-US/bf580ecb-bec8-4118-92b0-308d79c42de7/writing-a-string-to-lpt1-the-parallel-port
 speziell Eintrag TnTinMN Monday, December 19, 2011 12:03 AM)

Ca. 2004 wurde in der Fa. in der ich damals gearbeitet habe ein 
Line-Printer-Treiber unter Win32 benötigt
 (Nadeldrucker für Alarm-Meldungen des Visualisierungs-Servers)
und der wurde mit den unter RawPrint genannten 
Escape(PASSTHROUGH)-Funktionen realisiert und das funktionierte meines
Wissens auch, wobei das zeilenweise Drucken auch per Banding/GDI 
vollgraphisch möglich gewesen wäre.

Wie man über IOCTL direkt auf den Port-Driver zugreifen kann und ob das 
von App-/user-mode-Ebene überhaupt geht,
entzieht sich meiner Kenntniss, genauso wie der Einsatz von inpout.dll 
oder giveIO, besonders bei einem USB-printer-interface.
(IOCTL macht nur Sinn, falls der Port-driver Bitmanipulation an den 
Steuerleitungen, spz. INIT, zulässt)
siehe
https://docs.microsoft.com/en-us/windows/desktop/api/ioapiset/nf-ioapiset-deviceiocontrol

https://docs.microsoft.com/en-us/windows/desktop/DevIO/calling-deviceiocontrol

https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/_gpio/

UND dann habe ich noch einen Link zu CreateFile() gefunden, der sehr 
hilfreich war!!

https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea
(siehe auch Abschnitt "Communications Resources" COM10 ist mit C-String 
"\\\\.\\COM10" zu öffnen)

Möglicherweise kann man nämlich mit dem Wissen über physical 
drives/devices direkt auf LPTx zugreifen, ohne den Umweg über den 
spooler:

copy /b filename.bin \\.\LPT1
oder

copy /b filename.bin \\.\LPT1:

habe ich beides auf meinem XP-Laptop in der Dockingstation probiert und 
nach ca. 5Min. Timeout eine Meldung "Drucker hat kein Papier" bekommen.
Wenn man zwei cmd-Fenster öffnet und beide gleichzeitig auf den selben 
Port zugreifen lässt wird beim 2. der Zugriff verweigert.
\\.\LPTx: verhält sich da ein wenig anders als \\.\LPTx (ohne 
Doppelpunkt).

Zum Schluss könnte man noch den DOS-Befehl PRINT (statt copy) probieren 
zusammen mit dem device PRN !
https://docs.microsoft.com/en-us/previous-versions/orphan-topics/ws.10/cc772773(v=ws.10)?redirectedfrom=MSDN

Andere Quellen

https://social.msdn.microsoft.com/Forums/en-US/aefcfb6a-a43d-4e68-9185-f216c51aeb48/access-complete-to-port-lpt-in-win32-and-win-64?forum=wdk

https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/_print/

https://web.archive.org/web/20160117065357/https://support.microsoft.com/en-us/kb/322090 
RawPrint VB.NET

https://web.archive.org/web/20150403064935/http://support.microsoft.com/en-us/kb/322091 
Raw Print C# .NET

zugehöriger Link zu "access-complete-to-port-lpt..."(Antwort von Don 
Burn / Windrvr)

https://web.archive.org/web/20120504174417/http://msdn.microsoft.com/en-us/library/windows/hardware/ff543926(v=vs.85).aspx

siehe dort weitere Links "Introduction to Parallel Ports and Devices" 
...

https://web.archive.org/web/20120504181622/http://msdn.microsoft.com/en-us/library/windows/hardware/ff543964(v=vs.85).aspx

IOCTL query status bits (INIT AUTOFEED PAPER_EMPTY OFFLINE..)

https://web.archive.org/web/20120318182559/http://msdn.microsoft.com/en-us/library/windows/hardware/ff544353(v=vs.85).aspx

API reference docs for Windows Driver Kit (WDK)
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/?redirectedfrom=MSDN
Angehängte Dateien:
(Firma: EAS ;-)) #8019836
Lesenswert?

zu meinem Post vom 11.07.22 habe ich noch einen Nachtrag zum Thema "2.) bei ungeöffneten Ports (vor allem COMs) kann es sein, dass der Plug'n Play Treiber zusätzlich dazwischenfunkt"

kürzlich musste ich mir einige DSP56303 Quellen zusammensuchen und fand folgende Informationen im NXP/Freescale DSP563XXEVME User’s Manual page 1-7 (Seite 19 von 80):

4.Make sure that the BIOS settings for your parallel port are one of the following depending on your individual host PC: SPP, Normal, Standard, Output Only, Unidirectional, AT, or PS/2. ECP and EPP should not be used.

5.The parallel port plug and play scanning feature in Windows XP should be turned off. This can be done by opening a registry editor (Start --> Run --> “regedit”). Browse to [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Parport\Parameters]. Double-click the DWORD “DisableWarmPoll”, set the Value data: field to 1, click the “OK” button, and then close the registry editor.

Weiterhin wurde unter "10.Make sure that any Parallel port adapters such as a USB to parallel or PCI to parallel are fully IEE1284 compliant" das Kompatibilitäts- und Timing-Problem angesprochen (der USB-Port hat eine sehr hohe Latenz, LPC-IOs und PCI-IOs dagegen arbeiten vergleichbar schnell wie der ISA-Bus). Zum Kompatibilitätsproblem gab es da eine Entwicklung von Henrik Haftmann siehe Beitrag "Re: USB-Parallelport aktivieren" (im genannten Beitrag weiter unten findet man einen Link zur Seite bei der TU Chemnitz und bei google steht zusätzlich https://www.pofowiki.de/doku.php?id=hilfe:tipps:exchanges:usb2lpt).

VG Gerd

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren