summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
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
commitb8e1ba0cbb648bcfce420d185e3720a1ca32e8bf (patch)
tree6db0a166d3e81733b323a8c150da57b1ec9e2eae /src/mame
parent62be5492ceb8e3dcc5a88a5a2e5e2bae48f22f0d (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.cpp13
-rw-r--r--src/mame/drivers/olibochu.cpp69
-rw-r--r--src/mame/drivers/osborne1.cpp3
-rw-r--r--src/mame/drivers/pacman.cpp59
-rw-r--r--src/mame/drivers/sm7238.cpp13
-rw-r--r--src/mame/drivers/vta2000.cpp12
-rw-r--r--src/mame/includes/pacman.h48
-rw-r--r--src/mame/machine/epos.h2
-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);