Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

(WIP!) SNES emulator written in rust

License

NotificationsYou must be signed in to change notification settings

nat-rix/rsnes

Repository files navigation

rsnes logo

ASNESemulator written inRust

Implementation Status

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.

Usage

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 QWERTYController key
W
A
S
D
QL
ER
Left AltStart
Right AltSelect
JA
KB
LX
;*Y
0-9Store Save State 0-9
Shift + 0-9Load Save State 0-9

* the button right ofL

Configuration

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.

Structure

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/)

⚠️ Please note that thersnes API is neither tested nor documented (well)⚠️

⚠️ Also note, thatrsnes-emulator is only tested on Linux/X11⚠️

Features

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 forrsnes-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

Contributing

Contributions of any kind (bug reports, feature requests, pull requests, …) arevery welcome.

About

(WIP!) SNES emulator written in rust

Topics

Resources

License

Stars

Watchers

Forks


[8]ページ先頭

©2009-2025 Movatter.jp