Skip to content

KabanFriends/nest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Caution

Nest is under development! Currently it cannot run any games yet due to the incomplete CPU implementation.

🪺 Nest

Nest is an NES (Nintendo Entertainment System) emulator written in Terracotta, a programming language that compiles into the block code for the DiamondFire Minecraft server.

The implementation of this emulator is heavily inspired by Writing NES Emulator in Rust.

Project Goals

  • Emulation of the built-in hardware of NES (6502-based CPU & PPU)
  • Running officially licensed Mapper 0 (NROM) games
  • Streaming the CHR-ROM ane PPU tables to Minecraft client which receives and renders the data using custom resource pack shaders
  • Basic NES controller inputs
  • Multiple sessions to run emulations simultaneously for more than 1 player

Compiling / Deployment

Requirements

To use Nest's development environment, we recommend installing Docker and Visual Studio Code. Open the project in Dev Container and it will automatically set up the required tools to start the development. Specifically, these tools will be set up:

We recommend following plot specs on DiamondFire to run Nest:

  • Plot: Large Plot (100)
  • Node: Private Node
    • You can still use regular nodes, but for now it will not perform well due to LagSlayer limits

Compiling Guide

TODO

About

An experimental NES emulator written in Terracotta.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors