From 64599d2affa171e2fe02341ab7c9b932a42fed0b Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 9 Oct 2015 13:45:14 +0200 Subject: [PATCH 1/5] Do not create dasm.lib if no disassembler compiled (nw) --- scripts/src/devices.lua | 3 +++ scripts/src/main.lua | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/scripts/src/devices.lua b/scripts/src/devices.lua index 6ec60b29826..4abafb0fc5a 100644 --- a/scripts/src/devices.lua +++ b/scripts/src/devices.lua @@ -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..66becff80bd 100644 --- a/scripts/src/main.lua +++ b/scripts/src/main.lua @@ -101,7 +101,13 @@ end "optional", "emu", "formats", + } +if #disasm_files > 0 then + links { "dasm", + } +end + links { "utils", "expat", "softfloat", From 8e22b1d22f1e1e616ca5e08f1064cad614387b2e Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 9 Oct 2015 14:13:35 +0200 Subject: [PATCH 2/5] Renamed DRIVERS parameter to SOURCES since you can add any source you wish to include in target (nw) --- makefile | 8 ++++---- scripts/genie.lua | 10 +++++----- scripts/src/devices.lua | 2 +- scripts/src/main.lua | 8 ++++---- 4 files changed, 14 insertions(+), 14 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 4abafb0fc5a..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) diff --git a/scripts/src/main.lua b/scripts/src/main.lua index 66becff80bd..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", } @@ -232,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}, From 63844e14f5dca4098937e5895194d8199f9d9780 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 9 Oct 2015 14:18:05 +0200 Subject: [PATCH 3/5] Make screen rotation to be per-screen attribute (nw) commented validation used to compare it to existing rotation flags --- src/emu/screen.c | 15 +++++++++++++++ src/emu/screen.h | 5 +++++ src/emu/validity.h | 1 + 3 files changed, 21 insertions(+) diff --git a/src/emu/screen.c b/src/emu/screen.c index c3bb09e320a..8174c53e209 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), @@ -238,6 +240,16 @@ void screen_device::static_set_video_attributes(device_t &device, UINT32 flags) screen_device &screen = downcast(device); 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(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) && ((valid.driver()->flags & ORIENTATION_MASK)== ROT180)) +// 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 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> 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); From f78e035fc1b06b4f8784a86064a14f0e9d46fda9 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 9 Oct 2015 14:19:03 +0200 Subject: [PATCH 4/5] Added some of screen orientations for test (nw) --- src/mame/drivers/battlex.c | 1 + src/mame/drivers/changela.c | 1 + src/mame/drivers/ddenlovr.c | 1 + src/mame/drivers/dkong.c | 9 ++++++++- src/mame/drivers/dynax.c | 5 +++++ src/mame/drivers/flstory.c | 1 + src/mame/drivers/galaxold.c | 1 + src/mame/drivers/looping.c | 1 + src/mame/drivers/m63.c | 1 + src/mame/drivers/mario.c | 2 ++ src/mame/drivers/namcos86.c | 7 ++++++- src/mame/drivers/nbmj8688.c | 3 +++ src/mame/drivers/nbmj8891.c | 6 ++++++ src/mame/drivers/nbmj8991.c | 8 ++++++++ src/mame/drivers/scobra.c | 3 +++ src/mame/drivers/skykid.c | 1 + src/mame/drivers/speedspn.c | 1 + src/mame/drivers/sprint4.c | 1 + src/mame/drivers/supertnk.c | 1 + src/mame/drivers/taito_x.c | 1 + src/mame/drivers/taitosj.c | 18 +++++++++++------- src/mame/drivers/toki.c | 2 ++ src/mame/drivers/zodiack.c | 6 +++++- 23 files changed, 71 insertions(+), 10 deletions(-) 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 ) From feef4e980ecc5d2d08cd9c40d1e6f081896fc786 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 9 Oct 2015 15:16:51 +0200 Subject: [PATCH 5/5] fixed commented validation to show all cases (nw) --- src/emu/screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/emu/screen.c b/src/emu/screen.c index 8174c53e209..e17e0ecec91 100644 --- a/src/emu/screen.c +++ b/src/emu/screen.c @@ -282,7 +282,7 @@ void screen_device::device_validity_check(validity_checker &valid) const 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) && ((valid.driver()->flags & ORIENTATION_MASK)== ROT180)) +// if (m_orientation != (valid.driver()->flags & ORIENTATION_MASK)) // osd_printf_error("Screen orientation does not match\n"); }