Dateien schon direkt in die PRG-Datei einbinden

Es gibt 10 Antworten in diesem Thema, welches 1.742 mal aufgerufen wurde. Der letzte Beitrag (23. Dezember 2011 um 17:25) ist von Vernunftmensch.

  • Code
    snd_footstep:   include ../sfx/footstep.sfx
    snd_bat:        include ../sfx/bat.sfx
    snd_jump:       include ../sfx/jump.sfx
    snd_dart:       include ../sfx/dart.sfx
    snd_select:     include ../sfx/select.sfx
    snd_object:     include ../sfx/object.sfx
    snd_cockweapon: include ../sfx/cock.sfx
    snd_cockfast:   include ../sfx/cockfast.sfx
    snd_insertammo: include ../sfx/ammo.sfx

    Wie bindet man sowas ein in cc65?

    Wie binde ich die Musik schon gleich in SIDRAM ein?

  • SIDRAM?

    Was soll das sein? $D400 ff.?

    Im I/O-Bereich "direkt" drin rumfuhrwerken ist wirklich selten eine gute Idee, man sollte dann auch sehr genau wissen, was man tut, im Zweifelsfall würde ich da lieber eine "indirekte" Lösung bevorzugen.

  • Zitat


    SIDRAM: start = $1000, size = $1780-$1000, define = yes, fill = yes;

    TheRyk Das meine ich mit SIDRAM. Da paßt genau eine Dat.Datei rein, die ich bisher später zulade. Eleganter und Schneller wäre das Einbinden.

    Und bitte die zweite Frage nicht ĂĽberlesen!

    Code
    snd_footstep:   include ../sfx/footstep.sfx
    snd_bat:        include ../sfx/bat.sfx
    snd_jump:       include ../sfx/jump.sfx
    snd_dart:       include ../sfx/dart.sfx
    snd_select:     include ../sfx/select.sfx
    snd_object:     include ../sfx/object.sfx
    snd_cockweapon: include ../sfx/cock.sfx
    snd_cockfast:   include ../sfx/cockfast.sfx
    snd_insertammo: include ../sfx/ammo.sfx

    Wie bindet man sowas ein?

  • TheRyk Das meine ich mit SIDRAM. Da paĂźt genau eine Dat.Datei rein, die ich bisher später zulade. Eleganter und Schneller wäre das Einbinden.


    Ach sooo :) Das ist was anderes. Wenn es nur um Binaries geht, kannst Du oberhalb des Basic-Starts bis zum Beginn I/O grundsätzlich machen, wozu Du lustig bist.

    Entweder so:

    Zitat

    Dur wirst es wohl alles nacheinender in den Speicher laden müssen und dann jeweils den SIDRAM Zeiger zur Laufzeit ändern wollen.

    Oder: Wenn Die FX alle an der gleichen Stelle liegen, kannst Du natĂĽrlich eine Routine schreiben, um mehrere zu spielende SIDs/FX immer an die richtige Stelle zu kopieren, bevor eine Abspielroutine aufgerufen wird.

  • Code
    MEMORY {
        ZP:   start = $0002,               size = $001A,               type = rw, define = yes;
        RAM:  start = $07FF,               size = $C801 - OVERLAYSIZE, file = %O, define = yes;
        OVL1: start = $D000 - OVERLAYSIZE, size = OVERLAYSIZE,         file = "overlaydemo.1";
        OVL2: start = $D000 - OVERLAYSIZE, size = OVERLAYSIZE,         file = "overlaydemo.2";
        OVL3: start = $D000 - OVERLAYSIZE, size = OVERLAYSIZE,         file = "overlaydemo.3";
    }

    Ich bilde mir ein, daĂź so overlaydemo.1 usw. erzeugt werden.

    ICh möchte das Gegenteil, also Implementierung.

  • Probiers doch mal mit einer Erklärung dessen was du eigentlich genau Vorhast oder machen willst anstatt hier ständig irgendwelche
    zusammenhanglose Fragmente hinzuwerfen und dann Antworten auf den Haufen Nichts zu erwarten.

  • Erklärung dessen was du eigentlich genau Vorhast oder machen willst


    Sei mal nicht so streng, nicht jeder kann sich die ärztlich empgohlene Fokussin-Dosis auch leisten in unserer Gesellschaft.

  • Zitat

    Probiers doch mal mit einer Erklärung dessen was du eigentlich genau Vorhast oder machen willst anstatt hier ständig irgendwelche
    zusammenhanglose Fragmente hinzuwerfen und dann Antworten auf den Haufen Nichts zu erwarten.

    Aktuell arbeite ich an einem Videospiel fĂĽr den C64er.
    Zu so einem Videospiel gehören Musik und Soundeffekte.
    FĂĽr die Musik habe ich paar SID-Musiken mir ausgesucht.
    Eine davon habe ich in .Dat umgewandelt.
    In der schon angegebenen c64-cfg habe entsprechend Platz gelassen,
    damit ich mit cbm_load bei Programmanfang die Musik laden kann.
    Funktioniert. :smile:

    Nur könnte ich aber die 2K Musik direkt in die Programmdatei einbinden, damit ich sie nicht dann nochmal laden muß.

    Wie geht das?