Language…
10 users online: 35TCB77, bradcomp, Hayashi Neru, liz_bean, MorrieTheMagpie, Nitrocell Inc., Reese_Pufferson, SuperMarioDs64, TCgamerboy2002, Xulon - Guests: 157 - Bots: 89
Users: 68,817 (2,339 active)
Latest user: Nickzinn

Official Hex/ASM/Etc. Help Thread

  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 418
  • 419
  • 420
Originally posted by Aiyo
Originally posted by MrCheeze
Aiyo: One of them is the # of coins shown in the status bar, the other is whether or not you have 4 coins or more.


I knew that

Originally posted by MrCheeze

For low byte and high byte, I believe they are two separate addresses both used for the same thing because there needs to be more than 256 possibilities.

=


LDA #$30 ; <- what do these operations do?
STA $1693 ; <- are they supposed to make it act solid?
LDY #$01 ; <- if so, seems like an ugly way to do it

???


A Map16 block can have 4 digits. Like it could be 0130(Cement), or 0750...

The first 2 digits are the high byte, and the second 2 are the low byte.

Low: (2 digits) High: (2 more digits)

You load the high byte into the Y Register, and store the low byte into the RAM address 1693.


@BuuHuu and Ersanio

In 7E0001, the high byte is 00 and the low is 01. Drop the 7E, you dont need it.
oooh, so to make it act like 25 it would be

LDA #$25
STA $1693
LDY #$00 ;?

also is this correct? because after i collect 2 coins, some sounds dont work.
(below in ASM)
Code

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;2 Yoshi Coin Sound Generator - By Aiyo
;Based Off: Boingboingsplat's code
;
;Uses Extra Bit: NO
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        RAM_DragonCoin = $1422
        RAM_Sound = $1DFC

        dcb "INIT"              ; Generators don't have an INIT routine
        RTL

        dcb "MAIN" 
        LDA RAM_DragonCoin 
        CMP #$02
        BCC OnOffFlag 
        PHA
	LDA #$29 
        STA RAM_Sound
	PLA
        OnOffFlag:
        RTL
Return:
        RTL

(below is in CFG)

Code

03
FF
FF FF FF FF FF FF
FF FF
yoshi_coin_off.asm</pre></div>


Unexpected end tag (</pre>) at 1211, expected </span>
Unexpected end tag (</div>) at 1217, expected </span>
Tag (span) was not closed.
Tag (pre) was not closed.
Tag (div) was not closed.
Originally posted by Aiyo
oooh, so to make it act like 25 it would be

LDA #$25
STA $1693
LDY #$00 ;?

also is this correct? because after i collect 2 coins, some sounds dont work.
(below in ASM)
Code

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;2 Yoshi Coin Sound Generator - By Aiyo
;Based Off: Boingboingsplat's code
;
;Uses Extra Bit: NO
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        RAM_DragonCoin = $1422
        RAM_Sound = $1DFC

        dcb "INIT"              ; Generators don't have an INIT routine
        RTL

        dcb "MAIN" 
        LDA RAM_DragonCoin 
        CMP #$02
        BCC OnOffFlag 
        PHA
	LDA #$29 
        STA RAM_Sound
	PLA
        OnOffFlag:
        RTL
Return:
        RTL

(below is in CFG)

Code

03
FF
FF FF FF FF FF FF
FF FF
yoshi_coin_off.asm</pre></div>

</div></div>

Yes, that is how you would make it act like 25. I know nothing about sprites though, so I cant help you there.

Unexpected end tag (</pre>) at 1301, expected </span>
Unexpected end tag (</div>) at 1307, expected </span>
Unexpected end tag (</div>) at 1317, expected </span>
Unexpected end tag (</div>) at 1323, expected </span>
Tag (span) was not closed.
Tag (pre) was not closed.
Tag (div) was not closed.
Tag (div) was not closed.
Tag (div) was not closed.
Wait, there was already a 5 Yoshi Coin block included with Block Tool. o_O

Erm, I've always had problems playing sound effects. Can't help you there.

First, I haven't had any problems in my implementation, which is practically the same as yours.

The only difference was that I put the stuff under DCB "MAIN" in a separate routine. Tell me what went wrong, maybe I can help.
Aww, I can't have fun...
well i want it to play when you collect 2. I dont want to touch the block to make it make the sound.
I made a sprite based on the block code.
It's in the Controller Data thread.

Here's the post.
Aww, I can't have fun...
Originally posted by Ersanio
High byte= 7E
Low byte= 0001
I think

no, that's:

7E: bank
00: hight byte
01: low byte
Originally posted by Ersanio
1. PLB Pull Data Bank Register
2. PLD Pull Direct Page Register
3. PLP Pull Processor Status Register
4. WAI Wait for Interrupt
5. XBA Exchanges B and A

Questions about these opcodes >_<

1. What is the Data Bank register? Smkdan once told me that A, X and Y are the main registers, and there are more like DB, the Data Bank. Is data bank this: $7E:3785 and $45:6748?
2. What is Direct Page for?
3. What is the Processor Status register?
4. What is that opcode, is it useful, and HOW do I use it (aka example)?
5. I never heard of the register B. What is B? And is that opcode useful, and how do I use it?
----------------------------------------------------------------
Can X and Y do anything else besides indexing? If so, what do they do? And an example for 1 of them?

I know thats alot of questions, but an answer is appreciated. >_<

no, the databank register is the bank that will be used when using absolute adressing mode, here an example:

Code
lda #$7E
      pha
      plb
      lda $c000 ;when this instruction is execute, the adress acessed will be $7EC000

Direct page is the same but it is used with the direct adressing mode insted, however, because it is 16-bit, I suggest turning A,X or Y to 16 bit before changing it
Code
php
      rep #$20
      lda #$7020 ;you may need to use "lda.w #$7020" insted on certain assembler
      pha
      plb
      lda $30 ;the adress acessed will be $702030
      plp

info on the processor flags can be found here:link
Wai disable the SNES CPU until NMI or IRQ trigger. if you disable those before executing Wai, it will be the same as stp
XBA swap the high and the low byte of A(even in case wich A is only 8-bit)
Code
lda #$2345
       XBA ; A become $4523
So, the patch (LevelNames) worked but on an obvious way. I get glitched graphics and numbers on the top of the screen instead of "Level Name".
How do i make a block change into the next map16 block?
Originally posted by Aiyo
How do i make a block change into the next map16 block?


I think this will make it act like the next block, im not sure how to change the block number.

INC $1693
hmmm ok

Also how would i load the smoke image(or animation) where my custom block is?

What is this "6502 native emulation mode" when you use XCE?

CLC
XCE switches to 6502

SEC
XCE switches to 65C816

I saw that in some tutorial, but it didnt say what it was for :o
My blog. I could post stuff now and then

My Assembly for the SNES tutorial (it's actually finished now!)
However, the glitch I get when using BMF's LevelNames patch:
Photo Sharing and Video Hosting at Photobucket
I tried it more than 5 times and tried it with the other SnesLoROM option but I everytime get this glitch.
Or something similar to that.
How would I go about remapping the stationary springboard in Sprite Tool? I've looked through the .asm file but couldn't clearly find where it draws the GFX, and what tiles it draws.
Open your ROM in a hex editor, and go to offset 0x09E1D. Currently this points to 4C, which means SP1 (GFX00), tile 4C, which is the top-left corner of the springboard. The rest of the springboard is flipped/mirrored.

EDIT: Whoops, I thought you wanted the portable springboard. Sorry bout that.
Aww, I can't have fun...
Ersanio: It makes it behave like a 6502...?

Boing:

Code
CODE_02CF2B:        A9 3D         LDA.B #$3D                
CODE_02CF2D:        99 02 03      STA.W OAM_Tile,Y 


It draws only one tile, so you change one you change them all if you don't plan on dissassembling it.
Since nobody answers on my question about the LevelNames patch, I ask something other: You know the intro screen from stranded and Super Mario Odyssey? Can someone give me the code for installing it or help me out with that?
Ok, I'm sorta mad/sad right now. This generator and sprite work, but they don't work right. The generator loads the sound when you get 2 dragon coins, but after that happens, some sounds like spin jump do not work. Same with the sprite, and it also plays multiple times at random. So is there away to at least fix the sounds?
Originally posted by ME

Code

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;2 Yoshi Coin Sound Generator - By Aiyo
;Based Off: Boingboingsplat's code
;
;Uses Extra Bit: NO
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        RAM_DragonCoin = $1422
        RAM_Sound = $1DFC

        dcb "INIT"              ; Generators don't have an INIT routine
        RTL

        dcb "MAIN" 
        LDA RAM_DragonCoin 
        CMP #$02
        BCC OnOffFlag 
        PHA
	LDA #$29 
        STA RAM_Sound
	PLA
        OnOffFlag:
        RTL
Return:
        RTL

(below is in CFG)

Code

03
FF
FF FF FF FF FF FF
FF FF
yoshi_coin_off.asm</pre></div>

</div></div>
SPrite can be found Here. <------ LINK
</div></div>

Unexpected end tag (</pre>) at 1448, expected </span>
Unexpected end tag (</div>) at 1454, expected </span>
Unexpected end tag (</div>) at 1464, expected </span>
Unexpected end tag (</div>) at 1470, expected </span>
Unexpected end tag (</div>) at 1594, expected </span>
Unexpected end tag (</div>) at 1600, expected </span>
Tag (span) was not closed.
Tag (pre) was not closed.
Tag (div) was not closed.
Tag (div) was not closed.
Tag (div) was not closed.
This kept me bugging for days now. I need a timer to make an ASM hack. But I dont know how to use a timer. For example, I want to make a LevelASM effect where your coin decreases by 2 every 5 seconds. Is there a special RAM address for it or something? Because I really need it.
My blog. I could post stuff now and then

My Assembly for the SNES tutorial (it's actually finished now!)
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 418
  • 419
  • 420