Merge pull request #1681 from mamehaze/091116
fix MT03646: altbeastj, altbeast6 : Missing graphics in the crystal ball
This commit is contained in:
commit
d35febb03a
@ -1343,14 +1343,20 @@ void segas16b_state::device_timer(emu_timer &timer, device_timer_id id, int para
|
|||||||
// from Altered Beast
|
// from Altered Beast
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void segas16b_state::altbeast_common_i8751_sim(offs_t soundoffs, offs_t inputoffs)
|
void segas16b_state::altbeast_common_i8751_sim(offs_t soundoffs, offs_t inputoffs, int alt_bank)
|
||||||
{
|
{
|
||||||
// signal a VBLANK to the main CPU
|
// signal a VBLANK to the main CPU
|
||||||
m_maincpu->set_input_line(4, HOLD_LINE);
|
m_maincpu->set_input_line(4, HOLD_LINE);
|
||||||
|
|
||||||
// set tile banks
|
// set tile banks
|
||||||
address_space &space = m_maincpu->space(AS_PROGRAM);
|
address_space &space = m_maincpu->space(AS_PROGRAM);
|
||||||
rom_5704_bank_w(space, 1, m_workram[0x3094/2] & 0x00ff, 0x00ff);
|
int bank = m_workram[0x3094 / 2] & 0x00ff;
|
||||||
|
// alt_bank is used for the alt rom loading (where there are space between the ROMs)
|
||||||
|
// alternatively the rom loading could be changed, but the loading is correct for the non-mcu .b14/.a14 type
|
||||||
|
// board so presumably our MCU simulation should act accordingly.
|
||||||
|
if (alt_bank) bank = (bank & 0x1) | ((bank & 0xfe) << 1);
|
||||||
|
|
||||||
|
rom_5704_bank_w(space, 1, bank, 0x00ff);
|
||||||
|
|
||||||
// process any new sound data
|
// process any new sound data
|
||||||
uint16_t temp = m_workram[soundoffs];
|
uint16_t temp = m_workram[soundoffs];
|
||||||
@ -1366,17 +1372,17 @@ void segas16b_state::altbeast_common_i8751_sim(offs_t soundoffs, offs_t inputoff
|
|||||||
|
|
||||||
void segas16b_state::altbeasj_i8751_sim()
|
void segas16b_state::altbeasj_i8751_sim()
|
||||||
{
|
{
|
||||||
altbeast_common_i8751_sim(0x30d4/2, 0x30d0/2);
|
altbeast_common_i8751_sim(0x30d4/2, 0x30d0/2, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void segas16b_state::altbeas5_i8751_sim()
|
void segas16b_state::altbeas5_i8751_sim()
|
||||||
{
|
{
|
||||||
altbeast_common_i8751_sim(0x3098/2, 0x3096/2);
|
altbeast_common_i8751_sim(0x3098/2, 0x3096/2, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void segas16b_state::altbeast_i8751_sim()
|
void segas16b_state::altbeast_i8751_sim()
|
||||||
{
|
{
|
||||||
altbeast_common_i8751_sim(0x30c4/2, 0x30c2/2);
|
altbeast_common_i8751_sim(0x30c4/2, 0x30c2/2, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ protected:
|
|||||||
void init_generic(segas16b_rom_board rom_board);
|
void init_generic(segas16b_rom_board rom_board);
|
||||||
|
|
||||||
// i8751 simulations
|
// i8751 simulations
|
||||||
void altbeast_common_i8751_sim(offs_t soundoffs, offs_t inputoffs);
|
void altbeast_common_i8751_sim(offs_t soundoffs, offs_t inputoffs, int alt_bank);
|
||||||
void altbeasj_i8751_sim();
|
void altbeasj_i8751_sim();
|
||||||
void altbeas5_i8751_sim();
|
void altbeas5_i8751_sim();
|
||||||
void altbeast_i8751_sim();
|
void altbeast_i8751_sim();
|
||||||
|
Loading…
Reference in New Issue
Block a user