Hardware > Hardware (High-End)
Fastram mit PAK68/2 ...
Lukas Frank:
Habe nur einen Mega ST4 mit TOS 1.04 auf dem Board. Könnte aber EmuTOS drauf machen. Eine TOS 2.06 Karte habe ich nicht.
Habe ein gepatchtes PAK68/3 TOS 3.06 auf der PAK da ich davon ausgebe das TOS 2.06 mit Fastram nicht umgehen kann.
Ich könnte mir auch bei Kessler die 512kB SRAMs kaufen aber ist dieses BANK0 und BANK1 nicht für insgesamt 8 SRAMs also im Falle der 512er 2MB in BANK0 und weitere 4 Stk. in BANK1 also insgesamt dann 4MB Fastram ?
joejoe:
Alles mit "ja" zu beantworten.
Da TOS 3.06 beim Start das FastRam auch auf Spiegelungen (an nicht ausdekodierten Adressleitungen ) etc. testet, also tatsächlich Schreib- und Lese-Zugriffe tätigt, reicht eine minimale Dekodierung des FastRAM, hier nur mit A24. Der Buserror beim FastRAM-Zugriff oberhalb 1 MB Fastram, wie von mir in U6 eingefügt, ist eigentlich überflüssig/ unnötig, bzw. bei Deinem 16MB Atari-TT-FastRAM hinderlich. Aber das kann dann ja in einem weiteren Schritt geändert werden.
Wenn Du nun nur eine Bank SRAMs einsetzt, bemerkt TOS 3.06 das, und bindet auch nur die eine Bank ein.
Ich kenne EMUTOS (noch) nicht, bin lange 'raus aus dem Thema.
Das originale U12 erzeugt nur /DSACK0 und /DSACK1 für 32bittigen ROM-Zugriff; 8 und 16bitige FastRAM Zugriffe werden falsch beendet, das funktioniert nicht. Hier kommt die Dekodierung nach "AMIGA-Muster" aus 1992 ins Spiel.
Für das TT-FastRAM müsste die STERM_nach DSACK-Dioden-Lösung her, oder eine weitere Verarbeitung von /STERM im GAL. Damit gehen dann auch nur 32bit-Zugriffe korrekt.
Macht aber ev. nix, da das Tos 3.06 auf das TTFastRam offenbar (siehe /STERM) nur 32bittig zugreift?!
Wenn Du weiterhin die TTFastRAM-Karte testen möchtest und eine Zyklus-Terminierung realisieren willst, dann muss etwas her wie oben beschrieben, oder besser mit A24 (s. U12_froam.pds/jed aus dem alten Thread). Ein erster Test könnte auch sein, in Deinem U12
--- Zitat ---case ( a[24..16] ) begin
#h0E0..#h0EF:
begin
cs11 = as_20 * /cpuspace
cs10 = as_20 * /cpuspace
cs9 = as_20 * /cpuspace
cs8 = as_20 * /cpuspace
end
otherwise
case ( a[24..16] ) begin
#h100..#h1FF:
begin
cs11 = as_20 * /cpuspace
cs10 = as_20 * /cpuspace
cs9 = as_20 * /cpuspace
cs8 = as_20 * /cpuspace
end
otherwise
begin
cs11 = gnd
cs10 = gnd
cs9 = gnd
cs8 = gnd
end
end
dsack0.trst = cs11
dsack1.trst = cs11
dsack0 = as_20 ;
dsack1 = as_20 ;
--- Ende Zitat ---
Edit: das ist Quatsch so! reicht allenfalls als Denkanstoß :-[
Also auch nur 32bit /DSACKx.
Ob das so übersetzt werden kann .. keine Ahnung, ich hatte eben damals die korrekte Variante mit /siz0 und /siz1 verwendet.
Da das Kessler RAM ja viermal soviel RAM hat wie die von mir verendeten SRAMs muss auch das Pin-Out und die BANK-Logic überprüft werden.
joejoe:
Das hier war die "letzte" Variante von U12:
--- Zitat ---;PALASM Design Description
;
; (c) M.V”lkel GK _Computer Freiburg
;
; Address Decoder fr On Board Speicher FAST-RAM
;
;
; Fr ATARI ST 0100 0000-0107 FFFF TT-Fast-Ram
; 4.11.93
; rom_bank
; 5.9.94
; 12.12.94 JP3 entfernt, ram_1 auf PIN 23 gelegt
; 03.03.95
; Version fr TOS X.06 Autoboot mit TOS X.06-Anfang auf Mainboard
; Resetvektoren zeigen auf E0 0000.
;------------------------------------------------------------------------
;---------------------------------- Declaration Segment ------------
TITLE FROAM
PATTERN P20-20 = U12_FASTRAM
REVISION 1
AUTHOR Manfred V”lkel ge„ndert J.Reinecke c't 10/92 AMIGA-Muster
COMPANY GK Computer
DATE 06/01/91
CHIP _p20_20n PALCE22V10
;---------------------------------- PIN Declarations ---------------
PIN 1 /as_20 COMBINATORIAL ; INPUT
PIN 2 /cpuspace COMBINATORIAL ; INPUT
PIN 3 siz0 COMBINATORIAL ; INPUT
PIN 4 siz1 COMBINATORIAL ; INPUT
PIN 5 a[24] COMBINATORIAL ; INPUT !!!! VORHER: a[18] !!!!!
PIN 6..10 a[19..23] COMBINATORIAL ; INPUT
PIN 11 a1 COMBINATORIAL ; INPUT !!!! VORHER: a[29] !!!
PIN 12 GND
PIN 13 a0 COMBINATORIAL ; INPUT !!!! VORHER: a[30] !!!
PIN 14 /rom COMBINATORIAL ; OUTPUT !!!! VORHER: a1 !!!!
PIN 15 ram_0 COMBINATORIAL ; OUTPUT !!!! VORHER: a0 !!!!
PIN 16 rw COMBINATORIAL ; INPUT !!!! VORHER a[16] !!!!
PIN 17 /cs11 COMBINATORIAL ; OUTPUT
PIN 18 /cs10 COMBINATORIAL ; OUTPUT
PIN 19 /cs9 COMBINATORIAL ; OUTPUT
PIN 20 /cs8 COMBINATORIAL ; OUTPUT
PIN 21 dsack_en COMBINATORIAL ; OUTPUT !!!! VORHER: /dsack1 !!!!
PIN 22 /dsack0 COMBINATORIAL ; OUTPUT
PIN 23 ram_1 COMBINATORIAL ; OUTPUT !!!! VORHER: a[17] !!!!
PIN 24 VCC
; die PINs ram_0, ram_1 werden mit den nun abgebogenen PINs CE2 (PIN 30)
; der statischen RAMs verbunden, ram_0 geht an die unteren, ram_1 an die
; oberen 512 kB (alle RAMs einer Bank am PIN 30 miteinander verbinden)
; /rom geht an /OE (PIN 22) der EPROMS, /CE (PIN 20) der EPROMs im Sockel
; auf GND -> schneller Lesezugriff m”glich
; /dsack1 (alter Pin 21) im Adaptersockel wird durch Schottkydiode mit
; /dsack0 (PIN 22) verbunden (Kathode an PIN 22); PIN 21 GAL wird umgebogen
; bleibt unbelegt (notwendig fr ODER-Verknpfung in /dsack0)
; rw (PIN 16 GAL) wird mit R/W verbunden; notwendig fr 68030 Caches
string uucs '( /a0 * /a1 ) '
string umcs '( /a1*siz1 + a0*/a1 + /a1*/siz0 )'
string lmcs '( a0*/a1*/siz0 + /a1*siz0*siz1 + /a1*/siz0*/siz1 + /a0*a1 )'
string llcs '( a1*siz1 + a0*a1 + /siz0*/siz1 + a0*siz0*siz1 )'
string fram '( a[24] * /a[23] * /a[22] * /a[21] * /a[20] )'; 1 MB
string tosx06 '( /a[24] * a[23] * a[22] * a[21] * /a[20] )'; 0E0000 - 0EFFFF
;----------------------------------- Boolean Equation Segment ------
EQUATIONS
MINIMIZE_ON
cs11 = as_20 * /cpuspace * (uucs + rw);
cs10 = as_20 * /cpuspace * (umcs + rw);
cs9 = as_20 * /cpuspace * (lmcs + rw);
cs8 = as_20 * /cpuspace * (llcs + rw);
ram_0 = /a[19] * fram;
ram_1 = a[19] * fram;
rom = as_20 * /cpuspace * tosx06;
dsack_en = as_20 * /cpuspace * (rom + fram);
dsack0.trst = dsack_en;
dsack0 = as_20;
--- Ende Zitat ---
Es ist dringend ein 22V10 notwendig, ein 20V8 hat nicht genug "Power".
Die Umbelegungen im PIN-OUT waren notwendig, um ausreichend Ausgänge frei zu schaufeln, indem iNPUT-Signale, welche ursprünglich an (im 22V10) potentiellen Ausgängen verdrahtet waren auf dedizierte INPUT-Pin verlegt wurden. Hier nicht benötigte Eingänge wurden umbelegt.
Der Text im PDS sollte weitere Fragen klären.
Ich hatte mir Türmchen aus Sockeln und GALs mit aufgelöteten Sockeln gebaut, um die Verdrahtung in weitrenen, modifizierten Zwischensockeln variabel gestalten zu können und keine GAL-Pins hin- (für die PAK) und her (zum Programmieren) biegen zu müssen.
Als Starter-ROMs "unten" auf dem ST hatte ich zwei 256kB-ROMs mit den entsprechenden (unmodifizierten) unteren HI-/LO-Teilen von TOS 2.06. Das ist zwar allein nicht lauffähig, startet dann aber ab nach E0...
Gruß und viel Erfolg
joe
EDIT: es war das gepatchte 3.06
joejoe:
und noch das jedec-file:
btw. wie übersetzt Du die PDS-Files?
Die hier verwendete Schreibweise funktioniert nur mit PALASM, nicht mit den ATARI GAL-Assemblern (die mir damals bekannt waren)
joejoe:
Wenn Du keine SRAMs einsetzt, reichen die Ausgänge eines 20V8 ev. auch. Dann musst Du auch die vielen Umbelegungen nicht durchführen, und könntest Dir dennoch das DSACK0/1 erzeugen.
Sehe eben, dass meine Ausführungen zu den 8-/16-/32-bit Zugriffen im Zusammenhang mit den DSACKs immer noch genauso falsch sind, wie von czietz im alten Thread schon angemerkt. Die Dekodierung der /CS per siz0/1 ist wichtig.
siehe auch mein U12. ;) 8)
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln