• This repository has been archived on 31/Jan/2023
  • Stars
    star
    467
  • Rank 90,799 (Top 2 %)
  • Language
    Rust
  • Created over 6 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ‘พ An NES emulator by Rust and WebAssembly

Rustynes

CircleCI

Work in progress

Screenshot

Demo

https://bokuweb.github.io/rustynes/

requirements

  • emscripten
  • rust
  • wasm-gc
  • SDL2

Using Nix

If you have the Nix package manager installed, you can alternatively run a nix shell with the necessary requirements automatically brought in scope:

nix-shell

In that shell, you can then simply run the following commands.

Development

webAssembly

$ make
$ npm install
$ npm start
$ open http://localhost:3334

Native

$ cargo run -p standalone --release roms/hello.nes

Build

webAssembly

$ make

Native

$ make standalone

Test

$cargo test

TODO

  • Mappers
    • Mapper0
    • Mapper1
    • Mapper2
    • Mapper3
    • Mapper4
    • Othres
  • PPU
    • 8 * 16 Sprite
  • APU
    • Noise
    • DCM
  • 2P GamePad

v0.1.0

prototype.

License

The MIT License (MIT)

Copyright (c) 2018 @bokuweb

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

More Repositories

1

react-rnd

๐Ÿ–ฑ A resizable and draggable component for React.
TypeScript
3,417
star
2

re-resizable

๐Ÿ“ A resizable component for React.
TypeScript
2,166
star
3

react-sortable-pane

โœจ A sortable and resizable pane component for React.
TypeScript
635
star
4

re-bulma

[Deprecated] ๐Ÿ’ŽBulma components for React
JavaScript
364
star
5

docx-rs

๐Ÿ“ A .docx file writer with Rust/WebAssembly.
Rust
288
star
6

gopher-boy

๐ŸŽฎ A Game Boy emulator written in Go
Go
243
star
7

flownes

๐ŸŽฎ An NES emulator written in ES2015+ with flowtype
JavaScript
170
star
8

zstd-wasm

Zstandard for browser, Node.js and Deno
TypeScript
94
star
9

r2

A RISC-V emulator written in Rust ๐Ÿฆ€
Rust
82
star
10

lcs-image-diff-rs

๐Ÿ–ผ Image diff tool with LCS algorithm
Rust
79
star
11

slack-list-ja

๐Ÿ“‹ A handpicked selection of top Slack communities in japan
CSS
78
star
12

Tsukiakari

ใ€WIPใ€‘Twitter Client built on Electron.
JavaScript
64
star
13

lifegameboy

๐Ÿฆ€ Conway's Game of Life written in Rust on GameBoyAdvance
Rust
54
star
14

yaw

๐Ÿฆ€ A wasm interpreter in Rust
Rust
53
star
15

karma-nightmare

โšก A Karma plugin. Launcher for Nightmare
JavaScript
52
star
16

slate-editable-table

๐Ÿ–Š๏ธ An editable table plugin for Slate.js
TypeScript
44
star
17

rust-wasm-game-of-life

๐Ÿ‘พ Conway's Game of Life written by Rust with WebAssembly
Rust
41
star
18

tuna_pasta

[Deprecated] Hatena Bookmark Viwer, build with React/Redux, focused on keyword.
JavaScript
38
star
19

bmsjs

browser bms player project.
CoffeeScript
35
star
20

ithildin

Twitter Client built on Electron with Mithril.js
CoffeeScript
28
star
21

deno-pretty-assert

๐Ÿฆ•A colorful assertEqual for deno
TypeScript
26
star
22

avaron

๐Ÿš€ AVA + Electron :electron: = Avaron
JavaScript
22
star
23

react-tutorial-with-redux

react tutorial with redux
JavaScript
21
star
24

github-image-diff

๐Ÿšง [Deprecated] :octocat: A chrome extension to check github image difference.
JavaScript
19
star
25

nes-sprites2png

๐Ÿ‘พ convert nes sprites to png
JavaScript
18
star
26

wu-diff-js

Compute differences between two slices using wu(the O(NP)) algorithm.
TypeScript
17
star
27

node-lcs-img-diff

๐Ÿ–ผ Image diff tool with LCS algorithm for Node.js
Rust
14
star
28

react-native-universal-modal

Universal simple modal component for React Native
JavaScript
14
star
29

vscode-git-grep

Git grep extension for Visual Studio Code
TypeScript
13
star
30

rxjs-tetris

DOM based rxjs tetris
TypeScript
13
star
31

image-diff-rs

This project provides an image differencing library that supports PNG,JPEG,GIF,TIFF,and WebP formats for Node.js, Deno, and Rust.
JavaScript
13
star
32

app.flavabeats

browser music game for PC
JavaScript
12
star
33

json-schema-to-flowtype-cli

JSON Schema to flowtype cli.
JavaScript
11
star
34

vscode-ripgrep

A ripgrep extension for Visual Studio Code
TypeScript
10
star
35

pixelmatch-rs

port of mapbox/pixelmatch
JavaScript
9
star
36

react-resizable-decorator

[Deprecated] Resizable decorator for React component.
JavaScript
9
star
37

zig-os-in-1000-lines

Zig
9
star
38

react-blog-sample

Blog system sample on Node.js, Express.js, MongoDB and React.js
CoffeeScript
8
star
39

r2v

[WIP] ๐Ÿฆ€ A RISC-V emulator written in Rust
Rust
7
star
40

react-elastic-modal

React elastic modal component.
JavaScript
7
star
41

youtube_music_game

yotube game sample
JavaScript
6
star
42

rxjs-lifegame

TypeScript
6
star
43

go-lifegame

Go
4
star
44

tomato_pasta

JavaScript
4
star
45

wu-diff-rs

Compute differences between two slices using wu(the O(NP)) algorithm.
Rust
4
star
46

react-draggable-custom

[deprecated]
JavaScript
4
star
47

armv4-emu-rs

๐Ÿšง [WIP] An ARMv4 emulator by Rust.
Rust
3
star
48

lcs-diff-rs

๐Ÿ“ƒ Compute differences between two slices using LCS algorithm.
Rust
3
star
49

bounddoc

TypeScript
3
star
50

flava_cocos

cocos2d-JS music game
CoffeeScript
3
star
51

wasm-cv-with-laughing-man

๐Ÿ˜ƒ wasm + opencv + facedetect sample
JavaScript
3
star
52

wasi-threads-sandbox

WebAssembly
3
star
53

elixir_scraping_sample

Elixir
2
star
54

kanten_old

Rust
2
star
55

phoenix-redux-blog

WIP
Elixir
2
star
56

kebab2camel

Transform camel case to kebab case
JavaScript
1
star
57

specterio

JavaScript
1
star
58

pixi-sandbox

pixi.js sandbox
JavaScript
1
star
59

use-resizable-table

TypeScript
1
star
60

cocos2d-JS_skeleton

cocos2d-JS v3.5+ skeleton
CoffeeScript
1
star
61

c3

c3.jsใ‚’ไฝฟ็”จใ—ใ€setTimerIntervalใงใƒใƒฃใƒผใƒˆใ‚’ๆ็”ปใ™ใ‚‹ใ‚ตใƒณใƒ—ใƒซใ€‚
JavaScript
1
star
62

cv-wasm-face-detect-sample

JavaScript
1
star
63

raect-tutorial-with-redux-and-flowtype

JavaScript
1
star
64

node-go-with-browser

Dockerfile
1
star
65

rust-wasm-png-decoder-example

png decoder example by wasm32-unknown-unnkown.
JavaScript
1
star
66

planter

My plants
JavaScript
1
star
67

react-avaron-sample

React + Avaron sample
JavaScript
1
star
68

liquidfun_test

liquidfun_test
JavaScript
1
star
69

wasm-pixelmatch

JavaScript
1
star
70

ng-resizable

TypeScript
1
star
71

react-sortable-column-sandbox

JavaScript
1
star
72

bmsjs-react

Browser BMS player project powered by React
JavaScript
1
star
73

chrome_serial_sample

chrome.serial API sample
CoffeeScript
1
star
74

bms-gamepad-example

JavaScript
1
star
75

flava_sample

ใ‚นใƒžใƒ›ใƒ–ใƒฉใ‚ฆใ‚ถใง้Šในใ‚‹้Ÿณใ‚ฒใƒผใ‚ตใƒณใƒ—ใƒซ
CoffeeScript
1
star
76

git-test

JavaScript
1
star
77

logue

1
star
78

cv-wasm

1
star