mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
New systems marked not working
------------------------------ Bingo Planet (Rev C) (M1 Satellite board) [Hammy]
This commit is contained in:
parent
4176c1bcf9
commit
a8274cfed5
@ -40024,10 +40024,11 @@ titlefj // 1993.03 Title Fight (Japan)
|
||||
titlefu // 1993.04 Title Fight (US)
|
||||
|
||||
@source:sega/segasm1.cpp
|
||||
tinkerbl // (c) 1990 Sega
|
||||
bingplnt // (c) 1997 Sega
|
||||
bingpty // (c) 1994 Sega
|
||||
blicks // (c) 1991 Sega
|
||||
carboule // (c) 1992 Sega
|
||||
bingpty // (c) 1994 Sega
|
||||
tinkerbl // (c) 1990 Sega
|
||||
|
||||
@source:sega/segasp.cpp
|
||||
aminosan // 2010.?? Aminosan (satellite)
|
||||
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders:R. Belmont, David Haywood
|
||||
/************************************************************************************************************
|
||||
|
||||
Sega System M1 medal games board (834-7795 standlone, 837-7571 networked)
|
||||
Sega System M1 medal games board (834-7795 standalone, 837-7571 networked)
|
||||
|
||||
68000 - main CPU
|
||||
Z80 - sound CPU
|
||||
@ -21,7 +21,7 @@
|
||||
TODO:
|
||||
- Hopper
|
||||
- tinkerbl, blicks: throws with "RAM data is BAD" at each soft reset, EEPROM?
|
||||
- Bingo Party puts up a message about ROM version mismatch with the RAM and says to press the reset switch.
|
||||
- Bingo Party and Bingo Planet put up a message about ROM version mismatch with the RAM and say to press the reset switch.
|
||||
However, when this is done, the code simply locks up (BRA to itself) and doesn't initialize the RAM.
|
||||
- Verify sound latch locations on Tinker Bell vs. the comms games
|
||||
|
||||
@ -41,20 +41,24 @@
|
||||
************************************************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "315_5296.h"
|
||||
#include "segaic24.h"
|
||||
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "segaic24.h"
|
||||
#include "315_5296.h"
|
||||
#include "machine/gen_latch.h"
|
||||
#include "machine/i8251.h"
|
||||
#include "machine/mb8421.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/timer.h"
|
||||
#include "sound/ymopn.h"
|
||||
|
||||
#include "emupal.h"
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
class systemm1_state : public driver_device
|
||||
@ -72,14 +76,17 @@ public:
|
||||
, m_ym(*this, "ym3438")
|
||||
, m_io1(*this, "io1")
|
||||
, m_io2(*this, "io2")
|
||||
, m_soundlatch(*this, "soundlatch")
|
||||
, m_soundlatch2(*this, "soundlatch2")
|
||||
, m_soundlatch(*this, "soundlatch%u", 1U)
|
||||
, m_soundbank(*this, "soundbank")
|
||||
{
|
||||
}
|
||||
|
||||
void m1base(machine_config &config);
|
||||
void m1comm(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
||||
private:
|
||||
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
@ -98,10 +105,8 @@ private:
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<ym3438_device> m_ym;
|
||||
required_device<sega_315_5296_device> m_io1, m_io2;
|
||||
required_device<generic_latch_8_device> m_soundlatch;
|
||||
required_device<generic_latch_8_device> m_soundlatch2;
|
||||
|
||||
void machine_start() override;
|
||||
required_device_array<generic_latch_8_device, 2> m_soundlatch;
|
||||
required_memory_bank m_soundbank;
|
||||
|
||||
u16 m_paletteram[0x4000 / sizeof(u16)];
|
||||
|
||||
@ -245,7 +250,7 @@ void systemm1_state::mem_map(address_map &map)
|
||||
|
||||
map(0xe00000, 0xe0003f).rw(m_io1, FUNC(sega_315_5296_device::read), FUNC(sega_315_5296_device::write)).umask16(0x00ff);
|
||||
map(0xe40000, 0xe40001).portr("DIP1");
|
||||
map(0xe40005, 0xe40005).r(m_soundlatch2, FUNC(generic_latch_8_device::read)).w(m_soundlatch, FUNC(generic_latch_8_device::write));
|
||||
map(0xe40005, 0xe40005).r(m_soundlatch[1], FUNC(generic_latch_8_device::read)).w(m_soundlatch[0], FUNC(generic_latch_8_device::write));
|
||||
map(0xe80000, 0xe8003f).rw(m_io2, FUNC(sega_315_5296_device::read), FUNC(sega_315_5296_device::write)).umask16(0x00ff);
|
||||
|
||||
map(0xf00000, 0xf03fff).mirror(0x0fc000).ram().share("nvram");
|
||||
@ -266,7 +271,7 @@ void systemm1_state::mem_comm_map(address_map &map)
|
||||
void systemm1_state::z80_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x9fff).rom().region("soundcpu", 0);
|
||||
map(0xa000, 0xbfff).bankr("soundbank");
|
||||
map(0xa000, 0xbfff).bankr(m_soundbank);
|
||||
map(0xe000, 0xffff).ram();
|
||||
}
|
||||
|
||||
@ -275,17 +280,19 @@ void systemm1_state::z80_io_map(address_map &map)
|
||||
map.global_mask(0xff);
|
||||
map(0x80, 0x83).mirror(0x0c).rw(m_ym, FUNC(ym3438_device::read), FUNC(ym3438_device::write));
|
||||
map(0xa0, 0xa0).w(FUNC(systemm1_state::sound_bank_w));
|
||||
map(0xc0, 0xc0).r(m_soundlatch, FUNC(generic_latch_8_device::read)).w(m_soundlatch2, FUNC(generic_latch_8_device::write));
|
||||
map(0xc0, 0xc0).r(m_soundlatch[0], FUNC(generic_latch_8_device::read)).w(m_soundlatch[1], FUNC(generic_latch_8_device::write));
|
||||
}
|
||||
|
||||
void systemm1_state::machine_start()
|
||||
{
|
||||
membank("soundbank")->configure_entries(0x00, 0x10, memregion("soundcpu")->base(), 0x2000);
|
||||
m_soundbank->configure_entries(0x00, 0x10, memregion("soundcpu")->base(), 0x2000);
|
||||
|
||||
save_item(NAME(m_paletteram));
|
||||
}
|
||||
|
||||
void systemm1_state::sound_bank_w(u8 data)
|
||||
{
|
||||
membank("soundbank")->set_entry(data & 0x0f);
|
||||
m_soundbank->set_entry(data & 0x0f);
|
||||
}
|
||||
|
||||
void systemm1_state::comm_map(address_map &map)
|
||||
@ -625,11 +632,11 @@ void systemm1_state::m1base(machine_config &config)
|
||||
|
||||
SEGA_315_5296(config, m_io2, XTAL(16'000'000));
|
||||
|
||||
GENERIC_LATCH_8(config, m_soundlatch);
|
||||
m_soundlatch->data_pending_callback().set_inputline(m_soundcpu, INPUT_LINE_NMI);
|
||||
m_soundlatch->set_separate_acknowledge(false);
|
||||
GENERIC_LATCH_8(config, m_soundlatch[0]);
|
||||
m_soundlatch[0]->data_pending_callback().set_inputline(m_soundcpu, INPUT_LINE_NMI);
|
||||
m_soundlatch[0]->set_separate_acknowledge(false);
|
||||
|
||||
GENERIC_LATCH_8(config, m_soundlatch2);
|
||||
GENERIC_LATCH_8(config, m_soundlatch[1]);
|
||||
}
|
||||
|
||||
void systemm1_state::m1comm(machine_config &config)
|
||||
@ -641,7 +648,7 @@ void systemm1_state::m1comm(machine_config &config)
|
||||
Z80(config, m_commcpu, 4'000'000); // unknown clock
|
||||
m_commcpu->set_addrmap(AS_PROGRAM, &systemm1_state::comm_map);
|
||||
|
||||
I8251(config, "uart", 4000000); // unknown clock
|
||||
I8251(config, "uart", 4'000'000); // unknown clock
|
||||
|
||||
mb8421_device &dpram(MB8421(config, "dpram"));
|
||||
dpram.intl_callback().set_inputline("m1comm", 0);
|
||||
@ -677,25 +684,39 @@ ROM_START( blicks )
|
||||
ROM_END
|
||||
|
||||
ROM_START( bingpty ) // 1994/05/01 string
|
||||
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
|
||||
ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
|
||||
ROM_LOAD16_BYTE( "epr-16648b.bin", 0x00000, 0x20000, CRC(e4fceb4c) SHA1(0a248bb328d2f6d72d540baefbe62838f4b76585) )
|
||||
ROM_LOAD16_BYTE( "epr-16649b.bin", 0x00001, 0x20000, CRC(736d8bbd) SHA1(c359ad513d4a7693cbb1a27ce26f89849e894d05) )
|
||||
|
||||
ROM_REGION( 0x20000, "soundcpu", 0 ) /* Z80 Code */
|
||||
ROM_REGION( 0x20000, "soundcpu", 0 ) // Z80 code
|
||||
ROM_LOAD( "epr-14845.bin", 0x00000, 0x20000, CRC(90d47101) SHA1(7bc002c104e3dbde1986aaec54112d5658eab523) )
|
||||
|
||||
ROM_REGION( 0x8000, "m1comm", 0 ) /* Z80 Code */
|
||||
ROM_REGION( 0x8000, "m1comm", 0 ) // Z80 code
|
||||
ROM_LOAD( "epr-14221a.bin", 0x00000, 0x8000, CRC(a13e67a4) SHA1(4cd269c7f04a64ae7806c8784f86bf6553a25d85) )
|
||||
|
||||
// dumps of the X-Board part, and the LINK PCB are missing.
|
||||
ROM_END
|
||||
|
||||
ROM_START( bingplnt ) // 1997/06/30 string
|
||||
ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
|
||||
ROM_LOAD16_BYTE( "epr-19373c.ic8", 0x00000, 0x40000, CRC(965e5dba) SHA1(82eab3261ad610a43aa06206d6b44b6fe4aeb9d8) )
|
||||
ROM_LOAD16_BYTE( "epr-19374c.ic7", 0x00001, 0x40000, CRC(ad305112) SHA1(8a33cf719074875c96a0e50db2ab7c7b6223924d) )
|
||||
|
||||
ROM_REGION( 0x20000, "soundcpu", 0 ) // Z80 code
|
||||
ROM_LOAD( "epr-14845.bin", 0x00000, 0x20000, CRC(90d47101) SHA1(7bc002c104e3dbde1986aaec54112d5658eab523) )
|
||||
|
||||
ROM_REGION( 0x8000, "m1comm", 0 ) // Z80 code
|
||||
ROM_LOAD( "epr-14221a.bin", 0x00000, 0x8000, CRC(a13e67a4) SHA1(4cd269c7f04a64ae7806c8784f86bf6553a25d85) )
|
||||
|
||||
// dumps of the X-Board part, and the LINK PCB are missing.
|
||||
ROM_END
|
||||
|
||||
ROM_START( carboule ) // 1992.01.31 string
|
||||
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
|
||||
ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
|
||||
ROM_LOAD16_BYTE( "epr-14427.ic8", 0x00000, 0x40000, CRC(2d904fc6) SHA1(7062f47d77d09906420118c85e1cb565bec345a7) )
|
||||
ROM_LOAD16_BYTE( "epr-14428.ic7", 0x00001, 0x40000, CRC(97a317f4) SHA1(19bc4cf6b6c580caa44f36c929b445ed94b2d9eb) )
|
||||
|
||||
ROM_REGION( 0x20000, "soundcpu", 0 ) /* Z80 Code */
|
||||
ROM_REGION( 0x20000, "soundcpu", 0 ) // Z80 code
|
||||
ROM_LOAD( "epr-14429.ic104", 0x00000, 0x20000, CRC(1ff8262d) SHA1(fb90bd877b2dc65eb3e5495d6e21dee1f871fb44) )
|
||||
|
||||
ROM_REGION( 0x8000, "m1comm", 0 )
|
||||
@ -714,4 +735,5 @@ GAME(1990, blicks, 0, m1base, blicks, systemm1_state, empty_init, ROT0, "Seg
|
||||
|
||||
// M1 comm multi-board games
|
||||
GAME(1994, bingpty, 0, m1comm, bingpty, systemm1_state, empty_init, ROT0, "Sega", "Bingo Party Multicart (Rev B) (M1 Satellite board)", MACHINE_NOT_WORKING)
|
||||
GAME(1997, bingplnt, 0, m1comm, bingpty, systemm1_state, empty_init, ROT0, "Sega", "Bingo Planet (Rev C) (M1 Satellite board)", MACHINE_NOT_WORKING) // title inferred from date, may be wrong
|
||||
GAME(1992, carboule, 0, m1comm, bingpty, systemm1_state, empty_init, ROT0, "Sega", "Caribbean Boule (M1 Satellite board)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
|
||||
|
Loading…
Reference in New Issue
Block a user