mirror of
https://github.com/holub/mame
synced 2025-05-23 14:19:01 +03:00
Some Naomi tweakery.
This commit is contained in:
parent
9f14872359
commit
b09944610a
@ -12,25 +12,25 @@ Current Compatibility notes (GD-rom games only)
|
|||||||
|----------|-------|-----|------|------|------|--------------------------------|-----------------------------------------------------|
|
|----------|-------|-----|------|------|------|--------------------------------|-----------------------------------------------------|
|
||||||
|romname | Pl(s) | Rot | Test | Boot | Game | Control Type | Notes |
|
|romname | Pl(s) | Rot | Test | Boot | Game | Control Type | Notes |
|
||||||
|----------|-------|-----|------|------|------|--------------------------------|-----------------------------------------------------|
|
|----------|-------|-----|------|------|------|--------------------------------|-----------------------------------------------------|
|
||||||
|gundmgd | 1 | H | Yes | Yes | Yes | twin-joystick with 4+6 buttons | |
|
|gundmgd | 1 | H | Yes | Yes | Yes | joystick with 4 buttons | |
|
||||||
|sfz3ugd | 2 | H | Yes | Yes | No | joystick with 6 buttons | Spurious irq on ARM7 prg / broken timings |
|
|sfz3ugd | 2 | H | Yes | Yes | No | joystick with 6 buttons | Hangs after pressing start |
|
||||||
|cvsgd | 2 | H | Yes | Yes | Yes | joystick with 4 buttons | 2 + 2 extra buttons |
|
|cvsgd | 2 | H | Yes | Yes | Yes | joystick with 4 buttons | 2 + 2 extra buttons |
|
||||||
|gundmxgd | 1 | H | Yes | Yes | Yes | twin-joystick with 4+6 buttons | |
|
|gundmxgd | 1 | H | Yes | Yes | Yes | joystick with 4+6 buttons | |
|
||||||
|cvs2gd | 2 | H | Yes | Yes | Yes | joystick with 6 buttons | |
|
|cvs2gd | 2 | H | Yes | Yes | Yes | joystick with 6 buttons | |
|
||||||
|ikaruga | 2 | V | Yes | Yes | No | joystick with 2 buttons? | Broken i/o / timings |
|
|ikaruga | 2 | V | Yes | Yes | Yes | joystick with 3 buttons? | |
|
||||||
|ggxx | 2 | H | Yes | Yes | Yes | joystick with 5 buttons | |
|
|ggxx | 2 | H | Yes | Yes | Yes | joystick with 5 buttons | |
|
||||||
|moeru | 2 | H | No | No | No | joystick with 3 buttons? | Broken i/o, stuck at the "now loading" msg |
|
|moeru | 2 | H | No | No | No | joystick with 3 buttons? | Broken i/o, stuck at the "now loading" msg |
|
||||||
|chocomk | 2 | H | No? | Yes | Yes? | joystick with 3 buttons? | Broken i/o? |
|
|chocomk | 2 | H | Yes | Yes | Yes | joystick with 3 buttons? | |
|
||||||
|quizqgd | 2 | V | Yes | Yes | Yes | joystick(?) with 4 buttons | |
|
|quizqgd | 2 | V | Yes | Yes | Yes | joystick(?) with 4 buttons | |
|
||||||
|ggxxrl | 2 | H | Yes | Yes | Yes | joystick with 5 buttons | |
|
|ggxxrl | 2 | H | Yes | Yes | Yes | joystick with 5 buttons | |
|
||||||
|tetkiwam | 2 | H | No | No | No | joystick with 3 buttons? | |
|
|tetkiwam | 2 | H | No | No | No | joystick with 3 buttons? | Black screen, tests the SCIF (UART) regs? |
|
||||||
|shikgam2 | 2 | V | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
|shikgam2 | 2 | V | Yes | Yes | No | joystick with 3 buttons? | Broken i/o, crashes on the proper gameplay |
|
||||||
|usagui | 1 | H | Yes | Yes | No | mahjong panel | |
|
|usagui | 1 | H | Yes | Yes | No | mahjong panel | |
|
||||||
|bdrdown | 2 | H | Yes | Yes | No? | joystick with 3 buttons? | Broken i/o in test mode |
|
|bdrdown | 2 | H | Yes | Yes | Yes | joystick with 3 buttons? | |
|
||||||
|psyvar2 | 1 | V | No | No | No | joystick with 3 buttons? | |
|
|psyvar2 | 1 | V | No | No | No | joystick with 3 buttons? | |
|
||||||
|cfield | 1? | H | No? | Yes | No | joystick with 3 buttons? | Broken i/o |
|
|cfield | 1? | H | No? | Yes | No | joystick with 3 buttons? | Broken i/o |
|
||||||
|trizeal | 2 | V | No | No | No | joystick with 3 buttons? | |
|
|trizeal | 2 | V | No | No | No | joystick with 3 buttons? | |
|
||||||
|meltybld | 2 | H | No? | Yes | No? | joystick with 4 buttons? | Crashes in attract with wrong mask |
|
|meltybld | 2 | H | No? | Yes | No? | joystick with 4 buttons? | Crashes in attract/gameplay with wrong mask |
|
||||||
|senko | 2 | H | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
|senko | 2 | H | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
||||||
|senkoo | 2 | H | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
|senkoo | 2 | H | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
||||||
|ss2005 | 1 | H | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
|ss2005 | 1 | H | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
||||||
@ -40,14 +40,14 @@ Current Compatibility notes (GD-rom games only)
|
|||||||
|undefeat | 2 | V | No | No | No | joystick with 3 buttons? | Stuck at the "now loading" msg |
|
|undefeat | 2 | V | No | No | No | joystick with 3 buttons? | Stuck at the "now loading" msg |
|
||||||
|trgheart | 1 | V | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
|trgheart | 1 | V | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
||||||
|jingystm | 2 | H | Yes | Yes | No | joystick with 4 buttons? | Broken i/o |
|
|jingystm | 2 | H | Yes | Yes | No | joystick with 4 buttons? | Broken i/o |
|
||||||
|meltyb | 2 | H | No? | Yes | No? | joystick with 4 buttons? | Crashes in attract with wrong mask |
|
|meltyb | 2 | H | No? | Yes | No? | joystick with 4 buttons? | Crashes in attract/gameplay with wrong mask |
|
||||||
|meltyba | 2 | H | No? | Yes | No? | joystick with 4 buttons? | Crashes in attract with wrong mask |
|
|meltyba | 2 | H | No? | Yes | No? | joystick with 4 buttons? | Crashes in attract/gameplay with wrong mask |
|
||||||
|karous | 1 | V | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
|karous | 1 | V | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
||||||
|takoron | 2 | H | Yes | Yes | Yes | joystick with 3 buttons | |
|
|takoron | 2 | H | Yes | Yes | Yes | joystick with 3 buttons | |
|
||||||
--------------------------------------------------------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|confmiss | 2 | H | Yes | Yes | No | lightgun | |
|
|confmiss | 2 | H | Yes | Yes | No | lightgun | |
|
||||||
|sprtjam | 2 | H | Yes | Yes | Yes | joystick with 2 buttons | |
|
|sprtjam | 2 | H | Yes | Yes | Yes | joystick with 2 buttons | |
|
||||||
|slashout | 1 | H | Yes | Yes | Yes | joystick with 4 buttons | Needs to map the extra button |
|
|slashout | 1 | H | Yes | Yes | Yes | joystick with 4 buttons | |
|
||||||
|spkrbtl | 2 | H | Yes | Yes | No | joystick with 4 buttons | Crashes when loading the gameplay |
|
|spkrbtl | 2 | H | Yes | Yes | No | joystick with 4 buttons | Crashes when loading the gameplay |
|
||||||
|monkeyba | 1 | H | Yes | Yes | No | ad stick | Crashes when loading the gameplay |
|
|monkeyba | 1 | H | Yes | Yes | No | ad stick | Crashes when loading the gameplay |
|
||||||
|dygolf | 2 | H | No | No | No | trackball + 4 buttons | Moans about the jvs settings |
|
|dygolf | 2 | H | No | No | No | trackball + 4 buttons | Moans about the jvs settings |
|
||||||
@ -1057,6 +1057,7 @@ ADDRESS_MAP_END
|
|||||||
* Input ports
|
* Input ports
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* for now we hardwire a joystick + 6 buttons for every game.*/
|
||||||
static INPUT_PORTS_START( naomi )
|
static INPUT_PORTS_START( naomi )
|
||||||
PORT_START("IN0")
|
PORT_START("IN0")
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service")
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service")
|
||||||
@ -1070,6 +1071,9 @@ static INPUT_PORTS_START( naomi )
|
|||||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 )
|
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 )
|
||||||
PORT_START("IN2")
|
PORT_START("IN2")
|
||||||
|
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON6 )
|
||||||
|
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON5 )
|
||||||
|
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON4 )
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON3 )
|
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON3 )
|
||||||
PORT_START("IN3")
|
PORT_START("IN3")
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START2 )
|
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START2 )
|
||||||
@ -1080,6 +1084,9 @@ static INPUT_PORTS_START( naomi )
|
|||||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
|
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
|
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||||
PORT_START("IN4")
|
PORT_START("IN4")
|
||||||
|
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_PLAYER(2)
|
||||||
|
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(2)
|
||||||
|
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)
|
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||||
|
|
||||||
PORT_START("COINS")
|
PORT_START("COINS")
|
||||||
|
@ -124,6 +124,7 @@ UINT32 dc_coin_counts[2];
|
|||||||
static UINT32 maple_regs[0x100/4];
|
static UINT32 maple_regs[0x100/4];
|
||||||
static UINT32 dc_rtcregister[4];
|
static UINT32 dc_rtcregister[4];
|
||||||
static UINT32 g1bus_regs[0x100/4];
|
static UINT32 g1bus_regs[0x100/4];
|
||||||
|
static UINT32 g2bus_regs[0x100/4];
|
||||||
UINT8 maple0x86data1[0x80];
|
UINT8 maple0x86data1[0x80];
|
||||||
static UINT8 maple0x86data2[0x400];
|
static UINT8 maple0x86data2[0x400];
|
||||||
static emu_timer *dc_rtc_timer;
|
static emu_timer *dc_rtc_timer;
|
||||||
@ -805,14 +806,14 @@ WRITE64_HANDLER( dc_g1_ctrl_w )
|
|||||||
dat = (UINT32)(data >> shift);
|
dat = (UINT32)(data >> shift);
|
||||||
old = g1bus_regs[reg];
|
old = g1bus_regs[reg];
|
||||||
|
|
||||||
g1bus_regs[reg] = dat; // 5f6c00+reg*4=dat
|
g1bus_regs[reg] = dat; // 5f7400+reg*4=dat
|
||||||
mame_printf_verbose("G1CTRL: [%08x=%x] write %llx to %x, mask %llx\n", 0x5f7400+reg*4, dat, data, offset, mem_mask);
|
mame_printf_verbose("G1CTRL: [%08x=%x] write %llx to %x, mask %llx\n", 0x5f7400+reg*4, dat, data, offset, mem_mask);
|
||||||
switch (reg)
|
switch (reg)
|
||||||
{
|
{
|
||||||
case SB_GDST:
|
case SB_GDST:
|
||||||
if (!(old & 1) && (dat & 1)) // 0 -> 1
|
if (dat & 1 && g1bus_regs[SB_GDEN] == 1) // 0 -> 1
|
||||||
{
|
{
|
||||||
if ((g1bus_regs[SB_GDEN] == 0) || (g1bus_regs[SB_GDDIR] == 0))
|
if (g1bus_regs[SB_GDDIR] == 0)
|
||||||
{
|
{
|
||||||
mame_printf_verbose("G1CTRL: unsupported transfer\n");
|
mame_printf_verbose("G1CTRL: unsupported transfer\n");
|
||||||
return;
|
return;
|
||||||
@ -842,14 +843,14 @@ READ64_HANDLER( dc_g2_ctrl_r )
|
|||||||
|
|
||||||
reg = decode_reg32_64(space->machine, offset, mem_mask, &shift);
|
reg = decode_reg32_64(space->machine, offset, mem_mask, &shift);
|
||||||
mame_printf_verbose("G2CTRL: Unmapped read %08x\n", 0x5f7800+reg*4);
|
mame_printf_verbose("G2CTRL: Unmapped read %08x\n", 0x5f7800+reg*4);
|
||||||
return 0;
|
return (UINT64)g2bus_regs[reg] << shift;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE64_HANDLER( dc_g2_ctrl_w )
|
WRITE64_HANDLER( dc_g2_ctrl_w )
|
||||||
{
|
{
|
||||||
int reg;
|
int reg;
|
||||||
UINT64 shift;
|
UINT64 shift;
|
||||||
UINT32 dat;
|
UINT32 dat,old;
|
||||||
static struct {
|
static struct {
|
||||||
UINT32 aica_addr;
|
UINT32 aica_addr;
|
||||||
UINT32 root_addr;
|
UINT32 root_addr;
|
||||||
@ -862,6 +863,10 @@ WRITE64_HANDLER( dc_g2_ctrl_w )
|
|||||||
|
|
||||||
reg = decode_reg32_64(space->machine, offset, mem_mask, &shift);
|
reg = decode_reg32_64(space->machine, offset, mem_mask, &shift);
|
||||||
dat = (UINT32)(data >> shift);
|
dat = (UINT32)(data >> shift);
|
||||||
|
old = g2bus_regs[reg];
|
||||||
|
|
||||||
|
g2bus_regs[reg] = dat; // 5f7800+reg*4=dat
|
||||||
|
|
||||||
switch (reg)
|
switch (reg)
|
||||||
{
|
{
|
||||||
/*AICA Address register*/
|
/*AICA Address register*/
|
||||||
@ -921,9 +926,8 @@ WRITE64_HANDLER( dc_g2_ctrl_w )
|
|||||||
wave_dma.root_addr = src;
|
wave_dma.root_addr = src;
|
||||||
wave_dma.size = 0;
|
wave_dma.size = 0;
|
||||||
wave_dma.flag = (wave_dma.indirect & 1) ? 1 : 0;
|
wave_dma.flag = (wave_dma.indirect & 1) ? 1 : 0;
|
||||||
wave_dma.start = 0;
|
wave_dma.start = g2bus_regs[SB_ADST] = 0;
|
||||||
|
dc_sysctrl_regs[SB_ISTNRM] |= IST_DMA_AICA;
|
||||||
//TODO: signal irq there
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user