diff options
author | Michael Pavone <pavone@retrodev.com> | 2018-07-06 17:39:59 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2018-07-06 17:39:59 -0700 |
commit | 480b9bb35341fb64afbd0ab6e18b978b2cd6d4f8 (patch) | |
tree | 061bc36100397b99945c51a2010a506482fcccbd /memmap.h | |
parent | aad75c86365b71d625a730a0d42c6537a9016feb (diff) |
Update controller config when changed in UI without restart
Diffstat (limited to 'memmap.h')
-rw-r--r-- | memmap.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/memmap.h b/memmap.h new file mode 100644 index 0000000..f3504b4 --- /dev/null +++ b/memmap.h @@ -0,0 +1,41 @@ +#ifndef MEMMAP_H_ +#define MEMMAP_H_ + +typedef enum { + READ_16, + READ_8, + WRITE_16, + WRITE_8 +} ftype; + +#define MMAP_READ 0x01 +#define MMAP_WRITE 0x02 +#define MMAP_CODE 0x04 +#define MMAP_PTR_IDX 0x08 +#define MMAP_ONLY_ODD 0x10 +#define MMAP_ONLY_EVEN 0x20 +#define MMAP_FUNC_NULL 0x40 +#define MMAP_BYTESWAP 0x80 +#define MMAP_AUX_BUFF 0x100 +#define MMAP_READ_CODE 0x200 + +typedef uint16_t (*read_16_fun)(uint32_t address, void * context); +typedef uint8_t (*read_8_fun)(uint32_t address, void * context); +typedef void * (*write_16_fun)(uint32_t address, void * context, uint16_t value); +typedef void * (*write_8_fun)(uint32_t address, void * context, uint8_t value); + +typedef struct { + uint32_t start; + uint32_t end; + uint32_t mask; + uint32_t aux_mask; + uint16_t ptr_index; + uint16_t flags; + void * buffer; + read_16_fun read_16; + write_16_fun write_16; + read_8_fun read_8; + write_8_fun write_8; +} memmap_chunk; + +#endif //MEMMAP_H_ |