SummerCart64 - a fully open source N64 flashcart
Go to file
2023-01-30 05:55:15 +01:00
.github [SC64][DOCS] Updated documentation / rearranged files 2023-01-01 22:09:27 +01:00
.vscode [SC64][FW][HW][SW] New version based on LCMXO2 FPGA (#19) 2022-11-10 11:46:54 +01:00
assets [SC64] Updated README.md 2023-01-04 20:47:23 +01:00
docs [SC64][DOCS][SW] SD card and flash related improvements 2023-01-06 23:47:00 +01:00
fw [SC64][FW] Updated FT232H config 2023-01-25 00:00:30 +01:00
hw [SC64][FW][HW][SW] New version based on LCMXO2 FPGA (#19) 2022-11-10 11:46:54 +01:00
sw [SC64][SW] Bootloader fixes 2023-01-30 05:55:15 +01:00
.gitattributes [SC64][SW] Fix linguist-vendored 3 2022-11-10 17:13:06 +01:00
.gitignore [SC64][FW][HW][SW] New version based on LCMXO2 FPGA (#19) 2022-11-10 11:46:54 +01:00
build.sh [SC64][SW] Bootloader fixes 2023-01-30 05:55:15 +01:00
docker_build.sh [SC64][SW] Updated FatFs, added menu load address checking 2023-01-08 20:01:47 +00:00
LICENSE [SC64] Add license 2020-10-08 02:09:44 +02:00
README.md [SC64][SW] Reduced update file size 2023-01-23 00:47:05 +01:00

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.


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.