https://github.com/xboot/libxnes
A lightweight, portable pure C99 NES emulator library.
https://github.com/xboot/libxnes
6502 apu c99 emulator family-computer fc lightweight nes nintendo ppu
Last synced: 5 months ago
JSON representation
A lightweight, portable pure C99 NES emulator library.
- Host: GitHub
- URL: https://github.com/xboot/libxnes
- Owner: xboot
- License: mit
- Created: 2024-09-12T03:18:27.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-10-21T09:35:11.000Z (about 1 year ago)
- Last Synced: 2025-03-29T03:22:37.093Z (8 months ago)
- Topics: 6502, apu, c99, emulator, family-computer, fc, lightweight, nes, nintendo, ppu
- Language: Assembly
- Homepage:
- Size: 7.41 MB
- Stars: 32
- Watchers: 1
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
***
# Libxnes
A lightweight, portable pure `C99` NES emulator library.
## Getting Started
Just type `make` at the root directory, you will see some binary of [examples](examples) for usage.
```shell
cd libxnes
make
```
To compile the example, you need to install SDL2, In ubuntu systems:
```shell
sudo apt-get install libsdl2-dev
```
#### How to running
After compiling all of files, you can running an example or drag some nes file to xnes:
```shell
cd examples/linux/output/
./xnes
```
## Screenshots

















## Keyboard
| Description | Player 1 | Player 2 |
| ---- | ---- | :--- |
| UP | W | Arrow Up |
| DOWN | S | Arrow Down |
| LEFT | A | Arrow Left |
| RIGHT | D | Arrow Right |
| A | K | Numpad 6 |
| B | J | Numpad 5 |
| SELECT | Space | Numpad 8 |
| START | Enter | Numpad 9 |
| Description | Key |
| :--- | ---- |
| RESET | ESC |
| SLOW SPEED | F1 |
| FAST SPEED | F2 |
| REWIND | R |
## Joystick
| Description | Joystick 1 | Joystick 2 |
| ---- | ---- | :--- |
| UP | Up | Up |
| DOWN | Down | Down |
| LEFT | Left | Left |
| RIGHT | Right | Right |
| A | A | A |
| B | B | B |
| SELECT | Select | Select |
| START | Start | Start |
| REWIND | L |L|
| FAST SPEED | R |R|
## Links
* [The Chinese Discussion Posts](https://whycan.com/t_11467.html)
* [The Nesdev Wiki](https://www.nesdev.org/wiki/Nesdev_Wiki)
* [The 6502 Instruction Set](https://www.masswerk.at/6502/6502_instruction_set.html)
* [The NES Cart Database](https://nescartdb.com)
## License
This library is free software; you can redistribute it and or modify it under the terms of the MIT license. See [MIT License](LICENSE) for details.