Mercurial > repos > blastem
annotate memmap.h @ 1971:80920c21bb52
Add an event log soft flush and call it twice per frame in between hard flushes to netplay latency when there are insufficient hardware updates to flush packets in the middle of a frame
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 08 May 2020 11:40:30 -0700 |
parents | 360d5bab199f |
children | 9caebcfeac72 |
rev | line source |
---|---|
1595
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
1 #ifndef MEMMAP_H_ |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
2 #define MEMMAP_H_ |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
3 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
4 typedef enum { |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
5 READ_16, |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
6 READ_8, |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
7 WRITE_16, |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
8 WRITE_8 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
9 } ftype; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
10 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
11 #define MMAP_READ 0x01 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
12 #define MMAP_WRITE 0x02 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
13 #define MMAP_CODE 0x04 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
14 #define MMAP_PTR_IDX 0x08 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
15 #define MMAP_ONLY_ODD 0x10 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
16 #define MMAP_ONLY_EVEN 0x20 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
17 #define MMAP_FUNC_NULL 0x40 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
18 #define MMAP_BYTESWAP 0x80 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
19 #define MMAP_AUX_BUFF 0x100 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
20 #define MMAP_READ_CODE 0x200 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
21 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
22 typedef uint16_t (*read_16_fun)(uint32_t address, void * context); |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
23 typedef uint8_t (*read_8_fun)(uint32_t address, void * context); |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
24 typedef void * (*write_16_fun)(uint32_t address, void * context, uint16_t value); |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
25 typedef void * (*write_8_fun)(uint32_t address, void * context, uint8_t value); |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
26 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
27 typedef struct { |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
28 uint32_t start; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
29 uint32_t end; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
30 uint32_t mask; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
31 uint32_t aux_mask; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
32 uint16_t ptr_index; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
33 uint16_t flags; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
34 void * buffer; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
35 read_16_fun read_16; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
36 write_16_fun write_16; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
37 read_8_fun read_8; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
38 write_8_fun write_8; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
39 } memmap_chunk; |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
40 |
360d5bab199f
Update controller config when changed in UI without restart
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
41 #endif //MEMMAP_H_ |