diff options
author | Vas Crabb <vas@vastheman.com> | 2019-11-19 13:34:49 +1100 |
---|---|---|
committer | Vas Crabb <vas@vastheman.com> | 2019-11-19 13:34:49 +1100 |
commit | b8e1ba0cbb648bcfce420d185e3720a1ca32e8bf (patch) | |
tree | 6db0a166d3e81733b323a8c150da57b1ec9e2eae /src/mame | |
parent | 62be5492ceb8e3dcc5a88a5a2e5e2bae48f22f0d (diff) |
misc cleanup: (nw)
* clean up some palettes
* clean up some bitscanning and indentation in olibuchu
* rename machine/epos.cpp to machine/pacman.cpp as it's unrelated to drivers/epos.cpp
* move epos-on-pacman members from pacman_state to derived epospm_state
Diffstat (limited to 'src/mame')
-rw-r--r-- | src/mame/drivers/ibm6580.cpp | 13 | ||||
-rw-r--r-- | src/mame/drivers/olibochu.cpp | 69 | ||||
-rw-r--r-- | src/mame/drivers/osborne1.cpp | 3 | ||||
-rw-r--r-- | src/mame/drivers/pacman.cpp | 59 | ||||
-rw-r--r-- | src/mame/drivers/sm7238.cpp | 13 | ||||
-rw-r--r-- | src/mame/drivers/vta2000.cpp | 12 | ||||
-rw-r--r-- | src/mame/includes/pacman.h | 48 | ||||
-rw-r--r-- | src/mame/machine/epos.h | 2 | ||||
-rw-r--r-- | src/mame/machine/pacman.cpp (renamed from src/mame/machine/epos.cpp) | 14 |
9 files changed, 105 insertions, 128 deletions
diff --git a/src/mame/drivers/ibm6580.cpp b/src/mame/drivers/ibm6580.cpp index 455fd084da2..55b5f520970 100644 --- a/src/mame/drivers/ibm6580.cpp +++ b/src/mame/drivers/ibm6580.cpp @@ -152,8 +152,6 @@ public: void ibm6580(machine_config &config); private: - void ibm6580_palette(palette_device &palette) const; - DECLARE_WRITE16_MEMBER(pic_latch_w); DECLARE_WRITE16_MEMBER(unk_latch_w); @@ -823,13 +821,6 @@ uint32_t ibm6580_state::screen_update(screen_device &screen, bitmap_ind16 &bitma } -void ibm6580_state::ibm6580_palette(palette_device &palette) const -{ - palette.set_pen_color(0, 0, 0, 0 ); // Black - palette.set_pen_color(1, 0, 192, 0 ); // Normal - palette.set_pen_color(2, 0, 255, 0 ); // Bright -} - void ibm6580_state::machine_start() { address_space &program = m_maincpu->space(AS_PROGRAM); @@ -879,7 +870,7 @@ void ibm6580_state::ibm6580(machine_config &config) RAM(config, RAM_TAG).set_default_size("128K").set_extra_options("160K,192K,224K,256K,320K,384K"); - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + SCREEN(config, m_screen, SCREEN_TYPE_RASTER, rgb_t::green()); m_screen->set_raw(25_MHz_XTAL / 2, 833, 0, 640, 428, 0, 400); m_screen->set_screen_update(FUNC(ibm6580_state::screen_update)); m_screen->set_palette("palette"); @@ -887,7 +878,7 @@ void ibm6580_state::ibm6580(machine_config &config) config.set_default_layout(layout_ibm6580); - PALETTE(config, "palette", FUNC(ibm6580_state::ibm6580_palette), 3); + PALETTE(config, "palette", palette_device::MONOCHROME_HIGHLIGHT); PIC8259(config, m_pic8259, 0); m_pic8259->out_int_callback().set_inputline(m_maincpu, 0); diff --git a/src/mame/drivers/olibochu.cpp b/src/mame/drivers/olibochu.cpp index 497d14a60b7..a2e433d9f69 100644 --- a/src/mame/drivers/olibochu.cpp +++ b/src/mame/drivers/olibochu.cpp @@ -80,6 +80,11 @@ public: void olibochu(machine_config &config); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + virtual void video_start() override; + private: /* memory pointers */ required_shared_ptr<uint8_t> m_videoram; @@ -97,15 +102,12 @@ private: tilemap_t *m_bg_tilemap; /* misc */ - int m_cmd; + uint16_t m_cmd; DECLARE_WRITE8_MEMBER(olibochu_videoram_w); DECLARE_WRITE8_MEMBER(olibochu_colorram_w); DECLARE_WRITE8_MEMBER(olibochu_flipscreen_w); DECLARE_WRITE8_MEMBER(sound_command_w); TILE_GET_INFO_MEMBER(get_bg_tile_info); - virtual void machine_start() override; - virtual void machine_reset() override; - virtual void video_start() override; void olibochu_palette(palette_device &palette) const; uint32_t screen_update_olibochu(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_DEVICE_CALLBACK_MEMBER(olibochu_scanline); @@ -187,20 +189,16 @@ void olibochu_state::video_start() void olibochu_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ) { - uint8_t *spriteram = m_spriteram; - uint8_t *spriteram_2 = m_spriteram2; - int offs; - /* 16x16 sprites */ - for (offs = 0; offs < m_spriteram.bytes(); offs += 4) + for (int offs = 0; offs < m_spriteram.bytes(); offs += 4) { - int attr = spriteram[offs + 1]; - int code = spriteram[offs]; + int attr = m_spriteram[offs + 1]; + int code = m_spriteram[offs]; int color = attr & 0x3f; int flipx = attr & 0x40; int flipy = attr & 0x80; - int sx = spriteram[offs + 3]; - int sy = ((spriteram[offs + 2] + 8) & 0xff) - 8; + int sx = m_spriteram[offs + 3]; + int sy = ((m_spriteram[offs + 2] + 8) & 0xff) - 8; if (flip_screen()) { @@ -210,23 +208,23 @@ void olibochu_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre flipy = !flipy; } - - m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, - code, color, - flipx, flipy, - sx, sy, 0); + m_gfxdecode->gfx(1)->transpen( + bitmap, cliprect, + code, color, + flipx, flipy, + sx, sy, 0); } /* 8x8 sprites */ - for (offs = 0; offs < m_spriteram2.bytes(); offs += 4) + for (int offs = 0; offs < m_spriteram2.bytes(); offs += 4) { - int attr = spriteram_2[offs + 1]; - int code = spriteram_2[offs]; + int attr = m_spriteram2[offs + 1]; + int code = m_spriteram2[offs]; int color = attr & 0x3f; int flipx = attr & 0x40; int flipy = attr & 0x80; - int sx = spriteram_2[offs + 3]; - int sy = spriteram_2[offs + 2]; + int sx = m_spriteram2[offs + 3]; + int sy = m_spriteram2[offs + 2]; if (flip_screen()) { @@ -236,11 +234,11 @@ void olibochu_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre flipy = !flipy; } - - m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, - code, color, - flipx, flipy, - sx, sy, 0); + m_gfxdecode->gfx(0)->transpen( + bitmap, cliprect, + code, color, + flipx, flipy, + sx, sy, 0); } } @@ -254,17 +252,14 @@ uint32_t olibochu_state::screen_update_olibochu(screen_device &screen, bitmap_in WRITE8_MEMBER(olibochu_state::sound_command_w) { - int c; - if (offset == 0) - m_cmd = (m_cmd & 0x00ff) | (data << 8); + m_cmd = (m_cmd & 0x00ff) | (uint16_t(data) << 8); else - m_cmd = (m_cmd & 0xff00) | data; - - for (c = 15; c >= 0; c--) - if (m_cmd & (1 << c)) break; + m_cmd = (m_cmd & 0xff00) | uint16_t(data); - if (c >= 0) m_soundlatch->write(15 - c); + unsigned c = count_leading_zeros(uint32_t(m_cmd)) - 16; + if (c < 16) + m_soundlatch->write(c); } @@ -473,7 +468,7 @@ void olibochu_state::olibochu(machine_config &config) audiocpu.set_addrmap(AS_PROGRAM, &olibochu_state::olibochu_sound_map); audiocpu.set_periodic_int(FUNC(olibochu_state::irq0_line_hold), attotime::from_hz(60)); //??? -// config.m_perfect_cpu_quantum = subtag("maincpu"); + //config.set_perfect_quantum(m_maincpu); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); diff --git a/src/mame/drivers/osborne1.cpp b/src/mame/drivers/osborne1.cpp index 91f0948b248..afa933e8de6 100644 --- a/src/mame/drivers/osborne1.cpp +++ b/src/mame/drivers/osborne1.cpp @@ -291,8 +291,7 @@ void osborne1_state::osborne1(machine_config &config) m_maincpu->set_addrmap(AS_IO, &osborne1_state::osborne1_io); m_maincpu->irqack_cb().set(FUNC(osborne1_state::irqack_w)); - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_color(rgb_t::green()); + SCREEN(config, m_screen, SCREEN_TYPE_RASTER, rgb_t::green()); m_screen->set_screen_update(FUNC(osborne1_state::screen_update)); m_screen->set_raw(MAIN_CLOCK, 1024, 0, 104*8, 260, 0, 24*10); m_screen->set_palette("palette"); diff --git a/src/mame/drivers/pacman.cpp b/src/mame/drivers/pacman.cpp index 1a3d3b12b2b..1d3473648b2 100644 --- a/src/mame/drivers/pacman.cpp +++ b/src/mame/drivers/pacman.cpp @@ -338,7 +338,6 @@ Boards: #include "emu.h" #include "includes/pacman.h" -#include "machine/epos.h" #include "machine/jumpshot.h" #include "machine/pacplus.h" @@ -1175,12 +1174,12 @@ void pacman_state::dremshpr_map(address_map &map) } -void pacman_state::epos_map(address_map &map) +void epospm_state::epos_map(address_map &map) { map(0x0000, 0x3fff).mirror(0x8000).bankr("bank1"); - map(0x4000, 0x43ff).mirror(0xa000).ram().w(FUNC(pacman_state::pacman_videoram_w)).share("videoram"); - map(0x4400, 0x47ff).mirror(0xa000).ram().w(FUNC(pacman_state::pacman_colorram_w)).share("colorram"); - map(0x4800, 0x4bff).mirror(0xa000).r(FUNC(pacman_state::pacman_read_nop)).nopw(); + map(0x4000, 0x43ff).mirror(0xa000).ram().w(FUNC(epospm_state::pacman_videoram_w)).share("videoram"); + map(0x4400, 0x47ff).mirror(0xa000).ram().w(FUNC(epospm_state::pacman_colorram_w)).share("colorram"); + map(0x4800, 0x4bff).mirror(0xa000).r(FUNC(epospm_state::pacman_read_nop)).nopw(); map(0x4c00, 0x4fef).mirror(0xa000).ram(); map(0x4ff0, 0x4fff).mirror(0xa000).ram().share("spriteram"); map(0x5000, 0x5007).mirror(0xaf38).w(m_mainlatch, FUNC(ls259_device::write_d0)); @@ -1398,10 +1397,10 @@ void pacman_state::nmouse_portmap(address_map &map) map(0x00, 0x00).w(FUNC(pacman_state::nmouse_interrupt_vector_w)); } -void pacman_state::epos_portmap(address_map &map) +void epospm_state::epos_portmap(address_map &map) { writeport(map); - map(0x00, 0xff).r(FUNC(pacman_state::epos_decryption_w)); /* Switch protection logic */ + map(0x00, 0xff).r(FUNC(epospm_state::epos_decryption_w)); /* Switch protection logic */ } void pacman_state::mschamp_portmap(address_map &map) @@ -3687,42 +3686,42 @@ void pacman_state::dremshpr(machine_config &config) } -void pacman_state::theglobp(machine_config &config) +void epospm_state::theglobp(machine_config &config) { pacman(config); /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &pacman_state::epos_map); - m_maincpu->set_addrmap(AS_IO, &pacman_state::epos_portmap); + m_maincpu->set_addrmap(AS_PROGRAM, &epospm_state::epos_map); + m_maincpu->set_addrmap(AS_IO, &epospm_state::epos_portmap); - MCFG_MACHINE_START_OVERRIDE(pacman_state,theglobp) - MCFG_MACHINE_RESET_OVERRIDE(pacman_state,theglobp) + MCFG_MACHINE_START_OVERRIDE(epospm_state,theglobp) + MCFG_MACHINE_RESET_OVERRIDE(epospm_state,theglobp) } -void pacman_state::acitya(machine_config &config) +void epospm_state::acitya(machine_config &config) { pacman(config); /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &pacman_state::epos_map); - m_maincpu->set_addrmap(AS_IO, &pacman_state::epos_portmap); + m_maincpu->set_addrmap(AS_PROGRAM, &epospm_state::epos_map); + m_maincpu->set_addrmap(AS_IO, &epospm_state::epos_portmap); - MCFG_MACHINE_START_OVERRIDE(pacman_state,acitya) - MCFG_MACHINE_RESET_OVERRIDE(pacman_state,acitya) + MCFG_MACHINE_START_OVERRIDE(epospm_state,acitya) + MCFG_MACHINE_RESET_OVERRIDE(epospm_state,acitya) } -void pacman_state::eeekkp(machine_config &config) +void epospm_state::eeekkp(machine_config &config) { pacman(config); /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &pacman_state::epos_map); - m_maincpu->set_addrmap(AS_IO, &pacman_state::epos_portmap); + m_maincpu->set_addrmap(AS_PROGRAM, &epospm_state::epos_map); + m_maincpu->set_addrmap(AS_IO, &epospm_state::epos_portmap); - MCFG_MACHINE_START_OVERRIDE(pacman_state,eeekkp) - MCFG_MACHINE_RESET_OVERRIDE(pacman_state,eeekkp) + MCFG_MACHINE_START_OVERRIDE(epospm_state,eeekkp) + MCFG_MACHINE_RESET_OVERRIDE(epospm_state,eeekkp) } @@ -7711,15 +7710,15 @@ GAME( 1983, vanvan, 0, vanvan, vanvan, pacman_state, empty_init, GAME( 1983, vanvank, vanvan, vanvan, vanvank, pacman_state, empty_init, ROT270, "Sanritsu (Karateco license?)", "Van-Van Car (Karateco set 1)", MACHINE_SUPPORTS_SAVE ) // or bootleg? GAME( 1983, vanvanb, vanvan, vanvan, vanvank, pacman_state, empty_init, ROT270, "Sanritsu (Karateco license?)", "Van-Van Car (Karateco set 2)", MACHINE_SUPPORTS_SAVE ) // " -GAME( 1983, bwcasino, 0, acitya, bwcasino, pacman_state, empty_init, ROT90, "Epos Corporation", "Boardwalk Casino", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, acitya, bwcasino, acitya, acitya, pacman_state, empty_init, ROT90, "Epos Corporation", "Atlantic City Action", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, bwcasino, 0, acitya, bwcasino, epospm_state, empty_init, ROT90, "Epos Corporation", "Boardwalk Casino", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, acitya, bwcasino, acitya, acitya, epospm_state, empty_init, ROT90, "Epos Corporation", "Atlantic City Action", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, theglobp, suprglob, theglobp, theglobp, pacman_state, empty_init, ROT90, "Epos Corporation", "The Glob (Pac-Man hardware)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, sprglobp, suprglob, theglobp, theglobp, pacman_state, empty_init, ROT90, "Epos Corporation", "Super Glob (Pac-Man hardware)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, sprglbpg, suprglob, pacman, theglobp, pacman_state, empty_init, ROT90, "bootleg (Software Labor)", "Super Glob (Pac-Man hardware) (German bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, theglobme,suprglob, woodpek, theglobp, pacman_state, empty_init, ROT90, "Magic Electronics Inc.", "The Glob (Pacman hardware, Magic Electronics Inc. license)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, beastfp, suprglob, theglobp, theglobp, pacman_state, empty_init, ROT90, "Epos Corporation", "Beastie Feastie (Pac-Man conversion)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, eeekkp, eeekk, eeekkp, eeekkp, pacman_state, empty_init, ROT90, "Epos Corporation", "Eeekk! (Pac-Man conversion)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, theglobp, suprglob, theglobp, theglobp, epospm_state, empty_init, ROT90, "Epos Corporation", "The Glob (Pac-Man hardware)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, sprglobp, suprglob, theglobp, theglobp, epospm_state, empty_init, ROT90, "Epos Corporation", "Super Glob (Pac-Man hardware)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, sprglbpg, suprglob, pacman, theglobp, epospm_state, empty_init, ROT90, "bootleg (Software Labor)", "Super Glob (Pac-Man hardware) (German bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, theglobme,suprglob, woodpek, theglobp, epospm_state, empty_init, ROT90, "Magic Electronics Inc.", "The Glob (Pacman hardware, Magic Electronics Inc. license)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, beastfp, suprglob, theglobp, theglobp, epospm_state, empty_init, ROT90, "Epos Corporation", "Beastie Feastie (Pac-Man conversion)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, eeekkp, eeekk, eeekkp, eeekkp, epospm_state, empty_init, ROT90, "Epos Corporation", "Eeekk! (Pac-Man conversion)", MACHINE_SUPPORTS_SAVE ) GAME( 1984, drivfrcp, 0, drivfrcp, drivfrcp, pacman_state, init_drivfrcp, ROT90, "Shinkai Inc. (Magic Electronics Inc. license)", "Driving Force (Pac-Man conversion)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/sm7238.cpp b/src/mame/drivers/sm7238.cpp index bf48ae3fcb2..9b86da964d7 100644 --- a/src/mame/drivers/sm7238.cpp +++ b/src/mame/drivers/sm7238.cpp @@ -73,8 +73,6 @@ public: void sm7238(machine_config &config); private: - void sm7238_palette(palette_device &palette) const; - DECLARE_WRITE_LINE_MEMBER(write_keyboard_clock); DECLARE_WRITE_LINE_MEMBER(write_printer_clock); @@ -354,13 +352,6 @@ static GFXDECODE_START( gfx_sm7238 ) GFXDECODE_ENTRY("chargen", 0x0000, sm7238_charlayout, 0, 1) GFXDECODE_END -void sm7238_state::sm7238_palette(palette_device &palette) const -{ - palette.set_pen_color(0, rgb_t::black()); - palette.set_pen_color(1, 0x00, 0xc0, 0x00); // green - palette.set_pen_color(2, 0x00, 0xff, 0x00); // highlight -} - void sm7238_state::sm7238(machine_config &config) { I8080(config, m_maincpu, 16.5888_MHz_XTAL/9); @@ -372,13 +363,13 @@ void sm7238_state::sm7238(machine_config &config) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + SCREEN(config, m_screen, SCREEN_TYPE_RASTER, rgb_t::green()); m_screen->set_raw(20.625_MHz_XTAL, KSM_TOTAL_HORZ, 0, KSM_DISP_HORZ, KSM_TOTAL_VERT, 0, KSM_DISP_VERT); m_screen->set_screen_update(FUNC(sm7238_state::screen_update)); m_screen->screen_vblank().set(m_pic8259, FUNC(pic8259_device::ir2_w)); m_screen->set_palette("palette"); - PALETTE(config, "palette", FUNC(sm7238_state::sm7238_palette), 3); + PALETTE(config, "palette", palette_device::MONOCHROME_HIGHLIGHT); GFXDECODE(config, "gfxdecode", "palette", gfx_sm7238); PIC8259(config, m_pic8259, 0); diff --git a/src/mame/drivers/vta2000.cpp b/src/mame/drivers/vta2000.cpp index a243bbaa29d..23e2226eafe 100644 --- a/src/mame/drivers/vta2000.cpp +++ b/src/mame/drivers/vta2000.cpp @@ -47,7 +47,6 @@ private: DECLARE_WRITE_LINE_MEMBER(speaker_w); uint32_t screen_update_vta2000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void vta2000_palette(palette_device &palette) const; void mem_map(address_map &map); void io_map(address_map &map); @@ -181,13 +180,6 @@ static GFXDECODE_START( gfx_vta2000 ) GFXDECODE_ENTRY( "chargen", 0x0000, vta2000_charlayout, 0, 1 ) GFXDECODE_END -void vta2000_state::vta2000_palette(palette_device &palette) const -{ - palette.set_pen_color(0, rgb_t::black()); - palette.set_pen_color(1, 0x00, 0xc0, 0x00); // green - palette.set_pen_color(2, 0x00, 0xff, 0x00); // highlight -} - void vta2000_state::vta2000(machine_config &config) { /* basic machine hardware */ @@ -214,7 +206,7 @@ void vta2000_state::vta2000(machine_config &config) brgpit.out_handler<1>().set("usart", FUNC(i8251_device::write_txc)); // or vice versa? /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green())); screen.set_refresh_hz(50); screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ screen.set_size(80*8, 25*12); @@ -222,7 +214,7 @@ void vta2000_state::vta2000(machine_config &config) screen.set_screen_update(FUNC(vta2000_state::screen_update_vta2000)); screen.set_palette("palette"); - PALETTE(config, "palette", FUNC(vta2000_state::vta2000_palette), 3); + PALETTE(config, "palette", palette_device::MONOCHROME_HIGHLIGHT); GFXDECODE(config, "gfxdecode", "palette", gfx_vta2000); SPEAKER(config, "mono").front_center(); diff --git a/src/mame/includes/pacman.h b/src/mame/includes/pacman.h index 70f7e66659e..fc45c05f8fc 100644 --- a/src/mame/includes/pacman.h +++ b/src/mame/includes/pacman.h @@ -37,8 +37,7 @@ public: , m_palette(*this, "palette") { } - required_device<cpu_device> m_maincpu; - +protected: void _8bpm_portmap(address_map &map); void alibaba_map(address_map &map); void bigbucks_map(address_map &map); @@ -49,8 +48,6 @@ public: void dremshpr_map(address_map &map); void dremshpr_portmap(address_map &map); void drivfrcp_portmap(address_map &map); - void epos_map(address_map &map); - void epos_portmap(address_map &map); void mschamp_map(address_map &map); void mschamp_portmap(address_map &map); void mspacman_map(address_map &map); @@ -67,7 +64,8 @@ public: void vanvan_portmap(address_map &map); void woodpek_map(address_map &map); void writeport(address_map &map); -protected: + + required_device<cpu_device> m_maincpu; optional_device<ls259_device> m_mainlatch; optional_device<namco_device> m_namco_sound; required_device<watchdog_timer_device> m_watchdog; @@ -99,7 +97,6 @@ protected: uint8_t m_maketrax_offset; int m_maketrax_disable_protection; -public: uint8_t m_irq_mask; DECLARE_WRITE8_MEMBER(pacman_interrupt_vector_w); @@ -158,6 +155,8 @@ public: DECLARE_WRITE8_MEMBER(jrpacman_scroll_w); DECLARE_WRITE_LINE_MEMBER(jrpacman_bgpriority_w); DECLARE_WRITE8_MEMBER(superabc_bank_w); + +public: void init_maketrax(); void init_drivfrcp(); void init_mspacmbe(); @@ -177,6 +176,8 @@ public: void init_mbrush(); void init_pengomc1(); void init_clubpacma(); + +protected: TILEMAP_MAPPER_MEMBER(pacman_scan_rows); TILE_GET_INFO_MEMBER(pacman_get_tile_info); TILE_GET_INFO_MEMBER(s2650_get_tile_info); @@ -206,28 +207,16 @@ private: void mspacman_install_patches(uint8_t *ROM); public: - // epos.c - DECLARE_READ8_MEMBER(epos_decryption_w); - DECLARE_MACHINE_START(theglobp); - DECLARE_MACHINE_RESET(theglobp); - DECLARE_MACHINE_START(eeekkp); - DECLARE_MACHINE_RESET(eeekkp); - DECLARE_MACHINE_START(acitya); - DECLARE_MACHINE_RESET(acitya); - void birdiy(machine_config &config); void rocktrv2(machine_config &config); void mspacman(machine_config &config); void dremshpr(machine_config &config); void mschamp(machine_config &config); - void acitya(machine_config &config); - void theglobp(machine_config &config); void nmouse(machine_config &config); void vanvan(machine_config &config); void s2650games(machine_config &config); void woodpek(machine_config &config); void crushs(machine_config &config); - void eeekkp(machine_config &config); void superabc(machine_config &config); void numcrash(machine_config &config); void crush4(machine_config &config); @@ -252,4 +241,27 @@ private: void jumpshot_decode(); }; + +class epospm_state : public pacman_state +{ +public: + using pacman_state::pacman_state; + + void acitya(machine_config &config); + void theglobp(machine_config &config); + void eeekkp(machine_config &config); + +protected: + DECLARE_READ8_MEMBER(epos_decryption_w); + DECLARE_MACHINE_START(theglobp); + DECLARE_MACHINE_RESET(theglobp); + DECLARE_MACHINE_START(eeekkp); + DECLARE_MACHINE_RESET(eeekkp); + DECLARE_MACHINE_START(acitya); + DECLARE_MACHINE_RESET(acitya); + + void epos_map(address_map &map); + void epos_portmap(address_map &map); +}; + #endif // MAME_INCLUDES_PACMAN_H diff --git a/src/mame/machine/epos.h b/src/mame/machine/epos.h deleted file mode 100644 index 6d2f3b8a4dd..00000000000 --- a/src/mame/machine/epos.h +++ /dev/null @@ -1,2 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Nicola Salmoria diff --git a/src/mame/machine/epos.cpp b/src/mame/machine/pacman.cpp index f997d4173e0..fdea0795787 100644 --- a/src/mame/machine/epos.cpp +++ b/src/mame/machine/pacman.cpp @@ -4,7 +4,7 @@ #include "emu.h" #include "includes/pacman.h" -READ8_MEMBER(pacman_state::epos_decryption_w) +READ8_MEMBER(epospm_state::epos_decryption_w) { if (offset & 0x01) { @@ -99,7 +99,7 @@ each IN($xx) command, as opposed to dynamically decrypting every byte. */ -MACHINE_START_MEMBER(pacman_state, theglobp) +MACHINE_START_MEMBER(epospm_state, theglobp) { /* Note: D2 is inverted and connected to D1, D5 is inverted and connected to D0. The other six data bits are converted by a @@ -127,7 +127,7 @@ MACHINE_START_MEMBER(pacman_state, theglobp) save_item(NAME(m_counter)); } -MACHINE_RESET_MEMBER(pacman_state, theglobp) +MACHINE_RESET_MEMBER(epospm_state, theglobp) { m_counter = 0x0A; membank("bank1")->set_entry(m_counter & 3); @@ -145,7 +145,7 @@ David Widel d_widel@hotmail.com */ -MACHINE_START_MEMBER(pacman_state, acitya) +MACHINE_START_MEMBER(epospm_state, acitya) { /* Note: D2 is inverted and connected to D1, D5 is inverted and connected to D0. The other six data bits are converted by a @@ -173,14 +173,14 @@ MACHINE_START_MEMBER(pacman_state, acitya) save_item(NAME(m_counter)); } -MACHINE_RESET_MEMBER(pacman_state, acitya) +MACHINE_RESET_MEMBER(epospm_state, acitya) { m_counter = 0x0B; membank("bank1")->set_entry(m_counter & 3); } -MACHINE_START_MEMBER(pacman_state, eeekkp) +MACHINE_START_MEMBER(epospm_state, eeekkp) { /* Note: D2 is inverted and connected to D1, D5 is inverted and connected to D0. The other six data bits are converted by a @@ -208,7 +208,7 @@ MACHINE_START_MEMBER(pacman_state, eeekkp) save_item(NAME(m_counter)); } -MACHINE_RESET_MEMBER(pacman_state, eeekkp) +MACHINE_RESET_MEMBER(epospm_state, eeekkp) { m_counter = 0x09; membank("bank1")->set_entry(m_counter & 3); |