Introduction

Jnes User Manual
Introduction

Jnes
Nintendo Entertainment System Emulator for Windows by Jabo
"What a horrible night to have a curse."

Jnes was developed as a personal project which has gone quite well. There were a few games I wanted to see emulated better, the NES was right in the middle of it's emulator development era, lots was still undocumented so it was quite fun to develop. Jnes dates back to sometime in March of 1999, when development got underway.

Jnes is an emulator for 32-bit windows platforms, it uses DirectX for video, audio, and input. Jnes is freeware, it is not to be distributed with games images, and it is not to be modified or sold in any way. See the disclaimer for further information.

http://www.jabosoft.com


Features and Emulation

Features

CPU
All 6502 opcodes, Emulated bugs in the 6502, IRQ and NMI, Battery backed RAM

PPU

  • 8x16 and 8x8 sprites with transparency and priority, background tiles
  • internal default palette and palette loader for external palettes
  • all common internal VRAM mirroring methods, VROM and VRAM tile memory

APU

  • Pulse channels with Frequency sweeps and Decay
  • Triangle, Noise, Complete PCM, Konami VRC6 Sound chip

Mappers

  • Nintendo MMC1, MMC2, MMC3, MMC4, MMC5 (partial)
  • iNES 0, 2, 3, 6, 7, 8, 11, 21, 23, 24, 25, 32, 34, 66, 69, 71, 79, 113, 225, 235

Peripherals
Controllers 1 and 2, Zapper gun

Extras

  • GameGenie & PAR support, Fullscreen and Windowed mode, Screen capture (Bitmap), Record audio output
  • Save and Load nes state from file (11 slots)
  • Configurable input, Sound output graph, Rom browser
  • Realtime patching of ROMS using the IPS format
  • ZIP file loading
  • Netplay via Kaillera


System Requirements

System Requirements

Basics

Windows 2000/XP/Vista
Pentium III or higher
Direct Draw Compliant, Hardware Accelerated Video Card, 16MB minimum
DirectX 7.0 with drivers

Video and Sound card drivers are extremely important, download the latest drivers.

If you have any questions about your 2D hardware consult the system info dialog box. If you video hardware doesn't support stretching to a window Direct Draw will emulate this function via software, lowering performance in windowed mode severely. Fullscreen might be faster.

Hardware Compatibility

Generally speaking, if you have good luck running most DirectX applications, Jnes will be no different. However, if you happen to own a really old sound card that is no longer supported, or your video card hasn't seen updated drivers in a few years (old S3 and ATI cards) than your risking compatibility, I can't make any guarantee that it will perform well.

Look in Help/SysemInfo for more DirectDraw info on your card, all the features are important, the more you lack, the more time Direct Draw takes, which takes time away from Jnes. The following color formats are supported: RGB 15/16/24/32


Revision History

Revision History

Version 1.0.1 (9/6/2008)

  • bugfix: PAR cheats value selection
  • bugfix: mapper 69 irq default value
  • bugfix: solar jetman sound issue
  • bugfix: bank masking issue
  • rewrote fullscreen network chat to be faster
  • added command line option -disablestatehotkeys
  • custom palettes subfolder with drop down list

Version 1.0 (12/25/2007)

  • bugfix: command line arguments, added switches -relaunchmce -exitonclose
  • bugfix: fixed multiple rom browser sorting issues
  • bugfix: fixed input POV-hat diagonals
  • bugfix: fixed palette dialog
  • bugfix: PAL raw audio timing
  • bugfix: vsync no longer lags
  • upgraded to a static zlib 1.2.3
  • options are now stored in Jnes.ini instead of registry
  • added software filter to 4x windowed and fullscreen
  • added windowed mode vsync (experimental)
  • added fullscreen status messages for states, kaillera, low battery
  • added setup and autoconfig buttons to input dialog
  • added a limit fps option
  • added mapper #225,#235
  • new browser artwork display mode available in settings dialog
  • rom browser now caches things quietly for quicker startup
  • support for capturing movies and rendering them to an AVI
  • new kaillera dialog to streamline using it
  • support for external languages in utf-8 format
  • redid rom info dialog into a nicer table
  • new system information dialog
  • added warning for netplay regarding extended vblank
  • extended kaillera packets with mini state information
  • kaillera chat via Ctrl+T in fullscreen
  • new palette options
  • added blargg's nes_ntsc filter

Version 0.6 (2/5/2005)

  • zapper now changes cursor to crosshair in game
  • rom browser part of main window, auto selects last rom, recent dir list
  • fixed mutex for video dialog
  • major cheats rewrite and database update, support for PAR codes
  • automatic region setting (uses GoodRom name convention)
  • added some simple mappers: 32,71,79,113
  • fixed sleep in background issues introduced in last release
  • support for ppu monochrome mode
  • input now supports Z,Rx,Ry,Rz axis
  • turbo buttons are mappable separately
  • slot menu now has the timestamp of the state

Version 0.5.3 (6/5/2004)

  • fixed browser with zip files
  • netplay now caches rom list, useful if you have thousands of roms
  • fixed auto full screen preference saving bug from 0.5.2
  • fixed audio graph performance on XP
  • fixed NSF playback timing
  • palette open default current dir, and saving fixed
  • added support for PAL 50fps
  • updated dinput from 6.0 to 7.0
  • fixed windows 98 compatibility bug from 0.5.2
  • updated documentation slightly
  • modified audio timing slightly to reduce lag

Version 0.5.2 (11/5/2003)

  • Added 48x48 icon for Windows XP view
  • Now supports play/stop on some multimedia keyboards
  • Fixed windows message queue handling problem
  • Rom Browser separates path now
  • Full screen resolutions can use Super 2x SaI
  • A stretched version of Super 2x SaI added to 3x and 4x

Version 0.5.1 (02/28/2003)

  • Fixed multiple audio thread creation (woops)
  • Centered full screen non-stretched screen updates
  • Joypad reads now have correct upper 4 bit bus data
  • Fixed joypad configuaration bug
  • Added turbo fire for buttons A & B option
  • Kaillera rom directory is now global, and supports .ZIP files
  • Fixed some MMC5 things, still doesnt work great tho
  • Updated direct draw to newer interface

Version 0.50 (01/17/2003)

  • Audio thread now runs all the time, stopping emulation is faster
  • Full screen clears all buffers for triple buffering, and correctly saves window position
  • Fixed some minor user interface bugs
  • Fixed NSF screen and made look nicer
  • Implemented more input axes such as POV and slider
  • more cheats, dbase also works better on win9x
  • changed dpcm frequencies slightly, older style

Version 0.50 Beta 2 (07/20/2002)

  • Fixed recent menu saving to registryF
  • Fixed status bar when rom is opened
  • Windowed blitter now has choice adds Super2xSai and Scanlines
  • Fixed mask generation, more roms should work
  • Main window and rom browser positions saved on exit
  • Cheats window moved around, multi-line cheats in dbase supported
  • Packed more into each 24bpp xlation write, hopefully improves speed
  • Fixed 15 bit color mode
  • Cheats file has seen some enhancements

Version 0.50 Beta 1 (07/10/2002)

  • Fixed Deady Towers, Mapper 34
  • Fixed an issue with palettes that affected Archon
  • Added code toggling to the game genie interface (usually works without reset)
  • Cheats are now a single file, and some popular ones are included
  • Game genie usage in MMC3 games is now fixed
  • Tweaked noise a little bit, more like 0.30a which was better
  • Added a NES stereo sound option, usually pretty nice!
  • Better menu handling while files are not active
  • Recent menu is a little nicer, stamping is better, also deletes invalid entries
  • Fixed bitmap capturing in triple buffer full screen
  • Rewrote Direct Draw locking logic
  • Direct Sound library used is same as other projects
  • Using accelerators now, keyboard shortcuts improved and more reliabile
  • PPU rendering rewritten for palette based rendering (slower, more accurate..)
  • Added network play support via the Kaillera 0.90
  • Added a video timing option to allow and extra line of vblank (fixes graphics glitches in bubble bobble 2, blades of steel, etc)
  • Window position remembered when returning to windowed mode from full screen
  • Put back 24-bit rendering (works?) and removed 8-bit from full screen
  • Rom Browser added, sort by name, mapper, and battery saves
  • j6502 was ported back to C from X86 assembly (hopefully no difference... maybe slower on old computers)
  • New settings dialog: file association (thanks zilmar), IPS patching functionality, directory paths
  • Direct Input library has improved error detection for disconnected joypads on load, and tabbed dialog
  • New video dialog, replaces the old series of menus, also adds enumeration of full screen display modes
  • Brand new help file (thanks to smiff for the inspiration)
  • ZIP file support using ZLIB 1.1.4 DLL, only for NES roms
  • Almost every other aspect has seen rewrites and cleanups over time..

Version 0.40 beta 2 (01/21/2001)

  • Put a cap on direct input error handling during game play
  • Rewrote some window handling routines for full screen
  • Fixed a bug in the window size menu-check handling
  • Initialized the task variable to zero correctly, hopefully this fixes problems people experienced with save states doing odd stuff!

Version 0.40 beta 1 (01/06/2001)

  • Implemented audio updates 4 times per frame via queue, might slow down performance so I waited this long to do something drastic like this, sounds great tho
  • 16-bit audio and mixing
  • Raw PCM emulated nicer now..
  • Noise and Pulse volume enveloping corrected I hope
  • Tri counters fixed? (Thanks to Matt Conte for the doc on nesdev a while back)
  • Pulse freq sweeps rewritten finally, put this off a long time
  • DPCM rewritten from scratch, big difference in beat style
  • Vertical scroll problem fixed in TMNT
  • Changed the scanlines back to 262, this makes a game I know not work right but I feel having correct timing is the right way to go
  • Another NSF loading problem fixed
  • Sunsoft Mapper fixes and speedups
  • Implemented an accurate real-time zapper read handler, didnt realize necessary..
  • Small transparency fix for some games (Windowed only)
  • Added ability to load external palettes or keep default, 3-byte RGB triplets
  • Integrated NSF support into the j6502 main cpu core, via small hack
  • Rewrote sign flag, and IP handling in j6502, speedup
  • Window 3X mode added
  • Added an option for NES 8-pixel clipping emulation
  • Sprite0 hits tweaked a little
  • Rewritten Game Genie from scratch, max codes is 64 per game
  • Rewritten PPU Rendering, which removed MMX/ASM speedups, still fast tho
  • Rewrote direct draw frame locking technique, dangerous when jnes crashes..
  • Removed 24bpp rendering support, useless, slow etc, use 16/32
  • Rewritten entire banking system for cpu and ppu, speed boost
  • Added a recent menu into the interface, quite nice
  • Rewrote every mapper, less memory used, faster speed, save state friendly
  • Rewrote sound graph, more friendly to direct draw these days
  • Rewrote bitmap capture code from scratch, faster and nicer.
  • Finally released the partial MMC5 support, not the most accurate emulation, but it is good enough to play Castlevania III US well, which is good enough..
  • Tweaked save states to save the new structures as well
  • Rewrote ppu mapper tile handling, works right now, no hack
  • Started allocating and releasing large chunks of memory nicely
  • Direct Input 2-Player code rewritten, smaller, easier to maintain, as well as the option to completely? tweak the devices
  • Changed quick-save to F7 key, F6 was too close to F5 really, you could hit it accidently
  • Added save slots selection to the Cpu menu, it might of been confusing because it was previously only accessible on the keyboard

Version 0.30a (01/04/2000)

  • PCM exception problem solved
  • NSF Banking fixed

Version 0.30 (12/25/1999)

  • Internal NSF Player
  • Added nsf files to command line load
  • Added NINA-1 Emulation (iNES #34)
  • Fullscreen Triple Buffering
  • Improvements to PCM decoding
  • Solved an mmc3 IRQ problem
  • Fixed sprite priorities a little more
  • Fixed zapper in 24/32 bpp
  • Screen captures work in 8bpp
  • Performance enhancements
  • Keyboard reading now includes the numkeys for d-pad.
  • DirectX dialog more informative
  • Fixed the CPUID problem on Cyrix CPU's
  • Removed surface fills at the beginning of frame, this reduces DirectDraw overhead for old hardware

Version 0.26c (10/26/1999)

  • Corrected registry alignment issues
  • Saves last directory to registry

Version 0.26b (10/23/1999)

  • PCM channel improvements
  • Higher quality audio generation
  • Direct Input interface fixes

Version 0.26a (10/20/1999)

  • Direct Input enumerator supports multiple gamepads that are under the same name.
  • Corrected the new dpcm buffering for games that use large buffers with low frequencies.
  • Implemented zapper into the via the mouse, preliminary but works in a few games

Version 0.26 (10/09/1999)

  • Added Konami VRC4 Emulation (iNES #21)
  • Added Konami VRC2b Emulation (iNES #23)
  • Added Konami VRC4b Emulation (iNES #25)
  • Added Konami VRC6 Sound Emulation, Thanks to Kevin Horton for his docs
  • Improved PCM channel emulation
  • Minor MMC1/MMC3 mirroring change
  • Tweaked MMC3 IRQ
  • Fixed 4-window vram
  • Support for Controller #2
  • Put back correct palette reading
  • Fixed game genie length detection
  • Major 6502 core optimizations
  • MMX enhanced PPU emulation
  • DirectSound is now used again
  • Dialog for input devices with button config
  • Background Sleep is now an option
  • Sound output graph

Version 0.21 (08/25/1999)

  • Added MMC4 Emulation (iNES #10)
  • Added Sunsoft Mapper #4 (iNES #68)
  • Tweaked MMC3 IRQ Slightly
  • MMC1 Bankswitching changed
  • PPU moved into seperate assembly files
  • Fixed a long time Vertical scroll bug
  • Minor GameGenie save fix
  • Modified the Direct Input Axis mode
  • Documentation updated for Sidewinders
  • Fixed small windowing problem.
  • Removed DirectSound, switched to a hopefully more reliable audio method
  • Vsync removed as a result of timing.
  • FPS meter disabled in full screen
  • Lots of other options were taken out
  • Keyboard reading works on NT4 SP4 (DX3)

Version 0.20 (08/20/1999)

  • Fixed triangle frequencies and hold note
  • Fixed flag sets when RTI<->NMI<->BRK happens
  • Well, RCR/RCL doesn't set ZF
  • Added MMC1 512/1024 kb ROM support
  • Added Konami VRC6 (iNES #24)
  • Added Nintendo MMC2 (iNES #9)
  • Better MMC3 IRQ
  • Improved Sprite priorities and hits
  • Improved Frequency Sweeping
  • Preliminary RAW PCM sound emulation
  • Noise channel enveloping fixes
  • DPCM Irq's Disabled
  • Changed save state format to save all audio data, added padding for future modifications
  • Game Genie Emulation is now alot better
  • Support for trained roms
  • Sprite priority in 24-bit are better
  • Small speed-up in 16-bit rendering
  • Windows 98 SE compatible
  • Rewritten interface, structured better
  • Record wave save dialog box
  • Read-only files open now
  • Frames per second counter available for full screen mode only if Vsync is turned on.
  • New Stretch mode added to full screen
  • Fixed bitmap writing in RGB555 mode
  • Wait for Vsync only affects full screen video mode
  • Timing uses new higher performance method
  • All threading and program halt problems are fixed

Version 0.10 (08/05/1999)

  • Initial release


Using Jnes

Using Jnes

This selection of topics will give you a greater insight into the internal functionality of Jnes, and how to perform common tasks, please select your topic.


Overview of Program

Overview of Program

It is quite easy to get started, below this you'll find more detailed information on Jnes and how to configure it. Generally to get started make sure you are running in the best color depth, and simply open a rom-image from the file menu.

This program also features a simple file browser, you don't have to use it, but if you would like to browse a specific directory to check out mapper numbers, etc, this is a really handy to use, and yes it supports zip files.

If you are not familiar with terms like "rom-image", "emulation", or how to configure video, input, and audio please seek help elsewhere, this documentation assumes you have at least this level of expertise. Read the FAQ under general.


Input Controls

Input Controls

Everything is fully configurable for input, see the proper dialog box for the defaults and details on how you can configure each controller and devices attached to your computer.

To use the zapper, go into the player 2 configure dialog, select connected to zapper, and use your mouse as the zapper, move it over things, and click to simulate the trigger being pulled.


IPS Files

International Patching System

Jnes has the ability to apply IPS files if they are present when loading a rom image automatically.

IPS files are commonly used to translate a game to another language, or more generally alter the games content such as graphics, program code, etc. To use this feature simply make sure the IPS file is in the same directory as the rom you are about to load, and make sure the IPS file is the same name as the rom image.

Example: if you wished to apply an IPS file to "Megaman 2 (U).nes" your patch should be in the same directory named "Megaman 2 (U).IPS".

This is a convenient feature so you can ...

  • maintain the original rom image
  • use the latest patches easily
  • save some disk space?

In the settings dialog there is an option that will make Jnes ask you before applying any patches it finds, or doing it without asking. See the dialog for more information. If you want some patches, visit the message board and links sections of the Jnes website.


Key Shortcuts

Keyboard Shortcuts
  • Alt+Enter toggles windowed and full screen mode
  • ESC can be used in full screen to go back to windowed as well
  • F1 Resets
  • F2 Toggles pause
  • F3 Capture the screen
  • F4 Recording sound
  • F5 Save a state to file
  • F7 Load a state from file
  • There are a total of 11 save states available, they use the file extensions .js0 through .js9, the default state extension is .jst.

To change slots you may select the slot via the CPU menu, and also via keyboard shortcuts, the ~ key on the keyboard selects the default '.jst' slot for saves, and the keys next to it, 0 through 9, change the states accordingly (.js0 through .js9)

The save slot setting is set back to the default .jst file extension at the load of a game.


Save Files

Save Files

All save states and sram are stored in a subdirectory called "\saves"

How Save Files work

There is two types of save files, *.jst files are jnes "save states", from the Cpu menu "save" and "restore" does these things respectively to your loaded game at any point using these files. *.sav files are the games own method for saving information, commonly referred to as battery backups (or save-ram) which resided on the cartridge.

Jnes' save states are the most reliable, the games' battery-backup (save-ram) is properly emulated, but requires that you tell the game to save your current information, this is usually done through menus within the game, it is not automatic! The only other relevant information is that the ROM's header should have the "Save-Ram" bit checked so Jnes knows to load/save this from disk on rom load/close respectively.

Importing or Exporting Save Files

If you don't store the save files in this subdirectory Jnes won't see them, and Jnes automatically creates these directories on first-time saves so you don't have to do it yourself. But if you are importing or exporting a SRAM (".sav" file) file from another emulator keep this in mind.

Important Notes on Save States

It can be generally assumed that the save state format changes between versions of Jnes, this is because as the internal structures change, the states as a result may. This should be limited to major version numbers only.


Cheats

Cheats

Cheats are stored in an ini style file, 'jnes.cht'. When Jnes loads a rom, it calculates the CRC of file (VROM and ROM), it will look it up in this file, if a match is found any cheats under it will be loaded for that game. There is a dialog for cheats in the user interface that you can use to add, toggle, and delete existing codes. For example, if you wish to enter a multi-part game genie code, separate each one by dashes and no spaces.

Here is a brief description of the format in the actual cheat file for game genie. Please take note that in one line you can specify up to 3 codes by separating them by dashes, just like the dialog.

[Signature]
Name=TITLE
Code0=GGCODE1-GGCODE2-GGCODE3,Description
...
Code127=GGCODE,Description

  • TITLE: the name of the rom, useful for keeping track of codes
  • GGCODE: is the actual code string, either 6 or 8 characters
  • Description is displayed in the cheats dialog

The emulator has to generate the Signature section labels as descrubed above. Using certain codes can have negative affects on the game as well, so use cheats at your own risk. Jnes also supports Pro-Action-Replay cheats, which is more difficult to edit directly, please use the cheats UI. Further detail on this and other topics is outside the scope of this help file, please see the Cheats.chm file for further reading.


Kaillera

Kaillera Support

Kaillera support currently is implemented, but it's a little tricky, these tips will make sure your experience is enjoyable every time. For gameplay keep in mind that the settings between everyone playing must be the same, options such as Extended Vertical Blank and any cheats must be the same on both sides prior to initiating netplay.

Another trick to using it is exiting a game currently in progress, this is due to the lack of control over Kaillera unfortunately. But if you follow these easy logical steps, you shouldn't have any problems. The first step is to close the ROM out in Jnes (File menu, then Close, this way Jnes will not be requesting data from the network), then exit the game room by selecting cancel in the open dialog. After this, if you wish to disconnect from server, close out the server chat dialog. If want to completely exit kaillera close out it's server selection dialog as well.

Only files with the .NES or .ZIP (that have a .NES rom in them) extension are enumerated in directories, sub-directories are enumerated, so when you select a rom in kaillera it will search your ROM path for the first instance of that game.

Kaillera also seems to use 27888 as the port for communication, if you have special networking needs you may need to know this.

http://www.kaillera.com/faq.php

Also important to note is that if you have trouble using kaillera in Jnes, you can always setup your own kaillera server for gameplay on a private LAN for example.


General Things

General notes
  • NSF Support is for revision 1.0, i think it plays a great deal of NSF's rather well. Many thanks to TNSe for his great amount of support with adding.
  • Extra Vblank, cycle accurate timing for the NES is usually not that hard to pull off in most games, but sometimes there are a few that are just a little bit out of range somehow, this option gives you the flexibility to correct those potential problems
    • Cobra Triangle
    • Duck Tales 2
    • Wizards and Warriors
  • Command line works like this: Jnes.exe ?-switches? "image", notice the quotes around the path, command line switches are optional:
    • -relaunchmce : provides the capability for you to add Jnes to Windows XP Media Center Edition's "More Programs" area. When this command line switch is specified as part of your shortcut, as Jnes exits, it will relaunch ehome.exe, to put you back into the MCE user interface.
    • -exitonclose : when the emulation ends the emulator closes instead of bringing you back to a rom browser, this is useful again for home theatre integrations.


FAQ

FAQ

Some frequently asked questions should be answered below, please select the topic.

Performance
General
System and Troubleshooting
Emulation

Make sure you have read the requirements before troubleshooting any problems.


Performance FAQ

Performance FAQ

  • How can I speed Jnes up, I have a slow sytem, any frame skipping option?
  • I meet the system requirements but for some reason Jnes slows down ...
  • Which is faster, keyboard reading or joypad reading?
  • I have problems with triple buffering, any suggestions?

  • How can I speed Jnes up, I have a slow sytem, any frame skipping option?
    Frameskipping is not implemented as I don't believe in this method to achieve speed.. you can try turning sound off entirely, or individual channels, this might help sound generation can get intensive on some PCs .. on most slow PCs the biggest bottleneck for Jnes can be the video card, run 16-bit color for the fastest performance, and do not use any zoom modes. Download the latest video drivers for your PC, and latest version of DirectX from     microsoft which installs those.
  • I meet the system requirements but for some reason Jnes slows down so much that running mapper 9 (MMC2) games is impossible why is this?
    MMC2 or MMC4 games actually raise the system requirement because this mapper uses a very sophisticated technique to enhance graphics.
  • Which is faster, keyboard reading or joypad reading?
    Keyboard reading is faster, joypad polling slows down the emulation ~8 fps.
  • I have problems with triple buffering, any suggestions?
    Triple buffering is great in full screen, however there are limitations of this unique mode. You must have a fast computer capable of running Jnes fast enough to allow triple buffering to take place, it has to wait till vertical blank to flip the screen, this is quite expensive.


General FAQ

General FAQ

  • Where do I get games? or, how do I use this software?
  • What's this about stereo sound?
  • How does the palette option work? What palette does Jnes use?
  • What are the details about how to use Kaillera, what else should I know?

  • Where do I get games, can you send me games, or, how do I use this software?

First off, these types of questions are way too generic, and there are lots of people who might have them (especially if you aren't familiar with emulation etc). So I will try my best to explain a few things...

Downloading games (ROM images) is illegal, therefore for that reason alone I will not answer any emails about games (imagine how many people want games !).

Furthermore, Jnes is freeware, there is no money made off this software, so if you need help figuring something out ask a friend who might know the answer, or use a message board (especially the Jnes one). If after doing these things you feel you have found a legitimate problem that the website and message board doesn't mention, than you should contact someone related to Jnes (again use a message board, that way everyone knows, or you can email me)

Through this file, and the use of emulation sites on the Internet you should have no problems setting up this software and learning everything you need to.

  • What's this about stereo sound?
    It sounds pretty decent, it's a small hack that separates the pulse channels, providing a small stereo effect
  • How does the palette option work? What palette does Jnes use?
    Jnes currently uses Matthew Conte's palette (available on the nesdev site) as the default palette, others have desired to use other palettes, you can load a palette from file, it must be 768 bytes in length, looks like this

struct {
-> unsigned char r, g, b; /* 3 bytes */
} palette[256];

Only the first 64 entries are actually used, I didn't make up this format, it was sort of inherited.

  • What are the details about how to use Kaillera, what else should I know?
    Some things are not available during netplay, this is due to safety reasons. Generally netplay is an interesting thing to pull off in an emulator, Jnes tries to do the best it can by providing a relatively risk-free environment for the user, but it's far from perfect.


System FAQ

System FAQ

  • I can't get sound working, Jnes gives me an error on trying to enable it.
  • I can't get video working, Jnes gives me an error on load...
  • I can't get input working, Jnes gives me an error on load...
  • I own a microsoft sidewinder and experience lots of problems...
  • I have some issues using Jnes on Windows NT with DirectX 3.0 ...
  • Will Jnes be available for other platforms?

  • I can't get sound working, Jnes gives me an error on trying to enable it.
    Try downloading DirectX 6.1 or higher from     Microsoft and the latest drivers from your vendor, if that does not work ensure the drivers are certified etc.. Jnes uses 16-bit mono audio as well.
  • I can't get video working, Jnes gives me an error on load, or when trying full screen mode.
    Try downloading DirectX 6.1 or higher from     Microsoft and the latest drivers from your vendor, if that does not work ensure the drivers are certified and support the given video resolutions. Also make sure you have the correct information file for your Monitor, this is important.
  • I can't get input working, Jnes gives me an error on load.
    Try downloading DirectX 6.1 or higher from     Microsoft and the latest drivers from your input device vendor.
  • I own a microsoft sidewinder and experience lots of problems, is there anything that can help?
    This issue has been explored through various peopled. I've tested the microsoft sidewinder gamepad on Jnes and it worked fine. I've also been told by people having problems that properly installing and configuring your software and drivers should solve it. Jnes supports DirectInput for Windows, so Sidewinders should work just like any other device, contact     Microsoft with any problems you have not me.
  • I have some issues using Jnes on Windows NT with Direct X 3.0 installed, what can I do?
    Jnes is not compliant with Windows NT, this software designed for Win95/Win98/WinME/Win2000/WinXP. See     Microsoft's website for updates to DirectX for Windows NT.
  • Will Jnes be available for other platforms?
    There is no plans to port Jnes another platform. Things like     wine should allow you to use Jnes under a linux environment however.


Emulation FAQ

Emulation FAQ

  • A game doesn't work as it should, what should I do ?
  • What's that black 8 pixel wide line going down the left of the screen ?
  • I am having problems with game genie support...
  • Any plans for FDS, or mappers that aren't supported?
  • Does Jnes support PAL roms?

  • A game doesn't work as it should, what should I do ?
    If a rom doesn't work correctly, the first step is to verify you have a rom that is valid, download a ROM verification utility from the Internet, these tools can save you countless hours of work. If you encounter invalid rom images, try alternate sources. However, if you would like to fix the rom yourself, download a NES Header editor, the most common problems are:
    • The rom header contains invalid mapper number, mirroring or 4-window information
    • The rom was over-dumped, these are rather hard to fix if you aren't familiar with the NES format
    • it's possible you downloaded a bad dump that is unfixable
    • The game just doesn't work with Jnes, you are encouraged to try out other emulators.
  • What's that black 8 pixel wide line going down the left of the screen ?
    The nes has a "clipping" feature that clips the left 8 pixels on each scanline, if it bothers you turn it off. However you should be aware if you turn it off visual artifacts within those 8 pixels may show up, because they weren't meant to be displayed.
  • I am having problems with game genie support, I obtained a code for a game and when I use it there are some problems with the game or the code doesn't work. What can I do ?
    Some game genie codes are made by hackers and may not be done properly, use them at your own risk. Sometimes as seen they cause really strange behavior, I can't fix that.. Also people come across codes sometimes that simply do not work, the biggest problem here to get some of the codes to work is to reset the game after entering the code, some codes do not work when you enter them as the game is playing, just like on a real nes you can't do that, makes sense.
  • Any plans for FDS, or mappers that aren't supported?
    Nope, none at this time or in the future.
  • Does Jnes support PAL roms?
    Jnes has an option that allows you to either automatically detect the region or set it manually. There emulation is changed depending on region for things like CPU speed and frame rate, so generally, PAL games should work.


Credits

Credits

Thanks

The following people assisted in the developement of Jnes

  • Kevin Horton, Jeremy Chadwick, Crono, Xodnizel
  • Tennessee Carmel-Veilleux, Matthew Conte, FireBug
  • Nyef, Loopy, Goroh, CyberKefka, TNSe

Greetings

Some other people I know...

  • _Bnu, Quietust, Akilla, Delta, Pr0xY, CricketNE
  • EFX, Azimer, zilmar, _Demo_, F|ReS, Icepir8,
  • Duddie, slacka, rcp, hWnd, Phrodide, schibo,
  • Lemmy, LaC etc.


Contact

Contact

I do not have the time to provide technical help for Jnes for everyone, therefore I have made great efforts to provide places you can get help easy:

  • Read the FAQ, most questions should be answered in this file
  • Check the website for the latest updates, issues, and FAQ file
  • Use the message board, communicate with other users and me, search existing posts
  • Do not ask about games, no one will give you information on where to get them.

Visit the website below to find the link to the message board, there will be more people there that can answer your question. You can usually find detailed information on the latest versions, and updates. As much as I would like to provide an email address, it's no longer possible to provide a public one.

Website: http://www.jabosoft.com/jnes/


Disclaimer

Disclaimer

Jnes, Copyright 1999-2007 Jabosoft
The NES is a registered trademark of Nintendo.
Game Genie is a registered trademark of Galoob.

The author is not affiliated with Nintendo of America, or any other company mentioned. This software is freeware, therefore it is subject to following distribution and usage rules - the original archive and it's contents are not modified, rom images are not included, and it may not be sold in any form.

You use this software at your own risk, the author is not responsible for any loss or damage resulting from the use of this software. If you do not agree with these terms do not use this software, simple.