summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Angelo Salese <lordkale4@gmail.com>2019-07-26 13:19:00 +0200
committer Angelo Salese <lordkale4@gmail.com>2019-07-26 13:19:00 +0200
commite724f4d7e60c266138b1ab4ffd6cd2bb81858682 (patch)
treef725bedb34b21fd817e3d0a77ce4d23e59d85fd8
parent2f87f4051646fe6c2604424d9fdae29d89339611 (diff)
nemesis.cpp: convert to screen raw params [Angelo Salese]
-rw-r--r--src/mame/drivers/nemesis.cpp56
-rw-r--r--src/mame/includes/nemesis.h1
2 files changed, 17 insertions, 40 deletions
diff --git a/src/mame/drivers/nemesis.cpp b/src/mame/drivers/nemesis.cpp
index 258dd282dd9..ad95c25bebf 100644
--- a/src/mame/drivers/nemesis.cpp
+++ b/src/mame/drivers/nemesis.cpp
@@ -1703,6 +1703,12 @@ void nemesis_state::machine_reset()
m_irq_port_last = 0;
}
+void nemesis_state::set_screen_raw_params(machine_config &config)
+{
+ // 60.606060 Hz for 256x224
+ m_screen->set_raw(XTAL(18432000.0)/4,288,0,256,264,2*8,30*8);
+}
+
void nemesis_state::nemesis(machine_config &config)
{
/* basic machine hardware */
@@ -1727,10 +1733,7 @@ void nemesis_state::nemesis(machine_config &config)
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz((18432000.0/4)/(288*264)); /* ??? */
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ set_screen_raw_params(config);
m_screen->set_screen_update(FUNC(nemesis_state::screen_update_nemesis));
m_screen->set_palette(m_palette);
m_screen->screen_vblank().set(FUNC(nemesis_state::nemesis_vblank_irq));
@@ -1794,10 +1797,7 @@ void nemesis_state::gx400(machine_config &config)
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz((18432000.0/4)/(288*264)); /* 60.606060 Hz */
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ set_screen_raw_params(config);
m_screen->set_screen_update(FUNC(nemesis_state::screen_update_nemesis));
m_screen->set_palette(m_palette);
m_screen->screen_vblank().set_inputline("audiocpu", INPUT_LINE_NMI);
@@ -1864,10 +1864,7 @@ void nemesis_state::konamigt(machine_config &config)
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz((18432000.0/4)/(288*264)); /* 60.606060 Hz */
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ set_screen_raw_params(config);
m_screen->set_screen_update(FUNC(nemesis_state::screen_update_nemesis));
m_screen->set_palette(m_palette);
@@ -1930,10 +1927,7 @@ void nemesis_state::rf2_gx400(machine_config &config)
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz((18432000.0/4)/(288*264)); /* 60.606060 Hz */
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ set_screen_raw_params(config);
m_screen->set_screen_update(FUNC(nemesis_state::screen_update_nemesis));
m_screen->set_palette(m_palette);
m_screen->screen_vblank().set_inputline("audiocpu", INPUT_LINE_NMI);
@@ -1989,10 +1983,7 @@ void nemesis_state::salamand(machine_config &config)
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
- m_screen->set_refresh_hz((18432000.0/4)/(288*264)); /* 60.606060 Hz */
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC((264-256)*125/2));
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ set_screen_raw_params(config);
m_screen->set_screen_update(FUNC(nemesis_state::screen_update_nemesis));
m_screen->set_palette(m_palette);
m_screen->screen_vblank().set(FUNC(nemesis_state::nemesis_vblank_irq));
@@ -2039,10 +2030,7 @@ void nemesis_state::blkpnthr(machine_config &config)
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
- m_screen->set_refresh_hz((18432000.0/4)/(288*264)); /* 60.606060 Hz */
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ set_screen_raw_params(config);
m_screen->set_screen_update(FUNC(nemesis_state::screen_update_nemesis));
m_screen->set_palette(m_palette);
m_screen->screen_vblank().set(FUNC(nemesis_state::blkpnthr_vblank_irq));
@@ -2084,10 +2072,7 @@ void nemesis_state::citybomb(machine_config &config)
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
- m_screen->set_refresh_hz((18432000.0/4)/(288*264)); /* 60.606060 Hz */
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ set_screen_raw_params(config);
m_screen->set_screen_update(FUNC(nemesis_state::screen_update_nemesis));
m_screen->set_palette(m_palette);
m_screen->screen_vblank().set(FUNC(nemesis_state::nemesis_vblank_irq));
@@ -2133,10 +2118,7 @@ void nemesis_state::nyanpani(machine_config &config)
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
- m_screen->set_refresh_hz((18432000.0/4)/(288*264)); /* 60.606060 Hz */
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ set_screen_raw_params(config);
m_screen->set_screen_update(FUNC(nemesis_state::screen_update_nemesis));
m_screen->set_palette(m_palette);
m_screen->screen_vblank().set(FUNC(nemesis_state::nemesis_vblank_irq));
@@ -2187,10 +2169,7 @@ void nemesis_state::hcrash(machine_config &config)
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz((18432000.0/4)/(288*264)); /* 60.606060 Hz */
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ set_screen_raw_params(config);
m_screen->set_screen_update(FUNC(nemesis_state::screen_update_nemesis));
m_screen->set_palette(m_palette);
@@ -2954,10 +2933,7 @@ void nemesis_state::bubsys(machine_config &config)
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz((18432000.0/4)/(288*264)); /* 60.606060 Hz */
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ set_screen_raw_params(config);
m_screen->set_screen_update(FUNC(nemesis_state::screen_update_nemesis));
m_screen->set_palette(m_palette);
//m_screen->screen_vblank().set_inputline("audiocpu", INPUT_LINE_NMI); // TODO: This is supposed to be gated by something on bubble system, unclear what. it should only be active while the bubble memory is warming up, and disabled after the bubble mcu 'releases' the 68k from reset.
diff --git a/src/mame/includes/nemesis.h b/src/mame/includes/nemesis.h
index c9a43a26617..4f5b0df3c80 100644
--- a/src/mame/includes/nemesis.h
+++ b/src/mame/includes/nemesis.h
@@ -158,6 +158,7 @@ private:
void nemesis_postload();
void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect );
DECLARE_WRITE8_MEMBER(volume_callback);
+ void set_screen_raw_params(machine_config &config);
void blkpnthr_map(address_map &map);
void blkpnthr_sound_map(address_map &map);