mirror of
https://github.com/holub/mame
synced 2025-05-05 22:04:43 +03:00
Templatized the palette generators and made naming consistent.
Moved video/generic flip screen management into the base driver_device class and updated all callers.
This commit is contained in:
parent
94d0358dd3
commit
7f5529c2cd
236
src/emu/driver.c
236
src/emu/driver.c
@ -58,7 +58,9 @@ driver_device::driver_device(const machine_config &mconfig, device_type type, co
|
||||
m_generic_paletteram_16(*this, "paletteram"),
|
||||
m_generic_paletteram2_16(*this, "paletteram2"),
|
||||
m_generic_paletteram_32(*this, "paletteram"),
|
||||
m_generic_paletteram2_32(*this, "paletteram2")
|
||||
m_generic_paletteram2_32(*this, "paletteram2"),
|
||||
m_flip_screen_x(0),
|
||||
m_flip_screen_y(0)
|
||||
{
|
||||
memset(m_callbacks, 0, sizeof(m_callbacks));
|
||||
}
|
||||
@ -265,6 +267,10 @@ void driver_device::device_start()
|
||||
machine_start();
|
||||
sound_start();
|
||||
video_start();
|
||||
|
||||
// save generic states
|
||||
save_item(NAME(m_flip_screen_x));
|
||||
save_item(NAME(m_flip_screen_y));
|
||||
}
|
||||
|
||||
|
||||
@ -282,3 +288,231 @@ void driver_device::device_reset_after_children()
|
||||
sound_reset();
|
||||
video_reset();
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GENERIC FLIP SCREEN HANDLING
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// updateflip - handle global flipping
|
||||
//-------------------------------------------------
|
||||
|
||||
void driver_device::updateflip()
|
||||
{
|
||||
// push the flip state to all tilemaps
|
||||
machine().tilemap().set_flip_all((TILEMAP_FLIPX & m_flip_screen_x) | (TILEMAP_FLIPY & m_flip_screen_y));
|
||||
|
||||
// flip the visible area within the screen width/height
|
||||
int width = machine().primary_screen->width();
|
||||
int height = machine().primary_screen->height();
|
||||
rectangle visarea = machine().primary_screen->visible_area();
|
||||
if (m_flip_screen_x)
|
||||
{
|
||||
int temp = width - visarea.min_x - 1;
|
||||
visarea.min_x = width - visarea.max_x - 1;
|
||||
visarea.max_x = temp;
|
||||
}
|
||||
if (m_flip_screen_y)
|
||||
{
|
||||
int temp = height - visarea.min_y - 1;
|
||||
visarea.min_y = height - visarea.max_y - 1;
|
||||
visarea.max_y = temp;
|
||||
}
|
||||
|
||||
// reconfigure the screen with the new visible area
|
||||
attoseconds_t period = machine().primary_screen->frame_period().attoseconds;
|
||||
machine().primary_screen->configure(width, height, visarea, period);
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// flip_screen_set - set global flip
|
||||
//-------------------------------------------------
|
||||
|
||||
void driver_device::flip_screen_set(UINT32 on)
|
||||
{
|
||||
// normalize to all 1
|
||||
if (on)
|
||||
on = ~0;
|
||||
|
||||
// if something's changed, handle it
|
||||
if (m_flip_screen_x != on || m_flip_screen_y != on)
|
||||
{
|
||||
if (!on)
|
||||
updateflip(); // flip visarea back
|
||||
m_flip_screen_x = m_flip_screen_y = on;
|
||||
updateflip();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// flip_screen_set_no_update - set global flip
|
||||
// do not call update_flip.
|
||||
//-------------------------------------------------
|
||||
|
||||
void driver_device::flip_screen_set_no_update(UINT32 on)
|
||||
{
|
||||
// flip_screen_y is not updated on purpose
|
||||
// this function is for drivers which
|
||||
// where writing to flip_screen_x to
|
||||
// bypass update_flip
|
||||
if (on)
|
||||
on = ~0;
|
||||
m_flip_screen_x = on;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// flip_screen_x_set - set global horizontal flip
|
||||
//-------------------------------------------------
|
||||
|
||||
void driver_device::flip_screen_x_set(UINT32 on)
|
||||
{
|
||||
// normalize to all 1
|
||||
if (on)
|
||||
on = ~0;
|
||||
|
||||
// if something's changed, handle it
|
||||
if (m_flip_screen_x != on)
|
||||
{
|
||||
m_flip_screen_x = on;
|
||||
updateflip();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// flip_screen_y_set - set global vertical flip
|
||||
//-------------------------------------------------
|
||||
|
||||
void driver_device::flip_screen_y_set(UINT32 on)
|
||||
{
|
||||
// normalize to all 1
|
||||
if (on)
|
||||
on = ~0;
|
||||
|
||||
// if something's changed, handle it
|
||||
if (m_flip_screen_y != on)
|
||||
{
|
||||
m_flip_screen_y = on;
|
||||
updateflip();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// 8-BIT PALETTE WRITE HANDLERS
|
||||
//**************************************************************************
|
||||
|
||||
// 3-3-2 RGB palette write handlers
|
||||
WRITE8_MEMBER( driver_device::paletteram_BBGGGRRR_byte_w ) { palette_8bit_byte_w<3,3,2, 0,3,6>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_RRRGGGBB_byte_w ) { palette_8bit_byte_w<3,3,2, 5,2,0>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_BBGGRRII_byte_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
int i = (data >> 0) & 3;
|
||||
palette_set_color_rgb(machine(), offset, pal4bit(((data >> 0) & 0x0c) | i),
|
||||
pal4bit(((data >> 2) & 0x0c) | i),
|
||||
pal4bit(((data >> 4) & 0x0c) | i));
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// 16-BIT PALETTE WRITE HANDLERS
|
||||
//**************************************************************************
|
||||
|
||||
// 4-4-4 RGB palette write handlers
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_byte_le_w ) { palette_16bit_byte_le_w<4,4,4, 0,4,8>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_byte_be_w ) { palette_16bit_byte_be_w<4,4,4, 0,4,8>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w ) { palette_16bit_byte_split_lo_w<4,4,4, 0,4,8>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w ) { palette_16bit_byte_split_hi_w<4,4,4, 0,4,8>(space, offset, data, mem_mask); }
|
||||
WRITE16_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_word_w ) { palette_16bit_word_w<4,4,4, 0,4,8>(space, offset, data, mem_mask); }
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_byte_le_w ) { palette_16bit_byte_le_w<4,4,4, 4,0,8>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_byte_be_w ) { palette_16bit_byte_be_w<4,4,4, 4,0,8>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_byte_split_lo_w ) { palette_16bit_byte_split_lo_w<4,4,4, 4,0,8>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_byte_split_hi_w ) { palette_16bit_byte_split_hi_w<4,4,4, 4,0,8>(space, offset, data, mem_mask); }
|
||||
WRITE16_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_word_w ) { palette_16bit_word_w<4,4,4, 4,0,8>(space, offset, data, mem_mask); }
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRBBBBGGGG_byte_split_lo_w ) { palette_16bit_byte_split_lo_w<4,4,4, 8,0,4>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRBBBBGGGG_byte_split_hi_w ) { palette_16bit_byte_split_hi_w<4,4,4, 8,0,4>(space, offset, data, mem_mask); }
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_byte_le_w ) { palette_16bit_byte_le_w<4,4,4, 8,4,0>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_byte_be_w ) { palette_16bit_byte_be_w<4,4,4, 8,4,0>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_byte_split_lo_w ) { palette_16bit_byte_split_lo_w<4,4,4, 8,4,0>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_byte_split_hi_w ) { palette_16bit_byte_split_hi_w<4,4,4, 8,4,0>(space, offset, data, mem_mask); }
|
||||
WRITE16_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_word_w ) { palette_16bit_word_w<4,4,4, 8,4,0>(space, offset, data, mem_mask); }
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_RRRRGGGGBBBBxxxx_byte_be_w ) { palette_16bit_byte_be_w<4,4,4, 12,8,4>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_RRRRGGGGBBBBxxxx_byte_split_lo_w ) { palette_16bit_byte_split_lo_w<4,4,4, 12,8,4>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_RRRRGGGGBBBBxxxx_byte_split_hi_w ) { palette_16bit_byte_split_hi_w<4,4,4, 12,8,4>(space, offset, data, mem_mask); }
|
||||
WRITE16_MEMBER( driver_device::paletteram_RRRRGGGGBBBBxxxx_word_w ) { palette_16bit_word_w<4,4,4, 12,8,4>(space, offset, data, mem_mask); }
|
||||
|
||||
// 4-4-4-4 IRGB palette write handlers
|
||||
template<int _IShift, int _RShift, int _GShift, int _BShift>
|
||||
inline void set_color_irgb(running_machine &machine, pen_t color, UINT16 data)
|
||||
{
|
||||
static const UINT8 ztable[16] = { 0x0, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11 };
|
||||
UINT8 i = ztable[(data >> _IShift) & 15];
|
||||
UINT8 r = ((data >> _RShift) & 15) * i;
|
||||
UINT8 g = ((data >> _GShift) & 15) * i;
|
||||
UINT8 b = ((data >> _BShift) & 15) * i;
|
||||
palette_set_color_rgb(machine, color, r, g, b);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram_IIIIRRRRGGGGBBBB_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_irgb<12,8,4,0>(machine(), offset, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram_RRRRGGGGBBBBIIII_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_irgb<0,12,8,4>(machine(), offset, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
// 5-5-5 RGB palette write handlers
|
||||
WRITE8_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_byte_le_w ) { palette_16bit_byte_le_w<5,5,5, 0,5,10>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_byte_be_w ) { palette_16bit_byte_be_w<5,5,5, 0,5,10>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_byte_split_lo_w ) { palette_16bit_byte_split_lo_w<5,5,5, 0,5,10>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_byte_split_hi_w ) { palette_16bit_byte_split_hi_w<5,5,5, 0,5,10>(space, offset, data, mem_mask); }
|
||||
WRITE16_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_word_w ) { palette_16bit_word_w<5,5,5, 0,5,10>(space, offset, data, mem_mask); }
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xBBBBBRRRRRGGGGG_byte_split_lo_w ) { palette_16bit_byte_split_lo_w<5,5,5, 5,0,10>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xBBBBBRRRRRGGGGG_byte_split_hi_w ) { palette_16bit_byte_split_hi_w<5,5,5, 5,0,10>(space, offset, data, mem_mask); }
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_byte_le_w ) { palette_16bit_byte_le_w<5,5,5, 10,5,0>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_byte_be_w ) { palette_16bit_byte_be_w<5,5,5, 10,5,0>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_byte_split_lo_w ) { palette_16bit_byte_split_lo_w<5,5,5, 10,5,0>(space, offset, data, mem_mask); }
|
||||
WRITE8_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_byte_split_hi_w ) { palette_16bit_byte_split_hi_w<5,5,5, 10,5,0>(space, offset, data, mem_mask); }
|
||||
WRITE16_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_word_w ) { palette_16bit_word_w<5,5,5, 10,5,0>(space, offset, data, mem_mask); }
|
||||
WRITE32_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_dword_be_w ) { palette_16bit_dword_be_w<5,5,5, 10,5,0>(space, offset, data, mem_mask); }
|
||||
WRITE32_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_dword_le_w ) { palette_16bit_dword_le_w<5,5,5, 10,5,0>(space, offset, data, mem_mask); }
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram_xGGGGGRRRRRBBBBB_word_w ) { palette_16bit_word_w<5,5,5, 5,10,0>(space, offset, data, mem_mask); }
|
||||
WRITE16_MEMBER( driver_device::paletteram_xGGGGGBBBBBRRRRR_word_w ) { palette_16bit_word_w<5,5,5, 0,10,5>(space, offset, data, mem_mask); }
|
||||
WRITE16_MEMBER( driver_device::paletteram_RRRRRGGGGGBBBBBx_word_w ) { palette_16bit_word_w<5,5,5, 11,6,1>(space, offset, data, mem_mask); }
|
||||
WRITE16_MEMBER( driver_device::paletteram_GGGGGRRRRRBBBBBx_word_w ) { palette_16bit_word_w<5,5,5, 6,11,1>(space, offset, data, mem_mask); }
|
||||
WRITE16_MEMBER( driver_device::paletteram_RRRRGGGGBBBBRGBx_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
data = m_generic_paletteram_16[offset];
|
||||
palette_set_color_rgb(machine(), offset, pal5bit(((data >> 11) & 0x1e) | ((data >> 3) & 0x01)),
|
||||
pal5bit(((data >> 7) & 0x1e) | ((data >> 2) & 0x01)),
|
||||
pal5bit(((data >> 3) & 0x1e) | ((data >> 1) & 0x01)));
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// 32-BIT PALETTE WRITE HANDLERS
|
||||
//**************************************************************************
|
||||
|
||||
// 8-8-8 RGB palette write handlers
|
||||
WRITE16_MEMBER( driver_device::paletteram_xrgb_word_be_w ) { palette_32bit_word_be_w<8,8,8, 16,8,0>(space, offset, data, mem_mask); }
|
||||
WRITE16_MEMBER( driver_device::paletteram_xbgr_word_be_w ) { palette_32bit_word_be_w<8,8,8, 0,8,16>(space, offset, data, mem_mask); }
|
||||
|
259
src/emu/driver.h
259
src/emu/driver.h
@ -80,6 +80,20 @@ public:
|
||||
static void static_set_palette_init(device_t &device, palette_init_func callback);
|
||||
|
||||
// generic helpers
|
||||
template<class _DriverClass, void (_DriverClass::*_Function)()>
|
||||
static void static_wrapper(driver_device &device)
|
||||
{
|
||||
(downcast<_DriverClass &>(device).*_Function)();
|
||||
}
|
||||
|
||||
// generic video
|
||||
void flip_screen_set(UINT32 on);
|
||||
void flip_screen_set_no_update(UINT32 on);
|
||||
void flip_screen_x_set(UINT32 on);
|
||||
void flip_screen_y_set(UINT32 on);
|
||||
UINT32 flip_screen() const { return m_flip_screen_x; }
|
||||
UINT32 flip_screen_x() const { return m_flip_screen_x; }
|
||||
UINT32 flip_screen_y() const { return m_flip_screen_y; }
|
||||
|
||||
// watchdog read/write handlers
|
||||
DECLARE_WRITE8_MEMBER( watchdog_reset_w );
|
||||
@ -115,77 +129,86 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( soundlatch3_clear_w );
|
||||
DECLARE_WRITE8_MEMBER( soundlatch4_clear_w );
|
||||
|
||||
// general palette helpers
|
||||
void set_color_332(pen_t color, int rshift, int gshift, int bshift, UINT32 data);
|
||||
void set_color_444(pen_t color, int rshift, int gshift, int bshift, UINT32 data);
|
||||
void set_color_555(pen_t color, int rshift, int gshift, int bshift, UINT32 data);
|
||||
void set_color_565(pen_t color, int rshift, int gshift, int bshift, UINT32 data);
|
||||
void set_color_888(pen_t color, int rshift, int gshift, int bshift, UINT32 data);
|
||||
void set_color_4444(pen_t color, int ishift, int rshift, int gshift, int bshift, UINT16 data);
|
||||
// templatized palette writers for 8-bit palette data
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift> DECLARE_WRITE8_MEMBER( palette_8bit_byte_w );
|
||||
|
||||
// templatized palette writers for 16-bit palette data
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift> DECLARE_WRITE8_MEMBER( palette_16bit_byte_le_w );
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift> DECLARE_WRITE8_MEMBER( palette_16bit_byte_be_w );
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift> DECLARE_WRITE8_MEMBER( palette_16bit_byte_split_lo_w );
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift> DECLARE_WRITE8_MEMBER( palette_16bit_byte_split_hi_w );
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift> DECLARE_WRITE16_MEMBER( palette_16bit_word_w );
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift> DECLARE_WRITE32_MEMBER( palette_16bit_dword_le_w );
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift> DECLARE_WRITE32_MEMBER( palette_16bit_dword_be_w );
|
||||
|
||||
// templatized palette writers for 32-bit palette data
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift> DECLARE_WRITE16_MEMBER( palette_32bit_word_le_w );
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift> DECLARE_WRITE16_MEMBER( palette_32bit_word_be_w );
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift> DECLARE_WRITE32_MEMBER( palette_32bit_dword_w );
|
||||
|
||||
// 3-3-2 RGB palette write handlers
|
||||
DECLARE_WRITE8_MEMBER( paletteram_BBGGGRRR_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_RRRGGGBB_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_BBGGRRII_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_IIBBGGRR_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_BBGGGRRR_byte_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_RRRGGGBB_byte_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_BBGGRRII_byte_w );
|
||||
|
||||
// 4-4-4 RGB palette write handlers
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBGGGGRRRR_le_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBGGGGRRRR_be_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBGGGGRRRR_split1_w ); // uses paletteram
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBGGGGRRRR_split2_w ); // uses paletteram2
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_xxxxBBBBGGGGRRRR_word_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBGGGGRRRR_byte_le_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBGGGGRRRR_byte_be_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_xxxxBBBBGGGGRRRR_word_w );
|
||||
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBRRRRGGGG_le_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBRRRRGGGG_be_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBRRRRGGGG_split1_w ); // uses paletteram
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBRRRRGGGG_split2_w ); // uses paletteram2
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_xxxxBBBBRRRRGGGG_word_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBRRRRGGGG_byte_le_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBRRRRGGGG_byte_be_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBRRRRGGGG_byte_split_lo_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxBBBBRRRRGGGG_byte_split_hi_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_xxxxBBBBRRRRGGGG_word_w );
|
||||
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxRRRRBBBBGGGG_split1_w ); // uses paletteram
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxRRRRBBBBGGGG_split2_w ); // uses paletteram2
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxRRRRBBBBGGGG_byte_split_lo_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxRRRRBBBBGGGG_byte_split_hi_w );
|
||||
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxRRRRGGGGBBBB_le_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxRRRRGGGGBBBB_be_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxRRRRGGGGBBBB_split1_w ); // uses paletteram
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxRRRRGGGGBBBB_split2_w ); // uses paletteram2
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_xxxxRRRRGGGGBBBB_word_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxRRRRGGGGBBBB_byte_le_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxRRRRGGGGBBBB_byte_be_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxRRRRGGGGBBBB_byte_split_lo_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xxxxRRRRGGGGBBBB_byte_split_hi_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_xxxxRRRRGGGGBBBB_word_w );
|
||||
|
||||
DECLARE_WRITE8_MEMBER( paletteram_RRRRGGGGBBBBxxxx_be_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_RRRRGGGGBBBBxxxx_split1_w ); // uses paletteram
|
||||
DECLARE_WRITE8_MEMBER( paletteram_RRRRGGGGBBBBxxxx_split2_w ); // uses paletteram2
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_RRRRGGGGBBBBxxxx_word_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_RRRRGGGGBBBBxxxx_byte_be_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_RRRRGGGGBBBBxxxx_byte_split_lo_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_RRRRGGGGBBBBxxxx_byte_split_hi_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_RRRRGGGGBBBBxxxx_word_w );
|
||||
|
||||
// 4-4-4-4 IRGB palette write handlers
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_IIIIRRRRGGGGBBBB_word_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_RRRRGGGGBBBBIIII_word_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_IIIIRRRRGGGGBBBB_word_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_RRRRGGGGBBBBIIII_word_w );
|
||||
|
||||
// 5-5-5 RGB palette write handlers
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xBBBBBGGGGGRRRRR_le_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xBBBBBGGGGGRRRRR_be_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xBBBBBGGGGGRRRRR_split1_w ); // uses paletteram
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xBBBBBGGGGGRRRRR_split2_w ); // uses paletteram2
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_xBBBBBGGGGGRRRRR_word_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xBBBBBGGGGGRRRRR_byte_le_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xBBBBBGGGGGRRRRR_byte_be_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xBBBBBGGGGGRRRRR_byte_split_lo_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xBBBBBGGGGGRRRRR_byte_split_hi_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_xBBBBBGGGGGRRRRR_word_w );
|
||||
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xBBBBBRRRRRGGGGG_split1_w ); // uses paletteram
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xBBBBBRRRRRGGGGG_split2_w ); // uses paletteram2
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xBBBBBRRRRRGGGGG_byte_split_lo_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xBBBBBRRRRRGGGGG_byte_split_hi_w );
|
||||
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xRRRRRGGGGGBBBBB_le_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xRRRRRGGGGGBBBBB_be_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xRRRRRGGGGGBBBBB_split1_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xRRRRRGGGGGBBBBB_split2_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_xRRRRRGGGGGBBBBB_word_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xRRRRRGGGGGBBBBB_byte_le_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xRRRRRGGGGGBBBBB_byte_be_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xRRRRRGGGGGBBBBB_byte_split_lo_w );
|
||||
DECLARE_WRITE8_MEMBER( paletteram_xRRRRRGGGGGBBBBB_byte_split_hi_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_xRRRRRGGGGGBBBBB_word_w );
|
||||
DECLARE_WRITE32_MEMBER( paletteram_xRRRRRGGGGGBBBBB_dword_be_w );
|
||||
DECLARE_WRITE32_MEMBER( paletteram_xRRRRRGGGGGBBBBB_dword_le_w );
|
||||
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_xGGGGGRRRRRBBBBB_word_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_xGGGGGBBBBBRRRRR_word_w );
|
||||
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_RRRRRGGGGGBBBBBx_word_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_GGGGGRRRRRBBBBBx_word_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_RRRRGGGGBBBBRGBx_word_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_xGGGGGRRRRRBBBBB_word_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_xGGGGGBBBBBRRRRR_word_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_RRRRRGGGGGBBBBBx_word_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_GGGGGRRRRRBBBBBx_word_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_RRRRGGGGBBBBRGBx_word_w );
|
||||
|
||||
// 8-8-8 RGB palette write handlers
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_xrgb_word_be_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram16_xbgr_word_be_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_xrgb_word_be_w );
|
||||
DECLARE_WRITE16_MEMBER( paletteram_xbgr_word_be_w );
|
||||
|
||||
// generic input port helpers
|
||||
// custom handler
|
||||
@ -230,6 +253,14 @@ public:
|
||||
optional_shared_ptr<UINT16> m_generic_paletteram2_16;
|
||||
optional_shared_ptr<UINT32> m_generic_paletteram_32;
|
||||
optional_shared_ptr<UINT32> m_generic_paletteram2_32;
|
||||
|
||||
private:
|
||||
// helpers
|
||||
void updateflip();
|
||||
|
||||
// generic video
|
||||
UINT32 m_flip_screen_x;
|
||||
UINT32 m_flip_screen_y;
|
||||
};
|
||||
|
||||
|
||||
@ -243,4 +274,124 @@ device_t *driver_device_creator(const machine_config &mconfig, const char *tag,
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// PALETTE WRITER TEMPLATES
|
||||
//**************************************************************************
|
||||
|
||||
// write 8-bit palette data
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift>
|
||||
WRITE8_MEMBER(driver_device::palette_8bit_byte_w)
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
UINT8 paldata = m_generic_paletteram_8[offset];
|
||||
palette_set_color_rgb(machine(), offset, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_BlueBits>(paldata >> _BlueShift));
|
||||
}
|
||||
|
||||
// write 16-bit palette data to consecutive 8-bit addresses with LSB first
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift>
|
||||
WRITE8_MEMBER(driver_device::palette_16bit_byte_le_w)
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
UINT16 paldata = m_generic_paletteram_8[offset & ~1] | (m_generic_paletteram_8[offset | 1] << 8);
|
||||
palette_set_color_rgb(machine(), offset / 2, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_BlueBits>(paldata >> _BlueShift));
|
||||
}
|
||||
|
||||
// write 16-bit palette data to consecutive 8-bit addresses with MSB first
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift>
|
||||
WRITE8_MEMBER(driver_device::palette_16bit_byte_be_w)
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
UINT16 paldata = m_generic_paletteram_8[offset | 1] | (m_generic_paletteram_8[offset & ~1] << 8);
|
||||
palette_set_color_rgb(machine(), offset / 2, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_BlueBits>(paldata >> _BlueShift));
|
||||
}
|
||||
|
||||
// write 16-bit palette data to split 8-bit addresses (LSB)
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift>
|
||||
WRITE8_MEMBER(driver_device::palette_16bit_byte_split_lo_w)
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
UINT16 paldata = m_generic_paletteram_8[offset] | (m_generic_paletteram2_8[offset] << 8);
|
||||
palette_set_color_rgb(machine(), offset, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_BlueBits>(paldata >> _BlueShift));
|
||||
}
|
||||
|
||||
// write 16-bit palette data to split 8-bit addresses (MSB)
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift>
|
||||
WRITE8_MEMBER(driver_device::palette_16bit_byte_split_hi_w)
|
||||
{
|
||||
m_generic_paletteram2_8[offset] = data;
|
||||
UINT16 paldata = m_generic_paletteram_8[offset] | (m_generic_paletteram2_8[offset] << 8);
|
||||
palette_set_color_rgb(machine(), offset, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_BlueBits>(paldata >> _BlueShift));
|
||||
}
|
||||
|
||||
// write 16-bit palette data to 16-bit addresses
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift>
|
||||
WRITE16_MEMBER(driver_device::palette_16bit_word_w)
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
UINT16 paldata = m_generic_paletteram_16[offset];
|
||||
palette_set_color_rgb(machine(), offset, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_BlueBits>(paldata >> _BlueShift));
|
||||
}
|
||||
|
||||
// write 16-bit palette data to packed 32-bit addresses (lower entry in lower 16 bits)
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift>
|
||||
WRITE32_MEMBER(driver_device::palette_16bit_dword_le_w)
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_32[offset]);
|
||||
if (ACCESSING_BITS_0_15)
|
||||
{
|
||||
UINT16 paldata = m_generic_paletteram_32[offset];
|
||||
palette_set_color_rgb(machine(), offset * 2 + 0, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_GreenBits>(paldata >> _BlueShift));
|
||||
}
|
||||
if (ACCESSING_BITS_16_31)
|
||||
{
|
||||
UINT16 paldata = m_generic_paletteram_32[offset] >> 16;
|
||||
palette_set_color_rgb(machine(), offset * 2 + 1, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_GreenBits>(paldata >> _BlueShift));
|
||||
}
|
||||
}
|
||||
|
||||
// write 16-bit palette data to packed 32-bit addresses (lower entry in upper 16 bits)
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift>
|
||||
WRITE32_MEMBER(driver_device::palette_16bit_dword_be_w)
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_32[offset]);
|
||||
if (ACCESSING_BITS_16_31)
|
||||
{
|
||||
UINT16 paldata = m_generic_paletteram_32[offset] >> 16;
|
||||
palette_set_color_rgb(machine(), offset * 2 + 0, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_BlueBits>(paldata >> _BlueShift));
|
||||
}
|
||||
if (ACCESSING_BITS_0_15)
|
||||
{
|
||||
UINT16 paldata = m_generic_paletteram_32[offset];
|
||||
palette_set_color_rgb(machine(), offset * 2 + 1, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_BlueBits>(paldata >> _BlueShift));
|
||||
}
|
||||
}
|
||||
|
||||
// write 32-bit palette data to consecutive 16-bit addresses with LSW first
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift>
|
||||
WRITE16_MEMBER(driver_device::palette_32bit_word_le_w)
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
UINT32 paldata = m_generic_paletteram_16[offset & ~1] | (m_generic_paletteram_16[offset | 1] << 16);
|
||||
palette_set_color_rgb(machine(), offset / 2, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_BlueBits>(paldata >> _BlueShift));
|
||||
}
|
||||
|
||||
// write 32-bit palette data to consecutive 16-bit addresses with MSW first
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift>
|
||||
WRITE16_MEMBER(driver_device::palette_32bit_word_be_w)
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
UINT32 paldata = m_generic_paletteram_16[offset | 1] | (m_generic_paletteram_16[offset & ~1] << 16);
|
||||
palette_set_color_rgb(machine(), offset / 2, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_BlueBits>(paldata >> _BlueShift));
|
||||
}
|
||||
|
||||
// write 32-bit palette data to 32-bit addresses
|
||||
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift>
|
||||
WRITE32_MEMBER(driver_device::palette_32bit_dword_w)
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_32[offset]);
|
||||
UINT32 paldata = m_generic_paletteram_32[offset];
|
||||
palette_set_color_rgb(machine(), offset, palexpand<_RedBits>(paldata >> _RedShift), palexpand<_GreenBits>(paldata >> _GreenShift), palexpand<_BlueBits>(paldata >> _BlueShift));
|
||||
}
|
||||
|
||||
#endif /* __DRIVER_H__ */
|
||||
|
@ -85,16 +85,6 @@ const UINT32 GAME_IS_SKELETON_MECHANICAL = GAME_IS_SKELETON | GAME_MECHANICAL |
|
||||
// static driver initialization callback
|
||||
typedef void (*driver_init_func)(running_machine &machine);
|
||||
|
||||
/*
|
||||
// wrapper template to allow members
|
||||
template<class _DriverClass, void (_DriverClass::*_Function)()>
|
||||
void driver_init_wrapper(running_machine &machine)
|
||||
{
|
||||
_DriverClass *object = machine.driver_data<_DriverClass>();
|
||||
(object->*_Function)();
|
||||
}
|
||||
*/
|
||||
|
||||
// static POD structure describing each game driver entry
|
||||
struct game_driver
|
||||
{
|
||||
|
@ -62,7 +62,6 @@
|
||||
- calls render_init() [render.c] to initialize the rendering system
|
||||
- calls ui_init() [ui.c] to initialize the user interface
|
||||
- calls generic_machine_init() [machine/generic.c] to initialize generic machine structures
|
||||
- calls generic_video_init() [video/generic.c] to initialize generic video structures
|
||||
- calls generic_sound_init() [audio/generic.c] to initialize generic sound structures
|
||||
- calls timer_init() [timer.c] to reset the timer system
|
||||
- calls osd_init() [osdepend.h] to do platform-specific initialization
|
||||
@ -149,7 +148,6 @@ running_machine::running_machine(const machine_config &_config, osd_interface &o
|
||||
ui_input_data(NULL),
|
||||
debugcpu_data(NULL),
|
||||
generic_machine_data(NULL),
|
||||
generic_video_data(NULL),
|
||||
generic_audio_data(NULL),
|
||||
|
||||
m_config(_config),
|
||||
@ -252,7 +250,6 @@ void running_machine::start()
|
||||
m_render = auto_alloc(*this, render_manager(*this));
|
||||
generic_machine_init(*this);
|
||||
generic_sound_init(*this);
|
||||
generic_video_init(*this);
|
||||
|
||||
// allocate a soft_reset timer
|
||||
m_soft_reset_timer = m_scheduler.timer_alloc(timer_expired_delegate(FUNC(running_machine::soft_reset), this));
|
||||
|
@ -189,7 +189,6 @@ typedef struct _input_port_private input_port_private;
|
||||
typedef struct _ui_input_private ui_input_private;
|
||||
typedef struct _debugcpu_private debugcpu_private;
|
||||
typedef struct _generic_machine_private generic_machine_private;
|
||||
typedef struct _generic_video_private generic_video_private;
|
||||
typedef struct _generic_audio_private generic_audio_private;
|
||||
|
||||
|
||||
@ -413,7 +412,6 @@ public:
|
||||
ui_input_private * ui_input_data; // internal data from uiinput.c
|
||||
debugcpu_private * debugcpu_data; // internal data from debugcpu.c
|
||||
generic_machine_private *generic_machine_data; // internal data from machine/generic.c
|
||||
generic_video_private * generic_video_data; // internal data from video/generic.c
|
||||
generic_audio_private * generic_audio_data; // internal data from audio/generic.c
|
||||
|
||||
private:
|
||||
|
@ -13,18 +13,6 @@
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
***************************************************************************/
|
||||
|
||||
struct _generic_video_private
|
||||
{
|
||||
int flip_screen_x;
|
||||
int flip_screen_y;
|
||||
};
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
COMMON GRAPHICS LAYOUTS
|
||||
***************************************************************************/
|
||||
@ -108,253 +96,6 @@ const gfx_layout gfx_16x16x4_planar =
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
INLINE FUNCTIONS
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
set_color_332 - set a 3-3-2 RGB color using
|
||||
the 16-bit data provided and the specified
|
||||
shift values
|
||||
-------------------------------------------------*/
|
||||
|
||||
void driver_device::set_color_332(pen_t color, int rshift, int gshift, int bshift, UINT32 data)
|
||||
{
|
||||
palette_set_color(machine(), color, pal332(data, rshift, gshift, bshift));
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
set_color_444 - set a 4-4-4 RGB color using
|
||||
the 16-bit data provided and the specified
|
||||
shift values
|
||||
-------------------------------------------------*/
|
||||
|
||||
void driver_device::set_color_444(pen_t color, int rshift, int gshift, int bshift, UINT32 data)
|
||||
{
|
||||
palette_set_color(machine(), color, pal444(data, rshift, gshift, bshift));
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
set_color_4444 - set a 4-4-4-4 IRGB color using
|
||||
the 16-bit data provided and the specified
|
||||
shift values
|
||||
-------------------------------------------------*/
|
||||
|
||||
void driver_device::set_color_4444(pen_t color, int ishift, int rshift, int gshift, int bshift, UINT16 data)
|
||||
{
|
||||
static const UINT8 ztable[16] =
|
||||
{ 0x0, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11 };
|
||||
int i, r, g, b;
|
||||
|
||||
i = ztable[(data >> ishift) & 15];
|
||||
r = ((data >> rshift) & 15) * i;
|
||||
g = ((data >> gshift) & 15) * i;
|
||||
b = ((data >> bshift) & 15) * i;
|
||||
|
||||
palette_set_color_rgb(machine(), color, r, g, b);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
set_color_555 - set a 5-5-5 RGB color using
|
||||
the 16-bit data provided and the specified
|
||||
shift values
|
||||
-------------------------------------------------*/
|
||||
|
||||
void driver_device::set_color_555(pen_t color, int rshift, int gshift, int bshift, UINT32 data)
|
||||
{
|
||||
palette_set_color(machine(), color, pal555(data, rshift, gshift, bshift));
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
set_color_565 - set a 5-6-5 RGB color using
|
||||
the 16-bit data provided and the specified
|
||||
shift values
|
||||
-------------------------------------------------*/
|
||||
|
||||
void driver_device::set_color_565(pen_t color, int rshift, int gshift, int bshift, UINT32 data)
|
||||
{
|
||||
palette_set_color(machine(), color, pal565(data, rshift, gshift, bshift));
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
set_color_8888 - set a 8-8-8 RGB color using
|
||||
the 32-bit data provided and the specified
|
||||
shift values
|
||||
-------------------------------------------------*/
|
||||
|
||||
void driver_device::set_color_888(pen_t color, int rshift, int gshift, int bshift, UINT32 data)
|
||||
{
|
||||
palette_set_color(machine(), color, pal888(data, rshift, gshift, bshift));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
INITIALIZATION
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
generic_video_init - initialize globals and
|
||||
register for save states
|
||||
-------------------------------------------------*/
|
||||
|
||||
void generic_video_init(running_machine &machine)
|
||||
{
|
||||
generic_video_private *state;
|
||||
|
||||
state = machine.generic_video_data = auto_alloc_clear(machine, generic_video_private);
|
||||
|
||||
machine.save().save_item(NAME(state->flip_screen_x));
|
||||
machine.save().save_item(NAME(state->flip_screen_y));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
GLOBAL VIDEO ATTRIBUTES
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
updateflip - handle global flipping
|
||||
-------------------------------------------------*/
|
||||
|
||||
static void updateflip(running_machine &machine)
|
||||
{
|
||||
generic_video_private *state = machine.generic_video_data;
|
||||
int width = machine.primary_screen->width();
|
||||
int height = machine.primary_screen->height();
|
||||
attoseconds_t period = machine.primary_screen->frame_period().attoseconds;
|
||||
rectangle visarea = machine.primary_screen->visible_area();
|
||||
|
||||
machine.tilemap().set_flip_all((TILEMAP_FLIPX & state->flip_screen_x) | (TILEMAP_FLIPY & state->flip_screen_y));
|
||||
|
||||
if (state->flip_screen_x)
|
||||
{
|
||||
int temp;
|
||||
|
||||
temp = width - visarea.min_x - 1;
|
||||
visarea.min_x = width - visarea.max_x - 1;
|
||||
visarea.max_x = temp;
|
||||
}
|
||||
if (state->flip_screen_y)
|
||||
{
|
||||
int temp;
|
||||
|
||||
temp = height - visarea.min_y - 1;
|
||||
visarea.min_y = height - visarea.max_y - 1;
|
||||
visarea.max_y = temp;
|
||||
}
|
||||
|
||||
machine.primary_screen->configure(width, height, visarea, period);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
flip_screen_set - set global flip
|
||||
-------------------------------------------------*/
|
||||
|
||||
void flip_screen_set(running_machine &machine, int on)
|
||||
{
|
||||
generic_video_private *state = machine.generic_video_data;
|
||||
if (on) on = ~0;
|
||||
if (state->flip_screen_x != on || state->flip_screen_y != on)
|
||||
{
|
||||
if (!on) updateflip(machine); // flip visarea back
|
||||
state->flip_screen_x = state->flip_screen_y = on;
|
||||
updateflip(machine);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
flip_screen_set_no_update - set global flip
|
||||
do not call update_flip.
|
||||
-------------------------------------------------*/
|
||||
|
||||
void flip_screen_set_no_update(running_machine &machine, int on)
|
||||
{
|
||||
/* flip_screen_y is not updated on purpose
|
||||
* this function is for drivers which
|
||||
* where writing to flip_screen_x to
|
||||
* bypass update_flip
|
||||
*/
|
||||
generic_video_private *state = machine.generic_video_data;
|
||||
if (on) on = ~0;
|
||||
state->flip_screen_x = on;
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
flip_screen_x_set - set global horizontal flip
|
||||
-------------------------------------------------*/
|
||||
|
||||
void flip_screen_x_set(running_machine &machine, int on)
|
||||
{
|
||||
generic_video_private *state = machine.generic_video_data;
|
||||
if (on) on = ~0;
|
||||
if (state->flip_screen_x != on)
|
||||
{
|
||||
state->flip_screen_x = on;
|
||||
updateflip(machine);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
flip_screen_y_set - set global vertical flip
|
||||
-------------------------------------------------*/
|
||||
|
||||
void flip_screen_y_set(running_machine &machine, int on)
|
||||
{
|
||||
generic_video_private *state = machine.generic_video_data;
|
||||
if (on) on = ~0;
|
||||
if (state->flip_screen_y != on)
|
||||
{
|
||||
state->flip_screen_y = on;
|
||||
updateflip(machine);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
flip_screen_get - get global flip
|
||||
-------------------------------------------------*/
|
||||
|
||||
int flip_screen_get(running_machine &machine)
|
||||
{
|
||||
generic_video_private *state = machine.generic_video_data;
|
||||
return state->flip_screen_x;
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
flip_screen_x_get - get global x flip
|
||||
-------------------------------------------------*/
|
||||
|
||||
int flip_screen_x_get(running_machine &machine)
|
||||
{
|
||||
generic_video_private *state = machine.generic_video_data;
|
||||
return state->flip_screen_x;
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
flip_screen_get - get global y flip
|
||||
-------------------------------------------------*/
|
||||
|
||||
int flip_screen_y_get(running_machine &machine)
|
||||
{
|
||||
generic_video_private *state = machine.generic_video_data;
|
||||
return state->flip_screen_y;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
COMMON PALETTE INITIALIZATION
|
||||
***************************************************************************/
|
||||
@ -490,418 +231,3 @@ PALETTE_INIT( RRRRR_GGGGGG_BBBBB )
|
||||
for (i = 0; i < 0x10000; i++)
|
||||
palette_set_color(machine, i, MAKE_RGB(pal5bit(i >> 11), pal6bit(i >> 5), pal5bit(i >> 0)));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
3-3-2 RGB PALETTE WRITE HANDLERS
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
RRR-GGG-BB writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_RRRGGGBB_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
palette_set_color_rgb(machine(), offset, pal3bit(data >> 5), pal3bit(data >> 2), pal2bit(data >> 0));
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
BB-GGG-RR writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_BBGGGRRR_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
palette_set_color_rgb(machine(), offset, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6));
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
BB-GG-RR-II writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_BBGGRRII_w )
|
||||
{
|
||||
int i = (data >> 0) & 3;
|
||||
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
palette_set_color_rgb(machine(), offset, pal4bit(((data >> 0) & 0x0c) | i),
|
||||
pal4bit(((data >> 2) & 0x0c) | i),
|
||||
pal4bit(((data >> 4) & 0x0c) | i));
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
II-BB-GG-RR writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_IIBBGGRR_w )
|
||||
{
|
||||
int i = (data >> 6) & 3;
|
||||
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
palette_set_color_rgb(machine(), offset, pal4bit(((data << 2) & 0x0c) | i),
|
||||
pal4bit(((data >> 0) & 0x0c) | i),
|
||||
pal4bit(((data >> 2) & 0x0c) | i));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
4-4-4 RGB PALETTE WRITE HANDLERS
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
xxxx-BBBB-GGGG-RRRR writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_le_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_444(offset / 2, 0, 4, 8, paletteram16_le(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_be_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_444(offset / 2, 0, 4, 8, paletteram16_be(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_split1_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_444(offset, 0, 4, 8, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_split2_w )
|
||||
{
|
||||
m_generic_paletteram2_8[offset] = data;
|
||||
set_color_444(offset, 0, 4, 8, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_xxxxBBBBGGGGRRRR_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_444(offset, 0, 4, 8, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
xxxx-BBBB-RRRR-GGGG writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_le_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_444(offset / 2, 4, 0, 8, paletteram16_le(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_be_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_444(offset / 2, 4, 0, 8, paletteram16_be(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_split1_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_444(offset, 4, 0, 8, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_split2_w )
|
||||
{
|
||||
m_generic_paletteram2_8[offset] = data;
|
||||
set_color_444(offset, 4, 0, 8, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_xxxxBBBBRRRRGGGG_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_444(offset, 4, 0, 8, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
xxxx-RRRR-BBBB-GGGG writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRBBBBGGGG_split1_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_444(offset, 8, 0, 4, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRBBBBGGGG_split2_w )
|
||||
{
|
||||
m_generic_paletteram2_8[offset] = data;
|
||||
set_color_444(offset, 8, 0, 4, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
xxxx-RRRR-GGGG-BBBB writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_le_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_444(offset / 2, 8, 4, 0, paletteram16_le(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_be_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_444(offset / 2, 8, 4, 0, paletteram16_be(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_split1_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_444(offset, 8, 4, 0, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_split2_w )
|
||||
{
|
||||
m_generic_paletteram2_8[offset] = data;
|
||||
set_color_444(offset, 8, 4, 0, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_xxxxRRRRGGGGBBBB_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_444(offset, 8, 4, 0, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
RRRR-GGGG-BBBB-xxxx writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_RRRRGGGGBBBBxxxx_be_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_444(offset / 2, 12, 8, 4, paletteram16_be(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_RRRRGGGGBBBBxxxx_split1_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_444(offset, 12, 8, 4, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_RRRRGGGGBBBBxxxx_split2_w )
|
||||
{
|
||||
m_generic_paletteram2_8[offset] = data;
|
||||
set_color_444(offset, 12, 8, 4, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_RRRRGGGGBBBBxxxx_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_444(offset, 12, 8, 4, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
5-5-5 RGB PALETTE WRITE HANDLERS
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
x-BBBBB-GGGGG-RRRRR writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_le_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_555(offset / 2, 0, 5, 10, paletteram16_le(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_be_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_555(offset / 2, 0, 5, 10, paletteram16_be(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_split1_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_555(offset, 0, 5, 10, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_split2_w )
|
||||
{
|
||||
m_generic_paletteram2_8[offset] = data;
|
||||
set_color_555(offset, 0, 5, 10, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_xBBBBBGGGGGRRRRR_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_555(offset, 0, 5, 10, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
x-BBBBB-RRRRR-GGGGG writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xBBBBBRRRRRGGGGG_split1_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_555(offset, 5, 0, 10, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xBBBBBRRRRRGGGGG_split2_w )
|
||||
{
|
||||
m_generic_paletteram2_8[offset] = data;
|
||||
set_color_555(offset, 5, 0, 10, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
x-RRRRR-GGGGG-BBBBB writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_le_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_555(offset / 2, 10, 5, 0, paletteram16_le(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_be_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_555(offset / 2, 10, 5, 0, paletteram16_be(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_split1_w )
|
||||
{
|
||||
m_generic_paletteram_8[offset] = data;
|
||||
set_color_555(offset, 10, 5, 0, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_split2_w )
|
||||
{
|
||||
m_generic_paletteram2_8[offset] = data;
|
||||
set_color_555(offset, 10, 5, 0, paletteram16_split(offset));
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_xRRRRRGGGGGBBBBB_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_555(offset, 10, 5, 0, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
x-GGGGG-RRRRR-BBBBB writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_xGGGGGRRRRRBBBBB_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_555(offset, 5, 10, 0, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
x-GGGGG-BBBBB-RRRRR writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_xGGGGGBBBBBRRRRR_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_555(offset, 0, 10, 5, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
GGGGG-RRRRR-BBBBB-x writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_GGGGGRRRRRBBBBBx_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_555(offset, 6, 11, 1, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
RRRRR-GGGGG-BBBBB-x writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_RRRRRGGGGGBBBBBx_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_555(offset, 11, 6, 1, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
RRRR-GGGG-BBBB-RGBx writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_RRRRGGGGBBBBRGBx_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
data = m_generic_paletteram_16[offset];
|
||||
palette_set_color_rgb(machine(), offset, pal5bit(((data >> 11) & 0x1e) | ((data >> 3) & 0x01)),
|
||||
pal5bit(((data >> 7) & 0x1e) | ((data >> 2) & 0x01)),
|
||||
pal5bit(((data >> 3) & 0x1e) | ((data >> 1) & 0x01)));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
4-4-4-4 RGBI PALETTE WRITE HANDLERS
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
IIII-RRRR-GGGG-BBBB writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_IIIIRRRRGGGGBBBB_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_4444(offset, 12, 8, 4, 0, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
RRRR-GGGG-BBBB-IIII writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_RRRRGGGGBBBBIIII_word_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_4444(offset, 0, 12, 8, 4, m_generic_paletteram_16[offset]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
8-8-8 RGB PALETTE WRITE HANDLERS
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
xxxxxxxx-RRRRRRRR-GGGGGGGG-BBBBBBBB writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_xrgb_word_be_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_888(offset / 2, 16, 8, 0, paletteram32_be(offset));
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
xxxxxxxx-BBBBBBBB-GGGGGGGG-RRRRRRRR writes
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE16_MEMBER( driver_device::paletteram16_xbgr_word_be_w )
|
||||
{
|
||||
COMBINE_DATA(&m_generic_paletteram_16[offset]);
|
||||
set_color_888(offset / 2, 0, 8, 16, paletteram32_be(offset));
|
||||
}
|
||||
|
@ -35,28 +35,6 @@ extern const gfx_layout gfx_16x16x4_planar;
|
||||
FUNCTION PROTOTYPES
|
||||
***************************************************************************/
|
||||
|
||||
/* ----- initialization ----- */
|
||||
|
||||
/* set up all the common systems */
|
||||
void generic_video_init(running_machine &machine);
|
||||
|
||||
|
||||
|
||||
/* ----- global attributes ----- */
|
||||
|
||||
/* set global attributes */
|
||||
void flip_screen_set(running_machine &machine, int on);
|
||||
void flip_screen_set_no_update(running_machine &machine, int on); /* will not call update_flip */
|
||||
void flip_screen_x_set(running_machine &machine, int on);
|
||||
void flip_screen_y_set(running_machine &machine, int on);
|
||||
int flip_screen_get(running_machine &machine);
|
||||
int flip_screen_x_get(running_machine &machine);
|
||||
int flip_screen_y_get(running_machine &machine);
|
||||
|
||||
//#define flip_screen flip_screen_get(machine)
|
||||
|
||||
|
||||
|
||||
/* ----- generic palette init routines ----- */
|
||||
|
||||
PALETTE_INIT( all_black );
|
||||
|
@ -296,6 +296,24 @@ inline UINT8 pal7bit(UINT8 bits)
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// palexpand - expand a palette value to 8 bits
|
||||
//-------------------------------------------------
|
||||
|
||||
template<int _NumBits>
|
||||
inline UINT8 palexpand(UINT8 data)
|
||||
{
|
||||
if (_NumBits == 1) return pal1bit(data);
|
||||
if (_NumBits == 2) return pal2bit(data);
|
||||
if (_NumBits == 3) return pal3bit(data);
|
||||
if (_NumBits == 4) return pal4bit(data);
|
||||
if (_NumBits == 5) return pal5bit(data);
|
||||
if (_NumBits == 6) return pal6bit(data);
|
||||
if (_NumBits == 7) return pal7bit(data);
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
pal332 - create a 3-3-2 color by extracting
|
||||
bits from a UINT32
|
||||
|
@ -313,7 +313,7 @@ static void delayed_sound_2( running_machine &machine, int data )
|
||||
if (~data & 0x20) state->m_curr_sound_pins |= 1 << 0xc;
|
||||
|
||||
if (state->m_n8080_hardware == 1)
|
||||
flip_screen_set_no_update(machine, data & 0x20);
|
||||
state->flip_screen_set_no_update(data & 0x20);
|
||||
if (state->m_n8080_hardware == 3)
|
||||
state->m_helifire_flash = data & 0x20;
|
||||
|
||||
|
@ -150,7 +150,7 @@ static ADDRESS_MAP_START( k3_map, AS_PROGRAM, 16, k3_state )
|
||||
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
|
||||
AM_RANGE(0x100000, 0x10ffff) AM_RAM // Main Ram
|
||||
AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") // palette
|
||||
AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") // palette
|
||||
AM_RANGE(0x240000, 0x240fff) AM_RAM AM_BASE(m_spriteram_1)
|
||||
AM_RANGE(0x280000, 0x280fff) AM_RAM AM_BASE(m_spriteram_2)
|
||||
AM_RANGE(0x2c0000, 0x2c0fff) AM_RAM_WRITE(k3_bgram_w) AM_BASE(m_bgram)
|
||||
|
@ -207,7 +207,7 @@ static ADDRESS_MAP_START( drill_map, AS_PROGRAM, 16, _2mindril_state )
|
||||
AM_RANGE(0x430000, 0x43ffff) AM_READWRITE(f3_pivot_r,f3_pivot_w)
|
||||
AM_RANGE(0x460000, 0x46000f) AM_WRITE(f3_control_0_w)
|
||||
AM_RANGE(0x460010, 0x46001f) AM_WRITE(f3_control_1_w)
|
||||
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x502022, 0x502023) AM_WRITENOP //countinously switches between 0 and 2
|
||||
AM_RANGE(0x600000, 0x600007) AM_DEVREADWRITE8_LEGACY("ymsnd", ym2610_r, ym2610_w, 0x00ff)
|
||||
AM_RANGE(0x60000c, 0x60000d) AM_READWRITE(drill_irq_r,drill_irq_w)
|
||||
|
@ -128,7 +128,7 @@ WRITE8_MEMBER(_88games_state::k052109_051960_w)
|
||||
|
||||
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _88games_state )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_BASE(m_banked_rom) /* banked ROM + palette RAM */
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE(m_paletteram_1000) /* banked ROM + palette RAM */
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_byte_be_w) AM_BASE(m_paletteram_1000) /* banked ROM + palette RAM */
|
||||
AM_RANGE(0x2000, 0x2fff) AM_RAM
|
||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(bankedram_r, bankedram_w) AM_BASE(m_ram)
|
||||
|
@ -140,12 +140,12 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
|
||||
int xx,yy,x;
|
||||
int delta = 16;
|
||||
|
||||
flipx ^= flip_screen_get(machine);
|
||||
flipy ^= flip_screen_get(machine);
|
||||
flipx ^= state->flip_screen();
|
||||
flipy ^= state->flip_screen();
|
||||
|
||||
if ((pri&pri_mask)!=priority) continue;
|
||||
|
||||
if (flip_screen_get(machine))
|
||||
if (state->flip_screen())
|
||||
{
|
||||
sx = 368 - sx;
|
||||
sy = 240 - sy;
|
||||
@ -458,7 +458,7 @@ static ADDRESS_MAP_START( acommand_map, AS_PROGRAM, 16, acommand_state )
|
||||
AM_RANGE(0x082208, 0x082209) AM_WRITE(ac_unk2_w)
|
||||
AM_RANGE(0x0a0000, 0x0a3fff) AM_RAM_WRITE(ac_bgvram_w) AM_BASE(m_ac_bgvram)
|
||||
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(ac_txvram_w) AM_BASE(m_ac_txvram)
|
||||
AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0f0000, 0x0f7fff) AM_RAM
|
||||
AM_RANGE(0x0f8000, 0x0f8fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
|
||||
AM_RANGE(0x0f9000, 0x0fffff) AM_RAM
|
||||
|
@ -82,7 +82,7 @@ static ADDRESS_MAP_START( actfan_map, AS_PROGRAM, 8, actfancr_state )
|
||||
AM_RANGE(0x072000, 0x0727ff) AM_DEVREADWRITE_LEGACY("tilegen2", deco_bac06_pf_data_8bit_swap_r, deco_bac06_pf_data_8bit_swap_w)
|
||||
AM_RANGE(0x100000, 0x1007ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x110000, 0x110001) AM_WRITE(actfancr_buffer_spriteram_w)
|
||||
AM_RANGE(0x120000, 0x1205ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x120000, 0x1205ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x130000, 0x130000) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x130001, 0x130001) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x130002, 0x130002) AM_READ_PORT("DSW1")
|
||||
@ -105,7 +105,7 @@ static ADDRESS_MAP_START( triothep_map, AS_PROGRAM, 8, actfancr_state )
|
||||
AM_RANGE(0x100000, 0x100001) AM_WRITE(actfancr_sound_w)
|
||||
AM_RANGE(0x110000, 0x110001) AM_WRITE(actfancr_buffer_spriteram_w)
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x130000, 0x1305ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x130000, 0x1305ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x140000, 0x140001) AM_READNOP /* Value doesn't matter */
|
||||
AM_RANGE(0x1f0000, 0x1f3fff) AM_RAM AM_BASE(m_main_ram) /* Main ram */
|
||||
AM_RANGE(0x1ff000, 0x1ff001) AM_READWRITE(triothep_control_r, triothep_control_select_w)
|
||||
|
@ -142,7 +142,7 @@ static ADDRESS_MAP_START( pspikes_map, AS_PROGRAM, 16, aerofgt_state )
|
||||
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_BASE(m_bg1videoram)
|
||||
AM_RANGE(0xffc000, 0xffc3ff) AM_WRITEONLY AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
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(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
|
||||
@ -158,7 +158,7 @@ static ADDRESS_MAP_START( pspikesb_map, AS_PROGRAM, 16, aerofgt_state )
|
||||
AM_RANGE(0xffc000, 0xffcbff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
|
||||
AM_RANGE(0xffd200, 0xffd201) AM_WRITE(pspikesb_gfxbank_w)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
|
||||
@ -178,7 +178,7 @@ static ADDRESS_MAP_START( spikes91_map, AS_PROGRAM, 16, aerofgt_state )
|
||||
AM_RANGE(0xffc000, 0xffcfff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
|
||||
//AM_RANGE(0xffd200, 0xffd201) AM_WRITE(pspikesb_gfxbank_w)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(pspikes_gfxbank_w)
|
||||
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
|
||||
@ -193,7 +193,7 @@ static ADDRESS_MAP_START( pspikesc_map, AS_PROGRAM, 16, aerofgt_state )
|
||||
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_BASE(m_bg1videoram)
|
||||
AM_RANGE(0xffc000, 0xffcbff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
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(0xfff004, 0xfff005) AM_READ_PORT("DSW")
|
||||
@ -211,7 +211,7 @@ static ADDRESS_MAP_START( karatblz_map, AS_PROGRAM, 16, aerofgt_state )
|
||||
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
|
||||
AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0ff000, 0x0ff001) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x0ff002, 0x0ff003) AM_READ_PORT("IN1") AM_WRITE(karatblz_gfxbank_w)
|
||||
AM_RANGE(0x0ff004, 0x0ff005) AM_READ_PORT("IN2")
|
||||
@ -229,7 +229,7 @@ static ADDRESS_MAP_START( spinlbrk_map, AS_PROGRAM, 16, aerofgt_state )
|
||||
AM_RANGE(0xff8000, 0xffbfff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0xffc000, 0xffc7ff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
|
||||
AM_RANGE(0xffd000, 0xffd1ff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
|
||||
AM_RANGE(0xffe000, 0xffe7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xffe000, 0xffe7ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE(spinlbrk_gfxbank_w)
|
||||
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(aerofgt_bg2scrollx_w)
|
||||
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW")
|
||||
@ -247,7 +247,7 @@ static ADDRESS_MAP_START( turbofrc_map, AS_PROGRAM, 16, aerofgt_state )
|
||||
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
|
||||
AM_RANGE(0x0fd000, 0x0fdfff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
|
||||
AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
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)
|
||||
@ -267,7 +267,7 @@ static ADDRESS_MAP_START( aerofgtb_map, AS_PROGRAM, 16, aerofgt_state )
|
||||
AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_BASE_SIZE(m_spriteram2, m_spriteram2_size)
|
||||
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
|
||||
AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
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)
|
||||
@ -280,7 +280,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( aerofgt_map, AS_PROGRAM, 16, aerofgt_state )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1b0000, 0x1b07ff) AM_RAM AM_BASE(m_rasterram) /* used only for the scroll registers */
|
||||
AM_RANGE(0x1b0800, 0x1b0801) AM_NOP /* ??? */
|
||||
AM_RANGE(0x1b0ff0, 0x1b0fff) AM_RAM /* stack area during boot */
|
||||
@ -312,7 +312,7 @@ static ADDRESS_MAP_START( aerfboot_map, AS_PROGRAM, 16, aerofgt_state )
|
||||
AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_BASE_SIZE(m_spriteram2, m_spriteram2_size)
|
||||
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM //AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
|
||||
AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0fe000, 0x0fe001) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x0fe002, 0x0fe003) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x0fe004, 0x0fe005) AM_READ_PORT("DSW1")
|
||||
@ -341,7 +341,7 @@ static ADDRESS_MAP_START( aerfboo2_map, AS_PROGRAM, 16, aerofgt_state )
|
||||
AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_BASE_SIZE(m_spriteram2, m_spriteram2_size)
|
||||
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
|
||||
AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0fe000, 0x0fe001) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x0fe002, 0x0fe003) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x0fe004, 0x0fe005) AM_READ_PORT("DSW1")
|
||||
@ -368,7 +368,7 @@ static ADDRESS_MAP_START( wbbc97_map, AS_PROGRAM, 16, aerofgt_state )
|
||||
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_BASE(m_bg1videoram)
|
||||
AM_RANGE(0xffc000, 0xffc3ff) AM_WRITEONLY AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
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(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
|
||||
|
@ -274,7 +274,7 @@ WRITE8_MEMBER(airbustr_state::slave_bankswitch_w)
|
||||
|
||||
memory_set_bank(machine(), "bank2", data & 0x07);
|
||||
|
||||
flip_screen_set(machine(), data & 0x10);
|
||||
flip_screen_set(data & 0x10);
|
||||
|
||||
// used at the end of levels, after defeating the boss, to leave trails
|
||||
pandora_set_clear_bitmap(m_pandora, data & 0x20);
|
||||
|
@ -29,7 +29,7 @@ static ADDRESS_MAP_START( ajax_main_map, AS_PROGRAM, 8, ajax_state )
|
||||
AM_RANGE(0x0000, 0x01c0) AM_READWRITE(ajax_ls138_f10_r, ajax_ls138_f10_w) /* bankswitch + sound command + FIRQ command */
|
||||
AM_RANGE(0x0800, 0x0807) AM_DEVREADWRITE_LEGACY("k051960", k051937_r, k051937_w) /* sprite control registers */
|
||||
AM_RANGE(0x0c00, 0x0fff) AM_DEVREADWRITE_LEGACY("k051960", k051960_r, k051960_w) /* sprite RAM 2128SL at J7 */
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_SHARE("paletteram")/* palette */
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_byte_be_w) AM_SHARE("paletteram")/* palette */
|
||||
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("share1") /* shared RAM with the 6809 */
|
||||
AM_RANGE(0x4000, 0x5fff) AM_RAM /* RAM 6264L at K10 */
|
||||
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank2") /* banked ROM */
|
||||
|
@ -145,7 +145,7 @@ WRITE8_MEMBER(albazc_state::albazc_vregs_w)
|
||||
if(offset == 0)
|
||||
{
|
||||
/* core bug with this? */
|
||||
//flip_screen_set(machine(), (data & 0x40) >> 6);
|
||||
//flip_screen_set((data & 0x40) >> 6);
|
||||
m_flip_bit = (data & 0x40) >> 6;
|
||||
}
|
||||
}
|
||||
|
@ -183,12 +183,13 @@ static WRITE8_DEVICE_HANDLER( mux_w )
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( yumefuda_output_w )
|
||||
{
|
||||
albazg_state *state = device->machine().driver_data<albazg_state>();
|
||||
coin_counter_w(device->machine(), 0, ~data & 4);
|
||||
coin_counter_w(device->machine(), 1, ~data & 2);
|
||||
coin_lockout_global_w(device->machine(), data & 1);
|
||||
//data & 0x10 hopper-c (active LOW)
|
||||
//data & 0x08 divider (active HIGH)
|
||||
flip_screen_set(device->machine(), ~data & 0x20);
|
||||
state->flip_screen_set(~data & 0x20);
|
||||
}
|
||||
|
||||
static const ay8910_interface ay8910_config =
|
||||
@ -233,8 +234,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, albazg_state )
|
||||
AM_RANGE(0xa7fc, 0xa7fc) AM_WRITE(prot_lock_w)
|
||||
AM_RANGE(0xa7ff, 0xa7ff) AM_WRITE_PORT("EEPROMOUT")
|
||||
AM_RANGE(0xaf80, 0xafff) AM_READWRITE(custom_ram_r, custom_ram_w) AM_BASE(m_cus_ram)
|
||||
AM_RANGE(0xb000, 0xb07f) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_split1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xb080, 0xb0ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_split2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xb000, 0xb07f) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_byte_split_lo_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xb080, 0xb0ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_byte_split_hi_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(yumefuda_vram_w) AM_BASE(m_videoram)
|
||||
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(yumefuda_cram_w) AM_BASE(m_colorram)
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM
|
||||
|
@ -38,7 +38,7 @@ READ8_MEMBER(aliens_state::bankedram_r)
|
||||
WRITE8_MEMBER(aliens_state::bankedram_w)
|
||||
{
|
||||
if (m_palette_selected)
|
||||
paletteram_xBBBBBGGGGGRRRRR_be_w(space, offset, data);
|
||||
paletteram_xBBBBBGGGGGRRRRR_byte_be_w(space, offset, data);
|
||||
else
|
||||
m_ram[offset] = data;
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ WRITE8_MEMBER(ambush_state::ambush_coin_counter_w)
|
||||
|
||||
WRITE8_MEMBER(ambush_state::flip_screen_w)
|
||||
{
|
||||
flip_screen_set(machine(), data);
|
||||
flip_screen_set(data);
|
||||
}
|
||||
|
||||
|
||||
|
@ -109,7 +109,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, aquarium_state )
|
||||
AM_RANGE(0xc01000, 0xc01fff) AM_RAM_WRITE(aquarium_bak_videoram_w) AM_BASE(m_bak_videoram)
|
||||
AM_RANGE(0xc02000, 0xc03fff) AM_RAM_WRITE(aquarium_txt_videoram_w) AM_BASE(m_txt_videoram)
|
||||
AM_RANGE(0xc80000, 0xc81fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
|
||||
AM_RANGE(0xd00000, 0xd00fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xd00000, 0xd00fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xd80014, 0xd8001f) AM_WRITEONLY AM_BASE(m_scroll)
|
||||
AM_RANGE(0xd80068, 0xd80069) AM_WRITENOP /* probably not used */
|
||||
AM_RANGE(0xd80080, 0xd80081) AM_READ_PORT("DSW")
|
||||
|
@ -325,7 +325,7 @@ WRITE16_MEMBER(armedf_state::terraf_io_w)
|
||||
coin_counter_w(machine(), 0, (data & 1) >> 0);
|
||||
coin_counter_w(machine(), 1, (data & 2) >> 1);
|
||||
|
||||
flip_screen_set(machine(), m_vreg & 0x1000);
|
||||
flip_screen_set(m_vreg & 0x1000);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(armedf_state::terrafb_io_w)
|
||||
@ -339,7 +339,7 @@ WRITE16_MEMBER(armedf_state::terrafb_io_w)
|
||||
coin_counter_w(machine(), 0, (data & 1) >> 0);
|
||||
coin_counter_w(machine(), 1, (data & 2) >> 1);
|
||||
|
||||
flip_screen_set(machine(), m_vreg & 0x1000);
|
||||
flip_screen_set(m_vreg & 0x1000);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(armedf_state::bootleg_io_w)
|
||||
@ -355,7 +355,7 @@ WRITE16_MEMBER(armedf_state::bootleg_io_w)
|
||||
coin_counter_w(machine(), 0, (data & 1) >> 0);
|
||||
coin_counter_w(machine(), 1, (data & 2) >> 1);
|
||||
|
||||
flip_screen_set(machine(), m_vreg & 0x1000);
|
||||
flip_screen_set(m_vreg & 0x1000);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(armedf_state::sound_command_w)
|
||||
@ -392,7 +392,7 @@ static ADDRESS_MAP_START( terraf_map, AS_PROGRAM, 16, armedf_state )
|
||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||
AM_RANGE(0x060000, 0x0603ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x060400, 0x063fff) AM_RAM
|
||||
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
|
||||
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
|
||||
AM_RANGE(0x06c000, 0x06cfff) AM_RAM AM_BASE(m_spr_pal_clut)
|
||||
@ -423,7 +423,7 @@ static ADDRESS_MAP_START( cclimbr2_map, AS_PROGRAM, 16, armedf_state )
|
||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x061000, 0x063fff) AM_RAM
|
||||
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
|
||||
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
|
||||
AM_RANGE(0x06c000, 0x06cfff) AM_RAM AM_BASE(m_spr_pal_clut)
|
||||
@ -445,7 +445,7 @@ static ADDRESS_MAP_START( legion_map, AS_PROGRAM, 16, armedf_state )
|
||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x061000, 0x063fff) AM_RAM
|
||||
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
|
||||
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
|
||||
AM_RANGE(0x06c000, 0x06cfff) AM_RAM AM_BASE(m_spr_pal_clut)
|
||||
@ -478,7 +478,7 @@ static ADDRESS_MAP_START( legiono_map, AS_PROGRAM, 16, armedf_state )
|
||||
AM_RANGE(0x000000, 0x05ffff) AM_ROM
|
||||
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x061000, 0x063fff) AM_RAM
|
||||
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
|
||||
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
|
||||
AM_RANGE(0x06c000, 0x06cfff) AM_RAM AM_BASE(m_spr_pal_clut)
|
||||
@ -503,7 +503,7 @@ static ADDRESS_MAP_START( armedf_map, AS_PROGRAM, 16, armedf_state )
|
||||
AM_RANGE(0x066000, 0x066fff) AM_RAM_WRITE(armedf_bg_videoram_w) AM_BASE(m_bg_videoram)
|
||||
AM_RANGE(0x067000, 0x067fff) AM_RAM_WRITE(armedf_fg_videoram_w) AM_BASE(m_fg_videoram)
|
||||
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(armedf_text_videoram_r,armedf_text_videoram_w,0x00ff)
|
||||
AM_RANGE(0x06a000, 0x06afff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x06a000, 0x06afff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x06b000, 0x06bfff) AM_RAM AM_BASE(m_spr_pal_clut)
|
||||
AM_RANGE(0x06c000, 0x06c001) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x06c002, 0x06c003) AM_READ_PORT("P2")
|
||||
@ -678,7 +678,7 @@ static ADDRESS_MAP_START( bigfghtr_map, AS_PROGRAM, 16, bigfghtr_state )
|
||||
AM_RANGE(0x086000, 0x086fff) AM_RAM_WRITE(armedf_bg_videoram_w) AM_BASE(m_bg_videoram)
|
||||
AM_RANGE(0x087000, 0x087fff) AM_RAM_WRITE(armedf_fg_videoram_w) AM_BASE(m_fg_videoram)
|
||||
AM_RANGE(0x088000, 0x089fff) AM_READWRITE8(armedf_text_videoram_r,armedf_text_videoram_w,0x00ff)
|
||||
AM_RANGE(0x08a000, 0x08afff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x08a000, 0x08afff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x08b000, 0x08bfff) AM_RAM AM_BASE(m_spr_pal_clut)
|
||||
AM_RANGE(0x08c000, 0x08c001) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x08c002, 0x08c003) AM_READ_PORT("P2")
|
||||
|
@ -104,7 +104,7 @@ static ADDRESS_MAP_START( ashnojoe_map, AS_PROGRAM, 16, ashnojoe_state )
|
||||
AM_RANGE(0x046000, 0x046fff) AM_RAM_WRITE(ashnojoe_tileram6_w) AM_BASE(m_tileram_6)
|
||||
AM_RANGE(0x047000, 0x047fff) AM_RAM_WRITE(ashnojoe_tileram7_w) AM_BASE(m_tileram_7)
|
||||
AM_RANGE(0x048000, 0x048fff) AM_RAM_WRITE(ashnojoe_tileram_w) AM_BASE(m_tileram)
|
||||
AM_RANGE(0x049000, 0x049fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x049000, 0x049fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x04a000, 0x04a001) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x04a002, 0x04a003) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x04a004, 0x04a005) AM_READ_PORT("DSW")
|
||||
|
@ -174,7 +174,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, asterix_state )
|
||||
AM_RANGE(0x180000, 0x1807ff) AM_DEVREADWRITE_LEGACY("k053244", k053245_word_r, k053245_word_w)
|
||||
AM_RANGE(0x180800, 0x180fff) AM_RAM // extra RAM, or mirror for the above?
|
||||
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE_LEGACY("k053244", k053244_word_r, k053244_word_w)
|
||||
AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x300000, 0x30001f) AM_DEVREADWRITE_LEGACY("k053244", k053244_lsb_r, k053244_lsb_w)
|
||||
AM_RANGE(0x380000, 0x380001) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x380002, 0x380003) AM_READ_PORT("IN1")
|
||||
|
@ -484,7 +484,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy1_state )
|
||||
AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
|
||||
AM_RANGE(0xa02000, 0xa02fff) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarisy1_spriteram_w)
|
||||
AM_RANGE(0xa03000, 0xa03fff) AM_RAM_WRITE_LEGACY(atarigen_alpha_w) AM_BASE(m_alpha)
|
||||
AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram_IIIIRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xf00000, 0xf00fff) AM_READWRITE_LEGACY(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
|
||||
AM_RANGE(0xf20000, 0xf20007) AM_READ_LEGACY(trakball_r)
|
||||
AM_RANGE(0xf40000, 0xf4001f) AM_READWRITE_LEGACY(joystick_r, joystick_w)
|
||||
|
@ -201,7 +201,7 @@ WRITE8_MEMBER(atetris_state::nvram_enable_w)
|
||||
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, atetris_state )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE(m_videoram)
|
||||
AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0300) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0300) AM_RAM_WRITE(paletteram_RRRGGGBB_byte_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x2400, 0x25ff) AM_MIRROR(0x0200) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
|
||||
AM_RANGE(0x2800, 0x280f) AM_MIRROR(0x03e0) AM_DEVREADWRITE_LEGACY("pokey1", pokey_r, pokey_w)
|
||||
AM_RANGE(0x2810, 0x281f) AM_MIRROR(0x03e0) AM_DEVREADWRITE_LEGACY("pokey2", pokey_r, pokey_w)
|
||||
@ -218,7 +218,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( atetrisb2_map, AS_PROGRAM, 8, atetris_state )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE(m_videoram)
|
||||
AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(paletteram_RRRGGGBB_byte_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x2400, 0x25ff) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
|
||||
AM_RANGE(0x2802, 0x2802) AM_DEVWRITE_LEGACY("sn1", sn76496_w)
|
||||
AM_RANGE(0x2804, 0x2804) AM_DEVWRITE_LEGACY("sn2", sn76496_w)
|
||||
|
@ -106,7 +106,7 @@ static SCREEN_UPDATE_IND16( backfire_left )
|
||||
backfire_state *state = screen.machine().driver_data<backfire_state>();
|
||||
|
||||
//FIXME: flip_screen_x should not be written!
|
||||
flip_screen_set_no_update(screen.machine(), 1);
|
||||
state->flip_screen_set_no_update(1);
|
||||
|
||||
/* screen 1 uses pf1 as the forground and pf3 as the background */
|
||||
/* screen 2 uses pf2 as the foreground and pf4 as the background */
|
||||
@ -139,7 +139,7 @@ static SCREEN_UPDATE_IND16( backfire_right )
|
||||
backfire_state *state = screen.machine().driver_data<backfire_state>();
|
||||
|
||||
//FIXME: flip_screen_x should not be written!
|
||||
flip_screen_set_no_update(screen.machine(), 1);
|
||||
state->flip_screen_set_no_update(1);
|
||||
|
||||
/* screen 1 uses pf1 as the forground and pf3 as the background */
|
||||
/* screen 2 uses pf2 as the foreground and pf4 as the background */
|
||||
|
@ -35,7 +35,7 @@ WRITE8_MEMBER(battlane_state::battlane_cpu_command_w)
|
||||
0x01 = Y Scroll MSB
|
||||
*/
|
||||
|
||||
flip_screen_set(machine(), data & 0x80);
|
||||
flip_screen_set(data & 0x80);
|
||||
|
||||
/*
|
||||
I think that the NMI is an inhibitor. It is constantly set
|
||||
|
@ -60,7 +60,7 @@ static ADDRESS_MAP_START( battlnts_map, AS_PROGRAM, 8, battlnts_state )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_DEVREADWRITE_LEGACY("k007342", k007342_r, k007342_w) /* Color RAM + Video RAM */
|
||||
AM_RANGE(0x2000, 0x21ff) AM_DEVREADWRITE_LEGACY("k007420", k007420_r, k007420_w) /* Sprite RAM */
|
||||
AM_RANGE(0x2200, 0x23ff) AM_DEVREADWRITE_LEGACY("k007342", k007342_scroll_r, k007342_scroll_w) /* Scroll RAM */
|
||||
AM_RANGE(0x2400, 0x24ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_SHARE("paletteram")/* palette */
|
||||
AM_RANGE(0x2400, 0x24ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_byte_be_w) AM_SHARE("paletteram")/* palette */
|
||||
AM_RANGE(0x2600, 0x2607) AM_DEVWRITE_LEGACY("k007342", k007342_vreg_w) /* Video Registers */
|
||||
AM_RANGE(0x2e00, 0x2e00) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x2e01, 0x2e01) AM_READ_PORT("P2")
|
||||
|
@ -335,7 +335,7 @@ static ADDRESS_MAP_START( bbusters_map, AS_PROGRAM, 16, bbusters_state )
|
||||
AM_RANGE(0x0b4000, 0x0b5fff) AM_RAM /* service mode */
|
||||
AM_RANGE(0x0b8000, 0x0b8003) AM_WRITEONLY AM_BASE(m_pf1_scroll_data)
|
||||
AM_RANGE(0x0b8008, 0x0b800b) AM_WRITEONLY AM_BASE(m_pf2_scroll_data)
|
||||
AM_RANGE(0x0d0000, 0x0d0fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0d0000, 0x0d0fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0e0000, 0x0e0001) AM_READ_PORT("COINS") /* Coins */
|
||||
AM_RANGE(0x0e0002, 0x0e0003) AM_READ_PORT("IN0") /* Player 1 & 2 */
|
||||
AM_RANGE(0x0e0004, 0x0e0005) AM_READ_PORT("IN1") /* Player 3 */
|
||||
@ -362,7 +362,7 @@ static ADDRESS_MAP_START( mechatt_map, AS_PROGRAM, 16, bbusters_state )
|
||||
AM_RANGE(0x0b8000, 0x0b8003) AM_WRITEONLY AM_BASE(m_pf1_scroll_data)
|
||||
AM_RANGE(0x0c0000, 0x0c3fff) AM_RAM_WRITE(bbusters_pf2_w) AM_BASE(m_pf2_data)
|
||||
AM_RANGE(0x0c8000, 0x0c8003) AM_WRITEONLY AM_BASE(m_pf2_scroll_data)
|
||||
AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0e0000, 0x0e0001) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x0e0002, 0x0e0003) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x0e0004, 0x0e0007) AM_READ(mechatt_gun_r)
|
||||
|
@ -234,7 +234,7 @@ static ADDRESS_MAP_START( bestleag_map, AS_PROGRAM, 16, bestleag_state )
|
||||
AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE(bestleag_fgram_w) AM_BASE(m_fgram)
|
||||
AM_RANGE(0x0f0000, 0x0f3fff) AM_RAM_WRITE(bestleag_txram_w) AM_BASE(m_txram)
|
||||
AM_RANGE(0x0f8000, 0x0f800b) AM_RAM AM_BASE(m_vregs)
|
||||
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
|
||||
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
|
||||
|
@ -53,7 +53,7 @@ static ADDRESS_MAP_START( bigstrkb_map, AS_PROGRAM, 16, bigstrkb_state )
|
||||
AM_RANGE(0x0ec000, 0x0effff) AM_RAM_WRITE(bsb_videoram_w) AM_BASE(m_videoram)
|
||||
|
||||
AM_RANGE(0x0f0000, 0x0f7fff) AM_RAM
|
||||
AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0f8800, 0x0fffff) AM_RAM
|
||||
|
||||
AM_RANGE(0x1f0000, 0x1f7fff) AM_RAM
|
||||
|
@ -511,7 +511,7 @@ READ16_MEMBER(bingor_state::test_r)
|
||||
static ADDRESS_MAP_START( bingor_map, AS_PROGRAM, 16, bingor_state )
|
||||
AM_RANGE(0x00000, 0x0ffff) AM_RAM
|
||||
AM_RANGE(0x90000, 0x9ffff) AM_ROM AM_REGION("gfx", 0)
|
||||
AM_RANGE(0xa0300, 0xa031f) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBIIII_word_w) AM_SHARE("paletteram") //wrong
|
||||
AM_RANGE(0xa0300, 0xa031f) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBIIII_word_w) AM_SHARE("paletteram") //wrong
|
||||
AM_RANGE(0xa0000, 0xaffff) AM_RAM AM_BASE(m_blit_ram)
|
||||
AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
|
||||
ADDRESS_MAP_END
|
||||
|
@ -156,7 +156,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, bishi_state )
|
||||
AM_RANGE(0x870000, 0x8700ff) AM_DEVWRITE_LEGACY("k055555", k055555_word_w) // PCU2
|
||||
AM_RANGE(0x880000, 0x880003) AM_DEVREADWRITE8_LEGACY("ymz", ymz280b_r, ymz280b_w, 0xff00)
|
||||
AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) // Graphic planes
|
||||
AM_RANGE(0xb00000, 0xb03fff) AM_RAM_WRITE(paletteram16_xbgr_word_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xb00000, 0xb03fff) AM_RAM_WRITE(paletteram_xbgr_word_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xb04000, 0xb047ff) AM_READ(bishi_mirror_r) // bug in the ram/rom test?
|
||||
AM_RANGE(0xc00000, 0xc01fff) AM_READ(bishi_K056832_rom_r)
|
||||
ADDRESS_MAP_END
|
||||
|
@ -187,7 +187,7 @@ static ADDRESS_MAP_START( blackt96_map, AS_PROGRAM, 16, blackt96_state )
|
||||
|
||||
AM_RANGE(0x100000, 0x100fff) AM_RAM AM_BASE(m_tilemapram) // text tilemap
|
||||
AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE(m_tilemapram2)// sprite list + sprite tilemaps
|
||||
AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xc00000, 0xc03fff) AM_RAM // main ram
|
||||
|
||||
ADDRESS_MAP_END
|
||||
|
@ -72,8 +72,8 @@ static ADDRESS_MAP_START( blktiger_map, AS_PROGRAM, 8, blktiger_state )
|
||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
||||
AM_RANGE(0xc000, 0xcfff) AM_READWRITE(blktiger_bgvideoram_r, blktiger_bgvideoram_w)
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(blktiger_txvideoram_w) AM_BASE(m_txvideoram)
|
||||
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_byte_split_lo_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_byte_split_hi_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xe000, 0xfdff) AM_RAM
|
||||
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("spriteram")
|
||||
ADDRESS_MAP_END
|
||||
|
@ -51,7 +51,7 @@ WRITE8_MEMBER(blockhl_state::bankedram_w)
|
||||
{
|
||||
|
||||
if (m_palette_selected)
|
||||
paletteram_xBBBBBGGGGGRRRRR_be_w(space, offset, data);
|
||||
paletteram_xBBBBBGGGGGRRRRR_byte_be_w(space, offset, data);
|
||||
else
|
||||
m_ram[offset] = data;
|
||||
}
|
||||
|
@ -125,7 +125,7 @@ static ADDRESS_MAP_START( bloodbro_map, AS_PROGRAM, 16, bloodbro_state )
|
||||
AM_RANGE(0x08d400, 0x08d7ff) AM_RAM
|
||||
AM_RANGE(0x08d800, 0x08dfff) AM_RAM_WRITE(bloodbro_txvideoram_w) AM_BASE(m_txvideoram)
|
||||
AM_RANGE(0x08e000, 0x08e7ff) AM_RAM
|
||||
AM_RANGE(0x08e800, 0x08f7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x08e800, 0x08f7ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x08f800, 0x08ffff) AM_RAM
|
||||
AM_RANGE(0x0a0000, 0x0a000d) AM_READWRITE_LEGACY(seibu_main_word_r, seibu_main_word_w)
|
||||
AM_RANGE(0x0c0000, 0x0c007f) AM_RAM AM_BASE(m_scroll)
|
||||
@ -151,7 +151,7 @@ static ADDRESS_MAP_START( weststry_map, AS_PROGRAM, 16, bloodbro_state )
|
||||
AM_RANGE(0x0c1002, 0x0c1003) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x0c1004, 0x0c1005) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x0c1000, 0x0c17ff) AM_RAM
|
||||
AM_RANGE(0x128000, 0x1287ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x128000, 0x1287ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x120000, 0x128fff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -106,7 +106,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blstroid_state )
|
||||
AM_RANGE(0xff9800, 0xff9801) AM_MIRROR(0x7f83f8) AM_READ_PORT("DIAL0")
|
||||
AM_RANGE(0xff9804, 0xff9805) AM_MIRROR(0x7f83f8) AM_READ_PORT("DIAL1")
|
||||
AM_RANGE(0xff9c00, 0xff9c03) AM_MIRROR(0x7f83fc) AM_READ_LEGACY(inputs_r)
|
||||
AM_RANGE(0xffa000, 0xffa3ff) AM_MIRROR(0x7f8c00) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xffa000, 0xffa3ff) AM_MIRROR(0x7f8c00) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xffb000, 0xffb3ff) AM_MIRROR(0x7f8c00) AM_READWRITE_LEGACY(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
|
||||
AM_RANGE(0xffc000, 0xffcfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
|
@ -30,7 +30,7 @@ WRITE8_MEMBER(bogeyman_state::bogeyman_8910_control_w)
|
||||
{
|
||||
|
||||
// bit 0 is flipscreen
|
||||
flip_screen_set(machine(), data & 0x01);
|
||||
flip_screen_set(data & 0x01);
|
||||
|
||||
// bit 5 goes to 8910 #0 BDIR pin
|
||||
if ((m_last_write & 0x20) == 0x20 && (data & 0x20) == 0x00)
|
||||
|
@ -142,7 +142,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bombjack_state )
|
||||
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(bombjack_colorram_w) AM_BASE(m_colorram)
|
||||
AM_RANGE(0x9820, 0x987f) AM_WRITEONLY AM_BASE_SIZE(m_spriteram, m_spriteram_size)
|
||||
AM_RANGE(0x9a00, 0x9a00) AM_WRITENOP
|
||||
AM_RANGE(0x9c00, 0x9cff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x9c00, 0x9cff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x9e00, 0x9e00) AM_WRITE(bombjack_background_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("P1")
|
||||
AM_RANGE(0xb000, 0xb000) AM_WRITE(irq_mask_w)
|
||||
|
@ -93,7 +93,7 @@ WRITE8_MEMBER(bottom9_state::bottom9_bankedram2_w)
|
||||
if (m_k052109_selected)
|
||||
k052109_051960_w(space, offset + 0x2000, data);
|
||||
else
|
||||
paletteram_xBBBBBGGGGGRRRRR_be_w(space, offset, data);
|
||||
paletteram_xBBBBBGGGGGRRRRR_byte_be_w(space, offset, data);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(bottom9_state::bankswitch_w)
|
||||
|
@ -290,7 +290,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, bublbobl_state )
|
||||
AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
|
||||
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_BASE_SIZE(m_objectram, m_objectram_size)
|
||||
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_byte_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xfa00, 0xfa00) AM_READWRITE(bublbobl_sound_status_r, bublbobl_sound_command_w)
|
||||
AM_RANGE(0xfa03, 0xfa03) AM_WRITE(bublbobl_soundcpu_reset_w)
|
||||
AM_RANGE(0xfa80, 0xfa80) AM_WRITE(watchdog_reset_w)
|
||||
@ -346,7 +346,7 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, bublbobl_state )
|
||||
AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
|
||||
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_BASE_SIZE(m_objectram, m_objectram_size)
|
||||
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_byte_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xfa00, 0xfa00) AM_READWRITE(bublbobl_sound_status_r, bublbobl_sound_command_w)
|
||||
AM_RANGE(0xfa03, 0xfa03) AM_WRITE(bublbobl_soundcpu_reset_w)
|
||||
AM_RANGE(0xfa80, 0xfa80) AM_WRITENOP // ???
|
||||
@ -370,7 +370,7 @@ static ADDRESS_MAP_START( tokio_map, AS_PROGRAM, 8, bublbobl_state )
|
||||
AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
|
||||
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_BASE_SIZE(m_objectram, m_objectram_size)
|
||||
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_byte_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xfa00, 0xfa00) AM_WRITE(watchdog_reset_w)
|
||||
AM_RANGE(0xfa03, 0xfa03) AM_READ_PORT("DSW0")
|
||||
AM_RANGE(0xfa04, 0xfa04) AM_READ_PORT("DSW1")
|
||||
|
@ -154,7 +154,7 @@ static ADDRESS_MAP_START( buggychl_map, AS_PROGRAM, 8, buggychl_state )
|
||||
// AM_RANGE(0xd60b, 0xd60b) // other inputs, not used?
|
||||
AM_RANGE(0xd610, 0xd610) AM_WRITE(sound_command_w)
|
||||
AM_RANGE(0xd618, 0xd618) AM_WRITENOP /* accelerator clear */
|
||||
AM_RANGE(0xd700, 0xd7ff) AM_WRITE(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xd700, 0xd7ff) AM_WRITE(paletteram_xxxxRRRRGGGGBBBB_byte_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xd840, 0xd85f) AM_WRITEONLY AM_BASE(m_scrollv)
|
||||
AM_RANGE(0xdb00, 0xdbff) AM_WRITEONLY AM_BASE(m_scrollh)
|
||||
AM_RANGE(0xdc04, 0xdc04) AM_WRITEONLY /* should be fg scroll */
|
||||
|
@ -130,7 +130,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, cabal_state )
|
||||
AM_RANGE(0xc0000, 0xc0001) AM_WRITE(track_reset_w)
|
||||
AM_RANGE(0xc0040, 0xc0041) AM_WRITENOP /* ??? */
|
||||
AM_RANGE(0xc0080, 0xc0081) AM_WRITE(cabal_flipscreen_w)
|
||||
AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xe8008, 0xe8009) AM_WRITE(cabal_sound_irq_trigger_word_w) // fix coin insertion
|
||||
AM_RANGE(0xe8000, 0xe800d) AM_READWRITE_LEGACY(seibu_main_word_r, seibu_main_word_w)
|
||||
ADDRESS_MAP_END
|
||||
@ -148,7 +148,7 @@ static ADDRESS_MAP_START( cabalbl_main_map, AS_PROGRAM, 16, cabal_state )
|
||||
AM_RANGE(0xa0010, 0xa0011) AM_READ_PORT("INPUTS")
|
||||
AM_RANGE(0xc0040, 0xc0041) AM_WRITENOP /* ??? */
|
||||
AM_RANGE(0xc0080, 0xc0081) AM_WRITE(cabal_flipscreen_w)
|
||||
AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xe8000, 0xe8003) AM_WRITE(cabalbl_sndcmd_w)
|
||||
AM_RANGE(0xe8004, 0xe8005) AM_READ(soundlatch2_word_r)
|
||||
AM_RANGE(0xe8008, 0xe8009) AM_WRITE(cabalbl_sound_irq_trigger_word_w)
|
||||
|
@ -177,8 +177,8 @@ static ADDRESS_MAP_START( cabaret_portmap, AS_IO, 8, cabaret_state )
|
||||
AM_RANGE( 0x2000, 0x27ff ) AM_RAM_WRITE(fg_tile_w ) AM_BASE(m_fg_tile_ram )
|
||||
AM_RANGE( 0x2800, 0x2fff ) AM_RAM_WRITE(fg_color_w ) AM_BASE(m_fg_color_ram )
|
||||
|
||||
AM_RANGE( 0x3000, 0x37ff ) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_SHARE("paletteram")
|
||||
AM_RANGE( 0x3800, 0x3fff ) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_SHARE("paletteram2")
|
||||
AM_RANGE( 0x3000, 0x37ff ) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_byte_split_lo_w ) AM_SHARE("paletteram")
|
||||
AM_RANGE( 0x3800, 0x3fff ) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_byte_split_hi_w ) AM_SHARE("paletteram2")
|
||||
|
||||
AM_RANGE( 0x1000, 0x103f ) AM_RAM_WRITE(bg_scroll_w ) AM_BASE(m_bg_scroll )
|
||||
|
||||
|
@ -171,7 +171,7 @@ static SCREEN_UPDATE_IND16( calorie )
|
||||
ypos = 0xff - state->m_sprites[x + 2];
|
||||
xpos = state->m_sprites[x + 3];
|
||||
|
||||
if (flip_screen_get(screen.machine()))
|
||||
if (state->flip_screen())
|
||||
{
|
||||
if (state->m_sprites[x + 1] & 0x10)
|
||||
ypos = 0xff - ypos + 32;
|
||||
@ -219,7 +219,7 @@ WRITE8_MEMBER(calorie_state::bg_bank_w)
|
||||
|
||||
WRITE8_MEMBER(calorie_state::calorie_flipscreen_w)
|
||||
{
|
||||
flip_screen_set(machine(), data & 1);
|
||||
flip_screen_set(data & 1);
|
||||
}
|
||||
|
||||
READ8_MEMBER(calorie_state::calorie_soundlatch_r)
|
||||
@ -246,7 +246,7 @@ static ADDRESS_MAP_START( calorie_map, AS_PROGRAM, 8, calorie_state )
|
||||
AM_RANGE(0xc000, 0xcfff) AM_RAM
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(fg_ram_w) AM_BASE(m_fg_ram)
|
||||
AM_RANGE(0xd800, 0xdbff) AM_RAM AM_BASE(m_sprites)
|
||||
AM_RANGE(0xdc00, 0xdcff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xdc00, 0xdcff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xde00, 0xde00) AM_WRITE(bg_bank_w)
|
||||
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("P1")
|
||||
AM_RANGE(0xf001, 0xf001) AM_READ_PORT("P2")
|
||||
|
@ -115,7 +115,7 @@ WRITE8_MEMBER(caswin_state::vvillage_scroll_w)
|
||||
/*---- ---x flip screen */
|
||||
WRITE8_MEMBER(caswin_state::vvillage_vregs_w)
|
||||
{
|
||||
flip_screen_set(machine(), data & 1);
|
||||
flip_screen_set(data & 1);
|
||||
}
|
||||
|
||||
/**********************
|
||||
|
@ -69,7 +69,7 @@ WRITE8_MEMBER(cbasebal_state::bankedram_w)
|
||||
break;
|
||||
case 1:
|
||||
if (offset < 0x800)
|
||||
paletteram_xxxxBBBBRRRRGGGG_le_w(space, offset, data);
|
||||
paletteram_xxxxBBBBRRRRGGGG_byte_le_w(space, offset, data);
|
||||
break;
|
||||
default:
|
||||
cbasebal_scrollram_w(space, offset, data);
|
||||
|
@ -349,7 +349,7 @@ static WRITE8_DEVICE_HANDLER( chanbara_ay_out_1_w )
|
||||
|
||||
state->m_scrollhi = data & 0x01;
|
||||
|
||||
flip_screen_set(device->machine(), data & 0x02);
|
||||
state->flip_screen_set(data & 0x02);
|
||||
|
||||
memory_set_bank(device->machine(), "bank1", (data & 0x04) >> 2);
|
||||
|
||||
|
@ -175,7 +175,7 @@ static WRITE8_HANDLER( chinagat_video_ctrl_w )
|
||||
state->m_scrolly_hi = ((data & 0x02) >> 1);
|
||||
state->m_scrollx_hi = data & 0x01;
|
||||
|
||||
flip_screen_set(space->machine(), ~data & 0x04);
|
||||
state->flip_screen_set(~data & 0x04);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( chinagat_bankswitch_w )
|
||||
@ -309,8 +309,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, ddragon_state )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(ddragon_fgvideoram_w) AM_BASE(m_fgvideoram)
|
||||
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(ddragon_bgvideoram_w) AM_BASE(m_bgvideoram)
|
||||
AM_RANGE(0x3000, 0x317f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x3400, 0x357f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x3000, 0x317f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x3400, 0x357f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x3800, 0x397f) AM_WRITE_BANK("bank3") AM_BASE_SIZE(m_spriteram, m_spriteram_size)
|
||||
AM_RANGE(0x3e00, 0x3e04) AM_WRITE_LEGACY(chinagat_interrupt_w)
|
||||
AM_RANGE(0x3e06, 0x3e06) AM_WRITEONLY AM_BASE(m_scrolly_lo)
|
||||
|
@ -50,7 +50,7 @@ WRITE8_MEMBER(chqflag_state::chqflag_bankswitch_w)
|
||||
if (data & 0x20)
|
||||
{
|
||||
space.install_read_bank(0x1800, 0x1fff, "bank5");
|
||||
space.install_write_handler(0x1800, 0x1fff, write8_delegate(FUNC(driver_device::paletteram_xBBBBBGGGGGRRRRR_be_w),this));
|
||||
space.install_write_handler(0x1800, 0x1fff, write8_delegate(FUNC(driver_device::paletteram_xBBBBBGGGGGRRRRR_byte_be_w),this));
|
||||
memory_set_bankptr(machine(), "bank5", m_generic_paletteram_8);
|
||||
|
||||
if (m_k051316_readroms)
|
||||
|
@ -16,7 +16,7 @@ Dip locations added from dip listing at crazykong.com
|
||||
|
||||
READ8_MEMBER(citycon_state::citycon_in_r)
|
||||
{
|
||||
return input_port_read(machine(), flip_screen_get(machine()) ? "P2" : "P1");
|
||||
return input_port_read(machine(), flip_screen() ? "P2" : "P1");
|
||||
}
|
||||
|
||||
READ8_MEMBER(citycon_state::citycon_irq_ack_r)
|
||||
@ -37,7 +37,7 @@ static ADDRESS_MAP_START( citycon_map, AS_PROGRAM, 8, citycon_state )
|
||||
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_WRITE(soundlatch2_w)
|
||||
AM_RANGE(0x3004, 0x3005) AM_READNOP AM_WRITEONLY AM_BASE(m_scroll)
|
||||
AM_RANGE(0x3007, 0x3007) AM_READ(citycon_irq_ack_r)
|
||||
AM_RANGE(0x3800, 0x3cff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x3800, 0x3cff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_byte_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x4000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -24,7 +24,8 @@ XTAL : 18.432 MHz
|
||||
|
||||
static MACHINE_RESET( clshroad )
|
||||
{
|
||||
flip_screen_set(machine, 0);
|
||||
clshroad_state *state = machine.driver_data<clshroad_state>();
|
||||
state->flip_screen_set(0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -116,7 +116,7 @@ WRITE8_MEMBER(cmmb_state::cmmb_charram_w)
|
||||
WRITE8_MEMBER(cmmb_state::cmmb_paletteram_w)
|
||||
{
|
||||
/* RGB output is inverted */
|
||||
paletteram_RRRGGGBB_w(space,offset,~data);
|
||||
paletteram_RRRGGGBB_byte_w(space,offset,~data);
|
||||
}
|
||||
|
||||
READ8_MEMBER(cmmb_state::cmmb_input_r)
|
||||
|
@ -395,7 +395,7 @@ WRITE8_MEMBER(cntsteer_state::zerotrgt_vregs_w)
|
||||
m_bg_tilemap->mark_all_dirty();
|
||||
break;
|
||||
case 3: m_rotation_sign = (data & 1);
|
||||
flip_screen_set(machine(), !(data & 4));
|
||||
flip_screen_set(!(data & 4));
|
||||
m_scrolly_hi = (data & 0x30) << 4;
|
||||
m_scrollx_hi = (data & 0xc0) << 2;
|
||||
break;
|
||||
|
@ -347,7 +347,7 @@ READ8_MEMBER(cosmic_state::nomnlnd_port_0_1_r)
|
||||
|
||||
WRITE8_MEMBER(cosmic_state::flip_screen_w)
|
||||
{
|
||||
flip_screen_set(machine(), data & 0x80);
|
||||
flip_screen_set(data & 0x80);
|
||||
}
|
||||
|
||||
|
||||
|
@ -53,7 +53,7 @@ static void pc3092_reset(void)
|
||||
static void pc3092_update(running_machine &machine)
|
||||
{
|
||||
crbaloon_state *state = machine.driver_data<crbaloon_state>();
|
||||
flip_screen_set(machine, (state->m_pc3092_data[1] & 0x01) ? TRUE : FALSE);
|
||||
state->flip_screen_set((state->m_pc3092_data[1] & 0x01) ? TRUE : FALSE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -407,7 +407,7 @@ static KONAMI_SETLINES_CALLBACK( crimfght_banking )
|
||||
if (lines & 0x20)
|
||||
{
|
||||
device->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x03ff, "bank3");
|
||||
device->memory().space(AS_PROGRAM)->install_write_handler(0x0000, 0x03ff, write8_delegate(FUNC(crimfght_state::paletteram_xBBBBBGGGGGRRRRR_be_w), state));
|
||||
device->memory().space(AS_PROGRAM)->install_write_handler(0x0000, 0x03ff, write8_delegate(FUNC(crimfght_state::paletteram_xBBBBBGGGGGRRRRR_byte_be_w), state));
|
||||
memory_set_bankptr(device->machine(), "bank3", state->m_generic_paletteram_8);
|
||||
}
|
||||
else
|
||||
|
@ -58,7 +58,7 @@ static ADDRESS_MAP_START( crospang_map, AS_PROGRAM, 16, crospang_state )
|
||||
AM_RANGE(0x10000e, 0x10000f) AM_WRITENOP
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(crospang_fg_videoram_w) AM_BASE(m_fg_videoram)
|
||||
AM_RANGE(0x122000, 0x1227ff) AM_RAM_WRITE(crospang_bg_videoram_w) AM_BASE(m_bg_videoram)
|
||||
AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x210000, 0x2107ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
|
||||
AM_RANGE(0x270000, 0x270001) AM_WRITE(crospang_soundlatch_w)
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("P1_P2")
|
||||
@ -78,7 +78,7 @@ static ADDRESS_MAP_START( bestri_map, AS_PROGRAM, 16, crospang_state )
|
||||
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(crospang_fg_videoram_w) AM_BASE(m_fg_videoram)
|
||||
AM_RANGE(0x122000, 0x1227ff) AM_RAM_WRITE(crospang_bg_videoram_w) AM_BASE(m_bg_videoram)
|
||||
AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x210000, 0x2107ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
|
||||
AM_RANGE(0x270000, 0x270001) AM_WRITE(crospang_soundlatch_w)
|
||||
AM_RANGE(0x270004, 0x270005) AM_WRITENOP
|
||||
|
@ -193,7 +193,7 @@ static ADDRESS_MAP_START( crshrace_map, AS_PROGRAM, 16, crshrace_state )
|
||||
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM
|
||||
AM_RANGE(0xffc000, 0xffc001) AM_WRITE(crshrace_roz_bank_w)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(crshrace_videoram2_w) AM_BASE(m_videoram2)
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram_xGGGGGBBBBBRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1") AM_WRITE(crshrace_gfxctrl_w)
|
||||
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("P2")
|
||||
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW0")
|
||||
|
@ -667,7 +667,7 @@ static ADDRESS_MAP_START( master_mem, AS_PROGRAM, 16, cybertnk_state )
|
||||
AM_RANGE(0x0c4000, 0x0c5fff) AM_RAM AM_BASE(m_bg_vram)
|
||||
AM_RANGE(0x0c8000, 0x0c9fff) AM_RAM AM_BASE(m_fg_vram)
|
||||
AM_RANGE(0x0e0000, 0x0e0fff) AM_RAM AM_SHARE("sharedram")
|
||||
AM_RANGE(0x100000, 0x107fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x100000, 0x107fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x110000, 0x1101ff) AM_READWRITE(io_r,io_w) AM_BASE(m_io_ram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -130,7 +130,7 @@ static SCREEN_UPDATE_IND16( cyclemb )
|
||||
cyclemb_state *state = screen.machine().driver_data<cyclemb_state>();
|
||||
int x,y,count;
|
||||
const gfx_element *gfx = screen.machine().gfx[0];
|
||||
UINT8 flip_screen = flip_screen_get(screen.machine());
|
||||
UINT8 flip_screen = state->flip_screen();
|
||||
|
||||
count = 0;
|
||||
|
||||
@ -248,7 +248,7 @@ WRITE8_MEMBER(cyclemb_state::sound_cmd_w)//actually ciom
|
||||
|
||||
WRITE8_MEMBER(cyclemb_state::cyclemb_flip_w)
|
||||
{
|
||||
flip_screen_set(machine(), data & 1);
|
||||
flip_screen_set(data & 1);
|
||||
|
||||
// a bunch of other things are setted here
|
||||
}
|
||||
|
@ -109,8 +109,8 @@ static ADDRESS_MAP_START( d9final_map, AS_PROGRAM, 8, d9final_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM
|
||||
AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_byte_split_lo_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_byte_split_hi_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sc0_lovram) AM_BASE(m_lo_vram)
|
||||
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sc0_hivram) AM_BASE(m_hi_vram)
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(sc0_cram) AM_BASE(m_cram)
|
||||
|
@ -131,7 +131,7 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
|
||||
sx = (state->m_spriteram[offs + 3] - 128) + 256 * (attr & 0x01);
|
||||
sy = 255 - state->m_spriteram[offs];
|
||||
|
||||
if (flip_screen_get(machine))
|
||||
if (state->flip_screen())
|
||||
{
|
||||
sx = 240 - sx;
|
||||
sy = 240 - sy;
|
||||
@ -151,7 +151,7 @@ static SCREEN_UPDATE_IND16(dacholer)
|
||||
{
|
||||
dacholer_state *state = screen.machine().driver_data<dacholer_state>();
|
||||
|
||||
if (flip_screen_get(screen.machine()))
|
||||
if (state->flip_screen())
|
||||
{
|
||||
state->m_bg_tilemap->set_scrollx(0, 256 - state->m_scroll_x);
|
||||
state->m_bg_tilemap->set_scrolly(0, 256 - state->m_scroll_y);
|
||||
@ -188,7 +188,7 @@ WRITE8_MEMBER(dacholer_state::bg_bank_w)
|
||||
m_bg_tilemap->mark_all_dirty();
|
||||
}
|
||||
|
||||
flip_screen_set(machine(), data & 0xc); // probably one bit for flipx and one for flipy
|
||||
flip_screen_set(data & 0xc); // probably one bit for flipx and one for flipy
|
||||
|
||||
}
|
||||
|
||||
|
@ -249,7 +249,7 @@ static ADDRESS_MAP_START( darius_map, AS_PROGRAM, 16, darius_state )
|
||||
AM_RANGE(0xd20000, 0xd20003) AM_DEVWRITE_LEGACY("pc080sn", pc080sn_yscroll_word_w)
|
||||
AM_RANGE(0xd40000, 0xd40003) AM_DEVWRITE_LEGACY("pc080sn", pc080sn_xscroll_word_w)
|
||||
AM_RANGE(0xd50000, 0xd50003) AM_DEVWRITE_LEGACY("pc080sn", pc080sn_ctrl_word_w)
|
||||
AM_RANGE(0xd80000, 0xd80fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")/* palette */
|
||||
AM_RANGE(0xd80000, 0xd80fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")/* palette */
|
||||
AM_RANGE(0xe00100, 0xe00fff) AM_RAM AM_SHARE("share1") AM_BASE_SIZE(m_spriteram, m_spriteram_size)
|
||||
AM_RANGE(0xe01000, 0xe02fff) AM_RAM AM_SHARE("share2")
|
||||
AM_RANGE(0xe08000, 0xe0ffff) AM_RAM_WRITE(darius_fg_layer_w) AM_SHARE("share3") AM_BASE(m_fg_ram)
|
||||
@ -260,7 +260,7 @@ static ADDRESS_MAP_START( darius_cpub_map, AS_PROGRAM, 16, darius_state )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x040000, 0x04ffff) AM_RAM /* local RAM */
|
||||
AM_RANGE(0xc00000, 0xc0007f) AM_WRITE(darius_ioc_w) /* only writes $c00050 (?) */
|
||||
AM_RANGE(0xd80000, 0xd80fff) AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w)
|
||||
AM_RANGE(0xd80000, 0xd80fff) AM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w)
|
||||
AM_RANGE(0xe00100, 0xe00fff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0xe01000, 0xe02fff) AM_RAM AM_SHARE("share2")
|
||||
AM_RANGE(0xe08000, 0xe0ffff) AM_RAM_WRITE(darius_fg_layer_w) AM_SHARE("share3")
|
||||
|
@ -275,8 +275,8 @@ static WRITE32_DEVICE_HANDLER( darkhors_eeprom_w )
|
||||
|
||||
WRITE32_MEMBER(darkhors_state::paletteram32_xBBBBBGGGGGRRRRR_dword_w)
|
||||
{
|
||||
if (ACCESSING_BITS_16_31) paletteram16_xBBBBBGGGGGRRRRR_word_w(space, offset*2, data >> 16, mem_mask >> 16);
|
||||
if (ACCESSING_BITS_0_15) paletteram16_xBBBBBGGGGGRRRRR_word_w(space, offset*2+1, data, mem_mask);
|
||||
if (ACCESSING_BITS_16_31) paletteram_xBBBBBGGGGGRRRRR_word_w(space, offset*2, data >> 16, mem_mask >> 16);
|
||||
if (ACCESSING_BITS_0_15) paletteram_xBBBBBGGGGGRRRRR_word_w(space, offset*2+1, data, mem_mask);
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(darkhors_state::darkhors_input_sel_w)
|
||||
|
@ -101,7 +101,7 @@ static SCREEN_UPDATE_IND16(dblewing)
|
||||
dblewing_state *state = screen.machine().driver_data<dblewing_state>();
|
||||
UINT16 flip = deco16ic_pf_control_r(state->m_deco_tilegen1, 0, 0xffff);
|
||||
|
||||
flip_screen_set(screen.machine(), BIT(flip, 7));
|
||||
state->flip_screen_set(BIT(flip, 7));
|
||||
deco16ic_pf_update(state->m_deco_tilegen1, state->m_pf1_rowscroll, state->m_pf2_rowscroll);
|
||||
|
||||
bitmap.fill(0, cliprect); /* not Confirmed */
|
||||
@ -329,7 +329,7 @@ static ADDRESS_MAP_START( dblewing_map, AS_PROGRAM, 16, dblewing_state )
|
||||
AM_RANGE(0x288000, 0x288001) AM_RAM
|
||||
AM_RANGE(0x28c000, 0x28c00f) AM_RAM_DEVWRITE_LEGACY("tilegen1", deco16ic_pf_control_w)
|
||||
AM_RANGE(0x300000, 0x3007ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
|
||||
AM_RANGE(0x320000, 0x3207ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x320000, 0x3207ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xff0000, 0xff3fff) AM_MIRROR(0xc000) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -120,7 +120,7 @@ static ADDRESS_MAP_START( dbz_map, AS_PROGRAM, 16, dbz_state )
|
||||
AM_RANGE(0x498000, 0x49ffff) AM_DEVREAD_LEGACY("k056832", k056832_rom_word_8000_r) // code near a60 in dbz2, subroutine at 730 in dbz
|
||||
AM_RANGE(0x4a0000, 0x4a0fff) AM_DEVREADWRITE_LEGACY("k053246", k053247_word_r, k053247_word_w)
|
||||
AM_RANGE(0x4a1000, 0x4a3fff) AM_RAM
|
||||
AM_RANGE(0x4a8000, 0x4abfff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // palette
|
||||
AM_RANGE(0x4a8000, 0x4abfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // palette
|
||||
AM_RANGE(0x4c0000, 0x4c0001) AM_DEVREAD_LEGACY("k053246", k053246_word_r)
|
||||
AM_RANGE(0x4c0000, 0x4c0007) AM_DEVWRITE_LEGACY("k053246", k053246_word_w)
|
||||
AM_RANGE(0x4c4000, 0x4c4007) AM_DEVWRITE_LEGACY("k053246", k053246_word_w)
|
||||
|
@ -28,7 +28,7 @@ static ADDRESS_MAP_START( dcon_map, AS_PROGRAM, 16, dcon_state )
|
||||
AM_RANGE(0x8c800, 0x8cfff) AM_RAM_WRITE(dcon_foreground_w) AM_BASE(m_fore_data)
|
||||
AM_RANGE(0x8d000, 0x8d7ff) AM_RAM_WRITE(dcon_midground_w) AM_BASE(m_mid_data)
|
||||
AM_RANGE(0x8d800, 0x8e7ff) AM_RAM_WRITE(dcon_text_w) AM_BASE(m_textram)
|
||||
AM_RANGE(0x8e800, 0x8f7ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x8e800, 0x8f7ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x8f800, 0x8ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
|
||||
AM_RANGE(0x9d000, 0x9d7ff) AM_WRITE(dcon_gfxbank_w)
|
||||
|
||||
|
@ -460,7 +460,7 @@ static ADDRESS_MAP_START( ddealer, AS_PROGRAM, 16, ddealer_state )
|
||||
AM_RANGE(0x080008, 0x080009) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x08000a, 0x08000b) AM_READ_PORT("UNK")
|
||||
AM_RANGE(0x084000, 0x084003) AM_DEVWRITE8_LEGACY("ymsnd", ym2203_w, 0x00ff) // ym ?
|
||||
AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram") // palette ram
|
||||
AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram") // palette ram
|
||||
AM_RANGE(0x08c000, 0x08cfff) AM_RAM_WRITE(ddealer_vregs_w) AM_BASE(m_vregs) // palette ram
|
||||
|
||||
/* this might actually be 1 tilemap with some funky rowscroll / columnscroll enabled, I'm not sure */
|
||||
|
@ -195,7 +195,7 @@ static WRITE8_HANDLER( ddragon_bankswitch_w )
|
||||
ddragon_state *state = space->machine().driver_data<ddragon_state>();
|
||||
state->m_scrollx_hi = (data & 0x01);
|
||||
state->m_scrolly_hi = ((data & 0x02) >> 1);
|
||||
flip_screen_set(space->machine(), ~data & 0x04);
|
||||
state->flip_screen_set(~data & 0x04);
|
||||
|
||||
/* bit 3 unknown */
|
||||
|
||||
@ -502,8 +502,8 @@ static READ8_HANDLER( dd_adpcm_status_r )
|
||||
|
||||
static ADDRESS_MAP_START( ddragon_map, AS_PROGRAM, 8, ddragon_state )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_BASE(m_rambase)
|
||||
AM_RANGE(0x1000, 0x11ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1200, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x1000, 0x11ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1200, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(ddragon_fgvideoram_w) AM_BASE(m_fgvideoram)
|
||||
AM_RANGE(0x2000, 0x2fff) AM_READWRITE_LEGACY(ddragon_spriteram_r, ddragon_spriteram_w) AM_BASE(m_spriteram)
|
||||
@ -536,8 +536,8 @@ static ADDRESS_MAP_START( dd2_map, AS_PROGRAM, 8, ddragon_state )
|
||||
AM_RANGE(0x3809, 0x3809) AM_WRITEONLY AM_BASE(m_scrollx_lo)
|
||||
AM_RANGE(0x380a, 0x380a) AM_WRITEONLY AM_BASE(m_scrolly_lo)
|
||||
AM_RANGE(0x380b, 0x380f) AM_WRITE_LEGACY(ddragon_interrupt_w)
|
||||
AM_RANGE(0x3c00, 0x3dff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x3e00, 0x3fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x3c00, 0x3dff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x3e00, 0x3fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
@ -216,7 +216,7 @@ static ADDRESS_MAP_START( ddragon3_map, AS_PROGRAM, 16, ddragon3_state )
|
||||
AM_RANGE(0x100004, 0x100005) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x100006, 0x100007) AM_READ_PORT("P3")
|
||||
AM_RANGE(0x100000, 0x10000f) AM_WRITE(ddragon3_io_w)
|
||||
AM_RANGE(0x140000, 0x1405ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette RAM */
|
||||
AM_RANGE(0x140000, 0x1405ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette RAM */
|
||||
AM_RANGE(0x180000, 0x180fff) AM_RAM AM_BASE(m_spriteram)
|
||||
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* working RAM */
|
||||
ADDRESS_MAP_END
|
||||
@ -227,7 +227,7 @@ static ADDRESS_MAP_START( dd3b_map, AS_PROGRAM, 16, ddragon3_state )
|
||||
AM_RANGE(0x081000, 0x081fff) AM_RAM AM_BASE(m_spriteram)
|
||||
AM_RANGE(0x082000, 0x0827ff) AM_RAM_WRITE(ddragon3_bg_videoram_w) AM_BASE(m_bg_videoram) /* Background (32x32 Tiles - 2 by per tile) */
|
||||
AM_RANGE(0x0c0000, 0x0c000f) AM_WRITE(ddragon3_scroll_w)
|
||||
AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette RAM */
|
||||
AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette RAM */
|
||||
AM_RANGE(0x140000, 0x14000f) AM_WRITE(ddragon3_io_w)
|
||||
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("IN1")
|
||||
@ -243,7 +243,7 @@ static ADDRESS_MAP_START( ctribe_map, AS_PROGRAM, 16, ddragon3_state )
|
||||
AM_RANGE(0x082000, 0x0827ff) AM_RAM_WRITE(ddragon3_bg_videoram_w) AM_BASE(m_bg_videoram) /* Background (32x32 Tiles - 2 by per tile) */
|
||||
AM_RANGE(0x082800, 0x082fff) AM_RAM
|
||||
AM_RANGE(0x0c0000, 0x0c000f) AM_READWRITE(ddragon3_scroll_r, ddragon3_scroll_w)
|
||||
AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram") /* Palette RAM */
|
||||
AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram") /* Palette RAM */
|
||||
AM_RANGE(0x140000, 0x14000f) AM_WRITE(ddragon3_io_w)
|
||||
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("IN1")
|
||||
|
@ -67,7 +67,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, deadang_state )
|
||||
AM_RANGE(0x08800, 0x0bfff) AM_WRITEONLY
|
||||
AM_RANGE(0x0a000, 0x0a001) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x0a002, 0x0a003) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x0c000, 0x0cfff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0c000, 0x0cfff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0d000, 0x0dfff) AM_WRITEONLY
|
||||
AM_RANGE(0x0e000, 0x0e0ff) AM_WRITEONLY AM_BASE(m_scroll_ram)
|
||||
AM_RANGE(0x0e100, 0x0ffff) AM_WRITEONLY
|
||||
|
@ -507,7 +507,7 @@ static ADDRESS_MAP_START( slyspy_map, AS_PROGRAM, 16, dec0_state )
|
||||
|
||||
AM_RANGE(0x304000, 0x307fff) AM_RAM AM_BASE(m_ram) /* Sly spy main ram */
|
||||
AM_RANGE(0x308000, 0x3087ff) AM_RAM AM_BASE(m_spriteram) /* Sprites */
|
||||
AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x314000, 0x314003) AM_WRITE(slyspy_control_w)
|
||||
AM_RANGE(0x314008, 0x31400f) AM_READ(slyspy_controls_r)
|
||||
AM_RANGE(0x31c000, 0x31c00f) AM_READ(slyspy_protection_r) AM_WRITENOP
|
||||
@ -518,7 +518,7 @@ static ADDRESS_MAP_START( midres_map, AS_PROGRAM, 16, dec0_state )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(m_ram)
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE(m_spriteram)
|
||||
AM_RANGE(0x140000, 0x1407ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x140000, 0x1407ff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x160000, 0x160001) AM_WRITE(dec0_priority_w)
|
||||
AM_RANGE(0x180000, 0x18000f) AM_READ(midres_controls_r)
|
||||
AM_RANGE(0x180008, 0x18000f) AM_WRITENOP /* ?? watchdog ?? */
|
||||
@ -606,7 +606,7 @@ static ADDRESS_MAP_START( secretab_map, AS_PROGRAM, 16, dec0_state )
|
||||
AM_RANGE(0x300c00, 0x300fff) AM_DEVREADWRITE_LEGACY("tilegen3", deco_bac06_pf_rowscroll_r, deco_bac06_pf_rowscroll_w)
|
||||
AM_RANGE(0x301000, 0x3017ff) AM_DEVREADWRITE_LEGACY("tilegen3", deco_bac06_pf_data_r, deco_bac06_pf_data_w)
|
||||
AM_RANGE(0x301800, 0x307fff) AM_RAM AM_BASE(m_ram) /* Sly spy main ram */
|
||||
AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xb08000, 0xb087ff) AM_RAM AM_BASE(m_spriteram) /* Sprites */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -636,7 +636,7 @@ static ADDRESS_MAP_START( automat_map, AS_PROGRAM, 16, dec0_state )
|
||||
AM_RANGE(0x300000, 0x30001f) AM_READ(dec0_rotary_r)
|
||||
AM_RANGE(0x30c000, 0x30c00b) AM_READ(dec0_controls_r)
|
||||
AM_RANGE(0x30c000, 0x30c01f) AM_WRITE(automat_control_w) /* Priority, sound, etc. */
|
||||
AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x314000, 0x3147ff) AM_RAM
|
||||
AM_RANGE(0x400008, 0x400009) AM_WRITE(dec0_priority_w) // NEW
|
||||
AM_RANGE(0xff8000, 0xffbfff) AM_RAM AM_BASE(m_ram) /* Main ram */
|
||||
|
@ -461,7 +461,7 @@ WRITE8_MEMBER(dec8_state::ghostb_bank_w)
|
||||
|
||||
if ((data&1)==0) device_set_input_line(m_maincpu, M6809_IRQ_LINE, CLEAR_LINE);
|
||||
if (data & 2) m_nmi_enable =1; else m_nmi_enable = 0;
|
||||
flip_screen_set(machine(), data & 0x08);
|
||||
flip_screen_set(data & 0x08);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(dec8_state::csilver_control_w)
|
||||
@ -576,15 +576,15 @@ WRITE8_MEMBER(dec8_state::shackled_int_w)
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
WRITE8_MEMBER(dec8_state::flip_screen_w){ flip_screen_set(machine(), data); }
|
||||
WRITE8_MEMBER(dec8_state::flip_screen_w){ flip_screen_set(data); }
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( lastmisn_map, AS_PROGRAM, 8, dec8_state )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3") AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4") AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w) AM_SHARE("share3") AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w) AM_SHARE("share4") AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN2")
|
||||
@ -609,8 +609,8 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( lastmisn_sub_map, AS_PROGRAM, 8, dec8_state )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4")
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w) AM_SHARE("share3")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w) AM_SHARE("share4")
|
||||
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN2")
|
||||
@ -629,8 +629,8 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( shackled_map, AS_PROGRAM, 8, dec8_state )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3") AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4") AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w) AM_SHARE("share3") AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w) AM_SHARE("share4") AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN2")
|
||||
@ -653,8 +653,8 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( shackled_sub_map, AS_PROGRAM, 8, dec8_state )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4")
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w) AM_SHARE("share3")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w) AM_SHARE("share4")
|
||||
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN2")
|
||||
@ -680,8 +680,8 @@ static ADDRESS_MAP_START( gondo_map, AS_PROGRAM, 8, dec8_state )
|
||||
AM_RANGE(0x0000, 0x17ff) AM_RAM
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
|
||||
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE(m_bg_data)
|
||||
AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
|
||||
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("DSW0") /* Dip 1 */
|
||||
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("DSW1") /* Dip 2 */
|
||||
@ -703,8 +703,8 @@ static ADDRESS_MAP_START( garyoret_map, AS_PROGRAM, 8, dec8_state )
|
||||
AM_RANGE(0x0000, 0x17ff) AM_RAM
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
|
||||
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_BASE(m_bg_data)
|
||||
AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
|
||||
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("DSW0") /* Dip 1 */
|
||||
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("DSW1") /* Dip 2 */
|
||||
@ -747,8 +747,8 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( csilver_map, AS_PROGRAM, 8, dec8_state )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3") AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4") AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w) AM_SHARE("share3") AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w) AM_SHARE("share4") AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x1803, 0x1803) AM_READ_PORT("IN2")
|
||||
@ -772,8 +772,8 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( csilver_sub_map, AS_PROGRAM, 8, dec8_state )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4")
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w) AM_SHARE("share3")
|
||||
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w) AM_SHARE("share4")
|
||||
AM_RANGE(0x1803, 0x1803) AM_READ_PORT("IN2")
|
||||
AM_RANGE(0x1804, 0x1804) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x1800, 0x1804) AM_WRITE(shackled_int_w)
|
||||
@ -793,7 +793,7 @@ static ADDRESS_MAP_START( oscar_map, AS_PROGRAM, 8, dec8_state )
|
||||
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
|
||||
AM_RANGE(0x2800, 0x2fff) AM_DEVREADWRITE_LEGACY("tilegen1", deco_bac06_pf_data_8bit_r, deco_bac06_pf_data_8bit_w)
|
||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
|
||||
AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x3c00, 0x3c00) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x3c01, 0x3c01) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x3c02, 0x3c02) AM_READ_PORT("IN2") /* VBL & coins */
|
||||
@ -831,8 +831,8 @@ static ADDRESS_MAP_START( srdarwin_map, AS_PROGRAM, 8, dec8_state )
|
||||
AM_RANGE(0x1805, 0x1806) AM_WRITE(srdarwin_control_w) /* Scroll & Bank */
|
||||
AM_RANGE(0x2000, 0x2000) AM_READWRITE(i8751_h_r, dec8_sound_w) /* Sound */
|
||||
AM_RANGE(0x2001, 0x2001) AM_READWRITE(i8751_l_r, flip_screen_w) /* Flipscreen */
|
||||
AM_RANGE(0x2800, 0x288f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x3000, 0x308f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x2800, 0x288f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_lo_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x3000, 0x308f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_split_hi_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("DSW0") /* Dip 1 */
|
||||
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("IN0") /* Player 1 */
|
||||
AM_RANGE(0x3802, 0x3802) AM_READ_PORT("IN1") /* Player 2 (cocktail) + VBL */
|
||||
@ -848,7 +848,7 @@ static ADDRESS_MAP_START( cobra_map, AS_PROGRAM, 8, dec8_state )
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM
|
||||
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
|
||||
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_be_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x3200, 0x37ff) AM_WRITEONLY /* Unused */
|
||||
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") /* Player 1 */
|
||||
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("IN1") /* Player 2 */
|
||||
|
@ -68,9 +68,8 @@ static VIDEO_START( wcvol95 )
|
||||
static SCREEN_UPDATE_RGB32( wcvol95 )
|
||||
{
|
||||
//FIXME: flip_screen_x should not be written!
|
||||
flip_screen_set_no_update(screen.machine(), 1);
|
||||
|
||||
deco156_state *state = screen.machine().driver_data<deco156_state>();
|
||||
state->flip_screen_set_no_update(1);
|
||||
|
||||
screen.machine().priority_bitmap.fill(0);
|
||||
bitmap.fill(0);
|
||||
|
@ -196,7 +196,7 @@ static ADDRESS_MAP_START( begas_map, AS_PROGRAM, 8, deco_ld_state )
|
||||
AM_RANGE(0x1003, 0x1003) AM_WRITE(rblaster_vram_bank_w) //might be 1001
|
||||
AM_RANGE(0x1006, 0x1006) AM_NOP //ld status / command
|
||||
AM_RANGE(0x1007, 0x1007) AM_READWRITE(laserdisc_r,laserdisc_w) // ld data
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_byte_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x2000, 0x27ff) AM_RAM
|
||||
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE(m_videoram)
|
||||
AM_RANGE(0x3000, 0x3fff) AM_RAM
|
||||
@ -214,7 +214,7 @@ static ADDRESS_MAP_START( cobra_map, AS_PROGRAM, 8, deco_ld_state )
|
||||
AM_RANGE(0x1004, 0x1004) AM_WRITE(rblaster_vram_bank_w) //might be 1001
|
||||
AM_RANGE(0x1006, 0x1006) AM_NOP //ld status / command
|
||||
AM_RANGE(0x1007, 0x1007) AM_READWRITE(laserdisc_r,laserdisc_w) // ld data
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_byte_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x2000, 0x2fff) AM_RAM
|
||||
AM_RANGE(0x3000, 0x37ff) AM_RAM //vram attr?
|
||||
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE(m_videoram)
|
||||
@ -230,7 +230,7 @@ static ADDRESS_MAP_START( rblaster_map, AS_PROGRAM, 8, deco_ld_state )
|
||||
AM_RANGE(0x1003, 0x1003) AM_WRITE(rblaster_vram_bank_w) //might be 1001
|
||||
AM_RANGE(0x1006, 0x1006) AM_NOP //ld status / command
|
||||
AM_RANGE(0x1007, 0x1007) AM_READWRITE(laserdisc_r,laserdisc_w) // ld data
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_byte_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE(m_videoram)
|
||||
AM_RANGE(0x3000, 0x3fff) AM_RAM
|
||||
AM_RANGE(0xc000, 0xffff) AM_ROM
|
||||
|
@ -144,7 +144,7 @@ static ADDRESS_MAP_START( diverboy_map, AS_PROGRAM, 16, diverboy_state )
|
||||
AM_RANGE(0x040000, 0x04ffff) AM_RAM
|
||||
AM_RANGE(0x080000, 0x083fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
|
||||
AM_RANGE(0x100000, 0x100001) AM_WRITE(soundcmd_w)
|
||||
AM_RANGE(0x140000, 0x1407ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x140000, 0x1407ff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x180008, 0x180009) AM_READ_PORT("COINS")
|
||||
|
@ -71,7 +71,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, dogfgt_state )
|
||||
AM_RANGE(0x1830, 0x1830) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x1830, 0x1830) AM_WRITE(dogfgt_soundlatch_w)
|
||||
AM_RANGE(0x1840, 0x1840) AM_WRITE(dogfgt_soundcontrol_w)
|
||||
AM_RANGE(0x1870, 0x187f) AM_WRITE(paletteram_BBGGGRRR_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x1870, 0x187f) AM_WRITE(paletteram_BBGGGRRR_byte_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(dogfgt_bitmapram_r, dogfgt_bitmapram_w)
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
@ -100,20 +100,20 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
|
||||
|
||||
sx = state->m_spriteram[offs];
|
||||
sy = 248 - state->m_spriteram[offs + 1];
|
||||
if (flip_screen_x_get(machine)) sx = 248 - sx;
|
||||
if (flip_screen_y_get(machine)) sy = 248 - sy;
|
||||
if (state->flip_screen_x()) sx = 248 - sx;
|
||||
if (state->flip_screen_y()) sy = 248 - sy;
|
||||
|
||||
code = state->m_spriteram[offs + 3] + ((state->m_spriteram[offs + 2] & 0x03) << 8) ;
|
||||
|
||||
drawgfx_transpen(bitmap,cliprect,machine.gfx[0],
|
||||
2 * code,
|
||||
((state->m_spriteram[offs + 2] & 0xf8) >> 3) ,
|
||||
flip_screen_x_get(machine),flip_screen_y_get(machine),
|
||||
sx,sy + (flip_screen_y_get(machine) ? 8 : -8),0);
|
||||
state->flip_screen_x(),state->flip_screen_y(),
|
||||
sx,sy + (state->flip_screen_y() ? 8 : -8),0);
|
||||
drawgfx_transpen(bitmap,cliprect,machine.gfx[0],
|
||||
2 * code + 1,
|
||||
((state->m_spriteram[offs + 2] & 0xf8) >> 3) ,
|
||||
flip_screen_x_get(machine),flip_screen_y_get(machine),
|
||||
state->flip_screen_x(),state->flip_screen_y(),
|
||||
sx,sy,0);
|
||||
}
|
||||
}
|
||||
@ -182,7 +182,7 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, dominob_state )
|
||||
AM_RANGE(0xe840, 0xefff) AM_RAM
|
||||
AM_RANGE(0xf000, 0xf07f) AM_RAM AM_BASE(m_bgram)
|
||||
AM_RANGE(0xf080, 0xf7ff) AM_RAM
|
||||
AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_byte_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xfc00, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -98,7 +98,7 @@ static MACHINE_START( lastday )
|
||||
|
||||
WRITE8_MEMBER(dooyong_state::flip_screen_w)
|
||||
{
|
||||
flip_screen_set(machine(), data);
|
||||
flip_screen_set(data);
|
||||
}
|
||||
|
||||
static MACHINE_RESET( sound_ym2203 )
|
||||
@ -128,7 +128,7 @@ static ADDRESS_MAP_START( lastday_map, AS_PROGRAM, 8, dooyong_state )
|
||||
AM_RANGE(0xc012, 0xc012) AM_WRITE(soundlatch_w)
|
||||
AM_RANGE(0xc013, 0xc013) AM_READ_PORT("DSWA")
|
||||
AM_RANGE(0xc014, 0xc014) AM_READ_PORT("DSWB")
|
||||
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE(m_txvideoram)
|
||||
AM_RANGE(0xe000, 0xefff) AM_RAM
|
||||
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
|
||||
@ -149,7 +149,7 @@ static ADDRESS_MAP_START( pollux_map, AS_PROGRAM, 8, dooyong_state )
|
||||
AM_RANGE(0xf010, 0xf010) AM_WRITE(soundlatch_w)
|
||||
AM_RANGE(0xf018, 0xf01f) AM_WRITE(dooyong_bgscroll8_w)
|
||||
AM_RANGE(0xf020, 0xf027) AM_WRITE(dooyong_fgscroll8_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_byte_le_w) AM_SHARE("paletteram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8, dooyong_state )
|
||||
@ -168,7 +168,7 @@ static ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8, dooyong_state )
|
||||
AM_RANGE(0xf010, 0xf010) AM_WRITE(soundlatch_w)
|
||||
AM_RANGE(0xf018, 0xf01f) AM_WRITE(dooyong_bgscroll8_w)
|
||||
AM_RANGE(0xf020, 0xf027) AM_WRITE(dooyong_fgscroll8_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_byte_le_w) AM_SHARE("paletteram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8, dooyong_state )
|
||||
@ -185,7 +185,7 @@ static ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8, dooyong_state )
|
||||
AM_RANGE(0xc018, 0xc01f) AM_WRITE(dooyong_fg2scroll8_w)
|
||||
AM_RANGE(0xc040, 0xc047) AM_WRITE(dooyong_bgscroll8_w)
|
||||
AM_RANGE(0xc048, 0xc04f) AM_WRITE(dooyong_fgscroll8_w)
|
||||
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_byte_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE(m_txvideoram)
|
||||
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xf000, 0xffff) AM_RAM
|
||||
@ -216,7 +216,7 @@ static ADDRESS_MAP_START( primella_map, AS_PROGRAM, 8, dooyong_state )
|
||||
AM_RANGE(0xc000, 0xcfff) AM_RAM
|
||||
AM_RANGE(0xd000, 0xd3ff) AM_RAM /* what is this? looks like a palette? scratchpad RAM maybe? */
|
||||
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE(m_txvideoram)
|
||||
AM_RANGE(0xf000, 0xf7ff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xf000, 0xf7ff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_byte_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("DSWA")
|
||||
AM_RANGE(0xf800, 0xf800) AM_WRITE(primella_ctrl_w) /* bank switch, flip screen etc */
|
||||
AM_RANGE(0xf810, 0xf810) AM_READ_PORT("DSWB")
|
||||
@ -239,7 +239,7 @@ static ADDRESS_MAP_START( rshark_map, AS_PROGRAM, 16, dooyong_state )
|
||||
AM_RANGE(0x0c0006, 0x0c0007) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x0c4000, 0x0c400f) AM_WRITE(dooyong_bgscroll16_w)
|
||||
AM_RANGE(0x0c4010, 0x0c401f) AM_WRITE(dooyong_bg2scroll16_w)
|
||||
AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0c0012, 0x0c0013) AM_WRITE(soundlatch_word_w)
|
||||
AM_RANGE(0x0c0014, 0x0c0015) AM_WRITE(rshark_ctrl_w) /* flip screen + unknown stuff */
|
||||
AM_RANGE(0x0cc000, 0x0cc00f) AM_WRITE(dooyong_fgscroll16_w)
|
||||
@ -257,7 +257,7 @@ static ADDRESS_MAP_START( superx_map, AS_PROGRAM, 16, dooyong_state )
|
||||
AM_RANGE(0x080006, 0x080007) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x084000, 0x08400f) AM_WRITE(dooyong_bgscroll16_w)
|
||||
AM_RANGE(0x084010, 0x08401f) AM_WRITE(dooyong_bg2scroll16_w)
|
||||
AM_RANGE(0x088000, 0x088fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x088000, 0x088fff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x080012, 0x080013) AM_WRITE(soundlatch_word_w)
|
||||
AM_RANGE(0x080014, 0x080015) AM_WRITE(rshark_ctrl_w) /* flip screen + unknown stuff */
|
||||
AM_RANGE(0x08c000, 0x08c00f) AM_WRITE(dooyong_fgscroll16_w)
|
||||
@ -278,7 +278,7 @@ static ADDRESS_MAP_START( popbingo_map, AS_PROGRAM, 16, dooyong_state )
|
||||
AM_RANGE(0x0c0018, 0x0c001b) AM_WRITENOP // ?
|
||||
AM_RANGE(0x0c4000, 0x0c400f) AM_WRITE(dooyong_bgscroll16_w)
|
||||
AM_RANGE(0x0c4010, 0x0c401f) AM_WRITE(dooyong_bg2scroll16_w) // not used atm
|
||||
AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x0cc000, 0x0cc00f) AM_WRITE(dooyong_fgscroll16_w) // not used atm
|
||||
AM_RANGE(0x0cc010, 0x0cc01f) AM_WRITE(dooyong_fg2scroll16_w) // not used atm
|
||||
AM_RANGE(0x0dc000, 0x0dc01f) AM_RAM // registers of some kind?
|
||||
|
@ -432,7 +432,7 @@ WRITE32_MEMBER(dreamwld_state::dreamwld_6295_1_bank_w)
|
||||
logerror("OKI1: unk bank write %x mem_mask %8x\n", data, mem_mask);
|
||||
}
|
||||
|
||||
// why doesn't using paletteram16_xRRRRRGGGGGBBBBB_word_w with a 16-bit handler work? colours are
|
||||
// why doesn't using paletteram_xRRRRRGGGGGBBBBB_word_w with a 16-bit handler work? colours are
|
||||
// severely corrupt on dream world's semicom screen + many sprites, seems palette values get duplicated.
|
||||
WRITE32_MEMBER(dreamwld_state::dreamwld_palette_w)
|
||||
{
|
||||
|
@ -199,7 +199,7 @@ static ADDRESS_MAP_START( drgnmst_main_map, AS_PROGRAM, 16, drgnmst_state )
|
||||
AM_RANGE(0x800180, 0x800181) AM_WRITE(drgnmst_snd_command_w)
|
||||
AM_RANGE(0x800188, 0x800189) AM_WRITE(drgnmst_snd_flag_w)
|
||||
AM_RANGE(0x8001e0, 0x8001e1) AM_WRITENOP
|
||||
AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x904000, 0x907fff) AM_RAM_WRITE(drgnmst_md_videoram_w) AM_BASE(m_md_videoram)
|
||||
AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE(drgnmst_bg_videoram_w) AM_BASE(m_bg_videoram)
|
||||
AM_RANGE(0x90c000, 0x90ffff) AM_RAM_WRITE(drgnmst_fg_videoram_w) AM_BASE(m_fg_videoram)
|
||||
|
@ -36,7 +36,7 @@ WRITE8_MEMBER(drmicro_state::nmi_enable_w)
|
||||
|
||||
m_nmi_enable = data & 1;
|
||||
m_flipscreen = (data & 2) ? 1 : 0;
|
||||
flip_screen_set(machine(), data & 2);
|
||||
flip_screen_set(data & 2);
|
||||
|
||||
// bit2,3 unknown
|
||||
}
|
||||
|
@ -164,7 +164,7 @@ static ADDRESS_MAP_START( drtomy_map, AS_PROGRAM, 16, drtomy_state )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* ROM */
|
||||
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(drtomy_vram_fg_w) AM_BASE(m_videoram_fg) /* Video RAM FG */
|
||||
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(drtomy_vram_bg_w) AM_BASE(m_videoram_bg) /* Video RAM BG */
|
||||
AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") /* Palette */
|
||||
AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") /* Palette */
|
||||
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
|
||||
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW2")
|
||||
|
@ -219,7 +219,7 @@ static WRITE8_DEVICE_HANDLER( egghunt_okibanking_w )
|
||||
|
||||
static ADDRESS_MAP_START( egghunt_map, AS_PROGRAM, 8, egghunt_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_byte_le_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(egghunt_atram_w) AM_BASE(m_atram)
|
||||
AM_RANGE(0xd000, 0xdfff) AM_READWRITE(egghunt_bgram_r, egghunt_bgram_w)
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM
|
||||
|
@ -231,7 +231,7 @@ static SCREEN_UPDATE_RGB32( enigma2 )
|
||||
offs_t color_map_address = (y >> 3 << 5) | (x >> 3);
|
||||
/* the schematics shows it like this, but it doesn't work as this would
|
||||
produce no stars, due to the contents of the PROM -- maybe there is
|
||||
a star disabled bit somewhere that's connected here instead of flip_screen_get(screen.machine()) */
|
||||
a star disabled bit somewhere that's connected here instead of flip_screen() */
|
||||
/* star_map_address = (y >> 4 << 6) | (engima2_flip_screen_get() << 5) | (x >> 3); */
|
||||
offs_t star_map_address = (y >> 4 << 6) | 0x20 | (x >> 3);
|
||||
|
||||
|
@ -1224,7 +1224,7 @@ static MACHINE_RESET( equites )
|
||||
{
|
||||
equites_state *state = machine.driver_data<equites_state>();
|
||||
|
||||
flip_screen_set(machine, 0);
|
||||
state->flip_screen_set(0);
|
||||
|
||||
state->m_fg_char_bank = 0;
|
||||
state->m_bgcolor = 0;
|
||||
|
@ -82,7 +82,7 @@ WRITE16_MEMBER(esd16_state::esd16_sound_command_w)
|
||||
static ADDRESS_MAP_START( multchmp_map, AS_PROGRAM, 16, esd16_state )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
|
||||
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
|
||||
AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
|
||||
AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
|
||||
/**/AM_RANGE(0x300000, 0x3007ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
|
||||
AM_RANGE(0x300800, 0x300807) AM_WRITE(esd16_spriteram_w) // Sprites (Mirrored)
|
||||
/**/AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE(esd16_vram_0_w) AM_BASE(m_vram_0) // Layers
|
||||
@ -133,7 +133,7 @@ WRITE16_MEMBER(esd16_state::esd_eeprom_w)
|
||||
static ADDRESS_MAP_START( hedpanic_map, AS_PROGRAM, 16, esd16_state )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
|
||||
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
|
||||
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
|
||||
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
|
||||
AM_RANGE(0x900000, 0x9007ff) AM_WRITEONLY AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
|
||||
AM_RANGE(0x900800, 0x900807) AM_WRITE(esd16_spriteram_w) // Sprites (Mirrored)
|
||||
AM_RANGE(0xa00000, 0xa03fff) AM_WRITE(esd16_vram_0_w) AM_BASE(m_vram_0) // Layers
|
||||
@ -164,7 +164,7 @@ static ADDRESS_MAP_START( mchampdx_map, AS_PROGRAM, 16, esd16_state )
|
||||
AM_RANGE(0x300000, 0x303fff) AM_WRITE(esd16_vram_0_w) AM_BASE(m_vram_0) // Layers
|
||||
AM_RANGE(0x320000, 0x323fff) AM_WRITE(esd16_vram_1_w) AM_BASE(m_vram_1) //
|
||||
AM_RANGE(0x324000, 0x327fff) AM_WRITE(esd16_vram_1_w) AM_BASE(m_vram_1) // mirror?
|
||||
AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
|
||||
AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
|
||||
AM_RANGE(0x500000, 0x500001) AM_WRITENOP // IRQ Ack
|
||||
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
|
||||
@ -188,7 +188,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( tangtang_map, AS_PROGRAM, 16, esd16_state )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
|
||||
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // RAM
|
||||
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // RAM
|
||||
AM_RANGE(0x200000, 0x2007ff) AM_WRITEONLY AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
|
||||
AM_RANGE(0x200800, 0x200807) AM_WRITE(esd16_spriteram_w) // Sprites (Mirrored)
|
||||
AM_RANGE(0x300000, 0x303fff) AM_WRITE(esd16_vram_0_w) AM_BASE(m_vram_0) // Layers
|
||||
|
@ -80,7 +80,7 @@ WRITE8_MEMBER(ettrivia_state::ettrivia_control_w)
|
||||
|
||||
coin_counter_w(machine(), 0, data & 0x80);
|
||||
|
||||
flip_screen_set(machine(), data & 1);
|
||||
flip_screen_set(data & 1);
|
||||
}
|
||||
|
||||
READ8_MEMBER(ettrivia_state::ettrivia_question_r)
|
||||
|
@ -286,7 +286,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16, exterm_state )
|
||||
AM_RANGE(0x01500000, 0x0153ffff) AM_MIRROR(0xfc000000) AM_WRITE(exterm_output_port_0_w)
|
||||
AM_RANGE(0x01580000, 0x015bffff) AM_MIRROR(0xfc000000) AM_WRITE(sound_latch_w)
|
||||
AM_RANGE(0x015c0000, 0x015fffff) AM_MIRROR(0xfc000000) AM_WRITE(watchdog_reset16_w)
|
||||
AM_RANGE(0x01800000, 0x01807fff) AM_MIRROR(0xfc7f8000) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x01800000, 0x01807fff) AM_MIRROR(0xfc7f8000) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x02800000, 0x02807fff) AM_MIRROR(0xfc7f8000) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0x03000000, 0x03ffffff) AM_MIRROR(0xfc000000) AM_ROM AM_REGION("user1", 0)
|
||||
ADDRESS_MAP_END
|
||||
|
@ -59,7 +59,7 @@ WRITE8_MEMBER(exzisus_state::exzisus_cpua_bankswitch_w)
|
||||
}
|
||||
}
|
||||
|
||||
flip_screen_set(machine(), data & 0x40);
|
||||
flip_screen_set(data & 0x40);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(exzisus_state::exzisus_cpub_bankswitch_w)
|
||||
@ -75,7 +75,7 @@ WRITE8_MEMBER(exzisus_state::exzisus_cpub_bankswitch_w)
|
||||
}
|
||||
}
|
||||
|
||||
flip_screen_set(machine(), data & 0x40);
|
||||
flip_screen_set(data & 0x40);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(exzisus_state::exzisus_coincounter_w)
|
||||
|
@ -103,7 +103,7 @@ static ADDRESS_MAP_START( f1gp_cpu1_map, AS_PROGRAM, 16, f1gp_state )
|
||||
AM_RANGE(0xff8000, 0xffbfff) AM_RAM // WORK RAM-1
|
||||
AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(m_sharedram) // DUAL RAM
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(f1gp_fgvideoram_w) AM_BASE(m_fgvideoram) // CHARACTER
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // PALETTE
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // PALETTE
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS")
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_WRITE(f1gp_gfxctrl_w)
|
||||
// AM_RANGE(0xfff002, 0xfff003) analog wheel?
|
||||
@ -125,7 +125,7 @@ static ADDRESS_MAP_START( f1gp2_cpu1_map, AS_PROGRAM, 16, f1gp_state )
|
||||
AM_RANGE(0xff8000, 0xffbfff) AM_RAM // WORK RAM-1
|
||||
AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(m_sharedram) // DUAL RAM
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(f1gp_fgvideoram_w) AM_BASE(m_fgvideoram) // CHARACTER
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // PALETTE
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // PALETTE
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS") AM_WRITE(f1gp2_gfxctrl_w)
|
||||
// AM_RANGE(0xfff002, 0xfff003) analog wheel?
|
||||
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW1")
|
||||
@ -198,7 +198,7 @@ static ADDRESS_MAP_START( f1gpb_cpu1_map, AS_PROGRAM, 16, f1gp_state )
|
||||
AM_RANGE(0xff8000, 0xffbfff) AM_RAM
|
||||
AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(m_sharedram)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(f1gp_fgvideoram_w) AM_BASE(m_fgvideoram)
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS")
|
||||
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2")
|
||||
|
@ -123,7 +123,7 @@ static ADDRESS_MAP_START( fantland_map, AS_PROGRAM, 16, fantland_state )
|
||||
AM_RANGE( 0x00000, 0x07fff ) AM_RAM
|
||||
AM_RANGE( 0x08000, 0x7ffff ) AM_ROM
|
||||
|
||||
AM_RANGE( 0xa2000, 0xa21ff ) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w ) AM_SHARE("paletteram")
|
||||
AM_RANGE( 0xa2000, 0xa21ff ) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w ) AM_SHARE("paletteram")
|
||||
|
||||
AM_RANGE( 0xa3000, 0xa3001 ) AM_READ_PORT("a3000") AM_WRITE(fantland_nmi_enable_16_w )
|
||||
AM_RANGE( 0xa3002, 0xa3003 ) AM_READ_PORT("a3002") AM_WRITE(fantland_soundlatch_16_w )
|
||||
@ -143,7 +143,7 @@ static ADDRESS_MAP_START( galaxygn_map, AS_PROGRAM, 8, fantland_state )
|
||||
AM_RANGE( 0x00000, 0x07fff ) AM_RAM
|
||||
AM_RANGE( 0x10000, 0x2ffff ) AM_ROM
|
||||
|
||||
AM_RANGE( 0x52000, 0x521ff ) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_SHARE("paletteram")
|
||||
AM_RANGE( 0x52000, 0x521ff ) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_byte_le_w ) AM_SHARE("paletteram")
|
||||
|
||||
AM_RANGE( 0x53000, 0x53000 ) AM_READ_PORT("P1") AM_WRITE(fantland_nmi_enable_w )
|
||||
AM_RANGE( 0x53001, 0x53001 ) AM_READ_PORT("P2")
|
||||
@ -235,7 +235,7 @@ static ADDRESS_MAP_START( borntofi_map, AS_PROGRAM, 8, fantland_state )
|
||||
AM_RANGE( 0x00000, 0x07fff ) AM_RAM
|
||||
AM_RANGE( 0x10000, 0x2ffff ) AM_ROM
|
||||
|
||||
AM_RANGE( 0x52000, 0x521ff ) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_SHARE("paletteram")
|
||||
AM_RANGE( 0x52000, 0x521ff ) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_byte_le_w ) AM_SHARE("paletteram")
|
||||
AM_RANGE( 0x53000, 0x53001 ) AM_READWRITE(borntofi_inputs_r, borntofi_nmi_enable_w )
|
||||
AM_RANGE( 0x53002, 0x53002 ) AM_READ_PORT( "DSW" ) AM_WRITE(fantland_soundlatch_w )
|
||||
AM_RANGE( 0x53003, 0x53003 ) AM_READ_PORT( "Controls" )
|
||||
@ -264,7 +264,7 @@ static ADDRESS_MAP_START( wheelrun_map, AS_PROGRAM, 8, fantland_state )
|
||||
AM_RANGE(0x30000, 0x3ffff) AM_ROM
|
||||
AM_RANGE(0x70000, 0x7ffff) AM_ROM
|
||||
|
||||
AM_RANGE(0x52000, 0x521ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_SHARE( "paletteram" )
|
||||
AM_RANGE(0x52000, 0x521ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_byte_le_w ) AM_SHARE( "paletteram" )
|
||||
|
||||
AM_RANGE(0x53000, 0x53000) AM_READ_PORT( "53000" ) AM_WRITE(borntofi_nmi_enable_w )
|
||||
AM_RANGE(0x53001, 0x53001) AM_READ_PORT( "53001" )
|
||||
|
@ -224,7 +224,7 @@ static SCREEN_UPDATE_IND16( fcrash )
|
||||
int videocontrol = state->m_cps_a_regs[0x22 / 2];
|
||||
|
||||
|
||||
flip_screen_set(screen.machine(), videocontrol & 0x8000);
|
||||
state->flip_screen_set(videocontrol & 0x8000);
|
||||
|
||||
layercontrol = state->m_cps_b_regs[0x20 / 2];
|
||||
|
||||
@ -304,7 +304,7 @@ static SCREEN_UPDATE_IND16( kodb )
|
||||
int layercontrol, l0, l1, l2, l3;
|
||||
int videocontrol = state->m_cps_a_regs[0x22 / 2];
|
||||
|
||||
flip_screen_set(screen.machine(), videocontrol & 0x8000);
|
||||
state->flip_screen_set(videocontrol & 0x8000);
|
||||
|
||||
layercontrol = state->m_cps_b_regs[0x20 / 2];
|
||||
|
||||
|
@ -45,7 +45,7 @@ WRITE8_MEMBER(finalizr_state::finalizr_flipscreen_w)
|
||||
m_nmi_enable = data & 0x01;
|
||||
m_irq_enable = data & 0x02;
|
||||
|
||||
flip_screen_set(machine(), ~data & 0x08);
|
||||
flip_screen_set(~data & 0x08);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(finalizr_state::finalizr_i8039_irq_w)
|
||||
|
@ -337,7 +337,7 @@ WRITE8_MEMBER(firetrap_state::firetrap_adpcm_data_w)
|
||||
|
||||
WRITE8_MEMBER(firetrap_state::flip_screen_w)
|
||||
{
|
||||
flip_screen_set(machine(), data);
|
||||
flip_screen_set(data);
|
||||
}
|
||||
|
||||
|
||||
|
@ -164,7 +164,7 @@ static ADDRESS_MAP_START( fitfight_main_map, AS_PROGRAM, 16, fitfight_state )
|
||||
AM_RANGE(0xb14000, 0xb17fff) AM_WRITENOP //used by histryma @0x0000b25a,b270
|
||||
AM_RANGE(0xb18000, 0xb1bfff) AM_WRITENOP //used by histryma @0x0000b25a,b270,b286
|
||||
|
||||
AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
|
||||
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE(m_spriteram)
|
||||
|
||||
@ -195,7 +195,7 @@ static ADDRESS_MAP_START( bbprot_main_map, AS_PROGRAM, 16, fitfight_state )
|
||||
AM_RANGE(0xb0c000, 0xb0ffff) AM_RAM_WRITE(fof_txt_tileram_w) AM_BASE(m_fof_txt_tileram)
|
||||
|
||||
AM_RANGE(0xc00000, 0xc00fff) AM_READONLY
|
||||
AM_RANGE(0xc00000, 0xc03fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xc00000, 0xc03fff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
|
||||
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE(m_spriteram)
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user