Hardware > Hardware (Classic 16-/32-Bit)
VME Bus Zugriffe
guest522:
--- Zitat ---Ich kann das nicht verstehen !?!
--- Ende Zitat ---
Naja, Du hast schon Recht. Es ist nicht wirklich schwer, aber meine Erfahrung hier ist, dass es nur sehr wenige machen würden.
--- Zitat ---Der Atari ist halt kein Amiga ..., leider !?!
--- Ende Zitat ---
:o
--- Zitat ---Man müsste die Signale /SBHE und A0 für Grafikkarte per GAL verändern.
Auf dem Nova-VME-Adapter sind beide allerdings direkt mit /DS0 und /DS1 verdrahtet.
--- Ende Zitat ---
Warum /SBHE? Das wird doch schon von DS1 gesteuert. D.h. bei einem 8 bit Zugriff auf gerade Adressen sthet das auf 0.
Zur Generierung von A0 kommen A20-A23 in Frage, da nur die am GAL anliegen.
xx Ax xx xx - xx Fx xx xx und xx 8x xx xx werden aber schon für 16 bit Zugriffe verwendet.
xx 9x xx xx generiert die 8 bit IOW bzw. IOR Signale.
A23 aktiv kommt für eine Steuerung also nicht in Frage.
Gehen wir der Einfachheit halber mal von
A23 A22 A21 A20
0 0 0 0
aus.
SA0 = /A23*/A22*/A21*/A20 wobei man die normalen Zugriffe per DS1 ja weiter zulassen muss.
(A23*/A22*A21 + A23*A22 + A23*/A22*/A21*/A20) * DS1
==>
SA0 = /A23*/A22*/A21*/A20 * /DS1 * DS0
+ (A23*/A22*A21 + A23*A22 + A23*/A22*/A21*/A20) * DS1
Jetzt noch DTACK aufbohren:
DTACK = A23 *IOCHRDY *Qb
wird zu
DTACK = A23 *IOCHRDY *Qb
+ ( /A23*/A22*/A21*/A20 *IOCHRDY *Qb )
Was denkst Du?
guest522:
Mist.....war zu voreilig. Es ist doch kein GAL Output mehr frei. >:(
frank.lukas:
Hallo Idek,
ein zweites Gal mit einer Adapterplatine (kann ich dir bauen!) und eine Aufteilung der Funktionen so wie beim Gal (/RW & (CS0 + CS1 + TOS)) des IDE Adapters aus der CT ...
--- Ausschnitt ---
*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;
---
Der Code muss für den JEDI aber angepasst werden, ich weiss nicht womit der Erzeugt wurde ...
guest522:
Jubel.....es funktioniert.
Ich habe einfach einen Sockel auf GAL1 gelötet und da Huckepack ein zweites GAL drauf. Bilder gibts später.
Die Erkennung für ET4000 Karten klappt.
EMULATOR.PRG muss ich noch fertig umstricken. Ich bekomme die Karte aktiviert, aber bisher nur ein grünes Bild.
Nachtrag: Schwierige Nummer. Ich kann die Karte nun korrekt initialisieren, es wird aber noch nichts sichtbar gezeichnet. Prinzipiell scheint es zu funktionieren, die Treiber sind aber sehr kompliziert. Mal sehn was geht....
Nachtrag2: Erfolg! VMG läuft und stellt die Auflösungen korrekt mit seinem Streifenmuster dar. Die Outputs auf ungerade Register sind oftmals einfach Zuweisungen der Art
*(IO_BASE + DAC_DATA) = 0x33
Das macht die Sache mühsam.
pakman:
--- Zitat von: Idek Tramielski am Mo 03.11.2008, 10:06:25 ---Warum /SBHE? Das wird doch schon von DS1 gesteuert. D.h. bei einem 8 bit Zugriff auf gerade Adressen sthet das auf 0.
--- Ende Zitat ---
Stimmt
--- Zitat ---Zur Generierung von A0 kommen A20-A23 in Frage, da nur die am GAL anliegen.
Gehen wir der Einfachheit halber mal von
A23 A22 A21 A20
0 0 0 0
aus.
Was denkst Du?
--- Ende Zitat ---
Damit wäre der MSTE aussen vor, der kann am VME-Bus nicht auf $0x.xxxx zugreifen...
Besser wäre z.B.
A23*/A22*/A21*A20*/A19 '90 bis 97 I/O-Bereich mit SA0=0, wie bisher
A23*/A22*/A21*A20* A19 '98 bis 9F I/O-Bereich mit SA0=1
Also:
SA0 = A23*/A22*/A21*A20*A19 * /DS1 * DS0
+ (A23*/A22*A21 + A23*A22 + A23*/A22*/A21*/A20) * DS1
DTACK bleibt Original
Einziger Nachteil: Die Leitung A19 muss an das Huckepack-GAL gefädelt werden...
Gruß, Holger
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln