new machines marked as NOT WORKING (#3396)

* new machines marked as NOT WORKING
Connectv Cricket (PAL) [Sean Riddle, David Haywood]

This is a vii.cpp one, and I guess the bat / ball connect up via serial ports not the GPIO or something, so needs work (also possibly points at a CPU / DMA bug too)

* new machines marked as NOT WORKING
Connectv Football [Sean Riddle, David Haywood]

this one uses the elan_eu3a14 in a slightly different way to golden tee, should point at some registers to control behavior.

* render some scenes in rad_foot more correctly (nw)
This commit is contained in:
David Haywood 2018-03-30 20:16:28 +01:00 committed by ajrhacker
parent 81aa9f25ca
commit fe100f2e4e
3 changed files with 218 additions and 35 deletions

View File

@ -11,6 +11,7 @@
Known to be on this hardware
Golden Tee Golf Home Edition (developed by FarSight Studios)
Connectv Football (developed by Medialink)
Also on this hardware
@ -73,6 +74,7 @@ public:
m_maincpu(*this, "maincpu"),
m_palram(*this, "palram"),
m_scrollregs(*this, "scrollregs"),
m_tilecfg(*this, "tilecfg"),
m_tilebase(*this, "tilebase"),
m_mainram(*this, "mainram"),
m_dmaparams(*this, "dmaparams"),
@ -87,6 +89,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void radica_eu3a14(machine_config &config);
void radica_eu3a14_adc(machine_config &config);
int m_custom_irq;
uint16_t m_custom_irq_vector;
@ -109,8 +112,12 @@ public:
// for callback
DECLARE_READ8_MEMBER(read_full_space);
DECLARE_DRIVER_INIT(rad_gtg);
DECLARE_DRIVER_INIT(rad_foot);
void bank_map(address_map &map);
void radica_eu3a14_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@ -124,6 +131,7 @@ private:
required_device<cpu_device> m_maincpu;
required_shared_ptr<uint8_t> m_palram;
required_shared_ptr<uint8_t> m_scrollregs;
required_shared_ptr<uint8_t> m_tilecfg;
required_shared_ptr<uint8_t> m_tilebase;
required_shared_ptr<uint8_t> m_mainram;
required_shared_ptr<uint8_t> m_dmaparams;
@ -133,9 +141,11 @@ private:
uint8_t m_rombank_hi;
uint8_t m_rombank_lo;
int m_tilerambase;
int m_spriterambase;
void handle_palette(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_page(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int which, int xbase, int ybase);
void draw_page(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int which, int xbase, int ybase, int size);
void draw_background(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
};
@ -194,28 +204,43 @@ void radica_eu3a14_state::handle_palette(screen_device &screen, bitmap_ind16 &bi
}
}
void radica_eu3a14_state::draw_page(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int which, int xbase, int ybase)
void radica_eu3a14_state::draw_page(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int which, int xbase, int ybase, int size)
{
gfx_element *gfx = m_gfxdecode->gfx(3);
gfx_element *gfx;
int base = (m_tilebase[1] << 8) | m_tilebase[0];
if (m_tilecfg[2] & 0x04)
{
gfx = m_gfxdecode->gfx(4);
base <<= 1;
if (size == 8)
{
gfx = m_gfxdecode->gfx(5);
base <<= 2;
}
}
else
{
gfx = m_gfxdecode->gfx(3);
}
int xdraw = xbase;
int ydraw = ybase;
int count = 0;
for (int i = 0x800+0x1c0*which; i < 0x800+0x1c0*(which+1); i+=2)
for (int i = m_tilerambase+0x1c0*which; i < m_tilerambase+0x1c0*(which+1); i+=2)
{
int tile = m_mainram[i+0] | (m_mainram[i+1] << 8);
gfx->transpen(bitmap, cliprect, tile+base, 0, 0, 0, xdraw, ydraw, 0);
xdraw+=16;
xdraw+=size;
count++;
if (((count % 16) == 0))
{
xdraw -= 256;
ydraw += 16;
xdraw -= size*16;
ydraw += size;
}
}
}
@ -225,32 +250,39 @@ void radica_eu3a14_state::draw_background(screen_device &screen, bitmap_ind16 &b
int xscroll = m_scrollregs[0] | (m_scrollregs[1] << 8);
int yscroll = m_scrollregs[2] | (m_scrollregs[3] << 8);
draw_page(screen,bitmap,cliprect,0, 0-xscroll, 0-yscroll);
draw_page(screen,bitmap,cliprect,1, 256-xscroll, 0-yscroll);
draw_page(screen,bitmap,cliprect,2, 0-xscroll, 224-yscroll);
draw_page(screen,bitmap,cliprect,3, 256-xscroll, 224-yscroll);
int size = 16;
// or 0x10?
if (m_tilecfg[0] & 0x80)
{
size = 8;
}
draw_page(screen,bitmap,cliprect,0, 512+0-xscroll, 0-yscroll);
draw_page(screen,bitmap,cliprect,1, 512+256-xscroll, 0-yscroll);
draw_page(screen,bitmap,cliprect,2, 512+0-xscroll, 224-yscroll);
draw_page(screen,bitmap,cliprect,3, 512+256-xscroll, 224-yscroll);
draw_page(screen, bitmap, cliprect, 0, 0 - xscroll, 0 - yscroll, size);
draw_page(screen, bitmap, cliprect, 1, (size * 16) - xscroll, 0 - yscroll, size);
draw_page(screen, bitmap, cliprect, 2, 0 - xscroll, (size * 14) - yscroll, size);
draw_page(screen, bitmap, cliprect, 3, (size * 16) - xscroll, (size * 14) - yscroll, size);
draw_page(screen,bitmap,cliprect,0, 0-xscroll, 448+0-yscroll);
draw_page(screen,bitmap,cliprect,1, 256-xscroll, 448+0-yscroll);
draw_page(screen,bitmap,cliprect,2, 0-xscroll, 448+224-yscroll);
draw_page(screen,bitmap,cliprect,3, 256-xscroll, 448+224-yscroll);
draw_page(screen, bitmap, cliprect, 0, (size * 16 * 2) + 0 - xscroll, 0 - yscroll, size);
draw_page(screen, bitmap, cliprect, 1, (size * 16 * 3) - xscroll, 0 - yscroll, size);
draw_page(screen, bitmap, cliprect, 2, (size * 16 * 2) + 0 - xscroll, (size * 14) - yscroll, size);
draw_page(screen, bitmap, cliprect, 3, (size * 16 * 3) - xscroll, (size * 14) - yscroll, size);
draw_page(screen,bitmap,cliprect,0, 512+0-xscroll, 448+0-yscroll);
draw_page(screen,bitmap,cliprect,1, 512+256-xscroll, 448+0-yscroll);
draw_page(screen,bitmap,cliprect,2, 512+0-xscroll, 448+224-yscroll);
draw_page(screen,bitmap,cliprect,3, 512+256-xscroll, 448+224-yscroll);
draw_page(screen, bitmap, cliprect, 0, 0 - xscroll, (size * 14 * 2) + 0 - yscroll, size);
draw_page(screen, bitmap, cliprect, 1, (size * 16) - xscroll, (size * 14 * 2) + 0 - yscroll, size);
draw_page(screen, bitmap, cliprect, 2, 0 - xscroll, (size * 14 * 3) - yscroll, size);
draw_page(screen, bitmap, cliprect, 3, (size * 16) - xscroll, (size * 14 * 3) - yscroll, size);
draw_page(screen, bitmap, cliprect, 0, (size * 16 * 2) + 0 - xscroll, (size * 14 * 2) + 0 - yscroll, size);
draw_page(screen, bitmap, cliprect, 1, (size * 16 * 3) - xscroll, (size * 14 * 2) + 0 - yscroll, size);
draw_page(screen, bitmap, cliprect, 2, (size * 16 * 2) + 0 - xscroll, (size * 14 * 3) - yscroll, size);
draw_page(screen, bitmap, cliprect, 3, (size * 16 * 3) - xscroll, (size * 14 * 3) - yscroll, size);
}
void radica_eu3a14_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
// first 4 sprite entries seem to be garbage sprites, so we start at 0x20
// likely we're just interpreting them wrong and they're used for blanking things or clipping?
for (int i = 0x20; i < 0x800; i += 8)
for (int i = m_spriterambase; i < m_spriterambase+0x7e0; i += 8)
{
/*
+0 e--f hhww flip, enable, height, width
@ -470,9 +502,7 @@ void radica_eu3a14_state::bank_map(address_map &map)
void radica_eu3a14_state::radica_eu3a14_map(address_map &map)
{
map(0x0000, 0x01ff).ram();
map(0x0200, 0x1fff).ram().share("mainram"); // 200-9ff is sprites? a00 - ??? is tilemap?
map(0x3000, 0x3fff).ram(); // runs code from here
map(0x0200, 0x3fff).ram().share("mainram"); // 200-9ff is sprites? a00 - ??? is tilemap?
map(0x4800, 0x4bff).ram().share("palram");
@ -515,7 +545,7 @@ void radica_eu3a14_state::radica_eu3a14_map(address_map &map)
map(0x5103, 0x5106).ram();
map(0x5107, 0x5107).ram(); // on transitions, maybe layer disables?
map(0x5110, 0x5112).ram(); // startup
map(0x5110, 0x5112).ram().share("tilecfg");
map(0x5113, 0x5113).ram(); // written with tilebase?
map(0x5114, 0x5115).ram().share("tilebase");
map(0x5116, 0x5117).ram();
@ -562,8 +592,8 @@ WRITE8_MEMBER(radica_eu3a14_state::dma_trigger_w)
}
static INPUT_PORTS_START( radica_eu3a14 )
// hold back/backspin and left during power on for test mode
static INPUT_PORTS_START( rad_gtg )
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
@ -575,7 +605,7 @@ static INPUT_PORTS_START( radica_eu3a14 )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) // up and down in the menus should be the trackball?!
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) // up and down in the menus should be the trackball, maybe these are leftovers from real swing golf or just from development?
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
PORT_START("IN1")
@ -590,6 +620,55 @@ static INPUT_PORTS_START( radica_eu3a14 )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
// hold enter and left during power on for test mode
static INPUT_PORTS_START( radica_eu3a14 )
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) // enter?
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("IN1")
PORT_DIPNAME( 0x01, 0x01, "IN1" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
void radica_eu3a14_state::machine_start()
{
}
@ -678,11 +757,36 @@ static const gfx_layout helper16x16x8_layout =
16 * 16 * 8
};
static const gfx_layout helper16x16x4_layout =
{
16,16,
RGN_FRAC(1,1),
4,
{ STEP4(0,1) },
{ STEP16(0,4) },
{ STEP16(0,16*4) },
16 * 16 * 4
};
static const gfx_layout helper8x8x4_layout =
{
8,8,
RGN_FRAC(1,1),
4,
{ STEP4(0,1) },
{ STEP8(0,4) },
{ STEP8(0,8*4) },
8 * 8 * 4
};
static GFXDECODE_START( helper )
GFXDECODE_ENTRY( "maincpu", 0, helper8x1x2_layout, 0x0, 128 )
GFXDECODE_ENTRY( "maincpu", 0, helper8x1x4_layout, 0x0, 32 )
GFXDECODE_ENTRY( "maincpu", 0, helper8x1x8_layout, 0x0, 2 )
GFXDECODE_ENTRY( "maincpu", 0, helper16x16x8_layout, 0x0, 2 )
GFXDECODE_ENTRY( "maincpu", 0, helper16x16x8_layout, 0x0, 2 )
GFXDECODE_ENTRY( "maincpu", 0, helper16x16x4_layout, 0x0, 32 )
GFXDECODE_ENTRY( "maincpu", 0, helper8x8x4_layout, 0x0, 32 )
GFXDECODE_END
@ -692,7 +796,6 @@ MACHINE_CONFIG_START(radica_eu3a14_state::radica_eu3a14)
MCFG_CPU_ADD("maincpu",M6502,XTAL(21'477'272)/2) // marked as 21'477'270
MCFG_CPU_PROGRAM_MAP(radica_eu3a14_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", radica_eu3a14_state, interrupt)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", radica_eu3a14_state, scanline_cb, "screen", 0, 1)
MCFG_DEVICE_ADD("bank", ADDRESS_MAP_BANK, 0)
MCFG_DEVICE_PROGRAM_MAP(bank_map)
@ -723,9 +826,38 @@ MACHINE_CONFIG_START(radica_eu3a14_state::radica_eu3a14)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(radica_eu3a14_state::radica_eu3a14_adc)
radica_eu3a14(config);
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", radica_eu3a14_state, scanline_cb, "screen", 0, 1)
MACHINE_CONFIG_END
DRIVER_INIT_MEMBER(radica_eu3a14_state, rad_gtg)
{
// must be registers to control this
m_tilerambase = 0x0a00 - 0x200;
m_spriterambase = 0x0220 - 0x200;
}
DRIVER_INIT_MEMBER(radica_eu3a14_state, rad_foot)
{
// must be registers to control this
m_tilerambase = 0x0200 - 0x200;
m_spriterambase = 0x2800 - 0x200;
}
ROM_START( rad_gtg )
ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "goldentee.bin", 0x000000, 0x400000, CRC(b1985c63) SHA1(c42a59fcb665eb801d9ca5312b90e39333e52de4) )
ROM_END
CONS( 2006, rad_gtg, 0, 0, radica_eu3a14, radica_eu3a14, radica_eu3a14_state, 0, "Radica (licensed from Incredible Technologies)", "Golden Tee Golf: Home Edition", MACHINE_NOT_WORKING )
ROM_START( rad_foot )
ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD( "connectvfootball.bin", 0x000000, 0x400000, CRC(00ac4fc0) SHA1(2b60ae5c6bc7e9ef7cdbd3f6a0a0657ed3ab5afe) )
ROM_END
CONS( 2006, rad_gtg, 0, 0, radica_eu3a14_adc, rad_gtg, radica_eu3a14_state, rad_gtg, "Radica (licensed from Incredible Technologies)", "Golden Tee Golf: Home Edition", MACHINE_NOT_WORKING )
// also has a Connectv Real Soccer logo in the roms, apparently unused, maybe that was to be the US title (without the logo being changed to Play TV) but Play TV Soccer ended up being a different game licensed from Epoch instead.
CONS( 2006, rad_foot, 0, 0, radica_eu3a14, radica_eu3a14, radica_eu3a14_state, rad_foot, "Radica", "Connectv Football", MACHINE_NOT_WORKING )

View File

@ -136,6 +136,7 @@ public:
DECLARE_DRIVER_INIT(batman);
DECLARE_DRIVER_INIT(wirels60);
DECLARE_DRIVER_INIT(rad_skat);
DECLARE_DRIVER_INIT(rad_crik);
uint32_t screen_update_vii(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
@ -207,6 +208,10 @@ private:
required_ioport m_io_p1;
optional_ioport m_io_p2;
optional_ioport m_io_p3;
// temp hack
DECLARE_READ16_MEMBER(rad_crik_hack_r);
protected:
required_memory_bank m_bank;
};
@ -1122,7 +1127,24 @@ static INPUT_PORTS_START( rad_skatp )
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_SPECIAL )
INPUT_PORTS_END
/* hold 'Console Down' while powering up to get the test menu, including input tests
the ball (Wired) and bat (IR) are read some other way as they don't seem to appear in the ports. */
static INPUT_PORTS_START( rad_crik )
PORT_START("P1")
PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Console Enter") // these are the controls on the base unit
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_NAME("Console Down")
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_NAME("Console Left")
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_NAME("Console Right")
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_NAME("Console Up")
PORT_BIT( 0xf800, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("P2")
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("P3")
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
void spg2xx_game_state::test_centered(uint8_t *ROM)
{
@ -1359,6 +1381,26 @@ DRIVER_INIT_MEMBER(spg2xx_game_state, rad_skat)
m_centered_coordinates = 1;
}
READ16_MEMBER(spg2xx_game_state::rad_crik_hack_r)
{
int pc = m_maincpu->state_int(UNSP_PC);
if (pc == 0xf851)
return 0xf859;
else
return 0xf854;
}
DRIVER_INIT_MEMBER(spg2xx_game_state, rad_crik)
{
m_maincpu->space(AS_PROGRAM).install_writeonly(0x5800, 0x5bff, m_p_spriteram); // is this due to a CPU or DMA bug? 5800 == 2c00 << 1
// not 100% sure what this is waiting on, could be eeprom as it seems to end up here frequently during the eeprom test, patch running code, not ROM, so that checksum can still pass
m_maincpu->space(AS_PROGRAM).install_read_handler(0xf851, 0xf851, read16_delegate(FUNC(spg2xx_game_state::rad_crik_hack_r),this));
m_vii_io_rw = vii_io_rw_delegate(&spg2xx_game_state::do_spg240_rad_skat_io, this);
m_centered_coordinates = 1;
}
DRIVER_INIT_MEMBER(spg2xx_game_state, walle)
{
m_vii_io_rw = vii_io_rw_delegate(&spg2xx_game_state::do_spg243_batman_io, this);
@ -1433,6 +1475,11 @@ ROM_START( rad_skatp ) // rom was dumped from the NTSC version, but region comes
ROM_LOAD16_WORD_SWAP( "skateboarder.bin", 0x000000, 0x400000, CRC(08b9ab91) SHA1(6665edc4740804956136c68065890925a144626b) )
ROM_END
ROM_START( rad_crik ) // only released in EU?
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF )
ROM_LOAD16_WORD_SWAP( "cricket.bin", 0x000000, 0x200000, CRC(6fa0aaa9) SHA1(210d2d4f542181f59127ce2f516d0408dc6de7a8) )
ROM_END
/*
Wireless Air 60
(info provided with dump)
@ -1564,6 +1611,8 @@ CONS( 2008, walle, 0, 0, batman, walle, spg2xx_game_sta
CONS( 2006, rad_skat, 0, 0, spg2xx_base, rad_skat, spg2xx_game_state, rad_skat, "Radica", "Play TV Skateboarder (NTSC)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
CONS( 2006, rad_skatp, rad_skat,0, spg2xx_basep,rad_skatp,spg2xx_game_state, rad_skat, "Radica", "Connectv Skateboarder (PAL)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
CONS( 2006, rad_crik, 0, 0, spg2xx_basep,rad_crik, spg2xx_game_state, rad_crik, "Radica", "Connectv Cricket (PAL)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Version 3.00 20/03/06 is listed in INTERNAL TEST
// might not fit here. First 0x8000 bytes are blank (not too uncommon for these) then rest of rom looks like it's probably encrypted at least
CONS( 2009, zone40, 0, 0, spg2xx_base, wirels60, spg2xx_game_state, wirels60, "Jungle Soft / Ultimate Products (HK) Ltd", "Zone 40", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
// might not fit here, NAND dump, has internal bootstrap at least, see above.

View File

@ -32586,6 +32586,7 @@ rabbitjt // (c) 1996 Electronic Arts
@source:rad_eu3a14.cpp
rad_gtg
rad_foot
@source:rad_eu3a05.cpp
rad_sinv
@ -37970,6 +37971,7 @@ zone40 // Zone 40
zone60 // Zone 60
rad_skat //
rad_skatp //
rad_crik //
@source:vsmilepro.cpp
vsmilpro