From f097f89b914b83360e8ce0e18673044f35c4db42 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Tue, 24 Mar 2020 21:41:00 +0100 Subject: Machines promoted to working ---------------------------- Professor Trivia (set 1) [Dirk Best, Ivan Vangelista] Clones promoted to working ---------------------------- Professor Trivia (set 2) [Dirk Best, Ivan Vangelista] --- src/mame/drivers/dec8.cpp | 2 +- src/mame/drivers/triviaquiz.cpp | 33 +++++++++++++++------------------ 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/mame/drivers/dec8.cpp b/src/mame/drivers/dec8.cpp index ccdba2fb9d6..92c09b73ce1 100644 --- a/src/mame/drivers/dec8.cpp +++ b/src/mame/drivers/dec8.cpp @@ -3780,4 +3780,4 @@ GAME( 1988, cobracom, 0, cobracom, cobracom, dec8_state, init_dec8, GAME( 1988, cobracoma, cobracom, cobracom, cobracom, dec8_state, init_dec8, ROT0, "Data East Corporation", "Cobra-Command (World/US revision 4)", MACHINE_SUPPORTS_SAVE ) GAME( 1988, cobracomb, cobracom, cobracom, cobracom, dec8_state, init_dec8, ROT0, "Data East Corporation", "Cobra-Command (World/US)", MACHINE_SUPPORTS_SAVE ) GAME( 1988, cobracomj, cobracom, cobracom, cobracom, dec8_state, init_dec8, ROT0, "Data East Corporation", "Cobra-Command (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, cobracomjb, cobracom, cobracom, cobracom, dec8_state, init_dec8, ROT0, "Data East Corporation", "Cobra-Command (Japan, bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, cobracomjb, cobracom, cobracom, cobracom, dec8_state, init_dec8, ROT0, "bootleg", "Cobra-Command (Japan, bootleg)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/triviaquiz.cpp b/src/mame/drivers/triviaquiz.cpp index 9ab316f2fb1..6fe3e3ded96 100644 --- a/src/mame/drivers/triviaquiz.cpp +++ b/src/mame/drivers/triviaquiz.cpp @@ -24,14 +24,16 @@ Norway sport 2 TODO: - * sound - * nvram? - * https://www.tvspels-nostalgi.com/pcb_unk.htm shows red background. Faulty PCB adapter or bad emulation? + * sound (discrete?) + * https://www.tvspels-nostalgi.com/pcb_unk.htm shows red background. Faulty harness or bad emulation? + * several unmapped read and writes both in program and in IO map + * proper fix for the 'faulty link problem, call attendant' message */ #include "emu.h" #include "cpu/tms9900/tms9995.h" #include "machine/bankdev.h" +#include "machine/nvram.h" #include "video/tms9928a.h" #include "screen.h" @@ -47,7 +49,6 @@ public: void triviaquiz(machine_config &config); protected: - virtual void machine_start() override; virtual void machine_reset() override; private: @@ -60,20 +61,19 @@ private: }; -void triviaquiz_state::prg_map(address_map &map) // TODO: check everything +void triviaquiz_state::prg_map(address_map &map) { map(0x0000, 0x5fff).rom().region("maincpu", 0); map(0x6000, 0x7fff).m(m_bankdev, FUNC(address_map_bank_device::amap8)); map(0x6000, 0x6000).lw8(NAME([this] (uint8_t data) { m_bankdev->set_bank(data); })); map(0x8000, 0x8000).rw("vdp", FUNC(tms9129_device::vram_read), FUNC(tms9129_device::vram_write)); map(0x8002, 0x8002).rw("vdp", FUNC(tms9129_device::register_read), FUNC(tms9129_device::register_write)); - // map(0x8040, 0x8040).w map(0x8100, 0x8100).portr("IN0"); map(0x8200, 0x8200).portr("IN1"); map(0x8300, 0x8300).portr("IN2"); map(0x8600, 0x8600).portr("DSW1"); - // map(0x8700, 0x8700).portr("DSW2"); // not populated - map(0xa000, 0xa7ff).ram(); + map(0x8700, 0x8700).nopr(); // DSW2, not populated + map(0xa000, 0xa7ff).ram().share("nvram"); map(0xe000, 0xe7ff).ram(); } @@ -105,7 +105,7 @@ static INPUT_PORTS_START( triviaquiz ) PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // gives 'bad switch' PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // gives 'bad switch' - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON5 ) // these work also as start buttons? + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON5 ) // these work also as start buttons PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) @@ -122,7 +122,7 @@ static INPUT_PORTS_START( triviaquiz ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // gives 'bad switch' PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // gives 'bad switch' - PORT_START("DSW1") // only read at boot + PORT_START("DSW1") PORT_DIPUNKNOWN_DIPLOC(0x01, 0x00, "SW1:1") PORT_DIPUNKNOWN_DIPLOC(0x02, 0x00, "SW1:2") PORT_DIPUNKNOWN_DIPLOC(0x04, 0x00, "SW1:3") @@ -130,18 +130,13 @@ static INPUT_PORTS_START( triviaquiz ) PORT_DIPUNKNOWN_DIPLOC(0x10, 0x00, "SW1:5") PORT_DIPUNKNOWN_DIPLOC(0x20, 0x00, "SW1:6") PORT_DIPUNKNOWN_DIPLOC(0x40, 0x00, "SW1:7") - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Coinage ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:8") PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) // DSW2 not populated INPUT_PORTS_END - -void triviaquiz_state::machine_start() -{ -} - void triviaquiz_state::machine_reset() { //TODO: check these @@ -161,6 +156,8 @@ void triviaquiz_state::triviaquiz(machine_config &config) m_bankdev->set_addr_width(20); m_bankdev->set_stride(0x2000); + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); + tms9129_device &vdp(TMS9129(config, "vdp", 10.738635_MHz_XTAL)); //TMS9129NL, 10.73864 XTAL on one PCB, 10.70000 on another vdp.set_screen("screen"); vdp.set_vram_size(0x4000); // verified @@ -203,5 +200,5 @@ ROM_START( triviaqz2 ) ROM_LOAD( "norway_historie_1.bin", 0x20000, 0x8000, CRC(b2fbce41) SHA1(9e94fc4efd03aff180a5bd94727f5be59647af52) ) ROM_END -GAME( 1985, triviaqz, 0, triviaquiz, triviaquiz, triviaquiz_state, empty_init, ROT0, "Intermatic Manufacturing", "Professor Trivia (set 1)", MACHINE_IS_SKELETON ) // or Trivia Video Quiz? Professor Trivia appears on more screens -GAME( 1985, triviaqz2, triviaqz, triviaquiz, triviaquiz, triviaquiz_state, empty_init, ROT0, "Intermatic Manufacturing", "Professor Trivia (set 2)", MACHINE_IS_SKELETON ) // both need question ROMs hook up +GAME( 1985, triviaqz, 0, triviaquiz, triviaquiz, triviaquiz_state, empty_init, ROT0, "Intermatic Manufacturing", "Professor Trivia (set 1)", MACHINE_NO_SOUND ) // or Trivia Video Quiz? Professor Trivia appears on more screens +GAME( 1985, triviaqz2, triviaqz, triviaquiz, triviaquiz, triviaquiz_state, empty_init, ROT0, "Intermatic Manufacturing", "Professor Trivia (set 2)", MACHINE_NO_SOUND ) -- cgit v1.2.3