mic- / xpmck

Cross Platform Music Compiler Kit
3 stars 1 forks source link

varius bugs with some systems #1

Open djmaximum17 opened 1 month ago

djmaximum17 commented 1 month ago

I know, XPMCK hasn't been updated in a decade but there are lots of bugs I've discovered when working with it.

Gameboy, C64, KSS, when using hardware envelopes with MP, EP or EN, the envelope will be retriggerd every pitch update. except on GBC revision E and GBA models. Gameboy, Detune doesn't work. KSS, n command doesn't work correctly, numbers on noise pitch is ignored KSS, @te command is broken, plays selected shape for 60 frames per second, then goes back to 0. KSS, @es doesn't work at all, gets ignored by the compiler C64, EN macros are kinda broken, wrong notes are sometimes played. C64, ring mod and sync brake the playback, random notes are played for some reason. both ring mod and sync can't be used together despite the SID chip can let you do that with many SID trackers. KSS, @@ macros don't work. Gameboy, @@ macros don't work correctly on noise channel, instead you get a constant phase reset every frame. C64, PCE, EP macros are kinda broken when starting with 0 or any other positive number.

mic- commented 1 month ago

Regarding @es being ignored by the compiler, I'm unable to reproduce that. When I use the compiler from the latest release (32) I get the expected byte sequence (0x98 nn nn) in the output. But it's possible that there's a bug in the playback code (e.g. writing to the wrong AY registers or using incorrect timing).

I haven't looked at the other problems yet, but most of them sound like playback driver bugs.

djmaximum17 commented 1 month ago

ok, so it does work, but it is at a fixed speed and doesn't change when another @es command is called. envtest.mml.zip envtest.kss.zip