| |
DJ Space
Registered: Apr 2023 Posts: 22 |
Merging multiple SID files as subtunes of one file
Hey everyone. Sorry if this has already been answered but I can't find any information. I don't even know if this is possible. Lets say we have 4 SID files. I would like to know if there is a tool that can merge them together to one file with multiple subtunes.
Thank you in advance! |
|
... 2 posts hidden. Click here to view all posts.... |
| |
TheRyk
Registered: Mar 2009 Posts: 2461 |
Quoting DJ Space... I am not familiar with even that level of coding, ...)
One night on https://codebase64.org and you can code like trident...
... ok that was kidding
But for real... even for mere musicians it makes sense to learn your LDA STA to get WTF is going on in players...
thx god I'm so multi-non-talented that I fuck around universally... :D
Actually, among generalists, I'm like Hein divided by Mermaid divided by fieserwolf - I suck... but sucking in all respect imho is still cooler than ruling in e.g. Code but having no idea about SID or VIC |
| |
Raistlin
Registered: Mar 2007 Posts: 755 |
Are the 4 tunes using the same player? If so, eventually, when I finally get it finished, SIDBlaster would help… but it’s not there yet. Maybe in ~1 year and it’ll be able to give you separated code and data (in an ASM). If you’re lucky, the code for the 4 tunes would roughly match and could be edited by hand.
All that said.. can I ask why you need such a thing? The only benefit really is to save some runtime memory I think. |
| |
Raistlin
Registered: Mar 2007 Posts: 755 |
Sorry… thinking about this some more.. if the 4 tunes are your own - which i assume they are - then of course you just need a special version of whatever music editor you’re using.
Do any of the music editors output ASM?
Most that I’ve seen so far are quite nasty with mixing code and data… no neat split between the two. |
| |
DJ Space
Registered: Apr 2023 Posts: 22 |
Quote: Quoting DJ Space... I am not familiar with even that level of coding, ...)
One night on https://codebase64.org and you can code like trident...
... ok that was kidding
But for real... even for mere musicians it makes sense to learn your LDA STA to get WTF is going on in players...
thx god I'm so multi-non-talented that I fuck around universally... :D
Actually, among generalists, I'm like Hein divided by Mermaid divided by fieserwolf - I suck... but sucking in all respect imho is still cooler than ruling in e.g. Code but having no idea about SID or VIC
Haha I wish! Jokes aside, I would like to get into coding If I get some extra time. |
| |
TheRyk
Registered: Mar 2009 Posts: 2461 |
About Raistlin's suggestion:
Doing everything as subtunes e.g. in Goat Tracker in the first place spares you such trouble, of course.
But problem is if I got this right, marrying EXISTING tunes to 1 .SID file... That unfortunately ain't easily done in any tracker or its forks I know of.
Not impossible, however. One by one import patterns, .INSes etc... in your .SNG using GT... sounds like maximum punishment /o\ |
| |
wil
Registered: Jan 2019 Posts: 66 |
If the songs in question are in goattracker format, they can be easily merged with goattracker's loadmerge function. The only problem i ever had with that was when a song used an empty instrument as a silencer; my version of goattracker overwrote this instrument with the ones from the merged song. Solution was to make a small change to the silencer instrument beforehand so that it still was silent but did not appear unused. |
| |
Krill
Registered: Apr 2002 Posts: 3082 |
Quoting TheRykMy way of doing it was usually:
First relocate all tunes in order not to waste more than a page. Then code own init/play which bends Init to the Init of Sub #$00/#$01/etc depending on status of accumulator (LDA #subtune JSR Init) and Init also hacks Play Address... (let's say default LDA #$00 -> $1003, subtune #$01 -> $2003 etc) This is the way to go, regardless of the sub-tunes having the same player or not.
For more ease and less error-proneness, consider not relocating the tunes at all:
Simply copy them to $1000 at sub-tune init-time (from somewhere beyond $1000 + max-tune-size). |
| |
iAN CooG
Registered: May 2002 Posts: 3233 |
> consider not relocating the tunes at all
That's an old assumption due to how bad were coded the old players and/or old relocators.
Relocating GoatTracker tunes is no problem at all, assuming DJ Space is always using it.
Dj Space: Just send the tunes over and I'll do it in 5 minutes for you, but consider that in HVSC we onefile only games soundtracks, not demo or standalone musics. |
| |
Krill
Registered: Apr 2002 Posts: 3082 |
Quoting iAN CooGThat's an old assumption It's the general assumption, not knowing which players are used or whether it's the same player for all tunes to begin with. |
| |
DJ Space
Registered: Apr 2023 Posts: 22 |
Hmm, I post a reply earlier elaborating on the situation but I don't seem to find it anymore. Weird..
Anyway, to answer Raistlin's question, these SID files - all created in Goattracker - are the OST of a new non-C64 indie/platform game called "Conformer" that is going public on Steam on 30th of this month. The developer wanted a pure Commodore 64 music OST and sound effects although it is a Windows game. So in order to share them easily I thought to make it to one file. Also another reason is, if in the future a developer would ever wanted to port this game on the Commodore, it would be easier (I assume) to have all the audible data of the game in one SID file.
But when I started working on them I didn't thought to have an one SID file with subtunes from the beginning. So here we are. Another problem I just forgot about also is that one of them is at different speed so I have to tweak it first before figuring out how to merge all of them. I guess what Wil suggests should do the trick. If not, iAN CooG thank you for willing to help me with that. I will send you the files.
And thanks to all of you for your fast responses! :) |
Previous - 1 | 2 - Next |