mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
xmen6p: fixed some gfx issues [dink/fbneo]
This commit is contained in:
parent
a9ca16768b
commit
91fa417760
@ -48,6 +48,7 @@ void xmen_state::eeprom_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
/* bit 4 is cs (active low) */
|
||||
/* bit 5 is enabled in IRQ3, disabled in IRQ5 (sprite DMA start?) */
|
||||
ioport("EEPROMOUT")->write(data, 0xff);
|
||||
m_xmen6p_tilemap_select = BIT(data, 7);
|
||||
}
|
||||
if (ACCESSING_BITS_8_15)
|
||||
{
|
||||
@ -152,7 +153,7 @@ void xmen_state::_6p_main_map(address_map &map)
|
||||
map(0x1d0000, 0x1d37ff).readonly();
|
||||
map(0x1d0000, 0x1d37ff).writeonly();
|
||||
*/
|
||||
map(0x1cc000, 0x1d7fff).ram(); /* tilemap ? */
|
||||
map(0x1cc000, 0x1d7fff).ram().share("tilemapleftalt"); /* tilemap ? */
|
||||
|
||||
/* whats the stuff below, buffers? */
|
||||
/*
|
||||
@ -163,7 +164,7 @@ void xmen_state::_6p_main_map(address_map &map)
|
||||
map(0x1f4000, 0x1f77ff).readonly();
|
||||
map(0x1f4000, 0x1f77ff).writeonly();
|
||||
*/
|
||||
map(0x1ec000, 0x1f7fff).ram(); /* tilemap ? */
|
||||
map(0x1ec000, 0x1f7fff).ram().share("tilemaprightalt"); /* tilemap ? */
|
||||
}
|
||||
|
||||
|
||||
@ -270,6 +271,7 @@ void xmen_state::machine_start()
|
||||
save_item(NAME(m_layer_colorbase));
|
||||
save_item(NAME(m_layerpri));
|
||||
save_item(NAME(m_vblank_irq_mask));
|
||||
save_item(NAME(m_xmen6p_tilemap_select));
|
||||
}
|
||||
|
||||
void xmen_state::machine_reset()
|
||||
|
@ -24,6 +24,8 @@ public:
|
||||
m_xmen6p_spriteramright(*this, "spriteramright"),
|
||||
m_xmen6p_tilemapleft(*this, "tilemapleft"),
|
||||
m_xmen6p_tilemapright(*this, "tilemapright"),
|
||||
m_xmen6p_tilemapleftalt(*this, "tilemapleftalt"),
|
||||
m_xmen6p_tilemaprightalt(*this, "tilemaprightalt"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_audiocpu(*this, "audiocpu"),
|
||||
m_k054539(*this, "k054539"),
|
||||
@ -53,10 +55,13 @@ private:
|
||||
optional_shared_ptr<uint16_t> m_xmen6p_spriteramright;
|
||||
optional_shared_ptr<uint16_t> m_xmen6p_tilemapleft;
|
||||
optional_shared_ptr<uint16_t> m_xmen6p_tilemapright;
|
||||
optional_shared_ptr<uint16_t> m_xmen6p_tilemapleftalt;
|
||||
optional_shared_ptr<uint16_t> m_xmen6p_tilemaprightalt;
|
||||
uint16_t * m_k053247_ram;
|
||||
|
||||
/* misc */
|
||||
uint8_t m_vblank_irq_mask;
|
||||
bool m_xmen6p_tilemap_select;
|
||||
|
||||
/* devices */
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
@ -162,10 +162,15 @@ WRITE_LINE_MEMBER(xmen_state::screen_vblank_xmen6p)
|
||||
*/
|
||||
for (offset = 0; offset < (0xc000 / 2); offset++)
|
||||
{
|
||||
m_k052109->write(offset, m_xmen6p_tilemapright[offset] & 0x00ff);
|
||||
if (offset != 0x1c80 && offset != 0x1e80)
|
||||
{
|
||||
if (m_xmen6p_tilemap_select)
|
||||
m_k052109->write(offset, m_xmen6p_tilemaprightalt[offset] & 0x00ff);
|
||||
else
|
||||
m_k052109->write(offset, m_xmen6p_tilemapright[offset] & 0x00ff);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
renderbitmap = m_screen_right.get();
|
||||
}
|
||||
else
|
||||
@ -180,10 +185,17 @@ WRITE_LINE_MEMBER(xmen_state::screen_vblank_xmen6p)
|
||||
*/
|
||||
for (offset = 0; offset < (0xc000 / 2); offset++)
|
||||
{
|
||||
m_k052109->write(offset, m_xmen6p_tilemapleft[offset] & 0x00ff);
|
||||
{
|
||||
if (m_xmen6p_tilemap_select)
|
||||
{
|
||||
if (offset != 0x1c80 && offset != 0x1e80)
|
||||
m_k052109->write(offset, m_xmen6p_tilemapleftalt[offset] & 0x00ff);
|
||||
}
|
||||
else
|
||||
m_k052109->write(offset, m_xmen6p_tilemapleft[offset] & 0x00ff);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
renderbitmap = m_screen_left.get();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user