Beiträge von Hoogo im Thema „Kurze Frage Zu IRQ“

    Das heißt, während des Interrupts einen weiteren Interrupt nach $0314/15 laden, den bestehenden ACKen über $d019 und mit cli den c64 bereit machen auf IRQs zu reagieren noch während der Rasterstrahl im Bildaufbau ist. Der zweite IRQ kann sich auf eine spätere Zeile beziehen.
    Den zweiten IRQ dann wieder ACKen und den ersten IRQ Vektor in $0314/15 einsetzen.

    Naja, auf diese Weise könntest Du mit den IRQ-Vektoren spielen, wenn Du im voraus weißt, wann welcher IRQ genau auftritt. Dazu müsste imho der CIA-IRQ schon irgendwie mit dem Raster synchron sein, und dann verliert das denn Sinn.

    Man darf auch innerhalb des IRQ CLI verwenden, um einem anderen IRQ Priorität zu geben. Man muss halt nur vorher korrekt geACKt haben.
    Aus dem Gedächtnis sah meine Routine (über $FFFE) so aus:

    Das könnte Raster um ca. 20 Takte extra verzögern, falls der CIA-IRQ ganz kurz vor dem RIRQ passiert.
    Der Vektor bleibt dabei immer gleich. Letztlich ist ein anderer Vektor ja auch nur eine Fallunterscheidung, und das bekommt man in den eigentlichen Unterprogrammen auch anders hin, oder man baut am Anfang von RIRQ mit JMP() seinen eigenen Vektor.