libdragon
Loading...
Searching...
No Matches
eeprom.h
Go to the documentation of this file.
1
10#ifndef __LIBDRAGON_EEPROM_H
11#define __LIBDRAGON_EEPROM_H
12
35#include <stdint.h>
36
50
54#define EEPROM_BLOCK_SIZE 8
55
56#ifdef __cplusplus
57extern "C" {
58#endif
59
69
76size_t eeprom_total_blocks( void );
77
87void eeprom_read( uint8_t block, uint8_t * dest );
88
100uint8_t eeprom_write( uint8_t block, const uint8_t * src );
101
115void eeprom_read_bytes( uint8_t * dest, size_t start, size_t len );
116
140void eeprom_write_bytes( const uint8_t * src, size_t start, size_t len );
141
142#ifdef __cplusplus
143}
144#endif
145
146#endif
eeprom_type_t
EEPROM Probe Values.
Definition eeprom.h:42
@ EEPROM_16K
16 kilobit (256-block) EEPROM present
Definition eeprom.h:48
@ EEPROM_NONE
No EEPROM present.
Definition eeprom.h:44
@ EEPROM_4K
4 kilobit (64-block) EEPROM present
Definition eeprom.h:46
void eeprom_write_bytes(const uint8_t *src, size_t start, size_t len)
Write a buffer of bytes to EEPROM.
Definition eeprom.c:141
void eeprom_read(uint8_t block, uint8_t *dest)
Read a block from EEPROM.
Definition eeprom.c:68
void eeprom_read_bytes(uint8_t *dest, size_t start, size_t len)
Read a buffer of bytes from EEPROM.
Definition eeprom.c:110
size_t eeprom_total_blocks(void)
Determine how many blocks of EEPROM exist on the cartridge.
Definition eeprom.c:58
eeprom_type_t eeprom_present(void)
Probe the EEPROM interface on the cartridge.
Definition eeprom.c:48
uint8_t eeprom_write(uint8_t block, const uint8_t *src)
Write a block to EEPROM.
Definition eeprom.c:88