Hallo Steffen
Schau doch mal auf meiner Internetseite. Das funktioniert auch mit altmodischen IC's.
Tschüß
Mathy
Schau doch mal auf meiner Internetseite. Das funktioniert auch mit altmodischen IC's.
Tschüß
Mathy
HiassofT hat geschrieben:Hallo Jürgen!tfhh hat geschrieben:Nur vom Verständnis her... was spricht dagegen, PB1 genauso zu maskieren wie PB7, was als /MAP-Signal nur geschaltet wird, wenn PB4+PB5 high (oder low? Gucke jetzt nicht extra nach, ihr wißt, was ich meine) sind?
Das ist grundsätzlich eine sehr gute Idee. Vor einiger Zeit hatte ich eine 1MB DRAM Erweiterung gebastelt bei der das so gelöst war. Sie war u.a. zwischen 1MB und 256k umschaltbar, im 1MB Modus waren Basic und Selftest deaktiviert, sobald PB4 oder PB5 auf Low waren.
Die Logik hat in ein 20V8 gepasst, mit einem extra Schalter wurde PB5 umgeschaltet: entweder als Adressleitung zum MUX (der PB5 Eingang am GAL wurde dann mit PB4 verbunden) oder als PB5 Signal zur Steuerung des Antic Zugriffes (die Adressleitung am Mux wurde dann auf GND gelegt).
HiassofT hat geschrieben:Ich muss mal meine alten Unterlagen rauskramen und dann ggf. eine Anleitung dazu machen. Diese Erweiterung funktioniert aber nur mit XLs, da zur Erzeugung des automatischen Refreshes (CAS-before-RAS Refresh) ein Signal aus der Delay-Line verwendet wird. Bei Tests bin ich draufgekommen, dass die bisherigen Lösungen für CAS-before-RAS Refresh (einfach das HALT Signal mit in die CAS-Logik reinverknüpfen) nicht 100% korrekt ist und zu Timing-Problemen führen kann (manchen DRAMs ist das egal, aber etliche SIMMs die ich durchprobiert hatte reagierten darauf allergisch).
tfhh hat geschrieben:Wofür wurde das "Umbiegen" von PB5 gemacht - welchen tieferen Sinn hatte es? Es sollte doch im Interesse sein, möglichst nahe am 130 XE "Original" zu bleiben, und die differenzielle Möglichkeit, CPU und/oder Antic auf das Zusatz-RAM zugreifen zu lassen, ist ja auch eine feine Sache.
Diese Unterlagen würden mich auch interessieren, da ja leider leider die Seite von Bernd Pahl auf einmal verschwunden war und ich kein lokales BackUp habe (hat jemand die Seite komplett gesichert?).
IF LACCESS THEN
BEGIN
CAS_BANK = CAS_IN + CBRREF
CAS_MAIN = GND
END
ELSE
BEGIN
CAS_BANK = CBRREF
CAS_MAIN = CAS_IN
END
MyDOS will correctly store the proper banking bytes
into the banking bytes tables, but then MyDOS will
mangle those bytes such that they don't work in BASIC,
as well as the other situations outlined above.
Here is the offending code which may vary somewhat
both in location and content depending on the exact
version you are dealing with:
LDA $D301 ;0C0C AD 01 D3
ORA #$1C ;0C0F 09 1C
STA $31 ;0C11 85 31
ORA #$1C ;0C13 09 1C
AND $0BBA,Y ;0C15 39 BA 0B
STA $D301 ;0C18 8D 01 D3
The offensive parts are the logic OR operations
and the AND operation as well. To correct, substitute
NOP for the ORs and a LDA for the AND. The patched
code looks like this:
LDA $D301 ;0C0C AD 01 D3
NOP ;0C0F EA
NOP ;0C10 EA
STA $31 ;0C11 85 31
NOP ;0C13 EA
NOP ;0C14 EA
LDA $0BBA,Y ;0C15 B9 BA 0B
STA $D301 ;0C18 8D 01 D3