Skip to content
forked from Hydr8gon/sodium64

A SNES emulator for the N64, written in assembly

License

Notifications You must be signed in to change notification settings

nopjne/sodium64

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sodium64

A SNES emulator for the N64, written in assembly.

Overview

The goal of sodium64 is to be fast and accurate enough to at least get some SNES games playable on the N64. It does its rendering entirely on the RSP in an attempt to reduce load on the main CPU. I thought it would be fun to write something specifically for older hardware in assembly, so sodium64 was born! It's still in very early stages, so don't expect much.

Downloads

Automatic builds of the latest sodium64 commit are provided via GitHub Actions; you can download them on the releases page.

Usage

Place SNES ROMs with extension .sfc/.smc in the same folder as sodium64.z64 and rom-converter.py. Run rom-converter.py using Python to convert the SNES ROMs to N64 ROMs. The output ROMs will be in a new folder called out.

Compiling

Although sodium64 is written in assembly, it relies on libdragon for its build system. When you have that set up, you can simply run make in the project root directory to compile.

References

  • Fullsnes by Martin Korth - My main source of information on SNES hardware
  • Decimal Mode by Bruce Clark - Covers the CPU's barely-documented BCD mode

Other Links

About

A SNES emulator for the N64, written in assembly

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Assembly 93.9%
  • C 4.4%
  • Makefile 1.4%
  • Python 0.3%