Wer kennt einen PC mit 2 Printerports?

#8101530
Lesenswert?
• ▲
▼

Hans L. schrieb:

der sollte aber 2 echte Printerports haben.

Zwei Native, das ist schwierig. Entweder sie haben einen Steckanschluss im rear panel oder einen header auf dem Mainboard. Zwei davon, dass war sogar damals schon selten. Also wird es darauf hinaus laufen, ein zusätzliches Board einzustecken auf dem man IRQ und IO-address konfigurieren kann.

Hört sich nach Hardware Steuerung an. Da wird es doch wohl bessere Lösungen geben.

#8101532
Lesenswert?
• ▲
▼

Keinen. Weil das keiner mehr braucht. Sollte man MACH3 mit direkten Motortreibern haben, ist man auf dem Irrweg keine externe USB Mach3 Karte einzusetzen.

Ein AM1 Sockel Board wie Asus AM1I oder AM1M hat 1 LPT, und einen PCIe Slot für eine Karte mit einem zweiten https://www.amazon.de/Express-Parallel-Card-Druckanschluss-LPT-Druckerkartenadapter-default/dp/B08GM8M3GK Da die Karten kleine sind, bekommt man durch Entfernen der Blende eine geringere Höhe hin. Aber man muss das selbst zusammenbauen, einen fertigen PC mit AM1 Board kenne ich nicht.

Oder einen alter Laptop mit 1 LPT ausstatten mit PCMCIA/CardBus LPT Erweiterungskarte,

#8101559
Lesenswert?
• ▲
▼
#8101580
Lesenswert?
• ▲
▼

Hans L. schrieb:

Ein Programm benutzt beide Karten. Es geht mir um kleine Baugröße.

Das kann nicht das Hauptproblem sein. Für welche Art von Lösung brauchst du 2 Druckerports? Welches OS, oder ist das eher egal? Genaugenommen sollte man sich nach alten Industrie-PCs umsehen, die es eher noch auf ebay gibt. Manche Sachen kann man auch mit Emulationen (mit USB) hinbiegen. Wenn du Glück hast, findest du noch passendes Material zum Selberbauen.

#8101585
Lesenswert?
• ▲
▼

Hans L. schrieb:

Ein Programm benutzt beide Karten. Es geht mir um kleine Baugröße.

reicht immer noch nicht für eine Salami-Pizza... Wozu brauchst du die Kiste? Michael B. hatte ja schon vermutet, dass es sich um eine Mach3-CNC-Steuerung handeln könnte.
Dafür gibt es inzwischen USB-Lösungen (auch von anderen Anbietern wie von Fa. Lewetz für WinPC-NC oder von Christian Knüll "EstlCAM").

Wenn das Vorhaben so extrem geheim ist, wirst du hier sicherlich keine Hilfe finden.

Die kleineren PC-Gehäuse haben übrigens meistens nur Platz für die halbe Bauhöhe. Thinclients haben gar keine PCI-Slots mehr. Und einen Parallelport? Ganz mein Humor.

#8101598
Lesenswert?
• ▲
▼

H. H. schrieb:

Es gibt schon noch Mainboards damit, aber wohl nicht mit gleich zwei.

Thinclients mit Parallelport?
Naja, mein "neues" Dienstnotebook (Lenovo T15) hat auch einen originalen HDMI-Port.
Da kann es natürlich auch sein, dass es noch Thinclients mit Parallelport gibt.

H. H. schrieb:

aber wohl nicht mit gleich zwei.

Ja, das wäre ein absolutes Nischenprodukt.

Die o.g. Delock-Karte wird sogar mit Low-Profile-Slotblenden geliefert.
Da würde sich ein Barebone (oder wie die Dinger sich jetzt nennen) anbieten.
Als Fertiggeräte eher unwahrscheinlich.

#8101606
Lesenswert?
• ▲
▼

Ist denn schon klar, unter welchem Betriebssystem das laufen soll? Falls W10 / W11, es gibt USB-to Parallel-Adapter, die sich wie ein LPT verhalten. Nur Ansteuerung wie unter W95/98 direkt aus dem Anwenderprogramm auf die Portbits zu gehen, wird nicht funktionieren. Alternative für bitbanging: Labjack von Meilhaus mit genügend Ausgängen.

#8101657
Lesenswert?
• ▲
▼

Ich würde sagen, nimm einen Mini PC mit PCI-E M.2 Slot (auf den richtigen Key achten), der auch von USB oder SD Karte oder so booten kann. Dann einen Adapter zu einem normalen PCI-E Slot: https://share.google/POgQReT0w01U6v7CN Daran dann die Karte für 2 Parallel Ports (z.B. die oben verlinkte delock).

Für den Mini-PC könnte man den ROCK 5B oder so nehmen. Ist zwar ARM64, und nicht trivial das OS zu installieren, aber dann packt man alt ne VM drauf. Bei so uralt Software ist dass dann vermutlich wieder schnell genug.

Den Versand nicht mitgerechnet, bekommt man das alles für so ca. 120Fr. (Ohne Gehäuse, SD Karte, Netzteil oder Kühlkörper und mit dem Mehraufwand das nachher zum laufen zu kriegen. Naja, in das Gehäuse für so einen mini PC passt das eh nicht alles rein).

Beim Netzteil muss man da noch beachten, der M.2 zu PCI-E Adapter muss an 5V und 12V angeschlossen werden, da braucht man dann auch was spezielles. Eventuell so ein SATA/Molex Netzteil, ein Molex Splitter, und dann ein Molex zu USB-C PD Adapter (oder direkt an die GPIO Pin leiste).

Und dann beten, dass das auch funktioniert.

#8101668
Lesenswert?
• ▲
▼

Generell für derartige Vorhaben, alte Bitbanging-DOS-Software auf moderne Hardware zu bringen:

Dosbox bzw. Dosbox-X hat ein einigermaßen aufgeräumtes und erweiterbares IO-Subsystem, wo man relativ einfach eigenen Code an IO-Ports binden kann:

1
IO_RegisterWriteHandler(0x378, Bitbang_Write_Handler, IO_MB);
2
IO_RegisterReadHandler (0x378, Bitbang_Read_Handler,  IO_MB);
3
...
4
void Bitbang_Write_Handler(Bitu port, Bitu val, Bitu iolen) {
5
  // val/port auswerten, damit z.B. /sys/class/gpio/... setzen,
6
  // ftdi ansteuern, Request an einen Arduino/RP2040/... senden
7
}

Aber, für dein Vorhaben: Investier die 15€ für die USB-Karte.

Billiger wird keine Parallelport-Bastelei mit antiquarischer Hardware.

#8101675
Lesenswert?
• ▲
▼

Norbert schrieb:

Zwei davon, dass war sogar damals schon selten.

In den uralten IBM-Schrippen (PC, XT und AT) waren drei Frickelports vorgesehen, die hatten die Basisadressen 0x378, 0x3bc (wenn auf MDA oder äquivalenter Hercules-Karte) und 0x278. Es wurden aber nur zwei Interruptleitungen benutzt (5 und 7), und da das miserable Hardwardesign kein Interruptsharing erlaubte*, musste im Falle drei simultaner Frickelports mindestens einer auf Interruptbetrieb verzichten.

*) Active-High-Interrupts, mit "totem-pole"-Treibern angesteuert ... das ist ausgesprochen dämlich. Praktisch alle anderen Systeme haben Active-Low-Interrupts verwendet, und die mit Open-Collector- bzw. Open-Drain-Treibern angesteuert. Ich hab' ja den Verdacht, daß der Ur-PC-Prototyp von ein paar Werkstudenten bei IBM entwickelt wurde, als Hardware-Witz, nach dem Motto "das miesestmögliche Hardwaredesign, das gerade noch so funktioniert".

#8101827
Lesenswert?
• ▲
▼

Hans L. schrieb:

der sollte aber 2 echte Printerports haben. Kennt da jemand irgend etwas? MfG Hans

ECHTE Printerports waren mit einem PIO verbunden und ließen sich leicht programmieren. Deshalb hat im letzten Jahrtausend der A5120 eine Programmierolympiade gewonnen an der auch C64 und wesentlich bessere PCs beteiligt waren. https://www.deutschlandmuseum.de/sammlung/robotron-a-5120/ Ob die heute aktuelle Software noch eine Bitausgabe über USB und LPT-Adapter hinbekommt muß am konkreten Fall geprüft werden. Belegunghttps://www.cfd.tu-berlin.de/Lehre/EDV1/skripte/alles/node164.html

Es gibt jedoch 3 verschiedene Druckermodi: unidirektional, bidirektional od. bitweise. Da TO Hans nicht so konkret beschrieben hat, WAS er eigentlich benötigt, wird er nun etwas experimentieren müssen. Da kann ich nicht helfen.

#8101833
Lesenswert?
• ▲
▼

René H. schrieb:

Wenn es keiner mehr braucht, weshalb sucht der TE dann danach?

Weil er die Alternativen nicht kannte.

René H. schrieb:

Er wird schon wissen was er braucht.

Nö, wusste er nicht.

René H. schrieb:

Und ein USB-Converter muss nicht zwingend mit allen Geräten funktionieren.

der TE hat nach mehreren Nachfragen seine Anwendung genannt, und für die funktioniert der USB-CNC-Motortreiber gut.

#8101849
Lesenswert?
• ▲
▼

Εrnst B. schrieb:

der TE hat nach mehreren Nachfragen seine Anwendung genannt, und für die funktioniert der USB-CNC-Motortreiber gut.

Hier ein 10€ Angebot für eine Optoisolierte Mach3 taugliche USB-LPT Platine:
https://www.amazon.de/dp/B07XTBRGYQ
https://www.amazon.de/dp/B07PNDXZQK

Zwei davon erscheinen mir sinnvoller als eine PCIe x1 Karte mit zwei LPT für 37€ (ab Vista), oder zwei niedrige PCIe x1 Karte mit je einer LPT für 13€ (ab XP):
https://www.reichelt.de/de/de/shop/produkt/pcie_x1_karte_2x_parallel-398390?PROVID=2
https://www.reichelt.de/de/de/shop/produkt/1_port_db25_parallel_pcie_karte-347070

: Bearbeitet durch User
#8101854
Lesenswert?
• ▲
▼

Wolf17 schrieb:

Hier ein 10€ Angebot für eine Optoisolierte Mach3 taugliche USB-LPT Platine:

Braucht niemand. Eine reine Angstplatine wenn jemand glaubt sein Parallelport schafft den Strom für die DIR STEP EN Eingänge des Motortreibers nicht.

Wolf17 schrieb:

Zwei davon erscheinen mir sinnvoller als eine PCIe x1 Karte mit zwei LPT

Du brauchst beides, sowohl als auch, wenn du diesen Holzweg gehen willst.

#8101859
Lesenswert?
• ▲
▼

Lu schrieb:

ECHTE Printerports waren mit einem PIO verbunden

ECHTE Printerports bestanden nur aus ein paar (TTL-) Bustreibern und etwas Adressdekodierung. Schick zu Fuß. Transparent und einfach zu programmieren. Jedenfalls unter DOS. Einfacher Zugang und damals auch für Steuerungszwecke gerne genommen. Mist war nur die Initialisierung beim Booten, musste man bedenken.

Uwe

Angehängte Dateien:
#8102002
Lesenswert?
• ▲
▼

M. K. schrieb:

Verräts du uns dein Wissen? Wäre ein feiner Zug und wir würden dabei auch noch was lernen.

Ich verrate euch wo ihr die originale Doku zu dem Ur-PC von IBM finden könnt:

https://www.minuszerodegrees.net/manuals/IBM_5150_Technical_Reference_6025005_AUG81.pdf

Die komplette Hardwarereferenz, Motherboard und Karten (Grafik, Floppy, Kasette, Printer, Game). Sogar das Listing des BIOS zum Abtippen (wer erinnert sich noch..) ist dabei.

Imho der Grundstein für den Erfolg des (kompatiblen) IBM-PC. Und ein Beispiel wie Open Source die Welt verändern kann. (Ich finde in dem Dokument keinen Copyrightvermerk)

Für die Zeit und die Umstände ein ordentliches Stück Hardware. Die schnelle Entwicklung der Grafikoberflächen mit ihrem Ressourcenhunger konnte man ja noch nicht absehen. Ab da wurde es dann "etwas umständlich" mit dem Design. Zum Glück für die Apfelfirma die so z.B. bei den Grafikern punkten konnte. (Die bis heute nicht über den Tellerrand schauen mögen ;-)

Uwe

#8102040
Lesenswert?
• ▲
▼

Uwe B. schrieb:

Für die Zeit und die Umstände ein ordentliches Stück Hardware.

Naja, bis halt auf die Designfehler, wie die idiotische Entscheidung, Active-High-Pegel für die Interruptleitungen zu verwenden, und die auch nich mit einem "totem-pole"-Treiber anzusteuern. Das hat zur Folge, daß Interruptsharing unmöglich ist, was bei den sehr wenigen Interruptleitungen auf dem 8-Bit-ISA-Bus sehr viel einschränkt.

Sieh Dir z.B. den Schaltplan der seriellen Schnittstellenkarte (S. 355 im von Dir verlinkten Dokument) an. Da ist zwischen dem Interrupt-Ausgang der UART 8250, Pin 30 und der Interrupt-Leitung (B24, ISA-Slot) zwar ein Tristate-Treiber angeordnet (U7, vermutlich 1/4 74LS125), dieser aber wird mit /OUT2 Pin 31 angesteuert.

Damit kann nur das Erzeugen von Interrupts ingesamt abgeklemmt werden, aber bei aktivierter Erzeugung ist der 74LS125 ein "totem-pole"-Treiber.

Man hätte den '125 anders herum ansteuern (d.h. /OUT und INTRPT der UART tauschen) und ihm am Ausgang einen Pulldown spendieren können, dann wäre trotz active-High-Interruptpegel Interruptsharing möglich gewesen.

Hat man aber nicht.

#8102081
Lesenswert?
• ▲
▼

Harald K. schrieb:

Hat man aber nicht.

Nein, hat man nicht. Weil, wäre deutlich aufwändiger geworden, auf Motherboard und auf Karten, diskret, und vermutlich hat man auch nicht erwartet daß ein PC mehr Interruptleitungen benötigt.

Der Interruptcontroller ist auf Flankentrigger programmiert weil wegen dem Timerinterrupt vom 8253. (IRQ0) So geht Interruptsharing dann auf den anderen Eingängen des 8259 natürlich nicht. Nur zur Erklärung warum das so gelöst wurde.

Die IBM-Entwickler als Idioten zu beschimpfen ist meiner bescheidenen Meinung nach sehr überheblich. Der 5150 wurde unter erheblichem Zeitdruck entwickelt, er sollte preiswert sein. Das erfordert Kompromisse. Niemand konnte den Erfolg und die Entwicklung vorausahnen.

Natürlich sind Designentscheidungen aus Ende der 70er nicht mehr zeitgemäß und machen heute Probleme weil man (zu) lange daran festgehalten hat.

Carl Benz hat aus heutiger Sicht auch eine fatale Fehlentscheidung getroffen...

Uwe

#8102186
Lesenswert?
• ▲
▼

Uwe B. schrieb:

Weil, wäre deutlich aufwändiger geworden

Nein. Wäre nicht aufwendiger geworden. Mit dem auf der Karte eh' schon vorhandenem Tristate-Treiber und genau einem Pulldown wäre der Drops gelutscht gewesen.

Uwe B. schrieb:

weil wegen dem Timerinterrupt vom 8253. (IRQ0)

Und das hätte man nicht anders lösen können? Glaub' ich nicht. Flankengetriggerte Interrupts sind ja auch schon ein Designfehler.

Aber sei's drum, PCs mit ISA-Slot sind tot und vergessen.

#8102460
Lesenswert?
• ▲
▼

Harald K. schrieb:

Ja? Und? Was meinst Du, soll da jetzt das Problem sein?

Es gibt kein Problem. Es gibt Anforderungen und Lösungen. Verschiedene.

Interruptsharing bedingt eine gewisse "Intelligenz" auf den Karten. Es muß ein Register geben welches die CPU abfragen kann ob die Karte einen Interrupt ausgelöst hat und ggf. warum. Bei dem 8250 UART wäre das das Interrupt Identification Register (IIR).

Wir leben aber grade in den bunten 70ern. Man hat manches zu Fuß realisiert, realisieren müssen, beispielsweise auf der originalen Parallel Printer Karte des IBM. Da wird (vom Drucker) ein Flipflop gesetzt, ein Zugriff auf die Adresse der Karte (von der Interruptroutine) setzt das Flipflop (= das Interruptsignal) zurück. Fertig, geht mit einem einzigen kleinen Käfer.

Ich denke wir können davon ausgehen daß den IBM Ingenieuren das Verfahren Interruptsharing bekannt war aber abgewogen wurde wie verfahren wird. Die PC waren zunächst als bessere Schreibmaschine und Rechenhilfe gedacht. Bisschen Pac-Man Clone noch. Der Trouble mit den zuwenigen IRQs kam erst mit den Sound- und Netzwerkkarten 10 Jahre später.

Ich meine aber mich zu erinnern daß das eigentliche Problem des Designs die unglückliche Speicheraufteilung war. Auch das muß man aber im Kontext sehen.

Ist auch gut jetzt.

Uwe

Beitrag #8102478 wurde vom Autor gelöscht.

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