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
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 ;
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.