diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2020-11-21 21:08:43 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2020-11-21 21:08:43 +0100 |
commit | 052899e196c6a2660651b9896ceed3313e7d0bac (patch) | |
tree | 9deb31de468693326a2b426db76f0e99ffe0c9c2 /emu/memory.h | |
parent | 56ae2c7b25157e44c50ab982236fee8bbcca0463 (diff) | |
download | 6502-052899e196c6a2660651b9896ceed3313e7d0bac.tar.gz 6502-052899e196c6a2660651b9896ceed3313e7d0bac.tar.bz2 |
started a simple emulator
Diffstat (limited to 'emu/memory.h')
-rw-r--r-- | emu/memory.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/emu/memory.h b/emu/memory.h new file mode 100644 index 0000000..35fd0ef --- /dev/null +++ b/emu/memory.h @@ -0,0 +1,23 @@ +#ifndef MEMORY_H +#define MEMORY_H + +#include <stdint.h> + +enum { + MEMORY_SIZE = 65535 +}; + +typedef struct memory_t +{ + uint8_t cell[MEMORY_SIZE]; + + uint8_t (*read)( struct memory_t *memory, uint16_t addr ); + void (*write)( struct memory_t *memory, uint16_t addr, uint8_t data ); +} memory_t; + +void memory_init( memory_t *memory ); +uint8_t memory_read( memory_t *memory, uint16_t addr ); +void memory_write( memory_t *memory, uint16_t addr, uint8_t data ); +void memory_load( memory_t *memory, uint16_t addr, uint16_t size, const char *filename ); + +#endif |