Login
Back to forumSee the full topicGo to last reply

Posted By

siz
on 2021-01-12
07:29:51
 Re: TED Music Collection

@gerliczer: Thanks for the feedback. My answers:

- Is it really big endian as in MSB first LSB last?
No, that's a typo, I'll fix it. I've planned to use the 6502 native byte order.

- Marker would be better called signature, wouldn't it?
I was thinking about that too but was unsure and went for marker. I'll rename it though.

- Songflags may be complemented with a uses DIGIMUZ flag now.
Yes, of course. I thought the same but wanted to do the update together with all the feedback.

- Durationblock would be better in player call counts instead of seconds. UI should do the math based on timing, timer1value and durationblock.
That was my initial thought too (although durationblock is a late addition). But storing player calls in 16 bit limits the duration of a 4x song to a bit above 5 minutes which might not be enough. And as this is planned to be an optional information only it does not have to be more precise than seconds. (and I don't want to do those divisions on the plus/4 happy )

- I see initaddress and playaddress which are fine for generic music, however (at least) Csabo's V2 player has support for separate effect play calls. It can be worked around with special player calls but requires changing the "natural" state of the music.
It was never an intention ot leave the player code intact. In order to encapsulate it in a container a lot of players should be altered. For example Exorcist player routine jumps $ce0e in the end so that has to be changed for sure. In HVSC the Defender of the Crown got a whole new playback timing logic (the original one used two separate timers for the song and the instruments) and it was rewritten to a single timer so it can be put in the PSID container.
So yes LODPlayerV2 needs a wrapper.

- Does released have mandatory or at least recommended format? That could come handy for certain searches.
I'll include it in the documentation. The recommended format is the same as for HVSC: "year publisher"

- How non-mandatory fields will be handled? In most cases I can't see easy ways to identify their absence.
There are not that many optional fields:
* timer1value: can be left to zero if not used
* text fields: should be filled with spaces (so in this case optional means it can be an empty string)
* durationblock offset and durationblock presence is marked in the fileflags

- Was it intentional that quite a few fields are not aligned to 16 byte boundaries although they could be without much problem?
Yes. I wanted to align the text fields to 16 byte boundaries so a monitor M1000 command will display them aligned to the beginning of lines. happy The rest are just put one after the other.

@Luca
I hoped that You will be glad that someone finally took the effort to define a format and You can be part of finalizing it.
I would have told you about this earlier but I started talking about a container format some 5-6 years ago and that one died away in about a month. In the beginning of December we were talking about our projects and I mentioned that I'd really like to see a TED music collection which can be played back comfortably on the real machine and the guys urged me to define a format. I wanted to give it a more presentable form before bringing it to the public but your comment in the SIDID topic signlled that it's the time now.



Back to top


Copyright © Plus/4 World Team, 2001-2024