<- 1  -   of 222 ->
^^
vv
List results:
Search options:
Use \ before commas in usernames
Acclaimed Threshold
Constant Sorrows
I think only Drewseph or Kej would know this, but I'll ask anyway: any documentation on the workings of item % count? I know it had to be changed for Redesign, and I need to do the same for Aegis...
OMG FLAN!!!!!!!
Quote from Arva:
Thx, Kej! Finally I can browse freely.
And so I've tried my first own asm script, I wanted to change the gravity when entering a door. I did like this:
First I located the address to where the gravity number (land) is set and I found it at (hex) 81EA3. With your translation method I got 90:9EA3.
And I figured that in ASM,
LDA #x,    would x be value number to change an existing value with and
STA $x,    would x be the address to where this value should be changed (reversed).
So what I came up with:

LDA #0C
SDA $A39E90
PLP
RTS

Translating this into hex: A9 0C 8F A3 9e 90 28 60

I put it in the 8f bank and pointed to it in the door pointer.
Guess what happend? That's right, the game crashed. Where did I go wrong?

I've tried:

PHP
LDA #0C
SDA $A39E90
PLP
RTS
(08 A9 0C 8F A3 9E 90 28 60)

and

LDA #0C
SDA $A39E90
PLP
RTS
(A9 0C 8F A3 9E 90 28 60)

and

LDA #0C
SDA $A39E90
RTS
(A9 0C 8F A3 9E 90 60)

none worked.


1. Ummm... Store acumulator is STA, not SDA.
2. you still need the hex symbol ($) in front of the #OC after LDA, to signal that the number is a hex number, though that really wouldn't make a difference I guess.
3. Pointers are ALWAYS REVERSED, (except for some music data pointers, but it is done automatically by the ASM. When you write ASM, always have the digits of pointers in correct order. As they are reversed automatically when the ASM is applied.
4. The LoaD Acumulator loads that value in X, so after the pointer on STore Acumulator, put a ",X", to tell it to store the X value.
Edit history:
Quietus: 2009-07-15 04:37:30 am
Super Secret Area - Dead Ahead!
Quote from Acheron86:
I think only Drewseph or Kej would know this, but I'll ask anyway: any documentation on the workings of item % count? I know it had to be changed for Redesign, and I need to do the same for Aegis...


I'll be needing that too...

EDIT: I found this, Acheron, which might help, but it's currently gibberish to me, so if you're able to help in return, you know... winky
All things considered, I shouldn't be awake. x.x
I'm having some issues with backgrounds. In the main ship room (791F8, I think?) whenever I re-enter said room from one of the connected rooms, the background glitches a bit. This is easily fixed by moving into a different screen, but it still looks shitty when you walk in. I'm not sure what controls this.

Don't get me started on 793FE, that's even worse >.>
To kinda help with Draconis and Arva with the 3 "outdoor rooms", which are the Landing Site, 793FE, and 794FD.....

All 3 use the Scrolling Sky Background, and depending on if you tried using a custom BG without changing the BG Scrolling to "Layer 2 (Custom)", you will run into problems. Also, FX1 such as lava and changing said A/B values really screws up the Scrolling Sky BG. Having lava with that BG anyways will cause the FX1 to appear in parts of the sky too.....

Also, I don't know why it happens, but I have the same problem with rooms 793FE and 794FD, in that you can pause the game and mess around, but unpausing causes the game to hang and not resume. Haven't figured that out yet.....
Edit history:
Arva: 2009-07-15 11:21:05 am
QI[9]IQ
Quote from Sadiztik Fish:
1. Ummm... Store acumulator is STA, not SDA.
2. you still need the hex symbol ($) in front of the #OC after LDA, to signal that the number is a hex number, though that really wouldn't make a difference I guess.
3. Pointers are ALWAYS REVERSED, (except for some music data pointers, but it is done automatically by the ASM. When you write ASM, always have the digits of pointers in correct order. As they are reversed automatically when the ASM is applied.
4. The LoaD Acumulator loads that value in X, so after the pointer on STore Acumulator, put a ",X", to tell it to store the X value.


I try to code asm directly into a hex editor, thus required to translate the asm to hex values.
SDA was a misprint, I figured STA would be 8F in hex (A9 0C 8F A3 9E 90 28 60), and soforth.

Another question: Can a door (scroll) pointer trigger "Zebes is awake"? And also, can it reverse it in another one?
And yet anotherone: How do a door (scroll) pointer change the music?
. . .
if your gonna asm in hex, then you need to know what your doing EVEN more then if your not.

Quote:
LDA #0C
SDA $A39E90
PLP
RTS

Quote:
LDA #0C

unless you set the 'm' bit in the P register, then the accumulator uses 16 bits, so LDA #0C really says, LDA #000C, so when you write that in hex, its = A9 0C 00
Quote:
SDA $A39E90

I don't even... what? Are you trying to save to ROM?
ROM is Read Only Memory, and as such can't be saved to.  Only RAM can be.
Code:
PLP - Pull status flags from stack

I have NO CLUE why your PLPing... if you pull something from the stack incorrectly, you WILL fuck something up.

SadFish pointed on many other problems you where having, so I'm not gonna point those out.

If your SERIOUS about learning asm, I'd very heavily suggest reading what I've attached to this post.
Don't let the length get to you, most of it is for refrence purposes. Only the first 200 or so pages are real reading material.  Even if you don't read the whole thing, I'd suggest at least reading the first chapter.

I'm not tring to be a dick, and if it comes off like that I'm truely sorry.  ASM is not cakewalk, and needs to be handled with care. You editing/creating RAW coding, and everything has to be writing correctly for it to work right. Computers don't like to do what you want them todo unless its done perfectly.

edit: and I forget to attach the doc.... <_< >_> -_-;
FIXED!
Edit history:
Quietus: 2009-07-15 05:37:47 pm
Super Secret Area - Dead Ahead!
I've drawn my own layer 2 in a room, changed the background setting to custom, and set scroll to zero in both, as I want it to move with the foreground.  Is that how it is supposed to work?  Mine is misaligned when you enter, and appears shifted to the right, and you can see the old background on the edge.

EDIT: Full of questions today! aiwebs_011  I know that expanding rooms horizontally causes more work if you're untrained, but can you safely expand vertically (within reason) for basically every room?  I'd avoid the known problem rooms, of course (fireflies and stuff), but are there any others to watch out for?
I like Big Butts and I can not lie
Quote from Arva:
First I located the address to where the gravity number (land) is set and I found it at (hex) 81EA3. With your translation method I got 90:9EA3.

LDA #0C
SDA $A39E90
PLP
RTS

Translating this into hex: A9 0C 8F A3 9e 90 28 60


  • It's STA, not SDA
  • You don't need to reverse the address in the STA, so it should just be STA $909EA3, you only need to reverse it when translating to hex, which you did
  • You can't store to the ROM anyways, only to the RAM which is in banks $7E and $7F
  • It's the LDA that's causing the crash. It's normally safe to assume the SNES is in 16-bit mode, the loaded value needs to be 16-bit. LDA #0C should be written as LDA #000C so that you don't translate it to hex wrong, which you did (it should be A9 0C 00)
  • Were you to fix the LDA, the PLP would cause a crash, only PLP when you've PHP previously
Edit history:
P.JMan: 2009-07-16 11:16:55 am
I like Big Butts and I can not lie
Quote from Acheron86:
any documentation on the workings of item % count?

Quote:
E70D,X: Offsets to measure
E717,X: Divisors for those offsets (E70D,X / E717,X = +% for total)
X ranges from 0 to 8, 5 total

E721,X: Bits to test 09A4 for
X ranges from 0 to 14, B total

E737,X: Bits to test 09A8 for
X ranges from 0 to 8, 5 total



At $8B:E70D are five 2-byte pointers:
Code:
In this order:
$09C4	(Health capacity)
$09D4	(Reserve capacity)
$09C8	(Missiles capacity)
$09CC	(SuperMissiles capacity)
$09D0	(Power Bombs capacity)

They're used as the numerators

At $8B:E717 are five 16-bit values:
Code:
In this order:
$0064	(Energy per tank)
$0064	(Reserve per tank)
$0005	(Missiles per tank)
$0005	(Super missiles per tank)
$0005	(Power bombs per tank)

They're used as the denominators

That fraction works out how many tanks of each item you have. The game then adds them all together and stores it to $12

At $8B:E721 are 11 16-bit values
Code:
In this order:
$0001	(Varia suit)
$0020	(Gravity suit)
$0004	(Morph ball)
$1000	(Bombs)
$0002	(Spring ball)
$0008	(Screw attack)
$0100	(Hi jump)
$0200	(Space jump)
$2000	(Speed booster)
$4000	(Grappling beam)
$8000	(X-ray)

$09A4 (your collected items) is tested against all of these values, for each item you have, the game increments $12
Same with $09A8 (your collected beams) using the $8B:E737 table
SAMUS ARAN RULES
is it possible in super metroid for 2 players cause i want me and my dad to enjoy at the same time
I like Big Butts and I can not lie
No
SAMUS ARAN RULES
i wonder if someone can do that
Can I change the effects of suits?

Not just change the color, but can I make a suit able to be in lava, or stand heat, move freely in water?
Super Secret Area - Dead Ahead!
Theoretically, you can do whatever you want, within reason.  It depends entirely upon how in-depth you want to get with hex-editing or ASM work.

But as far as SMILE's concerned, no, you can't.
...
Come to think of it, that may be possible as long as you know ASM.

Edit: Dang timing.  I've been...
So, I can just download any ASM, and Hex editor I want?
Or, is there a certain great working one I should use?
Super Secret Area - Dead Ahead!
Quote from Quietus:
I've drawn my own layer 2 in a room, changed the background setting to custom, and set scroll to zero in both, as I want it to move with the foreground.  Is that how it is supposed to work?  Mine is misaligned when you enter, and appears shifted to the right, and you can see the old background on the edge.


Here're some pictures of the problem I'm having:



I enter on the left, and you see the old backdrop.  I moveto the right.  I move back to theleft, and it displays the backdrop I have drawn.

Anybody have any clues as to what's going wrong?





Did you change the BG pointer to 0000?
...
Quietus: Is that in RoomTest?  You might be experiencing a form of Vomit.

Quote from unknown_dude09:
So, I can just download any ASM, and Hex editor I want?
Or, is there a certain great working one I should use?

It really doesn't matter which you use.  I use Hex Workshop, but many people have also recommended other hex editors such as HxD.  As for ASM, you'll need an emulator with a debugger, such as Geiger's SNES9x Debugger.
Ok thanks.

I have Vista... hope it compatible...
Quote from Quietus:
Quote from Quietus:
I've drawn my own layer 2 in a room, changed the background setting to custom, and set scroll to zero in both, as I want it to move with the foreground.  Is that how it is supposed to work?  Mine is misaligned when you enter, and appears shifted to the right, and you can see the old background on the edge.


Here're some pictures of the problem I'm having:



I enter on the left, and you see the old backdrop.  I moveto the right.  I move back to theleft, and it displays the backdrop I have drawn.

Anybody have any clues as to what's going wrong?


I have that problem in every room....don't know if it's quickmet doing it or not, but I thought it shouldn't matter what the BG Pointer is because it isn't even being used. Or does it?
It doesn't have to do with quickmet, since it happened to me before quickmet was added. Just tested it, and yes, having the BG pointer not be 0000 does do that, even if everything else is correct for using Layer 2.
Edit history:
Quietus: 2009-07-18 06:52:03 pm
Super Secret Area - Dead Ahead!
Yes, it was doing it both in quickmet, and in the emulator, so it wasn't a quickmet issue.

I've now changed the BG pointer to 0000, and it works perfectly.

Thanks a bunch, MoogleEmperor! wub

EDIT: I've been looking at editing room 79C5E, but when I right-click on any tiles, it only pastes the solid / air / whatever state, but not the tile itself.  I can select them from the tile browser normally, though. Is this normal, or just a bug? Eh? The whole room seems to be drawn in layer 2... Rolling Eyes

Also, is there any obvious difference between the green and blue scroll areas.  I presume they're different, otherwise there'd be no point in having two types...

Speaking of which, how does one make the scroll PLM's work.  They seem to only work for one scroll area in particular, and if you move it to another, it doesn't scroll.
OMG FLAN!!!!!!!
Blue and green scrolls are slightly different. The blue ones cut off the lower 2 lines of tiles, UNLESS there is another green or blue scroll directly below them. Green scrolls will show the lower 2 lines always, whether the next scroll down is blue red or green.

In other words, if you have a corridor that is 1 screen high all along, having green scrolls will make the screen scroll vertically a bit, blue scrolls mean it wont scroll vertically at all. In this case, blue is MUCH better, because it reduces the amount of movement in the screen.

Scroll PLMs change a specific scroll block, regardless of where they are in the room. They can be made to change any number of blocks to any color, any number of times, but you'll need a hex editor.
To put it simply, the scroll PLM's high/low values are actually a pointer to the data in bank 8F. The data always follows the same pattern of:

(screen #) (scroll to change to)(screen #) (scroll to change to)...(80)

So the screen # is the actual screen to change. Top left would be screen 00, next one across in 01, then 02, etc. When you get the the end of the row, go to the start of the next column. You can also right click the screen in scroll editor and it will display the screen number in the top left.
The scroll to change to is either 00, 01 or 02. 00 is red, 01 is blue, and 02 is green. You can have as many screens change as you like with one PLM, but you always end with an 80 so the game knows it's the end of the data. Then you just change the high/low values of the PLM to point to the start of the scroll chang data.

Eg, changing screen 02 to a blue scroll and screen 03 to a red scroll would read 02 01 03 00 80.