Mercurial > repos > blastem
comparison romdb.h @ 1414:d94855080529
Move I2C EEPROM and NOR Flash functions out of romdb.c into new files
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 23 Jun 2017 21:48:38 -0700 |
parents | 780fbe0b97be |
children | 11ac0b511cff |
comparison
equal
deleted
inserted
replaced
1413:3d7f668dce3d | 1414:d94855080529 |
---|---|
20 uint32_t end; | 20 uint32_t end; |
21 uint16_t sda_write_mask; | 21 uint16_t sda_write_mask; |
22 uint16_t scl_mask; | 22 uint16_t scl_mask; |
23 uint8_t sda_read_bit; | 23 uint8_t sda_read_bit; |
24 } eeprom_map; | 24 } eeprom_map; |
25 | |
26 typedef struct { | |
27 char *buffer; | |
28 uint32_t size; | |
29 uint16_t address; | |
30 uint8_t host_sda; | |
31 uint8_t slave_sda; | |
32 uint8_t scl; | |
33 uint8_t state; | |
34 uint8_t counter; | |
35 uint8_t latch; | |
36 } eeprom_state; | |
37 | 25 |
38 typedef struct { | 26 typedef struct { |
39 uint8_t *buffer; | 27 uint8_t *buffer; |
40 uint8_t *page_buffer; | 28 uint8_t *page_buffer; |
41 uint32_t size; | 29 uint32_t size; |
81 | 69 |
82 tern_node *load_rom_db(); | 70 tern_node *load_rom_db(); |
83 rom_info configure_rom(tern_node *rom_db, void *vrom, uint32_t rom_size, void *lock_on, uint32_t lock_on_size, memmap_chunk const *base_map, uint32_t base_chunks); | 71 rom_info configure_rom(tern_node *rom_db, void *vrom, uint32_t rom_size, void *lock_on, uint32_t lock_on_size, memmap_chunk const *base_map, uint32_t base_chunks); |
84 rom_info configure_rom_heuristics(uint8_t *rom, uint32_t rom_size, memmap_chunk const *base_map, uint32_t base_chunks); | 72 rom_info configure_rom_heuristics(uint8_t *rom, uint32_t rom_size, memmap_chunk const *base_map, uint32_t base_chunks); |
85 uint8_t translate_region_char(uint8_t c); | 73 uint8_t translate_region_char(uint8_t c); |
86 void eeprom_init(eeprom_state *state, uint8_t *buffer, uint32_t size); | |
87 void nor_flash_init(nor_state *state, uint8_t *buffer, uint32_t size, uint32_t page_size, uint16_t product_id, uint8_t bus_flags); | |
88 char const *save_type_name(uint8_t save_type); | 74 char const *save_type_name(uint8_t save_type); |
89 //Note: free_rom_info only frees things pointed to by a rom_info struct, not the struct itself | 75 //Note: free_rom_info only frees things pointed to by a rom_info struct, not the struct itself |
90 //this is because rom_info structs are typically stack allocated | 76 //this is because rom_info structs are typically stack allocated |
91 void free_rom_info(rom_info *info); | 77 void free_rom_info(rom_info *info); |
92 | 78 |