All Projects → Reshurum → notch

Reshurum / notch

Licence: BSD-2-Clause license
A CHIP-8 interpreter written in Rust.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to notch

Chip8Python
A Super Chip 8 emulator written in Python
Stars: ✭ 65 (+103.13%)
Mutual labels:  emulator, chip8
emulators
development methodology software emulators
Stars: ✭ 24 (-25%)
Mutual labels:  emulator, chip8
Chip8Java
A Super Chip 8 emulator written in Java
Stars: ✭ 23 (-28.12%)
Mutual labels:  emulator, chip8
Yasp
yasp is a fully functional web-based assembler development environment, including a real assembler, emulator and debugger.
Stars: ✭ 252 (+687.5%)
Mutual labels:  emulator
kiwi-8
CHIP-8 interpreter for Windows and MacOS
Stars: ✭ 16 (-50%)
Mutual labels:  chip8
ld
LambdaDelta
Stars: ✭ 110 (+243.75%)
Mutual labels:  emulator
kpspemu
PSP Emulator written in Kotlin for JVM, JS and Native. Can work as PWA.
Stars: ✭ 57 (+78.13%)
Mutual labels:  emulator
Nesicide
Integrated Development Environment for the 8-bit Nintendo Entertainment System
Stars: ✭ 244 (+662.5%)
Mutual labels:  emulator
Z80Core
A Z80 core written in Java
Stars: ✭ 25 (-21.87%)
Mutual labels:  emulator
google-pubsub-emulator
Google PubSub Emulator wrapper to nodejs
Stars: ✭ 28 (-12.5%)
Mutual labels:  emulator
Anti-BlueStacks
绕过BlueStacks内核的反模拟器检测
Stars: ✭ 61 (+90.63%)
Mutual labels:  emulator
MBBSEmu
The MajorBBS Emulation Project is an Open Source, Cross-Platform emulator for easily running The MajorBBS & Worldgroup Modules
Stars: ✭ 75 (+134.38%)
Mutual labels:  emulator
chip8
CHIP-8 Emulator in Rust
Stars: ✭ 12 (-62.5%)
Mutual labels:  chip8
luma.emulator
Provides a series of pseudo-display devices which allow the luma.core components to be used without running a physical device.
Stars: ✭ 32 (+0%)
Mutual labels:  emulator
chiprs
CHIP-8 emulator in Rust
Stars: ✭ 15 (-53.12%)
Mutual labels:  chip8
MagiskOnEmu
This repo is no longer used
Stars: ✭ 276 (+762.5%)
Mutual labels:  emulator
Mininet Wifi
Emulator for Software-Defined Wireless Networks
Stars: ✭ 249 (+678.13%)
Mutual labels:  emulator
faucon
NVIDIA Falcon Microprocessor Suite
Stars: ✭ 28 (-12.5%)
Mutual labels:  emulator
js-nes-emulator
NES emulator in javascript.
Stars: ✭ 12 (-62.5%)
Mutual labels:  emulator
UniSpyServer
An Open source GameSpy emulator written in C#
Stars: ✭ 110 (+243.75%)
Mutual labels:  emulator

Notch Build Status

Notch is a CHIP-8 virtual machine written in Rust.

Dependencies

Notch requires Rust and SDL2 development headers. Rust has only been tested on Linux and Mac OS X, but should work on Windows as it does not use any platform specific code.

Linux

Installing SDL headers under most linux distributions is fairly simple and available as a single package.

Ubuntu example:

sudo apt-get install libsdl2-dev

Fedora example:

sudo dnf install SDL2-devel

Arch Linux example:

sudo pacman -S sdl2

Mac OS X

Installing under Mac OS X is a little more involved as the headers won't be installed under the default path. To install with homebrew run the following:

brew install sdl2

Put this in your .bashrc or other file depending on your shell.

export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/lib"

Windows (MinGW)

On Windows, make certain you are using the MinGW version of SDL; the native version will crash on sdl2::init.

  1. Download mingw development libraries from http://www.libsdl.org/ (SDL2-devel-2.0.x-mingw.tar.gz).

  2. Unpack to a folder of your choosing (You can delete it afterwards).

  3. Copy all lib files from

    SDL2-devel-2.0.x-mingw\SDL2-2.0.x\x86_64-w64-mingw32\lib

    inside

    C:\Rust\bin\rustlib\x86_64-pc-windows-gnu\lib

    For Multirust Users, this folder will be in

    C:\Users{Your Username}\AppData\Local.multirust\toolchains{current toolchain}\lib\rustlib\x86_64-pc-windows-gnu\lib

  4. Copy SDL2.dll from

    SDL2-devel-2.0.x-mingw\SDL2-2.0.x\x86_64-w64-mingw32\bin

    into your cargo project, right next to your Cargo.toml.

Installation

Once SDL is setup, building as simple as invoking cargo:

cargo build

The final binary should be under target/debug/notch. To use notch, pass it the path to a rom as the argument.

target/debug/notch

References

License

Notch is licensed under the permissive BSD 2 Clause Licesne.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].