Git Product home page Git Product logo

halfnes's Introduction

DOWNLOAD HERE

halfnes

An accurate NES/Famicom emulator

[Join the chat at https://gitter.im/andrew-hoffman/halfnes] (https://gitter.im/andrew-hoffman/halfnes?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

Current Features

  • Joystick support through both DirectInput and xInput (thanks Zlika)
  • Cross-Platform
  • Supports Mapper 0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 15, 19, 21, 22, 23, 24, 25, 26, 31, 33, 34, 38, 41, 48, 58, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 78, 79, 86, 87, 88, 89, 92, 93, 94, 97, 107, 112, 113, 118, 119, 140, 152, 154, 180, 182, 185, 200, 201, 203, 206, 212, 213, 214, 225, 226, 229, 231, 240, 241, 242, 244, 246, 255
  • Accurate sound core
  • Fast display code
  • Battery save support (No savestates! Come on. You can live without them.)
  • Remappable controls
  • Full screen mode
  • NTSC filter
  • NSF player

Running HalfNES

Download the latest version from https://github.com/andrew-hoffman/halfnes/releases . There are two versions of HalfNES included in this package: a Windows executable and a JAR file for other platforms. Use whichever one works best on your platform, but you will need Java 8 or newer installed no matter what file is to be used. Linux users will need to set execute permissions on the JAR.

Default Controls (See Preferences dialog to remap them)

Controller 1:

  • D-Pad: Arrow Keys
  • B Button: Z
  • A Button: X
  • Select: Right Shift
  • Start: Enter

Controller 2:

  • D-Pad: WASD
  • B Button: F
  • A Button: G
  • Select: R
  • Start: T

The keys mapped to the A and B buttons are used to change tracks in the NSF player.

Note on joystick support

The first detected gamepad will be used as Controller 1, and the second will be Controller 2. Currently the buttons used are not configurable. (the controller needs to be plugged in before a game is loaded in order to be detected.)

Compatibility

At this point in development, almost all US released games will start, but certain games still have graphics corruption or freezing problems. Please report any issues you encounter with the emulator or with games on the Github Issues page (https://github.com/andrew-hoffman/halfnes/issues). PAL games are now supported as well but are likely to have more issues. Please change the system type to PAL in preferences to run these.

Building instructions

The project requires JInput library to build.
The project comes with a Maven build script that will automatically download that and package the natives as a library. To use it you will need to install Maven, change to the project directory and run

mvn install

and that should produce an exe and a JAR with all the natives in the /target/ directory under the project root.

Do NOT ask me where to find ROM files of commercial games. Some public domain homebrew ROMs are available at www.pdroms.de for testing purposes.

A 2 ghz Athlon 64 or better is currently required to run all games full speed. (The NTSC filter requires MUCH more processing power, however.) Saved games are placed in the folder that the ROM file is in for now.

If you are having problems getting the emulator to run, make sure to update your Java Runtime to the latest version. Go to http://java.com/en/download/manual.jsp and get the correct version for your OS.

Special Thanks to the NESDev wiki and forum community for the invaluable NES hardware reference that made this project possible.

halfnes's People

Contributors

andrew-hoffman avatar klaushauschild1984 avatar magneticflux- avatar metteo avatar bryant1410 avatar gitter-badger avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.