(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-24-23 02:12 AM
Acmlm's Board - I3 Archive - - Posts by BMF54123
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 42 43 44
User Post
(restricted)
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-05-06 02:51 AM, in Wi-Fi Connection and Linux Link
Well, I can see this being useful several years from now (well, hopefully more than "several"), after Nintendo has pulled their WFC servers offline. For now, though, it's an interesting experiment.
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-05-06 03:15 AM, in OW help Link
dumb
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-05-06 03:39 AM, in Opinions on my design... Link
Wow...another hack with SMAS graphics, yet somehow I'm not utterly disgusted by it?

Well done, sir!
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-05-06 07:55 AM, in "Perfect" breakable bricks for SMW! Link
Yes, I realize that SMB3-style bricks have been available for some time now...however, they're not quite "right" (the blocks don't bump up when small Mario hits them, for example). I've decided to remedy this the only way I know how: by spending a whole night figuring out sprite-block interactions, and making my own routines from scratch!

First off, find some free space in your ROM, and insert the following two routines:

brick1.bin
brick2.bin

Convert the starting address of both routines to SNES format and write them down. Next, go to the following addresses, and change each JSL to point to the new brick routines:

$97D2: brick1
$9BC9: brick1
$1182C: brick1
$6F02: brick2

Finally, change $10A76 to 06; this will prevent the bricks from turning when small Mario hits them (or you can leave this at FF and have "hybrid" turn-bricks).

That's all there is to it! The original turn blocks should now behave exactly like SMB3 bricks. Hitting them as big Mario, kicking a sprite into them, smacking them with your cape, and spin-jumping on them will cause them to break, while hitting them as small Mario will merely bump them up (knocking out any enemy on top, of course).

If you run into any odd behavior or crashes, please let me know exactly what you did to cause it. I'm pretty sure I tracked down all the necessary turn block routines, though I may have missed one or two.
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-05-06 08:17 AM, in If you plan to replace sprites 12, 36 and 69... Link
Changing sprite 96 (the unused Chargin' Chuck) tends to corrupt the leaves of the Jumpin' Piranha Plant, though I don't know if that's a tilemap issue or what...
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-05-06 06:42 PM, in "Perfect" breakable bricks for SMW! Link
Originally posted by MathOnNapkins
So am I correct in saying that when you bump these blocks, the original map16 block is erased and you create a sprite instance?
Yes, that's how the original game does it. Specifically, the sprite it creates replaces the Map16 three times: when it bounces upward, it swaps in a solid placeholder (probably to prevent sprites from falling through in the brief moment the block is bouncing), and when it drops, it swaps in the "always-turning turn block" for #$FF frames (the value at $10A76). Once the counter reaches zero, the sprite swaps in the original turn block, and then deletes itself. Each sprite takes up one entry in the sprite table, and is processed even while offscreen, which is why you can only have 4 active blocks at any given time.

With my new routines, if small Mario hits a block, the original "bounced block" routine is called; if big Mario or a sprite hits the block, the "broken block" routine is called. The latter requires specific values to be present in A and Y, and also requires Mario's Y speed to be preserved (otherwise he bounces upward whenever a block breaks, likely part of the spin jump routine). This is why simply replacing the original JSLs wouldn't work.

Originally posted by MathOnNapkins
Also what's with the .bin files, wouldn't it be easier to provide an asm patch? I'd convert if for you if you want.
I would've just made an IPS patch, but I have no idea what space is available in any given ROM, since Lunar Magic and Block Tool both scan for empty space and use whatever they can find. I didn't want my new routines inadvertently overwriting any existing data.


(edited by BMF54123 on 04-05-06 05:50 PM)
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-06-06 04:53 AM, in Level Loader Sub-Routine Link
Just set a breakpoint on writes to $7EC800. This is the start of the level layout in RAM, and it's initialized to #$25 every time a new level is loaded (from both the overworld and secondary exits). I'm sure you know what to do from there.

As for the level number, this patch will store it at $10B (16-bit). This is the "real" number reported by Lunar Magic, and it works for all levels, not just those loaded from the overworld. (If you're using my LevelASM system, you should already have this installed.)
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-06-06 05:04 AM, in I think I'm gonna start over. Link
What Stifu said.

*closes*
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-06-06 05:05 AM, in Super Mario Bros 4: Bowser's Revenge (Coming Soon) Link
Yeah, hack announcements don't go in Advanced ROM Hacking.

*moves*
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-07-06 05:41 AM, in Redrawing every sprite... Link
Originally posted by icegoom

HAHAHAHAHAHA. Don't you DARE change those, I love them.
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-09-06 04:03 AM, in Video Card recommendations anyone? Link
Originally posted by legend in his own mind
I'm looking at an nVidia GeForce FX5500 256MB for around AU$100... What do you think... is it a good buy? And just so you know, I have an AGP 8x and a bit less than 150 bucks to spend on the card.
I'd skip the FX series, as it's already a couple generations old. I upgraded from an FX5500 to a 6200OC (factory overclocked ) a while ago, and there was a sizable jump in my AquaMark scores. It only cost me around $120, and while I'm not sure how that translates to AU dollars, I'm sure it's within your price range.
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-09-06 04:37 AM, in Level Loader Sub-Routine Link
Generally, when I need to hook a JSR in order to JSL to my own code (which I keep in SNES bank $3F), I copy the original JSR to an empty space in the same ROM bank, along with my new JSL, then change the original JSR to point to the new location, like so:

JSR EmptySpace ;original JSR was here

:EmptySpace
JSR OriginalRoutine
JSL NewRoutine
RTS

I don't feel comfortable changing RTSes to RTLs because there's always the chance that the game will call the same routine later on, but from a different point, and using a JSR.
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-10-06 03:33 AM, in Video Card recommendations anyone? Link
Looks like a good deal to me. That card shouldn't have any trouble with most games on the market now, provided you have a decent CPU to match.

Originally posted by HyperMackerel
Originally posted by BMF54123
(factory overclocked )

Wait, what?
Yep, there's a company named BFG Tech that sells overclocked video cards with beefy heatsinks. They're even endorsed by NVIDIA and have a lifetime warranty. Apparently, my card (6200 OC) has a 375MHz core clock, whereas a "standard" 6200 runs at 350MHz.
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-10-06 04:02 AM, in OW! TEH HURT OF MANHOOD! Link
Since I am quite the lazy bum and have a facial hair growth rate not unlike that of the Wolfman, I use a 3-blade electric Remington every day. If I don't do it every day, the long hairs tend to get caught between the blades, and...ow ow ow.
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-10-06 05:47 AM, in "Perfect" breakable bricks for SMW! Link
Originally posted by MathOnNapkins
I also noticed that using shells and such will destroy turn blocks whether you are super mario or just mario.
Of course...that's how the bricks behaved in SMB3. They only check Mario's size (LDA $19 in brick2) when he either spin jumps on them or hits them from below.

Originally posted by MathOnNapkins
Also, it's annoying that the palette still changes when they are bumped. At first I thought the patch didn't work. Then I realized it was the palette swap that was playing tricks on my eyes.
That, unfortunately, I can't fix, since sprites and backgrounds can't share palettes.

I nearly forgot that the bricks in SMB3 turn into coins when a P-Switch is hit...I wonder how hard it would be to replicate that behavior? Should I even bother doing it?
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-11-06 05:30 AM, in graphic card problem- 6600LE Link
I don't know anything about either card, but my guess is that the 6600LE (is that ATi or NVIDIA?) is simply a slower card than the X800GT. Nothing you can do about it, really, except buy a better one.
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-11-06 05:40 AM, in Windows XP picture viewer Link
Apparently, you guys failed to notice that the last reply in this topic was four months ago, meaning interdpth has probably found a solution to his problem by now.

(if not, uh, just let me know and I'll reopen this )
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-11-06 05:52 AM, in need help Link
Start making your thread titles more descriptive. I'm not going to say it again.
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 5908 days
Last view: 5908 days
Posted on 04-11-06 06:23 AM, in Level Loader Sub-Routine Link
Well, yeah, I use that method as much as possible...the method I posted is for those (thankfully) rare occasions when you need to hook the code at a specific point (like after a certain subroutine runs), and there simply isn't enough room for a JSL. Example:

JSR blah
STA $bleh
RTS

In this case, I need to intercept and modify the results from blah before they are stored to $bleh (I ran into such a situation last night when fixing gravity for layer 2 platforms). I can't JSL here because the original JSR needs to be called from the same bank. The only way I can do that is to redirect blah to an empty spot in the same bank, as explained in my previous post:

JSR emptyspot
STA $bleh
RTS

:emptyspot
JSR blah
JSL blarg ;this modifies A before storing to $bleh
RTS
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 42 43 44
Acmlm's Board - I3 Archive - - Posts by BMF54123


ABII

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

Page rendered in 0.036 seconds; used 438.46 kB (max 559.39 kB)