mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
Merge branch 'release0253' into mainline-master
This commit is contained in:
commit
d02a125df0
@ -10,7 +10,10 @@ All Platforms
|
||||
|
||||
* To compile MAME, you need a C++17 compiler and runtime library. We
|
||||
support building with GCC version 7.2 or later and clang version 6 or
|
||||
later. MAME should run with GNU libstdc++ version 7.2 or later.
|
||||
later. MAME should run with GNU libstdc++ version 7.2 or later or
|
||||
libc++ version 7 or later. The initial release of any major version
|
||||
of GCC should be avoided. For example, if you want to compile MAME
|
||||
with GCC 10, you should use version 10.3 or later.
|
||||
|
||||
* Whenever you are changing build parameters, (for example changing
|
||||
optimisation settings, or adding tools to the compile list), or system
|
||||
|
@ -17,7 +17,7 @@ license:CC0-1.0
|
||||
|
||||
<softwarelist name="svision" description="Watara Supervision cartridges">
|
||||
<software name="2in1">
|
||||
<description>2 in 1 - Block Buster + Cross High (Euro, USA)</description>
|
||||
<description>2 in 1 - Block Buster + Cross High (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Supervision</publisher>
|
||||
<info name="serial" value="SV10033" />
|
||||
@ -30,7 +30,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="2in1a">
|
||||
<description>2 in 1 - Hash Blocks + Eagle Plan (Euro, USA)</description>
|
||||
<description>2 in 1 - Hash Blocks + Eagle Plan (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>GTC Inc</publisher>
|
||||
<info name="serial" value="SV10024" />
|
||||
@ -43,7 +43,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="alien">
|
||||
<description>Alien (Euro, USA)</description>
|
||||
<description>Alien (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Supervision</publisher>
|
||||
<info name="serial" value="SV10010" />
|
||||
@ -56,7 +56,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="balonfgt">
|
||||
<description>Balloon Fight (Euro, USA)</description>
|
||||
<description>Balloon Fight (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -67,7 +67,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="blockbus">
|
||||
<description>Block Buster (Euro, USA)</description>
|
||||
<description>Block Buster (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Supervision</publisher>
|
||||
<info name="serial" value="SV10001" />
|
||||
@ -80,7 +80,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="brainpow">
|
||||
<description>Brain Power (Euro, USA)</description>
|
||||
<description>Brain Power (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Supervision</publisher>
|
||||
<info name="serial" value="SV10023" />
|
||||
@ -104,7 +104,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="carrier">
|
||||
<description>Carrier (Euro, USA)</description>
|
||||
<description>Carrier (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Travellmate</publisher>
|
||||
<info name="serial" value="SV10004" />
|
||||
@ -117,7 +117,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="cavewond">
|
||||
<description>Cave Wonders (Euro, USA)</description>
|
||||
<description>Cave Wonders (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Bon Treasure</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -128,7 +128,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="challtnk">
|
||||
<description>Challenger Tank (Euro, USA)</description>
|
||||
<description>Challenger Tank (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<info name="serial" value="SV10017" />
|
||||
@ -141,7 +141,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="chimera">
|
||||
<description>Chimera (Euro, USA)</description>
|
||||
<description>Chimera (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Supervision</publisher>
|
||||
<info name="serial" value="SV10016" />
|
||||
@ -189,7 +189,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="crsshigh">
|
||||
<description>Cross High (Euro, USA)</description>
|
||||
<description>Cross High (Europe, USA)</description>
|
||||
<year>1991</year>
|
||||
<publisher>GTC Inc</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -200,7 +200,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="crystbal">
|
||||
<description>Crystball (Euro, USA)</description>
|
||||
<description>Crystball (Europe, USA)</description>
|
||||
<year>1991</year>
|
||||
<publisher>Travellmate</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -211,7 +211,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="crystbala" cloneof="crystbal">
|
||||
<description>Crystball (Euro, USA, earlier)</description>
|
||||
<description>Crystball (Europe, USA, earlier)</description>
|
||||
<year>1991</year>
|
||||
<publisher>Travellmate</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -235,7 +235,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="dhero">
|
||||
<description>Delta Hero (Euro, USA)</description>
|
||||
<description>Delta Hero (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Bon Treasure</publisher>
|
||||
<info name="serial" value="SV10040" />
|
||||
@ -259,7 +259,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="eaglplan">
|
||||
<description>Eagle Plan (Euro, USA)</description>
|
||||
<description>Eagle Plan (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>GTC Inc</publisher>
|
||||
<info name="serial" value="SV10005" />
|
||||
@ -272,7 +272,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="earthdef">
|
||||
<description>Earth Defender (Euro, USA)</description>
|
||||
<description>Earth Defender (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Bon Treasure</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -283,7 +283,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="fatcraft">
|
||||
<description>Fatal Craft (Euro, USA)</description>
|
||||
<description>Fatal Craft (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Bon Treasure</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -294,7 +294,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="fcombat"> <!-- this might be bad dump, there are two bad tiles in the data -->
|
||||
<description>Final Combat (Euro, USA)</description>
|
||||
<description>Final Combat (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -305,7 +305,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="fcombata" cloneof="fcombat">
|
||||
<description>Final Combat (Alt)</description>
|
||||
<description>Final Combat (alt)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Thin Chen Enterprise</publisher>
|
||||
<info name="serial" value="SV10031" />
|
||||
@ -318,7 +318,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="galcrus">
|
||||
<description>Galactic Crusader (Euro, USA)</description>
|
||||
<description>Galactic Crusader (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<info name="serial" value="SV10029" />
|
||||
@ -331,7 +331,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="galaxy">
|
||||
<description>Galaxy Fighter (Euro, USA)</description>
|
||||
<description>Galaxy Fighter (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Thin Chen Enterprise</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -342,7 +342,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="gp">
|
||||
<description>Grand Prix (Euro, USA)</description>
|
||||
<description>Grand Prix (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Bon Treasure</publisher>
|
||||
<info name="serial" value="SV10021" />
|
||||
@ -355,7 +355,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="happyp">
|
||||
<description>Happy Pairs (Euro, USA)</description>
|
||||
<description>Happy Pairs (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Sachen</publisher>
|
||||
<info name="serial" value="SV10035" />
|
||||
@ -381,7 +381,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="hashbloc">
|
||||
<description>Hash Blocks (Euro, USA)</description>
|
||||
<description>Hash Blocks (Europe, USA)</description>
|
||||
<year>1991</year>
|
||||
<publisher>GTC Inc</publisher>
|
||||
<info name="serial" value="SV10002" />
|
||||
@ -405,7 +405,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="herokid">
|
||||
<description>Hero Kid (Euro, USA)</description>
|
||||
<description>Hero Kid (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Hartung</publisher>
|
||||
<info name="serial" value="SV10011" />
|
||||
@ -418,7 +418,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="honeybee">
|
||||
<description>Honey Bee (Euro, USA)</description>
|
||||
<description>Honey Bee (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<info name="serial" value="SV10018" />
|
||||
@ -431,7 +431,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="jackyluc">
|
||||
<description>Jacky Lucky (Euro, USA)</description>
|
||||
<description>Jacky Lucky (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Bon Treasure</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -442,7 +442,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="jagbombr">
|
||||
<description>Jaguar Bomber (Euro, USA)</description>
|
||||
<description>Jaguar Bomber (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Bon Treasure</publisher>
|
||||
<info name="serial" value="SV10025" />
|
||||
@ -455,7 +455,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="johnadv">
|
||||
<description>John Adventure (Euro, USA)</description>
|
||||
<description>John Adventure (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<info name="serial" value="SV10036" />
|
||||
@ -468,7 +468,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="juggler">
|
||||
<description>Juggler (Euro, USA)</description>
|
||||
<description>Juggler (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Bon Treasure</publisher>
|
||||
<info name="serial" value="SV10043" />
|
||||
@ -481,7 +481,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="kabiisl">
|
||||
<description>Kabi Island - Gold in Island (Euro, USA)</description>
|
||||
<description>Kabi Island - Gold in Island (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -514,7 +514,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="linear">
|
||||
<description>Linear Racing (Euro, USA)</description>
|
||||
<description>Linear Racing (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<info name="serial" value="SV10007" />
|
||||
@ -527,7 +527,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="maginx">
|
||||
<description>Magincross (Euro, USA)</description>
|
||||
<description>Magincross (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Thin Chen Enterprise</publisher>
|
||||
<info name="serial" value="SV10039" />
|
||||
@ -554,7 +554,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="mattablt">
|
||||
<description>Matta Blatta (Euro, USA)</description>
|
||||
<description>Matta Blatta (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<info name="serial" value="SV10020" />
|
||||
@ -567,7 +567,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="olympict">
|
||||
<description>Olympic Trials (Euro, USA)</description>
|
||||
<description>Olympic Trials (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Watara</publisher>
|
||||
<info name="serial" value="SV10019" />
|
||||
@ -580,7 +580,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="p52sea">
|
||||
<description>P-52 Sea Battle (Euro, USA)</description>
|
||||
<description>P-52 Sea Battle (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<info name="serial" value="SV10006" />
|
||||
@ -593,7 +593,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="pacboy">
|
||||
<description>PacBoy & Mouse (Euro, USA)</description>
|
||||
<description>PacBoy & Mouse (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<info name="serial" value="SV10008" />
|
||||
@ -617,7 +617,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="penguinh">
|
||||
<description>Penguin Hideout (Euro, USA)</description>
|
||||
<description>Penguin Hideout (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Thin Chen Enterprise</publisher>
|
||||
<info name="serial" value="SV10032" />
|
||||
@ -630,7 +630,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="policebu">
|
||||
<description>Police Bust (Euro, USA)</description>
|
||||
<description>Police Bust (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Bon Treasure</publisher>
|
||||
<info name="serial" value="SV10014" />
|
||||
@ -656,7 +656,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="pyramid">
|
||||
<description>Pyramid (Euro, USA)</description>
|
||||
<description>Pyramid (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -691,7 +691,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="soccerch">
|
||||
<description>Soccer Champion (Euro, USA)</description>
|
||||
<description>Soccer Champion (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Hartung</publisher>
|
||||
<info name="serial" value="SV10034" />
|
||||
@ -728,7 +728,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="sssnake">
|
||||
<description>SSSnake (Euro, USA)</description>
|
||||
<description>SSSnake (Europe, USA)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Watara</publisher>
|
||||
<info name="serial" value="SV10009" />
|
||||
@ -741,7 +741,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="sblock">
|
||||
<description>Super Block (Euro, USA)</description>
|
||||
<description>Super Block (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Bon Treasure</publisher>
|
||||
<info name="serial" value="SV10022" />
|
||||
@ -754,7 +754,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="skong">
|
||||
<description>Super Kong (Euro, USA)</description>
|
||||
<description>Super Kong (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Thin Chen Enterprise</publisher>
|
||||
<info name="serial" value="SV10042" />
|
||||
@ -780,7 +780,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="tasac">
|
||||
<description>Tasac 2010 (Euro, USA)</description>
|
||||
<description>Tasac 2010 (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Thin Chen Enterprise</publisher>
|
||||
<info name="serial" value="SV10026" />
|
||||
@ -793,7 +793,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="tennis92">
|
||||
<description>Tennis Pro '92 (Euro, USA)</description>
|
||||
<description>Tennis Pro '92 (Europe, USA)</description>
|
||||
<year>1992</year>
|
||||
<publisher>B.I.T.S.</publisher>
|
||||
<info name="serial" value="SV10015" />
|
||||
@ -817,7 +817,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="thunter">
|
||||
<description>Treasure Hunter (Euro, USA, 1993)</description>
|
||||
<description>Treasure Hunter (Europe, USA, 1993)</description>
|
||||
<year>1993</year>
|
||||
<publisher>Watara</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
@ -828,7 +828,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="thuntera" cloneof="thunter">
|
||||
<description>Treasure Hunter (Euro, USA, 1992)</description>
|
||||
<description>Treasure Hunter (Europe, USA, 1992)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Watara</publisher>
|
||||
<part name="cart" interface="svision_cart">
|
||||
|
@ -91,7 +91,8 @@ real_profiler_state::real_profiler_state()
|
||||
|
||||
void real_profiler_state::reset(bool enabled) noexcept
|
||||
{
|
||||
assert(!m_filoptr || (m_filoptr == m_filo));
|
||||
// disabling the profiler from the UI happens while PROFILER_EXTRA is active
|
||||
//assert(!m_filoptr || (m_filoptr == m_filo));
|
||||
|
||||
m_text_time = attotime::never;
|
||||
|
||||
|
@ -51,12 +51,10 @@ using test_delegate = delegate<char (void const *&)>;
|
||||
// type
|
||||
//-------------------------------------------------
|
||||
|
||||
#if !defined(_LIBCPP_VERSION) || (_LIBCPP_VERSION >= 7000)
|
||||
test_delegate make_diamond_class_delegate(char (diamond_inheritance::*func)(void const *&), diamond_inheritance *obj)
|
||||
{
|
||||
return test_delegate(func, obj);
|
||||
}
|
||||
#endif // !defined(_LIBCPP_VERSION) || (_LIBCPP_VERSION >= 7000)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -1488,7 +1486,6 @@ void validate_delegates_mfp()
|
||||
if (&o != addr)
|
||||
osd_printf_error("Error testing delegate this pointer adjustment for virtual member function through base class pointer %p -> %p (expected %p)\n", static_cast<void const *>(static_cast<base_b *>(&o)), addr, static_cast<void const *>(&o));
|
||||
|
||||
#if !defined(_LIBCPP_VERSION) || (_LIBCPP_VERSION >= 7000)
|
||||
// test creating delegates for a forward-declared class
|
||||
cb1 = make_diamond_class_delegate(&diamond_inheritance::get_derived_a, &d);
|
||||
cb2 = make_diamond_class_delegate(&diamond_inheritance::get_derived_b, &d);
|
||||
@ -1518,7 +1515,6 @@ void validate_delegates_mfp()
|
||||
if (static_cast<virtual_base *>(&d) != addr)
|
||||
osd_printf_error("Error testing delegate this pointer adjustment for incomplete class %p -> %p (expected %p)\n", static_cast<void const *>(&d), addr, static_cast<void const *>(static_cast<virtual_base *>(&d)));
|
||||
#endif // defined(_MSC_VER) && !defined(__clang__)
|
||||
#endif // !defined(_LIBCPP_VERSION) || (_LIBCPP_VERSION >= 7000)
|
||||
}
|
||||
|
||||
|
||||
|
@ -41,9 +41,11 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "bus/centronics/ctronics.h"
|
||||
#include "bus/rs232/rs232.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "imagedev/floppy.h"
|
||||
#include "machine/clock.h"
|
||||
#include "machine/i8251.h"
|
||||
#include "machine/mc146818.h"
|
||||
@ -55,12 +57,13 @@
|
||||
#include "machine/timer.h"
|
||||
#include "machine/upd765.h"
|
||||
#include "sound/beep.h"
|
||||
#include "imagedev/floppy.h"
|
||||
#include "formats/pc_dsk.h"
|
||||
|
||||
#include "emupal.h"
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
|
||||
#include "formats/pc_dsk.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_DEBUG (1U << 1)
|
||||
#define LOG_IRQ (1U << 2)
|
||||
@ -93,7 +96,10 @@ public:
|
||||
m_uart_clock(*this, "uart_clock"),
|
||||
m_nvram(*this, "nvram"),
|
||||
m_pcmcia(*this, "pcmcia"),
|
||||
m_mem_view{ {*this, "block0"}, {*this, "block1"}, {*this, "block2"}, {*this, "block3"} },
|
||||
m_mem_view0(*this, "block0"),
|
||||
m_mem_view1(*this, "block1"),
|
||||
m_mem_view2(*this, "block2"),
|
||||
m_mem_view3(*this, "block3"),
|
||||
m_keyboard(*this, "line%d", 0U),
|
||||
m_battery(*this, "battery")
|
||||
{
|
||||
@ -137,7 +143,10 @@ protected:
|
||||
required_device<clock_device> m_uart_clock;
|
||||
required_device<nvram_device> m_nvram;
|
||||
required_device<pccard_slot_device> m_pcmcia;
|
||||
memory_view m_mem_view[4];
|
||||
memory_view m_mem_view0;
|
||||
memory_view m_mem_view1;
|
||||
memory_view m_mem_view2;
|
||||
memory_view m_mem_view3;
|
||||
required_ioport_array<10> m_keyboard;
|
||||
required_ioport m_battery;
|
||||
|
||||
@ -263,26 +272,26 @@ private:
|
||||
|
||||
void nc_state::mem_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x3fff).view(m_mem_view[0]);
|
||||
m_mem_view[0][0](0x0000, 0x3fff).bankr(m_rombank[0]);
|
||||
m_mem_view[0][1](0x0000, 0x3fff).bankrw(m_rambank[0]);
|
||||
m_mem_view[0][2](0x0000, 0x3fff).rw(FUNC(nc_state::pcmcia_r<0>), FUNC(nc_state::pcmcia_w<0>));
|
||||
m_mem_view[0][3](0x0000, 0x3fff).bankr(m_rombank[0]);
|
||||
map(0x4000, 0x7fff).view(m_mem_view[1]);
|
||||
m_mem_view[1][0](0x4000, 0x7fff).bankr(m_rombank[1]);
|
||||
m_mem_view[1][1](0x4000, 0x7fff).bankrw(m_rambank[1]);
|
||||
m_mem_view[1][2](0x4000, 0x7fff).rw(FUNC(nc_state::pcmcia_r<1>), FUNC(nc_state::pcmcia_w<1>));
|
||||
m_mem_view[1][3](0x4000, 0x7fff).bankr(m_rombank[1]);
|
||||
map(0x8000, 0xbfff).view(m_mem_view[2]);
|
||||
m_mem_view[2][0](0x8000, 0xbfff).bankr(m_rombank[2]);
|
||||
m_mem_view[2][1](0x8000, 0xbfff).bankrw(m_rambank[2]);
|
||||
m_mem_view[2][2](0x8000, 0xbfff).rw(FUNC(nc_state::pcmcia_r<2>), FUNC(nc_state::pcmcia_w<2>));
|
||||
m_mem_view[2][3](0x8000, 0xbfff).bankr(m_rombank[2]);
|
||||
map(0xc000, 0xffff).view(m_mem_view[3]);
|
||||
m_mem_view[3][0](0xc000, 0xffff).bankr(m_rombank[3]);
|
||||
m_mem_view[3][1](0xc000, 0xffff).bankrw(m_rambank[3]);
|
||||
m_mem_view[3][2](0xc000, 0xffff).rw(FUNC(nc_state::pcmcia_r<3>), FUNC(nc_state::pcmcia_w<3>));
|
||||
m_mem_view[3][3](0xc000, 0xffff).bankr(m_rombank[3]);
|
||||
map(0x0000, 0x3fff).view(m_mem_view0);
|
||||
m_mem_view0[0](0x0000, 0x3fff).bankr(m_rombank[0]);
|
||||
m_mem_view0[1](0x0000, 0x3fff).bankrw(m_rambank[0]);
|
||||
m_mem_view0[2](0x0000, 0x3fff).rw(FUNC(nc_state::pcmcia_r<0>), FUNC(nc_state::pcmcia_w<0>));
|
||||
m_mem_view0[3](0x0000, 0x3fff).bankr(m_rombank[0]);
|
||||
map(0x4000, 0x7fff).view(m_mem_view1);
|
||||
m_mem_view1[0](0x4000, 0x7fff).bankr(m_rombank[1]);
|
||||
m_mem_view1[1](0x4000, 0x7fff).bankrw(m_rambank[1]);
|
||||
m_mem_view1[2](0x4000, 0x7fff).rw(FUNC(nc_state::pcmcia_r<1>), FUNC(nc_state::pcmcia_w<1>));
|
||||
m_mem_view1[3](0x4000, 0x7fff).bankr(m_rombank[1]);
|
||||
map(0x8000, 0xbfff).view(m_mem_view2);
|
||||
m_mem_view2[0](0x8000, 0xbfff).bankr(m_rombank[2]);
|
||||
m_mem_view2[1](0x8000, 0xbfff).bankrw(m_rambank[2]);
|
||||
m_mem_view2[2](0x8000, 0xbfff).rw(FUNC(nc_state::pcmcia_r<2>), FUNC(nc_state::pcmcia_w<2>));
|
||||
m_mem_view2[3](0x8000, 0xbfff).bankr(m_rombank[2]);
|
||||
map(0xc000, 0xffff).view(m_mem_view3);
|
||||
m_mem_view3[0](0xc000, 0xffff).bankr(m_rombank[3]);
|
||||
m_mem_view3[1](0xc000, 0xffff).bankrw(m_rambank[3]);
|
||||
m_mem_view3[2](0xc000, 0xffff).rw(FUNC(nc_state::pcmcia_r<3>), FUNC(nc_state::pcmcia_w<3>));
|
||||
m_mem_view3[3](0xc000, 0xffff).bankr(m_rombank[3]);
|
||||
}
|
||||
|
||||
void nc100_state::io_map(address_map &map)
|
||||
@ -1193,7 +1202,8 @@ void nc_state::memory_management_w(offs_t offset, uint8_t data)
|
||||
|
||||
m_mmc[offset] = data;
|
||||
|
||||
m_mem_view[offset].select(BIT(m_mmc[offset], 6, 2));
|
||||
memory_view *const mem_view[4] = { &m_mem_view0, &m_mem_view1, &m_mem_view2, &m_mem_view3 };
|
||||
mem_view[offset]->select(BIT(m_mmc[offset], 6, 2));
|
||||
m_rombank[offset]->set_entry(m_mmc[offset] & 0x3f & (m_rom_banks - 1));
|
||||
m_rambank[offset]->set_entry(m_mmc[offset] & 0x3f & (m_ram_banks - 1));
|
||||
}
|
||||
|
@ -87,12 +87,16 @@ public:
|
||||
template <typename T>
|
||||
HRESULT enum_attached_devices(int devclass, T &&callback) const
|
||||
{
|
||||
struct helper
|
||||
{
|
||||
static BOOL CALLBACK callback(LPCDIDEVICEINSTANCE instance, LPVOID ref)
|
||||
{
|
||||
return (*reinterpret_cast<T *>(ref))(instance);
|
||||
}
|
||||
};
|
||||
return m_dinput->EnumDevices(
|
||||
devclass,
|
||||
[] (LPCDIDEVICEINSTANCE instance, LPVOID ref) -> BOOL
|
||||
{
|
||||
return (*reinterpret_cast<T *>(ref))(instance);
|
||||
},
|
||||
&helper::callback,
|
||||
reinterpret_cast<LPVOID>(&callback),
|
||||
DIEDFL_ATTACHEDONLY);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user