This is what I have:
static struct BurnInputInfo WofchInputList[] =
{
{"P1 Start" , BIT_DIGITAL , CpsInp018+4, "p1 start" },
{"P1 Up" , BIT_DIGITAL , CpsInp001+3, "p1 up" },
{"P1 Down" , BIT_DIGITAL , CpsInp001+2, "p1 down" },
{"P1 Left" , BIT_DIGITAL , CpsInp001+1, "p1 left" },
{"P1 Right" , BIT_DIGITAL , CpsInp001+0, "p1 right" },
{"P1 Attack" , BIT_DIGITAL , CpsInp001+4, "p1 fire 1" },
{"P1 Jump" , BIT_DIGITAL , CpsInp001+5, "p1 fire 2" },
{"P2 Start" , BIT_DIGITAL , CpsInp018+5, "p2 start" },
{"P2 Up" , BIT_DIGITAL , CpsInp000+3, "p2 up" },
{"P2 Down" , BIT_DIGITAL , CpsInp000+2, "p2 down" },
{"P2 Left" , BIT_DIGITAL , CpsInp000+1, "p2 left" },
{"P2 Right" , BIT_DIGITAL , CpsInp000+0, "p2 right" },
{"P2 Attack" , BIT_DIGITAL , CpsInp000+4, "p2 fire 1" },
{"P2 Jump" , BIT_DIGITAL , CpsInp000+5, "p2 fire 2" },
{"P3 Start" , BIT_DIGITAL , CpsInpc001+7, "p3 start" },
{"P3 Up" , BIT_DIGITAL , CpsInpc001+3, "p3 up" },
{"P3 Down" , BIT_DIGITAL , CpsInpc001+2, "p3 down" },
{"P3 Left" , BIT_DIGITAL , CpsInpc001+1, "p3 left" },
{"P3 Right" , BIT_DIGITAL , CpsInpc001+0, "p3 right" },
{"P3 Attack" , BIT_DIGITAL , CpsInpc001+4, "p3 fire 1"},
{"P3 Jump" , BIT_DIGITAL , CpsInpc001+5, "p3 fire 2"},
{"Reset" , BIT_DIGITAL , &CpsReset, "reset" },
};
STDINPUTINFO(Wofch);
// Tenchi wo Kurau II - Sekiheki no Tatakai (Changer)
static struct BurnRomInfo WofchRomDesc[] = {
{ "tk2(ch).23", 0x080000, 0x4e0b8dee, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
{ "tk2(ch).22", 0x080000, 0xd0937a8d, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
{ "tk2_gfx1.rom", 0x080000, 0x0d9cb9bf, BRF_GRA | CPS1_TILES },
{ "tk2_gfx3.rom", 0x080000, 0x45227027, BRF_GRA | CPS1_TILES },
{ "tk2_gfx2.rom", 0x080000, 0xc5ca2460, BRF_GRA | CPS1_TILES },
{ "tk2_gfx4.rom", 0x080000, 0xe349551c, BRF_GRA | CPS1_TILES },
{ "tk205.bin", 0x080000, 0xe4a44d53, BRF_GRA | CPS1_TILES },
{ "tk206.bin", 0x080000, 0x58066ba8, BRF_GRA | CPS1_TILES },
{ "tk2(ch).06", 0x080000, 0xcc9006c9, BRF_GRA | CPS1_TILES },
{ "tk208.bin", 0x080000, 0xd4a19a02, BRF_GRA | CPS1_TILES },
{ "tk2_qa.rom", 0x020000, 0xc9183a0d, BRF_PRG | CPS1_Z80_PROGRAM },
{ "tk2_q1.rom", 0x080000, 0x611268cf, BRF_SND | CPS1_QSOUND_SAMPLES },
{ "tk2_q2.rom", 0x080000, 0x20f55ca9, BRF_SND | CPS1_QSOUND_SAMPLES },
{ "tk2_q3.rom", 0x080000, 0xbfcf6f52, BRF_SND | CPS1_QSOUND_SAMPLES },
{ "tk2_q4.rom", 0x080000, 0x36642e88, BRF_SND | CPS1_QSOUND_SAMPLES },
};
STD_ROM_PICK(Wofch)
STD_ROM_FN(Wofch)
static int WofchInit()
{
int nRet = 0;
Cps1Qs = 1;
nRet = DrvInit();
Cps = 3;
return nRet;
}
struct BurnDriver BurnDrvCpsWofch = {
"wofch", "wof", NULL, "1992",
"Tenchi wo Kurau II - Sekiheki no Tatakai (921031 CPS Changer)\0", NULL, "Capcom", "CPS Changer",
L"\u8EE2\u5730\u3092\u55B0\u3089\u3046II - \u8D64\u58C1\u306E\u6226\u3044 (Tenchi wo Kurau 2 921031 CPS Changer)\0Tenchi wo Kurau II - Sekiheki no Tatakai (921031 CPS Changer)\0", NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 3, HARDWARE_CAPCOM_CPSCHANGER, GBF_SCRFIGHT, 0,
NULL, WofchRomInfo, WofchRomName, WofchInputInfo, NULL,
WofchInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan,
JBF_GAME_WORKING, DrvJukeboxInit, DrvJukeboxExit, DrvJukeboxFrame, &CpsRecalcPal, 384, 224, 4, 3
};
{ "wofch" , CPS_B_21_DEF, mapper_sfzch, 0, wof_decode },