Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Rom Hacking: |
Acmlm's Board - I2 Archive - Rom Hacking - I need a place to start O_o | | | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
Zer0wned Cheep-cheep Level: 17 Posts: 4/181 EXP: 21472 For next: 3271 Since: 08-16-05 From: Hermosa Beach, CA Since last post: 30 days Last activity: 30 days |
| ||
I'm trying to get a good understanding of the 65c816 (the operations, equations, behaviors, and the graphical aspects), and I've been searching long and hard for a place to start, but keep turning up in places that require previous assembly knowledge. I already downloaded SNES ASM dev. kit, and I can tell this will be extremely helpful, but no examples, no samples, no "try it yourself" kinds of things, but definitely a great reference and (although buggy and not exactly perfect) a great program when I have a clue or two as to what I'm doing. I've also acquired zz-chr for graphical purposes (please tell me there's something a little better out there...) and I've been using XVI32 for my hex needs for a while now (most of my hacking experience lies in save state hacking, and that built in version of it in znes) I do know: •some basic assembly terminology ($, #, %; and tags like CLC and SBC, although I'm having trouble figuring out what they accomplish) •hex and converting to/from decimal form, and I think enough binary to get me by •historical basics (65816 is from the 6502, NES used th 6502, blah blah blah, motorola) •that there's some way to import/export GIFs to and from ROMS (I just need to find it again) •that I'm not gonna mess with music, that's just not my department I don't know: •How to trace (I'm not even be 100% if I know what that is) •the purpose and results of tags a good majority of the three letter tags (SBC, CLC, etc) •what in the HELL X and Y are for (in the sense of assembly) •an XP compatable 65816 assembly program that isn't SNES specific, so i can tinker around with things** **not a big priority If there's like a walkthrough or something that covers these , and is interactive sort of like this, but with a lot more to it, I think that would be best. ( I did that afore mentioned tutorial, and it made sense to me, so I'm not completely stupid ) I read the stickies that I think would cover my questions before I bothered, but didn't see anything, and had a good look to see if any previous threads covered it either, and no such luck. Any and all help is appreciated, and I apologize for bringing my n00bishness upon you like this.. Just please don't tell me I have to learn C++ and 6502 T_T. |
|||
Jathys Red Goomba Level: 11 Posts: 41/48 EXP: 5916 For next: 69 Since: 12-21-04 Since last post: 8 days Last activity: 8 days |
| ||
3 tips : 1) http://softpixel.com/~cwright/sianse/docs/65816NFO.HTM <-- excellent reference on 65816 2) http://www.obelisk.demon.co.uk/6502/reference.html <-- great 6502 page . . . You don't need to learn 6502... There's nothing new to learn. The two languages are nearly identical and this site is a very easy starting point. 3) Look in a ROM for examples . . . You don't need to understand it fully to have it be useful. Just remember that: a) most codes end with 20 or 22 (JSR or JSL) . . . assuming another code immediately follows, that'd be a good place to start cracking something (just to interpret) b) Any value in RAM is accessed somehow. Let's say HP is located at $7E:8090 . . . Somewhere in the ROM, there will be STA $8090 (the $8090 will be viewed as 90 80 in the ROM) . . . Know the hex value of STA (aka- the opcode) and you should be able to find the code that stores a value to your HP. Try translating the hex into code you can translate into english. BTW- ASM is hard to get started with, but after the first bits of knowledge, it gets very easy, very fast. (edited by Jathys on 08-17-05 12:35 AM) |
|||
Gideon Zhi Red Tektite Level: 13 Posts: 51/79 EXP: 10265 For next: 2 Since: 04-02-05 Since last post: 47 days Last activity: 2 days |
| ||
Here's another reference you might find useful: DMA Transfers etc It covers just about everything from ground zero up to finding compressed data and coding bypasses for it. |
|||
MathOnNapkins Math n' Hacks Level: 67 Posts: 2128/2189 EXP: 2495887 For next: 96985 Since: 03-18-04 From: Base Tourian Since last post: 1 hour Last activity: 32 min. |
| ||
a) most codes end with 20 or 22 (JSR or JSL) I do believe you mean begin with... O_o Here's a list of opcodes you will need to know to do assembly hacking on the snes, they are extremely frequent: Loading and storing the A register: A5, A9, AD, AF, B9, BD, BF, 85, 8D, 8F, 99, 9D, 9F Loading and storing the X and Y registers: A0, A2, A4, A6, AC, AE, 84, 86, 8C, 8E storing zero to a memory location: 64, 9C, 9E branching instructions: 80, D0, F0, 10, 30, (50, 70 - somewhat rare in my experience), 90, B0, 82 increment and decrementing registers and addresses: C8, E8, 88, CA, 1A, 3A, CE, DE, EE, FE, E6, C6 jumping and subroutine instructions: 20, 22, 4C, 5C, 6C, 7C, FC adding and subtracing: 69, 6D, E9, ED So I counted it out, these are about 58 opcodes you should know out of around 255 total. This is if you want to do minor asm edits via a hex editor. |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Rom Hacking - I need a place to start O_o | | | |