Skip to content

kaishuu0123/chibines

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChibiNES

Godoc Reference GitHub Release Github Actions Release Workflow Go Report Card

ChibiNES is NES emulator written by Go. This is my favorite hobby project!

Porting libretro/Mesen to Go. Priority was given to mimicking Mesen's behavior rather than refactoring.

Screenshots

cmd/chibines (NES Console)

Screenshots

cmd/chibines-nsf (NSF Player)

ToyNES_NSFPlayer_no_sound.mp4

Download

Spec

  • NTSC only
    • PAL, Dendy is not supported yet.
  • Basic APU sound only (The following sound sources are currently not supported)
    • NAMCOT 16x (N160/N163)
    • MMC5
    • SUNSOFT 5B
    • VRC
  • Mapper Support
    • Mapper 0
    • Mapper 1
    • Mapper 2
    • Mapper 3
    • Mapper 4
    • Mapper 16
    • Mapper 31
      • For NSF Player

Key binding

Player 1

NES Key
UP, DOWN, LEFT, RIGHT Arrow Keys
Start Enter
Select Right Shift
A Z
B X

Player 2

NES Key
UP, DOWN, LEFT, RIGHT I, K, J, L
Start E
Select Left Shift
A A
B S

Build & Run

  • Install Library
    • portaudio

MacOSX

brew install portaudio
  • build
go build cmd/chibines/main.go
  • or go run
go run cmd/chibines/main.go

Dependencies

FAQ

Why do you only support these mappers?

Because it's my favorite games & for nes-test-roms

ToDO

  • CPU
  • PPU
  • APU
  • NSF Player (cmd/chibines-nsf)
    • like VirtuaNES
  • 6502 compiler
    • like cc65
  • disassembler
  • Interpreter (cmd/chibines-interpreter)
  • Sprite extractor (cmd/chibines-sprites)
  • ROM info CLI (cmd/chibines-rominfo)
  • Debugger (like Mesen's Debugging tools)
  • Test

Reference

Emulator

Documents

Credit