dmantione / swinsid

Source code for the popular SwinSID SID replacement
53 stars 5 forks source link

180 music - CK lazy fix vs. Swinkels lazy fix #4

Open intellisystems opened 1 year ago

intellisystems commented 1 year ago

The difference between the Codekiller "Lazy Jones Fix" and the Swinkels one is so subtle- I can't figure out why Swinkels version has no problem with 180 music but Codekiller's does.

It looks like they do the exact same thing in almost the same way, to me. There must be a bug in the CK version...

dmantione commented 1 year ago

It is difficult to see how Codekiller's fix breaks something, since it doesn't do much more than adding a way for the SwinSID to detect wether a voice has been restarted within a single sample. This check adds a little overhead of course, maybe a SID song can exploit this by hammering the register multiple times, so the SwinSID runs out of CPU power. It sounds odd to me, but who know.

Now, these kind of issues are exactly why I am working on simulating the SwinSID firmware on a PC, so I can analyze this in a debugger. This will be more productive in the long run than starting to write new firmwares outright. I'll leave this issue open, so I am reminded that this is a problematic song.

dmantione commented 1 year ago

Just to be sure, it is this music that you are talking about

https://csdb.dk/release/?id=218753

?

intellisystems commented 1 year ago

Yes it is. It's a good test of SID replacements.

The CK fix does not correct this song, but the Swinkels version does.

The issue is that parts of the song are randomly missing.