From 42f62eb32597912640b88a70587905c5721abbf2 Mon Sep 17 00:00:00 2001 From: Olivier Galibert Date: Thu, 11 Aug 2022 12:06:47 +0200 Subject: [PATCH] emumem: remove the flags interface from address_space (still available through specific and cache), may make ld less cranky --- src/emu/emumem.h | 60 ----------------------- src/emu/emumem_aspace.cpp | 100 -------------------------------------- 2 files changed, 160 deletions(-) diff --git a/src/emu/emumem.h b/src/emu/emumem.h index 686df9dc712..b9a8ed08763 100644 --- a/src/emu/emumem.h +++ b/src/emu/emumem.h @@ -2402,66 +2402,6 @@ public: virtual void write_qword_unaligned(offs_t address, u64 data) = 0; virtual void write_qword_unaligned(offs_t address, u64 data, u64 mask) = 0; - // read accessors with flags - virtual std::pair read_byte_flags(offs_t address) = 0; - virtual std::pair read_word_flags(offs_t address) = 0; - virtual std::pair read_word_flags(offs_t address, u16 mask) = 0; - virtual std::pair read_word_unaligned_flags(offs_t address) = 0; - virtual std::pair read_word_unaligned_flags(offs_t address, u16 mask) = 0; - virtual std::pair read_dword_flags(offs_t address) = 0; - virtual std::pair read_dword_flags(offs_t address, u32 mask) = 0; - virtual std::pair read_dword_unaligned_flags(offs_t address) = 0; - virtual std::pair read_dword_unaligned_flags(offs_t address, u32 mask) = 0; - virtual std::pair read_qword_flags(offs_t address) = 0; - virtual std::pair read_qword_flags(offs_t address, u64 mask) = 0; - virtual std::pair read_qword_unaligned_flags(offs_t address) = 0; - virtual std::pair read_qword_unaligned_flags(offs_t address, u64 mask) = 0; - - // write accessors with flags - virtual u16 write_byte_flags(offs_t address, u8 data) = 0; - virtual u16 write_word_flags(offs_t address, u16 data) = 0; - virtual u16 write_word_flags(offs_t address, u16 data, u16 mask) = 0; - virtual u16 write_word_unaligned_flags(offs_t address, u16 data) = 0; - virtual u16 write_word_unaligned_flags(offs_t address, u16 data, u16 mask) = 0; - virtual u16 write_dword_flags(offs_t address, u32 data) = 0; - virtual u16 write_dword_flags(offs_t address, u32 data, u32 mask) = 0; - virtual u16 write_dword_unaligned_flags(offs_t address, u32 data) = 0; - virtual u16 write_dword_unaligned_flags(offs_t address, u32 data, u32 mask) = 0; - virtual u16 write_qword_flags(offs_t address, u64 data) = 0; - virtual u16 write_qword_flags(offs_t address, u64 data, u64 mask) = 0; - virtual u16 write_qword_unaligned_flags(offs_t address, u64 data) = 0; - virtual u16 write_qword_unaligned_flags(offs_t address, u64 data, u64 mask) = 0; - - // read flags lookup - virtual u16 lookup_read_byte_flags(offs_t address) = 0; - virtual u16 lookup_read_word_flags(offs_t address) = 0; - virtual u16 lookup_read_word_flags(offs_t address, u16 mask) = 0; - virtual u16 lookup_read_word_unaligned_flags(offs_t address) = 0; - virtual u16 lookup_read_word_unaligned_flags(offs_t address, u16 mask) = 0; - virtual u16 lookup_read_dword_flags(offs_t address) = 0; - virtual u16 lookup_read_dword_flags(offs_t address, u32 mask) = 0; - virtual u16 lookup_read_dword_unaligned_flags(offs_t address) = 0; - virtual u16 lookup_read_dword_unaligned_flags(offs_t address, u32 mask) = 0; - virtual u16 lookup_read_qword_flags(offs_t address) = 0; - virtual u16 lookup_read_qword_flags(offs_t address, u64 mask) = 0; - virtual u16 lookup_read_qword_unaligned_flags(offs_t address) = 0; - virtual u16 lookup_read_qword_unaligned_flags(offs_t address, u64 mask) = 0; - - // write flags lookup - virtual u16 lookup_write_byte_flags(offs_t address) = 0; - virtual u16 lookup_write_word_flags(offs_t address) = 0; - virtual u16 lookup_write_word_flags(offs_t address, u16 mask) = 0; - virtual u16 lookup_write_word_unaligned_flags(offs_t address) = 0; - virtual u16 lookup_write_word_unaligned_flags(offs_t address, u16 mask) = 0; - virtual u16 lookup_write_dword_flags(offs_t address) = 0; - virtual u16 lookup_write_dword_flags(offs_t address, u32 mask) = 0; - virtual u16 lookup_write_dword_unaligned_flags(offs_t address) = 0; - virtual u16 lookup_write_dword_unaligned_flags(offs_t address, u32 mask) = 0; - virtual u16 lookup_write_qword_flags(offs_t address) = 0; - virtual u16 lookup_write_qword_flags(offs_t address, u64 mask) = 0; - virtual u16 lookup_write_qword_unaligned_flags(offs_t address) = 0; - virtual u16 lookup_write_qword_unaligned_flags(offs_t address, u64 mask) = 0; - // setup void prepare_map(); void prepare_device_map(address_map &map); diff --git a/src/emu/emumem_aspace.cpp b/src/emu/emumem_aspace.cpp index c7e37026e50..89849ad9aca 100644 --- a/src/emu/emumem_aspace.cpp +++ b/src/emu/emumem_aspace.cpp @@ -433,70 +433,26 @@ public: return dispatch_read(offs_t(-1), offset & m_addrmask, mask, m_dispatch_read); } - std::pair read_native_flags(offs_t offset, NativeType mask) - { - return dispatch_read_flags(offs_t(-1), offset & m_addrmask, mask, m_dispatch_read); - } - - u16 lookup_read_native_flags(offs_t offset, NativeType mask) - { - return dispatch_lookup_read_flags(offs_t(-1), offset & m_addrmask, mask, m_dispatch_read); - } - // mask-less native read NativeType read_native(offs_t offset) { return dispatch_read(offs_t(-1), offset & m_addrmask, uX(0xffffffffffffffffU), m_dispatch_read); } - std::pair read_native_flags(offs_t offset) - { - return dispatch_read_flags(offs_t(-1), offset & m_addrmask, uX(0xffffffffffffffffU), m_dispatch_read); - } - - u16 lookup_read_native_flags(offs_t offset) - { - return dispatch_lookup_read_flags(offs_t(-1), offset & m_addrmask, uX(0xffffffffffffffffU), m_dispatch_read); - } - // native write void write_native(offs_t offset, NativeType data, NativeType mask) { dispatch_write(offs_t(-1), offset & m_addrmask, data, mask, m_dispatch_write); } - u16 write_native_flags(offs_t offset, NativeType data, NativeType mask) - { - return dispatch_write_flags(offs_t(-1), offset & m_addrmask, data, mask, m_dispatch_write); - } - - u16 lookup_write_native_flags(offs_t offset, NativeType mask) - { - return dispatch_lookup_write_flags(offs_t(-1), offset & m_addrmask, mask, m_dispatch_write); - } - // mask-less native write void write_native(offs_t offset, NativeType data) { dispatch_write(offs_t(-1), offset & m_addrmask, data, uX(0xffffffffffffffffU), m_dispatch_write); } - u16 write_native_flags(offs_t offset, NativeType data) - { - return dispatch_write_flags(offs_t(-1), offset & m_addrmask, data, uX(0xffffffffffffffffU), m_dispatch_write); - } - - u16 lookup_write_native_flags(offs_t offset) - { - return dispatch_lookup_write_flags(offs_t(-1), offset & m_addrmask, uX(0xffffffffffffffffU), m_dispatch_write); - } - auto rop() { return [this](offs_t offset, NativeType mask) -> NativeType { return read_native(offset, mask); }; } - auto ropf() { return [this](offs_t offset, NativeType mask) -> std::pair { return read_native_flags(offset, mask); }; } - auto lropf() { return [this](offs_t offset, NativeType mask) -> u16 { return lookup_read_native_flags(offset, mask); }; } auto wop() { return [this](offs_t offset, NativeType data, NativeType mask) -> void { write_native(offset, data, mask); }; } - auto wopf() { return [this](offs_t offset, NativeType data, NativeType mask) -> u16 { return write_native_flags(offset, data, mask); }; } - auto lwopf() { return [this](offs_t offset, NativeType mask) -> u16 { return lookup_write_native_flags(offset, mask); }; } // virtual access to these functions u8 read_byte(offs_t address) override { if constexpr(Width == 0) return read_native(address & ~NATIVE_MASK); else return memory_read_generic(rop(), address, 0xff); } @@ -527,62 +483,6 @@ public: void write_qword_unaligned(offs_t address, u64 data) override { memory_write_generic(wop(), address, data, 0xffffffffffffffffU); } void write_qword_unaligned(offs_t address, u64 data, u64 mask) override { memory_write_generic(wop(), address, data, mask); } - std::pair read_byte_flags(offs_t address) override { if constexpr(Width == 0) return read_native_flags(address & ~NATIVE_MASK); else return memory_read_generic_flags(ropf(), address, 0xff); } - std::pair read_word_flags(offs_t address) override { if constexpr(Width == 1) return read_native_flags(address & ~NATIVE_MASK); else return memory_read_generic_flags(ropf(), address, 0xffff); } - std::pair read_word_flags(offs_t address, u16 mask) override { return memory_read_generic_flags(ropf(), address, mask); } - std::pair read_word_unaligned_flags(offs_t address) override { return memory_read_generic_flags(ropf(), address, 0xffff); } - std::pair read_word_unaligned_flags(offs_t address, u16 mask) override { return memory_read_generic_flags(ropf(), address, mask); } - std::pair read_dword_flags(offs_t address) override { if constexpr(Width == 2) return read_native_flags(address & ~NATIVE_MASK); else return memory_read_generic_flags(ropf(), address, 0xffffffff); } - std::pair read_dword_flags(offs_t address, u32 mask) override { return memory_read_generic_flags(ropf(), address, mask); } - std::pair read_dword_unaligned_flags(offs_t address) override { return memory_read_generic_flags(ropf(), address, 0xffffffff); } - std::pair read_dword_unaligned_flags(offs_t address, u32 mask) override { return memory_read_generic_flags(ropf(), address, mask); } - std::pair read_qword_flags(offs_t address) override { if constexpr(Width == 3) return read_native_flags(address & ~NATIVE_MASK); else return memory_read_generic_flags(ropf(), address, 0xffffffffffffffffU); } - std::pair read_qword_flags(offs_t address, u64 mask) override { return memory_read_generic_flags(ropf(), address, mask); } - std::pair read_qword_unaligned_flags(offs_t address) override { return memory_read_generic_flags(ropf(), address, 0xffffffffffffffffU); } - std::pair read_qword_unaligned_flags(offs_t address, u64 mask) override { return memory_read_generic_flags(ropf(), address, mask); } - - u16 write_byte_flags(offs_t address, u8 data) override { if constexpr(Width == 0) return write_native_flags(address & ~NATIVE_MASK, data); else return memory_write_generic_flags(wopf(), address, data, 0xff); } - u16 write_word_flags(offs_t address, u16 data) override { if constexpr(Width == 1) return write_native_flags(address & ~NATIVE_MASK, data); else return memory_write_generic_flags(wopf(), address, data, 0xffff); } - u16 write_word_flags(offs_t address, u16 data, u16 mask) override { return memory_write_generic_flags(wopf(), address, data, mask); } - u16 write_word_unaligned_flags(offs_t address, u16 data) override { return memory_write_generic_flags(wopf(), address, data, 0xffff); } - u16 write_word_unaligned_flags(offs_t address, u16 data, u16 mask) override { return memory_write_generic_flags(wopf(), address, data, mask); } - u16 write_dword_flags(offs_t address, u32 data) override { if constexpr(Width == 2) return write_native_flags(address & ~NATIVE_MASK, data); else return memory_write_generic_flags(wopf(), address, data, 0xffffffff); } - u16 write_dword_flags(offs_t address, u32 data, u32 mask) override { return memory_write_generic_flags(wopf(), address, data, mask); } - u16 write_dword_unaligned_flags(offs_t address, u32 data) override { return memory_write_generic_flags(wopf(), address, data, 0xffffffff); } - u16 write_dword_unaligned_flags(offs_t address, u32 data, u32 mask) override { return memory_write_generic_flags(wopf(), address, data, mask); } - u16 write_qword_flags(offs_t address, u64 data) override { if constexpr(Width == 3) return write_native_flags(address & ~NATIVE_MASK, data); else return memory_write_generic_flags(wopf(), address, data, 0xffffffffffffffffU); } - u16 write_qword_flags(offs_t address, u64 data, u64 mask) override { return memory_write_generic_flags(wopf(), address, data, mask); } - u16 write_qword_unaligned_flags(offs_t address, u64 data) override { return memory_write_generic_flags(wopf(), address, data, 0xffffffffffffffffU); } - u16 write_qword_unaligned_flags(offs_t address, u64 data, u64 mask) override { return memory_write_generic_flags(wopf(), address, data, mask); } - - u16 lookup_read_byte_flags(offs_t address) override { if constexpr(Width == 0) return lookup_read_native_flags(address & ~NATIVE_MASK); else return lookup_memory_read_generic_flags(lropf(), address, 0xff); } - u16 lookup_read_word_flags(offs_t address) override { if constexpr(Width == 1) return lookup_read_native_flags(address & ~NATIVE_MASK); else return lookup_memory_read_generic_flags(lropf(), address, 0xffff); } - u16 lookup_read_word_flags(offs_t address, u16 mask) override { return lookup_memory_read_generic_flags(lropf(), address, mask); } - u16 lookup_read_word_unaligned_flags(offs_t address) override { return lookup_memory_read_generic_flags(lropf(), address, 0xffff); } - u16 lookup_read_word_unaligned_flags(offs_t address, u16 mask) override { return lookup_memory_read_generic_flags(lropf(), address, mask); } - u16 lookup_read_dword_flags(offs_t address) override { if constexpr(Width == 2) return lookup_read_native_flags(address & ~NATIVE_MASK); else return lookup_memory_read_generic_flags(lropf(), address, 0xffffffff); } - u16 lookup_read_dword_flags(offs_t address, u32 mask) override { return lookup_memory_read_generic_flags(lropf(), address, mask); } - u16 lookup_read_dword_unaligned_flags(offs_t address) override { return lookup_memory_read_generic_flags(lropf(), address, 0xffffffff); } - u16 lookup_read_dword_unaligned_flags(offs_t address, u32 mask) override { return lookup_memory_read_generic_flags(lropf(), address, mask); } - u16 lookup_read_qword_flags(offs_t address) override { if constexpr(Width == 3) return lookup_read_native_flags(address & ~NATIVE_MASK); else return lookup_memory_read_generic_flags(lropf(), address, 0xffffffffffffffffU); } - u16 lookup_read_qword_flags(offs_t address, u64 mask) override { return lookup_memory_read_generic_flags(lropf(), address, mask); } - u16 lookup_read_qword_unaligned_flags(offs_t address) override { return lookup_memory_read_generic_flags(lropf(), address, 0xffffffffffffffffU); } - u16 lookup_read_qword_unaligned_flags(offs_t address, u64 mask) override { return lookup_memory_read_generic_flags(lropf(), address, mask); } - - u16 lookup_write_byte_flags(offs_t address) override { if constexpr(Width == 0) return lookup_write_native_flags(address & ~NATIVE_MASK); else return lookup_memory_write_generic_flags(lwopf(), address, 0xff); } - u16 lookup_write_word_flags(offs_t address) override { if constexpr(Width == 1) return lookup_write_native_flags(address & ~NATIVE_MASK); else return lookup_memory_write_generic_flags(lwopf(), address, 0xffff); } - u16 lookup_write_word_flags(offs_t address, u16 mask) override { return lookup_memory_write_generic_flags(lwopf(), address, mask); } - u16 lookup_write_word_unaligned_flags(offs_t address) override { return lookup_memory_write_generic_flags(lwopf(), address, 0xffff); } - u16 lookup_write_word_unaligned_flags(offs_t address, u16 mask) override { return lookup_memory_write_generic_flags(lwopf(), address, mask); } - u16 lookup_write_dword_flags(offs_t address) override { if constexpr(Width == 2) return lookup_write_native_flags(address & ~NATIVE_MASK); else return lookup_memory_write_generic_flags(lwopf(), address, 0xffffffff); } - u16 lookup_write_dword_flags(offs_t address, u32 mask) override { return lookup_memory_write_generic_flags(lwopf(), address, mask); } - u16 lookup_write_dword_unaligned_flags(offs_t address) override { return lookup_memory_write_generic_flags(lwopf(), address, 0xffffffff); } - u16 lookup_write_dword_unaligned_flags(offs_t address, u32 mask) override { return lookup_memory_write_generic_flags(lwopf(), address, mask); } - u16 lookup_write_qword_flags(offs_t address) override { if constexpr(Width == 3) return lookup_write_native_flags(address & ~NATIVE_MASK); else return lookup_memory_write_generic_flags(lwopf(), address, 0xffffffffffffffffU); } - u16 lookup_write_qword_flags(offs_t address, u64 mask) override { return lookup_memory_write_generic_flags(lwopf(), address, mask); } - u16 lookup_write_qword_unaligned_flags(offs_t address) override { return lookup_memory_write_generic_flags(lwopf(), address, 0xffffffffffffffffU); } - u16 lookup_write_qword_unaligned_flags(offs_t address, u64 mask) override { return lookup_memory_write_generic_flags(lwopf(), address, mask); } - // static access to these functions static u8 read_byte_static(this_type &space, offs_t address) { return Width == 0 ? space.read_native(address & ~NATIVE_MASK) : memory_read_generic([&space](offs_t offset, NativeType mask) -> NativeType { return space.read_native(offset, mask); }, address, 0xff); }