remove space from k007121_device::ctrlram_r (nw)

This commit is contained in:
smf- 2017-12-21 01:15:41 +00:00
parent 80cad1e412
commit b459a270ca
11 changed files with 83 additions and 97 deletions

View File

@ -31,8 +31,7 @@ Dip locations and factory settings verified with manual
INTERRUPT_GEN_MEMBER(contra_state::contra_interrupt)
{
address_space &space = generic_space();
if (m_k007121_1->ctrlram_r(space, 7) & 0x02)
if (m_k007121_1->ctrlram_r(7) & 0x02)
device.execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE);
}

View File

@ -25,10 +25,9 @@ TIMER_DEVICE_CALLBACK_MEMBER(fastlane_state::fastlane_scanline)
{
int scanline = param;
address_space &space = generic_space();
if(scanline == 240 && m_k007121->ctrlram_r(space, 7) & 0x02) // vblank irq
if(scanline == 240 && m_k007121->ctrlram_r(7) & 0x02) // vblank irq
m_maincpu->set_input_line(HD6309_IRQ_LINE, HOLD_LINE);
else if(((scanline % 32) == 0) && m_k007121->ctrlram_r(space, 7) & 0x01) // timer irq
else if(((scanline % 32) == 0) && m_k007121->ctrlram_r(7) & 0x01) // timer irq
m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}

View File

@ -23,15 +23,13 @@
INTERRUPT_GEN_MEMBER(labyrunr_state::labyrunr_vblank_interrupt)
{
address_space &space = generic_space();
if (m_k007121->ctrlram_r(space, 7) & 0x02)
if (m_k007121->ctrlram_r(7) & 0x02)
device.execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE);
}
INTERRUPT_GEN_MEMBER(labyrunr_state::labyrunr_timer_interrupt)
{
address_space &space = generic_space();
if (m_k007121->ctrlram_r(space, 7) & 0x01)
if (m_k007121->ctrlram_r(7) & 0x01)
device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}

View File

@ -95,7 +95,7 @@ PALETTE_INIT_MEMBER(combatsc_state,combatscb)
TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0)
{
uint8_t ctrl_6 = m_k007121_1->ctrlram_r(generic_space(), 6);
uint8_t ctrl_6 = m_k007121_1->ctrlram_r(6);
uint8_t attributes = m_page[0][tile_index];
int bank = 4 * ((m_vreg & 0x0f) - 1);
int number, color;
@ -128,7 +128,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0)
TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1)
{
uint8_t ctrl_6 = m_k007121_2->ctrlram_r(generic_space(), 6);
uint8_t ctrl_6 = m_k007121_2->ctrlram_r(6);
uint8_t attributes = m_page[1][tile_index];
int bank = 4 * ((m_vreg >> 4) - 1);
int number, color;
@ -363,8 +363,7 @@ WRITE8_MEMBER(combatsc_state::combatsc_scrollram_w)
void combatsc_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, const uint8_t *source, int circuit, bitmap_ind8 &priority_bitmap, uint32_t pri_mask )
{
k007121_device *k007121 = circuit ? m_k007121_2 : m_k007121_1;
address_space &space = machine().dummy_space();
int base_color = (circuit * 4) * 16 + (k007121->ctrlram_r(space, 6) & 0x10) * 2;
int base_color = (circuit * 4) * 16 + (k007121->ctrlram_r(6) & 0x10) * 2;
k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(circuit), *m_palette, source, base_color, 0, 0, priority_bitmap, pri_mask);
}
@ -374,8 +373,7 @@ uint32_t combatsc_state::screen_update_combatsc(screen_device &screen, bitmap_in
{
int i;
address_space &space = machine().dummy_space();
if (m_k007121_1->ctrlram_r(space, 1) & 0x02)
if (m_k007121_1->ctrlram_r(1) & 0x02)
{
m_bg_tilemap[0]->set_scroll_rows(32);
for (i = 0; i < 32; i++)
@ -384,10 +382,10 @@ uint32_t combatsc_state::screen_update_combatsc(screen_device &screen, bitmap_in
else
{
m_bg_tilemap[0]->set_scroll_rows(1);
m_bg_tilemap[0]->set_scrollx(0, m_k007121_1->ctrlram_r(space, 0) | ((m_k007121_1->ctrlram_r(space, 1) & 0x01) << 8));
m_bg_tilemap[0]->set_scrollx(0, m_k007121_1->ctrlram_r(0) | ((m_k007121_1->ctrlram_r(1) & 0x01) << 8));
}
if (m_k007121_2->ctrlram_r(space, 1) & 0x02)
if (m_k007121_2->ctrlram_r(1) & 0x02)
{
m_bg_tilemap[1]->set_scroll_rows(32);
for (i = 0; i < 32; i++)
@ -396,11 +394,11 @@ uint32_t combatsc_state::screen_update_combatsc(screen_device &screen, bitmap_in
else
{
m_bg_tilemap[1]->set_scroll_rows(1);
m_bg_tilemap[1]->set_scrollx(0, m_k007121_2->ctrlram_r(space, 0) | ((m_k007121_2->ctrlram_r(space, 1) & 0x01) << 8));
m_bg_tilemap[1]->set_scrollx(0, m_k007121_2->ctrlram_r(0) | ((m_k007121_2->ctrlram_r(1) & 0x01) << 8));
}
m_bg_tilemap[0]->set_scrolly(0, m_k007121_1->ctrlram_r(space, 2));
m_bg_tilemap[1]->set_scrolly(0, m_k007121_2->ctrlram_r(space, 2));
m_bg_tilemap[0]->set_scrolly(0, m_k007121_1->ctrlram_r(2));
m_bg_tilemap[1]->set_scrolly(0, m_k007121_2->ctrlram_r(2));
screen.priority().fill(0, cliprect);
@ -430,7 +428,7 @@ uint32_t combatsc_state::screen_update_combatsc(screen_device &screen, bitmap_in
m_bg_tilemap[1]->draw(screen, bitmap, cliprect, 0, 8);
}
//if (m_k007121_1->ctrlram_r(space, 1) & 0x08)
//if (m_k007121_1->ctrlram_r(1) & 0x08)
{
rectangle clip;
clip = cliprect;
@ -447,12 +445,12 @@ uint32_t combatsc_state::screen_update_combatsc(screen_device &screen, bitmap_in
clip.max_y = clip.min_y + 7;
// bit 3 of reg [1] selects if tiles are opaque or have transparent pen.
m_textlayer->draw(screen, bitmap, clip, m_k007121_1->ctrlram_r(space, 1) & 0x08 ? TILEMAP_DRAW_OPAQUE : 0, 0);
m_textlayer->draw(screen, bitmap, clip, m_k007121_1->ctrlram_r(1) & 0x08 ? TILEMAP_DRAW_OPAQUE : 0, 0);
}
}
/* chop the extreme columns if necessary */
if (m_k007121_1->ctrlram_r(space, 3) & 0x40)
if (m_k007121_1->ctrlram_r(3) & 0x40)
{
rectangle clip;

View File

@ -60,10 +60,10 @@ PALETTE_INIT_MEMBER(contra_state, contra)
TILE_GET_INFO_MEMBER(contra_state::get_fg_tile_info)
{
uint8_t ctrl_3 = m_k007121_1->ctrlram_r(generic_space(), 3);
uint8_t ctrl_4 = m_k007121_1->ctrlram_r(generic_space(), 4);
uint8_t ctrl_5 = m_k007121_1->ctrlram_r(generic_space(), 5);
uint8_t ctrl_6 = m_k007121_1->ctrlram_r(generic_space(), 6);
uint8_t ctrl_3 = m_k007121_1->ctrlram_r(3);
uint8_t ctrl_4 = m_k007121_1->ctrlram_r(4);
uint8_t ctrl_5 = m_k007121_1->ctrlram_r(5);
uint8_t ctrl_6 = m_k007121_1->ctrlram_r(6);
int attr = m_fg_cram[tile_index];
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
@ -87,10 +87,10 @@ TILE_GET_INFO_MEMBER(contra_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(contra_state::get_bg_tile_info)
{
uint8_t ctrl_3 = m_k007121_2->ctrlram_r(generic_space(), 3);
uint8_t ctrl_4 = m_k007121_2->ctrlram_r(generic_space(), 4);
uint8_t ctrl_5 = m_k007121_2->ctrlram_r(generic_space(), 5);
uint8_t ctrl_6 = m_k007121_2->ctrlram_r(generic_space(), 6);
uint8_t ctrl_3 = m_k007121_2->ctrlram_r(3);
uint8_t ctrl_4 = m_k007121_2->ctrlram_r(4);
uint8_t ctrl_5 = m_k007121_2->ctrlram_r(5);
uint8_t ctrl_6 = m_k007121_2->ctrlram_r(6);
int attr = m_bg_cram[tile_index];
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
@ -115,8 +115,8 @@ TILE_GET_INFO_MEMBER(contra_state::get_bg_tile_info)
TILE_GET_INFO_MEMBER(contra_state::get_tx_tile_info)
{
uint8_t ctrl_5 = m_k007121_1->ctrlram_r(generic_space(), 5);
uint8_t ctrl_6 = m_k007121_1->ctrlram_r(generic_space(), 6);
uint8_t ctrl_5 = m_k007121_1->ctrlram_r(5);
uint8_t ctrl_6 = m_k007121_1->ctrlram_r(6);
int attr = m_tx_cram[tile_index];
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
@ -210,7 +210,7 @@ WRITE8_MEMBER(contra_state::contra_text_cram_w)
WRITE8_MEMBER(contra_state::contra_K007121_ctrl_0_w)
{
uint8_t ctrl_6 = m_k007121_1->ctrlram_r(space, 6);
uint8_t ctrl_6 = m_k007121_1->ctrlram_r(6);
if (offset == 3)
{
@ -234,7 +234,7 @@ WRITE8_MEMBER(contra_state::contra_K007121_ctrl_0_w)
WRITE8_MEMBER(contra_state::contra_K007121_ctrl_1_w)
{
uint8_t ctrl_6 = m_k007121_2->ctrlram_r(space, 6);
uint8_t ctrl_6 = m_k007121_2->ctrlram_r(6);
if (offset == 3)
{
@ -265,8 +265,7 @@ WRITE8_MEMBER(contra_state::contra_K007121_ctrl_1_w)
void contra_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap, int bank )
{
k007121_device *k007121 = bank ? m_k007121_2 : m_k007121_1;
address_space &space = machine().dummy_space();
int base_color = (k007121->ctrlram_r(space, 6) & 0x30) * 2;
int base_color = (k007121->ctrlram_r(6) & 0x30) * 2;
const uint8_t *source;
if (bank == 0)
@ -279,11 +278,10 @@ void contra_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
uint32_t contra_state::screen_update_contra(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint8_t ctrl_1_0 = m_k007121_1->ctrlram_r(space, 0);
uint8_t ctrl_1_2 = m_k007121_1->ctrlram_r(space, 2);
uint8_t ctrl_2_0 = m_k007121_2->ctrlram_r(space, 0);
uint8_t ctrl_2_2 = m_k007121_2->ctrlram_r(space, 2);
uint8_t ctrl_1_0 = m_k007121_1->ctrlram_r(0);
uint8_t ctrl_1_2 = m_k007121_1->ctrlram_r(2);
uint8_t ctrl_2_0 = m_k007121_2->ctrlram_r(0);
uint8_t ctrl_2_2 = m_k007121_2->ctrlram_r(2);
rectangle bg_finalclip = m_bg_clip;
rectangle fg_finalclip = m_fg_clip;
rectangle tx_finalclip = m_tx_clip;

View File

@ -31,9 +31,9 @@ PALETTE_INIT_MEMBER(fastlane_state, fastlane)
TILE_GET_INFO_MEMBER(fastlane_state::get_tile_info0)
{
uint8_t ctrl_3 = m_k007121->ctrlram_r(generic_space(), 3);
uint8_t ctrl_4 = m_k007121->ctrlram_r(generic_space(), 4);
uint8_t ctrl_5 = m_k007121->ctrlram_r(generic_space(), 5);
uint8_t ctrl_3 = m_k007121->ctrlram_r(3);
uint8_t ctrl_4 = m_k007121->ctrlram_r(4);
uint8_t ctrl_5 = m_k007121->ctrlram_r(5);
int attr = m_videoram1[tile_index];
int code = m_videoram1[tile_index + 0x400];
int bit0 = (ctrl_5 >> 0) & 0x03;
@ -58,9 +58,9 @@ TILE_GET_INFO_MEMBER(fastlane_state::get_tile_info0)
TILE_GET_INFO_MEMBER(fastlane_state::get_tile_info1)
{
uint8_t ctrl_3 = m_k007121->ctrlram_r(generic_space(), 3);
uint8_t ctrl_4 = m_k007121->ctrlram_r(generic_space(), 4);
uint8_t ctrl_5 = m_k007121->ctrlram_r(generic_space(), 5);
uint8_t ctrl_3 = m_k007121->ctrlram_r(3);
uint8_t ctrl_4 = m_k007121->ctrlram_r(4);
uint8_t ctrl_5 = m_k007121->ctrlram_r(5);
int attr = m_videoram2[tile_index];
int code = m_videoram2[tile_index + 0x400];
int bit0 = (ctrl_5 >> 0) & 0x03;
@ -139,12 +139,11 @@ uint32_t fastlane_state::screen_update_fastlane(screen_device &screen, bitmap_in
finalclip1 &= cliprect;
/* set scroll registers */
address_space &space = machine().dummy_space();
xoffs = m_k007121->ctrlram_r(space, 0);
xoffs = m_k007121->ctrlram_r(0);
for (i = 0; i < 32; i++)
m_layer0->set_scrollx(i, m_k007121_regs[0x20 + i] + xoffs - 40);
m_layer0->set_scrolly(0, m_k007121->ctrlram_r(space, 2));
m_layer0->set_scrolly(0, m_k007121->ctrlram_r(2));
m_layer0->draw(screen, bitmap, finalclip0, 0, 0);
m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), *m_palette, m_spriteram, 0, 40, 0, screen.priority(), (uint32_t)-1);

View File

@ -18,11 +18,11 @@
TILE_GET_INFO_MEMBER(flkatck_state::get_tile_info_A)
{
uint8_t ctrl_0 = m_k007121->ctrlram_r(generic_space(), 0);
uint8_t ctrl_2 = m_k007121->ctrlram_r(generic_space(), 2);
uint8_t ctrl_3 = m_k007121->ctrlram_r(generic_space(), 3);
uint8_t ctrl_4 = m_k007121->ctrlram_r(generic_space(), 4);
uint8_t ctrl_5 = m_k007121->ctrlram_r(generic_space(), 5);
uint8_t ctrl_0 = m_k007121->ctrlram_r(0);
uint8_t ctrl_2 = m_k007121->ctrlram_r(2);
uint8_t ctrl_3 = m_k007121->ctrlram_r(3);
uint8_t ctrl_4 = m_k007121->ctrlram_r(4);
uint8_t ctrl_5 = m_k007121->ctrlram_r(5);
int attr = m_k007121_ram[tile_index];
int code = m_k007121_ram[tile_index + 0x400];
int bit0 = (ctrl_5 >> 0) & 0x03;
@ -97,7 +97,7 @@ WRITE8_MEMBER(flkatck_state::flkatck_k007121_regs_w)
switch (offset)
{
case 0x04: /* ROM bank select */
if (data != m_k007121->ctrlram_r(space, 4))
if (data != m_k007121->ctrlram_r(4))
machine().tilemap().mark_all_dirty();
break;
@ -130,7 +130,6 @@ uint32_t flkatck_state::screen_update_flkatck(screen_device &screen, bitmap_ind1
rectangle clip[2];
const rectangle &visarea = screen.visible_area();
address_space &space = machine().dummy_space();
if (m_flipscreen)
{
clip[0] = visarea;
@ -139,8 +138,8 @@ uint32_t flkatck_state::screen_update_flkatck(screen_device &screen, bitmap_ind1
clip[1] = visarea;
clip[1].min_x = clip[1].max_x - 40;
m_k007121_tilemap[0]->set_scrollx(0, m_k007121->ctrlram_r(space, 0) - 56 );
m_k007121_tilemap[0]->set_scrolly(0, m_k007121->ctrlram_r(space, 2));
m_k007121_tilemap[0]->set_scrollx(0, m_k007121->ctrlram_r(0) - 56 );
m_k007121_tilemap[0]->set_scrolly(0, m_k007121->ctrlram_r(2));
m_k007121_tilemap[1]->set_scrollx(0, -16);
}
else
@ -152,8 +151,8 @@ uint32_t flkatck_state::screen_update_flkatck(screen_device &screen, bitmap_ind1
clip[1].max_x = 39;
clip[1].min_x = 0;
m_k007121_tilemap[0]->set_scrollx(0, m_k007121->ctrlram_r(space, 0) - 40 );
m_k007121_tilemap[0]->set_scrolly(0, m_k007121->ctrlram_r(space, 2));
m_k007121_tilemap[0]->set_scrollx(0, m_k007121->ctrlram_r(0) - 40 );
m_k007121_tilemap[0]->set_scrolly(0, m_k007121->ctrlram_r(2));
m_k007121_tilemap[1]->set_scrollx(0, 0);
}

View File

@ -56,8 +56,8 @@ TILEMAP_MAPPER_MEMBER(hcastle_state::tilemap_scan)
TILE_GET_INFO_MEMBER(hcastle_state::get_fg_tile_info)
{
uint8_t ctrl_5 = m_k007121_1->ctrlram_r(generic_space(), 5);
uint8_t ctrl_6 = m_k007121_1->ctrlram_r(generic_space(), 6);
uint8_t ctrl_5 = m_k007121_1->ctrlram_r(5);
uint8_t ctrl_6 = m_k007121_1->ctrlram_r(6);
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
int bit2 = (ctrl_5 >> 4) & 0x03;
@ -79,8 +79,8 @@ TILE_GET_INFO_MEMBER(hcastle_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(hcastle_state::get_bg_tile_info)
{
uint8_t ctrl_5 = m_k007121_2->ctrlram_r(generic_space(), 5);
uint8_t ctrl_6 = m_k007121_2->ctrlram_r(generic_space(), 6);
uint8_t ctrl_5 = m_k007121_2->ctrlram_r(5);
uint8_t ctrl_6 = m_k007121_2->ctrlram_r(6);
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
int bit2 = (ctrl_5 >> 4) & 0x03;
@ -183,8 +183,7 @@ WRITE8_MEMBER(hcastle_state::hcastle_pf2_control_w)
void hcastle_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap, uint8_t *sbank, int bank )
{
k007121_device *k007121 = bank ? m_k007121_2 : m_k007121_1;
address_space &space = machine().dummy_space();
int base_color = (k007121->ctrlram_r(space, 6) & 0x30) * 2;
int base_color = (k007121->ctrlram_r(6) & 0x30) * 2;
int bank_base = (bank == 0) ? 0x4000 * (m_gfx_bank & 1) : 0;
k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(bank), *m_palette, sbank, base_color, 0, bank_base, priority_bitmap, (uint32_t)-1);
@ -194,16 +193,14 @@ void hcastle_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
uint32_t hcastle_state::screen_update_hcastle(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint8_t ctrl_1_0 = m_k007121_1->ctrlram_r(space, 0);
uint8_t ctrl_1_1 = m_k007121_1->ctrlram_r(space, 1);
uint8_t ctrl_1_2 = m_k007121_1->ctrlram_r(space, 2);
uint8_t ctrl_1_3 = m_k007121_1->ctrlram_r(space, 3);
uint8_t ctrl_2_0 = m_k007121_2->ctrlram_r(space, 0);
uint8_t ctrl_2_1 = m_k007121_2->ctrlram_r(space, 1);
uint8_t ctrl_2_2 = m_k007121_2->ctrlram_r(space, 2);
uint8_t ctrl_2_3 = m_k007121_2->ctrlram_r(space, 3);
uint8_t ctrl_1_0 = m_k007121_1->ctrlram_r(0);
uint8_t ctrl_1_1 = m_k007121_1->ctrlram_r(1);
uint8_t ctrl_1_2 = m_k007121_1->ctrlram_r(2);
uint8_t ctrl_1_3 = m_k007121_1->ctrlram_r(3);
uint8_t ctrl_2_0 = m_k007121_2->ctrlram_r(0);
uint8_t ctrl_2_1 = m_k007121_2->ctrlram_r(1);
uint8_t ctrl_2_2 = m_k007121_2->ctrlram_r(2);
uint8_t ctrl_2_3 = m_k007121_2->ctrlram_r(3);
m_pf1_bankbase = 0x0000;
m_pf2_bankbase = 0x4000 * ((m_gfx_bank & 2) >> 1);

View File

@ -157,7 +157,7 @@ void k007121_device::device_reset()
DEVICE HANDLERS
*****************************************************************************/
READ8_MEMBER( k007121_device::ctrlram_r )
uint8_t k007121_device::ctrlram_r(int offset)
{
assert(offset < 8);

View File

@ -13,7 +13,7 @@ public:
static void static_set_palette_tag(device_t &device, const char *tag);
DECLARE_READ8_MEMBER( ctrlram_r );
uint8_t ctrlram_r(int offset);
DECLARE_WRITE8_MEMBER( ctrl_w );
/* shall we move source in the interface? */

View File

@ -49,10 +49,10 @@ PALETTE_INIT_MEMBER(labyrunr_state, labyrunr)
TILE_GET_INFO_MEMBER(labyrunr_state::get_tile_info0)
{
uint8_t ctrl_3 = m_k007121->ctrlram_r(generic_space(), 3);
uint8_t ctrl_4 = m_k007121->ctrlram_r(generic_space(), 4);
uint8_t ctrl_5 = m_k007121->ctrlram_r(generic_space(), 5);
uint8_t ctrl_6 = m_k007121->ctrlram_r(generic_space(), 6);
uint8_t ctrl_3 = m_k007121->ctrlram_r(3);
uint8_t ctrl_4 = m_k007121->ctrlram_r(4);
uint8_t ctrl_5 = m_k007121->ctrlram_r(5);
uint8_t ctrl_6 = m_k007121->ctrlram_r(6);
int attr = m_videoram1[tile_index];
int code = m_videoram1[tile_index + 0x400];
int bit0 = (ctrl_5 >> 0) & 0x03;
@ -78,10 +78,10 @@ TILE_GET_INFO_MEMBER(labyrunr_state::get_tile_info0)
TILE_GET_INFO_MEMBER(labyrunr_state::get_tile_info1)
{
uint8_t ctrl_3 = m_k007121->ctrlram_r(generic_space(), 3);
uint8_t ctrl_4 = m_k007121->ctrlram_r(generic_space(), 4);
uint8_t ctrl_5 = m_k007121->ctrlram_r(generic_space(), 5);
uint8_t ctrl_6 = m_k007121->ctrlram_r(generic_space(), 6);
uint8_t ctrl_3 = m_k007121->ctrlram_r(3);
uint8_t ctrl_4 = m_k007121->ctrlram_r(4);
uint8_t ctrl_5 = m_k007121->ctrlram_r(5);
uint8_t ctrl_6 = m_k007121->ctrlram_r(6);
int attr = m_videoram2[tile_index];
int code = m_videoram2[tile_index + 0x400];
int bit0 = (ctrl_5 >> 0) & 0x03;
@ -159,14 +159,13 @@ WRITE8_MEMBER(labyrunr_state::labyrunr_vram2_w)
uint32_t labyrunr_state::screen_update_labyrunr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint8_t ctrl_0 = m_k007121->ctrlram_r(space, 0);
uint8_t ctrl_0 = m_k007121->ctrlram_r(0);
rectangle finalclip0, finalclip1;
screen.priority().fill(0, cliprect);
bitmap.fill(m_palette->black_pen(), cliprect);
if (~m_k007121->ctrlram_r(space, 3) & 0x20)
if (~m_k007121->ctrlram_r(3) & 0x20)
{
int i;
@ -182,14 +181,14 @@ uint32_t labyrunr_state::screen_update_labyrunr(screen_device &screen, bitmap_in
for(i = 0; i < 32; i++)
{
/* enable colscroll */
if((m_k007121->ctrlram_r(space, 1) & 6) == 6) // it's probably just one bit, but it's only used once in the game so I don't know which it's
m_layer0->set_scrolly((i + 2) & 0x1f, m_k007121->ctrlram_r(space, 2) + m_scrollram[i]);
if((m_k007121->ctrlram_r(1) & 6) == 6) // it's probably just one bit, but it's only used once in the game so I don't know which it's
m_layer0->set_scrolly((i + 2) & 0x1f, m_k007121->ctrlram_r(2) + m_scrollram[i]);
else
m_layer0->set_scrolly((i + 2) & 0x1f, m_k007121->ctrlram_r(space, 2));
m_layer0->set_scrolly((i + 2) & 0x1f, m_k007121->ctrlram_r(2));
}
m_layer0->draw(screen, bitmap, finalclip0, TILEMAP_DRAW_OPAQUE | TILEMAP_DRAW_CATEGORY(0), 0);
m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), *m_palette, m_spriteram,(m_k007121->ctrlram_r(space, 6) & 0x30) * 2, 40,0,screen.priority(),(m_k007121->ctrlram_r(space, 3) & 0x40) >> 5);
m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), *m_palette, m_spriteram,(m_k007121->ctrlram_r(6) & 0x30) * 2, 40,0,screen.priority(),(m_k007121->ctrlram_r(3) & 0x40) >> 5);
m_layer0->draw(screen, bitmap, finalclip0, TILEMAP_DRAW_OPAQUE | TILEMAP_DRAW_CATEGORY(1), 0);
/* we ignore the transparency because layer1 is drawn only at the top of the screen also covering sprites */
m_layer1->draw(screen, bitmap, finalclip1, TILEMAP_DRAW_OPAQUE, 0);
@ -203,7 +202,7 @@ uint32_t labyrunr_state::screen_update_labyrunr(screen_device &screen, bitmap_in
finalclip0.min_y = finalclip1.min_y = cliprect.min_y;
finalclip0.max_y = finalclip1.max_y = cliprect.max_y;
if(m_k007121->ctrlram_r(space, 1) & 1)
if(m_k007121->ctrlram_r(1) & 1)
{
finalclip0.min_x = cliprect.max_x - ctrl_0 + 8;
finalclip0.max_x = cliprect.max_x;
@ -256,7 +255,7 @@ uint32_t labyrunr_state::screen_update_labyrunr(screen_device &screen, bitmap_in
if(use_clip3[0])
m_layer0->draw(screen, bitmap, finalclip3, TILEMAP_DRAW_CATEGORY(0), 0);
m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), *m_palette, m_spriteram, (m_k007121->ctrlram_r(space, 6) & 0x30) * 2,40,0,screen.priority(),(m_k007121->ctrlram_r(space, 3) & 0x40) >> 5);
m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), *m_palette, m_spriteram, (m_k007121->ctrlram_r(6) & 0x30) * 2,40,0,screen.priority(),(m_k007121->ctrlram_r(3) & 0x40) >> 5);
m_layer0->draw(screen, bitmap, finalclip0, TILEMAP_DRAW_CATEGORY(1), 0);
if(use_clip3[0])