WIP: Vicious SID Converter

You need an actual VIC.

Moderator: Moderators

Kananga
Vic 20 Afficionado
Posts: 317
Joined: Mon Mar 08, 2010 2:11 pm

Post by Kananga »

Unfortunately, most SIDs won't work with emulation on the Vic-20 or they sound just awful. Anyway, I put together a release of the converter for download here.

Please share any working SIDs you find! :D

Update: new link with reduced download size.
Buy the new Bug-Wizard, the first 100 bugs are free!
User avatar
tokra
Vic 20 Scientist
Posts: 1120
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Post by tokra »

Great little tool, thanks! I gave it a try, and you're right. Most SIDs won't convert because of failing INIT oder too many ZP-addresses. Some even convert badly or not at all. I tried to convert M.U.L.E. and while finishing conversion this sounded completely unsynced. I found the ones by Rob Hubbard have the best chance of conversion.

I made a pack of 6 conversions for download here

Is there an option in the converter to choose which of the included SIDs to convert? For example for "Delta" it did not convert the popular theme song but some other SID of the 13 included there which is noted as default.
Kananga
Vic 20 Afficionado
Posts: 317
Joined: Mon Mar 08, 2010 2:11 pm

Post by Kananga »

tokra wrote:Most SIDs won't convert because of failing INIT oder too many ZP-addresses.
We had a discussion about freeing more ZP locations in this thread, but haven't had the time yet to put it into the player routine. Source code is included though ;)
tokra wrote:I made a pack of 6 conversions for download here
Great, thanks!
tokra wrote:Is there an option in the converter to choose which of the included SIDs to convert? For example for "Delta" it did not convert the popular theme song but some other SID of the 13 included there which is noted as default.
This is easy to add (mostly just another input field in the main dialog), but I did not get convincing results with song numbers other than 0. May depend on the type of SID. Will do it.
Buy the new Bug-Wizard, the first 100 bugs are free!
Kananga
Vic 20 Afficionado
Posts: 317
Joined: Mon Mar 08, 2010 2:11 pm

Post by Kananga »

Before working on the SID converter I had to walk the dog, then after adding the option to select the song for analysis & conversion I took a look at the SID emulator and noticed that there are already 32 ZP locations free to use.
Then I tried to convert Parallax again, but it still did not work. Further investigations revealed that indirect jumps where not handled correctly.
I fixed that and Parallax now runs for a short time before hitting code that wasn't executed during analysis and crashing again. Since the noise I got before the crash was terrible, I decided it doesn't pay off to further improve the conversion.

The converter often just prints "INIT failed". I looked into that for one SID and one reason I found was a SID that uses the C-64 RAM under the kernal ROM. We do not have that on the Vic-20 so I suppose it is not feasible to try to convert SIDs like that.

All that resulted in a new release.

Have fun!
(Actually the default song of "Delta" is not too bad.)
Buy the new Bug-Wizard, the first 100 bugs are free!
User avatar
tokra
Vic 20 Scientist
Posts: 1120
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Post by tokra »

Today on CSDB there was a great tool posted by lft which may lead to a lot more SIDs being convertable: SIDRELOC which allows to relocate SIDs in memory. Works for 91% of the HVSC apparantly.
Kananga
Vic 20 Afficionado
Posts: 317
Joined: Mon Mar 08, 2010 2:11 pm

Post by Kananga »

tokra wrote:Today on CSDB there was a great tool posted by lft which may lead to a lot more SIDs being convertable: SIDRELOC which allows to relocate SIDs in memory. Works for 91% of the HVSC apparantly.
Many thanks for the link!
The tool certainly comes with nice explanations and seems to be quite useful to relocate SIDs for the C-64. I'll have a closer look at the algorithm some time soon, but I suppose, it doesn't do a better job than the SID converter.
Relocating the SID is just one part, emulating it on a Vic-20 is probably the trickier part...
Buy the new Bug-Wizard, the first 100 bugs are free!
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

I just found this:
http://www.youtube.com/watch?v=8dMM4MqGuqU

Is this someone here?
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
aeb
Vic 20 Amateur
Posts: 67
Joined: Sat Jun 19, 2004 2:06 pm

Re: WIP: Vicious SID Converter

Post by aeb »

Great converter, Kananga! And a nice pack of songs from Tokra too. Has anyone else successfully converted other SID tunes recently?

I've just "ported" the Sid Vicious code to C64 and optimized it for pulse waveform only - (NMI no longer needs x-register and C64 NMI doesn't need to jump through ROM code) - 8-bit pulse width accuracy instead of 5-bit in VIC version, and... 5 voices! That is, on C64 the new routine can simultaneously play 3 real SID voices plus 5 emulated PWM channels :D
Post Reply