uze6666 wrote:As for the C64, yeah it's really a legendary piece of hardware. The graphics were nice but the sound really stole the show for me. It's unbelievable what they still manage to extract from it in the recent demo compos.
Can't resist it. I must agree beyond the ever hackable graphics, the SID was almost a magical chip for the time period and cost point it falls under. I don't think it is too rare an opinion that it was capable of, or at least was impressively utilized towards, things far beyond NES sound. To my ear I have heard plenty of tracks that surpass common SNES stuff as well on some "technical" sounding level. A while back I got interested in the possibility of emulating it, to play back the ridiculous amount of excellent C64 music that is available. All I did is see if someone had already done it so far and at least a couple projects have fairly well:
It's not possible to properly emulate the filters I suppose, but the SIDuino in particular makes me think Uzebox could give it a fair shake. Wouldn't run in a game and there might not be enough cycles to even render a basic display maybe, but does it seem possible?
Well, without the filters, I say I could be done. I don't know the math involved for the filters but if that swinsid can do it, we probably can with no game running of course, the vsync mixer and a minimum overhead video mode.
Certainly looks interesting! Though I think the AVR in the Uzebox could do fairly well to get similar sound with the right approach for programming it. I was already experimenting even with AM/PM synthesis, though I am just not anything really good when it comes to audio, it is rather video which I can do well.
It would be great to have an all new, all-software sound engine for UB but the SID and SID support is a thing unto itself. SID is like an audio platform of sorts and it seems only fitting the UB support SID as best it can.
I wouldn't know where to start coding anything like this at all! I'm a C newb, still grasping basics. It'd be great if UB had audio that could rival the C64 and NES or maybe the MD/SNES.
I believe for the right scenario where one was willing to sacrifice something in graphics, you could update the sound more frequently(higher sample rate like SNES) and use more memory for advanced things. I guess the purpose of emulating the SID is more to use all the music already created for it, as something similar but not compatible would only get a few songs, if any, considering the complexity of creating good music in that style for such a limited audience.
The nice thing Uzebox sound is that it is pretty easy to take MIDI files and get them sounding good quickly. In my experience, this is not true with MODs. The sample rate at 15.7Khz is a bit low, but if the PWM speed was increased and the interrupt to feed a new byte happened twice as often(and also the video mode, disabling interrupts, updated sound mid-scanline) then it should work at 31.4khz?? Taking the old style buffered approach, you could really have a lot of cycles to work on sound and emulate different filters/etc. One of the biggest things would be then increasing the 256 byte waves to something larger which would avoid the characteristic aliasing sound. At that point you should theoretically be about in SNES territory, considering you have full blown 31Khz uncompressed(SNES was compressed waves) instruments to use. The SNES had 8 compressed PCM channels, and there is no reason that couldn't be done with the buffered sound mixer. You could probably even get a simple RPG or something to run simultaneously.
I'm sure I read somewhere this was in development for UB. Is MOD playback possible now, is it WIP or is this a different type of MOD you're talking about?
I can see MOD support is already in the kernel but I've not tried it yet. Does it only support 4 channels of samples? Can sfx be triggered whilst a mod is playing in a game and can you play mods from SD card, directly from the UB menu?