Mercurial > repos > blastem
comparison romdb.h @ 769:4638b88bc72d
Initial work on I2C EEPROM implementation
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 10 Jul 2015 18:46:18 -0700 |
parents | ea525f600b1d |
children | a3b90f746dcf |
comparison
equal
deleted
inserted
replaced
768:2f48a3c187c6 | 769:4638b88bc72d |
---|---|
14 | 14 |
15 #include "tern.h" | 15 #include "tern.h" |
16 #include "backend.h" | 16 #include "backend.h" |
17 | 17 |
18 typedef struct { | 18 typedef struct { |
19 uint32_t start; | |
20 uint32_t end; | |
21 uint16_t sda_write_mask; | |
22 uint16_t scl_mask; | |
23 uint8_t sda_read_bit; | |
24 } eeprom_map; | |
25 | |
26 typedef struct { | |
27 uint8_t host_sda; | |
28 uint8_t slave_sda; | |
29 uint8_t scl; | |
30 } eeprom_state; | |
31 | |
32 typedef struct { | |
19 char *name; | 33 char *name; |
20 memmap_chunk *map; | 34 memmap_chunk *map; |
21 uint8_t *save_buffer; | 35 uint8_t *save_buffer; |
36 eeprom_map *eeprom_map; | |
37 uint32_t num_eeprom; | |
22 uint32_t map_chunks; | 38 uint32_t map_chunks; |
23 uint32_t save_size; | 39 uint32_t save_size; |
24 uint32_t save_mask; | 40 uint32_t save_mask; |
25 uint8_t save_type; | 41 uint8_t save_type; |
26 uint8_t regions; | 42 uint8_t regions; |
28 | 44 |
29 tern_node *load_rom_db(); | 45 tern_node *load_rom_db(); |
30 rom_info configure_rom(tern_node *rom_db, void *vrom, uint32_t rom_size, memmap_chunk const *base_map, uint32_t base_chunks); | 46 rom_info configure_rom(tern_node *rom_db, void *vrom, uint32_t rom_size, memmap_chunk const *base_map, uint32_t base_chunks); |
31 rom_info configure_rom_heuristics(uint8_t *rom, uint32_t rom_size, memmap_chunk const *base_map, uint32_t base_chunks); | 47 rom_info configure_rom_heuristics(uint8_t *rom, uint32_t rom_size, memmap_chunk const *base_map, uint32_t base_chunks); |
32 uint8_t translate_region_char(uint8_t c); | 48 uint8_t translate_region_char(uint8_t c); |
49 void eeprom_init(eeprom_state *state); | |
33 | 50 |
34 #endif //ROMDB_H_ | 51 #endif //ROMDB_H_ |