Mercurial > repos > blastem
comparison memmap.h @ 1595:360d5bab199f
Update controller config when changed in UI without restart
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 06 Jul 2018 17:39:59 -0700 |
parents | |
children | 9caebcfeac72 |
comparison
equal
deleted
inserted
replaced
1594:137dbd05ceab | 1595:360d5bab199f |
---|---|
1 #ifndef MEMMAP_H_ | |
2 #define MEMMAP_H_ | |
3 | |
4 typedef enum { | |
5 READ_16, | |
6 READ_8, | |
7 WRITE_16, | |
8 WRITE_8 | |
9 } ftype; | |
10 | |
11 #define MMAP_READ 0x01 | |
12 #define MMAP_WRITE 0x02 | |
13 #define MMAP_CODE 0x04 | |
14 #define MMAP_PTR_IDX 0x08 | |
15 #define MMAP_ONLY_ODD 0x10 | |
16 #define MMAP_ONLY_EVEN 0x20 | |
17 #define MMAP_FUNC_NULL 0x40 | |
18 #define MMAP_BYTESWAP 0x80 | |
19 #define MMAP_AUX_BUFF 0x100 | |
20 #define MMAP_READ_CODE 0x200 | |
21 | |
22 typedef uint16_t (*read_16_fun)(uint32_t address, void * context); | |
23 typedef uint8_t (*read_8_fun)(uint32_t address, void * context); | |
24 typedef void * (*write_16_fun)(uint32_t address, void * context, uint16_t value); | |
25 typedef void * (*write_8_fun)(uint32_t address, void * context, uint8_t value); | |
26 | |
27 typedef struct { | |
28 uint32_t start; | |
29 uint32_t end; | |
30 uint32_t mask; | |
31 uint32_t aux_mask; | |
32 uint16_t ptr_index; | |
33 uint16_t flags; | |
34 void * buffer; | |
35 read_16_fun read_16; | |
36 write_16_fun write_16; | |
37 read_8_fun read_8; | |
38 write_8_fun write_8; | |
39 } memmap_chunk; | |
40 | |
41 #endif //MEMMAP_H_ |