summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/stv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/stv.cpp')
-rw-r--r--src/mame/drivers/stv.cpp382
1 files changed, 189 insertions, 193 deletions
diff --git a/src/mame/drivers/stv.cpp b/src/mame/drivers/stv.cpp
index 71e7da64a1e..65c4793b3b2 100644
--- a/src/mame/drivers/stv.cpp
+++ b/src/mame/drivers/stv.cpp
@@ -410,7 +410,7 @@ void stv_state::install_stvbios_speedups( void )
m_slave->sh2drc_add_pcflush(0x6013aee);
}
-DRIVER_INIT_MEMBER(stv_state,stv)
+void stv_state::init_stv()
{
/* amount of time to boost interleave for on MINIT / SINIT, needed for communication to work */
m_minit_boost = 400;
@@ -443,9 +443,9 @@ DRIVER_INIT_MEMBER(stv_state,stv)
m_vdp2.pal = 0;
}
-DRIVER_INIT_MEMBER(stv_state,critcrsh)
+void stv_state::init_critcrsh()
{
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(stv_state::critcrsh_ioga_r32),this), write32_delegate(FUNC(stv_state::stv_ioga_w32),this));
m_slave->space(AS_PROGRAM).install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(stv_state::critcrsh_ioga_r32),this), write32_delegate(FUNC(stv_state::stv_ioga_w32),this));
}
@@ -474,13 +474,13 @@ READ32_MEMBER(stv_state::magzun_rx_hack_r)
return m_workram_h[0x0ff3b4/4];
}
-DRIVER_INIT_MEMBER(stv_state,magzun)
+void stv_state::init_magzun()
{
m_maincpu->sh2drc_add_pcflush(0x604bf20);
m_maincpu->sh2drc_add_pcflush(0x604bfbe);
m_maincpu->sh2drc_add_pcflush(0x604c006);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(stv_state::magzun_ioga_r32),this), write32_delegate(FUNC(stv_state::magzun_ioga_w32),this));
m_slave->space(AS_PROGRAM).install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(stv_state::magzun_ioga_r32),this), write32_delegate(FUNC(stv_state::magzun_ioga_w32),this));
@@ -499,25 +499,25 @@ DRIVER_INIT_MEMBER(stv_state,magzun)
}
-DRIVER_INIT_MEMBER(stv_state,stvmp)
+void stv_state::init_stvmp()
{
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(stv_state::stvmp_ioga_r32),this), write32_delegate(FUNC(stv_state::stvmp_ioga_w32),this));
m_slave->space(AS_PROGRAM).install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(stv_state::stvmp_ioga_r32),this), write32_delegate(FUNC(stv_state::stvmp_ioga_w32),this));
}
-DRIVER_INIT_MEMBER(stv_state,shienryu)
+void stv_state::init_shienryu()
{
// master
m_maincpu->sh2drc_add_pcflush(0x60041c6);
// slave
m_slave->sh2drc_add_pcflush(0x600440e);
- DRIVER_INIT_CALL(stv);
+ init_stv();
}
-DRIVER_INIT_MEMBER(stv_state,prikura)
+void stv_state::init_prikura()
{
/*
06018640: MOV.B @R14,R0 // 60b9228
@@ -532,13 +532,13 @@ DRIVER_INIT_MEMBER(stv_state,prikura)
// slave
m_slave->sh2drc_add_pcflush(0x6018c6e);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost = m_sinit_boost = 0;
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT_MEMBER(stv_state,hanagumi)
+void stv_state::init_hanagumi()
{
/*
06013E1E: NOP
@@ -559,7 +559,7 @@ DRIVER_INIT_MEMBER(stv_state,hanagumi)
*/
m_maincpu->sh2drc_add_pcflush(0x6010160);
- DRIVER_INIT_CALL(stv);
+ init_stv();
}
@@ -581,13 +581,13 @@ CPU0: Aids Screen
*/
-DRIVER_INIT_MEMBER(stv_state,puyosun)
+void stv_state::init_puyosun()
{
m_maincpu->sh2drc_add_pcflush(0x6021cf0);
m_slave->sh2drc_add_pcflush(0x60236fe);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost = m_sinit_boost = 0;
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
@@ -603,37 +603,37 @@ CPU0 Data East Logo:
*/
-DRIVER_INIT_MEMBER(stv_state,mausuke)
+void stv_state::init_mausuke()
{
m_maincpu->sh2drc_add_pcflush(0x60461A0);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost = m_sinit_boost = 0;
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT_MEMBER(stv_state,cottonbm)
+void stv_state::init_cottonbm()
{
// m_maincpu->sh2drc_add_pcflush(0x6030ee2);
// m_slave->sh2drc_add_pcflush(0x6032b52);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(10);
}
-DRIVER_INIT_MEMBER(stv_state,cotton2)
+void stv_state::init_cotton2()
{
m_maincpu->sh2drc_add_pcflush(0x6031c7a);
m_slave->sh2drc_add_pcflush(0x60338ea);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT_MEMBER(stv_state,dnmtdeka)
+void stv_state::init_dnmtdeka()
{
// install all 3 speedups on both master and slave
m_maincpu->sh2drc_add_pcflush(0x6027c90);
@@ -644,10 +644,10 @@ DRIVER_INIT_MEMBER(stv_state,dnmtdeka)
m_slave->sh2drc_add_pcflush(0xd04);
m_slave->sh2drc_add_pcflush(0x60051f2);
- DRIVER_INIT_CALL(stv);
+ init_stv();
}
-DRIVER_INIT_MEMBER(stv_state,diehard)
+void stv_state::init_diehard()
{
// install all 3 speedups on both master and slave
m_maincpu->sh2drc_add_pcflush(0x6027c98);
@@ -658,21 +658,21 @@ DRIVER_INIT_MEMBER(stv_state,diehard)
m_slave->sh2drc_add_pcflush(0xd04);
m_slave->sh2drc_add_pcflush(0x60051f2);
- DRIVER_INIT_CALL(stv);
+ init_stv();
}
-DRIVER_INIT_MEMBER(stv_state,fhboxers)
+void stv_state::init_fhboxers()
{
m_maincpu->sh2drc_add_pcflush(0x60041c2);
m_maincpu->sh2drc_add_pcflush(0x600bb0a);
m_maincpu->sh2drc_add_pcflush(0x600b31e);
- DRIVER_INIT_CALL(stv);
+ init_stv();
// m_instadma_hack = 1;
}
-DRIVER_INIT_MEMBER(stv_state,groovef)
+void stv_state::init_groovef()
{
m_maincpu->sh2drc_add_pcflush(0x6005e7c);
m_maincpu->sh2drc_add_pcflush(0x6005e86);
@@ -680,81 +680,81 @@ DRIVER_INIT_MEMBER(stv_state,groovef)
m_slave->sh2drc_add_pcflush(0x60060c2);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost = m_sinit_boost = 0;
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT_MEMBER(stv_state,danchih)
+void stv_state::init_danchih()
{
m_maincpu->sh2drc_add_pcflush(0x6028b28);
m_maincpu->sh2drc_add_pcflush(0x6028c8e);
m_slave->sh2drc_add_pcflush(0x602ae26);
- DRIVER_INIT_CALL(stvmp);
+ init_stvmp();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5);
}
-DRIVER_INIT_MEMBER(stv_state,danchiq)
+void stv_state::init_danchiq()
{
m_maincpu->sh2drc_add_pcflush(0x6028b28);
m_maincpu->sh2drc_add_pcflush(0x6028c8e);
m_slave->sh2drc_add_pcflush(0x602ae26);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5);
}
-DRIVER_INIT_MEMBER(stv_state,astrass)
+void stv_state::init_astrass()
{
m_maincpu->sh2drc_add_pcflush(0x60011ba);
m_maincpu->sh2drc_add_pcflush(0x605b9da);
install_common_protection();
- DRIVER_INIT_CALL(stv);
+ init_stv();
}
-DRIVER_INIT_MEMBER(stv_state,thunt)
+void stv_state::init_thunt()
{
m_maincpu->sh2drc_add_pcflush(0x602A024);
m_maincpu->sh2drc_add_pcflush(0x6013EEA);
m_slave->sh2drc_add_pcflush(0x602AAF8);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(1);
}
-DRIVER_INIT_MEMBER(stv_state,sandor)
+void stv_state::init_sandor()
{
m_maincpu->sh2drc_add_pcflush(0x602a0f8);
m_maincpu->sh2drc_add_pcflush(0x6013fbe);
m_slave->sh2drc_add_pcflush(0x602abcc);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(1);
}
-DRIVER_INIT_MEMBER(stv_state,grdforce)
+void stv_state::init_grdforce()
{
m_maincpu->sh2drc_add_pcflush(0x6041e32);
m_slave->sh2drc_add_pcflush(0x6043aa2);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT_MEMBER(stv_state,batmanfr)
+void stv_state::init_batmanfr()
{
m_maincpu->sh2drc_add_pcflush(0x60121c0);
m_slave->sh2drc_add_pcflush(0x60125bc);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_maincpu->space(AS_PROGRAM).install_write_handler(0x04800000, 0x04800003, write32_delegate(FUNC(stv_state::batmanfr_sound_comms_w),this));
m_slave->space(AS_PROGRAM).install_write_handler(0x04800000, 0x04800003, write32_delegate(FUNC(stv_state::batmanfr_sound_comms_w),this));
@@ -763,211 +763,211 @@ DRIVER_INIT_MEMBER(stv_state,batmanfr)
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT_MEMBER(stv_state,colmns97)
+void stv_state::init_colmns97()
{
m_slave->sh2drc_add_pcflush(0x60298a2);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost = m_sinit_boost = 0;
}
-DRIVER_INIT_MEMBER(stv_state,winterht)
+void stv_state::init_winterht()
{
m_maincpu->sh2drc_add_pcflush(0x6098aea);
m_slave->sh2drc_add_pcflush(0x609ae4e);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(2);
}
-DRIVER_INIT_MEMBER(stv_state,seabass)
+void stv_state::init_seabass()
{
m_maincpu->sh2drc_add_pcflush(0x602cbfa);
m_slave->sh2drc_add_pcflush(0x60321ee);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5);
}
-DRIVER_INIT_MEMBER(stv_state,vfremix)
+void stv_state::init_vfremix()
{
m_maincpu->sh2drc_add_pcflush(0x602c30c);
m_slave->sh2drc_add_pcflush(0x604c332);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(20);
}
-DRIVER_INIT_MEMBER(stv_state,sss)
+void stv_state::init_sss()
{
m_maincpu->sh2drc_add_pcflush(0x6026398);
m_slave->sh2drc_add_pcflush(0x6028cd6);
install_common_protection();
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT_MEMBER(stv_state,othellos)
+void stv_state::init_othellos()
{
m_maincpu->sh2drc_add_pcflush(0x602bcbe);
m_slave->sh2drc_add_pcflush(0x602d92e);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT_MEMBER(stv_state,sasissu)
+void stv_state::init_sasissu()
{
m_slave->sh2drc_add_pcflush(0x60710be);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(2);
}
-DRIVER_INIT_MEMBER(stv_state,gaxeduel)
+void stv_state::init_gaxeduel()
{
// m_maincpu->sh2drc_add_pcflush(0x6012ee4);
- DRIVER_INIT_CALL(stv);
+ init_stv();
}
-DRIVER_INIT_MEMBER(stv_state,suikoenb)
+void stv_state::init_suikoenb()
{
m_maincpu->sh2drc_add_pcflush(0x6013f7a);
- DRIVER_INIT_CALL(stv);
+ init_stv();
}
-DRIVER_INIT_MEMBER(stv_state,sokyugrt)
+void stv_state::init_sokyugrt()
{
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT_MEMBER(stv_state,znpwfv)
+void stv_state::init_znpwfv()
{
m_maincpu->sh2drc_add_pcflush(0x6012ec2);
m_slave->sh2drc_add_pcflush(0x60175a6);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_nsec(500);
}
-DRIVER_INIT_MEMBER(stv_state,twcup98)
+void stv_state::init_twcup98()
{
m_maincpu->sh2drc_add_pcflush(0x605edde);
m_slave->sh2drc_add_pcflush(0x6062bca);
- DRIVER_INIT_CALL(stv);
+ init_stv();
install_common_protection();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5);
}
-DRIVER_INIT_MEMBER(stv_state,smleague)
+void stv_state::init_smleague()
{
m_maincpu->sh2drc_add_pcflush(0x6063bf4);
m_slave->sh2drc_add_pcflush(0x6062bca);
- DRIVER_INIT_CALL(stv);
+ init_stv();
/* tight sync to avoid dead locks */
m_minit_boost = m_sinit_boost = 5000;
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5000);
}
-DRIVER_INIT_MEMBER(stv_state,finlarch)
+void stv_state::init_finlarch()
{
m_maincpu->sh2drc_add_pcflush(0x6064d60);
- DRIVER_INIT_CALL(stv);
+ init_stv();
/* tight sync to avoid dead locks */
m_minit_boost = m_sinit_boost = 5000;
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5000);
}
-DRIVER_INIT_MEMBER(stv_state,maruchan)
+void stv_state::init_maruchan()
{
m_maincpu->sh2drc_add_pcflush(0x601ba46);
m_slave->sh2drc_add_pcflush(0x601ba46);
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(50);
}
-DRIVER_INIT_MEMBER(stv_state,pblbeach)
+void stv_state::init_pblbeach()
{
m_maincpu->sh2drc_add_pcflush(0x605eb78);
- DRIVER_INIT_CALL(stv);
+ init_stv();
}
-DRIVER_INIT_MEMBER(stv_state,shanhigw)
+void stv_state::init_shanhigw()
{
m_maincpu->sh2drc_add_pcflush(0x6020c5c);
- DRIVER_INIT_CALL(stv);
+ init_stv();
}
-DRIVER_INIT_MEMBER(stv_state,elandore)
+void stv_state::init_elandore()
{
m_maincpu->sh2drc_add_pcflush(0x604eac0);
m_slave->sh2drc_add_pcflush(0x605340a);
install_common_protection();
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(0);
}
-DRIVER_INIT_MEMBER(stv_state,rsgun)
+void stv_state::init_rsgun()
{
m_maincpu->sh2drc_add_pcflush(0x6034d04);
m_slave->sh2drc_add_pcflush(0x6036152);
install_common_protection();
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(20);
}
-DRIVER_INIT_MEMBER(stv_state,ffreveng)
+void stv_state::init_ffreveng()
{
install_common_protection();
- DRIVER_INIT_CALL(stv);
+ init_stv();
}
-DRIVER_INIT_MEMBER(stv_state,decathlt)
+void stv_state::init_decathlt()
{
m_5838crypt->install_decathlt_protection();
- DRIVER_INIT_CALL(stv);
+ init_stv();
}
-DRIVER_INIT_MEMBER(stv_state,nameclv3)
+void stv_state::init_nameclv3()
{
m_maincpu->sh2drc_add_pcflush(0x601eb4c);
m_slave->sh2drc_add_pcflush(0x602b80e);
- DRIVER_INIT_CALL(stv);
+ init_stv();
}
-DRIVER_INIT_MEMBER(stv_state, hopper)
+void stv_state::init_hopper()
{
- DRIVER_INIT_CALL(stv);
+ init_stv();
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(stv_state::stv_ioga_r32),this), write32_delegate(FUNC(stv_state::hop_ioga_w32),this));
m_slave->space(AS_PROGRAM).install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(stv_state::stv_ioga_r32),this), write32_delegate(FUNC(stv_state::hop_ioga_w32),this));
}
@@ -1903,12 +1903,10 @@ by introdon in ST-V ("SG0000000"),and according to the manual it's even wrong! (
by Sega titles,and this is a Sunsoft game)It's likely to be a left-over...
*/
-DRIVER_INIT_MEMBER(stv_state,sanjeon)
+void stv_state::init_sanjeon()
{
uint8_t *src = memregion("cart")->base();
- int x;
-
- for (x=0;x<0x3000000;x++)
+ for (int x = 0; x < 0x3000000; x++)
{
src[x] = src[x]^0xff;
@@ -1917,11 +1915,9 @@ DRIVER_INIT_MEMBER(stv_state,sanjeon)
src[x] = bitswap<8>(src[x],7,6,5,4, 2,3,1,0);
src[x] = bitswap<8>(src[x],7,0,5,4, 3,2,1,6);
src[x] = bitswap<8>(src[x],3,6,5,4, 7,2,1,0);
-
}
-
- DRIVER_INIT_CALL(sasissu);
+ init_sasissu();
}
@@ -3610,127 +3606,127 @@ ROM_START( sackids )
ROM_END
-GAME( 1996, stvbios, 0, stv_slot, stv, stv_state, stv, ROT0, "Sega", "ST-V Bios", MACHINE_IS_BIOS_ROOT )
+GAME( 1996, stvbios, 0, stv_slot, stv, stv_state, init_stv, ROT0, "Sega", "ST-V Bios", MACHINE_IS_BIOS_ROOT )
-//GAME YEAR, NAME, PARENT, MACH, INP, STATE, INIT, MONITOR
+//GAME YEAR, NAME, PARENT, MACH, INP, STATE, INIT, MONITOR
/* Playable */
-GAME( 1998, astrass, stvbios, stv_5881, stv6b, stv_state, astrass, ROT0, "Sunsoft", "Astra SuperStars (J 980514 V1.002)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
-GAME( 1995, bakubaku, stvbios, stv, stv, stv_state, stv, ROT0, "Sega", "Baku Baku Animal (J 950407 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1996, batmanfr, stvbios, batmanfr, batmanfr, stv_state, batmanfr, ROT0, "Acclaim", "Batman Forever (JUE 960507 V1.000)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1996, colmns97, stvbios, stv, stv, stv_state, colmns97, ROT0, "Sega", "Columns '97 (JET 961209 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, cotton2, stvbios, stv, stv, stv_state, cotton2, ROT0, "Success", "Cotton 2 (JUET 970902 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1998, cottonbm, stvbios, stv, stv, stv_state, cottonbm, ROT0, "Success", "Cotton Boomerang (JUET 980709 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1995, critcrsh, stvbios, stv, critcrsh, stv_state, critcrsh, ROT0, "Sega", "Critter Crusher (EA 951204 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1995, tatacot, critcrsh,stv, critcrsh, stv_state, critcrsh, ROT0, "Sega", "Tatacot (JA 951128 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1999, danchih, stvbios, stv, stvmp, stv_state, danchih, ROT0, "Altron (Tecmo license)", "Danchi de Hanafuda (J 990607 V1.400)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 2000, danchiq, stvbios, stv, stv, stv_state, danchiq, ROT0, "Altron", "Danchi de Quiz: Okusan Yontaku Desuyo! (J 001128 V1.200)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1996, diehard, stvbios, stv, stv, stv_state, diehard, ROT0, "Sega", "Die Hard Arcade (UET 960515 V1.000)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
-GAME( 1996, dnmtdeka, diehard, stv, stv, stv_state, dnmtdeka, ROT0, "Sega", "Dynamite Deka (J 960515 V1.000)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
-GAME( 1995, ejihon, stvbios, stv, stv, stv_state, stv, ROT0, "Sega", "Ejihon Tantei Jimusyo (J 950613 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1998, elandore, stvbios, stv_5881, stv6b, stv_state, elandore, ROT0, "Sai-Mate", "Touryuu Densetsu Elan-Doree / Elan Doree - Legend of Dragoon (JUET 980922 V1.006)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1999, ffrevng10, ffreveng,stv_5881, stv6b, stv_state, ffreveng, ROT0, "Capcom", "Final Fight Revenge (JUET 990714 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1999, ffreveng, stvbios, stv_5881, stv6b, stv_state, ffreveng, ROT0, "Capcom", "Final Fight Revenge (JUET 990930 V1.100)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1995, fhboxers, stvbios, stv, stv, stv_state, fhboxers, ROT0, "Sega", "Funky Head Boxers (JUETBKAL 951218 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, findlove, stvbios, stv, stv, stv_state, stv, ROT0, "Daiki / FCF", "Zenkoku Seifuku Bishoujo Grand Prix Find Love (J 971212 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1994, gaxeduel, stvbios, stv, stv6b, stv_state, gaxeduel, ROT0, "Sega", "Golden Axe - The Duel (JUETL 950117 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS)
-GAME( 1998, grdforce, stvbios, stv, stv, stv_state, grdforce, ROT0, "Success", "Guardian Force (JUET 980318 V0.105)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, groovef, stvbios, stv, stv6b, stv_state, groovef, ROT0, "Atlus", "Groove on Fight - Gouketsuji Ichizoku 3 (J 970416 V1.001)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, hanagumi, stvbios, stv, stv, stv_state, hanagumi, ROT0, "Sega", "Sakura Taisen - Hanagumi Taisen Columns (J 971007 V1.010)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
-GAME( 1996, introdon, stvbios, stv, stv, stv_state, stv, ROT0, "Sunsoft / Success", "Karaoke Quiz Intro Don Don! (J 960213 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1995, kiwames, stvbios, stv, stvmp, stv_state, stvmp, ROT0, "Athena", "Pro Mahjong Kiwame S (J 951020 V1.208)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, maruchan, stvbios, stv, stv, stv_state, maruchan, ROT0, "Sega / Toyosuisan", "Maru-Chan de Goo! (J 971216 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1996, mausuke, stvbios, stv, stv, stv_state, mausuke, ROT0, "Data East", "Mausuke no Ojama the World (J 960314 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1999, micrombc, stvbios, hopper, micrombc, stv_state, hopper, ROT0, "Sega", "Microman Battle Charge (J 990326 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1998, myfairld, stvbios, stv, myfairld, stv_state, stvmp, ROT0, "Micronet", "Virtual Mahjong 2 - My Fair Lady (J 980608 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1998, othellos, stvbios, stv, stv, stv_state, othellos, ROT0, "Success", "Othello Shiyouyo (J 980423 V1.002)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 2001, patocar, stvbios, hopper, patocar, stv_state, hopper, ROT0, "Sega", "Hashire Patrol Car (J 990326 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1995, pblbeach, stvbios, stv, stv, stv_state, pblbeach, ROT0, "T&E Soft", "Pebble Beach - The Great Shot (JUE 950913 V0.990)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1996, prikura, stvbios, stv, stv, stv_state, prikura, ROT0, "Atlus", "Princess Clara Daisakusen (J 960910 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1996, puyosun, stvbios, stv, stv, stv_state, puyosun, ROT0, "Compile", "Puyo Puyo Sun (J 961115 V0.001)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1998, rsgun, stvbios, stv_5881, stv, stv_state, rsgun, ROT0, "Treasure", "Radiant Silvergun (JUET 980523 V1.000)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
-GAME( 1998, sasissu, stvbios, stv, stv, stv_state, sasissu, ROT0, "Sega", "Taisen Tanto-R Sashissu!! (J 980216 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1999, sanjeon, sasissu, stv, stv, stv_state, sanjeon, ROT0, "Sega / Deniam", "DaeJeon! SanJeon SuJeon (AJTUE 990412 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, seabass, stvbios, stv, stv, stv_state, seabass, ROT0, "A wave inc. (Able license)", "Sea Bass Fishing (JUET 971110 V0.001)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1995, shanhigw, stvbios, stv, stv, stv_state, shanhigw, ROT0, "Sunsoft / Activision", "Shanghai - The Great Wall / Shanghai Triple Threat (JUE 950623 V1.005)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, shienryu, stvbios, stv, stv, stv_state, shienryu, ROT270, "Warashi", "Shienryu (JUET 961226 V1.000)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
-GAME( 1998, sss, stvbios, stv_5881, stv, stv_state, sss, ROT0, "Capcom / Cave / Victor Interactive Software", "Steep Slope Sliders (JUET 981110 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // Also credited as Pack In Soft in ending screen
-GAME( 1995, sandor, stvbios, stv, stv, stv_state, sandor, ROT0, "Sega", "Puzzle & Action: Sando-R (J 951114 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, thunt, sandor, stv, stv, stv_state, thunt, ROT0, "Sega", "Puzzle & Action: Treasure Hunt (JUET 970901 V2.00E)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, thuntk, sandor, stv, stv, stv_state, sandor, ROT0, "Sega / Deniam", "Puzzle & Action: BoMulEul Chajara (JUET 970125 V2.00K)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1995, smleague, stvbios, stv, stv, stv_state, smleague, ROT0, "Sega", "Super Major League (U 960108 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1995, finlarch, smleague,stv, stv, stv_state, finlarch, ROT0, "Sega", "Final Arch (J 950714 V1.001)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1996, sokyugrt, stvbios, stv, stv, stv_state, sokyugrt, ROT0, "Raizing / Eighting", "Soukyugurentai / Terra Diver (JUET 960821 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1995, suikoenb, stvbios, stv, stv6b, stv_state, suikoenb, ROT0, "Data East", "Suiko Enbu / Outlaws of the Lost Dynasty (JUETL 950314 V2.001)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, techbowl, stvbios, hopper, patocar, stv_state, hopper, ROT0, "Sega", "Technical Bowling (J 971212 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1996, vfkids, stvbios, stv, stv, stv_state, stv, ROT0, "Sega", "Virtua Fighter Kids (JUET 960319 V0.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, vmahjong, stvbios, stv, vmahjong, stv_state, stvmp, ROT0, "Micronet", "Virtual Mahjong (J 961214 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, winterht, stvbios, stv, stv, stv_state, winterht, ROT0, "Sega", "Winter Heat (JUET 971012 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, znpwfv, stvbios, stv, stv, stv_state, znpwfv, ROT0, "Sega", "Zen Nippon Pro-Wrestling Featuring Virtua (J 971123 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1997, znpwfvt, znpwfv, stv, stv, stv_state, znpwfv, ROT0, "Sega", "Zen Nippon Pro-Wrestling Featuring Virtua (T 971123 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1998, astrass, stvbios, stv_5881, stv6b, stv_state, init_astrass, ROT0, "Sunsoft", "Astra SuperStars (J 980514 V1.002)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
+GAME( 1995, bakubaku, stvbios, stv, stv, stv_state, init_stv, ROT0, "Sega", "Baku Baku Animal (J 950407 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1996, batmanfr, stvbios, batmanfr, batmanfr, stv_state, init_batmanfr, ROT0, "Acclaim", "Batman Forever (JUE 960507 V1.000)", MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1996, colmns97, stvbios, stv, stv, stv_state, init_colmns97, ROT0, "Sega", "Columns '97 (JET 961209 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, cotton2, stvbios, stv, stv, stv_state, init_cotton2, ROT0, "Success", "Cotton 2 (JUET 970902 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1998, cottonbm, stvbios, stv, stv, stv_state, init_cottonbm, ROT0, "Success", "Cotton Boomerang (JUET 980709 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1995, critcrsh, stvbios, stv, critcrsh, stv_state, init_critcrsh, ROT0, "Sega", "Critter Crusher (EA 951204 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1995, tatacot, critcrsh,stv, critcrsh, stv_state, init_critcrsh, ROT0, "Sega", "Tatacot (JA 951128 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1999, danchih, stvbios, stv, stvmp, stv_state, init_danchih, ROT0, "Altron (Tecmo license)", "Danchi de Hanafuda (J 990607 V1.400)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 2000, danchiq, stvbios, stv, stv, stv_state, init_danchiq, ROT0, "Altron", "Danchi de Quiz: Okusan Yontaku Desuyo! (J 001128 V1.200)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1996, diehard, stvbios, stv, stv, stv_state, init_diehard, ROT0, "Sega", "Die Hard Arcade (UET 960515 V1.000)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
+GAME( 1996, dnmtdeka, diehard, stv, stv, stv_state, init_dnmtdeka, ROT0, "Sega", "Dynamite Deka (J 960515 V1.000)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
+GAME( 1995, ejihon, stvbios, stv, stv, stv_state, init_stv, ROT0, "Sega", "Ejihon Tantei Jimusyo (J 950613 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1998, elandore, stvbios, stv_5881, stv6b, stv_state, init_elandore, ROT0, "Sai-Mate", "Touryuu Densetsu Elan-Doree / Elan Doree - Legend of Dragoon (JUET 980922 V1.006)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1999, ffrevng10, ffreveng,stv_5881, stv6b, stv_state, init_ffreveng, ROT0, "Capcom", "Final Fight Revenge (JUET 990714 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1999, ffreveng, stvbios, stv_5881, stv6b, stv_state, init_ffreveng, ROT0, "Capcom", "Final Fight Revenge (JUET 990930 V1.100)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1995, fhboxers, stvbios, stv, stv, stv_state, init_fhboxers, ROT0, "Sega", "Funky Head Boxers (JUETBKAL 951218 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, findlove, stvbios, stv, stv, stv_state, init_stv, ROT0, "Daiki / FCF", "Zenkoku Seifuku Bishoujo Grand Prix Find Love (J 971212 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1994, gaxeduel, stvbios, stv, stv6b, stv_state, init_gaxeduel, ROT0, "Sega", "Golden Axe - The Duel (JUETL 950117 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS)
+GAME( 1998, grdforce, stvbios, stv, stv, stv_state, init_grdforce, ROT0, "Success", "Guardian Force (JUET 980318 V0.105)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, groovef, stvbios, stv, stv6b, stv_state, init_groovef, ROT0, "Atlus", "Groove on Fight - Gouketsuji Ichizoku 3 (J 970416 V1.001)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, hanagumi, stvbios, stv, stv, stv_state, init_hanagumi, ROT0, "Sega", "Sakura Taisen - Hanagumi Taisen Columns (J 971007 V1.010)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
+GAME( 1996, introdon, stvbios, stv, stv, stv_state, init_stv, ROT0, "Sunsoft / Success", "Karaoke Quiz Intro Don Don! (J 960213 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1995, kiwames, stvbios, stv, stvmp, stv_state, init_stvmp, ROT0, "Athena", "Pro Mahjong Kiwame S (J 951020 V1.208)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, maruchan, stvbios, stv, stv, stv_state, init_maruchan, ROT0, "Sega / Toyosuisan", "Maru-Chan de Goo! (J 971216 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1996, mausuke, stvbios, stv, stv, stv_state, init_mausuke, ROT0, "Data East", "Mausuke no Ojama the World (J 960314 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1999, micrombc, stvbios, hopper, micrombc, stv_state, init_hopper, ROT0, "Sega", "Microman Battle Charge (J 990326 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1998, myfairld, stvbios, stv, myfairld, stv_state, init_stvmp, ROT0, "Micronet", "Virtual Mahjong 2 - My Fair Lady (J 980608 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1998, othellos, stvbios, stv, stv, stv_state, init_othellos, ROT0, "Success", "Othello Shiyouyo (J 980423 V1.002)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 2001, patocar, stvbios, hopper, patocar, stv_state, init_hopper, ROT0, "Sega", "Hashire Patrol Car (J 990326 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1995, pblbeach, stvbios, stv, stv, stv_state, init_pblbeach, ROT0, "T&E Soft", "Pebble Beach - The Great Shot (JUE 950913 V0.990)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1996, prikura, stvbios, stv, stv, stv_state, init_prikura, ROT0, "Atlus", "Princess Clara Daisakusen (J 960910 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1996, puyosun, stvbios, stv, stv, stv_state, init_puyosun, ROT0, "Compile", "Puyo Puyo Sun (J 961115 V0.001)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1998, rsgun, stvbios, stv_5881, stv, stv_state, init_rsgun, ROT0, "Treasure", "Radiant Silvergun (JUET 980523 V1.000)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
+GAME( 1998, sasissu, stvbios, stv, stv, stv_state, init_sasissu, ROT0, "Sega", "Taisen Tanto-R Sashissu!! (J 980216 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1999, sanjeon, sasissu, stv, stv, stv_state, init_sanjeon, ROT0, "Sega / Deniam", "DaeJeon! SanJeon SuJeon (AJTUE 990412 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, seabass, stvbios, stv, stv, stv_state, init_seabass, ROT0, "A wave inc. (Able license)", "Sea Bass Fishing (JUET 971110 V0.001)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1995, shanhigw, stvbios, stv, stv, stv_state, init_shanhigw, ROT0, "Sunsoft / Activision", "Shanghai - The Great Wall / Shanghai Triple Threat (JUE 950623 V1.005)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, shienryu, stvbios, stv, stv, stv_state, init_shienryu, ROT270, "Warashi", "Shienryu (JUET 961226 V1.000)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
+GAME( 1998, sss, stvbios, stv_5881, stv, stv_state, init_sss, ROT0, "Capcom / Cave / Victor Interactive Software", "Steep Slope Sliders (JUET 981110 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // Also credited as Pack In Soft in ending screen
+GAME( 1995, sandor, stvbios, stv, stv, stv_state, init_sandor, ROT0, "Sega", "Puzzle & Action: Sando-R (J 951114 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, thunt, sandor, stv, stv, stv_state, init_thunt, ROT0, "Sega", "Puzzle & Action: Treasure Hunt (JUET 970901 V2.00E)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, thuntk, sandor, stv, stv, stv_state, init_sandor, ROT0, "Sega / Deniam", "Puzzle & Action: BoMulEul Chajara (JUET 970125 V2.00K)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1995, smleague, stvbios, stv, stv, stv_state, init_smleague, ROT0, "Sega", "Super Major League (U 960108 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1995, finlarch, smleague,stv, stv, stv_state, init_finlarch, ROT0, "Sega", "Final Arch (J 950714 V1.001)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1996, sokyugrt, stvbios, stv, stv, stv_state, init_sokyugrt, ROT0, "Raizing / Eighting", "Soukyugurentai / Terra Diver (JUET 960821 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1995, suikoenb, stvbios, stv, stv6b, stv_state, init_suikoenb, ROT0, "Data East", "Suiko Enbu / Outlaws of the Lost Dynasty (JUETL 950314 V2.001)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, techbowl, stvbios, hopper, patocar, stv_state, init_hopper, ROT0, "Sega", "Technical Bowling (J 971212 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1996, vfkids, stvbios, stv, stv, stv_state, init_stv, ROT0, "Sega", "Virtua Fighter Kids (JUET 960319 V0.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, vmahjong, stvbios, stv, vmahjong, stv_state, init_stvmp, ROT0, "Micronet", "Virtual Mahjong (J 961214 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, winterht, stvbios, stv, stv, stv_state, init_winterht, ROT0, "Sega", "Winter Heat (JUET 971012 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, znpwfv, stvbios, stv, stv, stv_state, init_znpwfv, ROT0, "Sega", "Zen Nippon Pro-Wrestling Featuring Virtua (J 971123 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1997, znpwfvt, znpwfv, stv, stv, stv_state, init_znpwfv, ROT0, "Sega", "Zen Nippon Pro-Wrestling Featuring Virtua (T 971123 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
/* Unemulated printer / camera devices */
// USA sets
-GAME( 1997, pclub2, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 (U 970921 V1.000)", MACHINE_NOT_WORKING )
-GAME( 1999, pclub2v3, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 Vol. 3 (U 990310 V1.000)", MACHINE_NOT_WORKING ) // Hello Kitty themed
-GAME( 1999, pclubpok, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club Pokemon B (U 991126 V1.000)", MACHINE_NOT_WORKING )
+GAME( 1997, pclub2, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 (U 970921 V1.000)", MACHINE_NOT_WORKING )
+GAME( 1999, pclub2v3, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 Vol. 3 (U 990310 V1.000)", MACHINE_NOT_WORKING ) // Hello Kitty themed
+GAME( 1999, pclubpok, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club Pokemon B (U 991126 V1.000)", MACHINE_NOT_WORKING )
// Japan sets
-GAME( 1999, pclub2fc, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 Felix The Cat (Rev. A) (J 970415 V1.100)", MACHINE_NOT_WORKING )
-GAME( 1998, pclub2pf, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 Puffy (J V1.100)", MACHINE_NOT_WORKING ) // version info is blank
-GAME( 1997, pclub2pe, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 Pepsiman (J 970618 V1.100)", MACHINE_NOT_WORKING )
-GAME( 1997, pclub2wb, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 Warner Bros (J 970228 V1.000)", MACHINE_NOT_WORKING )
+GAME( 1999, pclub2fc, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 Felix The Cat (Rev. A) (J 970415 V1.100)", MACHINE_NOT_WORKING )
+GAME( 1998, pclub2pf, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 Puffy (J V1.100)", MACHINE_NOT_WORKING ) // version info is blank
+GAME( 1997, pclub2pe, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 Pepsiman (J 970618 V1.100)", MACHINE_NOT_WORKING )
+GAME( 1997, pclub2wb, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 Warner Bros (J 970228 V1.000)", MACHINE_NOT_WORKING )
-GAME( 1997, pclb2elk, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 Earth Limited Kobe (Print Club Custom) (J 970808 V1.000)", MACHINE_NOT_WORKING )
-GAME( 1997, pckobe99, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 Kobe Luminaire '99 (Print Club Custom 3) (J 991203 V1.000)", MACHINE_NOT_WORKING )
+GAME( 1997, pclb2elk, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 Earth Limited Kobe (Print Club Custom) (J 970808 V1.000)", MACHINE_NOT_WORKING )
+GAME( 1997, pckobe99, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 Kobe Luminaire '99 (Print Club Custom 3) (J 991203 V1.000)", MACHINE_NOT_WORKING )
-GAME( 1997, pclub26w, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 Vol. 6 Winter (J 961210 V1.000)", MACHINE_NOT_WORKING ) // internal string is 'PURIKURA2 97FUYU' (but in reality it seems to be an end of 96 Winter version)
-GAME( 1997, pclub26wa, pclub26w,stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 Vol. 6 Winter (J 970121 V1.200)", MACHINE_NOT_WORKING ) // ^
-GAME( 1997, pclub27s, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 Vol. 7 Spring (J 970313 V1.100)", MACHINE_NOT_WORKING )
-GAME( 1997, prc28su, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 Vol. 8 Summer (J 970616 V1.100)", MACHINE_NOT_WORKING ) // internal string 97SUMMER
-GAME( 1997, prc29au, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 Vol. 9 Autumn (J V1.100)", MACHINE_NOT_WORKING ) // internal string 97AUTUMN, no date code! (all 0)
-GAME( 1997, prc297wi, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 '97 Winter Ver (J 971017 V1.100, set 1)", MACHINE_NOT_WORKING ) // internal string is '97WINTER'
-GAME( 1997, prc297wia, prc297wi,stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 '97 Winter Ver (J 971017 V1.100, set 2)", MACHINE_NOT_WORKING ) // different program revision, same date code, clearly didn't get updated properly
-GAME( 1998, prc298sp, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 '98 Spring Ver (J 971017 V1.100)", MACHINE_NOT_WORKING ) // again, date doesn't appear to have bene updated, this should be early 98
-GAME( 1998, prc298su, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 '98 Summer Ver (J 980603 V1.100)", MACHINE_NOT_WORKING ) //
-GAME( 1998, prc298au, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 '98 Autumn Ver (J 980827 V1.000)", MACHINE_NOT_WORKING )
-GAME( 2000, prc2ksu, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club 2 2000 Summer (J 000509 V1.000)", MACHINE_NOT_WORKING ) // internal string 2000_SUMMER
+GAME( 1997, pclub26w, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 Vol. 6 Winter (J 961210 V1.000)", MACHINE_NOT_WORKING ) // internal string is 'PURIKURA2 97FUYU' (but in reality it seems to be an end of 96 Winter version)
+GAME( 1997, pclub26wa, pclub26w,stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 Vol. 6 Winter (J 970121 V1.200)", MACHINE_NOT_WORKING ) // ^
+GAME( 1997, pclub27s, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 Vol. 7 Spring (J 970313 V1.100)", MACHINE_NOT_WORKING )
+GAME( 1997, prc28su, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 Vol. 8 Summer (J 970616 V1.100)", MACHINE_NOT_WORKING ) // internal string 97SUMMER
+GAME( 1997, prc29au, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 Vol. 9 Autumn (J V1.100)", MACHINE_NOT_WORKING ) // internal string 97AUTUMN, no date code! (all 0)
+GAME( 1997, prc297wi, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 '97 Winter Ver (J 971017 V1.100, set 1)", MACHINE_NOT_WORKING ) // internal string is '97WINTER'
+GAME( 1997, prc297wia, prc297wi,stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 '97 Winter Ver (J 971017 V1.100, set 2)", MACHINE_NOT_WORKING ) // different program revision, same date code, clearly didn't get updated properly
+GAME( 1998, prc298sp, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 '98 Spring Ver (J 971017 V1.100)", MACHINE_NOT_WORKING ) // again, date doesn't appear to have bene updated, this should be early 98
+GAME( 1998, prc298su, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 '98 Summer Ver (J 980603 V1.100)", MACHINE_NOT_WORKING ) //
+GAME( 1998, prc298au, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 '98 Autumn Ver (J 980827 V1.000)", MACHINE_NOT_WORKING )
+GAME( 2000, prc2ksu, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club 2 2000 Summer (J 000509 V1.000)", MACHINE_NOT_WORKING ) // internal string 2000_SUMMER
-GAME( 1999, pclubor, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club Goukakenran (J 991104 V1.000)", MACHINE_NOT_WORKING )
-GAME( 1999, pclubol, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club Olive (J 980717 V1.000)", MACHINE_NOT_WORKING )
-GAME( 1997, pclub2kc, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club Kome Kome Club (J 970203 V1.000)", MACHINE_NOT_WORKING )
-GAME( 1997, pclubyo2, stvbios, stv, stv, stvpc_state, stv, ROT0, "Atlus", "Print Club Yoshimoto V2 (J 970422 V1.100)", MACHINE_NOT_WORKING )
+GAME( 1999, pclubor, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club Goukakenran (J 991104 V1.000)", MACHINE_NOT_WORKING )
+GAME( 1999, pclubol, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club Olive (J 980717 V1.000)", MACHINE_NOT_WORKING )
+GAME( 1997, pclub2kc, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club Kome Kome Club (J 970203 V1.000)", MACHINE_NOT_WORKING )
+GAME( 1997, pclubyo2, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Atlus", "Print Club Yoshimoto V2 (J 970422 V1.100)", MACHINE_NOT_WORKING )
-GAME( 1997, pclove, stvbios, stv_5838, stv, stvpc_state, decathlt, ROT0, "Atlus", "Print Club LoveLove (J 970421 V1.000)", MACHINE_NOT_WORKING ) // uses the same type of protection as decathlete!!
-GAME( 1997, pclove2, stvbios, stv_5838, stv, stvpc_state, decathlt, ROT0, "Atlus", "Print Club LoveLove Ver 2 (J 970825 V1.000)", MACHINE_NOT_WORKING ) // ^
-GAME( 1997, pcpooh2, stvbios, stv_5838, stv, stvpc_state, decathlt, ROT0, "Atlus", "Print Club Winnie-the-Pooh Vol. 2 (J 971218 V1.000)", MACHINE_NOT_WORKING ) // ^
-GAME( 1998, pcpooh3, stvbios, stv_5838, stv, stvpc_state, decathlt, ROT0, "Atlus", "Print Club Winnie-the-Pooh Vol. 3 (J 980406 V1.000)", MACHINE_NOT_WORKING ) // ^
+GAME( 1997, pclove, stvbios, stv_5838, stv, stvpc_state, init_decathlt, ROT0, "Atlus", "Print Club LoveLove (J 970421 V1.000)", MACHINE_NOT_WORKING ) // uses the same type of protection as decathlete!!
+GAME( 1997, pclove2, stvbios, stv_5838, stv, stvpc_state, init_decathlt, ROT0, "Atlus", "Print Club LoveLove Ver 2 (J 970825 V1.000)", MACHINE_NOT_WORKING ) // ^
+GAME( 1997, pcpooh2, stvbios, stv_5838, stv, stvpc_state, init_decathlt, ROT0, "Atlus", "Print Club Winnie-the-Pooh Vol. 2 (J 971218 V1.000)", MACHINE_NOT_WORKING ) // ^
+GAME( 1998, pcpooh3, stvbios, stv_5838, stv, stvpc_state, init_decathlt, ROT0, "Atlus", "Print Club Winnie-the-Pooh Vol. 3 (J 980406 V1.000)", MACHINE_NOT_WORKING ) // ^
-GAME( 1998, stress, stvbios, stv, stv, stvpc_state, stv, ROT0, "Sega", "Stress Busters (J 981020 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
+GAME( 1998, stress, stvbios, stv, stv, stvpc_state, init_stv, ROT0, "Sega", "Stress Busters (J 981020 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
-GAME( 1996, nameclub, stvbios, stv_5838, stv, stvpc_state, decathlt, ROT0, "Sega", "Name Club (J 960315 V1.000)", MACHINE_NOT_WORKING ) // uses the same type of protection as decathlete!!
-GAME( 1996, nclubv2, stvbios, stv_5838, stv, stvpc_state, decathlt, ROT0, "Sega", "Name Club Ver.2 (J 960315 V1.000)", MACHINE_NOT_WORKING ) // ^ (has the same datecode as nameclub, probably incorrect unless both were released today)
-GAME( 1997, nclubv3, stvbios, stv, stv, stvpc_state, nameclv3, ROT0, "Sega", "Name Club Ver.3 (J 970723 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // no protection
+GAME( 1996, nameclub, stvbios, stv_5838, stv, stvpc_state, init_decathlt, ROT0, "Sega", "Name Club (J 960315 V1.000)", MACHINE_NOT_WORKING ) // uses the same type of protection as decathlete!!
+GAME( 1996, nclubv2, stvbios, stv_5838, stv, stvpc_state, init_decathlt, ROT0, "Sega", "Name Club Ver.2 (J 960315 V1.000)", MACHINE_NOT_WORKING ) // ^ (has the same datecode as nameclub, probably incorrect unless both were released today)
+GAME( 1997, nclubv3, stvbios, stv, stv, stvpc_state, init_nameclv3, ROT0, "Sega", "Name Club Ver.3 (J 970723 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // no protection
/* Doing something.. but not enough yet */
-GAME( 1995, vfremix, stvbios, stv, stv, stv_state, vfremix, ROT0, "Sega", "Virtua Fighter Remix (JUETBKAL 950428 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
-GAME( 1996, decathlt, stvbios, stv_5838, stv, stv_state, decathlt, ROT0, "Sega", "Decathlete (JUET 960709 V1.001)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION )
-GAME( 1996, decathlto, decathlt,stv_5838, stv, stv_state, decathlt, ROT0, "Sega", "Decathlete (JUET 960424 V1.000)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION )
-GAME( 1998, twcup98, stvbios, stv_5881, stv, stv_state, twcup98, ROT0, "Tecmo", "Tecmo World Cup '98 (JUET 980410 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // some situations with the GK result in the game stalling, maybe CPU core bug??
-GAME( 1998, twsoc98, twcup98, stv_5881, stv, stv_state, twcup98, ROT0, "Tecmo", "Tecmo World Soccer '98 (JUET 980410 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // ^^ (check)
+GAME( 1995, vfremix, stvbios, stv, stv, stv_state, init_vfremix, ROT0, "Sega", "Virtua Fighter Remix (JUETBKAL 950428 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
+GAME( 1996, decathlt, stvbios, stv_5838, stv, stv_state, init_decathlt, ROT0, "Sega", "Decathlete (JUET 960709 V1.001)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION )
+GAME( 1996, decathlto, decathlt,stv_5838, stv, stv_state, init_decathlt, ROT0, "Sega", "Decathlete (JUET 960424 V1.000)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION )
+GAME( 1998, twcup98, stvbios, stv_5881, stv, stv_state, init_twcup98, ROT0, "Tecmo", "Tecmo World Cup '98 (JUET 980410 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // some situations with the GK result in the game stalling, maybe CPU core bug??
+GAME( 1998, twsoc98, twcup98, stv_5881, stv, stv_state, init_twcup98, ROT0, "Tecmo", "Tecmo World Soccer '98 (JUET 980410 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // ^^ (check)
/* Gives I/O errors */
-GAME( 1996, magzun, stvbios, stv, stv, stv_state, magzun, ROT0, "Sega", "Magical Zunou Power (J 961031 V1.000)", MACHINE_NOT_WORKING | MACHINE_NODEVICE_MICROPHONE )
-GAME( 1998, choroqhr, stvbios, stv, stv, stv_state, stv, ROT0, "Sega / Takara", "Choro Q Hyper Racing 5 (J 981230 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 2000, sackids, stvbios, stv, stv, stv_state, stv, ROT0, "Sega", "Soreyuke Anpanman Crayon Kids (J 001026 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1996, magzun, stvbios, stv, stv, stv_state, init_magzun, ROT0, "Sega", "Magical Zunou Power (J 961031 V1.000)", MACHINE_NOT_WORKING | MACHINE_NODEVICE_MICROPHONE )
+GAME( 1998, choroqhr, stvbios, stv, stv, stv_state, init_stv, ROT0, "Sega / Takara", "Choro Q Hyper Racing 5 (J 981230 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 2000, sackids, stvbios, stv, stv, stv_state, init_stv, ROT0, "Sega", "Soreyuke Anpanman Crayon Kids (J 001026 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
/* CD games */
-GAME( 1995, sfish2, 0, stvcd, stv, stv_state, stv, ROT0, "Sega", "Sport Fishing 2 (UET 951106 V1.10e)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_NODEVICE_LAN )
-GAME( 1995, sfish2j, sfish2, stvcd, stv, stv_state, stv, ROT0, "Sega", "Sport Fishing 2 (J 951201 V1.100)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_NODEVICE_LAN )
+GAME( 1995, sfish2, 0, stvcd, stv, stv_state, init_stv, ROT0, "Sega", "Sport Fishing 2 (UET 951106 V1.10e)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_NODEVICE_LAN )
+GAME( 1995, sfish2j, sfish2, stvcd, stv, stv_state, init_stv, ROT0, "Sega", "Sport Fishing 2 (J 951201 V1.100)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_NODEVICE_LAN )
/*
This is the known list of undumped ST-V games: