mirror of
https://github.com/holub/mame
synced 2025-07-05 18:08:04 +03:00
niyanpai.c: added save state support, configured banking and removed some trampolines (nw)
This commit is contained in:
parent
73ee1e9042
commit
2123f510df
@ -44,58 +44,21 @@ Memo:
|
||||
#include "includes/niyanpai.h"
|
||||
|
||||
|
||||
void niyanpai_state::niyanpai_soundbank_w(int data)
|
||||
{
|
||||
UINT8 *SNDROM = memregion("audiocpu")->base();
|
||||
|
||||
membank("bank1")->set_base(&SNDROM[0x08000 + (0x8000 * (data & 0x03))]);
|
||||
}
|
||||
|
||||
READ8_MEMBER(niyanpai_state::niyanpai_sound_r)
|
||||
{
|
||||
return soundlatch_byte_r(space, 0);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(niyanpai_state::niyanpai_sound_w)
|
||||
WRITE16_MEMBER(niyanpai_state::sound_w)
|
||||
{
|
||||
soundlatch_byte_w(space, 0, ((data >> 8) & 0xff));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(niyanpai_state::niyanpai_soundclr_w)
|
||||
WRITE8_MEMBER(niyanpai_state::soundbank_w)
|
||||
{
|
||||
soundlatch_clear_byte_w(space, 0, 0);
|
||||
membank("soundbank")->set_entry(data & 0x03);
|
||||
}
|
||||
|
||||
|
||||
READ8_MEMBER(niyanpai_state::cpu_portd_r)
|
||||
WRITE8_MEMBER(niyanpai_state::soundlatch_clear_w)
|
||||
{
|
||||
return niyanpai_sound_r(space, 0);
|
||||
if (!(data & 0x01)) soundlatch_clear_byte_w(space, 0, 0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(niyanpai_state::cpu_porta_w)
|
||||
{
|
||||
niyanpai_soundbank_w(data & 0x03);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(niyanpai_state::cpu_portb_w)
|
||||
{
|
||||
m_dac1->write_unsigned8(data);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(niyanpai_state::cpu_portc_w)
|
||||
{
|
||||
m_dac2->write_unsigned8(data);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(niyanpai_state::cpu_porte_w)
|
||||
{
|
||||
if (!(data & 0x01)) niyanpai_soundclr_w(space, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
void niyanpai_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(niyanpai_state,niyanpai)
|
||||
{
|
||||
@ -105,14 +68,15 @@ DRIVER_INIT_MEMBER(niyanpai_state,niyanpai)
|
||||
SNDROM[0x0213] = 0x00; // DI -> NOP
|
||||
|
||||
// initialize sound rom bank
|
||||
niyanpai_soundbank_w(0);
|
||||
membank("soundbank")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x8000, 0x8000);
|
||||
membank("soundbank")->set_entry(0);
|
||||
|
||||
// initialize out coin flag (musobana)
|
||||
m_musobana_outcoin_flag = 1;
|
||||
}
|
||||
|
||||
|
||||
READ16_MEMBER(niyanpai_state::niyanpai_dipsw_r)
|
||||
READ16_MEMBER(niyanpai_state::dipsw_r)
|
||||
{
|
||||
UINT8 dipsw_a, dipsw_b;
|
||||
|
||||
@ -129,6 +93,13 @@ READ16_MEMBER(niyanpai_state::niyanpai_dipsw_r)
|
||||
return ((dipsw_a << 8) | dipsw_b);
|
||||
}
|
||||
|
||||
MACHINE_START_MEMBER(niyanpai_state, musobana)
|
||||
{
|
||||
save_item(NAME(m_motor_on));
|
||||
save_item(NAME(m_musobana_inputport));
|
||||
save_item(NAME(m_musobana_outcoin_flag));
|
||||
}
|
||||
|
||||
READ16_MEMBER(niyanpai_state::musobana_inputport_0_r)
|
||||
{
|
||||
int portdata;
|
||||
@ -177,33 +148,33 @@ static ADDRESS_MAP_START( niyanpai_map, AS_PROGRAM, 16, niyanpai_state )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x040000, 0x040fff) AM_RAM AM_SHARE("nvram")
|
||||
|
||||
AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w)
|
||||
AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(palette_r,palette_w)
|
||||
AM_RANGE(0x0a0900, 0x0a11ff) AM_RAM // palette work ram?
|
||||
|
||||
AM_RANGE(0x0bf800, 0x0bffff) AM_RAM
|
||||
|
||||
AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w)
|
||||
AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w)
|
||||
|
||||
AM_RANGE(0x200200, 0x200201) AM_WRITENOP // unknown
|
||||
AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown
|
||||
AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP // unknown
|
||||
|
||||
AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff)
|
||||
AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff)
|
||||
AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff)
|
||||
AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff)
|
||||
AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff)
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r)
|
||||
AM_RANGE(0x240400, 0x240403) AM_READ8(blitter_0_r, 0x00ff)
|
||||
AM_RANGE(0x240400, 0x24041f) AM_WRITE8(blitter_0_w, 0x00ff)
|
||||
AM_RANGE(0x240420, 0x24043f) AM_WRITE8(clut_0_w, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x240603) AM_READ8(blitter_1_r, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x24061f) AM_WRITE8(blitter_1_w, 0x00ff)
|
||||
AM_RANGE(0x240620, 0x24063f) AM_WRITE8(clut_1_w, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x240803) AM_READ8(blitter_2_r, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x24081f) AM_WRITE8(blitter_2_w, 0x00ff)
|
||||
AM_RANGE(0x240820, 0x24083f) AM_WRITE8(clut_2_w, 0x00ff)
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ(dipsw_r)
|
||||
|
||||
AM_RANGE(0x280200, 0x280201) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff)
|
||||
AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff)
|
||||
AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff)
|
||||
AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(clutsel_0_w, 0x00ff)
|
||||
AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(clutsel_1_w, 0x00ff)
|
||||
AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(clutsel_2_w, 0x00ff)
|
||||
|
||||
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
|
||||
ADDRESS_MAP_END
|
||||
@ -212,34 +183,34 @@ static ADDRESS_MAP_START( musobana_map, AS_PROGRAM, 16, niyanpai_state )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x040000, 0x040fff) AM_RAM
|
||||
|
||||
AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w)
|
||||
AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(palette_r,palette_w)
|
||||
AM_RANGE(0x0a0900, 0x0a11ff) AM_RAM // palette work ram?
|
||||
|
||||
AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0x0bf800, 0x0bffff) AM_RAM
|
||||
|
||||
AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w)
|
||||
AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w)
|
||||
|
||||
AM_RANGE(0x200200, 0x200201) AM_WRITE(musobana_inputport_w) // inputport select
|
||||
AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown
|
||||
AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP // unknown
|
||||
|
||||
AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff)
|
||||
AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff)
|
||||
AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff)
|
||||
AM_RANGE(0x240400, 0x240403) AM_READ8(blitter_0_r, 0x00ff)
|
||||
AM_RANGE(0x240400, 0x24041f) AM_WRITE8(blitter_0_w, 0x00ff)
|
||||
AM_RANGE(0x240420, 0x24043f) AM_WRITE8(clut_0_w, 0x00ff)
|
||||
|
||||
AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff)
|
||||
AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x240603) AM_READ8(blitter_1_r, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x24061f) AM_WRITE8(blitter_1_w, 0x00ff)
|
||||
AM_RANGE(0x240620, 0x24063f) AM_WRITE8(clut_1_w, 0x00ff)
|
||||
|
||||
AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff)
|
||||
AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff)
|
||||
AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff)
|
||||
AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff)
|
||||
AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x240803) AM_READ8(blitter_2_r, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x24081f) AM_WRITE8(blitter_2_w, 0x00ff)
|
||||
AM_RANGE(0x240820, 0x24083f) AM_WRITE8(clut_2_w, 0x00ff)
|
||||
AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(clutsel_0_w, 0x00ff)
|
||||
AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(clutsel_1_w, 0x00ff)
|
||||
AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(clutsel_2_w, 0x00ff)
|
||||
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r)
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ(dipsw_r)
|
||||
AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r)
|
||||
AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM")
|
||||
|
||||
@ -250,36 +221,36 @@ static ADDRESS_MAP_START( mhhonban_map, AS_PROGRAM, 16, niyanpai_state )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x040000, 0x040fff) AM_RAM
|
||||
|
||||
AM_RANGE(0x060000, 0x0608ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w)
|
||||
AM_RANGE(0x060000, 0x0608ff) AM_READWRITE(palette_r,palette_w)
|
||||
AM_RANGE(0x060900, 0x0611ff) AM_RAM // palette work ram?
|
||||
AM_RANGE(0x07f800, 0x07ffff) AM_RAM
|
||||
|
||||
AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0x0bf000, 0x0bffff) AM_RAM
|
||||
|
||||
AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w)
|
||||
AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w)
|
||||
|
||||
AM_RANGE(0x200200, 0x200201) AM_WRITE(musobana_inputport_w) // inputport select
|
||||
AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown
|
||||
AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP // unknown
|
||||
|
||||
AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff)
|
||||
AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff)
|
||||
AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff)
|
||||
AM_RANGE(0x240400, 0x240403) AM_READ8(blitter_0_r, 0x00ff)
|
||||
AM_RANGE(0x240400, 0x24041f) AM_WRITE8(blitter_0_w, 0x00ff)
|
||||
AM_RANGE(0x240420, 0x24043f) AM_WRITE8(clut_0_w, 0x00ff)
|
||||
|
||||
AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff)
|
||||
AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x240603) AM_READ8(blitter_1_r, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x24061f) AM_WRITE8(blitter_1_w, 0x00ff)
|
||||
AM_RANGE(0x240620, 0x24063f) AM_WRITE8(clut_1_w, 0x00ff)
|
||||
|
||||
AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff)
|
||||
AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x240803) AM_READ8(blitter_2_r, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x24081f) AM_WRITE8(blitter_2_w, 0x00ff)
|
||||
AM_RANGE(0x240820, 0x24083f) AM_WRITE8(clut_2_w, 0x00ff)
|
||||
|
||||
AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff)
|
||||
AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff)
|
||||
AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff)
|
||||
AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(clutsel_0_w, 0x00ff)
|
||||
AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(clutsel_1_w, 0x00ff)
|
||||
AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(clutsel_2_w, 0x00ff)
|
||||
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r)
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ(dipsw_r)
|
||||
AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r)
|
||||
AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM")
|
||||
|
||||
@ -290,35 +261,35 @@ static ADDRESS_MAP_START( zokumahj_map, AS_PROGRAM, 16, niyanpai_state )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x0ff000, 0x0fffff) AM_RAM
|
||||
|
||||
AM_RANGE(0x0e0000, 0x0e08ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w)
|
||||
AM_RANGE(0x0e0000, 0x0e08ff) AM_READWRITE(palette_r,palette_w)
|
||||
AM_RANGE(0x0e0900, 0x0e11ff) AM_RAM // palette work ram?
|
||||
|
||||
AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM
|
||||
|
||||
AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w)
|
||||
AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w)
|
||||
|
||||
AM_RANGE(0x200200, 0x200201) AM_WRITE(musobana_inputport_w) // inputport select
|
||||
AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown
|
||||
AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP // unknown
|
||||
|
||||
AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff)
|
||||
AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff)
|
||||
AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff)
|
||||
AM_RANGE(0x240400, 0x240403) AM_READ8(blitter_0_r, 0x00ff)
|
||||
AM_RANGE(0x240400, 0x24041f) AM_WRITE8(blitter_0_w, 0x00ff)
|
||||
AM_RANGE(0x240420, 0x24043f) AM_WRITE8(clut_0_w, 0x00ff)
|
||||
|
||||
AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff)
|
||||
AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x240603) AM_READ8(blitter_1_r, 0x00ff)
|
||||
AM_RANGE(0x240600, 0x24061f) AM_WRITE8(blitter_1_w, 0x00ff)
|
||||
AM_RANGE(0x240620, 0x24063f) AM_WRITE8(clut_1_w, 0x00ff)
|
||||
|
||||
AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff)
|
||||
AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x240803) AM_READ8(blitter_2_r, 0x00ff)
|
||||
AM_RANGE(0x240800, 0x24081f) AM_WRITE8(blitter_2_w, 0x00ff)
|
||||
AM_RANGE(0x240820, 0x24083f) AM_WRITE8(clut_2_w, 0x00ff)
|
||||
|
||||
AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff)
|
||||
AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff)
|
||||
AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff)
|
||||
AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(clutsel_0_w, 0x00ff)
|
||||
AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(clutsel_1_w, 0x00ff)
|
||||
AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(clutsel_2_w, 0x00ff)
|
||||
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r)
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ(dipsw_r)
|
||||
AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r)
|
||||
AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM")
|
||||
|
||||
@ -329,7 +300,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( niyanpai_sound_map, AS_PROGRAM, 8, niyanpai_state )
|
||||
AM_RANGE(0x0000, 0x77ff) AM_ROM
|
||||
AM_RANGE(0x7800, 0x7fff) AM_RAM
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("soundbank")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( niyanpai_sound_io_map, AS_IO, 8, niyanpai_state )
|
||||
@ -755,7 +726,7 @@ static INPUT_PORTS_START( zokumahj ) // I don't have manual for this game.
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
INTERRUPT_GEN_MEMBER(niyanpai_state::niyanpai_interrupt)
|
||||
INTERRUPT_GEN_MEMBER(niyanpai_state::interrupt)
|
||||
{
|
||||
m_tmp68301->external_interrupt_0();
|
||||
}
|
||||
@ -771,7 +742,7 @@ static MACHINE_CONFIG_START( niyanpai, niyanpai_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000, 12288000/2) /* TMP68301, 6.144 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(niyanpai_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", niyanpai_state, niyanpai_interrupt)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", niyanpai_state, interrupt)
|
||||
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("tmp68301",tmp68301_device,irq_callback)
|
||||
|
||||
MCFG_DEVICE_ADD("tmp68301", TMP68301, 0)
|
||||
@ -781,11 +752,11 @@ static MACHINE_CONFIG_START( niyanpai, niyanpai_state )
|
||||
MCFG_CPU_CONFIG(daisy_chain_sound)
|
||||
MCFG_CPU_PROGRAM_MAP(niyanpai_sound_map)
|
||||
MCFG_CPU_IO_MAP(niyanpai_sound_io_map)
|
||||
MCFG_TMPZ84C011_PORTD_READ_CB(READ8(niyanpai_state, cpu_portd_r))
|
||||
MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(niyanpai_state, cpu_porta_w))
|
||||
MCFG_TMPZ84C011_PORTB_WRITE_CB(WRITE8(niyanpai_state, cpu_portb_w))
|
||||
MCFG_TMPZ84C011_PORTC_WRITE_CB(WRITE8(niyanpai_state, cpu_portc_w))
|
||||
MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(niyanpai_state, cpu_porte_w))
|
||||
MCFG_TMPZ84C011_PORTD_READ_CB(READ8(niyanpai_state, soundlatch_byte_r))
|
||||
MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(niyanpai_state, soundbank_w))
|
||||
MCFG_TMPZ84C011_PORTB_WRITE_CB(DEVWRITE8("dac1", dac_device, write_unsigned8))
|
||||
MCFG_TMPZ84C011_PORTC_WRITE_CB(DEVWRITE8("dac2", dac_device, write_unsigned8))
|
||||
MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(niyanpai_state, soundlatch_clear_w))
|
||||
MCFG_TMPZ84C011_ZC0_CB(DEVWRITELINE("audiocpu", tmpz84c011_device, trg3))
|
||||
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
@ -796,7 +767,7 @@ static MACHINE_CONFIG_START( niyanpai, niyanpai_state )
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(1024, 512)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 240-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(niyanpai_state, screen_update_niyanpai)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(niyanpai_state, screen_update)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 256*3)
|
||||
@ -819,16 +790,18 @@ static MACHINE_CONFIG_DERIVED( musobana, niyanpai )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(musobana_map)
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(niyanpai_state, musobana)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( mhhonban, niyanpai )
|
||||
static MACHINE_CONFIG_DERIVED( mhhonban, musobana )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(mhhonban_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( zokumahj, niyanpai )
|
||||
static MACHINE_CONFIG_DERIVED( zokumahj, musobana )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
@ -930,8 +903,8 @@ ROM_START( zokumahj )
|
||||
ROM_END
|
||||
|
||||
|
||||
GAME( 1996, niyanpai, 0, niyanpai, niyanpai, niyanpai_state, niyanpai, ROT0, "Nichibutsu", "Niyanpai (Japan)", 0 )
|
||||
GAME( 1995, musobana, 0, musobana, musobana, niyanpai_state, niyanpai, ROT0, "Nichibutsu / Yubis", "Musoubana (Japan)", 0 )
|
||||
GAME( 1994, 4psimasy, 0, musobana, 4psimasy, niyanpai_state, niyanpai, ROT0, "Sphinx / AV Japan", "Mahjong 4P Simasyo (Japan)", 0 )
|
||||
GAME( 199?, mhhonban, 0, mhhonban, mhhonban, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Mahjong Housoukyoku Honbanchuu (Japan)", 0 )
|
||||
GAME( 199?, zokumahj, mhhonban, zokumahj, zokumahj, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Zoku Mahjong Housoukyoku (Japan)", 0 )
|
||||
GAME( 1996, niyanpai, 0, niyanpai, niyanpai, niyanpai_state, niyanpai, ROT0, "Nichibutsu", "Niyanpai (Japan)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1995, musobana, 0, musobana, musobana, niyanpai_state, niyanpai, ROT0, "Nichibutsu / Yubis", "Musoubana (Japan)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1994, 4psimasy, 0, musobana, 4psimasy, niyanpai_state, niyanpai, ROT0, "Sphinx / AV Japan", "Mahjong 4P Simasyo (Japan)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 199?, mhhonban, 0, mhhonban, mhhonban, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Mahjong Housoukyoku Honbanchuu (Japan)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 199?, zokumahj, mhhonban, zokumahj, zokumahj, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Zoku Mahjong Housoukyoku (Japan)", GAME_SUPPORTS_SAVE )
|
||||
|
@ -19,9 +19,14 @@ public:
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette") { }
|
||||
|
||||
int m_musobana_inputport;
|
||||
int m_musobana_outcoin_flag;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<tmp68301_device> m_tmp68301;
|
||||
required_device<dac_device> m_dac1;
|
||||
required_device<dac_device> m_dac2;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
// common
|
||||
int m_scrollx[VRAM_MAX];
|
||||
int m_scrolly[VRAM_MAX];
|
||||
int m_blitter_destx[VRAM_MAX];
|
||||
@ -45,55 +50,54 @@ public:
|
||||
UINT16 *m_palette_ptr;
|
||||
UINT8 *m_clut[VRAM_MAX];
|
||||
int m_flipscreen_old[VRAM_MAX];
|
||||
DECLARE_READ8_MEMBER(niyanpai_sound_r);
|
||||
DECLARE_WRITE16_MEMBER(niyanpai_sound_w);
|
||||
DECLARE_WRITE8_MEMBER(niyanpai_soundclr_w);
|
||||
|
||||
DECLARE_READ8_MEMBER(cpu_portd_r);
|
||||
DECLARE_WRITE8_MEMBER(cpu_porta_w);
|
||||
DECLARE_WRITE8_MEMBER(cpu_portb_w);
|
||||
DECLARE_WRITE8_MEMBER(cpu_portc_w);
|
||||
DECLARE_WRITE8_MEMBER(cpu_porte_w);
|
||||
|
||||
DECLARE_READ16_MEMBER(niyanpai_dipsw_r);
|
||||
emu_timer *m_blitter_timer;
|
||||
|
||||
// musobana and derived machine configs
|
||||
int m_musobana_inputport;
|
||||
int m_musobana_outcoin_flag;
|
||||
UINT8 m_motor_on;
|
||||
|
||||
// common
|
||||
DECLARE_WRITE16_MEMBER(sound_w);
|
||||
DECLARE_WRITE8_MEMBER(soundbank_w);
|
||||
DECLARE_WRITE8_MEMBER(soundlatch_clear_w);
|
||||
DECLARE_READ16_MEMBER(dipsw_r);
|
||||
DECLARE_READ16_MEMBER(palette_r);
|
||||
DECLARE_WRITE16_MEMBER(palette_w);
|
||||
DECLARE_WRITE8_MEMBER(blitter_0_w);
|
||||
DECLARE_WRITE8_MEMBER(blitter_1_w);
|
||||
DECLARE_WRITE8_MEMBER(blitter_2_w);
|
||||
DECLARE_READ8_MEMBER(blitter_0_r);
|
||||
DECLARE_READ8_MEMBER(blitter_1_r);
|
||||
DECLARE_READ8_MEMBER(blitter_2_r);
|
||||
DECLARE_WRITE8_MEMBER(clut_0_w);
|
||||
DECLARE_WRITE8_MEMBER(clut_1_w);
|
||||
DECLARE_WRITE8_MEMBER(clut_2_w);
|
||||
DECLARE_WRITE8_MEMBER(clutsel_0_w);
|
||||
DECLARE_WRITE8_MEMBER(clutsel_1_w);
|
||||
DECLARE_WRITE8_MEMBER(clutsel_2_w);
|
||||
DECLARE_WRITE16_MEMBER(tmp68301_parallel_port_w);
|
||||
|
||||
// musobana and derived machine configs
|
||||
DECLARE_READ16_MEMBER(musobana_inputport_0_r);
|
||||
DECLARE_WRITE16_MEMBER(musobana_inputport_w);
|
||||
DECLARE_READ16_MEMBER(niyanpai_palette_r);
|
||||
DECLARE_WRITE16_MEMBER(niyanpai_palette_w);
|
||||
DECLARE_WRITE8_MEMBER(niyanpai_blitter_0_w);
|
||||
DECLARE_WRITE8_MEMBER(niyanpai_blitter_1_w);
|
||||
DECLARE_WRITE8_MEMBER(niyanpai_blitter_2_w);
|
||||
DECLARE_READ8_MEMBER(niyanpai_blitter_0_r);
|
||||
DECLARE_READ8_MEMBER(niyanpai_blitter_1_r);
|
||||
DECLARE_READ8_MEMBER(niyanpai_blitter_2_r);
|
||||
DECLARE_WRITE8_MEMBER(niyanpai_clut_0_w);
|
||||
DECLARE_WRITE8_MEMBER(niyanpai_clut_1_w);
|
||||
DECLARE_WRITE8_MEMBER(niyanpai_clut_2_w);
|
||||
DECLARE_WRITE8_MEMBER(niyanpai_clutsel_0_w);
|
||||
DECLARE_WRITE8_MEMBER(niyanpai_clutsel_1_w);
|
||||
DECLARE_WRITE8_MEMBER(niyanpai_clutsel_2_w);
|
||||
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(musobana_outcoin_flag_r);
|
||||
|
||||
DECLARE_DRIVER_INIT(niyanpai);
|
||||
DECLARE_WRITE16_MEMBER(tmp68301_parallel_port_w);
|
||||
UINT8 m_motor_on;
|
||||
virtual void machine_reset();
|
||||
virtual void video_start();
|
||||
UINT32 screen_update_niyanpai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(niyanpai_interrupt);
|
||||
int niyanpai_blitter_r(int vram, int offset);
|
||||
void niyanpai_blitter_w(int vram, int offset, UINT8 data);
|
||||
void niyanpai_clutsel_w(int vram, UINT8 data);
|
||||
void niyanpai_clut_w(int vram, int offset, UINT8 data);
|
||||
void niyanpai_vramflip(int vram);
|
||||
DECLARE_MACHINE_START(musobana);
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
int blitter_r(int vram, int offset);
|
||||
void blitter_w(int vram, int offset, UINT8 data);
|
||||
void clutsel_w(int vram, UINT8 data);
|
||||
void clut_w(int vram, int offset, UINT8 data);
|
||||
void vramflip(int vram);
|
||||
void update_pixel(int vram, int x, int y);
|
||||
void niyanpai_gfxdraw(int vram);
|
||||
void niyanpai_soundbank_w(int data);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<tmp68301_device> m_tmp68301;
|
||||
required_device<dac_device> m_dac1;
|
||||
required_device<dac_device> m_dac2;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
void gfxdraw(int vram);
|
||||
|
||||
INTERRUPT_GEN_MEMBER(interrupt);
|
||||
|
||||
protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
|
@ -13,12 +13,12 @@
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
READ16_MEMBER(niyanpai_state::niyanpai_palette_r)
|
||||
READ16_MEMBER(niyanpai_state::palette_r)
|
||||
{
|
||||
return m_palette_ptr[offset];
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(niyanpai_state::niyanpai_palette_w)
|
||||
WRITE16_MEMBER(niyanpai_state::palette_w)
|
||||
{
|
||||
int r, g, b;
|
||||
int offs_h, offs_l;
|
||||
@ -57,7 +57,7 @@ WRITE16_MEMBER(niyanpai_state::niyanpai_palette_w)
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
int niyanpai_state::niyanpai_blitter_r(int vram, int offset)
|
||||
int niyanpai_state::blitter_r(int vram, int offset)
|
||||
{
|
||||
int ret;
|
||||
UINT8 *GFXROM = memregion("gfx1")->base();
|
||||
@ -72,7 +72,7 @@ int niyanpai_state::niyanpai_blitter_r(int vram, int offset)
|
||||
return ret;
|
||||
}
|
||||
|
||||
void niyanpai_state::niyanpai_blitter_w(int vram, int offset, UINT8 data)
|
||||
void niyanpai_state::blitter_w(int vram, int offset, UINT8 data)
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
@ -84,7 +84,7 @@ void niyanpai_state::niyanpai_blitter_w(int vram, int offset, UINT8 data)
|
||||
// if (data & 0x20) popmessage("Unknown GFX Flag!! (0x20)");
|
||||
m_flipscreen[vram] = (data & 0x40) ? 0 : 1;
|
||||
m_dispflag[vram] = (data & 0x80) ? 1 : 0;
|
||||
niyanpai_vramflip(vram);
|
||||
vramflip(vram);
|
||||
break;
|
||||
case 0x01: m_scrollx[vram] = (m_scrollx[vram] & 0x0100) | data; break;
|
||||
case 0x02: m_scrollx[vram] = (m_scrollx[vram] & 0x00ff) | ((data << 8) & 0x0100); break;
|
||||
@ -99,18 +99,18 @@ void niyanpai_state::niyanpai_blitter_w(int vram, int offset, UINT8 data)
|
||||
case 0x0b: m_blitter_destx[vram] = (m_blitter_destx[vram] & 0x00ff) | (data << 8); break;
|
||||
case 0x0c: m_blitter_desty[vram] = (m_blitter_desty[vram] & 0xff00) | data; break;
|
||||
case 0x0d: m_blitter_desty[vram] = (m_blitter_desty[vram] & 0x00ff) | (data << 8);
|
||||
niyanpai_gfxdraw(vram);
|
||||
gfxdraw(vram);
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
void niyanpai_state::niyanpai_clutsel_w(int vram, UINT8 data)
|
||||
void niyanpai_state::clutsel_w(int vram, UINT8 data)
|
||||
{
|
||||
m_clutsel[vram] = data;
|
||||
}
|
||||
|
||||
void niyanpai_state::niyanpai_clut_w(int vram, int offset, UINT8 data)
|
||||
void niyanpai_state::clut_w(int vram, int offset, UINT8 data)
|
||||
{
|
||||
m_clut[vram][((m_clutsel[vram] & 0xff) * 0x10) + (offset & 0x0f)] = data;
|
||||
}
|
||||
@ -119,7 +119,7 @@ void niyanpai_state::niyanpai_clut_w(int vram, int offset, UINT8 data)
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
void niyanpai_state::niyanpai_vramflip(int vram)
|
||||
void niyanpai_state::vramflip(int vram)
|
||||
{
|
||||
int x, y;
|
||||
UINT16 color1, color2;
|
||||
@ -172,7 +172,7 @@ void niyanpai_state::device_timer(emu_timer &timer, device_timer_id id, int para
|
||||
}
|
||||
}
|
||||
|
||||
void niyanpai_state::niyanpai_gfxdraw(int vram)
|
||||
void niyanpai_state::gfxdraw(int vram)
|
||||
{
|
||||
UINT8 *GFX = memregion("gfx1")->base();
|
||||
int width = m_screen->width();
|
||||
@ -324,28 +324,28 @@ void niyanpai_state::niyanpai_gfxdraw(int vram)
|
||||
}
|
||||
|
||||
m_nb19010_busyflag = 0;
|
||||
timer_set(attotime::from_nsec(1000 * m_nb19010_busyctr), TIMER_BLITTER);
|
||||
m_blitter_timer->adjust(attotime::from_nsec(1000 * m_nb19010_busyctr));
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
WRITE8_MEMBER(niyanpai_state::niyanpai_blitter_0_w){ niyanpai_blitter_w(0, offset, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::niyanpai_blitter_1_w){ niyanpai_blitter_w(1, offset, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::niyanpai_blitter_2_w){ niyanpai_blitter_w(2, offset, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::blitter_0_w){ blitter_w(0, offset, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::blitter_1_w){ blitter_w(1, offset, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::blitter_2_w){ blitter_w(2, offset, data); }
|
||||
|
||||
READ8_MEMBER(niyanpai_state::niyanpai_blitter_0_r){ return niyanpai_blitter_r(0, offset); }
|
||||
READ8_MEMBER(niyanpai_state::niyanpai_blitter_1_r){ return niyanpai_blitter_r(1, offset); }
|
||||
READ8_MEMBER(niyanpai_state::niyanpai_blitter_2_r){ return niyanpai_blitter_r(2, offset); }
|
||||
READ8_MEMBER(niyanpai_state::blitter_0_r){ return blitter_r(0, offset); }
|
||||
READ8_MEMBER(niyanpai_state::blitter_1_r){ return blitter_r(1, offset); }
|
||||
READ8_MEMBER(niyanpai_state::blitter_2_r){ return blitter_r(2, offset); }
|
||||
|
||||
WRITE8_MEMBER(niyanpai_state::niyanpai_clut_0_w){ niyanpai_clut_w(0, offset, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::niyanpai_clut_1_w){ niyanpai_clut_w(1, offset, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::niyanpai_clut_2_w){ niyanpai_clut_w(2, offset, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::clut_0_w){ clut_w(0, offset, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::clut_1_w){ clut_w(1, offset, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::clut_2_w){ clut_w(2, offset, data); }
|
||||
|
||||
WRITE8_MEMBER(niyanpai_state::niyanpai_clutsel_0_w){ niyanpai_clutsel_w(0, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::niyanpai_clutsel_1_w){ niyanpai_clutsel_w(1, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::niyanpai_clutsel_2_w){ niyanpai_clutsel_w(2, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::clutsel_0_w){ clutsel_w(0, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::clutsel_1_w){ clutsel_w(1, data); }
|
||||
WRITE8_MEMBER(niyanpai_state::clutsel_2_w){ clutsel_w(2, data); }
|
||||
|
||||
/******************************************************************************
|
||||
|
||||
@ -370,13 +370,46 @@ void niyanpai_state::video_start()
|
||||
m_clut[1] = auto_alloc_array(machine(), UINT8, 0x1000);
|
||||
m_clut[2] = auto_alloc_array(machine(), UINT8, 0x1000);
|
||||
m_nb19010_busyflag = 1;
|
||||
m_blitter_timer = timer_alloc(TIMER_BLITTER);
|
||||
|
||||
save_item(NAME(m_scrollx));
|
||||
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_dispflag));
|
||||
save_item(NAME(m_flipscreen));
|
||||
save_item(NAME(m_clutmode));
|
||||
save_item(NAME(m_transparency));
|
||||
save_item(NAME(m_clutsel));
|
||||
save_item(NAME(m_screen_refresh));
|
||||
save_item(NAME(m_nb19010_busyctr));
|
||||
save_item(NAME(m_nb19010_busyflag));
|
||||
save_item(NAME(m_flipscreen_old));
|
||||
save_pointer(NAME(m_palette_ptr), 0x480);
|
||||
save_pointer(NAME(m_videoram[0]), width * height);
|
||||
save_pointer(NAME(m_videoram[1]), width * height);
|
||||
save_pointer(NAME(m_videoram[2]), width * height);
|
||||
save_pointer(NAME(m_videoworkram[0]), width * height);
|
||||
save_pointer(NAME(m_videoworkram[1]), width * height);
|
||||
save_pointer(NAME(m_videoworkram[2]), width * height);
|
||||
save_pointer(NAME(m_clut[0]), 0x1000);
|
||||
save_pointer(NAME(m_clut[1]), 0x1000);
|
||||
save_pointer(NAME(m_clut[2]), 0x1000);
|
||||
save_item(NAME(m_tmpbitmap[0]));
|
||||
save_item(NAME(m_tmpbitmap[1]));
|
||||
save_item(NAME(m_tmpbitmap[2]));
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
UINT32 niyanpai_state::screen_update_niyanpai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
UINT32 niyanpai_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
int i;
|
||||
int x, y;
|
||||
|
Loading…
Reference in New Issue
Block a user