From 0a2b87964eeca9b825a907216a9b82de9c51249e Mon Sep 17 00:00:00 2001 From: tudnai Date: Sun, 30 Oct 2022 16:11:23 -0700 Subject: [PATCH] More preventative changes to avoid writing to memory during disassembly --- src/dev/mem/mmio.c | 6 +++--- src/dev/mem/mmio.h | 14 ++++++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/dev/mem/mmio.c b/src/dev/mem/mmio.c index e895463..54452fc 100644 --- a/src/dev/mem/mmio.c +++ b/src/dev/mem/mmio.c @@ -1029,13 +1029,13 @@ INLINE uint8_t _memread_dbg( uint16_t addr ) { Naive implementation of RAM write to address **/ -INLINE void memwrite8_low( uint16_t addr, uint8_t data ) { +INLINE void _memwrite8_low( uint16_t addr, uint8_t data ) { WRLOMEM[addr] = data; } -INLINE void memwrite8_bank( uint16_t addr, uint8_t data ) { +INLINE void _memwrite8_bank( uint16_t addr, uint8_t data ) { WRD0MEM[addr] = data; } -INLINE void memwrite8_high( uint16_t addr, uint8_t data ) { +INLINE void _memwrite8_high( uint16_t addr, uint8_t data ) { WRHIMEM[addr] = data; } INLINE void _memwrite( uint16_t addr, uint8_t data ) { diff --git a/src/dev/mem/mmio.h b/src/dev/mem/mmio.h index 9a41031..6170aab 100644 --- a/src/dev/mem/mmio.h +++ b/src/dev/mem/mmio.h @@ -410,9 +410,9 @@ INLINE uint16_t memread16_low( uint16_t addr ); INLINE uint16_t memread16( uint16_t addr ); INLINE uint8_t _memread( uint16_t addr ); INLINE uint8_t _memread_dbg( uint16_t addr ); -INLINE void memwrite8_low( uint16_t addr, uint8_t data ); -INLINE void memwrite8_bank( uint16_t addr, uint8_t data ); -INLINE void memwrite8_high( uint16_t addr, uint8_t data ); +INLINE void _memwrite8_low( uint16_t addr, uint8_t data ); +INLINE void _memwrite8_bank( uint16_t addr, uint8_t data ); +INLINE void _memwrite8_high( uint16_t addr, uint8_t data ); INLINE void _memwrite( uint16_t addr, uint8_t data ); INLINE uint8_t _fetch(void); INLINE uint8_t _fetch_dbg(void); @@ -469,6 +469,9 @@ INLINE uint8_t _src_zp_Y_dbg(void); #define fetch() _fetch() #define fetch16() _fetch16() #define memread(addr) _memread(addr); +#define memwrite8_low(addr,data) _memwrite8_low(addr,data); +#define memwrite8_bank(addr,data) _memwrite8_bank(addr,data); +#define memwrite8_high(addr,data) _memwrite8_high(addr,data); #define memwrite(addr,data) _memwrite(addr,data); #define addr_abs() _addr_abs() #define src_abs() _src_abs() @@ -498,7 +501,10 @@ INLINE uint8_t _src_zp_Y_dbg(void); #define fetch() _fetch_dbg() #define fetch16() _fetch16_dbg() #define memread(addr) _memread_dbg(addr); -#define memwrite(addr,data) // do not write anything into the memory while disassembling +#define memwrite8_low(addr,data) // do not write anything into the memory while disassembling +#define memwrite8_bank(addr,data) // do not write anything into the memory while disassembling +#define memwrite8_high(addr,data) // do not write anything into the memory while disassembling +#define memwrite(addr,data) // do not write anything into the memory while disassembling #define addr_abs() _addr_abs_dbg() #define src_abs() _src_abs_dbg() #define rel_addr() _rel_addr_dbg()