Artificial Blank - How can it be done.

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

Post Reply
User avatar
Hamtaro126
Posts: 783
Joined: Thu Jan 19, 2006 5:08 pm

Artificial Blank - How can it be done.

Post by Hamtaro126 »

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)
Last edited by Hamtaro126 on Sun Dec 07, 2008 2:27 pm, edited 3 times in total.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

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 ?
Useless, lumbering half-wits don't scare us.
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Post by MottZilla »

It's because they have no idea what they are doing or talking about but they want to try to use us to do their ideas that they seem to think are possible. Or maybe they want to make us think they are smart or something. Who knows. But Hamtaro frequently asks out of this world questions.
User avatar
Hamtaro126
Posts: 783
Joined: Thu Jan 19, 2006 5:08 pm

Post by Hamtaro126 »

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 ?
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.

Note that I am using WRAM area $6000-$60FF as SpriteRAM part 2. So It is practically enough space.
User avatar
BMF54123
Posts: 410
Joined: Mon Aug 28, 2006 2:52 am
Contact:

Post by BMF54123 »

Bregalad wrote:Why is there so many people coming asking crazy things to make SMB hacks ?
There's just one, really.
User avatar
blargg
Posts: 3717
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA
Contact:

Post by blargg »

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.
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.
User avatar
Banshaku
Posts: 2404
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Post by Banshaku »

BMF54123 wrote:
Bregalad wrote:Why is there so many people coming asking crazy things to make SMB hacks ?
There's just one, really.
This is exactly what I was going to say.
albailey
Posts: 177
Joined: Thu Jul 13, 2006 3:15 pm

Post by albailey »

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
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Hamtaro126 wrote:
Bregalad wrote:It is possible to do 2 times sprite DMA in a frame only if you create an artificial blanking area
But how do you really 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
But if you really want to blank the screen to rewrite OAM, you'll need enough RAM to hold both 256-byte display lists. This will likely mean using a cart board that puts RAM at $6000-$7FFF.
Post Reply