diff options
Diffstat (limited to 'src/mame/drivers/glass.c')
-rw-r--r-- | src/mame/drivers/glass.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/mame/drivers/glass.c b/src/mame/drivers/glass.c index d875026f6b7..d9492dadf01 100644 --- a/src/mame/drivers/glass.c +++ b/src/mame/drivers/glass.c @@ -13,10 +13,9 @@ The DS5002FP has up to 128KB undumped gameplay code making the game unplayable : #include "sound/okim6295.h" #include "includes/glass.h" -static WRITE16_HANDLER( clr_int_w ) +WRITE16_MEMBER(glass_state::clr_int_w) { - glass_state *state = space->machine().driver_data<glass_state>(); - state->m_cause_interrupt = 1; + m_cause_interrupt = 1; } static INTERRUPT_GEN( glass_interrupt ) @@ -53,25 +52,25 @@ static GFXDECODE_START( glass ) GFXDECODE_END -static WRITE16_HANDLER( OKIM6295_bankswitch_w ) +WRITE16_MEMBER(glass_state::OKIM6295_bankswitch_w) { - UINT8 *RAM = space->machine().region("oki")->base(); + UINT8 *RAM = machine().region("oki")->base(); if (ACCESSING_BITS_0_7) memcpy(&RAM[0x30000], &RAM[0x40000 + (data & 0x0f) * 0x10000], 0x10000); } -static WRITE16_HANDLER( glass_coin_w ) +WRITE16_MEMBER(glass_state::glass_coin_w) { switch (offset >> 3) { case 0x00: /* Coin Lockouts */ case 0x01: - coin_lockout_w(space->machine(), (offset >> 3) & 0x01, ~data & 0x01); + coin_lockout_w(machine(), (offset >> 3) & 0x01, ~data & 0x01); break; case 0x02: /* Coin Counters */ case 0x03: - coin_counter_w(space->machine(), (offset >> 3) & 0x01, data & 0x01); + coin_counter_w(machine(), (offset >> 3) & 0x01, data & 0x01); break; case 0x04: /* Sound Muting (if bit 0 == 1, sound output stream = 0) */ break; @@ -83,7 +82,7 @@ static ADDRESS_MAP_START( glass_map, AS_PROGRAM, 16, glass_state ) AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE_LEGACY(glass_vram_w) AM_BASE(m_videoram) /* Video RAM */ AM_RANGE(0x102000, 0x102fff) AM_RAM /* Extra Video RAM */ AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(m_vregs) /* Video Registers */ - AM_RANGE(0x108008, 0x108009) AM_WRITE_LEGACY(clr_int_w) /* CLR INT Video */ + AM_RANGE(0x108008, 0x108009) AM_WRITE(clr_int_w) /* CLR INT Video */ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */ AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2") @@ -91,9 +90,9 @@ static ADDRESS_MAP_START( glass_map, AS_PROGRAM, 16, glass_state ) AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1") AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2") AM_RANGE(0x700008, 0x700009) AM_WRITE_LEGACY(glass_blitter_w) /* serial blitter */ - AM_RANGE(0x70000c, 0x70000d) AM_WRITE_LEGACY(OKIM6295_bankswitch_w) /* OKI6295 bankswitch */ + AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w) /* OKI6295 bankswitch */ AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) /* OKI6295 status register */ - AM_RANGE(0x70000a, 0x70004b) AM_WRITE_LEGACY(glass_coin_w) /* Coin Counters/Lockout */ + AM_RANGE(0x70000a, 0x70004b) AM_WRITE(glass_coin_w) /* Coin Counters/Lockout */ AM_RANGE(0xfec000, 0xfeffff) AM_RAM /* Work RAM (partially shared with DS5002FP) */ ADDRESS_MAP_END |