(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-16-24 05:43 PM
Acmlm's Board - I3 Archive - - Posts by Registrar
User Post
Registrar
Newcomer


 





Since: 01-28-07

Last post: 6317 days
Last view: 6316 days
Posted on 01-28-07 09:12 AM, in Approval Request Link
Hey,

I used to post on the website a while ago under the name Unicorn_poop, but then the site was updated to what it is today and I lost the ability to post in the ROM Hacking forum.

Anyway, since you guys want to know a little about my qualifications, then so be it. I am mostly interested in hacking the SNES, and I have full knowledge of the 65816 processor used in the console (behavior, op-codes, addressing modes, memory map, etc.) In addition, I know quite a bit about the system as a whole, such as manipulating the PPU, using the DMA channels, cart configurations, and overall system architecture.

I am still learning about the APU (Scholarly on it, but no direct experience with it) and I have studied the Super FX chip to a small extent. My knowledge of HDMA is on par with that of my APU abilites.

Software wise I have constructed a SNES Hardware Graphics Demo that was previously posted on the site, but I bet by now it isn't hosted anymore. Why I mention this is because it shows I can construct a working program from scratch, as well as I understand the format SNES programs take (such as having a main body, supported by a NMI routine used to update the graphic registers.)

I also have a large collection of notes on Super Metroid that I have made while learning about the structure of video game programs.

Lastly I hope to contribute to the site a number of things. Foremost, however, is I would like to create a post on how to program in 65816 ASM. It seems that this would be a great benefit to a number of people who ignorantly ask how to perform ridiculously complex hacks, expecting that the solution is something easy.

Looking forward to being approved. Thanks!

Registrar
Newcomer


 





Since: 01-28-07

Last post: 6317 days
Last view: 6316 days
Posted on 01-28-07 10:20 AM, in can i have help with super metroid hex editing? Link
1) check out Kejardon's documentation on SM at http://drewseph.zophar.net/Kejardon/ .He may have information on the properties of the beams

2) There have been plenty of questions like this in the past. You should be able to find some documentation on using SMILE

3) to lock out people from editing your hack in smile, just change $80:82A6 to any value other that $04

4) to make Samus start with different items would be a very easy ASM hack. First you need to look at the values at $7E:09A2 - 09A9.

$7E:09A2-09A3 = Equipped Inventory 
-----------------------------------------------------------===================
$7E:09A4-09A5 | Inventory | $ - - x - x x x x---->[ Varia Suit ]
------------------------------ | | | | | | | +=================+
| | | | | | | '------>[ Spring Ball ]
| | | | | | | +=================+
| | | | | | '-------->[ Morph Ball ]
| | | | | | +=================+
| | | | | '---------->[ Screw Attack ]
| | | | | +=================+
| | | | '------------>[ *Unused* ]
| | | | +=================+
| | | '-------------->[ Gravity Suit ]
| | | +=================+
| '-'---------------->[ *Unused* ]
| ===================
| $ x x x x - - x x---->[ High Jump Boots ]
| | | | | | | | +=================+
| | | | | | | '------>[ Space Jump ]
| | | | | | | +=================+
| | | | | '-'-------->[ *Unused* ]
| | | | | +=================+
| | | | '------------>[ Bomb ]
| | | | +=================+
| | | '-------------->[ Speed Booster ]
| | | +=================+
| | '---------------->[ Grapple Beam ]
| | +=================+
| '------------------>[ X-Ray Scope ]
| ===================
-----------------------------------------------------------===================
$7E:09A6-09A7 | Equipped Beam| $ - - - - x x x x---->[ Wave Beam ]
------------------------------ | | | | | | | +=================+
| | | | | | | '------>[ Ice Beam ]
| | | | | | | +=================+
*$0000 = Power Beam Equiped | | | | | | '-------->[ Spazer ]
| | | | | | +=================+
*$0020 = Machine Gun Equiped | | | | | '---------->[ Plasma Beam ]
| | | | | +=================+
| '-'-'-'------------>[ *Unused* ]
| ===================
| $ - - - x - - - -
| | | | | | | | | +=================+
| | | | | '-'-'-'---->[ *Unused* ]
| | | | | +=================+
| | | | '------------>[ Charge Beam ]
| | | | +=================+
| '-'-'-------------->[ *Unused* ]
| ===================
------------------------------------------------------------------------------
$09A8-09A9 = Beam Inventory



Next, when a new game begins, you need to see where the game sets up the initial values at these locations by using a debugger that breaks when these values are modified. after that point in the program, simply insert a piece of code that logically ORs in the desired settings.

On having equipment being removed, thats more tricky, because you need to add an ASM program that is triggered when you want the equipment removed. The actual process of removing the equipment is easy. Just check to see if the equipment you want to remove is present by ANDing the desired values, then (if you have the equipment) proceed to Exclusive OR the equipment in order to remove it. If you fail to test if you have the equipment, in the case that you don't you will actually be given what was to be taken away!

(edit by freedos+: you suck at <pre>


(edited by FreeDOS + on 01-28-07 05:21 AM)
Registrar
Newcomer


 





Since: 01-28-07

Last post: 6317 days
Last view: 6316 days
Posted on 01-28-07 11:26 PM, in can i have help with super metroid hex editing? Link
To make the game skip the intro, but not Ceres is going to take a little research on your part, but it should not be too tough.

One way to do this is to recognize that if you start a new game and watch the intro all the way to the point that you are actually in Ceres standing on the elevator, and then if you reset the game without doing anything, then the game will remember that you already watched the intro and not force you to watch it again when you open the file back up. This means that the game modified SRAM (Save RAM starting at $70:0000 (i believe)) in such a way to remember this. All you have to do is have the game write to SRAM to the location telling it that the intro has been watched immediately after the game starts a new game. It is a simple ASM hack, but you need to discover where in SRAM the flag for this behavior lies, and you also need to find where in the program the 'start new game' program is. Once again a debugger is your best friend.

Alternatively you could look at RAM location $7E:0998, which describes the game mode the program is in. For instance, a value of #$08 means the game is running the main engine. If you watch this value as the game progresses, you can see what number corresponds to 'initiate new game mode' , and following that, you can discover how the game uses it to redirect to the ' initiate new game' routine. Once you find the location of the routine, modify it to your hearts content.

I know this is a little bit dense, but these are fairly basic hacking techniques. Nobody said hacking was easy. I might start a thread on SNES ASM in a bit to ease the steep learning curve of SNES hacking.
Acmlm's Board - I3 Archive - - Posts by Registrar


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.006 seconds; used 360.44 kB (max 442.45 kB)