Login
Back to forumReply to this topicGo to last reply

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. grin

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. happy

(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. happy

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 happy 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! wink

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. grin 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 wink

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 happy

(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.



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon