You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This has only been observed when exporting VGMs for play on MSX. S98 playback and SCCI performance have not been evaluated.
When exporting VGMs, the drum key-on/off register is not treated as it should be
ex. 0?100101 = key on BD + TOP + RIM
Instead, writes to the register are treated as if the drums are in separate channels
ex.
0?000001 = key on BD
0?000100 = key on TOP
0?100000 = key on RIM
Excerpts from VGM2TXT:
As these writes are immediate to one another, this violates the access time requirements on faster systems like an MSX Turbo-R and likely any PC-98 (though S98 playback has not been tested), and drums fail to play or stop properly. MSX, MSX2, and MSX2+ are all slow enough that the speed limit is not met. All writes to the drum register should be simultaneous in one frame and not sequential for proper hardware playback on faster systems.
The text was updated successfully, but these errors were encountered:
IMO this is not an issue of a tracker.
Instead, the VGM player has to take care of checking the BUSY bit in the status register and wait as long as required.
Also, nitpicking, but when writing to the ADPCM A Key On/Off register you don't set the "state", but you trigger on/off for certain channels. This is different from the key on/off registers in the FM and SSG part.
Thus the sequence of writing reg 010h data 04h followed by reg 010h data 08h has the same effect as writing reg 010h data 0Ch. When you want to turn off a channel, you have to explicitly trigger that using e.g. reg 010h data 84h.
Thank you for your reports and advice.
Your idea has the advantage of reducing not only the number of writes but also the amount of data. I will try to fix the drum key on/off that seems not difficult.
This has only been observed when exporting VGMs for play on MSX. S98 playback and SCCI performance have not been evaluated.
When exporting VGMs, the drum key-on/off register is not treated as it should be
ex. 0?100101 = key on BD + TOP + RIM
Instead, writes to the register are treated as if the drums are in separate channels
ex.
0?000001 = key on BD
0?000100 = key on TOP
0?100000 = key on RIM
Excerpts from VGM2TXT:
and
As these writes are immediate to one another, this violates the access time requirements on faster systems like an MSX Turbo-R and likely any PC-98 (though S98 playback has not been tested), and drums fail to play or stop properly. MSX, MSX2, and MSX2+ are all slow enough that the speed limit is not met. All writes to the drum register should be simultaneous in one frame and not sequential for proper hardware playback on faster systems.
The text was updated successfully, but these errors were encountered: