- Notifications
You must be signed in to change notification settings - Fork0
(WIP!) SNES emulator written in rust
License
nat-rix/rsnes
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Many games are already playable, but some graphics and sounds are faulty.Comparatively functioning games are e.g. Donkey Kong Country, Wolfenstein 3D,F-Zero, Super Mario World, Super Mario Kart, The Legend of Zelda,Super Street Fighter II.
In the default configuration, controller port 1 is connected to astandard controller and port 2 is left unconnected.These keyboard keys will drive controller 1:
Keyboard key on QWERTY | Controller key |
---|---|
W | ↑ |
A | ← |
S | ↓ |
D | → |
Q | L |
E | R |
Left Alt | Start |
Right Alt | Select |
J | A |
K | B |
L | X |
;* | Y |
0-9 | Store Save State 0-9 |
Shift + 0-9 | Load Save State 0-9 |
* the button right ofL
You can configure rsnes with aTOML configuration file.You can provide this file by using the option--config <PATH>
or by placingit into one of these paths:
$HOME/.config/rsnes/config.toml
$HOME/.config/rsnes.toml
/etc/rsnes.toml
Seeemulator/example.toml
fordocumentation.
This repository is a workspace consisting of two crates
rsnes
- the SNES backend library (located in/rsnes/
)rsnes-emulator
- a sample frontend implementation usingwinit
andwgpu
(located in/emulator/
)
rsnes
API is neither tested nor documented (well)
rsnes-emulator
is only tested on Linux/X11
This is a set of features to be implemented in the future (sorted by priority)
- Mode 7 support
- Sprite support
- Color math
- S-DSP echo effect support
- S-DSP noise effect support
- PPU Mosaic effect
- Save game to files
- SA-1 support
- Real gamepad input support for
rsnes-emulator
(seewinit#944,maybe use unstable fork or branch?) - Improved documentation
- Tests
- 65816 processor instruction tests
- SPC-700 processor instruction tests
- Audio tests
- Video output tests
- configurable UI
- configurable key bindings
- emulator running also onWASM
- DSPcoprocessor support
- DSP-1, DSP-1A, DSP-1B
- DSP-2, DSP-3, DSP-4 (low priority)
- ST010, ST011 (very low priority)
- GSU coprocessor support(also known as Super FX)
- GSU1
- GSU2
- Complete the 65816 instruction set
- Complete the SPC700 instruction set
- Complete the NEC μPD77C25 instruction set
- Complete the GSU instruction set
- Multitap (MP5) controller support
- SNES Mouse support
- SNES Super Scope support
- Save States
- Capcom CX4 coprocessor support(this processor is only used in Mega Man X2 and Mega Man X3)
- SPC7110 data decompression chip
Contributions of any kind (bug reports, feature requests, pull requests, …) arevery welcome.
About
(WIP!) SNES emulator written in rust
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.