summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--makefile4
-rw-r--r--scripts/genie.lua21
-rw-r--r--scripts/src/emu.lua9
-rw-r--r--scripts/src/lib.lua6
-rw-r--r--scripts/src/osd/osdmini.lua4
-rw-r--r--scripts/src/osd/sdl.lua6
-rw-r--r--scripts/src/osd/windows.lua4
-rw-r--r--scripts/target/ldplayer/ldplayer.lua2
-rw-r--r--scripts/target/mame/arcade.lua2
-rw-r--r--scripts/target/mame/dummy.lua2
-rw-r--r--scripts/target/mame/mess.lua2
-rw-r--r--scripts/target/mame/tiny.lua2
-rw-r--r--src/emu/cpu/m6809/hd6309.c26
-rw-r--r--src/emu/cpu/m6809/konami.c20
-rw-r--r--src/emu/cpu/m6809/m6809.c6
-rw-r--r--src/emu/cpu/m6809/m6809.h38
-rw-r--r--src/emu/cpu/mcs96/i8xc196.c4
-rw-r--r--src/emu/cpu/mcs96/i8xc196.h1
-rw-r--r--src/emu/cpu/pic16c62x/pic16c62x.c9
-rw-r--r--src/emu/machine/68561mpcc.c6
-rw-r--r--src/emu/video/mc6847.c16
-rw-r--r--src/mess/video/gime.c42
22 files changed, 134 insertions, 98 deletions
diff --git a/makefile b/makefile
index 21c518506bd..e9b302c711a 100644
--- a/makefile
+++ b/makefile
@@ -393,6 +393,10 @@ ifdef OPTIMIZE
PARAMS += --OPTIMIZE=$(OPTIMIZE)
endif
+ifdef SHLIB
+PARAMS += --SHLIB=$(SHLIB)
+endif
+
ifdef ARCHOPTS
PARAMS += --ARCHOPTS='$(ARCHOPTS)'
endif
diff --git a/scripts/genie.lua b/scripts/genie.lua
index 7b88a7d3ade..b4915406b25 100644
--- a/scripts/genie.lua
+++ b/scripts/genie.lua
@@ -311,6 +311,21 @@ newoption {
}
+newoption {
+ trigger = "SHLIB",
+ description = "Generate shared libs.",
+ allowed = {
+ { "0", "Static libs" },
+ { "1", "Shared libs" },
+ }
+}
+
+if _OPTIONS["SHLIB"]=="1" then
+ LIBTYPE = "SharedLib"
+else
+ LIBTYPE = "StaticLib"
+end
+
PYTHON = "python"
if _OPTIONS["PYTHON_EXECUTABLE"]~=nil then
@@ -743,6 +758,12 @@ if _OPTIONS["OPTIMIZE"] then
end
end
+if _OPTIONS["SHLIB"] then
+ buildoptions {
+ "-fPIC"
+ }
+end
+
if _OPTIONS["SSE2"]=="1" then
buildoptions {
"-msse2",
diff --git a/scripts/src/emu.lua b/scripts/src/emu.lua
index 3b020839b14..2eb279377b5 100644
--- a/scripts/src/emu.lua
+++ b/scripts/src/emu.lua
@@ -2,8 +2,9 @@
-- copyright-holders:MAMEdev Team
project ("emu")
+targetsubdir(_OPTIONS["target"] .."_" .. _OPTIONS["subtarget"])
uuid ("e6fa15e4-a354-4526-acef-13c8e80fcacf")
-kind "StaticLib"
+kind (LIBTYPE)
options {
"ForceCPP",
}
@@ -358,7 +359,7 @@ function emuProject(_target, _subtarget)
project ("optional")
uuid (os.uuid("optional-" .. _target .."_" .. _subtarget))
- kind "StaticLib"
+ kind (LIBTYPE)
targetsubdir(_target .."_" .. _subtarget)
options {
"ForceCPP",
@@ -397,7 +398,7 @@ function emuProject(_target, _subtarget)
project ("bus")
uuid ("5d782c89-cf7e-4cfe-8f9f-0d4bfc16c91d")
- kind "StaticLib"
+ kind (LIBTYPE)
targetsubdir(_target .."_" .. _subtarget)
options {
"ForceCPP",
@@ -428,7 +429,7 @@ function emuProject(_target, _subtarget)
project ("dasm")
uuid ("f2d28b0a-6da5-4f78-b629-d834aa00429d")
- kind "StaticLib"
+ kind (LIBTYPE)
targetsubdir(_target .."_" .. _subtarget)
options {
"ForceCPP",
diff --git a/scripts/src/lib.lua b/scripts/src/lib.lua
index 6eca056a87f..e24ff00f438 100644
--- a/scripts/src/lib.lua
+++ b/scripts/src/lib.lua
@@ -2,8 +2,9 @@
-- copyright-holders:MAMEdev Team
project "utils"
+ targetsubdir(_OPTIONS["target"] .."_" .. _OPTIONS["subtarget"])
uuid "22489ad0-4cb2-4d91-ad81-24b0d80ca30a"
- kind "StaticLib"
+ kind (LIBTYPE)
options {
"ForceCPP",
@@ -94,8 +95,9 @@ project "utils"
project "formats"
+ targetsubdir(_OPTIONS["target"] .."_" .. _OPTIONS["subtarget"])
uuid "f69636b1-fcce-45ce-b09a-113e371a2d7a"
- kind "StaticLib"
+ kind (LIBTYPE)
options {
"ForceCPP",
diff --git a/scripts/src/osd/osdmini.lua b/scripts/src/osd/osdmini.lua
index a1b19f9cb2a..b4afaaa6532 100644
--- a/scripts/src/osd/osdmini.lua
+++ b/scripts/src/osd/osdmini.lua
@@ -7,7 +7,7 @@ end
project ("osd_" .. _OPTIONS["osd"])
uuid (os.uuid("osd_" .. _OPTIONS["osd"]))
- kind "StaticLib"
+ kind (LIBTYPE)
removeflags {
"SingleOutputDir",
@@ -54,7 +54,7 @@ project ("osd_" .. _OPTIONS["osd"])
project ("ocore_" .. _OPTIONS["osd"])
uuid (os.uuid("ocore_" .. _OPTIONS["osd"]))
- kind "StaticLib"
+ kind (LIBTYPE)
options {
"ForceCPP",
diff --git a/scripts/src/osd/sdl.lua b/scripts/src/osd/sdl.lua
index 2c8e2ed51c5..0fc7d57d3b9 100644
--- a/scripts/src/osd/sdl.lua
+++ b/scripts/src/osd/sdl.lua
@@ -293,8 +293,9 @@ end
project ("osd_" .. _OPTIONS["osd"])
+ targetsubdir(_OPTIONS["target"] .."_" .._OPTIONS["subtarget"])
uuid (os.uuid("osd_" .. _OPTIONS["osd"]))
- kind "StaticLib"
+ kind (LIBTYPE)
dofile("sdl_cfg.lua")
osdmodulesbuild()
@@ -361,8 +362,9 @@ project ("osd_" .. _OPTIONS["osd"])
project ("ocore_" .. _OPTIONS["osd"])
+ targetsubdir(_OPTIONS["target"] .."_" .. _OPTIONS["subtarget"])
uuid (os.uuid("ocore_" .. _OPTIONS["osd"]))
- kind "StaticLib"
+ kind (LIBTYPE)
options {
"ForceCPP",
diff --git a/scripts/src/osd/windows.lua b/scripts/src/osd/windows.lua
index 33176ff43fc..e9965017933 100644
--- a/scripts/src/osd/windows.lua
+++ b/scripts/src/osd/windows.lua
@@ -90,7 +90,7 @@ end
project ("osd_" .. _OPTIONS["osd"])
uuid (os.uuid("osd_" .. _OPTIONS["osd"]))
- kind "StaticLib"
+ kind (LIBTYPE)
dofile("windows_cfg.lua")
osdmodulesbuild()
@@ -153,7 +153,7 @@ project ("osd_" .. _OPTIONS["osd"])
project ("ocore_" .. _OPTIONS["osd"])
uuid (os.uuid("ocore_" .. _OPTIONS["osd"]))
- kind "StaticLib"
+ kind (LIBTYPE)
options {
"ForceCPP",
diff --git a/scripts/target/ldplayer/ldplayer.lua b/scripts/target/ldplayer/ldplayer.lua
index 3660b87cba9..f12fad0c7db 100644
--- a/scripts/target/ldplayer/ldplayer.lua
+++ b/scripts/target/ldplayer/ldplayer.lua
@@ -54,7 +54,7 @@ BUSES["MIDI"] = true
function createProjects_ldplayer_ldplayer(_target, _subtarget)
project ("drvldplayer")
targetsubdir(_target .."_" .. _subtarget)
- kind "StaticLib"
+ kind (LIBTYPE)
uuid (os.uuid("drvldplayer"))
options {
diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua
index eff03dac309..8d0346f3942 100644
--- a/scripts/target/mame/arcade.lua
+++ b/scripts/target/mame/arcade.lua
@@ -760,7 +760,7 @@ end
function createMAMEProjects(_target, _subtarget, _name)
project (_name)
targetsubdir(_target .."_" .. _subtarget)
- kind "StaticLib"
+ kind (LIBTYPE)
uuid (os.uuid("drv-" .. _target .."_" .. _subtarget .. "_" .._name))
options {
diff --git a/scripts/target/mame/dummy.lua b/scripts/target/mame/dummy.lua
index bd207bf41c8..145862828d5 100644
--- a/scripts/target/mame/dummy.lua
+++ b/scripts/target/mame/dummy.lua
@@ -15,7 +15,7 @@ dofile("mess.lua")
function createProjects_mame_dummy(_target, _subtarget)
project ("mame_dummy")
targetsubdir(_target .."_" .. _subtarget)
- kind "StaticLib"
+ kind (LIBTYPE)
uuid (os.uuid("drv-mame_dummy"))
options {
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index 84bed8d6c66..8db1d42aa81 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -859,7 +859,7 @@ end
function createMESSProjects(_target, _subtarget, _name)
project (_name)
targetsubdir(_target .."_" .. _subtarget)
- kind "StaticLib"
+ kind (LIBTYPE)
uuid (os.uuid("drv-" .. _target .."_" .. _subtarget .. "_" .._name))
options {
diff --git a/scripts/target/mame/tiny.lua b/scripts/target/mame/tiny.lua
index 350dfd5847c..9dc18d31d9a 100644
--- a/scripts/target/mame/tiny.lua
+++ b/scripts/target/mame/tiny.lua
@@ -78,7 +78,7 @@ BUSES["CENTRONICS"] = true
function createProjects_mame_tiny(_target, _subtarget)
project ("mame_tiny")
targetsubdir(_target .."_" .. _subtarget)
- kind "StaticLib"
+ kind (LIBTYPE)
uuid (os.uuid("drv-mame-tiny"))
options {
diff --git a/src/emu/cpu/m6809/hd6309.c b/src/emu/cpu/m6809/hd6309.c
index 027c9b7511b..5b270d26c90 100644
--- a/src/emu/cpu/m6809/hd6309.c
+++ b/src/emu/cpu/m6809/hd6309.c
@@ -313,7 +313,7 @@ offs_t hd6309_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *o
// read_operand
//-------------------------------------------------
-ATTR_FORCE_INLINE UINT8 hd6309_device::read_operand()
+inline UINT8 hd6309_device::read_operand()
{
switch(m_addressing_mode)
{
@@ -332,7 +332,7 @@ ATTR_FORCE_INLINE UINT8 hd6309_device::read_operand()
// read_operand
//-------------------------------------------------
-ATTR_FORCE_INLINE UINT8 hd6309_device::read_operand(int ordinal)
+inline UINT8 hd6309_device::read_operand(int ordinal)
{
switch(m_addressing_mode)
{
@@ -356,7 +356,7 @@ ATTR_FORCE_INLINE UINT8 hd6309_device::read_operand(int ordinal)
// write_operand
//-------------------------------------------------
-ATTR_FORCE_INLINE void hd6309_device::write_operand(UINT8 data)
+inline void hd6309_device::write_operand(UINT8 data)
{
switch(m_addressing_mode)
{
@@ -375,7 +375,7 @@ ATTR_FORCE_INLINE void hd6309_device::write_operand(UINT8 data)
// write_operand
//-------------------------------------------------
-ATTR_FORCE_INLINE void hd6309_device::write_operand(int ordinal, UINT8 data)
+inline void hd6309_device::write_operand(int ordinal, UINT8 data)
{
switch(m_addressing_mode)
{
@@ -398,7 +398,7 @@ ATTR_FORCE_INLINE void hd6309_device::write_operand(int ordinal, UINT8 data)
// bittest_register
//-------------------------------------------------
-ATTR_FORCE_INLINE UINT8 &hd6309_device::bittest_register()
+inline UINT8 &hd6309_device::bittest_register()
{
switch(m_temp_im & 0xC0)
{
@@ -414,7 +414,7 @@ ATTR_FORCE_INLINE UINT8 &hd6309_device::bittest_register()
// bittest_source
//-------------------------------------------------
-ATTR_FORCE_INLINE bool hd6309_device::bittest_source()
+inline bool hd6309_device::bittest_source()
{
return (m_temp.b.l & (1 << ((m_temp_im >> 3) & 0x07))) ? true : false;
}
@@ -424,7 +424,7 @@ ATTR_FORCE_INLINE bool hd6309_device::bittest_source()
// bittest_dest
//-------------------------------------------------
-ATTR_FORCE_INLINE bool hd6309_device::bittest_dest()
+inline bool hd6309_device::bittest_dest()
{
return (bittest_register() & (1 << ((m_temp_im >> 0) & 0x07))) ? true : false;
}
@@ -434,7 +434,7 @@ ATTR_FORCE_INLINE bool hd6309_device::bittest_dest()
// bittest_set
//-------------------------------------------------
-ATTR_FORCE_INLINE void hd6309_device::bittest_set(bool result)
+inline void hd6309_device::bittest_set(bool result)
{
if (result)
bittest_register() |= (1 << ((m_temp_im >> 0) & 0x07));
@@ -448,7 +448,7 @@ ATTR_FORCE_INLINE void hd6309_device::bittest_set(bool result)
// read_exgtfr_register
//-------------------------------------------------
-ATTR_FORCE_INLINE m6809_base_device::exgtfr_register hd6309_device::read_exgtfr_register(UINT8 reg)
+inline m6809_base_device::exgtfr_register hd6309_device::read_exgtfr_register(UINT8 reg)
{
UINT16 value = 0;
@@ -486,7 +486,7 @@ ATTR_FORCE_INLINE m6809_base_device::exgtfr_register hd6309_device::read_exgtfr_
// write_exgtfr_register
//-------------------------------------------------
-ATTR_FORCE_INLINE void hd6309_device::write_exgtfr_register(UINT8 reg, m6809_base_device::exgtfr_register value)
+inline void hd6309_device::write_exgtfr_register(UINT8 reg, m6809_base_device::exgtfr_register value)
{
switch(reg & 0x0F)
{
@@ -517,7 +517,7 @@ ATTR_FORCE_INLINE void hd6309_device::write_exgtfr_register(UINT8 reg, m6809_bas
// tfr_read
//-------------------------------------------------
-ATTR_FORCE_INLINE bool hd6309_device::tfr_read(UINT8 opcode, UINT8 arg, UINT8 &data)
+inline bool hd6309_device::tfr_read(UINT8 opcode, UINT8 arg, UINT8 &data)
{
PAIR16 *reg;
@@ -550,7 +550,7 @@ ATTR_FORCE_INLINE bool hd6309_device::tfr_read(UINT8 opcode, UINT8 arg, UINT8 &d
// tfr_write
//-------------------------------------------------
-ATTR_FORCE_INLINE bool hd6309_device::tfr_write(UINT8 opcode, UINT8 arg, UINT8 data)
+inline bool hd6309_device::tfr_write(UINT8 opcode, UINT8 arg, UINT8 data)
{
PAIR16 *reg;
@@ -789,7 +789,7 @@ bool hd6309_device::divd()
// execute_one - try to execute a single instruction
//-------------------------------------------------
-ATTR_FORCE_INLINE void hd6309_device::execute_one()
+inline void hd6309_device::execute_one()
{
switch(pop_state())
{
diff --git a/src/emu/cpu/m6809/konami.c b/src/emu/cpu/m6809/konami.c
index d86f44651d2..8dc2bf3ab78 100644
--- a/src/emu/cpu/m6809/konami.c
+++ b/src/emu/cpu/m6809/konami.c
@@ -120,7 +120,7 @@ offs_t konami_cpu_device::disasm_disassemble(char *buffer, offs_t pc, const UINT
// read_operand
//-------------------------------------------------
-inline ATTR_FORCE_INLINE UINT8 konami_cpu_device::read_operand()
+inline UINT8 konami_cpu_device::read_operand()
{
return super::read_operand();
}
@@ -130,7 +130,7 @@ inline ATTR_FORCE_INLINE UINT8 konami_cpu_device::read_operand()
// read_operand
//-------------------------------------------------
-inline ATTR_FORCE_INLINE UINT8 konami_cpu_device::read_operand(int ordinal)
+inline UINT8 konami_cpu_device::read_operand(int ordinal)
{
switch(m_addressing_mode)
{
@@ -146,7 +146,7 @@ inline ATTR_FORCE_INLINE UINT8 konami_cpu_device::read_operand(int ordinal)
// write_operand
//-------------------------------------------------
-ATTR_FORCE_INLINE void konami_cpu_device::write_operand(UINT8 data)
+inline void konami_cpu_device::write_operand(UINT8 data)
{
super::write_operand(data);
}
@@ -157,7 +157,7 @@ ATTR_FORCE_INLINE void konami_cpu_device::write_operand(UINT8 data)
// write_operand
//-------------------------------------------------
-ATTR_FORCE_INLINE void konami_cpu_device::write_operand(int ordinal, UINT8 data)
+inline void konami_cpu_device::write_operand(int ordinal, UINT8 data)
{
switch(m_addressing_mode)
{
@@ -173,7 +173,7 @@ ATTR_FORCE_INLINE void konami_cpu_device::write_operand(int ordinal, UINT8 data)
// ireg
//-------------------------------------------------
-ATTR_FORCE_INLINE UINT16 &konami_cpu_device::ireg()
+inline UINT16 &konami_cpu_device::ireg()
{
switch(m_opcode & 0x70)
{
@@ -194,7 +194,7 @@ ATTR_FORCE_INLINE UINT16 &konami_cpu_device::ireg()
// read_exgtfr_register
//-------------------------------------------------
-ATTR_FORCE_INLINE m6809_base_device::exgtfr_register konami_cpu_device::read_exgtfr_register(UINT8 reg)
+inline m6809_base_device::exgtfr_register konami_cpu_device::read_exgtfr_register(UINT8 reg)
{
exgtfr_register result;
result.word_value = 0x00FF;
@@ -217,7 +217,7 @@ ATTR_FORCE_INLINE m6809_base_device::exgtfr_register konami_cpu_device::read_exg
// write_exgtfr_register
//-------------------------------------------------
-ATTR_FORCE_INLINE void konami_cpu_device::write_exgtfr_register(UINT8 reg, m6809_base_device::exgtfr_register value)
+inline void konami_cpu_device::write_exgtfr_register(UINT8 reg, m6809_base_device::exgtfr_register value)
{
switch(reg & 0x07)
{
@@ -287,7 +287,7 @@ template<class T> T konami_cpu_device::safe_shift_left(T value, UINT32 shift)
// lmul
//-------------------------------------------------
-ATTR_FORCE_INLINE void konami_cpu_device::lmul()
+inline void konami_cpu_device::lmul()
{
PAIR result;
@@ -313,7 +313,7 @@ ATTR_FORCE_INLINE void konami_cpu_device::lmul()
// divx
//-------------------------------------------------
-ATTR_FORCE_INLINE void konami_cpu_device::divx()
+inline void konami_cpu_device::divx()
{
UINT16 result;
UINT8 remainder;
@@ -357,7 +357,7 @@ void konami_cpu_device::set_lines(UINT8 data)
// execute_one - try to execute a single instruction
//-------------------------------------------------
-ATTR_FORCE_INLINE void konami_cpu_device::execute_one()
+inline void konami_cpu_device::execute_one()
{
switch(pop_state())
{
diff --git a/src/emu/cpu/m6809/m6809.c b/src/emu/cpu/m6809/m6809.c
index 3b7fc33d94f..1b7b0e1e777 100644
--- a/src/emu/cpu/m6809/m6809.c
+++ b/src/emu/cpu/m6809/m6809.c
@@ -456,7 +456,7 @@ const char *m6809_base_device::inputnum_string(int inputnum)
// read_exgtfr_register
//-------------------------------------------------
-ATTR_FORCE_INLINE m6809_base_device::exgtfr_register m6809_base_device::read_exgtfr_register(UINT8 reg)
+m6809_base_device::exgtfr_register m6809_base_device::read_exgtfr_register(UINT8 reg)
{
exgtfr_register result;
result.byte_value = 0xFF;
@@ -483,7 +483,7 @@ ATTR_FORCE_INLINE m6809_base_device::exgtfr_register m6809_base_device::read_exg
// write_exgtfr_register
//-------------------------------------------------
-ATTR_FORCE_INLINE void m6809_base_device::write_exgtfr_register(UINT8 reg, m6809_base_device::exgtfr_register value)
+void m6809_base_device::write_exgtfr_register(UINT8 reg, m6809_base_device::exgtfr_register value)
{
switch(reg & 0x0F)
{
@@ -516,7 +516,7 @@ void m6809_base_device::log_illegal()
// execute_one - try to execute a single instruction
//-------------------------------------------------
-ATTR_FORCE_INLINE void m6809_base_device::execute_one()
+void m6809_base_device::execute_one()
{
switch(pop_state())
{
diff --git a/src/emu/cpu/m6809/m6809.h b/src/emu/cpu/m6809/m6809.h
index eb0633af44c..7b14a6882e5 100644
--- a/src/emu/cpu/m6809/m6809.h
+++ b/src/emu/cpu/m6809/m6809.h
@@ -147,27 +147,27 @@ protected:
devcb_write_line m_lic_func; // LIC pin on the 6809E
// eat cycles
- ATTR_FORCE_INLINE void eat(int cycles) { m_icount -= cycles; }
+ inline void eat(int cycles) { m_icount -= cycles; }
void eat_remaining();
// read a byte from given memory location
- ATTR_FORCE_INLINE UINT8 read_memory(UINT16 address) { eat(1); return m_addrspace[AS_PROGRAM]->read_byte(address); }
+ inline UINT8 read_memory(UINT16 address) { eat(1); return m_addrspace[AS_PROGRAM]->read_byte(address); }
// write a byte to given memory location
- ATTR_FORCE_INLINE void write_memory(UINT16 address, UINT8 data) { eat(1); m_addrspace[AS_PROGRAM]->write_byte(address, data); }
+ inline void write_memory(UINT16 address, UINT8 data) { eat(1); m_addrspace[AS_PROGRAM]->write_byte(address, data); }
// read_opcode() is like read_memory() except it is used for reading opcodes. In the case of a system
// with memory mapped I/O, this function can be used to greatly speed up emulation.
- ATTR_FORCE_INLINE UINT8 read_opcode(UINT16 address) { eat(1); return m_direct->read_decrypted_byte(address); }
+ inline UINT8 read_opcode(UINT16 address) { eat(1); return m_direct->read_decrypted_byte(address); }
// read_opcode_arg() is identical to read_opcode() except it is used for reading opcode arguments. This
// difference can be used to support systems that use different encoding mechanisms for opcodes
// and opcode arguments.
- ATTR_FORCE_INLINE UINT8 read_opcode_arg(UINT16 address) { eat(1); return m_direct->read_raw_byte(address); }
+ inline UINT8 read_opcode_arg(UINT16 address) { eat(1); return m_direct->read_raw_byte(address); }
// read_opcode() and bump the program counter
- ATTR_FORCE_INLINE UINT8 read_opcode() { return read_opcode(m_pc.w++); }
- ATTR_FORCE_INLINE UINT8 read_opcode_arg() { return read_opcode_arg(m_pc.w++); }
+ inline UINT8 read_opcode() { return read_opcode(m_pc.w++); }
+ inline UINT8 read_opcode_arg() { return read_opcode_arg(m_pc.w++); }
// state stack - implemented as a UINT32
void push_state(UINT8 state) { m_state = (m_state << 8) | state; }
@@ -219,15 +219,15 @@ protected:
template<class T> T set_flags(UINT8 mask, T r);
// branch conditions
- ATTR_FORCE_INLINE bool cond_hi() { return !(m_cc & CC_ZC); } // BHI/BLS
- ATTR_FORCE_INLINE bool cond_cc() { return !(m_cc & CC_C); } // BCC/BCS
- ATTR_FORCE_INLINE bool cond_ne() { return !(m_cc & CC_Z); } // BNE/BEQ
- ATTR_FORCE_INLINE bool cond_vc() { return !(m_cc & CC_V); } // BVC/BVS
- ATTR_FORCE_INLINE bool cond_pl() { return !(m_cc & CC_N); } // BPL/BMI
- ATTR_FORCE_INLINE bool cond_ge() { return (m_cc & CC_N ? true : false) == (m_cc & CC_V ? true : false); } // BGE/BLT
- ATTR_FORCE_INLINE bool cond_gt() { return cond_ge() && !(m_cc & CC_Z); } // BGT/BLE
- ATTR_FORCE_INLINE void set_cond(bool cond) { m_cond = cond; }
- ATTR_FORCE_INLINE bool branch_taken() { return m_cond; }
+ inline bool cond_hi() { return !(m_cc & CC_ZC); } // BHI/BLS
+ inline bool cond_cc() { return !(m_cc & CC_C); } // BCC/BCS
+ inline bool cond_ne() { return !(m_cc & CC_Z); } // BNE/BEQ
+ inline bool cond_vc() { return !(m_cc & CC_V); } // BVC/BVS
+ inline bool cond_pl() { return !(m_cc & CC_N); } // BPL/BMI
+ inline bool cond_ge() { return (m_cc & CC_N ? true : false) == (m_cc & CC_V ? true : false); } // BGE/BLT
+ inline bool cond_gt() { return cond_ge() && !(m_cc & CC_Z); } // BGT/BLE
+ inline void set_cond(bool cond) { m_cond = cond; }
+ inline bool branch_taken() { return m_cond; }
// interrupt registers
bool firq_saves_entire_state() { return false; }
@@ -235,8 +235,8 @@ protected:
UINT16 entire_state_registers() { return 0xFF; }
// miscellaneous
- exgtfr_register read_exgtfr_register(UINT8 reg);
- void write_exgtfr_register(UINT8 reg, exgtfr_register value);
+ inline exgtfr_register read_exgtfr_register(UINT8 reg);
+ inline void write_exgtfr_register(UINT8 reg, exgtfr_register value);
bool is_register_addressing_mode();
bool is_ea_addressing_mode() { return m_addressing_mode == ADDRESSING_MODE_EA; }
UINT16 get_pending_interrupt();
@@ -255,7 +255,7 @@ private:
int m_clock_divider;
// functions
- void execute_one();
+ inline void execute_one();
const char *inputnum_string(int inputnum);
};
diff --git a/src/emu/cpu/mcs96/i8xc196.c b/src/emu/cpu/mcs96/i8xc196.c
index 8e80da19cdb..19553280de2 100644
--- a/src/emu/cpu/mcs96/i8xc196.c
+++ b/src/emu/cpu/mcs96/i8xc196.c
@@ -69,4 +69,8 @@ UINT16 i8xc196_device::io_r16(UINT8 adr)
return data;
}
+void i8xc196_device::do_exec_partial()
+{
+}
+
#include "cpu/mcs96/i8xc196.inc"
diff --git a/src/emu/cpu/mcs96/i8xc196.h b/src/emu/cpu/mcs96/i8xc196.h
index cb41e693fe8..299f6c9128d 100644
--- a/src/emu/cpu/mcs96/i8xc196.h
+++ b/src/emu/cpu/mcs96/i8xc196.h
@@ -23,7 +23,6 @@ public:
virtual void do_exec_full();
virtual void do_exec_partial();
- virtual void next(int cycles);
virtual void io_w8(UINT8 adr, UINT8 data);
virtual void io_w16(UINT8 adr, UINT16 data);
virtual UINT8 io_r8(UINT8 adr);
diff --git a/src/emu/cpu/pic16c62x/pic16c62x.c b/src/emu/cpu/pic16c62x/pic16c62x.c
index 42e92b0addf..1d2dae52b95 100644
--- a/src/emu/cpu/pic16c62x/pic16c62x.c
+++ b/src/emu/cpu/pic16c62x/pic16c62x.c
@@ -57,6 +57,15 @@
#include "pic16c62x.h"
+const device_type PIC16C620 = &device_creator<pic16c620_device>;
+const device_type PIC16C620A = &device_creator<pic16c620a_device>;
+const device_type PIC16C621 = &device_creator<pic16c621_device>;
+const device_type PIC16C621A = &device_creator<pic16c621a_device>;
+const device_type PIC16C622 = &device_creator<pic16c622_device>;
+const device_type PIC16C622A = &device_creator<pic16c622a_device>;
+
+
+
/****************************************************************************
* Internal Memory Map
****************************************************************************/
diff --git a/src/emu/machine/68561mpcc.c b/src/emu/machine/68561mpcc.c
index c894f4c96ba..1b8a8895fed 100644
--- a/src/emu/machine/68561mpcc.c
+++ b/src/emu/machine/68561mpcc.c
@@ -23,8 +23,6 @@ const device_type MPCC68561 = &device_creator<mpcc68561_t>;
#define LOG_MPCC (1)
-#if 0 // future
-
/***************************************************************************
IMPLEMENTATION
***************************************************************************/
@@ -481,7 +479,3 @@ WRITE8_MEMBER( mpcc68561_t::reg_w )
break;
}
}
-
-#else
-
-#endif
diff --git a/src/emu/video/mc6847.c b/src/emu/video/mc6847.c
index 44ae168b028..76c0dcb4c92 100644
--- a/src/emu/video/mc6847.c
+++ b/src/emu/video/mc6847.c
@@ -150,7 +150,7 @@ mc6847_friend_device::mc6847_friend_device(const machine_config &mconfig, device
// to the clock
//-------------------------------------------------
-ATTR_FORCE_INLINE emu_timer *mc6847_friend_device::setup_timer(device_timer_id id, double offset, double period)
+inline emu_timer *mc6847_friend_device::setup_timer(device_timer_id id, double offset, double period)
{
emu_timer *timer = timer_alloc(id);
timer->adjust(
@@ -228,7 +228,7 @@ void mc6847_friend_device::device_post_load(void)
// update_field_sync_timer
//-------------------------------------------------
-ATTR_FORCE_INLINE void mc6847_friend_device::update_field_sync_timer(void)
+void mc6847_friend_device::update_field_sync_timer(void)
{
// are we expecting field sync?
bool expected_field_sync = (m_physical_scanline < m_field_sync_falling_edge_scanline)
@@ -268,7 +268,7 @@ void mc6847_friend_device::device_timer(emu_timer &timer, device_timer_id id, in
// new_frame
//-------------------------------------------------
-ATTR_FORCE_INLINE void mc6847_friend_device::new_frame(void)
+inline void mc6847_friend_device::new_frame(void)
{
m_physical_scanline = 0;
m_logical_scanline = 0;
@@ -304,7 +304,7 @@ const char *mc6847_friend_device::scanline_zone_string(scanline_zone zone)
// change_horizontal_sync
//-------------------------------------------------
-ATTR_FORCE_INLINE void mc6847_friend_device::change_horizontal_sync(bool line)
+inline void mc6847_friend_device::change_horizontal_sync(bool line)
{
g_profiler.start(PROFILER_USER1);
@@ -372,7 +372,7 @@ ATTR_FORCE_INLINE void mc6847_friend_device::change_horizontal_sync(bool line)
// change_field_sync
//-------------------------------------------------
-ATTR_FORCE_INLINE void mc6847_friend_device::change_field_sync(bool line)
+inline void mc6847_friend_device::change_field_sync(bool line)
{
/* output field sync */
if (line != m_field_sync)
@@ -397,7 +397,7 @@ ATTR_FORCE_INLINE void mc6847_friend_device::change_field_sync(bool line)
// next_scanline
//-------------------------------------------------
-ATTR_FORCE_INLINE void mc6847_friend_device::next_scanline(void)
+inline void mc6847_friend_device::next_scanline(void)
{
/* advance to next scanline */
m_physical_scanline++;
@@ -678,7 +678,7 @@ void mc6847_base_device::record_scanline_res(int scanline, INT32 start_pos, INT3
// record_body_scanline
//-------------------------------------------------
-ATTR_FORCE_INLINE void mc6847_base_device::record_body_scanline(UINT16 physical_scanline, UINT16 scanline, INT32 start_pos, INT32 end_pos)
+inline void mc6847_base_device::record_body_scanline(UINT16 physical_scanline, UINT16 scanline, INT32 start_pos, INT32 end_pos)
{
// sanity checks
assert(scanline < 192);
@@ -780,7 +780,7 @@ void mc6847_base_device::field_sync_changed(bool line)
// border_value
//-------------------------------------------------
-ATTR_FORCE_INLINE mc6847_base_device::pixel_t mc6847_base_device::border_value(UINT8 mode, const pixel_t *palette, bool is_mc6847t1)
+inline mc6847_base_device::pixel_t mc6847_base_device::border_value(UINT8 mode, const pixel_t *palette, bool is_mc6847t1)
{
pixel_t result;
switch(mc6847_friend_device::border_value(mode, is_mc6847t1))
diff --git a/src/mess/video/gime.c b/src/mess/video/gime.c
index 93e06b149eb..83b78e92b25 100644
--- a/src/mess/video/gime.c
+++ b/src/mess/video/gime.c
@@ -201,7 +201,7 @@ void gime_base_device::device_start(void)
// get_composite_color
//-------------------------------------------------
-ATTR_FORCE_INLINE gime_base_device::pixel_t gime_base_device::get_composite_color(int color)
+inline gime_base_device::pixel_t gime_base_device::get_composite_color(int color)
{
/* CMP colors
*
@@ -313,7 +313,7 @@ ATTR_FORCE_INLINE gime_base_device::pixel_t gime_base_device::get_composite_colo
// get_rgb_color
//-------------------------------------------------
-ATTR_FORCE_INLINE gime_base_device::pixel_t gime_base_device::get_rgb_color(int color)
+inline gime_base_device::pixel_t gime_base_device::get_rgb_color(int color)
{
return (((color >> 4) & 2) | ((color >> 2) & 1)) * 0x550000
| (((color >> 3) & 2) | ((color >> 1) & 1)) * 0x005500
@@ -543,7 +543,7 @@ void gime_base_device::reset_timer(void)
// update_memory
//-------------------------------------------------
-ATTR_FORCE_INLINE void gime_base_device::update_memory(void)
+inline void gime_base_device::update_memory(void)
{
for (int bank = 0; bank <= 8; bank++)
{
@@ -701,7 +701,7 @@ UINT8 gime_base_device::read(offs_t offset)
// read_gime_register
//-------------------------------------------------
-ATTR_FORCE_INLINE UINT8 gime_base_device::read_gime_register(offs_t offset)
+inline UINT8 gime_base_device::read_gime_register(offs_t offset)
{
offset &= 0x0F;
@@ -746,7 +746,7 @@ ATTR_FORCE_INLINE UINT8 gime_base_device::read_gime_register(offs_t offset)
// read_mmu_register
//-------------------------------------------------
-ATTR_FORCE_INLINE UINT8 gime_base_device::read_mmu_register(offs_t offset)
+inline UINT8 gime_base_device::read_mmu_register(offs_t offset)
{
return (m_mmu[offset & 0x0F] & 0x3F) | (read_floating_bus() & 0xC0);
}
@@ -757,7 +757,7 @@ ATTR_FORCE_INLINE UINT8 gime_base_device::read_mmu_register(offs_t offset)
// read_palette_register
//-------------------------------------------------
-ATTR_FORCE_INLINE UINT8 gime_base_device::read_palette_register(offs_t offset)
+inline UINT8 gime_base_device::read_palette_register(offs_t offset)
{
// Bits 7/6 are floating, and behave oddly. On a real CoCo 3
//
@@ -775,7 +775,7 @@ ATTR_FORCE_INLINE UINT8 gime_base_device::read_palette_register(offs_t offset)
// read_floating_bus
//-------------------------------------------------
-ATTR_FORCE_INLINE UINT8 gime_base_device::read_floating_bus(void)
+inline UINT8 gime_base_device::read_floating_bus(void)
{
return m_read_floating_bus(0);
}
@@ -815,7 +815,7 @@ void gime_base_device::write(offs_t offset, UINT8 data)
// write_gime_register
//-------------------------------------------------
-ATTR_FORCE_INLINE void gime_base_device::write_gime_register(offs_t offset, UINT8 data)
+inline void gime_base_device::write_gime_register(offs_t offset, UINT8 data)
{
// this is needed for writes to FF95
bool timer_was_off = (m_gime_registers[0x04] == 0x00) && (m_gime_registers[0x05] == 0x00);
@@ -1018,7 +1018,7 @@ ATTR_FORCE_INLINE void gime_base_device::write_gime_register(offs_t offset, UINT
// write_mmu_register
//-------------------------------------------------
-ATTR_FORCE_INLINE void gime_base_device::write_mmu_register(offs_t offset, UINT8 data)
+inline void gime_base_device::write_mmu_register(offs_t offset, UINT8 data)
{
offset &= 0x0F;
@@ -1038,7 +1038,7 @@ ATTR_FORCE_INLINE void gime_base_device::write_mmu_register(offs_t offset, UINT8
// write_palette_register
//-------------------------------------------------
-ATTR_FORCE_INLINE void gime_base_device::write_palette_register(offs_t offset, UINT8 data)
+inline void gime_base_device::write_palette_register(offs_t offset, UINT8 data)
{
offset &= 0x0F;
@@ -1071,7 +1071,7 @@ ATTR_FORCE_INLINE void gime_base_device::write_palette_register(offs_t offset, U
// write_sam_register
//-------------------------------------------------
-ATTR_FORCE_INLINE void gime_base_device::write_sam_register(offs_t offset)
+inline void gime_base_device::write_sam_register(offs_t offset)
{
/* change the SAM state */
UINT16 xorval = alter_sam_state(offset);
@@ -1145,7 +1145,7 @@ void gime_base_device::recalculate_firq(void)
// John Kowalski confirms this behavior
//-------------------------------------------------
-ATTR_FORCE_INLINE offs_t gime_base_device::get_video_base(void)
+inline offs_t gime_base_device::get_video_base(void)
{
offs_t result;
UINT8 ff9d_mask, ff9e_mask;
@@ -1282,7 +1282,7 @@ void gime_base_device::record_border_scanline(UINT16 physical_scanline)
// get_lines_per_row
//-------------------------------------------------
-ATTR_FORCE_INLINE UINT16 gime_base_device::get_lines_per_row(void)
+inline UINT16 gime_base_device::get_lines_per_row(void)
{
UINT16 lines_per_row;
if (m_legacy_video)
@@ -1361,7 +1361,7 @@ ATTR_FORCE_INLINE UINT16 gime_base_device::get_lines_per_row(void)
//-------------------------------------------------
template<UINT8 xres, gime_base_device::get_data_func get_data, bool record_mode>
-ATTR_FORCE_INLINE UINT32 gime_base_device::record_scanline_res(int scanline)
+inline UINT32 gime_base_device::record_scanline_res(int scanline)
{
int column;
UINT32 base_offset = m_legacy_video ? 0 : (m_gime_registers[0x0F] & 0x7F) * 2;
@@ -1639,7 +1639,7 @@ UINT32 gime_base_device::emit_dummy_samples(const scanline_record *scanline, int
// emit_mc6847_samples
//-------------------------------------------------
-ATTR_FORCE_INLINE UINT32 gime_base_device::emit_mc6847_samples(const scanline_record *scanline, int sample_start, int sample_count, pixel_t *pixels, const pixel_t *palette)
+inline UINT32 gime_base_device::emit_mc6847_samples(const scanline_record *scanline, int sample_start, int sample_count, pixel_t *pixels, const pixel_t *palette)
{
return super::emit_mc6847_samples<2>(
scanline->m_mode[sample_start],
@@ -1659,7 +1659,7 @@ ATTR_FORCE_INLINE UINT32 gime_base_device::emit_mc6847_samples(const scanline_re
//-------------------------------------------------
template<int xscale, int bits_per_pixel>
-ATTR_FORCE_INLINE UINT32 gime_base_device::emit_gime_graphics_samples(const scanline_record *scanline, int sample_start, int sample_count, pixel_t *pixels, const pixel_t *palette)
+inline UINT32 gime_base_device::emit_gime_graphics_samples(const scanline_record *scanline, int sample_start, int sample_count, pixel_t *pixels, const pixel_t *palette)
{
const UINT8 *data = &scanline->m_data[sample_start];
mc6847_friend_device::emit_graphics<bits_per_pixel, xscale>(data, sample_count, pixels, 0, palette);
@@ -1673,7 +1673,7 @@ ATTR_FORCE_INLINE UINT32 gime_base_device::emit_gime_graphics_samples(const scan
//-------------------------------------------------
template<int xscale>
-ATTR_FORCE_INLINE UINT32 gime_base_device::emit_gime_text_samples(const scanline_record *scanline, int sample_start, int sample_count, pixel_t *pixels, const pixel_t *palette)
+inline UINT32 gime_base_device::emit_gime_text_samples(const scanline_record *scanline, int sample_start, int sample_count, pixel_t *pixels, const pixel_t *palette)
{
UINT8 attribute = scanline->m_mode[sample_start];
const UINT8 *data = &scanline->m_data[sample_start];
@@ -1733,7 +1733,7 @@ ATTR_FORCE_INLINE UINT32 gime_base_device::emit_gime_text_samples(const scanline
//-------------------------------------------------
template<int sample_count, gime_base_device::emit_samples_proc emit_samples>
-ATTR_FORCE_INLINE void gime_base_device::render_scanline(const scanline_record *scanline, pixel_t *pixels, int min_x, int max_x, palette_resolver *resolver)
+inline void gime_base_device::render_scanline(const scanline_record *scanline, pixel_t *pixels, int min_x, int max_x, palette_resolver *resolver)
{
int left_border, right_border;
int x, x2, pixel_position;
@@ -1934,7 +1934,7 @@ bool gime_base_device::update_rgb(bitmap_rgb32 &bitmap, const rectangle &cliprec
// palette_resolver::palette_resolver
//-------------------------------------------------
-ATTR_FORCE_INLINE gime_base_device::palette_resolver::palette_resolver(gime_base_device *gime, const pixel_t *palette)
+inline gime_base_device::palette_resolver::palette_resolver(gime_base_device *gime, const pixel_t *palette)
{
m_gime = gime;
m_palette = palette;
@@ -1948,7 +1948,7 @@ ATTR_FORCE_INLINE gime_base_device::palette_resolver::palette_resolver(gime_base
// palette_resolver::get_palette
//-------------------------------------------------
-ATTR_FORCE_INLINE const gime_base_device::pixel_t *gime_base_device::palette_resolver::get_palette(UINT16 palette_rotation)
+inline const gime_base_device::pixel_t *gime_base_device::palette_resolver::get_palette(UINT16 palette_rotation)
{
if (UNEXPECTED(m_current_resolved_palette != palette_rotation))
{
@@ -1965,7 +1965,7 @@ ATTR_FORCE_INLINE const gime_base_device::pixel_t *gime_base_device::palette_res
// palette_resolver::lookup
//-------------------------------------------------
-ATTR_FORCE_INLINE gime_base_device::pixel_t gime_base_device::palette_resolver::lookup(UINT8 color)
+inline gime_base_device::pixel_t gime_base_device::palette_resolver::lookup(UINT8 color)
{
assert(color <= 63);
return m_palette[color];