mirror of
https://github.com/holub/mame
synced 2025-05-21 21:29:15 +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 |
|
||||
|----------|-------|-----|------|------|------|--------------------------------|-----------------------------------------------------|
|
||||
|gundmgd | 1 | H | Yes | Yes | Yes | twin-joystick with 4+6 buttons | |
|
||||
|sfz3ugd | 2 | H | Yes | Yes | No | joystick with 6 buttons | Spurious irq on ARM7 prg / broken timings |
|
||||
|gundmgd | 1 | H | Yes | Yes | Yes | joystick with 4 buttons | |
|
||||
|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 |
|
||||
|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 | |
|
||||
|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 | |
|
||||
|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 | |
|
||||
|ggxxrl | 2 | H | Yes | Yes | Yes | joystick with 5 buttons | |
|
||||
|tetkiwam | 2 | H | No | No | No | joystick with 3 buttons? | |
|
||||
|shikgam2 | 2 | V | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
||||
|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, crashes on the proper gameplay |
|
||||
|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? | |
|
||||
|cfield | 1? | H | No? | Yes | No | joystick with 3 buttons? | Broken i/o |
|
||||
|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 |
|
||||
|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 |
|
||||
@ -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 |
|
||||
|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 |
|
||||
|meltyb | 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 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/gameplay with wrong mask |
|
||||
|karous | 1 | V | Yes | Yes | No | joystick with 3 buttons? | Broken i/o |
|
||||
|takoron | 2 | H | Yes | Yes | Yes | joystick with 3 buttons | |
|
||||
--------------------------------------------------------------------------------------------------------------------------------------
|
||||
|confmiss | 2 | H | Yes | Yes | No | lightgun | |
|
||||
|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 |
|
||||
|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 |
|
||||
@ -1057,6 +1057,7 @@ ADDRESS_MAP_END
|
||||
* Input ports
|
||||
*/
|
||||
|
||||
/* for now we hardwire a joystick + 6 buttons for every game.*/
|
||||
static INPUT_PORTS_START( naomi )
|
||||
PORT_START("IN0")
|
||||
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( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 )
|
||||
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_START("IN3")
|
||||
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( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
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_START("COINS")
|
||||
@ -4310,7 +4317,7 @@ Peripheral String 0000000
|
||||
Product Number GDT-0010C
|
||||
Version V4.000
|
||||
Release Date 20040608
|
||||
Manufacturer ID
|
||||
Manufacturer ID
|
||||
|
||||
TOC DISC
|
||||
Track Start Sector End Sector Track Size
|
||||
@ -4343,7 +4350,7 @@ Peripheral String 0000000
|
||||
Product Number GDT-0017B
|
||||
Version V3.001
|
||||
Release Date 20041102
|
||||
Manufacturer ID
|
||||
Manufacturer ID
|
||||
|
||||
TOC DISC
|
||||
Track Start Sector End Sector Track Size
|
||||
|
@ -124,6 +124,7 @@ UINT32 dc_coin_counts[2];
|
||||
static UINT32 maple_regs[0x100/4];
|
||||
static UINT32 dc_rtcregister[4];
|
||||
static UINT32 g1bus_regs[0x100/4];
|
||||
static UINT32 g2bus_regs[0x100/4];
|
||||
UINT8 maple0x86data1[0x80];
|
||||
static UINT8 maple0x86data2[0x400];
|
||||
static emu_timer *dc_rtc_timer;
|
||||
@ -805,14 +806,14 @@ WRITE64_HANDLER( dc_g1_ctrl_w )
|
||||
dat = (UINT32)(data >> shift);
|
||||
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);
|
||||
switch (reg)
|
||||
{
|
||||
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");
|
||||
return;
|
||||
@ -842,14 +843,14 @@ READ64_HANDLER( dc_g2_ctrl_r )
|
||||
|
||||
reg = decode_reg32_64(space->machine, offset, mem_mask, &shift);
|
||||
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 )
|
||||
{
|
||||
int reg;
|
||||
UINT64 shift;
|
||||
UINT32 dat;
|
||||
UINT32 dat,old;
|
||||
static struct {
|
||||
UINT32 aica_addr;
|
||||
UINT32 root_addr;
|
||||
@ -862,6 +863,10 @@ WRITE64_HANDLER( dc_g2_ctrl_w )
|
||||
|
||||
reg = decode_reg32_64(space->machine, offset, mem_mask, &shift);
|
||||
dat = (UINT32)(data >> shift);
|
||||
old = g2bus_regs[reg];
|
||||
|
||||
g2bus_regs[reg] = dat; // 5f7800+reg*4=dat
|
||||
|
||||
switch (reg)
|
||||
{
|
||||
/*AICA Address register*/
|
||||
@ -921,9 +926,8 @@ WRITE64_HANDLER( dc_g2_ctrl_w )
|
||||
wave_dma.root_addr = src;
|
||||
wave_dma.size = 0;
|
||||
wave_dma.flag = (wave_dma.indirect & 1) ? 1 : 0;
|
||||
wave_dma.start = 0;
|
||||
|
||||
//TODO: signal irq there
|
||||
wave_dma.start = g2bus_regs[SB_ADST] = 0;
|
||||
dc_sysctrl_regs[SB_ISTNRM] |= IST_DMA_AICA;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user