summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2022-12-31 21:42:27 +0100
committer hap <happppp@users.noreply.github.com>2022-12-31 21:42:27 +0100
commitf22844c6f3717ec1ea808d16159c46c99348b64a (patch)
tree446b42b172afad2e37ab98be2c3e6d3724f92cf8
parent0e56ddc1e9d342c3df768dbb569c611e577630f8 (diff)
m11: assume video timing is same as m15
-rw-r--r--src/emu/xtal.cpp1
-rw-r--r--src/mame/irem/m10.cpp19
-rw-r--r--src/mame/irem/m10.h20
3 files changed, 22 insertions, 18 deletions
diff --git a/src/emu/xtal.cpp b/src/emu/xtal.cpp
index 30d9a9d9f4c..af4275a5683 100644
--- a/src/emu/xtal.cpp
+++ b/src/emu/xtal.cpp
@@ -197,6 +197,7 @@ const double XTAL::known_xtals[] = {
11'289'600, /* 11.2896_MHz_XTAL Frantic Fred */
11'400'000, /* 11.4_MHz_XTAL HP 9845 */
11'668'800, /* 11.6688_MHz_XTAL Gameplan pixel clock */
+ 11'730'000, /* 11.73_MHz_XTAL Irem M-11 */
11'800'000, /* 11.8_MHz_XTAL IBM PC Music Feature Card */
11'980'800, /* 11.9808_MHz_XTAL Luxor ABC 80 */
12'000'000, /* 12_MHz_XTAL Extremely common, used on 100's of PCBs */
diff --git a/src/mame/irem/m10.cpp b/src/mame/irem/m10.cpp
index 87cd88e28bc..36c2fbc9ab4 100644
--- a/src/mame/irem/m10.cpp
+++ b/src/mame/irem/m10.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Lee Taylor, Couriersud
/***************************************************************************
- Irem M10/M11/M15 hardware
+ Irem M-10 / M-11 / M-15 hardware
****************************************************************************
@@ -15,7 +15,6 @@ Notes:
TODO:
- DIP switches
-- M-11 XTAL is 11.73MHz, what about M-10? is 12.5MHz verified?
- andromed M-29S starfield
- andromed coin is always 2 credits?
@@ -88,16 +87,15 @@ Notes:
C1815: Transistor (x9)
TA7222: Power Amp
-***************************************************************************/
+****************************************************************************
-/***************************************************************************
Notes (couriersud)
From http://www.crazykong.com/tech/IremBoardList.txt
+ ipminvad: M-10L + M-10S (also exists on M-11 hw)
+ andromed: M-11L + M-11S + M-29S
skychut: M-11 (?)
- andromed: N/A
- ipminvad: N/A
spacbeam: not listed
headon: not listed
greenber: M-15T, M-24S
@@ -884,6 +882,9 @@ void m10_state::m11(machine_config &config)
{
m10(config);
+ m_maincpu->set_clock(IREMM11_CPU_CLOCK);
+ m_screen->set_raw(IREMM11_PIXEL_CLOCK, IREMM11_HTOTAL, IREMM11_HBEND, IREMM11_HBSTART, IREMM11_VTOTAL, IREMM11_VBEND, IREMM11_VBSTART);
+
// basic machine hardware
m_maincpu->set_addrmap(AS_PROGRAM, &m10_state::m11_main);
@@ -894,13 +895,13 @@ void m10_state::m11(machine_config &config)
void m15_state::m15(machine_config &config)
{
// basic machine hardware
- M6502(config, m_maincpu, IREMM15_CPU_CLOCK);
+ M6502(config, m_maincpu, IREMM11_CPU_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &m15_state::m15_main);
m_maincpu->set_vblank_int("screen", FUNC(m15_state::interrupt));
// video hardware
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(IREMM15_PIXEL_CLOCK, IREMM15_HTOTAL, IREMM15_HBEND, IREMM15_HBSTART, IREMM15_VTOTAL, IREMM15_VBEND, IREMM15_VBSTART);
+ m_screen->set_raw(IREMM11_PIXEL_CLOCK, IREMM11_HTOTAL, IREMM11_HBEND, IREMM11_HBSTART, IREMM11_VTOTAL, IREMM11_VBEND, IREMM11_VBSTART);
m_screen->set_screen_update(FUNC(m15_state::screen_update));
m_screen->set_palette(m_palette);
@@ -1030,8 +1031,10 @@ ROM_END
// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME, FLAGS
GAME( 1979, ipminvad, 0, m10, ipminvad, m10_state, empty_init, ROT270, "IPM", "IPM Invader (set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
GAME( 1979, ipminvad1, ipminvad, m10, ipminvad, m10_state, empty_init, ROT270, "IPM", "IPM Invader (set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // incomplete dump
+
GAME( 1980, andromed, 0, m11, andromed, m10_state, empty_init, ROT270, "Irem", "Andromeda SS (Japan?)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) // export version known as simply "Andromeda"
GAME( 1980, skychut, 0, m11, skychut, m10_state, empty_init, ROT270, "Irem", "Sky Chuter", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
+
GAME( 1979, headoni, 0, m15, headoni, m15_state, empty_init, ROT270, "Irem", "Head On (Irem, M-15 Hardware)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
GAME( 1979, spacbeam, 0, m15, spacbeam, m15_state, empty_init, ROT270, "Irem", "Space Beam", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) // IPM or Irem?
GAME( 1980, greenber, 0, m15, greenber, m15_state, empty_init, ROT270, "Irem", "Green Beret (Irem)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/irem/m10.h b/src/mame/irem/m10.h
index fb5b6c7e2e5..2d90c162f1c 100644
--- a/src/mame/irem/m10.h
+++ b/src/mame/irem/m10.h
@@ -18,7 +18,7 @@
#include "screen.h"
#include "tilemap.h"
-#define IREMM10_MASTER_CLOCK (12500000)
+#define IREMM10_MASTER_CLOCK 12.5_MHz_XTAL
#define IREMM10_CPU_CLOCK (IREMM10_MASTER_CLOCK/16)
#define IREMM10_PIXEL_CLOCK (IREMM10_MASTER_CLOCK/2)
@@ -29,16 +29,16 @@
#define IREMM10_VBSTART (240)
#define IREMM10_VBEND (16)
-#define IREMM15_MASTER_CLOCK (11730000)
+#define IREMM11_MASTER_CLOCK 11.73_MHz_XTAL
-#define IREMM15_CPU_CLOCK (IREMM15_MASTER_CLOCK/16)
-#define IREMM15_PIXEL_CLOCK (IREMM15_MASTER_CLOCK/2)
-#define IREMM15_HTOTAL (372)
-#define IREMM15_HBSTART (256)
-#define IREMM15_HBEND (0)
-#define IREMM15_VTOTAL (262)
-#define IREMM15_VBSTART (240)
-#define IREMM15_VBEND (16)
+#define IREMM11_CPU_CLOCK (IREMM11_MASTER_CLOCK/16)
+#define IREMM11_PIXEL_CLOCK (IREMM11_MASTER_CLOCK/2)
+#define IREMM11_HTOTAL (372)
+#define IREMM11_HBSTART (256)
+#define IREMM11_HBEND (0)
+#define IREMM11_VTOTAL (262)
+#define IREMM11_VBSTART (240)
+#define IREMM11_VBEND (16)
class m1x_state : public driver_device
{