6510 mit 2 MHz durch Software-Umschaltung von D018 Bit 0?

Es gibt 12 Antworten in diesem Thema, welches 2.067 mal aufgerufen wurde. Der letzte Beitrag (15. August 2018 um 16:18) ist von androSID.

  • Hallo,

    ich habe eben wieder ein Demo gefunden, das mich früher schon fasziniert hat:

    Bitte melde dich an, um diesen Link zu sehen.

    Jetzt nicht so sehr wegen des Demos an sich, sondern wegen der Behauptung im Scrolltext, der 6510 würde mit 2 MHz laufen. Anscheinend müsse man genau beim Erreichen der Rasterzeile 0 (linke obere Ecke) das Bit 0 von D018 löschen, wozu man genau einen Taktzyklus Zeit habe, dann liefe der 6510 mit 2 MHz, bis der Rasterstrahl die rechte untere Ecke erreicht habe, worauf man das Bit wieder löschen müsse im nächsten Frame, um weiter mit 2 MHz "zu fahren", usw.

    Angeblich sei das auch im "Reference Manual" (ich nehme mal an des VIC) erwähnt. Ich habe da schon viel dazu gesucht, aber niemals was Konkretes dazu gefunden. Ich kann mir auch nicht vorstellen, wie das bei Buszugriffen und im Wechselspiel mit dem VIC funktionieren soll.

    Hat irgendjemand mal abseits davon irgendwas in diese Richtung gehört oder gar versucht? Oder weilt der Programmierer des Demos sogar unter den Forumsmitgliedern und kann Licht in die Sache bringen? :D

    Gruß
    kinzi

    [edit]

    Da das Demo einwandfrei in VICE läuft, müsste das dort dann auch nachgebildet sein, nehme ich an?

    [/edit]
  • :lol27:

    Du müsstest es eigentlich selber besser wissen.... Der Takt ist fest und kann nicht durch SW verändert werden...
    Was bei 2Mhz Takt und eingeschaltetem VIC passiert sieht am 128er

    Das ist fast das gleiche wie der 'Killer-Poke'

    :popcorn:

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Ja, ich halte es ja auch zu 99% für einen Fake.

    Technisch möglich wäre es schon, der CPU-Takt wird ja vom VIC generiert und da könnte ja schon eine 1 MHz/2MHz-Umschaltung eingebaut sein (siehe VIC-IIe des 128).

    Was ich mich nur frage: Wenn es ein Fake ist, warum erzählt man dann so einen Sch**ß im Scrolltext? Die (Programmier-) Leistung, das Demo mit 1MHz hinzukriegen ist doch viel größer als wenn man doppelte Zyklen zur Verfügung hat?

    Aber wahrscheinlich galt da: "This is only to confuse the Russians!" :D

  • Technisch möglich wäre es schon, der CPU-Takt wird ja vom VIC generiert und da könnte ja schon eine 1 MHz/2MHz-Umschaltung eingebaut sein (siehe VIC-IIe des 128).

    Ja, der ist aber anders am im 64er... wie gesagt: der Takt beim C64 ist fest in der HW verdrahtet. Da geht nur 1Mhz (ok.. 0,9irgendwas) oder nix (0, nada, niente)...

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Ja, der ist aber anders am im 64er... wie gesagt: der Takt beim C64 ist fest in der HW verdrahtet. Da geht nur 1Mhz (ok.. 0,9irgendwas) oder nix (0, nada, niente)...

    Der Takt kommt aus dem VIC-II. Theoretisch könnten da auch 2 MHz rauskommen, wenn da mit einem Bit ein Teiler umgeschaltet wird. Ja, der ganez Systemtakt würde durcheinandergebracht, das ist mir alles klar. Ich bin auch kein Mondlandungsleugner, keine Angst! :D

  • Ja, ich halte es ja auch zu 99% für einen Fake.

    Mach 100% daraus, dann stimmt die Abschätzung.

    warum erzählt man dann so einen Sch**ß im Scrolltext?

    Pure Angeberei. Ist halt auch nicht auf Anhieb zu falsifizieren wenn man sich mit der Technik nicht genau auskennt. Bei den genannten unmöglichen Bedingungen, die man einhalten muß, damit das angeblich funktioniert hätten die Jungs bei einem Fehlschlag auch immer cool sagen können: "Na, so wie Du versucht hast, das zu aktivieren, geht's nicht." ... usw.

    Ab ins Reich der "Urban Legends" damit. ;)

  • Ich bin auch kein Mondlandungsleugner, keine Angst!

    Weiß ich doch. :smile: Aber die Nazis oder Pink Flyod haben sie nicht gefunden :D


    Theoretisch könnten da auch 2 MHz rauskommen, wenn da mit einem Bit ein Teiler umgeschaltet wird.

    Theoretisch ... Praktisch ist das was für das 'Land der feuchten Träume' :wink:

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Der Takt kommt aus dem VIC-II. Theoretisch könnten da auch 2 MHz rauskommen, wenn da mit einem Bit ein Teiler umgeschaltet wird.

    Geht, ja... TED zeigt im C16 wie man das macht. Nur gibts dann eben kein Bild mehr weil die CPU alle möglichen Speicherzyklen verbraucht, womit TED selbst nicht mehr an den Bus rankommt. Speicher auch doppelt so schnell takten fällt aus, dazu ist er zu langsam.

  • Pure Angeberei. Ist halt auch nicht auf Anhieb zu falsifizieren wenn man sich mit der Technik nicht genau auskennt. Bei den genannten unmöglichen Bedingungen, die man einhalten muß, damit das angeblich funktioniert hätten die Jungs bei einem Fehlschlag auch immer cool sagen können: "Na, so wie Du versucht hast, das zu aktivieren, geht's nicht." ... usw.

    So wird's wohl sein. :thumbup:

    Ab ins Reich der "Urban Legends" damit.

    Wie gesagt, ich kenne alle Argumente dagegen und weiß, dass es nicht funktionieren kann. Insofern waren die 99 % oben eh falsch. Mich wundert nur, warum man sich die Mühe macht, so einen Schhrott zusammenzudichten. Aber gut, das läuft wohl landläufig unter "Posing", da kenne ich mich zu wenig aus damit - vermutlich verstehe ich es deshalb nicht. :rolleyes::)

  • Geht, ja... TED zeigt im C16 wie man das macht.

    Eben. Und da kommt jetzt wieder das Teufelchen auf der linken Schulter :bgdev und flüstert: "Vielleicht hat Krummodore (bzw. MOS) hat schon beim VIC-II und nicht erst beim TED mit einem 2 MHz-Mode experimentiert und das dann wieder aufgegeben, weil es (noch) nicht funktioniert hat. Daher das festgenagelte Bit 0 in D018, das eigentlich dafür hätte herhalten sollen."

    Egal. Ich wollte nur wissen, ob sich jemals jemand anders ernsthafte Gedanken dazu gemacht hat. Dazu (zum Erfahrungsaustausch) soll das Forum hier ja (u. a. ) wohl dienen. ;)

    [edit]

    Speicher auch doppelt so schnell takten fällt aus, dazu ist er zu langsam.

    Eventuell wurde ja genau das ursprünglich versucht und dann alles zusammen aufgegeben, bis die Idee überarbeitet im TED wiedergeboren wurde.

    [/edit]
  • TED zeigt im C16 wie man das macht. Nur gibts dann eben kein Bild mehr

    Äh? Der TED zeigt nicht nur, wie man es macht (bzw. hätte machen können), es gibt sogar ein Bild.

    Allerdings gelten die 1,8 MHz eben nur im Rahmen. In der normalen Display-Area ist die CPU gedrosselt auf die halbe Frequenz, also 0,9 MHz damit der TED da Daten holen kann.

    Da das Farb-RAM aber nicht über einen Zusatzbus angebunden ist, macht der TED allerdings auch zwei Badlines pro Textzeile.

    Umgekehrt holt der VIC-II im C64 nicht nur in Badlines 2 Bytes pro Taktzyklus, er hält die CPU auch an wenn er im seitlichen Rahmen Spritedaten abholt. Diese Zugriffe erfolgen ebenfalls mit doppelter Bandbreite. Das einzige, was "versteckt" abläuft, ist der DRAM-Refresh. Das sind 5 Zugriffe in jeder Rasterzeile, die der VIC "einfach so" macht (in seiner Taktperioden-Hälfte) und die einzigen Zyklen in der die CPU noch Luft bekommt, wenn in einer Badline alle 8 Sprites dargestellt werden ... Bitte melde dich an, um diesen Link zu sehen.

  • Äh? Der TED zeigt nicht nur, wie man es macht (bzw. hätte machen können), es gibt sogar ein Bild.

    Ja, aber nur weil er eben im Bildbereich runterschaltet, die Demo hat aber was anderes behauptet. Solange doppelter Takt aktiv ist gibts kein Bild, auch nicht bei TED.


    Da das Farb-RAM aber nicht über einen Zusatzbus angebunden ist, macht der TED allerdings auch zwei Badlines pro Textzeile.

    Dafür hast du 8Bit-Farbcodes und mehr als ein Farb-RAM weil die Adresse umgeschaltet werden kann. Hat Vor und Nachteile...

    Da glaub ich eher noch an die Temperaturmessung des 6510 über P6 und P7 des I/O-Ports. Diese Bits sind vorhanden und man kann sie programmieren. Auf Ausgang schalten, eine 1 reinprogrammieren, dann auf Eingang schalten und die Zeit messen bis das Bit als 0 gelesen wird. Die Zeit ist temperaturabhängig. Leider aber eben nicht uniform über alle CPUs.