Hallo Besucher, der Thread wurde 992 mal aufgerufen und enthält 3 Antworten

letzter Beitrag von markusC64 am

Frage zum virtuellen SID

  • Hallo,


    ich habe meine 1541uII+ so eingestellt, dass sie einen 8580 an $D400 einblendet, da ich gern Demos schaue und nur einen 6581 habe.
    Jetzt habe ich das Problem, von dem Gideon auch in seiner Kurzanleitung schreibt, dass bei manchen Demos (Coma Light 13, der Part nach dem Feuerwerk, um ein Beispiel zu nennen) der Sound verrückt spielt.
    Ich verstehe Gideons ausführungen so, dass dann der Speicher an $D400+ für was anderes genutzt wird.


    Jetzt eine Frage zum Verständnis (die vielleicht auch mein Problem löst):
    Wie kann das sein? Der Speicher für den ersten SID ($D400) ist doch eigentlich write only, von den Paddles mal abgesehen.

  • Du hast 64kb RAM, d.h. überall ist RAM, auch unter dem IO-Bereich (D000-DFFF). Blendet man den IO-Bereich aus, antworten nicht mehr dort eingeblendeten IO-Chips (VIC, SID, CIAs) sondern das darunterliegende RAM. Wenn die Ultimate sich nicht darum schert, sondern ihren virtuellen SID einfach immer einblendet (keine Ahnung, ob das tatsächlich so ist), käme es zum Konflikt, wenn ein Programm das RAM unter dem IO-Bereich verwendet.

  • Wenn die Ultimate sich nicht darum schert, sondern ihren virtuellen SID einfach immer einblendet

    Ja, das tut sie wohl. Ich sehe es pragmatisch und habe die SID Nachbildung deaktiviert. Schlechter als ein nachgebildeteter 8580 klingt ein 6581R4AR jetzt auch nicht.

  • Du hast 64kb RAM, d.h. überall ist RAM, auch unter dem IO-Bereich (D000-DFFF). Blendet man den IO-Bereich aus, antworten nicht mehr dort eingeblendeten IO-Chips (VIC, SID, CIAs) sondern das darunterliegende RAM. Wenn die Ultimate sich nicht darum schert, sondern ihren virtuellen SID einfach immer einblendet (keine Ahnung, ob das tatsächlich so ist), käme es zum Konflikt, wenn ein Programm das RAM unter dem IO-Bereich verwendet.

    Da liegst Du sehr richtig. Ich versuche mich mal in einer genaueren Erklärung:


    Das Problem ist, dass es im I/O-Bereich nur für DE00-DFFF ein Signal (Pins 7 und 10 des Expansionsports) gibt, mit welchen der C64 einem Modul mitteilt, dass es gemeint ist. Für den Rest des I/O-Bereiches gibt es einfach kein Signal.
    Für die üblichen Kandidaten (den Speicher, den Module üblicherweise zur Verfügung stellen) gibt es mit ähnlicher Funktion noch die Pins 11 und B.


    In Folge dessen kann die 1541 Utimate bei einen Zugriff auf den Bereich $D4xx nicht wissen, ob sie gemeint ist oder das RAM dahinter. Und beim Lesen käme zusätzlich noch das Characterrom infrage. Deswegen "fühlt" sich die 1541 Ultimate immer angesprochen.