Hallo Besucher, der Thread wurde 9,1k mal aufgerufen und enthält 41 Antworten

letzter Beitrag von NLQ am

Chameleon64 und JiffyDOS

  • Es bleibt so wie 9948 dargestellt. Allerdings habe ich das U36 im C128 belegt. Entweder mit The Servant oder mit KeyDOS. Ganz abschalten kann ich es leider nicht. Keine Ahnung, ob das die Messung beeinflusst.

  • Zitat

    ersteres lässt sich ja leicht ändern :)
    zum messen selbst...
    ansonsten würde ich die verzögerung in minimum und maximum cycles anzeigen, ein mittelwert ist da eher nicht so hilfreich - die extreme will man wissen.

    Ich finde Basic für einfache Tools hervorragend. Ansonsten müsste man z.B. Fließkommazahlen in Assembler programmieren.
    Deine Möglichkeit hört sich nach viel Arbeit an.
    Mein Programm berechnet aus den Zufallswerten praktisch den Minimalwert. Wenn man sich im Programm das Schaubild der Funktion anschaut, dann sieht man, dass der Schnittpunkt der Geraden mit der X-Achse der Minimalwert ist. Wenn man zu diesem Wert 7µs addiert, dann erhält man den Maximalwert. Die C64-Maschinenspracheroutine ist so gemacht, dass jeder Durchgang exakt gleich lang ist, unabhängig davon, ob der Zähler nicht erhöht wird, nur das Lowbyte erhöht wird oder Low- und Highbyte erhöht werden. Durch den Versatz von C64 und Floppy, der durch 0,985 bzw. 1MHz verursacht wird, werden alle Wahrscheinlichkeiten durchgespielt, was bei 10000 Messungen eine hervorragende Genauigkeit ergibt. Die errechneten Werte sind absolut reproduzierbar. Vielleicht könntet ihr mal das TC64-Timing ändern und schauen, ob das Programm dies entsprechend anzeigt.

  • Es bleibt so wie 9948 dargestellt.

    Es liegt einfach daran, dass ich keinen C128 habe, somit die Routinen auf 1MHz ausgelegt habe (beispielsweise wird die 1571 mit u0>m0 auf 1MHz geschaltet) und nicht dran gedacht habe dies zu erwähnen.
    Eine Frage habe ich noch: Hast du bei deinem C128DCR (Blech) im C64-Modus unter JiffyDOS und wenn keine weitere Floppy angeschlossen ist, das Problem, dass beim Directory-Anzeigen manche Zeichen revers dargestellt werden?
    Nochmals vielen Dank fürs Testen.

  • Moin.


    Wenn ich dein Testprogramm im 64ér Modus starte flackert der Bildschirm mit bunten schmalen Streifen während den Messzyklen. Beim C128ér Modus flackert nichts. Nach jedem Messzyklus wird der Bildschirm gelöscht.
    Ich könnte das ja mal als Clip aufzeichnen. Da komme ich aber mit 250KB Dateianhangvolumen nicht weit.



    JiffyDOS bereitet bei mir keinerlei Probleme im C128D. Alles wird korrekt dargestellt.



    Mit dem Chameleon am C64 habe ich das eine oder andere Spiel, welches augenscheinlich nicht mit JiffyDOS zusammenarbeiten möchte. Nachdem JiffyDOS deaktiviert ist, lässt sich das Spiel aber starten.



    Ich habe an meinem IEC-ATA-Interface V2 (welches in einem ehemaligen externen SCSI-Gehäuse steckt) beobachtet, das sich der IEC-Bus anscheindend aufhängt, wenn ich das Gehäuse abstelle, aber über IEC-Bus noch verbunden bleibt.
    Da weiss ich nicht ob das nicht auch mit JiffyDOS zusammenhängen könnte.


    Gruß: Stefan

  • Zitat

    JiffyDOS bereitet bei mir keinerlei Probleme im C128D. Alles wird korrekt dargestellt.

    Das bedeutet, dass du Glück hast und das Timing deines C128D gerade noch so ist, dass es keine Fehler gibt.

    Zitat

    Ich habe an meinem IEC-ATA-Interface V2 beobachtet, das sich der IEC-Bus anscheindend aufhängt, wenn ich das Gehäuse abstelle, aber über IEC-Bus noch verbunden bleibt.
    Da weiss ich nicht ob das nicht auch mit JiffyDOS zusammenhängen könnte.

    Ich habe es gerade eben ausprobiert. Bei mir klappt der Zugriff, auch mit JiffyDOS, auf die anderen Floppys, selbst wenn IEC-ATA ausgeschaltet ist. Generell ist es nicht so gut von seriellen Geräten nur die Versorgungsspannung abzuschalten, da sie dann die Leitungen des seriellen Busses nach 0V ziehen können und dadurch der Bus blockiert ist.

  • Hmmm. Ich bin da jetzt ein wenig verwundert. Bei abgeschalteten Commodore Floppys bleibt der Bus doch auch aktiv, da er durchgeschleift ist....


    Sollte ich mit einem Relais die IEC-Bus Leitung zusätzlich trennen, wenn ich das IEC-ATA abschalte?

  • Zitat

    Hmmm. Ich bin da jetzt ein wenig verwundert. Bei abgeschalteten Commodore Floppys bleibt der Bus doch auch aktiv, da er durchgeschleift ist....
    Sollte ich mit einem Relais die IEC-Bus Leitung zusätzlich trennen, wenn ich das IEC-ATA abschalte?

    Ja, der Bus ist durchgeschleift. Aber wenn du die 5V-Spannung vom IEC-ATA wegnimmst, dann kann es sein, dass sich der AVR seine Versorgungsspannung vom IEC-Bus holt und dabei die IEC-Bus-Leitungen nach low zieht, was den Bus blockieren könnte. Bei Schaltungen ohne Treiberchips (74LS244, 74LS07) ist es mit Sicherheit so, beim IEC-ATA kann ich es nicht genau sagen. Ein Relais wäre übertrieben, ich denke, dass ein Schalter, der die ATN-Leitung unterbricht, reichen sollte.

  • Bei der 1541U gab es auch ein Problem mit dem IEC-Bus-Timing:
    http://www.1541ultimate.net/co…&Itemid=4&catid=9&id=2545
    Ich habe mal iec-bus-delay2.prg mit den verschiedenen Versionen von 1541U1 getestet:

    Code
    1. C64=fall C64=stei C64=fall C64=stei
    2. 41=fall 41=fall 41=stei 41=stei
    3. a 2,58µs 2,57µs 2,60µs 2,60µs 1541U1 V1.5, V1.6
    4. b 2,78µs 2,77µs 2,80µs 2,80µs 1541U1 V1.61, V1.7b, V1.71b, V1.72b, V2.0, V2.0RCA, V2.3, V2.4a

    (a) hat Probleme mit JiffyDOS, (b) nicht. D.h. die Verlangsamung des IEC-Busses um 0,2µs hat das Problem behoben. Ich bin ziemlich sicher, dass das Problem mit der intern angeschlossenen TC64-Floppy der Wert 2,5µs ist und eine Verlangsamung um 0,3µs das Problem beheben sollte. Genaus denke ich, das man die extern angeschlossene TC64-Floppy um 0,5µs beschleunigen sollte.
    PS: Hat jemand noch ältere Versionen als V1.5 fürs Testen für die 1541U1?

  • Zitat von '-trb-

    >Hat jemand noch ältere Versionen als V1.5 fürs Testen für die 1541U1?
    Bitteschön: v1.1, v1.2β und v1.3β.

    Vielen Dank. V1.1 konnte ich nicht flashen, aber V1.2 und V1.3 hat geklappt:

    Code
    1. C64=fall C64=stei C64=fall C64=stei
    2. 41=fall 41=fall 41=stei 41=stei
    3. a 2,74µs 2,72µs 2,76µs 2,75µs 1541U1 V1.2, V1.3
    4. b 2,58µs 2,57µs 2,60µs 2,60µs 1541U1 V1.5, V1.6
    5. c 2,78µs 2,77µs 2,80µs 2,80µs 1541U1 V1.61, V1.7b, V1.71b, V1.72b, V2.0, V2.0RCA, V2.3, V2.4a

    (b) hat Probleme mit JiffyDOS, (a) und (c) nicht. Zwischen V1.3 und V1.5 hat Gideon irgendwelche digitalen Filter ausgebaut, was den Bus unbeabsichtigterweise beschleunigt hat. Zwischen V1.6 und V1.61 hat er den Bus vermutlich wieder verlangsamt.

  • Vielen Dank an x1541, der auf seinem C128 umfangreich getestet hat. Hier die Ergebnisse von x1541 und Stefan75, an den auch noch mal ein Dank geht:

    Code
    1. C64=fall C64=stei C64=fall C64=stei
    2. 41=fall 41=fall 41=stei 41=stei
    3. 3,07µs 2,67µs 3,09µs 2,69µs Stefan75 JiffyDOS funktioniert
    4. 3,04µs 2,64µs 3,07µs 2,67µs x1541 JiffyDOS hat gekippte Bytes

    D.h. eine Differenz von minimalen 0,02 - 0,03µs macht den Unterschied aus zwischen JiffyDOS-funktioniert und gekippten Bytes - unglaublich.

  • Ja, der Bus ist durchgeschleift. Aber wenn du die 5V-Spannung vom IEC-ATA wegnimmst, dann kann es sein, dass sich der AVR seine Versorgungsspannung vom IEC-Bus holt und dabei die IEC-Bus-Leitungen nach low zieht, was den Bus blockieren könnte. Bei Schaltungen ohne Treiberchips (74LS244, 74LS07) ist es mit Sicherheit so, beim IEC-ATA kann ich es nicht genau sagen. Ein Relais wäre übertrieben, ich denke, dass ein Schalter, der die ATN-Leitung unterbricht, reichen sollte.


    Dieses verhalten hatte ich bis jetzt noch nicht feststellen können, weder bei iecata noch bei meinem eigenbau mit sd2iec+iecata mit 2 atmegas, wo bei mich der Gedanke schon interessiert.
    Standarsmäßig sind die Busleitungen über 1kohm an +5V Versorgung des Laufwerks angeschlossen, die natürlich auch am atmega hängt

  • Ich hatte so ein Problem beim arm2iec mit dem original verbauten Treiber vom Typ HCT07 (oder HC). Tausch gegen LS07 bzw. 7407 machte das arm2iec abschaltverträglich.

  • Ich hatte so ein Problem beim arm2iec mit dem original verbauten Treiber vom Typ HCT07 (oder HC).


    Da wüsste ich gerne mal wo du den aufgetrieben hast - ich hatte LS07 (und HCT14) mitgeliefert. Meines Wissens produziert gar keiner der üblichen Verdächtigen 74HCT07er (mehr?).

  • Zitat


    Da wüsste ich gerne mal wo du den aufgetrieben hast - ich hatte LS07 (und HCT14) mitgeliefert. Meines Wissens produziert gar keiner der üblichen Verdächtigen 74HCT07er (mehr?).


    Ich kann auch falsch liegen. Irgendwas war in der Richtung. Hatte ich im Forum auch schon mal geschrieben. Muss nachsehen. Evtl. war der HCT14 der Übeltäter.


    Gesendet von meinem GT-N7000 mit Tapatalk 2

  • Hier mal die Messung mit Beta-8d:

    Der externe IEC-Bus wurde 0,1-0,2µs langsamer, obwohl schneller besser wäre. Diese Verlangsamung könnte bei NTSC-C64 evtl. nachteilig sein.
    Der interne Anschluss wurde um bis zu 0,2µs verlangsamt. Wenn kein serielles Kabel an der Peitsche angeschlossen ist, dann ist der Wert von 2,8µs prima.
    Wenn zusätzlich ein IEC-Kabel angeschlossen ist, dann der Wert von (3,06 -) 3,47µs evtl. zu langsam.
    Ich hatte keine Probleme mehr beim (kurzen) Testen von JiffyDOS.

  • [quote='NLQ','index.php?page=Thread&postID=727765#post727765']Hier mal die Messung mit Beta-8e:

    (t) Der externe IEC-Bus bleibt genauso schnell (h), obwohl schneller vielleicht besser wäre. Dies könnte bei NTSC-C64 evtl. nachteilig sein.
    Beim Testen (PAL) hatte ich hiermit gar keine Probleme.
    (q) Hier hatte ich mehrfach Hänger bei @$. Das Freezen mit Action-Replay ergab, dass der C64 angeblich bei $dc05 hängt. Das Hängen war sowohl mit (realen) CBM- als auch mit SJD-Floppys. Evtl. bewirkt der Wert 2,81µs Probleme mit realen Floppys. sodass ich den Wert vielleicht mal um 0,1 - 0,2µs erhöhen würde.
    (s) Hier hatte ich bei @$ mit meiner realen JD-1571 sehr häufig reverese Zeichen und fehlende Zeichen im Dir. Bei einer JD-1541 waren diese Fehler viel seltener, bei der JD-1581 gar nicht. Dafür habe ich keine Erklärung (Die 1571 ist mein schnellstes serielles Gerät (c), die beiden 1541 sind langsamer (a) (b))
    (r) Wenn ich die TC64-Floppy zusammen mit realen Föppys benutze und dabei das serielle Kabel zusätzlich in die TC64-Peitsche einstecke und den real-C64-IEC-Bus auf off schalte, dann hängt der serielle Bus.

  • (r) Wenn ich die TC64-Floppy zusammen mit realen Föppys benutze und dabei das serielle Kabel zusätzlich in die TC64-Peitsche einstecke und den real-C64-IEC-Bus auf off schalte, dann hängt der serielle Bus.


    Das war in der Beta-8d allerdings auch schon so dass eine abgeschaltete Floppy den IEC Bus blockiert. Hmm..., ist das nicht normal?