Fastest Scroll Speed

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

Moderator: Moderators

User avatar
mikejmoffitt
Posts: 1352
Joined: Sun May 27, 2012 8:43 pm

Re: Fastest Scroll Speed

Post by mikejmoffitt »

Sik wrote:Blast Processing was a thing with Sonic 2, not 1. The point of the loops is to show that Sonic was so fast that he could go through them. Nothing to do with superior hardware, just with the character. Dropping all the rings when getting hit however was meant to showcase the console's power (although only up to 32 rings may get spawned from that in practice).
I hope I didn't come off as being serious!

Further amusingly, the ring drop in Sonic 2 often led to a good amount of slowdown.

Back on topic, Doki Doki Yuuenchi's roller-coaster level might be described as marginally fast. I remember part of Akumajou Special: Boku Dracula-Kun having a pretty fast platform-on-rails bit as well.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fastest Scroll Speed

Post by tepples »

mikejmoffitt wrote:Further amusingly, the ring drop in Sonic 2 often led to a good amount of slowdown.
I always thought that particular slowdown was intentional, in much the same way that Street Fighter II runs at half speed from when a character loses all his hit points to when he lands.
User avatar
mikejmoffitt
Posts: 1352
Joined: Sun May 27, 2012 8:43 pm

Re: Fastest Scroll Speed

Post by mikejmoffitt »

tepples wrote:
mikejmoffitt wrote:Further amusingly, the ring drop in Sonic 2 often led to a good amount of slowdown.
I always thought that particular slowdown was intentional, in much the same way that Street Fighter II runs at half speed from when a character loses all his hit points to when he lands.
Nope - it doesn't always happen, especially not when you have a lower amount of rings.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Fastest Scroll Speed

Post by Drew Sebastino »

The only reason tepples thought it was intentional is that he's such a master, that durring the few times he does get hit, he has well over 32 rings. :lol:

Anyway though, how do developers generally go about "intentional slowdown"? Do they just bombard the system with instrutions in a loop, like if there where 32 NOPs or something that kept getting looped?
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Fastest Scroll Speed

Post by rainwarrior »

Why wouldn't you just write code to automatically wait an extra frame?
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fastest Scroll Speed

Post by tepples »

Espozo wrote:Anyway though, how do developers generally go about "intentional slowdown"?
Gradius has a bottom status bar on a mapper with no interval timer. It has to estimate the execution time of each object's handler and wait a frame if the next object handler is unlikely to finish before the sprite 0 hit.

Pokemon Puzzle League counts the tiles that are flashing and inserts vblank waits over a certain amount, in order to simulate the slowdown of Panel de Pon for Super Famicom. Bullet hell shoot-em-ups do likewise, which not only makes play speed manageable during high object load but also adds a dramatic overcrank.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Fastest Scroll Speed

Post by Drew Sebastino »

rainwarrior wrote:Why wouldn't you just write code to automatically wait an extra frame?
Oh, yeah... :oops:
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: Fastest Scroll Speed

Post by Myask »

fazed through loops
phased
mikejmoffitt wrote:Back on topic, Doki Doki Yuuenchi's roller-coaster level might be described as marginally fast. I remember part of Akumajou Special: Boku Dracula-Kun having a pretty fast platform-on-rails bit as well.
Boku Dracula-Kun's rollercoaster certainly looks fast, and the music helps it look fast.
Zanac's Area 12 goes pretty fast... Of course, when comparable to tile size, scroll speed will generate an optical illusion.

361341*20 lines of vblank(NTSC) /3 dots per CPU cycle /6 CPU cycles per long-write (LDA #imm + STA $aaaa), min ~ 380 bytes...so, 2 bytes scroll, 2 bytes address, 128 bytes of 4 NT lines, 2 bytes address, 8 bytes of AT for the printed scroll lines...138 bytes, +2 to update scroll...if you force-blank the pre-render line, you can do that three times, so 12 lines(96px) scrolling vertically? Less, of course, if one writes OAM; still 8 lines (64px) without forceblank.
(Horizontal scrolling requires a lot more address writes, as the PPU doesn't have an 8-address-increment mode to go vertically through an AT.) One doesn't need to write each individually, though, so some address writes can be dropped (though wrapping will mean a second is likely to be needed). Mapper-assistance can, well, just get you whole screens, so we're ignoring it for this exercise.

In any case, one can scroll faster on the NES than is likely to be necessary/useful to the viewer, with a bit of effort.

e: mixed up a number
Last edited by Myask on Tue Jun 09, 2015 5:13 pm, edited 1 time in total.
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Fastest Scroll Speed

Post by Sik »

tepples wrote:
mikejmoffitt wrote:Further amusingly, the ring drop in Sonic 2 often led to a good amount of slowdown.
I always thought that particular slowdown was intentional, in much the same way that Street Fighter II runs at half speed from when a character loses all his hit points to when he lands.
Sonic 2 is the most sloppy of all the games in terms of programming (there's a reason they redid the entire object manager for Sonic 3).

Amusingly one of the places where slow down happens is when the water rises in Chemical Plant 2, if the water manages to catch up with you the game slows down... right when you need your actions to be as accurate as possible. I swear when I was a kid I used to think it was done on purpose.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Fastest Scroll Speed

Post by Drew Sebastino »

I would have thought they would have just recycled the majority of the code from Sonic 1. Did they really need to remake the game engine just to add tails and incorporate the spin dash?
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Fastest Scroll Speed

Post by tokumaru »

Espozo wrote:I would have thought they would have just recycled the majority of the code from Sonic 1.
They did, which is why things got messy.
Did they really need to remake the game engine just to add tails and incorporate the spin dash?
They didn't remake the engine for Sonic 2, they redid parts of it for Sonic 3.
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Fastest Scroll Speed

Post by Sik »

What tokumaru said.

To be more specific: Sonic 1's levels are pretty much mostly horizontal, so the object manager just spawns objects based on their horizontal position, which makes things simpler. Sonic 2 has more stuff going on vertically so it has to spawn more objects (on top of new code having been rushed which didn't help matters). Sonic 3 has so much stuff that they rewrote it to take into account both the horizontal and vertical position of the objects.
psycopathicteen
Posts: 3001
Joined: Wed May 19, 2010 6:12 pm

Re: Fastest Scroll Speed

Post by psycopathicteen »

That reminds me of a question I had for a long time. Why does Sonic & Knuckles work for Sonic 2 & 3, but not Sonic 1?
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fastest Scroll Speed

Post by tepples »

Conventional wisdom is that Sega engineers couldn't figure out how to squeeze the palette in.
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Fastest Scroll Speed

Post by Sik »

More likely answer: cartridge cost. The Sonic 2 part is crammed into its own 256KB ROM, I'd imagine supporting Sonic 1 would have required an even larger ROM for that. The cartridge would have been just way too costly to convince people to buy it.
Post Reply