mirror of
https://github.com/LIV2/WinUAE.git
synced 2025-12-06 00:12:52 +00:00
46 lines
1.3 KiB
C
46 lines
1.3 KiB
C
#ifndef UAE_FLASHROM_H
|
|
#define UAE_FLASHROM_H
|
|
|
|
#include "uae/types.h"
|
|
|
|
/* FLASH */
|
|
|
|
void *flash_new(uae_u8 *rom, int flashsize, int allocsize, uae_u8 mfgcode, uae_u8 devcode, struct zfile *zf, int flags);
|
|
void flash_free(void *fdv);
|
|
|
|
bool flash_write(void *fdv, uaecptr addr, uae_u8 v);
|
|
uae_u32 flash_read(void *fdv, uaecptr addr);
|
|
bool flash_active(void *fdv, uaecptr addr);
|
|
int flash_size(void *fdv);
|
|
|
|
/* I2C EEPROM */
|
|
|
|
#define BITBANG_I2C_SDA 0
|
|
#define BITBANG_I2C_SCL 1
|
|
|
|
void *eeprom_new(uae_u8 *rom, int size, struct zfile *zf);
|
|
void eeprom_free(void *i2c);
|
|
void eeprom_reset(void *i2c);
|
|
int eeprom_i2c_set(void *i2c, int line, int level);
|
|
|
|
#define FLASHROM_EVERY_OTHER_BYTE 1
|
|
#define FLASHROM_EVERY_OTHER_BYTE_ODD 2
|
|
#define FLASHROM_PARALLEL_EEPROM 4
|
|
#define FLASHROM_SKIP_EVERY_OTHER_BYTE 8
|
|
#define FLASHROM_DATA_PROTECT 16
|
|
|
|
void *i2c_new(uae_u8 device_address, int size, uae_u8(*read_func)(uae_u8 addr), void(*write_func)(uae_u8 addr, uae_u8 v));
|
|
void i2c_free(void *i2c);
|
|
int i2c_set(void *i2c, int line, int level);
|
|
void i2c_reset(void *i2c);
|
|
|
|
/* MICROWIRE EEPROM */
|
|
|
|
void eeprom93xx_write(void *eepromp, int eecs, int eesk, int eedi);
|
|
uae_u16 eeprom93xx_read(void *eepromp);
|
|
void *eeprom93xx_new(const uae_u8 *memory, int nwords, struct zfile *zf);
|
|
void eeprom93xx_free(void *eepromp);
|
|
uae_u8 eeprom93xx_read_byte(void *eepromp, int offset);
|
|
|
|
#endif /* UAE_FLASHROM_H */
|