Skip to content

future VGM SIDchip support?

Technical discussion about the VGM format, and all the software you need to handle VGM files.

Moderator: Staff

  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

My opinion is even more "nope" then years ago, mainly due to:
  • "SID is pretty well covered outside vgm elsewhere" (main reason)
  • The VGM format with its 44100 Hz resolution not being suitable for C64 music due to, IIRC, some of it requiring super-precise timing.
I'd rather cover some of the more exotic chips than stuffing more chips with already-established sound formats (like SID, Paula and SPC700) into VGMs.
  • cyberic Offline
  • Posts: 6
  • Joined: 2018-02-25, 17:42:38

Post by cyberic »

> I'd rather cover some of the more exotic chips than stuffing more chips with already-established sound formats (like SID, Paula and SPC700) into VGMs.

OK, fair enough.

Thanks for your reply.
  • cyberic Offline
  • Posts: 6
  • Joined: 2018-02-25, 17:42:38

Post by cyberic »

> The VGM format with its 44100 Hz resolution not being suitable for C64 music due to, IIRC, some of it requiring super-precise timing.

Do you think this limitation could be lifted ?

Having vgms with a custom tick period could be useful, for SID but also for some heavy .sndh songs for instance
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

VGM was designed around 44100 Hz timing and at this point you can't change that unless you make a completely new VGM v2 format.
  • User avatar
  • blitzlunar Offline
  • Posts: 126
  • Joined: 2012-12-21, 15:30:24
  • Location: UK

Post by blitzlunar »

My main bugbear with SID format is the lack of playback timers. That severely limits its practicality for me. Also for some reason sidplay/foo_sid in foobar2000 is quite a bit slower than other chip format players.

I can get around the inadequate metadata/tagging using the External Tags component but lack of timers is a deal breaker, unfortunately it means I rarely think about playing SID music these days, a shame because there are some bangers. So that would be my main reason for finding VGM support for them interesting. Perhaps I am missing a trick there, though? Maybe there is some way to time SIDs that I am unaware of.
  • cyberic Offline
  • Posts: 6
  • Joined: 2018-02-25, 17:42:38

Post by cyberic »

> at this point you can't change that unless you make a completely new VGM v2 format

wouldn't it be possible to add an extra field or use a reserved field, or even add some information in the meta, to specify a new timing unit ?
is the value of 44100 used for something else than the 'wait' commands ?
  • andlabs Offline
  • Posts: 185
  • Joined: 2011-12-04, 22:00:12

Post by andlabs »

To add to this: there is no one true SID. There are two different SID variants (the 6581 and the 8580), with vastly different sounds, especially in the edge cases later C64 music liked to exploit. Since C64s were made with both variants, people who play music, and emulators as well, have to contend with the existence of the differences, since there's nothing stopping a program from running on either SID variant. While it's true that a good number of games on vgmrips have multiple variants supporting wildly different sound hardware (even if audibly they're very similar), if SID were to be added to VGM, then *all* C64 games would need *both* variants ripped, and then compared to see if they sound *identical* or not. Either that, or you add complexity to the VGM player by allowing switching between the two SID formats.

(There are additionally NTSC/PAL differences in SID playback, but that won't be as much of an issue with VGM, as there's usually one correct intended choice on the C64 and the VGM player would be written to be frequency-agnostic. Some people may want to forcibly play a file in the opposite speed, however; I don't know if any VGM player accommodates them.)

There are also some outliers:
- dual-SID setups like the SID Symphony cartridge or the sid2sid, but only homebrew ever used these
- the SFX Sound Expander (YM3526) and its modern clones (YM3812), but only homebrew ever used these
- PET-style userport voices, but I don't think anything ever used this, including homebrew
as well as two other computers that used the SID:
- various color CBM II-family business computers, whose sound capabilities I don't think was ever used by anyone
- the Innovation SSI 2001 expansion for the IBM PC, which also used the SID chip
but I'm fairly certain the SID formats have been expanded to support all of these, and even if not, adding them to PSID might be easier (and more beneficial since it would give you PET and VIC-20 and other 8-bit CBMs for free and would appeal directly to the existing userbase instead of trying to move that userbase over to VGM). The only thing I'd be worried about is PC software that uses both the SSI 2001 and some other sound card (or even the PC speaker), but I'd be willing to bet that only homebrew would do this, if they even would.

My only real complaint about HVSC is that they don't separate SIDs ripped from the games from SIDs that are fan-made covers, but I might be missing something.

EDIT Oops I forgot to emphasize that those 6561 and 8580 VGMs would be byte for byte identical except for the header, which is also not true of the other multi-configuration setups we have now.
Post Reply