mirror of
https://github.com/holub/mame
synced 2025-04-19 15:11:37 +03:00
Plug & Play work (#6284)
* new WORKING machine --- MGT 20-in-1 TV-Spielekonsole (Germany) [TeamEurope, David Haywood] * text to follow later (nw) * (nw) * (nw) * (nw) * (nw) * new WORKING machines ---- My Sports Challenge (6-in-1 version, QVC license) [Sean Riddle, David Haywood, Ryan Holtz] Decathlon [Sean Riddle, ClawGrip] new NOT WORKING --- Karao Kids Songs 2 (Spain) [Sean Riddle, ClawGrip] Club Jenna Presents: Jenna Jameson's Strip Poker [Sean Riddle, David Haywood, Ryan Holtz] Mini Arcade Machine (Red5) [TeamEurope, David Haywood] Lexibook Compact Cyber Arcade - Disney Princess [TeamEurope, David Haywood] * added a placeholder for Sean's Casio ROM pack dumps (nw) * promote the poker game (nw) * (nw) * (nw) * Casio ROM pack details from Clawgrip * new NOT WORKING --- Duck Commander (JAKKS Pacific TV Game) [Sean Riddle, David Haywood] Star Wars Clone Trooper (JAKKS Pacific TV Game) [Sean Riddle, David Haywood] The Walking Dead: Zombie Hunter (JAKKS Pacific TV Game) [Sean Riddle, David Haywood] The Walking Dead: Battleground (JAKKS Pacific TV Game) [Sean Riddle] Toy Story - Toys on the Move (JAKKS Pacific TV Motion Game) [Sean Riddle, Clawgrip] * new NOT WORKING ---- Teenage Mutant Ninja Turtles: Mutant and Monster Mayhem [Sean Riddle] * new WORKING machines ---- Plug & Play Game Controller with 200 Games (Supreme 200) [TeamEurope] healthy dose of obvious unlicensed NES hacks here.. including 1st party Nindendo and Namco games. * new NOT WORKING ---- MobiGo 2 (Germany) [TeamEurope] + start of Sofwtare List [TeamEurope] * (nw)
This commit is contained in:
parent
e0183b56e7
commit
4a3326429e
127
hash/casio_rompack.xml
Normal file
127
hash/casio_rompack.xml
Normal file
@ -0,0 +1,127 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||
<softwarelist name="casio_rompack" description="Casio ROM Packs">
|
||||
<!--
|
||||
+=======+====+======================================================+===+
|
||||
|PACK |YEAR|TITLE DUMPED|
|
||||
+=======+====+======================================================+===+
|
||||
|RO-101 |19??|The Hit Parade | NO|
|
||||
|RO-102 |19??|?? (18 tunes) | NO|
|
||||
|RO-107 |19??|New Music | NO|
|
||||
|RO-110 |19??|Easy Listening | NO|
|
||||
|RO-117 |19??|?? (15 tunes) | NO|
|
||||
|RO-119 |19??|?? | NO|
|
||||
|RO-124Y|19??|?? (20 tunes) | NO|
|
||||
|RO-125E|19??|Ballads | NO|
|
||||
|RO-128P|19??|Oldies | NO|
|
||||
|RO-157 |19??|?? (4 tunes) | NO|
|
||||
|RO-158 |19??|?? | NO|
|
||||
|RO-159 |19??|Children's Songs | NO|
|
||||
|RO-163 |19??|Pops | NO|
|
||||
|RO-166 |19??|?? (5 tunes) | NO|
|
||||
|RO-167K|19??|Children's Songs | NO|
|
||||
|RO-170A|19??|Animation Themes | NO|
|
||||
|RO-172G|19??|Game Music | NO|
|
||||
|RO-174Y|19??|?? (5 tunes) | NO|
|
||||
|RO-176Y|19??|Young Hits | NO|
|
||||
|RO-182B|19??|?? (6 tunes) | NO|
|
||||
|RO-186T|19??|?? (13 tunes) | NO|
|
||||
|RO-188Y|19??|Young Hits | NO|
|
||||
|RO-190K|19??|Children's Songs | NO|
|
||||
|RO-581 |19??|Family Selection | NO|
|
||||
|RO-582 |19??|DH Tunes & Rhythms | NO|
|
||||
|RO-606K|19??|?? | NO|
|
||||
|RO-613A|19??|Greatest Hits | NO|
|
||||
|RO-614Y|19??|?? | NO|
|
||||
|RO-701 |19??|Sound Kids 'Excitement'(?) | NO|
|
||||
|RO-702 |19??|Sound Kids 'Excitement'(?) | NO|
|
||||
|RO-703 |19??|Sound Kids 'Excitement'(?) | NO|
|
||||
|RO-801F|1990|Fusion | NO|
|
||||
|RO-804M|1990|Digital Horn Lessons | NO|
|
||||
+=======+====+======================================================+===+
|
||||
|RO-201 |1983|Fun with your Casio Keyboard | NO|
|
||||
|RO-204 |198?|Supergroups | NO|
|
||||
|RO-251 |1984|How to Play your Casio ROM Keyboard |YES|
|
||||
|RO-252 |1986|Film Classics | NO|
|
||||
|RO-253 |1986|Pop/Rock | NO|
|
||||
|RO-254 |1984|Movie Pops | NO|
|
||||
|RO-255 |1986|Rock On | NO|
|
||||
|RO-256 |1985|Top Pops | NO|
|
||||
|RO-257 |1985|Super Songs | NO|
|
||||
|RO-258 |1985|Latin Hits | NO|
|
||||
|RO-259 |1985|Pop Hits | NO|
|
||||
|RO-260 |1985|Music Collection | NO|
|
||||
|RO-261 |1985|Pop Selection | NO|
|
||||
|RO-262 |1986|Country Greats | NO|
|
||||
|RO-263 |1986|Hymns & Gospel | NO|
|
||||
|RO-264 |1986|Pop Country | NO|
|
||||
|RO-265 |1986|Pop Superstars | NO|
|
||||
|RO-266 |1988|Songs for Children | NO|
|
||||
|RO-268 |1986|Golden Hits | NO|
|
||||
|RO-269 |1986|Rhythm and Blues | NO|
|
||||
|RO-270 |1988|Christmas | NO|
|
||||
|RO-271 |1986|Beatles No.1 Hits | NO|
|
||||
|RO-272 |1987|Rock & Roll Classics | NO|
|
||||
|RO-273 |1987|Best of Motown | NO|
|
||||
|RO-274 |1987|Hot Pop & Rock | NO|
|
||||
|RO-275 |1987|Today's Superstars | NO|
|
||||
|RO-276 |1987|T.V. Tunes | NO|
|
||||
|RO-277 |1988|When You Wish Upon A Star and Other Disney Movie Songs| NO|
|
||||
|RO-278 |1987|Songs of Sesame Street | NO|
|
||||
|RO-279 |1988|Solid Gold Rock & Pop | NO|
|
||||
|RO-280 |1988|Star-Studded Rock | NO|
|
||||
|RO-281 |1988|Chartbusting Pop | NO|
|
||||
|RO-282 |198?|New Kids on the Block Greatest Hits | NO|
|
||||
|RO-301 |1983|Popular Hits | NO|
|
||||
|RO-302 |1983|Latin | NO|
|
||||
|RO-303 |1983|Easy Listening | NO|
|
||||
|RO-351 |1984|Best of Carpenters | NO|
|
||||
|RO-352 |1985|All Time Movie Hits | NO|
|
||||
|RO-353 |1985|Beatles | NO|
|
||||
|RO-354 |1985|Pop Themes | NO|
|
||||
|RO-355 |1984|Great Standards / Jazz Standards | NO|
|
||||
|RO-356 |1985|Disney Movie Magic | NO|
|
||||
|RO-357 |198?|Classic | NO|
|
||||
|RO-451 |198?|Chinese Folk Songs | NO|
|
||||
|RO-452 |198?|Most Popular Songs | NO|
|
||||
|RO-456 |198?|Beautiful Arabian Music | NO|
|
||||
|RO-551 |198?|World Songs |YES|
|
||||
|RO-552 |198?|Classic | NO|
|
||||
|RO-553 |1984|Have Fun with Hopsie! | NO|
|
||||
|RO-554 |198?|Family Songs | NO|
|
||||
|RO-555 |198?|Home Melodies | NO|
|
||||
|RO-556 |198?|DH Songs & Rhythms | NO|
|
||||
|RO-557 |198?|Family Collection | NO|
|
||||
|RO-558 |198?|Kids Selection | NO|
|
||||
|RO-559 |1990|New Kids on the Block Greatest Hits | NO|
|
||||
|RO-560 |1990|New Kids on the Block Greatest Hits | NO|
|
||||
|RO-??? |19??|Movie Themes | NO|
|
||||
|RO-??? |19??|Rock On | NO|
|
||||
+=======+====+======================================================+===+
|
||||
-->
|
||||
|
||||
<!-- these are OKI M5268 ROMs -->
|
||||
|
||||
<software name="ro551" supported="no">
|
||||
<description>World Songs (RO-551)</description>
|
||||
<year>198?</year>
|
||||
<publisher>Casio</publisher>
|
||||
<part name="cart" interface="casio_rompack">
|
||||
<dataarea name="rom" size="0x1800">
|
||||
<rom name="casiorompackro551.bin" size="0x1800" crc="85d88a29" sha1="943c9c89f0fb79e55714c8d7e103b77449add1f1"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="ro251" supported="no">
|
||||
<description>How to Play your Casio ROM Keyboard (RO-251)</description>
|
||||
<year>1984</year>
|
||||
<publisher>Casio</publisher>
|
||||
<part name="cart" interface="casio_rompack">
|
||||
<dataarea name="rom" size="0x1800">
|
||||
<rom name="ro251.bin" size="0x1800" crc="6bfd4921" sha1="6b57f18f2f170c01dc929f60b55a0535e041a09d"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</softwarelist>
|
30
hash/mobigo_cart.xml
Normal file
30
hash/mobigo_cart.xml
Normal file
@ -0,0 +1,30 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||
<softwarelist name="mobigo_cart" description="VTech Mobigo Cartridges">
|
||||
|
||||
<!-- 52-250704 - Mobigo 2 Game Cartridge (Internal Game) (GER) is a dummy cartridge to enable the game in the BIOS -->
|
||||
|
||||
<software name="kfpand2" supported="no">
|
||||
<description>Kung Fu Panda 2 (Germany) (80-252004)</description>
|
||||
<year>200?</year>
|
||||
<publisher>VTech</publisher>
|
||||
<part name="cart" interface="mobigo_cart">
|
||||
<dataarea name="rom" size="0x1000000">
|
||||
<rom name="80-252004 - kung fu panda 2 (ger).bin" size="0x1000000" crc="88b0b148" sha1="a2ce8915c8acf3a9c7741cae7fcc51aa59895de9"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!-- this is from a special large scale Kiosk unit, which should also have a unique BIOS. Maybe move into driver as a hardcodd cart once BIOS is dumped rather than having it here? -->
|
||||
<software name="kiosk" supported="no">
|
||||
<description>Mobigo Kiosk (Germany)</description>
|
||||
<year>200?</year>
|
||||
<publisher>VTech</publisher>
|
||||
<part name="cart" interface="mobigo_cart">
|
||||
<dataarea name="rom" size="0x2000000">
|
||||
<rom name="mobigo kiosk cartridge (ger).bin" size="0x2000000" crc="8026b80d" sha1="ded9e5dcf89f30b6011e826da466f7cd6bbd5a2d"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</softwarelist>
|
@ -1882,6 +1882,7 @@ files {
|
||||
MAME_DIR .. "src/mame/drivers/pv2000.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/sk1.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/rz1.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/casio_rompack.cpp",
|
||||
}
|
||||
|
||||
createMESSProjects(_target, _subtarget, "cbm")
|
||||
@ -2916,7 +2917,7 @@ files {
|
||||
MAME_DIR .. "src/mame/video/nes.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/nes_vt.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/nes_sh6578.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/nes_boot.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/nes_clone.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/pokemini.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/snes.cpp",
|
||||
MAME_DIR .. "src/mame/includes/snes.h",
|
||||
@ -3979,6 +3980,7 @@ files {
|
||||
MAME_DIR .. "src/mame/drivers/vsmileb.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/clickstart.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/storio.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/vtech_mobigo.cpp",
|
||||
}
|
||||
|
||||
createMESSProjects(_target, _subtarget, "wang")
|
||||
|
@ -45,6 +45,15 @@ WRITE_LINE_MEMBER(spg110_device::videoirq_w)
|
||||
set_state_unsynced(UNSP_IRQ0_LINE, state);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(spg110_device::ffreq1_w)
|
||||
{
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(spg110_device::ffreq2_w)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void spg110_device::configure_spg_io(spg2xx_io_device* io)
|
||||
{
|
||||
io->porta_in().set(FUNC(spg110_device::porta_r));
|
||||
@ -60,8 +69,8 @@ void spg110_device::configure_spg_io(spg2xx_io_device* io)
|
||||
// io->write_timer_irq_callback().set(FUNC(spg110_device::timerirq_w));
|
||||
// io->write_uart_adc_irq_callback().set(FUNC(spg110_device::uartirq_w));
|
||||
// io->write_external_irq_callback().set(FUNC(spg110_device::extirq_w));
|
||||
// io->write_ffrq_tmr1_irq_callback().set(FUNC(spg110_device::ffreq1_w));
|
||||
// io->write_ffrq_tmr2_irq_callback().set(FUNC(spg110_device::ffreq2_w));
|
||||
io->write_ffrq_tmr1_irq_callback().set(FUNC(spg110_device::ffreq1_w));
|
||||
io->write_ffrq_tmr2_irq_callback().set(FUNC(spg110_device::ffreq2_w));
|
||||
}
|
||||
|
||||
READ16_MEMBER(spg110_device::space_r)
|
||||
|
@ -77,6 +77,10 @@ private:
|
||||
DECLARE_WRITE16_MEMBER(porta_w) { m_porta_out(offset, data, mem_mask); }
|
||||
DECLARE_WRITE16_MEMBER(portb_w) { m_portb_out(offset, data, mem_mask); }
|
||||
DECLARE_WRITE16_MEMBER(portc_w) { m_portc_out(offset, data, mem_mask); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(ffreq1_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(ffreq2_w);
|
||||
|
||||
template <size_t Line> DECLARE_READ16_MEMBER(adc_r) { return m_adc_in[Line](); }
|
||||
DECLARE_WRITE8_MEMBER(cs_w) { m_chip_sel(offset, data, mem_mask); }
|
||||
DECLARE_READ16_MEMBER(get_pal_r) { return 0; /*m_pal_flag;*/ }
|
||||
|
@ -344,7 +344,7 @@ READ16_MEMBER(spg110_video_device::spg110_2063_r)
|
||||
// checks for bits 0x20 and 0x08 in the IRQ function (all IRQs point to the same place)
|
||||
|
||||
// HACK! jak_spdo checks for 0x400 or 0x200 starting some of the games
|
||||
return m_video_irq_status | 0x600;
|
||||
return m_video_irq_status | 0x0600; /* | 0x0002; */
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(spg110_video_device::spg110_2063_w)
|
||||
|
61
src/mame/drivers/casio_rompack.cpp
Normal file
61
src/mame/drivers/casio_rompack.cpp
Normal file
@ -0,0 +1,61 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:
|
||||
|
||||
/*
|
||||
This is just a holder for the Casio ROM Pack Software List to ensure they aren't orphaned
|
||||
These ROM Packs are used by various devices, but none of the devices have been dumped
|
||||
|
||||
Once a supported system is dumped this can be removed and the list can be hooked up to that
|
||||
|
||||
Possible systems:
|
||||
|
||||
TODO
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
#include "softlist_dev.h"
|
||||
|
||||
|
||||
class casiorom_state : public driver_device
|
||||
{
|
||||
public:
|
||||
casiorom_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_cart(*this, "cartslot")
|
||||
{ }
|
||||
|
||||
void casiorom(machine_config &config);
|
||||
protected:
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load);
|
||||
optional_device<generic_slot_device> m_cart;
|
||||
};
|
||||
|
||||
|
||||
static INPUT_PORTS_START( casiorom )
|
||||
INPUT_PORTS_END
|
||||
|
||||
DEVICE_IMAGE_LOAD_MEMBER(casiorom_state::cart_load)
|
||||
{
|
||||
uint32_t size = m_cart->common_get_size("rom");
|
||||
m_cart->rom_alloc(size, GENERIC_ROM16_WIDTH, ENDIANNESS_LITTLE);
|
||||
m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom");
|
||||
return image_init_result::PASS;
|
||||
}
|
||||
|
||||
void casiorom_state::casiorom(machine_config &config)
|
||||
{
|
||||
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "casio_rompack");
|
||||
m_cart->set_width(GENERIC_ROM16_WIDTH);
|
||||
m_cart->set_device_load(FUNC(casiorom_state::cart_load));
|
||||
m_cart->set_must_be_loaded(true);
|
||||
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("casio_rompack");
|
||||
}
|
||||
|
||||
ROM_START( casiorom )
|
||||
ROM_END
|
||||
|
||||
|
||||
CONS( 198?, casiorom, 0, 0, casiorom, casiorom, casiorom_state, empty_init, "Casio", "Casio ROM Pack Software List holder", MACHINE_IS_SKELETON )
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders:David Haywood
|
||||
|
||||
/*
|
||||
NES bootlegs / Plug & Play (non-VT)
|
||||
NES clones that don't fit anywhere else / Plug & Play (non-VT)
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
@ -12,18 +12,18 @@
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
|
||||
class nes_boot_state : public driver_device
|
||||
class nes_clone_state : public driver_device
|
||||
{
|
||||
public:
|
||||
nes_boot_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
nes_clone_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_ppu(*this, "ppu")
|
||||
{ }
|
||||
|
||||
void nes_boot(machine_config &config);
|
||||
void nes_clone(machine_config &config);
|
||||
|
||||
void init_nes_boot();
|
||||
void init_nes_clone();
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
@ -36,37 +36,37 @@ private:
|
||||
required_device<n2a03_device> m_maincpu;
|
||||
required_device<ppu2c0x_device> m_ppu;
|
||||
|
||||
void nes_boot_map(address_map &map);
|
||||
void nes_clone_map(address_map &map);
|
||||
};
|
||||
|
||||
|
||||
WRITE8_MEMBER(nes_boot_state::sprite_dma_w)
|
||||
WRITE8_MEMBER(nes_clone_state::sprite_dma_w)
|
||||
{
|
||||
int source = (data & 7);
|
||||
m_ppu->spriteram_dma(space, source);
|
||||
}
|
||||
|
||||
void nes_boot_state::nes_boot_map(address_map &map)
|
||||
void nes_clone_state::nes_clone_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x07ff).ram();
|
||||
map(0x2000, 0x3fff).rw(m_ppu, FUNC(ppu2c0x_device::read), FUNC(ppu2c0x_device::write));
|
||||
map(0x4014, 0x4014).w(FUNC(nes_boot_state::sprite_dma_w));
|
||||
map(0x4014, 0x4014).w(FUNC(nes_clone_state::sprite_dma_w));
|
||||
map(0x8000, 0xffff).rom();
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( nes_boot )
|
||||
static INPUT_PORTS_START( nes_clone )
|
||||
INPUT_PORTS_END
|
||||
|
||||
void nes_boot_state::video_start()
|
||||
void nes_clone_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
void nes_boot_state::machine_reset()
|
||||
void nes_clone_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void nes_boot_state::machine_start()
|
||||
void nes_clone_state::machine_start()
|
||||
{
|
||||
// m_nt_ram = std::make_unique<uint8_t[]>(0x1000);
|
||||
// m_nt_page[0] = m_nt_ram.get();
|
||||
@ -74,16 +74,16 @@ void nes_boot_state::machine_start()
|
||||
// m_nt_page[2] = m_nt_ram.get() + 0x800;
|
||||
// m_nt_page[3] = m_nt_ram.get() + 0xc00;
|
||||
|
||||
// m_ppu->space(AS_PROGRAM).install_readwrite_handler(0x2000, 0x3eff, read8_delegate(*this, FUNC(nes_boot_state::nes_boot_nt_r)), write8_delegate(*this, FUNC(nes_boot_state::nes_boot_nt_w)));
|
||||
// m_ppu->space(AS_PROGRAM).install_readwrite_handler(0x2000, 0x3eff, read8_delegate(*this, FUNC(nes_clone_state::nes_clone_nt_r)), write8_delegate(*this, FUNC(nes_clone_state::nes_clone_nt_w)));
|
||||
// m_ppu->space(AS_PROGRAM).install_read_bank(0x0000, 0x1fff, "bank1");
|
||||
// membank("bank1")->set_base(memregion("gfx1")->base());
|
||||
}
|
||||
|
||||
void nes_boot_state::nes_boot(machine_config &config)
|
||||
void nes_clone_state::nes_clone(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
N2A03(config, m_maincpu, NTSC_APU_CLOCK);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &nes_boot_state::nes_boot_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &nes_clone_state::nes_clone_map);
|
||||
|
||||
/* video hardware */
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
@ -109,9 +109,17 @@ ROM_START( pjoypj001 )
|
||||
ROM_LOAD( "powerjoy_pj001_te28f400ceb_00894471.bin", 0x00000, 0x80000, CRC(edca9b66) SHA1(f2f6d9043f524748282065b2fa0ca323ddd7d008) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( afbm7800 )
|
||||
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||
ROM_LOAD( "atariflashbackmini7800.bin", 0x00000, 0x100000, CRC(da4d9483) SHA1(c04465ff5bd5ca7abf088fe771b8e71c157afb89) )
|
||||
ROM_END
|
||||
|
||||
void nes_boot_state::init_nes_boot()
|
||||
|
||||
void nes_clone_state::init_nes_clone()
|
||||
{
|
||||
}
|
||||
|
||||
CONS( 200?, pjoypj001, 0, 0, nes_boot, nes_boot, nes_boot_state, init_nes_boot, "Trump Grand", "PowerJoy (PJ001, NES based plug & play)", 0 )
|
||||
CONS( 200?, pjoypj001, 0, 0, nes_clone, nes_clone, nes_clone_state, init_nes_clone, "Trump Grand", "PowerJoy (PJ001, NES based plug & play)", 0 )
|
||||
|
||||
// "Flashback Mini 7800 uses normal NES-style hardware, together with a mapper chipset similar to the Waixing kk33xx cartridges (NES 2.0 Mapper 534)"
|
||||
CONS( 2004, afbm7800, 0, 0, nes_clone, nes_clone, nes_clone_state, init_nes_clone, "Atari", "Atari Flashback Mini 7800", MACHINE_NOT_WORKING )
|
@ -119,10 +119,6 @@ ROM_START( ts_handy11 )
|
||||
ROM_LOAD( "tvplaypowercontroller.bin", 0x00000, 0x100000, CRC(9c7fe9ff) SHA1(c872e91ca835b66c9dd3b380e8374b51f12bcae0) ) // 29LV008B
|
||||
ROM_END
|
||||
|
||||
ROM_START( afbm7800 )
|
||||
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||
ROM_LOAD( "atariflashbackmini7800.bin", 0x00000, 0x100000, CRC(da4d9483) SHA1(c04465ff5bd5ca7abf088fe771b8e71c157afb89) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cpatrolm )
|
||||
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||
@ -135,6 +131,5 @@ CONS( 1997, bandgpad, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, init
|
||||
// possibly newer than 2001
|
||||
CONS( 2001, ts_handy11, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, init_nes_sh6578, "Techno Source", "Handy Boy 11-in-1 (TV Play Power)", MACHINE_NOT_WORKING )
|
||||
|
||||
CONS( 2004, afbm7800, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, init_nes_sh6578, "Atari", "Atari Flashback Mini 7800", MACHINE_NOT_WORKING )
|
||||
|
||||
CONS( 200?, cpatrolm, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, init_nes_sh6578, "<unknown>", "City Patrolman", MACHINE_NOT_WORKING )
|
||||
|
@ -2316,13 +2316,22 @@ ROM_START( lxcmcyfz )
|
||||
ROM_LOAD( "jl2365_frozen.u1", 0x00000, 0x4000000, CRC(64d4c708) SHA1(1bc2d161326ce3039ab9ba46ad62695060cfb2e1) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( lxcmcydp )
|
||||
ROM_REGION( 0x4000000, "mainrom", 0 )
|
||||
// sub-board was marked for 2GB capacity (A0-A26 address lines), but only address lines A0-A24 are connected to the chip
|
||||
ROM_LOAD( "cyberarcade-disneyprincess.bin", 0x00000, 0x4000000, CRC(05946f81) SHA1(33eea2b70f5427e7613c836b8a08148731fac231) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( lxcmc250 )
|
||||
ROM_REGION( 0x4000000, "mainrom", 0 )
|
||||
// sub-board was marked for 2GB capacity (A0-A26 address lines), but only address lines A0-A24 are connected to the chip
|
||||
ROM_LOAD( "cca250in1.u1", 0x00000, 0x4000000, CRC(6ccd6ad6) SHA1(fafed339097c3d1538faa306021a8373c1b799b3) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( red5mam )
|
||||
ROM_REGION( 0x8000000, "mainrom", 0 )
|
||||
ROM_LOAD( "mam.u3", 0x00000, 0x8000000, CRC(0c0a0ecd) SHA1(2dfd8437de17fc9975698f1933dd81fbac78466d) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cybar120 )
|
||||
ROM_REGION( 0x2000000, "mainrom", 0 )
|
||||
@ -2589,6 +2598,11 @@ ROM_START( unkra200 ) // "Winbond 25Q64FVSIG 1324" SPI ROM
|
||||
ROM_LOAD( "retro_machine_rom", 0x00000, 0x800000, CRC(0e824aa7) SHA1(957e98868559ecc22b3fa42c76692417b76bf132) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( ppgc200g )
|
||||
ROM_REGION( 0x800000, "mainrom", 0 )
|
||||
ROM_LOAD( "m29dw641.u2", 0x00000, 0x800000, CRC(b16dc677) SHA1(c1984fde4caf9345d41d127db946d1c21ec43ae0) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( fcpocket )
|
||||
ROM_REGION( 0x8000000, "mainrom", 0 )
|
||||
ROM_LOAD( "s29gl01gp.bin", 0x00000, 0x8000000, CRC(8703b18a) SHA1(07943443294e80ca93f83181c8bdbf950b87c52f) )
|
||||
@ -2679,8 +2693,9 @@ CONS( 200?, lxcmcy, 0, 0, nes_vt_cy, nes_vt, nes_vt_cy_lexibook_state, empt
|
||||
CONS( 200?, lxcmc250, 0, 0, nes_vt_cy, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - 250-in-1 (JL2375)", MACHINE_NOT_WORKING )
|
||||
CONS( 200?, lxcmcysw, 0, 0, nes_vt_cy, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Star Wars Rebels", MACHINE_NOT_WORKING )
|
||||
CONS( 200?, lxcmcyfz, 0, 0, nes_vt_cy, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Frozen", MACHINE_NOT_WORKING )
|
||||
// Also Lexibook Compact Cyber Arcade - Disney Princesses
|
||||
// Lexibook Compact Cyber Arcade - Cars
|
||||
CONS( 200?, lxcmcydp, 0, 0, nes_vt_cy, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Disney Princess", MACHINE_NOT_WORKING )
|
||||
|
||||
// Also Lexibook Compact Cyber Arcade - Cars
|
||||
// Lexibook Compact Cyber Arcade - Paw Patrol
|
||||
// Lexibook Compact Cyber Arcade - Barbie
|
||||
// Lexibook Compact Cyber Arcade - Finding Dory
|
||||
@ -2688,6 +2703,8 @@ CONS( 200?, lxcmcyfz, 0, 0, nes_vt_cy, nes_vt, nes_vt_cy_lexibook_state, empt
|
||||
// Lexibook Compact Cyber Arcade - PJ Masks
|
||||
// more?
|
||||
|
||||
// intial code isn't valid? scrambled?
|
||||
CONS( 201?, red5mam, 0, 0, nes_vt_cy, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Red5", "Mini Arcade Machine (Red5)", MACHINE_NOT_WORKING )
|
||||
|
||||
|
||||
// boots, same platform with scrambled opcodes as FC pocket
|
||||
@ -2780,6 +2797,12 @@ CONS( 201?, dvnimbus, 0, 0, nes_vt_vg, nes_vt, nes_vt_hh_state, empty_
|
||||
CONS( 201?, mc_tv200, 0, 0, nes_vt, nes_vt, nes_vt_state, empty_init, "Thumbs Up", "200 in 1 Retro TV Game", MACHINE_IMPERFECT_GRAPHICS )
|
||||
// probably another Thumbs Up product? cursor doesn't work unless nes_vt_hh machine is used? possibly newer than VT02 as it runs from an SPI ROM, might just not use enhanced features. Some minor game name changes to above (eg Smackdown just becomes Wrestling)
|
||||
CONS( 201?, unkra200, mc_tv200, 0, nes_vt_hh, nes_vt, nes_vt_hh_state, empty_init, "<unknown>", "200 in 1 Retro Arcade", MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
|
||||
// available in a number of colours, with various brands, but likely all the same.
|
||||
// This was a red coloured pad, contains various unlicensed bootleg reskinned NES game eg Blob Buster is a hack of Dig Dug 2 and there are also hacks of Xevious, Donkey Kong Jr, Donkey Kong 3 and many others.
|
||||
CONS( 201?, ppgc200g, 0, 0, nes_vt, nes_vt, nes_vt_state, empty_init, "<unknown>", "Plug & Play Game Controller with 200 Games (Supreme 200)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// New platform with scrambled opcodes, same as DGUN-2561. Runs fine with minor GFX and sound issues in menu
|
||||
// Use DIP switch to select console or cartridge, as cartridge is fake and just toggles a GPIO
|
||||
CONS( 2016, fcpocket, 0, 0, nes_vt_fp, nes_vt_fp, nes_vt_hh_state, empty_init, "<unknown>", "FC Pocket 600 in 1", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
|
@ -540,14 +540,17 @@ ROM_START( conyfght )
|
||||
// MCU (I/O?) read protected TODO: add NO_DUMP
|
||||
ROM_END
|
||||
|
||||
|
||||
// TODO: move this to a Softlist once Vol 1 is dumped
|
||||
ROM_START( karaokd2 )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "karaokidssongs2.bin", 0x000000, 0x200000, CRC(7a1f455c) SHA1(13bb5949629df64f5940923b224d930a4adf23ff) )
|
||||
ROM_END
|
||||
|
||||
|
||||
// JAKKS Pacific Inc TV games
|
||||
CONS( 2004, jak_capb, 0, 0, spg110_base, jak_capb, spg110_game_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Classic Arcade Pinball (JAKKS Pacific TV Game)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
CONS( 2004, jak_spdmo, jak_spdm, 0, spg110_base, jak_spdmo, spg110_game_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Spider-Man (JAKKS Pacific TV Game) (older hardware)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // this is the smaller more 'square' style joystick that was originally released before the GameKey slot was added.
|
||||
|
||||
// Conny PDC (Pocket Dream Console) is probably SunPlus too
|
||||
CONS( 2004, jak_spdmo, jak_spdm, 0, spg110_base, jak_spdmo, spg110_game_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Spider-Man (JAKKS Pacific TV Game) (older hardware)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // this is the smaller more 'square' style joystick that was originally released before the GameKey slot was added.
|
||||
|
||||
// this was sold by SDW Games for the US market, ROM not yet verified to be the same, also appears in some mutligames?
|
||||
CONS( 2003, conyteni, 0, 0, spg110_base, conyteni, spg110_game_state, empty_init, "Conny", "TV Virtual Tennis", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // needs motion inputs, and video fixes, setting to PAL
|
||||
@ -558,3 +561,5 @@ CONS( 2003, conyping, 0, 0, spg110_base, conyteni, spg110_game_state, e
|
||||
// from a Big Ben 'TV Virtual Fighter' unit, although shows Free Fight Kung Fu on title screen
|
||||
// Also sold by SDW Games as both TV Virtual Fighter and TV Kickboxing (unit still has TV Virtual Fighter stickers even when box is TV Kickboxing - possibly just box changed due to Sega?)
|
||||
CONS( 200?, conyfght, 0, 0, spg110_base, conyteni, spg110_game_state, empty_init, "Conny / Big Ben", "TV Virtual Fighter / Free Fight Kung Fu (Conny / Big Ben)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
CONS( 200?, karaokd2, 0, 0, spg110_base, conyteni, spg110_game_state, empty_init, "Imaginarium / ItsMagical", "Karao Kids Songs 2 (Spain)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // "ItsMagical" brand from Imaginarium
|
||||
|
@ -486,6 +486,25 @@ static INPUT_PORTS_START( tvsprt10 )
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( decathln )
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0180, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_BUTTON1 ) // Start
|
||||
PORT_BIT( 0xfc00, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("P2")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("P3")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( mattelcs ) // there is a 'secret test mode' that previously got activated before inputs were mapped, might need unused inputs to active?
|
||||
PORT_START("P1")
|
||||
@ -683,6 +702,177 @@ static INPUT_PORTS_START( guitarfv )
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused?
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( jjstrip )
|
||||
PORT_START("P1") // active LOW or HIGH?
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) // on pad but not used?
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SELECT )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_START )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("P2")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("P3")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( tmntmutm )
|
||||
PORT_START("P1")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "P1" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
|
||||
PORT_START("P2")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "P2" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
|
||||
PORT_START("P3")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "P3" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
void spg2xx_game_state::machine_start()
|
||||
{
|
||||
if (m_bank)
|
||||
@ -868,6 +1058,12 @@ ROM_START( tvsprt10 )
|
||||
ROM_LOAD16_WORD_SWAP( "tvsports10in1.bin", 0x000000, 0x400000, CRC(98b79889) SHA1(b0ba534d59b794bb38c071c70ab5bcf711364e06) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( decathln )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "decathlon.bin", 0x000000, 0x400000, CRC(63c8e6b6) SHA1(6a25b68b45336e04a2bfd75b43a494349024d714) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( wiwi18 )
|
||||
ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "26gl128.bin", 0x000000, 0x1000000, CRC(0b103ac9) SHA1(14434908f429942096fb8db5b5630603fd54fb2c) )
|
||||
@ -878,6 +1074,16 @@ ROM_START( guitarfv )
|
||||
ROM_LOAD16_WORD_SWAP( "mx26l64.bin", 0x000000, 0x800000, CRC(eaadd2c2) SHA1(0c3fe004dbaa52a335c6ddcecb9e9f5582d7ef35) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( jjstrip )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "strippoker.bin", 0x000000, 0x200000, CRC(7a70e6c8) SHA1(3d5da4774b00977939f309f3e71473dde9b70435) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( tmntmutm )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "tmntmutantsandmonsters_sst39vf3201_00bf235b.bin", 0x000000, 0x400000, CRC(93ab5ff7) SHA1(e78a5d380663d351ad9be5087ec8434d9be16ba7) )
|
||||
ROM_END
|
||||
|
||||
|
||||
void spg2xx_game_state::init_crc()
|
||||
{
|
||||
@ -913,7 +1119,8 @@ void spg2xx_game_state::init_tvsprt10()
|
||||
0002 = clock? (toggles)
|
||||
0001 = data in / out
|
||||
*/
|
||||
rom[0x18c55d] ^= 0x0001;
|
||||
if (rom[0x18c55d] == 0x9240) rom[0x18c55d] ^= 0x0001; // tvsprt10
|
||||
if (rom[0x179911] == 0x9240) rom[0x179911] ^= 0x0001; // decathln
|
||||
}
|
||||
|
||||
|
||||
@ -931,10 +1138,15 @@ CONS( 2007, rad_fb2, 0, 0, rad_skat, rad_fb2, spg2xx_game_state, ini
|
||||
CONS( 2006, abltenni, 0, 0, abltenni, abltenni, spg2xx_game_state, empty_init, "Advance Bright Ltd / V-Tac Technology Co Ltd.", "Wireless Tennis (WT2000, ABL TV Game)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// same as Excalibur Decathlon? not the same as the ABL game
|
||||
CONS( 2006, tvsprt10, 0, 0, tvsprt10, tvsprt10, spg2xx_game_state, init_tvsprt10, "Simba / V-Tac Technology Co Ltd.", "TV Sports 10-in-1 / Decathlon Atlhetic Sport Games", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
CONS( 2006, tvsprt10, 0, 0, tvsprt10, tvsprt10, spg2xx_game_state, init_tvsprt10, "Simba / V-Tac Technology Co Ltd.", "TV Sports 10-in-1 / Decathlon Atlhetic Sport Games", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
CONS( 200?, decathln, 0, 0, tvsprt10, decathln, spg2xx_game_state, init_tvsprt10, "Advance Bright Ltd / V-Tac Technology Co Ltd.", "Decathlon", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // unit found in Spain
|
||||
|
||||
CONS( 2007, guitarfv, 0, 0, guitarfv, guitarfv, spg2xx_game_state, empty_init, "Advance Bright Ltd", "Guitar Fever (2007.07.03 Ver 2.7)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
CONS( 200?, jjstrip, 0, 0, tvsprt10, jjstrip, spg2xx_game_state, empty_init, "Shiggles Inc.", "Club Jenna Presents: Jenna Jameson's Strip Poker", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
CONS( 2005, tmntmutm, 0, 0, tvsprt10, tmntmutm, spg2xx_game_state, empty_init, "Tech2Go / WayForward", "Teenage Mutant Ninja Turtles: Mutant and Monster Mayhem", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
|
||||
// Mattel games
|
||||
CONS( 2005, mattelcs, 0, 0, rad_skat, mattelcs, spg2xx_game_state, empty_init, "Mattel", "Mattel Classic Sports", MACHINE_IMPERFECT_SOUND )
|
||||
|
@ -15,7 +15,10 @@ public:
|
||||
{ }
|
||||
|
||||
void mysprtch(machine_config& config);
|
||||
void init_mysprtch();
|
||||
void mgt20in1(machine_config& config);
|
||||
|
||||
void init_mysprtcp();
|
||||
void init_mgt20in1();
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
@ -25,17 +28,32 @@ protected:
|
||||
|
||||
virtual DECLARE_WRITE16_MEMBER(porta_w) override;
|
||||
|
||||
private:
|
||||
DECLARE_READ16_MEMBER(mysprtch_rom_r);
|
||||
|
||||
required_region_ptr<uint16_t> m_romregion;
|
||||
int m_romsize;
|
||||
|
||||
int m_mysprtch_rombase;
|
||||
uint16_t m_prev_porta;
|
||||
int m_bank_enabled;
|
||||
|
||||
private:
|
||||
DECLARE_READ16_MEMBER(mysprtch_rom_r);
|
||||
required_region_ptr<uint16_t> m_romregion;
|
||||
};
|
||||
|
||||
class spg2xx_game_mysprtch24_state : public spg2xx_game_mysprtch_state
|
||||
{
|
||||
public:
|
||||
spg2xx_game_mysprtch24_state(const machine_config& mconfig, device_type type, const char* tag) :
|
||||
spg2xx_game_mysprtch_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
protected:
|
||||
virtual void machine_reset() override;
|
||||
virtual DECLARE_WRITE16_MEMBER(porta_w) override;
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
|
||||
READ16_MEMBER(spg2xx_game_mysprtch_state::mysprtch_rom_r)
|
||||
{
|
||||
@ -69,7 +87,18 @@ void spg2xx_game_mysprtch_state::machine_reset()
|
||||
|
||||
m_maincpu->invalidate_cache();
|
||||
m_maincpu->reset();
|
||||
}
|
||||
|
||||
void spg2xx_game_mysprtch24_state::machine_reset()
|
||||
{
|
||||
spg2xx_game_state::machine_reset();
|
||||
|
||||
m_mysprtch_rombase = 3;
|
||||
m_prev_porta = 0x0000;
|
||||
m_bank_enabled = 0;
|
||||
|
||||
m_maincpu->invalidate_cache();
|
||||
m_maincpu->reset();
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( mysprtch ) // Down + Button 1 and Button 2 for service mode
|
||||
@ -193,11 +222,24 @@ static INPUT_PORTS_START( mysprtch ) // Down + Button 1 and Button 2 for service
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( mgt20in1 ) // this seems to expect rotated controls by default (although the bowling expects you to rotate the controller to match mysprtchl)
|
||||
PORT_INCLUDE(mysprtch)
|
||||
|
||||
PORT_MODIFY("P1")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 RF Key")
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 LF Wave")
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("P1 LF Key") // doesn't show in test mode but still read at times
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 RF Wave")
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
WRITE16_MEMBER(spg2xx_game_mysprtch_state::porta_w)
|
||||
{
|
||||
logerror("%s: porta_w %04x\n", machine().describe_context().c_str(), data);
|
||||
logerror("%s: porta_w %04x\n", machine().describe_context(), data);
|
||||
|
||||
// this is rather ugly guesswork based on use and testmode
|
||||
|
||||
@ -236,8 +278,33 @@ WRITE16_MEMBER(spg2xx_game_mysprtch_state::porta_w)
|
||||
m_prev_porta = data;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(spg2xx_game_mysprtch24_state::porta_w)
|
||||
{
|
||||
logerror("%s: porta_w %04x\n", machine().describe_context(), data);
|
||||
|
||||
void spg2xx_game_mysprtch_state::mysprtch(machine_config &config)
|
||||
// this is rather ugly guesswork based on use and testmode
|
||||
// the game writes 0x0000 to the ports during startup, which would cause an incorrect bank
|
||||
// but this value can't just be ignored when we want to bank there
|
||||
// so only bank if running from RAM
|
||||
|
||||
// probably should be the same logic for both games, as the test mode on this one proves
|
||||
// that the logic in spg2xx_game_mysprtch_state::porta_w is incorrect
|
||||
|
||||
if (m_maincpu->pc() < 0x4000)
|
||||
{
|
||||
int bank = 0;
|
||||
bank |= (data & 0x0400) ? 1 : 0;
|
||||
bank |= (data & 0x0800) ? 2 : 0;
|
||||
bank |= (data & 0x0200) ? 0 : 4; // inverted
|
||||
|
||||
m_mysprtch_rombase = bank;
|
||||
}
|
||||
|
||||
m_prev_porta = data;
|
||||
}
|
||||
|
||||
|
||||
void spg2xx_game_mysprtch_state::mysprtch(machine_config& config)
|
||||
{
|
||||
SPG24X(config, m_maincpu, XTAL(27'000'000), m_screen);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &spg2xx_game_mysprtch_state::mem_map_mysprtch);
|
||||
@ -250,10 +317,19 @@ void spg2xx_game_mysprtch_state::mysprtch(machine_config &config)
|
||||
m_maincpu->portc_in().set(FUNC(spg2xx_game_mysprtch_state::rad_portc_r));
|
||||
|
||||
m_maincpu->porta_out().set(FUNC(spg2xx_game_mysprtch_state::porta_w));
|
||||
|
||||
m_maincpu->set_rowscroll_offset(8); // for Tennis
|
||||
}
|
||||
|
||||
void spg2xx_game_mysprtch_state::mgt20in1(machine_config& config)
|
||||
{
|
||||
mysprtch(config);
|
||||
|
||||
void spg2xx_game_mysprtch_state::init_mysprtch()
|
||||
m_maincpu->set_pal(true);
|
||||
m_screen->set_refresh_hz(50);
|
||||
}
|
||||
|
||||
void spg2xx_game_mysprtch_state::init_mysprtcp()
|
||||
{
|
||||
uint16_t *ROM = (uint16_t*)memregion("maincpu")->base();
|
||||
int size = memregion("maincpu")->bytes();
|
||||
@ -269,10 +345,68 @@ void spg2xx_game_mysprtch_state::init_mysprtch()
|
||||
}
|
||||
}
|
||||
|
||||
ROM_START( mysprtch )
|
||||
|
||||
|
||||
void spg2xx_game_mysprtch_state::init_mgt20in1()
|
||||
{
|
||||
uint16_t *ROM = (uint16_t*)memregion("maincpu")->base();
|
||||
int size = memregion("maincpu")->bytes();
|
||||
|
||||
for (int i = 0; i < size/2; i++)
|
||||
{
|
||||
ROM[i] = ROM[i] ^ 0x4ec4;
|
||||
|
||||
uint16_t res = 0;
|
||||
|
||||
if (ROM[i] & 0x0001) res ^= 0x0040;
|
||||
if (ROM[i] & 0x0002) res ^= 0x0002;
|
||||
if (ROM[i] & 0x0004) res ^= 0x0020;
|
||||
if (ROM[i] & 0x0008) res ^= 0x1200; // 2 bits changed
|
||||
|
||||
if (ROM[i] & 0x0010) res ^= 0x0100;
|
||||
if (ROM[i] & 0x0020) res ^= 0x4000;
|
||||
if (ROM[i] & 0x0040) res ^= 0x0010;
|
||||
if (ROM[i] & 0x0080) res ^= 0x0800;
|
||||
|
||||
if (ROM[i] & 0x0100) res ^= 0x4400; // 2 bits changed
|
||||
if (ROM[i] & 0x0200) res ^= 0x0080;
|
||||
if (ROM[i] & 0x0400) res ^= 0x0001;
|
||||
if (ROM[i] & 0x0800) res ^= 0x2000;
|
||||
|
||||
if (ROM[i] & 0x1000) res ^= 0x0004;
|
||||
if (ROM[i] & 0x2000) res ^= 0x000a; // 2 bits changed
|
||||
if (ROM[i] & 0x4000) res ^= 0x0200;
|
||||
if (ROM[i] & 0x8000) res ^= 0x8010; // 2 bits changed
|
||||
|
||||
ROM[i] = res;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ROM_START( mysprtcp )
|
||||
ROM_REGION( 0x2000000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "mysportschallengeplus.bin", 0x0000, 0x2000000, CRC(6911d19c) SHA1(c71bc38595e5505434395b6d59320caabfc7bce3) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mysptqvc )
|
||||
ROM_REGION( 0x2000000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "qvcmysportschallenge.bin", 0x0000000, 0x2000000, CRC(04783adc) SHA1(a173145ec307fc12f231d3e3f6efa60f8c2f0c89) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
|
||||
ROM_START( mgt20in1 )
|
||||
ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "m29gl128.u2", 0x000000, 0x1000000, CRC(41d594e3) SHA1(351890455bed28bcaf173d8fd9a4cc997c404d94) )
|
||||
ROM_END
|
||||
|
||||
// Unit with Blue surround to power button. Box shows 'Wireless Sports Plus' but title screen shots "My Sports Challenge Plus" Appears to be V-Tac developed as it has the common V-Tac test mode.
|
||||
CONS( 200?, mysprtch, 0, 0, mysprtch, mysprtch, spg2xx_game_mysprtch_state, init_mysprtch, "Senario / V-Tac Technology Co Ltd.", "My Sports Challenge Plus / Wireless Sports Plus", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
CONS( 200?, mysprtcp, 0, 0, mysprtch, mysprtch, spg2xx_game_mysprtch_state, init_mysprtcp, "Senario / V-Tac Technology Co Ltd.", "My Sports Challenge Plus / Wireless Sports Plus", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// from a QVC licensed unit with a different physical shape etc. uses a 32MByte rom with only 24MByte used, the regular units use an unusual 24MByte ROM, content might be the same, not yet verified.
|
||||
CONS( 200?, mysptqvc, 0, 0, mysprtch, mysprtch, spg2xx_game_mysprtch24_state, init_mysprtcp, "Senario / V-Tac Technology Co Ltd. (QVC license)", "My Sports Challenge (6-in-1 version, QVC license)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
|
||||
// 2009 date on PCB, not actually in German, so maybe sold under different brands?
|
||||
CONS( 2009, mgt20in1, 0, 0, mgt20in1, mgt20in1, spg2xx_game_mysprtch_state, init_mgt20in1, "MGT", "MGT 20-in-1 TV-Spielekonsole (Germany)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
@ -470,9 +470,13 @@ READ16_MEMBER(jak_s500_game_state::porta_r)
|
||||
logerror("%s: Port A Read: %04x\n", machine().describe_context(), data);
|
||||
|
||||
//address_space& mem = m_maincpu->space(AS_PROGRAM);
|
||||
|
||||
//if (mem.read_word(0x22b408) == 0x4846)
|
||||
// mem.write_word(0x22b408, 0x4840); // jak_s500 force service mode
|
||||
|
||||
//if (mem.read_word(0x236271) == 0x4846)
|
||||
// mem.write_word(0x236271, 0x4840); // jak_totm force service mode
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
@ -1349,6 +1353,15 @@ ROM_START(jak_s500)
|
||||
ROM_LOAD16_WORD_SWAP("spbwheel.bin", 0x000000, 0x800000, CRC(6ba1d335) SHA1(1bb3e4d02c7b35dd4d336971c6a9f82071cc6ce1) )
|
||||
ROM_END
|
||||
|
||||
ROM_START(jak_totm)
|
||||
//ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 ) // not on this model? (or at least not this size, as CS base is different)
|
||||
//ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP )
|
||||
|
||||
ROM_REGION(0x800000, "maincpu", ROMREGION_ERASE00)
|
||||
ROM_LOAD16_WORD_SWAP("toysonthemove.bin", 0x000000, 0x800000, CRC(d08fb72a) SHA1(1fea98542ef7c65eef31afb70fd50952b4cef1c1) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START(wrlshunt)
|
||||
//ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 ) // not on this model? (or at least not this size, as CS base is different)
|
||||
//ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP )
|
||||
@ -1489,6 +1502,40 @@ ROM_START( jak_tsm )
|
||||
ROM_LOAD( "toystorymania.bin", 0x0000, 0x4200000, CRC(183b20a5) SHA1(eb4fa5ee9dfac58f5244d00d4e833b1e461cc52c) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( jak_duck )
|
||||
ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) // used as bootstrap only
|
||||
|
||||
ROM_REGION( 0x4200000, "nandrom", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "duckcommander_gpr27p512a_c276_as_hy27us08121a.bin", 0x0000, 0x4200000, CRC(d9356d5b) SHA1(aca05525b4a504f7ad264ae9bbc2f1f8f399c4ca) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( jak_swc )
|
||||
ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) // used as bootstrap only
|
||||
|
||||
ROM_REGION( 0x4200000, "nandrom", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "jakksstarwarspistol_gpr27p512a_c276_as_hy27us08121a.bin", 0x0000, 0x4200000, CRC(024d49b8) SHA1(9694f4c7cd083c976ffbbcfa6f626fc6b4bc8d91) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( jak_wdzh )
|
||||
ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) // used as bootstrap only
|
||||
|
||||
ROM_REGION( 0x4200000, "nandrom", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "walkingdeadrifle_gpr27p512a_c276_as_hy27us08121a.bin", 0x0000, 0x4200000, CRC(b2c762f0) SHA1(7e10df517cc24924e0ec55e2a263563023d945f8) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( jak_wdbg )
|
||||
ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) // used as bootstrap only
|
||||
|
||||
ROM_REGION( 0x4200000, "nandrom", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "amcwalkingdeadcrossbow_gpr27p512a_c276_as_hy27us08121a.bin", 0x0000, 0x4200000, CRC(66510fd4) SHA1(3ad6347c5a7758c035654cb3e96858320875b97a) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( vbaby )
|
||||
ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) // used as bootstrap only
|
||||
@ -1518,7 +1565,9 @@ CONS(2009, smartfp, 0, 0, base, smartfp, gcm394_game_state, empty_init, "Fish
|
||||
CONS(200?, tkmag220, 0, 0, tkmag220, tkmag220, tkmag220_game_state, empty_init, "TaiKee", "Mini Arcade Games Console (Family Sport 220-in-1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// Fun 2 Learn 3-in-1 SMART SPORTS ?
|
||||
|
||||
CONS(2009, jak_s500, 0, 0, wrlshunt, jak_s500, jak_s500_game_state, init_wrlshunt, "JAKKS Pacific Inc", "SpongeBob SquarePants Bikini Bottom 500 (JAKKS Pacific TV Motion Game)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
|
||||
CONS(200?, jak_totm, 0, 0, wrlshunt, jak_s500, jak_s500_game_state, init_wrlshunt, "JAKKS Pacific Inc", "Toy Story - Toys on the Move (JAKKS Pacific TV Motion Game)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
|
||||
|
||||
CONS(2011, wrlshunt, 0, 0, wrlshunt, wrlshunt, wrlshunt_game_state, init_wrlshunt, "Hamy / Kids Station Toys Inc", "Wireless Hunting Video Game System", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
|
||||
@ -1693,6 +1742,10 @@ void generalplus_gpac800_game_state::nand_beambox()
|
||||
CONS(2010, wlsair60, 0, 0, generalplus_gpac800, jak_car2, generalplus_gpac800_game_state, nand_wlsair60, "Jungle Soft / Kids Station Toys Inc", "Wireless Air 60", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
CONS(200?, jak_gtg, 0, 0, generalplus_gpac800, jak_gtg, generalplus_gpac800_game_state, nand_init210, "JAKKS Pacific Inc", "Golden Tee Golf (JAKKS Pacific TV Game)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
CONS(200?, jak_car2, 0, 0, generalplus_gpac800, jak_car2, generalplus_gpac800_game_state, nand_init210, "JAKKS Pacific Inc", "Cars 2 (JAKKS Pacific TV Game)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
CONS(200?, jak_duck, 0, 0, generalplus_gpac800, jak_car2, generalplus_gpac800_game_state, nand_init210, "JAKKS Pacific Inc", "Duck Commander (JAKKS Pacific TV Game)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
CONS(200?, jak_swc, 0, 0, generalplus_gpac800, jak_car2, generalplus_gpac800_game_state, nand_init210, "JAKKS Pacific Inc", "Star Wars Clone Trooper (JAKKS Pacific TV Game)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
CONS(200?, jak_wdzh, 0, 0, generalplus_gpac800, jak_car2, generalplus_gpac800_game_state, nand_init210, "JAKKS Pacific Inc", "The Walking Dead: Zombie Hunter (JAKKS Pacific TV Game)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
CONS(200?, jak_wdbg, 0, 0, generalplus_gpac800, jak_car2, generalplus_gpac800_game_state, nand_init210, "JAKKS Pacific Inc", "The Walking Dead: Battleground (JAKKS Pacific TV Game)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
CONS(200?, jak_tsm , 0, 0, generalplus_gpac800, jak_car2, generalplus_gpac800_game_state, nand_tsm, "JAKKS Pacific Inc", "Toy Story Mania (JAKKS Pacific TV Game)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
CONS(200?, beambox, 0, 0, generalplus_gpac800, jak_car2, generalplus_gpac800_game_state, nand_beambox, "Hasbro", "Playskool Heroes Transformers Rescue Bots Beam Box (Spain)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
CONS(200?, mgtfit, 0, 0, generalplus_gpac800, jak_car2, generalplus_gpac800_game_state, nand_wlsair60, "MGT", "Fitness Konsole (NC1470)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // probably has other names in English too? menus don't appear to be in German
|
||||
|
78
src/mame/drivers/vtech_mobigo.cpp
Normal file
78
src/mame/drivers/vtech_mobigo.cpp
Normal file
@ -0,0 +1,78 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:David Haywood
|
||||
|
||||
#include "emu.h"
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
#include "softlist_dev.h"
|
||||
#include "screen.h"
|
||||
|
||||
|
||||
class mobigo_state : public driver_device
|
||||
{
|
||||
public:
|
||||
mobigo_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_cart(*this, "cartslot"),
|
||||
m_screen(*this, "screen")
|
||||
{ }
|
||||
|
||||
void mobigo(machine_config &config);
|
||||
|
||||
protected:
|
||||
|
||||
void video_start() override;
|
||||
|
||||
uint32_t screen_update(screen_device& screen, bitmap_rgb32& bitmap, const rectangle& cliprect);
|
||||
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load);
|
||||
required_device<generic_slot_device> m_cart;
|
||||
required_device<screen_device> m_screen;
|
||||
};
|
||||
|
||||
|
||||
static INPUT_PORTS_START( mobigo )
|
||||
INPUT_PORTS_END
|
||||
|
||||
void mobigo_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t mobigo_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
DEVICE_IMAGE_LOAD_MEMBER(mobigo_state::cart_load)
|
||||
{
|
||||
uint32_t size = m_cart->common_get_size("rom");
|
||||
m_cart->rom_alloc(size, GENERIC_ROM16_WIDTH, ENDIANNESS_LITTLE);
|
||||
m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom");
|
||||
return image_init_result::PASS;
|
||||
}
|
||||
|
||||
void mobigo_state::mobigo(machine_config &config)
|
||||
{
|
||||
// CPU type not identified (ARM? S+Core?)
|
||||
|
||||
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "mobigo_cart");
|
||||
m_cart->set_width(GENERIC_ROM16_WIDTH);
|
||||
m_cart->set_device_load(FUNC(mobigo_state::cart_load));
|
||||
m_cart->set_must_be_loaded(true);
|
||||
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||
m_screen->set_refresh_hz(60);
|
||||
m_screen->set_size(320, 262);
|
||||
m_screen->set_visarea(0, 320-1, 0, 240-1);
|
||||
m_screen->set_screen_update(FUNC(mobigo_state::screen_update));
|
||||
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("mobigo_cart");
|
||||
}
|
||||
|
||||
ROM_START( mobigo2 )
|
||||
ROM_REGION( 0x8400000, "mainrom", 0 )
|
||||
ROM_LOAD( "mobigo2_bios_ger.bin", 0x00000, 0x8400000, CRC(d5ab613d) SHA1(6fb104057dc3484fa958e2cb20c5dd0c19589f75) ) // TODO: what type of NAND?
|
||||
ROM_END
|
||||
|
||||
|
||||
CONS( 200?, mobigo2, 0, 0, mobigo, mobigo, mobigo_state, empty_init, "VTech", "MobiGo 2 (Germany)", MACHINE_IS_SKELETON )
|
@ -9803,6 +9803,9 @@ carpolo // (c) 1977
|
||||
bsebman // (c) 19?? BS Electronics
|
||||
carrera // (c) 19?? BS Electronics
|
||||
|
||||
@source:casio_rompack.cpp
|
||||
casiorom
|
||||
|
||||
@source:casloopy.cpp
|
||||
casloopy //
|
||||
|
||||
@ -31312,11 +31315,11 @@ m82p // Nintendo M82 Display Unit PAL
|
||||
nes // Nintendo Entertainment System
|
||||
nespal // Nintendo Entertainment System PAL
|
||||
|
||||
@source:nes_boot.cpp
|
||||
@source:nes_clone.cpp
|
||||
pjoypj001
|
||||
afbm7800
|
||||
|
||||
@source:nes_sh6578.cpp
|
||||
afbm7800
|
||||
bandgpad
|
||||
cpatrolm
|
||||
ts_handy11
|
||||
@ -31337,6 +31340,8 @@ lxcmcy
|
||||
lxcmc250
|
||||
lxcmcysw
|
||||
lxcmcyfz
|
||||
lxcmcydp
|
||||
red5mam
|
||||
cybar120
|
||||
mc_dg101
|
||||
mc_aa2
|
||||
@ -31385,6 +31390,7 @@ dvnimbus
|
||||
cbrs8
|
||||
mc_tv200
|
||||
unkra200
|
||||
ppgc200g
|
||||
fcpocket
|
||||
mog_m320
|
||||
fapocket
|
||||
@ -36987,6 +36993,7 @@ jak_spdmo //
|
||||
conyteni //
|
||||
conyping //
|
||||
conyfght
|
||||
karaokd2
|
||||
|
||||
@source:spg2xx.cpp
|
||||
rad_skat //
|
||||
@ -36997,8 +37004,11 @@ rad_fb2 //
|
||||
mattelcs //
|
||||
abltenni //
|
||||
tvsprt10 //
|
||||
decathln
|
||||
wiwi18 //
|
||||
guitarfv
|
||||
jjstrip
|
||||
tmntmutm
|
||||
|
||||
@source:spg2xx_dreamlife.cpp
|
||||
dreamlif //
|
||||
@ -37037,7 +37047,9 @@ lexiseal //
|
||||
discpal
|
||||
|
||||
@source:spg2xx_mysprtch.cpp
|
||||
mysprtch
|
||||
mysprtcp
|
||||
mysptqvc
|
||||
mgt20in1
|
||||
|
||||
@source:spg2xx_pdc.cpp
|
||||
pdc100
|
||||
@ -37662,12 +37674,17 @@ starfigh // (c) 1990 SunA
|
||||
|
||||
@source:sunplus_gcm394.cpp
|
||||
jak_s500
|
||||
jak_totm
|
||||
smartfp // Smart Fit Park
|
||||
wlsair60 // Wireless Air 60
|
||||
wrlshunt // Wireless: Hunting Video Game System
|
||||
tkmag220 //
|
||||
jak_car2
|
||||
jak_gtg
|
||||
jak_duck
|
||||
jak_swc
|
||||
jak_wdzh
|
||||
jak_wdbg
|
||||
jak_tsm
|
||||
vbaby
|
||||
mgtfit
|
||||
@ -40244,6 +40261,9 @@ laser700 // 1984? Laser 700
|
||||
@source:vtech_eu3a12.cpp
|
||||
vreadere
|
||||
|
||||
@source:vtech_mobigo.cpp
|
||||
mobigo2
|
||||
|
||||
@source:vulgus.cpp
|
||||
mach9 // bootleg (ITISA)
|
||||
vulgus // 5/1984 (c) 1984
|
||||
|
@ -137,6 +137,7 @@ camplynx.cpp
|
||||
candela.cpp
|
||||
canon_s80.cpp
|
||||
cardinal.cpp
|
||||
casio_rompack.cpp
|
||||
casloopy.cpp
|
||||
cat.cpp
|
||||
cbm2.cpp
|
||||
@ -584,7 +585,7 @@ ncdppc.cpp
|
||||
nds.cpp
|
||||
neogeocd.cpp
|
||||
nes.cpp
|
||||
nes_boot.cpp
|
||||
nes_clone.cpp
|
||||
nes_sh6578.cpp
|
||||
nes_vt.cpp
|
||||
newbrain.cpp
|
||||
@ -991,6 +992,7 @@ vta2000.cpp
|
||||
vtech1.cpp
|
||||
vtech2.cpp
|
||||
vtech_eu3a12.cpp
|
||||
vtech_mobigo.cpp
|
||||
wangpc.cpp
|
||||
wicat.cpp
|
||||
wrinkles.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user