EverDrive-64 v3
The EverDrive-64 v3 is a flash cart made by Krikzz.
Basic information
ROM: Max 64MiB
RTC: supported
Save: 4k/16k bit EEPROM, 32KiB/128KiB SRAM, 128KiB Flash
USB Serial: 512-bytes block read-write
Registers
All registers must be accessed by 32bit word, but it seems only lower 16bits are valid.
High 16bits of all registers seems REG_STATUS on read.
Base PI address for registers is 0x08040000
(Cartridge Domain 2, SRAM area +0x40000)
You should access these registers from CPU through no-cached segment, i.e. +0xA0000000
, ex. 0xA8040020
for REG_KEY.
PI address | name | R/W | description |
---|---|---|---|
0x08040000 | REG_CFG | R/W | ED64 general configurations |
0x08040004 | REG_STATUS | R | ED64 registers, SPI, DMA statuses |
0x08040008 | REG_DMA_LEN | W | SD/USB DMA length in 512bytes blocks - 1 (ex. 0 = 0x200 bytes) |
0x0804000C | REG_DMA_ADDR | W | SD/USB Cart address in 2048bytes blocks (ex. 1 = 0x00000800) |
0x08040010 | REG_MSG | ? | ? |
0x08040014 | REG_DMA_CFG | W | Invoke SD/USB DMA |
0x08040018 | REG_SPI | R/W | SPI DAT/CMD (write invoke CLK) |
0x0804001C | REG_SPI_CFG | W | SPI configurations |
0x08040020 | REG_KEY | W | Enable or disable ED64 registers |
0x08040024 | REG_SAV_CFG | W | Save configurations (EEPROM/SRAM/FLASH) |
0x08040028 | REG_SEC | ? | ? |
0x0804002C | REG_VER | R | Hardware version |
0x08040030 | ? | R/W | I2C to access RTC |
0x08040034 | ? | ? | ? |
0x08040038 | ? | ? | ? |
0x0804003C | ? | ? | ? |
0x08040040 | REG_CNT | ? | FPGA? |
0x08040044 | REG_DAT | ? | FPGA? |
0x08040048 | MAX_MSG | R/W | Some configurations |
0x0804004C | REG_CRC | ? | ? |
0x08040050 | ? | ? | Flash? |
0x08040054 | ? | ? | Flash? |
0x08040000 (REG_CFG)
R/W
bit from lsb | description |
---|---|
15 | 1=start FPGA configuration?? |
9-8 | D64 specific?? |
6-5 | I2C/RTC?? |
3 | WR_ADDR_MASK?? |
2 | WR_MOD?? |
1 | 1=16bit swap on SD DMA read |
0 | 1=enable SDRAM on cart (usually set to 1) |
...other regs TBA
USB Serial Communication
TBA