SummerCart64/README.md
2023-02-17 00:16:59 +01:00

3.8 KiB

SC64 - an open source Nintendo 64 flashcart


Features

  • 64 MiB SDRAM memory for game and save data
  • 16 MiB FLASH memory for bootloader and extended game data
  • 8 kiB on-chip buffer for general use
  • ~23.8 MiB/s peak transfer rate USB interface for data upload/download and debug functionality
  • ~23.8 MiB/s peak transfer rate SD card interface
  • EEPROM, SRAM and FlashRAM save types with automatic writeback to SD card
  • Battery backed real time clock (RTC)
  • Status LED and button for general use
  • 64DD add-on emulation
  • IS-Viewer 64 debug interface
  • N64 bootloader with support for IPL3 registers spoofing and loading menu from SD card
  • Enhanced UltraCIC_C emulation with automatic region switching and programmable seed/checksum values
  • PC app for communicating with flashcart (game/save data upload/download, feature enable control and debug terminal)
  • UNFLoader support
  • Initial programming via UART header or dedicated JTAG/SWD interfaces
  • Software and firmware updatable via USB interface
  • 3D printable plastic shell

Documentation


Help / Q&A

For any questions related to this project, please use Discussions tab in GitHub repository. Do not use my e-mail for these questions, as I want to have a centralized knowledge base accessible for everyone interested in this project.

I'm also active at N64brew Discord server as korgeaux#5558 but keep in mind that Discussions tab is a preferred option. Discord is not a replacement for contact form in any way.


High-level flashcart block diagram

SC64 block diagram


Finished example

SC64 finished example


Acknowledgement

This project wouldn't be possible without these contributions:

  • 64drive orders being on permanent hold long before creating this repository.
  • EverDrive-64 X7 being disappointment for homebrew development (slow USB upload, unjustified price and overcomplicated SD card access).
  • Jan Goldacker (@jago85) and his projects:
    • Brutzelkarte providing solid base for starting this project and sparking hope for true open source N64 flashcarts.
    • UltraCIC_C reimplementation for easy integration in modern microcontrollers. Thanks also goes to everyone involved in N64 CIC reverse engineering.
  • N64brew Discord server community being very helpful during flashcart development.
  • FatFs FAT32/exFAT library being easiest to integrate in embedded environment.
  • Yakumono's (@LuigiBlood) extensive 64DD documentation and its implementation in various emulators.
  • Libdragon open source N64 SDK project and its developers.