mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
dec0: small cleanup,
darwin: remove comment about prom, 0xf0 is definitely bitrot
This commit is contained in:
parent
50e81bdee7
commit
08e15b36d3
@ -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
|
||||
|
@ -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 )
|
||||
|
@ -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),
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
Loading…
Reference in New Issue
Block a user