Hardware > Hardware (Classic 16-/32-Bit)
GAL zu ppera MegaSTIDE Interface ...
Arthur:
--- Zitat von: Lukas Frank am Do 03.03.2016, 09:35:58 ---Hallo Tuxie, das ist aber dieses hier -> http://atari.8bitchip.info/megastide.html
Die I/O Ports ROM_2 und CE für das TOS 2.06 nutze ich nicht. Ich lade TOS 2.06 von Diskette, das reicht mir so ...
Hatte mir das vor 10-15 Jahren mal aufgebaut auch auf Lochraster und ich meine das es ging. Hatte damals mit einem GABI gebrannt ohne Probleme.
Wäre dir Dankbar wenn du mir ein verbessertes JED machen könntest ...
--- Ende Zitat ---
Könntest Du aber trotzdem original lassen... kannst damit ja immer noch von Diskette booten oder möchtest Du jetzt ein kleineres GAL verwenden?
Hier noch mal das diskret aufgebaute IDE Interface von Joogn... vielleicht hilft es ja.
tuxie:
Der 16V8 reicht nicht aus um DTACK mit durch zu schieben. Da braucht man schon den 20V8 und so groß ist der Preisunterschied nicht als das man knausern muß.
@Lukas Frank ja klar kann man Open Collector ausgang schalten, glaube aber so einfach war das nicht dazu brauchte man bestimmte Voraussetzungen, muss ich ehrlich nochmal Nachlesen wie das ging.
Lukas Frank:
@tuxie
IORDY ist der Pin_27 vom IDE Port, oder ?
--- Zitat ---Pinbelegung ist wie beim pperas IDE nur ohne ROM, IORDY ist Pin 23 und geht zum IDE und Pin20 ist DTACK die über eine Diode zur CPU geht, Achtung Polung beachten weil LOW Activ (Sperrichtung zur CPU, kannst natürlich auch ein Gatter des 74LS03 nehmen (nur wegen Open Collector Notwendig).
--- Ende Zitat ---
Pin_23 am IDE Port ist aber IOWR !?!
Ich habe jetzt bestimmt schon viermal umgebaut und so langsam keine Lust mehr. Habe auch schon überlegt mir eine zweite MonSTer zu kaufen. Kannst du deine Gleichungen nicht bei dir Testen im 1040STE ?
Beim JEDI ist OpenCollector einfach ein .T anhängen.
--- Code: ---DTACK = /A17 & /A18 & /A19 & A20 & A21 & A22 & A23
+ TOS;
DTACK.E = /IOCHRDY & AS & /A19 & A21 & A22 & A23;
--- Ende Code ---
Das DTACK.E hat doch vielleicht etwas mit einer Laufzeit Verzögerung zu tun, oder ?
czietz:
@tuxie: Wie man dem von Dir geposteten IDE-Timing entnehmen kann, sollte ab PIO-Mode 3 ein IDE-Gerät auf alle Fälle schnell genug sein, um die Daten in einem Bus-Zyklus des MC68000 zu liefern. Das Einschieben von Wait-States durch Verzögern von /DTACK ist nicht nötig und würde das IDE-Interface nur Ausbremsen.
Und wie bereits erwähnt, musst Du /DTACK um mind. 150 ns oder so verzögern, damit die CPU überhaupt einen Wait-State einlegt, ein paar Nanosekunden mehr oder weniger wegen eines Gatters mehr oder weniger ändern nichts.
@Lukas Frank: Die Syntax mit dem DTACK.E und DTACK.T sorgt dafür, dass DTACK vergleichbar einem Open-Collector-Ausgang arbeitet. Insbesondere ist das .E das "Output Enable" des entsprechenden IO-Pins im GAL.
Lukas Frank:
Habe mal das IDE Listing aus der c´t mit JEDI übersetzt. Ich musste nur die Klammern auflösen da JEDI das wohl nicht versteht ...
--- Code: ---// 16.04.93 Kai Scheffer
// 20.06.93 Kai Scheffer Pinbelegung gem c't Layout abgendert
GAL-Listing fr IDE-Platten-Adapter am ATARI ST (c't 9/93)
IDE-Register $F00000 bis $F1FFFF
ROM-Breich $E00000 bis $EFFFFF und ROM2-Select
Erzeugung von:
/DTACK zum Atari
/CS0 geht zur IDE-Platte Pin 37
/CS1 geht zur IDE-Platte Pin 36
/IORD geht zur IDE-Platte Pin 25
/IOWR geht zur IDE-Platte Pin 23
/G Enable-Signal fr die Datenbustreiber (2x74HCT245)
/INT Interrupt-Signal zum Atari (DMA-Port Pin 10)
*IDENTIFICATION
IDE_ST;
*TYPE
GAL20V8;
*PINS
/AS = 3,
RW = 5,
A5 = 1,
/ROM2 = 2,
A17 = 6,
A18 = 7,
A19 = 9,
A20 = 8,
A21 = 10,
A22 = 11,
A23 = 13,
/LDS = 4,
/IOCHRDY = 14,
IRQ14 = 23,
/INT.T = 19,
/TOS.T = 20,
/IOWR.T = 22,
/IORD.T = 21,
/G.T = 16,
/CS1.T = 18,
/CS0.T = 17,
/DTACK.T = 15;
*BOOLEAN-EQUATIONS
TOS.E = VCC;
IOWR.E = VCC;
IORD.E = VCC;
G.E = VCC;
CS1.E = VCC;
CS0.E = VCC;
INT.E = IRQ14;
INT = IRQ14;
DTACK = /A17 & /A18 & /A19 & A20 & A21 & A22 & A23
+ TOS;
DTACK.E = /IOCHRDY & AS & /A19 & A21 & A22 & A23;
CS0 = /A5 & /A17 & /A18 & /A19 & A20 & A21 & A22 & A23;
CS1 = A5 & /A17 & /A18 & /A19 & A20 & A21 & A22 & A23;
G = LDS & RW & /A17 & /A18 & /A19 & A20 & A21 & A22 & A23
+ /RW & /A17 & /A18 & /A19 & A20 & A21 & A22 & A23;
IORD = LDS & RW & CS0 + LDS & RW & CS1;
IOWR = LDS & /RW & CS0 + LDS & /RW & CS1 + LDS & /RW & TOS; % Signal TOS wegen EEPROMs %
TOS = ROM2
+ AS & A23 & A22 & A21 & /A20 & /A19;
*END
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln