     __    __   _      __  __        _____     ___    __   __
    / /   / /  / \    / / / /  0.60  / __  \   / _ |  / |  / / ----------------
   / /   / /  / \ \  / / / /       / /__> /  //  // / ||/  /  THE ------------
  / /   / /  / / \ \/ / / / /===/ / ___ <   //  // / /|// /   UNIVERSAL ------
 / \___/ /  / /   \  / / /       / /   \ \ / \_// / /  / /    ROM EDITOR -----
 \______/  /_/    /_/ /_/       /_/    /_/ \___/ /_/  /_/     ----------------
------------------------------------------------------------------------------
THIS FILE IS BEST VIEWED WITH MICROSOFT EDIT OR IN NOTEPAD
------------------------------------------------------------------------------
PLEASE read the whole readme before asking stupid questions answered in here.
------------------------------------------------------------------------------

Contents:
1. What is UNIROM?
2. What is UNIROM good for?
3. Current features
4. What's new in this release?
5. What's missing and things to come
6. .DTE, .NAM, .UBF and .USD files, what are they?
7. Controls
8. Want to contact me?
9. Thanks and No thanks to

/o- 1. What is UNIROM -------------------------------------------------------\
| UNIROM is an universal rom editor. It can handle DTE (Dual Tile Encoding)  |
| And a special other encoding using two HEX values to print a word.         |
| The only limit to UNIROM right now is that it can not edit the Sprite and  |
| BG data contained in roms, but that doesn't really matter, since NAGA      |
| exists. UNIROM also features an INI file with support for changing the     |
| most common options. It also features a cool quitting screen and a .gif    |
| logo/title screen. All 'coolie' GFX effects can be turned off thorugh the  |
| INI file. It now also handles Script dumping, which is an almost essential |
| feature for a good ROM text editor.                                        |
\-----------------------------------------------------------------EOF--------/

/o- 2. What is UNIROM good for? ---------------------------------------------\
| Hah, it's good for nothing! Just like N'tendo! I've tricked you all! :)    |
| No, really. I've found it to be very good for translating ROMS from        |
| one language to another. That's actually what it's for. By making use of   |
| .DTE files, containing the Dual Tile Encoding and Tile data, and .NAM      |
| files, containing what I call names. The format of these files will be     |
| explained in the section .DTE and .NAM files, what are they?               |
\-----------------------------------------------------------------EOF--------/

/o- 3. Current features -----------------------------------------------------\
| UNIROM currently features:                                                 |
| - Really acceptably fast ROM text editing                                  |
| - Faster than any other QB-made ROM text editor                            |
| - Makes backup of rom so that you can reload it again if you do something  |
|    wrong                                                                   |
| - It has full DTE support and support for a special encoding using two     |
|    HEX values to print a word on the screen                                |
| - Optionable 'coolie' gfx effects                                          |
| - Quicksave/load using F5/F7                                               |
| - Jump to byte position feature                                            |
| - Now faster search for text in ROM feature can even handle names from the |
|    .NAM file currently loaded                                              |
| - Bookmarks                                                                |
| - Script dumping using .USD files                                          |
| - Really useful file selector                                              |
\-----------------------------------------------------------------EOF--------/

/o- 4. What's new in this release? ------------------------------------------\
| UNIROM 0.60 - Woooohoo!                                                    |
| - Wow, new release! One that doesn't crash all the time! Guess why?        |
|   The answer's simple: Error handling has been implemented. Have fun.      |
| - I had to scrap my plans for the .DTX files until I get a more            |
|   optimizable way to use them. In other words: They we're too fucking      |
|   slow!                                                                    |
| - A little setup proggie has been incorporated so that you can setup       |
|   UNIROM if unirom.ini doesn't exist or the program can't find it.         |
| - The screen now doesn't mess up as badly as before. It may look a bit     |
|   bad, but just press HOME and it'll be alright again.                     |
| - Loads of bugfixes.                                                       |
| - Removed the "default loaded blah" shit. Noone uses it.                   |
| - .bnu loading is now Ligthning-fast!                                      |
| - Loads of new stuff in FF2.UBF! What's that, you ask? It's the bookmark   |
|   file for Final Fantasy 2. Just load it and press F6 when you've entered  |
|   editing mode.                                                            |
| - I added some new .USD files(UniROM Script Dump files) so tha you can     |
|   dump ALL of the text in FF2.                                             |
| - I will soon change the script dump format to a much more easy one to     |
|   use later, when I add script inserting.                                  |
| UNIROM 0.50b- Ok, I'm a bit ashamed of this release.                       |
| - I forgot to add fr.ini! The File Requester ini! If you get any errors in |
|   the file requester then edit this.                                       |
| - Important notice. Edit the .ini file. Or else the program might not      |
|   work. Now don't say I didn't tell you.                                   |
| - Fixed the bug that cause the file selected from the Requester not to     |
|   load if it was in anouther directory than UNIROM.EXE.                    |
| - UNIROM should now actually WORK!                                         |
| - Fixed a TON of bugs which I have been stupid not to find.                |
| UNIROM 0.50 - File Requester implemented! You're gonna luuuv this!         |
| - File requester has been implemented! Now you can select files from your  |
|   dirs rather than selecting from those ugly menus :)                      |
| - Spiffed it up a bit and added some colors.                               |
| - The File Requester will probably eliminate ALL problems when loading     |
|   files!                                                                   |
| UNIROM 0.45 -                                                              |
| - Format of .DTE and .NAM files changed. Tell me to and I'll make a        |
|   conversion utility that converts the old .DTE and .NAM file to the new   |
|   format.                                                                  |
| - CRDTENAM.EXE updated to support the new format of the .DTE and .NAM      |
|   files!                                                                   |
| - Changed all the decimal values in the .DTE and .NAM files to HEX values! |
|   They should now be much more easier to edit.                             |
| - Changed the look of the exiting screen. Tell me how you like it now.     |
| - Changed Bjorn Mosaic a bit.                                              |
| - Made the LazerPlasmaShitNitzt effect look cooler when using the bnu      |
|   loading routine.                                                         |
| - Made the .ini default to bnu loading since it is fast enough now.        |
| - Cleaned up the code so that practically anyone should be able to         |
|   understand it. This is for the sole reason if I get a co-coder.          |
| - Added script dumping! I bet this can be kinda useful. Read the section   |
|   called ".DTE, .NAM, .UBF and .USD file, what are they?" for a further    |
|   explanation on how to create your own script dumps.                      |
| UNIROM 0.42 -                                                              |
| - CRDTENAM.EXE has not been updated since apparently no bugs have been     |
|   found.                                                                   |
| - Damn. I made an error in the ROM saving routine that made it delete the  |
|   ROM currently edited. Fixed now.                                         |
| - Searching sped up! I'm really proud of this :) It still isn't THAT fast  |
|   though, so don't expect it to be lightning fast on SNES roms.            | 
| - Added two title screens! Well, they both look the same, but they load    |
|   differently. Edit unirom.ini and change the last option to bnu instead   |
|   of gif, lean back and enjoy :)                                           |
| - I'm currently working on GFX editing for NES.                            |
| Really Old releases. Read news on the homepage.                            |
| UNIROM 0.40 - Speedups and Bookmarks! Re-released due to not working. :)   |
| UNIROM 0.35 -                                                              |
| UNIROM 0.34 - GFX Effects update                                           |
| UNIROM 0.33 -                                                              |
| UNIROM 0.32 -                                                              |
| UNIROM 0.31 -                                                              |
| UNIROM 0.30 -                                                              |
\-----------------------------------------------------------------EOF--------/

/o- 5. What's missing and things to come ------------------------------------\
| So, what's missing?                                                        |
| Hmm, well not much in my opinion. This proggie should run at great speed   |
| on a P100, since I have a P100 and the speed is very acceptable.           |
| What could be missing is:                                                  |
| - Mouse Support                                                            |
| - A REAL GUI.                                                              |
| - NAGA Speed (Well, we're cumming along) :)                                |
| - SNES Emulation                                                           |
| So, whatcha gonna make it do?                                              |
| Well, since it is an universal ROM editor and I'm making a NES emulator I  |
| will probably incorporate N'tendo in it so that you can play your games    |
| directly from the editor and maybe, just maybe, edit them as you play      |
| them.....                                                                  |
| - Incorporation of N'tendo into the editor (Still far away...)             |
| - Graphic editing                                                          |
\-----------------------------------------------------------------EOF--------/

/o- 6. .DTE, .NAM, .UBF and .USD files, what are they? ----------------------\
|    1. The .DTE files                                                       |
| First, let's pick the .DTE files apart. They're actually just plain text   |
| files containing data for what key on the keyboard each char in the game   |
| should be assigned to. Let's look at this from FF2.DTE.                    |
| 42 <- HEX Value that will be assgned to:                                   |
| A <- This char/string in the game.                                         |
| A <- This key, on the keyboard.                                            |
| So, pressing a when in Editing mode would result in the program putting a  |
| hex value in the ROM that represents that letter (or letters) in the game. |
|                                                                            |
|    2. The .NAM files                                                       |
| Then we have the .NAM files. Let's take a look at the first part of        |
| FF2.NAM and see what we can find.                                          |
| 04 <-- HEX value that is assigned to typing out a word in edit mode        |
| 00 <-- This HEX value + the one above before it represents this word       |
| Cecil <----------------------------------------------------------/         |
| 01 <-- This HEX value + the one above represents this word                 |
| Kain <-------------------------------------------------/                   |
| So, for example in FF2, the two HEX values: 04 04 in FF2.SMC represent the |
| word 'Edward', and in FF2, the value 04 is the value that comes before     |
| the other value, and when combined they type out a word.                   |
| For example, in Breath Of Fire 2 the word 'Axe' might be assigned to the   |
| two HEX values: 05 08 and then the predeceeding value should be 05.        |
| Talk to me on IRC if you don't get it. I will try to explain.              |
|                                                                            |
|    3. The .UBF files                                                       |
| And, now. A new addition to this section. The .UBF files. These are        |
| 'bookmark' files. Just like in NetScape. You can view and select bookmarks |
| in editing or browsing mode, but now let's go into the details of the      |
| file. We'll take FF2.UBF as an example:                                    |
| [UNIROM Bookmark File] (UBF) <- File 'header', can be anything.            |
| <NP> <- TAG marking the beginning of a new page.                           |
| General bookmarks <- Page label                                            |
| 1 <- Number of bookmarks on page                                           |
| 525825 <- Byte position of bookmark                                        |
| Start of game text <- Bookmark label                                       |
| <END> <- A TAG. Cool huh?                                                  |
| The TAGS are used to make UNIROM perform a certain feature through the     |
| UNIROM bookmark engine. Tags currently supported are:                      |
| <END> - Marks the end of the bookmark file.                                |
| <HR> - Puts a horizontal rule over the current bookmark page.              |
| <NP> or <NEW PAGE> - Makes a choice called Next Page.                      |
| One page of boomarks can hold up to 18 bookmarks. If you need more         |
| bookmarks, then make a new page with <NEW PAGE> or <NP>.                   |
|                                                                            |
|    4. The .USD files                                                       |
| These files provide data for UNIROM on how to do a script dump. To make a  |
| small script dump and find out if it works, try starting up UNIROM, load   |
| the Final Fantasy 2 ROM, then enter edit mode and press F10. Type in       |
| FF2.USD with your keyboard and press enter. The text will now be dumped    |
| into FF2.TXT. This takes a short while. Then press enter and go read the   |
| text file! :) Anyway, now for the layout of the file. As an example we'll  |
| use FF2.USD:                                                               |
| 2       <- This is the amount of HEX values that represent Enter.          |
| 00      <- HEX value representing enter no. 1                              | 
| 01      <- HEX value representing enter no. 2                              |
| 525825  <- Starting Position                                               |
| 557082  <- Ending Position                                                 |
| This file is one of the easier files to edit, since it uses raw HEX values |
| instead of HEX values transformed to decimal values.                       |
\-----------------------------------------------------------------EOF--------/

/o- 7. Controls -------------------------------------------------------------\
| You use the arrow keys to move through the different menus and enter to    |
| choose the choice you've got marked. In browsing mode these keys are       |
| available:                                                                 |
| F1 - Brings up a little helpful help screen.                               |
| Cursor Keys - Moves around.                                                |
| Page Up/Down - Shifts text one page Up/Down.                               |
| ESC - Quit Browsing mode and return to main menu.                          |
| pressing e enters editing mode.                                            |
| F4 - Jumps to a different byte position.                                   |
| F5 - Quick Save of rom to disk.                                            |
|   (Be warned, you will not be asked if you want to save it or not!)        |
| F6 - Select Bookmark.                                                      |
| F7 - Quick Reload of rom from disk.                                        |
|   (Be warned, you will not be asked if you want to load it or not!)        |
| F8 - Slow search for string in file.                                       |
| F9 - Add bookmark to currently loaded .UBF file                            |
| F10 - Make a script dump                                                   |
|                                                                            |
| In editing mode these keys are available:                                  |
| F1 - Bring up the little helpful help screen.                              |
| F2 - Insert a word from the .NAM file currently loaded.                    |
| F3 - Insert a char from the .DTE file currently loaded.                    |
| F11 - Show current tile's HEX Value.                                       |
| Cursor keys - Moves cursor, does not scroll down or up though.             |
| Page Up/Down - Shifts text one page Up/Down.                               |
| Home/Insert - Shifts text 1 byte left/right.                               |
| ESC - Returns you to browsing mode.                                        |
| Pressing the keys alters the text in the ROM.                              |
| The ROM is not saved automatically. You have to choose Save Rom on the     |
| Main Menu or press F5 to quicksave it.                                     |
\-----------------------------------------------------------------EOF--------/

/o- 8. Want to contact me? --------------------------------------------------\
| You wanna contact me? Wow :) Well, my nick on IRC is _Bnu, and I mostly    |
| hang out on EfNet in #zsnes or #PSEmu.                                     |
| My email address is Klass9.V@Jokkmokk.Se, feel free to mail me with        |
| suggestions for the next release.                                          |
| If making .DTE files and .NAM files is too hard work for you, then mail me |
| or talk to me on IRC and maybe I can fix them up for you.                  |
|  WARNING!WARNING!WARNING!WARNING!WARNING!WARNING!WARNING!WARNING!WARNING!  |
| Emails with ROM requests will be ignored and deleted, and so will any      |
| email with a suggestion of making a swedish version of it.                 |
\-----------------------------------------------------------------EOF--------/

/o- 9. Thanks and No thanks to ----------------------------------------------\
| First, let's take the thanks to:                                           |
| Zophar - For being a great friend on IRC and letting me work on ZD         |
| Zoop - For being a great cool dude making the universal frontend URL and   |
|  maintaining Emulation Camp.                                               |
| gb - For being an excellent w0$$ :)                                        |
| Da Chem Druid - For the idea and inspiration to make this ROM text editor  |
| slow - For being cool and saying 'hey dude'                                |
| zsKnight and _Demo_ - for making ZSNES                                     |
| ]SimKIN[ and ZeLeX - for working on Sim-S.N.E.X                            |
| duddie and tratax - for working on PSEmu                                   |
| Nitro187 - For beta testing this shit                                      |
| Johannes - For being cool and using QBasic! :)                             |
| Inverse - For... Well... being InVerse.                                    |
| NecroSaro - For working on Thingy. The second ROM text editor made in QB!  |
| And everyone else who I didn't really have time to include =)              |
|                                                                            |
| Now, the no thanks to:                                                     |
| Bernt - For being a pain in the ass!                                       |
| Jimmy Larsson - For not being able to use a mIRC script....                |
| PS_GAMER - For being lame as hell.                                         |
| slamj - For being such a nice op in #sverige (sarcasm).                    |
| Diohre - For being another faggot from #sverige.                           |
| Johan Johansson - For being an utter and complete idiot.                   |
| Lars-Emil - For always hitting me.                                         |
| The one who made NexEdit - Sorry, but it puts QBasic to SHAME!             |
| Whoever made Marios Time Machine for NES...                                |
\-----------------------------------------------------------------EOF--------/

/o- Secret Box --------------------------------------------------------------\
| Quote : I hate swedes. A swede has been bugging me all day asking about    |
|   N64 roms.                                                                |
| InVerse Quote : #emu ops are just gays hiding their homosexuality behind   |
|   little @ signs.                                                          |
| Copyright (c) 1998 Bjorn Astrom                                            |
\-----------------------------------------------------------------EOF--------/
