Sprites Expansion? - Smurfs ROM related

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

Moderator: Moderators

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

Sprites Expansion? - Smurfs ROM related

Post by Hamtaro126 »

I also found out that ''smurfs.nes'' expanded (or put more) sprites @ 0700. How did it do that? Can I have more info for expanding so I can make a new status bar?
User avatar
BMF54123
Posts: 410
Joined: Mon Aug 28, 2006 2:52 am
Contact:

Post by BMF54123 »

What are you talking about? The NES hardware is limited to 64 on-screen sprites. You can't just "add more" via software.
User avatar
Hamtaro126
Posts: 783
Joined: Thu Jan 19, 2006 5:08 pm

Post by Hamtaro126 »

BMF54123 wrote:What are you talking about? The NES hardware is limited to 64 on-screen sprites. You can't just "add more" via software.
No, I Looked, Infogrames must have found a way around. I looked at RAM. $700 (Main/Status Bar Sprites?) and $200 (Player) have sprite data.
User avatar
BMF54123
Posts: 410
Joined: Mon Aug 28, 2006 2:52 am
Contact:

Post by BMF54123 »

No, I am saying IT IS NOT POSSIBLE. The PPU can only display 64 sprites, no more.

I just checked the game, and the OAM data is at $700. 256 bytes = 64 sprites. I don't know what $200 is, but it's not OAM.
User avatar
Hamtaro126
Posts: 783
Joined: Thu Jan 19, 2006 5:08 pm

Post by Hamtaro126 »

BMF54123 wrote:No, I am saying IT IS NOT POSSIBLE. The PPU can only display 64 sprites, no more.

I just checked the game, and the OAM data is at $700. 256 bytes = 64 sprites. I don't know what $200 is, but it's not OAM.
Ok, I understand.

(This topic is done, Please close it if possible)
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Yes it is possible to have more than 64 sprites IF AND ONLY IF you turn the PPU off for about 8 scanlines in the middle of the frame in order to re-perform sprite DMA. Then you can use the first sprite area for the part above the bar with 64 sprites and the second sprite area for the bottom part with 64 other sprites. I haven't tried this myself, I don't know if any games use this and I don't see much use for that since you don't usually want a big black bar in the middle of your screen, but this is possible.
Useless, lumbering half-wits don't scare us.
User avatar
Dwedit
Posts: 4470
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit »

Stunt Kids by Codemasters does this.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

It's closer to 5 scanlines, and I think at least Bigfoot uses it.
User avatar
Dwedit
Posts: 4470
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit »

You mean bigfoot's adding sprites in a black area on the status bar? Wizards and Warriors 3 also does that, but that's different from using split screens with two sprite tables.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Bregalad wrote:Yes it is possible to have more than 64 sprites IF AND ONLY IF you turn the PPU off for about 8 scanlines in the middle of the frame in order to re-perform sprite DMA. Then you can use the first sprite area for the part above the bar with 64 sprites and the second sprite area for the bottom part with 64 other sprites. I haven't tried this myself, I don't know if any games use this and I don't see much use for that since you don't usually want a big black bar in the middle of your screen, but this is possible.
This would be great for a 2P game that works like Sonic 2's competition mode, where each player uses half of the screen.

In Sonic 2, both players race in the same level and whoever reaches the end first wins. On the NES, you could explore the idea even further, because with CHR-ROM nothing would stop you from switching new patterns and a new palette for the bottom part of the screen, meaning that the players could even be in different levels, as long as the engine supports this (2 levels loaded at once). Speed would also be an issue, because the NES would be in fact processing 2 separate games at the same time. It could work smoothly in a simpler game.

I think this is just too cool... letting 2 people play the game at the same time, at their own pace, occasionally meeting when necessary, would be fantastic! With 2 different playfields, 8 blanked scanlines in the middle of the screen would not be a problem at all.

EDIT: Back on the topic of "sprite expansion", this seems to be the only way to use more than 64 sprites. This multiplexing only works vertically though, so it probably is impossible to have more than 8 sprites per scanline.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Yes, but it would work only if both playfields scrolls horizontally, or if you have a mapper that supports one-screen mirroring.
This multiplexing only works vertically though, so it probably is impossible to have more than 8 sprites per scanline.
Why probably ? You are still unsure ?
Useless, lumbering half-wits don't scare us.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Bregalad wrote:Yes, but it would work only if both playfields scrolls horizontally, or if you have a mapper that supports one-screen mirroring.
Or you could do that weird trick of drawing each playfield twice while using horizontal mirroring, although that'd make things even harder because there are 2 of them, so you'd actually maintain 4 playfields. But sure, one-screen mirroring would be the best option.
This multiplexing only works vertically though, so it probably is impossible to have more than 8 sprites per scanline.
Why probably ? You are still unsure ?
People have been proved wrong about hardware limitations before, so I'll not risk saying "it's impossible", that's all. Once in a while someone discovers pretty weird ways of extending the capabilities of old hardware, so who knows?
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

tokumaru wrote:People have been proved wrong about hardware limitations before, so I'll not risk saying "it's impossible", that's all. Once in a while someone discovers pretty weird ways of extending the capabilities of old hardware
How about "it was impossible while the NES was still putting food on the table"?
User avatar
Zepper
Formerly Fx3
Posts: 3264
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Post by Zepper »

- An "interesting" test ROM would be one small ball bouncing across the screen, and +1 when some key is pressed. It's *almost* the same idea behind that bio (?) demo.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Fx3 wrote:- An "interesting" test ROM would be one small ball bouncing across the screen, and +1 when some key is pressed.
That, or my old "Obey Your Thirst" (64 sprite cans) demo.
Post Reply