Beiträge von peiselulli im Thema „Unterbrechungsroutinen C64“

    Zitat

    out-of-order


    Nur, wenn die Blöcke im Floppy-Ram gelagert werden können. Das sollten nicht allzuviele sein, zumindest kein ganzer Track. Ansonsten kommen die Blöcke doch kreuz-und-quer in den Speicher, wenn man das als ganze Datei liest. Oder habe ich da was falsch verstanden ?

    Zitat

    quark. jeden frame N bytes im irq von der floppy holen. das kann sogar der krill loader von haus aus :)


    Die Getbyte-API ? Saulahm, dann kann er die Blöcke ja nicht mehr out-of-order laden ...
    Haben wir bei der Krall-Deluxe-Demo probiert. Zu lahm. Letztendlich war die nested Interrupt-Geschichte die Lösung ...

    Zitat

    zb das man sich überhaupt gedanken darüber machen muss wie man jetzt die routine die in 3 frames läuft überhaupt mit dem rasterirq zusammenbringt ohne alles völlig zu verkomplizieren.


    Quatsch. Das Problem hat man so oder so.

    Zitat

    in dem fall würde ich es für wesentlich einfacher halten den loader im irq aufzurufen :)


    Tape-Loader ?

    Zitat

    In der tat... und so bald dinge regelmässig länger als 1 frame brauchen (was auch bei einem demo jetzt nicht so ungewöhnlich ist) macht das am ende doch mehr probleme als es löst wenn man alles im irq laufen lässt.


    Welche Probleme ? Und es löst das Problem, das durch paralleles Nachladen die Pausen kleiner werden ... DIE sind ein Problem.

    Ich habe mir angewöhnt, alles im IRQ zu schreiben. Hat den Vorteil, dass man parallel dazu nachladen/entpacken kann. Wenn man mal was längeres anstarten muß, kann man ja auch nested Interrupts machen. Für wirklich zeitkritische Sachen muß dann manchmal ein NMI herhalten, mit so ne Art selbstgebauten zweiten Raster-IRQ.
    Habe ich schon öfters gemacht, z.B bei Bitte melde dich an, um diesen Link zu sehen.. Da mach der normalen Rasterzeilen-IRQ den Sprite-Multiplexer (nicht so zeitkritisch), während der NMI so zeitkritisches $d011-Gefummel macht.

    a) Vergiss erstmal NTSC. Da kannst Du in fünf Jahren drüber nachdenken.
    b) Am wichtigsten sind da meiner Meinung nach der Sid und die CIAs
    c) (* Ächzt *) Edit : um noch mal auf Dein "professionelles" Programmieren zurückzukommen : "professionell" (in deinem Sinne) bedeutet : Doku lesen -> verstehen -> dann anwenden !!!

    Zitat

    ich hab ziemlich viele demos gebastelt ohne wirklich zu wissen was ein rasterinterrupt so macht =)


    Bei Flaschbier hatte ich das mit dem Low-Highbyte noch nicht so richtig kapiert und war unsicher. Deshalb zeigt die Adresse in $0314 auf $2727, da war es dann egal =)
    Rasterinterrupts konnte ich damals noch nicht und habe sie auch nicht gebraucht.