/nescala

A Nes Emulator written in Scala

Primary LanguageScalaGNU General Public License v2.0GPL-2.0

Nescala

A NES emulator written in Scala.

Screenshots

Screenshots

Requirements

  • Java 1.8+

How to run

~ unzip nescala-<version>.zip
~ cd nescala-<version>
~ ./nescala

Controls

Single Controller supported, the button mapping is hard-coded. Keyboard controls are:

Nintendo Emulator
Up, Down, Left, Right Arrow Keys
Start Enter
Select Right Shift
A Z
B X
A (Turbo) A
B (Turbo) S
Reset CTRL+R
Eject CTRL+E
Pause CTRL+S
Resume CTRL+C

PS3/4 and XBOX 360 Controllers are also supported

Mappers

The following mappers have been implemented:

  • NROM (0)
  • MMC1 (1)
  • UNROM (2)
  • CNROM (3)
  • MMC3 (4)
  • AOROM (7)
  • MMC2 (9)
  • VRC2b (23)
  • VRC4b (25)

Known Issues

  • APU emulation needs attention in regards to timing and DMA
  • Keyboard input controls can hang on occasion