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

Multi-TOS Eprom

<< < (48/57) > >>

ToPeG:
Das Problem ist wirklich das Timing. Die 74LS245 sind zu langsam. Wenn der 68000 lesen/schreiben will haben sie noch nicht voll durchgeschaltet und es kommt Datenmüll an. Mit kleinen Veränderungen bin ich schon weiter gekommen. Es gibt aber immer noch eine Stelle die Probleme macht (zumindest bei mir) Ich tippe auf die /RD und /WR Leitungen, denn da läuft das Signal am längsten.

Lukas Frank:
Im CT IDE Interface werden HCT als Leitungstreiber genutzt ...

Hier mal das Gal File ...


// 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 + CS1);
        
   IOWR     = LDS & /RW & (CS0 + CS1 + TOS); % Signal TOS wegen EEPROMs %

   TOS      = ROM2
      + AS & A23 & A22 & A21 & /A20 & /A19;
   
*END

ToPeG:
Die GAL-Gleichungen zeigen, dass hier mit dem /DTACK gewartet wird bis /IOCHRD (IO-Channel-Ready) high ist. Das funktioniert bei Festplatten und anderen schellen Medien gut. Doch wenn eine Festplatte geparkt, oder anderweitig beschäftigt ist. Kann es dadurch zu einem Bus-Timeout kommen. (ähnliches gilt für CD-ROMs) Das führt je nach Treiber zu einem Datenverlust.
Wenn /IOCHRD gar nicht benutzt wird kommt es unter Umständen auch zu Datenverlusten weil die Festplatte noch nicht bereit ist. (wie im ST-Book der Fall)
Wenn /IOCHRD das  /DTACK verlängert kommt es nicht zu einem Timeout, und der 68000 scheint zu warten, bis das Signal wider high wird, bevor es die Register schließt (Vermutung meinerseits). Neuere Interfaces benutzen diese Variante.

Diese Leichte Verzögerung mit dem  /IOCHRD dürfte bei der gezeigten Variante den 74HCT245 genug Zeit geben zu schalten.

rainers:
Hallo,

ich würde gern mal ausprobieren, ob ich diese http://atari.8bitchip.info/aidesch.htm Schaltung zum laufen bekomme.
Hier realisiert ja der GAL die meisten Logik-Funktionen.
Jedoch komme ich mit 3 Anschlüssen am GAL nicht zurecht (ansonsten verstehe ich die Schaltung). Es sind die PINs 23, 21 und 22. Diese gehen an ROM2, CE1 und CE2.
Ich finde aber partout diese Signale im Schaltplan des STe nicht.

Kann hier jemand mir ein Licht aufgehen lassen?

Danke.
Rainer

Lukas Frank:
CE1 und CE2 gehen an die Eprom Bausteine für das TOS 2.06 ...

ROM2 ist auch für das TOS 2.06

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln