Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 20 days 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 2 months ago)
- Default Branch: master
- Last Pushed: 2024-10-15T15:49:42.000Z (21 days ago)
- Last Synced: 2024-10-16T20:03:59.050Z (20 days ago)
- Topics: 6502, apu, c99, emulator, family-computer, fc, lightweight, nes, nintendo, ppu
- Language: Assembly
- Homepage:
- Size: 7.35 MB
- Stars: 16
- Watchers: 1
- Forks: 3
- 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
![super-mario](documents/screenshots/super-mario.png)
![contra](documents/screenshots/contra.png)
![battle-city](documents/screenshots/battle-city.png)
![flying-hero](documents/screenshots/flying-hero.png)
![gun-smoke](documents/screenshots/gun-smoke.png)
![jackal](documents/screenshots/jackal.png)
![1943](documents/screenshots/1943.png)
![circus-chablic](documents/screenshots/circus-chablic.png)
![chinese-chese](documents/screenshots/chinese-chese.png)
![lode-runner](documents/screenshots/lode-runner.png)
![pinball](documents/screenshots/pinball.png)
![excite-bike](documents/screenshots/excite-bike.png)
![bomber-man](documents/screenshots/bomber-man.png)
![3eye](documents/screenshots/3eye.png)
![chip-dale](documents/screenshots/chip-dale.png)
![duck-hunt](documents/screenshots/duck-hunt.png)
![64-in-1](documents/screenshots/64-in-1.png)## 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.