PocketNES ROM Builder GBA

From GameBrew
PocketNES ROM Builder
Pocketnesrb2.png
General
AuthorHoe (Joe HL)
TypeBuild Tools and Hacks
Version1d2
LicenseMixed
Last Updated2003/01/15
Links
Download
Website

PocketNES ROM Builder is a builder tools with many additional features.

Features

  • All of PocketNES's builder in options. All the flags, sprite following, splash screen, etc.
  • Built in database of "Sprite Following" varibles with an option to automaticly insert them when the game is added.
  • The ability to apply NES ROM Hacks (exactly like Game Genie) with a huge database and front end for the database.
  • Automatic splash screen converter.
  • A font end for the compatability list.
  • Lots of tools. .RAW to BMP converter, a tool to take PocketNES roms which are already compiled and get the .NES roms back out of it, and the ability to combine and remove save states and sram saves from multiple or single files.
  • PogoNES Support. Instead of building a PocketNES ROM, you can build a directory with the roms all nice and named up for use with PogoNES. Then you can sort the files into two directorys, files under 192kb and files over 192kb, so you can tell which ones can be multibooted, plus a mass .NES extention renamer to help PogoShell reconize them.
  • Tons of renaming tools. Remove GoodNES info, Make underscores into Spaces, Mark ROM2 smaller then 192kb, alphabatize, user defined replace, case changing, and of course, numbering. Don't want to do a bunch of differnt renames each time? That's fine, make a rename script so you can do alot of renaming with one click.
  • Loads of options. You can configure differnt programs to run after building, you can change tons of settings for Marking roms under 192kb, you can configure how it numbers the roms, and a bunch of automatic stuff for the lazy people.

User guide

Library files

The first thing to do if you get an error saying you're missing one of thouse is download it from the page to the right of each description (it should say which one you're missing), then put it into your C:\windows\system\ or C:\windows\system32\ directory.

Required library files:

  • msvbvm60.dll.
  • Comdlg32.ocx.
  • tabctl32.ocx.

How to install hacks

This format was basically invented by Hank Chill, and this data base which comes with this is game genie codes converted over by Hank Chill. The file must be named "neshacks.txt" and be in the same directory as the ROM Builder's .EXE file.

The basic layout of the file is that each game is marked by having 2 forward slashes, a space, and then a region/PRG# number inside of (). Each hack is then listed immediately after the games title. They are all CRLF deliminated and are organized as follows:

$0x32bitHexOffset 16bitCompairValue=16bitNewValue [+ same again] - description

The [+ same again] is an optional paramiter for codes that need to edit more then one offset. There can be as many of these as needed. So for example:

$0x0000C1C0 C8=EA + 0x0000EBB5 C8=EA - Never Lose Seed

There can also be varible values. These are expressed by putting one or more X's into the newvalue field. If you have a varible, then you must leave the compair value out. So for example:

$0x0000E41E XX - Start with XX Lives

All offsets are offsets in the ROM files, so they DO calculate in the 16byte iNES header.

Screenshots

pocketnesrb3.png

pocketnesrb4.png

pocketnesrb5.png

pocketnesrb6.png

pocketnesrb7.png

pocketnesrb8.png

pocketnesrb9.png

pocketnesrb10.png

Changelog

Version 1d2 (BETA) 2003/01/15

  • Zip support has been added. You can have as many files in the zip as you please, but it will only use the first nes rom.
  • Fixed bug that would cause crash when adding unknown ROMs with the Auto-pal timing option turned on. (Thanks Camus)
  • Hanks new Hacks DB format is supported. This new DB formatting includes:
    • Tree views for grouped codes.
    • Tree views for modifier codes (only one can be selected). This adds alot of functionality to the Hacks DB, hope you guys enjoy, both Hank and I put alot of work into this one. Fast note: If you click the parent node to a grouped listing, all the grouped items will be checked/unchecked. If you click the parent node to a modifier listing, nothing happens.
  • Removed a debugging popup if you build the rom with padding turned on.
  • Fixed a bug which crashes the program when you pick an unknown ROM.
  • Removed the mapper checking code I forgot to remove that was causing the constant "Mapper not supported" message popup for a few people.

Version 1d 2002/09/11

  • PogoNES build will output the file extensions as .nes, not .NES. Use the renamer tool if you wish to beg to differ.
  • The new Renaming Tools have been added:
    • Add GoodNES Codes.
    • Give all GoodNES name (no codes).
    • Give all GoodNES name (with codes).
  • The list of games for "Hacks" no longer exists. It will automaticly find the correct entry for you.
  • Option to Pad the ROM now so it properly fits in a bank. From what I can see, bank sizes are dynamic depending upon which cart you own, so it's changable in the INI. It defaults to 32768bytes (32KByte).
  • You can now change the buffer size by using the INI, read the section in this document for further information.
  • Out of Buffer Space error has been included and wount crash the program any more. (Thanks Camus)
  • Mapper support detection has been removed because it's not worth the effort.
  • A "Used Cart Space" bar has been added. When it's full, the cart is full. The more it fills up, the redder it gets.
  • A right click 'select all' has been added to the rom list, shortcut keys are alt/ctrl/shift(use any of them)+A.
  • When browsing directorys, you can use the 'add' button to add the full dir.
  • Fixed a 'small' overlook in my binary search allagorithm (Thanks TideGear).
  • CRC32 Checksums are now stored in the file crc32cache.ini (in the same dir as the ROM builder), so you'll experience slow down only the first time a ROM is added.
  • "Display Output Window" menu item has been added.
  • The option "Prompt about adding [b], [o], and unknown ROMs" has been added. Much like the Auto-Pal Timing, this works over the internal

ripped GoodNES database, and not by file name.

  • The option "Give ROM it's proper GoodNES name" has been added.
  • The option "Give ROM it's proper GoodNES codes" has been added.
  • "Compatability" tab is now named "Information" tab. And it will give you information regarding all it's GoodNES information, along with compatability list information, and if there is a sprite following varible found.
  • The option "Automaticly turn on 'use pal timing' flag for (E) ROMs" now works over looking it up if it's (E) in the database- not by filename.
  • "Database" button for sprite following varibles has been removed. The only way to use them is now through the option to automaticly add them.
  • Compat.txt and PocketNESVarsList.txt are no longer needed, they are now meshed into BigList.txt along with a ripped GoodNES CRC32/ROM Name DB.

Version 1c1 2002/08/19

  • Mapper checking now supports multiple PocketNES versions. This should help you out if you use Flubba's hack (1 or 2), or if you're still using PocketNES8.
  • You can now double click on a rom in the list to add it (Thanks Pheonix).

Version 1c 2002/08/13

  • The option "Automaticly turn on 'use pal timing' flag for roms with (E) in filename" has been added.
  • "Partial Search" for Hacks is now implimented. (Thanks Hank Chill).
  • The "Game Genie" tab has been converted over to the "Hacks" tab, and now uses Hank Chill's offset database. Unlike the Game Genie codes, this isn't hardly as buggy (I've yet to find one that dosn't work), and has nearly just as many codes. (BIG thanks to Hank Chill).
  • A bug in the "Convert .RAW to .BMP" tool that kept causing it to crash while saving has been fixed (Thanks Hank Chill).
  • All the tools for PocketNES 7a have been removed. If you really needed them, email me, I'll put them into a seperate program for you. This made the EXE size decently smaller (60kb'ish).

Version 1b.1 2002/08/06

  • A big "wooopsie" fixed that was causing the program to error out each time it was run with no ini file.

Version 1b 2002/08/01

  • Fixed a bug where the saved "0 prefix numbering" wasn't being properly loaded at start up. (Thanks TideGear).
  • Now loads properly if saved PocketNES ROM isn't there. (thanks SkyBaby).
  • "Build" button now gives you two build options when clicked, "Build PocketNES (v8)" and "Build PogoNES Dir." With the second, you select a dir and it fills it with the roms you selected, with all the naming options you selected. (Thanks TideGear).
  • "Select Directory" dialog now has "New Dir" button for making new dirs plus last used directory gets saved/restored for each differnt call to it.
  • File size now refreshes when a splash screen is set/unset. (Thanks TideGear).
  • In the options, you can now have ROM Numbering prefix it with 0's, and you can also change what character(s) seperates the ROM's title from the numbering. Better checking to see if numbers are there or not have been added.
  • File associations with .PNEs is no longer set on start up. In options, click "Set File Associations with .PNE files." inorder to do the same thing.
  • In the Mark ROMs options, "Add Mark as very last character" has been added.
  • "Renaming Script" has been added, read it's section in this file for more info.

Version 1a 2002/07/19

  • "NES ROM Separator" has been added under Tools->PogoNES. This is used for separating games that are small enough from ones that are too large for multi-boot, into seperate directorys.
  • Loads of spelling error corrections (thanks BigJohn & Tidegear).
  • * adder is now called "Mark roms smaller then 192kb." Options have been added to change the 'mark' and to allow it before or after the roms title (thanks Tidegear).
  • I fixed a bug where the file size was showing up smaller then it it should be (typoed 1024 as 1204, thanks Tidegear).
  • Bug with the initial directory for the save dialog in the "Build" button has been fixed.

Version 1 2002/07/16

  • Renaming tools for "Make all upercase" and "Make all lowercase" have been added in.
  • It apears the 7a+ mode for the ROM Splitter works for version 8, so it's been moved from the "7a or before" tools section.
  • PogoNES renamer tool has been created and added.
  • "SRAM/SaveState/CFG Manager" for PocketNES version 8 has been finished.
  • "Compatablity" tab has been finished. I was scared this was going to slow the program down alot, but I put alot of extra effort into speed. Note the "bugs" in the section for this.
  • "Tools" menu has been organized.
  • "Quick Run" has been added into the "Tools" menu.
  • "Prompt if you're adding a double of a ROM." option has been added.
  • New Hot Keys:
    • Ctrl+1: Move current ROM up by one.
    • Ctrl+2: Move current ROM down by one.
    • + (the key): Add currently selected ROMs from the File list.
  • "Alphabatize" has finaly been coded. DON'T USE THIS SORT IF YOU HAVE MORE THEN ONE GAME IN THE LIST BY THE SAME TITLE.
  • Now file assosiates with .PNE (PocketNES ROM Builder Project Files) so you can just double click them in explorer to load them. I think there is either no icon, or the wrong icon for them.
  • "Disable missing file/directory error messages on start up" option has been added.
  • MUCH better initialization error checking. No more need to delete the INI if you run into path not found errors. Plus it can now run with out even a game genie code directory.
  • ROMs full path is now displayed in the ROM Options Editor when you click it.
  • Can now drag and drop from the Local Files to the ROMs list.
  • While in the ROMs list, the delete key can be pressed to remove the selected roms from the list.
  • More then one ROM in the ROMs list can be selected at a time, making mass deleting simpler. Wount work for up/down.
  • "Automaticly set sprite following varibles if in the list" option has been added.
  • You can now drag and drop files into the ROMs list from explorer.
  • Better error checking for if the file is really a nes rom.
  • "User Defined Replace" has been added in.
  • "Database" button has been untypoed (Thanks BigJohn).
  • Reimplimented "Add * to ROMs under 192kb" and ROM numbering.

Public beta 3 2002/06/24

  • All PocketNES 8 stuff added in, and now only supports version 8.
  • "Save Project" and "Load Project" now work fine.
  • The window size is smaller.
  • The last used directory on common dialogs is now saved and restored.
  • "Warn if game's mapper is not in supported mapper list" option has been added + new ini section for it.
  • A front end for the compatablitys list has been added in.
  • "NES SRAM Manager/importer" has been added.
  • Fixed the problem with "Save State Manager"'s save files being 2 bytes too small in this version.
  • "SRAM Builder" renamed to "Save State Builder."
  • "Fix Casing" has been added.
  • "Replace Underscores" has been added.
  • Selecting your SRAM Save Slot has been fixed.
  • There is now a right click menu for the added ROM list.

Public beta 2a 2002/05/31

  • Drive can now be selected in the same place the directory can be.
  • File pattern can now be changed, refered to the INI section of this manual.

Public beta 2 2002/05/31

  • My other programs, ROM Splitter and SRAM Builder are now built in, with newer versions of each.
  • Added in .RAW viewer/converter.
  • "add" button gets hidden while in Dir display mode.
  • Added in build status display bar.
  • In options, custom program arguments can be added.
  • Automatic start of linking software in options now added.
  • Now saves last used .NES directory.

Public beta 1 2002/05/24

  • Innitial Release.

Credits

Contributers/Thanks (in no special order):

  • Loopy - For making all of this possible to begin with.
  • Titney - For managing the PocketNES page, the PocketNES forums, and for compiling the varible list which this program uses.
  • Cowering - For GoodNES which is the program this program got it's crc32/nes game title db from.
  • Detonate - For coding a crc32 algorithm which this program uses a modified form of (sped it up a tad ;]).
  • Robert Durbin - For giving me his code to GameGenie.exe, even though none of it was used in the final release, it was still a help.
  • TideGear - Plenty of program concepts and debug support.
  • Hank Chill - For giving some bug testing, plus a HUGE offset archive which he invented/built him self.
  • BigJohn - For good idea contributions and beta testing.
  • Yoshi - For having ungodly amounts of knowledge on the NES system, and then writing it into a nice, readable, document (iNES header information came from there).
  • Brad Skidmore - Help with file associations.

And to every one on the PocketNES forums.

External links

Advertising: