summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author David Haywood <mamehaze@users.noreply.github.com>2015-10-09 14:30:50 +0100
committer David Haywood <mamehaze@users.noreply.github.com>2015-10-09 14:30:50 +0100
commit8c3375affa313bb841d993d705a370f0999c57a4 (patch)
tree8acf6b6cf471dc3b9d644155340d2ba35cb46643
parentfb989bb821f049bc41d537a0421e73b8798d48ac (diff)
parentfeef4e980ecc5d2d08cd9c40d1e6f081896fc786 (diff)
Merge branch 'master' of https://github.com/mamedev/mame
-rw-r--r--makefile8
-rw-r--r--scripts/genie.lua10
-rw-r--r--scripts/src/devices.lua5
-rw-r--r--scripts/src/main.lua14
-rw-r--r--src/emu/screen.c15
-rw-r--r--src/emu/screen.h5
-rw-r--r--src/emu/validity.h1
-rw-r--r--src/mame/drivers/battlex.c1
-rw-r--r--src/mame/drivers/changela.c1
-rw-r--r--src/mame/drivers/ddenlovr.c1
-rw-r--r--src/mame/drivers/dkong.c9
-rw-r--r--src/mame/drivers/dynax.c5
-rw-r--r--src/mame/drivers/flstory.c1
-rw-r--r--src/mame/drivers/galaxold.c1
-rw-r--r--src/mame/drivers/looping.c1
-rw-r--r--src/mame/drivers/m63.c1
-rw-r--r--src/mame/drivers/mario.c2
-rw-r--r--src/mame/drivers/namcos86.c7
-rw-r--r--src/mame/drivers/nbmj8688.c3
-rw-r--r--src/mame/drivers/nbmj8891.c6
-rw-r--r--src/mame/drivers/nbmj8991.c8
-rw-r--r--src/mame/drivers/scobra.c3
-rw-r--r--src/mame/drivers/skykid.c1
-rw-r--r--src/mame/drivers/speedspn.c1
-rw-r--r--src/mame/drivers/sprint4.c1
-rw-r--r--src/mame/drivers/supertnk.c1
-rw-r--r--src/mame/drivers/taito_x.c1
-rw-r--r--src/mame/drivers/taitosj.c18
-rw-r--r--src/mame/drivers/toki.c2
-rw-r--r--src/mame/drivers/zodiack.c6
30 files changed, 115 insertions, 24 deletions
diff --git a/makefile b/makefile
index 0b7828a672f..a39823843f8 100644
--- a/makefile
+++ b/makefile
@@ -90,7 +90,7 @@
# QT_HOME = /usr/lib64/qt48/
-# DRIVERS = src/mame/drivers/1942.c,src/mame/drivers/cops.c
+# SOURCES = src/mame/drivers/asteroid.c,src/mame/audio/llander.c
# FORCE_VERSION_COMPILE = 1
@@ -628,8 +628,8 @@ ifdef QT_HOME
PARAMS += --QT_HOME='$(QT_HOME)'
endif
-ifdef DRIVERS
-PARAMS += --DRIVERS='$(DRIVERS)'
+ifdef SOURCES
+PARAMS += --SOURCES='$(SOURCES)'
endif
ifdef FORCE_VERSION_COMPILE
@@ -661,7 +661,7 @@ SCRIPTS = scripts/genie.lua \
$(wildcard src/osd/$(OSD)/$(OSD).mak) \
$(wildcard src/$(TARGET)/$(SUBTARGET).mak)
-ifndef DRIVERS
+ifndef SOURCES
SCRIPTS += scripts/target/$(TARGET)/$(SUBTARGET).lua
endif
diff --git a/scripts/genie.lua b/scripts/genie.lua
index 5935b8b1bc5..475c110ecb5 100644
--- a/scripts/genie.lua
+++ b/scripts/genie.lua
@@ -370,8 +370,8 @@ newoption {
}
newoption {
- trigger = "DRIVERS",
- description = "List of drivers to compile.",
+ trigger = "SOURCES",
+ description = "List of sources to compile.",
}
newoption {
@@ -516,15 +516,15 @@ msgarchiving ("Archiving $(notdir $@)...")
messageskip { "SkipCreatingMessage", "SkipBuildingMessage", "SkipCleaningMessage" }
-if (_OPTIONS["DRIVERS"] == nil) then
+if (_OPTIONS["SOURCES"] == nil) then
if (not os.isfile(path.join("target", _OPTIONS["target"],_OPTIONS["subtarget"] .. ".lua"))) then
error("File definition for TARGET=" .. _OPTIONS["target"] .. " SUBTARGET=" .. _OPTIONS["subtarget"] .. " does not exist")
end
dofile (path.join("target", _OPTIONS["target"],_OPTIONS["subtarget"] .. ".lua"))
else
- OUT_STR = os.outputof( PYTHON .. " " .. MAME_DIR .. "scripts/build/makedep.py " .. MAME_DIR .. " " .. _OPTIONS["DRIVERS"] .. " target " .. _OPTIONS["subtarget"])
+ OUT_STR = os.outputof( PYTHON .. " " .. MAME_DIR .. "scripts/build/makedep.py " .. MAME_DIR .. " " .. _OPTIONS["SOURCES"] .. " target " .. _OPTIONS["subtarget"])
load(OUT_STR)()
- os.outputof( PYTHON .. " " .. MAME_DIR .. "scripts/build/makedep.py " .. MAME_DIR .. " " .. _OPTIONS["DRIVERS"] .. " drivers " .. _OPTIONS["subtarget"] .. " > ".. GEN_DIR .. _OPTIONS["target"] .. "/" .. _OPTIONS["subtarget"].."/drivlist.c")
+ os.outputof( PYTHON .. " " .. MAME_DIR .. "scripts/build/makedep.py " .. MAME_DIR .. " " .. _OPTIONS["SOURCES"] .. " drivers " .. _OPTIONS["subtarget"] .. " > ".. GEN_DIR .. _OPTIONS["target"] .. "/" .. _OPTIONS["subtarget"].."/drivlist.c")
end
configuration { "gmake" }
flags {
diff --git a/scripts/src/devices.lua b/scripts/src/devices.lua
index 6ec60b29826..c46d0db8427 100644
--- a/scripts/src/devices.lua
+++ b/scripts/src/devices.lua
@@ -47,7 +47,7 @@ function devicesProject(_target, _subtarget)
dofile(path.join("src", "machine.lua"))
-if (_OPTIONS["DRIVERS"] == nil) then
+if (_OPTIONS["SOURCES"] == nil) then
project ("bus")
uuid ("5d782c89-cf7e-4cfe-8f9f-0d4bfc16c91d")
kind (LIBTYPE)
@@ -85,6 +85,7 @@ else
dofile(path.join("src", "bus.lua"))
end
+if #disasm_files > 0 then
project ("dasm")
uuid ("f2d28b0a-6da5-4f78-b629-d834aa00429d")
kind (LIBTYPE)
@@ -129,3 +130,5 @@ end
}
end
end
+
+end
diff --git a/scripts/src/main.lua b/scripts/src/main.lua
index 97c213b4620..d4d991dcdfa 100644
--- a/scripts/src/main.lua
+++ b/scripts/src/main.lua
@@ -2,7 +2,7 @@
-- copyright-holders:MAMEdev Team
function mainProject(_target, _subtarget)
-if (_OPTIONS["DRIVERS"] == nil) then
+if (_OPTIONS["SOURCES"] == nil) then
if (_target == _subtarget) then
project (_target)
else
@@ -38,7 +38,7 @@ end
flags {
"Unicode",
}
-if (_OPTIONS["DRIVERS"] == nil) then
+if (_OPTIONS["SOURCES"] == nil) then
configuration { "x64", "Release" }
targetsuffix "64"
if _OPTIONS["PROFILE"] then
@@ -91,7 +91,7 @@ end
links {
"osd_" .. _OPTIONS["osd"],
}
- if (_OPTIONS["DRIVERS"] == nil) then
+ if (_OPTIONS["SOURCES"] == nil) then
links {
"bus",
}
@@ -101,7 +101,13 @@ end
"optional",
"emu",
"formats",
+ }
+if #disasm_files > 0 then
+ links {
"dasm",
+ }
+end
+ links {
"utils",
"expat",
"softfloat",
@@ -226,7 +232,7 @@ end
GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.c",
}
-if (_OPTIONS["DRIVERS"] == nil) then
+if (_OPTIONS["SOURCES"] == nil) then
dependency {
{ "../../../../generated/mame/mame/drivlist.c", MAME_DIR .. "src/mame/mess.lst", true },
{ "../../../../generated/mame/mame/drivlist.c" , MAME_DIR .. "src/mame/arcade.lst", true},
diff --git a/src/emu/screen.c b/src/emu/screen.c
index c3bb09e320a..e17e0ecec91 100644
--- a/src/emu/screen.c
+++ b/src/emu/screen.c
@@ -12,6 +12,7 @@
#include "emuopts.h"
#include "png.h"
#include "rendutil.h"
+#include "validity.h"
@@ -55,6 +56,7 @@ screen_device::screen_device(const machine_config &mconfig, const char *tag, dev
m_yscale(1.0f),
m_palette(*this),
m_video_attributes(0),
+ m_orientation(0),
m_container(NULL),
m_width(100),
m_height(100),
@@ -239,6 +241,16 @@ void screen_device::static_set_video_attributes(device_t &device, UINT32 flags)
screen.m_video_attributes = flags;
}
//-------------------------------------------------
+// static_set_orientation - set the screen orientation
+//-------------------------------------------------
+
+void screen_device::static_set_orientation(device_t &device, UINT32 orientation)
+{
+ screen_device &screen = downcast<screen_device &>(device);
+ screen.m_orientation = orientation;
+}
+
+//-------------------------------------------------
// device_validity_check - verify device
// configuration
//-------------------------------------------------
@@ -269,6 +281,9 @@ void screen_device::device_validity_check(validity_checker &valid) const
osd_printf_error("Screen does not have palette defined\n");
if (m_palette != NULL && texformat == TEXFORMAT_RGB32)
osd_printf_warning("Screen does not need palette defined\n");
+
+// if (m_orientation != (valid.driver()->flags & ORIENTATION_MASK))
+// osd_printf_error("Screen orientation does not match\n");
}
diff --git a/src/emu/screen.h b/src/emu/screen.h
index f3aab539cce..f0a43310544 100644
--- a/src/emu/screen.h
+++ b/src/emu/screen.h
@@ -181,11 +181,13 @@ public:
static void static_set_screen_vblank(device_t &device, screen_vblank_delegate callback);
static void static_set_palette(device_t &device, const char *tag);
static void static_set_video_attributes(device_t &device, UINT32 flags);
+ static void static_set_orientation(device_t &device, UINT32 orientation);
// information getters
render_container &container() const { assert(m_container != NULL); return *m_container; }
bitmap_ind8 &priority() { return m_priority; }
palette_device *palette() { return m_palette; }
+ UINT32 orientation() { return m_orientation; }
// dynamic configuration
void configure(int width, int height, const rectangle &visarea, attoseconds_t frame_period);
@@ -266,6 +268,7 @@ private:
screen_vblank_delegate m_screen_vblank; // screen vblank callback
optional_device<palette_device> m_palette; // our palette
UINT32 m_video_attributes; // flags describing the video system
+ UINT32 m_orientation; // screen orientation
// internal state
render_container * m_container; // pointer to our container
@@ -429,6 +432,8 @@ typedef device_type_iterator<&device_creator<screen_device>, screen_device> scre
screen_device::static_set_palette(*device, FINDER_DUMMY_TAG);
#define MCFG_SCREEN_VIDEO_ATTRIBUTES(_flags) \
screen_device::static_set_video_attributes(*device, _flags);
+#define MCFG_SCREEN_ORIENTATION(_orientation) \
+ screen_device::static_set_orientation(*device, _orientation);
//**************************************************************************
diff --git a/src/emu/validity.h b/src/emu/validity.h
index acc271a7cae..dd28b419a39 100644
--- a/src/emu/validity.h
+++ b/src/emu/validity.h
@@ -39,6 +39,7 @@ public:
// getters
int errors() const { return m_errors; }
int warnings() const { return m_warnings; }
+ const game_driver *driver() const { return m_current_driver; }
// operations
void check_driver(const game_driver &driver);
diff --git a/src/mame/drivers/battlex.c b/src/mame/drivers/battlex.c
index 49a7d78c2c5..fd5a1d95a82 100644
--- a/src/mame/drivers/battlex.c
+++ b/src/mame/drivers/battlex.c
@@ -250,6 +250,7 @@ static MACHINE_CONFIG_START( battlex, battlex_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(battlex_state, screen_update_battlex)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", battlex)
MCFG_PALETTE_ADD("palette", 64)
diff --git a/src/mame/drivers/changela.c b/src/mame/drivers/changela.c
index 4c9cb8909ca..5309e49cded 100644
--- a/src/mame/drivers/changela.c
+++ b/src/mame/drivers/changela.c
@@ -490,6 +490,7 @@ static MACHINE_CONFIG_START( changela, changela_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 4*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(changela_state, screen_update_changela)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_PALETTE_ADD("palette", 0x40)
diff --git a/src/mame/drivers/ddenlovr.c b/src/mame/drivers/ddenlovr.c
index f0cf098b7bc..5754826bb2b 100644
--- a/src/mame/drivers/ddenlovr.c
+++ b/src/mame/drivers/ddenlovr.c
@@ -4401,6 +4401,7 @@ static MACHINE_CONFIG_START( htengoku, ddenlovr_state )
MCFG_SCREEN_UPDATE_DRIVER(ddenlovr_state, screen_update_htengoku)
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_PALETTE_ADD("palette", 16*256)
diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c
index 655acbbc3c4..68acb183a49 100644
--- a/src/mame/drivers/dkong.c
+++ b/src/mame/drivers/dkong.c
@@ -1800,6 +1800,7 @@ static MACHINE_CONFIG_DERIVED( pestplce, dkongjr )
MCFG_PALETTE_INIT_OWNER(dkong_state,dkong2b) /* wrong! */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(dkong_state, screen_update_pestplce)
+ MCFG_SCREEN_ORIENTATION(ROT180)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( dkong3b, dkongjr )
@@ -1831,6 +1832,12 @@ static MACHINE_CONFIG_DERIVED( s2650, dkong2b )
MCFG_MACHINE_START_OVERRIDE(dkong_state,s2650)
MACHINE_CONFIG_END
+
+static MACHINE_CONFIG_DERIVED( shootgal, s2650 )
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_ORIENTATION(ROT180)
+MACHINE_CONFIG_END
+
static MACHINE_CONFIG_DERIVED( spclforc, s2650 )
/* basic machine hardware */
@@ -3319,7 +3326,7 @@ GAME( 1984, herodk, hero, s2650, herodk, dkong_state, herodk, R
GAME( 1984, herodku, hero, s2650, herodk, driver_device, 0, ROT90, "Seatongrove Ltd (Crown license)", "Hero in the Castle of Doom (DK conversion not encrypted)", MACHINE_SUPPORTS_SAVE )
GAME( 1984, 8ballact, 0, s2650, 8ballact, driver_device, 0, ROT90, "Seatongrove Ltd (Magic Electronics USA license)", "Eight Ball Action (DK conversion)", MACHINE_SUPPORTS_SAVE )
GAME( 1984, 8ballact2, 8ballact, s2650, 8ballact, driver_device, 0, ROT90, "Seatongrove Ltd (Magic Electronics USA license)", "Eight Ball Action (DKJr conversion)", MACHINE_SUPPORTS_SAVE )
-GAME( 1984, shootgal, 0, s2650, shootgal, driver_device, 0, ROT180, "Seatongrove Ltd (Zaccaria license)", "Shooting Gallery", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 1984, shootgal, 0, shootgal, shootgal, driver_device, 0, ROT180, "Seatongrove Ltd (Zaccaria license)", "Shooting Gallery", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1985, spclforc, 0, spclforc, spclforc, driver_device, 0, ROT90, "Senko Industries (Magic Electronics Inc. license)", "Special Forces", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1985, spcfrcii, 0, spclforc, spclforc, driver_device, 0, ROT90, "Senko Industries (Magic Electronics Inc. license)", "Special Forces II", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dynax.c b/src/mame/drivers/dynax.c
index bdd48788764..6da6ea9e0f7 100644
--- a/src/mame/drivers/dynax.c
+++ b/src/mame/drivers/dynax.c
@@ -4405,6 +4405,7 @@ static MACHINE_CONFIG_START( hanamai, dynax_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1-4, 16+8, 255-8)
MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_hanamai)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_PALETTE_ADD("palette", 512)
@@ -4459,6 +4460,7 @@ static MACHINE_CONFIG_START( hnoridur, dynax_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1-4, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_hnoridur)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_PALETTE_ADD("palette", 16*256)
@@ -4506,6 +4508,7 @@ static MACHINE_CONFIG_START( hjingi, dynax_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1-4, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_hnoridur)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_PALETTE_ADD("palette", 16*256)
@@ -4598,6 +4601,7 @@ static MACHINE_CONFIG_START( mjfriday, dynax_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_mjdialq2)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_PALETTE_ADD("palette", 512)
@@ -5003,6 +5007,7 @@ static MACHINE_CONFIG_START( gekisha, dynax_state )
MCFG_SCREEN_VISIBLE_AREA(2, 256-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_mjdialq2)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_INIT_OWNER(dynax_state,sprtmtch) // static palette
diff --git a/src/mame/drivers/flstory.c b/src/mame/drivers/flstory.c
index b68b43e5483..79de19b7ea7 100644
--- a/src/mame/drivers/flstory.c
+++ b/src/mame/drivers/flstory.c
@@ -1068,6 +1068,7 @@ static MACHINE_CONFIG_START( flstory, flstory_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(flstory_state, screen_update_flstory)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", flstory)
MCFG_PALETTE_ADD("palette", 512)
diff --git a/src/mame/drivers/galaxold.c b/src/mame/drivers/galaxold.c
index 8b89601e7d6..1e3914aa070 100644
--- a/src/mame/drivers/galaxold.c
+++ b/src/mame/drivers/galaxold.c
@@ -2640,6 +2640,7 @@ static MACHINE_CONFIG_DERIVED( rockclim, galaxian )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(64*8, 32*8)
+ MCFG_SCREEN_ORIENTATION(ROT180)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/looping.c b/src/mame/drivers/looping.c
index 32a866d838b..7f4f00363c0 100644
--- a/src/mame/drivers/looping.c
+++ b/src/mame/drivers/looping.c
@@ -638,6 +638,7 @@ static MACHINE_CONFIG_START( looping, looping_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(looping_state, screen_update_looping)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT90)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", looping)
diff --git a/src/mame/drivers/m63.c b/src/mame/drivers/m63.c
index 9889122e369..336ededa153 100644
--- a/src/mame/drivers/m63.c
+++ b/src/mame/drivers/m63.c
@@ -769,6 +769,7 @@ static MACHINE_CONFIG_START( m63, m63_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(m63_state, screen_update_m63)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", m63)
MCFG_PALETTE_ADD("palette", 256+4)
diff --git a/src/mame/drivers/mario.c b/src/mame/drivers/mario.c
index 371a078c18b..1069c26e47f 100644
--- a/src/mame/drivers/mario.c
+++ b/src/mame/drivers/mario.c
@@ -578,6 +578,8 @@ static MACHINE_CONFIG_START( mariobl, mario_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(mario_state, screen_update_mariobl)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
+
MCFG_GFXDECODE_ADD("gfxdecode", "palette", mariobl)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_INIT_OWNER(mario_state, mario)
diff --git a/src/mame/drivers/namcos86.c b/src/mame/drivers/namcos86.c
index ff1be2381ee..80b82ebc254 100644
--- a/src/mame/drivers/namcos86.c
+++ b/src/mame/drivers/namcos86.c
@@ -1086,6 +1086,11 @@ static MACHINE_CONFIG_START( hopmappy, namcos86_state )
MACHINE_CONFIG_END
+static MACHINE_CONFIG_DERIVED( skykiddx, hopmappy )
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_ORIENTATION(ROT180)
+MACHINE_CONFIG_END
+
static MACHINE_CONFIG_DERIVED( roishtar, hopmappy )
/* basic machine hardware */
@@ -1666,7 +1671,7 @@ DRIVER_INIT_MEMBER(namcos86_state,namco86)
GAME( 1986, skykiddx, 0, hopmappy, skykiddx, namcos86_state, namco86, ROT180, "Namco", "Sky Kid Deluxe (set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, skykiddxo,skykiddx, hopmappy, skykiddx, namcos86_state, namco86, ROT180, "Namco", "Sky Kid Deluxe (set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, skykiddxo,skykiddx, skykiddx, skykiddx, namcos86_state, namco86, ROT180, "Namco", "Sky Kid Deluxe (set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, hopmappy, 0, hopmappy, hopmappy, namcos86_state, namco86, ROT0, "Namco", "Hopping Mappy", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/nbmj8688.c b/src/mame/drivers/nbmj8688.c
index 8e4f7480517..edeeeaefb0a 100644
--- a/src/mame/drivers/nbmj8688.c
+++ b/src/mame/drivers/nbmj8688.c
@@ -2894,6 +2894,9 @@ static MACHINE_CONFIG_DERIVED( barline, mbmj_h12bit )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
MCFG_DEVICE_REMOVE("dac")
+
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mbmj_p16bit, NBMJDRV_65536 )
diff --git a/src/mame/drivers/nbmj8891.c b/src/mame/drivers/nbmj8891.c
index f1278134092..310d6451486 100644
--- a/src/mame/drivers/nbmj8891.c
+++ b/src/mame/drivers/nbmj8891.c
@@ -2747,6 +2747,9 @@ static MACHINE_CONFIG_DERIVED( hnxmasev, maiko )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(hnxmasev_map)
MCFG_CPU_IO_MAP(maiko_io_map)
+
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( hnageman, maiko )
@@ -2755,6 +2758,9 @@ static MACHINE_CONFIG_DERIVED( hnageman, maiko )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(hnageman_map)
MCFG_CPU_IO_MAP(maiko_io_map)
+
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( scandal, hanamomo )
diff --git a/src/mame/drivers/nbmj8991.c b/src/mame/drivers/nbmj8991.c
index e0ce7540cdd..1fd1c8e928b 100644
--- a/src/mame/drivers/nbmj8991.c
+++ b/src/mame/drivers/nbmj8991.c
@@ -1389,6 +1389,7 @@ static MACHINE_CONFIG_START( nbmjdrv1, nbmj8991_state ) // galkoku
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(nbmj8991_state, screen_update_type1)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_PALETTE_ADD("palette", 256)
@@ -1425,6 +1426,7 @@ static MACHINE_CONFIG_START( nbmjdrv2, nbmj8991_state ) // pstadium
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(nbmj8991_state, screen_update_type2)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_PALETTE_ADD("palette", 256)
@@ -1625,6 +1627,9 @@ static MACHINE_CONFIG_DERIVED( av2mj1bb, nbmjdrv2 )
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_AV2MJ1BB )
+
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_ORIENTATION(ROT0)
MACHINE_CONFIG_END
@@ -1637,6 +1642,9 @@ static MACHINE_CONFIG_DERIVED( av2mj2rg, nbmjdrv2 )
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_AV2MJ2RG )
+
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_ORIENTATION(ROT0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/scobra.c b/src/mame/drivers/scobra.c
index 08c51b55cef..a29b3c2aaa4 100644
--- a/src/mame/drivers/scobra.c
+++ b/src/mame/drivers/scobra.c
@@ -913,6 +913,9 @@ static MACHINE_CONFIG_DERIVED( darkplnt, type2 )
MCFG_PALETTE_INIT_OWNER(scobra_state,darkplnt)
MCFG_VIDEO_START_OVERRIDE(scobra_state,darkplnt)
+
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/skykid.c b/src/mame/drivers/skykid.c
index 37172964a2d..245c4ce2bc3 100644
--- a/src/mame/drivers/skykid.c
+++ b/src/mame/drivers/skykid.c
@@ -454,6 +454,7 @@ static MACHINE_CONFIG_START( skykid, skykid_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(skykid_state, screen_update_skykid)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", skykid)
MCFG_PALETTE_ADD("palette", 64*4+128*4+64*8)
diff --git a/src/mame/drivers/speedspn.c b/src/mame/drivers/speedspn.c
index edbe1899df6..8b02cacfcff 100644
--- a/src/mame/drivers/speedspn.c
+++ b/src/mame/drivers/speedspn.c
@@ -293,6 +293,7 @@ static MACHINE_CONFIG_START( speedspn, speedspn_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, 56*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(speedspn_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", speedspn)
MCFG_PALETTE_ADD("palette", 0x400)
diff --git a/src/mame/drivers/sprint4.c b/src/mame/drivers/sprint4.c
index 715a654ab21..c65c3eb0332 100644
--- a/src/mame/drivers/sprint4.c
+++ b/src/mame/drivers/sprint4.c
@@ -412,6 +412,7 @@ static MACHINE_CONFIG_START( sprint4, sprint4_state )
MCFG_SCREEN_UPDATE_DRIVER(sprint4_state, screen_update_sprint4)
MCFG_SCREEN_VBLANK_DRIVER(sprint4_state, screen_eof_sprint4)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", sprint4)
MCFG_PALETTE_ADD("palette", 10)
diff --git a/src/mame/drivers/supertnk.c b/src/mame/drivers/supertnk.c
index 031f0d37048..2c4e55aa3cb 100644
--- a/src/mame/drivers/supertnk.c
+++ b/src/mame/drivers/supertnk.c
@@ -433,6 +433,7 @@ static MACHINE_CONFIG_START( supertnk, supertnk_state )
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_UPDATE_DRIVER(supertnk_state, screen_update_supertnk)
+ MCFG_SCREEN_ORIENTATION(ROT90)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/taito_x.c b/src/mame/drivers/taito_x.c
index 78a1a582a2a..97a2e9f72aa 100644
--- a/src/mame/drivers/taito_x.c
+++ b/src/mame/drivers/taito_x.c
@@ -960,6 +960,7 @@ static MACHINE_CONFIG_START( ballbros, taitox_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitox_state, screen_update_seta_no_layers)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", ballbros)
MCFG_PALETTE_ADD("palette", 2048)
diff --git a/src/mame/drivers/taitosj.c b/src/mame/drivers/taitosj.c
index b86595aa6a6..3e83f8b654d 100644
--- a/src/mame/drivers/taitosj.c
+++ b/src/mame/drivers/taitosj.c
@@ -1797,6 +1797,10 @@ static MACHINE_CONFIG_START( nomcu, taitosj_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
+static MACHINE_CONFIG_DERIVED( nomcu180, nomcu )
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_ORIENTATION(ROT180)
+MACHINE_CONFIG_END
/* same as above, but with additional 68705 MCU */
static MACHINE_CONFIG_DERIVED( mcu, nomcu )
@@ -2754,13 +2758,13 @@ DRIVER_INIT_MEMBER(taitosj_state,junglhbr)
GAME( 1981, spaceskr, 0, nomcu, spaceskr, taitosj_state, taitosj, ROT0, "Taito Corporation", "Space Seeker", MACHINE_SUPPORTS_SAVE )
GAME( 1981, spacecr, 0, nomcu, spacecr, taitosj_state, spacecr, ROT90, "Taito Corporation", "Space Cruiser", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, junglek, 0, nomcu, junglek, taitosj_state, taitosj, ROT180, "Taito Corporation", "Jungle King (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, junglekas,junglek, nomcu, junglek, taitosj_state, taitosj, ROT180, "Taito Corporation", "Jungle King (alternate sound)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, junglekj2,junglek, nomcu, junglek, taitosj_state, taitosj, ROT180, "Taito Corporation", "Jungle King (Japan, earlier)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, jungleh, junglek, nomcu, junglek, taitosj_state, taitosj, ROT180, "Taito America Corporation", "Jungle Hunt (US)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, junglehbr,junglek, nomcu, junglek, taitosj_state, junglhbr,ROT180, "Taito do Brasil", "Jungle Hunt (Brazil)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, piratpet, junglek, nomcu, piratpet, taitosj_state, taitosj, ROT180, "Taito America Corporation", "Pirate Pete", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, jungleby, junglek, nomcu, junglek, taitosj_state, taitosj, ROT180, "bootleg", "Jungle Boy (bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, junglek, 0, nomcu180, junglek, taitosj_state, taitosj, ROT180, "Taito Corporation", "Jungle King (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, junglekas,junglek, nomcu180, junglek, taitosj_state, taitosj, ROT180, "Taito Corporation", "Jungle King (alternate sound)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, junglekj2,junglek, nomcu180, junglek, taitosj_state, taitosj, ROT180, "Taito Corporation", "Jungle King (Japan, earlier)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, jungleh, junglek, nomcu180, junglek, taitosj_state, taitosj, ROT180, "Taito America Corporation", "Jungle Hunt (US)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, junglehbr,junglek, nomcu180, junglek, taitosj_state, junglhbr,ROT180, "Taito do Brasil", "Jungle Hunt (Brazil)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, piratpet, junglek, nomcu180, piratpet, taitosj_state, taitosj, ROT180, "Taito America Corporation", "Pirate Pete", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, jungleby, junglek, nomcu180, junglek, taitosj_state, taitosj, ROT180, "bootleg", "Jungle Boy (bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1982, alpine, 0, nomcu, alpine, taitosj_state, alpine, ROT270, "Taito Corporation", "Alpine Ski (set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1982, alpinea, alpine, nomcu, alpinea, taitosj_state, alpinea, ROT270, "Taito Corporation", "Alpine Ski (set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1982, timetunl, 0, nomcu, timetunl, taitosj_state, taitosj, ROT0, "Taito Corporation", "Time Tunnel", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c
index a334154c45f..f0c600faa3d 100644
--- a/src/mame/drivers/toki.c
+++ b/src/mame/drivers/toki.c
@@ -409,6 +409,8 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( tokic, toki )
SEIBU_SOUND_SYSTEM_ENCRYPTED_CUSTOM()
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_ORIENTATION(ROT180)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( tokib, toki_state )
diff --git a/src/mame/drivers/zodiack.c b/src/mame/drivers/zodiack.c
index 2e1c0737769..92090397562 100644
--- a/src/mame/drivers/zodiack.c
+++ b/src/mame/drivers/zodiack.c
@@ -589,6 +589,10 @@ static MACHINE_CONFIG_START( zodiack, zodiack_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
+static MACHINE_CONFIG_DERIVED( bounty, zodiack )
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_ORIENTATION(ROT180)
+MACHINE_CONFIG_END
/***************************************************************************
@@ -711,4 +715,4 @@ GAME( 1983, zodiack, 0, zodiack, zodiack, zodiack_state, zodiack, ROT270, "Orc
GAME( 1983, dogfight, 0, zodiack, dogfight, zodiack_state, zodiack, ROT270, "Orca / Thunderbolt", "Dog Fight (Thunderbolt)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) /* bullet color needs to be verified */
GAME( 1982, moguchan, 0, zodiack, moguchan, zodiack_state, percuss, ROT270, "Orca (Eastern Commerce Inc. license)", "Mogu Chan (bootleg?)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) /* license copyright taken from ROM string at $0b5c */
GAME( 1981, percuss, 0, zodiack, percuss, zodiack_state, percuss, ROT270, "Orca", "The Percussor", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, bounty, 0, zodiack, bounty, zodiack_state, percuss, ROT180, "Orca", "The Bounty", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, bounty, 0, bounty, bounty, zodiack_state, percuss, ROT180, "Orca", "The Bounty", MACHINE_SUPPORTS_SAVE )