memory.h 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. // insert cool lengthy disclaimer here
  2. // memory.h
  3. #ifndef MEMORY_H
  4. #define MEMORY_H
  5. #define SRAM_WORK_ADDR (0x100000L)
  6. #define SRAM_DB_ADDR (0x080000L)
  7. #define SRAM_DIR_ADDR (0x300000L)
  8. #define SRAM_CMD_ADDR (0x601004L)
  9. #define SRAM_FD_ADDR (0x601000L)
  10. #define SRAM_SAVE_ADDR (0x600000L)
  11. #define SRAM_SCRATCHPAD (0x7FFF00L)
  12. #define SRAM_DIRID (0x7FFFF0L)
  13. #define SRAM_RELIABILITY_SCORE (0x100)
  14. uint32_t load_rom(uint8_t* filename);
  15. uint32_t load_sram(uint8_t* filename, uint32_t base_addr);
  16. void sram_hexdump(uint32_t addr, uint32_t len);
  17. uint8_t sram_readbyte(uint32_t addr);
  18. uint16_t sram_readshort(uint32_t addr);
  19. uint32_t sram_readlong(uint32_t addr);
  20. void sram_writebyte(uint8_t val, uint32_t addr);
  21. void sram_writeshort(uint16_t val, uint32_t addr);
  22. void sram_writelong(uint32_t val, uint32_t addr);
  23. void sram_readblock(void* buf, uint32_t addr, uint16_t size);
  24. void sram_writeblock(void* buf, uint32_t addr, uint16_t size);
  25. void save_sram(uint8_t* filename, uint32_t sram_size, uint32_t base_addr);
  26. uint32_t calc_sram_crc(uint32_t base_addr, uint32_t size);
  27. uint8_t sram_reliable(void);
  28. #endif