mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
make both halves of the banked palette available for use, doesn't help with what i was looking at tho (nw)
This commit is contained in:
parent
f3c419cf7b
commit
eb7b99a72e
@ -149,7 +149,7 @@ static ADDRESS_MAP_START( pollux_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
|
||||
AM_RANGE(0xf010, 0xf010) AM_WRITE(soundlatch_byte_w)
|
||||
AM_RANGE(0xf018, 0xf01f) AM_WRITE(bgscroll_w)
|
||||
AM_RANGE(0xf020, 0xf027) AM_WRITE(fgscroll_w)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_flytiger_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
|
||||
@ -206,7 +206,7 @@ static ADDRESS_MAP_START( flytiger_map, AS_PROGRAM, 8, dooyong_z80_state )
|
||||
AM_RANGE(0xe020, 0xe020) AM_WRITE(soundlatch_byte_w)
|
||||
AM_RANGE(0xe030, 0xe037) AM_WRITE(bgscroll_w)
|
||||
AM_RANGE(0xe040, 0xe047) AM_WRITE(fgscroll_w)
|
||||
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_flytiger_w) AM_SHARE("flytiger_palram")
|
||||
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_flytiger_w)
|
||||
AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -944,7 +944,7 @@ static MACHINE_CONFIG_START( pollux, dooyong_z80_ym2203_state )
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", lastday)
|
||||
MCFG_PALETTE_ADD("palette", 1024)
|
||||
MCFG_PALETTE_ADD("palette", 1024*2)
|
||||
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
|
||||
|
||||
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_ym2203_state, pollux)
|
||||
@ -1012,7 +1012,7 @@ static MACHINE_CONFIG_START( flytiger, dooyong_z80_state )
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", flytiger)
|
||||
MCFG_PALETTE_ADD("palette", 1024)
|
||||
MCFG_PALETTE_ADD("palette", 1024*2)
|
||||
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
|
||||
|
||||
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, flytiger)
|
||||
|
@ -54,7 +54,6 @@ public:
|
||||
dooyong_z80_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: dooyong_state(mconfig, type, tag),
|
||||
m_txvideoram(*this, "txvideoram"),
|
||||
m_paletteram_flytiger(*this, "flytiger_palram"),
|
||||
m_spriteram(*this, "spriteram")
|
||||
{ }
|
||||
|
||||
@ -83,7 +82,7 @@ public:
|
||||
DECLARE_VIDEO_START(primella);
|
||||
|
||||
required_shared_ptr<UINT8> m_txvideoram;
|
||||
optional_shared_ptr<UINT8> m_paletteram_flytiger;
|
||||
UINT8* m_paletteram_flytiger;
|
||||
UINT8 m_sprites_disabled;
|
||||
UINT8 m_flytiger_palette_bank;
|
||||
UINT8 m_flytiger_pri;
|
||||
|
@ -108,11 +108,14 @@ WRITE8_MEMBER(dooyong_z80_ym2203_state::pollux_ctrl_w)
|
||||
coin_counter_w(machine(), 0, data & 0x80);
|
||||
coin_counter_w(machine(), 1, data & 0x40);
|
||||
|
||||
/* bit 1 is used but unknown */
|
||||
/* bit 1 is used but unknown - possibly palette banking */
|
||||
m_flytiger_palette_bank = (data & 0x02)^2;
|
||||
|
||||
/* bit 2 is continuously toggled (unknown) */
|
||||
/* bit 4 is used but unknown */
|
||||
}
|
||||
|
||||
|
||||
|
||||
WRITE8_MEMBER(dooyong_z80_state::primella_ctrl_w)
|
||||
{
|
||||
@ -132,12 +135,12 @@ WRITE8_MEMBER(dooyong_z80_state::primella_ctrl_w)
|
||||
|
||||
WRITE8_MEMBER(dooyong_z80_state::paletteram_flytiger_w)
|
||||
{
|
||||
if (m_flytiger_palette_bank)
|
||||
{
|
||||
m_paletteram_flytiger[offset] = data;
|
||||
UINT16 const value = m_paletteram_flytiger[offset & ~1] | (m_paletteram_flytiger[offset | 1] << 8);
|
||||
m_palette->set_pen_color(offset/2, pal5bit(value >> 10), pal5bit(value >> 5), pal5bit(value >> 0));
|
||||
}
|
||||
if (!m_flytiger_palette_bank) offset+= 0x800;
|
||||
|
||||
m_paletteram_flytiger[offset] = data;
|
||||
UINT16 const value = m_paletteram_flytiger[offset & ~1] | (m_paletteram_flytiger[offset | 1] << 8);
|
||||
m_palette->set_pen_color(offset/2, pal5bit(value >> 10), pal5bit(value >> 5), pal5bit(value >> 0));
|
||||
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(dooyong_z80_state::flytiger_ctrl_w)
|
||||
@ -522,6 +525,9 @@ VIDEO_START_MEMBER(dooyong_z80_ym2203_state, pollux)
|
||||
m_fg_gfx = 3;
|
||||
m_tx_tilemap_mode = 0;
|
||||
|
||||
m_paletteram_flytiger = auto_alloc_array_clear(machine(), UINT8, 0x1000);
|
||||
save_pointer(NAME(m_paletteram_flytiger), 0x1000);
|
||||
|
||||
/* Create tilemaps */
|
||||
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS,
|
||||
32, 32, 32, 8);
|
||||
@ -592,6 +598,9 @@ VIDEO_START_MEMBER(dooyong_z80_state, flytiger)
|
||||
m_fg_gfx = 3;
|
||||
m_tx_tilemap_mode = 0;
|
||||
|
||||
m_paletteram_flytiger = auto_alloc_array_clear(machine(), UINT8, 0x1000);
|
||||
save_pointer(NAME(m_paletteram_flytiger), 0x1000);
|
||||
|
||||
/* Create tilemaps */
|
||||
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS,
|
||||
32, 32, 32, 8);
|
||||
|
Loading…
Reference in New Issue
Block a user