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:
David Haywood 2020-02-11 00:27:23 +00:00 committed by GitHub
parent e0183b56e7
commit 4a3326429e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 812 additions and 49 deletions

127
hash/casio_rompack.xml Normal file
View 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
View 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>

View File

@ -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")

View File

@ -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)

View File

@ -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;*/ }

View File

@ -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)

View 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 )

View File

@ -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 )

View File

@ -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 )

View File

@ -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 )

View File

@ -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

View File

@ -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 )

View File

@ -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 )

View File

@ -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

View 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 )

View File

@ -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

View File

@ -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