User Port am LPT nutzbar?

Es gibt 36 Antworten in diesem Thema, welches 2.150 mal aufgerufen wurde. Der letzte Beitrag (1. Mai 2025 um 09:39) ist von Ruudi.

  • Wir haben nur keine Ahnung ob die Leitungen frei programmierbar sind. (??)

    Ein PC-Parallelport ist das nicht, die 8 Datenbits sind entweder alle Ausgang oder alle Eingang, man kann das nicht pro Bit einstellen wie beim Userport des C64.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Also mal zur Begriffsklärung:

    ein LPT ist üblicherweise ein Parallelport an einem klassischen PC (also mit ISA-Bus resp. entspr. "Bridge"-Anbindung an modernere Bussysteme)

    Dieser entspricht in seiner einfachsten Ausführung im PC/XT noch in etwa dem Userport des C64 rsp. VC20, aber wurde um viele Features erweitert bis zur Ablösung durch USB Ende der 1990er Jahre.

    (wobei der Userport des C64/VC20 aber andersrum auch noch einen seriellen Port enthält, wenngleich pegelmäßig nur TTL anstelle RS232 und von der Baudrate her sehr begrenzt auf (damals durchaus akzeptable) 2400Baud (ohne Tricks jedenfalls) Man könnte sagen, der Userport der kleinen Commodores war das Gegenstück zur Par/ser-Kombination der PCs, wobei bei Letzteren aber ab dem AT dafür Chips zum Einsatz kamen, die deutlich leistungsfähiger und autarker von der CPU arbeiteten als VIA/CIA in den Commodores)

    Zurück zum C64:

    Natürlich kann man den Userport dazu verwenden, um eine Tastaturmatrix abzufragen, allerdings kommt man ohne zusätzliche HW nicht sonderlich weit, da man max. eine ca 6x6 Matrix über die dort verfügbaren Leitungen realisiert bekäme (und das schon mit einigen Umwegen nur, da man die seriellen/handshake- Leitungen zweckentfremden müsste dafür), das sind aber nur 36 Tasten oder 3 Oktaven, also vergleichbar mit einem mittelgroßem Akkordeon, rechte Hand, aber nicht ein Keyboard wie gezeigt...

    Mit 8+8 Leitungen käme man schon auf 64 Tasten, so wie das eben auch für die Tastatur des C64 intern genutzt wird, auch das ist am Userport möglich, aber nur mit ein paar zusätzlichen TTL-Puffer-Bausteinen, mit denen man das Scannen (also Festlegen der aktuellen Reihe) und Rücklesen der gedrückten Spalten dieser Reihe trennt (das Keyboard braucht dazu auch noch Dioden sowie Pullup- oder Pulldown-Widerstände, sonst werden Mehrfachtastendrücke falsch interpretiert!)

    Es gab für den C64 zwei externe Keyboards (also Klaviaturen), einmal "wersiboard64" vom Hersteller Wersi, damals mit der bekannteste Hersteller von Heimorgeln und einmal von Commodore selbst, allerdings der englischen Dependence und im Rahmen einer Erweiterungskarte, die auch Adlib/Soundblaster FM-Sound auf den C64 brachte. "SFX Modul".

    Ich habe beide Ausführungen in meiner Sammlung, vom Wersiboard sogar ein paar mehr als ich selbst brauche, aber das nur nebenbei...

    Beide arbeiteten allerdings mit einem auf einem Expansion-Modul befindlichen eigenen I/O-Port, der die Ansteuerung der 8x8 (aber nur 8x7 genutzt, da 56 Tasten...) Matrix in HW übernahm. Dessen Ansteuerung wurde aber von der Community inzwischen gut dokumentiert, so das man auch mit eigenen Programmen drauf aufsetzen könnte, wie auch mit der Anbindung einer eigenen Klaviatur, sofern diese nur halbwegs ähnlich "organisiert" ist, sprich die Matrix ähnlich aufgebaut ist (sonst muss man die Dioden etc umlöten oder im Programm eine Wertetabelle zur Linearisierung hinterlegen etc)

    Für beide Lösungen gibt es auch von damals "fertige" Software, die auch das "einspielen" von Musikstücken erlaubt, wie man die -mangels eines universellen Formats am C64, sowie generell auch damals- dann aber in eines der wenigen Notenbearbeitungsprogramme für den C64 bringen will, das dürfte das eigentliche Problem werden.

    Fazit: am C64 hätte man das DAMALS wohl lösen und realisieren können, wenngleich natürlich mit all den bekannten Problemen (mickrlge Geschwindigkeit des 65xx mit 0,9 Mhz, aus Musikersicht lausiger SID-Sound, auch für damalige Verhältnisse extrem langsame und wenig Inhalt fassende externe Datenträger), aber schon 1988 konnte das jeder PC um Größenordnungen besser (theoretisch ST und Amiga auch, aber die haben sich nunmal aus heutiger Sicht nicht durchgesetzt...) und seitdem ist ja nun auch wieder viel Wasser die Isar runtergeflossen...

    Wenn man es machen möchte, um es einfach zu machen, dann siehe oben.

    (ist -daher antworte ich hier auch zugegebenermaßen eines der Projekte, die ich seit meiner Jugend schon vor mir herschiebe... Damals wollte ich die Elektor-"Joyorgel" mit dem C64 verbinden, um einerseits ne echte Klaviatur zu haben (sprich nciht doppelt kaufen zu müssen, waren teuer damals und Ausschlachtgeräte kaum verfügbar, wenn dann rein mechanisch aus z.b. Akkordeons oder mech. Orgeln der Billigklasse) und andererseits mit dem Orgelchip computergesteuert Musik machen zu können, denn der war immerhin voll polyphon im Gegensatz zum SID mit den nur 3 Stimmen und der noch bescheidenen Dynamik, die auf CB-Funk-Niveau lag (kleiner 40dB!) und insofern für ernsthaftere musikalische Ambitionen nie wirklich eine Alternative...)

    Ansonsten: Klaviatur-seitigen Midi-Adapter bauen (gibt es zig Projekte dazu auf Microcontrollern wie PICs und Atmels, Arduino, Raspberry (Kanonenkugeln auf Spatzen!) etc basierend im WWW) und die Klaviatur daran betreiben und mit einer der vielen PC-Notensatz/Sequencer-Anwendungen etc. dann die Noten / Stücke einspielen und bearbeiten...

    MIDI-Schnittstellen sind zwar in heutigen PCs nicht mehr so weitverbreitet, wie das früher war, aber noch gut und günstig als USB-Adapter zu bekommen.

    5 Mal editiert, zuletzt von Ruudi (28. April 2025 um 12:53) aus folgendem Grund: Klaviatur und Tastatur einheitlich verwendet

  • Warum nicht einfach eine (USB) Midi kompatible Klaviatur verwenden. In Vice über USB-Midi hat das schon mal @Bitte melde dich an, um diesen Link zu sehen. in diesem Bitte melde dich an, um diesen Link zu sehen. gemacht.

    C128D | PI1541 | Sidekick64 | SidkickPico | VICIDizer128 | RGB2HDMI for VDC | Yaumataca | C=Key | PS2 Mouse Adapter | U3!-Adapter | Modulatorersatz for Lumacode

  • Ein PC-Parallelport ist das nicht, die 8 Datenbits sind entweder alle Ausgang oder alle Eingang, man kann das nicht pro Bit einstellen wie beim Userport des C64.

    Stimmt so nicht ganz: je 4 Bit können gemeinsam umgeschaltet werden, d.h. eine 4x4 Matrix könnte auch der "UR"-LPT "SPP" des IBM PC schon ansteuern, ohne Nutzung der zusätzlichen Handshake-Signale wohlgemerkt. nutzt man alle Leitungen geschickt aus (ohne auf Kompatibiliät zu versehentlich angeschlossenen Druckern zu achten...), könnte man wohl eine 4x8 Matrix oder gar noch mehr auch mit dem SPP realisieren.

    Die späteren Erweiterungen des LPT-Standards auf EPP und ECP konnten dann auch Einzelbits beliebig zw. Ein- und Ausgang umschalten und waren DMA-Fähig im Gesamtsystem mit Datenraten über 1MByte/s. (also mehr als der gesamte Prozessorbus eines 65xx mit 1MHz schafft :wink:

  • Stimmt so nicht ganz: je 4 Bit können gemeinsam umgeschaltet werden, d.h. eine 4x4 Matrix könnte auch der "UR"-LPT "SPP" des IBM PC schon ansteuern, ohne Nutzung der zusätzlichen Handshake-Signale wohlgemerkt.

    Verwechselst du den mit Bitte melde dich an, um diesen Link zu sehen. aufgebauten Original-PC-Parallelport mit einem 8255? Wobei die Original-IBM-Karte nicht mal wirklich bidirektional war - dafür müsste man noch das OE des LS374 schaltbar machen, am einfachsten mit dem unbenutzten sechsten Latchbit des LS174. Das wäre dann auch gleich kompatibel zu den bidirektionalen LPTs in IBMs PS/2-Reihe.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • möglicherweise, mein erster PC war ne Olivetti m24, bomunal ein xt "klon", aber eigentlich weit mehr als das, aber andere Geschichte und wohl dokumentiert im www.

    wenn man mal davon ausgeht, das 99% der PC user mit klonen von xt oder gar erst at Maschinen in diese Materie eingestiegen sind (das Original von ibm kostete mit hdd mehr als ein neuer Kleinwagen seinerzeit ...), dann gehe ich vom SPP Standard aus, den es ja in mehreren Chipvarianten gab, i8255 dürfte die bekannteste Implementierung gewesen sein...

    Der XT kam ja gerade in Europa Recht schnell nach dem PC raus und war insofern wohl das erste Volumenmodell, plus die unzähligen Klone, die bald für den bis heute andauernden Erfolg dieser Architektur geführt haben, ps2 und Microchannel als Versuch von ibm, da zurück zu rudern scheiterten ja grandios und führten letztlich zum Rückzug big blue s aus diesem Segment...

    GLG Ruudi

  • dann gehe ich vom SPP Standard aus, den es ja in mehreren Chipvarianten gab, i8255 dürfte die bekannteste Implementierung gewesen sein

    SPP ist die Original-IBM-Variante wie oben verlinkt.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Hi, wie funktioniert der LPT in Verbindung mit dem X1541 Kabel bzw, XE-Kabel?

    Ich habe noch eines aus Pentium-Zeiten; d.h. das Interface funktioniert dann wohl nicht an heutiger Hardware?

  • An einem 'modernen' PC hast du ja auch keinen LPT mehr. Die Steckkarten (also für PCI) gehen id.R. damit nicht.

    Wenn du ein ATX-Board mit einngebautem LPT hast dann stehe die chancen ganz gut. Ich selber hab so eine 1541 mit einnem XA1541F (mit parallel Kabel) an einem ollen Compaq Deskpro im Pizza-Gehäuse und einem PII mit Windows XP. Macht was es soll.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Hi, wie funktioniert der LPT in Verbindung mit dem X1541 Kabel bzw, XE-Kabel?

    Es werden gezielt die Handshake-Leitungen benutzt, die mal Ein-, mal Ausgang sind: Bitte melde dich an, um diesen Link zu sehen.

    An einem 'modernen' PC hast du ja auch keinen LPT mehr. Die Steckkarten (also für PCI) gehen id.R. damit nicht.

    Na ja, die PCI-Steckkarten sollten mit DOS-basierten Lösungen (Star Commander), die nicht auf Multitasking und damit auf einen funktionierenden Interrupt angewiesen sind, gehen.

    Das Problem bei Windows, Linux und MacOS ist, dass es Multitasking-OS sind und es eine Operation ist, die timing-kritisch ist, wo man aber nicht einfach per Busy Wait mit ausgeschaltetem Multitasking warten kann, da man sonst die Stabilität des Rechners gefährdet. Hier benötigt man einen funktionierenden IRQ. Da unter Windows aber der Parallelport normalerweise ohne Interrupt funktioniert, geben sich die HW-Anbieter keine großen Mühen, dies auch funktionsfähig und kompatibel umzusetzen, bzw. es gab viele Inkompatibilitäten.

    Auch OS/2 hatte damals das Problem, weil OS/2 zwingend Interrupts wollte. Daher wurde mit OS/2 Warp ein Polling-Betrieb eingeführt: Bitte melde dich an, um diesen Link zu sehen.

  • dann gehe ich vom SPP Standard aus, den es ja in mehreren Chipvarianten gab, i8255 dürfte die bekannteste Implementierung gewesen sein

    SPP ist die Original-IBM-Variante wie oben verlinkt.

    Hmm, war der festen Überzeugung, das auch SPP bereits mit z.b. Laplink (gelbes Kabel) funktioniert hat, jedenfalls eben an Olivetti M21/24 und anderen XT-Klonen (namentlich ein Peacock XT Turbo, von nem Kumpel damals, leider nur in Fragmenten erhalten) und mein IBM XT "5160" (seit 1992 in meiner Sammlung) sowie dessen mobiler Bruder "5155" (während Corona zu mir gefunden) kamen auch damit klar, aber ist letztlich nur ein Definitionsproblem des Begriffs SPP

    Eventuell wurden die originalen PCs "5150" auch passend umgelötet, scheint ja prinzipiell zu gehen, müsste man mal in den damaligen ct oder mc heften suchen, wenn dann gabs da sicher ne passende Anleitung für :wink:

    Aber nix für ungut, ich beschäftige mich jetzt seit anderthalb Jahren kaum noch mit dem ollen Plunder, mich hatte nur eben hier der Thread zufällig wieder an mein eigenes Jugendprojekt erinnert, bin demjenigen Forenadmin, der wohl nen Spass dran hat mich immer mal wieder an die frische Luft zu setzen sehr dankbar, hab jetzt wieder ein Leben ausserhalb des Hobbykellers, hab über 30 kg abgespeckt, geh tanzen, mach Sport und geniesse die Zeit mit den Kids! Von daher: nein, ich mach nicht auf "Kinzi V2" hier oder anderswo, nicht jetzt und nicht später....

  • PS: wenn man den Thread-Titel wörtlich nehmen würde:

    User-Port am LPT nutzbar?

    Ja, eben kreuzweise im 4 Bit Modus oder über die Handshake-Leitungen pseudo bidirektional 8bit (mit Dioden und Pullups gg. Kurzschlüsse bei Ausgang gg Ausgang gesichert versteht sich!) könnte man nen C64 mit nem PC über dessen LPT: Schnittstelle koppeln, wurde meines Wissens nach auch gemacht zur Datenübertragung zw. den Systemen und IEC-Bus-Implementierungen für den LPT: gibts ja auch jede Menge, siehe oben und div. Programme (die teils gefährliche Macken hatten, wenn ich mich recht entsinne...), aber dann ja nicht Userport C64 seitig...

  • war der festen Überzeugung, das auch SPP bereits mit z.b. Laplink (gelbes Kabel) funktioniert hat

    Klar, Laplink funktioniert auch etwas anders - das verbindet fünf Datenbits auf der einen Seite mit fünf Handshake-/Status-Eingangsleitungen auf der anderen Seite.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • bin demjenigen Forenadmin, der wohl nen Spass dran hat mich immer mal wieder an die frische Luft zu setzen sehr dankbar, hab jetzt wieder ein Leben ausserhalb des Hobbykellers, hab über 30 kg abgespeckt, geh tanzen, mach Sport und geniesse die Zeit mit den Kids! Von daher: nein, ich mach nicht auf "Kinzi V2" hier oder anderswo, nicht jetzt und nicht später....

    ...finde ich gut :smile: .... 30 Kilo abzunehmen... meinen Respekt hast Du :smile:

    Ich mach ja auch " "alt Herren Sport " andere nennen es Bodybuilding :smile:

    Commodore C64, C64 II, Atari 1040 ST, Atari 1040 STF, Atari Falcon 030, Atari Portfolio, Ender V3 Neo V2, Amiga 500 & Gotek

    Bitte melde dich an, um diesen Link zu sehen. Status: unterwegs

    "NUR" das Diagnose Set Harness + 8in1 Diag Modul zum Verleih... Status: ... verfügbar

    Wer das Projekt unterstützen möchte, kann sich gerne per PM melden :-)

    Einmal editiert, zuletzt von Dcobain (30. April 2025 um 22:46)

  • , bin demjenigen Forenadmin, der wohl nen Spass dran hat mich immer mal wieder an die frische Luft zu setzen sehr dankbar,

    MEIN STATEMENT:

    Lieber Ruudi ... Ich schätze Dein Fachwissen, ich sehe aber auch den öffentlichen Seitenhieb, ... , ... , wir wollen GEMEINSAM Freude und Freunde im Forum 64 haben...

    lass es bitte sein....

    Kein, ich wiederhole KEIN User wird willkührlich gesperrt ....

    Wenn Du Redebedarf hast...schreib mir eine PM...

    Ansonsten ist das für mich hier beendet.

    Commodore C64, C64 II, Atari 1040 ST, Atari 1040 STF, Atari Falcon 030, Atari Portfolio, Ender V3 Neo V2, Amiga 500 & Gotek

    Bitte melde dich an, um diesen Link zu sehen. Status: unterwegs

    "NUR" das Diagnose Set Harness + 8in1 Diag Modul zum Verleih... Status: ... verfügbar

    Wer das Projekt unterstützen möchte, kann sich gerne per PM melden :-)

    Einmal editiert, zuletzt von Dcobain (30. April 2025 um 23:15) aus folgendem Grund: RSF = DSF

  • ich sehe aber auch den öffentlichen Seitenhieb

    Ich kenne nicht die Strukturen, die zu "Frischluft"-Entscheidungen im engen Zirkel von F64 möglicherweise vorhanden sind, ich hatte den Eindruck, das es EINEN Admin gab, der jedes Wort von mir auf die Goldwaage legte, selbst aber durchaus auch derb und direkt formulieren kann, warst aber NICHT Du, Dcobain :wink:

    Sehe auch keinen Klärungsbedarf, alles gut so wie es ist, cuncta fluunt wie der Lateiner sagt, es ändert sich eh stets und ständig Alles...