Autor Thema: GAL zu ppera MegaSTIDE Interface ...  (Gelesen 36468 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #20 am: Do 03.03.2016, 17:34:48 »
richtig

Was ich mir jetzt nochmal angesehen habe ist das DTACK Signal welches ich finde unschön gelöst ist. Einmal meldet der GAL ein DTACK Signal und dann wiederum das IDE Device. Meiner Meinung nach sollte die Festplatte das DTACK Signal dem GAL liefern und der GAL meldet dann das DTACK an den ST. Wiederum ist die Frage wann erwartet der ST das DTACK Signal ? Nach Beendigung des Transfers  ?  Oder wenn das Device fertig ist und bereit zum Daten empfangen.? Das ist mir noch nicht ganz klar daher finde ich den Weg wie DTACK erzeugt wird nicht ganz richtig.
« Letzte Änderung: Do 03.03.2016, 17:48:02 von tuxie »
Tschau Ingo

Offline czietz

  • Benutzer
  • Beiträge: 3.692
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #21 am: Do 03.03.2016, 17:54:24 »
Bei einem Lesezugriff setzt das Gerät /DTACK low, sobald es die Daten auf den Datenbus gelegt hat. Die CPU liest die Daten vom Bus und setzt dann /AS wieder auf high. Dann muss das Device die Daten wieder vom Bus nehmen und /DTACK zurücksetzen.

Bei einem Schreibzugriff liest das Gerät die Daten vom Bus und setzt dann /DTACK als Quittung low, ebenfalls so lange, bis die CPU /AS zurücksetzt.

Ich denke, das wird alles noch klarer, wenn Du das Handbuch zum MC68000 liest: http://www.nxp.com/files/32bit/doc/ref_manual/MC68000UM.pdf, insbesondere die Buszyklusdiagramme (Kap. 5) und die Timingdiagramme (Abs. 10.10), denen Du entnehmen kannst, wie lange die einzelnen Phasen dauern.

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #22 am: Do 03.03.2016, 18:20:19 »
Ich denke da haben wir den Salat, denn genau das Passiert nicht richtig, das IDE Device wurschtelt rum ohne das der Decoder was davon weiß. Habe aber beim 16V8 keinen Eingang mehr frei habe.

Aber ich glaube das letzte Listing wird nicht Funktionieren, A5 wird doch benötigt, zum Umschalten zwischen
Command Block Registers und Control Block Registers... also bleibt nur um eine genaue Ausdecodierung zu machen auf einen 20V8 zu gehen, der sollte dann dafür ausreichen.

Tschau Ingo

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.431
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #23 am: Do 03.03.2016, 18:22:45 »
A5 kann doch bei Pin 9 bleiben und Pin 19 ist A10 und Pin 18 ist A11, oder ?

Ansonsten kann ich auch umbauen auf ein 20V8 ...

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #24 am: Do 03.03.2016, 18:30:48 »
So habs nochmal so geändert wie du vorgeschlagen hast. DTACK ist auch nochmal etwas Optimiert. Wobei ich der Meinung bin das DTACK zu zeitig anliegt und deswegen es zu Lesefehler kommt.
« Letzte Änderung: Do 03.03.2016, 18:46:18 von tuxie »
Tschau Ingo

Offline czietz

  • Benutzer
  • Beiträge: 3.692
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #25 am: Do 03.03.2016, 18:31:30 »
In anderem Kontext habe ich das auch schon mal geschrieben: http://forum.atari-home.de/index.php?topic=12419.msg200257#msg200257

Dass dieses IDE-Interface meist dennoch funktioniert, liegt einfach daran, dass das IDE-Gerät schnell genug ist. Wie Du den Timing-Diagrammen entnehmen kannst, dauert es immer eine gewisse Zeit, bis die CPU auf DTACK reagiert. Wenn das Gerät vorher die Daten vom Bus liest bzw. auf den Bus schreibt, geht es, obwohl DTACK vom GAL zu früh erzeugt wird.


Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #26 am: Do 03.03.2016, 18:40:08 »
Ja genau aus diesem Grund bin ich darauf gestoßen, weil wir schon einmal darüber gesprochen hatten. Man könnte das DTACK vorher nochmal durch ein Gatter (UND) jagen und somit eine Künstliche Verzögerung erzeugen. Könnte ggf. ausreichen. Ich weiß beim IDEAL IDE Adapter ist das DTACK Signal über den GAL angeschlossen und auf der ST Seite eine Diode wegen Open Collector.
Tschau Ingo

Offline neogain

  • Benutzer
  • Beiträge: 1.318
  • ...?
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #27 am: Do 03.03.2016, 18:56:08 »
Ja genau aus diesem Grund bin ich darauf gestoßen, weil wir schon einmal darüber gesprochen hatten. Man könnte das DTACK vorher nochmal durch ein Gatter (UND) jagen und somit eine Künstliche Verzögerung erzeugen. Könnte ggf. ausreichen. Ich weiß beim IDEAL IDE Adapter ist das DTACK Signal über den GAL angeschlossen und auf der ST Seite eine Diode wegen Open Collector.

So ist das auch bei dem Vofa Adapter. Da ist DTACK über eine Diode an das GAL angeschlossen. Vielleicht reicht das schon aus?

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #28 am: Do 03.03.2016, 19:01:31 »
der 74LS03 ist ja nur wegen open Collector Notwendig, man könnte dies auch mit einer Diode machen. Aber man braucht die Verzögerung. Am besten wie gesagt vom IDE zum GAL und dann vom GAL über eine Diode zum ST.
Tschau Ingo

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.431
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #29 am: Do 03.03.2016, 20:48:37 »
Hallo Tuxie, das war ein Schuß in den Ofen. Zwei Bomben beim Booten mit und ohne CF Karte oder Diskette.

Wieso kommst du auf A10 und A11 ?

Bei dem großen IDE Interface von ppera mit den Treibern für die Datenleitungen werden zusätzlich A15 und A14 benutzt, sonst alles wie beim MegaSTIDE Interface.

Mache mir doch bitte mal ein JED für A15 an Pin19 und A14 an Pin18 ...

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #30 am: Do 03.03.2016, 21:10:16 »
Nimm den Taschenrechner und geh auf Programmierer, gib F00000 ein und schau welche Bits gesetzt sind. Fann setze F00040 und F00080 dann F000C0 und du wirst sehen das sich bits 10 und 11 sich ändern
Tschau Ingo

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #31 am: Do 03.03.2016, 21:33:51 »
Ich glaube ich sollte nochmal eine Nacht drüber schlafen, hm komme wieder auf einen anderen wert.

A6 und A7 anstatt A10 und A11....

F00000 = 1111 0000 0000 0000 0000 000
F00040 = 1111 0000 0000 0000 0100 000
F00080 = 1111 0000 0000 0000 1000 000
F000C0 = 1111 0000 0000 0000 1100 000

Demnach sollte für F00000 Folgende Erweiterung der Gleichung gelten

DTDCK =   A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A6*/A7*/AS*RW;
   
/SELP = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A6*/A7*/A5;
/SELS = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A6*/A7*A5;
/IORD = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A6*/A7*RW;
/IOWR = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A6*/A7*/RW;
Tschau Ingo

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #32 am: Do 03.03.2016, 21:45:25 »
So ich hab dir nochmal eine Normale Datei angelegt...

Versuch DTACK mal zu verzögern indem du ein UND gatter nimmst. Erst einmal dann ein zweites Mal, so gewinnst du ein paar nanosekunden Zeit.
Tschau Ingo

Offline neogain

  • Benutzer
  • Beiträge: 1.318
  • ...?
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #33 am: Fr 04.03.2016, 11:21:36 »
Hier noch was interessantes zu dem Thema :)

http://www.joogn.de/atari_ide.html

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #34 am: Fr 04.03.2016, 11:50:29 »
Tschau Ingo

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.431
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #35 am: Fr 04.03.2016, 11:58:12 »
Das ist fast das gleiche wie das große von ppera ...

A23 bis A15 + A5, ppera hat aber noch A14 dabei.

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #36 am: Fr 04.03.2016, 12:23:01 »
/SELP = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/A5;
/SELS = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*A5;
/IORD = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*RW;
/IOWR = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/RW;

1111 0000 00

Hm stimmt ich hab in meinem STE Projekt auch den 20V8 drin, ich setz mich am Wochenende hin und Teste bei mir, und wenn ich was Lauffähiges habe werde ich es hier Posten. H
Tschau Ingo

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.431
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #37 am: Fr 04.03.2016, 12:54:14 »
Ich habe jetzt erstmal die Nase voll und baue mal auf das große IDE Interface von ppera um ohne die Treiber, mal schauen ...

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.431
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #38 am: Mo 07.03.2016, 14:38:37 »
Ich bekomme das einfach nicht hin mit dem IDE Interface. Habe jetzt mal alle Signale und Gleichungen von dem großen IDE Interface von ppera in ein 16V8 GAL gepackt mit Hilfe wegen den JEDI. Habe jetzt bestimmt drei bis viermal alles nachgemessen und kann keinen Verdrahtungsfehler finden. Das Verhalten ist so das ich die CF Karte mit HDDriver einrichten kann und auch Programme drauf kopieren aber der Rechner bootet HDDriver nur von Floppy und es lassen sich keine Programme von der CF Karte starten. Wenn ich den Rechner ausschalte und wieder ein sind die mit HDDriver erstellten Partitionen weg, sprich HDDriver findet keine Partitionen mehr.

Wo soll ich den Fehler suchen ?



------------------------------------------------

%ID
  IDE
%TYP
  GAL16V8
%PINS
  A23  A22  A21  A20  A19  A18  A17  A16  A15
  A14    A5  AS  RW  IOWR  IORD  SELS  SELP  DTACK
%LOGIC
  DTACK  = /AS*A23*A22*A21*/A20*/A19*/A18*RW
         + A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14;

  /SELP  = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/A5;

  /SELS  = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*A5;

  /IORD  = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*RW;

  /IOWR  = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/RW;
%END

------------------------------------------------

Das ich die TOS 2.06 Ansteuerung raus genommen habe kann doch nicht der Grund sein das es nicht geht, oder ?

Habe das mal mit meiner MonSTer probiert und boote mit der MonSTer TOS 1.04 und starte/boote dann von Diskette und lade TOS 2.06 nach ins Ram und der Rechner läuft darauf hin mit den IDE Geräten einwandfrei ...
« Letzte Änderung: Mo 07.03.2016, 14:42:38 von Lukas Frank »

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL zu ppera MegaSTIDE Interface ...
« Antwort #39 am: Mo 07.03.2016, 14:40:35 »
jage das dtack signal durch ein UND gatter um zeit zu verbrauchen, oder durch zwei gatter 74f04 also ich meine das signal welches zur cpu geht
« Letzte Änderung: Mo 07.03.2016, 14:42:13 von tuxie »
Tschau Ingo