From 9359d54aeee92d09fb589071e7993cd5277f7f95 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Mon, 20 Jan 2025 02:21:15 +1100 Subject: Tidied up some stuff. --- src/devices/cpu/drcbearm64.cpp | 6 +- src/devices/cpu/olms66k/nx8dasm.cpp | 150 +++++++++++++++++++----------------- src/devices/cpu/olms66k/nx8dasm.h | 8 -- src/mame/alba/albazg.cpp | 9 +-- src/mame/apple/dfac.cpp | 18 ++--- src/mame/apple/omega.cpp | 22 +++--- src/mame/irem/m58.cpp | 14 ++-- src/mame/misc/chance32.cpp | 31 ++++---- src/mame/philips/mcd212.cpp | 105 +++++++++++++------------ src/mame/taito/taitotz.cpp | 58 +++++++------- 10 files changed, 210 insertions(+), 211 deletions(-) diff --git a/src/devices/cpu/drcbearm64.cpp b/src/devices/cpu/drcbearm64.cpp index 195a0bda9a8..2f5c9eec02b 100644 --- a/src/devices/cpu/drcbearm64.cpp +++ b/src/devices/cpu/drcbearm64.cpp @@ -281,7 +281,7 @@ arm::Mem get_mem_absolute(a64::Assembler &a, const void *ptr) const uint64_t pagebase = codeoffs & ~make_bitmask(12); const int64_t pagerel = (int64_t)ptr - pagebase; - if (is_valid_immediate_signed(pagerel, 33)) + if (is_valid_immediate_signed(pagerel, 21 + 12)) { const uint64_t targetpage = (uint64_t)ptr & ~make_bitmask(12); const uint64_t pageoffs = (uint64_t)ptr & util::make_bitmask(12); @@ -494,7 +494,7 @@ void drcbe_arm64::get_imm_relative(a64::Assembler &a, const a64::Gp ®, const const uint64_t pagebase = codeoffs & ~make_bitmask(12); const int64_t pagerel = (int64_t)val - pagebase; - if (is_valid_immediate_signed(pagerel, 33)) + if (is_valid_immediate_signed(pagerel, 21 + 12)) { const uint64_t targetpage = val & ~make_bitmask(12); const uint64_t pageoffs = val & util::make_bitmask(12); @@ -588,7 +588,7 @@ void drcbe_arm64::emit_ldr_str_base_mem(a64::Assembler &a, a64::Inst::Id opcode, const uint64_t pagebase = codeoffs & ~make_bitmask(12); const int64_t pagerel = (int64_t)ptr - pagebase; - if (is_valid_immediate_signed(pagerel, 33)) + if (is_valid_immediate_signed(pagerel, 21 + 12)) { const uint64_t targetpage = (uint64_t)ptr & ~make_bitmask(12); const uint64_t pageoffs = (uint64_t)ptr & util::make_bitmask(12); diff --git a/src/devices/cpu/olms66k/nx8dasm.cpp b/src/devices/cpu/olms66k/nx8dasm.cpp index bca54820c01..2b56815369d 100644 --- a/src/devices/cpu/olms66k/nx8dasm.cpp +++ b/src/devices/cpu/olms66k/nx8dasm.cpp @@ -16,42 +16,19 @@ #include -static const u16 s_dummy_psw = 0; +namespace { -nx8_500s_disassembler::nx8_500s_disassembler() - : nx8_500s_disassembler(s_dummy_psw) -{ -} - -nx8_500s_disassembler::nx8_500s_disassembler(const u16 &psw) - : m_psw(psw) -{ -} - -offs_t nx8_500s_disassembler::opcode_alignment() const -{ - return 1; -} +const u16 f_dummy_psw = 0; -u32 nx8_500s_disassembler::interface_flags() const -{ - return PAGED; -} -u32 nx8_500s_disassembler::page_address_bits() const -{ - return 16; -} - - -static const char *const s_reg_names[3][4] = +const char *const f_reg_names[3][4] = { { "ER0", "ER1", "ER2", "ER3" }, { "X1", "X2", "DP", "USP" }, { "SSP", "LRB", "PSW", "A" } }; -static const char *const s_pr_indirect[4] = +const char *const f_pr_indirect[4] = { "[X1]", "[DP-]", @@ -59,7 +36,7 @@ static const char *const s_pr_indirect[4] = "[DP+]" }; -static const char *const s_bit_ops[4] = +const char *const f_bit_ops[4] = { "SB", "RB", @@ -67,13 +44,13 @@ static const char *const s_bit_ops[4] = "JBR" }; -static const char *const s_alu_ops[2][8] = +const char *const f_alu_ops[2][8] = { { "SUBB", "CMPB", "ADDB", "ANDB", "ORB", "XORB", "SBCB", "ADCB" }, { "SUB", "CMP", "ADD", "AND", "OR", "XOR", "SBC", "ADC" } }; -static const char *const s_jconds[8] = +const char *const f_jconds[8] = { "JGT", "JEQ", // alias JZ @@ -85,7 +62,7 @@ static const char *const s_jconds[8] = "JLE" }; -static const char *const s_signed_jconds[4] = +const char *const f_signed_jconds[4] = { "JLTS", "JLES", @@ -94,7 +71,7 @@ static const char *const s_signed_jconds[4] = }; // FIXME: these lists combine MSM66573 and MSM66577 SFRs, including a few existing only on one or the other -static const char *const s_msm6657x_byte_sfr_names[256] = +const char *const f_msm6657x_byte_sfr_names[256] = { nullptr, nullptr, "LRBL", "LRBH", "PSWL", "PSWH", "ACCL", "ACCH", "TSR", "DSR", nullptr, "ROMWIN", "ROMRDY", "RAMRDY", "STPACP", "SBYCON", @@ -130,7 +107,7 @@ static const char *const s_msm6657x_byte_sfr_names[256] = nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr }; -static const char *const s_msm6657x_word_sfr_names[128] = +const char *const f_msm6657x_word_sfr_names[128] = { "SSP", "LRB", "PSW", "ACC", "DSTSR", nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, @@ -150,45 +127,46 @@ static const char *const s_msm6657x_word_sfr_names[128] = nullptr, "FLAADRS", nullptr, nullptr, nullptr, nullptr, nullptr, nullptr }; -void nx8_500s_disassembler::format_n8(std::ostream &stream, u8 n8) + +void format_n8(std::ostream &stream, u8 n8) { if (n8 >= 0xa0) stream << '0'; util::stream_format(stream, "%02XH", n8); } -void nx8_500s_disassembler::format_n16(std::ostream &stream, u16 n16) +void format_n16(std::ostream &stream, u16 n16) { if (n16 >= 0xa000) stream << '0'; util::stream_format(stream, "%04XH", n16); } -void nx8_500s_disassembler::format_fix8(std::ostream &stream, u8 n8) +void format_fix8(std::ostream &stream, u8 n8) { format_n16(stream, 0x0200 + n8); } -void nx8_500s_disassembler::format_off8(std::ostream &stream, u8 n8) +void format_off8(std::ostream &stream, u8 n8) { stream << '\\'; format_n8(stream, n8); } -void nx8_500s_disassembler::format_dir16(std::ostream &stream, u16 n16) +void format_dir16(std::ostream &stream, u16 n16) { if ((n16 & 0xff00) == 0 || (n16 & 0xff00) == 0x0200) stream << "dir "; format_n16(stream, n16); } -void nx8_500s_disassembler::format_sfr8(std::ostream &stream, u8 n8, bool word) +void format_sfr8(std::ostream &stream, u8 n8, bool word) { const char *name = nullptr; if (word && !BIT(n8, 0)) - name = s_msm6657x_word_sfr_names[n8 >> 1]; + name = f_msm6657x_word_sfr_names[n8 >> 1]; else if (!word) - name = s_msm6657x_byte_sfr_names[n8]; + name = f_msm6657x_byte_sfr_names[n8]; if (name != nullptr) stream << name; else @@ -198,6 +176,36 @@ void nx8_500s_disassembler::format_sfr8(std::ostream &stream, u8 n8, bool word) } } +} // anonymous namespace + + + +nx8_500s_disassembler::nx8_500s_disassembler() + : nx8_500s_disassembler(f_dummy_psw) +{ +} + +nx8_500s_disassembler::nx8_500s_disassembler(const u16 &psw) + : m_psw(psw) +{ +} + +offs_t nx8_500s_disassembler::opcode_alignment() const +{ + return 1; +} + +u32 nx8_500s_disassembler::interface_flags() const +{ + return PAGED; +} + +u32 nx8_500s_disassembler::page_address_bits() const +{ + return 16; +} + + offs_t nx8_500s_disassembler::dasm_composite(std::ostream &stream, offs_t pc, offs_t prefix, const nx8_500s_disassembler::data_buffer &opcodes, std::string obj, bool word) const { const u8 code = opcodes.r8(pc + prefix); @@ -205,7 +213,7 @@ offs_t nx8_500s_disassembler::dasm_composite(std::ostream &stream, offs_t pc, of { case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: case 0x08: case 0x09: case 0x0a: case 0x0b: case 0x0c: case 0x0d: case 0x0e: case 0x0f: - util::stream_format(stream, "%-8s%s.%d", s_bit_ops[BIT(~code, 3)], obj, code & 0x07); + util::stream_format(stream, "%-8s%s.%d", f_bit_ops[BIT(~code, 3)], obj, code & 0x07); return (prefix + 1) | SUPPORTED; case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: @@ -220,7 +228,7 @@ offs_t nx8_500s_disassembler::dasm_composite(std::ostream &stream, offs_t pc, of case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: case 0x28: case 0x29: case 0x2a: case 0x2b: case 0x2c: case 0x2d: case 0x2e: case 0x2f: - util::stream_format(stream, "%-8s%s.%d,", s_bit_ops[2 + BIT(~code, 3)], obj, code & 0x07); + util::stream_format(stream, "%-8s%s.%d,", f_bit_ops[2 + BIT(~code, 3)], obj, code & 0x07); format_n16(stream, pc + prefix + 2 + s8(opcodes.r8(pc + prefix + 1))); return (prefix + 2) | STEP_COND | SUPPORTED; @@ -246,28 +254,28 @@ offs_t nx8_500s_disassembler::dasm_composite(std::ostream &stream, offs_t pc, of case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: if (word) - util::stream_format(stream, "%-8s%s,%s", "MOV", s_reg_names[BIT(code, 2)][code & 0x03], obj); + util::stream_format(stream, "%-8s%s,%s", "MOV", f_reg_names[BIT(code, 2)][code & 0x03], obj); else util::stream_format(stream, "%-8sR%d,%s", "MOVB", code & 0x07, obj); return (prefix + 1) | SUPPORTED; case 0x80: case 0x90: case 0xa0: case 0xb0: case 0xc0: case 0xd0: case 0xe0: case 0xf0: - util::stream_format(stream, "%-8s%s,", s_alu_ops[word][(code >> 4) & 0x07], obj); + util::stream_format(stream, "%-8s%s,", f_alu_ops[word][(code >> 4) & 0x07], obj); format_fix8(stream, opcodes.r8(pc + prefix + 1)); return (prefix + 2) | SUPPORTED; case 0x81: case 0x91: case 0xa1: case 0xb1: case 0xc1: case 0xd1: case 0xe1: case 0xf1: - util::stream_format(stream, "%-8s%s,", s_alu_ops[word][(code >> 4) & 0x07], obj); + util::stream_format(stream, "%-8s%s,", f_alu_ops[word][(code >> 4) & 0x07], obj); format_off8(stream, opcodes.r8(pc + prefix + 1)); return (prefix + 2) | SUPPORTED; case 0x82: case 0x92: case 0xa2: case 0xb2: case 0xc2: case 0xd2: case 0xe2: case 0xf2: - util::stream_format(stream, "%-8s%s,", s_alu_ops[word][(code >> 4) & 0x07], obj); + util::stream_format(stream, "%-8s%s,", f_alu_ops[word][(code >> 4) & 0x07], obj); format_sfr8(stream, opcodes.r8(pc + prefix + 1), word); return (prefix + 2) | SUPPORTED; case 0x83: case 0x93: case 0xa3: case 0xb3: case 0xc3: case 0xd3: case 0xe3: case 0xf3: - util::stream_format(stream, "%-8s%s,#", s_alu_ops[word][(code >> 4) & 0x07], obj); + util::stream_format(stream, "%-8s%s,#", f_alu_ops[word][(code >> 4) & 0x07], obj); if (word) { format_n16(stream, opcodes.r16(pc + prefix + 1)); @@ -280,11 +288,11 @@ offs_t nx8_500s_disassembler::dasm_composite(std::ostream &stream, offs_t pc, of } case 0x84: case 0x94: case 0xa4: case 0xb4: case 0xc4: case 0xd4: case 0xe4: case 0xf4: - util::stream_format(stream, "%-8s%s,A", s_alu_ops[word][(code >> 4) & 0x07], obj); + util::stream_format(stream, "%-8s%s,A", f_alu_ops[word][(code >> 4) & 0x07], obj); return (prefix + 1) | SUPPORTED; case 0x85: case 0x95: case 0xa5: case 0xb5: case 0xc5: case 0xd5: case 0xe5: case 0xf5: - util::stream_format(stream, "%-8sA,%s", s_alu_ops[word][(code >> 4) & 0x07], obj); + util::stream_format(stream, "%-8sA,%s", f_alu_ops[word][(code >> 4) & 0x07], obj); return (prefix + 1) | SUPPORTED; case 0x86: @@ -300,7 +308,7 @@ offs_t nx8_500s_disassembler::dasm_composite(std::ostream &stream, offs_t pc, of return (prefix + 2) | SUPPORTED; case 0x88: case 0x89: case 0x8a: case 0x8b: - util::stream_format(stream, "%-8s%s,%s", word ? "MOV" : "MOVB", s_pr_indirect[code & 0x03], obj); + util::stream_format(stream, "%-8s%s,%s", word ? "MOV" : "MOVB", f_pr_indirect[code & 0x03], obj); return (prefix + 1) | SUPPORTED; case 0x8c: case 0x8d: case 0x8e: case 0x8f: @@ -320,7 +328,7 @@ offs_t nx8_500s_disassembler::dasm_composite(std::ostream &stream, offs_t pc, of case 0x98: case 0x99: util::stream_format(stream, "%-8s", word ? "MOV" : "MOVB"); format_n16(stream, opcodes.r16(pc + prefix + 1)); - util::stream_format(stream, "[%s],%s", s_reg_names[1][code & 0x01], obj); + util::stream_format(stream, "[%s],%s", f_reg_names[1][code & 0x01], obj); return (prefix + 3) | SUPPORTED; case 0x9a: @@ -492,7 +500,7 @@ offs_t nx8_500s_disassembler::dasm_composite(std::ostream &stream, offs_t pc, of return (prefix + 1) | SUPPORTED; case 0xfc: case 0xfd: case 0xfe: case 0xff: // dummy prefix - util::stream_format(stream, "%-8s", s_signed_jconds[code & 0x03]); + util::stream_format(stream, "%-8s", f_signed_jconds[code & 0x03]); format_n16(stream, pc + prefix + 2 + s8(opcodes.r8(pc + prefix + 1))); return (prefix + 2) | STEP_COND | SUPPORTED; @@ -580,7 +588,7 @@ offs_t nx8_500s_disassembler::disassemble(std::ostream &stream, offs_t pc, const { if ((byte2 & ((1 << n) - 1)) != 0) stream << ','; - stream << s_reg_names[(byte2 & 0x30) >> 4][n]; + stream << f_reg_names[(byte2 & 0x30) >> 4][n]; } } break; @@ -604,9 +612,9 @@ offs_t nx8_500s_disassembler::disassemble(std::ostream &stream, offs_t pc, const case 0x08: case 0x09: case 0x0a: case 0x0b: case 0x0c: case 0x0d: case 0x0e: case 0x0f: case 0x18: case 0x19: case 0x1a: case 0x1b: case 0x1c: case 0x1d: case 0x1e: case 0x1f: case 0x28: case 0x29: case 0x2a: case 0x2b: case 0x2c: case 0x2d: case 0x2e: case 0x2f: - util::stream_format(stream, "%-8sA,", s_alu_ops[BIT(m_psw, 12)][byte1 >> 4]); + util::stream_format(stream, "%-8sA,", f_alu_ops[BIT(m_psw, 12)][byte1 >> 4]); if (BIT(m_psw, 12)) - stream << s_reg_names[BIT(byte1, 2)][byte1 & 0x03]; + stream << f_reg_names[BIT(byte1, 2)][byte1 & 0x03]; else util::stream_format(stream, "R%d", byte1 & 0x07); return 1 | SUPPORTED; @@ -617,12 +625,12 @@ offs_t nx8_500s_disassembler::disassemble(std::ostream &stream, offs_t pc, const return 2 | SUPPORTED; case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: - util::stream_format(stream, "%-8s%s,#", "MOV", s_reg_names[BIT(~byte1, 2)][byte1 & 0x03]); + util::stream_format(stream, "%-8s%s,#", "MOV", f_reg_names[BIT(~byte1, 2)][byte1 & 0x03]); format_n16(stream, opcodes.r16(pc + 1)); return 3 | SUPPORTED; case 0x30: case 0x31: case 0x32: case 0x33: - util::stream_format(stream, "%-8sA,%s", BIT(m_psw, 12) ? "ST" : "STB", s_pr_indirect[byte1 & 0x03]); + util::stream_format(stream, "%-8sA,%s", BIT(m_psw, 12) ? "ST" : "STB", f_pr_indirect[byte1 & 0x03]); return 1 | SUPPORTED; case 0x34: @@ -647,13 +655,13 @@ offs_t nx8_500s_disassembler::disassemble(std::ostream &stream, offs_t pc, const case 0x38: case 0x39: case 0x3a: case 0x3b: case 0x3c: case 0x3d: case 0x3e: case 0x3f: if (BIT(m_psw, 12)) - util::stream_format(stream, "%-8sA,%s", "ST", s_reg_names[BIT(byte1, 2)][byte1 & 0x03]); + util::stream_format(stream, "%-8sA,%s", "ST", f_reg_names[BIT(byte1, 2)][byte1 & 0x03]); else util::stream_format(stream, "%-8sA,R%d", "STB", byte1 & 0x07); return 1 | SUPPORTED; case 0x40: case 0x41: case 0x42: case 0x43: - util::stream_format(stream, "%-8s%s", "INC", s_reg_names[1][byte1 & 0x03]); + util::stream_format(stream, "%-8s%s", "INC", f_reg_names[1][byte1 & 0x03]); return 1 | SUPPORTED; case 0x44: case 0x45: case 0x46: case 0x47: case 0x54: case 0x55: case 0x56: case 0x57: @@ -665,7 +673,7 @@ offs_t nx8_500s_disassembler::disassemble(std::ostream &stream, offs_t pc, const case 0x58: case 0x59: case 0x5a: case 0x5b: case 0x5c: case 0x5d: case 0x5e: case 0x5f: { const u8 byte2 = opcodes.r8(pc + 1); - util::stream_format(stream, "%-8s", s_bit_ops[byte2 >> 6]); + util::stream_format(stream, "%-8s", f_bit_ops[byte2 >> 6]); if (BIT(byte1, 4)) format_fix8(stream, 0xc0 | byte2); else @@ -682,17 +690,17 @@ offs_t nx8_500s_disassembler::disassemble(std::ostream &stream, offs_t pc, const } case 0x50: case 0x51: case 0x52: case 0x53: - util::stream_format(stream, "%-8s%s", "DEC", s_reg_names[1][byte1 & 0x03]); + util::stream_format(stream, "%-8s%s", "DEC", f_reg_names[1][byte1 & 0x03]); return 1 | SUPPORTED; case 0x60: case 0x61: case 0x62: case 0x63: case 0x64: case 0x65: case 0x66: case 0x67: - return dasm_composite(stream, pc, 1, opcodes, s_reg_names[BIT(~byte1, 2)][byte1 & 0x03], true); + return dasm_composite(stream, pc, 1, opcodes, f_reg_names[BIT(~byte1, 2)][byte1 & 0x03], true); case 0x68: case 0x69: case 0x6a: case 0x6b: case 0x6c: case 0x6d: case 0x6e: case 0x6f: return dasm_composite(stream, pc, 1, opcodes, util::string_format("R%d", byte1 & 0x07), false); case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: - util::stream_format(stream, "%-8sA,%s", "L", s_reg_names[BIT(~byte1, 2)][byte1 & 0x03]); + util::stream_format(stream, "%-8sA,%s", "L", f_reg_names[BIT(~byte1, 2)][byte1 & 0x03]); return 1 | SUPPORTED; case 0x78: case 0x79: case 0x7a: case 0x7b: case 0x7c: case 0x7d: case 0x7e: case 0x7f: @@ -701,7 +709,7 @@ offs_t nx8_500s_disassembler::disassemble(std::ostream &stream, offs_t pc, const case 0x80: case 0x81: case 0x82: case 0x83: case 0x90: case 0x91: case 0x92: case 0x93: - util::stream_format(stream, "%-8sA,%s", BIT(byte1, 4) ? "LB" : "L", s_pr_indirect[byte1 & 0x03]); + util::stream_format(stream, "%-8sA,%s", BIT(byte1, 4) ? "LB" : "L", f_pr_indirect[byte1 & 0x03]); return 1 | SUPPORTED; case 0x84: case 0x94: @@ -752,17 +760,17 @@ offs_t nx8_500s_disassembler::disassemble(std::ostream &stream, offs_t pc, const } case 0x8c: case 0x9c: case 0xac: - util::stream_format(stream, "%-8sA,", s_alu_ops[BIT(m_psw, 12)][(byte1 >> 4) & 0x07]); + util::stream_format(stream, "%-8sA,", f_alu_ops[BIT(m_psw, 12)][(byte1 >> 4) & 0x07]); format_fix8(stream, opcodes.r8(pc + 1)); return 2 | SUPPORTED; case 0x8d: case 0x9d: case 0xad: case 0xbd: case 0xcd: case 0xdd: - util::stream_format(stream, "%-8sA,", s_alu_ops[BIT(m_psw, 12)][(byte1 >> 4) & 0x07]); + util::stream_format(stream, "%-8sA,", f_alu_ops[BIT(m_psw, 12)][(byte1 >> 4) & 0x07]); format_off8(stream, opcodes.r8(pc + 1)); return 2 | SUPPORTED; case 0x8e: case 0x9e: case 0xae: case 0xbe: case 0xce: case 0xde: - util::stream_format(stream, "%-8sA,#", s_alu_ops[BIT(m_psw, 12)][(byte1 >> 4) & 0x07]); + util::stream_format(stream, "%-8sA,#", f_alu_ops[BIT(m_psw, 12)][(byte1 >> 4) & 0x07]); if (BIT(m_psw, 12)) { format_n16(stream, opcodes.r16(pc + 1)); @@ -784,7 +792,7 @@ offs_t nx8_500s_disassembler::disassemble(std::ostream &stream, offs_t pc, const case 0xa0: case 0xa1: case 0xa2: case 0xa3: case 0xb0: case 0xb1: case 0xb2: case 0xb3: - return dasm_composite(stream, pc, 1, opcodes, s_pr_indirect[byte1 & 0x03], !BIT(byte1, 4)); + return dasm_composite(stream, pc, 1, opcodes, f_pr_indirect[byte1 & 0x03], !BIT(byte1, 4)); case 0xa4: case 0xb4: { @@ -818,7 +826,7 @@ offs_t nx8_500s_disassembler::disassemble(std::ostream &stream, offs_t pc, const { std::ostringstream string; format_n16(string, opcodes.r16(pc + 1)); - util::stream_format(string, "[%s]", s_reg_names[1][byte1 & 0x01]); + util::stream_format(string, "[%s]", f_reg_names[1][byte1 & 0x01]); return dasm_composite(stream, pc, 3, opcodes, string.str(), !BIT(byte1, 4)); } @@ -968,7 +976,7 @@ offs_t nx8_500s_disassembler::disassemble(std::ostream &stream, offs_t pc, const return 1 | STEP_OVER | SUPPORTED; case 0xf0: case 0xf1: case 0xf2: case 0xf3: case 0xf4: case 0xf5: case 0xf6: case 0xf7: - util::stream_format(stream, "%-8s", s_jconds[byte1 & 0x07]); + util::stream_format(stream, "%-8s", f_jconds[byte1 & 0x07]); format_n16(stream, pc + 2 + s8(opcodes.r8(pc + 1))); return 2 | STEP_COND | SUPPORTED; diff --git a/src/devices/cpu/olms66k/nx8dasm.h b/src/devices/cpu/olms66k/nx8dasm.h index 6f50a34ff18..2d3a4fba02e 100644 --- a/src/devices/cpu/olms66k/nx8dasm.h +++ b/src/devices/cpu/olms66k/nx8dasm.h @@ -20,14 +20,6 @@ protected: virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms) override; private: - // formatting helpers - static void format_n8(std::ostream &stream, u8 n8); - static void format_n16(std::ostream &stream, u16 n16); - static void format_fix8(std::ostream &stream, u8 n8); - static void format_off8(std::ostream &stream, u8 n8); - static void format_dir16(std::ostream &stream, u16 n16); - static void format_sfr8(std::ostream &stream, u8 n8, bool word); - offs_t dasm_composite(std::ostream &stream, offs_t pc, offs_t prefix, const data_buffer &opcodes, std::string obj, bool word) const; const u16 &m_psw; diff --git a/src/mame/alba/albazg.cpp b/src/mame/alba/albazg.cpp index e5d7896efad..a952ea13a2c 100644 --- a/src/mame/alba/albazg.cpp +++ b/src/mame/alba/albazg.cpp @@ -118,11 +118,10 @@ TILE_GET_INFO_MEMBER(albazg_state::get_tile_info) const u16 code = m_video_ram[tile_index] | ((attr & 0xf8) << 3); tileinfo.set( - 0, - code, - attr & 0x7, - 0 - ); + 0, + code, + attr & 0x7, + 0); } diff --git a/src/mame/apple/dfac.cpp b/src/mame/apple/dfac.cpp index dcb20dfb904..38e0c893350 100644 --- a/src/mame/apple/dfac.cpp +++ b/src/mame/apple/dfac.cpp @@ -100,15 +100,15 @@ static constexpr double atten_table[8] = 1.0 // No attenuation }; -dfac_device::dfac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : device_t(mconfig, APPLE_DFAC, tag, owner, clock), - device_sound_interface(mconfig, *this), - m_stream(nullptr), - m_data(false), - m_clock(false), - m_dfaclatch(false), - m_settings_byte(0), - m_latch_byte(0) +dfac_device::dfac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, APPLE_DFAC, tag, owner, clock), + device_sound_interface(mconfig, *this), + m_stream(nullptr), + m_data(false), + m_clock(false), + m_dfaclatch(false), + m_settings_byte(0), + m_latch_byte(0) { } diff --git a/src/mame/apple/omega.cpp b/src/mame/apple/omega.cpp index cc6f2334ae8..d7e3fdd4236 100644 --- a/src/mame/apple/omega.cpp +++ b/src/mame/apple/omega.cpp @@ -64,17 +64,17 @@ DEFINE_DEVICE_TYPE(APPLE_OMEGA, omega_device, "aplomega", "Apple Omega PLL Clock Synthesizer") -omega_device::omega_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : device_t(mconfig, APPLE_OMEGA, tag, owner, clock), - m_write_pclock(*this), - m_data(false), - m_clock(false), - m_latch(false), - m_latch_byte(0), - m_N(0), - m_D(0), - m_P(0), - m_bit(0) +omega_device::omega_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, APPLE_OMEGA, tag, owner, clock), + m_write_pclock(*this), + m_data(false), + m_clock(false), + m_latch(false), + m_latch_byte(0), + m_N(0), + m_D(0), + m_P(0), + m_bit(0) { } diff --git a/src/mame/irem/m58.cpp b/src/mame/irem/m58.cpp index 48ce3238f6c..c1046bc347e 100644 --- a/src/mame/irem/m58.cpp +++ b/src/mame/irem/m58.cpp @@ -312,15 +312,13 @@ void m58_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) } m_gfxdecode->gfx(1)->transmask(bitmap, cliprect, - code1 + 256 * bank, color, - flipx, flipy, sx, visarea.min_y + sy1, - m_palette->transpen_mask(*m_gfxdecode->gfx(1), color, 512) - ); + code1 + 256 * bank, color, + flipx, flipy, sx, visarea.min_y + sy1, + m_palette->transpen_mask(*m_gfxdecode->gfx(1), color, 512)); m_gfxdecode->gfx(1)->transmask(bitmap, cliprect, - code2 + 256 * bank, color, - flipx, flipy, sx, visarea.min_y + sy2, - m_palette->transpen_mask(*m_gfxdecode->gfx(1), color, 512) - ); + code2 + 256 * bank, color, + flipx, flipy, sx, visarea.min_y + sy2, + m_palette->transpen_mask(*m_gfxdecode->gfx(1), color, 512)); } } diff --git a/src/mame/misc/chance32.cpp b/src/mame/misc/chance32.cpp index 80e9fee5702..4857c235156 100644 --- a/src/mame/misc/chance32.cpp +++ b/src/mame/misc/chance32.cpp @@ -24,6 +24,7 @@ TODO: **************************************************************************************************/ #include "emu.h" + #include "cpu/z80/z80.h" #include "sound/okim6295.h" #include "video/mc6845.h" @@ -45,8 +46,9 @@ public: , m_maincpu(*this, "maincpu") , m_vram(*this, "vram%u", 0U) , m_gfxdecode(*this, "gfxdecode") + , m_key_matrix(*this, "IN%u", 0U) , m_lamps(*this, "lamp%u", 0U) - { } + { } void chance32(machine_config &config); @@ -79,6 +81,7 @@ private: required_shared_ptr_array m_vram; required_device m_gfxdecode; + required_ioport_array<4> m_key_matrix; output_finder<13> m_lamps; }; @@ -86,13 +89,12 @@ private: template TILE_GET_INFO_MEMBER(chance32_state::get_tile_info) { const u16 code = (m_vram[N][tile_index * 2 + 1] << 8) | m_vram[N][tile_index * 2]; - const u8 flip = (~code >> 12) & 1; + const u8 flip = BIT(~code, 12); tileinfo.set( - N, - code & 0x0fff, - code >> 13, - TILE_FLIPYX(flip << 1 | flip) - ); + N, + code & 0x0fff, + code >> 13, + TILE_FLIPYX(flip << 1 | flip)); } void chance32_state::video_start() @@ -123,14 +125,11 @@ void chance32_state::key_matrix_w(uint8_t data) uint8_t chance32_state::key_matrix_r() { - uint8_t res,i; - const char *const portnames[4] = { "IN0", "IN1", "IN2", "IN3" }; - res = 0; - - for(i = 0; i < 4; i++) + uint8_t res = 0; + for (unsigned i = 0; i < 4; i++) { - if(BIT(m_port_select, i)) - res |= ioport(portnames[i])->read(); + if (BIT(m_port_select, i)) + res |= m_key_matrix[i]->read(); } return res; @@ -203,8 +202,8 @@ void chance32_state::main_map(address_map &map) map(0x0000, 0xcfff).rom(); map(0xd800, 0xdfff).ram(); map(0xe000, 0xefff).ram().w("palette", FUNC(palette_device::write8)).share("palette"); - map(0xf000, 0xf7ff).ram().w(FUNC(chance32_state::vram_w<1>)).share("vram1"); - map(0xf800, 0xffff).ram().w(FUNC(chance32_state::vram_w<0>)).share("vram0"); + map(0xf000, 0xf7ff).ram().w(FUNC(chance32_state::vram_w<1>)).share(m_vram[1]); + map(0xf800, 0xffff).ram().w(FUNC(chance32_state::vram_w<0>)).share(m_vram[0]); } void chance32_state::main_io(address_map &map) diff --git a/src/mame/philips/mcd212.cpp b/src/mame/philips/mcd212.cpp index edebc8145bb..686a0aaf1ee 100644 --- a/src/mame/philips/mcd212.cpp +++ b/src/mame/philips/mcd212.cpp @@ -54,7 +54,7 @@ inline ATTR_FORCE_INLINE uint8_t mcd212_device::get_region_op(const uint32_t reg void mcd212_device::update_region_arrays() { - bool latched_rf[2] { false, false }; + bool latched_rf[2]{ false, false }; uint8_t latched_wfa = m_weight_factor[0][0]; uint8_t latched_wfb = m_weight_factor[1][0]; const int width = get_screen_width(); @@ -441,45 +441,45 @@ void mcd212_device::process_ica() { case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: // STOP case 0x08: case 0x09: case 0x0a: case 0x0b: case 0x0c: case 0x0d: case 0x0e: case 0x0f: - LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: STOP\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path ); + LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: STOP\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path); return; case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: // NOP case 0x18: case 0x19: case 0x1a: case 0x1b: case 0x1c: case 0x1d: case 0x1e: case 0x1f: - LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: NOP\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path ); + LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: NOP\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path); break; case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: // RELOAD DCP case 0x28: case 0x29: case 0x2a: case 0x2b: case 0x2c: case 0x2d: case 0x2e: case 0x2f: - LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: RELOAD DCP: %06x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd & 0x001fffff ); + LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: RELOAD DCP: %06x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd & 0x001fffff); set_dcp(cmd & 0x003ffffc); break; case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37: // RELOAD DCP and STOP case 0x38: case 0x39: case 0x3a: case 0x3b: case 0x3c: case 0x3d: case 0x3e: case 0x3f: - LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: RELOAD DCP and STOP: %06x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd & 0x001fffff ); + LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: RELOAD DCP and STOP: %06x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd & 0x001fffff); set_dcp(cmd & 0x003ffffc); return; case 0x40: case 0x41: case 0x42: case 0x43: case 0x44: case 0x45: case 0x46: case 0x47: // RELOAD VSR (ICA) case 0x48: case 0x49: case 0x4a: case 0x4b: case 0x4c: case 0x4d: case 0x4e: case 0x4f: - LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: RELOAD VSR: %06x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd & 0x001fffff ); + LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: RELOAD VSR: %06x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd & 0x001fffff); addr = (cmd & 0x0007ffff) / 2; break; case 0x50: case 0x51: case 0x52: case 0x53: case 0x54: case 0x55: case 0x56: case 0x57: // RELOAD VSR and STOP case 0x58: case 0x59: case 0x5a: case 0x5b: case 0x5c: case 0x5d: case 0x5e: case 0x5f: - LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: RELOAD VSR and STOP: VSR = %05x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd & 0x001fffff ); + LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: RELOAD VSR and STOP: VSR = %05x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd & 0x001fffff); set_vsr(cmd & 0x003fffff); return; case 0x60: case 0x61: case 0x62: case 0x63: case 0x64: case 0x65: case 0x66: case 0x67: // INTERRUPT case 0x68: case 0x69: case 0x6a: case 0x6b: case 0x6c: case 0x6d: case 0x6e: case 0x6f: - LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: INTERRUPT\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path ); + LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: INTERRUPT\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path); m_csrr[1] |= 1 << (2 - Path); if (m_csrr[1] & (CSR2R_IT1 | CSR2R_IT2)) m_int_callback(ASSERT_LINE); break; case 0x78: case 0x79: case 0x7a: case 0x7b: case 0x7c: case 0x7d: case 0x7e: case 0x7f: // RELOAD DISPLAY PARAMETERS - LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: RELOAD DISPLAY PARAMETERS\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path ); + LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: RELOAD DISPLAY PARAMETERS\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path); set_display_parameters(cmd & 0x1f); break; default: - LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: SET REGISTER %02x = %06x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd >> 24, cmd & 0x00ffffff ); + LOGMASKED(LOG_ICA, "%08x: %08x: ICA %d: SET REGISTER %02x = %06x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd >> 24, cmd & 0x00ffffff); set_register(cmd >> 24, cmd & 0x00ffffff); break; } @@ -497,7 +497,7 @@ void mcd212_device::process_dca() bool addr_changed = false; bool processing = true; - LOGMASKED(LOG_DCA, "Scanline %d: Processing DCA %d\n", screen().vpos(), Path ); + LOGMASKED(LOG_DCA, "Scanline %d: Processing DCA %d\n", screen().vpos(), Path); while (processing && count < max) { @@ -508,43 +508,43 @@ void mcd212_device::process_dca() { case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: // STOP case 0x08: case 0x09: case 0x0a: case 0x0b: case 0x0c: case 0x0d: case 0x0e: case 0x0f: - LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: STOP\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path ); + LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: STOP\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path); processing = false; break; case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: // NOP case 0x18: case 0x19: case 0x1a: case 0x1b: case 0x1c: case 0x1d: case 0x1e: case 0x1f: - LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: NOP\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path ); + LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: NOP\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path); break; case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: // RELOAD DCP case 0x28: case 0x29: case 0x2a: case 0x2b: case 0x2c: case 0x2d: case 0x2e: case 0x2f: - LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: RELOAD DCP (NOP)\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path ); + LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: RELOAD DCP (NOP)\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path); break; case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37: // RELOAD DCP and STOP case 0x38: case 0x39: case 0x3a: case 0x3b: case 0x3c: case 0x3d: case 0x3e: case 0x3f: - LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: RELOAD DCP and STOP\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path ); + LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: RELOAD DCP and STOP\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path); set_dcp(cmd & 0x003ffffc); m_dca[Path] = cmd & 0x0007fffc; return; case 0x40: case 0x41: case 0x42: case 0x43: case 0x44: case 0x45: case 0x46: case 0x47: // RELOAD VSR case 0x48: case 0x49: case 0x4a: case 0x4b: case 0x4c: case 0x4d: case 0x4e: case 0x4f: - LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: RELOAD VSR: %06x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd & 0x001fffff ); + LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: RELOAD VSR: %06x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd & 0x001fffff); set_vsr(cmd & 0x003fffff); break; case 0x50: case 0x51: case 0x52: case 0x53: case 0x54: case 0x55: case 0x56: case 0x57: // RELOAD VSR and STOP case 0x58: case 0x59: case 0x5a: case 0x5b: case 0x5c: case 0x5d: case 0x5e: case 0x5f: - LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: RELOAD VSR and STOP: %06x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd & 0x001fffff ); + LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: RELOAD VSR and STOP: %06x\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path, cmd & 0x001fffff); set_vsr(cmd & 0x003fffff); processing = false; break; case 0x60: case 0x61: case 0x62: case 0x63: case 0x64: case 0x65: case 0x66: case 0x67: // INTERRUPT case 0x68: case 0x69: case 0x6a: case 0x6b: case 0x6c: case 0x6d: case 0x6e: case 0x6f: - LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: INTERRUPT\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path ); + LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: INTERRUPT\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path); m_csrr[1] |= 1 << (2 - Path); if (m_csrr[1] & (CSR2R_IT1 | CSR2R_IT2)) m_int_callback(ASSERT_LINE); break; case 0x78: case 0x79: case 0x7a: case 0x7b: case 0x7c: case 0x7d: case 0x7e: case 0x7f: // RELOAD DISPLAY PARAMETERS - LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: RELOAD DISPLAY PARAMETERS\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path ); + LOGMASKED(LOG_DCA, "%08x: %08x: DCA %d: RELOAD DISPLAY PARAMETERS\n", (addr - 2) * 2 + Path * 0x200000, cmd, Path); set_display_parameters(cmd & 0x1f); break; default: @@ -635,9 +635,9 @@ int mcd212_device::get_plane_width() } template -void mcd212_device::process_vsr(uint32_t* pixels, bool* transparent) +void mcd212_device::process_vsr(uint32_t *pixels, bool *transparent) { - const uint8_t* data = reinterpret_cast(Path ? m_planeb.target() : m_planea.target()); + const uint8_t *data = reinterpret_cast(Path ? m_planeb.target() : m_planea.target()); const uint8_t icm = get_icm(); const uint8_t transp_ctrl = get_transparency_control(); const int width = get_screen_width(); @@ -658,8 +658,8 @@ void mcd212_device::process_vsr(uint32_t* pixels, bool* transparent) const uint32_t dyuv_abs_start = m_dyuv_abs_start[Path]; uint8_t y = (dyuv_abs_start >> 16) & 0x000000ff; - uint8_t u = (dyuv_abs_start >> 8) & 0x000000ff; - uint8_t v = (dyuv_abs_start >> 0) & 0x000000ff; + uint8_t u = (dyuv_abs_start >> 8) & 0x000000ff; + uint8_t v = (dyuv_abs_start >> 0) & 0x000000ff; const uint32_t mask_bits = (~m_mask_color[Path]) & 0x00fcfcfc; const uint32_t transp_match = m_transparent_color[Path] & mask_bits; @@ -667,7 +667,7 @@ void mcd212_device::process_vsr(uint32_t* pixels, bool* transparent) const bool transp_always = (transp_ctrl_masked == TCR_COND_1); const bool invert_transp_condition = BIT(transp_ctrl, 3); const int region_flag_index = 1 - (transp_ctrl_masked & 1); - const bool* region_flags = m_region_flag[region_flag_index]; + const bool *region_flags = m_region_flag[region_flag_index]; const bool use_region_flag = (transp_ctrl_masked >= TCR_COND_RF0_1 && transp_ctrl_masked <= TCR_COND_RF1KEY_1); bool use_color_key = (transp_ctrl_masked == TCR_COND_KEY_1 || transp_ctrl_masked == TCR_COND_RF0KEY_1 || transp_ctrl_masked == TCR_COND_RF1KEY_1); @@ -689,7 +689,7 @@ void mcd212_device::process_vsr(uint32_t* pixels, bool* transparent) const uint8_t u2 = (u >> 1) + (u4 >> 1) + (u & u4 & 1); const uint8_t v2 = (v >> 1) + (v4 >> 1) + (v & v4 & 1); - uint32_t* limit_rgb = m_dyuv_limit_lut + y2 + 0x100; + uint32_t *limit_rgb = m_dyuv_limit_lut + y2 + 0x100; color0 = (limit_rgb[m_dyuv_v_to_r[v2]] << 16) | (limit_rgb[m_dyuv_u_to_g[u2] + m_dyuv_v_to_g[v2]] << 8) | limit_rgb[m_dyuv_u_to_b[u2]]; limit_rgb = m_dyuv_limit_lut + y4 + 0x100; color1 = (limit_rgb[m_dyuv_v_to_r[v4]] << 16) | (limit_rgb[m_dyuv_u_to_g[u4] + m_dyuv_v_to_g[v4]] << 8) | limit_rgb[m_dyuv_u_to_b[u4]]; @@ -707,36 +707,39 @@ void mcd212_device::process_vsr(uint32_t* pixels, bool* transparent) transparent[x + 2] = (transp_always || (use_region_flag && region_flags[x + 2])) != invert_transp_condition; transparent[x + 3] = (transp_always || (use_region_flag && region_flags[x + 3])) != invert_transp_condition; x += 4; - continue; } - else if (icm == ICM_CLUT4) + else { - const uint8_t mask = (decodingMode == DDR_FT_RLE) ? 0x7 : 0xf; - color0 = m_clut[BYTE_TO_CLUT(icm, mask & (byte >> 4))]; - color1 = m_clut[BYTE_TO_CLUT(icm, mask & byte)]; - } - else { - color1 = color0 = m_clut[BYTE_TO_CLUT(icm, byte)]; - } + if (icm == ICM_CLUT4) + { + const uint8_t mask = (decodingMode == DDR_FT_RLE) ? 0x7 : 0xf; + color0 = m_clut[BYTE_TO_CLUT(icm, mask & (byte >> 4))]; + color1 = m_clut[BYTE_TO_CLUT(icm, mask & byte)]; + } + else + { + color1 = color0 = m_clut[BYTE_TO_CLUT(icm, byte)]; + } - int m_length = mosaic_enable ? mosaic_factor * 2 : 2; - if (decodingMode == DDR_FT_RLE) - { - const uint16_t length = (byte & 0x80) ? data[((vsr++) & 0x0007ffff) ^ 1] : 1; - m_length = length ? length * 2 : width; - } + int length_m = mosaic_enable ? (mosaic_factor * 2) : 2; + if (decodingMode == DDR_FT_RLE) + { + const uint16_t length = (byte & 0x80) ? data[((vsr++) & 0x0007ffff) ^ 1] : 1; + length_m = length ? (length * 2) : width; + } - const bool color_match0 = (mask_bits & color0) == transp_match; - const bool color_match1 = (mask_bits & color1) == transp_match; - const int end = std::min(width, (int)x + m_length); - for (int rl_index = x; rl_index < end; rl_index += 2) - { - pixels[rl_index] = color0; - transparent[rl_index] = (transp_always || (use_color_key && color_match0) || (use_region_flag && region_flags[rl_index])) != invert_transp_condition; - pixels[rl_index + 1] = color1; - transparent[rl_index + 1] = (transp_always || (use_color_key && color_match1) || (use_region_flag && region_flags[rl_index + 1])) != invert_transp_condition; + const bool color_match0 = (mask_bits & color0) == transp_match; + const bool color_match1 = (mask_bits & color1) == transp_match; + const int end = std::min(width, x + length_m); + for (int rl_index = x; rl_index < end; rl_index += 2) + { + pixels[rl_index] = color0; + transparent[rl_index] = (transp_always || (use_color_key && color_match0) || (use_region_flag && region_flags[rl_index])) != invert_transp_condition; + pixels[rl_index + 1] = color1; + transparent[rl_index + 1] = (transp_always || (use_color_key && color_match1) || (use_region_flag && region_flags[rl_index + 1])) != invert_transp_condition; + } + x = end; } - x = end; } set_vsr(vsr); } @@ -1199,7 +1202,7 @@ int mcd212_device::ram_dtack_cycle_count() return 2; // System access is restricted to the last 5 out of every 16 CLKs. - const int slot_cycle = (int)(machine().time().as_ticks(clock()) & 0xf); + const int slot_cycle = int(machine().time().as_ticks(clock()) & 0xf); if (slot_cycle >= 11) return 2; diff --git a/src/mame/taito/taitotz.cpp b/src/mame/taito/taitotz.cpp index 4cec9e9b8bc..cf8794ca1dd 100644 --- a/src/mame/taito/taitotz.cpp +++ b/src/mame/taito/taitotz.cpp @@ -180,22 +180,22 @@ Notes: #include "video/poly.h" #include "screen.h" -#define LOG_PPC_TO_TLCS_COMMANDS (1U << 1) -#define LOG_TLCS_TO_PPC_COMMANDS (1U << 2) -#define LOG_VIDEO_REG_1_RD (1U << 3) -#define LOG_VIDEO_REG_2_RD (1U << 4) -#define LOG_VIDEO_REG_UNK_RD (1U << 5) -#define LOG_VIDEO_REG_1_WR (1U << 6) -#define LOG_VIDEO_REG_2_WR (1U << 7) -#define LOG_VIDEO_REG_UNK_WR (1U << 8) -#define LOG_VIDEO_CHIP_UNK_RD (1U << 9) -#define LOG_VIDEO_CHIP_UNK_WR (1U << 10) -#define LOG_DIRECT_FIFO (1U << 11) -#define LOG_TNL_FIFO (1U << 12) -#define LOG_RTC_UNK_RD (1U << 13) -#define LOG_RTC_UNK_WR (1U << 14) -#define LOG_VIDEO_MEM_UNK_RD (1U << 15) -#define LOG_VIDEO_MEM_UNK_WR (1U << 16) +#define LOG_PPC_TO_TLCS_COMMANDS (1U << 1) +#define LOG_TLCS_TO_PPC_COMMANDS (1U << 2) +#define LOG_VIDEO_REG_1_RD (1U << 3) +#define LOG_VIDEO_REG_2_RD (1U << 4) +#define LOG_VIDEO_REG_UNK_RD (1U << 5) +#define LOG_VIDEO_REG_1_WR (1U << 6) +#define LOG_VIDEO_REG_2_WR (1U << 7) +#define LOG_VIDEO_REG_UNK_WR (1U << 8) +#define LOG_VIDEO_CHIP_UNK_RD (1U << 9) +#define LOG_VIDEO_CHIP_UNK_WR (1U << 10) +#define LOG_DIRECT_FIFO (1U << 11) +#define LOG_TNL_FIFO (1U << 12) +#define LOG_RTC_UNK_RD (1U << 13) +#define LOG_RTC_UNK_WR (1U << 14) +#define LOG_VIDEO_MEM_UNK_RD (1U << 15) +#define LOG_VIDEO_MEM_UNK_WR (1U << 16) #define VERBOSE (0) @@ -561,19 +561,19 @@ public: { } - void taitotz(machine_config &config); - void landhigh(machine_config &config); - - void init_batlgr2a(); - void init_batlgr2(); - void init_pwrshovl(); - void init_batlgear(); - void init_dendego3(); - void init_landhigh(); - void init_landhigha(); - void init_raizpin(); - void init_raizpinj(); - void init_styphp(); + void taitotz(machine_config &config) ATTR_COLD; + void landhigh(machine_config &config) ATTR_COLD; + + void init_batlgr2a() ATTR_COLD; + void init_batlgr2() ATTR_COLD; + void init_pwrshovl() ATTR_COLD; + void init_batlgear() ATTR_COLD; + void init_dendego3() ATTR_COLD; + void init_landhigh() ATTR_COLD; + void init_landhigha() ATTR_COLD; + void init_raizpin() ATTR_COLD; + void init_raizpinj() ATTR_COLD; + void init_styphp() ATTR_COLD; required_device m_screen; -- cgit v1.2.3