PocketNES GBA

From GameBrew
PocketNES
Pocketnes02.png
General
AuthorLoopy, FluBBa
TypeConsole
Version9.98
LicenseMixed
Last Updated2005/05/02
Links
PocketNES - Builder Tools Download
Website
Source


PocketNES is a Nintendo Entertainment System (NES) emulator for the GameBoy Advance.

It was originally developed for hobbyists to use with their own ROM collections and rewritable flash cartridges, a few game publishers ended up releasing multicarts of their old NES games for GBA using the scaling technique from PocketNES; as did some bootleg multicarts.

Support Mapper: 0,1,2,3,4,5,7,9,11,15,16,17,18,19,21,23,25,32,33,34,64,65,66,67,68,69,70,71,72,73,75,76,78,79,80,86,87,92,93,94,97,99,105,151,152,180,228,232.

Installation

PocketNES bundle contains:

  • PocketNES v9.98 (by loopy and FluBBa) - Latest official release + source. Rename PocketNES.gba to nes.bin to use as PogoShell plugin.
  • NSF Plugin (by loopy) - NSF (NES Sound File) plugin for PogoShell, bugfix + source.
  • PocketNES Version 7a Compatibility List.

Menu Builder Tools contains:

  • PocketNES Menu Maker 1.2a (by Titney/MrUnown) - Includes rom verifying, automatic variable assigning and more, very easy to use, yet powerfull, updated for pnes v9.
  • PocketNES ROM Builder (by Hoe) - Includes cheats, variable assigning, renaming, and many other options.
  • Thingy v1.1 (by loopy) - Basic but stable builder by loopy himself.
  • Mkrom v0.1 (by Eizneckam) - Builder for Linux using XML and C.

Before you can use PocketNES, you need to add some NES roms to the emulator. You can do this with various tools (Thingy, NEStoGBA, etc.).

Older tools (made for v7a) should work fine, as long as you don't use any SRAM slot settings, as they aren't needed anymore.

Make sure your flashing software allocates 64kByte/512kbit SRAM for PocketNES.

Note that not all games using the supported mappers work correctly.

User guide

Link transfer

Sends PocketNES to another GBA. The other GBA must be in multiboot receive mode (no cartridge inserted, powered on and waiting with the "GAME BOY" logo displayed).

Only one game can be sent at a time, and only if it's small enough to send (approx. 192kB or less).

If you have problems with sending to many GBAs at the same time, try with only one.

Multi player link play

Go to the menu and change Controller: to read "Link2P"/"Link3P"/"Link4P", depending on how many Gameboys you will use.

Once this is done on all GBAs, leave the menu on all slaves first, then the master, the game will restart and you can begin playing.

If the link is lost (cable is pulled out, or a GBA is restarted), link must be re-initiated, this is done by a restart on the master and then selecting the appropriate link and leave the menu. The slaves doesn't have to do anything.

Use an original Nintendo cable.

PogoNES

If you wish to use PocketNES with PogoShell just rename pocketnes.gba to nes.bin.

If you use Pogoshell2 you can rename it to pocketnes.mb or even better compress it with the dcmp program that is included with Pogo2 and name it "pocketnes.mbz".

Also remember to change the Pogo config accordingly.

Controls

Menu:

L+R - Open the menu

A - Choose

B or L+R - Cancel

In game:

L/R - Unscaled modes (scroll the screen up and down)

L+Select - Scaled modes

L+Start - Speed modes (throttled/unthrottled/slomo)

R+Start - Quick load

R+Select - Quick save

Start+Select - Wakes up from sleep mode (activated from menu or 5 minutes of inactivity)

Screenshots

pocketnes3.pngpocketnes4.png

pocketnes5.pngpocketnes6.png

pocketnes7.pngpocketnes8.png

Changelog

V9.98 2005/05/02 (FluBBa)

  • Fixed some of the blending issues in the GUI.
  • Changed the position of the screen in scaled modes.

V9.97 2004/09/23 (FluBBa)

  • Added support for speed hacking branch instructions.
  • Fixed clock on EZ(3?) cards.
  • Fixed ROL instructions a bit.
  • Fixed a lot of the garbage when changing games.
  • Optimized some parts of the PPU.
  • Cleaned up some code.

V9.96 2004/08/25 (FluBBa)

  • Added Player1+Player2 input, good for SMB 2 players.
  • Added gamma adjustment.
  • Better VBLankWait.

V9.95 2004/07/24 (FluBBa & Loopy)

  • Added correct PAL sound pitch (and shaved of 4kB).
  • Added correct PAL timing.
  • Added option to automaticlly load savestates.
  • Fixed sprite problems in Downtown special.
  • Better MultiBoot transfer.

V9.94 2004/07/18 (FluBBa)

  • Fixed the new cpu core.
  • Fixed the new mapper #4.
  • Fixed a bit with the vertical scrolling (Rad Racer looks better).
  • Fixed transfer when used as compressed (.mbz) plugin.
  • Fixed transfer on EZFA cards when bootmenu used.
  • Fixed garbage when leaving rommenu if too long names used.
  • Fixed a lot of missing text with the new menus.
  • Added swapping of A & B buttons.
  • Saving of Autosleep time.
  • Saving of flicker setting.

V9.93 2004/07/02 (FluBBa)

  • Changed back to the old mapper #4.
  • Changed back to the old cpu core.

V9.92 2004/07/01 (FluBBa)

  • Added sliding menus.
  • Added scaling without flicker.
  • Added optional FPS meter.
  • Added setting for autosleep time.
  • Added automatic region detection from Pogoshell.
  • Added a clock for cards/emulators that support it.
  • Added mapper #5 again, CV3 specific.
  • Fixed menu dissapearing when first going from unscaled to scaled.
  • Tweaked mapper #4 (Thanks to Kevin Horton).

V9.9 2003/11/07 (FluBBa)

  • Fixed lockup when no game was found.
  • Added a little fade when entering the menu.
  • Now saves config also when exiting.
  • B-button is not recognised when leaving menu.
  • Resets more hardware regs before exiting.
  • Workaround for the XG2 bootmenu.

V9.8 2003/09/23 (FluBBa)

  • Optimized VRAM writes.
  • Fixed menu when used as PogoNES.
  • Fixed dark line.

V9.7 2003/09/21 (FluBBa)

  • Fixed some things with the accumulator in the CPU core.
  • Changed Y & X registers (hopefully a little bit faster).
  • Moved PCM buffer and code to IWRAM (faster).
  • Added check for GameBoyPlayer.
  • Added Exit to normal PocketNES.

V9.6 2003/05/25 (FluBBa)

  • Fixed a smal background glitch on the first scanline (unscaled).

v9.5 (FluBBa)

  • Lowered the DPCM channel a bit to reduce the clipping of the other channels.
  • Smal speedup in the CPU core again.

v9.4 (FluBBa)

  • Fixed a savestate problem with games with VRAM instead of VROM.

v9.3 (FluBBa)

  • Fixed a "little" problem with the savestates.

v9.2 (FluBBa)

  • Changed scanlines and irq to the way it was before.
  • Major change to the CPU core (faster).

v9.1 (FluBBa)

  • Fixed flickering in some games, introduced in v9.

v9 (FluBBa)

  • Added CPU sleep when idle in VBlank (saves battery =).
  • Added slomo with L+Start.
  • Added PCM IRQ generation, fixes "Fire Hawk", "Last Starfighter" & "Silent Service".
  • Added mapper 228 (Action52 intro is wrong).
  • Added mapper 180 (Crazy Climber (J), no controller yet though).
  • Added mapper 105 (Nintendo World Championship) remember to disable CPU hack (for "Rad Racer").
  • Added mapper 93 (Fantazy Zone (J))
  • Added mapper 72,73,75,76,78,86,87,92,94,232.
  • Added mapper 70/152. Saint Seiya doesn't work correctly anyway, not the mappers fault.
  • Added mapper 68 (Maharaja(J), Platoon(VS), no gfx in After Burner though).
  • Added mapper 67 (Fantasy Zone 2 - The Teardrop of Opa-Opa (J)).
  • Added mapper 34 (Deadly Towers & Impossible Mission 2).
  • Added mapper 33 ("Don Doko Don 2" doesn't work, everything else should).
  • Added mapper 22,24,26,32,65,80 & 97. All "Kaiketsu Yanchamaru" games are playable now.
  • Added mappers 19,23 & 69.
  • Added mapper 79 & 18.
  • Added mapper 15(Contra 16 100-in-1).
  • Fixed "Low G Man".
  • Fixes to mappers 4,16,21 & 25.
  • Fixed some of the savestate problems.
  • Fixed graphic splits in scaled mode (many intro screens).
  • Fixed PCM sample playing, takes a little more CPU now.
  • Fixed multiplay, also supports up to 4 players now.
  • Fixed background flicker.
  • Fixed Sprite 0 hit a bit, Captain Skyhawk, Snow Bros & Saint Seiya starts now, probably break other games.
  • Fixed sprites to background priority.
    • Fixed sprites animation with CHR switching a bit (SMB3).
  • Fixed scaled sprites a bit.
  • Fixed invisible sprites (Ninja gaiden 2, TMNT 2).
  • Fixes to multiboot,sram and Pogoshell (Herg).
  • Fixed VS-palette for Platoon, Hoogans Alley, Pinball, Clu Clu Land, Machrider, Dr Mario, Super Sky Kid, Battle City, Star Luster, Freedom Force & Slalom.
  • Changed GBA hardware PWM frequency for (hopefully) better sound.
  • Changed "Restart" in PogoNES to restart and added "Exit" to exit to the shell.

v8 (Loopy)

  • PCM sound channel added
  • Left/Right in rom menu skips 10 at a time.
  • Quicksave,quickload (R+SELECT,R+START).
  • Accelerated mode (L+START).
  • More than 15 savestates are allowed.
  • Automatic SRAM handling.
  • Various bugfixes and cosmetic changes.

v7a (Loopy)

  • 2 player link play.
  • ROM compilation method changed.

v7 (Loopy)

  • Multiple save states.
  • Better detection of bad roms.
  • Optional splash screen.
  • 1P/2P Controller switchable.
  • Sleep option.
  • Brighter NES palette.
  • Improved sound.
  • More mappers (9,11,66,71,21,25).

v6 (Loopy)

  • State saving.
  • Autofire buttons.
  • Unscaled display (back by popular demand).
  • VS Unisystem (mappers 99,151).
  • More display improvements.

v5 (Loopy)

  • Mappers 1,2,3,4.
  • Display shifted left 8 pixels (now centered horizontally).
  • Scaled display (autoscroll options removed).
  • SRAM saving.
  • Multiboot detect (separate MBV2 version not needed anymore).
  • Fixed menu input (for Flash Advance multiboot).

v4 (Loopy)

  • Menu system.
  • Many display improvements.
  • Speed hacks.
  • Autoscroll options.

v3 (Loopy)

  • Sound (square channels).
  • Some PPU fixes.
  • Scroll screen with L/R buttons.

v2 (Loopy)

  • Multiboot.
  • Mapper 1 games (with no CHR).
  • Mapper 2.
  • Scrolling (sorta).
  • Minor 6502 bugfixes.
  • Moved nes rom to the end of the file.

v1 (Loopy)

  • Initial release.

Credits

By Neal Tew and Fredrik Olsson.

Thanks to:

  • Warder1 - Page hosting, testing.
  • Titney - Page hosting, testing.
  • reio-ta - Coding help, testing.
  • Costis - Multiplayer help.
  • Chris Owens - Multiplayer testing.
  • Markus Oberhumer - LZO compression library.
  • Jeff Frohwein - MBV2.
  • Yuichi Oda - xLA.
  • Ben Parnell - FCEU src.
  • www.lik-sang.com - Flash Advance Linker.
  • PocketNES forum - For all the support and ideas.
  • nesdev community.

External links

Advertising: