notes:flashcart:ws_flash_masta
This is an old revision of the document!
Table of Contents
WS Flash Masta (WS/WSC) programming
The flashcart uses (rev4) or emulates (rev5+) a 2003 mapper. Most of its functionality (banking, flash access via SRAM) is provided.
- JS28F00AM29EWHA (1Gbit NOR flash, accessible as 16 64Mbit slots)
- 4Mbit SRAM
AVR wake/sleep
AVR wake/sleep is controlled using 2003 GPIO bit 3.
To wake up the AVR:
- port 0xCD = 0x08
- port 0xCC = 0x08
- port 0xCD = 0x00
One should wait around 12 ms (maybe less?) after sending this signal to ensure the AVR is awake.
To put the AVR to sleep:
- port 0xCD = 0x08
- port 0xCC = 0x00
RTC extensions
The flashcart uses invalid RTC date/time values to provide custom commands. For this to work, the AVR must be awake (see above).
Set slot
Format: RTC command 0x14 with parameters [0xA1, slot, 0, 0, 0, 0, 0, 0]
.
Description: Configure the visible slot, from 0 to 15.
2003 mapper emulation bugs (rev5+)
- RTC port 0xCA always returns either 0x94 (while a command is being processed) or 0x84 (when it is done). It is unknown if anything beyond the “set slot ID” command is emulated.
- All other bytes in the 0xC0~0xDF space have all 8 bits writable. Bytes 0xE0~0xFF are not writable and always return 0x00.
- Port 0xCF is not a mirror of byte 0xC0 and has no effect, though it is set to 0x3F on boot just like byte 0xC0.
- Setting bit 0 of port 0xCE disconnects the NOR flash from the ROM bus (memory area 0x20000 - 0xFFFFF returns 0xFF bytes).
Power on state: 3F FF FF FF 00 00 00 00 00 00 84 00 00 00 00 3F FF 03 FF 03 FF 03 00 00 00 00 00 00 00 00 00 00
notes/flashcart/ws_flash_masta.1749986949.txt.gz · Last modified: by asie