Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Super Mario World hacking: labmaster | 3 guests
Acmlm's Board - I2 Archive - Super Mario World hacking - Idea! *Ping*
  
User name:
Password:
Reply:
 

UserPost
Smallhacker
Posts: 35/2273
While we're talking about codes and addresses, how do you convert a SNES address into normal PC address? (Yes, I know that you can use Lunar Address, but I need to know in order to make a program.)
BMF98567
Posts: 51/1261
OK, I think I see what you mean...you can't convert a PAR RAM address to a ROM address. You'd have to find the ASM code in the ROM that reads/writes that RAM address, and change it there.

If you're talking about a PAR code that changes ROM, though (the code will be anything but 7Exxxxxx or 7Fxxxxxx), that's easy. All you have to do is cut off the last two digits of the code and run the remaining 6-digit address through Lunar Address (at FuSoYa's site), which will convert it into a real ROM address.
Atma X
Posts: 37/801
This (below) is not what I'm trying to figure out.
(PAR codes are simply 3 bytes of RAM location and 1 byte to change into? (I already know the difference between the Address and Value)

This is what I want to know (the rest of the stuff below).
I meant if there was an easy way to convert an SNES Pro Action Replay code to a Hex Address for use with a Hex Editor, so I can edit the correct location of the Rom so that the Rom is pernamently changed).

Example: Say you have a PAR Code that alters Mario's jump height, and you want him to always jump that high (from now on) without having to use the code anymore.

You'll need to know where his jump height is, and using PAR codes is an easier way to find the right location, but then the PAR Code needs to be converted into a Hex Address (not anything like Decimal to Hex, or Binary to Hex), so you can change the right location in the Rom in a Hex Editor.

Am I make any sense now? or I'm I being confusing.

Also while I'm at it, what program can I use to View/Edit an Snes Rom as "Ram Address". It seemed as though HyperHacker was explaining the difference between PAR, and Ram Address, which there aren't any differences, am I correct?.
BMF98567
Posts: 49/1261
Uh, yeah, HyperHacker just explained it...

aaaaaavv

a=RAM address
v=value
Atma X
Posts: 30/801
Is there a way to convert PAR Codes to Hex Address?
HyperLamer
Posts: 126/8210
Yep. PAR code format is just aaaaaavv where a=address and v=value. (Note that PAR is able to write to ROM, just specify a ROM address, but of course this won't actually be saved to the file.) I think they get written every VBlank interrupt (on a SNES this'd be done by patching the interrupt handler routine which is always in the same place), which means you'd have access to VRAM too. (Can anyone confirm this?)
Smallhacker
Posts: 29/2273
Originally posted by HyperHacker
And BTW, you can play with CDADSUB in SMW with the PAR code 7E0040xx. Default value's 20.
The bits are for...
Bit Def Description
7 - 0 - Add/Sub Mode (0=Addition, 1=Subtraction)
6 - 0 - 1/2 Colour Data (Makes some colours 1/2 as bright, not sure how it works)
5 - 1 - Enable BG colour (behind all layers)
4 - 0 - Enable OBJ Add/Sub (Sprites)
3 - 0 - Enable BG4 Add/Sub (unused in this video mode)
2 - 0 - Enable BG3 Add/Sub (Layer 3 - scorebar, special FX)
1 - 0 - Enable BG2 Add/Sub (Layer 2 - BG or objects)
0 - 0 - Enable BG1 Add/Sub (Layer 1 - objects)
If you don't know what that means, just play around.


Sounds nice!
*Makes a new block that turns the game into 3-D!*
*Cries at the result*

Hmm... Correct me if I'm wrong, but the PAR codes are simply 3 bytes of RAM location and 1 byte to change into?
HyperLamer
Posts: 100/8210
Originally posted by Smallhacker
Why not both from rom and from file (file have priority over ROM)?

...Considering that my Pok
Smallhacker
Posts: 28/2273
Originally posted by HyperHacker
That'd be nice too, but suppose you have several areas linked to make one big level. It'd be nice to be able to name them like "Yoshi's Island 1, Part 2".

CGADSUB controls colour addition/subtraction. It's used to create the translucent effects in level modes 1E and 1F (and I think the spotlight in Bowser's Castle), and a few people (BMF, Kenny I think) have used ASM to modify it and create way-1337 effects such as spotlights and cracks of light coming from holes in the roof. Basically by setting it to certain values you can create neat translucency effects with the multiple layers.


Why not both from rom and from file (file have priority over ROM)?

Cool. Color effects!
*messes around with CGADSUB*
*corrupts ROM*
*cries*
*uhm... eats pie?*
gnkkwinrrul
Posts: 115/647
You can do almost anything you want to with lunar magic if you just know the right tricks (which I don't know many of )
HyperLamer
Posts: 98/8210
That'd be nice too, but suppose you have several areas linked to make one big level. It'd be nice to be able to name them like "Yoshi's Island 1, Part 2".

CGADSUB controls colour addition/subtraction. It's used to create the translucent effects in level modes 1E and 1F (and I think the spotlight in Bowser's Castle), and a few people (BMF, Kenny I think) have used ASM to modify it and create way-1337 effects such as spotlights and cracks of light coming from holes in the roof. Basically by setting it to certain values you can create neat translucency effects with the multiple layers.
Smallhacker
Posts: 26/2273
Level names? Yes, please! I've been wishing this for a long time.

1: Setting that instead of writing the "Entrance to level 105", it writes the level name: "Entrance to Yoshi's Island 1". For the levels 25-FF, it would show the number instead.
2: The window where you change a level tile's settings, it would show the level name instead of the numbers (option in a OV editor menu).
3: Like 1, but for the "Exit to level whatever".

I'd LOVE this!

(Note: It loads from the ROM, not a list.)

Also, what are the CGADSUB registers?
Torn
Posts: 7/26
I have an almost complete list of all the levels and test levels . Want me to post it? (link)
Edit: I will make a html file of it and post it.
Geno
Posts: 121/206
Whee, another post to delete.

And the level name list if for people who actually edit the names of all the levels, like in, say, Sendy's hack or my side project. I can memorize a LOT of the original SMW.

Speaking of Sendy, where is she? She didn't reregister here, we need her hack's demo!
Alastor the Stylish
Posts: 173/7620
Wuh? Generally you remember that sort of thing after going through it enough. For instance, C7 = intro movie level, 104 = Yoshi's House... sure a level name list would be nice but not terribly necessary.

Also, Geno, you said he means transfering objects between layers. But he also said (Or is there at least one to switch between editing layers 1 and 2?)
Geno
Posts: 113/206
Yeah, the CGADSUB thing is a teeny bit too creative to be put into a general level editor, it would be too common.

I need the list of level names too. It would be pretty useful in finding your levels without killing your hand and mouse on the overworld editor.
knuck
Posts: 54/1818
I didn't liked that idea about the CGADSUB...it would make this thing too usual.
The FG/BG positions i something i've been wanting since a long time ago, though.
gnkkwinrrul
Posts: 90/647
You didn't know there was a shortcut from going between levels one and two?
Alastor the Stylish
Posts: 169/7620
HH, you should know to check things before posting stuff like this. The ~ ` key switches between Layer 1 and Layer 2. It even says that, open up LM, load a level, press alt, press E, press down, right on 'Edit Layer 1 Mode' and 'Edit Layer 2 Mode' on the shortcut key section just to the right.
HyperLamer
Posts: 81/8210
Looking through the change log in SMW's help file, as well as a few recent posts, has given me a few ideas for LM...

-A keyboard shortcut to move objects between layers 1 and 2. (Or is there at least one to switch between editing layers 1 and 2?)
-An ASM hack to set specific values for the FG/BG positions instead of just 4 settings.
-A hack that allows you to specify a value for the CGADSUB register upon loading the level. (You don't need to actually add proper display support, it'd be nice but a lot of work. )
-Support for some sort of file containing a list of level names to display in the titlebar.
Acmlm's Board - I2 Archive - Super Mario World hacking - Idea! *Ping*


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.013 seconds.