mirror of
https://github.com/bryanperris/cor64.git
synced 2025-04-02 10:31:54 -04:00
N64 Emulator written in C#
c-sharpdotnetdotnet-coredotnetcoreemulationemulatorglfw3interpretermipsmips-assemblermips-assemblymsil-compilern64nintendo64recompilationskiasharptestingunit-testing
* Mupen64Plus demo runs with LLE RDP (many rendering glitches), works well with gliden64 plugin * Little-endian model now supported and works (required for gliden64 plugin) * Added glideN64 plugin support (custom version only for cor64) * Can render with HLE graphics or LLE graphics * Some fixes for BassSharp * Boot related fixes * Better way to manage CSharp defines * Memory improvements, fixes * TLB now works * FPU Fixes * PIF controller basics are working now such as controller input * Added some debug functions to the madcat rdp * Remove hosting the test roms in the repo * Started work on workbench scripting with IronPython * Unit test fixes * a snippet of IPL2 is assembled on the fly required for 6105 booting * Other fixes, etc. |
||
---|---|---|
.github | ||
.paket | ||
.vscode | ||
build | ||
genlibs | ||
src | ||
.gitignore | ||
.gitmodules | ||
build.cmd | ||
build.ps1 | ||
build.sh | ||
copytests.sh | ||
cor64.code-workspace | ||
cor64.sln | ||
genlibs.sh | ||
genlibs.sln | ||
genlibs_justcs.sh | ||
LICENSE | ||
package.json | ||
paket.dependencies | ||
paket.lock | ||
README.md | ||
rsp_plugin_test.sh | ||
run.sh | ||
run_release.sh | ||
workbench_release.sh |
cor64
C# based N64 Emulator
This is a work-in-progress freetime project
Debugging
- When hex dumping a rom, the program code (after the IPL) always starts 0x1000 in the file normally
Development
What you need
- .NET Framework / Mono
- .NET Core 3.x or higher
- For Linux: GLFW devel libraries
Required Global DotNet Tools
- Paket
- nuke.globaltool
Build and Run $ nuke Run
Run Unit Tests $ nuke Test [--filter ] [--debug-test]
CppSharp support for Ubuntu 18.04
- Must have dotnet runtime 3.1 insalled
git clone https://github.com/InteropAlliance/premake-core/
cd premake-core
make -f Bootstrap.mak linux
cd ..
git clone --recursive https://github.com/mono/CppSharp.git
cd CppSharp
git checkout 1.0.1
cd build
cp -r ../../premake-core/bin/release/* premake/
./build.sh clone_llvm
./build.sh build_llvm
./build.sh package_llvm
./build.sh generate -configuration Release -platform x64
./build.sh -configuration Release -platform x64
GlideN64 Crashing
- Make sure font file
/usr/share/fonts/truetype/freefont/FreeSans.ttf
exists
Now add the generated library to your ld configuration or use LD_LIBRARY_PATH
References
- byuu's Bass Assembler: https://github.com/ARM9/bass
- N64 Test Roms: https://github.com/PeterLemon/N64
- Project64: https://github.com/project64/project64
- cxd4 Rsp: https://github.com/cxd4/rsp
- Mupen64: https://github.com/mupen64plus/mupen64plus-core
- Cen64: https://github.com/n64dev/cen64
- AngryLion RDP: https://github.com/ata4/angrylion-rdp-plus/releases