-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathemu-mem-io.h
57 lines (31 loc) · 1.09 KB
/
emu-mem-io.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#pragma once
#include "emu-types.h"
#define MEM_MAX 0x100000 // 1 MB
#define IO_MAX 0x10000 // 64 KB
#define ROM_BASE 0x80000
// Memory breakpoint
extern byte_t _break_data_flag;
extern addr_t _break_data_addr;
// Memory states
extern byte_t mem_stat [MEM_MAX];
extern byte_t code_stat [MEM_MAX];
// Emulator operations
void * mem_get_addr (addr_t a);
byte_t mem_read_byte_0 (addr_t a);
word_t mem_read_word_0 (addr_t a);
int mem_write_byte_0 (addr_t a, byte_t b, byte_t init);
int mem_write_word_0 (addr_t a, word_t w, byte_t init);
int io_read_byte_0 (word_t p, byte_t * b);
int io_read_word_0 (word_t p, word_t * w);
int io_write_byte_0 (word_t p, byte_t b);
int io_write_word_0 (word_t p, word_t w);
// Board operations
byte_t mem_read_byte (addr_t a);
word_t mem_read_word (addr_t a);
void mem_write_byte (addr_t a, byte_t b, byte_t init);
void mem_write_word (addr_t a, word_t w, byte_t init);
int io_read_byte (word_t p, byte_t * b);
int io_read_word (word_t p, word_t * w);
int io_write_byte (word_t p, byte_t b);
int io_write_word (word_t p, word_t w);
void mem_io_reset ();