diff --git a/src/devices/cpu/m6800/m6801.h b/src/devices/cpu/m6800/m6801.h index b8cbd9bdbf6..97f348990be 100644 --- a/src/devices/cpu/m6800/m6801.h +++ b/src/devices/cpu/m6800/m6801.h @@ -247,6 +247,7 @@ public: hd6303r_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); }; + class hd6301x_cpu_device : public hd6301_cpu_device { public: diff --git a/src/devices/machine/i82371sb.cpp b/src/devices/machine/i82371sb.cpp index 43d0406823b..b7b350d4a4e 100644 --- a/src/devices/machine/i82371sb.cpp +++ b/src/devices/machine/i82371sb.cpp @@ -145,7 +145,29 @@ void i82371sb_isa_device::device_config_complete() } i82371sb_isa_device::i82371sb_isa_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) - : pci_device(mconfig, type, tag, owner, clock), m_smi_callback(*this), m_nmi_callback(*this), m_stpclk_callback(*this), m_boot_state_hook(*this), m_maincpu(*this, finder_base::DUMMY_TAG), m_pic8259_master(*this, "pic8259_master"), m_pic8259_slave(*this, "pic8259_slave"), m_dma8237_1(*this, "dma8237_1"), m_dma8237_2(*this, "dma8237_2"), m_pit8254(*this, "pit8254"), m_isabus(*this, "isabus"), m_speaker(*this, "speaker"), m_at_spkrdata(0), m_pit_out2(0), m_dma_channel(0), m_cur_eop(false), m_dma_high_byte(0), m_eisa_irq_mode(0), m_at_speaker(0), m_refresh(false), m_channel_check(0), m_nmi_enabled(0) + : pci_device(mconfig, type, tag, owner, clock) + , m_smi_callback(*this) + , m_nmi_callback(*this) + , m_stpclk_callback(*this) + , m_boot_state_hook(*this) + , m_maincpu(*this, finder_base::DUMMY_TAG) + , m_pic8259_master(*this, "pic8259_master") + , m_pic8259_slave(*this, "pic8259_slave") + , m_dma8237_1(*this, "dma8237_1") + , m_dma8237_2(*this, "dma8237_2") + , m_pit8254(*this, "pit8254") + , m_isabus(*this, "isabus") + , m_speaker(*this, "speaker") + , m_at_spkrdata(0) + , m_pit_out2(0) + , m_dma_channel(0) + , m_cur_eop(false) + , m_dma_high_byte(0) + , m_eisa_irq_mode(0) + , m_at_speaker(0) + , m_refresh(false) + , m_channel_check(0) + , m_nmi_enabled(0) { } @@ -420,8 +442,15 @@ void i82371sb_isa_device::map_bios(address_space *memory_space, uint32_t start, memory_space->install_rom(start, end, m_region->base() + (start & mask)); } -void i82371sb_isa_device::map_extra(uint64_t memory_window_start, uint64_t memory_window_end, uint64_t memory_offset, address_space *memory_space, - uint64_t io_window_start, uint64_t io_window_end, uint64_t io_offset, address_space *io_space) +void i82371sb_isa_device::map_extra( + uint64_t memory_window_start, + uint64_t memory_window_end, + uint64_t memory_offset, + address_space *memory_space, + uint64_t io_window_start, + uint64_t io_window_end, + uint64_t io_offset, + address_space *io_space) { // assume that map_extra of the southbridge is called before the one of the northbridge m_isabus->remap(AS_PROGRAM, 0, 1 << 24); @@ -1009,8 +1038,15 @@ void i82371sb_ide_device::reset_all_mappings() { } -void i82371sb_ide_device::map_extra(uint64_t memory_window_start, uint64_t memory_window_end, uint64_t memory_offset, address_space *memory_space, - uint64_t io_window_start, uint64_t io_window_end, uint64_t io_offset, address_space *io_space) +void i82371sb_ide_device::map_extra( + uint64_t memory_window_start, + uint64_t memory_window_end, + uint64_t memory_offset, + address_space *memory_space, + uint64_t io_window_start, + uint64_t io_window_end, + uint64_t io_offset, + address_space *io_space) { io_space->install_device(0, 0x3ff, *this, &i82371sb_ide_device::internal_io_map); if (command & 1) diff --git a/src/devices/sound/msm5232.cpp b/src/devices/sound/msm5232.cpp index 8cb2fb17a35..dc0fcf76421 100644 --- a/src/devices/sound/msm5232.cpp +++ b/src/devices/sound/msm5232.cpp @@ -225,42 +225,37 @@ static FILE *sample[9]; */ -static constexpr double R51 = 870; /* attack resistance */ -static constexpr double R52 = 17400; /* decay 1 resistance */ -static constexpr double R53 = 101000; /* decay 2 resistance */ +static constexpr double R51 = 870; // attack resistance +static constexpr double R52 = 17400; // decay 1 resistance +static constexpr double R53 = 101000; // decay 2 resistance void msm5232_device::init_tables() { - int i; - double scale; + // sample rate = chip clock !!! But : + // highest possible frequency is chipclock/13/16 (pitch data=0x57) + // at 2MHz : 2000000/13/16 = 9615 Hz - /* sample rate = chip clock !!! But : */ - /* highest possible frequency is chipclock/13/16 (pitch data=0x57) */ - /* at 2MHz : 2000000/13/16 = 9615 Hz */ + m_UpdateStep = int(double(1 << STEP_SH) * double(m_rate) / double(m_chip_clock)); + //logerror("clock=%i Hz rate=%i Hz, UpdateStep=%i\n", m_chip_clock, m_rate, m_UpdateStep); - i = ((double)(1<set_fbmem(2); m_voodoo2->set_tmumem(4, 4); @@ -416,7 +416,7 @@ void midway_quicksilver2_state::midqslvr(machine_config &config) screen.set_size(640, 480); screen.set_visarea(0, 640 - 1, 0, 480 - 1); screen.set_screen_update(PCI_AGP_ID, FUNC(voodoo_2_pci_device::screen_update)); - #endif +#endif // "pci:0d.0" J4D2 // "pci:0e.0" J4D1 VIRGE_PCI(config, "pci:0e.0", 0); // J4C1 diff --git a/src/mame/misc/comebaby.cpp b/src/mame/misc/comebaby.cpp index 6a9236e7e12..eac475f439a 100644 --- a/src/mame/misc/comebaby.cpp +++ b/src/mame/misc/comebaby.cpp @@ -302,7 +302,7 @@ void comebaby_state::comebaby(machine_config &config) // YMF740G goes thru "pci:0c.0" // Expansion slots, mapping SVGA for debugging // TODO: all untested, check clock - #if ENABLE_VOODOO +#if ENABLE_VOODOO VOODOO_3_PCI(config, m_voodoo3, 0, m_maincpu, "screen"); // "pci:0d.0" J4D2 m_voodoo3->set_fbmem(2); m_voodoo3->set_tmumem(4, 4); @@ -314,11 +314,11 @@ void comebaby_state::comebaby(machine_config &config) screen.set_size(640, 480); screen.set_visarea(0, 640 - 1, 0, 480 - 1); screen.set_screen_update(PCI_AGP_ID, FUNC(voodoo_3_pci_device::screen_update)); - #else +#else // "pci:0d.0" J4D2 // "pci:0e.0" J4D1 VIRGE_PCI(config, "pci:0e.0", 0); // J4C1 - #endif +#endif } diff --git a/src/mame/namco/namcos10.cpp b/src/mame/namco/namcos10.cpp index d4c02cfd337..1f3d2bddd8c 100644 --- a/src/mame/namco/namcos10.cpp +++ b/src/mame/namco/namcos10.cpp @@ -3883,39 +3883,39 @@ GAME( 2000, mrdrilr2j, mrdrilr2, ns10_mrdrilr2, mrdrilr2, namcos10_memm_sta GAME( 2000, mrdrilr2u, mrdrilr2, ns10_mrdrilr2, mrdrilr2, namcos10_memm_state, init_mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (US, DR23 Ver.A)", MACHINE_IMPERFECT_SOUND ) // MEM(N) -GAME( 2000, gahaha, 0, ns10_gahaha, gahaha, namcos10_memn_state, memn_driver_init, ROT0, "Namco / Metro", "GAHAHA Ippatsudou (World, GID2 Ver.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2000, ptblank3, 0, ns10_ptblank3, ptblank3, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Point Blank 3 (World, GNN2 Ver.A)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION ) -GAME( 2000, gunbalina, ptblank3, ns10_ptblank3, ptblank3, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Gunbalina (Japan, GNN1 Ver.A)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION ) -GAME( 2001, gahaha2, 0, ns10_gahaha2, gahaha, namcos10_memn_state, memn_driver_init, ROT0, "Namco / Metro", "GAHAHA Ippatsudou 2 (Japan, GIS1 Ver.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2001, gjspace, 0, ns10_gjspace, gjspace, namcos10_memn_state, memn_driver_init, ROT0, "Namco / Metro", "GekiToride-Jong Space (10011 Ver.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2001, kd2001, 0, ns10_kd2001, namcos10, namcos10_memn_state, empty_init, ROT0, "Namco", "Knock Down 2001 (Japan, KD11 Ver. B)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION ) -GAME( 2001, knpuzzle, 0, ns10_knpuzzle, namcos10, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Kotoba no Puzzle Mojipittan (Japan, KPM1 Ver.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2001, mrdrilrg, 0, ns10_mrdrilrg, mrdrilr2, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Mr. Driller G (Japan, DRG1 Ver.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2002, chocovdr, 0, ns10_chocovdr, namcos10, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Uchuu Daisakusen: Chocovader Contactee (Japan, CVC1 Ver.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2002, gamshara, 0, ns10_gamshara, gamshara, namcos10_memn_state, memn_driver_init, ROT0, "Mitchell", "Gamshara (20020912A / 10021 Ver.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2002, gamsharao, gamshara, ns10_gamshara, gamshara, namcos10_memn_state, memn_driver_init, ROT0, "Mitchell", "Gamshara (20020716A / 10021 Ver.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2002, panikuru, 0, ns10_panikuru, namcos10, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Panikuru Panekuru (Japan, PPA1 Ver.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2002, puzzball, 0, ns10_puzzball, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Puzz Ball (Japan, PZB1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME( 2002, startrgn, 0, ns10_startrgn, startrgn, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Star Trigon (Japan, STT1 Ver.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2002, sugorotc, 0, ns10_sugorotic, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Sugorotic JAPAN (STJ1 Ver.C)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME( 2003, konotako, 0, ns10_konotako, konotako, namcos10_memn_state, memn_driver_init, ROT0, "Mitchell", "Kono e Tako (10021 Ver.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2003, nflclsfb, 0, ns10_nflclsfb, nflclsfb, namcos10_memn_state, memn_driver_init, ROT0, "Namco / Metro", "NFL Classic Football (US, NCF3 Ver.A.)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_SOUND ) -GAME( 2003, pacmball, 0, ns10_pacmball, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Pacman BALL (PMB2 Ver.A.)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME( 2004, sekaikh, 0, ns10_sekaikh, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Sekai Kaseki Hakken (Japan, SKH1 Ver.B)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_SOUND ) -GAME( 2004, sekaikha, sekaikh, ns10_sekaikh, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Sekai Kaseki Hakken (Japan, SKH1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_SOUND ) -GAME( 2005, ballpom, 0, ns10_ballpom, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Ball Pom Line", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_SOUND ) // ROM VER. B0 FEB 09 2005 15:29:02 in test mode, boots but requires MGEXIO to proceed -GAME( 2005, medalnt, 0, ns10_medalnt, namcos10, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Medal no Tatsujin Doki! Ooatari-Darake no Sugoroku Matsuri (MTL1 SPR0B)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME( 2000, gahaha, 0, ns10_gahaha, gahaha, namcos10_memn_state, memn_driver_init, ROT0, "Namco / Metro", "GAHAHA Ippatsudou (World, GID2 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2000, ptblank3, 0, ns10_ptblank3, ptblank3, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Point Blank 3 (World, GNN2 Ver.A)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION ) +GAME( 2000, gunbalina, ptblank3, ns10_ptblank3, ptblank3, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Gunbalina (Japan, GNN1 Ver.A)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION ) +GAME( 2001, gahaha2, 0, ns10_gahaha2, gahaha, namcos10_memn_state, memn_driver_init, ROT0, "Namco / Metro", "GAHAHA Ippatsudou 2 (Japan, GIS1 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2001, gjspace, 0, ns10_gjspace, gjspace, namcos10_memn_state, memn_driver_init, ROT0, "Namco / Metro", "GekiToride-Jong Space (10011 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2001, kd2001, 0, ns10_kd2001, namcos10, namcos10_memn_state, empty_init, ROT0, "Namco", "Knock Down 2001 (Japan, KD11 Ver. B)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION ) +GAME( 2001, knpuzzle, 0, ns10_knpuzzle, namcos10, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Kotoba no Puzzle Mojipittan (Japan, KPM1 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2001, mrdrilrg, 0, ns10_mrdrilrg, mrdrilr2, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Mr. Driller G (Japan, DRG1 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2002, chocovdr, 0, ns10_chocovdr, namcos10, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Uchuu Daisakusen: Chocovader Contactee (Japan, CVC1 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2002, gamshara, 0, ns10_gamshara, gamshara, namcos10_memn_state, memn_driver_init, ROT0, "Mitchell", "Gamshara (20020912A / 10021 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2002, gamsharao, gamshara, ns10_gamshara, gamshara, namcos10_memn_state, memn_driver_init, ROT0, "Mitchell", "Gamshara (20020716A / 10021 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2002, panikuru, 0, ns10_panikuru, namcos10, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Panikuru Panekuru (Japan, PPA1 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2002, puzzball, 0, ns10_puzzball, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Puzz Ball (Japan, PZB1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME( 2002, startrgn, 0, ns10_startrgn, startrgn, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Star Trigon (Japan, STT1 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2002, sugorotc, 0, ns10_sugorotic, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Sugorotic JAPAN (STJ1 Ver.C)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME( 2003, konotako, 0, ns10_konotako, konotako, namcos10_memn_state, memn_driver_init, ROT0, "Mitchell", "Kono e Tako (10021 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2003, nflclsfb, 0, ns10_nflclsfb, nflclsfb, namcos10_memn_state, memn_driver_init, ROT0, "Namco / Metro", "NFL Classic Football (US, NCF3 Ver.A.)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_SOUND ) +GAME( 2003, pacmball, 0, ns10_pacmball, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Pacman BALL (PMB2 Ver.A.)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME( 2004, sekaikh, 0, ns10_sekaikh, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Sekai Kaseki Hakken (Japan, SKH1 Ver.B)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_SOUND ) +GAME( 2004, sekaikha, sekaikh, ns10_sekaikh, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Sekai Kaseki Hakken (Japan, SKH1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_SOUND ) +GAME( 2005, ballpom, 0, ns10_ballpom, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Ball Pom Line", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_SOUND ) // ROM VER. B0 FEB 09 2005 15:29:02 in test mode, boots but requires MGEXIO to proceed +GAME( 2005, medalnt, 0, ns10_medalnt, namcos10, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Medal no Tatsujin Doki! Ooatari-Darake no Sugoroku Matsuri (MTL1 SPR0B)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) GAME( 2006, keroro, 0, ns10_keroro, mgexio_medal, namcos10_memn_state, memn_driver_init, ROT0, "Namco / Banpresto", "Keroro Gunsou: Pekopon Shinryaku Shirei...De Arimasu! (KRG1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // ケロロ軍曹 地球侵略指令…であります! -GAME( 2007, gegemdb, 0, ns10_gegemdb, mgexio_medal, namcos10_memn_state, empty_init, ROT0, "Namco", "Gegege no Kitaro Yokai Yokocho Matsuri de Battle Ja (GYM1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION ) // ゲゲゲの鬼太郎 妖怪横丁まつりでバトルじゃ -GAME( 2007, medalnt2, 0, ns10_medalnt2, namcos10, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Medal no Tatsujin 2 Atsumare! Go! Go! Sugoroku Sentai Don Ranger Five (MTA1 STMPR0A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // メダルの達人2 あつまれ!ゴー!ゴー!双六戦隊ドンレンジャーファイブ MTA100-1-ST-MPR0-A00 2007/01/30 19:51:54 +GAME( 2007, gegemdb, 0, ns10_gegemdb, mgexio_medal, namcos10_memn_state, empty_init, ROT0, "Namco", "Gegege no Kitaro Yokai Yokocho Matsuri de Battle Ja (GYM1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION ) // ゲゲゲの鬼太郎 妖怪横丁まつりでバトルじゃ +GAME( 2007, medalnt2, 0, ns10_medalnt2, namcos10, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Medal no Tatsujin 2 Atsumare! Go! Go! Sugoroku Sentai Don Ranger Five (MTA1 STMPR0A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // メダルの達人2 あつまれ!ゴー!ゴー!双六戦隊ドンレンジャーファイブ MTA100-1-ST-MPR0-A00 2007/01/30 19:51:54 -GAME( 2001, taiko2, 0, ns10_taiko2, taiko, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Taiko no Tatsujin 2 (Japan, TK21 Ver.C)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME( 2002, taiko3, 0, ns10_taiko3, taiko, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Taiko no Tatsujin 3 (Japan, TK31 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME( 2002, taiko4, 0, ns10_taiko4, taiko, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Taiko no Tatsujin 4 (Japan, TK41 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME( 2003, taiko5, 0, ns10_taiko5, taiko, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Taiko no Tatsujin 5 (Japan, TK51 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME( 2004, taiko6, 0, ns10_taiko6, taiko, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Taiko no Tatsujin 6 (Japan, TK61 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME( 2001, taiko2, 0, ns10_taiko2, taiko, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Taiko no Tatsujin 2 (Japan, TK21 Ver.C)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME( 2002, taiko3, 0, ns10_taiko3, taiko, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Taiko no Tatsujin 3 (Japan, TK31 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME( 2002, taiko4, 0, ns10_taiko4, taiko, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Taiko no Tatsujin 4 (Japan, TK41 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME( 2003, taiko5, 0, ns10_taiko5, taiko, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Taiko no Tatsujin 5 (Japan, TK51 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME( 2004, taiko6, 0, ns10_taiko6, taiko, namcos10_memn_state, memn_driver_init, ROT0, "Namco", "Taiko no Tatsujin 6 (Japan, TK61 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // MEM(P3) GAME( 2001, g13jnr, 0, ns10_g13jnr, g13jnr, namcos10_memp3_state, memn_driver_init, ROT0, "Eighting / Raizing / Namco", "Golgo 13: Juusei no Requiem (Japan, GLT1 VER.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2002, nicetsuk, 0, ns10_nicetsuk, nicetsuk, namcos10_memp3_state, memn_driver_init, ROT0, "Namco / Metro", "Tsukkomi Yousei Gips Nice Tsukkomi (NTK1 Ver.A)", MACHINE_IMPERFECT_SOUND ) -GAME( 2003, squizchs, 0, ns10_squizchs, squizchs, namcos10_memp3_state, memn_driver_init, ROT0, "Namco", "Seishun-Quiz Colorful High School (CHS1 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2002, nicetsuk, 0, ns10_nicetsuk, nicetsuk, namcos10_memp3_state, memn_driver_init, ROT0, "Namco / Metro", "Tsukkomi Yousei Gips Nice Tsukkomi (NTK1 Ver.A)", MACHINE_IMPERFECT_SOUND ) +GAME( 2003, squizchs, 0, ns10_squizchs, squizchs, namcos10_memp3_state, memn_driver_init, ROT0, "Namco", "Seishun-Quiz Colorful High School (CHS1 Ver.A)", MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/sega/puckpkmn.cpp b/src/mame/sega/puckpkmn.cpp index 5f9b70100db..ba640ac2c8c 100644 --- a/src/mame/sega/puckpkmn.cpp +++ b/src/mame/sega/puckpkmn.cpp @@ -1,13 +1,12 @@ // license:BSD-3-Clause // copyright-holders:Luca Elia, David Haywood /* Puckman Pockimon - -- original driver by Luca Elia Seems to be based around genesis hardware, despite containing no original Sega chips Supported: -Puckman Pockimon - (c)2000 Genie? +Puckman Pockimon (there should be a way to show Sun Mixing copyright, ROMs are the same on a version with the SM (c)) |---------------------------------------| @@ -70,7 +69,7 @@ public: } void puckpkmn(machine_config &config) ATTR_COLD; - void puckpkmna(machine_config &config) ATTR_COLD; + void jingling(machine_config &config) ATTR_COLD; void puckpkmnb(machine_config &config) ATTR_COLD; void init_puckpkmn() ATTR_COLD; @@ -80,7 +79,7 @@ protected: private: void puckpkmn_map(address_map &map) ATTR_COLD; - void puckpkmna_map(address_map &map) ATTR_COLD; + void jingling_map(address_map &map) ATTR_COLD; void puckpkmnb_map(address_map &map) ATTR_COLD; optional_device m_ymsnd; @@ -283,7 +282,7 @@ void puckpkmn_state::puckpkmn_base_map(address_map &map) } -void puckpkmn_state::puckpkmn_map(address_map &map) +void puckpkmn_state::puckpkmnb_map(address_map &map) { puckpkmn_base_map(map); @@ -297,19 +296,19 @@ void puckpkmn_state::puckpkmn_map(address_map &map) map(0xa11200, 0xa11201).nopw(); // ? } -void puckpkmn_state::puckpkmna_map(address_map &map) +void puckpkmn_state::puckpkmn_map(address_map &map) { - puckpkmn_map(map); + puckpkmnb_map(map); - map(0x4b2476, 0x4b2477).lr16(NAME([] () { return uint16_t(0x3400); })); + map(0x4b2476, 0x4b2477).lr16(NAME([] () { return uint16_t(0x3100); })); map(0x70001c, 0x70001d).lr16(NAME([] () { return uint16_t(0x000e); })); } -void puckpkmn_state::puckpkmnb_map(address_map &map) +void puckpkmn_state::jingling_map(address_map &map) { - puckpkmn_map(map); + puckpkmnb_map(map); - map(0x4b2476, 0x4b2477).lr16(NAME([] () { return uint16_t(0x3100); })); + map(0x4b2476, 0x4b2477).lr16(NAME([] () { return uint16_t(0x3400); })); map(0x70001c, 0x70001d).lr16(NAME([] () { return uint16_t(0x000e); })); } @@ -421,11 +420,11 @@ void puckpkmn_state::puckpkmn(machine_config &config) oki.add_route(ALL_OUTPUTS, "rspeaker", 0.25); } -void puckpkmn_state::puckpkmna(machine_config &config) +void puckpkmn_state::jingling(machine_config &config) { puckpkmn(config); - m_maincpu->set_addrmap(AS_PROGRAM, &puckpkmn_state::puckpkmna_map); + m_maincpu->set_addrmap(AS_PROGRAM, &puckpkmn_state::jingling_map); } void puckpkmn_state::puckpkmnb(machine_config &config) @@ -542,16 +541,16 @@ void puckpkmn_state::init_puckpkmn() } -// Puckman Pockimon (c)2000 Genie +// Puckman Pockimon (c)2000 Sun Mixing ROM_START( puckpkmn ) ROM_REGION( 0x400000, "maincpu", 0 ) - ROM_LOAD16_BYTE( "puckpoke.u5", 0x000000, 0x080000, CRC(fd334b91) SHA1(cf8bf6645a4082ea4392937e169b1686c9c7e246) ) - ROM_LOAD16_BYTE( "puckpoke.u4", 0x000001, 0x080000, CRC(839cc76b) SHA1(e15662a7175db7a8e222dda176a8ed92e0d56e9d) ) - ROM_LOAD16_BYTE( "puckpoke.u8", 0x100000, 0x080000, CRC(7936bec8) SHA1(4b350105abe514fbfeabae1c6f3aeee695c3d07a) ) - ROM_LOAD16_BYTE( "puckpoke.u7", 0x100001, 0x080000, CRC(96b66bdf) SHA1(3cc2861ad9bc232cbe683e01b58090f832d03db5) ) + ROM_LOAD16_BYTE( "200061.u5", 0x000000, 0x080000, CRC(502a5093) SHA1(6dc1c79d52ebb653cb2e4388f74fd975ec323566) ) + ROM_LOAD16_BYTE( "200060.u4", 0x000001, 0x080000, CRC(5f160c18) SHA1(5a5ce1b9a81afe836e435e9d6f16cf57b63cbd31) ) + ROM_LOAD16_BYTE( "200063.u8", 0x100000, 0x080000, CRC(0c29781e) SHA1(db442f9b588608b2ac04d65fd830103296599a6a) ) + ROM_LOAD16_BYTE( "200062.u7", 0x100001, 0x080000, CRC(00bbf9a9) SHA1(924c1ed85090c497ce89528082c15d1548a854a0) ) ROM_REGION( 0x40000, "oki", 0 ) - ROM_LOAD( "puckpoke.u3", 0x00000, 0x40000, CRC(7b066bac) SHA1(429616e21c672b07e0705bc63234249cac3af56f) ) + ROM_LOAD( "206295.u3", 0x00000, 0x40000, CRC(7b066bac) SHA1(429616e21c672b07e0705bc63234249cac3af56f) ) ROM_END @@ -597,7 +596,7 @@ Notes: */ -ROM_START( puckpkmna ) +ROM_START( jingling ) ROM_REGION( 0x400000, "maincpu", 0 ) ROM_LOAD16_BYTE( "b2.u59", 0x000000, 0x080000, CRC(3fbea2c7) SHA1(89f3770ae92c62714f0795ddd2f311a9532eb25a) ) // FIRST AND SECOND HALF IDENTICAL ROM_IGNORE(0x080000) @@ -613,16 +612,16 @@ ROM_START( puckpkmna ) ROM_END -// Puckman Pockimon (c)2000 Sun Mixing +// Puckman Pockimon (no copyright, presumably a bootleg of the Sun Mixing version) ROM_START( puckpkmnb ) ROM_REGION( 0x400000, "maincpu", 0 ) - ROM_LOAD16_BYTE( "200061.u5", 0x000000, 0x080000, CRC(502a5093) SHA1(6dc1c79d52ebb653cb2e4388f74fd975ec323566) ) - ROM_LOAD16_BYTE( "200060.u4", 0x000001, 0x080000, CRC(5f160c18) SHA1(5a5ce1b9a81afe836e435e9d6f16cf57b63cbd31) ) - ROM_LOAD16_BYTE( "200063.u8", 0x100000, 0x080000, CRC(0c29781e) SHA1(db442f9b588608b2ac04d65fd830103296599a6a) ) - ROM_LOAD16_BYTE( "200062.u7", 0x100001, 0x080000, CRC(00bbf9a9) SHA1(924c1ed85090c497ce89528082c15d1548a854a0) ) + ROM_LOAD16_BYTE( "puckpoke.u5", 0x000000, 0x080000, CRC(fd334b91) SHA1(cf8bf6645a4082ea4392937e169b1686c9c7e246) ) + ROM_LOAD16_BYTE( "puckpoke.u4", 0x000001, 0x080000, CRC(839cc76b) SHA1(e15662a7175db7a8e222dda176a8ed92e0d56e9d) ) + ROM_LOAD16_BYTE( "puckpoke.u8", 0x100000, 0x080000, CRC(7936bec8) SHA1(4b350105abe514fbfeabae1c6f3aeee695c3d07a) ) + ROM_LOAD16_BYTE( "puckpoke.u7", 0x100001, 0x080000, CRC(96b66bdf) SHA1(3cc2861ad9bc232cbe683e01b58090f832d03db5) ) ROM_REGION( 0x40000, "oki", 0 ) - ROM_LOAD( "206295.u3", 0x00000, 0x40000, CRC(7b066bac) SHA1(429616e21c672b07e0705bc63234249cac3af56f) ) + ROM_LOAD( "puckpoke.u3", 0x00000, 0x40000, CRC(7b066bac) SHA1(429616e21c672b07e0705bc63234249cac3af56f) ) ROM_END @@ -648,7 +647,7 @@ ROM_END // Genie Hardware (uses Genesis VDP) also has 'Sun Mixing Co' put into tile RAM // Is 'Genie 2000' part of the title, and the parent set a bootleg? -GAME( 2000, puckpkmn, 0, puckpkmn, puckpkmn, puckpkmn_state, init_puckpkmn, ROT0, "Genie", "Puckman Pockimon (set 1)", 0 ) -GAME( 2000, puckpkmna, puckpkmn, puckpkmna, puckpkmn, puckpkmn_state, init_puckpkmn, ROT0, "IBS", "Jingling Jiazu", 0 ) -GAME( 2000, puckpkmnb, puckpkmn, puckpkmnb, puckpkmn, puckpkmn_state, init_puckpkmn, ROT0, "Sun Mixing", "Puckman Pockimon (set 2)", 0 ) -GAME( 2000, jzth, 0, jzth, jzth, jzth_state, init_puckpkmn, ROT0, "", "Juezhan Tianhuang", MACHINE_IMPERFECT_SOUND ) +GAME( 2000, puckpkmn, 0, puckpkmn, puckpkmn, puckpkmn_state, init_puckpkmn, ROT0, "Sun Mixing", "Puckman Pockimon Genie 2000", 0 ) +GAME( 2000, jingling, puckpkmn, jingling, puckpkmn, puckpkmn_state, init_puckpkmn, ROT0, "IBS Co. Ltd", "Jingling Jiazu Genie 2000", 0 ) +GAME( 2000, puckpkmnb, puckpkmn, puckpkmnb, puckpkmn, puckpkmn_state, init_puckpkmn, ROT0, "bootleg", "Puckman Pockimon Genie 2000 (bootleg)", 0 ) +GAME( 2000, jzth, 0, jzth, jzth, jzth_state, init_puckpkmn, ROT0, "", "Juezhan Tianhuang", MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/sinclair/tsconf_m.cpp b/src/mame/sinclair/tsconf_m.cpp index f017d14bfeb..76de0e2bd42 100644 --- a/src/mame/sinclair/tsconf_m.cpp +++ b/src/mame/sinclair/tsconf_m.cpp @@ -12,7 +12,7 @@ #define ROM128 (BIT(m_regs[MEM_CONFIG], 0)) #define OFFS_512(_rl) (((m_regs[_rl + 1] & 1) << 8) | m_regs[_rl]) -#define VM static_cast(BIT(m_regs[V_CONFIG], 0, 2)) +#define VM v_mode(BIT(m_regs[V_CONFIG], 0, 2)) static constexpr rectangle screen_area[4] = { rectangle(tsconf_state::with_hblank(52), tsconf_state::with_hblank(256 + 51), tsconf_state::with_vblank(48), tsconf_state::with_vblank(192 + 47)), // 52|256|52 x 48-192-48 @@ -494,7 +494,7 @@ void tsconf_state::tsconf_port_xxaf_w(offs_t port, u8 data) case T0_X_OFFSET_H: case T1_X_OFFSET_L: case T1_X_OFFSET_H: - m_scanline_delayed_regs_update[static_cast(nreg)] = data; + m_scanline_delayed_regs_update[tsconf_regs(nreg)] = data; break; default: @@ -665,7 +665,7 @@ void tsconf_state::tsconf_port_f7_w(offs_t offset, u8 data) if (m_glukrs->address_r() == 0xf0) { u8 m_fx[0xf] = {0xff}; - m_port_f7_ext = static_cast(data); + m_port_f7_ext = gluk_ext(data); switch (m_port_f7_ext) { case CONF_VERSION: