mirror of
https://github.com/holub/mame
synced 2025-07-01 08:18:59 +03:00
Merge pull request #4138 from DavidHaywood/121018
some xavix visible area register tweaks based on studying video evidence (nw)
This commit is contained in:
commit
cdec2f74d6
@ -409,7 +409,9 @@ WRITE8_MEMBER(xavix_state::irq_source_w)
|
|||||||
|
|
||||||
void xavix_state::machine_start()
|
void xavix_state::machine_start()
|
||||||
{
|
{
|
||||||
|
// card night expects RAM to be initialized to 0xff or it will show the pause menu over the startup graphics?!
|
||||||
|
// don't do this every reset or it breaks the baseball 2 secret mode toggle which flips a bit in RAM
|
||||||
|
std::fill_n(&m_mainram[0], 0x4000, 0xff);
|
||||||
}
|
}
|
||||||
|
|
||||||
void xavix_state::machine_reset()
|
void xavix_state::machine_reset()
|
||||||
@ -448,40 +450,13 @@ void xavix_state::machine_reset()
|
|||||||
m_soundregs[12] = 0;
|
m_soundregs[12] = 0;
|
||||||
m_soundregs[13] = 0;
|
m_soundregs[13] = 0;
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++)
|
std::fill(std::begin(m_multparams), std::end(m_multparams), 0x00);
|
||||||
m_multparams[i] = 0;
|
std::fill(std::begin(m_multresults), std::end(m_multresults), 0x00);
|
||||||
|
std::fill(std::begin(m_spritefragment_dmaparam1), std::end(m_spritefragment_dmaparam1), 0x00);
|
||||||
for (int i = 0; i < 2; i++)
|
std::fill(std::begin(m_tmap1_regs), std::end(m_tmap1_regs), 0x00);
|
||||||
m_multresults[i] = 0;
|
std::fill(std::begin(m_tmap2_regs), std::end(m_tmap2_regs), 0x00);
|
||||||
|
std::fill(std::begin(m_txarray), std::end(m_txarray), 0x00);
|
||||||
for (int i = 0; i < 2; i++)
|
std::fill_n(&m_fragment_sprite[0], 0x800, 0x00); // taito nostalgia 1 never initializes the ram at 0x6400 but there's no condition on using it at present?
|
||||||
{
|
|
||||||
m_spritefragment_dmaparam1[i] = 0;
|
|
||||||
m_spritefragment_dmaparam2[i] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < 8; i++)
|
|
||||||
{
|
|
||||||
m_tmap1_regs[i] = 0;
|
|
||||||
m_tmap2_regs[i] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++)
|
|
||||||
{
|
|
||||||
m_txarray[i] = 0x00;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < 0x800; i++)
|
|
||||||
{
|
|
||||||
// taito nostalgia 1 never initializes the ram at 0x6400 but there's no condition on using it at present?
|
|
||||||
m_fragment_sprite[i] = 0x00;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < 0x4000; i++)
|
|
||||||
{
|
|
||||||
// card night expects RAM to be initialized to 0xff or it will show the pause menu over the startup graphics?!
|
|
||||||
m_mainram[i] = 0xff;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_lowbus->set_bank(0);
|
m_lowbus->set_bank(0);
|
||||||
}
|
}
|
||||||
|
@ -674,15 +674,19 @@ uint32_t xavix_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
|
|||||||
|
|
||||||
if (m_arena_control & 0x01)
|
if (m_arena_control & 0x01)
|
||||||
{
|
{
|
||||||
// some games enable it with both regs as 00, which causes a problem
|
/* Controls the clipping area (for all layers?) used for effect at start of Slap Fight and to add black borders in other cases
|
||||||
if (m_arena_start > m_arena_end)
|
based on Slap Fight Tiger lives display (and reference videos) this is slightly offset as all status bar gfx must display
|
||||||
|
Monster Truck black bars are wider on the right hand side, but this matches with the area in which the tilemap is incorrectly rendered so seems to be intentional
|
||||||
|
Snowboard hides garbage sprites on the right hand side with this, confirming the right hand side offset
|
||||||
|
Taito Nostalgia 1 'Gladiator' portraits in demo mode are cut slightly due to the area specified, again the cut-off points for left and right are confirmed as correct on hardware
|
||||||
|
|
||||||
|
some games enable it with both regs as 00, which causes a problem, likewise ping pong sets both to 0xff
|
||||||
|
but Slap Fight Tiger has both set to 0x82 at a time when everything should be clipped
|
||||||
|
*/
|
||||||
|
if (((m_arena_start != 0x00) && (m_arena_end != 0x00)) && ((m_arena_start != 0xff) && (m_arena_end != 0xff)))
|
||||||
{
|
{
|
||||||
// controls the clipping area (for all layers?) used for effect at start of Slap Fight and to add black borders in other cases
|
clip.max_x = m_arena_start - 3;
|
||||||
// based on Slap Fight Tiger lives display (and reference videos) this is slightly offset as all gfx must display
|
clip.min_x = m_arena_end - 1;
|
||||||
// other games don't correct the offset so will display a tiny bit of extra space at times?
|
|
||||||
// (there is some tilemap draw-in on Monster Truck)
|
|
||||||
clip.max_x = m_arena_start + 1;
|
|
||||||
clip.min_x = m_arena_end - 2;
|
|
||||||
|
|
||||||
if (clip.min_x < cliprect.min_x)
|
if (clip.min_x < cliprect.min_x)
|
||||||
clip.min_x = cliprect.min_x;
|
clip.min_x = cliprect.min_x;
|
||||||
|
Loading…
Reference in New Issue
Block a user