mirror of
https://github.com/Polprzewodnikowy/SummerCart64.git
synced 2024-11-30 17:14:14 +01:00
421d0438f3
This PR completely removes `task.c / task.h` from `sw/controller` STM32 code. Additionally, these changes were implemented: - Updated IPL3 - Added new diagnostic data (voltage and temperature) readout commands for USB and N64 - Fixed some issues with FlashRAM save type - Joybus timings were relaxed to accommodate communication with unsynchronized master controller (like _Datel Game Killer_, thanks @RWeick) - N64 embedded test program now waits for release of button press to proceed - Fixed issue where, in rare circumstances, I2C peripheral in STM32 would get locked-up on power-up - LED blinking behavior on SD card access was changed - LED blink duration on save writeback has been extended - Minor fixes through the entire of hardware abstraction layer for STM32 code - Primer now correctly detects issues with I2C bus during first time programming - `primer.py` script gives more meaningful error messages - Fixed bug where RTC time was always written on N64FlashcartMenu boot - sc64deployer now displays "Diagnostic data" instead of "MCU stack usage"
4.0 KiB
4.0 KiB
N64 commands
id | name | arg0 | arg1 | rsp0 | rsp1 | description |
---|---|---|---|---|---|---|
v |
IDENTIFIER_GET | --- | --- | identifier | --- | Get flashcart identifier SCv2 |
V |
VERSION_GET | --- | --- | major/minor | revision | Get flashcart firmware version |
c |
CONFIG_GET | config_id | --- | --- | current_value | Get config option |
C |
CONFIG_SET | config_id | new_value | --- | previous_value | Set config option and get previous value |
a |
SETTING_GET | setting_id | --- | --- | current_value | Get persistent setting option |
A |
SETTING_SET | setting_id | new_value | --- | --- | Set persistent setting option |
t |
TIME_GET | --- | --- | time_0 | time_1 | Get current RTC value |
T |
TIME_SET | time_0 | time_1 | --- | --- | Set new RTC value |
m |
USB_READ | pi_address | length | --- | --- | Receive data from USB to flashcart |
M |
USB_WRITE | pi_address | length/type | --- | --- | Send data from from flashcart to USB |
u |
USB_READ_STATUS | --- | --- | read_status/type | length | Get USB read status and type/length |
U |
USB_WRITE_STATUS | --- | --- | write_status | --- | Get USB write status |
i |
SD_CARD_OP | pi_address | operation | --- | return_data | Perform special operation on SD card |
I |
SD_SECTOR_SET | sector | --- | --- | --- | Set starting sector for next SD card R/W operation |
s |
SD_READ | pi_address | sector_count | --- | --- | Read sectors from SD card to flashcart |
S |
SD_WRITE | pi_address | sector_count | --- | --- | Write sectors from flashcart to SD card |
D |
DISK_MAPPING_SET | pi_address | table_size | --- | --- | Set 64DD disk mapping for SD mode |
w |
WRITEBACK_PENDING | --- | --- | pending_status | --- | Get save writeback status (is write queued to the SD card) |
W |
WRITEBACK_SD_INFO | pi_address | --- | --- | --- | Load writeback SD sector table and enable it |
K |
FLASH_PROGRAM | pi_address | length | --- | --- | Program flash with bytes loaded into data buffer |
p |
FLASH_WAIT_BUSY | wait | --- | erase_block_size | --- | Wait until flash ready / get block erase size |
P |
FLASH_ERASE_BLOCK | pi_address | --- | --- | --- | Start flash block erase |
% |
DIAGNOSTIC_GET | diagnostic_id | --- | --- | value | Get diagnostic data |