XaviX - new machines marked as NOT WORKING (#3275)

Play TV Snowboarder (Blue) [Sean Riddle, Peter Wilhelmsen]
Let's! TV Play Classic - Namco Nostalgia 2 [Sean Riddle, Peter Wilhelmsen]
Lord Of The Rings - Warrior of Middle-Earth [Sean Riddle, Peter Wilhelmsen]
This commit is contained in:
David Haywood 2018-02-26 08:40:28 +00:00 committed by Ivan Vangelista
parent b23717203a
commit 2b769ab116
4 changed files with 86 additions and 15 deletions

View File

@ -34,6 +34,11 @@ retf_imp
TMP2 = read(SP); TMP2 = read(SP);
m_farbank = TMP2; m_farbank = TMP2;
} }
else
{
// namcons2: because apparently 0x0300ea isn't correctly mirroring 0x0000ea despite logic in xavix.cpp looking correct?
m_farbank = 0;
}
read_pc(); read_pc();
prefetch(); prefetch();

View File

@ -20,6 +20,12 @@
Tetris Tetris
Space Invaders Space Invaders
Possible other games on this hardawre
ConnecTV Football (aka ConnecTV International Football)
- Soccer game, not the same as Play TV Football, or Play TV Soccer
(it has the same XTAL etc. as this driver at least)
--- ---
The XaviX ones seem to have a XaviX logo on the external packaging while the The XaviX ones seem to have a XaviX logo on the external packaging while the
ones for this driver don't seem to have any specific marking. ones for this driver don't seem to have any specific marking.

View File

@ -21,9 +21,17 @@
SSD COMPANY LIMITED is already working on their next chip called "XaviX II" that is said to be a 32-bit RISC processor SSD COMPANY LIMITED is already working on their next chip called "XaviX II" that is said to be a 32-bit RISC processor
with 3D capabilities. with 3D capabilities.
Important addresses Notes:
To access service mode in Monster Truck hold Horn and Nitro on startup
0x18340 in Monster Truck is the self-test mode, shows me which registers need to retain their values etc.
Some games have Serial EEPROMs
Nostalgia 24LC04
XaviXTennis 24C08
Jedi 24C02
LOTR 24C02
***************************************************************************/ ***************************************************************************/
@ -34,7 +42,7 @@
#include "screen.h" #include "screen.h"
#include "speaker.h" #include "speaker.h"
// not confirmed for all games
#define MAIN_CLOCK XTAL(21'477'272) #define MAIN_CLOCK XTAL(21'477'272)
class xavix_state : public driver_device class xavix_state : public driver_device
@ -154,7 +162,6 @@ public:
DECLARE_DRIVER_INIT(xavix); DECLARE_DRIVER_INIT(xavix);
DECLARE_DRIVER_INIT(taitons1); DECLARE_DRIVER_INIT(taitons1);
DECLARE_DRIVER_INIT(rad_box); DECLARE_DRIVER_INIT(rad_box);
DECLARE_DRIVER_INIT(rad_crdn);
void xavix_map(address_map &map); void xavix_map(address_map &map);
protected: protected:
@ -1605,6 +1612,34 @@ static INPUT_PORTS_START( rad_boxp )
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( rad_snow )
PORT_INCLUDE(xavix)
PORT_MODIFY("IN0")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Go") // is this a button, or 'up' ?
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
INPUT_PORTS_END
static INPUT_PORTS_START( rad_snowp )
PORT_INCLUDE(rad_snow)
PORT_MODIFY("REGION") // PAL/NTSC flag
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SPECIAL )
INPUT_PORTS_END
static INPUT_PORTS_START( namcons2 )
PORT_INCLUDE(xavix)
PORT_MODIFY("IN0")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 )
INPUT_PORTS_END
/* correct, 4bpp gfxs */ /* correct, 4bpp gfxs */
static const gfx_layout charlayout = static const gfx_layout charlayout =
{ {
@ -1741,6 +1776,7 @@ MACHINE_CONFIG_START(xavix_state::xavix)
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu",XAVIX,MAIN_CLOCK) MCFG_CPU_ADD("maincpu",XAVIX,MAIN_CLOCK)
MCFG_CPU_PROGRAM_MAP(xavix_map) MCFG_CPU_PROGRAM_MAP(xavix_map)
MCFG_M6502_DISABLE_DIRECT()
MCFG_CPU_VBLANK_INT_DRIVER("screen", xavix_state, interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", xavix_state, interrupt)
MCFG_XAVIX_VECTOR_CALLBACK(xavix_state, get_vectors) MCFG_XAVIX_VECTOR_CALLBACK(xavix_state, get_vectors)
@ -1796,12 +1832,6 @@ DRIVER_INIT_MEMBER(xavix_state, rad_box)
m_alt_addressing = 2; m_alt_addressing = 2;
} }
DRIVER_INIT_MEMBER(xavix_state, rad_crdn)
{
DRIVER_INIT_CALL(xavix);
m_alt_addressing = 2;
}
/*************************************************************************** /***************************************************************************
Game driver(s) Game driver(s)
@ -1813,6 +1843,11 @@ ROM_START( taitons1 )
ROM_LOAD( "taitonostalgia1.u3", 0x000000, 0x200000, CRC(25bd8c67) SHA1(a109cd2da6aa4596e3ca3abd1afce2d0001a473f) ) ROM_LOAD( "taitonostalgia1.u3", 0x000000, 0x200000, CRC(25bd8c67) SHA1(a109cd2da6aa4596e3ca3abd1afce2d0001a473f) )
ROM_END ROM_END
ROM_START( namcons2 )
ROM_REGION( 0x100000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "nostalgia.bin", 0x000000, 0x100000, CRC(03f7f755) SHA1(bdf1b10ab0104ed580951b0c428c4e93e7373afe) )
ROM_END
ROM_START( rad_box ) ROM_START( rad_box )
ROM_REGION(0x200000, "bios", ROMREGION_ERASE00) ROM_REGION(0x200000, "bios", ROMREGION_ERASE00)
ROM_LOAD("boxing.bin", 0x000000, 0x200000, CRC(5cd40714) SHA1(165260228c029a9502ca0598c84c24fd9bdeaebe) ) ROM_LOAD("boxing.bin", 0x000000, 0x200000, CRC(5cd40714) SHA1(165260228c029a9502ca0598c84c24fd9bdeaebe) )
@ -1833,6 +1868,17 @@ ROM_START( rad_bassp )
ROM_LOAD("bassfishin.bin", 0x000000, 0x100000, CRC(b54eb1c5) SHA1(084faa9349369f2b8846950765f9c8f758db3e9e) ) ROM_LOAD("bassfishin.bin", 0x000000, 0x100000, CRC(b54eb1c5) SHA1(084faa9349369f2b8846950765f9c8f758db3e9e) )
ROM_END ROM_END
ROM_START( rad_snow )
ROM_REGION(0x100000, "bios", ROMREGION_ERASE00)
ROM_LOAD("snoblu.bin", 0x000000, 0x100000, CRC(593e40b3) SHA1(03483ac39eddd7746470fb60018e704382b0da59) )
ROM_END
ROM_START( rad_snowp )
ROM_REGION(0x100000, "bios", ROMREGION_ERASE00)
ROM_LOAD("snoblu.bin", 0x000000, 0x100000, CRC(593e40b3) SHA1(03483ac39eddd7746470fb60018e704382b0da59) )
ROM_END
ROM_START( rad_ping ) ROM_START( rad_ping )
ROM_REGION( 0x100000, "bios", ROMREGION_ERASE00 ) ROM_REGION( 0x100000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "pingpong.bin", 0x000000, 0x100000, CRC(629f7f47) SHA1(2bb19fd202f1e6c319d2f7d18adbfed8a7669235) ) ROM_LOAD( "pingpong.bin", 0x000000, 0x100000, CRC(629f7f47) SHA1(2bb19fd202f1e6c319d2f7d18adbfed8a7669235) )
@ -1872,6 +1918,8 @@ ROM_END
CONS( 2006, taitons1, 0, 0, xavix, xavix, xavix_state, taitons1, "Bandai / SSD Company LTD / Taito", "Let's! TV Play Classic - Taito Nostalgia 1", MACHINE_IS_SKELETON ) CONS( 2006, taitons1, 0, 0, xavix, xavix, xavix_state, taitons1, "Bandai / SSD Company LTD / Taito", "Let's! TV Play Classic - Taito Nostalgia 1", MACHINE_IS_SKELETON )
CONS( 2006, namcons2, 0, 0, xavix, namcons2, xavix_state, taitons1, "Bandai / SSD Company LTD / Namco", "Let's! TV Play Classic - Namco Nostalgia 2", MACHINE_IS_SKELETON )
CONS( 2000, rad_ping, 0, 0, xavix, xavix, xavix_state, xavix, "Radica / SSD Company LTD / Simmer Technology", "Play TV Ping Pong", MACHINE_IS_SKELETON ) // "Simmer Technology" is also known as "Hummer Technology Co., Ltd" CONS( 2000, rad_ping, 0, 0, xavix, xavix, xavix_state, xavix, "Radica / SSD Company LTD / Simmer Technology", "Play TV Ping Pong", MACHINE_IS_SKELETON ) // "Simmer Technology" is also known as "Hummer Technology Co., Ltd"
CONS( 2003, rad_mtrk, 0, 0, xavix, rad_mtrk, xavix_state, xavix, "Radica / SSD Company LTD", "Play TV Monster Truck (NTSC)", MACHINE_IS_SKELETON ) CONS( 2003, rad_mtrk, 0, 0, xavix, rad_mtrk, xavix_state, xavix, "Radica / SSD Company LTD", "Play TV Monster Truck (NTSC)", MACHINE_IS_SKELETON )
@ -1879,15 +1927,19 @@ CONS( 2003, rad_mtrkp, rad_mtrk, 0, xavixp, rad_mtrkp,xavix_state, xavix,
CONS( 200?, rad_box, 0, 0, xavix, rad_box, xavix_state, rad_box, "Radica / SSD Company LTD", "Play TV Boxing (NTSC)", MACHINE_IS_SKELETON) CONS( 200?, rad_box, 0, 0, xavix, rad_box, xavix_state, rad_box, "Radica / SSD Company LTD", "Play TV Boxing (NTSC)", MACHINE_IS_SKELETON)
CONS( 200?, rad_boxp, rad_box, 0, xavixp, rad_boxp, xavix_state, rad_box, "Radica / SSD Company LTD", "ConnecTV Boxing (PAL)", MACHINE_IS_SKELETON) CONS( 200?, rad_boxp, rad_box, 0, xavixp, rad_boxp, xavix_state, rad_box, "Radica / SSD Company LTD", "ConnecTV Boxing (PAL)", MACHINE_IS_SKELETON)
CONS( 200?, rad_crdn, 0, 0, xavix, rad_crdn, xavix_state, rad_crdn, "Radica / SSD Company LTD", "Play TV Card Night (NTSC)", MACHINE_IS_SKELETON) CONS( 200?, rad_crdn, 0, 0, xavix, rad_crdn, xavix_state, rad_box, "Radica / SSD Company LTD", "Play TV Card Night (NTSC)", MACHINE_IS_SKELETON)
CONS( 200?, rad_crdnp, rad_crdn, 0, xavixp, rad_crdnp,xavix_state, rad_crdn, "Radica / SSD Company LTD", "ConnecTV Card Night (PAL)", MACHINE_IS_SKELETON) CONS( 200?, rad_crdnp, rad_crdn, 0, xavixp, rad_crdnp,xavix_state, rad_box, "Radica / SSD Company LTD", "ConnecTV Card Night (PAL)", MACHINE_IS_SKELETON)
CONS( 2002, rad_bb2, 0, 0, xavix, xavix, xavix_state, xavix, "Radica / SSD Company LTD", "Play TV Baseball 2", MACHINE_IS_SKELETON ) // contains string "Radica RBB2 V1.0" CONS( 2002, rad_bb2, 0, 0, xavix, xavix, xavix_state, xavix, "Radica / SSD Company LTD", "Play TV Baseball 2", MACHINE_IS_SKELETON ) // contains string "Radica RBB2 V1.0"
CONS( 2001, rad_bass, 0, 0, xavix, xavix, xavix_state, rad_box, "Radica / SSD Company LTD", "Play TV Bass Fishin'", MACHINE_IS_SKELETON) CONS( 2001, rad_bass, 0, 0, xavix, xavix, xavix_state, rad_box, "Radica / SSD Company LTD", "Play TV Bass Fishin'", MACHINE_IS_SKELETON)
CONS( 2001, rad_bassp, rad_bass, 0, xavixp, xavixp, xavix_state, rad_box, "Radica / SSD Company LTD", "ConnecTV Bass Fishin'", MACHINE_IS_SKELETON) CONS( 2001, rad_bassp, rad_bass, 0, xavixp, xavixp, xavix_state, rad_box, "Radica / SSD Company LTD", "ConnecTV Bass Fishin'", MACHINE_IS_SKELETON)
// there is another 'Snowboarder' with a white coloured board, it appears to be a newer game closer to 'SSX Snowboarder' but without the SSX license.
CONS( 2001, rad_snow, 0, 0, xavix, rad_snow, xavix_state, rad_box, "Radica / SSD Company LTD", "Play TV Snowboarder (Blue)", MACHINE_IS_SKELETON)
CONS( 2001, rad_snowp, rad_snow, 0, xavixp, rad_snowp,xavix_state, rad_box, "Radica / SSD Company LTD", "ConnecTV Snowboarder (Blue)", MACHINE_IS_SKELETON)
CONS (200?, eka_strt, 0, 0, xavix, xavix, xavix_state, xavix, "Takara / SSD Company LTD", "e-kara Starter", MACHINE_IS_SKELETON) CONS (200?, eka_strt, 0, 0, xavix, xavix, xavix_state, xavix, "Takara / SSD Company LTD", "e-kara Starter", MACHINE_IS_SKELETON)
/* The 'XaviXPORT' isn't a real console, more of a TV adapter, all the actual hardware (CPU including video hw, sound hw) is in the cartridges and controllers /* The 'XaviXPORT' isn't a real console, more of a TV adapter, all the actual hardware (CPU including video hw, sound hw) is in the cartridges and controllers
@ -1923,8 +1975,12 @@ ROM_START( ttv_sw )
ROM_LOAD( "jedi.bin", 0x000000, 0x800000, CRC(51cae5fd) SHA1(1ed8d556f31b4182259ca8c766d60c824d8d9744) ) ROM_LOAD( "jedi.bin", 0x000000, 0x800000, CRC(51cae5fd) SHA1(1ed8d556f31b4182259ca8c766d60c824d8d9744) )
ROM_END ROM_END
ROM_START( ttv_lotr )
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "lotr.bin", 0x000000, 0x800000, CRC(a034ecd5) SHA1(264a9d4327af0a075841ad6129db67d82cf741f1) )
ROM_END
CONS( 2004, xavtenni, 0, 0, xavix, xavix, xavix_state, xavix, "SSD Company LTD", "XaviX Tennis (XaviXPORT)", MACHINE_IS_SKELETON ) CONS( 2004, xavtenni, 0, 0, xavix, xavix, xavix_state, xavix, "SSD Company LTD", "XaviX Tennis (XaviXPORT)", MACHINE_IS_SKELETON )
CONS( 2005, ttv_sw, 0, 0, xavix, xavix, xavix_state, xavix, "Tiger / SSD Company LTD", "Star Wars Saga Edition - Lightsaber Battle Game", MACHINE_IS_SKELETON ) CONS( 2005, ttv_sw, 0, 0, xavix, xavix, xavix_state, xavix, "Tiger / SSD Company LTD", "Star Wars Saga Edition - Lightsaber Battle Game", MACHINE_IS_SKELETON )
CONS( 2005, ttv_lotr, 0, 0, xavix, xavix, xavix_state, xavix, "Tiger / SSD Company LTD", "Lord Of The Rings - Warrior of Middle-Earth", MACHINE_IS_SKELETON )

View File

@ -38976,6 +38976,7 @@ xsleenaj // TA-0019 (c) 1986
@source:xavix.cpp @source:xavix.cpp
taitons1 // taitons1 //
namcons2 //
rad_ping // rad_ping //
rad_mtrk // rad_mtrk //
rad_mtrkp // rad_mtrkp //
@ -38986,9 +38987,12 @@ rad_crdn //
rad_crdnp // rad_crdnp //
rad_bass // rad_bass //
rad_bassp // rad_bassp //
rad_snow //
rad_snowp //
eka_strt // eka_strt //
xavtenni // xavtenni //
ttv_sw // ttv_sw //
ttv_lotr //
@source:xbox.cpp @source:xbox.cpp
xbox // xbox //