Hardware > Hardware (Classic 16-/32-Bit)
Multi-TOS Eprom
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 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 + 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