Experimental Nintendo Switch emulator
Go to file
2018-07-03 22:55:27 +09:00
ARMv8 Fixed some bugs 2018-07-03 22:55:27 +09:00
include Fixed some bugs 2018-07-03 22:55:27 +09:00
Ipcdefs Add inital support of bsd:s/u service 2018-06-12 04:12:03 +09:00
Service Fixed some bugs 2018-07-03 22:55:27 +09:00
test Fixed determination logic of which x31 is 'Zero register' or 'Stack Pointer' 2018-03-10 01:30:18 +09:00
.gitignore Add initial support of auto generation of IpcStub.h 2018-04-10 17:27:09 +09:00
.gitmodules Add test framework based on libtransisotr(Reswithed Team works) 2018-01-02 00:19:54 +09:00
Cpu.cpp Add Deep Trace option that trace all registers 2018-06-08 03:29:49 +09:00
GdbStub.cpp Add 128bit FP register support 2018-06-08 02:27:32 +09:00
GenIpcStubs.py Fixed some bugs 2018-07-03 19:38:11 +09:00
Idparser.py Add initial support of auto generation of IpcStub.h 2018-04-10 17:27:09 +09:00
Ipc.cpp Fixed some bugs 2018-07-03 19:38:11 +09:00
LICENSE Initial commit 2017-10-23 17:34:28 +09:00
Main.cpp Add Deep Trace option that trace all registers 2018-06-08 03:29:49 +09:00
Makefile Add stub code of fsp-srv 2018-06-06 21:54:13 +09:00
Memory.cpp Fixed some bugs 2018-07-03 22:55:27 +09:00
NintendoObject.cpp Change RAMBlock logic 2018-04-19 22:26:12 +09:00
Nsemu.cpp Add stub code of fsp-srv 2018-06-06 21:54:13 +09:00
Partialparser.py Add initial support of auto generation of IpcStub.h 2018-04-10 17:27:09 +09:00
README.md Add buid instructions 2018-03-26 20:57:37 +09:00
Svc.cpp Fixed some bugs 2018-07-03 19:38:11 +09:00
Util.cpp Fixed some bugs 2018-06-09 02:28:49 +09:00

NSEMU

NSEMU is a Nintendo Switch Emulator. It allows you to play games on PC.

Building

git clone https://github.com/RKX1209/nsemu.git
cd nsemu
make -j4

Running

./nsemu <NSO file>

You can try some homebrew application like libtransistor.

./nsemu /path/to/libtransistor/build/test/test_bsd.nso

Debugging

Currently you should modify a run level flag to debugging mode.
include/Util.hpp

static RunLevel curlevel = RUN_LEVEL_DEBUG;
//static RunLevel curlevel = RUN_LEVEL_RELEASE;