mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
nbmj8891.c: added save state support (nw)
This commit is contained in:
parent
e1e0e9edbd
commit
4d5b72800f
@ -226,83 +226,83 @@ DRIVER_INIT_MEMBER(nbmj8891_state,pairsten)
|
||||
|
||||
static ADDRESS_MAP_START( gionbana_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0xefff) AM_ROM
|
||||
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
|
||||
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w)
|
||||
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(clut_r, clut_w)
|
||||
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(palette_type1_r, palette_type1_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( mgion_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0xefff) AM_ROM
|
||||
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w)
|
||||
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
|
||||
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(palette_type1_r, palette_type1_w)
|
||||
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(clut_r, clut_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( omotesnd_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0xefff) AM_ROM
|
||||
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w)
|
||||
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(palette_type1_r, palette_type1_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( hanamomo_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0xefff) AM_ROM
|
||||
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w)
|
||||
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
|
||||
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(palette_type1_r, palette_type1_w)
|
||||
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(clut_r, clut_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( scandalm_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0xefff) AM_ROM
|
||||
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w)
|
||||
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(palette_type1_r, palette_type1_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( club90s_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0xefff) AM_ROM
|
||||
AM_RANGE(0xf000, 0xf7ff) AM_RAM
|
||||
AM_RANGE(0xf800, 0xf80f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
|
||||
AM_RANGE(0xfc00, 0xfdff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w)
|
||||
AM_RANGE(0xf800, 0xf80f) AM_READWRITE(clut_r, clut_w)
|
||||
AM_RANGE(0xfc00, 0xfdff) AM_READWRITE(palette_type1_r, palette_type1_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( lovehous_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0xefff) AM_ROM
|
||||
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
|
||||
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type2_r,nbmj8891_palette_type2_w)
|
||||
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(clut_r, clut_w)
|
||||
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(palette_type2_r, palette_type2_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( maiko_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0xefff) AM_ROM
|
||||
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(nbmj8891_palette_type2_r,nbmj8891_palette_type2_w)
|
||||
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
|
||||
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(palette_type2_r, palette_type2_w)
|
||||
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(clut_r, clut_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( hnxmasev_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0xefff) AM_ROM
|
||||
AM_RANGE(0xf200, 0xf3ff) AM_READWRITE(nbmj8891_palette_type2_r,nbmj8891_palette_type2_w)
|
||||
AM_RANGE(0xf700, 0xf70f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
|
||||
AM_RANGE(0xf200, 0xf3ff) AM_READWRITE(palette_type2_r, palette_type2_w)
|
||||
AM_RANGE(0xf700, 0xf70f) AM_READWRITE(clut_r, clut_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( hnageman_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0xefff) AM_ROM
|
||||
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
|
||||
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type2_r,nbmj8891_palette_type2_w)
|
||||
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(clut_r, clut_w)
|
||||
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(palette_type2_r, palette_type2_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( mmaiko_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0xefff) AM_ROM
|
||||
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(nbmj8891_palette_type2_r,nbmj8891_palette_type2_w)
|
||||
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
|
||||
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(palette_type2_r, palette_type2_w)
|
||||
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(clut_r, clut_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( hanaoji_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0xefff) AM_ROM
|
||||
AM_RANGE(0xf200, 0xf3ff) AM_READWRITE(nbmj8891_palette_type2_r,nbmj8891_palette_type2_w)
|
||||
AM_RANGE(0xf700, 0xf70f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
|
||||
AM_RANGE(0xf200, 0xf3ff) AM_READWRITE(palette_type2_r, palette_type2_w)
|
||||
AM_RANGE(0xf700, 0xf70f) AM_READWRITE(clut_r, clut_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -313,18 +313,18 @@ READ8_MEMBER(nbmj8891_state::taiwanmb_unk_r)
|
||||
|
||||
static ADDRESS_MAP_START( taiwanmb_map, AS_PROGRAM, 8, nbmj8891_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0xec00, 0xedff) AM_READWRITE(nbmj8891_palette_type3_r,nbmj8891_palette_type3_w)
|
||||
AM_RANGE(0xec00, 0xedff) AM_READWRITE(palette_type3_r, palette_type3_w)
|
||||
AM_RANGE(0xf800, 0xfeff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0xff00, 0xff1f) AM_NOP // ?
|
||||
AM_RANGE(0xff20, 0xff20) AM_READ(taiwanmb_unk_r) // MCU or 1413M3 STATUS? (return != 0x00 then loop)
|
||||
AM_RANGE(0xff20, 0xff20) AM_WRITE(nbmj8891_taiwanmb_mcu_w) // MCU PARAMETER?
|
||||
AM_RANGE(0xff20, 0xff20) AM_WRITE(taiwanmb_mcu_w) // MCU PARAMETER?
|
||||
AM_RANGE(0xff21, 0xff2f) AM_READNOP // ?
|
||||
AM_RANGE(0xff21, 0xff21) AM_WRITENOP // blitter parameter set end (write 0x01 only)
|
||||
AM_RANGE(0xff22, 0xff27) AM_WRITE(nbmj8891_taiwanmb_blitter_w) // blitter parameter
|
||||
AM_RANGE(0xff28, 0xff28) AM_WRITE(nbmj8891_romsel_w) // gfx rombank select
|
||||
AM_RANGE(0xff29, 0xff29) AM_WRITE(nbmj8891_taiwanmb_gfxflag_w) // screen flip flag?
|
||||
AM_RANGE(0xff22, 0xff27) AM_WRITE(taiwanmb_blitter_w) // blitter parameter
|
||||
AM_RANGE(0xff28, 0xff28) AM_WRITE(romsel_w) // gfx rombank select
|
||||
AM_RANGE(0xff29, 0xff29) AM_WRITE(taiwanmb_gfxflag_w) // screen flip flag?
|
||||
AM_RANGE(0xff2a, 0xff2a) AM_WRITENOP // not used?
|
||||
AM_RANGE(0xff2b, 0xff2b) AM_WRITE(nbmj8891_clutsel_w) // color look up table select
|
||||
AM_RANGE(0xff2b, 0xff2b) AM_WRITE(clutsel_w) // color look up table select
|
||||
AM_RANGE(0xff2c, 0xff2c) AM_WRITENOP // blitter parameter set start (write 0xff only)
|
||||
AM_RANGE(0xff2d, 0xff2d) AM_WRITENOP // not used?
|
||||
AM_RANGE(0xff2e, 0xff2e) AM_WRITENOP // not used?
|
||||
@ -337,17 +337,17 @@ static ADDRESS_MAP_START( gionbana_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
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(0x20, 0x27) AM_WRITE(blitter_w)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(clutsel_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(romsel_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
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(0xe0, 0xe0) AM_WRITE(vramsel_w)
|
||||
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
|
||||
@ -356,17 +356,17 @@ static ADDRESS_MAP_START( mgion_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
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(0x30, 0x37) AM_WRITE(blitter_w)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(clutsel_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(romsel_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
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(0xe0, 0xe0) AM_WRITE(vramsel_w)
|
||||
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
|
||||
@ -374,20 +374,20 @@ 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_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(0x00, 0x07) AM_WRITE(blitter_w)
|
||||
AM_RANGE(0x30, 0x30) AM_WRITE(vramsel_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(romsel_w)
|
||||
AM_RANGE(0x20, 0x20) AM_WRITE(clutsel_w)
|
||||
AM_RANGE(0x40, 0x4f) AM_WRITE(clut_w)
|
||||
// AM_RANGE(0x50, 0x50) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(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_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, 0xdf) AM_READ(clut_r)
|
||||
AM_RANGE(0xd0, 0xd0) AM_DEVWRITE("dac", dac_device, write_unsigned8)
|
||||
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, dipsw1_r, outcoin_w)
|
||||
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
|
||||
@ -397,10 +397,10 @@ static ADDRESS_MAP_START( hanamomo_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
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(0x30, 0x37) AM_WRITE(blitter_w)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(clutsel_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(romsel_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
@ -416,10 +416,10 @@ static ADDRESS_MAP_START( msjiken_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
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(0x40, 0x40) AM_WRITE(clutsel_w)
|
||||
AM_RANGE(0x50, 0x57) AM_WRITE(blitter_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(romsel_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
@ -434,11 +434,11 @@ 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_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(0x40, 0x4f) AM_WRITE(clut_w)
|
||||
AM_RANGE(0x00, 0x07) AM_WRITE(blitter_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(romsel_w)
|
||||
AM_RANGE(0x20, 0x20) AM_WRITE(clutsel_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
@ -453,11 +453,11 @@ 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_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)
|
||||
AM_RANGE(0x40, 0x4f) AM_WRITE(nbmj8891_clut_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x00, 0x07) AM_WRITE(blitter_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(romsel_w)
|
||||
AM_RANGE(0x20, 0x20) AM_WRITE(clutsel_w)
|
||||
AM_RANGE(0x40, 0x4f) AM_WRITE(clut_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(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_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
@ -473,12 +473,12 @@ 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_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)
|
||||
AM_RANGE(0x30, 0x30) AM_WRITE(nbmj8891_vramsel_w)
|
||||
AM_RANGE(0x40, 0x4f) AM_WRITE(nbmj8891_clut_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(nbmj8891_scrolly_w)
|
||||
AM_RANGE(0x00, 0x07) AM_WRITE(blitter_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(romsel_w)
|
||||
AM_RANGE(0x20, 0x20) AM_WRITE(clutsel_w)
|
||||
AM_RANGE(0x30, 0x30) AM_WRITE(vramsel_w)
|
||||
AM_RANGE(0x40, 0x4f) AM_WRITE(clut_w)
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
AM_RANGE(0x90, 0x90) AM_DEVREAD("nb1413m3", nb1413m3_device, inputport0_r)
|
||||
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("nb1413m3", nb1413m3_device, inputport1_r, inputportsel_w)
|
||||
@ -494,17 +494,17 @@ static ADDRESS_MAP_START( lovehous_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
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(0x40, 0x40) AM_WRITE(clutsel_w)
|
||||
AM_RANGE(0x50, 0x57) AM_WRITE(blitter_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(romsel_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
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(0xe0, 0xe0) AM_WRITE(vramsel_w)
|
||||
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
|
||||
@ -513,17 +513,17 @@ static ADDRESS_MAP_START( maiko_io_map, AS_IO, 8, nbmj8891_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
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(0x40, 0x40) AM_WRITE(clutsel_w)
|
||||
AM_RANGE(0x50, 0x57) AM_WRITE(blitter_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(romsel_w)
|
||||
AM_RANGE(0x70, 0x70) AM_WRITE(scrolly_w)
|
||||
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
|
||||
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(0xe0, 0xe0) AM_WRITE(vramsel_w)
|
||||
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
|
||||
@ -539,7 +539,7 @@ static ADDRESS_MAP_START( taiwanmb_io_map, AS_IO, 8, nbmj8891_state )
|
||||
// AM_RANGE(0xc0, 0xc0) AM_WRITENOP // ?
|
||||
// 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_DEVREAD("nb1413m3", nb1413m3_device, dipsw3_h_r) AM_WRITE(nbmj8891_taiwanmb_gfxdraw_w) // blitter draw start
|
||||
AM_RANGE(0xe0, 0xe0) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw3_h_r) AM_WRITE(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)
|
||||
@ -2525,7 +2525,7 @@ static MACHINE_CONFIG_START( gionbana, nbmj8891_state )
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(512, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 8, 248-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nbmj8891_state, screen_update_nbmj8891)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nbmj8891_state, screen_update)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 256)
|
||||
@ -2594,7 +2594,7 @@ static MACHINE_CONFIG_DERIVED( mjcamerb, gionbana )
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( mmcamera, gionbana )
|
||||
@ -2611,7 +2611,7 @@ static MACHINE_CONFIG_DERIVED( mmcamera, gionbana )
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( hanamomo, gionbana )
|
||||
@ -2627,7 +2627,7 @@ static MACHINE_CONFIG_DERIVED( hanamomo, gionbana )
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( msjiken, hanamomo )
|
||||
@ -2648,7 +2648,7 @@ static MACHINE_CONFIG_DERIVED( telmahjn, gionbana )
|
||||
MCFG_NB1413M3_TYPE( NB1413M3_TELMAHJN )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( mgmen89, telmahjn )
|
||||
@ -2667,7 +2667,7 @@ static MACHINE_CONFIG_DERIVED( mjfocus, gionbana )
|
||||
MCFG_NB1413M3_TYPE( NB1413M3_MJFOCUS )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( pairsnb, gionbana )
|
||||
@ -2815,7 +2815,7 @@ static MACHINE_CONFIG_DERIVED( mjfocusm, gionbana )
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SOUND_REPLACE("fmsnd", AY8910, 1250000)
|
||||
@ -2846,7 +2846,7 @@ static MACHINE_CONFIG_DERIVED( taiwanmb, gionbana )
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
|
||||
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SOUND_REPLACE("fmsnd", AY8910, 1250000)
|
||||
@ -3828,36 +3828,36 @@ ROM_END
|
||||
|
||||
|
||||
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS)
|
||||
GAME( 1988, msjiken, 0, msjiken, msjiken, driver_device, 0, ROT270, "Nichibutsu", "Mahjong Satsujin Jiken (Japan 881017)", 0 )
|
||||
GAME( 1988, hanamomo, 0, hanamomo, hanamomo, driver_device, 0, ROT0, "Nichibutsu", "Mahjong Hana no Momoko gumi (Japan 881201)", 0 )
|
||||
GAME( 1988, hanamomb, hanamomo, hanamomo, hanamomo, driver_device, 0, ROT0, "Nichibutsu", "Mahjong Hana no Momoko gumi (Japan 881125)", 0 )
|
||||
GAME( 1988, telmahjn, 0, telmahjn, telmahjn, nbmj8891_state, telmahjn, ROT270, "Nichibutsu", "Telephone Mahjong (Japan 890111)", 0 )
|
||||
GAME( 1989, gionbana, 0, gionbana, gionbana, nbmj8891_state, gionbana, ROT0, "Nichibutsu", "Gionbana (Japan 890120)", 0 )
|
||||
GAME( 1989, mgion, 0, mgion, mgion, driver_device, 0, ROT0, "Nichibutsu", "Gionbana [BET] (Japan 890207)", 0 )
|
||||
GAME( 1989, omotesnd, 0, omotesnd, omotesnd, nbmj8891_state, omotesnd, ROT0, "Anime Tec", "Omotesandou (Japan 890215)", 0 )
|
||||
GAME( 1989, abunai, 0, abunai, abunai, driver_device, 0, ROT0, "Green Soft", "Abunai Houkago - Mou Matenai (Japan 890325)", 0 )
|
||||
GAME( 1989, mjfocus, 0, mjfocus, mjfocus, nbmj8891_state, mjfocus, ROT0, "Nichibutsu", "Mahjong Focus (Japan 890313)", 0 )
|
||||
GAME( 1989, mjfocusm, mjfocus, mjfocusm, mjfocusm, nbmj8891_state, mjfocusm, ROT0, "Nichibutsu", "Mahjong Focus [BET] (Japan 890510)", 0 )
|
||||
GAME( 1989, peepshow, mjfocus, mjfocus, peepshow, nbmj8891_state, mjfocus, ROT0, "AC", "Nozokimeguri Mahjong Peep Show (Japan 890404)", 0 )
|
||||
GAME( 1989, mjcamerb, 0, mjcamerb, mjcamerb, driver_device, 0, ROT0, "Miki Syouji", "Mahjong Camera Kozou (set 2) (Japan 881109)", 0 )
|
||||
GAME( 1989, mmcamera, mjcamerb, mmcamera, mmcamera, driver_device, 0, ROT0, "Miki Syouji", "Mahjong Camera Kozou [BET] (Japan 890509)", 0 )
|
||||
GAME( 1989, scandal, 0, scandal, scandal, nbmj8891_state, scandal, ROT0, "Nichibutsu", "Scandal Mahjong (Japan 890213)", 0 )
|
||||
GAME( 1989, scandalm, scandal, scandalm, scandalm, driver_device, 0, ROT0, "Nichibutsu", "Scandal Mahjong [BET] (Japan 890217)", 0 )
|
||||
GAME( 1989, mgmen89, 0, mgmen89, mgmen89, nbmj8891_state, mgmen89, ROT0, "Nichibutsu", "Mahjong G-MEN'89 (Japan 890425)", 0 )
|
||||
GAME( 1989, mjnanpas, 0, mjnanpas, mjnanpas, nbmj8891_state, mjnanpas, ROT0, "Brooks", "Mahjong Nanpa Story (Japan 890713)", 0 )
|
||||
GAME( 1989, mjnanpaa, mjnanpas, mjnanpas, mjnanpaa, nbmj8891_state, mjnanpas, ROT0, "Brooks", "Mahjong Nanpa Story (Japan 890712)", 0 )
|
||||
GAME( 1989, mjnanpau, mjnanpas, mjnanpas, mjnanpas, nbmj8891_state, mjnanpas, ROT0, "Brooks", "Mahjong Nanpa Story (Ura) (Japan 890805)", 0 )
|
||||
GAME( 1989, bananadr, 0, bananadr, bananadr, driver_device, 0, ROT0, "Digital Soft", "Mahjong Banana Dream [BET] (Japan 891124)", 0 )
|
||||
GAME( 1990, mladyhtr, 0, mladyhtr, mladyhtr, driver_device, 0, ROT0, "Nichibutsu", "Mahjong The Lady Hunter (Japan 900509)", 0 )
|
||||
GAME( 1990, chinmoku, 0, chinmoku, chinmoku, driver_device, 0, ROT0, "Nichibutsu", "Mahjong Chinmoku no Hentai (Japan 900511)", 0 )
|
||||
GAME( 1990, maiko, 0, maiko, maiko, driver_device, 0, ROT0, "Nichibutsu", "Maikobana (Japan 900802)", 0 )
|
||||
GAME( 1990, mmaiko, 0, mmaiko, mmaiko, driver_device, 0, ROT0, "Nichibutsu", "Maikobana [BET] (Japan 900911)", 0 )
|
||||
GAME( 1990, hnxmasev, 0, hnxmasev, maiko, driver_device, 0, ROT180, "Nichibutsu / AV Japan", "AV Hanafuda Hana no Christmas Eve (Japan 901204)", GAME_NOT_WORKING )
|
||||
GAME( 1990, hnageman, 0, hnageman, maiko, driver_device, 0, ROT180, "Nichibutsu / AV Japan", "AV Hanafuda Hana no Ageman (Japan 900716)", GAME_NOT_WORKING )
|
||||
GAME( 1990, club90s, 0, club90s, club90s, driver_device, 0, ROT0, "Nichibutsu", "Mahjong CLUB 90's (set 1) (Japan 900919)", 0 )
|
||||
GAME( 1990, club90sa, club90s, club90s, club90s, driver_device, 0, ROT0, "Nichibutsu", "Mahjong CLUB 90's (set 2) (Japan 900919)", 0 )
|
||||
GAME( 1990, lovehous, club90s, lovehous, lovehous, driver_device, 0, ROT0, "Nichibutsu", "Mahjong Love House [BET] (Japan 901024)", 0 )
|
||||
GAME( 1991, hanaoji, 0, hanaoji, hanaoji, driver_device, 0, ROT0, "Nichibutsu", "Hana to Ojisan [BET] (Japan 911209)", 0 )
|
||||
GAME( 1988, taiwanmb, 0, taiwanmb, taiwanmb, driver_device, 0, ROT0, "Miki Syouji", "Taiwan Mahjong [BET] (Japan 881208)", 0 )
|
||||
GAME( 1989, pairsnb, 0, pairsnb, pairsnb, nbmj8891_state, pairsnb, ROT0, "Nichibutsu", "Pairs (Nichibutsu) (Japan 890822)", 0 )
|
||||
GAME( 1989, pairsten, pairsnb, pairsten, pairsnb, nbmj8891_state, pairsten, ROT0, "System Ten", "Pairs (System Ten) (Japan 890826)", 0 )
|
||||
GAME( 1988, msjiken, 0, msjiken, msjiken, driver_device, 0, ROT270, "Nichibutsu", "Mahjong Satsujin Jiken (Japan 881017)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1988, hanamomo, 0, hanamomo, hanamomo, driver_device, 0, ROT0, "Nichibutsu", "Mahjong Hana no Momoko gumi (Japan 881201)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1988, hanamomb, hanamomo, hanamomo, hanamomo, driver_device, 0, ROT0, "Nichibutsu", "Mahjong Hana no Momoko gumi (Japan 881125)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1988, telmahjn, 0, telmahjn, telmahjn, nbmj8891_state, telmahjn, ROT270, "Nichibutsu", "Telephone Mahjong (Japan 890111)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, gionbana, 0, gionbana, gionbana, nbmj8891_state, gionbana, ROT0, "Nichibutsu", "Gionbana (Japan 890120)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, mgion, 0, mgion, mgion, driver_device, 0, ROT0, "Nichibutsu", "Gionbana [BET] (Japan 890207)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, omotesnd, 0, omotesnd, omotesnd, nbmj8891_state, omotesnd, ROT0, "Anime Tec", "Omotesandou (Japan 890215)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, abunai, 0, abunai, abunai, driver_device, 0, ROT0, "Green Soft", "Abunai Houkago - Mou Matenai (Japan 890325)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, mjfocus, 0, mjfocus, mjfocus, nbmj8891_state, mjfocus, ROT0, "Nichibutsu", "Mahjong Focus (Japan 890313)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, mjfocusm, mjfocus, mjfocusm, mjfocusm, nbmj8891_state, mjfocusm, ROT0, "Nichibutsu", "Mahjong Focus [BET] (Japan 890510)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, peepshow, mjfocus, mjfocus, peepshow, nbmj8891_state, mjfocus, ROT0, "AC", "Nozokimeguri Mahjong Peep Show (Japan 890404)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, mjcamerb, 0, mjcamerb, mjcamerb, driver_device, 0, ROT0, "Miki Syouji", "Mahjong Camera Kozou (set 2) (Japan 881109)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, mmcamera, mjcamerb, mmcamera, mmcamera, driver_device, 0, ROT0, "Miki Syouji", "Mahjong Camera Kozou [BET] (Japan 890509)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, scandal, 0, scandal, scandal, nbmj8891_state, scandal, ROT0, "Nichibutsu", "Scandal Mahjong (Japan 890213)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, scandalm, scandal, scandalm, scandalm, driver_device, 0, ROT0, "Nichibutsu", "Scandal Mahjong [BET] (Japan 890217)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, mgmen89, 0, mgmen89, mgmen89, nbmj8891_state, mgmen89, ROT0, "Nichibutsu", "Mahjong G-MEN'89 (Japan 890425)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, mjnanpas, 0, mjnanpas, mjnanpas, nbmj8891_state, mjnanpas, ROT0, "Brooks", "Mahjong Nanpa Story (Japan 890713)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, mjnanpaa, mjnanpas, mjnanpas, mjnanpaa, nbmj8891_state, mjnanpas, ROT0, "Brooks", "Mahjong Nanpa Story (Japan 890712)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, mjnanpau, mjnanpas, mjnanpas, mjnanpas, nbmj8891_state, mjnanpas, ROT0, "Brooks", "Mahjong Nanpa Story (Ura) (Japan 890805)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, bananadr, 0, bananadr, bananadr, driver_device, 0, ROT0, "Digital Soft", "Mahjong Banana Dream [BET] (Japan 891124)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, mladyhtr, 0, mladyhtr, mladyhtr, driver_device, 0, ROT0, "Nichibutsu", "Mahjong The Lady Hunter (Japan 900509)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, chinmoku, 0, chinmoku, chinmoku, driver_device, 0, ROT0, "Nichibutsu", "Mahjong Chinmoku no Hentai (Japan 900511)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, maiko, 0, maiko, maiko, driver_device, 0, ROT0, "Nichibutsu", "Maikobana (Japan 900802)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, mmaiko, 0, mmaiko, mmaiko, driver_device, 0, ROT0, "Nichibutsu", "Maikobana [BET] (Japan 900911)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, hnxmasev, 0, hnxmasev, maiko, driver_device, 0, ROT180, "Nichibutsu / AV Japan", "AV Hanafuda Hana no Christmas Eve (Japan 901204)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, hnageman, 0, hnageman, maiko, driver_device, 0, ROT180, "Nichibutsu / AV Japan", "AV Hanafuda Hana no Ageman (Japan 900716)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, club90s, 0, club90s, club90s, driver_device, 0, ROT0, "Nichibutsu", "Mahjong CLUB 90's (set 1) (Japan 900919)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, club90sa, club90s, club90s, club90s, driver_device, 0, ROT0, "Nichibutsu", "Mahjong CLUB 90's (set 2) (Japan 900919)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, lovehous, club90s, lovehous, lovehous, driver_device, 0, ROT0, "Nichibutsu", "Mahjong Love House [BET] (Japan 901024)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1991, hanaoji, 0, hanaoji, hanaoji, driver_device, 0, ROT0, "Nichibutsu", "Hana to Ojisan [BET] (Japan 911209)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1988, taiwanmb, 0, taiwanmb, taiwanmb, driver_device, 0, ROT0, "Miki Syouji", "Taiwan Mahjong [BET] (Japan 881208)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, pairsnb, 0, pairsnb, pairsnb, nbmj8891_state, pairsnb, ROT0, "Nichibutsu", "Pairs (Nichibutsu) (Japan 890822)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, pairsten, pairsnb, pairsten, pairsnb, nbmj8891_state, pairsten, ROT0, "System Ten", "Pairs (System Ten) (Japan 890826)", GAME_SUPPORTS_SAVE )
|
||||
|
@ -46,26 +46,31 @@ public:
|
||||
int m_param_old[0x10];
|
||||
int m_param_cnt;
|
||||
int m_flipscreen_old;
|
||||
emu_timer *m_blitter_timer;
|
||||
|
||||
DECLARE_READ8_MEMBER(palette_type1_r);
|
||||
DECLARE_WRITE8_MEMBER(palette_type1_w);
|
||||
DECLARE_READ8_MEMBER(palette_type2_r);
|
||||
DECLARE_WRITE8_MEMBER(palette_type2_w);
|
||||
DECLARE_READ8_MEMBER(palette_type3_r);
|
||||
DECLARE_WRITE8_MEMBER(palette_type3_w);
|
||||
DECLARE_WRITE8_MEMBER(clutsel_w);
|
||||
DECLARE_READ8_MEMBER(clut_r);
|
||||
DECLARE_WRITE8_MEMBER(clut_w);
|
||||
DECLARE_WRITE8_MEMBER(blitter_w);
|
||||
DECLARE_WRITE8_MEMBER(scrolly_w);
|
||||
DECLARE_WRITE8_MEMBER(vramsel_w);
|
||||
DECLARE_WRITE8_MEMBER(romsel_w);
|
||||
|
||||
DECLARE_READ8_MEMBER(taiwanmb_unk_r);
|
||||
DECLARE_READ8_MEMBER(nbmj8891_palette_type1_r);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_palette_type1_w);
|
||||
DECLARE_READ8_MEMBER(nbmj8891_palette_type2_r);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_palette_type2_w);
|
||||
DECLARE_READ8_MEMBER(nbmj8891_palette_type3_r);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_palette_type3_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_clutsel_w);
|
||||
DECLARE_READ8_MEMBER(nbmj8891_clut_r);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_clut_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_blitter_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_taiwanmb_blitter_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_taiwanmb_gfxdraw_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_taiwanmb_gfxflag_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_taiwanmb_mcu_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_scrolly_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_vramsel_w);
|
||||
DECLARE_WRITE8_MEMBER(nbmj8891_romsel_w);
|
||||
DECLARE_WRITE8_MEMBER(taiwanmb_blitter_w);
|
||||
DECLARE_WRITE8_MEMBER(taiwanmb_gfxdraw_w);
|
||||
DECLARE_WRITE8_MEMBER(taiwanmb_gfxflag_w);
|
||||
DECLARE_WRITE8_MEMBER(taiwanmb_mcu_w);
|
||||
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(nb1413m3_busyflag_r);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(nb1413m3_outcoin_flag_r);
|
||||
|
||||
DECLARE_DRIVER_INIT(pairsten);
|
||||
DECLARE_DRIVER_INIT(telmahjn);
|
||||
DECLARE_DRIVER_INIT(gionbana);
|
||||
@ -77,12 +82,16 @@ public:
|
||||
DECLARE_DRIVER_INIT(pairsnb);
|
||||
DECLARE_DRIVER_INIT(mjnanpas);
|
||||
virtual void video_start();
|
||||
DECLARE_VIDEO_START(nbmj8891_1layer);
|
||||
UINT32 screen_update_nbmj8891(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void nbmj8891_vramflip(int vram);
|
||||
DECLARE_VIDEO_START(_1layer);
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void vramflip(int vram);
|
||||
void update_pixel0(int x, int y);
|
||||
void update_pixel1(int x, int y);
|
||||
void nbmj8891_gfxdraw();
|
||||
void gfxdraw();
|
||||
|
||||
void common_save_state();
|
||||
void postload();
|
||||
|
||||
protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
|
@ -563,8 +563,6 @@ READ8_MEMBER( nb1413m3_device::dipsw3_h_r )
|
||||
|
||||
WRITE8_MEMBER( nb1413m3_device::outcoin_w )
|
||||
{
|
||||
static int counter = 0;
|
||||
|
||||
m_outcoin_enable = (data & 0x04) >> 2;
|
||||
|
||||
switch (m_nb1413m3_type)
|
||||
@ -588,10 +586,10 @@ WRITE8_MEMBER( nb1413m3_device::outcoin_w )
|
||||
case NB1413M3_MMAIKO:
|
||||
if (m_outcoin_enable)
|
||||
{
|
||||
if (counter++ == 2)
|
||||
if (m_counter++ == 2)
|
||||
{
|
||||
m_outcoin_flag ^= 1;
|
||||
counter = 0;
|
||||
m_counter = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -16,12 +16,12 @@
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
READ8_MEMBER(nbmj8891_state::nbmj8891_palette_type1_r)
|
||||
READ8_MEMBER(nbmj8891_state::palette_type1_r)
|
||||
{
|
||||
return m_palette_ptr[offset];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_palette_type1_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::palette_type1_w)
|
||||
{
|
||||
int r, g, b;
|
||||
|
||||
@ -38,12 +38,12 @@ WRITE8_MEMBER(nbmj8891_state::nbmj8891_palette_type1_w)
|
||||
m_palette->set_pen_color((offset >> 1), pal4bit(r), pal4bit(g), pal4bit(b));
|
||||
}
|
||||
|
||||
READ8_MEMBER(nbmj8891_state::nbmj8891_palette_type2_r)
|
||||
READ8_MEMBER(nbmj8891_state::palette_type2_r)
|
||||
{
|
||||
return m_palette_ptr[offset];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_palette_type2_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::palette_type2_w)
|
||||
{
|
||||
int r, g, b;
|
||||
|
||||
@ -60,12 +60,12 @@ WRITE8_MEMBER(nbmj8891_state::nbmj8891_palette_type2_w)
|
||||
m_palette->set_pen_color((offset & 0x0ff), pal4bit(r), pal4bit(g), pal4bit(b));
|
||||
}
|
||||
|
||||
READ8_MEMBER(nbmj8891_state::nbmj8891_palette_type3_r)
|
||||
READ8_MEMBER(nbmj8891_state::palette_type3_r)
|
||||
{
|
||||
return m_palette_ptr[offset];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_palette_type3_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::palette_type3_w)
|
||||
{
|
||||
int r, g, b;
|
||||
|
||||
@ -82,17 +82,17 @@ WRITE8_MEMBER(nbmj8891_state::nbmj8891_palette_type3_w)
|
||||
m_palette->set_pen_color((offset >> 1), pal4bit(r), pal4bit(g), pal4bit(b));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_clutsel_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::clutsel_w)
|
||||
{
|
||||
m_clutsel = data;
|
||||
}
|
||||
|
||||
READ8_MEMBER(nbmj8891_state::nbmj8891_clut_r)
|
||||
READ8_MEMBER(nbmj8891_state::clut_r)
|
||||
{
|
||||
return m_clut[offset];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_clut_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::clut_w)
|
||||
{
|
||||
m_clut[((m_clutsel & 0x7f) * 0x10) + (offset & 0x0f)] = data;
|
||||
}
|
||||
@ -101,7 +101,7 @@ WRITE8_MEMBER(nbmj8891_state::nbmj8891_clut_w)
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_blitter_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::blitter_w)
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
@ -112,20 +112,20 @@ WRITE8_MEMBER(nbmj8891_state::nbmj8891_blitter_w)
|
||||
case 0x04: m_blitter_sizex = data; break;
|
||||
case 0x05: m_blitter_sizey = data;
|
||||
/* writing here also starts the blit */
|
||||
nbmj8891_gfxdraw();
|
||||
gfxdraw();
|
||||
break;
|
||||
case 0x06: m_blitter_direction_x = (data & 0x01) ? 1 : 0;
|
||||
m_blitter_direction_y = (data & 0x02) ? 1 : 0;
|
||||
m_flipscreen = (data & 0x04) ? 1 : 0;
|
||||
m_dispflag = (data & 0x08) ? 0 : 1;
|
||||
if (m_gfxdraw_mode) nbmj8891_vramflip(1);
|
||||
nbmj8891_vramflip(0);
|
||||
if (m_gfxdraw_mode) vramflip(1);
|
||||
vramflip(0);
|
||||
break;
|
||||
case 0x07: break;
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_taiwanmb_blitter_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::taiwanmb_blitter_w)
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
@ -138,19 +138,19 @@ WRITE8_MEMBER(nbmj8891_state::nbmj8891_taiwanmb_blitter_w)
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_taiwanmb_gfxdraw_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::taiwanmb_gfxdraw_w)
|
||||
{
|
||||
// nbmj8891_gfxdraw();
|
||||
// gfxdraw();
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_taiwanmb_gfxflag_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::taiwanmb_gfxflag_w)
|
||||
{
|
||||
m_flipscreen = (data & 0x04) ? 1 : 0;
|
||||
|
||||
nbmj8891_vramflip(0);
|
||||
vramflip(0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_taiwanmb_mcu_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::taiwanmb_mcu_w)
|
||||
{
|
||||
m_param_old[m_param_cnt & 0x0f] = data;
|
||||
|
||||
@ -223,7 +223,7 @@ WRITE8_MEMBER(nbmj8891_state::nbmj8891_taiwanmb_mcu_w)
|
||||
m_blitter_sizey ^= 0x00;
|
||||
}
|
||||
|
||||
nbmj8891_gfxdraw();
|
||||
gfxdraw();
|
||||
}
|
||||
|
||||
// m_blitter_direction_x = 0; // for debug
|
||||
@ -233,12 +233,12 @@ WRITE8_MEMBER(nbmj8891_state::nbmj8891_taiwanmb_mcu_w)
|
||||
m_param_cnt++;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_scrolly_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::scrolly_w)
|
||||
{
|
||||
m_scrolly = data;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_vramsel_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::vramsel_w)
|
||||
{
|
||||
/* protection - not sure about this */
|
||||
m_nb1413m3->m_sndromrgntag = (data & 0x20) ? "protection" : "voice";
|
||||
@ -246,7 +246,7 @@ WRITE8_MEMBER(nbmj8891_state::nbmj8891_vramsel_w)
|
||||
m_vram = data;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nbmj8891_state::nbmj8891_romsel_w)
|
||||
WRITE8_MEMBER(nbmj8891_state::romsel_w)
|
||||
{
|
||||
int gfxlen = memregion("gfx1")->bytes();
|
||||
m_gfxrom = (data & 0x0f);
|
||||
@ -264,7 +264,7 @@ WRITE8_MEMBER(nbmj8891_state::nbmj8891_romsel_w)
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
void nbmj8891_state::nbmj8891_vramflip(int vram)
|
||||
void nbmj8891_state::vramflip(int vram)
|
||||
{
|
||||
int x, y;
|
||||
UINT8 color1, color2;
|
||||
@ -317,7 +317,7 @@ void nbmj8891_state::device_timer(emu_timer &timer, device_timer_id id, int para
|
||||
}
|
||||
}
|
||||
|
||||
void nbmj8891_state::nbmj8891_gfxdraw()
|
||||
void nbmj8891_state::gfxdraw()
|
||||
{
|
||||
UINT8 *GFX = memregion("gfx1")->base();
|
||||
int width = m_screen->width();
|
||||
@ -473,29 +473,36 @@ void nbmj8891_state::nbmj8891_gfxdraw()
|
||||
}
|
||||
|
||||
m_nb1413m3->m_busyflag = 0;
|
||||
timer_set(attotime::from_hz(400000) * m_nb1413m3->m_busyctr, TIMER_BLITTER);
|
||||
m_blitter_timer->adjust(attotime::from_hz(400000) * m_nb1413m3->m_busyctr);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
VIDEO_START_MEMBER(nbmj8891_state,nbmj8891_1layer)
|
||||
VIDEO_START_MEMBER(nbmj8891_state,_1layer)
|
||||
{
|
||||
UINT8 *CLUT = memregion("protection")->base();
|
||||
int i;
|
||||
int width = m_screen->width();
|
||||
int height = m_screen->height();
|
||||
|
||||
m_blitter_timer = timer_alloc(TIMER_BLITTER);
|
||||
m_screen->register_screen_bitmap(m_tmpbitmap0);
|
||||
m_videoram0 = auto_alloc_array(machine(), UINT8, width * height);
|
||||
m_palette_ptr = auto_alloc_array(machine(), UINT8, 0x200);
|
||||
m_clut = auto_alloc_array(machine(), UINT8, 0x800);
|
||||
memset(m_videoram0, 0xff, (width * height * sizeof(char)));
|
||||
m_gfxdraw_mode = 0;
|
||||
m_screen_refresh = 1;
|
||||
|
||||
if (m_nb1413m3->m_nb1413m3_type == NB1413M3_TAIWANMB)
|
||||
for (i = 0; i < 0x0800; i++) m_clut[i] = CLUT[i];
|
||||
{
|
||||
for (int i = 0; i < 0x0800; i++) m_clut[i] = CLUT[i];
|
||||
save_item(NAME(m_param_cnt));
|
||||
save_item(NAME(m_param_old));
|
||||
}
|
||||
|
||||
common_save_state();
|
||||
}
|
||||
|
||||
void nbmj8891_state::video_start()
|
||||
@ -503,6 +510,7 @@ void nbmj8891_state::video_start()
|
||||
int width = m_screen->width();
|
||||
int height = m_screen->height();
|
||||
|
||||
m_blitter_timer = timer_alloc(TIMER_BLITTER);
|
||||
m_screen->register_screen_bitmap(m_tmpbitmap0);
|
||||
m_screen->register_screen_bitmap(m_tmpbitmap1);
|
||||
m_videoram0 = auto_alloc_array(machine(), UINT8, width * height);
|
||||
@ -512,13 +520,46 @@ void nbmj8891_state::video_start()
|
||||
memset(m_videoram0, 0xff, (width * height * sizeof(UINT8)));
|
||||
memset(m_videoram1, 0xff, (width * height * sizeof(UINT8)));
|
||||
m_gfxdraw_mode = 1;
|
||||
m_screen_refresh = 1;
|
||||
|
||||
common_save_state();
|
||||
save_pointer(NAME(m_videoram1), width * height);
|
||||
}
|
||||
|
||||
void nbmj8891_state::common_save_state()
|
||||
{
|
||||
save_item(NAME(m_scrolly));
|
||||
save_item(NAME(m_blitter_destx));
|
||||
save_item(NAME(m_blitter_desty));
|
||||
save_item(NAME(m_blitter_sizex));
|
||||
save_item(NAME(m_blitter_sizey));
|
||||
save_item(NAME(m_blitter_src_addr));
|
||||
save_item(NAME(m_blitter_direction_x));
|
||||
save_item(NAME(m_blitter_direction_y));
|
||||
save_item(NAME(m_vram));
|
||||
save_item(NAME(m_gfxrom));
|
||||
save_item(NAME(m_dispflag));
|
||||
save_item(NAME(m_flipscreen));
|
||||
save_item(NAME(m_clutsel));
|
||||
save_item(NAME(m_gfxdraw_mode));
|
||||
save_pointer(NAME(m_videoram0), m_screen->width() * m_screen->height());
|
||||
save_pointer(NAME(m_palette_ptr), 0x200);
|
||||
save_pointer(NAME(m_clut), 0x800);
|
||||
save_item(NAME(m_flipscreen_old));
|
||||
|
||||
machine().save().register_postload(save_prepost_delegate(FUNC(nbmj8891_state::postload), this));
|
||||
}
|
||||
|
||||
void nbmj8891_state::postload()
|
||||
{
|
||||
m_screen_refresh = 1;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
UINT32 nbmj8891_state::screen_update_nbmj8891(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
UINT32 nbmj8891_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
int x, y;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user