diff options
| author | vin <git@vineetk.net> | 2024-06-17 14:46:00 +0530 |
|---|---|---|
| committer | vin <git@vineetk.net> | 2024-06-17 14:46:46 +0530 |
| commit | 77d37dd455f804c79969979eb39d525b3c5ddfe7 (patch) | |
| tree | 5cc5ba7972615cdc473f6897a80348c255725c6a /rom.h | |
| parent | 1f6e3b054cd7a35c5eb8d908525a261ea83d44e7 (diff) | |
implement basic iNES and Mapper 0 ROM loading
It seems like the test ROM loads fine but the instructions are not,
but that's exactly what the test ROM is for I suppose.
Diffstat (limited to 'rom.h')
| -rw-r--r-- | rom.h | 17 |
1 files changed, 17 insertions, 0 deletions
| @@ -0,0 +1,17 @@ | |||
| 1 | enum screen_mirroring { | ||
| 2 | M_HORIZONTAL, | ||
| 3 | M_VERTICAL, | ||
| 4 | M_FOUR, | ||
| 5 | }; | ||
| 6 | |||
| 7 | struct Rom { | ||
| 8 | char *prg_rom; | ||
| 9 | char *chr_rom; | ||
| 10 | size_t prg_rom_size; | ||
| 11 | size_t chr_rom_size; | ||
| 12 | uint8_t mapper; | ||
| 13 | enum screen_mirroring mirror; | ||
| 14 | }; | ||
| 15 | |||
| 16 | void parse_rom(const uint8_t *data, size_t data_len, struct Rom *rom); | ||
| 17 | void free_rom(struct Rom *rom); | ||
