Ich will die Funktionen des c't-IDE-Adapters mit dem 4x FlashTOS von ppera kombinieren.
Bzw. das hab ich schon. Aus dem IDE/FTOS-GAL nach ppera (16V8) hab ich einfach sämtliche IDE-bezogenen Funktionen rausgestrichen. Jetzt macht der nurnoch 2 Signale: DTACK und /CE für die ROMs.
Aber auf dem c't GAL hab ich jetzt unbenutze Funktionen, nämlich einmal für die TOS-2.06-Funktion des c't Adapters, und für die Steuerung der 245er Treiber. Die benutze ich nicht. Und DTACK hab ich da sowieso schon.
Ich bin mir nur nicht ganz sicher wie ich es schreiben muss. Das mit dem .t. und .e hat mich verwirrt.
Hier ist mal das betreffende 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 + 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
Da ist DTACK mit .T definiert, also Tristate. Soweit komme ich noch mit. Die separate Gleichung für DTACK.E sieht für mich so aus, als könnte man für jeden Pin eine eigene Enable-Funktion angeben. Kann das sein?
PS: Ich benutze Jedi zum kompilieren.