Add additional OPL & OPN chips
This commit is contained in:
@@ -18,17 +18,31 @@
|
||||
#define SOUND_OPL_H
|
||||
|
||||
enum fm_type {
|
||||
FM_YM3812 = 0, /* OPL2 */
|
||||
FM_YMF262 = 1, /* OPL3 */
|
||||
FM_YMF289B = 2, /* OPL3-L */
|
||||
FM_YMF278B = 3, /* OPL4 */
|
||||
FM_YM2151 = 4, /* OPM */
|
||||
FM_YM3526 = 0, /* OPL */
|
||||
FM_Y8950 = 1, /* MSX-Audio (OPL with ADPCM) */
|
||||
FM_YM3812 = 2, /* OPL2 */
|
||||
FM_YMF262 = 3, /* OPL3 */
|
||||
FM_YMF289B = 4, /* OPL3-L */
|
||||
FM_YMF278B = 5, /* OPL4 */
|
||||
FM_YM2413 = 6, /* OPLL */
|
||||
FM_YM2423 = 7, /* OPLL-X */
|
||||
FM_YMF281 = 8, /* OPLLP */
|
||||
FM_DS1001 = 9, /* Konami VRC7 MMC */
|
||||
FM_YM2151 = 10, /* OPM */
|
||||
FM_YM2203 = 11, /* OPN */
|
||||
FM_YM2608 = 12, /* OPNA */
|
||||
FM_YMF288 = 13, /* OPN3L */
|
||||
FM_YM2610 = 14, /* OPNB */
|
||||
FM_YM2610B = 15, /* OPNB2 */
|
||||
FM_YM2612 = 16, /* OPN2 */
|
||||
FM_YM3438 = 17, /* OPN2C */
|
||||
FM_YMF276 = 18, /* OPN2L */
|
||||
#if 0
|
||||
FM_YM2164 = 5, /* OPP */
|
||||
FM_YM2164 = 19, /* OPP */
|
||||
#endif
|
||||
FM_ESFM = 6, /* ESFM */
|
||||
FM_OPL2BOARD = 7, /* OPL2Board (External Device) */
|
||||
FM_MAX = 8
|
||||
FM_ESFM = 20, /* ESFM */
|
||||
FM_OPL2BOARD = 21, /* OPL2Board (External Device) */
|
||||
FM_MAX = 22
|
||||
};
|
||||
|
||||
enum fm_driver {
|
||||
@@ -58,13 +72,33 @@ extern const fm_drv_t ymfm_opl2board_drv;
|
||||
extern const device_t ym3812_nuked_device;
|
||||
extern const device_t ymf262_nuked_device;
|
||||
|
||||
/* OPL Series */
|
||||
extern const device_t ym3526_ymfm_device;
|
||||
extern const device_t y8950_ymfm_device;
|
||||
extern const device_t ym3812_ymfm_device;
|
||||
extern const device_t ymf262_ymfm_device;
|
||||
extern const device_t ymf289b_ymfm_device;
|
||||
extern const device_t ymf278b_ymfm_device;
|
||||
extern const device_t ym2413_ymfm_device;
|
||||
extern const device_t ym2423_ymfm_device;
|
||||
extern const device_t ymf281_ymfm_device;
|
||||
extern const device_t ds1001_ymfm_device;
|
||||
|
||||
/* OPM Series */
|
||||
extern const device_t ym2151_ymfm_device;
|
||||
|
||||
/* OPN Series */
|
||||
extern const device_t ym2203_ymfm_device;
|
||||
extern const device_t ym2608_ymfm_device;
|
||||
extern const device_t ymf288_ymfm_device;
|
||||
extern const device_t ym2610_ymfm_device;
|
||||
extern const device_t ym2610b_ymfm_device;
|
||||
extern const device_t ym2612_ymfm_device;
|
||||
extern const device_t ym3438_ymfm_device;
|
||||
extern const device_t ymf276_ymfm_device;
|
||||
|
||||
#if 0
|
||||
/* OPP Series */
|
||||
extern const device_t ym2164_ymfm_device;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -39,6 +39,16 @@ uint8_t
|
||||
fm_driver_get(int chip_id, fm_drv_t *drv)
|
||||
{
|
||||
switch (chip_id) {
|
||||
case FM_YM3526: /* OPL */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ym3526_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_Y8950: /* MSX-Audio (OPL with ADPCM) */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&y8950_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YM3812: /* OPL2 */
|
||||
if (fm_driver == FM_DRV_NUKED) {
|
||||
*drv = nuked_opl_drv;
|
||||
@@ -69,11 +79,71 @@ fm_driver_get(int chip_id, fm_drv_t *drv)
|
||||
drv->priv = device_add_inst(&ymf278b_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YM2413: /* OPLL */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ym2413_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YM2423: /* OPLL-X */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ym2423_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YMF281: /* OPLLP */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ymf281_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_DS1001: /* Konami VRC7 MMC */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ds1001_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YM2151: /* OPM */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ym2151_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YM2203: /* OPN */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ym2203_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YM2608: /* OPNA */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ym2608_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YMF288: /* OPN3L */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ymf288_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YM2610: /* OPNB */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ym2610_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YM2610B: /* OPNB2 */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ym2610b_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YM2612: /* OPN2 */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ym2612_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YM3438: /* OPN2C */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ym3438_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
case FM_YMF276: /* OPN2L */
|
||||
*drv = ymfm_drv;
|
||||
drv->priv = device_add_inst(&ymf276_ymfm_device, fm_dev_inst[fm_driver][chip_id]++);
|
||||
break;
|
||||
|
||||
#if 0
|
||||
case FM_YM2164: /* OPP */
|
||||
*drv = ymfm_drv;
|
||||
|
||||
@@ -18,8 +18,10 @@
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include "ymfm/ymfm_ssg.h"
|
||||
#include "ymfm/ymfm_opl.h"
|
||||
#include "ymfm/ymfm_opm.h"
|
||||
#include "ymfm/ymfm_opn.h"
|
||||
|
||||
extern "C" {
|
||||
#define HAVE_STDARG_H
|
||||
@@ -320,6 +322,16 @@ ymfm_drv_init(const device_t *info)
|
||||
YMFMChipBase *fm;
|
||||
|
||||
switch (info->local) {
|
||||
case FM_YM3526: /* OPL */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ym3526>(14318181, FM_YM3526, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_Y8950: /* MSX-Audio (OPL with ADPCM) */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::y8950>(14318181, FM_Y8950, FREQ_49716);
|
||||
break;
|
||||
|
||||
default:
|
||||
case FM_YM3812: /* OPL2 */
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ym3812>(3579545, FM_YM3812, FREQ_49716);
|
||||
@@ -339,12 +351,74 @@ ymfm_drv_init(const device_t *info)
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ymf278b>(33868800, FM_YMF278B, FREQ_44100);
|
||||
break;
|
||||
|
||||
case FM_YM2413: /* OPLL */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ym2413>(14318181, FM_YM2413, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_YM2423: /* OPLL-X */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ym2423>(14318181, FM_YM2423, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_YMF281: /* OPLLP */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ymf281>(14318181, FM_YMF281, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_DS1001: /* Konami VRC7 MMC */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ds1001>(14318181, FM_DS1001, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_YM2151: /* OPM */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ym2151>(14318181, FM_YM2151, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_YM2203: /* OPN */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ym2203>(14318181, FM_YM2203, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_YM2608: /* OPNA */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ym2608>(14318181, FM_YM2608, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_YMF288: /* OPN3L */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ymf288>(14318181, FM_YMF288, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_YM2610: /* OPNB */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ym2610>(14318181, FM_YM2610, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_YM2610B: /* OPNB2 */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ym2610b>(14318181, FM_YM2610B, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_YM2612: /* OPN2 */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ym2612>(14318181, FM_YM2612, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_YM3438: /* OPN2C */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ym3438>(14318181, FM_YM3438, FREQ_49716);
|
||||
break;
|
||||
|
||||
case FM_YMF276: /* OPN2L */
|
||||
// TODO: Check function call, rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ymf276>(14318181, FM_YMF276, FREQ_49716);
|
||||
break;
|
||||
|
||||
#if 0
|
||||
case FM_YM2164: /* OPP */
|
||||
// TODO: Check rates and frequency
|
||||
fm = (YMFMChipBase *) new YMFMChip<ymfm::ym2164>(14318181, FM_YM2164, FREQ_49716);
|
||||
break;
|
||||
#endif
|
||||
@@ -428,6 +502,34 @@ ymfm_drv_generate(void *priv, int32_t *data, uint32_t num_samples)
|
||||
drv->generate(data, num_samples);
|
||||
}
|
||||
|
||||
const device_t ym3526_ymfm_device = {
|
||||
.name = "Yamaha YM3526 OPL (YMFM)",
|
||||
.internal_name = "ym3526_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YM3526,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t y8950_ymfm_device = {
|
||||
.name = "Yamaha Y8950 (YMFM)",
|
||||
.internal_name = "y8950_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_Y8950,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ym3812_ymfm_device = {
|
||||
.name = "Yamaha YM3812 OPL2 (YMFM)",
|
||||
.internal_name = "ym3812_ymfm",
|
||||
@@ -470,6 +572,76 @@ const device_t ymf289b_ymfm_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ymf278b_ymfm_device = {
|
||||
.name = "Yamaha YMF278B OPL4 (YMFM)",
|
||||
.internal_name = "ymf278b_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YMF278B,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ym2413_ymfm_device = {
|
||||
.name = "Yamaha YM2413 OPLL (YMFM)",
|
||||
.internal_name = "ym2413_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YM2413,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ym2423_ymfm_device = {
|
||||
.name = "Yamaha YM2423 OPLL-X (YMFM)",
|
||||
.internal_name = "ym2423_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YM2423,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ymf281_ymfm_device = {
|
||||
.name = "Yamaha YMF281 OPLLP (YMFM)",
|
||||
.internal_name = "ymf281_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YMF281,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ds1001_ymfm_device = {
|
||||
.name = "Konami VRC7 MMC (YMFM)",
|
||||
.internal_name = "ds1001_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_DS1001,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ym2151_ymfm_device = {
|
||||
.name = "Yamaha YM2151 OPM (YMFM)",
|
||||
.internal_name = "ym2151_ymfm",
|
||||
@@ -484,6 +656,118 @@ const device_t ym2151_ymfm_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ym2203_ymfm_device = {
|
||||
.name = "Yamaha YM2203 OPN (YMFM)",
|
||||
.internal_name = "ym2203_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YM2203,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ym2608_ymfm_device = {
|
||||
.name = "Yamaha YM2608 OPNA (YMFM)",
|
||||
.internal_name = "ym2608_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YM2608,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ymf288_ymfm_device = {
|
||||
.name = "Yamaha YMF288 OPN3L (YMFM)",
|
||||
.internal_name = "ymf288_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YMF288,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ym2610_ymfm_device = {
|
||||
.name = "Yamaha YM2610 OPNB (YMFM)",
|
||||
.internal_name = "ym2610_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YM2610,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ym2610b_ymfm_device = {
|
||||
.name = "Yamaha YM2610b OPNB2 (YMFM)",
|
||||
.internal_name = "ym2610b_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YM2610B,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ym2612_ymfm_device = {
|
||||
.name = "Yamaha YM2612 OPN2 (YMFM)",
|
||||
.internal_name = "ym2612_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YM2612,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ym3438_ymfm_device = {
|
||||
.name = "Yamaha YM3438 OPN2C (YMFM)",
|
||||
.internal_name = "ym3438_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YM3438,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ymf276_ymfm_device = {
|
||||
.name = "Yamaha YMF276 OPN2L (YMFM)",
|
||||
.internal_name = "ymf276_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YMF276,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
#if 0
|
||||
const device_t ym2164_ymfm_device = {
|
||||
.name = "Yamaha YM2164 OPP (YMFM)",
|
||||
@@ -500,20 +784,6 @@ const device_t ym2164_ymfm_device = {
|
||||
};
|
||||
#endif
|
||||
|
||||
const device_t ymf278b_ymfm_device = {
|
||||
.name = "Yamaha YMF278B OPL4 (YMFM)",
|
||||
.internal_name = "ymf278b_ymfm",
|
||||
.flags = 0,
|
||||
.local = FM_YMF278B,
|
||||
.init = ymfm_drv_init,
|
||||
.close = ymfm_drv_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const fm_drv_t ymfm_drv {
|
||||
.read = &ymfm_drv_read,
|
||||
.write = &ymfm_drv_write,
|
||||
|
||||
@@ -9,4 +9,14 @@
|
||||
# CMake build script.
|
||||
#
|
||||
|
||||
add_library(ymfm STATIC ymfm_misc.cpp ymfm_opl.cpp ymfm_opm.cpp ymfm_opn.cpp ymfm_opq.cpp ymfm_opz.cpp ymfm_pcm.cpp ymfm_adpcm.cpp)
|
||||
add_library(ymfm STATIC
|
||||
ymfm_adpcm.cpp
|
||||
ymfm_misc.cpp
|
||||
ymfm_opl.cpp
|
||||
ymfm_opm.cpp
|
||||
ymfm_opn.cpp
|
||||
ymfm_opq.cpp
|
||||
ymfm_opz.cpp
|
||||
ymfm_pcm.cpp
|
||||
ymfm_ssg.cpp
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user