mirror of
https://github.com/holub/mame
synced 2025-04-24 17:30:55 +03:00
More ACCESSING_BITS cleanups
This commit is contained in:
parent
2c8cd1f083
commit
03c34d6849
@ -240,7 +240,7 @@ public:
|
||||
required_device<kaneko16_sprite_device> m_kaneko_spr;
|
||||
required_shared_ptr<uint16_t> m_spriteram;
|
||||
|
||||
DECLARE_WRITE16_MEMBER(expro02_6295_bankswitch_w);
|
||||
DECLARE_WRITE8_MEMBER(expro02_6295_bankswitch_w);
|
||||
|
||||
DECLARE_DRIVER_INIT(expro02);
|
||||
virtual void machine_start() override;
|
||||
@ -254,7 +254,6 @@ public:
|
||||
// comad
|
||||
READ16_MEMBER(comad_timer_r);
|
||||
READ8_MEMBER(comad_okim6295_r);
|
||||
WRITE16_MEMBER(galpanica_6295_bankswitch_w);
|
||||
};
|
||||
|
||||
|
||||
@ -617,18 +616,16 @@ static INPUT_PORTS_START( zipzap )
|
||||
SYSTEM_NO_TILT
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Sound handlers
|
||||
*
|
||||
*************************************/
|
||||
|
||||
WRITE16_MEMBER(expro02_state::expro02_6295_bankswitch_w)
|
||||
WRITE8_MEMBER( expro02_state::expro02_6295_bankswitch_w )
|
||||
{
|
||||
if (ACCESSING_BITS_8_15)
|
||||
{
|
||||
membank("okibank")->set_entry((data >> 8) & 0x0f);
|
||||
}
|
||||
membank("okibank")->set_entry(data & 0x0f);
|
||||
}
|
||||
|
||||
|
||||
@ -672,7 +669,7 @@ static ADDRESS_MAP_START( expro02_map, AS_PROGRAM, 16, expro02_state )
|
||||
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE(expro02_6295_bankswitch_w)
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE8(expro02_6295_bankswitch_w, 0xff00)
|
||||
AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP /* ??? */
|
||||
AM_RANGE(0xc80000, 0xc8ffff) AM_RAM
|
||||
AM_RANGE(0xe00000, 0xe00015) AM_DEVREADWRITE("calc1_mcu", kaneko_hit_device, kaneko_hit_r,kaneko_hit_w)
|
||||
@ -687,7 +684,7 @@ static ADDRESS_MAP_START( fantasia_map, AS_PROGRAM, 16, expro02_state )
|
||||
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x800006, 0x800007) AM_NOP // ? used ?
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE(expro02_6295_bankswitch_w)
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE8(expro02_6295_bankswitch_w, 0xff00)
|
||||
AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP /* ??? */
|
||||
AM_RANGE(0xc80000, 0xc8ffff) AM_RAM
|
||||
AM_RANGE(0xf00000, 0xf00001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00)
|
||||
@ -704,7 +701,7 @@ static ADDRESS_MAP_START( comad_map, AS_PROGRAM, 16, expro02_state )
|
||||
// AM_RANGE(0x800006, 0x800007) ??
|
||||
AM_RANGE(0x80000a, 0x80000b) AM_READ(comad_timer_r) /* bits 8-a = timer? palette update code waits for them to be 111 */
|
||||
AM_RANGE(0x80000c, 0x80000d) AM_READ(comad_timer_r) /* missw96 bits 8-a = timer? palette update code waits for them to be 111 */
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w) /* not sure */
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE8(expro02_6295_bankswitch_w, 0xff00) /* not sure */
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_RAM
|
||||
AM_RANGE(0xc80000, 0xc8ffff) AM_RAM
|
||||
AM_RANGE(0xf00000, 0xf00001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00) /* fantasia, missw96 */
|
||||
@ -719,7 +716,7 @@ static ADDRESS_MAP_START( fantsia2_map, AS_PROGRAM, 16, expro02_state )
|
||||
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
|
||||
// AM_RANGE(0x800006, 0x800007) ??
|
||||
AM_RANGE(0x800008, 0x800009) AM_READ(comad_timer_r) /* bits 8-a = timer? palette update code waits for them to be 111 */
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w) /* not sure */
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE8(expro02_6295_bankswitch_w, 0xff00) /* not sure */
|
||||
AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP /* coin counters, + ? */
|
||||
AM_RANGE(0xc80000, 0xc80001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00)
|
||||
AM_RANGE(0xf80000, 0xf8ffff) AM_RAM
|
||||
@ -735,7 +732,7 @@ static ADDRESS_MAP_START( galhustl_map, AS_PROGRAM, 16, expro02_state )
|
||||
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w)
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE8(expro02_6295_bankswitch_w, 0xff00)
|
||||
AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP // ?
|
||||
AM_RANGE(0xd00000, 0xd00001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00)
|
||||
AM_RANGE(0xe80000, 0xe8ffff) AM_RAM
|
||||
@ -752,7 +749,7 @@ static ADDRESS_MAP_START( zipzap_map, AS_PROGRAM, 16, expro02_state )
|
||||
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w)
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE8(expro02_6295_bankswitch_w, 0xff00)
|
||||
AM_RANGE(0xc00000, 0xc00001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00) /* fantasia, missw96 */
|
||||
AM_RANGE(0xc80000, 0xc8ffff) AM_RAM // main ram
|
||||
|
||||
@ -770,7 +767,7 @@ static ADDRESS_MAP_START( supmodel_map, AS_PROGRAM, 16, expro02_state )
|
||||
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x800006, 0x800007) AM_READ(comad_timer_r)
|
||||
AM_RANGE(0x800008, 0x800009) AM_READ(comad_timer_r)
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w) /* not sure */
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE8(expro02_6295_bankswitch_w, 0xff00) /* not sure */
|
||||
AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP
|
||||
AM_RANGE(0xc80000, 0xc8ffff) AM_RAM
|
||||
AM_RANGE(0xd80000, 0xd80001) AM_WRITENOP
|
||||
@ -788,7 +785,7 @@ static ADDRESS_MAP_START( smissw_map, AS_PROGRAM, 16, expro02_state )
|
||||
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x800006, 0x800007) AM_READ(comad_timer_r)
|
||||
AM_RANGE(0x80000e, 0x80000f) AM_READ(comad_timer_r)
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w) /* not sure */
|
||||
AM_RANGE(0x900000, 0x900001) AM_WRITE8(expro02_6295_bankswitch_w, 0xff00) /* not sure */
|
||||
AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_RAM
|
||||
AM_RANGE(0xd80000, 0xd80001) AM_WRITENOP
|
||||
@ -840,15 +837,6 @@ READ8_MEMBER(expro02_state::comad_okim6295_r)
|
||||
return retvalue;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(expro02_state::galpanica_6295_bankswitch_w)
|
||||
{
|
||||
if (ACCESSING_BITS_8_15)
|
||||
{
|
||||
membank("okibank")->set_entry((data >> 8) & 0x0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
|
@ -39,17 +39,14 @@ WRITE8_MEMBER(f1gp_state::f1gp_sh_bankswitch_w)
|
||||
}
|
||||
|
||||
|
||||
WRITE16_MEMBER(f1gp_state::sound_command_w)
|
||||
WRITE8_MEMBER(f1gp_state::sound_command_w)
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
m_pending_command = 1;
|
||||
m_soundlatch->write(space, offset, data & 0xff);
|
||||
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
}
|
||||
m_pending_command = 1;
|
||||
m_soundlatch->write(space, offset, data & 0xff);
|
||||
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
}
|
||||
|
||||
READ16_MEMBER(f1gp_state::command_pending_r)
|
||||
READ8_MEMBER(f1gp_state::command_pending_r)
|
||||
{
|
||||
return (m_pending_command ? 0xff : 0);
|
||||
}
|
||||
@ -83,8 +80,7 @@ static ADDRESS_MAP_START( f1gp_cpu1_map, AS_PROGRAM, 16, f1gp_state )
|
||||
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0xfff002, 0xfff005) AM_WRITE(f1gp_fgscroll_w)
|
||||
AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0xfff008, 0xfff009) AM_READ(command_pending_r)
|
||||
AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w)
|
||||
AM_RANGE(0xfff008, 0xfff009) AM_READWRITE8(command_pending_r, sound_command_w, 0x00ff)
|
||||
AM_RANGE(0xfff040, 0xfff05f) AM_DEVWRITE("k053936", k053936_device, ctrl_w)
|
||||
AM_RANGE(0xfff050, 0xfff051) AM_READ_PORT("DSW3")
|
||||
ADDRESS_MAP_END
|
||||
@ -103,7 +99,7 @@ static ADDRESS_MAP_START( f1gp2_cpu1_map, AS_PROGRAM, 16, f1gp_state )
|
||||
// AM_RANGE(0xfff002, 0xfff003) analog wheel?
|
||||
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0xfff008, 0xfff009) AM_READWRITE(command_pending_r, sound_command_w)
|
||||
AM_RANGE(0xfff008, 0xfff009) AM_READWRITE8(command_pending_r, sound_command_w, 0x00ff)
|
||||
AM_RANGE(0xfff00a, 0xfff00b) AM_READ_PORT("DSW3")
|
||||
AM_RANGE(0xfff020, 0xfff03f) AM_DEVWRITE("k053936", k053936_device, ctrl_w)
|
||||
AM_RANGE(0xfff044, 0xfff047) AM_WRITE(f1gp_fgscroll_w)
|
||||
|
@ -95,9 +95,9 @@ public:
|
||||
required_shared_ptr<uint32_t> m_nvram;
|
||||
required_shared_ptr<uint32_t> m_spriteram;
|
||||
DECLARE_READ32_MEMBER(in0_r);
|
||||
DECLARE_WRITE32_MEMBER(output_w);
|
||||
DECLARE_WRITE16_MEMBER(output_w);
|
||||
DECLARE_WRITE16_MEMBER(output2_w);
|
||||
DECLARE_DRIVER_INIT(feversoc);
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update_feversoc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(feversoc_irq);
|
||||
required_device<sh2_device> m_maincpu;
|
||||
@ -111,9 +111,6 @@ public:
|
||||
|
||||
#define MASTER_CLOCK XTAL_28_63636MHz
|
||||
|
||||
void feversoc_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t feversoc_state::screen_update_feversoc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
@ -153,49 +150,49 @@ READ32_MEMBER(feversoc_state::in0_r)
|
||||
return io0 | io1;
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(feversoc_state::output_w)
|
||||
WRITE16_MEMBER( feversoc_state::output_w )
|
||||
{
|
||||
if(ACCESSING_BITS_16_31)
|
||||
{
|
||||
machine().bookkeeping().coin_lockout_w(0,~data>>16 & 0x40);
|
||||
machine().bookkeeping().coin_lockout_w(1,~data>>16 & 0x40);
|
||||
machine().bookkeeping().coin_counter_w(0,data>>16 & 1);
|
||||
//data>>16 & 2 coin out
|
||||
machine().bookkeeping().coin_counter_w(1,data>>16 & 4);
|
||||
//data>>16 & 8 coin hopper
|
||||
m_oki->set_rom_bank(((data>>16) & 0x20)>>5);
|
||||
machine().bookkeeping().coin_lockout_w(0, ~data & 0x40);
|
||||
machine().bookkeeping().coin_lockout_w(1, ~data & 0x40);
|
||||
machine().bookkeeping().coin_counter_w(0, data & 1);
|
||||
// data & 2 coin out
|
||||
machine().bookkeeping().coin_counter_w(1, data & 4);
|
||||
// data & 8 coin hopper
|
||||
m_oki->set_rom_bank((data & 0x20) >> 5);
|
||||
|
||||
m_eeprom->di_write((data & 0x80000000) ? 1 : 0);
|
||||
m_eeprom->clk_write((data & 0x40000000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_eeprom->cs_write((data & 0x20000000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_eeprom->di_write((data & 0x8000) ? 1 : 0);
|
||||
m_eeprom->clk_write((data & 0x4000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_eeprom->cs_write((data & 0x2000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
|
||||
m_rtc->data_w((data & 0x08000000) ? 1 : 0);
|
||||
m_rtc->wr_w((data & 0x04000000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_rtc->clk_w((data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_rtc->ce_w((data & 0x01000000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
if(ACCESSING_BITS_0_15)
|
||||
{
|
||||
machine().output().set_lamp_value(1, BIT(data, 0)); // LAMP1
|
||||
machine().output().set_lamp_value(2, BIT(data, 1)); // LAMP2
|
||||
machine().output().set_lamp_value(3, BIT(data, 2)); // LAMP3
|
||||
machine().output().set_lamp_value(4, BIT(data, 3)); // LAMP4
|
||||
machine().output().set_lamp_value(5, BIT(data, 4)); // LAMP5
|
||||
machine().output().set_lamp_value(6, BIT(data, 5)); // LAMP6
|
||||
machine().output().set_lamp_value(7, BIT(data, 6)); // LAMP7
|
||||
|
||||
machine().bookkeeping().coin_counter_w(2,data & 0x2000); //key in
|
||||
//data & 0x4000 key out
|
||||
}
|
||||
m_rtc->data_w((data & 0x0800) ? 1 : 0);
|
||||
m_rtc->wr_w((data & 0x0400) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_rtc->clk_w((data & 0x0200) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_rtc->ce_w((data & 0x0100) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( feversoc_state::output2_w )
|
||||
{
|
||||
machine().output().set_lamp_value(1, BIT(data, 0)); // LAMP1
|
||||
machine().output().set_lamp_value(2, BIT(data, 1)); // LAMP2
|
||||
machine().output().set_lamp_value(3, BIT(data, 2)); // LAMP3
|
||||
machine().output().set_lamp_value(4, BIT(data, 3)); // LAMP4
|
||||
machine().output().set_lamp_value(5, BIT(data, 4)); // LAMP5
|
||||
machine().output().set_lamp_value(6, BIT(data, 5)); // LAMP6
|
||||
machine().output().set_lamp_value(7, BIT(data, 6)); // LAMP7
|
||||
|
||||
machine().bookkeeping().coin_counter_w(2, data & 0x2000); // key in
|
||||
//data & 0x4000 key out
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( feversoc_map, AS_PROGRAM, 32, feversoc_state )
|
||||
AM_RANGE(0x00000000, 0x0003ffff) AM_ROM
|
||||
AM_RANGE(0x02000000, 0x0202ffff) AM_RAM AM_SHARE("workram1") //work ram
|
||||
AM_RANGE(0x02030000, 0x0203ffff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0x02034000, 0x0203dfff) AM_RAM AM_SHARE("workram2") //work ram
|
||||
AM_RANGE(0x0203e000, 0x0203ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x06000000, 0x06000003) AM_WRITE(output_w)
|
||||
AM_RANGE(0x06000000, 0x06000003) AM_WRITE16(output_w, 0xffff0000)
|
||||
AM_RANGE(0x06000000, 0x06000003) AM_WRITE16(output2_w, 0x0000ffff)
|
||||
AM_RANGE(0x06000004, 0x06000007) AM_WRITENOP //???
|
||||
AM_RANGE(0x06000008, 0x0600000b) AM_READ(in0_r)
|
||||
AM_RANGE(0x0600000c, 0x0600000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff0000)
|
||||
|
@ -73,15 +73,12 @@ WRITE16_MEMBER(fuuki16_state::vregs_w)
|
||||
}
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(fuuki16_state::sound_command_w)
|
||||
WRITE8_MEMBER( fuuki16_state::sound_command_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
m_soundlatch->write(space,0,data & 0xff);
|
||||
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
m_soundlatch->write(space,0,data & 0xff);
|
||||
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
// space.device().execute().spin_until_time(attotime::from_usec(50)); // Allow the other CPU to reply
|
||||
machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50)); // Fixes glitching in rasters
|
||||
}
|
||||
machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50)); // Fixes glitching in rasters
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( fuuki16_map, AS_PROGRAM, 16, fuuki16_state )
|
||||
@ -96,7 +93,7 @@ static ADDRESS_MAP_START( fuuki16_map, AS_PROGRAM, 16, fuuki16_state )
|
||||
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x810000, 0x810001) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x880000, 0x880001) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x8a0000, 0x8a0001) AM_WRITE(sound_command_w) // To Sound CPU
|
||||
AM_RANGE(0x8a0000, 0x8a0001) AM_WRITE8(sound_command_w, 0x00ff) // To Sound CPU
|
||||
AM_RANGE(0x8c0000, 0x8c001f) AM_RAM_WRITE(vregs_w) AM_SHARE("vregs") // Video Registers
|
||||
AM_RANGE(0x8d0000, 0x8d0003) AM_RAM AM_SHARE("unknown") //
|
||||
AM_RANGE(0x8e0000, 0x8e0001) AM_RAM AM_SHARE("priority") //
|
||||
|
@ -33,39 +33,30 @@ Year Game PCB NOTES
|
||||
*
|
||||
*************************************/
|
||||
|
||||
WRITE16_MEMBER(gaelco_state::bigkarnk_sound_command_w)
|
||||
WRITE8_MEMBER(gaelco_state::bigkarnk_sound_command_w)
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
m_soundlatch->write(space, 0, data);
|
||||
m_audiocpu->set_input_line(M6809_FIRQ_LINE, HOLD_LINE);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(gaelco_state::bigkarnk_coin_w)
|
||||
{
|
||||
switch ((offset >> 3))
|
||||
{
|
||||
m_soundlatch->write(space, 0, data & 0xff);
|
||||
m_audiocpu->set_input_line(M6809_FIRQ_LINE, HOLD_LINE);
|
||||
case 0x00: /* Coin Lockouts */
|
||||
case 0x01:
|
||||
machine().bookkeeping().coin_lockout_w((offset >> 3) & 0x01, ~data & 0x01);
|
||||
break;
|
||||
case 0x02: /* Coin Counters */
|
||||
case 0x03:
|
||||
machine().bookkeeping().coin_counter_w((offset >> 3) & 0x01, data & 0x01);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(gaelco_state::bigkarnk_coin_w)
|
||||
WRITE8_MEMBER(gaelco_state::OKIM6295_bankswitch_w)
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
switch ((offset >> 3))
|
||||
{
|
||||
case 0x00: /* Coin Lockouts */
|
||||
case 0x01:
|
||||
machine().bookkeeping().coin_lockout_w((offset >> 3) & 0x01, ~data & 0x01);
|
||||
break;
|
||||
case 0x02: /* Coin Counters */
|
||||
case 0x03:
|
||||
machine().bookkeeping().coin_counter_w((offset >> 3) & 0x01, data & 0x01);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(gaelco_state::OKIM6295_bankswitch_w)
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
membank("okibank")->set_entry(data & 0x0f);
|
||||
}
|
||||
membank("okibank")->set_entry(data & 0x0f);
|
||||
}
|
||||
|
||||
/*********** Squash Encryption Related Code ******************/
|
||||
@ -124,8 +115,8 @@ static ADDRESS_MAP_START( bigkarnk_map, AS_PROGRAM, 16, gaelco_state )
|
||||
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x700008, 0x700009) AM_READ_PORT("SERVICE")
|
||||
AM_RANGE(0x70000e, 0x70000f) AM_WRITE(bigkarnk_sound_command_w) /* Triggers a FIRQ on the sound CPU */
|
||||
AM_RANGE(0x70000a, 0x70003b) AM_WRITE(bigkarnk_coin_w) /* Coin Counters + Coin Lockout */
|
||||
AM_RANGE(0x70000e, 0x70000f) AM_WRITE8(bigkarnk_sound_command_w, 0x00ff) /* Triggers a FIRQ on the sound CPU */
|
||||
AM_RANGE(0x70000a, 0x70003b) AM_WRITE8(bigkarnk_coin_w, 0x00ff) /* Coin Counters + Coin Lockout */
|
||||
AM_RANGE(0xff8000, 0xffffff) AM_RAM /* Work RAM */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -150,7 +141,7 @@ static ADDRESS_MAP_START( maniacsq_map, AS_PROGRAM, 16, gaelco_state )
|
||||
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w) /* OKI6295 bankswitch */
|
||||
AM_RANGE(0x70000c, 0x70000d) AM_WRITE8(OKIM6295_bankswitch_w, 0x00ff)
|
||||
AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) /* OKI6295 status register */
|
||||
AM_RANGE(0xff0000, 0xffffff) AM_RAM /* Work RAM */
|
||||
ADDRESS_MAP_END
|
||||
@ -167,7 +158,7 @@ static ADDRESS_MAP_START( squash_map, AS_PROGRAM, 16, gaelco_state )
|
||||
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w) /* OKI6295 bankswitch */
|
||||
AM_RANGE(0x70000c, 0x70000d) AM_WRITE8(OKIM6295_bankswitch_w, 0x00ff)
|
||||
AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) /* OKI6295 status register */
|
||||
AM_RANGE(0xff0000, 0xffffff) AM_RAM /* Work RAM */
|
||||
ADDRESS_MAP_END
|
||||
@ -184,7 +175,7 @@ static ADDRESS_MAP_START( thoop_map, AS_PROGRAM, 16, gaelco_state )
|
||||
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w) /* OKI6295 bankswitch */
|
||||
AM_RANGE(0x70000c, 0x70000d) AM_WRITE8(OKIM6295_bankswitch_w, 0x00ff)
|
||||
AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) /* OKI6295 status register */
|
||||
AM_RANGE(0xff0000, 0xffffff) AM_RAM /* Work RAM */
|
||||
ADDRESS_MAP_END
|
||||
|
@ -78,8 +78,8 @@ public:
|
||||
optional_device<generic_latch_8_device> m_soundlatch; // not f1gpb
|
||||
|
||||
DECLARE_WRITE8_MEMBER(f1gp_sh_bankswitch_w);
|
||||
DECLARE_WRITE16_MEMBER(sound_command_w);
|
||||
DECLARE_READ16_MEMBER(command_pending_r);
|
||||
DECLARE_WRITE8_MEMBER(sound_command_w);
|
||||
DECLARE_READ8_MEMBER(command_pending_r);
|
||||
DECLARE_WRITE8_MEMBER(pending_command_clear_w);
|
||||
DECLARE_WRITE16_MEMBER(f1gpb_misc_w);
|
||||
DECLARE_READ16_MEMBER(f1gp_zoomdata_r);
|
||||
|
@ -56,7 +56,7 @@ public:
|
||||
emu_timer *m_raster_interrupt_timer;
|
||||
|
||||
DECLARE_WRITE16_MEMBER(vregs_w);
|
||||
DECLARE_WRITE16_MEMBER(sound_command_w);
|
||||
DECLARE_WRITE8_MEMBER(sound_command_w);
|
||||
DECLARE_WRITE8_MEMBER(sound_rombank_w);
|
||||
DECLARE_WRITE16_MEMBER(vram_0_w);
|
||||
DECLARE_WRITE16_MEMBER(vram_1_w);
|
||||
|
@ -39,9 +39,9 @@ public:
|
||||
/* video-related */
|
||||
tilemap_t *m_tilemap[2];
|
||||
|
||||
DECLARE_WRITE16_MEMBER(bigkarnk_sound_command_w);
|
||||
DECLARE_WRITE16_MEMBER(bigkarnk_coin_w);
|
||||
DECLARE_WRITE16_MEMBER(OKIM6295_bankswitch_w);
|
||||
DECLARE_WRITE8_MEMBER(bigkarnk_sound_command_w);
|
||||
DECLARE_WRITE8_MEMBER(bigkarnk_coin_w);
|
||||
DECLARE_WRITE8_MEMBER(OKIM6295_bankswitch_w);
|
||||
DECLARE_WRITE16_MEMBER(gaelco_vram_encrypted_w);
|
||||
DECLARE_WRITE16_MEMBER(gaelco_encrypted_w);
|
||||
DECLARE_WRITE16_MEMBER(thoop_vram_encrypted_w);
|
||||
|
Loading…
Reference in New Issue
Block a user