ÜÜÜÜÜÜ Ü ÜÜ ÜÛÛÛÛÛÛÛÛÛÛÜÜÜÜßÛ ÜÛÛÛÛÛÜÜ ÜÜ Þ ßßßÛÛÛÛÛßß Û ßß ßÛÛÛÛÛÛßß Ý ÜÛß Û ÛÛÛÛ ÞÜ ÜÛÛÛ ÛßßÜÜÜÜÜÜÜßßÛÛÛÛ ÛÛÛÛ Û ÛÛÛÛ ÛÛÛÛ Û ÛÛÛÛ ÜÜÜÜÛÛÛÛ ÛÜÜÜÜÜÜÜÜÜÜÜÛÛÛÛ ÛÛÛÛÛÛÛÛÛ ÛßßßßßßßßßßßÛÛÛÛ ÞÛß ÛÛÛÛ Û ÛÛÛÛ ß ÛÛÛÛ Û ÛÛÛÛ ÛÛß ÛÜÜßßßßßßßÜÜÛÛÛÛ ßß Û ÛÛÛÛ ÜÜÜÜÜÜÜÜ Û ÛÛÛÛ ÜÛÛÛÛÛÛÛÛÛÛÛÛÛÜÛßß ÜÜÜÛÛÛÛÛÛÛÜÛß Þßß ßß ßÛÛÛÛßß Ý ßß ÞÜ HEXcalibur (c) LavosSpawn ßßßÜÜÜÜÜ Table of contents --------------------- 0.0 Important changes ----------------- 1.0 Introduction 1.1 What you should know about this program 1.2 "Technical" informations 2.0 Why was this program written? 3.0 Function keys in the edit menu (Hotkeys) 4.0 Basic steps 5.0 Description of each function 5.1 Script dump 5.2 How to patch a dumped script back into the ROM 5.3 Jump to an address 5.4 Table viewer/editor 5.5 Pointer (to understand this you should've already calculated a pointer) 5.6 Relative searcher 5.7 Copy / paste 5.8 SNES-info editor 6.0 FAQ 6.1 Why isn't my ROM recognized as a SNES game at start? 6.2 Why do I have to give the name of the IPS file at start? What is this for? 6.3 Can I get the sourcecode? 7.0 Some final words 8.0 Thanks to / Disclaimer ----------------------- 0.0 Important changes Several bugs fixed. Thingy's * and / table-lines are supported, now. The following changes have been made: - If you press enter in the edit-mode, HEXcalibur places the value given by the *-table-line. - HEXcalibur does the linebreaks for you. Put a line like ~xx into the table file, where xx is the number of characters per line. NOTE: xx is a DECIMAL value between 8 and 60. - You quit (and save) the edit mode by pressing 'end' (the key next to PgDn) - To quit without saving, press 'esc' 1.0 Introduction HEXcalibur is a multi-functional text/table editor for all common kinds of ROMs which unites all the usefull features from other ROMHack utilities into one simple to use program. It supports text insertion & extraction, pointer calculation for SNES ROMs and much more functions, which make the translation of ROMs much easier. Scroll down to get a much more detailed description of HEXcalibur. 1.1 What you should know about this program -The editor SHOULD support 16 Bit DTEs, but due to lack of time, ROMs and TBLs it couldn't be tested completely. -You can type in Hexcodes directly (in search or edit mode) by setting them into the < > "brackets". e.g. or <00EF3C> or <00 EF 3C> -In the viewer you can type 'em directly, of course without any brackets. -It's possible to toggle the DTE compression off by putting an @ in front of the textstring. (In editmode as well as searching mode). e.g. @here is crono won't use any DTEs. But you can NOT use the @ like brackets. A string like "Here is @Crono@" is not allowed. -The program produces a "LASTRUN.BAT" on every call, with the parameters of the last run. 1.2 "Technical" information System requirements: CPU: 486 or better RAM: some kilobyte more than the size of the game you want to edit. If there's not enough memory, HEXcalibur will have to swap and will slow down. A keyboard might be usefull, a monitor, too. Every TBL can consist of a maximum of 1024 entries (with upto 15 characters) and 128 Bookmarks. It can be either in hexpose or thingy format. ------------------------ 2.0 Why was this program written? Many of the ROM-hacking tools you can find on the net are incomplete and don't support all the features we need. When you've just started a translation, for example, you had to restart the translation program over and over again, just to actualize/supplement the Table file. But that's only one of the numerous improvements over other tools you have with HEXcalibur. That's why HEXcalibur makes working for a translator much easier. Have phun working with this tool! ------------------------ 3.0 Function keys in the Edit menu (Hotkeys) A-F und 0-9 Direct input of Hex-codes Cursor keys/PgUp/PgDwn/End/Pos1 Cursor and scrolling Space Select the edit-range (also known from Thingy) Shift and Space Select the dump-range Tabulator key Changes table K Copy X Paste J Jump to address S Search for text W Continue searching P Search for pointer (SNES-only) Enter Set pointer H Help F4 SNES-info editor F5 Relative searcher F6 Short menu F7 Patch text dump to the ROM F8 TBL viewer/editor F10 Save (otherwise at end of program) ------------------------ 4.0 Basic steps Here's an explanation, how to start the program the right way... The following things are of importance: ROM Filename: You have to to use the complete name, with extension. e.g. "Zelda.SMC" or "Mariow.FIG" Tablefile 1: Name of Table with extension e.g. "Zelda.TBL" or "Mariow.TBL" Tablefile 2: Name of the second TBL (some ROMs have two different character sets). This field is optional. IPS File: Name of the IPS file where you want to save your changes at. Like: "Zelda.IPS" or Mariow.IPS". This field is optional Text Dump: Name of the text file where the script dump is saved to. Always save: Confirm with "Space-key". Whenever you save, your progress is going to be written straight to the ROM File. It can NOT be used together with IPS files. After filling in all the necessary information you'll find yourself in View-mode, can edit text and everything else what's said in Topic 5.0 --------------------- 5.0 Description of each function 5.1 Script dump Highlight the area, which you want to dump to the text file, with shift & space. If a file with this name does already exist, the selected text will be appended. 5.2 How to patch a dumped script back into the ROM When you want to patch a TXT file back to the ROM press F7 in the viewer. Script dumping should work with all kinds of ROMs, but insertion only with games WITHOUT DTEs!!! 5.3 Jump to an address Jump adresses can be given either in decimal or in hexadecimal system. In hexadecimal you have to put a $ in front of the number. so: $8000 instead of: 32768 5.4 Table viewer/editor You can start the viewer/editor by pressing F8. It's possible to scroll through the entries by pressing cursor Up/Down or PgUp/PgDn. When the cursor is on an entry you want to change you can press space to alter it. Enter a 2- or 4-digit hexvalue and press enter. Then enter the new text and press enter again. When you leave the editor you will be asked if you want the changes also to be saved onto your harddisk. 5.5 Pointer HEXcalibur supports two ways of searching for pointers. An "intelligent" and an "unintelligent" way. In the menu (F6) you can switch between both. You search for a pointer by pressing 'P'. The actual cursor position will be converted into a two-byte-long value. HEXcalibur will search for this value in the actual rombank. Sometimes this value is found several times. One of the results is the pointer, the others are romcode. The "intelligent" searching way will (try to) detect the pointer automatically. It depends on yor ROM if you can use the "intelligent" way. At least it works with "Chrono Trigger". If you use the unintelligent mode, all addresses with this value will be displayed in a new window. Usually (if not always) all pointers are stored together in the pointertable. So, the two bytes in front of the selected address and the two bytes behind should also be pointers (in case that you selected the right address). So, if you select one of the matches and press space, HEXcalibur will show 20 bytes (in form of text) from where each of the 2-byte values point to. (It's so easy, but so hard to explain). If the text displayed, is any kind of senseful text, you have selected the right address. You exit the "text-display-mode" by pressing enter. Back in the last window, you press enter for exiting the Pointer searcher and saving the position of the selected pointer. (Or you cancel, by pressing esc) Back in the viewer, move the cursor to the position you want the pointer to point to, and press enter. 5.6 Relative searcher As you should know, what a relative searcher is, I won't discribe it here. Start it by pressing F5 and enter the string you want to search for. The relative searcher is not THAT fast. (It took 10 seconds on my P133 to search a string in a 32 MBit game). A new window pops up and shows the matches. (As usual, use cursor up/down and PgUp/PgDn for scrolling). Select one of the matches and press space. (Or cancel by pressing esc). HEXcalibur will create a table out of the selected data for you. Answer to the questions, and you're back in the viewer. 5.7 Copy & paste Select the range you want to copy (by pressing 'K') and paste it (at the actual cursor position) by pressing 'X'. You can copy upto 256 bytes, which should be enough, usually. 5.8 SNES-info-editor With this tool, you can change the informations from the ROM-Header. (The informations, shown when quitting HEXcalibur, or starting zsnes, e.g.) Of course, you can't change all of the informations, as a game wouldn't run anymore if change it from fastrom to slowrom, e.g. Select the entry, you want to change by pressing cursor up/down. Changing the title: Up to 21 upper case characters are allowed. The other both entries can be changed by pressing cursor left/right. Quit the editor by pressing enter. ------------------- 6.0 FAQ 6.1 Why is my rom not detected as a SNES rom? HEXcalibur uses all ways of detecting the type of roms I know of, but it might fail with some ROMs, in spite of this. If it isn't detected as an SNES rom, make sure your ROM has got a header. (If you divide the filesize by 32768 modulo, you should get a rest of 512. If the rest is 0, then attach one, with SNESTool, for example.) If your game has got a header, and in doesn't work, then you can enter it manually in the menu (F6). 6.2 What is that IPS feature for? If you use this feature, no changes will be written into the rom. All changes you've done, are written into the IPS file. 6.3 Can I get the sourcecode? No. --------------------- 7.0 Final words Questions, suggestions or bug-reports for HEXcalibur? Send them to LavosSpawn@g-trans.de Questions and suggestions for this readme? Send them to Matthias001@yahoo.com You can always find the latest version of HEXcalibur at www.g-trans.de --------------------- 8.0 Thanks to / Disclaimer Thanks to yoshi252 & DasTier for helping me out, sometimes. Thanks to my betatesters Tomy, Special-Man, neopop (a.k.a. cosmo) and Fuchs Thanks to StyX for helping me with the 8x8 font And special thanks to Tomy and Matthias for writing this readme. The author (LavosSpawn) takes NO responsibility for any damage this program might cause you or your computer!!! HEXcalibur (C) LavosSpawn (LavosSpawn@g-trans.de) Readme (C) Matthias (Matthias001@yahoo.com)