Language…
11 users online: 7 up, ASSATAKKU, Daniel_mi_bb_fiu_fiu,  DeppySlide, FerpyMcFrosting, fsvgm777, GrenudoGames,  KungFuFurby, signature_steve,  xHF01x, YMM - Guests: 184 - Bots: 131
Users: 70,501 (2,453 active)
Latest user: TankerMan64

Official Hex/ASM/Etc. Help Thread

  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 418
  • 419
  • 420
Originally posted by pieguy1372
Originally posted by pieguy1372
What are the reloc offsets for and how do I use them?


*sighs* Anyone?


I second that. Ive been trying to figure that out FOREVER...

What the moo are Reloc Offsets and why do we care about them...?
Did you even look at my last post? <_<
Originally posted by Boing
Did you even look at my last post? <_<


Couldnt understand at all.
Then you should learn basic ASM. >_>
Thanks Boing, I didn't check that post before :P
Your layout has been removed.
A while ago I found this STP opcode (stop the clock). So, what does that opcode do exactly? I also looked at the description. It says this: Stops the clock.
I was like O RLY? So could someone explain to me what this opcode is for, and if it is useful or not?

EDIT: I used this custom code to try out STP:

STP
RTS

All it does is FREEZE the snes. Not crash. Is that supposed to be like that? <_<
My blog. I could post stuff now and then

My Assembly for the SNES tutorial (it's actually finished now!)
yes
Alright. That means I learned a useless code. Now I have another question. What is the opcode BIT for? The description says this:
BIT performs AND with the Accumulator and the operand; however, the flags are affected but the result is not stored.

AND description:
AND performs bitwise AND to the Accumulator and the operand and stores the result back into the Accumulator.
Those 2 opcodes doesnt make any sense to me.

Could someone explain to me HOW to use them? >_<
My blog. I could post stuff now and then

My Assembly for the SNES tutorial (it's actually finished now!)
AND is a binary operation, see more about them here: link

BIT is basicaly a fusion of CMP and AND, as you may know, CMP substract the operand to the accumulator but only affect the flags(Zero if they are equal, carry if the accumulator is equal or above the operand etc.). BIT do the same but perform a AND insted of a substraction
I didnt really get it much, but thank you anyways. <_<
Now my last question for today:

The opcode COP: Coprocessor Empowerment, what does it do, and how do you use it?

Description:
COP imm8 ----di-- 02 xx

COP generates a software interrupt.
That explanation doesnt say too much.
My blog. I could post stuff now and then

My Assembly for the SNES tutorial (it's actually finished now!)
I am sort of new to asm.
What in the Snift code do I change to make it constintly fire baseballs(Since that is what it throws) at a rapid rate and what routine can I add to make it follow mario?Were do I add it?
Your layout has been removed.
Code
                    JSR SUB_HORZ_POS         ; \ always face mario
                    TYA                     ;  | 
                    STA $157C,x             ; /

That makes a sprite follow Mario. Place it somewhere in the main sprite code. I don't know about the baseballs, though.

Now, I have a question of my own.
What do I need to change in the stationary spring board so it bounces Mario about 17 tiles above? :P
Bad luck man:

Code
CODE_02CDE7:        B9 FF CD      LDA.W DATA_02CDFF,Y       
CODE_02CDEA:        85 7D         STA RAM_MarioSpeedY 


Code
DATA_02CDFF:                      .db $B6,$B4,$B0,$A8,$A0,$98,$90,$88


The data at SNES 02CDFF holds the jump heights depending on what part of the spring board. It's signed, so 80-FF is rising speed where 80 is the maximum.

Ersanio: COP means nothing for the SNES.
I sometimes see some opcodes, with a random x
Example:

LDA #$01
STA $1602,X

What is that X for?

Also I see stuff like this:

.db insert stuff here
and
.dw insert stuff here
What is .db and .dw for?
My blog. I could post stuff now and then

My Assembly for the SNES tutorial (it's actually finished now!)
,x mean indexed with X, it's an adressing mode. when indexed with X or Y is used, the adress accesed by the opcode will be the operand + X or Y. for exemple, in the following code:

Code
ldx #$02
lda $20,x


the adress acessed by the lda $20,x will be $22.

db and dw is used to put bytes or words directly in the file
Oh, now I see it.

So it is basically 20+2?
Does it also work with Y?
DB= Direct Byte, DW= Direct Word?
Also thanks. You helped me alot these days >_<
My blog. I could post stuff now and then

My Assembly for the SNES tutorial (it's actually finished now!)
yes, it also work with y<_<
...Another question <_<
Could this opcode work?

LDA $19
CMP #$01,02 ;<-- Possible to use compare like this?
BNE Go_do_stuff
RTS
Go_do_stuff:
blah
blah
...

My blog. I could post stuff now and then

My Assembly for the SNES tutorial (it's actually finished now!)
no, just use two cmp and bne<_<
Originally posted by Troopa Pride
I am sort of new to asm.
What in the Snift code do I change to make it constintly fire baseballs(Since that is what it throws) at a rapid rate and what routine can I add to make it follow mario?Were do I add it?

Let me rephrase the thing about baseballs.
What can I change to make the fire rate of a snift more often?
Your layout has been removed.
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 418
  • 419
  • 420