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_