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
This commit is contained in:
Vas Crabb 2019-11-19 13:34:49 +11:00
parent 62be5492ce
commit b8e1ba0cbb
10 changed files with 106 additions and 130 deletions

View File

@ -3203,9 +3203,8 @@ files {
MAME_DIR .. "src/mame/drivers/jrpacman.cpp",
MAME_DIR .. "src/mame/drivers/pacman.cpp",
MAME_DIR .. "src/mame/includes/pacman.h",
MAME_DIR .. "src/mame/machine/pacman.cpp",
MAME_DIR .. "src/mame/video/pacman.cpp",
MAME_DIR .. "src/mame/machine/epos.cpp",
MAME_DIR .. "src/mame/machine/epos.h",
MAME_DIR .. "src/mame/machine/jumpshot.cpp",
MAME_DIR .. "src/mame/machine/jumpshot.h",
MAME_DIR .. "src/mame/machine/pacplus.cpp",

View File

@ -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);

View File

@ -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;
m_cmd = (m_cmd & 0xff00) | uint16_t(data);
for (c = 15; c >= 0; c--)
if (m_cmd & (1 << c)) break;
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));

View File

@ -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");

View File

@ -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 )

View File

@ -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);

View File

@ -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();

View File

@ -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

View File

@ -1,2 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Nicola Salmoria

View File

@ -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);