Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
super_metroid [2017/03/03 17:39] – Checksum tool links thedopefish | super_metroid [2019/08/05 12:26] – Made some paragraphs, added SMART and SMART guide, removed all the red link guides p.jboy |
---|
====== Super Metroid (SNES) ====== | ====== Super Metroid (SNES) ====== |
| |
{{super:smtitlescreen.png | 'Super Metroid' title screen}} Super Metroid is the third game in the Metroid series, released for the SNES in 1994. Currently, it is the most widely-hacked Metroid game, and has the most resources available to help hackers. All information here relates to the specific unheaderedROM: “Super Metroid (JU) [!].smc”, which should be 3,145,728 bytes in size and have CRC D63ED5F8, sha1sum DA957F0D63D14CB441D215462904C4FA8519C613, and md5sum 21f3e98df4780ee1c667b84e57d88675; if your rom has a different checksum, then it is not a clean unheadered vanilla ROM, and you should try to acquire a new one. If you do not know how to verify your ROM's checksum, try opening the ROM in snes9x or use something like [[http://quickhash-gui.org/|QuickHash]] or [[https://www.microsoft.com/en-us/download/details.aspx?id=11533|Microsoft's Checksum Tool]]. For information related to patching this ROM please check [[general:starter_guides:patching_a_rom|Patching a ROM]] or [[http://metroidconstruction.com/howto.php|The HOWTO on the main site]]. | {{super:smtitlescreen.png | Super Metroid title screen}} |
| Super Metroid is the third game in the Metroid series, released for the SNES in 1994. Currently, it is the most widely-hacked Metroid game, and has the most resources available to help hackers. |
| |
For editing Super Metroid, [[http://jathys.zophar.net/files/smile.zip | SMILE 2.5]] is the primary tool used; a more updated version [[http://forum.metroidconstruction.com/index.php/topic,1779.0.html | Parlor]] is available, but is unstable. Most information here will be with 2.5. SMILE has two derivatives currently in production, [[http://forum.metroidconstruction.com/index.php/topic,2160.0.html | SMILE JX]] created by [[http://forum.metroidconstruction.com/index.php?action=profile;u=177 | JAM]] and [[http://forum.metroidconstruction.com/index.php/topic,3575.0.html | SMILE RF]] by [[http://forum.metroidconstruction.com/index.php?action=profile;u=41 | Scyzer]]. | All information here relates to the unheadered NTSC ROM: “Super Metroid (JU) [!].smc”, which should be 3,145,728 bytes in size and have CRC ''D63ED5F8'', SHA1 ''DA957F0D63D14CB441D215462904C4FA8519C613'', and MD5 ''21f3e98df4780ee1c667b84e57d88675''; if your rom has a different checksum, then it is not a clean unheadered vanilla ROM, and you should try to acquire a new one. If you do not know how to verify your ROM's checksum, try opening the ROM in snes9x or use something like [[http://quickhash-gui.org/|QuickHash]] or [[https://www.microsoft.com/en-us/download/details.aspx?id=11533|Microsoft's Checksum Tool]]. |
| |
Various tools exist for Super Metroid editing, including but not limited to [[http://forum.metroidconstruction.com/index.php/topic,1137.0.html | Projectiler]] and [[http://beta.metroidconstruction.com/resource.php?id=9 | DopeTool]], these tools are useful to creating the perfect ROM hack. | For information related to patching this ROM please check [[general:starter_guides:patching_a_rom|Patching a ROM]]FIXME or the [[http://metroidconstruction.com/howto.php|HOWTO]] on the main site. |
| |
| For editing Super Metroid, the de facto standard level editor is **SMILE RF**. Previous notable SMILE branches include SMILE 2.5, SMILE 3 (Parlor, WINE compatible) and SMILE JX. |
| More recently, a tool called **SMART** has hit the scenes, offering automatic repointing and data management in addition to level editing. |
| |
===== Editors and Utilities ===== | ===== Editors and Utilities ===== |
| * [[http://forum.metroidconstruction.com/index.php/topic=3575 | SMILE RF]] by Scyzer |
| * [[http://metroidconstruction.com/resource.php?id=63 | SMILE 2.5]] by Jathys |
| * [[http://forum.metroidconstruction.com/index.php/topic=1779 | SMILE Parlor]] by Jathys |
| * [[http://forum.metroidconstruction.com/index.php/topic=2160 | SMILE JX]] by JAM (forked from Parlor) |
| * [[http://forum.metroidconstruction.com/index.php/topic=3895 | SMART]] by amoeba and TestRunner |
| * [[http://forum.metroidconstruction.com/index.php/topic=1137 | Projectiler]] by Black Falcon |
| * [[http://metroidconstruction.com/resource.php?id=9 | DopeTool]] by thedopefish |
| |
*[[http://jathys.zophar.net/files/smile.zip | SMILE 2.5]] | |
*[[http://forum.metroidconstruction.com/index.php/topic,1779.0.html | SMILE Parlor]] | |
*[[http://forum.metroidconstruction.com/index.php/topic,2160.0.html | SMILE JX]] | |
*[[http://forum.metroidconstruction.com/index.php/topic,3575.0.html | SMILE RF]] | |
*[[http://forum.metroidconstruction.com/index.php/topic,1137.0.html | Projectiler]] | |
*[[http://beta.metroidconstruction.com/resource.php?id=9 | DopeTool]] | |
===== Guides ===== | ===== Guides ===== |
A list of guides created by the community, from manuals on the tools themselves to advanced guides relating to ASM, its all here. | A list of guides created by the community, from manuals on the tools themselves to advanced guides relating to ASM, its all here. |
==== Editor and Utility Guides ==== | ==== Editor and Utility Guides ==== |
Manuals of the workings of all the editors and utilities available to you, detailing all their functions. | Manuals of the workings of all the editors and utilities available to you, detailing all their functions. |
*[[http://metroidconstruction.com/SMMM/ | Super Metroid Mod Manual]] - Comprehensive guide to editing with SMILE RF, written by begrimed | * [[http://metroidconstruction.com/SMMM/ | Super Metroid Mod Manual]] - Comprehensive guide to editing with SMILE RF, written by begrimed |
*[[super:editor_utility_guides:smile2.5 | SMILE 2.5]] - The primary editor to Super Metroid, read all about its functions here | * [[super:editor_utility_guides:smile2.5 | SMILE 2.5]] - The primary editor to Super Metroid, read all about its functions here |
*[[super:editor_utility_guides:smileparlor | SMILE Parlor]] - The latest version of SMILE, but unstable, differences between 2.5 are mentioned here, as well as anything new. | * [[super:editor_utility_guides:smart | SMART]] - The new fangled automatic data managing editor, guide written by co-author amoeba |
*[[super:editor_utility_guides:smileJX | SMILE JX]] - SMILE JX, created by JAM, based off the Parlor source code. | |
*[[super:editor_utility_guides:projectiler | Projectiler]] - | |
*[[super:editor_utility_guides:dopetool | DopeTool]] - | |
| |
==== Basic Guides ==== | ==== Basic Guides ==== |
These guides cover all the basic things around editing Metroid, as well as serving as a good starting point for learning how to get into Metroid hacking! | These guides cover all the basic things around editing Metroid, as well as serving as a good starting point for learning how to get into Metroid hacking! |
*[[super:basic_guides:faq | FAQ]] - Frequently answered questions here, if you got a problem, this might have the answer! | * [[super:basic_guides:faq | FAQ]] - Frequently answered questions here, if you got a problem, this might have the answer! |
*[[super:basic_guides:eaq | EAQ]] - Some questions that possibly have been answered one to many times | |
*[[super:basic_guides:bang_enemy | Utilizing the BANG enemy]] - A guide to creatively utilizing the BANG enemy. | |
| |
==== Intermediate Guides==== | ==== Intermediate Guides==== |
These guides assume you have a good basic knowledge about editing Super Metroid already, you should probably be comfortable with using SMILE by now and be moving onto using tools like a hex editor. | These guides assume you have a good basic knowledge about editing Super Metroid already, you should probably be comfortable with using SMILE by now and be moving onto using tools like a hex editor. |
*[[super:intermediate_guides:cloning_new_enemies | Cloning New Enemies]] - A guide to cloning enemies to create your own enemies without overwriting any of the old ones. | * [[super:intermediate_guides:cloning_new_enemies | Cloning New Enemies]] - A guide to cloning enemies to create your own enemies without overwriting any of the old ones. |
*[[super:intermediate_guides:cloning_new_rooms | Cloning New Rooms]] - A guide to cloning rooms in order to expand your hack. | * [[super:intermediate_guides:cloning_new_rooms | Cloning New Rooms]] - A guide to cloning rooms in order to expand your hack. |
*[[super:intermediate_guides:room_expansion | Room Expansion]] - A writeup about expanding your room's level data so you can make more complex rooms! | * [[super:intermediate_guides:message_boxes|Message Boxes]] - Editing message boxes, item names, etc. |
*[[super:intermediate_guides:bosses_escape_sequence|Changing Which Boss Starts The Escape Sequence]] - A guide to get any boss to start the escape sequence, includes an example bit of assembly for you to modify. | * [[super:intermediate_guides:credits | Credits Editor]] - SMILE RF's Credits Editor: the basics, and what NOT to do! |
*[[super:intermediate_guides:message_boxes|Message Boxes]] - Editing message boxes, item names, etc. | * [[super:intermediate_guides:potentially_useful_bts_blocks|List of Potentially Useful BTS Blocks for Hacks]] - Curious about some of the lesser known block types that Super Metroid hides? Look no further! |
==== Expert Guides ==== | ==== Expert Guides ==== |
These guides could be pretty complex, you should probably be comfortable with assembly by now. | These guides could be pretty complex, you should probably be comfortable with assembly by now. |
*[[super:expert_guides:writing_new_music | Writing new music]] - A guide to writing new music in Super Metroid, includes an example. | * [[super:asm_lessons | Learning ASM]] - Read this guide as your first step towards learning ASM |
*[[super:asm_lessons | Learning ASM]] - Read this guide as your first step towards learning ASM | * [[super:expert_guides:asm_stylesheet | ASM stylesheet]] - Some tips to organize your ASM code and optimize your workflow when disassembling routines in SM. |
*[[super:expert_guides:asm_stylesheet | ASM stylesheet]] - Some tips to organize your ASM code and optimize your workflow when disassembling routines in SM. | * [[super:expert_guides:beam_editing_guide | Beam Editing Guide]] - How to find and edit various aspects of beams. |
*[[super:expert_guides:beam_editing_guide | Beam Editing Guide]] - How to find and edit various aspects of beams. | |
| |
===== Wiki Based Hacking Resources And Information===== | ===== Wiki Based Hacking Resources And Information===== |
| |
==== Data Maps ==== | ==== Data Maps ==== |
Data maps of ARAM, VRAM, RAM, and ROM are here. | * [[super:data_maps:aram_map|ARAM Map]] - A map of Audio RAM. |
*[[super:data_maps:aram_map|ARAM Map]] - A map of Audio RAM. | * [[super:data_maps:rom_map|ROM Map]] - ROM map of Super Metroid, needs double checking however. Not to be confused with a disassembly. |
*[[super:data_maps:rom_map|ROM Map]] - ROM map of Super Metroid, needs double checking however. Not to be confused with a disassembly. | * [[super:data_maps:ram_map|RAM Map]] - RAM map of Super Metroid, incomplete. |
*[[super:data_maps:ram_map|RAM Map]] - RAM map of Super Metroid, incomplete. | |
| |
==== Locations of Data ==== | ==== Locations of Data ==== |
*[[super:data_locations:palette_locations|List of all palette locations in Super Metroid]] | * [[super:data_locations:palette_locations|List of all palette locations in Super Metroid]] |
*[[super:data_locations:sound_locations|List of all sound locations in Super Metroid]] | * [[super:data_locations:sound_locations|List of all sound locations in Super Metroid]] |
*[[super:hex_tweaks|List of all known HEX tweaks in Super Metroid]] | * [[super:hex_tweaks|List of all known hex tweaks in Super Metroid]] |
| |
==== Technical Information ==== | ==== Technical Information ==== |
*[[super:enemy:list_of_enemies| List of Enemies in Super Metroid]] - A list of all known Super Metroid enemies within the ROM. | * [[super:enemy:list_of_enemies| List of Enemies in Super Metroid]] - A list of all known Super Metroid enemies within the ROM. |
*[[super:technical_information:list_of_enemies | Technical Information on Enemies in Super Metroid]] - A technical list of all known Super Metroid enemies within the ROM. | * [[super:technical_information:list_of_enemies | Technical Information on Enemies in Super Metroid]] - A technical list of all known Super Metroid enemies within the ROM. |
*[[super:technical_information:tileset_list | List of Tilesets]] - A list detailing the default contents and area of tilesets within the game. | * [[super:technical_information:tileset_list | List of Tilesets]] - A list detailing the default contents and area of tilesets within the game. |
*[[super:technical_information:music_list | List of Music]] - Another list that shows useable music collection and play combinations which can be used to set the music in a room. | * [[super:technical_information:music_list | List of Music]] - Another list that shows usable music collection and play combinations which can be used to set the music in a room. |
*[[super:technical_information:room_header_format | Room Associated Data and It's Format]] - All the data dealing with room headers/IDs broken down for your understanding. | * [[super:technical_information:room_header_format | Room Associated Data and It's Format]] - All the data dealing with room headers/IDs broken down for your understanding. |
*[[super:technical_information:asm_mnemonics | Assembly Mnemonics]] - A list of what the assembler operations like TRB mean | * [[super:technical_information:asm_mnemonics | Assembly Mnemonics]] - A list of what the assembler operations like TRB mean |
*[[super:technical_information:asm_opcodes | Assembly Opcodes]] - Opcodes and their corresponding mnemonics/byte usage | * [[super:technical_information:asm_opcodes | Assembly Opcodes]] - Opcodes and their corresponding mnemonics/byte usage |
| * [[super:technical_information:data_structures | Data Structures]] |
| |
==== Explanation of Mechanics ==== | |
| |
===== Disassembly Library ===== | ===== Disassembly Library ===== |
| |
* [[super:disasm | Library Index]] An overview of disassembled code by various dedicated hackers. | * [[super:disasm | Library Index]] An overview of disassembled code by various dedicated hackers. |
* [[super:disasm:disasm_guide | Disassembly guide]] How to use various tools to disassemble any ASM code from Super Metroid | |
| |
| |
| |
| |
| |
| |
| |