Dein Loader ist trotzdem der Geilste, keine Panik
Wenn es den nicht geben würde, würde es so einige Demos aucg nicht geben, soviel ist mal klar.
Beiträge von peiselulli im Thema „Unterbrechungsroutinen C64“
-
-
Dann habe ich die GetByte-API auch falsch verstanden.
getbyte (1541) == getc (C-Lib)
load (1541) == fread (C-Lib)So war meine Annahme.
-
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
ist der speicher nicht voll?
Mal ja, mal nein ... Diese komischen schiefen Rasterbars in Krawall-Deluxe waren so ein "Firlefanz" -
Ich wollt ja nur auf "hä? du musst an was anderes denken." beantworten.
-
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.Zitatin 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.