Original Post:
__________________________________________
I wanted to have 2 Sprite RAM addresses together with IRQ split on the Status Bar, But I need this to apply to a project of mine (Super Mario Bros. hack)
I have doppleganger's SMB disassembly as a reference
It could require 2 Sprite 0 placements, I do not know if it is true!
__________________________________________
EDIT: That is not actually the case anymore, It requires an Artificial Blanking, Whatever that means, Please point it out to me. (It involves the PPU)
Artificial Blank - How can it be done.
Moderator: Moderators
- Hamtaro126
- Posts: 783
- Joined: Thu Jan 19, 2006 5:08 pm
Artificial Blank - How can it be done.
Last edited by Hamtaro126 on Sun Dec 07, 2008 2:27 pm, edited 3 times in total.
I don't understand fully what you're trying to do but that doesn't sound really possible. It is possible to do 2 times sprite DMA in a frame only if you create an artificial blanking area and have enough RAM for that, which is not likely to be the case.
Why is there so many people coming asking crazy things to make SMB hacks ?
Why is there so many people coming asking crazy things to make SMB hacks ?
Useless, lumbering half-wits don't scare us.
- Hamtaro126
- Posts: 783
- Joined: Thu Jan 19, 2006 5:08 pm
Oh, That is what I missed, But how do you really create an Artificial Blanking area? I know it involves the PPU, But there is no way I can make a assembly routine unless you can try to point me on how to do an Artificial Blank.Bregalad wrote:I don't understand fully what you're trying to do but that doesn't sound really possible. It is possible to do 2 times sprite DMA in a frame only if you create an artificial blanking area and have enough RAM for that, which is not likely to be the case.
Why is there so many people coming asking crazy things to make SMB hacks ?
Note that I am using WRAM area $6000-$60FF as SpriteRAM part 2. So It is practically enough space.
There's just one, really.Bregalad wrote:Why is there so many people coming asking crazy things to make SMB hacks ?
- BMF
RuSteD LOgIc
RuSteD LOgIc
There's no way to turn the TV's electron beam off as it does during vertical blanking interval. The closest you can do is display a black scanline.Hamtaro126 wrote:how do you really create an Artificial Blanking area? I know it involves the PPU, But there is no way I can make a assembly routine unless you can try to point me on how to do an Artificial Blank.
I suspect what is he asking is about doing a split screen effect.
You can use sprite 0 to do this for one split. I think he wants two.
So what I think he wants to do is that after that first hit occurs, clear the sprite 0 hit bit, set a new location for sprite 0 (through DMA or the gbaguy way with writes to $2004), and wait for it to be hit again.
As far as I know, this cannot be done. And even if it could, you'd be writing to PPU memory during the drawing period which probably wouldnt behave too well.
Al
You can use sprite 0 to do this for one split. I think he wants two.
So what I think he wants to do is that after that first hit occurs, clear the sprite 0 hit bit, set a new location for sprite 0 (through DMA or the gbaguy way with writes to $2004), and wait for it to be hit again.
As far as I know, this cannot be done. And even if it could, you'd be writing to PPU memory during the drawing period which probably wouldnt behave too well.
Al
Hamtaro126 wrote:But how do you really create an Artificial Blanking area?Bregalad wrote:It is possible to do 2 times sprite DMA in a frame only if you create an artificial blanking area
Code: Select all
; Turn off rendering
lda #0
sta PPUMASK
; Omitted: do other stuff
; Turn rendering back on
lda #$1E
sta PPUMASK