Language…
5 users online: anoMaly666,  Atari2.0,  Donut, playagmes169, sinseiga - Guests: 232 - Bots: 277
Users: 64,795 (2,375 active)
Latest user: mathew

Official Hex/ASM/Etc. Help Thread

  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420


Probably will not work since it is, as you said, a preprocessing statement. The assembler has no way of retreiving the values in the table because it has not actually processed the table yet.

It would be better to just add a manually-changeable flag for compiling to a table or not.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
I'm looking at Bomb Explosion at $02808D as well as the Explosion Sensitivity patch, and I'm not seeing it yet. Is there a way to have the explosion itself trigger block code on blocks it interesects (I'm not sure where to look for block-sprite interactions)? Atm, I'm just trying to merge several "explosions" and the bomb one *will* effect the block it's on, but I have a couple other ideas as well.

Thanks for the previous reply Thomas! Yeah a flag would be simple, was trying hold out on that though to make it easier for end-use.
I'm looking for something like this patch, but without saving of any sort. Technically, whenever you open up the ROM in your emulator, it just plays without saving anything. Any help on this?
Originally posted by Mandagary
I'm looking for something like this patch, but without saving of any sort. Technically, whenever you open up the ROM in your emulator, it just plays without saving anything. Any help on this?


Not sure, but theoretically couldn't you "hijack" the save routine and just put an RTL right there? Always a fresh game because nothing is ever saved?

Code
org $$009BC9
	db $6B


Apologies if any of my help on this "Play On Start" endeavor has been broken by the way.

EDIT: Make sure to apply that after the one-file one-player patch, since it's a conflicting hijack (which is in-fact the point).
OR... ya know, just edit the code in that patch to be db $6B.
Thanks man, you're a real life saver!
Hi.

Is there a code around that let's you play as player 2 in different sublevels within the same level using player 1's control inputs?
So I'm working on a collectibles heavy Romhack. I was using Blockcreator to make some custom tiles, and when I looked in the Score tab, I couldn't find an option to add points. I am a bit new to ASM, but if someone could show me the syntax for adding points it would be greatly appreciated.


Don't know if Blockreator has anything for it, but the usual method would be by JSLing to $02ACEF with the desired value in the A register. Like this:

Code
LDA #$05	; 05 = 100 points
JSL $02ACEF	; run the routine

However, that routine is intended for when interacting with sprites only (as it spawns a score indication sprite at the sprite's position). If you want to give the points directly instead, you need this longer code:

Code
    LDA $0DB3
    ASL : ADC $0DB3
    TAX
    LDA $0F34,x
    CLC : ADC #$0A	   ; this value is the number of points to give (in hex), divided by 10 (so 0A = 10 in decimal = 100 points)
    STA $0F34,x
    BCC +
    INC $0F35,x
    BNE +
    INC $0F36,x
  +


Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
I have downloaded custom boss hp changer found here ..
https://www.smwcentral.net/?p=section&a=details&id=4428
but it came with no documents.
there is a hp table located at the bottom of the .asm file. that makes little sence to me.
all i want to do is change big boss boo's hp to 5.

I have downloaded and used asar once before.
Thank you kindly.


Originally posted by Fruitloops
I have downloaded custom boss hp changer found here ..
https://www.smwcentral.net/?p=section&a=details&id=4428
but it came with no documents.
there is a hp table located at the bottom of the .asm file. that makes little sence to me.
all i want to do is change big boss boo's hp to 5.

I have downloaded and used asar once before.
Thank you kindly.

Yeah, that patch is... a bit weird. The table at the bottom indicates the number of hits required to kill a boss in that level, regardless of what boss it is. Each byte then corresponds to one single level (hence the "000-00F" comments on the right side, to indicate what levels are in that row).

So, setting the value for level 105 to "5" will cause any boss in that level to die after five hits.


If you want the Big Boo Boss to always 5 hits to kill (regardless of the level), this simpler patch will work:
Code
org $0381A2
	db $05


Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Originally posted by Thomas
Originally posted by Fruitloops
I have downloaded custom boss hp changer found here ..
https://www.smwcentral.net/?p=section&a=details&id=4428
but it came with no documents.
there is a hp table located at the bottom of the .asm file. that makes little sence to me.
all i want to do is change big boss boo's hp to 5.

I have downloaded and used asar once before.
Thank you kindly.

Yeah, that patch is... a bit weird. The table at the bottom indicates the number of hits required to kill a boss in that level, regardless of what boss it is. Each byte then corresponds to one single level (hence the "000-00F" comments on the right side, to indicate what levels are in that row).

So, setting the value for level 105 to "5" will cause any boss in that level to die after five hits.


If you want the Big Boo Boss to always 5 hits to kill (regardless of the level), this simpler patch will work:
Code
org $0381A2
	db $05


Your way was much easier for my immediate needs.
Thankyou for your time.
I'm using a custom level ending code for normal levels. It's a combinition of a custom sprite (edited version of flashing_goal_smb3) and an uberASM code (in gamemode_14).

This is the uberASM code that finally ends the level:
Code
	LDA $14AC	;Load timer.
	CMP #$01	;Compare to value.
	BNE +		;if not equal, skip ahead.
	JMP .endlevel	;else jump to level ending code.

...

	.endlevel
	STZ $71		;reset animation pointer so the game doesn't softlock

	LDA #$0B	;Load fade-out to OW game mode
	STA $0100	;store value to game mode address.
	RTS		;Return.


My question: How do I force the game to activate the next overworld event? When Mario has passed the level and gets back to the ow, nothing happens.
I've been far to inactive to know how these things work.

So I want to change Mario's palette using Erik's Custom Mario Palette's Patch.
Unfortunately, the readme doesn't say anything about how to patch this to the ROM. I want to use levelasm.

1. Do I have to use levelcode or initcode? Which code would load the patch?
2. Do I have to patch cusmarpal.asm to the ROM using a defined FreeRAM adress stated in that file? Originally it is $0F50.
3. Do I have to change !levelnum to the desired level? Wouldn't that mean I have to use 20 different copies of those .asm files for 20 different levels?
I play different games on Twitch, I did speedruns of Pokemon Red and Gold, Mario Party 4, but I also do SMW stuff.
I only stream to make progress on my hack currently. Check out my twitch!

Exits done: 50, Overworld: 99%
Play through Taomb Demo 3
Taomb is alive again. Check my Twitch as I work on in it when live.

Originally posted by exit1337
1. Do I have to use levelcode or initcode? Which code would load the patch?

The patch doesn't seem to have anything to do with levelASM (or uberASM) - the only reason it mentions levelASM is because it contains a snippet of code from it. You don't need to do write any new code for levelASM at all, everything you need to edit is in the custom palette patch itself.

Originally posted by exit1337
2. Do I have to patch cusmarpal.asm to the ROM using a defined FreeRAM adress stated in that file? Originally it is $0F50.

Seems fine to keep it at that, though something entirely empty like $13E6 might be a better choice. If some other patch already uses that, check the RAM map for entries that say "empty".

Originally posted by exit1337
3. Do I have to change !levelnum to the desired level? Wouldn't that mean I have to use 20 different copies of those .asm files for 20 different levels?

Nope, that's just another free RAM address (like the one above) to hold the current level number. You'll probably want to leave that as it is.


 
After errors with xkas and figuring I ought to use Asar >_> that seemed to have worked. Thank you.

Edit: I've tried 13E6 as you said and it appears it has incompatibilities with the multiple midway patch by imamelia. When I use a multiple midway and reenter, Mario enters the level in a wrong level, fucking everything up. I'll try a different adress and hope it works, but no time for that today.
I play different games on Twitch, I did speedruns of Pokemon Red and Gold, Mario Party 4, but I also do SMW stuff.
I only stream to make progress on my hack currently. Check out my twitch!

Exits done: 50, Overworld: 99%
Play through Taomb Demo 3
Taomb is alive again. Check my Twitch as I work on in it when live.

Where can I actually start hijacking a range of ASM for the so-called Yoshi Fireball's spawn based on shell ability, which is currently only set for the Red Yoshi (color 5)?

Note that this is separate from the other shell abilities, such as Stomping and Flying, This is so if you map your red palette to a different one, is a welcome change

EDIT: I just want to change the color of RED yoshi ability set to an expansion to all color shells, the other patch is missing the red yoshi expansion due to reasons of the ASM not being discovered yet.
It's part of the spitting routine. More specifically, $01F25E is the part where a shell is spit (and therefore which colour Yoshi and the shell has).
Hi,

I can't seem to find on the site old blocks such as the no-mario or no-sprite block, because it is told one can do this easily with no asm knowledge, with the help of the block creator GUI tool. It's kinda frustrating because I see these blocks all over the place in a massive amount of rom-hacks, and I want to use them, too.

Is it true, can I just figure this kind of block out all by myself on this creator tool, is it just considered common sense? If yes, I'll give it a try. If no, I'd better do a request of sorts.
They used to be removed but were added for quite some time.
Thanks a lot, MarioFanGamer!
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420