1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
enum screen_mirroring { M_HORIZONTAL, M_VERTICAL, M_FOUR, }; struct Rom { char *prg_rom; char *chr_rom; size_t prg_rom_size; size_t chr_rom_size; uint8_t mapper; enum screen_mirroring mirror; }; void parse_rom(const uint8_t *data, size_t data_len, struct Rom *rom); void free_rom(struct Rom *rom);