fix Solar Assault title screen

This commit is contained in:
Ville Linde 2021-06-24 19:06:21 +03:00
parent c13dd1446b
commit 8fef949f1e
3 changed files with 20 additions and 1 deletions

View File

@ -764,7 +764,10 @@ uint32_t gticlub_state::screen_update_gticlub(screen_device &screen, bitmap_rgb3
{
m_k001604[0]->draw_back_layer(screen, bitmap, cliprect);
m_k001005->draw(bitmap, cliprect);
if (m_konppc[0].output_3d_enabled())
{
m_k001005->draw(bitmap, cliprect);
}
m_k001604[0]->draw_front_layer(screen, bitmap, cliprect);

View File

@ -106,6 +106,14 @@ void konppc_device::set_cgboard_texture_bank(int board, const char *bank, uint8_
machine().root_device().membank(bank)->configure_entries(0, 2, rom, 0x800000);
}
bool konppc_device::output_3d_enabled()
{
if (cgboard_id < MAX_CG_BOARDS)
return enable_3d[cgboard_id];
else
return false;
}
/*****************************************************************************/
/* CG Board DSP interface for PowerPC */
@ -155,6 +163,11 @@ void konppc_device::cgboard_dsp_comm_w_ppc(offs_t offset, uint32_t data, uint32_
dsp.set_input_line(INPUT_LINE_IRQ1, ASSERT_LINE);
}
if (ACCESSING_BITS_16_23)
{
enable_3d[cgboard_id] = (data & 0x400000) ? true : false;
}
if (ACCESSING_BITS_0_7)
dsp_comm_ppc[cgboard_id][offset] = data & 0xff;
}

View File

@ -30,6 +30,7 @@ public:
int get_cgboard_id(void);
void set_cgboard_texture_bank(int board, const char *bank, uint8_t *rom);
bool output_3d_enabled();
// read/write
uint32_t cgboard_dsp_comm_r_ppc(offs_t offset, uint32_t mem_mask = ~0);
@ -94,6 +95,8 @@ private:
int nwk_fifo_full;
int nwk_fifo_mask;
bool enable_3d[MAX_CG_BOARDS];
std::unique_ptr<uint32_t[]> nwk_fifo[MAX_CG_BOARDS];
int32_t nwk_fifo_read_ptr[MAX_CG_BOARDS];
int32_t nwk_fifo_write_ptr[MAX_CG_BOARDS];