Open mori0091 opened 7 months ago
The following tasks are in progress
ay_3_8910.h
, scc_buf.h
and opll_buf.h
. (This is BREAKING CHANGE! If there is a decoder implementation for libmsx audio replayer, it should be also modified.)sample/la0_demo
cannot be built because there is no song data.
If you have some VGM files, you can try the following method
bgm.la0
or sfx.la0
using the tools/vgm2la
tool.bgm.la0
or sfx.la0
in sample/la0_demo/resources/
.make clean all
in the sample/la0_demo/
folder.la0_demo.rom
file will be made in sample/la0_demo/bin/
..vgm
or .vgz
)I would like to bundle sample song data with libmsx
.
If anyone has redistributable VGM files (.vgm
or .vgz
), please provide them.
What's happen? Please describe the problem you met.
The
opll_buf.h
provides a message queue (FIFO) to write to the OPLL registers.On the other hand,
ay_3_8910.h
andscc_buf.h
provide the PSG and SCC/SCC+ register caches. These assume that the sound driver only writes the most recent register values each frame. However, the sound driver may write to the same register more than once in a frame.For example, when playing very short pulses or very short mutes, the sound driver may write to PSG register No.7 or the SCC/SCC+ channel mask register two or more times in the same frame.
Describe the solution you'd like
PSG and SCC/SCC+ also require a message queue (FIFO) API.
Describe alternatives you've considered
Also, sound drivers may write to the PSG, SCC/SCC+, and OPLL registers in various orders. Therefore, a unified message queue API may be needed for these sound chips.
Additional context
(none)