Hardware > Hardware (Classic 16-/32-Bit)
ACSI über PC-ParallelPort
ToPeG:
Ich habe es bisher über einen Loop in C versucht die Daten auf dem Bus ab zu greifen, aber wie es scheint reagiert der PC nicht schnell genug. Das Programm bekommt nur sporadisch mit wenn /CS low wird. Ich denke der Impuls von ATARI ist ein klein wenig zu kurz.
Ich werde Mal /CS an /ACK von Parallelport hängen und schauen ob ich über einen Interrupt das /CS Zuverlässig registriert bekomme. Und der Zugriff schnell genug ist, um noch die Daten mit zu bekommen.
Wenn alle Stricke reißen werde ich eine kleine Pufferschaltung zusammen bauen müssen um die Signale so lang zu Speichern bis der PC sie lesen kann.
Wäre der PC- der Host wäre das alles kein solches Problem...
guest3197:
*respekt an*
Toll, was Du da ausknobelst! Kann leider nix dazubeitragen, freue mich aber wenn Du das hinbekommst ;)
Cya...bph
m0n0:
Hallo,
eine sehr interessante Idee. Ich kenne mich damit nicht aus, aber ich hätte es aufgrund der timings die so ein BUS-System nutzt wohl für unmöglich gehalten.
Wie es mit der Pufferung der Signale wie "DATA" oder "ACK" ist, weiss ich auch nicht... aber ich hätte gedacht sowas kann man nicht puffern, weil der Atari zumindest eine reaktion in manchen Situationen erwartet (und das innerhalb einer bestimmten Zeit).
Auf jeden Fall ein Interessante Idee und wenn die Verbindung erstmal steht ( gibt es eigentlich für sowas ein Testprogramm?? Evt. die "Festplatten erkennung" in den diversen Festplatten-Support-Tools? ) Wie kontrollierst Du das alles richtig funktioniert? Ich glaube ich würde auch auf der Atari Seite ein kleines TestProgramm nutzen wollen, mit eingabefeld für adresse und nem Button "lesen". Wenn dann auf der PC Seite eben diese Adresse zum lesen angefragt wird, wäre ich sicher das die Kommunikation soweit schon mal klappt...
Viel Erfolg! :)
ToPeG:
Ja das Timing scheint tatsächlich ein Problem zu sein. Wenn das Handling über Interrupt nicht funktioniert, dann werde ich eine kleine Schaltung bauen, welche ein Byte zwischenspeichert, bis der PC dieses abholt. Das sollte so ähnlich funktionieren wie für meine Multi-IO-Karte. Ein Buszugriff ist recht simpel und leicht in Hardware zu packen. Ein paar Bustreiber und Buffer reichen da aus. (ls244 ls245 ls373)
Die Antworttimings sind sehr großzügig bemessen. So wartet das TOS bis zu einer Sekunde auf eine Antwort (wenn es um die Adressierung eines Gerätes geht.) Weiterhin werden die Wartezyklen über die ACSI-Treiber realisiert. Daran kann man immer noch herum patchen. :)
Auf dem PC nutze ich die libieee1284 zum auf den Parallelport zu zugreifen. Das sollte auch einigermaßen portabel sein. Da habe ich was in C zusammengeschustert. Auf dem Atari läuft ein kleines Programm in GFA-Basic, das kontinuierlich Bitmuster auf den ACSI-Bus schreibt. Da die Folge feststeht kann ich am PC sehen ob die Daten vollständig übertragen wurden. Später werde ich es erweitern, dass es auch korrekt adressiert sowie Lese- und /DMA-Zyklen macht. Das mache ich aber immer erst dann wenn ich es brauche.
Mal sehen wie das ganze voran schreitet. :-)
ToPeG:
Welch ein Ärger.
Der Interrupt am Parallelen Port reagiert nur auf eine steigende Flanke. Ich muss das /CS Signal aber an der fallenden Flanke haben, damit die Daten noch gültig sind während sie gelesen werden. Wenn mir keine Lösung einfällt ist die einfache Variante eines Adapterkabels endgültig vom Tisch.
Hmm wobei...
Ein NPN-Transitor als Inverter ginge sicherlich, aber der verschleift das Signal und könnte die Leitungstreiber im Parallelport grillen...
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln