summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/debug/dvmemory.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/debug/dvmemory.h')
-rw-r--r--src/emu/debug/dvmemory.h20
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;