Cycle-Accurate Nintendo 64 Emulator
Go to file
Tyler J. Stachecki 2bc82052c3 Change default visibility to hidden, expose entrypoint.
If we restrict the number of entrypoints to limit the scope
of what can be called from outside the .so, the compiler can
generate more optimized code.
2016-09-04 09:21:36 -04:00
ai ai: Fix regression in previous commit. 2016-07-10 15:39:42 -04:00
arch rsp: Bugfix for SSE2 RSP. 2016-08-06 20:53:04 -04:00
assets Initial commit. 2014-03-08 11:12:15 -05:00
bus dd: identify IPL and add support for all known dumped IPLs 2016-08-31 18:33:15 -07:00
cmake cmake: remove build system dependency on GNU as 2016-06-19 08:55:53 -07:00
common Remove unused cen64_context_* calls. 2016-06-22 09:15:10 -04:00
dd dd: identify IPL and add support for all known dumped IPLs 2016-08-31 18:33:15 -07:00
debugger See long description 2015-07-01 18:44:21 -05:00
device Add note about debugger not existing 2016-08-31 21:45:04 -04:00
os Change default visibility to hidden, expose entrypoint. 2016-09-04 09:21:36 -04:00
pi bus: Perform open bus reads for unmapped addresses. 2016-07-17 20:47:07 -04:00
rdp Start fixing MSVC builds. 2016-06-26 17:19:17 -04:00
ri Implement izy's SSE audio processing idea. 2016-02-27 18:06:18 -05:00
rsp rsp: Fix SQV and SRV (more endianness issues). 2016-07-09 19:38:26 -04:00
si dd: identify IPL and add support for all known dumped IPLs 2016-08-31 18:33:15 -07:00
vi vi: Make VI emulation less bad. 2016-07-17 20:14:01 -04:00
vr4300 vr4300: Fix a major TLB bug. 2016-07-09 14:49:59 -04:00
.gitattributes See long description 2015-07-01 18:44:21 -05:00
.gitignore See long description 2015-07-01 18:44:21 -05:00
cen64.c dd: identify IPL and add support for all known dumped IPLs 2016-08-31 18:33:15 -07:00
cen64.h See long description 2015-07-01 18:44:21 -05:00
CMakeLists.txt Change default visibility to hidden, expose entrypoint. 2016-09-04 09:21:36 -04:00
common.h.in quiet warnings on OS X 2016-01-28 00:42:35 -05:00
CONTRIBUTORS Update contributors and README.md. 2016-02-27 16:04:24 -05:00
launcher.c Build a .so version of CEN64. 2016-09-04 09:16:05 -04:00
LICENSE See long description 2015-07-01 18:44:21 -05:00
README.md Update contributors and README.md. 2016-02-27 16:04:24 -05:00
VERSION Initial commit. 2014-03-08 11:12:15 -05:00

About

Yes, another Nintendo 64 emulator. This one, however, aims for perfect emulation by emulating the hardware inside of the Nintendo 64 itself, down to the register-transfer level (RTL). At the same time, I've tried to keep things as optimized as possible in hopes that CEN64 will someday run ROMs at full speed, even on modest systems.

Why?

CEN64 is my pet project. It's something I pick up whenever I get bored. To me, what Nintendo and SGI did with this console is nothing short of amazing. The ingenuity and design of the hardware was well-ahead of it's time, and it is an absolute blast to reverse-engineer and study. I started this project in order to learn more about what really went on at the hardware level back in the (good old) days.

Thank you to every single one of you developers for filling my childhood with excellent memories. I'd also like to thank the community on all their hard work and effort spent reverse-engineering this little gem. Without further ado... "Get N or get out"!

Development

If you want to contribute, please do! Pull requests are most certainly welcome. Feel free to add yourself to the CONTRIBUTORS file as well.

Keyboard controls

  • 3D stick: arrow keys
  • A button: X
  • B button: C
  • Z button: Z
  • Start button: enter
  • L/R buttons: A/S
  • C-pad: TFGH
  • D-pad: IJKL