Hi all!
trying to free some space in a 16Kb page of my Freedom Fighter megarom (new prologue gfx need room, even if pletter compressed) I tried to move the prologue music (about 2Kbytes) in another page where there is enough room.
My idea was to copy the song data to RAM and let the player read it from RAM instead of ROM.
I did the very first try without moving the song to another page in this way, at the beginning of active page:
ld hl,prologue_music ld de,0e880h ld bc,prolmus_end-prologue_music ldir
then I've set the source of data with:
ld hl,0e880h xor a call PLY_AKG_INIT
and hooked my routine that call arkos player. And all went fine...
so I've moved the song and the code to copy it to from ROM to RAM to another page leaving the player settings and hooking in the active (during prologue sequence) page.
The game freeze at the black screen before the prologue sequence.
If I remove the hook (or the player call inside the hook) the prologue works (without music, of course).
So probably the music data are corrupted (but I have no clue of when, or where, it happens)
Someone has any thought about this strange beaviour?
I tried this only on openMSX (I'll try on real hardware this weekend using my SD mapper).