mirror of
https://github.com/holub/mame
synced 2025-04-24 17:30:55 +03:00
Modernized/converted nb1413m3 to a device. [Osso]
This commit is contained in:
parent
9148af4550
commit
5fcc8719c4
@ -23,7 +23,6 @@ Memo:
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/dac.h"
|
||||
#include "includes/hyhoo.h"
|
||||
@ -49,23 +48,28 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( hyhoo_io_map, AS_IO, 8, hyhoo_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
// AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
// AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("aysnd", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x90, 0x97) AM_WRITE(hyhoo_blitter_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r, nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r, nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xcf) AM_WRITEONLY AM_SHARE("clut")
|
||||
AM_RANGE(0xd0, 0xd0) AM_READNOP AM_DEVWRITE("dac", dac_device, write_unsigned8) // unknown read
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(hyhoo_romsel_w)
|
||||
AM_RANGE(0xe0, 0xe1) AM_READ_LEGACY(nb1413m3_gfxrom_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r)
|
||||
AM_RANGE(0xe0, 0xe1) AM_DEVREAD("nb1413m3", nb1413m3_device, gfxrom_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_WRITENOP
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
CUSTOM_INPUT_MEMBER( hyhoo_state::nb1413m3_busyflag_r )
|
||||
{
|
||||
return m_nb1413m3->m_busyflag & 0x01;
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( hyhoo )
|
||||
PORT_START("DSWA")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) )
|
||||
@ -112,7 +116,7 @@ static INPUT_PORTS_START( hyhoo )
|
||||
PORT_DIPSETTING( 0x00, "95%" )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, hyhoo_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // NOT USED
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) // SERVICE
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Memory Reset") // MEMORY RESET
|
||||
@ -187,7 +191,7 @@ static INPUT_PORTS_START( hyhoo2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, hyhoo_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // NOT USED
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) // SERVICE
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Memory Reset") // MEMORY RESET
|
||||
@ -245,10 +249,8 @@ static MACHINE_CONFIG_START( hyhoo, hyhoo_state )
|
||||
MCFG_CPU_ADD("maincpu", Z80, 5000000) /* 5.00 MHz ?? */
|
||||
MCFG_CPU_PROGRAM_MAP(hyhoo_map)
|
||||
MCFG_CPU_IO_MAP(hyhoo_io_map)
|
||||
MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
|
||||
|
||||
MCFG_MACHINE_START(nb1413m3)
|
||||
MCFG_MACHINE_RESET(nb1413m3)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", hyhoo_state, irq0_line_hold)
|
||||
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
/* video hardware */
|
||||
@ -258,6 +260,8 @@ static MACHINE_CONFIG_START( hyhoo, hyhoo_state )
|
||||
MCFG_SCREEN_SIZE(512, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(hyhoo_state, screen_update_hyhoo)
|
||||
|
||||
MCFG_NB1413M3_ADD("nb1413m3")
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
@ -266,7 +270,6 @@ static MACHINE_CONFIG_START( hyhoo, hyhoo_state )
|
||||
MCFG_SOUND_ADD("aysnd", AY8910, 1250000)
|
||||
MCFG_SOUND_CONFIG(ay8910_config)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
|
||||
|
||||
MCFG_DAC_ADD("dac")
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -32,7 +32,6 @@ TODO:
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/3812intf.h"
|
||||
@ -299,20 +298,20 @@ READ8_MEMBER(nbmj8688_state::ff_r)
|
||||
|
||||
static ADDRESS_MAP_START( secolove_io_map, AS_IO, 8, nbmj8688_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("psg", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("psg", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0x90, 0x97) AM_WRITE(nbmj8688_blitter_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xcf) AM_WRITE(nbmj8688_clut_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_READ(ff_r) // irq ack? watchdog?
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(secolove_romsel_w)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_WRITE(mjsikaku_scrolly_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -324,148 +323,148 @@ WRITE8_MEMBER(nbmj8688_state::barline_output_w)
|
||||
|
||||
static ADDRESS_MAP_START( barline_io_map, AS_IO, 8, nbmj8688_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
// AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
// AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, sndrombank1_w)
|
||||
AM_RANGE(0x70, 0x70) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("psg", ym3812_device, read, write)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0x90, 0x97) AM_WRITE(nbmj8688_blitter_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READ_LEGACY(nb1413m3_inputport2_r) AM_WRITE(barline_output_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport2_r) AM_WRITE(barline_output_w)
|
||||
AM_RANGE(0xc0, 0xcf) AM_WRITE(nbmj8688_clut_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_READ(ff_r) // irq ack? watchdog?
|
||||
// AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8) //not used
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(secolove_romsel_w)
|
||||
AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r) AM_WRITE(mjsikaku_scrolly_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r) AM_WRITE(mjsikaku_scrolly_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( crystalg_io_map, AS_IO, 8, nbmj8688_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("psg", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("psg", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0x90, 0x97) AM_WRITE(nbmj8688_blitter_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xcf) AM_WRITE(nbmj8688_clut_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_READ(ff_r) // irq ack? watchdog?
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(crystalg_romsel_w)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_WRITENOP
|
||||
// AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( otonano_io_map, AS_IO, 8, nbmj8688_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x20, 0x3f) AM_WRITE(nbmj8688_clut_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(mjsikaku_romsel_w)
|
||||
AM_RANGE(0x70, 0x77) AM_WRITE(nbmj8688_blitter_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("psg", ym3812_device, read, write)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_READ(ff_r) // irq ack? watchdog?
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(mjsikaku_gfxflag2_w)
|
||||
AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r) AM_WRITE(mjsikaku_scrolly_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r) AM_WRITE(mjsikaku_scrolly_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( kaguya_io_map, AS_IO, 8, nbmj8688_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x20, 0x3f) AM_WRITE(nbmj8688_clut_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(mjsikaku_romsel_w)
|
||||
AM_RANGE(0x70, 0x77) AM_WRITE(nbmj8688_blitter_w)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("psg", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("psg", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_READ(ff_r) // irq ack? watchdog?
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(mjsikaku_gfxflag2_w)
|
||||
AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r) AM_WRITE(mjsikaku_scrolly_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r) AM_WRITE(mjsikaku_scrolly_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( iemoto_io_map, AS_IO, 8, nbmj8688_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE_LEGACY(nb1413m3_sndrombank2_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x10, 0x10) AM_DEVWRITE("nb1413m3", nb1413m3_device, sndrombank2_w)
|
||||
AM_RANGE(0x20, 0x3f) AM_WRITE(nbmj8688_clut_w)
|
||||
AM_RANGE(0x40, 0x47) AM_WRITE(nbmj8688_blitter_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(seiha_romsel_w)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("psg", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("psg", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_READ(ff_r) // irq ack? watchdog?
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(mjsikaku_gfxflag2_w)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_WRITE(mjsikaku_scrolly_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( seiha_io_map, AS_IO, 8, nbmj8688_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE_LEGACY(nb1413m3_sndrombank2_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x10, 0x10) AM_DEVWRITE("nb1413m3", nb1413m3_device, sndrombank2_w)
|
||||
AM_RANGE(0x20, 0x3f) AM_WRITE(nbmj8688_clut_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(seiha_romsel_w)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("psg", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("psg", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0x90, 0x97) AM_WRITE(nbmj8688_blitter_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_READ(ff_r) // irq ack? watchdog?
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(mjsikaku_gfxflag2_w)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_WRITE(mjsikaku_scrolly_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( mjgaiden_io_map, AS_IO, 8, nbmj8688_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x20, 0x3f) AM_WRITE(nbmj8688_clut_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(mjsikaku_romsel_w)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("psg", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("psg", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0x90, 0x97) AM_WRITE(nbmj8688_blitter_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_READ(ff_r) // irq ack? watchdog?
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(mjsikaku_gfxflag2_w)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_WRITE(mjsikaku_scrolly_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( p16bit_LCD_io_map, AS_IO, 8, nbmj8688_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x42, 0x42) AM_WRITE(nbmj8688_HD61830B_0_data_w)
|
||||
AM_RANGE(0x43, 0x43) AM_WRITE(nbmj8688_HD61830B_0_instr_w)
|
||||
AM_RANGE(0x44, 0x44) AM_WRITE(nbmj8688_HD61830B_1_data_w)
|
||||
@ -474,62 +473,66 @@ static ADDRESS_MAP_START( p16bit_LCD_io_map, AS_IO, 8, nbmj8688_state )
|
||||
AM_RANGE(0x47, 0x47) AM_WRITE(nbmj8688_HD61830B_both_instr_w)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("psg", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("psg", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0x90, 0x97) AM_WRITE(nbmj8688_blitter_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xcf) AM_WRITE(nbmj8688_clut_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_READ(ff_r) // irq ack? watchdog?
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(secolove_romsel_w)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_WRITE(mjsikaku_scrolly_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( mjsikaku_io_map, AS_IO, 8, nbmj8688_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE_LEGACY(nb1413m3_sndrombank2_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x10, 0x10) AM_DEVWRITE("nb1413m3", nb1413m3_device, sndrombank2_w)
|
||||
AM_RANGE(0x20, 0x3f) AM_WRITE(nbmj8688_clut_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(mjsikaku_romsel_w)
|
||||
AM_RANGE(0x60, 0x67) AM_WRITE(nbmj8688_blitter_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("psg", ym3812_device, read, write)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_READ(ff_r) // irq ack? watchdog?
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(mjsikaku_gfxflag2_w)
|
||||
AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_WRITE(mjsikaku_scrolly_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( mmsikaku_io_map, AS_IO, 8, nbmj8688_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE_LEGACY(nb1413m3_sndrombank2_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x10, 0x10) AM_DEVWRITE("nb1413m3", nb1413m3_device, sndrombank2_w)
|
||||
AM_RANGE(0x20, 0x3f) AM_WRITE(nbmj8688_clut_w)
|
||||
AM_RANGE(0x40, 0x47) AM_WRITE(nbmj8688_blitter_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(mjsikaku_romsel_w)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("psg", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("psg", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_READ(ff_r) // irq ack? watchdog?
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(mjsikaku_gfxflag2_w)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r)
|
||||
// AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_WRITE(mjsikaku_scrolly_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
CUSTOM_INPUT_MEMBER( nbmj8688_state::nb1413m3_busyflag_r )
|
||||
{
|
||||
return m_nb1413m3->m_busyflag & 0x01;
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( mjsikaku )
|
||||
PORT_START("DSWA")
|
||||
@ -585,7 +588,7 @@ static INPUT_PORTS_START( mjsikaku )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -690,7 +693,7 @@ static INPUT_PORTS_START( mmsikaku )
|
||||
#endif
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -756,7 +759,7 @@ static INPUT_PORTS_START( otonano )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -822,7 +825,7 @@ static INPUT_PORTS_START( mjcamera )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -885,7 +888,7 @@ static INPUT_PORTS_START( kaguya )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
// PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
@ -952,7 +955,7 @@ static INPUT_PORTS_START( kaguya2 )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
// PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
@ -1019,7 +1022,7 @@ static INPUT_PORTS_START( kanatuen )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
// PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
@ -1086,7 +1089,7 @@ static INPUT_PORTS_START( kyuhito )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
// PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
@ -1153,7 +1156,7 @@ static INPUT_PORTS_START( idhimitu )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
// PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
@ -1219,7 +1222,7 @@ static INPUT_PORTS_START( secolove )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1284,7 +1287,7 @@ static INPUT_PORTS_START( barline )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1394,7 +1397,7 @@ static INPUT_PORTS_START( citylove )
|
||||
PORT_DIPSETTING( 0x00, "HAIPAI" )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1499,7 +1502,7 @@ static INPUT_PORTS_START( mcitylov )
|
||||
#endif
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1565,7 +1568,7 @@ static INPUT_PORTS_START( seiha )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1629,7 +1632,7 @@ static INPUT_PORTS_START( seiham )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1695,7 +1698,7 @@ static INPUT_PORTS_START( iemoto )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1761,7 +1764,7 @@ static INPUT_PORTS_START( iemotom )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1827,7 +1830,7 @@ static INPUT_PORTS_START( ryuuha )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1892,7 +1895,7 @@ static INPUT_PORTS_START( bijokkoy )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1956,7 +1959,7 @@ static INPUT_PORTS_START( bijokkog )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2020,7 +2023,7 @@ static INPUT_PORTS_START( housemnq )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2083,7 +2086,7 @@ static INPUT_PORTS_START( housemn2 )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2149,7 +2152,7 @@ static INPUT_PORTS_START( orangec )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2215,7 +2218,7 @@ static INPUT_PORTS_START( orangeci )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2281,7 +2284,7 @@ static INPUT_PORTS_START( vipclub )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2347,7 +2350,7 @@ static INPUT_PORTS_START( livegal )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2425,7 +2428,7 @@ static INPUT_PORTS_START( ojousan )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2491,7 +2494,7 @@ static INPUT_PORTS_START( ojousanm )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2557,7 +2560,7 @@ static INPUT_PORTS_START( korinai )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2623,7 +2626,7 @@ static INPUT_PORTS_START( korinaim )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2689,7 +2692,7 @@ static INPUT_PORTS_START( crystalg )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2751,7 +2754,7 @@ static INPUT_PORTS_START( crystal2 )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2817,7 +2820,7 @@ static INPUT_PORTS_START( apparel )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2883,7 +2886,7 @@ static INPUT_PORTS_START( nightlov )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2898,12 +2901,12 @@ INPUT_PORTS_END
|
||||
|
||||
READ8_MEMBER(nbmj8688_state::dipsw1_r)
|
||||
{
|
||||
return nb1413m3_dipsw1_r(space,offset);
|
||||
return m_nb1413m3->dipsw1_r(space,offset);
|
||||
}
|
||||
|
||||
READ8_MEMBER(nbmj8688_state::dipsw2_r)
|
||||
{
|
||||
return nb1413m3_dipsw2_r(space,offset);
|
||||
return m_nb1413m3->dipsw2_r(space,offset);
|
||||
}
|
||||
|
||||
static const ay8910_interface ay8910_config =
|
||||
@ -2921,10 +2924,9 @@ static MACHINE_CONFIG_START( NBMJDRV_4096, nbmj8688_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", Z80, 5000000) /* 5.00 MHz */
|
||||
MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nbmj8688_state, irq0_line_hold)
|
||||
|
||||
MCFG_MACHINE_START(nb1413m3)
|
||||
MCFG_MACHINE_RESET(nb1413m3)
|
||||
MCFG_NB1413M3_ADD("nb1413m3")
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
/* video hardware */
|
||||
@ -3031,13 +3033,12 @@ static MACHINE_CONFIG_START( mbmj_p16bit_LCD, nbmj8688_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", Z80, 5000000) /* 5.00 MHz */
|
||||
MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nbmj8688_state, irq0_line_hold)
|
||||
MCFG_CPU_PROGRAM_MAP(secolove_map)
|
||||
MCFG_CPU_IO_MAP(secolove_io_map)
|
||||
MCFG_CPU_IO_MAP(p16bit_LCD_io_map)
|
||||
|
||||
MCFG_MACHINE_START(nb1413m3)
|
||||
MCFG_MACHINE_RESET(nb1413m3)
|
||||
MCFG_NB1413M3_ADD("nb1413m3")
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
/* video hardware */
|
||||
|
@ -43,7 +43,6 @@ TODO:
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/3812intf.h"
|
||||
@ -433,124 +432,124 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( gionbana_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x20, 0x27) AM_WRITE(nbmj8891_blitter_w)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(nbmj8891_clutsel_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8891_romsel_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(nb1413m3_inputport3_r) //AM_WRITENOP
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport3_r) //AM_WRITENOP
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(nbmj8891_vramsel_w)
|
||||
AM_RANGE(0xf0, 0xf0) AM_READWRITE_LEGACY(nb1413m3_dipsw1_r,nb1413m3_outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw1_r, outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( mgion_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x30, 0x37) AM_WRITE(nbmj8891_blitter_w)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(nbmj8891_clutsel_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8891_romsel_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(nb1413m3_inputport3_r) //AM_WRITENOP
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport3_r) //AM_WRITENOP
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(nbmj8891_vramsel_w)
|
||||
AM_RANGE(0xf0, 0xf0) AM_READWRITE_LEGACY(nb1413m3_dipsw1_r,nb1413m3_outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw1_r, outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( omotesnd_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x07) AM_WRITE(nbmj8891_blitter_w)
|
||||
AM_RANGE(0x30, 0x30) AM_WRITE(nbmj8891_vramsel_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(nbmj8891_romsel_w)
|
||||
AM_RANGE(0x20, 0x20) AM_WRITE(nbmj8891_clutsel_w)
|
||||
AM_RANGE(0x40, 0x4f) AM_WRITE(nbmj8891_clut_w)
|
||||
// AM_RANGE(0x50, 0x50) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
// AM_RANGE(0x50, 0x50) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("fmsnd", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("fmsnd", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r) AM_WRITENOP
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(nb1413m3_inputport3_r) AM_WRITENOP
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r) AM_WRITENOP
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport3_r) AM_WRITENOP
|
||||
AM_RANGE(0xd0, 0xdf) AM_READ(nbmj8891_clut_r)
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xf0, 0xf0) AM_READWRITE_LEGACY(nb1413m3_dipsw1_r,nb1413m3_outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw1_r, outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( hanamomo_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x30, 0x37) AM_WRITE(nbmj8891_blitter_w)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(nbmj8891_clutsel_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8891_romsel_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(nb1413m3_inputport3_r) //AM_WRITENOP
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport3_r) //AM_WRITENOP
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
// AM_RANGE(0xe0, 0xe0) AM_WRITENOP
|
||||
AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r) //AM_WRITENOP
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r) //AM_WRITENOP
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( msjiken_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(nbmj8891_clutsel_w)
|
||||
AM_RANGE(0x50, 0x57) AM_WRITE(nbmj8891_blitter_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8891_romsel_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(nb1413m3_inputport3_r) //AM_WRITENOP
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport3_r) //AM_WRITENOP
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
// AM_RANGE(0xe0, 0xe0) AM_WRITENOP
|
||||
AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r) //AM_WRITENOP
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r) //AM_WRITENOP
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( scandal_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x40, 0x4f) AM_WRITE(nbmj8891_clut_w)
|
||||
AM_RANGE(0x00, 0x07) AM_WRITE(nbmj8891_blitter_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(nbmj8891_romsel_w)
|
||||
AM_RANGE(0x20, 0x20) AM_WRITE(nbmj8891_clutsel_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READWRITE_LEGACY(nb1413m3_inputport3_r,nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport3_r, nmi_clock_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
// AM_RANGE(0xe0, 0xe0) AM_WRITENOP
|
||||
AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r) //AM_WRITENOP
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r) //AM_WRITENOP
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( scandalm_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x07) AM_WRITE(nbmj8891_blitter_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(nbmj8891_romsel_w)
|
||||
AM_RANGE(0x20, 0x20) AM_WRITE(nbmj8891_clutsel_w)
|
||||
@ -558,19 +557,19 @@ static ADDRESS_MAP_START( scandalm_io_map, AS_IO, 8, nbmj8891_state )
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("fmsnd", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("fmsnd", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READWRITE_LEGACY(nb1413m3_inputport3_r,nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport3_r, nmi_clock_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
// AM_RANGE(0xe0, 0xe0) AM_WRITENOP
|
||||
AM_RANGE(0xf0, 0xf0) AM_READWRITE_LEGACY(nb1413m3_dipsw1_r,nb1413m3_outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw1_r, outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( bananadr_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x07) AM_WRITE(nbmj8891_blitter_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(nbmj8891_romsel_w)
|
||||
AM_RANGE(0x20, 0x20) AM_WRITE(nbmj8891_clutsel_w)
|
||||
@ -578,71 +577,85 @@ static ADDRESS_MAP_START( bananadr_io_map, AS_IO, 8, nbmj8891_state )
|
||||
AM_RANGE(0x40, 0x4f) AM_WRITE(nbmj8891_clut_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READWRITE_LEGACY(nb1413m3_inputport3_r,nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport3_r, nmi_clock_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
// AM_RANGE(0xe0, 0xe0) AM_WRITENOP
|
||||
AM_RANGE(0xf0, 0xf0) AM_READWRITE_LEGACY(nb1413m3_dipsw1_r,nb1413m3_outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw1_r, outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( lovehous_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(nbmj8891_clutsel_w)
|
||||
AM_RANGE(0x50, 0x57) AM_WRITE(nbmj8891_blitter_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8891_romsel_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r) //AM_WRITENOP
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r) //AM_WRITENOP
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ_PORT("PORT0-2")
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(nbmj8891_vramsel_w)
|
||||
AM_RANGE(0xf0, 0xf0) AM_READWRITE_LEGACY(nb1413m3_dipsw1_r,nb1413m3_outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw1_r, outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( maiko_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(nbmj8891_clutsel_w)
|
||||
AM_RANGE(0x50, 0x57) AM_WRITE(nbmj8891_blitter_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8891_romsel_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ_PORT("PORT0-2") //AM_WRITENOP
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(nbmj8891_vramsel_w)
|
||||
AM_RANGE(0xf0, 0xf0) AM_READWRITE_LEGACY(nb1413m3_dipsw1_r,nb1413m3_outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw1_r, outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( taiwanmb_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("fmsnd", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("fmsnd", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r) //AM_WRITENOP // ?
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r) //AM_WRITENOP // ?
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
// AM_RANGE(0xc0, 0xc0) AM_WRITENOP // ?
|
||||
// AM_RANGE(0xd0, 0xd0) AM_READ_LEGACY(ff_r) // irq ack? watchdog?
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_READ_LEGACY(nb1413m3_dipsw3_h_r) AM_WRITE(nbmj8891_taiwanmb_gfxdraw_w) // blitter draw start
|
||||
AM_RANGE(0xe1, 0xe1) AM_READ_LEGACY(nb1413m3_dipsw3_l_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_READWRITE_LEGACY(nb1413m3_dipsw2_r,nb1413m3_outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw1_r)
|
||||
AM_RANGE(0xe0, 0xe0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw3_h_r) AM_WRITE(nbmj8891_taiwanmb_gfxdraw_w) // blitter draw start
|
||||
AM_RANGE(0xe1, 0xe1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw3_l_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw2_r, outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
CUSTOM_INPUT_MEMBER( nbmj8891_state::nb1413m3_busyflag_r )
|
||||
{
|
||||
return m_nb1413m3->m_busyflag & 0x01;
|
||||
}
|
||||
|
||||
/* 2008-08 FP:
|
||||
* In ALL games (but pastelg, hyhoo & hyhoo2) nb1413m3_outcoin_flag is read at inputport0.
|
||||
* However, a few games (lovehous, maiko, mmaiko, hanaoji and the ones using inputport3_r below)
|
||||
* read nb1413m3_outcoin_flag also at inputport3! Is this the correct behaviour for these games
|
||||
* or should they only check the flag at inputport3? */
|
||||
CUSTOM_INPUT_MEMBER( nbmj8891_state::nb1413m3_outcoin_flag_r )
|
||||
{
|
||||
return m_nb1413m3->m_outcoin_flag & 0x01;
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( hanamomo )
|
||||
PORT_START("DSWA")
|
||||
@ -698,7 +711,7 @@ static INPUT_PORTS_START( hanamomo )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -771,7 +784,7 @@ static INPUT_PORTS_START( mjcamerb )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -837,7 +850,7 @@ static INPUT_PORTS_START( mmcamera )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -903,7 +916,7 @@ static INPUT_PORTS_START( msjiken )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -989,7 +1002,7 @@ static INPUT_PORTS_START( telmahjn )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1074,7 +1087,7 @@ static INPUT_PORTS_START( gionbana )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1140,7 +1153,7 @@ static INPUT_PORTS_START( mgion )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1206,7 +1219,7 @@ static INPUT_PORTS_START( omotesnd )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1271,7 +1284,7 @@ static INPUT_PORTS_START( abunai )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1337,7 +1350,7 @@ static INPUT_PORTS_START( mgmen89 )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1406,7 +1419,7 @@ static INPUT_PORTS_START( mjfocus )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1470,7 +1483,7 @@ static INPUT_PORTS_START( mjfocusm )
|
||||
PORT_DIPSETTING( 0x00, "B" )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1536,7 +1549,7 @@ static INPUT_PORTS_START( peepshow )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1602,7 +1615,7 @@ static INPUT_PORTS_START( scandal )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1666,7 +1679,7 @@ static INPUT_PORTS_START( scandalm )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1732,7 +1745,7 @@ static INPUT_PORTS_START( mjnanpas )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1798,7 +1811,7 @@ static INPUT_PORTS_START( mjnanpaa )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1867,7 +1880,7 @@ static INPUT_PORTS_START( bananadr )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1932,7 +1945,7 @@ static INPUT_PORTS_START( club90s )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1999,7 +2012,7 @@ static INPUT_PORTS_START( lovehous )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -2012,7 +2025,7 @@ static INPUT_PORTS_START( lovehous )
|
||||
|
||||
PORT_START("PORT0-2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -2074,7 +2087,7 @@ static INPUT_PORTS_START( mladyhtr )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2139,7 +2152,7 @@ static INPUT_PORTS_START( chinmoku )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2205,7 +2218,7 @@ static INPUT_PORTS_START( maiko )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
@ -2218,7 +2231,7 @@ static INPUT_PORTS_START( maiko )
|
||||
|
||||
PORT_START("PORT0-2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
@ -2281,7 +2294,7 @@ static INPUT_PORTS_START( mmaiko )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -2294,7 +2307,7 @@ static INPUT_PORTS_START( mmaiko )
|
||||
|
||||
PORT_START("PORT0-2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -2357,7 +2370,7 @@ static INPUT_PORTS_START( hanaoji )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
@ -2370,7 +2383,7 @@ static INPUT_PORTS_START( hanaoji )
|
||||
|
||||
PORT_START("PORT0-2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
@ -2432,7 +2445,7 @@ static INPUT_PORTS_START( pairsnb )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -2535,7 +2548,7 @@ static INPUT_PORTS_START( taiwanmb )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // COIN OUT
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -2610,10 +2623,9 @@ static MACHINE_CONFIG_START( gionbana, nbmj8891_state )
|
||||
MCFG_CPU_ADD("maincpu", Z80, 20000000/4) /* 5.00 MHz ? */
|
||||
MCFG_CPU_PROGRAM_MAP(gionbana_map)
|
||||
MCFG_CPU_IO_MAP(gionbana_io_map)
|
||||
MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nbmj8891_state, irq0_line_hold)
|
||||
|
||||
MCFG_MACHINE_START(nb1413m3)
|
||||
MCFG_MACHINE_RESET(nb1413m3)
|
||||
MCFG_NB1413M3_ADD("nb1413m3")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
@ -2832,7 +2844,7 @@ static MACHINE_CONFIG_DERIVED( taiwanmb, gionbana )
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(taiwanmb_map)
|
||||
MCFG_CPU_IO_MAP(taiwanmb_io_map)
|
||||
// MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
|
||||
// MCFG_CPU_VBLANK_INT_DRIVER("screen", nbmj8891_state, irq0_line_hold)
|
||||
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
|
@ -24,7 +24,6 @@ TODO:
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/ay8910.h"
|
||||
@ -111,8 +110,8 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( ohpaipee_io_map, AS_IO, 8, nbmj8900_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x20, 0x27) AM_WRITE(nbmj8900_blitter_w)
|
||||
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(nbmj8900_clutsel_w)
|
||||
@ -121,15 +120,15 @@ static ADDRESS_MAP_START( ohpaipee_io_map, AS_IO, 8, nbmj8900_state )
|
||||
|
||||
AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
|
||||
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(nb1413m3_inputport3_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport3_r)
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(nbmj8900_vramsel_w)
|
||||
AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READWRITE_LEGACY(nb1413m3_dipsw2_r, nb1413m3_outcoin_w)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw2_r, outcoin_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -309,10 +308,9 @@ static MACHINE_CONFIG_START( ohpaipee, nbmj8900_state )
|
||||
MCFG_CPU_ADD("maincpu", Z80, 20000000/4) /* 5.00 MHz ? */
|
||||
MCFG_CPU_PROGRAM_MAP(ohpaipee_map)
|
||||
MCFG_CPU_IO_MAP(ohpaipee_io_map)
|
||||
MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nbmj8900_state, irq0_line_hold)
|
||||
|
||||
MCFG_MACHINE_START(nb1413m3)
|
||||
MCFG_MACHINE_RESET(nb1413m3)
|
||||
MCFG_NB1413M3_ADD("nb1413m3")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -30,7 +30,6 @@ Notes:
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/3812intf.h"
|
||||
#include "sound/dac.h"
|
||||
@ -66,7 +65,6 @@ void nbmj8991_state::machine_reset()
|
||||
membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x8000, 0x8000);
|
||||
membank("bank1")->set_entry(0);
|
||||
}
|
||||
MACHINE_RESET_CALL_LEGACY(nb1413m3);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(nbmj8991_state,pstadium)
|
||||
@ -248,58 +246,58 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( galkoku_io_map, AS_IO, 8, nbmj8991_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r) AM_WRITE(nbmj8991_blitter_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r) AM_WRITE(nbmj8991_blitter_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READWRITE_LEGACY(nb1413m3_inputport3_r,nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport3_r, nmi_clock_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
// AM_RANGE(0xe0, 0xe0) AM_WRITENOP
|
||||
AM_RANGE(0xf0, 0xf0) AM_READWRITE_LEGACY(nb1413m3_dipsw1_r,nb1413m3_outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw1_r, outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( hyouban_io_map, AS_IO, 8, nbmj8991_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r) AM_WRITE(nbmj8991_blitter_w)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r) AM_WRITE(nbmj8991_blitter_w)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("fmsnd", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("fmsnd", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READWRITE_LEGACY(nb1413m3_inputport3_r,nb1413m3_nmi_clock_w)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, sndrombank1_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport3_r, nmi_clock_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
// AM_RANGE(0xe0, 0xe0) AM_WRITENOP
|
||||
AM_RANGE(0xf0, 0xf0) AM_READWRITE_LEGACY(nb1413m3_dipsw1_r,nb1413m3_outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw1_r, outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( pstadium_io_map, AS_IO, 8, nbmj8991_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_WRITE(nbmj8991_blitter_w)
|
||||
AM_RANGE(0x80, 0x80) AM_WRITE(nbmj8991_sound_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READ_LEGACY(nb1413m3_inputport2_r) //AM_WRITENOP
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(nb1413m3_inputport3_r)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport2_r) //AM_WRITENOP
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport3_r)
|
||||
// AM_RANGE(0xd0, 0xd0) AM_WRITENOP
|
||||
AM_RANGE(0xf0, 0xf0) AM_READWRITE_LEGACY(nb1413m3_dipsw1_r,nb1413m3_outcoin_w)
|
||||
AM_RANGE(0xf8, 0xf8) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw1_r, outcoin_w)
|
||||
AM_RANGE(0xf8, 0xf8) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( av2mj1bb_io_map, AS_IO, 8, nbmj8991_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x7f) AM_WRITE(nbmj8991_blitter_w)
|
||||
AM_RANGE(0x80, 0x80) AM_WRITE(nbmj8991_sound_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_vcrctrl_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(nb1413m3_inputport3_r)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport2_r, vcrctrl_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport3_r)
|
||||
// AM_RANGE(0xd0, 0xd0) AM_WRITENOP
|
||||
AM_RANGE(0xf0, 0xf0) AM_READ_LEGACY(nb1413m3_dipsw1_r)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw1_r)
|
||||
// AM_RANGE(0xf0, 0xf0) AM_WRITENOP
|
||||
AM_RANGE(0xf8, 0xf8) AM_READ_LEGACY(nb1413m3_dipsw2_r)
|
||||
AM_RANGE(0xf8, 0xf8) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -318,6 +316,10 @@ static ADDRESS_MAP_START( nbmj8991_sound_io_map, AS_IO, 8, nbmj8991_state )
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
CUSTOM_INPUT_MEMBER( nbmj8991_state::nb1413m3_busyflag_r )
|
||||
{
|
||||
return m_nb1413m3->m_busyflag & 0x01;
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( pstadium )
|
||||
PORT_START("DSWA")
|
||||
@ -372,7 +374,7 @@ static INPUT_PORTS_START( pstadium )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -437,7 +439,7 @@ static INPUT_PORTS_START( triplew1 )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -502,7 +504,7 @@ static INPUT_PORTS_START( ntopstar )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -567,7 +569,7 @@ static INPUT_PORTS_START( mjlstory )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -632,7 +634,7 @@ static INPUT_PORTS_START( vanilla )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -699,7 +701,7 @@ static INPUT_PORTS_START( finalbny )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -764,7 +766,7 @@ static INPUT_PORTS_START( qmhayaku )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -830,7 +832,7 @@ static INPUT_PORTS_START( galkoku )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -899,7 +901,7 @@ static INPUT_PORTS_START( hyouban )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -968,7 +970,7 @@ static INPUT_PORTS_START( galkaika )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1037,7 +1039,7 @@ static INPUT_PORTS_START( tokyogal )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1106,7 +1108,7 @@ static INPUT_PORTS_START( tokimbsj )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1175,7 +1177,7 @@ static INPUT_PORTS_START( mcontest )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1244,7 +1246,7 @@ static INPUT_PORTS_START( uchuuai )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1313,7 +1315,7 @@ static INPUT_PORTS_START( mjgottub )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1377,7 +1379,7 @@ static INPUT_PORTS_START( av2mj1bb )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1444,7 +1446,7 @@ static INPUT_PORTS_START( av2mj2rg )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -1474,9 +1476,9 @@ static MACHINE_CONFIG_START( nbmjdrv1, nbmj8991_state ) // galkoku
|
||||
MCFG_CPU_ADD("maincpu", Z80, 25000000/5) /* 5.00 MHz ? */
|
||||
MCFG_CPU_PROGRAM_MAP(galkoku_map)
|
||||
MCFG_CPU_IO_MAP(galkoku_io_map)
|
||||
MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nbmj8991_state, irq0_line_hold)
|
||||
|
||||
MCFG_MACHINE_START(nb1413m3)
|
||||
MCFG_NB1413M3_ADD("nb1413m3")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
@ -1504,9 +1506,9 @@ static MACHINE_CONFIG_START( nbmjdrv2, nbmj8991_state ) // pstadium
|
||||
MCFG_CPU_ADD("maincpu", Z80, 6000000/2) /* 3.00 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(pstadium_map)
|
||||
MCFG_CPU_IO_MAP(pstadium_io_map)
|
||||
MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nbmj8991_state, irq0_line_hold)
|
||||
|
||||
MCFG_MACHINE_START(nb1413m3)
|
||||
MCFG_NB1413M3_ADD("nb1413m3")
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4.00 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(nbmj8991_sound_map)
|
||||
|
@ -22,7 +22,6 @@ Memo:
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/dac.h"
|
||||
#include "includes/pastelg.h"
|
||||
@ -65,13 +64,13 @@ READ8_MEMBER(pastelg_state::pastelg_irq_ack_r)
|
||||
static ADDRESS_MAP_START( pastelg_io_map, AS_IO, 8, pastelg_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
// AM_RANGE(0x00, 0x00) AM_WRITENOP
|
||||
AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
|
||||
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("aysnd", ay8910_device, data_r)
|
||||
AM_RANGE(0x82, 0x83) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
|
||||
AM_RANGE(0x90, 0x90) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x90, 0x96) AM_WRITE(pastelg_blitter_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r, nb1413m3_inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_READ_LEGACY(nb1413m3_inputport2_r) AM_WRITE(pastelg_romsel_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
AM_RANGE(0xb0, 0xb0) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport2_r) AM_WRITE(pastelg_romsel_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ(pastelg_sndrom_r)
|
||||
AM_RANGE(0xc0, 0xcf) AM_WRITE(pastelg_clut_w)
|
||||
AM_RANGE(0xd0, 0xd0) AM_READ(pastelg_irq_ack_r) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
@ -112,6 +111,11 @@ WRITE8_MEMBER(pastelg_state::threeds_inputportsel_w)
|
||||
m_mux_data = ~data;
|
||||
}
|
||||
|
||||
CUSTOM_INPUT_MEMBER( pastelg_state::nb1413m3_busyflag_r )
|
||||
{
|
||||
return m_nb1413m3->m_busyflag & 0x01;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( threeds_io_map, AS_IO, 8, pastelg_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x81, 0x81) AM_DEVREAD("aysnd", ay8910_device, data_r)
|
||||
@ -200,7 +204,7 @@ static INPUT_PORTS_START( pastelg )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, pastelg_state, nb1413m3_busyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
@ -413,8 +417,7 @@ static MACHINE_CONFIG_START( pastelg, pastelg_state )
|
||||
MCFG_CPU_IO_MAP(pastelg_io_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", pastelg_state, irq0_line_assert) // nmiclock not written, chip is 1411M1 instead of 1413M3
|
||||
|
||||
MCFG_MACHINE_START(nb1413m3)
|
||||
MCFG_MACHINE_RESET(nb1413m3)
|
||||
MCFG_NB1413M3_ADD("nb1413m3")
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
/* video hardware */
|
||||
@ -470,8 +473,7 @@ static MACHINE_CONFIG_START( threeds, pastelg_state )
|
||||
MCFG_CPU_IO_MAP(threeds_io_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", pastelg_state, irq0_line_assert)
|
||||
|
||||
MCFG_MACHINE_START(nb1413m3)
|
||||
MCFG_MACHINE_RESET(nb1413m3)
|
||||
MCFG_NB1413M3_ADD("nb1413m3")
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
/* video hardware */
|
||||
|
@ -1,3 +1,5 @@
|
||||
#include "includes/nb1413m3.h"
|
||||
|
||||
class hyhoo_state : public driver_device
|
||||
{
|
||||
public:
|
||||
@ -9,9 +11,12 @@ public:
|
||||
hyhoo_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_clut(*this, "clut"),
|
||||
m_maincpu(*this, "maincpu") { }
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_nb1413m3(*this, "nb1413m3") { }
|
||||
|
||||
required_shared_ptr<UINT8> m_clut;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<nb1413m3_device> m_nb1413m3;
|
||||
int m_blitter_destx;
|
||||
int m_blitter_desty;
|
||||
int m_blitter_sizex;
|
||||
@ -26,12 +31,12 @@ public:
|
||||
bitmap_rgb32 m_tmpbitmap;
|
||||
DECLARE_WRITE8_MEMBER(hyhoo_blitter_w);
|
||||
DECLARE_WRITE8_MEMBER(hyhoo_romsel_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(nb1413m3_busyflag_r);
|
||||
DECLARE_DRIVER_INIT(hyhoo2);
|
||||
DECLARE_DRIVER_INIT(hyhoo);
|
||||
virtual void video_start();
|
||||
UINT32 screen_update_hyhoo(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
void hyhoo_gfxdraw();
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
||||
protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
|
@ -6,6 +6,14 @@
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#define NB1413M3_VCR_NOP 0x00
|
||||
#define NB1413M3_VCR_POWER 0x01
|
||||
#define NB1413M3_VCR_STOP 0x02
|
||||
#define NB1413M3_VCR_REWIND 0x04
|
||||
#define NB1413M3_VCR_PLAY 0x08
|
||||
#define NB1413M3_VCR_FFORWARD 0x10
|
||||
#define NB1413M3_VCR_PAUSE 0x20
|
||||
|
||||
enum {
|
||||
NB1413M3_NONE = 0,
|
||||
// unknown
|
||||
@ -110,41 +118,61 @@ enum {
|
||||
NB1413M3_PAIRSTEN
|
||||
};
|
||||
|
||||
#define NB1413M3_VCR_NOP 0x00
|
||||
#define NB1413M3_VCR_POWER 0x01
|
||||
#define NB1413M3_VCR_STOP 0x02
|
||||
#define NB1413M3_VCR_REWIND 0x04
|
||||
#define NB1413M3_VCR_PLAY 0x08
|
||||
#define NB1413M3_VCR_FFORWARD 0x10
|
||||
#define NB1413M3_VCR_PAUSE 0x20
|
||||
class nb1413m3_device : public device_t
|
||||
{
|
||||
public:
|
||||
nb1413m3_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
~nb1413m3_device() {}
|
||||
|
||||
DECLARE_WRITE8_MEMBER( nmi_clock_w );
|
||||
DECLARE_READ8_MEMBER( sndrom_r );
|
||||
DECLARE_WRITE8_MEMBER( sndrombank1_w );
|
||||
DECLARE_WRITE8_MEMBER( sndrombank2_w );
|
||||
DECLARE_READ8_MEMBER( gfxrom_r );
|
||||
DECLARE_WRITE8_MEMBER( gfxrombank_w );
|
||||
DECLARE_WRITE8_MEMBER( gfxradr_l_w );
|
||||
DECLARE_WRITE8_MEMBER( gfxradr_h_w );
|
||||
DECLARE_WRITE8_MEMBER( inputportsel_w );
|
||||
DECLARE_READ8_MEMBER( inputport0_r );
|
||||
DECLARE_READ8_MEMBER( inputport1_r );
|
||||
DECLARE_READ8_MEMBER( inputport2_r );
|
||||
DECLARE_READ8_MEMBER( inputport3_r );
|
||||
DECLARE_READ8_MEMBER( dipsw1_r );
|
||||
DECLARE_READ8_MEMBER( dipsw2_r );
|
||||
DECLARE_READ8_MEMBER( dipsw3_l_r );
|
||||
DECLARE_READ8_MEMBER( dipsw3_h_r );
|
||||
DECLARE_WRITE8_MEMBER( outcoin_w );
|
||||
DECLARE_WRITE8_MEMBER( vcrctrl_w );
|
||||
|
||||
const char * m_sndromrgntag;
|
||||
int m_sndrombank1;
|
||||
int m_sndrombank2;
|
||||
int m_busyctr;
|
||||
int m_busyflag;
|
||||
int m_outcoin_flag;
|
||||
int m_inputport;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_config_complete();
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
private:
|
||||
|
||||
int m_74ls193_counter;
|
||||
int m_nmi_count; // for debug
|
||||
int m_nmi_clock;
|
||||
int m_nmi_enable;
|
||||
int m_counter;
|
||||
int m_gfxradr_l;
|
||||
int m_gfxradr_h;
|
||||
int m_gfxrombank;
|
||||
int m_outcoin_enable;
|
||||
|
||||
/*----------- defined in machine/nb1413m3.c -----------*/
|
||||
TIMER_CALLBACK_MEMBER( timer_callback );
|
||||
|
||||
MACHINE_START( nb1413m3 );
|
||||
MACHINE_RESET( nb1413m3 );
|
||||
DECLARE_WRITE8_HANDLER( nb1413m3_nmi_clock_w );
|
||||
INTERRUPT_GEN( nb1413m3_interrupt );
|
||||
DECLARE_READ8_HANDLER( nb1413m3_sndrom_r );
|
||||
DECLARE_WRITE8_HANDLER( nb1413m3_sndrombank1_w );
|
||||
DECLARE_WRITE8_HANDLER( nb1413m3_sndrombank2_w );
|
||||
DECLARE_READ8_HANDLER( nb1413m3_gfxrom_r );
|
||||
DECLARE_WRITE8_HANDLER( nb1413m3_gfxrombank_w );
|
||||
DECLARE_WRITE8_HANDLER( nb1413m3_gfxradr_l_w );
|
||||
DECLARE_WRITE8_HANDLER( nb1413m3_gfxradr_h_w );
|
||||
DECLARE_WRITE8_HANDLER( nb1413m3_inputportsel_w );
|
||||
DECLARE_READ8_HANDLER( nb1413m3_inputport0_r );
|
||||
DECLARE_READ8_HANDLER( nb1413m3_inputport1_r );
|
||||
DECLARE_READ8_HANDLER( nb1413m3_inputport2_r );
|
||||
DECLARE_READ8_HANDLER( nb1413m3_inputport3_r );
|
||||
DECLARE_READ8_HANDLER( nb1413m3_dipsw1_r );
|
||||
DECLARE_READ8_HANDLER( nb1413m3_dipsw2_r );
|
||||
DECLARE_READ8_HANDLER( nb1413m3_dipsw3_l_r );
|
||||
DECLARE_READ8_HANDLER( nb1413m3_dipsw3_h_r );
|
||||
DECLARE_WRITE8_HANDLER( nb1413m3_outcoin_w );
|
||||
DECLARE_WRITE8_HANDLER( nb1413m3_vcrctrl_w );
|
||||
CUSTOM_INPUT( nb1413m3_busyflag_r );
|
||||
CUSTOM_INPUT( nb1413m3_outcoin_flag_r );
|
||||
};
|
||||
|
||||
/* used in: hyhoo.c, niyanpai.c, pastelg.c, nbmj8688.c, nbmj8891.c, nbmj8991.c, nbmj9195.c*/
|
||||
INPUT_PORTS_EXTERN( nbmjcontrols );
|
||||
@ -152,9 +180,9 @@ INPUT_PORTS_EXTERN( nbhf1_ctrl );
|
||||
INPUT_PORTS_EXTERN( nbhf2_ctrl );
|
||||
|
||||
extern int nb1413m3_type;
|
||||
extern const char * nb1413m3_sndromrgntag;
|
||||
extern int nb1413m3_sndrombank1;
|
||||
extern int nb1413m3_sndrombank2;
|
||||
extern int nb1413m3_busyctr;
|
||||
extern int nb1413m3_busyflag;
|
||||
extern int nb1413m3_inputport;
|
||||
|
||||
extern const device_type NB1413M3;
|
||||
|
||||
|
||||
#define MCFG_NB1413M3_ADD(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, NB1413M3, 0)
|
||||
|
@ -1,3 +1,5 @@
|
||||
#include "includes/nb1413m3.h"
|
||||
|
||||
class nbmj8688_state : public driver_device
|
||||
{
|
||||
public:
|
||||
@ -8,8 +10,12 @@ public:
|
||||
|
||||
nbmj8688_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag) ,
|
||||
m_maincpu(*this, "maincpu") { }
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_nb1413m3(*this, "nb1413m3") { }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<nb1413m3_device> m_nb1413m3;
|
||||
|
||||
int m_mjsikaku_scrolly;
|
||||
int m_blitter_destx;
|
||||
int m_blitter_desty;
|
||||
@ -49,6 +55,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(nbmj8688_HD61830B_0_data_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8688_HD61830B_1_data_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8688_HD61830B_both_data_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(nb1413m3_busyflag_r);
|
||||
void mjsikaku_vramflip();
|
||||
DECLARE_DRIVER_INIT(housemn2);
|
||||
DECLARE_DRIVER_INIT(bijokkoy);
|
||||
@ -105,8 +112,7 @@ public:
|
||||
void common_video_start();
|
||||
void nbmj8688_HD61830B_instr_w(address_space &space,int offset,int data,int chip);
|
||||
void nbmj8688_HD61830B_data_w(address_space &space,int offset,int data,int chip);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
||||
|
||||
protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
};
|
||||
|
@ -1,3 +1,5 @@
|
||||
#include "includes/nb1413m3.h"
|
||||
|
||||
class nbmj8891_state : public driver_device
|
||||
{
|
||||
public:
|
||||
@ -8,8 +10,12 @@ public:
|
||||
|
||||
nbmj8891_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag) ,
|
||||
m_maincpu(*this, "maincpu") { }
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_nb1413m3(*this, "nb1413m3") { }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<nb1413m3_device> m_nb1413m3;
|
||||
|
||||
int m_scrolly;
|
||||
int m_blitter_destx;
|
||||
int m_blitter_desty;
|
||||
@ -52,6 +58,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_scrolly_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_vramsel_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_romsel_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(nb1413m3_busyflag_r);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(nb1413m3_outcoin_flag_r);
|
||||
DECLARE_DRIVER_INIT(pairsten);
|
||||
DECLARE_DRIVER_INIT(scandalm);
|
||||
DECLARE_DRIVER_INIT(mmaiko);
|
||||
@ -84,7 +92,6 @@ public:
|
||||
void update_pixel0(int x, int y);
|
||||
void update_pixel1(int x, int y);
|
||||
void nbmj8891_gfxdraw();
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
||||
protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
|
@ -1,3 +1,5 @@
|
||||
#include "includes/nb1413m3.h"
|
||||
|
||||
class nbmj8900_state : public driver_device
|
||||
{
|
||||
public:
|
||||
@ -8,7 +10,11 @@ public:
|
||||
|
||||
nbmj8900_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag) ,
|
||||
m_maincpu(*this, "maincpu") { }
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_nb1413m3(*this, "nb1413m3") { }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<nb1413m3_device> m_nb1413m3;
|
||||
|
||||
int m_scrolly;
|
||||
int m_blitter_destx;
|
||||
@ -55,8 +61,7 @@ public:
|
||||
void update_pixel0(int x, int y);
|
||||
void update_pixel1(int x, int y);
|
||||
void nbmj8900_gfxdraw();
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
||||
|
||||
protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
};
|
||||
|
@ -1,11 +1,18 @@
|
||||
#include "includes/nb1413m3.h"
|
||||
|
||||
class nbmj8991_state : public driver_device
|
||||
{
|
||||
public:
|
||||
nbmj8991_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag) ,
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_audiocpu(*this, "audiocpu") { }
|
||||
m_audiocpu(*this, "audiocpu"),
|
||||
m_nb1413m3(*this, "nb1413m3") { }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
optional_device<cpu_device> m_audiocpu;
|
||||
required_device<nb1413m3_device> m_nb1413m3;
|
||||
|
||||
int m_scrollx;
|
||||
int m_scrolly;
|
||||
int m_blitter_destx;
|
||||
@ -33,6 +40,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(nbmj8991_blitter_w);
|
||||
DECLARE_READ8_MEMBER(nbmj8991_clut_r);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8991_clut_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(nb1413m3_busyflag_r);
|
||||
DECLARE_DRIVER_INIT(triplew1);
|
||||
DECLARE_DRIVER_INIT(mjlstory);
|
||||
DECLARE_DRIVER_INIT(mjgottub);
|
||||
@ -59,6 +67,4 @@ public:
|
||||
void nbmj8991_vramflip();
|
||||
void update_pixel(int x, int y);
|
||||
void nbmj8991_gfxdraw();
|
||||
required_device<cpu_device> m_maincpu;
|
||||
optional_device<cpu_device> m_audiocpu;
|
||||
};
|
||||
|
@ -1,3 +1,5 @@
|
||||
#include "includes/nb1413m3.h"
|
||||
|
||||
class pastelg_state : public driver_device
|
||||
{
|
||||
public:
|
||||
@ -8,8 +10,12 @@ public:
|
||||
|
||||
pastelg_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag) ,
|
||||
m_maincpu(*this, "maincpu") { }
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_nb1413m3(*this, "nb1413m3") { }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<nb1413m3_device> m_nb1413m3;
|
||||
|
||||
UINT8 m_mux_data;
|
||||
int m_blitter_destx;
|
||||
int m_blitter_desty;
|
||||
@ -36,6 +42,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(threeds_output_w);
|
||||
DECLARE_READ8_MEMBER(threeds_rom_readback_r);
|
||||
DECLARE_WRITE8_MEMBER(pastelg_romsel_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(nb1413m3_busyflag_r);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(nb1413m3_hackbusyflag_r);
|
||||
DECLARE_DRIVER_INIT(pastelg);
|
||||
virtual void video_start();
|
||||
@ -44,8 +51,7 @@ public:
|
||||
int pastelg_blitter_src_addr_r(address_space &space);
|
||||
void pastelg_vramflip();
|
||||
void pastelg_gfxdraw();
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
||||
|
||||
protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
};
|
||||
|
@ -17,92 +17,135 @@ Memo:
|
||||
|
||||
#define NB1413M3_DEBUG 0
|
||||
|
||||
|
||||
int nb1413m3_type;
|
||||
const char * nb1413m3_sndromrgntag;
|
||||
int nb1413m3_sndrombank1;
|
||||
int nb1413m3_sndrombank2;
|
||||
int nb1413m3_busyctr;
|
||||
int nb1413m3_busyflag;
|
||||
int nb1413m3_inputport;
|
||||
|
||||
static int nb1413m3_74ls193_counter;
|
||||
static int nb1413m3_nmi_count; // for debug
|
||||
static int nb1413m3_nmi_clock;
|
||||
static int nb1413m3_nmi_enable;
|
||||
static int nb1413m3_counter;
|
||||
static int nb1413m3_gfxradr_l;
|
||||
static int nb1413m3_gfxradr_h;
|
||||
static int nb1413m3_gfxrombank;
|
||||
static int nb1413m3_outcoin_enable;
|
||||
static int nb1413m3_outcoin_flag;
|
||||
|
||||
|
||||
#define NB1413M3_TIMER_BASE 20000000
|
||||
|
||||
/* TODO: is all of this actually programmable? */
|
||||
static TIMER_CALLBACK( nb1413m3_timer_callback )
|
||||
const device_type NB1413M3 = &device_creator<nb1413m3_device>;
|
||||
|
||||
nb1413m3_device::nb1413m3_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, NB1413M3, "Nichibutsu NB1413M3", tag, owner, clock, "nb1413m3", __FILE__),
|
||||
m_sndromrgntag("voice"),
|
||||
m_sndrombank1(0),
|
||||
m_sndrombank2(0),
|
||||
m_busyctr(0),
|
||||
m_busyflag(1),
|
||||
m_outcoin_flag(1),
|
||||
m_inputport(0xff),
|
||||
m_74ls193_counter(0),
|
||||
m_nmi_count(0),
|
||||
m_nmi_clock(0),
|
||||
m_nmi_enable(0),
|
||||
m_counter(0),
|
||||
m_gfxradr_l(0),
|
||||
m_gfxradr_h(0),
|
||||
m_gfxrombank(0),
|
||||
m_outcoin_enable(0)
|
||||
{
|
||||
machine.scheduler().timer_set(attotime::from_hz(NB1413M3_TIMER_BASE) * 256, FUNC(nb1413m3_timer_callback));
|
||||
}
|
||||
|
||||
nb1413m3_74ls193_counter++;
|
||||
nb1413m3_74ls193_counter &= 0x0f;
|
||||
//-------------------------------------------------
|
||||
// device_config_complete - perform any
|
||||
// operations now that the configuration is
|
||||
// complete
|
||||
//-------------------------------------------------
|
||||
|
||||
if (nb1413m3_74ls193_counter == 0x0f)
|
||||
void nb1413m3_device::device_config_complete()
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void nb1413m3_device::device_start()
|
||||
{
|
||||
machine().scheduler().synchronize(timer_expired_delegate(FUNC(nb1413m3_device::timer_callback), this));
|
||||
|
||||
save_item(NAME(nb1413m3_type));
|
||||
save_item(NAME(m_sndrombank1));
|
||||
save_item(NAME(m_sndrombank2));
|
||||
save_item(NAME(m_busyctr));
|
||||
save_item(NAME(m_busyflag));
|
||||
save_item(NAME(m_inputport));
|
||||
save_item(NAME(m_74ls193_counter));
|
||||
save_item(NAME(m_nmi_count));
|
||||
save_item(NAME(m_nmi_clock));
|
||||
save_item(NAME(m_nmi_enable));
|
||||
save_item(NAME(m_counter));
|
||||
save_item(NAME(m_gfxradr_l));
|
||||
save_item(NAME(m_gfxradr_h));
|
||||
save_item(NAME(m_gfxrombank));
|
||||
save_item(NAME(m_outcoin_enable));
|
||||
save_item(NAME(m_outcoin_flag));
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_reset - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void nb1413m3_device::device_reset()
|
||||
{
|
||||
m_nmi_clock = 0;
|
||||
m_nmi_enable = 0;
|
||||
m_nmi_count = 0;
|
||||
m_74ls193_counter = 0;
|
||||
m_counter = 0;
|
||||
m_sndromrgntag = "voice";
|
||||
m_sndrombank1 = 0;
|
||||
m_sndrombank2 = 0;
|
||||
m_busyctr = 0;
|
||||
m_busyflag = 1;
|
||||
m_gfxradr_l = 0;
|
||||
m_gfxradr_h = 0;
|
||||
m_gfxrombank = 0;
|
||||
m_inputport = 0xff;
|
||||
m_outcoin_flag = 1;
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
DEVICE HANDLERS
|
||||
*****************************************************************************/
|
||||
|
||||
int nb1413m3_type;
|
||||
|
||||
/* TODO: is all of this actually programmable? */
|
||||
TIMER_CALLBACK_MEMBER( nb1413m3_device::timer_callback )
|
||||
{
|
||||
machine().scheduler().timer_set(attotime::from_hz(NB1413M3_TIMER_BASE) * 256, timer_expired_delegate(FUNC(nb1413m3_device::timer_callback), this));
|
||||
|
||||
m_74ls193_counter++;
|
||||
m_74ls193_counter &= 0x0f;
|
||||
|
||||
if (m_74ls193_counter == 0x0f)
|
||||
{
|
||||
if (nb1413m3_nmi_enable)
|
||||
if (m_nmi_enable)
|
||||
{
|
||||
machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
nb1413m3_nmi_count++;
|
||||
machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
m_nmi_count++;
|
||||
}
|
||||
|
||||
switch (nb1413m3_type)
|
||||
{
|
||||
case NB1413M3_TAIWANMB:
|
||||
nb1413m3_74ls193_counter = 0x05;
|
||||
m_74ls193_counter = 0x05;
|
||||
break;
|
||||
case NB1413M3_OMOTESND:
|
||||
nb1413m3_74ls193_counter = 0x05;
|
||||
m_74ls193_counter = 0x05;
|
||||
break;
|
||||
case NB1413M3_PASTELG:
|
||||
nb1413m3_74ls193_counter = 0x02;
|
||||
m_74ls193_counter = 0x02;
|
||||
break;
|
||||
case NB1413M3_HYHOO:
|
||||
case NB1413M3_HYHOO2:
|
||||
nb1413m3_74ls193_counter = 0x05;
|
||||
m_74ls193_counter = 0x05;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MACHINE_START( nb1413m3 )
|
||||
{
|
||||
machine.scheduler().synchronize(FUNC(nb1413m3_timer_callback));
|
||||
}
|
||||
|
||||
MACHINE_RESET( nb1413m3 )
|
||||
WRITE8_MEMBER( nb1413m3_device::nmi_clock_w )
|
||||
{
|
||||
nb1413m3_nmi_clock = 0;
|
||||
nb1413m3_nmi_enable = 0;
|
||||
nb1413m3_nmi_count = 0;
|
||||
nb1413m3_74ls193_counter = 0;
|
||||
nb1413m3_counter = 0;
|
||||
nb1413m3_sndromrgntag = "voice";
|
||||
nb1413m3_sndrombank1 = 0;
|
||||
nb1413m3_sndrombank2 = 0;
|
||||
nb1413m3_busyctr = 0;
|
||||
nb1413m3_busyflag = 1;
|
||||
nb1413m3_gfxradr_l = 0;
|
||||
nb1413m3_gfxradr_h = 0;
|
||||
nb1413m3_gfxrombank = 0;
|
||||
nb1413m3_inputport = 0xff;
|
||||
nb1413m3_outcoin_flag = 1;
|
||||
}
|
||||
|
||||
|
||||
WRITE8_HANDLER( nb1413m3_nmi_clock_w )
|
||||
{
|
||||
nb1413m3_nmi_clock = data;
|
||||
m_nmi_clock = data;
|
||||
|
||||
switch (nb1413m3_type)
|
||||
{
|
||||
@ -130,34 +173,24 @@ WRITE8_HANDLER( nb1413m3_nmi_clock_w )
|
||||
case NB1413M3_MMSIKAKU:
|
||||
case NB1413M3_KANATUEN:
|
||||
case NB1413M3_KYUHITO:
|
||||
nb1413m3_nmi_clock -= 1;
|
||||
m_nmi_clock -= 1;
|
||||
break;
|
||||
#if 1
|
||||
case NB1413M3_NIGHTLOV:
|
||||
nb1413m3_nmi_enable = ((data & 0x08) >> 3);
|
||||
nb1413m3_nmi_enable |= ((data & 0x01) ^ 0x01);
|
||||
nb1413m3_nmi_clock -= 1;
|
||||
m_nmi_enable = ((data & 0x08) >> 3);
|
||||
m_nmi_enable |= ((data & 0x01) ^ 0x01);
|
||||
m_nmi_clock -= 1;
|
||||
|
||||
nb1413m3_sndrombank1 = 1;
|
||||
m_sndrombank1 = 1;
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
nb1413m3_74ls193_counter = ((nb1413m3_nmi_clock & 0xf0) >> 4);
|
||||
m_74ls193_counter = ((m_nmi_clock & 0xf0) >> 4);
|
||||
|
||||
}
|
||||
|
||||
INTERRUPT_GEN( nb1413m3_interrupt )
|
||||
{
|
||||
device->execute().set_input_line(0, HOLD_LINE);
|
||||
|
||||
#if NB1413M3_DEBUG
|
||||
popmessage("NMI SW:%01X CLOCK:%02X COUNT:%02X", nb1413m3_nmi_enable, nb1413m3_nmi_clock, nb1413m3_nmi_count);
|
||||
nb1413m3_nmi_count = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
READ8_HANDLER( nb1413m3_sndrom_r )
|
||||
READ8_MEMBER( nb1413m3_device::sndrom_r )
|
||||
{
|
||||
int rombank;
|
||||
|
||||
@ -177,11 +210,11 @@ READ8_HANDLER( nb1413m3_sndrom_r )
|
||||
case NB1413M3_MMSIKAKU:
|
||||
case NB1413M3_KORINAI:
|
||||
case NB1413M3_KORINAIM:
|
||||
rombank = (nb1413m3_sndrombank2 << 1) + (nb1413m3_sndrombank1 & 0x01);
|
||||
rombank = (m_sndrombank2 << 1) + (m_sndrombank1 & 0x01);
|
||||
break;
|
||||
case NB1413M3_HYHOO:
|
||||
case NB1413M3_HYHOO2:
|
||||
rombank = (nb1413m3_sndrombank1 & 0x01);
|
||||
rombank = (m_sndrombank1 & 0x01);
|
||||
break;
|
||||
case NB1413M3_APPAREL: // no samples
|
||||
case NB1413M3_NIGHTLOV: // 0-1
|
||||
@ -202,7 +235,7 @@ READ8_HANDLER( nb1413m3_sndrom_r )
|
||||
case NB1413M3_MJCAMERA: // 0 + 4-5 for protection
|
||||
case NB1413M3_IDHIMITU: // 0 + 4-5 for protection
|
||||
case NB1413M3_KANATUEN: // 0 + 6 for protection
|
||||
rombank = nb1413m3_sndrombank1;
|
||||
rombank = m_sndrombank1;
|
||||
break;
|
||||
case NB1413M3_TAIWANMB:
|
||||
case NB1413M3_OMOTESND:
|
||||
@ -211,7 +244,7 @@ READ8_HANDLER( nb1413m3_sndrom_r )
|
||||
case NB1413M3_MJFOCUSM:
|
||||
case NB1413M3_BANANADR:
|
||||
offset = (((offset & 0x7f00) >> 8) | ((offset & 0x0080) >> 0) | ((offset & 0x007f) << 8));
|
||||
rombank = (nb1413m3_sndrombank1 >> 1);
|
||||
rombank = (m_sndrombank1 >> 1);
|
||||
break;
|
||||
case NB1413M3_MMCAMERA:
|
||||
case NB1413M3_MSJIKEN:
|
||||
@ -241,18 +274,18 @@ READ8_HANDLER( nb1413m3_sndrom_r )
|
||||
case NB1413M3_PAIRSNB:
|
||||
case NB1413M3_PAIRSTEN:
|
||||
default:
|
||||
rombank = (nb1413m3_sndrombank1 >> 1);
|
||||
rombank = (m_sndrombank1 >> 1);
|
||||
break;
|
||||
}
|
||||
|
||||
offset += 0x08000 * rombank;
|
||||
|
||||
#if NB1413M3_DEBUG
|
||||
popmessage("Sound ROM %02X:%05X [B1:%02X B2:%02X]", rombank, offset, nb1413m3_sndrombank1, nb1413m3_sndrombank2);
|
||||
popmessage("Sound ROM %02X:%05X [B1:%02X B2:%02X]", rombank, offset, m_sndrombank1, m_sndrombank2);
|
||||
#endif
|
||||
|
||||
if (offset < space.machine().root_device().memregion(nb1413m3_sndromrgntag)->bytes())
|
||||
return space.machine().root_device().memregion(nb1413m3_sndromrgntag)->base()[offset];
|
||||
if (offset < space.machine().root_device().memregion(m_sndromrgntag)->bytes())
|
||||
return space.machine().root_device().memregion(m_sndromrgntag)->base()[offset];
|
||||
else
|
||||
{
|
||||
popmessage("read past sound ROM length (%05x[%02X])",offset, rombank);
|
||||
@ -260,75 +293,59 @@ READ8_HANDLER( nb1413m3_sndrom_r )
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( nb1413m3_sndrombank1_w )
|
||||
WRITE8_MEMBER( nb1413m3_device::sndrombank1_w )
|
||||
{
|
||||
// if (data & 0x02) coin counter ?
|
||||
nb1413m3_outcoin_w(space, 0, data); // (data & 0x04) >> 2;
|
||||
nb1413m3_nmi_enable = ((data & 0x20) >> 5);
|
||||
nb1413m3_sndrombank1 = (((data & 0xc0) >> 5) | ((data & 0x10) >> 4));
|
||||
outcoin_w(space, 0, data); // (data & 0x04) >> 2;
|
||||
m_nmi_enable = ((data & 0x20) >> 5);
|
||||
m_sndrombank1 = (((data & 0xc0) >> 5) | ((data & 0x10) >> 4));
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( nb1413m3_sndrombank2_w )
|
||||
WRITE8_MEMBER( nb1413m3_device::sndrombank2_w )
|
||||
{
|
||||
nb1413m3_sndrombank2 = (data & 0x03);
|
||||
m_sndrombank2 = (data & 0x03);
|
||||
}
|
||||
|
||||
READ8_HANDLER( nb1413m3_gfxrom_r )
|
||||
READ8_MEMBER( nb1413m3_device::gfxrom_r )
|
||||
{
|
||||
UINT8 *GFXROM = space.machine().root_device().memregion("gfx1")->base();
|
||||
|
||||
return GFXROM[(0x20000 * (nb1413m3_gfxrombank | ((nb1413m3_sndrombank1 & 0x02) << 3))) + ((0x0200 * nb1413m3_gfxradr_h) + (0x0002 * nb1413m3_gfxradr_l)) + (offset & 0x01)];
|
||||
return GFXROM[(0x20000 * (m_gfxrombank | ((m_sndrombank1 & 0x02) << 3))) + ((0x0200 * m_gfxradr_h) + (0x0002 * m_gfxradr_l)) + (offset & 0x01)];
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( nb1413m3_gfxrombank_w )
|
||||
WRITE8_MEMBER( nb1413m3_device::gfxrombank_w )
|
||||
{
|
||||
nb1413m3_gfxrombank = (((data & 0xc0) >> 4) + (data & 0x03));
|
||||
m_gfxrombank = (((data & 0xc0) >> 4) + (data & 0x03));
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( nb1413m3_gfxradr_l_w )
|
||||
WRITE8_MEMBER( nb1413m3_device::gfxradr_l_w )
|
||||
{
|
||||
nb1413m3_gfxradr_l = data;
|
||||
m_gfxradr_l = data;
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( nb1413m3_gfxradr_h_w )
|
||||
WRITE8_MEMBER( nb1413m3_device::gfxradr_h_w )
|
||||
{
|
||||
nb1413m3_gfxradr_h = data;
|
||||
m_gfxradr_h = data;
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( nb1413m3_inputportsel_w )
|
||||
WRITE8_MEMBER( nb1413m3_device::inputportsel_w )
|
||||
{
|
||||
nb1413m3_inputport = data;
|
||||
m_inputport = data;
|
||||
}
|
||||
|
||||
CUSTOM_INPUT( nb1413m3_busyflag_r )
|
||||
READ8_MEMBER( nb1413m3_device::inputport0_r )
|
||||
{
|
||||
return nb1413m3_busyflag & 0x01;
|
||||
return ((space.machine().root_device().ioport("SYSTEM")->read() & 0xfd) | ((m_outcoin_flag & 0x01) << 1));
|
||||
}
|
||||
|
||||
|
||||
/* 2008-08 FP:
|
||||
* In ALL games (but pastelg, hyhoo & hyhoo2) nb1413m3_outcoin_flag is read at inputport0.
|
||||
* However, a few games (lovehous, maiko, mmaiko, hanaoji and the ones using inputport3_r below)
|
||||
* read nb1413m3_outcoin_flag also at inputport3! Is this the correct behaviour for these games
|
||||
* or should they only check the flag at inputport3? */
|
||||
CUSTOM_INPUT( nb1413m3_outcoin_flag_r )
|
||||
{
|
||||
return nb1413m3_outcoin_flag & 0x01;
|
||||
}
|
||||
|
||||
READ8_HANDLER( nb1413m3_inputport0_r )
|
||||
{
|
||||
return ((space.machine().root_device().ioport("SYSTEM")->read() & 0xfd) | ((nb1413m3_outcoin_flag & 0x01) << 1));
|
||||
}
|
||||
|
||||
READ8_HANDLER( nb1413m3_inputport1_r )
|
||||
READ8_MEMBER( nb1413m3_device::inputport1_r )
|
||||
{
|
||||
device_t &root = space.machine().root_device();
|
||||
switch (nb1413m3_type)
|
||||
{
|
||||
case NB1413M3_HYHOO:
|
||||
case NB1413M3_HYHOO2:
|
||||
switch ((nb1413m3_inputport ^ 0xff) & 0x07)
|
||||
switch ((m_inputport ^ 0xff) & 0x07)
|
||||
{
|
||||
case 0x01: return root.ioport("IN0")->read();
|
||||
case 0x02: return root.ioport("IN1")->read();
|
||||
@ -340,7 +357,7 @@ READ8_HANDLER( nb1413m3_inputport1_r )
|
||||
case NB1413M3_TELMAHJN:
|
||||
if (root.ioport("DSWA")->read() & 0x80)
|
||||
{
|
||||
switch ((nb1413m3_inputport ^ 0xff) & 0x1f)
|
||||
switch ((m_inputport ^ 0xff) & 0x1f)
|
||||
{
|
||||
case 0x01: return root.ioport("KEY0")->read();
|
||||
case 0x02: return root.ioport("KEY1")->read();
|
||||
@ -359,7 +376,7 @@ READ8_HANDLER( nb1413m3_inputport1_r )
|
||||
case NB1413M3_TOGENKYO:
|
||||
return root.ioport("P1")->read();
|
||||
default:
|
||||
switch ((nb1413m3_inputport ^ 0xff) & 0x1f)
|
||||
switch ((m_inputport ^ 0xff) & 0x1f)
|
||||
{
|
||||
case 0x01: return root.ioport("KEY0")->read();
|
||||
case 0x02: return root.ioport("KEY1")->read();
|
||||
@ -373,14 +390,14 @@ READ8_HANDLER( nb1413m3_inputport1_r )
|
||||
}
|
||||
}
|
||||
|
||||
READ8_HANDLER( nb1413m3_inputport2_r )
|
||||
READ8_MEMBER( nb1413m3_device::inputport2_r )
|
||||
{
|
||||
device_t &root = space.machine().root_device();
|
||||
switch (nb1413m3_type)
|
||||
{
|
||||
case NB1413M3_HYHOO:
|
||||
case NB1413M3_HYHOO2:
|
||||
switch ((nb1413m3_inputport ^ 0xff) & 0x07)
|
||||
switch ((m_inputport ^ 0xff) & 0x07)
|
||||
{
|
||||
case 0x01: return 0xff;
|
||||
case 0x02: return 0xff;
|
||||
@ -392,7 +409,7 @@ READ8_HANDLER( nb1413m3_inputport2_r )
|
||||
case NB1413M3_TELMAHJN:
|
||||
if (root.ioport("DSWA")->read() & 0x80)
|
||||
{
|
||||
switch ((nb1413m3_inputport ^ 0xff) & 0x1f)
|
||||
switch ((m_inputport ^ 0xff) & 0x1f)
|
||||
{
|
||||
case 0x01: return root.ioport("KEY5")->read();
|
||||
case 0x02: return root.ioport("KEY6")->read();
|
||||
@ -411,7 +428,7 @@ READ8_HANDLER( nb1413m3_inputport2_r )
|
||||
case NB1413M3_TOGENKYO:
|
||||
return root.ioport("P2")->read();
|
||||
default:
|
||||
switch ((nb1413m3_inputport ^ 0xff) & 0x1f)
|
||||
switch ((m_inputport ^ 0xff) & 0x1f)
|
||||
{
|
||||
case 0x01: return root.ioport("KEY5")->read();
|
||||
case 0x02: return root.ioport("KEY6")->read();
|
||||
@ -425,7 +442,7 @@ READ8_HANDLER( nb1413m3_inputport2_r )
|
||||
}
|
||||
}
|
||||
|
||||
READ8_HANDLER( nb1413m3_inputport3_r )
|
||||
READ8_MEMBER( nb1413m3_device::inputport3_r )
|
||||
{
|
||||
switch (nb1413m3_type)
|
||||
{
|
||||
@ -442,13 +459,13 @@ READ8_HANDLER( nb1413m3_inputport3_r )
|
||||
case NB1413M3_BANANADR:
|
||||
case NB1413M3_FINALBNY:
|
||||
case NB1413M3_MMSIKAKU:
|
||||
return ((nb1413m3_outcoin_flag & 0x01) << 1);
|
||||
return ((m_outcoin_flag & 0x01) << 1);
|
||||
default:
|
||||
return 0xff;
|
||||
}
|
||||
}
|
||||
|
||||
READ8_HANDLER( nb1413m3_dipsw1_r )
|
||||
READ8_MEMBER( nb1413m3_device::dipsw1_r )
|
||||
{
|
||||
device_t &root = space.machine().root_device();
|
||||
switch (nb1413m3_type)
|
||||
@ -492,7 +509,7 @@ READ8_HANDLER( nb1413m3_dipsw1_r )
|
||||
}
|
||||
}
|
||||
|
||||
READ8_HANDLER( nb1413m3_dipsw2_r )
|
||||
READ8_MEMBER( nb1413m3_device::dipsw2_r )
|
||||
{
|
||||
device_t &root = space.machine().root_device();
|
||||
switch (nb1413m3_type)
|
||||
@ -536,21 +553,21 @@ READ8_HANDLER( nb1413m3_dipsw2_r )
|
||||
}
|
||||
}
|
||||
|
||||
READ8_HANDLER( nb1413m3_dipsw3_l_r )
|
||||
READ8_MEMBER( nb1413m3_device::dipsw3_l_r )
|
||||
{
|
||||
return ((space.machine().root_device().ioport("DSWC")->read() & 0xf0) >> 4);
|
||||
}
|
||||
|
||||
READ8_HANDLER( nb1413m3_dipsw3_h_r )
|
||||
READ8_MEMBER( nb1413m3_device::dipsw3_h_r )
|
||||
{
|
||||
return ((space.machine().root_device().ioport("DSWC")->read() & 0x0f) >> 0);
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( nb1413m3_outcoin_w )
|
||||
WRITE8_MEMBER( nb1413m3_device::outcoin_w )
|
||||
{
|
||||
static int counter = 0;
|
||||
|
||||
nb1413m3_outcoin_enable = (data & 0x04) >> 2;
|
||||
m_outcoin_enable = (data & 0x04) >> 2;
|
||||
|
||||
switch (nb1413m3_type)
|
||||
{
|
||||
@ -571,11 +588,11 @@ WRITE8_HANDLER( nb1413m3_outcoin_w )
|
||||
case NB1413M3_FINALBNY:
|
||||
case NB1413M3_LOVEHOUS:
|
||||
case NB1413M3_MMAIKO:
|
||||
if (nb1413m3_outcoin_enable)
|
||||
if (m_outcoin_enable)
|
||||
{
|
||||
if (counter++ == 2)
|
||||
{
|
||||
nb1413m3_outcoin_flag ^= 1;
|
||||
m_outcoin_flag ^= 1;
|
||||
counter = 0;
|
||||
}
|
||||
}
|
||||
@ -584,10 +601,10 @@ WRITE8_HANDLER( nb1413m3_outcoin_w )
|
||||
break;
|
||||
}
|
||||
|
||||
set_led_status(space.machine(), 2, nb1413m3_outcoin_flag); // out coin
|
||||
set_led_status(space.machine(), 2, m_outcoin_flag); // out coin
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( nb1413m3_vcrctrl_w )
|
||||
WRITE8_MEMBER( nb1413m3_device::vcrctrl_w )
|
||||
{
|
||||
if (data & 0x08)
|
||||
{
|
||||
|
@ -7,7 +7,6 @@
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "includes/hyhoo.h"
|
||||
|
||||
|
||||
@ -16,9 +15,9 @@ WRITE8_MEMBER(hyhoo_state::hyhoo_blitter_w)
|
||||
switch (offset)
|
||||
{
|
||||
case 0x00: m_blitter_src_addr = (m_blitter_src_addr & 0xff00) | data;
|
||||
nb1413m3_gfxradr_l_w(space, 0, data); break;
|
||||
m_nb1413m3->gfxradr_l_w(space, 0, data); break;
|
||||
case 0x01: m_blitter_src_addr = (m_blitter_src_addr & 0x00ff) | (data << 8);
|
||||
nb1413m3_gfxradr_h_w(space, 0, data); break;
|
||||
m_nb1413m3->gfxradr_h_w(space, 0, data); break;
|
||||
case 0x02: m_blitter_destx = data; break;
|
||||
case 0x03: m_blitter_desty = data; break;
|
||||
case 0x04: m_blitter_sizex = data; break;
|
||||
@ -41,7 +40,7 @@ WRITE8_MEMBER(hyhoo_state::hyhoo_romsel_w)
|
||||
int gfxlen = memregion("gfx1")->bytes();
|
||||
m_gfxrom = (((data & 0xc0) >> 4) + (data & 0x03));
|
||||
m_highcolorflag = data;
|
||||
nb1413m3_gfxrombank_w(space, 0, data);
|
||||
m_nb1413m3->gfxrombank_w(space, 0, data);
|
||||
|
||||
if ((0x20000 * m_gfxrom) > (gfxlen - 1))
|
||||
{
|
||||
@ -57,7 +56,7 @@ void hyhoo_state::device_timer(emu_timer &timer, device_timer_id id, int param,
|
||||
switch (id)
|
||||
{
|
||||
case TIMER_BLITTER:
|
||||
nb1413m3_busyflag = 1;
|
||||
m_nb1413m3->m_busyflag = 1;
|
||||
break;
|
||||
default:
|
||||
assert_always(FALSE, "Unknown id in hyhoo_state::device_timer");
|
||||
@ -79,9 +78,9 @@ void hyhoo_state::hyhoo_gfxdraw()
|
||||
int r, g, b;
|
||||
pen_t pen;
|
||||
|
||||
nb1413m3_busyctr = 0;
|
||||
m_nb1413m3->m_busyctr = 0;
|
||||
|
||||
m_gfxrom |= ((nb1413m3_sndrombank1 & 0x02) << 3);
|
||||
m_gfxrom |= ((m_nb1413m3->m_sndrombank1 & 0x02) << 3);
|
||||
|
||||
startx = m_blitter_destx + m_blitter_sizex;
|
||||
starty = m_blitter_desty + m_blitter_sizey;
|
||||
@ -215,12 +214,12 @@ void hyhoo_state::hyhoo_gfxdraw()
|
||||
}
|
||||
}
|
||||
|
||||
nb1413m3_busyctr++;
|
||||
m_nb1413m3->m_busyctr++;
|
||||
}
|
||||
}
|
||||
|
||||
nb1413m3_busyflag = 0;
|
||||
timer_set(attotime::from_hz(400000) * nb1413m3_busyctr, TIMER_BLITTER);
|
||||
m_nb1413m3->m_busyflag = 0;
|
||||
timer_set(attotime::from_hz(400000) * m_nb1413m3->m_busyctr, TIMER_BLITTER);
|
||||
}
|
||||
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "includes/nbmj8688.h"
|
||||
|
||||
|
||||
@ -268,7 +267,7 @@ void nbmj8688_state::device_timer(emu_timer &timer, device_timer_id id, int para
|
||||
switch (id)
|
||||
{
|
||||
case TIMER_BLITTER:
|
||||
nb1413m3_busyflag = 1;
|
||||
m_nb1413m3->m_busyflag = 1;
|
||||
break;
|
||||
default:
|
||||
assert_always(FALSE, "Unknown id in nbmj8688_state::device_timer");
|
||||
@ -293,7 +292,7 @@ void nbmj8688_state::mbmj8688_gfxdraw(int gfxtype)
|
||||
if (m_mjsikaku_gfxflag2 & 0x20) return;
|
||||
}
|
||||
|
||||
nb1413m3_busyctr = 0;
|
||||
m_nb1413m3->m_busyctr = 0;
|
||||
|
||||
startx = m_blitter_destx + m_blitter_sizex;
|
||||
starty = m_blitter_desty + m_blitter_sizey;
|
||||
@ -523,16 +522,16 @@ void nbmj8688_state::mbmj8688_gfxdraw(int gfxtype)
|
||||
}
|
||||
}
|
||||
|
||||
nb1413m3_busyctr++;
|
||||
m_nb1413m3->m_busyctr++;
|
||||
}
|
||||
}
|
||||
|
||||
nb1413m3_busyflag = 0;
|
||||
m_nb1413m3->m_busyflag = 0;
|
||||
|
||||
if (gfxtype == GFXTYPE_8BIT)
|
||||
timer_set(attotime::from_hz(400000) * nb1413m3_busyctr, TIMER_BLITTER);
|
||||
timer_set(attotime::from_hz(400000) * m_nb1413m3->m_busyctr, TIMER_BLITTER);
|
||||
else
|
||||
timer_set(attotime::from_hz(400000) * nb1413m3_busyctr, TIMER_BLITTER);
|
||||
timer_set(attotime::from_hz(400000) * m_nb1413m3->m_busyctr, TIMER_BLITTER);
|
||||
}
|
||||
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "includes/nbmj8891.h"
|
||||
|
||||
|
||||
@ -240,7 +239,7 @@ WRITE8_MEMBER(nbmj8891_state::nbmj8891_scrolly_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_vramsel_w)
|
||||
{
|
||||
/* protection - not sure about this */
|
||||
nb1413m3_sndromrgntag = (data & 0x20) ? "protection" : "voice";
|
||||
m_nb1413m3->m_sndromrgntag = (data & 0x20) ? "protection" : "voice";
|
||||
|
||||
m_vram = data;
|
||||
}
|
||||
@ -309,7 +308,7 @@ void nbmj8891_state::device_timer(emu_timer &timer, device_timer_id id, int para
|
||||
switch (id)
|
||||
{
|
||||
case TIMER_BLITTER:
|
||||
nb1413m3_busyflag = 1;
|
||||
m_nb1413m3->m_busyflag = 1;
|
||||
break;
|
||||
default:
|
||||
assert_always(FALSE, "Unknown id in nbmj8891_state::device_timer");
|
||||
@ -330,7 +329,7 @@ void nbmj8891_state::nbmj8891_gfxdraw()
|
||||
UINT8 color, color1, color2;
|
||||
int gfxaddr, gfxlen;
|
||||
|
||||
nb1413m3_busyctr = 0;
|
||||
m_nb1413m3->m_busyctr = 0;
|
||||
|
||||
startx = m_blitter_destx + m_blitter_sizex;
|
||||
starty = m_blitter_desty + m_blitter_sizey;
|
||||
@ -467,12 +466,12 @@ void nbmj8891_state::nbmj8891_gfxdraw()
|
||||
}
|
||||
}
|
||||
|
||||
nb1413m3_busyctr++;
|
||||
m_nb1413m3->m_busyctr++;
|
||||
}
|
||||
}
|
||||
|
||||
nb1413m3_busyflag = 0;
|
||||
timer_set(attotime::from_hz(400000) * nb1413m3_busyctr, TIMER_BLITTER);
|
||||
m_nb1413m3->m_busyflag = 0;
|
||||
timer_set(attotime::from_hz(400000) * m_nb1413m3->m_busyctr, TIMER_BLITTER);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
@ -7,7 +7,6 @@
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "includes/nbmj8900.h"
|
||||
|
||||
|
||||
@ -134,7 +133,7 @@ WRITE8_MEMBER(nbmj8900_state::nbmj8900_scrolly_w)
|
||||
WRITE8_MEMBER(nbmj8900_state::nbmj8900_vramsel_w)
|
||||
{
|
||||
/* protection - not sure about this */
|
||||
nb1413m3_sndromrgntag = (data & 0x20) ? "protdata" : "voice";
|
||||
m_nb1413m3->m_sndromrgntag = (data & 0x20) ? "protdata" : "voice";
|
||||
|
||||
m_vram = data;
|
||||
}
|
||||
@ -201,7 +200,7 @@ void nbmj8900_state::device_timer(emu_timer &timer, device_timer_id id, int para
|
||||
switch (id)
|
||||
{
|
||||
case TIMER_BLITTER:
|
||||
nb1413m3_busyflag = 1;
|
||||
m_nb1413m3->m_busyflag = 1;
|
||||
break;
|
||||
default:
|
||||
assert_always(FALSE, "Unknown id in nbmj8900_state::device_timer");
|
||||
@ -221,7 +220,7 @@ void nbmj8900_state::nbmj8900_gfxdraw()
|
||||
unsigned char color, color1, color2;
|
||||
int gfxaddr;
|
||||
|
||||
nb1413m3_busyctr = 0;
|
||||
m_nb1413m3->m_busyctr = 0;
|
||||
|
||||
startx = m_blitter_destx + m_blitter_sizex;
|
||||
starty = m_blitter_desty + m_blitter_sizey;
|
||||
@ -351,12 +350,12 @@ void nbmj8900_state::nbmj8900_gfxdraw()
|
||||
}
|
||||
}
|
||||
|
||||
nb1413m3_busyctr++;
|
||||
m_nb1413m3->m_busyctr++;
|
||||
}
|
||||
}
|
||||
|
||||
nb1413m3_busyflag = 0;
|
||||
timer_set(attotime::from_nsec(2500) * nb1413m3_busyctr, TIMER_BLITTER);
|
||||
m_nb1413m3->m_busyflag = 0;
|
||||
timer_set(attotime::from_nsec(2500) * m_nb1413m3->m_busyctr, TIMER_BLITTER);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
@ -7,7 +7,6 @@
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "includes/nbmj8991.h"
|
||||
|
||||
/******************************************************************************
|
||||
@ -166,7 +165,7 @@ void nbmj8991_state::update_pixel(int x, int y)
|
||||
|
||||
TIMER_CALLBACK_MEMBER(nbmj8991_state::blitter_timer_callback)
|
||||
{
|
||||
nb1413m3_busyflag = 1;
|
||||
m_nb1413m3->m_busyflag = 1;
|
||||
}
|
||||
|
||||
void nbmj8991_state::nbmj8991_gfxdraw()
|
||||
@ -183,7 +182,7 @@ void nbmj8991_state::nbmj8991_gfxdraw()
|
||||
UINT8 color, color1, color2;
|
||||
int gfxaddr, gfxlen;
|
||||
|
||||
nb1413m3_busyctr = 0;
|
||||
m_nb1413m3->m_busyctr = 0;
|
||||
|
||||
if (m_blitter_direction_x)
|
||||
{
|
||||
@ -266,12 +265,12 @@ void nbmj8991_state::nbmj8991_gfxdraw()
|
||||
update_pixel(dx2, dy);
|
||||
}
|
||||
|
||||
nb1413m3_busyctr++;
|
||||
m_nb1413m3->m_busyctr++;
|
||||
}
|
||||
}
|
||||
|
||||
nb1413m3_busyflag = 0;
|
||||
machine().scheduler().timer_set(attotime::from_nsec(1650) * nb1413m3_busyctr, timer_expired_delegate(FUNC(nbmj8991_state::blitter_timer_callback),this));
|
||||
m_nb1413m3->m_busyflag = 0;
|
||||
machine().scheduler().timer_set(attotime::from_nsec(1650) * m_nb1413m3->m_busyctr, timer_expired_delegate(FUNC(nbmj8991_state::blitter_timer_callback),this));
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
@ -344,7 +343,7 @@ UINT32 nbmj8991_state::screen_update_nbmj8991_type2(screen_device &screen, bitma
|
||||
update_pixel(x, y);
|
||||
}
|
||||
|
||||
if (nb1413m3_inputport & 0x20)
|
||||
if (m_nb1413m3->m_inputport & 0x20)
|
||||
{
|
||||
int scrollx, scrolly;
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "includes/pastelg.h"
|
||||
|
||||
/******************************************************************************
|
||||
@ -105,7 +104,7 @@ WRITE8_MEMBER(pastelg_state::pastelg_romsel_w)
|
||||
int gfxlen = memregion("gfx1")->bytes();
|
||||
m_gfxrom = ((data & 0xc0) >> 6);
|
||||
m_palbank = ((data & 0x10) >> 4);
|
||||
nb1413m3_sndrombank1_w(space, 0, data);
|
||||
m_nb1413m3->sndrombank1_w(space, 0, data);
|
||||
|
||||
if ((m_gfxrom << 16) > (gfxlen - 1))
|
||||
{
|
||||
@ -148,7 +147,7 @@ void pastelg_state::device_timer(emu_timer &timer, device_timer_id id, int param
|
||||
switch (id)
|
||||
{
|
||||
case TIMER_BLITTER:
|
||||
nb1413m3_busyflag = 1;
|
||||
m_nb1413m3->m_busyflag = 1;
|
||||
break;
|
||||
default:
|
||||
assert_always(FALSE, "Unknown id in pastelg_state::device_timer");
|
||||
@ -172,7 +171,7 @@ void pastelg_state::pastelg_gfxdraw()
|
||||
int count;
|
||||
UINT8 color;
|
||||
|
||||
nb1413m3_busyctr = 0;
|
||||
m_nb1413m3->m_busyctr = 0;
|
||||
|
||||
startx = m_blitter_destx + m_blitter_sizex;
|
||||
starty = m_blitter_desty + m_blitter_sizey;
|
||||
@ -268,15 +267,15 @@ void pastelg_state::pastelg_gfxdraw()
|
||||
}
|
||||
}
|
||||
|
||||
nb1413m3_busyctr++;
|
||||
m_nb1413m3->m_busyctr++;
|
||||
x += incx;
|
||||
}
|
||||
|
||||
y += incy;
|
||||
}
|
||||
|
||||
nb1413m3_busyflag = 0;
|
||||
timer_set(attotime::from_hz(400000) * nb1413m3_busyctr, TIMER_BLITTER);
|
||||
m_nb1413m3->m_busyflag = 0;
|
||||
timer_set(attotime::from_hz(400000) * m_nb1413m3->m_busyctr, TIMER_BLITTER);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
Loading…
Reference in New Issue
Block a user