124
31.01.2015, 21:28 Uhr
holm
|
Hallo Klaus,
ich schaue meinem Sohn und meiner Frau beim spielen zu, selber mache ich das kaum. Ja, die Huckepackplatine habe ich extra so groß gelassen, stört ja im Gehäuse nicht. Allerdings schränkt die bescheuert sprasame IO-Adreßdecodiererei des original Spectrum wohl die Erweiterungsmöglichkeiten deutlich ein, es sei denn man läßt sich auch so einen 16Bit Käse einfallen.. Eigentlich wollte ich die Platine schon eingebaut haben, aber diese Kraft128 Geschichte läßt mir keine Ruhe ich habe heute wieder damit experimentiert.
Wenn ich von den Spectral-Schaltungserweiterungen (http://www.sax.de/~zander/zx/spectral/spc_ex.pdf) die vollständige IO Adressdekodierung von 7FFDh aktiviere läuft Kraft128 nicht mehr. Auch das Programm Pacland stürzt damit ab, läuft aber ohne die Erweiterung.
Ich habe die Erweiterung zwar nicht 1:1 umgesetzt, aber funktionskompatibel, wobei ich /WR in die Decodierung mit einbezogen habe (probeweise abgeklemmt, ändert nüscht). Ich habe halt statt eines zusätzlichen DL020 die freie Hälfte D53B benutzt, den Ausgang von D53B statt /IORQ an D16C/9 und den Ausgang von D17A/3 an einen zusätzlichen 74HCT138/6. Sonst wie in der angegebenen Schaltung.
Ich kann mir den Effekt mit dem nicht laufenden Kraft128 nur so erklären das der Programmierer den Speicher dort nicht mit 7ffdh umschaltet sondern mit 0fdh und das funktioniert dann nicht mehr wenn die 16 Bit Decodierung funktioniert. Wenn es sein muß hänge ich noch den LA an die Kiste und gucke nach ob auf 0fdh geschrieben wird Bock habe ich aber darauf Keinen..
In Deinem Bild:
wird der Unterschied klar, dort steht Port FDH "доступен" bei mir steht da jetzt "недоступен", das heißt erreichbar vs. nicht erreichbar. Das wundert mich ja auch nicht, genau das soll die Änderung bezwecken. Sämtliche verfügbare Speichertests (auch ein ROM- basierendes Testprogram) haben nichts zu nörgeln, die Bankumschaltung funktioniert. In dem Zusammenhang noch mal die ausdrückliche Frage an murkel: Hast Du die 16 Bit IO Adressdecodierung für den Port 07ffdh wirklich eingebaut? Was schreibt dieses russische Testprogramm bei Dir zum Port FDh?
BTW: diese 4,7Kohm Pulldownwiderstände von der DivIDE habe ich heute wieder runter gerissen, ich habe gemerkt das der Rechner erst ab 5,12 Volt zuverlässig lief, darunter stürzte zum Beispiel das Musik-Demo Kaz 5 ab. Nachdem ich das Netzwerk entfernt hatte war das Problem behoben, es wird ja offensichtlich wenn man die DivIDE komplett kauft gar nicht erst bestückt..
Ergänzung:
"The Spectrum 128 only decodes the top two bits of the address high byte, so a write to %01xxxxxx:&FD writes to the memory select latch. As the Spectrum 128 select latch only responds to the bottom six bits of the data, OUT (&FD),A can be used if A contains a value in the range &40-&7F."
das steht hier drin:
http://mdfs.net/Docs/Comp/Spectrum/SpecIO
..damit wundert mich dann gar nichts mehr. Man kann darüber diskutieren ob die Änderung nicht eher kontraproduktiv ist. Ich werde morgen mal damit experimentieren.
Ergänzung2:
Nein, nicht morgen, ich habe es gleich umgelötet, Eingänge 1 und 2 des zusätzlichen 8205 auf VCC, das zusätzliche 4 Eingangs-NAND tot gelegt (Strippe die auf dessen Ausgang ging an Masse, also durch ein NABER Gatter ersetzt) ..und?
Kraft128 läuft, PACLAND läuft nicht.
Und Nochwas: Nein Murkel, auch wenn es gut gemeint war, Du hast nicht alle Erweiterungen eingebaut und Du hast mich durch Deine verkehrte Aussage etliches an Zeit gekostet. Bitte demnächst genau überlegen, ja?
Aber "Das die Zwischensequenzen gegenüber einem Original Speccy fehlen ist klar, da der Spectral den 2. Screen nicht schalten kann."
Warum kann er das eigentlich nicht? das entsprechende Bit das da umschalten soll landet auf dem Signal RMA14, das seltsamerweise am ROM landet. Ich muß mal drüber Grübeln, aber normalerweise sollte dieses Signal den Ausgegebenen Bildschirmspeicher von Bank 4 auf Bank 7 umschalten, ich muß mal drüber nachdenken wie die Bildausgabe adressiert wird (noch Jemand Lust dazu?) aber das sollte doch im Rahmen einer Änderung möglich sein..
Quellcode: |
Bit 7 6 5 4 3 2 1 0 +-------+---+---+---+-----------+ | | D | R | S | RAM Bank | Spectrum 128 Memory Select +-------+---+---+---+-----------+
D: Disable further access R: Memory paged in at &0000 - 0=128k ROM, 1=48k ROM S: Memory displayed as screen - 0=bank 4, 1=bank 7 RAM Bank: Memory paged in at &C000
|
..Pacland läuft auch wenn man es ohne DivIDE vom Band lädt..
Gruß,
Holm -- float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v; {s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+ (r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&& (A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;} Dieser Beitrag wurde am 31.01.2015 um 22:41 Uhr von holm editiert. |