Hardware > Hardware (Classic 16-/32-Bit)
c´t IDE Interface ...
SolderGirl:
Also du meinst das LDS komplett ignorieren und statt dessen AS auswerten?
Mir ist noch etwas aufgefallen. Ppera erzeugt die RD/RW Signale mit der vollen Gleichung, z.B.
--- Code: ---/IORD = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*RW;
--- Ende Code ---
Aber beim c't Interface wird dafür das vorher generierte CSx-Signal verwendet:
--- Code: ---IORD = LDS & RW & [b]CS0[/b] + LDS & RW & [b]CS1[/b];
--- Ende Code ---
Macht das vom Timing her eventuell einen Unterschied? Nach meiner naiven Logik muss ja zuerst das eine Signal erzeugt werden, das würde bedeuten das es doppelt so lange dauert, um die RD/RW-Signale zu erzeugen.
Oder wird das vom Compiler irgendwie übersetzt?
czietz:
--- Zitat von: SolderGirl am Di 12.07.2016, 11:23:16 ---Also du meinst das LDS komplett ignorieren und statt dessen AS auswerten?
--- Ende Zitat ---
Ich weiß es nicht. Es ist halt ein Unterschied zwischen ppera- und c't-Interface. Wäre zu testen...
--- Zitat ---Mir ist noch etwas aufgefallen. Ppera erzeugt die RD/RW Signale mit der vollen Gleichung, z.B.
--- Code: ---/IORD = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*RW;
--- Ende Code ---
Aber beim c't Interface wird dafür das vorher generierte CSx-Signal verwendet:
--- Code: ---IORD = LDS & RW & [b]CS0[/b] + LDS & RW & [b]CS1[/b];
--- Ende Code ---
--- Ende Zitat ---
Grundsätzlich ist das ein Unterschied, ja. Aber in diesem Fall sind CS0/CS1 ja schon längst aktiv, bevor LDS low wird, d.h. das Timing von IORD hängt an LDS und nicht an den Adressbits. Dass diese durch CS0/CS1 erst etwas verzögert zur Verfügung stehen, sollte also keinen Unterschied im Timing von IORD (und IOWR) machen.
SolderGirl:
So, heute bin ich endlich mal zum Testen gekommen. Die Ergebnisse:
1. Mit dem GAL modifiziert nach dem Vorschlag von Tuxie wird auf jedem IDE-Kanal eine Festplatte erkannt, aber nicht richtig. Statt der Modellbezeichnung wird immer der gleiche unsinnige String angezeigt. Sowohl mit als auch ohne 245er. Nur der String ändert sich.
2. Mit dem GAL modifiziert nach dem Vorschlag von czietz passiert mit 245er das gleiche wie beim original: Die Platte und die Partitionen werden erkannt, aber es gibt immer wieder Datenfehler. Ohne 245er wird die Platte erkannt, aber sobald TOS versucht darauf zuzugreifen (noch bevor der Desktop erscheint) bleibt der Rechner bombig hängen.
3. Beim original GAL macht es keinen Unterschied, ob es der 15ns oder 10ns Baustein ist. Beide funktionieren ohne 245er problemlos, mit 245er funktioniert nurnoch die Erkennung, aber Datenfehler beim lesen und/oder schreiben.
Ich denke ich warte bis ich ein BitScope habe und messe dann mal wirklich das Timing genau durch.
Lukas Frank:
Ich bin sehr gespannt auf das Ergebnis ...
Lukas Frank:
Habe noch ein wenig probiert und möchte gerne minimal neben dem IDE Interface was ja läuft ohne die beiden Bustreiber die TOS 2.06 Option ans funktionieren bekommen was sie nicht tut ...
--- Code: ---*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 ---
Habe geändert in ...
--- Code: ---TOS = /ROM2
+ /AS & A23 & A22 & A21 & /A20 & /A19;
--- Ende Code ---
geht auch nicht ! und geändert in ...
--- Code: ---TOS = ROM2
+ AS & A23 & A22 & A21 & /A20 & /A19 & /A18 & RW;
--- Ende Code ---
geht auch nicht ! und geändert in ...
--- Code: ---TOS = /ROM2
+ /AS & A23 & A22 & A21 & /A20 & /A19 & /A18 & RW;
--- Ende Code ---
... geht auch nicht !
Ich habe keine Idee mehr warum der Rechner das TOS 2.06 von der Erweiterung nicht bootet !?!
Etwas seltsam die Beschaltung mit A18 doppelt und beim EE Eprom mit A19. Aber das ganze sollte doch nichts machen bei 27C010 Eproms, oder ?
D8 -D15 = EE Eprom Hi
D0 - D7 = E0 Eprom Lo
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln