mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
progress (nw)
This commit is contained in:
parent
205fc516ea
commit
efc721357c
@ -399,6 +399,10 @@ void xavix_state::superxavix_lowbus_map(address_map &map)
|
||||
map(0x6c00, 0x6cff).ram().w(FUNC(xavix_state::bmp_palram_sh_w)).share("bmp_palram_sh");
|
||||
map(0x6d00, 0x6dff).ram().w(FUNC(xavix_state::bmp_palram_l_w)).share("bmp_palram_l");
|
||||
|
||||
map(0x7a10, 0x7a12).ram().rw(FUNC(xavix_state::pio_dir_r), FUNC(xavix_state::pio_dir_w));
|
||||
map(0x7a20, 0x7a22).ram().rw(FUNC(xavix_state::pio_out_r), FUNC(xavix_state::pio_out_w));
|
||||
map(0x7a30, 0x7a32).ram().r(FUNC(xavix_state::pio_in_r));
|
||||
|
||||
map(0x6fb0, 0x6fc7).ram().share("bmp_base");
|
||||
}
|
||||
|
||||
@ -1076,6 +1080,14 @@ void xavix_state::xavix2000(machine_config &config)
|
||||
m_palette->set_entries(512);
|
||||
}
|
||||
|
||||
void xavix_i2c_jmat_state::xavix_i2c_jmat(machine_config &config)
|
||||
{
|
||||
xavix2000(config);
|
||||
|
||||
I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x200); // ?
|
||||
}
|
||||
|
||||
|
||||
void xavix_state::xavix2000_nv(machine_config &config)
|
||||
{
|
||||
xavix2000(config);
|
||||
@ -1573,7 +1585,7 @@ CONS( 2004, xavtenni, 0, 0, xavix2000_i2c_24c04, xavix, xavix_i2c_state, init_xa
|
||||
CONS( 2004, xavbaseb, 0, 0, xavix2000_i2c_24c04, xavix, xavix_i2c_state, init_xavix, "SSD Company LTD", "XaviX Baseball (XaviXPORT)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
|
||||
// TODO: check SEEPROM type and hookup, banking!
|
||||
CONS( 2005, xavjmat, 0, 0, xavix2000_i2c_24c04, xavix, xavix_i2c_state, init_xavix, "SSD Company LTD", "Jackie Chan J-Mat Fitness (XaviXPORT)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 2005, xavjmat, 0, 0, xavix_i2c_jmat, xavix, xavix_i2c_jmat_state, init_xavix, "SSD Company LTD", "Jackie Chan J-Mat Fitness (XaviXPORT)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
|
||||
// https://arnaudmeyer.wordpress.com/domyos-interactive-system/
|
||||
// Domyos Fitness Adventure
|
||||
@ -1588,12 +1600,12 @@ CONS( 2005, xavjmat, 0, 0, xavix2000_i2c_24c04, xavix, xavix_i2c_state, init_xa
|
||||
// Domyos Bike Concept (not listed on site above)
|
||||
|
||||
// Has SEEPROM and an RTC. Exercise has some leftover PC buffer stuff. (TODO, check SEEPROM type, RTC type, banking) (both Exercises and Challenge are identical PCBs)
|
||||
CONS( 2008, domfitex, 0, 0, xavix2000_i2c_24c04, xavixp, xavix_i2c_state, init_xavix, "Decathlon / SSD Company LTD", "Domyos Fitness Exercises (Domyos Interactive System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 2008, domfitch, 0, 0, xavix2000_i2c_24c04, xavixp, xavix_i2c_state, init_xavix, "Decathlon / SSD Company LTD", "Domyos Fitness Challenge (Domyos Interactive System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 2008, domfitex, 0, 0, xavix_i2c_jmat, xavixp, xavix_i2c_jmat_state, init_xavix, "Decathlon / SSD Company LTD", "Domyos Fitness Exercises (Domyos Interactive System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 2008, domfitch, 0, 0, xavix_i2c_jmat, xavixp, xavix_i2c_jmat_state, init_xavix, "Decathlon / SSD Company LTD", "Domyos Fitness Challenge (Domyos Interactive System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
|
||||
// Domyos DiS (unknown hardware, or bad dumps)
|
||||
// This DOES NOT look like a 6502 based Xavix / Super Xavix! maybe XaviX 2, the cartridges contain the entire system (CPU,Video,Sound,ROM) so that is possible.
|
||||
// Seems to have 32-bit looking stuff, possible vectors at start?
|
||||
// Seems to have 32-bit looking stuff, possible vectors at start? possible ARM THUMB mode code
|
||||
|
||||
ROM_START( domfitad )
|
||||
ROM_REGION( 0x1000000, "bios", ROMREGION_ERASE00 )
|
||||
@ -1601,4 +1613,8 @@ ROM_START( domfitad )
|
||||
ROM_END
|
||||
|
||||
// Has SEEPROM and an RTC. Adventure has the string DOMYSSDCOLTD a couple of times.
|
||||
CONS( 2008, domfitad, 0, 0, xavix2000_i2c_24c04, xavixp, xavix_i2c_state, init_xavix, "Decathlon / SSD Company LTD", "Domyos Fitness Adventure (Domyos Interactive System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 2008, domfitad, 0, 0, xavix_i2c_jmat, xavixp, xavix_i2c_jmat_state, init_xavix, "Decathlon / SSD Company LTD", "Domyos Fitness Adventure (Domyos Interactive System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -564,6 +564,18 @@ private:
|
||||
|
||||
required_device<xavix_sound_device> m_sound;
|
||||
DECLARE_READ8_MEMBER(sound_regram_read_cb);
|
||||
|
||||
protected:
|
||||
// additional SuperXaviX / XaviX2002 stuff
|
||||
uint8_t m_sx_pio_dir[3];
|
||||
uint8_t m_sx_pio_out[3];
|
||||
|
||||
DECLARE_WRITE8_MEMBER(pio_dir_w);
|
||||
DECLARE_READ8_MEMBER(pio_dir_r);
|
||||
|
||||
virtual DECLARE_WRITE8_MEMBER(pio_out_w);
|
||||
virtual DECLARE_READ8_MEMBER(pio_out_r);
|
||||
virtual DECLARE_READ8_MEMBER(pio_in_r);
|
||||
};
|
||||
|
||||
class xavix_i2c_state : public xavix_state
|
||||
@ -601,6 +613,22 @@ private:
|
||||
int hackaddress2;
|
||||
};
|
||||
|
||||
class xavix_i2c_jmat_state : public xavix_state
|
||||
{
|
||||
public:
|
||||
xavix_i2c_jmat_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: xavix_state(mconfig, type, tag),
|
||||
m_i2cmem(*this, "i2cmem")
|
||||
{ }
|
||||
|
||||
void xavix_i2c_jmat(machine_config &config);
|
||||
|
||||
private:
|
||||
|
||||
required_device<i2cmem_device> m_i2cmem;
|
||||
};
|
||||
|
||||
|
||||
class xavix_i2c_lotr_state : public xavix_i2c_state
|
||||
{
|
||||
public:
|
||||
|
@ -1077,6 +1077,9 @@ void xavix_state::machine_start()
|
||||
save_item(NAME(m_timer_baseval));
|
||||
save_item(NAME(m_spritereg));
|
||||
save_item(NAME(m_barrel_params));
|
||||
|
||||
save_item(NAME(m_sx_pio_dir));
|
||||
save_item(NAME(m_sx_pio_out));
|
||||
}
|
||||
|
||||
void xavix_state::machine_reset()
|
||||
@ -1155,6 +1158,13 @@ void xavix_state::machine_reset()
|
||||
m_barrel_params[0] = 0x00;
|
||||
m_barrel_params[1] = 0x00;
|
||||
|
||||
// SuperXaviX
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
m_sx_pio_dir[i] = 0x00;
|
||||
m_sx_pio_out[i] = 0x00;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
typedef device_delegate<uint8_t(int which, int half)> xavix_interrupt_vector_delegate;
|
||||
@ -1182,3 +1192,34 @@ int16_t xavix_state::get_vectors(int which, int half)
|
||||
}
|
||||
|
||||
|
||||
// additional SuperXaviX / XaviX2002 stuff
|
||||
|
||||
WRITE8_MEMBER(xavix_state::pio_dir_w)
|
||||
{
|
||||
LOG("%s: pio_dir_w (port %d) %02x\n", machine().describe_context(), offset, data);
|
||||
m_sx_pio_dir[offset] = data;
|
||||
}
|
||||
|
||||
READ8_MEMBER(xavix_state::pio_dir_r)
|
||||
{
|
||||
LOG("%s: pio_dir_r (port %d)\n", machine().describe_context(), offset);
|
||||
return m_sx_pio_dir[offset];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(xavix_state::pio_out_w)
|
||||
{
|
||||
LOG("%s: pio_out_w (port %d) %02x\n", machine().describe_context(), offset, data);
|
||||
m_sx_pio_out[offset] = data;
|
||||
}
|
||||
|
||||
READ8_MEMBER(xavix_state::pio_out_r)
|
||||
{
|
||||
LOG("%s: pio_out_r (port %d)\n", machine().describe_context(), offset);
|
||||
return m_sx_pio_out[offset];
|
||||
}
|
||||
|
||||
READ8_MEMBER(xavix_state::pio_in_r)
|
||||
{
|
||||
LOG("%s: pio_in_r (port %d)\n", machine().describe_context(), offset);
|
||||
return 0x00;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user