Hallo,
auf der Fujiama war aufgefallen, daß der USB Cartridge Test von Carsten an meinen XE-Remakes anzeigte, daß das USB Cartridge nicht funktioniert.
Ich hänge da jetzt seit Tagen mit dem Logikanalysator dran und es scheint so, als ob es nicht unbedingt an den XE Remake Boards liegt sondern an den CPUs oder irgendeinem Timing.
Eine "gute" CPU bringt augenscheinlich auch an einem XE Remake Board erfolgreiche Ergebnisse.
Ich habe mal als erstes basierend auf Angaben von Carsten ein stark gekürztes Testprogramm geschrieben.
Das sieht so aus (das NOP habe ich erst da eingefügt, wo der Test auf dem A8 fehlschlägt, damit ich eine Abbruch-Bedingung bei $61D definieren konnte, denn nach einer Verzweigung nach Rückwärts springt der Adressbus doch erst einmal vorwärts - deshalb braucht eine Verzweigung auch einen Takt mehr wenn sie ausgeführt wird)
Dann hier der Fall, wo der Test erfolgreich läuft:
Und hier der Fall, wo der Test abbricht:
Im zweiten Fall kann man sehen, daß obwohl der Wert $E2 nach $D501 geschrieben wird (s. Cursor D), hinterher $10 ausgelesen wird (s. CURSOR C)
Ich hab keine Ahnung, was da schief läuft.
Das Programm was man braucht, um die Dateien des Logikanalysators laden, anzeigen und beliebig zoomen zu können ist frei unter pctestinstruments.com erhältlich.
Mit Screenschots über einen Durchlauf des Programms kann man hier nicht arbeiten - zumindest ich habe keinen Bildschirm mit der 50-fachen Breite eines normalen 16:9 Monitors.
Hilfe ausdrücklich erwünscht.
USB Cartridge: Probleme mit div CPUs
Moderatoren: Sleeπ, andymanone
-
- Beiträge: 1114
- Registriert: 04.11.2021 15:52
- Has thanked: 132 times
- Been thanked: 342 times
- Kontaktdaten:
USB Cartridge: Probleme mit div CPUs
Jede Info, die zu Hause auf meinem Rechner liegt habe ich unterwegs nicht verfügbar.
Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.
Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.
- DjayBee
- Beiträge: 1082
- Registriert: 17.08.2021 04:02
- Has thanked: 795 times
- Been thanked: 375 times
- Kontaktdaten:
Re: USB Cartridge: Probleme mit div CPUs
Deppenfrage der Woche :
Was ist eine USB Cartridge?
Edit: Die "Deppenfrage"
wird hier weiter behandelt: Was ist eine (A8) USB-Cartridge ?
Um diese Thema nicht zu verwässern, an dieser Stelle bitte ausschließlich die eigentliche Fragestellung betreffende Beiträge posten. THX
Was ist eine USB Cartridge?
Edit: Die "Deppenfrage"

Um diese Thema nicht zu verwässern, an dieser Stelle bitte ausschließlich die eigentliche Fragestellung betreffende Beiträge posten. THX
-
- Beiträge: 199
- Registriert: 17.08.2021 11:03
- Wohnort: Salzburg, Austria
- Has thanked: 20 times
- Been thanked: 100 times
- Kontaktdaten:
Re: USB Cartridge: Probleme mit div CPUs
Das ist ein klassischer Fall des vermurksten Atari-Timings, insbesonders beim ANTIC Zugriff - aka die gute, alte, PHI2-Problematik.
Wenn Du Dir die D5xx Zugriffe, insbesonders die mit darauffolgendem ANTIC Zugriff genauer anschsiehst wirst Du bemerken, dass sich im nicht-funktionierenden Fall (fast) zeitgleich mit der fallenden PHI2 Flanke die Adressleitungen ändern: Im funktionierenden Fall siehts etwas besser aus, da ändern sich die Adressleitungen erst ca 20ns nach PHI2 (was aber immer noch sehr knapp ist): Jetzt hätte der SL811HS aber gerne, dass die Adressleitung mindestens 10ns nach der abschliessenden Flanke von RD/WR noch gültig ist (address hold time).
Mit dem Gatter, das aus R/W und PHI2 RD bzw WR erzeugt kommen aber nochmal knapp 10ns dazu, also hat sich die Adressleitung bereits 10ns vor Ende geändert - auf sowas reagieren die neueren, schnelleren Chips recht allergisch (Du bist da im Bereich des undefinierten Verhaltens, da kann alles mögliche passieren).
Grundproblem ist erst mal, dass der ANTIC viel zu früh die Adressleitungen treibt - die Adreessleitungen sollten noch einige dutzend ns nach dem Ende von PHI2 treiben und i.A. machen das die CPUs selber auch.
Meine Vermutung ist, dass die CPUs unterschiedlich starke Ausgangstreiber haben oder unterschiedlich schnell abschalten so je nach CPU die Adressleitungen ein klein wenig länger oder kürzer gültig sind - was den Unterschied zwischen "geht" und "geht nicht" ausmacht.
Kurzum: mach den klassischen "stabilizing" mod mit der Brücke über den 2 LS08 pins (oder probier's mit einem F08), dann sollte es klappen.
so long,
Hias
Wenn Du Dir die D5xx Zugriffe, insbesonders die mit darauffolgendem ANTIC Zugriff genauer anschsiehst wirst Du bemerken, dass sich im nicht-funktionierenden Fall (fast) zeitgleich mit der fallenden PHI2 Flanke die Adressleitungen ändern: Im funktionierenden Fall siehts etwas besser aus, da ändern sich die Adressleitungen erst ca 20ns nach PHI2 (was aber immer noch sehr knapp ist): Jetzt hätte der SL811HS aber gerne, dass die Adressleitung mindestens 10ns nach der abschliessenden Flanke von RD/WR noch gültig ist (address hold time).
Mit dem Gatter, das aus R/W und PHI2 RD bzw WR erzeugt kommen aber nochmal knapp 10ns dazu, also hat sich die Adressleitung bereits 10ns vor Ende geändert - auf sowas reagieren die neueren, schnelleren Chips recht allergisch (Du bist da im Bereich des undefinierten Verhaltens, da kann alles mögliche passieren).
Grundproblem ist erst mal, dass der ANTIC viel zu früh die Adressleitungen treibt - die Adreessleitungen sollten noch einige dutzend ns nach dem Ende von PHI2 treiben und i.A. machen das die CPUs selber auch.
Meine Vermutung ist, dass die CPUs unterschiedlich starke Ausgangstreiber haben oder unterschiedlich schnell abschalten so je nach CPU die Adressleitungen ein klein wenig länger oder kürzer gültig sind - was den Unterschied zwischen "geht" und "geht nicht" ausmacht.
Kurzum: mach den klassischen "stabilizing" mod mit der Brücke über den 2 LS08 pins (oder probier's mit einem F08), dann sollte es klappen.
so long,
Hias
-
- Beiträge: 1114
- Registriert: 04.11.2021 15:52
- Has thanked: 132 times
- Been thanked: 342 times
- Kontaktdaten:
USB Cartridge: Probleme mit div CPUs
Hallo Hias,
erst mal recht vielen Dank für die Erläuterung!
Noch eine Frage: die HI-Spikes auf der HALT-Leitung, sind die unproblematisch?
PS: der Phi2-Ausgang der CPU sieht an der steigenden Flanke ziemlich kacke aus. Wäre es nicht besser, wenn alles was vor Pin1 des LS08 abgegeriffen wird an Pin3 angeschlossen wäre? Oder würde das das Timing weiter verschlechtern?
Viele Grüße
Erhard
erst mal recht vielen Dank für die Erläuterung!
Ich weiß nicht, was da genau gemeint ist. Könntest Du die Pins benennen (ähm, benummern) ?
Noch eine Frage: die HI-Spikes auf der HALT-Leitung, sind die unproblematisch?
PS: der Phi2-Ausgang der CPU sieht an der steigenden Flanke ziemlich kacke aus. Wäre es nicht besser, wenn alles was vor Pin1 des LS08 abgegeriffen wird an Pin3 angeschlossen wäre? Oder würde das das Timing weiter verschlechtern?
Viele Grüße
Erhard
Jede Info, die zu Hause auf meinem Rechner liegt habe ich unterwegs nicht verfügbar.
Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.
Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.
-
- Beiträge: 199
- Registriert: 17.08.2021 11:03
- Wohnort: Salzburg, Austria
- Has thanked: 20 times
- Been thanked: 100 times
- Kontaktdaten:
Re: USB Cartridge: Probleme mit div CPUs
Hier der Link zur Stabilizing Mod: http://nleaudio.com/css/stabiliz.htm
Die steigende Flanke von PHI2 ist ziemlich egal, zu der Zeit passiert nichts wichtiges, wichtig ist die fallende (die zum Glück auch bei TTL Chips relativ steil ist).
Mit einem 74F08 statt dem 74LS08 bekommst Du einen deutlich kürzeren Propagation Delay (ca 5 statt 15ns) und vermutlich steilere Flanken (das kann gut oder schlecht sein) und erzielst einen ähnlichen Effekt.
Die Spikes in Halt sind mir in deinen Traces auch aufgefallen, kann mich nicht erinnern, dass ich sowas in meinen Tests gesehen hab, hab aber angenommen, dass da bei Dir evtl irgendwas reingekoppelt hat. Check mal am besten mit einem Scope, das ist auch bei den Adressleitungen etc hilfreich, da die Lo-Hi Schwellet des ICs durchaus anders als die beim LA eingestellten sein kann - "analog" kannst Du besser sehen wie das Signal zwischen 0.7 und 2.4V aussieht und wann/wo evtl Lo/Hi erkannt wird.
so long,
Hias
Durch den Mod wird PHI2 zu PHI2 AND PHI1 und dadurch etwas (um 10-20ns) verkürzt.ON 600XL/800XL COMPUTERS: Solder a wire from pin 4 of the 74LS08 to pin 13 of this same chip.
ON 65XE/130XE COMPUTERS: Solder a wire from pin 4 of the 74LS08 to pin 2 of this same chip.
Die steigende Flanke von PHI2 ist ziemlich egal, zu der Zeit passiert nichts wichtiges, wichtig ist die fallende (die zum Glück auch bei TTL Chips relativ steil ist).
Mit einem 74F08 statt dem 74LS08 bekommst Du einen deutlich kürzeren Propagation Delay (ca 5 statt 15ns) und vermutlich steilere Flanken (das kann gut oder schlecht sein) und erzielst einen ähnlichen Effekt.
Die Spikes in Halt sind mir in deinen Traces auch aufgefallen, kann mich nicht erinnern, dass ich sowas in meinen Tests gesehen hab, hab aber angenommen, dass da bei Dir evtl irgendwas reingekoppelt hat. Check mal am besten mit einem Scope, das ist auch bei den Adressleitungen etc hilfreich, da die Lo-Hi Schwellet des ICs durchaus anders als die beim LA eingestellten sein kann - "analog" kannst Du besser sehen wie das Signal zwischen 0.7 und 2.4V aussieht und wann/wo evtl Lo/Hi erkannt wird.
so long,
Hias
-
- Beiträge: 199
- Registriert: 17.08.2021 11:03
- Wohnort: Salzburg, Austria
- Has thanked: 20 times
- Been thanked: 100 times
- Kontaktdaten:
Re: USB Cartridge: Probleme mit div CPUs
Das sollte natürlich "PHI2 AND PHI0" heissen, nicht "PHI2 AND PHI1" - letzteres wäre ziemlich sinnlos :-)
so long,
Hias
-
- Beiträge: 1114
- Registriert: 04.11.2021 15:52
- Has thanked: 132 times
- Been thanked: 342 times
- Kontaktdaten:
USB Cartridge: Probleme mit div CPUs
Hallo Hias,
das mit dem "Stabilizing-Mod" werde ich bei nächster Gelegenheit testen.
Die 3K Pull-Up an Pin1 des LS08 können drin bleiben?
Ich hab mir das jetzt auch noch mal auf dem Schaltplan angeschaut.
Im XE gibt es ja zwei verschiedene Phi2:
- das aus der CPU mit der schlechten steigenden Flanke geht an den Freddie, die MMU und an Pin1 des LS08
- das aus Pin3 des LS08 geht an die restlichen Custom-Chips und an den Modulport
Zu welchen Punkten (von Phi2, CS, R/W) müssen der Adressbus und der Datenbus jeweils gültig sein?
Obwohl, müßte ja auch im 6502 Datenblatt drin stehen ...
Bezüglich des HALT-Signals:
Bei den ultrakurzen verwendeten Strippen dürfte nichts reingestreut haben.
Ich habe die Signale bis auf CCTL mit einem Breakout-Board direkt an der CPU abgegriffen ...
Auf jeden Fall vielen Dank!
das mit dem "Stabilizing-Mod" werde ich bei nächster Gelegenheit testen.
Die 3K Pull-Up an Pin1 des LS08 können drin bleiben?
Ich hab mir das jetzt auch noch mal auf dem Schaltplan angeschaut.
Im XE gibt es ja zwei verschiedene Phi2:
- das aus der CPU mit der schlechten steigenden Flanke geht an den Freddie, die MMU und an Pin1 des LS08
- das aus Pin3 des LS08 geht an die restlichen Custom-Chips und an den Modulport
Zu welchen Punkten (von Phi2, CS, R/W) müssen der Adressbus und der Datenbus jeweils gültig sein?
Obwohl, müßte ja auch im 6502 Datenblatt drin stehen ...
Bezüglich des HALT-Signals:
Bei den ultrakurzen verwendeten Strippen dürfte nichts reingestreut haben.
Ich habe die Signale bis auf CCTL mit einem Breakout-Board direkt an der CPU abgegriffen ...
Auf jeden Fall vielen Dank!
Jede Info, die zu Hause auf meinem Rechner liegt habe ich unterwegs nicht verfügbar.
Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.
Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.
-
- Beiträge: 1114
- Registriert: 04.11.2021 15:52
- Has thanked: 132 times
- Been thanked: 342 times
- Kontaktdaten:
USB Cartridge: Probleme mit div CPUs
Hallo,
Internetausfall bei mir im Ort und Umgebung. Nix geht, keine Geldautomaten, keine DSL-Einwahl.
Ich habe jetzt einen alten Huawei-Router in Betrieb genommen und bin jetzt hier mit 2G und Ping-Zeiten von bis zu 4 Sekunden ...
Der Stabilizing-Mod hat es offenbar sofort gebracht.
Allerdings sind die XE-Remakes etwas anders:
1) Der Phi2-Ausgang der CPU geht nur an den LS08
2) Pin4 vom LS08 muß an Pin2 gebrückt werden, da die CPU an Pin1 geht
Die Wirkung des Mods werde ich mir noch mit dem LA zu Gemüte führen.
Internetausfall bei mir im Ort und Umgebung. Nix geht, keine Geldautomaten, keine DSL-Einwahl.
Ich habe jetzt einen alten Huawei-Router in Betrieb genommen und bin jetzt hier mit 2G und Ping-Zeiten von bis zu 4 Sekunden ...
Der Stabilizing-Mod hat es offenbar sofort gebracht.
Allerdings sind die XE-Remakes etwas anders:
1) Der Phi2-Ausgang der CPU geht nur an den LS08
2) Pin4 vom LS08 muß an Pin2 gebrückt werden, da die CPU an Pin1 geht
Die Wirkung des Mods werde ich mir noch mit dem LA zu Gemüte führen.
Jede Info, die zu Hause auf meinem Rechner liegt habe ich unterwegs nicht verfügbar.
Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.
Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.
-
- Beiträge: 199
- Registriert: 17.08.2021 11:03
- Wohnort: Salzburg, Austria
- Has thanked: 20 times
- Been thanked: 100 times
- Kontaktdaten:
Re: USB Cartridge: Probleme mit div CPUs
Hallo Erhard,
schön, dass es mit dem Mod geklappt hat!
Tip: wenn Du Dir das mit dem LA genauer ansiehst dann schraub besser die Samplerate auf 200 oder 500MHz hoch, dann siehst Du den Unterschied genauer - 100MHz/10ns ist etwas grob.
wg Timing: wichtig ist, was an den externen Bauteilen anliegt, im Fall des SL811HS an RD, WR und A0.
A0 ist einfach, das ist ja direkt mit dem Adressbus verbunden und hängt quasi direkt an der CPU.
Zwischen PHI2 an der CPU und RD/WR liegen erst mal der 74LS08 im Atari (ca 15ns tPD) und der 74LS00 in der Cartridge (ca 10ns tPD) - macht zusammen eine Verzögerung von ca 25ns.
Wenn Du dann noch die 10ns Address Hold Time des SL811HS dazurechnest ergibt das insgesamt ca 35ns - d.h. die Adressleitungen sollten sich frühestens 35ns nach der fallenden Flanke von PHI2 (an der CPU gemessen) ändern.
Mit dem Mod gewinnst Du ca 15-20ns (die Verzögerung zwischen PHI0 in und PHI2 out an der CPU) plus ca 15ns tPD des 74LS08 Buffers am PHI0 Eingang der CPU (Pin 4 ist PHI0 out vom Antic) - insgesamt also ca 30-35ns, damit geht sich das haarscharf aus.
wg den Spikes in HALT: hab mir die noch mal genauer angesehen, die liegen alle ca 150-200ns nach der fallenden Flanke von PHI2, das ist auch der Zeitpunkt wo der ANTIC normalerweise HALT ändert. Kann also gut sein, dass das ein Glitch vom ANTIC ist.
Das ist jedenfalls weit weg vom kritischen Zeitpunkt der fallenden PHI2 Flanke an der HALT ausgewertet wird und damit harmlos.
so long,
Hias
schön, dass es mit dem Mod geklappt hat!
Tip: wenn Du Dir das mit dem LA genauer ansiehst dann schraub besser die Samplerate auf 200 oder 500MHz hoch, dann siehst Du den Unterschied genauer - 100MHz/10ns ist etwas grob.
wg Timing: wichtig ist, was an den externen Bauteilen anliegt, im Fall des SL811HS an RD, WR und A0.
A0 ist einfach, das ist ja direkt mit dem Adressbus verbunden und hängt quasi direkt an der CPU.
Zwischen PHI2 an der CPU und RD/WR liegen erst mal der 74LS08 im Atari (ca 15ns tPD) und der 74LS00 in der Cartridge (ca 10ns tPD) - macht zusammen eine Verzögerung von ca 25ns.
Wenn Du dann noch die 10ns Address Hold Time des SL811HS dazurechnest ergibt das insgesamt ca 35ns - d.h. die Adressleitungen sollten sich frühestens 35ns nach der fallenden Flanke von PHI2 (an der CPU gemessen) ändern.
Mit dem Mod gewinnst Du ca 15-20ns (die Verzögerung zwischen PHI0 in und PHI2 out an der CPU) plus ca 15ns tPD des 74LS08 Buffers am PHI0 Eingang der CPU (Pin 4 ist PHI0 out vom Antic) - insgesamt also ca 30-35ns, damit geht sich das haarscharf aus.
wg den Spikes in HALT: hab mir die noch mal genauer angesehen, die liegen alle ca 150-200ns nach der fallenden Flanke von PHI2, das ist auch der Zeitpunkt wo der ANTIC normalerweise HALT ändert. Kann also gut sein, dass das ein Glitch vom ANTIC ist.
Das ist jedenfalls weit weg vom kritischen Zeitpunkt der fallenden PHI2 Flanke an der HALT ausgewertet wird und damit harmlos.
so long,
Hias
Wer ist online?
Mitglieder in diesem Forum: Bing [Bot] und 1 Gast