Quelle für Uhr in Geos

Es gibt 30 Antworten in diesem Thema, welches 3.720 mal aufgerufen wurde. Der letzte Beitrag (30. Januar 2023 um 10:08) ist von Krill.

  • Ja? Wie funktionieren die genau?

    Ich kriege es nicht mehr 100% zusammen, deshalb ein Screenshot, der es einigermaßen erklärt. Und genau bei einem solchen Schutz läuft das Programm nicht mehr, wenn die Sicherung tot ist. Es wird geprüft, ob der Lautstärkenverlauf zur vorher eingestellten Hüllkurve passt. Das Freezermodul kann diee ADSR Register nicht auslesen.

    Bitte melde dich an, um diesen Anhang zu sehen.

  • Ich kriege es nicht mehr 100% zusammen, deshalb ein Screenshot, der es einigermaßen erklärt. Und genau bei einem solchen Schutz läuft das Programm nicht mehr, wenn die Sicherung tot ist. Es wird geprüft, ob der Lautstärkenverlauf zur vorher eingestellten Hüllkurve passt. Das Freezermodul kann diee ADSR Register nicht auslesen.

    Aus welchem Buch ist das, und welches Programm nutzt genau diesen Schutz? Das spielt keine hörbare Musik ab, oder? :)

    Anhand der Symptomatik "Sicherung raus, Programm geht nicht wegen Freezerschutz" würde ich eine andere, elegantere, Methode vermuten, basierend auf der CIA-Echtzeituhr.

    Die Alarmzeit ist nämlich auch so ein schreib-, aber nicht (sinnvoll) auslesbarer Zustand im Chip.

    Wenn man diese nun auf eine beliebige geheime Uhrzeit stellt, kann man den korrekten Wert abfragen, indem man die Uhr auf kurz davor stellt und nach kurzer Zeit den Alarm erwartet.

    Bleibt der aus, läuft entweder die Uhr nicht, oder der Alarm steht in einem vormalig gefreezeten Programm auf der falschen Zeit.

  • Provisorisch eine andere Sicherung drin. Geht wieder alles. Nur auf dem Ton ist ein ganz schönes Bildknattern drauf. Ich nutze einen S-Video auf HDMI-Konverter. Kann man da noch das Knattern etwas verringern?

  • Nein, die sind konfigurierbar (Takt 60Hz/50Hz), siehe auch Link, den ich oben gepostet habe.

    Jetzt habe ich mir das mal genauer angeschaut und muss sagen, mir ist da trotzdem was unklar. Das Konfigurationsbit kommt ja aus dem Char-ROM. Zumindest auf der Zimmers Seite finde ich gar kein extra ROM für USA. Aber dann müsste es doch für da ein anderes ROM geben. Wie kommt das Bit da hin?

  • Nein, die sind konfigurierbar (Takt 60Hz/50Hz), siehe auch Link, den ich oben gepostet habe.

    Jetzt habe ich mir das mal genauer angeschaut und muss sagen, mir ist da trotzdem was unklar. Das Konfigurationsbit kommt ja aus dem Char-ROM. Zumindest auf der Zimmers Seite finde ich gar kein extra ROM für USA. Aber dann müsste es doch für da ein anderes ROM geben. Wie kommt das Bit da hin?

    Gar nicht. Es wird unabhängig von der Netzfrequenz immer auf 60 Hz gesetzt.

    Das ROM nutzt die Echtzeituhren auch gar nicht, die Zeit (TI$) wird per Timerinterrupt hochgezählt, wobei da dann die Timerfrequenz vom Videostandard abhängt.

    Der wird Bitte melde dich an, um diesen Link zu sehen. detektiert.

  • Das Konfigurationsbit kommt ja aus dem Char-ROM.

    Huh? :gruebel

    Das Bit "kommt" gar nirgends her, man muss es in nem Konfigurationsregister (DC0E für CIA1, DD0E für CIA2) aktiv konfigurieren. Tut der KERNAL so weit ich weiß nicht, aber der verwendet die Uhren ja sowieso nicht.

  • Das Bit "kommt" gar nirgends her, man muss es in nem Konfigurationsregister (DC0E für CIA1, DD0E für CIA2) aktiv konfigurieren. Tut der KERNAL so weit ich weiß nicht, aber der verwendet die Uhren ja sowieso nicht.

    Laut Wiki ist das Bit an Adresse $D0CE. Diese Adresse ist Teil des Char-ROM. Ich habe mal ins ROM von Zimmers Seite geschaut. Da ist es auch auf 1 gesetzt, was 50Hz entspricht, also unsere Netzfrequenz.

  • Laut Wiki ist das Bit an Adresse $D0CE.

    Erstens mal ist das schon falsch, DC0E ist richtig (DC00 ist die Basis-Adresse für die Register der CIA1).

    Diese Adresse ist Teil des Char-ROM.

    D000-DFFF ist in der Standardkonfiguration der I/O Bereich (wo die memory-mapped Register der ganzen Chips eingeblendet werden und außerdem das spezielle Color-RAM erreichbar ist). Das Char-ROM kann stattdessen optional dort eingeblendet werden, wenn man es auslesen will. Normalerweise ist es aber nur für den VIC sichtbar, und zwar an 1000-1FFF und 9000-9FFF.