7#ifndef FLASHCART_SC64_INTERNAL_H__
8#define FLASHCART_SC64_INTERNAL_H__
22 uint8_t DD_SECTOR[256];
23 uint8_t FLASHRAM[128];
26#define SC64_BUFFERS_BASE (0x1FFE0000UL)
27#define SC64_BUFFERS ((sc64_buffers_t *) SC64_BUFFERS_BASE)
32 SC64_ERROR_BAD_ARGUMENT,
33 SC64_ERROR_BAD_ADDRESS,
34 SC64_ERROR_BAD_CONFIG_ID,
37 SC64_ERROR_UNKNOWN_CMD = -1
41 CFG_BOOTLOADER_SWITCH,
43 CFG_ROM_SHADOW_ENABLE,
55 CFG_ROM_EXTENDED_ENABLE,
69 BOOT_MODE_DIRECT_ROM = 3,
70 BOOT_MODE_DIRECT_DDIPL = 4,
79 SAVE_TYPE_SRAM_BANKED,
84 CIC_SEED_AUTO = 0xFFFF
91 TV_TYPE_PASSTHROUGH = 3
96 DRIVE_TYPE_DEVELOPMENT,
108 BUTTON_MODE_USB_PACKET,
109 BUTTON_MODE_DD_DISK_SWAP,
113void sc64_lock (
void);
114sc64_error_t sc64_get_version (uint16_t *major, uint16_t *minor, uint32_t *revision);
115sc64_error_t sc64_get_config (sc64_cfg_t cfg, uint32_t *value);
116sc64_error_t sc64_set_config (sc64_cfg_t cfg, uint32_t value);
117sc64_error_t sc64_writeback_pending (
bool *pending);
118sc64_error_t sc64_writeback_enable (
void *address);
119sc64_error_t sc64_flash_wait_busy (
void);
120sc64_error_t sc64_flash_get_erase_block_size (
size_t *erase_block_size);
121sc64_error_t sc64_flash_erase_block (
void *address);
Definition: sc64_internal.h:19