mirror of
https://github.com/holub/mame
synced 2025-04-09 18:17:44 +03:00
Added various TV games. (#11654) [TeamEurope, ChinnyVision, wai-3-love, David Haywood]
* tvgames/elan_eu3a05vid.cpp: Hooked up transparent pen register. * tvgames/trkfldch.cpp: Hooked up additional DMA registers and added an input register for JG7000. * skeleton/easy_karaoke.cpp: Listed built-in songs. * ekara_japan_bh.xml: Added another title to the list of undumped cartridges. New working systems -------------------- Game Zone II 128-in-1 [TeamEurope, David Haywood] Joystick88 [TeamEurope, David Haywood] Motorcycle 30-in-1 [TeamEurope, David Haywood] My Arcade Plug And Play 220 Game Retro Controller (DGUN-2959) [TeamEurope, ChinnyVision] Super TV Air Jet 6-in-1 (Lexibook Junior) [TeamEurope, David Haywood] Wireless Boxing (PAL, Play Vision) [TeamEurope, David Haywood] New systems marked not working ------------------ Zone Family Fit [TeamEurope, David Haywood] Dance Dance Revolution - Broadwalk Arcade [wai-3-love] Kidizoom (Germany, blue camera) [TeamEurope] Kidizoom Connect (Germany, pink camera) [TeamEurope] Sudoku TV Game (PAL, 2 players) [TeamEurope, David Haywood] TV Sports Plug & Play 5-in-1 (JG7000) [TeamEurope, David Haywood] Virtual Football (with 3 bonus games) [TeamEurope, David Haywood] New working software items ------------- nes_vt_cart.xml 5 Bonus Games [TeamEurope, David Haywood] New software items marked not working ----------- easy_karaoke_cart.xml Golden Greats Vol.1 [TeamEurope, David Haywood] Golden Greats Vol.2 [TeamEurope, David Haywood] Mega Hits Vol.1 [TeamEurope, David Haywood] Mega Hits Vol.3 [TeamEurope, David Haywood]
This commit is contained in:
parent
0d67b1bdcc
commit
5c5073fe92
@ -4,14 +4,77 @@
|
||||
license:CC0-1.0
|
||||
-->
|
||||
<softwarelist name="easy_karaoke_cart" description="IVL Technologies Easy Karaoke cartridges">
|
||||
<!--
|
||||
YMCA The Village People
|
||||
I Will Always Love You Whitney Houston
|
||||
Summer Nights Grease
|
||||
Hey Jude The Beatles
|
||||
Hotel California The Eagles
|
||||
American Pie Madonna
|
||||
Blue Monday New Order
|
||||
My Heart Will Go On Celine Dion
|
||||
Nothing Compares 2 U Sinead O'Connor
|
||||
Everything I Do Bryan Adams
|
||||
-->
|
||||
<software name="ekgg1" supported="no">
|
||||
<description>Golden Greats Vol.1</description>
|
||||
<year>2004</year>
|
||||
<publisher>IVL Technologies</publisher>
|
||||
<part name="cart" interface="easy_karaoke_cart">
|
||||
<dataarea name="rom" size="0x80000">
|
||||
<rom name="MX29LV040.U4" size="0x80000" crc="5119b390" sha1="9703f3b753ac22f3d0e18d8aefa479814c73110c" />
|
||||
</dataarea>
|
||||
<dataarea name="mcu" size="0x2000">
|
||||
<rom name="IC89LV52A-24PQ.U1" size="0x2000" status="nodump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
My Way Frank Sinatra
|
||||
Daydream believer The Monkees
|
||||
Build me up buttercup The Foundations
|
||||
The Best Tina Turner
|
||||
How do I live Leanne Rimes
|
||||
I will survive Gloria Gaynor
|
||||
Candle in the wind 97 Elton John
|
||||
If tomorrow never comes Ronan Keating
|
||||
Stand by me Ben E. King
|
||||
Words Boyzone
|
||||
-->
|
||||
<software name="ekgg2" supported="no">
|
||||
<description>Golden Greats Vol.2</description>
|
||||
<year>2004</year>
|
||||
<publisher>IVL Technologies</publisher>
|
||||
<part name="cart" interface="easy_karaoke_cart">
|
||||
<dataarea name="rom" size="0x80000">
|
||||
<rom name="IVL_S033I.U3" size="0x80000" crc="e4b1e82e" sha1="2db2162e0a86fc82e1978a5f21ea46e5ccde5f6d" />
|
||||
</dataarea>
|
||||
<dataarea name="mcu" size="0x2000">
|
||||
<rom name="IC89LV52A-24PQ.U1" size="0x2000" status="nodump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Black velvet Alannah Myles
|
||||
Hello Lionel Richie
|
||||
Hero Mariah Carey
|
||||
I wanna hold your hand The Beatles
|
||||
Imagine John Lennon
|
||||
Like a virgin Madonna
|
||||
New York New York Frank Sinatra
|
||||
Suspicious minds Elvis Presley
|
||||
Wannabe The Spice girls
|
||||
Your song Elton John
|
||||
-->
|
||||
<software name="ekgg3" supported="no">
|
||||
<description>Golden Greats Vol.3</description>
|
||||
<year>2004</year>
|
||||
<publisher>IVL Technologies</publisher>
|
||||
<part name="cart" interface="easy_karaoke_cart">
|
||||
<dataarea name="rom" size="0x80000">
|
||||
<rom name="MX29LV040.U3" size="0x80000" crc="163e6f6d" sha1="baa95437161459d3874fe0576a813907d2ee7869" />
|
||||
<rom name="MX29LV040.U4" size="0x80000" crc="163e6f6d" sha1="baa95437161459d3874fe0576a813907d2ee7869" />
|
||||
</dataarea>
|
||||
<dataarea name="mcu" size="0x2000">
|
||||
<rom name="IC89LV52A-24PQ.U1" size="0x2000" status="nodump" />
|
||||
@ -19,13 +82,25 @@ license:CC0-1.0
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Always on my mind Elvis Presley
|
||||
Can't buy me love The Beatles
|
||||
Crazy Patsy Cline
|
||||
Don't let the sun go down on me Elton John & George Michael
|
||||
Don't you want me Human League
|
||||
Killing me softly The Fugees
|
||||
Like a Prayer Madonna
|
||||
Love is all around Wet Wet Wet
|
||||
You're still the one Shania Twain
|
||||
You're the one that I want Grease
|
||||
-->
|
||||
<software name="ekgg4" supported="no">
|
||||
<description>Golden Greats Vol.4</description>
|
||||
<year>2004</year>
|
||||
<publisher>IVL Technologies</publisher>
|
||||
<part name="cart" interface="easy_karaoke_cart">
|
||||
<dataarea name="rom" size="0x80000">
|
||||
<rom name="MX29LV040.U3" size="0x80000" crc="41587eea" sha1="efe29e7dfae91c1f5d0fd196197c3021e8907b58" />
|
||||
<rom name="MX29LV040.U4" size="0x80000" crc="41587eea" sha1="efe29e7dfae91c1f5d0fd196197c3021e8907b58" />
|
||||
</dataarea>
|
||||
<dataarea name="mcu" size="0x2000">
|
||||
<rom name="IC89LV52A-24PQ.U1" size="0x2000" status="nodump" />
|
||||
@ -33,6 +108,44 @@ license:CC0-1.0
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Beautiful Christina Aguilera
|
||||
Hero Enrique Iglesias
|
||||
Dilemma Nelly & Kelly
|
||||
All the things she said Tatu
|
||||
Kiss kiss Holly Valence
|
||||
A little less conversation Elvis Vs JXL
|
||||
Cheeky song Cheeky Girls
|
||||
Eternal flame Atomic Kitten
|
||||
Evergreen Will Young
|
||||
Mambo No. 5 Lou Bega
|
||||
-->
|
||||
<software name="ekmh1" supported="no">
|
||||
<description>Mega Hits Vol.1</description>
|
||||
<year>2004</year>
|
||||
<publisher>IVL Technologies</publisher>
|
||||
<part name="cart" interface="easy_karaoke_cart">
|
||||
<dataarea name="rom" size="0x80000">
|
||||
<rom name="MX29LV040.U4" size="0x80000" crc="5d9b69fd" sha1="aeb39029f351ab3aff213e832c5e83cfdfc91355" />
|
||||
</dataarea>
|
||||
<dataarea name="mcu" size="0x2000">
|
||||
<rom name="IC89LV52A-24PQ.U1" size="0x2000" status="nodump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Rock your body Justin Timberlake
|
||||
Can't get you out of my head Kylie Minogue
|
||||
Just a little Liberty X
|
||||
Whole again Atomic Kitten
|
||||
Whenever wherever Shakira
|
||||
Angels Robbie Williams
|
||||
Unchained melody Gareth Gates
|
||||
Stole Kelly Rowland
|
||||
Macarena Los Del Rio
|
||||
Genie in a bottle Christina Aguilera
|
||||
-->
|
||||
<software name="ekmh2" supported="no">
|
||||
<description>Mega Hits Vol.2</description>
|
||||
<year>2004</year>
|
||||
@ -47,4 +160,30 @@ license:CC0-1.0
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Breathe Easy Blue
|
||||
Cha Cha Slide DJ Casper
|
||||
Dragostea Din Tei O-Zone
|
||||
Hey Ya Outkast
|
||||
Left Outside Alone Anastasia
|
||||
Mad World Michael Andrews Feat. Gary Jules
|
||||
Superstar Jamelia
|
||||
Sweet Dreams (My LA Ex) Rachel Stevens
|
||||
Toxic Britney Spears
|
||||
Where Is The Love Black Eyed Peas
|
||||
-->
|
||||
<software name="ekmh3" supported="no">
|
||||
<description>Mega Hits Vol.3</description>
|
||||
<year>2004</year>
|
||||
<publisher>IVL Technologies</publisher>
|
||||
<part name="cart" interface="easy_karaoke_cart">
|
||||
<dataarea name="rom" size="0x80000">
|
||||
<rom name="MX29LV040.U4" size="0x80000" crc="23d09988" sha1="c368acab9a867839b379aeec2c95601c82118aef" />
|
||||
</dataarea>
|
||||
<dataarea name="mcu" size="0x2000">
|
||||
<rom name="IC89LV52A-24PQ.U1" size="0x2000" status="nodump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</softwarelist>
|
||||
|
@ -21,6 +21,7 @@ license:CC0-1.0
|
||||
BH-04 (unknown)
|
||||
*BH-05 Best Hit Collection)
|
||||
*BH-06 Best Hit Collection
|
||||
BH-07 Best Hit Collection
|
||||
|
||||
(more? what's the BH highest number?)
|
||||
|
||||
|
@ -18,4 +18,16 @@ license:CC0-1.0
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!-- Generic looking cartridge paired with a Joystick style controller -->
|
||||
<software name="5bonus">
|
||||
<description>5 Bonus Games</description>
|
||||
<year>200?</year>
|
||||
<publisher><unknown></publisher>
|
||||
<part name="cart" interface="nes_vt_cart">
|
||||
<dataarea name="rom" size="0x80000">
|
||||
<rom name="C9C8_8-20LS.U1" size="0x80000" crc="ea86e3cd" sha1="b641a6bda9f80c9cd9730008eff24df92a6a59cb"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</softwarelist>
|
||||
|
@ -34094,6 +34094,7 @@ vsmaxx15
|
||||
dgun806
|
||||
|
||||
@source:nintendo/nes_vt02_vt03.cpp
|
||||
88in1joy
|
||||
ablmini
|
||||
ablpinb
|
||||
ablping
|
||||
@ -34103,8 +34104,10 @@ ddrdismx
|
||||
ddrstraw
|
||||
dgun2500
|
||||
dgun2869
|
||||
dgun2959
|
||||
dgun851
|
||||
dgun853
|
||||
gamezn2
|
||||
gprnrs1
|
||||
gprnrs16
|
||||
joysti30
|
||||
@ -34142,6 +34145,7 @@ senwld
|
||||
silv35
|
||||
solargm
|
||||
sporzbx
|
||||
sporzbxa
|
||||
sporzpp
|
||||
sporztn
|
||||
sudo6in1
|
||||
@ -34151,6 +34155,7 @@ timetp36
|
||||
timetp7
|
||||
vdogdeme
|
||||
vdogdemo
|
||||
vfootbal
|
||||
vsmax25v
|
||||
vsmaxx17
|
||||
vsmaxx77
|
||||
@ -34185,6 +34190,7 @@ vgtablet
|
||||
vgpmini
|
||||
vgpocket
|
||||
vsmaxtx2
|
||||
wfmotor
|
||||
|
||||
@source:nintendo/nes_vt32.cpp
|
||||
dgun2573
|
||||
@ -44474,15 +44480,16 @@ tvbg6a
|
||||
tvbg6b
|
||||
|
||||
@source:tvgames/elan_eu3a05.cpp
|
||||
rad_sinv
|
||||
rad_tetr
|
||||
airblsjs
|
||||
buzztime
|
||||
sudelan3
|
||||
sudelan
|
||||
carlecfg
|
||||
pvmilfin
|
||||
pvwwcas
|
||||
rad_sinv
|
||||
rad_tetr
|
||||
sudelan
|
||||
sudelan3
|
||||
sudoku2p
|
||||
|
||||
@source:tvgames/elan_eu3a14.cpp
|
||||
rad_gtg
|
||||
@ -44554,6 +44561,7 @@ bfmpac
|
||||
bfpacman
|
||||
bfspyhnt
|
||||
bftetris
|
||||
siddr
|
||||
wiwcs
|
||||
|
||||
@source:tvgames/generalplus_gpl162xx_lcdtype.cpp
|
||||
@ -44567,6 +44575,8 @@ jak_tmnthp
|
||||
jak_dchp
|
||||
jak_ddhp
|
||||
jak_prhp
|
||||
kidizmb
|
||||
kidizmp
|
||||
zippity
|
||||
zippityuk
|
||||
|
||||
@ -44604,6 +44614,7 @@ hyprscan //
|
||||
jak_bbh
|
||||
jak_bbsf
|
||||
zone3d
|
||||
zonefamf
|
||||
|
||||
@source:tvgames/spg29x_lexibook_jg7425.cpp
|
||||
lx_jg7425
|
||||
@ -44629,6 +44640,7 @@ itvphone
|
||||
jjstrip
|
||||
jouet
|
||||
knd
|
||||
lxairjet
|
||||
lxspidaj
|
||||
mattelcs //
|
||||
ordentv
|
||||
@ -44820,10 +44832,11 @@ megadri4
|
||||
megadri4a
|
||||
|
||||
@source:tvgames/trkfldch.cpp
|
||||
trkfldch // (c) 2007 Konami
|
||||
my1stddr // (c) 2006 Konami
|
||||
abl4play
|
||||
lexitvsprt
|
||||
my1stddr // (c) 2006 Konami
|
||||
shtscore
|
||||
trkfldch // (c) 2007 Konami
|
||||
|
||||
@source:tvgames/tvgame.cpp
|
||||
tvgame // 2011
|
||||
|
@ -79,6 +79,7 @@ public:
|
||||
void nes_vt_pal_2mb(machine_config& config);
|
||||
void nes_vt_pal_4mb(machine_config& config);
|
||||
void nes_vt_pal_8mb(machine_config& config);
|
||||
void nes_vt_pal_16mb(machine_config& config);
|
||||
|
||||
void nes_vt_512kb(machine_config& config);
|
||||
void nes_vt_1mb(machine_config& config);
|
||||
@ -101,6 +102,7 @@ public:
|
||||
void vt_external_space_map_1mbyte_majkon(address_map& map);
|
||||
|
||||
void init_protpp();
|
||||
void init_gamezn2();
|
||||
|
||||
protected:
|
||||
required_device<nes_vt02_vt03_soc_device> m_soc;
|
||||
@ -167,6 +169,7 @@ public:
|
||||
{ }
|
||||
|
||||
void nes_vt_waixing_alt_4mb_sporzpp(machine_config& config);
|
||||
void nes_vt_pal_4mb_sporzbxa(machine_config& config);
|
||||
|
||||
private:
|
||||
uint8_t in1_r() override
|
||||
@ -230,6 +233,7 @@ public:
|
||||
{ }
|
||||
|
||||
void nes_vt_2mb_ablping(machine_config& config);
|
||||
void nes_vt_2mb_vfootbal(machine_config& config);
|
||||
|
||||
private:
|
||||
uint8_t ablping_extraio_r();
|
||||
@ -571,6 +575,14 @@ void nes_vt_state::nes_vt_pal_8mb(machine_config& config)
|
||||
m_soc->set_addrmap(AS_PROGRAM, &nes_vt_state::vt_external_space_map_8mbyte);
|
||||
}
|
||||
|
||||
void nes_vt_state::nes_vt_pal_16mb(machine_config& config)
|
||||
{
|
||||
NES_VT02_VT03_SOC_PAL(config, m_soc, PAL_APU_CLOCK);
|
||||
configure_soc(m_soc);
|
||||
m_soc->set_addrmap(AS_PROGRAM, &nes_vt_state::vt_external_space_map_16mbyte);
|
||||
}
|
||||
|
||||
|
||||
void nes_vt_waixing_state::nes_vt_waixing_512kb(machine_config &config)
|
||||
{
|
||||
NES_VT02_VT03_SOC(config, m_soc, NTSC_APU_CLOCK);
|
||||
@ -622,6 +634,12 @@ void nes_vt_waixing_alt_sporzpp_state::nes_vt_waixing_alt_4mb_sporzpp(machine_co
|
||||
m_soc->set_8000_scramble(0x5, 0x4, 0x3, 0x2, 0x7, 0x6, 0x7, 0x8);
|
||||
}
|
||||
|
||||
void nes_vt_waixing_alt_sporzpp_state::nes_vt_pal_4mb_sporzbxa(machine_config& config)
|
||||
{
|
||||
NES_VT02_VT03_SOC_PAL(config, m_soc, PAL_APU_CLOCK);
|
||||
configure_soc(m_soc);
|
||||
m_soc->set_addrmap(AS_PROGRAM, &nes_vt_state::vt_external_space_map_4mbyte);
|
||||
}
|
||||
|
||||
void nes_vt_hum_state::nes_vt_hummer_2mb(machine_config& config)
|
||||
{
|
||||
@ -673,6 +691,18 @@ void nes_vt_ablping_state::nes_vt_2mb_ablping(machine_config &config)
|
||||
m_soc->extra_write_3_callback().set(FUNC(nes_vt_ablping_state::ablping_extraio_w));
|
||||
}
|
||||
|
||||
void nes_vt_ablping_state::nes_vt_2mb_vfootbal(machine_config &config)
|
||||
{
|
||||
NES_VT02_VT03_SOC_PAL(config, m_soc, PAL_APU_CLOCK);
|
||||
configure_soc(m_soc);
|
||||
m_soc->set_addrmap(AS_PROGRAM, &nes_vt_ablping_state::vt_external_space_map_2mbyte);
|
||||
|
||||
m_soc->extra_read_2_callback().set(FUNC(nes_vt_ablping_state::ablping_extraio_r));
|
||||
m_soc->extra_read_3_callback().set(FUNC(nes_vt_ablping_state::ablping_extraio_r));
|
||||
m_soc->extra_write_2_callback().set(FUNC(nes_vt_ablping_state::ablping_extraio_w));
|
||||
m_soc->extra_write_3_callback().set(FUNC(nes_vt_ablping_state::ablping_extraio_w));
|
||||
}
|
||||
|
||||
uint8_t nes_vt_base_state::upper_412c_r()
|
||||
{
|
||||
logerror("%s: upper_412c_r\n", machine().describe_context());
|
||||
@ -1072,6 +1102,11 @@ ROM_START( sporzbx )
|
||||
ROM_LOAD( "sporzboxing.bin", 0x00000, 0x400000, CRC(8b832c0b) SHA1(8193955a81e894a01308a80d5153f2ecfe134da6) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( sporzbxa )
|
||||
ROM_REGION( 0x400000, "mainrom", 0 )
|
||||
ROM_LOAD( "wlboxing.bin", 0x00000, 0x400000, CRC(5df7beb9) SHA1(dadcec310e4a7b3ca061c6fe6be319cda2445b24) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( sporztn )
|
||||
ROM_REGION( 0x400000, "mainrom", 0 )
|
||||
ROM_LOAD( "wirelesstennis.bin", 0x00000, 0x400000, CRC(e60f5ee1) SHA1(838ba7f4e9dcd0101eaaef5be883206d8856f45c) )
|
||||
@ -1271,6 +1306,11 @@ ROM_START( protpp )
|
||||
ROM_LOAD( "vpingpong_s29al008d70tfi02_0001225b.bin", 0x00000, 0x100000, CRC(8cf46272) SHA1(298a6341d26712ec1f282e7514e995a7af5ac012) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( vfootbal )
|
||||
ROM_REGION( 0x200000, "mainrom", 0 )
|
||||
ROM_LOAD( "vfootball.u3", 0x00000, 0x200000, CRC(3b586f64) SHA1(92ee41ccfad32f7629bd43503cfb15e9624283ce) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( zdog )
|
||||
ROM_REGION( 0x400000, "mainrom", 0 )
|
||||
ROM_LOAD( "zdog.bin", 0x00000, 0x400000, CRC(5ed3485b) SHA1(5ab0e9370d4ed1535205deb0456878c4e400dd81) )
|
||||
@ -1293,6 +1333,21 @@ ROM_START( dgun2869 )
|
||||
ROM_IGNORE(0x100)
|
||||
ROM_END
|
||||
|
||||
ROM_START( dgun2959 )
|
||||
ROM_REGION( 0x2000000, "mainrom", 0 )
|
||||
ROM_LOAD( "dgun2959.bin", 0x00000, 0x1000000, CRC(6e9b2f45) SHA1(abac2c1783e99b02f9c44f714d5184aea86661ae) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( 88in1joy )
|
||||
ROM_REGION( 0x400000, "mainrom", 0 )
|
||||
ROM_LOAD( "88in1joystick.bin", 0x00000, 0x400000, CRC(86b8d819) SHA1(6da387b2e6ce02a3ec203e2af8a961959ba1cf62) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( gamezn2 )
|
||||
ROM_REGION( 0x400000, "mainrom", 0 )
|
||||
ROM_LOAD16_WORD_SWAP( "gamezone2.bin", 0x00000, 0x400000, CRC(f7b2d609) SHA1(7d2d8f6e822c4e6b97e9accaa524b7910c6b97bf) ) // byteswapped as protection?
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
void nes_vt_state::init_protpp()
|
||||
@ -1312,6 +1367,22 @@ void nes_vt_state::init_protpp()
|
||||
}
|
||||
}
|
||||
|
||||
void nes_vt_state::init_gamezn2()
|
||||
{
|
||||
u8 *src = memregion("mainrom")->base();
|
||||
int len = memregion("mainrom")->bytes();
|
||||
|
||||
std::vector<u8> buffer(len);
|
||||
{
|
||||
for (int i = 0; i < len; i++)
|
||||
{
|
||||
buffer[i] = bitswap<8>(src[i],7,6,5,4,3,2,0,1); // bottom 2 bits are swapped?
|
||||
}
|
||||
|
||||
std::copy(buffer.begin(), buffer.end(), &src[0]);
|
||||
}
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
@ -1341,7 +1412,8 @@ CONS( 2005, ablpinb, 0, 0, nes_vt_pal_2mb, ablpinb, nes_vt_ablpinb_state, e
|
||||
// need to map 2 player controls for Ping Pong, 'Eat-Bean' (the PacMan hack) gets stuck during intermission? (same happens on hardware?)
|
||||
CONS( 2004, sporzpp, 0, 0, nes_vt_waixing_alt_4mb_sporzpp, sporzpp, nes_vt_waixing_alt_sporzpp_state, empty_init, "Macro Winners", "Game Sporz Wireless Duet Play Ping-Pong", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
// has some longer than expected delays when sounds should play on the Boxing part, but NES hacks are all functional
|
||||
CONS( 2004, sporzbx, 0, 0, nes_vt_waixing_alt_4mb_sporzpp, sporzpp, nes_vt_waixing_alt_sporzpp_state, empty_init, "Macro Winners", "Game Sporz Wireless Boxing", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 2004, sporzbx, 0, 0, nes_vt_waixing_alt_4mb_sporzpp, sporzpp, nes_vt_waixing_alt_sporzpp_state, empty_init, "Macro Winners", "Game Sporz Wireless Boxing", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 2004, sporzbxa, sporzbx, 0, nes_vt_pal_4mb_sporzbxa, sporzpp, nes_vt_waixing_alt_sporzpp_state, empty_init, "Macro Winners (Play Vision license)", "Wireless Boxing (PAL, Play Vision)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
// has some longer than expected delays when sounds should play on the Tennis part, but NES hacks are all functional, US version is sold in DreamGear branded box.
|
||||
CONS( 2004, sporztn, 0, 0, nes_vt_pal_4mb, sporzpp, nes_vt_wldsoctv_state, empty_init, "Macro Winners (Play Vision license)", "Wireless Tennis (PAL, Play Vision)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
// missing PCM audio, but regular APU SFX work
|
||||
@ -1392,6 +1464,8 @@ CONS( 2004, vsmaxxvd, 0, 0, nes_vt_vh2009_8mb, nes_vt, nes_vt_swap_op_
|
||||
CONS( 200?, vsmaxx77, 0, 0, nes_vt_vh2009_8mb, nes_vt, nes_vt_swap_op_d5_d6_state, empty_init, "Senario / JungleTac", "Vs Maxx Wireless 77-in-1", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 200?, joysti30, 0, 0, nes_vt_vh2009_4mb, nes_vt, nes_vt_swap_op_d5_d6_state, empty_init, "WinFun / JungleTac", "Joystick 30", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // doesn't show WinFun onscreen, but packaging does
|
||||
|
||||
// mostly bootleg NES games, but also has Frogger, Scramble and Asteroids in it
|
||||
CONS( 200?, gamezn2, 0, 0, nes_vt_4mb, nes_vt, nes_vt_state, init_gamezn2, "<unknown>", "Game Zone II 128-in-1", MACHINE_IMPERFECT_GRAPHICS ) // was this PAL? (lots of raster splits are broken at the moment either way)
|
||||
|
||||
// die is marked as VH2009, as above, but no scrambled opcodes here
|
||||
CONS( 201?, techni4, 0, 0, nes_vt_pal_2mb, nes_vt, nes_vt_state, empty_init, "Technigame", "Technigame Super 4-in-1 Sports (PAL)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
@ -1410,6 +1484,8 @@ CONS( 200?, mc_sp69, 0, 0, nes_vt_4mb_sp69, nes_vt, nes_vt_sp69_state, em
|
||||
// PCB has PP1100-MB 061110 on it, possible date YYMMDD code? (pinball is 050329, guitar fever is 070516, air blaster 050423, kickboxing 061011 etc.)
|
||||
CONS( 2006, ablping, 0, 0, nes_vt_2mb_ablping, nes_vt, nes_vt_ablping_state, empty_init, "Advance Bright Ltd", "Ping Pong / Table Tennis / Super Ping Pong (PP1100, ABL TV Game)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
|
||||
CONS( 200?, vfootbal, 0, 0, nes_vt_2mb_vfootbal,nes_vt, nes_vt_ablping_state, empty_init, "<unknown>", "Virtual Football (with 3 bonus games)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
|
||||
// Hummer systems, scrambled bank register
|
||||
CONS( 200?, mc_sam60, 0, 0, nes_vt_hummer_2mb, nes_vt, nes_vt_hum_state, empty_init, "Hummer Technology Co., Ltd.", "Samuri (60 in 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 200?, zdog, 0, 0, nes_vt_hummer_4mb, nes_vt, nes_vt_hum_state, empty_init, "Hummer Technology Co., Ltd.", "ZDog (44 in 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
@ -1462,6 +1538,9 @@ CONS( 201?, mc_89in1, 0, 0, nes_vt_4mb, nes_vt, nes_vt_state, empty
|
||||
// Works fine, uses ony VT02 features
|
||||
CONS( 201?, mc_tv200, 0, 0, nes_vt_8mb, nes_vt, nes_vt_state, empty_init, "Thumbs Up", "200 in 1 Retro TV Game", MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// TODO: add cart port and hook up nes_vt_cart.xml
|
||||
CONS( 201?, 88in1joy, 0, 0, nes_vt_4mb, nes_vt, nes_vt_state, empty_init, "Play Vision", "Joystick88", MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
|
||||
// Runs fine, non-sport 121 in 1 games perfect, but minor graphical issues in
|
||||
// sport games, also no sound in menu or sport games due to missing PCM
|
||||
@ -1476,3 +1555,4 @@ CONS( 201?, ppgc200g, 0, 0, nes_vt_pal_8mb, nes_vt, nes_vt_state, emp
|
||||
|
||||
// unknown tech level, it's most likely a vt09 or vt369 but isn't using any of the extended features
|
||||
CONS( 201?, dgun2869, 0, 0, nes_vt_16mb, nes_vt, nes_vt_state, empty_init, "dreamGEAR", "My Arcade Retro Micro Controller - 220 Built-In Video Games (DGUN-2869)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 201?, dgun2959, 0, 0, nes_vt_pal_16mb, nes_vt, nes_vt_state, empty_init, "dreamGEAR", "My Arcade Plug And Play 220 Game Retro Controller (DGUN-2959)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
|
@ -537,6 +537,12 @@ ROM_START( timetp25 )
|
||||
ROM_FILL(0x1fce36, 0x01, 0x04 | 0x40) // the code doesn't set the 'alt 4bpp' mode bit, but needs it? why? it isn't hardcoded as the system takes cartridges which don't want it
|
||||
ROM_END
|
||||
|
||||
ROM_START( wfmotor )
|
||||
ROM_REGION( 0x400000, "mainrom", 0 )
|
||||
ROM_LOAD( "motorcycle.bin", 0x00000, 0x400000, CRC(978f12f0) SHA1(a0230cfe4398d3971d487ff5d4b7107341799424) )
|
||||
ROM_END
|
||||
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
@ -572,6 +578,7 @@ CONS( 200?, rcapnp, 0, 0, nes_vt09_2mb, nes_vt09, nes_vt09_state, empty_ini
|
||||
CONS( 200?, dturbogt, 0, 0, nes_vt09_8mb, nes_vt09, nes_vt09_state, empty_init, "dreamGEAR / JungleTac", "Turbo GT 50-in-1", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 200?, ventur25, 0, 0, nes_vt09_4mb, nes_vt09, nes_vt09_state, empty_init, "<unknown> / JungleTac", "Venturer '25 Games' 25-in-1", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 200?, joypad65, 0, 0, nes_vt09_8mb, nes_vt09, nes_vt09_state, empty_init, "WinFun / JungleTac", "Joypad 65", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 200?, wfmotor, 0, 0, nes_vt09_4mb, nes_vt09, nes_vt09_state, empty_init, "WinFun / JungleTac", "Motorcycle 30-in-1", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 2005, vgpocket, 0, 0, nes_vt09_4mb, nes_vt09, nes_vt09_state, empty_init, "Performance Designed Products / JungleTac", "VG Pocket (VG-2000)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 200?, vgpmini, 0, 0, nes_vt09_4mb, nes_vt09, nes_vt09_state, empty_init, "Performance Designed Products / JungleTac", "VG Pocket Mini (VG-1500)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
// VG Pocket Max (VG-2500) (blue case, 75 games)
|
||||
|
@ -173,6 +173,24 @@ void easy_karaoke_state::easy_karaoke(machine_config &config)
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("easy_karaoke_cart");
|
||||
}
|
||||
|
||||
/*
|
||||
The 'easykara' set has the following songs built in.
|
||||
|
||||
One Step Closer S Club Juniors
|
||||
S Club Party S Club 7
|
||||
Automatic High S Club Juniors
|
||||
Don't Stop Movin' S Club 7
|
||||
Get the Party Started Pink
|
||||
Feel Robbie Williams
|
||||
Complicated Avril Lavigne
|
||||
One love Blue
|
||||
If you're not the one Daniel Bedingfield
|
||||
Sound of the Underground Girls Aloud
|
||||
|
||||
There are regional variants of the product sold under different names, for example
|
||||
there appears to be a French Lexibook unit based on this tech with different songs.
|
||||
|
||||
*/
|
||||
ROM_START( easykara )
|
||||
ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASEFF )
|
||||
ROM_LOAD( "ics0303-b.bin", 0x000000, 0x400000, CRC(43d86ae8) SHA1(219dcbf72b92d1b7e00f78f237194ab47dc08f1b) )
|
||||
|
@ -282,7 +282,6 @@ void elan_ep3a19a_state::elan_ep3a19a(machine_config &config)
|
||||
m_vid->set_entries(256);
|
||||
m_vid->set_is_pvmilfin();
|
||||
m_vid->set_use_spritepages();
|
||||
m_vid->set_force_transpen_ff();
|
||||
m_vid->set_force_basic_scroll();
|
||||
|
||||
/* sound hardware */
|
||||
|
@ -615,6 +615,31 @@ static INPUT_PORTS_START( sudoku )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( sudoku2p )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( carlecfg )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -913,6 +938,14 @@ ROM_START( sudelan )
|
||||
ROM_RELOAD(0x200000,0x200000)
|
||||
ROM_END
|
||||
|
||||
ROM_START( sudoku2p )
|
||||
ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "1596.bin", 0x00000, 0x100000, CRC(fe8ce5bc) SHA1(8fb1463c6d349e07f6483da2b6cce10a4f25fcec) )
|
||||
ROM_RELOAD(0x100000,0x100000)
|
||||
ROM_RELOAD(0x200000,0x100000)
|
||||
ROM_RELOAD(0x300000,0x100000)
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
ROM_START( carlecfg )
|
||||
@ -990,6 +1023,8 @@ CONS( 2006, sudelan3, 0, 0, elan_sudoku, sudoku, elan_eu3a05_state
|
||||
// Senario also distributed this version in the US without the '3 in 1' text on the box, ROM has not been verified to match
|
||||
CONS( 2005, sudelan, 0, 0, elan_sudoku_pal, sudoku, elan_eu3a05_state, init_sudelan, "All in 1 Products Ltd / Play Vision", "Carol Vorderman's Sudoku Plug & Play TV Game (All in 1 / Play Vision)", MACHINE_NOT_WORKING )
|
||||
|
||||
CONS( 2005, sudoku2p, 0, 0, elan_sudoku_pal, sudoku2p, elan_eu3a05_state, empty_init, "<unknown>", "Sudoku TV Game (PAL, 2 players)", MACHINE_NOT_WORKING ) // a pair of yellow controllers with 'TV Sudoku Awesome Puzzles' on their label
|
||||
|
||||
CONS( 200?, carlecfg, 0, 0, elan_sudoku, carlecfg, elan_eu3a05_state, empty_init, "Excalibur Electronics Inc", "Carl Edwards' Chase For Glory", MACHINE_NOT_WORKING )
|
||||
|
||||
// see https://millionaire.fandom.com/wiki/Haluatko_miljon%C3%A4%C3%A4riksi%3F_(Play_Vision_game)
|
||||
|
@ -18,7 +18,6 @@ elan_eu3a05vid_device::elan_eu3a05vid_device(const machine_config &mconfig, cons
|
||||
m_vrambase(0x600),
|
||||
m_spritebase(0x3e00),
|
||||
m_use_spritepages(false),
|
||||
m_force_transpen_ff(false),
|
||||
m_force_basic_scroll(false)
|
||||
{
|
||||
}
|
||||
@ -44,7 +43,7 @@ void elan_eu3a05vid_device::map(address_map &map)
|
||||
map(0x0d, 0x0e).rw(FUNC(elan_eu3a05vid_device::splitpos_r), FUNC(elan_eu3a05vid_device::splitpos_w));
|
||||
map(0x0f, 0x16).rw(FUNC(elan_eu3a05vid_device::tile_scroll_r), FUNC(elan_eu3a05vid_device::tile_scroll_w));
|
||||
map(0x17, 0x17).ram(); // unknown
|
||||
map(0x18, 0x18).ram(); // unknown
|
||||
map(0x18, 0x18).rw(FUNC(elan_eu3a05vid_device::transpen_r), FUNC(elan_eu3a05vid_device::transpen_w));
|
||||
// no other writes seen
|
||||
}
|
||||
|
||||
@ -202,18 +201,6 @@ void elan_eu3a05vid_device::draw_sprites(screen_device &screen, bitmap_ind16 &bi
|
||||
if (colour & 0x80)
|
||||
colour = 0;
|
||||
|
||||
int transpen = 0;
|
||||
|
||||
/* HACK - how is this calculated
|
||||
phoenix and the game select need it like this
|
||||
it isn't a simple case of unk2 being transpen either because Qix has some elements set to 0x07
|
||||
where the transpen needs to be 0x00 and Space Invaders has it set to 0x04
|
||||
it could be a global register rather than something in the spritelist?
|
||||
*/
|
||||
if (((attr == 0xff) && (unk2 == 0xff)) || m_force_transpen_ff)
|
||||
transpen = 0xff;
|
||||
|
||||
|
||||
if (!(flags & 0x80))
|
||||
continue;
|
||||
|
||||
@ -279,7 +266,7 @@ void elan_eu3a05vid_device::draw_sprites(screen_device &screen, bitmap_ind16 &bi
|
||||
|
||||
uint8_t pix = fullbankspace.read_byte(realaddr);
|
||||
|
||||
if (pix != transpen)
|
||||
if (pix != m_transpen)
|
||||
{
|
||||
if (flags & 0x04) // flipx
|
||||
{
|
||||
@ -619,6 +606,18 @@ uint32_t elan_eu3a05vid_device::screen_update(screen_device &screen, bitmap_ind1
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t elan_eu3a05vid_device::transpen_r()
|
||||
{
|
||||
logerror("%s: transpen_r (Transparency Pen)\n", machine().describe_context());
|
||||
return m_transpen;
|
||||
}
|
||||
|
||||
void elan_eu3a05vid_device::transpen_w(uint8_t data)
|
||||
{
|
||||
logerror("%s: transpen_w (Transparency Pen) %02x\n", machine().describe_context(), data);
|
||||
m_transpen = data;
|
||||
}
|
||||
|
||||
// Tile bases
|
||||
|
||||
void elan_eu3a05vid_device::tile_gfxbase_lo_w(uint8_t data)
|
||||
|
@ -24,7 +24,6 @@ public:
|
||||
void set_is_sudoku();
|
||||
void set_is_pvmilfin();
|
||||
void set_use_spritepages() { m_use_spritepages = true; }
|
||||
void set_force_transpen_ff() { m_force_transpen_ff = true; }
|
||||
void set_force_basic_scroll() { m_force_basic_scroll = true; }
|
||||
|
||||
protected:
|
||||
@ -49,6 +48,7 @@ private:
|
||||
uint8_t m_tile_scroll[4*2]{};
|
||||
|
||||
uint8_t m_splitpos[2]{};
|
||||
uint8_t m_transpen = 0;
|
||||
|
||||
uint16_t get_scroll(int which);
|
||||
|
||||
@ -73,6 +73,9 @@ private:
|
||||
uint8_t sprite_gfxbase_lo_r();
|
||||
uint8_t sprite_gfxbase_hi_r();
|
||||
|
||||
uint8_t transpen_r();
|
||||
void transpen_w(uint8_t data);
|
||||
|
||||
uint8_t elan_eu3a05_vidctrl_r();
|
||||
void elan_eu3a05_vidctrl_w(uint8_t data);
|
||||
|
||||
@ -89,7 +92,6 @@ private:
|
||||
int m_vrambase;
|
||||
int m_spritebase;
|
||||
bool m_use_spritepages;
|
||||
bool m_force_transpen_ff;
|
||||
bool m_force_basic_scroll;
|
||||
};
|
||||
|
||||
|
@ -25,6 +25,7 @@ public:
|
||||
}
|
||||
|
||||
void init_fif();
|
||||
void init_siddr();
|
||||
|
||||
void generalplus_gpspi_direct(machine_config &config);
|
||||
|
||||
@ -210,6 +211,13 @@ ROM_START( bftetris )
|
||||
ROM_LOAD16_WORD_SWAP( "arcadeclassicstetris_25q16ct_c84015.bin", 0x0000, 0x200000, CRC(a97e1bab) SHA1(400944d310d5d5fccb2c6d048d7bf0cb00da09de) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( siddr )
|
||||
ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 )
|
||||
//ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP )
|
||||
|
||||
ROM_REGION16_BE(0x800000, "maincpu:spidirect", ROMREGION_ERASE00)
|
||||
ROM_LOAD16_WORD_SWAP( "ddr-toy.bin", 0x0000, 0x400000, CRC(873cbcc8) SHA1(bdd3d12adb1284991a3f8aaa8e451e3a55931267) )
|
||||
ROM_END
|
||||
|
||||
void generalplus_gpspi_direct_game_state::init_fif()
|
||||
{
|
||||
@ -221,6 +229,17 @@ void generalplus_gpspi_direct_game_state::init_fif()
|
||||
}
|
||||
}
|
||||
|
||||
void generalplus_gpspi_direct_game_state::init_siddr()
|
||||
{
|
||||
uint8_t* spirom8 = (uint8_t*)memregion("maincpu:spidirect")->base();
|
||||
for (int i = 0x3000; i < 0x400000; i++)
|
||||
{
|
||||
spirom8[i] = bitswap<8>(spirom8[i] ^ 0x68,
|
||||
3, 5, 0, 7, 1, 4, 2, 6);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
@ -232,3 +251,6 @@ CONS(2017, bfgalaga, 0, 0, generalplus_gpspi_direct, bfmpac, generalplus_gpspi_d
|
||||
CONS(2018, bfdigdug, 0, 0, generalplus_gpspi_direct, bfmpac, generalplus_gpspi_direct_game_state, init_fif, "Basic Fun", "Dig Dug (mini arcade)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
|
||||
CONS(2019, bfspyhnt, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, init_fif, "Basic Fun", "Spy Hunter (mini arcade)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
|
||||
CONS(2019, bftetris, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, init_fif, "Basic Fun", "Tetris (mini arcade)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
|
||||
|
||||
// probably not identical hardware, encryption is different, but it does seem to still be a 'direct access' SPI ROM case
|
||||
CONS(201?, siddr, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, init_siddr, "Super Impulse", "Dance Dance Revolution - Broadwalk Arcade", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
|
||||
|
@ -274,6 +274,18 @@ ROM_START( zippityuk )
|
||||
ROM_LOAD( "29f2c08aacwp.u2", 0x0000, 0x10800000, CRC(27d172ae) SHA1(9ade19d7aa28fba13581e6879b39e3a7702260b0) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( kidizmp )
|
||||
ROM_REGION( 0x10800000, "nandrom", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "s34ml02g1_withspare.u13", 0x0000, 0x10800000, CRC(c5d55bdc) SHA1(073fc3fd56c532750b4e2020abe27d3448999d56) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( kidizmb )
|
||||
ROM_REGION( 0x8400000, "nandrom", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "hy27uf081g2a_withspare.bin", 0x0000, 0x8400000, CRC(b87861c4) SHA1(8b5cc2557b54a37928be818430b91c48db98758f) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
void generalplus_gpl32612_game_state::nand_init(int blocksize, int blocksize_stripped)
|
||||
{
|
||||
uint8_t* rom = memregion("nand")->base();
|
||||
@ -327,3 +339,8 @@ CONS( 200?, jak_dchp, 0, 0, gpl32612, gpl32612, generalplus_gp
|
||||
CONS( 201?, zippity, 0, 0, zippity, gpl32612, generalplus_zippity_game_state, empty_init, "LeapFrog", "Zippity (US)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
// TODO, check if code differs, or just unused areas of the NAND
|
||||
CONS( 201?, zippityuk, zippity, 0, zippity, gpl32612, generalplus_zippity_game_state, empty_init, "LeapFrog", "Zippity (UK)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
|
||||
// GP32C01 (maybe, picture is unclear) - Camera for kids
|
||||
CONS( 2013, kidizmp, 0, 0, zippity, gpl32612, generalplus_zippity_game_state, empty_init, "VTech", "Kidizoom Connect (Germany, pink camera)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
// seems to be older tech, just glob + ROM, assuming it's a GP32 series based on above and due to having ARM code
|
||||
CONS( 201?, kidizmb, 0, 0, zippity, gpl32612, generalplus_zippity_game_state, empty_init, "VTech", "Kidizoom (Germany, blue camera)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
|
@ -156,8 +156,9 @@ public:
|
||||
protected:
|
||||
void machine_reset() override;
|
||||
|
||||
private:
|
||||
std::vector<uint8_t> m_strippedrom;
|
||||
|
||||
private:
|
||||
int m_firstvector = 0;
|
||||
};
|
||||
|
||||
@ -176,6 +177,21 @@ protected:
|
||||
private:
|
||||
};
|
||||
|
||||
class spg29x_zonefamf_game_state : public spg29x_nand_game_state
|
||||
{
|
||||
public:
|
||||
spg29x_zonefamf_game_state(const machine_config& mconfig, device_type type, const char* tag) :
|
||||
spg29x_nand_game_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void nand_zonefamf();
|
||||
|
||||
protected:
|
||||
void machine_reset() override;
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
@ -429,6 +445,23 @@ void spg29x_zone3d_game_state::machine_reset()
|
||||
m_maincpu->set_state_int(SCORE_PC, 0x1000);
|
||||
}
|
||||
|
||||
void spg29x_zonefamf_game_state::machine_reset()
|
||||
{
|
||||
spg29x_game_state::machine_reset();
|
||||
|
||||
uint32_t sourceaddr = 0x80000;
|
||||
for (uint32_t addr = 0; addr <= 0x80000; addr++)
|
||||
{
|
||||
address_space& mem = m_maincpu->space(AS_PROGRAM);
|
||||
uint8_t byte = m_strippedrom[sourceaddr];
|
||||
mem.write_byte(addr, byte);
|
||||
sourceaddr++;
|
||||
}
|
||||
|
||||
m_maincpu->set_state_int(SCORE_PC, 0x4);
|
||||
}
|
||||
|
||||
|
||||
|
||||
QUICKLOAD_LOAD_MEMBER(spg29x_game_state::quickload_hyper_exe)
|
||||
{
|
||||
@ -542,6 +575,12 @@ void spg29x_nand_game_state::nand_jak_bbsf()
|
||||
m_firstvector = 0x8;
|
||||
}
|
||||
|
||||
void spg29x_zonefamf_game_state::nand_zonefamf()
|
||||
{
|
||||
nand_init(0x840, 0x800);
|
||||
// m_firstvector = 0x8;
|
||||
}
|
||||
|
||||
void spg29x_zone3d_game_state::init_zone3d()
|
||||
{
|
||||
|
||||
@ -575,6 +614,17 @@ ROM_START( jak_bbsf )
|
||||
ROM_LOAD32_DWORD("internal.rom", 0x000000, 0x008000, NO_DUMP)
|
||||
ROM_END
|
||||
|
||||
ROM_START( zonefamf )
|
||||
ROM_REGION( 0x21000000, "nand", 0 )
|
||||
ROM_LOAD("hy27uf084g2m_withspare.u1", 0x000000, 0x21000000, CRC(ee12b689) SHA1(fd9c708b6bb2e7574173a140d8839869a8c9f51a) )
|
||||
|
||||
ROM_REGION( 0x008000, "spg290", ROMREGION_32BIT | ROMREGION_LE )
|
||||
ROM_LOAD32_DWORD("internal.rom", 0x000000, 0x008000, NO_DUMP)
|
||||
|
||||
//has 1x 48LC8M16A2 (128Mbit/16MByte SDRAM) for loading game into
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( zone3d )
|
||||
ROM_REGION( 0x100000, "spi", 0 )
|
||||
ROM_LOAD("zone_25l8006e_c22014.bin", 0x000000, 0x100000, CRC(8c571771) SHA1(cdb46850286d31bf58d45b75ffc396ed774ac4fd) )
|
||||
@ -620,9 +670,12 @@ COMP( 2006, hyprscan, 0, 0, hyperscan, hyperscan, spg29x_game_state,
|
||||
COMP( 2009, jak_bbh, 0, 0, spg29x, hyperscan, spg29x_nand_game_state, nand_jak_bbh, "JAKKS Pacific Inc", "Big Buck Hunter Pro (JAKKS Pacific TV Game)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) //has ISSI 404A (24C04)
|
||||
COMP( 2011, jak_bbsf, 0, 0, spg29x, hyperscan, spg29x_nand_game_state, nand_jak_bbsf,"JAKKS Pacific Inc", "Big Buck Safari (JAKKS Pacific TV Game)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // has ISSI 416A (24C16)
|
||||
|
||||
// ends up doing the fllowing, which causes a jump to 0xbf000024, where we have nothing mapped (internal ROM related, or thinks it's loaded code there? This is the area Hyperscan uses as 'BIOS' not Internal ROM so could be RAM here)
|
||||
// ends up doing the following, which causes a jump to 0xbf000024, where we have nothing mapped (internal ROM related, or thinks it's loaded code there? This is the area Hyperscan uses as 'BIOS' not Internal ROM so could be RAM here)
|
||||
// 000011D4: ldis r8, 0xbf00
|
||||
// 000011D8: ori r8, 0x0024
|
||||
// 000011DC: br r8
|
||||
COMP( 201?, zone3d, 0, 0, spg29x, hyperscan, spg29x_zone3d_game_state, init_zone3d,"Zone", "Zone 3D", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
|
||||
|
||||
COMP( 201?, zonefamf, 0, 0, spg29x, hyperscan, spg29x_zonefamf_game_state, nand_zonefamf,"Zone", "Zone Family Fit", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
|
||||
|
||||
// see also spg29x_lexibook_jg7425.cpp which may or may not belong here
|
||||
|
@ -1968,6 +1968,11 @@ ROM_START( lxspidaj )
|
||||
ROM_LOAD16_WORD_SWAP( "mx29lv320ct.u2", 0x000000, 0x400000, CRC(e7e03c62) SHA1(ab13452f0436efb767f01dff54dd48a528538e3f) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( lxairjet )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "w321tg.u5", 0x000000, 0x400000, CRC(105b226f) SHA1(2622678a8586ee6edae17715657037a5419e3321) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( fordrace )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
@ -2206,6 +2211,8 @@ CONS( 2006, ablkickb, 0, 0, ablkickb, ablkickb, spg2xx_game_albkickb_
|
||||
|
||||
CONS( 2007, lxspidaj, 0, 0, spg2xx_pal,lxspidaj, spg2xx_game_albkickb_state, init_ablkickb, "Lexibook", "Spider-Man Super TV Air Jet (Lexibook Junior, JG6000SP)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
CONS( 2007, lxairjet, 0, 0, spg2xx_pal,lxspidaj, spg2xx_game_albkickb_state, init_ablkickb, "Lexibook", "Super TV Air Jet 6-in-1 (Lexibook Junior)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
CONS( 2006, totspies, 0, 0, spg2xx_pal,totspies, spg2xx_game_state, empty_init, "Senario / Marathon - Mystery Animation Inc.", "Totally Spies! (France)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
CONS( 2006, fordrace, 0, 0, fordrace, fordrace, spg2xx_game_fordrace_state, empty_init, "Excalibur Electronics", "Ford Racing", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
@ -2,6 +2,13 @@
|
||||
// copyright-holders:David Haywood
|
||||
/*
|
||||
|
||||
The lexitvsprt contains "W55V9x" strings, which appear to identify the tech used here as the following
|
||||
Nuvoton product
|
||||
http://e-tech.com.hk/pd_nuvo_at_game.html
|
||||
|
||||
|
||||
---
|
||||
|
||||
Track & Field Challenge TV Game
|
||||
https://www.youtube.com/watch?v=wjn1lLylqog
|
||||
|
||||
@ -67,6 +74,9 @@ protected:
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
|
||||
virtual uint8_t unkregs_r(offs_t offset);
|
||||
virtual void unkregs_w(offs_t offset, uint8_t data);
|
||||
|
||||
private:
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -122,9 +132,6 @@ private:
|
||||
|
||||
uint8_t m_unkregs[0x90]{};
|
||||
|
||||
uint8_t unkregs_r(offs_t offset);
|
||||
void unkregs_w(offs_t offset, uint8_t data);
|
||||
|
||||
uint8_t m_tmapscroll_window[2][0x12]{};
|
||||
|
||||
uint8_t m_unkdata[0x100000]{};
|
||||
@ -132,6 +139,30 @@ private:
|
||||
|
||||
};
|
||||
|
||||
class trkfldch_lexi_state : public trkfldch_state
|
||||
{
|
||||
public:
|
||||
trkfldch_lexi_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
trkfldch_state(mconfig, type, tag),
|
||||
m_extra(*this, "EXTRA")
|
||||
{ }
|
||||
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
uint8_t unkregs_r(offs_t offset) override;
|
||||
void unkregs_w(offs_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
required_ioport m_extra;
|
||||
uint8_t m_input_bit;
|
||||
uint8_t m_iopos;
|
||||
};
|
||||
|
||||
|
||||
|
||||
void trkfldch_state::video_start()
|
||||
{
|
||||
}
|
||||
@ -600,11 +631,6 @@ void trkfldch_state::dmaregs_w(offs_t offset, uint8_t data)
|
||||
int readoffset = 0;
|
||||
int readdo = m_dmaregs[0x09];
|
||||
|
||||
if ((m_dmaregs[0x08] != 0x00) || (m_dmaregs[0x0c] != 0x00))
|
||||
{
|
||||
fatalerror("unhandled dma params\n");
|
||||
}
|
||||
|
||||
for (uint32_t j = 0; j < dmalength; j++)
|
||||
{
|
||||
uint8_t byte = mem.read_byte(dmasource + readoffset);
|
||||
@ -612,7 +638,7 @@ void trkfldch_state::dmaregs_w(offs_t offset, uint8_t data)
|
||||
if (readdo < 0)
|
||||
{
|
||||
readdo = m_dmaregs[0x09];
|
||||
readoffset += m_dmaregs[0x07];
|
||||
readoffset += m_dmaregs[0x07] | (m_dmaregs[0x08] << 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -624,7 +650,7 @@ void trkfldch_state::dmaregs_w(offs_t offset, uint8_t data)
|
||||
if (writedo < 0)
|
||||
{
|
||||
writedo = m_dmaregs[0x0d];
|
||||
writeoffset += m_dmaregs[0xb];
|
||||
writeoffset += m_dmaregs[0xb] | (m_dmaregs[0x0c] << 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1017,6 +1043,30 @@ static INPUT_PORTS_START( shtscore )
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( lexi )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN3")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("EXTRA")
|
||||
PORT_BIT( 0x00008, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x00020, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x00080, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
||||
PORT_BIT( 0x00200, IP_ACTIVE_LOW, IPT_BUTTON4 )
|
||||
PORT_BIT( 0x00800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x02000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x20000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout tiles8x8x8_layout =
|
||||
{
|
||||
8,8,
|
||||
@ -1362,6 +1412,63 @@ void trkfldch_state::unkregs_w(offs_t offset, uint8_t data)
|
||||
|
||||
}
|
||||
|
||||
|
||||
void trkfldch_lexi_state::machine_start()
|
||||
{
|
||||
trkfldch_state::machine_start();
|
||||
save_item(NAME(m_input_bit));
|
||||
save_item(NAME(m_iopos));
|
||||
}
|
||||
|
||||
void trkfldch_lexi_state::machine_reset()
|
||||
{
|
||||
trkfldch_state::machine_reset();
|
||||
m_input_bit = 0;
|
||||
m_iopos = 0;
|
||||
}
|
||||
|
||||
uint8_t trkfldch_lexi_state::unkregs_r(offs_t offset)
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
|
||||
case 0x00:
|
||||
{
|
||||
uint8_t ret = m_input_bit;
|
||||
logerror("%s: unkregs_r %04x (returning %02x) (Player 1 inputs)\n", machine().describe_context(), offset, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
default:
|
||||
return trkfldch_state::unkregs_r(offset);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void trkfldch_lexi_state::unkregs_w(offs_t offset, uint8_t data)
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
case 0x03:
|
||||
logerror("%s: unkregs_w %04x %02x (io strobe?)\n", machine().describe_context(), offset, data);
|
||||
if (data == 0x03)
|
||||
{
|
||||
m_iopos = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_iopos++;
|
||||
}
|
||||
|
||||
m_input_bit = (m_extra->read() >> m_iopos) & 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
trkfldch_state::unkregs_w(offset, data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void trkfldch_state::machine_start()
|
||||
{
|
||||
save_item(NAME(m_unkdata_addr));
|
||||
@ -1469,10 +1576,17 @@ ROM_START( shtscore )
|
||||
ROM_LOAD( "shootnscore.bin", 0x000000, 0x400000, CRC(37aa16bd) SHA1(609d0191301480c51ec1188c67101a4e88a5170f) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( lexitvsprt )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "29l3211.u2a", 0x000000, 0x400000, CRC(65e5223c) SHA1(13eae6e34100fb9761335e87a3cf728bb31e860f) )
|
||||
ROM_END
|
||||
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
CONS( 2007, trkfldch, 0, 0, trkfldch, trkfldch,trkfldch_state, empty_init, "Konami", "Track & Field Challenge", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
|
||||
CONS( 2006, my1stddr, 0, 0, trkfldch, my1stddr,trkfldch_state, empty_init, "Konami", "My First Dance Dance Revolution (US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // Japan version has different songs
|
||||
CONS( 200?, abl4play, 0, 0, trkfldch, abl4play,trkfldch_state, empty_init, "Advance Bright Ltd", "4 Player System - 10 in 1", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
|
||||
CONS( 2007, trkfldch, 0, 0, trkfldch, trkfldch,trkfldch_state, empty_init, "Konami", "Track & Field Challenge", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
|
||||
CONS( 2006, my1stddr, 0, 0, trkfldch, my1stddr,trkfldch_state, empty_init, "Konami", "My First Dance Dance Revolution (US)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // Japan version has different songs
|
||||
CONS( 200?, abl4play, 0, 0, trkfldch, abl4play,trkfldch_state, empty_init, "Advance Bright Ltd", "4 Player System - 10 in 1", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
|
||||
CONS( 200?, shtscore, 0, 0, trkfldch, shtscore,trkfldch_state, empty_init, "Halsall / time4toys.com / Electronic Games", "Shoot n' Score", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
|
||||
CONS( 200?, lexitvsprt,0, 0, trkfldch, lexi, trkfldch_lexi_state, empty_init, "Lexibook", "TV Sports Plug & Play 5-in-1 (JG7000)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
|
||||
|
Loading…
Reference in New Issue
Block a user