diff options
| -rw-r--r-- | docs/source/conf.py | 4 | ||||
| -rw-r--r-- | docs/source/luascript/ref-input.rst | 15 | ||||
| -rw-r--r-- | src/devices/cpu/drcbex64.cpp | 53 | ||||
| -rw-r--r-- | src/devices/cpu/mb86235/mb86235ops.cpp | 4 | ||||
| -rw-r--r-- | src/lib/formats/ap2_dsk.cpp | 241 | ||||
| -rw-r--r-- | src/lib/formats/ap2_dsk.h | 23 | ||||
| -rw-r--r-- | src/mame/technos/shadfrce.cpp | 8 |
7 files changed, 186 insertions, 162 deletions
diff --git a/docs/source/conf.py b/docs/source/conf.py index 850c90c3d9c..df4aeedb268 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -63,9 +63,9 @@ copyright = u'1997-2025, MAMEdev and contributors' # built documents. # # The short X.Y version. -version = '0.281' +version = '0.282' # The full version, including alpha/beta/rc tags. -release = '0.281' +release = '0.282' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/source/luascript/ref-input.rst b/docs/source/luascript/ref-input.rst index 96d31fca6c1..0130f500e58 100644 --- a/docs/source/luascript/ref-input.rst +++ b/docs/source/luascript/ref-input.rst @@ -351,15 +351,14 @@ field.default_centerdelta (read-only) default values after associated digital increment/decrement inputs are released, or ``nil`` for digital fields and wrapping analog fields. field.analog_reverse (read-only) - A Boolean indicating whether the field corresponds to an analog control that - increases in the opposite direction to the convention (e.g. larger values - when a pedal is released or a joystick is moved to the left), or ``nil`` for - digital fields. + A Boolean indicating whether the value increases in the opposite direction + to the convention for analog fields (e.g. larger values when a pedal is + released or a joystick is moved to the left), or ``nil`` for digital fields. field.default_analog_reverse (read-only) - A Boolean indicating whether the field corresponds to an analog control that - increases in the opposite direction to the convention by default (e.g. - larger values when a pedal is released or a joystick is moved to the left), - or ``nil`` for digital fields. + A Boolean indicating whether the value increases in the opposite direction + to the convention by default for analog fields (e.g. larger values when a + pedal is released or a joystick is moved to the left), or ``nil`` for + digital fields. field.way (read-only) The number of directions allowed by the restrictor plate/gate for a digital joystick, or zero (0) for other inputs. diff --git a/src/devices/cpu/drcbex64.cpp b/src/devices/cpu/drcbex64.cpp index 427b4d6a736..397f743453b 100644 --- a/src/devices/cpu/drcbex64.cpp +++ b/src/devices/cpu/drcbex64.cpp @@ -2408,13 +2408,13 @@ void drcbe_x64::op_getflgs(Assembler &a, const instruction &inst) case FLAG_Z: a.setz(al); a.movzx(eax, al); - a.lea(dstreg, ptr(0, rax, 2)); + a.lea(dstreg, ptr(0, rax, FLAG_BIT_Z)); break; case FLAG_S: a.sets(al); a.movzx(eax, al); - a.lea(dstreg, ptr(0, rax, 3)); + a.lea(dstreg, ptr(0, rax, FLAG_BIT_S)); break; case FLAG_U: @@ -2430,7 +2430,7 @@ void drcbe_x64::op_getflgs(Assembler &a, const instruction &inst) a.seto(cl); a.movzx(eax, al); a.movzx(ecx, cl); - a.lea(dstreg, ptr(eax, ecx, 1)); + a.lea(dstreg, ptr(eax, ecx, FLAG_BIT_V - FLAG_BIT_C)); break; case FLAG_C | FLAG_Z: @@ -2438,7 +2438,7 @@ void drcbe_x64::op_getflgs(Assembler &a, const instruction &inst) a.setz(cl); a.movzx(eax, al); a.movzx(ecx, cl); - a.lea(dstreg, ptr(eax, ecx, 2)); + a.lea(dstreg, ptr(eax, ecx, FLAG_BIT_Z - FLAG_BIT_C)); break; case FLAG_C | FLAG_S: @@ -2446,6 +2446,15 @@ void drcbe_x64::op_getflgs(Assembler &a, const instruction &inst) a.sets(cl); a.movzx(eax, al); a.movzx(ecx, cl); + a.lea(dstreg, ptr(eax, ecx, FLAG_BIT_S - FLAG_BIT_C)); + break; + + case FLAG_C | FLAG_U: + a.setp(cl); + a.setc(al); + a.movzx(ecx, cl); + a.movzx(eax, al); + a.lea(ecx, ptr(ecx, ecx)); a.lea(dstreg, ptr(eax, ecx, 3)); break; @@ -2455,7 +2464,7 @@ void drcbe_x64::op_getflgs(Assembler &a, const instruction &inst) a.setz(cl); a.movzx(eax, al); a.movzx(ecx, cl); - a.lea(dstreg, ptr(eax, ecx, 1)); + a.lea(dstreg, ptr(eax, ecx, FLAG_BIT_Z - FLAG_BIT_V)); a.lea(dstreg, ptr(dstreg, dstreg)); break; @@ -2464,7 +2473,16 @@ void drcbe_x64::op_getflgs(Assembler &a, const instruction &inst) a.sets(cl); a.movzx(eax, al); a.movzx(ecx, cl); - a.lea(dstreg, ptr(eax, ecx, 2)); + a.lea(dstreg, ptr(eax, ecx, FLAG_BIT_S - FLAG_BIT_V)); + a.lea(dstreg, ptr(dstreg, dstreg)); + break; + + case FLAG_V | FLAG_U: + a.seto(al); + a.setp(cl); + a.movzx(eax, al); + a.movzx(ecx, cl); + a.lea(dstreg, ptr(eax, ecx, FLAG_BIT_U - FLAG_BIT_V)); a.lea(dstreg, ptr(dstreg, dstreg)); break; @@ -2474,8 +2492,27 @@ void drcbe_x64::op_getflgs(Assembler &a, const instruction &inst) a.sets(cl); a.movzx(eax, al); a.movzx(ecx, cl); - a.lea(dstreg, ptr(eax, ecx, 1)); - a.lea(dstreg, ptr(0, dstreg, 2)); + a.lea(dstreg, ptr(eax, ecx, FLAG_BIT_S - FLAG_BIT_Z)); + a.lea(dstreg, ptr(0, dstreg, FLAG_BIT_Z)); + break; + + case FLAG_Z | FLAG_U: + a.setz(al); + a.setp(cl); + a.movzx(eax, al); + a.movzx(ecx, cl); + a.lea(dstreg, ptr(eax, ecx, FLAG_BIT_U - FLAG_BIT_Z)); + a.lea(dstreg, ptr(0, dstreg, FLAG_BIT_Z)); + break; + + // sign plus another flag + case FLAG_S | FLAG_U: + a.sets(al); + a.setp(cl); + a.movzx(eax, al); + a.movzx(ecx, cl); + a.lea(dstreg, ptr(eax, ecx, FLAG_BIT_U - FLAG_BIT_S)); + a.lea(dstreg, ptr(0, dstreg, FLAG_BIT_S)); break; // default cases diff --git a/src/devices/cpu/mb86235/mb86235ops.cpp b/src/devices/cpu/mb86235/mb86235ops.cpp index 16e3b08b5c0..aad3787d631 100644 --- a/src/devices/cpu/mb86235/mb86235ops.cpp +++ b/src/devices/cpu/mb86235/mb86235ops.cpp @@ -41,8 +41,8 @@ #define F1 0x20000000 #define F2 0x40000000 -#define FSET(f) m_core->st |= (f) -#define FCLR(f) m_core->st &= ~(f) +#define FSET(f) do { m_core->st |= (f); } while (false) +#define FCLR(f) do { m_core->st &= ~(f); } while (false) void mb86235_device::handle_single_step_execution() { diff --git a/src/lib/formats/ap2_dsk.cpp b/src/lib/formats/ap2_dsk.cpp index 487ba42f20f..aff7dae8480 100644 --- a/src/lib/formats/ap2_dsk.cpp +++ b/src/lib/formats/ap2_dsk.cpp @@ -18,6 +18,39 @@ #include <cstdlib> #include <cstring> + +class a2_sect_format::byte_reader +{ +public: + byte_reader(const byte_reader &) = default; + byte_reader& operator=(const byte_reader &) = default; + + byte_reader(const std::vector<bool> &b) : buf(&b) { } + + uint8_t operator()() + { + uint8_t v = 0; + const int w1 = wrap; + while((wrap != w1+2) && !(v & 0x80)) { + v = (v << 1) | ((*buf)[pos] ? 1 : 0); + pos++; + if(pos == buf->size()) { + pos = 0; + wrap++; + } + } + return v; + } + + bool wrapped() const { return wrap != 0; } + +private: + const std::vector<bool> *buf; + int pos = 0; + int wrap = 0; +}; + + a2_sect_format::a2_sect_format(int nsect) : m_nsect(nsect) { assert(nsect <= APPLE2_MAX_SECTOR_COUNT); @@ -72,7 +105,7 @@ bool a2_sect_format::save(util::random_read_write &io, const std::vector<uint32_ if(VERBOSE_SAVE) { fprintf(stderr,"done.\n"); } - byte_reader br{&buf}; + byte_reader br(buf); int hb = 0; int dosver = 0; // apple dos version; 0 = >=3.3, 1 = <3.3 for(;;) { @@ -105,7 +138,7 @@ bool a2_sect_format::save(util::random_read_write &io, const std::vector<uint32_ if(VERBOSE_SAVE) { uint32_t post = get_u24be(&h[8]); printf("Address Mark:\tVolume %d, Track %d, Sector %2d, Checksum %02X: %s, Postamble %03X: %s\n", - vl, tr, se, chk, (chk ^ vl ^ tr ^ se)==0?"OK":"BAD", post, (post&0xFFFF00)==0xDEAA00?"OK":"BAD"); + vl, tr, se, chk, (chk ^ vl ^ tr ^ se)==0?"OK":"BAD", post, (post&0xffff00)==0xdeaa00?"OK":"BAD"); } // sanity check if (tr == track && se < m_nsect) { @@ -114,7 +147,7 @@ bool a2_sect_format::save(util::random_read_write &io, const std::vector<uint32_ gridcell |= ((chk ^ vl ^ tr ^ se)==0)?ADDRGOOD:0; if (gridcell & (LENIENT_ADDR_CHECK ? ADDRFOUND : ADDRGOOD)) { - byte_reader orig_br = br; + byte_reader orig_br(br); hb = 0; for(int i=0; i<20 && hb != 4; i++) { @@ -145,7 +178,7 @@ bool a2_sect_format::save(util::random_read_write &io, const std::vector<uint32_ dpost <<= 8; dpost |= br(); } - bool dpost_good = (dpost & 0xFFFF00) == 0xDEAA00; + bool dpost_good = (dpost & 0xffff00) == 0xdeaa00; uint8_t *dest = sectdata + APPLE2_SECTOR_SIZE * logical_sector_index(se); @@ -189,7 +222,7 @@ bool a2_sect_format::save(util::random_read_write &io, const std::vector<uint32_ } hb = 0; } - if(br.wrap) + if(br.wrapped()) break; } for(int i = 0; i < m_nsect; i++) { @@ -313,10 +346,12 @@ bool a2_13sect_format::load(util::random_read &io, uint32_t form_factor, const s raw_w(track_data, 24, 0xd5aaad); uint8_t pval = 0x00; - auto write_data_byte = [&track_data, &pval](uint8_t nval) { - raw_w(track_data, 8, translate5[nval ^ pval]); - pval = nval; - }; + auto write_data_byte = + [&track_data, &pval] (uint8_t nval) + { + raw_w(track_data, 8, translate5[nval ^ pval]); + pval = nval; + }; const uint8_t *sdata = sector_data + APPLE2_SECTOR_SIZE * sector; @@ -377,9 +412,8 @@ int a2_13sect_format::logical_sector_index(int physical) const { } void a2_13sect_format::decode_sector_data( - byte_reader &br, uint8_t (&decoded_buf)[APPLE2_SECTOR_SIZE], - uint8_t &dchk_expected, uint8_t &dchk_actual -) const + byte_reader &br, uint8_t (&decoded_buf)[APPLE2_SECTOR_SIZE], + uint8_t &dchk_expected, uint8_t &dchk_actual) const { uint8_t low_bits[154]; @@ -414,14 +448,14 @@ const a2_13sect_format FLOPPY_A213S_FORMAT; static const uint8_t dos_skewing[] = { - 0x00, 0x07, 0x0E, 0x06, 0x0D, 0x05, 0x0C, 0x04, - 0x0B, 0x03, 0x0A, 0x02, 0x09, 0x01, 0x08, 0x0F + 0x00, 0x07, 0x0e, 0x06, 0x0d, 0x05, 0x0c, 0x04, + 0x0b, 0x03, 0x0a, 0x02, 0x09, 0x01, 0x08, 0x0f }; static const uint8_t prodos_skewing[] = { - 0x00, 0x08, 0x01, 0x09, 0x02, 0x0A, 0x03, 0x0B, - 0x04, 0x0C, 0x05, 0x0D, 0x06, 0x0E, 0x07, 0x0F + 0x00, 0x08, 0x01, 0x09, 0x02, 0x0a, 0x03, 0x0b, + 0x04, 0x0c, 0x05, 0x0d, 0x06, 0x0e, 0x07, 0x0f }; @@ -474,12 +508,9 @@ int a2_16sect_format::identify(util::random_read &io, uint32_t form_factor, cons return 0; // check standard size plus some oddball sizes in our softlist - if ( - size != APPLE2_TRACK_COUNT * SECTOR_COUNT * APPLE2_SECTOR_SIZE + if (size != APPLE2_TRACK_COUNT * SECTOR_COUNT * APPLE2_SECTOR_SIZE && size != APPLE2_STD_TRACK_COUNT * SECTOR_COUNT * APPLE2_SECTOR_SIZE - && size != 143403 && size != 143363 && size != 143358 && size != 143195 - ) - { + && size != 143403 && size != 143363 && size != 143358 && size != 143195) { return 0; } @@ -497,55 +528,43 @@ int a2_16sect_format::identify(util::random_read &io, uint32_t form_factor, cons return 0; bool prodos_order = false; - // check ProDOS boot block - if (!memcmp("PRODOS", §or_data[0x103], 6)) - { + if (!memcmp("PRODOS", §or_data[0x103], 6)) { + // ProDOS boot block prodos_order = true; - } // check for alternate version ProDOS boot block - if (!memcmp("PRODOS", §or_data[0x121], 6)) - { + } else if (!memcmp("PRODOS", §or_data[0x121], 6)) { + // alternate version ProDOS boot block prodos_order = true; - } // check for ProDOS order SOS disk - else if (!memcmp(sos_block1, §or_data[0x100], 4)) - { + } else if (!memcmp(sos_block1, §or_data[0x100], 4)) { + // ProDOS order SOS disk prodos_order = true; - } // check for Apple III A2 emulator disk in ProDOS order - else if (!memcmp(a3a2emul_block1, §or_data[0x100], 6)) - { + } else if (!memcmp(a3a2emul_block1, §or_data[0x100], 6)) { + // Apple III A2 emulator disk in ProDOS order prodos_order = true; - } // check for PCPI Applicard software in ProDOS order - else if (!memcmp("COPYRIGHT (C) 1979, DIGITAL RESEARCH", §or_data[0x118], 36)) - { + } else if (!memcmp("COPYRIGHT (C) 1979, DIGITAL RESEARCH", §or_data[0x118], 36)) { + // PCPI Applicard software in ProDOS order prodos_order = true; - } // check Apple II Pascal - else if (!memcmp("SYSTEM.APPLE", §or_data[0xd7], 12)) - { + } else if (!memcmp("SYSTEM.APPLE", §or_data[0xd7], 12)) { + // Apple II Pascal // Pascal discs can still be DOS order. // Check for the second half of the boot code at 0x100 // (which means ProDOS order) - if (!memcmp(pascal_block1, §or_data[0x100], 4)) - { + if (!memcmp(pascal_block1, §or_data[0x100], 4)) { prodos_order = true; } - } // check for DOS 3.3 disks in ProDOS order - else if (!memcmp(dos33_block1, §or_data[0x100], 4)) - { + } else if (!memcmp(dos33_block1, §or_data[0x100], 4)) { + // DOS 3.3 disks in ProDOS order prodos_order = true; - } // check for a later version of the Pascal boot block - else if (!memcmp(pascal2_block1, §or_data[0x100], 4)) - { + } else if (!memcmp(pascal2_block1, §or_data[0x100], 4)) { + // a later version of the Pascal boot block prodos_order = true; - } // check for CP/M disks in ProDOS order - else if (!memcmp(cpm22_block1, §or_data[0x100], 8)) - { + } else if (!memcmp(cpm22_block1, §or_data[0x100], 8)) { + // CP/M disks in ProDOS order prodos_order = true; - } // check for subnodule disk - else if (!memcmp(subnod_block1, §or_data[0x100], 8)) - { + } else if (!memcmp(subnod_block1, §or_data[0x100], 8)) { + // subnodule disk prodos_order = true; - } // check for ProDOS 2.5's new boot block - else if (!memcmp("PRODOS", §or_data[0x3a], 6)) - { + } else if (!memcmp("PRODOS", §or_data[0x3a], 6)) { + // ProDOS 2.5's new boot block prodos_order = true; } @@ -561,7 +580,7 @@ bool a2_16sect_format::load(util::random_read &io, uint32_t form_factor, const s image.set_form_variant(floppy_image::FF_525, floppy_image::SSSD); int tracks = (size == (APPLE2_TRACK_COUNT * SECTOR_COUNT * APPLE2_SECTOR_SIZE)) - ? APPLE2_TRACK_COUNT : APPLE2_STD_TRACK_COUNT; + ? APPLE2_TRACK_COUNT : APPLE2_STD_TRACK_COUNT; int fpos = 0; for(int track=0; track < tracks; track++) { @@ -580,12 +599,9 @@ bool a2_16sect_format::load(util::random_read &io, uint32_t form_factor, const s for(int i=0; i<SECTOR_COUNT; i++) { int sector; - if (m_prodos_order) - { + if (m_prodos_order) { sector = prodos_skewing[i]; - } - else - { + } else { sector = dos_skewing[i]; } @@ -637,21 +653,6 @@ bool a2_16sect_format::load(util::random_read &io, uint32_t form_factor, const s return true; } -uint8_t a2_16sect_format::byte_reader::operator()() -{ - uint8_t v = 0; - int w1 = wrap; - while(wrap != w1+2 && !(v & 0x80)) { - v = (v << 1) | (*buf)[pos]; - pos++; - if(pos == buf->size()) { - pos = 0; - wrap++; - } - } - return v; -} - bool a2_16sect_format::check_dosver(int dosver) const { if (dosver != 0) { @@ -663,20 +664,16 @@ bool a2_16sect_format::check_dosver(int dosver) const } int a2_16sect_format::logical_sector_index(int physical) const { - if (m_prodos_order) - { + if (m_prodos_order) { return prodos_skewing[physical]; - } - else - { + } else { return dos_skewing[physical]; } } void a2_16sect_format::decode_sector_data( - byte_reader &br, uint8_t (&decoded_buf)[APPLE2_SECTOR_SIZE], - uint8_t &dchk_expected, uint8_t &dchk_actual -) const + byte_reader &br, uint8_t (&decoded_buf)[APPLE2_SECTOR_SIZE], + uint8_t &dchk_expected, uint8_t &dchk_actual) const { uint8_t low_bits[0x56]; @@ -853,21 +850,20 @@ int a2_nib_format::identify(util::random_read &io, uint32_t form_factor, const s } -template<class It> -static -size_t count_leading_FFs(const It first, const It last) +template <typename It> +static size_t count_leading_FFs(const It first, const It last) { auto curr = first; for (; curr != last; ++curr) { - if (*curr != 0xFF) { + if (*curr != 0xff) { break; } } return curr - first; } -static -size_t count_trailing_padding(const std::vector<uint8_t>& nibbles) { +static size_t count_trailing_padding(const std::vector<uint8_t>& nibbles) +{ const auto b = nibbles.rbegin(); const auto e = nibbles.rend(); auto i = b; @@ -884,34 +880,33 @@ size_t count_trailing_padding(const std::vector<uint8_t>& nibbles) { std::vector<uint32_t> a2_nib_format::generate_levels_from_nibbles(const std::vector<uint8_t>& nibbles) { std::vector<uint32_t> levels; - const auto append_FFs = [&] (size_t count) { - while (count-- > 0) { - raw_w(levels, 8, 0xFF); - } - }; - const auto append_syncs = [&] (size_t count) { - while (count-- > 0) { - raw_w(levels, 10, 0x00FF << 2); - } - }; - const auto append_byte = [&] (uint8_t byte) { - raw_w(levels, 8, byte); - }; + const auto append_FFs = + [&levels] (size_t count) + { + while (count-- > 0) { + raw_w(levels, 8, 0xff); + } + }; + const auto append_syncs = + [&levels] (size_t count) + { + while (count-- > 0) { + raw_w(levels, 10, 0x00ff << 2); + } + }; + const auto append_byte = [&levels] (uint8_t byte) { raw_w(levels, 8, byte); }; - const auto leading_FF_count = - count_leading_FFs(nibbles.begin(), nibbles.end()); + const auto leading_FF_count = count_leading_FFs(nibbles.begin(), nibbles.end()); - if (leading_FF_count >= nibbles.size()) { // all are 0xFF !?!? + if (leading_FF_count >= nibbles.size()) { // all are 0xff !?!? assert(leading_FF_count >= min_sync_bytes); append_syncs(leading_FF_count); return levels; } const auto trailing_padding_size = count_trailing_padding(nibbles); - const auto trailing_FF_count = - count_leading_FFs(nibbles.rbegin() + trailing_padding_size, - nibbles.rend()); + const auto trailing_FF_count = count_leading_FFs(nibbles.rbegin() + trailing_padding_size, nibbles.rend()); const auto wrapped_FF_count = leading_FF_count + trailing_FF_count; const bool wrapped_FF_are_syncs = wrapped_FF_count >= min_sync_bytes; @@ -923,18 +918,20 @@ std::vector<uint32_t> a2_nib_format::generate_levels_from_nibbles(const std::vec { size_t FF_count = 0; - const auto flush_FFs = [&] { - if (FF_count == 0) { - return; - } + const auto flush_FFs = + [&append_syncs, &append_FFs, &FF_count] + { + if (FF_count == 0) { + return; + } - if (FF_count >= a2_nib_format::min_sync_bytes) { - append_syncs(FF_count); - } else { - append_FFs(FF_count); - } - FF_count = 0; - }; + if (FF_count >= a2_nib_format::min_sync_bytes) { + append_syncs(FF_count); + } else { + append_FFs(FF_count); + } + FF_count = 0; + }; const auto end = nibbles.end() - trailing_padding_size - trailing_FF_count; for (auto i = nibbles.begin() + leading_FF_count; i != end; ++i) { @@ -943,7 +940,7 @@ std::vector<uint32_t> a2_nib_format::generate_levels_from_nibbles(const std::vec continue; } - if (nibble == 0xFF) { + if (nibble == 0xff) { ++FF_count; continue; } diff --git a/src/lib/formats/ap2_dsk.h b/src/lib/formats/ap2_dsk.h index 8471b390eb5..be530218102 100644 --- a/src/lib/formats/ap2_dsk.h +++ b/src/lib/formats/ap2_dsk.h @@ -37,22 +37,15 @@ public: virtual bool supports_save() const noexcept override; protected: - struct byte_reader { - const std::vector<bool> *buf; - int pos = 0; - int wrap = 0; - - uint8_t operator()(); - }; + class byte_reader; private: const int m_nsect; virtual bool check_dosver(int dosver) const = 0; virtual void decode_sector_data( - byte_reader &br, uint8_t (&decoded_buf)[APPLE2_SECTOR_SIZE], - uint8_t &dchk_expected, uint8_t &dchk_actual - ) const = 0; + byte_reader &br, uint8_t (&decoded_buf)[APPLE2_SECTOR_SIZE], + uint8_t &dchk_expected, uint8_t &dchk_actual) const = 0; virtual int logical_sector_index(int physical) const = 0; }; @@ -73,9 +66,8 @@ public: private: virtual bool check_dosver(int dosver) const override; virtual void decode_sector_data( - byte_reader &br, uint8_t (&decoded_buf)[APPLE2_SECTOR_SIZE], - uint8_t &dchk_expected, uint8_t &dchk_actual - ) const override; + byte_reader &br, uint8_t (&decoded_buf)[APPLE2_SECTOR_SIZE], + uint8_t &dchk_expected, uint8_t &dchk_actual) const override; virtual int logical_sector_index(int physical) const override; }; @@ -96,9 +88,8 @@ private: virtual bool check_dosver(int dosver) const override; virtual void decode_sector_data( - byte_reader &br, uint8_t (&decoded_buf)[APPLE2_SECTOR_SIZE], - uint8_t &dchk_expected, uint8_t &dchk_actual - ) const override; + byte_reader &br, uint8_t (&decoded_buf)[APPLE2_SECTOR_SIZE], + uint8_t &dchk_expected, uint8_t &dchk_actual) const override; virtual int logical_sector_index(int physical) const override; }; diff --git a/src/mame/technos/shadfrce.cpp b/src/mame/technos/shadfrce.cpp index 579f39bc861..435614d10fb 100644 --- a/src/mame/technos/shadfrce.cpp +++ b/src/mame/technos/shadfrce.cpp @@ -713,12 +713,12 @@ static INPUT_PORTS_START( shadfrce ) PORT_DIPSETTING( 0x08, "50%" ) PORT_DIPSETTING( 0x04, "25%" ) PORT_DIPSETTING( 0x00, "0%" ) - PORT_DIPNAME( 0x10, 0x10, "Player's lives" ) PORT_DIPLOCATION("SW2:5") + PORT_DIPNAME( 0x10, 0x10, "Player's lives" ) PORT_DIPLOCATION("SW2:5") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x10, "2" ) - PORT_DIPNAME( 0x20, 0x20, "Vs. Stage" ) PORT_DIPLOCATION("SW2:6") - PORT_DIPSETTING( 0x00, "Yes" ) - PORT_DIPSETTING( 0x20, "No" ) + PORT_DIPNAME( 0x20, 0x20, "Vs. Stage" ) PORT_DIPLOCATION("SW2:6") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
