summaryrefslogtreecommitdiff
path: root/src/mem.h
blob: 6ea4e01106c7e40a2344612c42e3fe0d820ba8fd (plain)
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
58
#pragma once

#define ADDR_ROM 0x200
#define ADDR_FONT 0x50

/**
 * @brief Must be called first!
 * 
 */
void MemInit();

/**
 * @brief Set value of a memory region
 * 
 * @param addr 
 * @param value 
 * @param size 
 */
void MemSet(int addr, unsigned char value, int size);

/**
 * @brief Store date in memory
 * 
 * @param data 
 * @param size 
 * @param addr 
 */
void MemStore(unsigned char *data, int size, int addr);

/**
 * @brief Load data from memory
 * 
 * @param data 
 * @param size 
 * @param addr 
 */
void MemLoad(unsigned char *data, int size, int addr);

/**
 * @brief Load ROM into memory (be careful, file MUST exists)
 * 
 * @param path 
 */
void MemLoadROM(char *path);

/**
 * @brief Dump the entire memory
 * 
 */
void MemDump();

/**
 * @brief Dump a memory region
 * 
 * @param addr 
 * @param size 
 */
void MemDumpRange(int addr, int size);