Language…
17 users online: Alansanchez412, autisticsceptile1993, BlueSheep123, crocodileman94, Dark Prince, Dippy, Gloomyerr_, HammerBrother,  idol, Killermclovin, nicecarlos024, Oldcat, papyrus074, Sakaya, SAMYR DUTRA ARAUJO, will___,  YouFailMe - Guests: 1,200 - Bots: 108
Users: 70,907 (2,291 active)
Latest user: Wikozzy

Comprehensive HDMA Tutorial

ASM CodingHDMA

Oh ok...


I definitely find my method easier :p
Last question: while double-buffering, isn't that true that you have small lateness of one frame? I mean, the table is uploaded frame X, but is really loaded with HDMA at frame X+1, so there's a sort of latency?
Yes, very true.
I pasted one of the codes directly into LevelASM and inserted with Xkas. When I opened up the ROM in my emulator, I heard the music but nothing was on the screen. I put the HDMA on C7, the title screen level. Any help? P.S. I used the 3rd code for a color gradient.

Could you make a easy code, the darkness is only at the top?
The Game
You just lost.
Quote
Could you make a easy code, the darkness is only at the top?


Code
	REP #$20	; 16 bit A
	LDA #$0000	; $43X0 = 00 
	STA $4330	; $43x1 = 00
	LDA #LVL1BRIGHT	; get pointer to brightness table
	STA $4332	; store it to low and high byte pointer
	PHK		; get bank
	PLY		;
	STY $4334	; store to bank pointer byte
	SEP #$20	; 8 bit A
	LDA #$08	; Enable HDMA on channel 3
	TSB $0D9F	;
	RTS		; return

LVL1BRIGHT:
db $03,$00
db $03,$01
db $03,$02
db $03,$03
db $03,$04
db $03,$05
db $03,$06
db $03,$07
db $03,$08
db $03,$09
db $03,$0A
db $03,$0B
db $03,$0C
db $03,$0D
db $03,$0E
db $80,$0F
db $80,$0F
db $80,$0F
db $80,$0F
db $80,$0F
db $80,$0F
db $80,$0F
db $80,$0F
db $80,$0F
db $80,$0F
db $80,$0F
db $80,$0F
db $80,$0F
db $80,$0F
db $80,$0F
db $00
</div></div>

Unexpected end tag (</div>) at 966, expected </pre>
Unexpected end tag (</div>) at 972, expected </pre>
Tag (pre) was not closed.
Tag (div) was not closed.
How could one go about making a translucent color gradient that appears above Layer 1, Layer 2 and sprites, similar to the darkness gradient in the examples? What I would like to pull of is some sort of fiery glowing effect that would appear over everything at the bottom of the screen.

[?] Miscellaneous Helpful Hints
If I moderated your hack, there was apparently a 90 percent chance it was rejected.
That would require some color addition and stuff. Try this code:

LDA #$2F
STA $40
LDA #$02
STA $44
LDA #$1F
STA $0D9D
LDA #$00
STA $0D9E


It'll mess up sprite priorities iirc. I'm not sure how to go about fixing that. Try messing around with the underlined numbers, right now all layers go to the mainscreen.
Thanks for the code everest700The Game
You just lost.
I'm trying to use the wavy background code, but it says level6 is already used. Same thing with levelinit6.
Change the labels to something unique. I was lazy and copy/pasted code from my levelasm :P
Originally posted by Kaijyuu
If BRA only means woman's underwear to you, then you need to go look up an ASM tutorial.


Bra = Underwear?
Quote
Bra = Underwear?

Most the time, yes.

Originally posted by Kaijyuu
Quote
Bra = Underwear?

Most the time, yes.



-No Responce-
The Game
You just lost.
Wow this tutorial...
I've searched so long and finally...

YOU JUST ROCK!!!
Here's a question: Can you have to HDMA in one level?

- BlackMageMario
Yes that's possible via levelASM.
Actually it's only possible via levelASM or a generator.

This is for making your own HDMA you know.
Originally posted by BlackMageMario
Here's a question: Can you have to HDMA in one level?

- BlackMageMario

In terms of gradients, you can really only have 1 per level (excluding a brightness gradient), since having more than 1 color gradient seems kinda silly. You can definitely have, say, wavy HDMA and a color gradient in the same level, though.

(this is assuming you mean "two" and not "to")
I am at the beginnig of learning HDMA coding. Is it normal that the regs.txt file is so messed up? I can´t look through this mess... :( And how many scanlines has a screen. I
regs.txt looks complicated to anyone. The average person doesn't really need to know everything on it anyways.

A screen is usually 224 scanlines (E0), pretty much the height of a ZSNES snapshot.
You didn't explained that
Code
LDA #$3F
STA $40

What was bad, because I didn't find it in regs.txt.
I figured out that it's binary and it controls which layer(s) are affected:

B??321

1-3 - Layers
B - BG Color
? - Unknown

That should help someone with HDMA.

ASM CodingHDMA