From 08e15b36d3bae09558b67f894487e70e826632fa Mon Sep 17 00:00:00 2001 From: hap Date: Fri, 20 Dec 2024 14:49:28 +0100 Subject: [PATCH] dec0: small cleanup, darwin: remove comment about prom, 0xf0 is definitely bitrot --- src/mame/dataeast/brkthru.cpp | 3 +- src/mame/dataeast/dec0.cpp | 118 +++++++++++++++++----------------- src/mame/dataeast/dec0.h | 4 +- src/mame/dataeast/dec0_v.cpp | 13 ++-- 4 files changed, 69 insertions(+), 69 deletions(-) diff --git a/src/mame/dataeast/brkthru.cpp b/src/mame/dataeast/brkthru.cpp index 9ef8c673667..7ee85f602b1 100644 --- a/src/mame/dataeast/brkthru.cpp +++ b/src/mame/dataeast/brkthru.cpp @@ -1046,8 +1046,7 @@ ROM_START( darwin ) ROM_LOAD( "darw_11.rom", 0x08000, 0x8000, CRC(548ce2d1) SHA1(3b1757c70346ab4ee19ec85e7ae5137f8ccf446f) ) ROM_LOAD( "darw_12.rom", 0x10000, 0x8000, CRC(faba5fef) SHA1(848da4d4888f0218b737f1dc9b62944f68349a43) ) - // A PCB has been found with the first PROM substituted with a TBP28S42 (4b56a744) SHA1(5fdc336d90c8a289c146c66f241dd217fc11bf35), see brkthrut ROM loading for how they did it. - // With that in mind, there's a one byte difference at 0x55 (0xf0 instead of 0x70). It is unknown if it's bitrot or if it's intended. + // A PCB has been found with the first PROM substituted with a TBP28S42, see brkthrut ROM loading for how they did it. ROM_REGION( 0x0200, "proms", 0 ) ROM_LOAD( "df.12", 0x0000, 0x0100, CRC(89b952ef) SHA1(77dc4020a2e25f81fae1182d58993cf09d13af00) ) // red and green component ROM_LOAD( "df.13", 0x0100, 0x0100, CRC(d595e91d) SHA1(5e9793f6602455c79afdc855cd13183a7f48ab1e) ) // blue component diff --git a/src/mame/dataeast/dec0.cpp b/src/mame/dataeast/dec0.cpp index 898c107904d..2f5c74bb7f1 100644 --- a/src/mame/dataeast/dec0.cpp +++ b/src/mame/dataeast/dec0.cpp @@ -428,7 +428,7 @@ void dec0_state::dec0_control_w(offs_t offset, uint16_t data, uint16_t mem_mask) } } -void dec0_automat_state::automat_control_w(offs_t offset, uint16_t data, uint16_t mem_mask) +void automat_state::automat_control_w(offs_t offset, uint16_t data, uint16_t mem_mask) { switch (offset << 1) { @@ -814,7 +814,7 @@ void dec0_state::midres_s_map(address_map &map) -void dec0_automat_state::machine_start() +void automat_state::machine_start() { m_adpcm_toggle[0] = false; m_adpcm_toggle[1] = false; @@ -827,13 +827,13 @@ void dec0_automat_state::machine_start() /* swizzle the palette writes around so we can use the same gfx plane ordering as the originals */ -uint16_t dec0_automat_state::automat_palette_r(offs_t offset) +uint16_t automat_state::automat_palette_r(offs_t offset) { offset ^=0xf; return m_paletteram[offset]; } -void dec0_automat_state::automat_palette_w(offs_t offset, uint16_t data, uint16_t mem_mask) +void automat_state::automat_palette_w(offs_t offset, uint16_t data, uint16_t mem_mask) { offset ^=0xf; m_palette->write16(offset, data, mem_mask); @@ -841,7 +841,7 @@ void dec0_automat_state::automat_palette_w(offs_t offset, uint16_t data, uint16_ -void dec0_automat_state::automat_map(address_map &map) +void automat_state::automat_map(address_map &map) { map(0x000000, 0x05ffff).rom(); @@ -866,14 +866,14 @@ void dec0_automat_state::automat_map(address_map &map) map(0x300000, 0x300001).portr("AN0"); map(0x300008, 0x300009).portr("AN1"); - map(0x30c000, 0x30c00b).r(FUNC(dec0_automat_state::dec0_controls_r)); - map(0x30c000, 0x30c01f).w(FUNC(dec0_automat_state::automat_control_w)); /* Priority, sound, etc. */ - map(0x310000, 0x3107ff).rw(FUNC(dec0_automat_state::automat_palette_r), FUNC(dec0_automat_state::automat_palette_w)).share("palette"); + map(0x30c000, 0x30c00b).r(FUNC(automat_state::dec0_controls_r)); + map(0x30c000, 0x30c01f).w(FUNC(automat_state::automat_control_w)); /* Priority, sound, etc. */ + map(0x310000, 0x3107ff).rw(FUNC(automat_state::automat_palette_r), FUNC(automat_state::automat_palette_w)).share("palette"); map(0x314000, 0x3147ff).ram(); // video regs are moved to here.. - map(0x400000, 0x400007).w(FUNC(dec0_automat_state::automat_scroll_w)); - map(0x400008, 0x400009).w(FUNC(dec0_automat_state::priority_w)); + map(0x400000, 0x400007).w(FUNC(automat_state::automat_scroll_w)); + map(0x400008, 0x400009).w(FUNC(automat_state::priority_w)); map(0x500000, 0x500001).nopw(); // ??? @@ -881,7 +881,7 @@ void dec0_automat_state::automat_map(address_map &map) map(0xffc000, 0xffcfff).ram().share("spriteram"); /* Sprites */ } -void dec0_automat_state::secretab_map(address_map &map) +void automat_state::secretab_map(address_map &map) { map(0x000000, 0x05ffff).rom(); // map(0x240000, 0x240007).w(m_tilegen[1], FUNC(deco_bac06_device::pf_control_0_w)); @@ -896,7 +896,7 @@ void dec0_automat_state::secretab_map(address_map &map) // map(0x340000, 0x34007f).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_colscroll_r), FUNC(deco_bac06_device::pf_colscroll_w)); // map(0x340400, 0x3407ff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_rowscroll_r), FUNC(deco_bac06_device::pf_rowscroll_w)); - map(0x314008, 0x31400f).r(FUNC(dec0_automat_state::slyspy_controls_r)); + map(0x314008, 0x31400f).r(FUNC(automat_state::slyspy_controls_r)); map(0x314001, 0x314001).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0x300000, 0x300007).ram(); @@ -905,12 +905,12 @@ void dec0_automat_state::secretab_map(address_map &map) map(0x300c00, 0x300fff).ram(); map(0x301000, 0x3017ff).rw(m_tilegen[2], FUNC(deco_bac06_device::pf_data_r), FUNC(deco_bac06_device::pf_data_w)); map(0x301800, 0x307fff).ram().share("ram"); /* Sly Spy main ram */ - map(0x310000, 0x3107ff).rw(FUNC(dec0_automat_state::automat_palette_r), FUNC(dec0_automat_state::automat_palette_w)).share("palette"); + map(0x310000, 0x3107ff).rw(FUNC(automat_state::automat_palette_r), FUNC(automat_state::automat_palette_w)).share("palette"); map(0xb08000, 0xb08fff).ram().share("spriteram"); /* Sprites */ } -void dec0_automat_state::automat_s_map(address_map &map) +void automat_state::automat_s_map(address_map &map) { map(0x0000, 0x7fff).rom(); map(0x8000, 0xbfff).bankr("soundbank"); @@ -919,11 +919,11 @@ void dec0_automat_state::automat_s_map(address_map &map) map(0xd000, 0xd001).rw("2203b", FUNC(ym2203_device::read), FUNC(ym2203_device::write)); map(0xd800, 0xd800).r(m_soundlatch, FUNC(generic_latch_8_device::read)); map(0xe000, 0xe000).w(m_adpcm_select[1], FUNC(ls157_device::ba_w)); - map(0xe800, 0xe800).w(FUNC(dec0_automat_state::sound_bankswitch_w)); + map(0xe800, 0xe800).w(FUNC(automat_state::sound_bankswitch_w)); map(0xf000, 0xf000).w(m_adpcm_select[0], FUNC(ls157_device::ba_w)); } -void dec0_automat_state::secretab_s_map(address_map &map) +void automat_state::secretab_s_map(address_map &map) { map(0x0000, 0x7fff).rom(); map(0x8000, 0xbfff).bankr("soundbank"); @@ -932,7 +932,7 @@ void dec0_automat_state::secretab_s_map(address_map &map) map(0xd000, 0xd001).rw("ym3812", FUNC(ym3812_device::read), FUNC(ym3812_device::write)); map(0xd800, 0xd800).r(m_soundlatch, FUNC(generic_latch_8_device::read)); map(0xe000, 0xe000).w(m_adpcm_select[1], FUNC(ls157_device::ba_w)); - map(0xe800, 0xe800).w(FUNC(dec0_automat_state::sound_bankswitch_w)); + map(0xe800, 0xe800).w(FUNC(automat_state::sound_bankswitch_w)); map(0xf000, 0xf000).w(m_adpcm_select[0], FUNC(ls157_device::ba_w)); } @@ -1884,7 +1884,7 @@ void dec0_state::dec1(machine_config &config) } -void dec0_automat_state::sound_bankswitch_w(uint8_t data) +void automat_state::sound_bankswitch_w(uint8_t data) { m_msm[0]->reset_w(BIT(data, 3)); m_msm[1]->reset_w(BIT(data, 4)); @@ -1892,7 +1892,7 @@ void dec0_automat_state::sound_bankswitch_w(uint8_t data) m_soundbank->set_entry(data & 7); } -void dec0_automat_state::msm1_vclk_cb(int state) +void automat_state::msm1_vclk_cb(int state) { if (!state) return; @@ -1902,7 +1902,7 @@ void dec0_automat_state::msm1_vclk_cb(int state) m_audiocpu->set_input_line(INPUT_LINE_NMI, m_adpcm_toggle[0]); } -void dec0_automat_state::msm2_vclk_cb(int state) +void automat_state::msm2_vclk_cb(int state) { if (!state) return; @@ -1912,24 +1912,24 @@ void dec0_automat_state::msm2_vclk_cb(int state) } -void dec0_automat_state::automat(machine_config &config) +void automat_state::automat(machine_config &config) { /* basic machine hardware */ - M68000(config, m_maincpu, 10000000); - m_maincpu->set_addrmap(AS_PROGRAM, &dec0_automat_state::automat_map); + M68000(config, m_maincpu, 10'000'000); + m_maincpu->set_addrmap(AS_PROGRAM, &automat_state::automat_map); m_maincpu->set_vblank_int("screen", FUNC(dec0_state::irq6_line_hold)); /* VBL */ - Z80(config, m_audiocpu, 3000000); // ? - m_audiocpu->set_addrmap(AS_PROGRAM, &dec0_automat_state::automat_s_map); + Z80(config, m_audiocpu, 3'000'000); // ? + m_audiocpu->set_addrmap(AS_PROGRAM, &automat_state::automat_s_map); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(dec0_automat_state,dec0_nodma) + MCFG_VIDEO_START_OVERRIDE(automat_state,dec0_nodma) BUFFERED_SPRITERAM16(config, m_spriteram); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); set_screen_raw_params(config); - m_screen->set_screen_update(FUNC(dec0_automat_state::screen_update_automat)); + m_screen->set_screen_update(FUNC(automat_state::screen_update_automat)); m_screen->set_palette(m_palette); DECO_BAC06(config, m_tilegen[0], 0); @@ -1945,7 +1945,7 @@ void dec0_automat_state::automat(machine_config &config) m_tilegen[2]->set_gfxdecode_tag("gfxdecode"); DECO_MXC06(config, m_spritegen, 0, m_palette, gfx_automat_spr); - m_spritegen->set_colpri_callback(FUNC(dec0_automat_state::robocop_colpri_cb)); + m_spritegen->set_colpri_callback(FUNC(automat_state::robocop_colpri_cb)); PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 1024); GFXDECODE(config, m_gfxdecode, m_palette, gfx_automat); @@ -1956,13 +1956,13 @@ void dec0_automat_state::automat(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0); - ym2203_device &ym2203a(YM2203(config, "2203a", 1250000)); + ym2203_device &ym2203a(YM2203(config, "2203a", 1'250'000)); ym2203a.add_route(0, "mono", 0.90); ym2203a.add_route(1, "mono", 0.90); ym2203a.add_route(2, "mono", 0.90); ym2203a.add_route(3, "mono", 0.35); - ym2203_device &ym2203b(YM2203(config, "2203b", 1250000)); + ym2203_device &ym2203b(YM2203(config, "2203b", 1'250'000)); ym2203b.add_route(0, "mono", 0.90); ym2203b.add_route(1, "mono", 0.90); ym2203b.add_route(2, "mono", 0.90); @@ -1974,36 +1974,36 @@ void dec0_automat_state::automat(machine_config &config) LS157(config, m_adpcm_select[1], 0); m_adpcm_select[1]->out_callback().set("msm2", FUNC(msm5205_device::data_w)); - msm5205_device &msm1(MSM5205(config, "msm1", 384000)); - msm1.vck_legacy_callback().set(FUNC(dec0_automat_state::msm1_vclk_cb)); + msm5205_device &msm1(MSM5205(config, "msm1", 384'000)); + msm1.vck_legacy_callback().set(FUNC(automat_state::msm1_vclk_cb)); msm1.set_prescaler_selector(msm5205_device::S96_4B); msm1.add_route(ALL_OUTPUTS, "mono", 1.0); - msm5205_device &msm2(MSM5205(config, "msm2", 384000)); - msm2.vck_legacy_callback().set(FUNC(dec0_automat_state::msm2_vclk_cb)); + msm5205_device &msm2(MSM5205(config, "msm2", 384'000)); + msm2.vck_legacy_callback().set(FUNC(automat_state::msm2_vclk_cb)); msm2.set_prescaler_selector(msm5205_device::S96_4B); msm2.add_route(ALL_OUTPUTS, "mono", 1.0); } // this seems very similar to the automat bootleg -void dec0_automat_state::secretab(machine_config &config) // all clocks verified on PCB +void automat_state::secretab(machine_config &config) // all clocks verified on PCB { // basic machine hardware M68000(config, m_maincpu, 20_MHz_XTAL / 2); // verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz - m_maincpu->set_addrmap(AS_PROGRAM, &dec0_automat_state::secretab_map); + m_maincpu->set_addrmap(AS_PROGRAM, &automat_state::secretab_map); m_maincpu->set_vblank_int("screen", FUNC(dec0_state::irq6_line_hold)); // VBL Z80(config, m_audiocpu, 20_MHz_XTAL / 4); - m_audiocpu->set_addrmap(AS_PROGRAM, &dec0_automat_state::secretab_s_map); + m_audiocpu->set_addrmap(AS_PROGRAM, &automat_state::secretab_s_map); // video hardware - MCFG_VIDEO_START_OVERRIDE(dec0_automat_state,slyspy) + MCFG_VIDEO_START_OVERRIDE(automat_state,slyspy) BUFFERED_SPRITERAM16(config, m_spriteram); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); set_screen_raw_params(config); - m_screen->set_screen_update(FUNC(dec0_automat_state::screen_update_secretab)); + m_screen->set_screen_update(FUNC(automat_state::screen_update_secretab)); m_screen->set_palette(m_palette); DECO_BAC06(config, m_tilegen[0], 0); @@ -2013,7 +2013,7 @@ void dec0_automat_state::secretab(machine_config &config) // all clocks verified DECO_BAC06(config, m_tilegen[1], 0); m_tilegen[1]->set_gfx_region_wide(0, 1, 0); m_tilegen[1]->set_gfxdecode_tag("gfxdecode"); - m_tilegen[1]->set_tile_callback(FUNC(dec0_automat_state::baddudes_tile_cb)); + m_tilegen[1]->set_tile_callback(FUNC(automat_state::baddudes_tile_cb)); DECO_BAC06(config, m_tilegen[2], 0); m_tilegen[2]->set_gfx_region_wide(0, 2, 0); @@ -2047,12 +2047,12 @@ void dec0_automat_state::secretab(machine_config &config) // all clocks verified m_adpcm_select[1]->out_callback().set("msm2", FUNC(msm5205_device::data_w)); msm5205_device &msm1(MSM5205(config, "msm1", 400_kHz_XTAL)); - msm1.vck_legacy_callback().set(FUNC(dec0_automat_state::msm1_vclk_cb)); + msm1.vck_legacy_callback().set(FUNC(automat_state::msm1_vclk_cb)); msm1.set_prescaler_selector(msm5205_device::S96_4B); msm1.add_route(ALL_OUTPUTS, "mono", 1.0); msm5205_device &msm2(MSM5205(config, "msm2", 400_kHz_XTAL)); - msm2.vck_legacy_callback().set(FUNC(dec0_automat_state::msm2_vclk_cb)); + msm2.vck_legacy_callback().set(FUNC(automat_state::msm2_vclk_cb)); msm2.set_prescaler_selector(msm5205_device::S96_4B); msm2.add_route(ALL_OUTPUTS, "mono", 1.0); } @@ -2283,7 +2283,7 @@ void dec0_state::midresb(machine_config &config) midres(config); m_maincpu->set_addrmap(AS_PROGRAM, &dec0_state::midresb_map); - R65C02(config.replace(), m_audiocpu, 1500000); + R65C02(config.replace(), m_audiocpu, 1'500'000); m_audiocpu->set_addrmap(AS_PROGRAM, &dec0_state::dec0_s_map); M68705R3(config, m_mcu, XTAL(3'579'545)); @@ -4219,9 +4219,9 @@ ROM_START( midresbj ) ROM_REGION( 0x20000, "char", 0 ) ROM_LOAD( "23", 0x08000, 0x08000, CRC(d75aba06) SHA1(cb3b969db3dd8e0c5c3729482f7461cde3a961f3) ) - ROM_CONTINUE( 0x00000, 0x08000 ) /* the two halves are swapped */ + ROM_CONTINUE( 0x00000, 0x08000 ) /* the two halves are swapped */ ROM_LOAD( "24", 0x18000, 0x08000, CRC(8f5bbb79) SHA1(cb10f68787606111ba5e9967bf0b0cd21269a902) ) - ROM_CONTINUE( 0x10000, 0x08000 ) + ROM_CONTINUE( 0x10000, 0x08000 ) ROM_REGION( 0x80000, "tiles1", 0 ) ROM_LOAD( "19", 0x00000, 0x20000, CRC(fd9ba1bd) SHA1(a105a4335eeed19662c89ab0f90485f1029cf03f) ) @@ -4283,10 +4283,10 @@ ROM_START( bouldash ) ROM_LOAD( "fn-02", 0x30000, 0x10000, CRC(4f060cba) SHA1(4063183e699bb8b6059d56f4e2fec5fa0b037c23) ) ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM samples */ - ROM_LOAD( "fn-11", 0x00000, 0x10000, CRC(990fd8d9) SHA1(a37bd96ecd75c610d98df3320f53ae4e2b7fdefd) ) + ROM_LOAD( "fn-11", 0x00000, 0x10000, CRC(990fd8d9) SHA1(a37bd96ecd75c610d98df3320f53ae4e2b7fdefd) ) ROM_REGION( 0x0100, "proms", 0 ) - ROM_LOAD( "ta-16.21k", 0x0000, 0x0100, CRC(ad26e8d4) SHA1(827337aeb8904429a1c050279240ae38aa6ce064) ) /* Priority (not used) */ + ROM_LOAD( "ta-16.21k", 0x0000, 0x0100, CRC(ad26e8d4) SHA1(827337aeb8904429a1c050279240ae38aa6ce064) ) /* Priority (not used) */ ROM_END ROM_START( bouldashj ) @@ -4322,10 +4322,10 @@ ROM_START( bouldashj ) ROM_LOAD( "fn-02", 0x30000, 0x10000, CRC(4f060cba) SHA1(4063183e699bb8b6059d56f4e2fec5fa0b037c23) ) ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM samples */ - ROM_LOAD( "fn-11", 0x00000, 0x10000, CRC(990fd8d9) SHA1(a37bd96ecd75c610d98df3320f53ae4e2b7fdefd) ) + ROM_LOAD( "fn-11", 0x00000, 0x10000, CRC(990fd8d9) SHA1(a37bd96ecd75c610d98df3320f53ae4e2b7fdefd) ) ROM_REGION( 0x0100, "proms", 0 ) - ROM_LOAD( "ta-16.21k", 0x0000, 0x0100, CRC(ad26e8d4) SHA1(827337aeb8904429a1c050279240ae38aa6ce064) ) /* Priority (not used) */ + ROM_LOAD( "ta-16.21k", 0x0000, 0x0100, CRC(ad26e8d4) SHA1(827337aeb8904429a1c050279240ae38aa6ce064) ) /* Priority (not used) */ ROM_END @@ -4344,7 +4344,7 @@ uint16_t dec0_state::ffantasybl_242024_r() /******************************************************************************/ -// YEAR, NAME, PARENT, MACHINE, INPUT, STATE/DEVICE, INIT, MONITOR,COMPANY, FULLNAME, FLAGS +// YEAR, NAME, PARENT, MACHINE, INPUT, STATE/DEVICE, INIT, MONITOR,COMPANY, FULLNAME, FLAGS GAME( 1987, hbarrel, 0, hbarrel, hbarrel, dec0_state, init_hbarrel, ROT270, "Data East Corporation", "Heavy Barrel (World)", MACHINE_SUPPORTS_SAVE ) GAME( 1987, hbarrelu, hbarrel, hbarrel, hbarrel, dec0_state, init_hbarrel, ROT270, "Data East USA", "Heavy Barrel (US, revision 3)", MACHINE_SUPPORTS_SAVE ) GAME( 1987, hbarrelua, hbarrel, hbarrel, hbarrel, dec0_state, init_hbarrel, ROT270, "Data East USA", "Heavy Barrel (US, revision 1)", MACHINE_SUPPORTS_SAVE ) @@ -4379,16 +4379,16 @@ GAME( 1990, bouldashj, bouldash, slyspy, bouldash, slyspy_state, init_s // bootlegs // more or less just an unprotected versions of the game, everything intact -GAME( 1988, robocopb, robocop, robocopb, robocop, dec0_state, empty_init, ROT0, "bootleg", "Robocop (World bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, drgninjab, baddudes, drgninjab, drgninja, dec0_state, init_drgninja, ROT0, "bootleg", "Dragonninja (bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, robocopb, robocop, robocopb, robocop, dec0_state, empty_init, ROT0, "bootleg", "Robocop (World bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, drgninjab, baddudes, drgninjab, drgninja, dec0_state, init_drgninja, ROT0, "bootleg", "Dragonninja (bootleg)", MACHINE_SUPPORTS_SAVE ) // this is a common bootleg board -GAME( 1989, midresb, midres, midresb, midresb, dec0_state, empty_init, ROT0, "bootleg", "Midnight Resistance (bootleg with 68705)", MACHINE_SUPPORTS_SAVE ) // need to hook up 68705? (probably unused) -GAME( 1989, midresbj, midres, midresbj, midresb, dec0_state, empty_init, ROT0, "bootleg", "Midnight Resistance (Joystick bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, ffantasybl, hippodrm, ffantasybl, ffantasybl, dec0_state, empty_init, ROT0, "bootleg", "Fighting Fantasy (bootleg with 68705)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // 68705 not dumped, might be the same as midresb -GAME( 1988, drgninjab2, baddudes, drgninjab, drgninja, dec0_state, init_drgninja, ROT0, "bootleg", "Dragonninja (bootleg with 68705)", MACHINE_SUPPORTS_SAVE ) // is this the same board as above? (region warning hacked to World, but still shows Japanese text), 68705 dumped but not hooked up +GAME( 1989, midresb, midres, midresb, midresb, dec0_state, empty_init, ROT0, "bootleg", "Midnight Resistance (bootleg with 68705)", MACHINE_SUPPORTS_SAVE ) // need to hook up 68705? (probably unused) +GAME( 1989, midresbj, midres, midresbj, midresb, dec0_state, empty_init, ROT0, "bootleg", "Midnight Resistance (Joystick bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, ffantasybl, hippodrm, ffantasybl, ffantasybl, dec0_state, empty_init, ROT0, "bootleg", "Fighting Fantasy (bootleg with 68705)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // 68705 not dumped, might be the same as midresb +GAME( 1988, drgninjab2, baddudes, drgninjab, drgninja, dec0_state, init_drgninja, ROT0, "bootleg", "Dragonninja (bootleg with 68705)", MACHINE_SUPPORTS_SAVE ) // is this the same board as above? (region warning hacked to World, but still shows Japanese text), 68705 dumped but not hooked up // these are different to the above but quite similar to each other -GAME( 1988, automat, robocop, automat, robocop, dec0_automat_state, empty_init, ROT0, "bootleg", "Automat (bootleg of Robocop)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // sound rom / music from section z with mods for ADPCM? -GAME( 1989, secretab, secretag, secretab, slyspy, dec0_automat_state, empty_init, ROT0, "bootleg", "Secret Agent (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) -GAME( 1989, mastbond, secretag, secretab, slyspy, dec0_automat_state, empty_init, ROT0, "bootleg", "Master Bond (bootleg of Secret Agent)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, automat, robocop, automat, robocop, automat_state, empty_init, ROT0, "bootleg", "Automat (bootleg of Robocop)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // sound rom / music from section z with mods for ADPCM? +GAME( 1989, secretab, secretag, secretab, slyspy, automat_state, empty_init, ROT0, "bootleg", "Secret Agent (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1989, mastbond, secretag, secretab, slyspy, automat_state, empty_init, ROT0, "bootleg", "Master Bond (bootleg of Secret Agent)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/dataeast/dec0.h b/src/mame/dataeast/dec0.h index 9126007b9b8..82b3f8830cd 100644 --- a/src/mame/dataeast/dec0.h +++ b/src/mame/dataeast/dec0.h @@ -220,10 +220,10 @@ private: }; -class dec0_automat_state : public dec0_state +class automat_state : public dec0_state { public: - dec0_automat_state(const machine_config &mconfig, device_type type, const char *tag) : + automat_state(const machine_config &mconfig, device_type type, const char *tag) : dec0_state(mconfig, type, tag), m_msm(*this, "msm%u", 1U), m_adpcm_select(*this, "adpcm_select%u", 1U), diff --git a/src/mame/dataeast/dec0_v.cpp b/src/mame/dataeast/dec0_v.cpp index 269ec23eb1a..65c177bdb60 100644 --- a/src/mame/dataeast/dec0_v.cpp +++ b/src/mame/dataeast/dec0_v.cpp @@ -10,8 +10,6 @@ #include "dec0.h" -/******************************************************************************/ - /******************************************************************************/ void dec0_state::hbarrel_colpri_cb(u32 &colour, u32 &pri_mask) @@ -49,6 +47,7 @@ uint32_t dec0_state::screen_update_hbarrel(screen_device &screen, bitmap_ind16 & return 0; } + /******************************************************************************/ void dec0_state::baddudes_tile_cb(tile_data &tileinfo, u32 &tile, u32 &colour, u32 &flags) @@ -82,6 +81,7 @@ uint32_t dec0_state::screen_update_baddudes(screen_device &screen, bitmap_ind16 return 0; } + /******************************************************************************/ /* WARNING: inverted wrt Midnight Resistance */ @@ -129,7 +129,7 @@ uint32_t dec0_state::screen_update_robocop(screen_device &screen, bitmap_ind16 & return 0; } -uint32_t dec0_automat_state::screen_update_automat(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t automat_state::screen_update_automat(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { screen.priority().fill(0,cliprect); @@ -177,6 +177,7 @@ uint32_t dec0_automat_state::screen_update_automat(screen_device &screen, bitmap return 0; } + /******************************************************************************/ uint32_t dec0_state::screen_update_birdtry(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -195,6 +196,7 @@ uint32_t dec0_state::screen_update_birdtry(screen_device &screen, bitmap_ind16 & return 0; } + /******************************************************************************/ uint32_t slyspy_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -218,7 +220,7 @@ uint32_t slyspy_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap return 0; } -uint32_t dec0_automat_state::screen_update_secretab(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t automat_state::screen_update_secretab(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { // layer enables seem different... where are they? @@ -267,6 +269,7 @@ uint32_t dec0_automat_state::screen_update_secretab(screen_device &screen, bitma return 0; } + /******************************************************************************/ void dec0_state::priority_w(offs_t offset, uint16_t data, uint16_t mem_mask) @@ -307,5 +310,3 @@ VIDEO_START_MEMBER(dec0_state,slyspy) m_tilegen[1]->set_transmask(0, 0xffff, 0x0001); m_tilegen[1]->set_transmask(1, 0x00ff, 0xff01); } - -/******************************************************************************/