aerofgt: ACCESSING_BITS cleanup

This commit is contained in:
Dirk Best 2017-01-02 01:30:39 +01:00
parent 9ee3c958d5
commit 8f69676717
3 changed files with 51 additions and 81 deletions

View File

@ -67,36 +67,21 @@ Verification still needed for the other PCBs.
#include "sound/3812intf.h"
#include "includes/aerofgt.h"
WRITE16_MEMBER(aerofgt_state::sound_command_w)
WRITE8_MEMBER(aerofgt_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, 0, data);
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
WRITE16_MEMBER(aerofgt_state::turbofrc_sound_command_w)
WRITE8_MEMBER(aerofgt_state::aerfboot_soundlatch_w)
{
if (ACCESSING_BITS_8_15)
{
m_pending_command = 1;
m_soundlatch->write(space, offset, (data >> 8) & 0xff);
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
m_soundlatch->write(space, 0, data);
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
WRITE16_MEMBER(aerofgt_state::aerfboot_soundlatch_w)
{
if(ACCESSING_BITS_8_15)
{
m_soundlatch->write(space, 0, (data >> 8) & 0xff);
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
}
READ16_MEMBER(aerofgt_state::pending_command_r)
READ8_MEMBER(aerofgt_state::pending_command_r)
{
return m_pending_command;
}
@ -111,7 +96,6 @@ WRITE8_MEMBER(aerofgt_state::aerofgt_sh_bankswitch_w)
membank("bank1")->set_entry(data & 0x03);
}
WRITE16_MEMBER(aerofgt_state::pspikesb_oki_banking_w)
{
m_oki->set_rom_bank(data & 3);
@ -153,10 +137,10 @@ static ADDRESS_MAP_START( pspikes_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xffc000, 0xffc3ff) AM_WRITEONLY AM_SHARE("spriteram3")
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE(pspikes_palette_bank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(pspikes_gfxbank_w)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE8(pspikes_palette_bank_w, 0x00ff)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE8(pspikes_gfxbank_w, 0x00ff)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
AM_RANGE(0xfff006, 0xfff007) AM_READWRITE(pending_command_r, sound_command_w)
AM_RANGE(0xfff006, 0xfff007) AM_READWRITE8(pending_command_r, sound_command_w, 0x00ff)
ADDRESS_MAP_END
static ADDRESS_MAP_START( pspikesb_map, AS_PROGRAM, 16, aerofgt_state )
@ -190,7 +174,7 @@ static ADDRESS_MAP_START( spikes91_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0")
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(pspikes_gfxbank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE8(pspikes_gfxbank_w, 0x00ff)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
AM_RANGE(0xfff006, 0xfff007) AM_NOP
AM_RANGE(0xfff008, 0xfff009) AM_WRITE(spikes91_lookup_w)
@ -204,8 +188,8 @@ static ADDRESS_MAP_START( pspikesc_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xffc000, 0xffcbff) AM_RAM AM_SHARE("spriteram3")
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE(pspikes_palette_bank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(pspikes_gfxbank_w)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE8(pspikes_palette_bank_w, 0x00ff)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE8(pspikes_gfxbank_w, 0x00ff)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW")
AM_RANGE(0xfff004, 0xfff005) AM_WRITE(aerofgt_bg1scrolly_w)
AM_RANGE(0xfff006, 0xfff007) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
@ -223,11 +207,11 @@ static ADDRESS_MAP_START( karatblz_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_SHARE("spriteram3")
AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x0ff000, 0x0ff001) AM_READ_PORT("IN0")
AM_RANGE(0x0ff002, 0x0ff003) AM_READ_PORT("IN1") AM_WRITE(karatblz_gfxbank_w)
AM_RANGE(0x0ff002, 0x0ff003) AM_READ_PORT("IN1") AM_WRITE8(karatblz_gfxbank_w, 0xff00)
AM_RANGE(0x0ff004, 0x0ff005) AM_READ_PORT("IN2")
AM_RANGE(0x0ff006, 0x0ff007) AM_READ_PORT("IN3") AM_WRITE(sound_command_w)
AM_RANGE(0x0ff006, 0x0ff007) AM_READ_PORT("IN3") AM_WRITE8(sound_command_w, 0x00ff)
AM_RANGE(0x0ff008, 0x0ff009) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrollx_w)
AM_RANGE(0x0ff00a, 0x0ff00b) AM_READ(pending_command_r) AM_WRITE(aerofgt_bg1scrolly_w)
AM_RANGE(0x0ff00a, 0x0ff00b) AM_READ8(pending_command_r, 0x00ff) AM_WRITE(aerofgt_bg1scrolly_w)
AM_RANGE(0x0ff00c, 0x0ff00d) AM_WRITE(aerofgt_bg2scrollx_w)
AM_RANGE(0x0ff00e, 0x0ff00f) AM_WRITE(aerofgt_bg2scrolly_w)
ADDRESS_MAP_END
@ -240,10 +224,10 @@ static ADDRESS_MAP_START( spinlbrk_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xffc000, 0xffc7ff) AM_RAM AM_SHARE("spriteram3")
AM_RANGE(0xffd000, 0xffd1ff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
AM_RANGE(0xffe000, 0xffe7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE(spinlbrk_gfxbank_w)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE8(spinlbrk_gfxbank_w, 0x00ff)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(aerofgt_bg2scrollx_w)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW")
AM_RANGE(0xfff006, 0xfff007) AM_WRITE(sound_command_w)
AM_RANGE(0xfff006, 0xfff007) AM_WRITE8(sound_command_w, 0x00ff)
// AM_RANGE(0xfff008, 0xfff009) - read when analog inputs are enabled
// AM_RANGE(0xfff00a, 0xfff00b) /
ADDRESS_MAP_END
@ -263,11 +247,11 @@ static ADDRESS_MAP_START( turbofrc_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0ff000, 0x0ff001) AM_READ_PORT("IN0")
AM_RANGE(0x0ff002, 0x0ff003) AM_READ_PORT("IN1") AM_WRITE(aerofgt_bg1scrolly_w)
AM_RANGE(0x0ff004, 0x0ff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg2scrollx_w)
AM_RANGE(0x0ff006, 0x0ff007) AM_READ(pending_command_r) AM_WRITE(aerofgt_bg2scrolly_w)
AM_RANGE(0x0ff006, 0x0ff007) AM_READ8(pending_command_r, 0x00ff) AM_WRITE(aerofgt_bg2scrolly_w)
AM_RANGE(0x0ff008, 0x0ff009) AM_READ_PORT("IN2")
AM_RANGE(0x0ff008, 0x0ff00b) AM_WRITE(turbofrc_gfxbank_w)
AM_RANGE(0x0ff00c, 0x0ff00d) AM_WRITENOP /* related to bg2 (written together with the scroll registers) */
AM_RANGE(0x0ff00e, 0x0ff00f) AM_WRITE(turbofrc_sound_command_w)
AM_RANGE(0x0ff00e, 0x0ff00f) AM_WRITE8(sound_command_w, 0xff00)
ADDRESS_MAP_END
static ADDRESS_MAP_START( aerofgtb_map, AS_PROGRAM, 16, aerofgt_state )
@ -283,10 +267,10 @@ static ADDRESS_MAP_START( aerofgtb_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0fe000, 0x0fe001) AM_READ_PORT("IN0")
AM_RANGE(0x0fe002, 0x0fe003) AM_READ_PORT("IN1") AM_WRITE(aerofgt_bg1scrolly_w)
AM_RANGE(0x0fe004, 0x0fe005) AM_READ_PORT("DSW1") AM_WRITE(aerofgt_bg2scrollx_w)
AM_RANGE(0x0fe006, 0x0fe007) AM_READ(pending_command_r) AM_WRITE(aerofgt_bg2scrolly_w)
AM_RANGE(0x0fe006, 0x0fe007) AM_READ8(pending_command_r, 0x00ff) AM_WRITE(aerofgt_bg2scrolly_w)
AM_RANGE(0x0fe008, 0x0fe009) AM_READ_PORT("DSW2")
AM_RANGE(0x0fe008, 0x0fe00b) AM_WRITE(turbofrc_gfxbank_w)
AM_RANGE(0x0fe00e, 0x0fe00f) AM_WRITE(turbofrc_sound_command_w)
AM_RANGE(0x0fe00e, 0x0fe00f) AM_WRITE8(sound_command_w, 0xff00)
AM_RANGE(0x0ff000, 0x0fffff) AM_RAM AM_SHARE("rasterram") /* used only for the scroll registers */
ADDRESS_MAP_END
@ -309,9 +293,9 @@ static ADDRESS_MAP_START( aerofgt_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xffffa4, 0xffffa5) AM_READ_PORT("SYSTEM")
AM_RANGE(0xffffa6, 0xffffa7) AM_READ_PORT("DSW1")
AM_RANGE(0xffffa8, 0xffffa9) AM_READ_PORT("DSW2")
AM_RANGE(0xffffac, 0xffffad) AM_READ(pending_command_r) AM_WRITENOP /* ??? */
AM_RANGE(0xffffac, 0xffffad) AM_READ8(pending_command_r, 0x00ff) AM_WRITENOP /* ??? */
AM_RANGE(0xffffae, 0xffffaf) AM_READ_PORT("DSW3")
AM_RANGE(0xffffc0, 0xffffc1) AM_WRITE(sound_command_w)
AM_RANGE(0xffffc0, 0xffffc1) AM_WRITE8(sound_command_w, 0x00ff)
ADDRESS_MAP_END
static ADDRESS_MAP_START( aerfboot_map, AS_PROGRAM, 16, aerofgt_state )
@ -332,7 +316,7 @@ static ADDRESS_MAP_START( aerfboot_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0fe004, 0x0fe005) AM_WRITE(aerofgt_bg2scrollx_w)
AM_RANGE(0x0fe006, 0x0fe007) AM_WRITE(aerofgt_bg2scrolly_w)
AM_RANGE(0x0fe008, 0x0fe00b) AM_WRITE(turbofrc_gfxbank_w)
AM_RANGE(0x0fe00e, 0x0fe00f) AM_WRITE(aerfboot_soundlatch_w)
AM_RANGE(0x0fe00e, 0x0fe00f) AM_WRITE8(aerfboot_soundlatch_w, 0xff00)
AM_RANGE(0x0fe010, 0x0fe011) AM_WRITENOP
AM_RANGE(0x0fe012, 0x0fe013) AM_WRITENOP
AM_RANGE(0x0fe400, 0x0fe401) AM_WRITENOP
@ -380,10 +364,10 @@ static ADDRESS_MAP_START( wbbc97_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xffc000, 0xffc3ff) AM_WRITEONLY AM_SHARE("spriteram3")
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE(pspikes_palette_bank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(pspikes_gfxbank_w)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE8(pspikes_palette_bank_w, 0x00ff)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE8(pspikes_gfxbank_w, 0x00ff)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
AM_RANGE(0xfff006, 0xfff007) AM_READNOP AM_WRITE(sound_command_w)
AM_RANGE(0xfff006, 0xfff007) AM_READNOP AM_WRITE8(sound_command_w, 0x00ff)
AM_RANGE(0xfff00e, 0xfff00f) AM_WRITE(wbbc97_bitmap_enable_w)
ADDRESS_MAP_END

View File

@ -78,27 +78,26 @@ public:
int m_pending_command;
/* handlers */
DECLARE_WRITE16_MEMBER(sound_command_w);
DECLARE_WRITE16_MEMBER(turbofrc_sound_command_w);
DECLARE_WRITE16_MEMBER(aerfboot_soundlatch_w);
DECLARE_READ16_MEMBER(pending_command_r);
DECLARE_WRITE8_MEMBER(sound_command_w);
DECLARE_WRITE8_MEMBER(aerfboot_soundlatch_w);
DECLARE_READ8_MEMBER(pending_command_r);
DECLARE_WRITE8_MEMBER(pending_command_clear_w);
DECLARE_WRITE8_MEMBER(aerofgt_sh_bankswitch_w);
DECLARE_WRITE8_MEMBER(aerfboot_okim6295_banking_w);
DECLARE_WRITE16_MEMBER(aerofgt_bg1videoram_w);
DECLARE_WRITE16_MEMBER(aerofgt_bg2videoram_w);
DECLARE_WRITE16_MEMBER(pspikes_gfxbank_w);
DECLARE_WRITE8_MEMBER(pspikes_gfxbank_w);
DECLARE_WRITE16_MEMBER(pspikesb_gfxbank_w);
DECLARE_WRITE16_MEMBER(spikes91_lookup_w);
DECLARE_WRITE16_MEMBER(karatblz_gfxbank_w);
DECLARE_WRITE16_MEMBER(spinlbrk_gfxbank_w);
DECLARE_WRITE8_MEMBER(karatblz_gfxbank_w);
DECLARE_WRITE8_MEMBER(spinlbrk_gfxbank_w);
DECLARE_WRITE16_MEMBER(turbofrc_gfxbank_w);
DECLARE_WRITE16_MEMBER(aerofgt_gfxbank_w);
DECLARE_WRITE16_MEMBER(aerofgt_bg1scrollx_w);
DECLARE_WRITE16_MEMBER(aerofgt_bg1scrolly_w);
DECLARE_WRITE16_MEMBER(aerofgt_bg2scrollx_w);
DECLARE_WRITE16_MEMBER(aerofgt_bg2scrolly_w);
DECLARE_WRITE16_MEMBER(pspikes_palette_bank_w);
DECLARE_WRITE8_MEMBER(pspikes_palette_bank_w);
DECLARE_WRITE16_MEMBER(wbbc97_bitmap_enable_w);
DECLARE_WRITE16_MEMBER(pspikesb_oki_banking_w);
DECLARE_WRITE16_MEMBER(aerfboo2_okim6295_banking_w);

View File

@ -194,32 +194,22 @@ void aerofgt_state::setbank( tilemap_t *tmap, int num, int bank )
}
}
WRITE16_MEMBER(aerofgt_state::pspikes_gfxbank_w)
WRITE8_MEMBER(aerofgt_state::pspikes_gfxbank_w)
{
if (ACCESSING_BITS_0_7)
{
setbank(m_bg1_tilemap, 0, (data & 0xf0) >> 4);
setbank(m_bg1_tilemap, 1, data & 0x0f);
}
setbank(m_bg1_tilemap, 0, (data & 0xf0) >> 4);
setbank(m_bg1_tilemap, 1, data & 0x0f);
}
WRITE16_MEMBER(aerofgt_state::karatblz_gfxbank_w)
WRITE8_MEMBER(aerofgt_state::karatblz_gfxbank_w)
{
if (ACCESSING_BITS_8_15)
{
setbank(m_bg1_tilemap, 0, (data & 0x0100) >> 8);
setbank(m_bg2_tilemap, 1, (data & 0x0800) >> 11);
}
setbank(m_bg1_tilemap, 0, (data & 0x01));
setbank(m_bg2_tilemap, 1, (data & 0x08) >> 3);
}
WRITE16_MEMBER(aerofgt_state::spinlbrk_gfxbank_w)
WRITE8_MEMBER(aerofgt_state::spinlbrk_gfxbank_w)
{
if (ACCESSING_BITS_0_7)
{
setbank(m_bg1_tilemap, 0, (data & 0x07));
setbank(m_bg2_tilemap, 1, (data & 0x38) >> 3);
}
setbank(m_bg1_tilemap, 0, (data & 0x07));
setbank(m_bg2_tilemap, 1, (data & 0x38) >> 3);
}
WRITE16_MEMBER(aerofgt_state::turbofrc_gfxbank_w)
@ -264,16 +254,13 @@ WRITE16_MEMBER(aerofgt_state::aerofgt_bg2scrolly_w)
COMBINE_DATA(&m_bg2scrolly);
}
WRITE16_MEMBER(aerofgt_state::pspikes_palette_bank_w)
WRITE8_MEMBER(aerofgt_state::pspikes_palette_bank_w)
{
if (ACCESSING_BITS_0_7)
m_spritepalettebank = data & 0x03;
if (m_charpalettebank != (data & 0x1c) >> 2)
{
m_spritepalettebank = data & 0x03;
if (m_charpalettebank != (data & 0x1c) >> 2)
{
m_charpalettebank = (data & 0x1c) >> 2;
m_bg1_tilemap->mark_all_dirty();
}
m_charpalettebank = (data & 0x1c) >> 2;
m_bg1_tilemap->mark_all_dirty();
}
}