libdragon
eeprom.h
Go to the documentation of this file.
1
7#ifndef __LIBDRAGON_EEPROM_H
8#define __LIBDRAGON_EEPROM_H
9
32#include <stdint.h>
33
38typedef enum eeprom_type_t
39{
45 EEPROM_16K = 2
47
51#define EEPROM_BLOCK_SIZE 8
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56
58size_t eeprom_total_blocks( void );
59void eeprom_read( uint8_t block, uint8_t * dest );
60uint8_t eeprom_write( uint8_t block, const uint8_t * src );
61void eeprom_read_bytes( uint8_t * dest, size_t start, size_t len );
62void eeprom_write_bytes( const uint8_t * src, size_t start, size_t len );
63
64#ifdef __cplusplus
65}
66#endif
67
68#endif
eeprom_type_t
EEPROM Probe Values.
Definition: eeprom.h:39
@ EEPROM_16K
16 kilobit (256-block) EEPROM present
Definition: eeprom.h:45
@ EEPROM_NONE
No EEPROM present.
Definition: eeprom.h:41
@ EEPROM_4K
4 kilobit (64-block) EEPROM present
Definition: eeprom.h:43
void eeprom_write_bytes(const uint8_t *src, size_t start, size_t len)
Write a buffer of bytes to EEPROM.
Definition: eeprom.c:210
void eeprom_read(uint8_t block, uint8_t *dest)
Read a block from EEPROM.
Definition: eeprom.c:90
void eeprom_read_bytes(uint8_t *dest, size_t start, size_t len)
Read a buffer of bytes from EEPROM.
Definition: eeprom.c:156
size_t eeprom_total_blocks(void)
Determine how many blocks of EEPROM exist on the cartridge.
Definition: eeprom.c:71
eeprom_type_t eeprom_present(void)
Probe the EEPROM interface on the cartridge.
Definition: eeprom.c:55
uint8_t eeprom_write(uint8_t block, const uint8_t *src)
Write a block to EEPROM.
Definition: eeprom.c:121