From 36fbbdc06361a3b02f60f2b9582194db6e12bc46 Mon Sep 17 00:00:00 2001 From: Mateusz Faderewski Date: Thu, 10 Nov 2022 10:19:41 +0100 Subject: [PATCH] readme test --- .github/sc64_v2_block_diagram.svg | 4 ++ README.md | 73 +++---------------------------- 2 files changed, 10 insertions(+), 67 deletions(-) create mode 100644 .github/sc64_v2_block_diagram.svg diff --git a/.github/sc64_v2_block_diagram.svg b/.github/sc64_v2_block_diagram.svg new file mode 100644 index 0000000..f820b82 --- /dev/null +++ b/.github/sc64_v2_block_diagram.svg @@ -0,0 +1,4 @@ + + + +
SPI Interface
SPI Interface
USB FIFO R/W
USB FIFO R/W
Memory interface
Memory interface
Control Register File
Control Register File
FT1248 Interface
FT1248 Interface
TX FIFO 1kB
TX FIFO 1kB
RX FIFO 1kB
RX FIFO 1kB
FIFO Junction
FIFO Junction
USB DMA Controller
USB DMA Controller
SDIO Interface
SDIO Interface
TX FIFO 1kB
TX FIFO 1kB
RX FIFO 1kB
RX FIFO 1kB
SD DMA Controller
SD DMA Controller
USB
FT232H
USB...
USB
Type-C
USB...
SD Card Slot
SD Card Sl...
μC
STM32G030
μC...
RTC
MCP7940N
RTC...
UART Header
UART Header
USB 
USB 
Flashcart Controller 
Flashcart Controller 
SD Card 
SD Card 
Button
Button
LED
LED
FLASH Interface
FLASH Interface
SDRAM Interface
SDRAM Interface
Block RAM ~10kB
Block RAM ~10kB
SDRAM
64 MB
SDRAM...
QSPI FLASH
16 MB
QSPI FLASH...
 Memory
 Memory
Memory Arbiter
Memory Arbiter
FPGA Vendor Interface
FPGA Vendor Int...
N64
CIC
N64...
N64
Reset
N64...
N64
IRQ
N64...
N64
Joybus
N64...
N64
AD16 Bus
N64...
PI Interface
PI Interface
Joybus Interface
Joybus Interface
EEPROM Controller
EEPROM Controller
RTC Controller
RTC Controller
64DD Controller
64DD Controller
FlashRAM Controller
FlashRAM Controller
Flashcart Interface
Flashcart Interface
 N64 Joybus devices
 N64 Joybus devices
 N64 PI devices
 N64 PI devices
IRQ Controller
IRQ Controller
FPGA 
LCMXO2-7000 
FPGA...
12 MHz
Clock
12 MHz...
50 MHz
Clock
50 MHz...
PLL
PLL
SYS CLK
SYS CLK
SYS CLK
100 MHz
SYS CLK...
SDRAM CLK
100 MHz 90°
SDRAM CLK...
Clock & Reset 
Clock & Reset 
RESET
RESET
Power-ON
Reset Generator
Power-ON...
Debug
Header
Debug...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/README.md b/README.md index e628a0c..384f71d 100644 --- a/README.md +++ b/README.md @@ -1,75 +1,14 @@ -# SummerCollection -A collection of hardware, firmware and software designs of SummerCart64 - Nintendo 64 FlashCart/DevKit. +# SC64 - an open source Nintendo 64 flashcart -## Project parts +## High-level block diagram -### Firmware - -Folder **`fw`** contains firmware written in Verilog for Intel MAX10 FPGA. - -### Hardware - -Folder **`hw`** contains PCB design made in Autodesk Eagle. - -### Software - -Folder **`sw`** contains several helper programs that makes flash cart work all together, including bootloader and CIC emulation. - - -## What works - -### **OLD STATUS, WILL BE UPDATED SOON** - -~~Currently hardware implements basic functionality for playing games - ROM emulation, 4/16K EEPROM, bootloader and PC communication. You can send any ROM to the SDRAM from PC and if game doesn't check for save hardware other than EEPROM then it most likely will work. Bootloader does all the work necessary to setup the console registers for specific CIC chip that game requires.~~ - - -## How to build - -### **OLD INSTRUCTIONS, WILL BE UPDATED SOON** - -~~Instructions below are mostly written for Windows users and point to Windows specific executables.~~ - -1. ~~Download latest zip files from [releases tab](https://github.com/Polprzewodnikowy/SummerCollection/releases).~~ -2. ~~Order PCBs in your farovite company, all gerbers, bill of materials and schematics are in **`SummerCart64_PCB-[version].zip`** file.~~ -3. ~~Order all necessary components, eg. in [Mouser](https://mouser.com/).~~ -4. ~~Solder all components onto the PCB.~~ -5. ~~Connect flashcart to PC.~~ -6. ~~Download [FT_PROG](https://www.ftdichip.com/Support/Utilities.htm#FT_PROG) from FTDI website.~~ -7. ~~Open FT_PROG and scan for devices.~~ -8. ~~Load `ftdi-template.xml` from **`SummerCart64-[version].zip`** located in `hw` folder.~~ -9. ~~Program FTDI chip, then right click on the device and select "Cycle port"~~ -10. ~~Download and install [Arrow USB Blaster drivers](https://shop.trenz-electronic.de/en/Download/?path=Trenz_Electronic/Software/Drivers/Arrow_USB_Programmer/Arrow_USB_Programmer_2.4) from Trenz Electronic website.~~ -11. ~~Download and install [QuartusProgrammer](https://download.altera.com/akdlm/software/acdsinst/20.1std/711/ib_installers/QuartusProgrammerSetup-20.1.0.711-windows.exe) from Intel website.~~ -12. ~~Click on "Hardware Setup..." button and select "Arrow-USB-Blaster [AR*xxxxxx*]" in "Currently selected hardware", then close window.~~ -13. ~~Click on "Auto Detect" button and select "10M08SC" option.~~ -14. ~~Click on the newly shown row, then click on "Change File..." button and select `SummerCart64.pof` file from **`SummerCart64-[version].zip`** located in `fw/output_files` folder.~~ -15. ~~Select "Program/Configure" and "Verify" checkboxes.~~ -16. ~~Click on "Start" button and wait for operation to finish.~~ -17. ~~Download and install avrdude.~~ -18. ~~Program ATtiny45 with `UltraCIC-III.hex` file from **`SummerCart64-[version].zip`** located in `sw/cic` folder, more information is available [here](https://github.com/ManCloud/UltraCIC-III).~~ -19. ~~Download latest release of [N64-UNFLoader](https://github.com/buu342/N64-UNFLoader).~~ -20. ~~Insert flashcart in the Nintendo 64.~~ -21. ~~Upload ROM by executing `UNFLoader -r your_rom_file.n64`~~ -22. ~~Turn on console and enjoy playing homebrew games on real hardware.~~ - - -## Issues - -### **OLD STATUS, WILL BE UPDATED SOON** - -~~There are several issues with the project at the moment in order of importance. Keep in mind that core flashcart functionality is fully working:~~ - -- ~~No save write-back to SD card without console reset implementation.~~ - - -## What's next - -Current goal is to rewrite README.md +[](.github/sc64_v2_block_diagram.svg) ## Finished sample -SC64 HW ver: 2.0 PCB top -SC64 HW ver: 2.0 PCB bottom +[SC64 HW ver: 2.0 PCB top](.github/sc64_v2_top.jpg) + +[SC64 HW ver: 2.0 PCB bottom](.github/sc64_v2_bottom.jpg)