Hardware > Hardware (Classic 16-/32-Bit)

GAL zu ppera MegaSTIDE Interface ...

<< < (12/13) > >>

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 abge„ndert

GAL-Listing fr 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 fr 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