Beiträge von Wiesel im Thema „Ton kratzt/verzerrt bei BluREU Demo“

    $07ffff-wraparound-bug des REC


    Das ist kein Bug der Hardware, sondern eine Schwäche der Dokumentation von REU-Mods. Der REC hat nunmal nur 19 Bits in den Adresszählern, die Bits darüber werden nur festgehaten.

    Und jetzt lasst mal jemand ne Demo machen, die auf die Register schreibt!... Das löppt dann nie ordentlich auf echter Hardware - bzw. *nur* auf dem Chameleon!


    Ist auf der einen Seite lame, das nur auf Chameleon zu testen und dann zu releasen. Auf der anderen Seite hast Du Recht, wir haben den Anspruch, besser als Emulation zu sein. Wenn das konsequent durchgezogen werden soll, müssten wir eigentlich auch die Bugs implementieren, die auf der Original-Hardware passieren. Ich frag' Peter mal, ob das Schreib-Timing in Abhängigkeit von der Quelle angepasst werden kann - auch wenn ich mich jetzt schon auf virtuelle Haue von ihm einstelle...

    Wie hat das TMR eigentlich gemacht? Der schreibt in seinem REU-Demo ja auch direkt auf $d020:


    VIC und SID haben unterschiedliches Timing. Das Timing der REU ist immer konstant. Vermutlich ist die Mehrheit der VICs zufrieden mit der Haltezeit der Adressen/Daten, der SID jedoch nicht. Das müsste man wirklich mal genauer untersuchen. Vielleicht mal nen Haufen Daten in die Sprite-Register schreiben und vergleichen? Müsste man doch recht einfach mit der copy/verify Option der REU machen können. Roland?

    Jens

    Hmmjaa.. is'n Argument. Die Bauteile im C64 die statische Adressierung haben möchten, brauchen ne recht lange Adress-Haltezeit (was uns beim Chameleon recht viel Verrenkung gekostet hat). Kann sein, dass die REU sich darauf verlässt, dass eben nur in den C64-Speicher geschrieben wird - da darf man die Adresse schon kurz nach CAS=low verändern, weil die Rams die Adressen intern latchen.

    Irgendwie zieht sich diese Technik durch ziemlich viele Commodore-Rechner. Im Amiga ist das auch sichtbar, da werden Adressen noch während eines Ram-Zyklus auf dem Chipmem verändert, deswegen funktionieren nicht alle Ram-Typen.

    Diese REU-Schwäche werden wir wahrscheinlich nicht in Chameleon implementieren. Schlimm?

    Jens

    Der "Pixelschubser" hatte übrigens die Idee mit der streaming Musik....

    ...und Roland hat's in die Zeropage geschoben, damit's schneller wird? Ich frage mich was Euch daran gehindert hat, die drei Stimmen ohne gesetztes gate-Bit in den SID zu schreiben und dann mit der CPU das/die Gate-Bit(s) hinterher zu setzen, das dürfte insgesamt noch die schnellste Methode sein. Aufruf der Musikroutine wäre dann immer noch ein Streaming, aber eben zwei parallel laufende Streams: Einer für die SID-Register und einer für die Gate-Bits.

    Jens