Skip to content

Commit

Permalink
xavmusic research
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidHaywood committed Dec 21, 2024
1 parent fb24f2e commit ea301af
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/mame/tvgames/xavix.h
Original file line number Diff line number Diff line change
Expand Up @@ -607,6 +607,7 @@ class xavix_state : public driver_device
virtual void extintrf_790x_w(offs_t offset, uint8_t data);

bool m_disable_memory_bypass = false;
bool m_disable_sprite_yflip = false;
int m_video_hres_multiplier;
};

Expand Down
10 changes: 9 additions & 1 deletion src/mame/tvgames/xavix_2002.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -660,6 +660,14 @@ void superxavix_super_tv_pc_state::init_stvpc()
m_disable_memory_bypass = true;
}

void superxavix_i2c_jmat_state::init_xavmusic()
{
init_xavix();
// is sprite yflip broken on (some?) revisions of SuperXaviX hardware, or is there a CPU bug causing this
m_disable_sprite_yflip = true;
}



CONS( 2004, xavtenni, 0, 0, superxavix_i2c_24c04, xavix_i2c, superxavix_i2c_state, init_xavix, "SSD Company LTD", "XaviX Tennis (XaviXPORT)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 2004, xavbaseb, 0, 0, superxavix_i2c_24c08, xavix_i2c, superxavix_i2c_state, init_xavix, "SSD Company LTD", "XaviX Baseball (XaviXPORT)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
Expand All @@ -671,7 +679,7 @@ CONS( 2004, xavbassf, 0, 0, superxavix_i2c_24c08, xavix_i2c, superxavix_i2c_sta
// TODO: check SEEPROM type and hookup, banking!
CONS( 2005, xavjmat, 0, 0, superxavix_i2c_jmat, xavix, superxavix_i2c_jmat_state, init_xavix, "SSD Company LTD", "Jackie Chan J-Mat Fitness (XaviXPORT)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 2005, xavaero, 0, 0, superxavix_i2c_jmat, xavix, superxavix_i2c_jmat_state, init_xavix, "SSD Company LTD", "XaviX Aerostep (XaviXPORT, Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 2007, xavmusic, 0, 0, superxavix_i2c_jmat, xavix, superxavix_i2c_jmat_state, init_xavix, "SSD Company LTD", "XaviX Music & Circuit (XaviXPORT)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 2007, xavmusic, 0, 0, superxavix_i2c_jmat, xavix, superxavix_i2c_jmat_state, init_xavmusic, "SSD Company LTD", "XaviX Music & Circuit (XaviXPORT)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )

// https://arnaudmeyer.wordpress.com/domyos-interactive-system/
// Domyos Fitness Adventure
Expand Down
2 changes: 2 additions & 0 deletions src/mame/tvgames/xavix_2002.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ class superxavix_i2c_jmat_state : public superxavix_i2c_state

void superxavix_i2c_jmat(machine_config &config);

void init_xavmusic();

private:
uint8_t read_extended_io0();
uint8_t read_extended_io1();
Expand Down
6 changes: 5 additions & 1 deletion src/mame/tvgames/xavix_v.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1023,7 +1023,11 @@ void xavix_state::draw_sprites_line(screen_device &screen, bitmap_rgb32 &bitmap,

int zval = (attr1 & 0xf0) >> 4;
int flipx = (attr1 & 0x01);
int flipy = (attr1 & 0x02); // XaviX logo on xavmusic has this set, but doesn't want it, why?
int flipy = (attr1 & 0x02);

// many elements, including the XaviX logo on xavmusic have yflip set, but don't want it, why?
if (m_disable_sprite_yflip)
flipy = 0;

int drawheight = 16;
int drawwidth = 16;
Expand Down

0 comments on commit ea301af

Please sign in to comment.