Language…
13 users online: anonimzwx,  BeeKaay, codfish1002, DanMario24YT, HaruMKT, hhuxy, koffe190, lean4, margot, ModernKiwi, Pizzagamer9791,  Ringo, SysDataSoft - Guests: 310 - Bots: 319
Users: 64,795 (2,375 active)
Latest user: mathew

New HDMA engine(WIP)

Link Thread Closed
Originally posted by Aiyo
Thats cool Bio, can't wait to see what you dish out next!

MUST..RESIST..URGE...
AHH!
QFT!QFT!QFT!
*Gasp*
Anyway....
This looking really good Bio.Do you think it will work with addmusic?
or free roam Ow?...
Btw, are d4s's .tbl files useable with other HDMA code? They are raw HDMA pointer tables right?

Also, that SuperFX stuff got me wondering. The SuperFX chip has a framebuffer I saw. If you rendered level objects to the framebuffer they would go behind/in front of each other correctly wouldn't it? Not that it would probobly be practical...
Your layout has been removed.
Originally posted by Bio
Multi-layerscroll:


This new HDMA engine is great!
Was it necessary to quote that? -_-

But, yes, this is stupendous!

Is it possible to make layers that go in front of the FG? Or is that another feature not yet developed?

Example:
That was Layer 1 used in SMO.
CP_foothills has been canned. Therefore, this space is once again blank.
Oh.... Seems pretty obvious now. >_<

Originally posted by Bio

the circle's center X position
the circle's center Y position
the circle's radius


Hmm... Increase these parameters proportionally to make the circle size bigger, right? If so, this should come in handy, much.

Originally posted by A²
Originally posted by Bio

the circle's center X position
the circle's center Y position
the circle's radius


Hmm... Increase these parameters proportionally to make the circle size bigger, right? If so, this should come in handy, much.

Actually, you only need to increase the radius to make the circle bigger
sprite(inserted with spritetool):

Code
		    dcb "INIT"
		    PHB                     ; \
                    PHK                     ;  | main sprite function, just calls local subroutine
                    PLB                     ;  |
                    JSR Change_level_mode   ;  |
                    PLB                     ;  |
                    RTL   
                    dcb "MAIN"   
                    PHB                     ; \
                    PHK                     ;  | main sprite function, just calls local subroutine
                    PLB                     ;  |
                    JSR SPRITE_CODE_START   ;  |
                    PLB                     ;  |
                    RTL      

RETURN              RTS

Change_level_mode
                    lda #$17    ;\
		    sta $0d9d   ; |Change the level mode Main and sub screen setting
		    stz $0d9e   ;/
		    rts


SPRITE_CODE_START 

                    LDA $14C8,x             ; \ 
                    CMP #$08                ;  | if status != 8, return
                    BNE RETURN
		    lda #$df
		    sta $40
		    lda #$00
		    sta $41		  
		    stz $42
		    lda #$80
		    sta $43
		    lda #$28
		    sta $4361
		    lda #$41
		    sta $4360
		    rep #$20
		    lda.l POINTERHDMA
		    sta $4362
		    sep #$20
		    phk
		    pla
		    sta $4364
		    lda #$70
                    sta $4367
		    lda #42
		    sta $44
		    lda #$00
		    sta $7FFF
		    rep #$20
		    lda #$defb ;SNES RGB value to be substracted from all the pixel outside of the scanline
		    sta $701
                    lda $80      ;\
		    clc          ; |
		    adc.w #$0008 ; |
		    sta $7F10    ; |
		    lda $7E      ; |set the spotlight's center to mario's position
		    clc          ; |
		    adc.w #$0004 ; |
		    sta $7F12    ;/
                    sep #$20
		    lda #$20   ;\set the spotlight's radius
		    sta $7F14  ;/
         	    jsl $7F9000
		    lda $0D9F
		    ora #$40
		    sta $0d9f
		    rts
POINTERHDMA
                  Dc.d hdmatable

hdmatable
                    DB $F0
		    DW $2000
		    DB $F0
		    DW $20E0

I inserted a custom sprite with this code and no spotlight appears. It behaves like the level_ender sprite, except that it ends the level, even if there are sprites on screen.
eh, the job is mostly done by SuperFX, inserting the sprite alone while only cause randomness(since it jump to RAM at one point). beside, I only posted it for documentation prupose, not to give them
Originally posted by KilloZapit
Also, that SuperFX stuff got me wondering. The SuperFX chip has a framebuffer I saw. If you rendered level objects to the framebuffer they would go behind/in front of each other correctly wouldn't it? Not that it would probobly be practical...

Yeah, but the frame buffer use a bunch of VRAM, the one used in starfox use about $2800 bytes(2 and half GFX files) and it don't even use the full SNES resolution
Can you mix HDMA with the OW too.
like World 8 in SMB3?
I wonder what a HFD opcode would do in ASM...
What is that multi layerscroll thing supposed to do anyways?
Check out my profile for awesomeness!
For me the sprite generates Eeries. If the hacked routine is inserted also then spin jumping on the Eeries kills you. Whether HDMA.bin is included or not does nothing.
Your layout has been removed.
YOU'RE NOT SUPPOSE TO TRY TO INSERT THE STUFF NOW, I ADDED THEM FOR DOCUMENTATION PRUPOSE, AND NOW I WILL REMOVE IT DUE TO PEOPLE NOT REALISING THIS
Wait, why is it in the Tools section then?
Your layout has been removed.
that d4s'
MrCheeze: Let me guess? You think sometimes. XD

Bio: It's nice to see your ASM skills in action. I'm sorry that the users around here are too newbish for you. Don't worry, just reply to users who show intelligence and help them a bit.

I hope that your HDMA engine is finished.
Quote
SuperFXtive
Added: Fri Sep 21, 2007 7:37 pm

An assembler for the SuperFX chip

Bio
Submitted by: Bio

20.6 KB

Download
Downloaded 36 times.


What's that then?
Your layout has been removed.
Quote
An assembler for the SuperFX chip

¬_¬
Link Thread Closed