Skip to content

v2.19.0

Latest
Compare
Choose a tag to compare
@Polprzewodnikowy Polprzewodnikowy released this 06 Sep 23:07

Important: Updating the firmware to this version will reset RTC time, CIC region and all persistent settings.

N64FlashcartMenu downloads can be found here: https://github.com/Polprzewodnikowy/N64FlashcartMenu/releases/latest

Firmware changelog:

  • Expanded interrupt support. SummerCart64 now can signal via cart interrupt the following events:
    • Button press.
    • Command finish.
    • USB data waiting to be received.
    • AUX register waiting to be read.
  • Added new AUX register and AUX_WRITE USB command as a simple message link between PC and N64.
  • Expanded PI I/O debug information - in addition to the last accessed address, transfer length and direction are also reported.
  • Added CIC debug information - currently executing function in the CIC code is reported.
  • CIC delays are now synchronized with N64 clock and reset time is exactly 500 ms.
  • Improvements to the USB reset process to make it more reliable.
  • RTC improvements:
    • Added ability to set the century, starting at year 1900.
    • Joybus RTC now correctly handles the century bit.
    • RTC now correctly handles the February 29 2000 date, and subsequent leap years occurring every 400 years (2400, 2800, ...).
  • Improvements to the internal architecture in the FPGA:
    • DMA module has been rewritten to maximize transfer speeds, now saturating maximum speeds of the USB and SD card interfaces in both directions.
    • SDRAM timings were adjusted to the correct, shorter values reducing the overall access latency.
  • Changed reported error codes in the N64 commands to be more meaningful.
  • Built-in test ROM improvements:
    • Added cart interrupt test.
    • Added PI bus stability test.
    • Added SD card filesystem read/write test.
    • SDRAM test was adjusted to increase chance to report more errors.
  • Added ability to update firmware from the flash memory in instances where SDRAM is faulty/unstable.
  • Updated libdragon open source IPL3 to the r8 release.
  • Fixed a bug in the flash module - partial writes not ending on a 256 byte boundary caused next flash reads to be corrupted.
  • Fixed a bug where flash write alignment was required to be 2 bytes.
  • Fixed a bug in RTC get/set command where weekday field was using different bits than documented.
  • Fixed a bug where LED could be stuck on when CIC error was cleared while LED was on.
  • Fixed a bug where SD card could be incorrectly initialized.
  • Fixed a bug where TRAN_SPEED field in the CSD SD card register was reported incorrectly.

PC app changelog:

  • Added support for the libftdi in addition to the standard serial port implementation. When possible, libftdi will be used as it saturates read/write USB speeds. On Windows OS user can opt-in for the libftdi by using Zadig to install WinUSB driver over the default FTDI driver. Linux and macOS doesn't require any driver installation and libftdi is used by default.
  • Added option to the upload and 64dd commands to try reboot the N64 into new ROM (requires specific support in the currently running game/app on the N64, for more information check the AUX register in the documentation).
  • Adjusted info command to show updated debug information reported by the SummerCart64.
  • Added test command to perform USB speed test and SDRAM memory test.
  • Added option to the firmware update command to allow firmware update from the flash memory.
  • Fixed a bug in the server command where connection could be closed in unstable network conditions.

Initial programming script changelog:

  • Added a quick SDRAM memory test before proceeding with programming the bootloader.
  • primer.py no longer requires typing YES confirmation in uppercase.