W65C02S - Kein Ersatz für den 65C02 ! (vorerst)
W65C02S - Kein Ersatz für den 65C02 ! (vorerst)
von Erhard » Do 2. Feb 2012, 11:53
Hallo,
ich habe in den letzten Tagen ein wenig mit dem 65C02S herumexperimentiert.
Der aktuelle Status lautet:
Er ersetzt den 65C02 NICHT.
Obwohl der Prozessor absolut befehlskompatibel zum 65C02 sein soll mußte ich feststellen, daß er dies offenbar nicht ist.
Ich habe den 65C02S in eine Speedy 1050 gesetzt und die erforderlichen Hardwareänderungen vorgenommen. Die da wären: PIN 1 nicht verbunden und ein Pullup an den Bus-Enable-Eingang.
Mit dieser Speedy ergibt sich dann folgendes Verhalten:
- Booten des Sektor-Kopierers aus dem Speedy-ROM -> geht
- Booten einer Diskette -> geht nicht
hier funktioniert offenbar das automatische Laden von Spur 0 nicht richtig. In 2 Sektoren gibt es je 1 Byte, das nicht stimmt. Offenbar sind es immer die selben beiden Bytes, die auf die selbe Art falsch sind.
Lade ich nun einmalig 1 Sektor von Spur 1 und danach die Sektoren von Spur 0, dann ist alles in Ordnung. Ich habe eine Disk 20x mit einem Image verglichen und keine Fehler bekommen.
(Also können wir mal erst davon ausgehen, daß ein Timing-Problem wohl eher nicht vorliegt und ursächlich ist.)
- Speedy Software -> geht nicht
Nach dem Laden von Speedy Backup oder dem HSS Kopierer von der Speedy Systemdiskette melden diese Fehler beim Versuch, die Diskette einzulesen.
- Speedy Diagnose
RAM-Test OK
ROM-Test OK
Als nächstes müßte ich versuchen, den 65C02S im Atari ans laufen zu bekommen, damit ich mit einem Debugger weitere Versuche machen kann, was der Prozessor möglicherweise nicht richtig oder anders macht.
Dafür muß ich aber mal erst herausfinden, was mit der 65C02-Adapterplatine von Guus nicht mit dem Atari harmoniert.
Als Ansatzpunkt ist hier, daß laut Rockwell Doku über den 65C02 der Prozessor bei Phi = High angehalten werden muß, es aber so aussieht, als würde die Adapterplatine das bei LO machen.
Viel Arbeit ....
Gtx, Erhard
W65C02S - Kein Ersatz für den 65C02 ! (vorerst)
von Erhard » Di 7. Feb 2012, 09:30
Hi,
so, ich habe noch einige Tests mehr mit dem W65C02S durchgeführt.
1) weiterführende Tests mit dem HSS-Kopierer und der Speedy
2) Einbau in den 65C02-Adapter nach Guus
Unterm Bruchstrich ergibt sich folgendes:
In der Speedy funktioniert der W65C02S in vielen Punkten, in einigen aber nicht. Selbst wenn es sich dabei um einen Fehler in der Speedy-Firmware handeln sollte, müßte man den erst einmal finden.
Im Atari hat der 65C02S genau einmal so funktioniert, daß ich booten konnte. Merkwürdigerweise hatte ich aber keinen GR.0 - Bildschirm sondern irgendwas. Ich konnte im DOS DIR eingeben und bekam offenbar ein Inhaltsverzeichnis, konnte ins BASIC gehen und GR.0 eingeben, aber es gab einfach kein GR.0. Warum? Derzeit bin ich da noch recht Ahnungslos.
Blöderweise hat das 65C02-Adapterboard auch schon recht angegammelte Leiterbahnen und die IC-Sockel sind auch aus Schrotteilen zusammengesägt und passend gemacht. Ich weiß gar nicht, wo ich das Teil her habe.
Dazu kommt, daß meiner Meinung nach schon im Atari 400 ein Fehler im Schaltplan ist. Dort ist noch eine orginal 6502 CPU verbaut mit den Teilen drum herum, die auch auf dem 65C02 Adapter nach Guus zu finden sind.
Gemäß Herstellerdoku ist der CPU-Eingang /SetOverflow aktiv LO und es sieht so aus, als wäre der mit Masse verbunden, müßte aber meiner Meinung nach mit +5V verbunden werden. Vielleicht verhält sich ja das Overflow-Flag anders (obwohl der /SO - Eingang eigentlich mit der fallenden (oder steigenden?) Flanke des Systemtaktes eingelesen wird).
HardwareDoc? Hias?
Na ja, da liegt nicht nur ein Hund begraben sondern ganze Rudel.
Einen detaillierteren Bericht gibts fürs Mag.
Viele Grüße
Erhard
Re: W65C02S - Kein Ersatz für den 65C02 ! (vorerst)
von guus » Di 7. Feb 2012, 10:47
Hallo Erhard,
Den Schaltplan für meine Platine kam vom 800-er.
Mein Prototyp hab ich auch immer noch irgendwo, aber wichtiger auch einige andere Platinen davon.
Und da fühle ich mich natürlich auch angesprochen.

Wo kann ich so ein Processor bekommen, damit ich mal testen kann?
Diesen Processor wird natürlich auch immer den Nachteil haben das er nicht die illegale Op-Codes hat.
Daher ist er nie 100% compatibel mit alles was es für den Atari an Software gibt.
Davon hab ich aber nie eine Liste gesehen, weiss also nicht ob dies wirklich ein schwerwiegender Nachteil ist.
Wenn dies aber (fast) kein Thema ist, wäre den 65C816 viel interessanter. Der hat noch ein par sehr schöne extra Befehle und ich hab den auch in meine Platine getestet. 100% ok mit sehr wenig Anpassungen.
MFG/
Guus
Re: W65C02S - Kein Ersatz für den 65C02 ! (vorerst)
von tfhh » Di 7. Feb 2012, 11:04
Moin Erhard,
Erhard hat geschrieben:Gemäß Herstellerdoku ist der CPU-Eingang /SetOverflow aktiv LO und es sieht so aus, als wäre der mit Masse verbunden, müßte aber meiner Meinung nach mit +5V verbunden werden. Vielleicht verhält sich ja das Overflow-Flag anders (obwohl der /SO - Eingang eigentlich mit der fallenden (oder steigenden?) Flanke des Systemtaktes eingelesen wird).
Das könnte auf jeden Fall eine Fehlerquelle sein... laut allen Dokus, die ich gesichtet habe (Rockwell, Synertek, MOS und WDC) soll /SO bei der steigenden Flanke gesampelt werden... nur von welchem Taktsignal, da scheiden sich die Geister:
WDC-Doku sagt PHI2, MOS-Doku sagt PHI1... andere schweigen dazu oder tendieren auch zu PHI2.
Von daher... Pack es mal via Widerstand an +5 Volt und teste

Gruß, Jürgen
W65C02S - Kein Ersatz für den 65C02 ! (vorerst)
von Erhard » Mi 8. Feb 2012, 09:13
Hallo Guus,
wir können gerne tauschen:
Ich bekomme so eine Platine, sofern die Leiterbahnen nicht auch schon
Risse haben und zerbröseln und ich schicke Dir eine solche CPU.
Der Vorteil der W65C02S wäre, daß die 244er und 245er TTLs überflüssig werden, da die CPU einen /BusEnable Eingang hat.
Ich habe auch immer wieder mal wegen dem /HALT-Signal überlegt:
Der ANTIC setzt es kurz vor Phi0=Lo und setzt es kurz nach Phi0=High wieder zurück, wobei es auch schon mal länger als 1 Zyklus aktiv ist.
Aber das deutet für mich ein bischen darauf hin, daß die Rockwell-65C02 Doku mit "CPU bei Phi0=High anhalten" richtig liegt. Man könne die CPU auch bei Phi0=Lo anhalten, aber maximal 5 µs, weil sonst die Register verloren gehen.
Ich überblicke nur leider nicht, was der Atari nun wirklich braucht (wann und wie lange muß der Bus frei sein muß).
Das mit dem /SO würde ich auch gerne noch ausprobieren.
Eine weitere Fehlerquelle liegt in der Art der Verwendung des LS74. Laut Herstellerdoku dürfen SET und CLR nicht gleichzeitig Lo sein, was aber leider stattfindet.
Was es den 65C816 betrifft - ich weiß daß das Teil viel mehr kann. Aber eigentlich war ich ja nur auf der Suche nach 65C02 CPUs, damit noch die restlichen paar Speedies gebaut werden können, you see?
Viele Grüße
Erhard
Re: W65C02S - Kein Ersatz für den 65C02 ! (vorerst)
von guus » Mi 8. Feb 2012, 10:04
Hallo Erhard,
Guter Vorschlag den Ich gerne annehme.
PM bitte die Versandaddresse, Ich werde eine Platine suchen und mal ganz gut nachschauen ob der OK ist.
Mit die Puffer-IC's, stimmt natürlich. Aber es hat auch Vorteile.
Wegen diese IC's kann mann auch mehr erweiterungen anschliessen und wird der CPU nich so schnell Überlastet.
Wie schon geschrieben, den Entwürf stammt eingentlich von Atari.
Und ich hab schon bemerkt dass nicht jeder 74xx74 gut functioniert in diese Schaltung.
Vielleicht kann Bob Wooley (bob1200xl Atari-Age) etwas mehr vom Timing aussagen.
Er hat ein guter Logic-Analyser und schon einiges an Erfahrung.
MFG,
Guus
W65C02S - Kein Ersatz für den 65C02 ! (vorerst)
von Erhard » Do 9. Feb 2012, 09:00
Hi Guus,
auf meiner Webseite atari-central.de findest Du ein eMailformular.
Damit könntest Du mir Deine echte eMailadresse mitteilen.
Dann kann ich Dir antworten und meine Anschrift auf der Erde mitteilen.
Viele Grüße
Erhard
W65C02S - Kein Ersatz für den 65C02 ! (vorerst)
von Erhard » Do 9. Feb 2012, 14:04
Hi nochmal,
> 74(...)74 SET AND CLR = LO Problem
Das Problem kommt nicht durch den Chip - da steht eindeutig in der Herstellerdoku, daß der Zustand nicht erlaubt ist.
Das Problem entsteht dadurch, daß er trotzdem entgegen der Specs in der Schaltung verwendet wurde:
dort geht das Taktsignal auf einen Invertierer (NOR). Der Eingang und der Ausgang wurden mit SET und CLR verbunden. Damit sehen die Signale zwangsläufig so aus:
‾‾‾‾‾‾‾\________/‾‾‾‾‾‾‾
\________/‾‾‾‾‾‾‾‾\______
...........^
und da isser auch schon, der unerlaubte Zustand.
Übrigens, einen guten LA hab ich gottseidank mittlerweile auch.
(Sind ja auch teuer genug, die Teile).
Viele Grüße
Erhard