diff options
Diffstat (limited to 'src/emu/debug/dvmemory.h')
-rw-r--r-- | src/emu/debug/dvmemory.h | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/emu/debug/dvmemory.h b/src/emu/debug/dvmemory.h index 1628a9052e2..afe597b8477 100644 --- a/src/emu/debug/dvmemory.h +++ b/src/emu/debug/dvmemory.h @@ -11,6 +11,9 @@ #ifndef __DVMEMORY_H__ #define __DVMEMORY_H__ +#include "softfloat/mamesf.h" +#include "softfloat/softfloat.h" + //************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -50,7 +53,7 @@ class debug_view_memory : public debug_view public: // getters const char *expression() { return m_expression.string(); } - UINT8 bytes_per_chunk() { flush_updates(); return m_bytes_per_chunk; } + int get_data_format() { flush_updates(); return m_data_format; } UINT32 chunks_per_row() { flush_updates(); return m_chunks_per_row; } bool reverse() const { return m_reverse_view; } bool ascii() const { return m_ascii_view; } @@ -59,18 +62,18 @@ public: // setters void set_expression(const char *expression); - void set_bytes_per_chunk(UINT8 chunkbytes); void set_chunks_per_row(UINT32 rowchunks); + void set_data_format(int format); // 1-8 current values 9 32bit floating point void set_reverse(bool reverse); void set_ascii(bool reverse); void set_physical(bool physical); protected: // view overrides - virtual void view_notify(debug_view_notification type); - virtual void view_update(); - virtual void view_char(int chval); - virtual void view_click(const int button, const debug_view_xy& pos); + virtual void view_notify(debug_view_notification type) override; + virtual void view_update() override; + virtual void view_char(int chval) override; + virtual void view_click(const int button, const debug_view_xy& pos) override; private: struct cursor_pos @@ -94,14 +97,17 @@ private: // memory access bool read(UINT8 size, offs_t offs, UINT64 &data); void write(UINT8 size, offs_t offs, UINT64 data); + bool read(UINT8 size, offs_t offs, floatx80 &data); // internal state debug_view_expression m_expression; // expression describing the start address UINT32 m_chunks_per_row; // number of chunks displayed per line UINT8 m_bytes_per_chunk; // bytes per chunk + int m_data_format; // 1-8 current values 9 32bit floating point bool m_reverse_view; // reverse-endian view? bool m_ascii_view; // display ASCII characters? bool m_no_translation; // don't run addresses through the cpu translation hook + bool m_edit_enabled; // can modify contents ? offs_t m_maxaddr; // (derived) maximum address to display UINT32 m_bytes_per_row; // (derived) number of bytes displayed per line UINT32 m_byte_offset; // (derived) offset of starting visible byte @@ -120,7 +126,7 @@ private: UINT8 m_spacing; /* spacing between each entry */ UINT8 m_shift[24]; /* shift for each character */ }; - static const memory_view_pos s_memory_pos_table[9]; // table for rendering at different chunk sizes + static const memory_view_pos s_memory_pos_table[12]; // table for rendering at different data formats // constants static const int MEM_MAX_LINE_WIDTH = 1024; |