(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
04-25-23 10:42 AM
Acmlm's Board - I3 Archive - - Posts by Kailieann
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
User Post
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-05-05 09:20 PM, in Super Luigi World Link
Originally posted by Kailieann
Stop capitalizing every word.

Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-06-05 08:11 PM, in Moving wooden blocks Link
It should be just a matter of changing the sprite number it loads. I'd wager you'd only have to change one offset in the .bin file.

As for which, that I can't help with.
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-06-05 08:14 PM, in Hacking music, but have quick question Link
.. can't you just use your hex editor to compare the original and patched roms to see where the music was added?
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-07-05 08:44 AM, in Introduction to Hex Link
Okay, you're going to need Lunar Address for this.

Now, here's the cliff notes.

Say you wrote up some custom code, and wanted to put it into the rom. First you'd need to find some free space in the rom.
That's not too difficult, all you have to do is look for a bunch of 00s or FFs.
Now, let's say you found some blank space in the rom at hex offset x45A10 (it won't actually be blank, but we can pretend).
You would paste your code in at that offset (make sure it ends with an RTL), then open Lunar Address.
Set the ROM type to the first option (LoROM - PC), and check the PC on Left Side option.
Then type 45A10 in the PC File Address box, and it will give you the SNES address $08: D810. This is the address you'll be jumping to.

Now you go to the place in the code where you want to jump from, and put JSL 10D808 (remember the proper byte order).
Ta dah, there's the basics for a proper jump.


(edited by Kailieann on 12-07-05 07:45 AM)
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-08-05 08:35 PM, in Make Mario and Luigi use different jump height offset Link
The cutscenes are a largely unexplored part of SMW hacking, I doubt anyone has anything useful.

If, like me, you're not good at ASM tracing, you can try looking for a ram address that tells whether or not the game is in cutscene mode (should be reasonably easy with ZSNES's cheat search on compare mode), then just changing your code so that it checks that ram address first and branches past the slippery code if a movie is playing.
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-09-05 08:23 AM, in Introduction to Hex Link
*sighs*

Originally posted by Kailieann
Okay, you're going to need Lunar Address for this.


Originally posted by Kailieann
Now, let's say you found some blank space in the rom at hex offset x11A6F0
You would paste your code in at that offset (make sure it ends with an RTL), then open Lunar Address.


Originally posted by Kailieann
Set the ROM type to the first option (LoROM - PC), and check the PC on Left Side option.
Then type 11A6F0 in the PC File Address box, and it will give you the SNES address $23:A4F0. This is the address you'll be jumping to.


Originally posted by Kailieann
Now you go to the place in the code where you want to jump from, and put JSL F0A423 (remember the proper byte order).


Next time try actually reading the post.
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-09-05 06:21 PM, in Vertical scrolling (tiny ASM hack inside) Link
Originally posted by Stifu
-This isn't "organized", this is quite messy actually


*points at the sixth post in the thread*

I'm supposed to be working on a rom offset database, but that would require effort.

<EDIT>

Something just occurred to me.
Could you make it so that it checks Mario's position relative to the screen's position so that it starts scrolling if Mario gets too close to the top, instead of just following him around all the time?

Obviously that would take more effort, but I think it would be a nice compromise.


(edited by Kailieann on 12-11-05 11:59 AM)
(edited by Kailieann on 12-11-05 01:12 PM)
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-09-05 06:32 PM, in Breeding enemies! Link
*eye twitch* Why is it that I'm the only one whose computer won't run MWR?
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-09-05 09:21 PM, in Breeding enemies! Link
Yeah, that helps.

It would help more if MWR could be more specific than "System Error &H8007007e (-2147024770). The specified module could not be found."
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-09-05 09:25 PM, in Power-ups or Not? Link
For the hack I'm presently designing, I hope to bypass the powerup system altogether and implement a rudimentary HP system.

Though, to be fair, when (if) I finish, it won't be a Mario game anymore..
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-10-05 12:06 PM, in Question Link
Unfortunately I can't help with the problem at hand.
However, the reason you only see SMW related threads is because this used to be the Advanced SMW Hacking forum. XKeeper changed it to Advanced ROM Hacking last night.

Perhaps someone should rename the threads to indicate which game they refer to.
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-10-05 12:29 PM, in Power-ups or Not? Link
90 and 80 aren't values, they're branch statements. Specifically, 90 is BCC (Branch if Carry Clear or Branch if Less Than) and 80 is BRA (Branch Always).

The way the normal of code works is, it checks Mario's speed. If he's running (greater than), the branch statement won't activate and Mario will do a running jump, and if he's not jumping (less than), the branch statement will activate, skipping past the running jump and doing a normal jump instead.

Changing the BCC to BRA makes it so that the branch statement always activates, regardless of Mario's speed. The result being that Mario always does a normal jump, even if he's running.

The reason this disables the flight ability is because Mario needs to do a running jump in order to fly.
The problem with this is that having Mario running at full tilt and then going into a normal jump just looks silly.

Either way, it's possible to add more conditions to the code -- I'd had plans for a hack where the running jump would only activate once Mario passed a certain level -- but you'd need to write up a custom subroutine for it.

Of course, if you're capable of doing that, then it shouldn't be too difficult to set up a flight-controlling ram value of some sort that can be changed dynamically within a level.

As for the HP system, it wouldn't really be an HP system. It would just be a collection of minor changes, and I'm not entirely sure if it would be worth the effort.
Still, if I decided to go for it, here's how I would set it up:

1. The only powerup available is the "Mushroom"
2. "Mario's" big graphics are always used, regardless of his powerup status
3. When hit, the reserve item is automatically written to "Mario's" powerup status instead of floating down from the status bar
4. The reserve item is automatically cleared if "Mario" dies from something other than an enemy
5. Select is disabled
6. The reserve item box is hidden and an HP display is shown instead:
1 HP = no powerup, no reserve item
2 HP = "Mushroom", no resserve item
3 HP = "Mushroom", reserve "Mushroom"

Granted, it's not the most efficient setup possible. The reason I thought it would be best to do it this way is because it would use most of the game's original code instead of having to come up with a completely new set of subroutines.


(edited by Kailieann on 12-10-05 11:31 AM)
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-10-05 12:36 PM, in Super Mario Bros 3 Rom Adresses Link
1. If you have no rom addresses to contribute in the first place, then this thread is pointless.
2. You have been told dozens of times, by numerous people, to stop capitalizing every word.

Come back when you have something to contribute.
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-10-05 01:06 PM, in Breeding enemies! Link
Originally posted by ghettoyouth
you need the VB 6 Runtime files.


No effect.

Originally posted by andres
Mmm, ASM...no thanks


Then why are you in advanced rom hacking?
The whole point of this thread is about changing ASM pointers.
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-10-05 01:23 PM, in Super Mario Bros 3 Rom Adresses Link
In other words, you don't know what you're doing, and you want other people to do all the work so you don't have to learn the hard way.

Am I getting warm?
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-10-05 03:20 PM, in Super Mario Bros 3 Rom Adresses Link
Obviously you're never going to get any useful information if you don't know how.
And you're never going to learn how if you don't try.

The first thing you need is patience. You're not going to be able to make an awesome hack overnight.

The second thing you need is to do things yourself. You want to find a ROM address? Open your rom in a hex editor, change something, and see what happens.

You're never going to get anywhere unless you learn to do these things, and noone's going to bother helping you unless you can demonstrate some level of competence.

And being 15 is no excuse for anything. Things like proper grammar, spelling, and capitalization are taught in grade 2, not grade 12.

As a sidenote, I came to this forum two months ago. In that time, I have not released a single demo, screenshot, or anything of any hack, because I have nothing to release. I have not so much as designed a single, playable level, and all the levels I have done were purely for experimental purposes.
You see, instead of trying to get other people to do all the work for me, I've been learning how to do the work myself. It's a very boring process, reading manuals and helpfiles, digging through several pages of the archive.

But in the space of two months, I've gone from knowing absolutely nothing about assembly to having a fair working knowledge of most of its functions, both in terms of what they do within the program, and how they do it with the processor.
I've got a decent grasp of how to make custom blocks, and my need for them has decreased as my proficiency with LevelASM increases.
I know how SNES ROM banks work. As such, I can create my own custom subroutines without interfering with the game's original code. I can also debug other peoples' code that I find here and there, in case it proves incompatible with my own.
I've learned how to create HDMA effects, I can convert standard RGB color codes into SNES colors in my head, and I can trace RAM addresses with my eyes closed.
How did I get so good in only two months? I actually tried.

In conclusion: Stop dicking around and start studying. Learning how to do something yourself is boring, but unlike asking other people to do everything for you, it actually works.
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-10-05 04:46 PM, in Introduction to Hex Link
Okay. Next time, say that first.
Then you have to do it manually. That's not too hard. Just set your windows calculator to hex mode (all numbers shown are hexadecimal)

ROM address = 11A6F0
-200 byte header = 11A4F0

SNES bank: 11A4F0/8000 = 23

Note that the calculator doesn't support decimals in hex mode, so it automatically rounds down.

Start of bank 23: 23 * 8000 = 118000
Bank address: 11A4F0 - 118000 + 8000 = A4F0

So, as my previous post showed, the SNES address is $23:A4F0
And, of course, Jump statements use reverse byte order, so the jump address becomes F0A423

And, to recap, here is how you convert from a ROM offset to an SNES address:

Most SNES ROMs have a 200 byte header. So, first you take the ROM address and subtract 200

SNES code is divided into 8000 byte banks. To find the bank number, divide the no-header address by 8000.

Finding the address of the code within the bank is a three-step process.
Step 1: Find the start of the bank (bank number times 8000)
Step 2: Find the offset of the code relative to the start of the bank (no-header address minus step 1)
Step 3: Add 8000. The actual game code is in the 8000-FFFF range within each bank. The purpose of the 0000-7FFF bank is a discussion that belongs in the advanced forum.

With this, you should be able to convert any address you need in the future.
And if you're half-decent with any programming/scripting languages, you should be able to whip up a replacement for LA without too much difficulty. I may make a PHP-based address converter myself sometime.
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-10-05 10:48 PM, in Make Mario and Luigi use different jump height offset Link
It would be easier if LM installed all its hacks at once. That way all LM-ified roms would be compatible to an extent.

Instead, it just installs all these little hacks, one at a time, a lot of which most people don't even know about, so there's no way to guarantee that everyone's roms will be the same.

For this reason, it's a better idea to distribute patches for unmodified roms. That way it's pretty much guaranteed to work.
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-10-05 10:51 PM, in Super Mario Bros 3 Rom Adresses Link
Originally posted by mariofan05
ok fine ill start randomly changeing the rom with a hex editor and for some resoon i probobly need to know the first adress i should perform past because i dont want to screw up the rom in genaral


So make a backup. If you're serious about hacking, you have to face the fact that sooner or later, you're going to royally screw something up. Make a backup, and if you screw up, start over again.
Kailieann



 





Since: 11-18-05

Last post: 5909 days
Last view: 5909 days
Posted on 12-11-05 09:46 AM, in Classic Piranha Plants Link
That isn't necessary. BMF made a patch to fix the problem.

Unfortunately, I can't seem to find it on his site, so I'll just put it on mine for now.

(link)
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
Acmlm's Board - I3 Archive - - Posts by Kailieann


ABII

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

Page rendered in 0.033 seconds; used 444.29 kB (max 574.23 kB)