| Posted By
Haplo on 2024-02-24 22:56:48
| Question about music
Hi all,
I've been reading a bit, and it appears that there is no standardised format for ripping Plus/4 music yet. The songs I have tried on HVTC all seem to come with their dedicated players that take over the machine. I was wondering if there are any songs available that come in a format similar to SID (an initialisation routine and a routine to call every frame for the next note)? Thanks.
|
|
Posted By
gerliczer on 2024-02-25 02:27:37
| Re: Question about music
I've been reading a bit, Well, you should have read more. A lot more.
there is no standardised format for ripping Plus/4 music yet It is a bit more complicated. There is a proposed format. See here: https://plus4world.powweb.com/forum/41632. However, discussion petered out without reaching any conclusion. This preliminary format is supported by SIzPlay. I seem to remember someone mentioning converting a number of TED musics to this format, but I'm not sure at all if it ever happened. You should try asking siz about these things.
The songs I have tried on HVTC all seem to come with their dedicated players that take over the machine. AFAIR, the musics in the HVTC archives come in two variants. The ones you tried and their original copies in their naked glory.
(an initialisation routine and a routine to call every frame for the next note) Most of the musics work just like that. Even in the files with dedicated players.
|
|
Posted By
Luca on 2024-02-25 04:36:53
| Re: Question about music
Eh no @gerliczer, unfortunately the second form of the HVTC has gone forever several months ago, because it looked like useless...till now, time in which somebody asked for the exact needing which motivated the existence of that folder. Btw @Haplo, apart some ancient engines and their primitive embedding in their programs, most of the tunes work the way you expect: one call to initialize it, then one (or two in multiframed cases) to play it into an IRQ, just like SID.
They are simple runnable hacks which I use to keep in the most cheap form. Locate the player's program and read how and where to init music and play it into the interrupt.
|
|
Posted By
Haplo on 2024-02-25 05:48:05
| Re: Question about music
Thanks. I had a suspicion that deep down they will have to have some sort of int/play routines. The problem is figuring out what those addresses are (along with the load address). This is straight-forward with SID. That's were Luca's hacks come in, I guess.
Actually maybe I should ask this first before getting ahead of myself. Is using existing music in new games accepted? What is the accepted norm? On C64 if the piece of music you are intending to use is recent enough you are expected to make reasonable effort to track down the composer and ask for permission, and if it is from the old days, giving credit is usually enough (although I still tracked down Barry Leitch and asked for his permission to use his excellent tune from the 1988 game Marauder).
|
|
Posted By
Luca on 2024-02-25 08:10:49
| Re: Question about music
@Haplo: usually, same here. Alternatively, you could ask for a new one right here.
|
|
Posted By
MMS on 2024-02-25 11:10:31
| Re: Question about music
Although I am far (very very far) to be a musician or someone who can make tunes, there are three things that could be called widespread and more common (probably useful as several games and demo used these music form):
-There is a very good comparison of formats in the Lone News 20 from Luca, it is a great read. https://plus4world.powweb.com/software/Lone_News_20 LODPlay 2 seems to be one of the most advanced TED music player, though I do not know in whitch one Luca created the Adventures in Time masterpiece, and what is the player Csabo used to generate the 3rd voice with Bass
-The TEDZakker from Hermit, now dozens of musics were created in this form.
-The Bauknecht (BKN) uses an other music editor and player.
|
|
Posted By
gerliczer on 2024-02-26 02:05:21
| Re: Question about music
@Luca: I didn't know those were thrown out. I always thought them to be useful in the exact use cases Haplo happens to have.
@Haplo: What Luca said. You may try to convince some of the composers whose tunes are in TED Vibes and TED Vibes 2. New musics are always better.
|
|
Posted By
Luca on 2024-02-26 03:55:16
| Re: Question about music
@gerliczer: heh, that folder has awaited for a request for so long time, until we decided that all in all it would have been quite easy to watch into the players' codes to find how to work'em out one by one Btw @Haplo, if you really feel like reusing an existent music, it's truly an easy task! Let's see 3 case studios.
CASE 1: a generic player
Load the HVTC file in YAPE and activate the QUICK DEBUGGER (Shift+F9) in order to immediately see where the program is running in memory in that precise moment. Search around that address, and you'll find the most simple code of the world, with some initialization in the beginning, and the player(s) routine into the scanline checked code.
Where is the real music file? Oh well, it's in the zone between the 00 FF 00 FF's representing the untouched memory, search for it in MONITOR via YAPE.
And in the same way, search for the end of the useful memory block.
The generic music files could be very scattered in different codes into the memory, especially if they come from ancient games, quite rare in the modern era, so keep in count that there could be large empty spaces, which I regularly have zeroed for cleanness and packing needs.
CASE 2: Knaecketraecker
Let's see some proper players now. Knaecketraecker has an initialization address, a "thick" address which is a sort of pre-player, and a play address. They are veeery clear if you save the naked file.
...but most of the times, we saved those tunes with their own player, which is an option of the tracker itself, and that player doesn't use the veeery cleeean code declaring those memory locations, but they're easily recognizable in the player's code itself.
They also are generally unpacked, so you can read directly the memory zone involved, YAPE writes it right under the lower corner.
CASE 3: TEDzakker
TEDzakker too saves unpacked files which are very explicit.
As you can see, the useful addresses are there, ready to be used just like a SID. Moreover, how to use those key addresses has been well explained in any tracker's note, so no problem at all. The useful memory block is again the unpacked declared memory
...and for any hint, we are here as ever!
|
|
Posted By
gerliczer on 2024-02-26 11:42:22
| Re: Question about music
Hey Luca, you seemingly forgot another case. CASE 4: LOD Player tunes in assembly source. Csabo is a very prolific musician and many of his projects come with sources; including the tunes.
|
|
Posted By
Luca on 2024-02-27 02:48:10
| Re: Question about music
@gerliczer ah well, Csabo's tunes have their own player with all the info, they're a no-brainer in the whole scenery
|
|
Posted By
Haplo on 2024-02-28 18:31:51
| Re: Question about music
@Luca, thank you very much for the in-depth explanation. Now that you have done most of the hard work, you might actually want to turn this into a tutorial on this site.
I'll go through some of the existing music to see if any of them is suitable for what I am working on, and if not I'll ask someone to do a new tune.
Right now I am wrestling with some existentialist problems (such as can the screen RAM be moved or it is fixed at 0xC00, going through the registers now).
|
|
Posted By
Csabo on 2024-02-28 19:03:25
| Re: Question about music
The color ram and character ram always follow each other. They can be on any $0800 boundary. By default, it's on $0800 (which means the character ram is on $0800 + $0400 = $0C00). This is controlled by $FF14, which has $08 on it by default. If you write $70 there, for example, the color ram will be on $7000 and the character ram will be on $7400.
|
|
Posted By
Haplo on 2024-02-29 02:15:28
| Re: Question about music
Thanks, I found it a few minutes after posting. So the colour RAM is not fixed as in C64. Not sure which one is better though; Plus4 is certainly more flexible, but will need more memory management if there are multiple screens.
(By the way, Csabo I have sent you an email to the address listed on this site. Thanks.)
|
|
Posted By
Csabo on 2024-02-29 14:34:09
| Re: Question about music
Thanks for calling this out - I was already talking to someone else about an email that didn't arrive. I figured out what my ISP was doing and got it. Reply sent
(This is for everyone, in general, if I don't respond to something via email right away, or after a day max, please feel free to ping me via a PM or on the forum.)
|
|
Posted By
MMS on 2024-03-02 21:13:40
| Re: Question about music
@Haplo: well, the Plus/4 is much better. The extra memory management means only changing one register to change the address On C64 you need to swap the complete color RAM for a second or third picture. It means on C64 you also need to keep them in the memory, but you cannot use them as they are as on Plus/4. So the Plus/4 is a smarter and a saves some memory.
|
|
| |
Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon |