summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--scripts/toolchain.lua4
-rw-r--r--src/devices/cpu/dsp56156/dsp56156.cpp20
-rw-r--r--src/devices/cpu/dsp56156/inst.h169
-rw-r--r--src/devices/cpu/dsp56156/opcode.cpp25
-rw-r--r--src/devices/cpu/dsp56156/opcode.h9
-rw-r--r--src/devices/cpu/dsp56156/pmove.h8
-rw-r--r--src/devices/imagedev/cassette.h2
-rw-r--r--src/devices/imagedev/floppy.cpp5
-rw-r--r--src/devices/imagedev/floppy.h21
-rw-r--r--src/emu/diimage.h2
-rw-r--r--src/emu/dislot.cpp10
-rw-r--r--src/emu/dislot.h14
-rw-r--r--src/frontend/mame/ui/selmenu.h4
-rw-r--r--src/lib/util/opresolv.h2
-rw-r--r--src/mame/apple/bandit.h6
-rw-r--r--src/mame/misc/babysuprem.cpp39
-rw-r--r--src/mame/nintendo/n64_v.cpp151
-rw-r--r--src/mame/sony/news_r3k.cpp4
-rw-r--r--src/mame/sony/news_r4k.cpp4
-rw-r--r--src/osd/modules/lib/osdobj_common.h2
20 files changed, 136 insertions, 365 deletions
diff --git a/scripts/toolchain.lua b/scripts/toolchain.lua
index 6e1cb030d20..966d55d1dbb 100644
--- a/scripts/toolchain.lua
+++ b/scripts/toolchain.lua
@@ -53,7 +53,7 @@ newoption {
description = "Set Android platform version (default: android-24).",
}
-local android = {};
+local android = {}
function androidToolchainRoot()
if android.toolchainRoot == nil then
@@ -62,7 +62,7 @@ function androidToolchainRoot()
linux = "linux-x86_64",
macosx = "darwin-x86_64"
}
- android.toolchainRoot = os.getenv("ANDROID_NDK_HOME") .. "/toolchains/llvm/prebuilt/" .. hostTags[os.get()]
+ android.toolchainRoot = (os.getenv("ANDROID_NDK_HOME") or "") .. "/toolchains/llvm/prebuilt/" .. hostTags[os.get()]
end
return android.toolchainRoot;
diff --git a/src/devices/cpu/dsp56156/dsp56156.cpp b/src/devices/cpu/dsp56156/dsp56156.cpp
index f8685d080ae..017ceb8c7cf 100644
--- a/src/devices/cpu/dsp56156/dsp56156.cpp
+++ b/src/devices/cpu/dsp56156/dsp56156.cpp
@@ -462,25 +462,6 @@ void dsp56156_device::device_reset()
/***************************************************************************
CORE EXECUTION LOOP
***************************************************************************/
-// Execute a single opcode and return how many cycles it took.
-static size_t execute_one_new(dsp56156_core* cpustate)
-{
- // For MAME
- cpustate->ppc = PC;
- if (cpustate->device->machine().debug_flags & DEBUG_FLAG_CALL_HOOK) // FIXME: if this was a member, the helper would work
- cpustate->device->debug()->instruction_hook(PC);
-
- cpustate->op = ROPCODE(PC);
- uint16_t w0 = ROPCODE(PC);
- uint16_t w1 = ROPCODE(PC + 1);
-
- Opcode op(w0, w1);
- op.evaluate(cpustate);
- PC += op.evalSize(); // Special size function needed to handle jmps, etc.
-
- // TODO: Currently all operations take up 4 cycles (inst->cycles()).
- return 4;
-}
void dsp56156_device::execute_run()
{
@@ -504,7 +485,6 @@ void dsp56156_device::execute_run()
while(m_core.icount > 0)
{
execute_one(&m_core);
- if (0) m_core.icount -= execute_one_new(&m_core);
pcu_service_interrupts(&m_core); // TODO: Is it incorrect to service after each instruction?
}
}
diff --git a/src/devices/cpu/dsp56156/inst.h b/src/devices/cpu/dsp56156/inst.h
index 2f270547a97..9ae926900ee 100644
--- a/src/devices/cpu/dsp56156/inst.h
+++ b/src/devices/cpu/dsp56156/inst.h
@@ -31,7 +31,6 @@ public:
virtual bool decode(const uint16_t word0, const uint16_t word1) = 0;
virtual std::string disassemble() const = 0;
- virtual void evaluate(dsp56156_core* cpustate) = 0;
virtual size_t size() const = 0;
virtual size_t evalSize() const { return size(); }
@@ -82,7 +81,6 @@ public:
{
return "abs " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -105,7 +103,6 @@ public:
{
return "adc " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -128,7 +125,6 @@ public:
{
return "add " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -155,7 +151,6 @@ public:
{
return m_opcode + " " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -182,7 +177,6 @@ public:
{
return "and " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE; }
};
@@ -206,7 +200,6 @@ public:
{
return util::string_format("andi #$%x,%s", m_immediate, regIdAsString(m_destination));
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -231,7 +224,6 @@ public:
{
return "asl " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -253,7 +245,6 @@ public:
{
return "asl4 " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -275,7 +266,6 @@ public:
{
return "asr " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -297,7 +287,6 @@ public:
{
return "asr4 " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -319,7 +308,6 @@ public:
{
return "asr16 " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -373,7 +361,6 @@ public:
{
return util::string_format("%s #$%x,%s", m_opcode, m_iVal, dString);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
private:
@@ -431,7 +418,6 @@ public:
{
return util::string_format("%s #$%x,X:(%s)", m_opcode, m_iVal, regIdAsString(m_r));
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -489,7 +475,6 @@ public:
{
return util::string_format("%s #$%x,%s", m_opcode, m_iVal, regIdAsString(m_destination));
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -518,7 +503,6 @@ public:
{
return util::string_format("b%s >*+$%x", opMnemonicAsString(m_mnem), 2 + m_immediate);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -550,7 +534,6 @@ public:
else
return util::string_format("b%s <*-$%x", opMnemonicAsString(m_mnem), 1 - m_immediate - 2);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -579,7 +562,6 @@ public:
std::string opcode = "b" + opMnemonicAsString(m_mnem);
return opcode + " " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -605,7 +587,6 @@ public:
{
return util::string_format("bra >*+$%x", 2 + m_immediate);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -634,7 +615,6 @@ public:
else
return util::string_format("bra <*-$%x", 1 - m_immediate - 2);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -659,7 +639,6 @@ public:
{
return "bra " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -682,7 +661,6 @@ public:
{
return "brk" + opMnemonicAsString(m_mnem);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -713,7 +691,6 @@ public:
else
return util::string_format("bs%s >*-$%x", opMnemonicAsString(m_mnem), 1 - m_immediate - 1 - 2);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
size_t flags() const override { return util::disasm_interface::STEP_OVER; }
@@ -743,7 +720,6 @@ public:
std::string opcode = "bs" + opMnemonicAsString(m_mnem);
return opcode + " " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
size_t flags() const override { return util::disasm_interface::STEP_OVER; }
@@ -773,7 +749,6 @@ public:
else
return util::string_format("bsr >*-$%x", 1 - m_immediate - 1 - 2);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
size_t flags() const override { return util::disasm_interface::STEP_OVER; }
@@ -799,7 +774,6 @@ public:
{
return "bsr " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
size_t flags() const override { return util::disasm_interface::STEP_OVER; }
@@ -821,7 +795,6 @@ public:
{
return "chkaau";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -843,7 +816,6 @@ public:
{
return "clr " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -865,7 +837,6 @@ public:
{
return "clr24 " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE; }
};
@@ -890,7 +861,6 @@ public:
{
return "cmp " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_NONE; }
};
@@ -915,7 +885,6 @@ public:
{
return "cmpm " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_NONE; }
};
@@ -936,7 +905,6 @@ public:
{
return "debug";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -960,7 +928,6 @@ public:
std::string opcode = "debug" + opMnemonicAsString(m_mnem);
return opcode;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -985,7 +952,6 @@ public:
{
return "dec " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -1007,7 +973,6 @@ public:
{
return "dec24 " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE; }
};
@@ -1030,7 +995,6 @@ public:
{
return "div " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -1062,7 +1026,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1090,7 +1053,6 @@ public:
{
return util::string_format("do X:(%s),*+$%x", regIdAsString(m_source), 2 + m_immediate);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1118,7 +1080,6 @@ public:
{
return util::string_format("do #<$%x,*+$%x", m_immediate, 2 + m_displacement);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1149,7 +1110,6 @@ public:
{
return util::string_format("do %s,*+$%x", regIdAsString(m_source), 2 + m_displacement);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1175,7 +1135,6 @@ public:
{
return util::string_format("do forever, *+$%x", m_displacement + 2);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1199,7 +1158,6 @@ public:
{
return "enddo";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -1222,7 +1180,6 @@ public:
{
return "eor " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE; }
};
@@ -1244,7 +1201,6 @@ public:
{
return "ext " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -1265,7 +1221,6 @@ public:
{
return "illegal";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -1291,7 +1246,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1320,7 +1274,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1345,7 +1298,6 @@ public:
{
return "inc " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -1367,7 +1319,6 @@ public:
{
return "inc24 " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE; }
};
@@ -1392,7 +1343,6 @@ public:
{
return util::string_format("j%s >$%x", opMnemonicAsString(m_mnem), m_displacement);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1421,7 +1371,6 @@ public:
std::string opcode = "j" + opMnemonicAsString(m_mnem);
return opcode + " " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1447,13 +1396,6 @@ public:
{
return util::string_format("jmp >$%x", m_displacement);
}
- void evaluate(dsp56156_core* cpustate) override
- {
- PC = m_displacement;
-
- /* S L E U N Z V C */
- /* - - - - - - - - */
- }
size_t size() const override { return 2; }
size_t evalSize() const override { return 0; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1479,13 +1421,6 @@ public:
{
return "jmp " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override
- {
- PC = regValue16(cpustate, m_destination);
-
- /* S L E U N Z V C */
- /* - - - - - - - - */
- }
size_t size() const override { return 1; }
size_t evalSize() const override { return 0; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1513,7 +1448,6 @@ public:
{
return util::string_format("js%s >$%x", opMnemonicAsString(m_mnem), m_displacement);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
size_t flags() const override { return util::disasm_interface::STEP_OVER; }
@@ -1543,7 +1477,6 @@ public:
std::string opcode = "js" + opMnemonicAsString(m_mnem);
return opcode + " " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
size_t flags() const override { return util::disasm_interface::STEP_OVER; }
@@ -1570,7 +1503,6 @@ public:
{
return util::string_format("jsr >$%x", m_displacement);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
size_t flags() const override { return util::disasm_interface::STEP_OVER; }
@@ -1597,7 +1529,6 @@ public:
{
return util::string_format("jsr <$%x", m_bAddr);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
size_t flags() const override { return util::disasm_interface::STEP_OVER; }
@@ -1623,7 +1554,6 @@ public:
{
return "jsr " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
size_t flags() const override { return util::disasm_interface::STEP_OVER; }
@@ -1654,7 +1584,6 @@ public:
// HACK
return "lea " + m_ea + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1686,7 +1615,6 @@ public:
// HACK
return "lea " + m_ea + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1711,7 +1639,6 @@ public:
{
return "lsl " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE; }
};
@@ -1733,7 +1660,6 @@ public:
{
return "lsr " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE; }
};
@@ -1765,7 +1691,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1795,7 +1720,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1824,7 +1748,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1859,7 +1782,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1889,7 +1811,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1924,7 +1845,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -1967,7 +1887,6 @@ public:
else
return "move";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_NONE; }
@@ -1998,7 +1917,6 @@ public:
{
return "move";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -2028,7 +1946,6 @@ public:
assemble_reg_from_W_table(m_W, 'X', m_SD, m_b, source, destination);
return "move " + source + "," + destination;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2066,7 +1983,6 @@ public:
assemble_arguments_from_W_table(m_W, 'X', m_SD, m_ea, source, destination);
return "move " + source + "," + destination;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2104,7 +2020,6 @@ public:
assemble_arguments_from_W_table(m_W, 'X', m_SD, m_ea, source, destination);
return "move " + source + "," + destination;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2141,7 +2056,6 @@ public:
assemble_arguments_from_W_table(m_W, 'X', m_SD, m_ea, source, destination);
return "move " + source + "," + destination;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2188,39 +2102,6 @@ public:
return retString;
}
- void evaluate(dsp56156_core* cpustate) override
- {
- if (m_W)
- {
- if (m_t)
- {
- setReg16(cpustate, m_value, m_sd);
- }
- else
- {
- //uint16_t memValue = memory_read_word_16le(cpustate->data, ADDRESS(m_value));
- //setReg16(cpustate, memValue, m_sd);
- }
- }
- else
- {
- if (m_t)
- {
- osd_printf_error("DSP561xx|Movec_4: This sure seems like it can't happen.");
- }
- else
- {
- //uint16_t regValue = regValue16(cpustate, m_sd);
- //memory_write_word_16le(cpustate->data, m_value, regValue);
- }
- }
-
- /* S L E U N Z V C */
- /* * ? ? ? ? ? ? ? */
- // All ? bits - If SR is specified as a destination operand, set according to the corresponding
- // bit of the source operand. If SR is not specified as a destination operand, L is set if data
- // limiting occurred. All ? bits are not affected otherwise.
- }
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2252,7 +2133,6 @@ public:
{
return "move " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -2283,7 +2163,6 @@ public:
assemble_reg_from_W_table(m_W, 'X', m_SD, m_b, source, destination);
return "move " + source + "," + destination;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2316,7 +2195,6 @@ public:
else
return util::string_format("move #<-$%x,%s", 1 - m_immediate - 1, regIdAsString(m_destination));
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2351,7 +2229,6 @@ public:
assemble_arguments_from_W_table(m_W, 'P', m_SD, m_ea, source, destination);
return "move " + source + "," + destination;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2394,7 +2271,6 @@ public:
}
return "move " + source + "," + destination;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2429,7 +2305,6 @@ public:
assemble_reg_from_W_table(m_W, 'P', m_SD, m_b, source, destination);
return "move " + source + "," + destination;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 2; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2468,7 +2343,6 @@ public:
assemble_arguments_from_W_table(m_W, 'X', m_SD, m_ea, source, destination);
return "movep " + source + "," + destination;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2509,7 +2383,6 @@ public:
assemble_arguments_from_W_table(m_W, 'X', m_SD, m_ea, source, destination);
return "movep " + source + "," + destination;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2544,7 +2417,6 @@ public:
assemble_arguments_from_W_table(m_W, 'X', m_SD, m_ea, source, destination);
return "moves " + source + "," + destination;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2583,7 +2455,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2613,7 +2484,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2642,7 +2512,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2679,7 +2548,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2709,7 +2577,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2743,7 +2610,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2769,7 +2635,6 @@ public:
{
return "neg " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -2791,7 +2656,6 @@ public:
{
return "negc " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -2812,7 +2676,6 @@ public:
{
return "nop";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -2836,7 +2699,6 @@ public:
{
return "norm " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -2858,7 +2720,6 @@ public:
{
return "not " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE; }
};
@@ -2881,7 +2742,6 @@ public:
{
return "or " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE; }
};
@@ -2905,7 +2765,6 @@ public:
{
return util::string_format("ori #$%x,%s", m_immediate, regIdAsString(m_destination));
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2930,7 +2789,6 @@ public:
{
return util::string_format("rep X:(%s)", regIdAsString(m_source));
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -2953,7 +2811,6 @@ public:
{
return util::string_format("rep #$%x", m_immediate);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -2979,7 +2836,6 @@ public:
{
return "rep " + regIdAsString(m_source);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3003,7 +2859,6 @@ public:
std::string opcode = "rep" + opMnemonicAsString(m_mnem);
return opcode;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -3027,7 +2882,6 @@ public:
{
return "reset";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3049,7 +2903,6 @@ public:
{
return "rnd " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3071,7 +2924,6 @@ public:
{
return "rol " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE; }
};
@@ -3093,7 +2945,6 @@ public:
{
return "ror " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE; }
};
@@ -3114,7 +2965,6 @@ public:
{
return "rti";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
size_t flags() const override { return util::disasm_interface::STEP_OUT; }
@@ -3136,7 +2986,6 @@ public:
{
return "rts";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
size_t flags() const override { return util::disasm_interface::STEP_OUT; }
@@ -3160,7 +3009,6 @@ public:
{
return "sbc " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3181,7 +3029,6 @@ public:
{
return "stop";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3204,7 +3051,6 @@ public:
{
return "sub " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3230,7 +3076,6 @@ public:
{
return m_opcode + " " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -3265,7 +3110,6 @@ public:
{
return "subl " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3287,7 +3131,6 @@ public:
{
return "swap " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3308,7 +3151,6 @@ public:
{
return "swi";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3349,7 +3191,6 @@ public:
return retString;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -3376,7 +3217,6 @@ public:
{
return "tfr " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3399,7 +3239,6 @@ public:
{
return "tfr " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3422,7 +3261,6 @@ public:
{
return "tfr2 " + regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3464,7 +3302,6 @@ public:
regIdAsString(m_source) + "," + regIdAsString(m_destination) + " " +
source2 + "," + destination2;
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -3493,7 +3330,6 @@ public:
{
return "tst " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_NONE; }
};
@@ -3515,7 +3351,6 @@ public:
{
return "tst2 " + regIdAsString(m_source);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3536,7 +3371,6 @@ public:
{
return "wait";
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3558,7 +3392,6 @@ public:
{
return "zero " + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
};
@@ -3599,7 +3432,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
@@ -3643,7 +3475,6 @@ public:
regIdAsString(m_source) + "," +
regIdAsString(m_source2) + "," + regIdAsString(m_destination);
}
- void evaluate(dsp56156_core* cpustate) override {}
size_t size() const override { return 1; }
size_t accumulatorBitsModified() const override { return BM_HIGH | BM_MIDDLE | BM_LOW; }
diff --git a/src/devices/cpu/dsp56156/opcode.cpp b/src/devices/cpu/dsp56156/opcode.cpp
index 06d611fae48..b4e81ad7912 100644
--- a/src/devices/cpu/dsp56156/opcode.cpp
+++ b/src/devices/cpu/dsp56156/opcode.cpp
@@ -1,12 +1,13 @@
// license:BSD-3-Clause
// copyright-holders:Andrew Gardner
#include "emu.h"
+#include "opcode.h"
+
#include <cstdio>
-#include "opcode.h"
-namespace DSP_56156
-{
+namespace DSP_56156 {
+
Opcode::Opcode(uint16_t w0, uint16_t w1) : m_word0(w0)/*, m_word1(w1)*/
{
m_instruction = Instruction::decodeInstruction(this, w0, w1);
@@ -39,13 +40,6 @@ std::string Opcode::disassemble() const
}
-void Opcode::evaluate(dsp56156_core* cpustate) const
-{
- if (m_instruction) m_instruction->evaluate(cpustate);
- if (m_parallelMove) m_parallelMove->evaluate();
-}
-
-
size_t Opcode::size() const
{
if (m_instruction && m_instruction->valid())
@@ -55,15 +49,6 @@ size_t Opcode::size() const
return 1;
}
-size_t Opcode::evalSize() const
-{
- if (m_instruction && m_instruction->valid())
- return m_instruction->evalSize(); // Probably doesn't matter : + m_instruction->sizeIncrement();
-
- // Opcode failed to decode, so push it past dc
- return 1;
-}
-
const reg_id& Opcode::instSource() const { return m_instruction->source(); }
const reg_id& Opcode::instDestination() const { return m_instruction->destination(); }
@@ -74,4 +59,4 @@ std::string Opcode::dcString() const
return util::string_format("dc $%x", m_word0);
}
-}
+} // namespace DSP_56156
diff --git a/src/devices/cpu/dsp56156/opcode.h b/src/devices/cpu/dsp56156/opcode.h
index 1044af8f188..304017caf61 100644
--- a/src/devices/cpu/dsp56156/opcode.h
+++ b/src/devices/cpu/dsp56156/opcode.h
@@ -11,8 +11,8 @@
//
// An Opcode contains an instruction and a parallel move operation.
//
-namespace DSP_56156
-{
+namespace DSP_56156 {
+
class Instruction;
class ParallelMove;
@@ -23,9 +23,7 @@ public:
virtual ~Opcode();
std::string disassemble() const;
- void evaluate(dsp56156_core* cpustate) const;
size_t size() const;
- size_t evalSize() const;
// Peek through to the instruction
const reg_id& instSource() const;
@@ -42,5 +40,6 @@ private:
std::string dcString() const;
};
-}
+} // namespace DSP_56156
+
#endif
diff --git a/src/devices/cpu/dsp56156/pmove.h b/src/devices/cpu/dsp56156/pmove.h
index d149e212dfe..2f75eff0b8b 100644
--- a/src/devices/cpu/dsp56156/pmove.h
+++ b/src/devices/cpu/dsp56156/pmove.h
@@ -21,7 +21,6 @@ public:
virtual bool decode(const uint16_t word0, const uint16_t word1) = 0;
virtual std::string disassemble() const = 0;
- virtual void evaluate() = 0;
static std::unique_ptr<ParallelMove> decodeParallelMove(const Opcode* opc, const uint16_t word0, const uint16_t word1);
@@ -74,7 +73,6 @@ public:
{
return m_source + "," + m_destination;
}
- void evaluate() override {}
private:
std::string m_source;
@@ -116,7 +114,6 @@ public:
{
return m_source + "," + m_destination;
}
- void evaluate() override {}
private:
std::string m_source;
@@ -167,7 +164,6 @@ public:
{
return parallelMove + " " + parallelMove2;
}
- void evaluate() override {}
private:
std::string parallelMove;
@@ -218,7 +214,6 @@ public:
else
return regIdAsString(m_source) + "," + regIdAsString(m_destination);
}
- void evaluate() override {}
private:
reg_id m_source;
@@ -257,7 +252,6 @@ public:
{
return pms + " " + pms2;
}
- void evaluate() override {}
private:
std::string pms; // TODO
@@ -286,7 +280,6 @@ public:
{
return m_ea;
}
- void evaluate() override {}
private:
std::string m_ea;
@@ -317,7 +310,6 @@ public:
{
return m_source + "," + m_destination;
}
- void evaluate() override {}
private:
std::string m_source;
diff --git a/src/devices/imagedev/cassette.h b/src/devices/imagedev/cassette.h
index 6d05b5e94a5..b35b351599b 100644
--- a/src/devices/imagedev/cassette.h
+++ b/src/devices/imagedev/cassette.h
@@ -108,7 +108,7 @@ protected:
// device-level overrides
virtual void device_config_complete() override;
virtual void device_start() override;
- virtual const bool use_software_list_file_extension_for_filetype() const override { return true; }
+ virtual bool use_software_list_file_extension_for_filetype() const override { return true; }
// device_image_interface implementation
virtual const software_list_loader &get_software_list_loader() const override;
diff --git a/src/devices/imagedev/floppy.cpp b/src/devices/imagedev/floppy.cpp
index 302d2562a83..04876579be1 100644
--- a/src/devices/imagedev/floppy.cpp
+++ b/src/devices/imagedev/floppy.cpp
@@ -220,11 +220,6 @@ floppy_connector::~floppy_connector()
{
}
-void floppy_connector::set_formats(std::function<void (format_registration &fr)> _formats)
-{
- formats = _formats;
-}
-
void floppy_connector::device_start()
{
}
diff --git a/src/devices/imagedev/floppy.h b/src/devices/imagedev/floppy.h
index 3d551ee72ab..a1d31935050 100644
--- a/src/devices/imagedev/floppy.h
+++ b/src/devices/imagedev/floppy.h
@@ -461,33 +461,38 @@ class floppy_connector: public device_t,
public device_slot_interface
{
public:
- template <typename T>
- floppy_connector(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt, std::function<void (format_registration &fr)> formats, bool fixed = false)
+
+ template <typename T, typename U>
+ floppy_connector(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt, U &&formats, bool fixed = false)
: floppy_connector(mconfig, tag, owner, 0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(fixed);
- set_formats(formats);
+ set_formats(std::forward<U>(formats));
}
- floppy_connector(const machine_config &mconfig, const char *tag, device_t *owner, const char *option, const device_type &devtype, bool is_default, std::function<void (format_registration &fr)> formats)
+
+ template <typename T>
+ floppy_connector(const machine_config &mconfig, const char *tag, device_t *owner, const char *option, device_type drivetype, bool is_default, T &&formats)
: floppy_connector(mconfig, tag, owner, 0)
{
option_reset();
- option_add(option, devtype);
+ option_add(option, drivetype);
if(is_default)
set_default_option(option);
set_fixed(false);
- set_formats(formats);
+ set_formats(std::forward<T>(formats));
}
+
floppy_connector(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
virtual ~floppy_connector();
- void set_formats(std::function<void (format_registration &fr)> formats);
- floppy_image_device *get_device();
+ template <typename T> void set_formats(T &&_formats) { formats = std::forward<T>(_formats); }
void enable_sound(bool doit) { m_enable_sound = doit; }
+ floppy_image_device *get_device();
+
protected:
virtual void device_start() override;
virtual void device_config_complete() override;
diff --git a/src/emu/diimage.h b/src/emu/diimage.h
index 2248f6b522f..6c010b812b0 100644
--- a/src/emu/diimage.h
+++ b/src/emu/diimage.h
@@ -217,7 +217,7 @@ protected:
virtual void interface_config_complete() override;
virtual const software_list_loader &get_software_list_loader() const;
- virtual const bool use_software_list_file_extension_for_filetype() const { return false; }
+ virtual bool use_software_list_file_extension_for_filetype() const { return false; }
image_init_result load_internal(std::string_view path, bool is_create, int create_format, util::option_resolution *create_args);
std::error_condition load_image_by_path(u32 open_flags, std::string_view path);
diff --git a/src/emu/dislot.cpp b/src/emu/dislot.cpp
index 06ff055e293..43d2ed96cdd 100644
--- a/src/emu/dislot.cpp
+++ b/src/emu/dislot.cpp
@@ -28,7 +28,7 @@ device_slot_interface::~device_slot_interface()
}
-device_slot_interface::slot_option::slot_option(const char *name, const device_type &devtype, bool selectable) :
+device_slot_interface::slot_option::slot_option(const char *name, device_type devtype, bool selectable) :
m_name(name),
m_devtype(devtype),
m_selectable(selectable),
@@ -47,7 +47,7 @@ void device_slot_interface::interface_validity_check(validity_checker &valid) co
}
-device_slot_interface::slot_option &device_slot_interface::option_add(const char *name, const device_type &devtype)
+device_slot_interface::slot_option &device_slot_interface::option_add(const char *name, device_type devtype)
{
if (!name || !*name)
throw emu_fatalerror("slot '%s' attempt to add option without name\n", device().tag());
@@ -60,7 +60,7 @@ device_slot_interface::slot_option &device_slot_interface::option_add(const char
}
-device_slot_interface::slot_option &device_slot_interface::option_add_internal(const char *name, const device_type &devtype)
+device_slot_interface::slot_option &device_slot_interface::option_add_internal(const char *name, device_type devtype)
{
if (!name || !*name)
throw emu_fatalerror("slot '%s' attempt to add option without name\n", device().tag());
@@ -73,7 +73,7 @@ device_slot_interface::slot_option &device_slot_interface::option_add_internal(c
}
-device_slot_interface::slot_option &device_slot_interface::option_replace(const char *name, const device_type &devtype)
+device_slot_interface::slot_option &device_slot_interface::option_replace(const char *name, device_type devtype)
{
if (!name || !*name)
throw emu_fatalerror("slot '%s' attempt to replace option without name\n", device().tag());
@@ -86,7 +86,7 @@ device_slot_interface::slot_option &device_slot_interface::option_replace(const
}
-device_slot_interface::slot_option &device_slot_interface::option_replace_internal(const char *name, const device_type &devtype)
+device_slot_interface::slot_option &device_slot_interface::option_replace_internal(const char *name, device_type devtype)
{
if (!name || !*name)
throw emu_fatalerror("slot '%s' attempt to replace option without name\n", device().tag());
diff --git a/src/emu/dislot.h b/src/emu/dislot.h
index dd2fde5fac1..384bf9c3d3e 100644
--- a/src/emu/dislot.h
+++ b/src/emu/dislot.h
@@ -46,10 +46,10 @@ public:
class slot_option
{
public:
- slot_option(char const *name, device_type const &devtype, bool selectable);
+ slot_option(char const *name, device_type devtype, bool selectable);
char const *name() const { return m_name; }
- device_type const &devtype() const { return m_devtype; }
+ device_type devtype() const { return m_devtype; }
bool selectable() const { return m_selectable; }
char const *default_bios() const { return m_default_bios; }
std::function<void (device_t *)> const &machine_config() const { return m_machine_config; }
@@ -116,7 +116,7 @@ public:
/// description is used in the user interface.
/// \return A reference to the added option for additional
/// configuration.
- slot_option &option_add(char const *option, const device_type &devtype);
+ slot_option &option_add(char const *option, device_type devtype);
/// \brief Add an internal option
///
@@ -130,10 +130,10 @@ public:
/// description is used in the user interface.
/// \return A reference to the added option for additional
/// configuration.
- slot_option &option_add_internal(const char *option, const device_type &devtype);
+ slot_option &option_add_internal(const char *option, device_type devtype);
- slot_option &option_replace(const char *option, const device_type &devtype);
- slot_option &option_replace_internal(const char *option, const device_type &devtype);
+ slot_option &option_replace(const char *option, device_type devtype);
+ slot_option &option_replace_internal(const char *option, device_type devtype);
void option_remove(const char *option);
void set_option_default_bios(const char *option, const char *default_bios) { config_option(option)->default_bios(default_bios); }
@@ -166,7 +166,7 @@ public:
device_t *get_card_device() const { return m_card_device; }
void set_card_device(device_t *dev) { m_card_device = dev; }
const char *slot_name() const { return device().tag() + 1; }
- slot_option &option_set(const char *tag, const device_type &devtype) { m_default_option = tag; m_fixed = true; return option_add_internal(tag, devtype); }
+ slot_option &option_set(const char *tag, device_type devtype) { m_default_option = tag; m_fixed = true; return option_add_internal(tag, devtype); }
protected:
device_slot_interface(machine_config const &mconfig, device_t &device);
diff --git a/src/frontend/mame/ui/selmenu.h b/src/frontend/mame/ui/selmenu.h
index 88ef0476ffe..872901ff9b6 100644
--- a/src/frontend/mame/ui/selmenu.h
+++ b/src/frontend/mame/ui/selmenu.h
@@ -164,8 +164,8 @@ protected:
return (uintptr_t(selected_ref) > m_skip_main_items) ? selected_ref : m_prev_selected;
}
- u8 const right_panel() const { return m_right_panel; }
- u8 const right_image() const { return m_image_view; }
+ u8 right_panel() const { return m_right_panel; }
+ u8 right_image() const { return m_image_view; }
char const *right_panel_config_string() const;
char const *right_image_config_string() const;
void set_right_panel(u8 index);
diff --git a/src/lib/util/opresolv.h b/src/lib/util/opresolv.h
index 3781b602393..c53898a17f4 100644
--- a/src/lib/util/opresolv.h
+++ b/src/lib/util/opresolv.h
@@ -109,7 +109,7 @@ public:
}
// accessors
- const option_type type() const { return m_type; }
+ option_type type() const { return m_type; }
int parameter() const { return m_parameter; }
const char *identifier() const { return m_identifier; }
const char *display_name() const { return m_display_name; }
diff --git a/src/mame/apple/bandit.h b/src/mame/apple/bandit.h
index d071e3f210a..8c8e4098a97 100644
--- a/src/mame/apple/bandit.h
+++ b/src/mame/apple/bandit.h
@@ -14,7 +14,6 @@
#include "machine/pci.h"
class bandit_host_device : public pci_host_device {
- friend class aspen_host_device;
public:
template <typename T>
bandit_host_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, T &&cpu_tag)
@@ -22,13 +21,14 @@ public:
{
set_cpu_tag(std::forward<T>(cpu_tag));
}
- bandit_host_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
bandit_host_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
template <typename T> void set_cpu_tag(T &&tag) { m_cpu.set_tag(std::forward<T>(tag)); }
void set_dev_offset(int devOffset) { m_dev_offset = devOffset; }
protected:
+ bandit_host_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -69,8 +69,6 @@ public:
}
aspen_host_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-protected:
-
private:
virtual u32 be_config_address_r() override;
virtual void be_config_address_w(offs_t offset, u32 data, u32 mem_mask = ~0) override;
diff --git a/src/mame/misc/babysuprem.cpp b/src/mame/misc/babysuprem.cpp
index 2db03d35c6a..e81e92f8c58 100644
--- a/src/mame/misc/babysuprem.cpp
+++ b/src/mame/misc/babysuprem.cpp
@@ -237,9 +237,9 @@ void bsuprem_state::ay8910_w(offs_t offset, uint8_t data)
// a10 -> ay8910_1 A8, ay8910_2 !A9
// a9 -> ay8910_1 !A9, ay8910_2 A8
// a8 -> ay8910 BC2
- if(BIT(offset, 10) != BIT(offset, 9))
+ if (BIT(offset, 10) != BIT(offset, 9))
{
- if(BIT(offset, 8))
+ if (BIT(offset, 8))
{
m_psg[BIT(offset, 9)]->data_w(offset & 0xff);
}
@@ -273,44 +273,36 @@ void bsuprem_state::ay8910_u1_portb_w(uint8_t data)
data = (data>>4) & 0x0f;
- switch(data)
+ switch (data)
{
case 0x00:
case 0x01:
case 0x02:
case 0x03:
case 0x04:
- for(int i = 0; i < 8 ; i++)
- {
- m_lamps[(data*8) + i] = BIT(m_u1_porta_data, i);
- }
+ for (int i = 0; i < 8 ; i++)
+ m_lamps[(data * 8) + i] = BIT(m_u1_porta_data, i);
break;
case 0x05:
- for(int i = 0; i < 5 ; i++)
- {
+ for (int i = 0; i < 5 ; i++)
m_lamps[40 + i] = BIT(m_u1_porta_data, i);
- }
break;
case 0x08:
- {
- m_nixie[0] = m_u1_porta_data & 0x07;
- m_nixie[1] = (m_u1_porta_data>>4) & 0x07;
- }
+ m_nixie[0] = m_u1_porta_data & 0x07;
+ m_nixie[1] = (m_u1_porta_data >> 4) & 0x07;
break;
case 0x09:
- {
- m_nixie[2] = (m_u1_porta_data>>3) & 0x07;
- m_nixie[3] = m_u1_porta_data & 0x07;
- }
+ m_nixie[2] = (m_u1_porta_data >> 3) & 0x07;
+ m_nixie[3] = m_u1_porta_data & 0x07;
break;
case 0x0a:
case 0x0b:
case 0x0c:
- m_digits[(0x0c - data) * 2] = patterns[(m_u1_porta_data>>4) & 0x0f];
+ m_digits[(0x0c - data) * 2] = patterns[(m_u1_porta_data >> 4) & 0x0f];
m_digits[((0x0c - data) * 2) + 1] = patterns[m_u1_porta_data & 0x0f];
break;
}
@@ -356,14 +348,7 @@ INTERRUPT_GEN_MEMBER(bsuprem_state::mains_irq)
{
m_irq_state = !m_irq_state;
- if(m_irq_state)
- {
- m_maincpu->set_input_line(0, ASSERT_LINE);
- }
- else
- {
- m_maincpu->set_input_line(0, CLEAR_LINE);
- }
+ m_maincpu->set_input_line(0, m_irq_state ? ASSERT_LINE : CLEAR_LINE);
}
INPUT_CHANGED_MEMBER(bsuprem_state::test_pressed)
diff --git a/src/mame/nintendo/n64_v.cpp b/src/mame/nintendo/n64_v.cpp
index 3652461ad9d..7d986c36792 100644
--- a/src/mame/nintendo/n64_v.cpp
+++ b/src/mame/nintendo/n64_v.cpp
@@ -1328,85 +1328,86 @@ int32_t const n64_rdp::s_rdp_command_length[64] =
8 // 0x3f, Set_Color_Image
};
-namespace
+namespace {
+
+std::string disassemble_vertices(const std::string &op_name, int32_t lft, const uint64_t *cmd_buf)
{
- std::string disassemble_vertices(const std::string &op_name, int32_t lft, const uint64_t *cmd_buf)
- {
- float yl = ((cmd_buf[0] >> 32) & 0x1fff) / 4.0f;
- float ym = ((cmd_buf[0] >> 16) & 0x1fff) / 4.0f;
- float yh = ((cmd_buf[0] >> 0) & 0x1fff) / 4.0f;
+ const float yl = ((cmd_buf[0] >> 32) & 0x1fff) / 4.0f;
+ const float ym = ((cmd_buf[0] >> 16) & 0x1fff) / 4.0f;
+ const float yh = ((cmd_buf[0] >> 0) & 0x1fff) / 4.0f;
- float xl = int32_t(cmd_buf[1] >> 32) / 65536.0f;
- float xh = int32_t(cmd_buf[2] >> 32) / 65536.0f;
- float xm = int32_t(cmd_buf[3] >> 32) / 65536.0f;
+ const float xl = int32_t(cmd_buf[1] >> 32) / 65536.0f;
+ const float xh = int32_t(cmd_buf[2] >> 32) / 65536.0f;
+ const float xm = int32_t(cmd_buf[3] >> 32) / 65536.0f;
- // (Currently?) not displayed
- // auto dxldy = int32_t(cmd_buf[1]) / 65536.0f;
- // auto dxhdy = int32_t(cmd_buf[2]) / 65536.0f;
- // auto dxmdy = int32_t(cmd_buf[3]) / 65536.0f;
+ // (Currently?) not displayed
+ [[maybe_unused]] const float dxldy = int32_t(cmd_buf[1]) / 65536.0f;
+ [[maybe_unused]] const float dxhdy = int32_t(cmd_buf[2]) / 65536.0f;
+ [[maybe_unused]] const float dxmdy = int32_t(cmd_buf[3]) / 65536.0f;
- return util::string_format("%-20s %d, XL: %4.4f, XM: %4.4f, XH: %4.4f, YL: %4.4f, YM: %4.4f, YH: %4.4f\n", op_name, lft, xl, xm, xh, yl, ym, yh);
- }
+ return util::string_format("%-20s %d, XL: %4.4f, XM: %4.4f, XH: %4.4f, YL: %4.4f, YM: %4.4f, YH: %4.4f\n", op_name, lft, xl, xm, xh, yl, ym, yh);
+}
- std::string disassemble_rgb(const uint64_t *cmd_buf)
- {
- float rt = int32_t(((cmd_buf[4] >> 32) & 0xffff0000) | ((cmd_buf[6] >> 48) & 0xffff)) / 65536.0f;
- float gt = int32_t((((cmd_buf[4] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[6] >> 32) & 0xffff)) / 65536.0f;
- float bt = int32_t((cmd_buf[4] & 0xffff0000) | ((cmd_buf[6] >> 16) & 0xffff)) / 65536.0f;
- float at = int32_t(((cmd_buf[4] & 0x0000ffff) << 16) | (cmd_buf[6] & 0xffff)) / 65536.0f;
- float drdx = int32_t(((cmd_buf[5] >> 32) & 0xffff0000) | ((cmd_buf[7] >> 48) & 0xffff)) / 65536.0f;
- float dgdx = int32_t((((cmd_buf[5] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[7] >> 32) & 0xffff)) / 65536.0f;
- float dbdx = int32_t((cmd_buf[5] & 0xffff0000) | ((cmd_buf[7] >> 16) & 0xffff)) / 65536.0f;
- float dadx = int32_t(((cmd_buf[5] & 0x0000ffff) << 16) | (cmd_buf[7] & 0xffff)) / 65536.0f;
- float drde = int32_t(((cmd_buf[8] >> 32) & 0xffff0000) | ((cmd_buf[10] >> 48) & 0xffff)) / 65536.0f;
- float dgde = int32_t((((cmd_buf[8] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[10] >> 32) & 0xffff)) / 65536.0f;
- float dbde = int32_t((cmd_buf[8] & 0xffff0000) | ((cmd_buf[10] >> 16) & 0xffff)) / 65536.0f;
- float dade = int32_t(((cmd_buf[8] & 0x0000ffff) << 16) | (cmd_buf[10] & 0xffff)) / 65536.0f;
- float drdy = int32_t(((cmd_buf[9] >> 32) & 0xffff0000) | ((cmd_buf[11] >> 48) & 0xffff)) / 65536.0f;
- float dgdy = int32_t((((cmd_buf[9] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[11] >> 32) & 0xffff)) / 65536.0f;
- float dbdy = int32_t((cmd_buf[9] & 0xffff0000) | ((cmd_buf[11] >> 16) & 0xffff)) / 65536.0f;
- float dady = int32_t(((cmd_buf[9] & 0x0000ffff) << 16) | (cmd_buf[11] & 0xffff)) / 65536.0f;
-
- std::ostringstream buffer;
- buffer << " ";
- util::stream_format(buffer, " R: %4.4f, G: %4.4f, B: %4.4f, A: %4.4f\n", rt, gt, bt, at);
- buffer << " ";
- util::stream_format(buffer, " DRDX: %4.4f, DGDX: %4.4f, DBDX: %4.4f, DADX: %4.4f\n", drdx, dgdx, dbdx, dadx);
- buffer << " ";
- util::stream_format(buffer, " DRDE: %4.4f, DGDE: %4.4f, DBDE: %4.4f, DADE: %4.4f\n", drde, dgde, dbde, dade);
- buffer << " ";
- util::stream_format(buffer, " DRDY: %4.4f, DGDY: %4.4f, DBDY: %4.4f, DADY: %4.4f\n", drdy, dgdy, dbdy, dady);
- return std::move(buffer).str();
- }
+std::string disassemble_rgb(const uint64_t *cmd_buf)
+{
+ const float rt = int32_t(((cmd_buf[4] >> 32) & 0xffff0000) | ((cmd_buf[6] >> 48) & 0xffff)) / 65536.0f;
+ const float gt = int32_t((((cmd_buf[4] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[6] >> 32) & 0xffff)) / 65536.0f;
+ const float bt = int32_t((cmd_buf[4] & 0xffff0000) | ((cmd_buf[6] >> 16) & 0xffff)) / 65536.0f;
+ const float at = int32_t(((cmd_buf[4] & 0x0000ffff) << 16) | (cmd_buf[6] & 0xffff)) / 65536.0f;
+ const float drdx = int32_t(((cmd_buf[5] >> 32) & 0xffff0000) | ((cmd_buf[7] >> 48) & 0xffff)) / 65536.0f;
+ const float dgdx = int32_t((((cmd_buf[5] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[7] >> 32) & 0xffff)) / 65536.0f;
+ const float dbdx = int32_t((cmd_buf[5] & 0xffff0000) | ((cmd_buf[7] >> 16) & 0xffff)) / 65536.0f;
+ const float dadx = int32_t(((cmd_buf[5] & 0x0000ffff) << 16) | (cmd_buf[7] & 0xffff)) / 65536.0f;
+ const float drde = int32_t(((cmd_buf[8] >> 32) & 0xffff0000) | ((cmd_buf[10] >> 48) & 0xffff)) / 65536.0f;
+ const float dgde = int32_t((((cmd_buf[8] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[10] >> 32) & 0xffff)) / 65536.0f;
+ const float dbde = int32_t((cmd_buf[8] & 0xffff0000) | ((cmd_buf[10] >> 16) & 0xffff)) / 65536.0f;
+ const float dade = int32_t(((cmd_buf[8] & 0x0000ffff) << 16) | (cmd_buf[10] & 0xffff)) / 65536.0f;
+ const float drdy = int32_t(((cmd_buf[9] >> 32) & 0xffff0000) | ((cmd_buf[11] >> 48) & 0xffff)) / 65536.0f;
+ const float dgdy = int32_t((((cmd_buf[9] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[11] >> 32) & 0xffff)) / 65536.0f;
+ const float dbdy = int32_t((cmd_buf[9] & 0xffff0000) | ((cmd_buf[11] >> 16) & 0xffff)) / 65536.0f;
+ const float dady = int32_t(((cmd_buf[9] & 0x0000ffff) << 16) | (cmd_buf[11] & 0xffff)) / 65536.0f;
- std::string disassemble_stw(const uint64_t *cmd_buf)
- {
- float s = int32_t(((cmd_buf[4] >> 32) & 0xffff0000) | ((cmd_buf[6] >> 48) & 0xffff)) / 65536.0f;
- float t = int32_t((((cmd_buf[4] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[6] >> 32) & 0xffff)) / 65536.0f;
- float w = int32_t((cmd_buf[4] & 0xffff0000) | ((cmd_buf[6] >> 16) & 0xffff)) / 65536.0f;
- float dsdx = int32_t(((cmd_buf[5] >> 32) & 0xffff0000) | ((cmd_buf[7] >> 48) & 0xffff)) / 65536.0f;
- float dtdx = int32_t((((cmd_buf[5] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[7] >> 32) & 0xffff)) / 65536.0f;
- float dwdx = int32_t((cmd_buf[5] & 0xffff0000) | ((cmd_buf[7] >> 16) & 0xffff)) / 65536.0f;
- float dsde = int32_t(((cmd_buf[8] >> 32) & 0xffff0000) | ((cmd_buf[10] >> 48) & 0xffff)) / 65536.0f;
- float dtde = int32_t((((cmd_buf[8] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[10] >> 32) & 0xffff)) / 65536.0f;
- float dwde = int32_t((cmd_buf[8] & 0xffff0000) | ((cmd_buf[10] >> 16) & 0xffff)) / 65536.0f;
- float dsdy = int32_t(((cmd_buf[9] >> 32) & 0xffff0000) | ((cmd_buf[11] >> 48) & 0xffff)) / 65536.0f;
- float dtdy = int32_t((((cmd_buf[9] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[11] >> 32) & 0xffff)) / 65536.0f;
- float dwdy = int32_t((cmd_buf[9] & 0xffff0000) | ((cmd_buf[11] >> 16) & 0xffff)) / 65536.0f;
-
- std::ostringstream buffer;
- buffer << " ";
- util::stream_format(buffer, " S: %4.4f, T: %4.4f, W: %4.4f\n", s, t, w);
- buffer << " ";
- util::stream_format(buffer, " DSDX: %4.4f, DTDX: %4.4f, DWDX: %4.4f\n", dsdx, dtdx, dwdx);
- buffer << " ";
- util::stream_format(buffer, " DSDE: %4.4f, DTDE: %4.4f, DWDE: %4.4f\n", dsde, dtde, dwde);
- buffer << " ";
- util::stream_format(buffer, " DSDY: %4.4f, DTDY: %4.4f, DWDY: %4.4f\n", dsdy, dtdy, dwdy);
- return std::move(buffer).str();
- }
+ std::ostringstream buffer;
+ buffer << " ";
+ util::stream_format(buffer, " R: %4.4f, G: %4.4f, B: %4.4f, A: %4.4f\n", rt, gt, bt, at);
+ buffer << " ";
+ util::stream_format(buffer, " DRDX: %4.4f, DGDX: %4.4f, DBDX: %4.4f, DADX: %4.4f\n", drdx, dgdx, dbdx, dadx);
+ buffer << " ";
+ util::stream_format(buffer, " DRDE: %4.4f, DGDE: %4.4f, DBDE: %4.4f, DADE: %4.4f\n", drde, dgde, dbde, dade);
+ buffer << " ";
+ util::stream_format(buffer, " DRDY: %4.4f, DGDY: %4.4f, DBDY: %4.4f, DADY: %4.4f\n", drdy, dgdy, dbdy, dady);
+ return std::move(buffer).str();
}
+std::string disassemble_stw(const uint64_t *cmd_buf)
+{
+ const float s = int32_t(((cmd_buf[4] >> 32) & 0xffff0000) | ((cmd_buf[6] >> 48) & 0xffff)) / 65536.0f;
+ const float t = int32_t((((cmd_buf[4] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[6] >> 32) & 0xffff)) / 65536.0f;
+ const float w = int32_t((cmd_buf[4] & 0xffff0000) | ((cmd_buf[6] >> 16) & 0xffff)) / 65536.0f;
+ const float dsdx = int32_t(((cmd_buf[5] >> 32) & 0xffff0000) | ((cmd_buf[7] >> 48) & 0xffff)) / 65536.0f;
+ const float dtdx = int32_t((((cmd_buf[5] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[7] >> 32) & 0xffff)) / 65536.0f;
+ const float dwdx = int32_t((cmd_buf[5] & 0xffff0000) | ((cmd_buf[7] >> 16) & 0xffff)) / 65536.0f;
+ const float dsde = int32_t(((cmd_buf[8] >> 32) & 0xffff0000) | ((cmd_buf[10] >> 48) & 0xffff)) / 65536.0f;
+ const float dtde = int32_t((((cmd_buf[8] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[10] >> 32) & 0xffff)) / 65536.0f;
+ const float dwde = int32_t((cmd_buf[8] & 0xffff0000) | ((cmd_buf[10] >> 16) & 0xffff)) / 65536.0f;
+ const float dsdy = int32_t(((cmd_buf[9] >> 32) & 0xffff0000) | ((cmd_buf[11] >> 48) & 0xffff)) / 65536.0f;
+ const float dtdy = int32_t((((cmd_buf[9] >> 32) & 0x0000ffff) << 16) | ((cmd_buf[11] >> 32) & 0xffff)) / 65536.0f;
+ const float dwdy = int32_t((cmd_buf[9] & 0xffff0000) | ((cmd_buf[11] >> 16) & 0xffff)) / 65536.0f;
+
+ std::ostringstream buffer;
+ buffer << " ";
+ util::stream_format(buffer, " S: %4.4f, T: %4.4f, W: %4.4f\n", s, t, w);
+ buffer << " ";
+ util::stream_format(buffer, " DSDX: %4.4f, DTDX: %4.4f, DWDX: %4.4f\n", dsdx, dtdx, dwdx);
+ buffer << " ";
+ util::stream_format(buffer, " DSDE: %4.4f, DTDE: %4.4f, DWDE: %4.4f\n", dsde, dtde, dwde);
+ buffer << " ";
+ util::stream_format(buffer, " DSDY: %4.4f, DTDY: %4.4f, DWDY: %4.4f\n", dsdy, dtdy, dwdy);
+ return std::move(buffer).str();
+}
+
+} // anonymous namespace
+
std::string n64_rdp::disassemble(const uint64_t *cmd_buf)
{
std::ostringstream buffer;
@@ -1488,10 +1489,10 @@ std::string n64_rdp::disassemble(const uint64_t *cmd_buf)
case 0x24:
case 0x25:
{
- float s = int16_t((cmd_buf[1] >> 48) & 0xffff) / 32.0f;
- float t = int16_t((cmd_buf[1] >> 32) & 0xffff) / 32.0f;
- float dsdx = int16_t((cmd_buf[1] >> 16) & 0xffff) / 1024.0f;
- float dtdy = int16_t((cmd_buf[1] >> 0) & 0xffff) / 1024.0f;
+ const float s = int16_t((cmd_buf[1] >> 48) & 0xffff) / 32.0f;
+ const float t = int16_t((cmd_buf[1] >> 32) & 0xffff) / 32.0f;
+ const float dsdx = int16_t((cmd_buf[1] >> 16) & 0xffff) / 1024.0f;
+ const float dtdy = int16_t((cmd_buf[1] >> 0) & 0xffff) / 1024.0f;
if (command == 0x24)
util::stream_format(buffer, "Texture_Rectangle %d, %s, %s, %s, %s, %4.4f, %4.4f, %4.4f, %4.4f", tile, sh, th, sl, tl, s, t, dsdx, dtdy);
diff --git a/src/mame/sony/news_r3k.cpp b/src/mame/sony/news_r3k.cpp
index 196393e760d..bfd72be0002 100644
--- a/src/mame/sony/news_r3k.cpp
+++ b/src/mame/sony/news_r3k.cpp
@@ -182,6 +182,8 @@ protected:
class nws3410_state : public news_r3k_base_state
{
public:
+ static constexpr feature_type unemulated_features() { return feature::GRAPHICS; }
+
nws3410_state(machine_config const &mconfig, device_type type, char const *tag)
: news_r3k_base_state(mconfig, type, tag)
{
@@ -189,8 +191,6 @@ public:
void nws3410(machine_config &config);
- static constexpr feature_type unemulated_features() { return feature::GRAPHICS; }
-
protected:
void nws3410_map(address_map &map);
};
diff --git a/src/mame/sony/news_r4k.cpp b/src/mame/sony/news_r4k.cpp
index 1e989b8e7fc..3f92e8e70e2 100644
--- a/src/mame/sony/news_r4k.cpp
+++ b/src/mame/sony/news_r4k.cpp
@@ -131,6 +131,8 @@ namespace {
class news_r4k_state : public driver_device
{
public:
+ static constexpr feature_type unemulated_features() { return feature::GRAPHICS; }
+
news_r4k_state(machine_config const &mconfig, device_type type, char const *tag) :
driver_device(mconfig, type, tag),
m_cpu(*this, "cpu"),
@@ -158,8 +160,6 @@ public:
void nws5000x(machine_config &config);
- static constexpr feature_type unemulated_features() { return feature::GRAPHICS; }
-
protected:
enum irq0_number : uint32_t
diff --git a/src/osd/modules/lib/osdobj_common.h b/src/osd/modules/lib/osdobj_common.h
index d339a784dfa..413af9a7f7d 100644
--- a/src/osd/modules/lib/osdobj_common.h
+++ b/src/osd/modules/lib/osdobj_common.h
@@ -183,7 +183,7 @@ public:
// PortAudio options
const char *pa_api() const { return value(OSDOPTION_PA_API); }
const char *pa_device() const { return value(OSDOPTION_PA_DEVICE); }
- const float pa_latency() const { return float_value(OSDOPTION_PA_LATENCY); }
+ float pa_latency() const { return float_value(OSDOPTION_PA_LATENCY); }
static const options_entry s_option_entries[];
};