Page 3 of 4

Re: How many times can the NES change scrolling in a frame?

Posted: Wed Apr 10, 2019 12:02 am
by Bregalad
Now instead of a terminology / semantics war
The OP asked for terminology so that's why I answered this :
Marscaleb wrote: By the way, does this technique have a name? Is there some word or term I can use to refer to it without giving examples or explaining in detail how the system is drawing a different part of the background?
Sumez wrote: On top of the "raster effect" being the intended result, in homebrew development, people usually refer to the act of changing scroll values on a specific scanline as "splits". Specifically, horizontal splits.
Split is when the scroll value brutally changes once. It's completely different than a wavy effect where it changes continuously.

Re: How many times can the NES change scrolling in a frame?

Posted: Fri Apr 12, 2019 10:41 am
by psycopathicteen
Something that always gets on my nerves is when people see raster effects on the SNES, they think it's either "mode 7" or the "FX chip".

Re: How many times can the NES change scrolling in a frame?

Posted: Fri Apr 12, 2019 11:31 am
by za909
psycopathicteen wrote:Something that always gets on my nerves is when people see raster effects on the SNES, they think it's either "mode 7" or the "FX chip".
There seems to be this false myth out there that "the SNES can't do anything special without outside help", but then again, I think the opposite is also true where 3-4 parallax splits in an NES game make people think it's "almost 16-bit".

Re: How many times can the NES change scrolling in a frame?

Posted: Thu Apr 09, 2020 2:55 am
by turboxray
Just came across this thread when searching for a site for someone.. (raster effects related)
koitsu wrote:
Mon Apr 08, 2019 5:20 pm
Marscaleb wrote:I think "line scrolling" or "line scroll change" sounds like an appropriate term; if it can get universally adopted.
Please stop this absolute time-wasting borderline-postmodernist pedantry. Seriously dude.

If you told me "line scrolling", I would have no idea what you were talking about without context; because to me, "line scrolling" is a form of smooth text scrolling on classic hardware terminals.
Well, that's your own anecdotal experience. I know of plenty of people that used the term linescrolls, since the 90's. Matter of fact, pretty sure it came from magazines back in the day (8bit,16bit generations). And it's pretty accurate actually.. you're setting the scroll value(s) on per line basis (instead of whole screen, or tile block widths). Raster effects includes linescrolls, and more.

Re: How many times can the NES change scrolling in a frame?

Posted: Thu Apr 09, 2020 4:34 am
by olddb
How does F-1 Race do the line scrolling being a NROM game?

Re: How many times can the NES change scrolling in a frame?

Posted: Thu Apr 09, 2020 5:59 am
by tokumaru
olddb wrote:
Thu Apr 09, 2020 4:34 am
How does F-1 Race do the line scrolling being a NROM game?
I haven't checked, but NROM programs can easily make use of sprite 0 hits or even sprite overflows to synchronize with the PPU, and from them on they can use timed code to stay synchronized.

Re: How many times can the NES change scrolling in a frame?

Posted: Thu Apr 09, 2020 2:28 pm
by kuja killer
i did this sort of thing for Pyro man level on my Megaman Odyssey romhack. The "wavy water" type stuff. I copied straight from the water level on Sonic CD (i dont remember what the zone/level was called) -- anyway i got it 100% accurate from it.

So the IRQ runs about 30 to 40 times a frame. Something like that. yea it's extremely cpu-heavy. Takes just a little less than 1 full scanline for the IRQ code. (about 320 or 330 of 341 ppu pixels of a scanline).
It looks very glitchy in all "non-fceux" emulators though. :( Just fine in fceux.

https://www.mediafire.com/file/sch8pm12 ... n.avi/file

Re: How many times can the NES change scrolling in a frame?

Posted: Thu Apr 09, 2020 5:33 pm
by olddb
So apparently you can use the APU timer too? Any commercial game that uses this?

Re: How many times can the NES change scrolling in a frame?

Posted: Thu Apr 09, 2020 5:39 pm
by Dwedit
Fire Hawk and Mig Soviet Fighter use the APU DMC channel IRQ as a timer for splitting the screen.

Time Lord uses the DMC IRQ in a much less precise way to force it to start checking for sprite 0, allowing for higher CPU usage in the game loop without missing the sprite 0 hit.

Re: How many times can the NES change scrolling in a frame?

Posted: Thu Apr 09, 2020 5:57 pm
by tokumaru
DMC IRQs are full of catches when used for raster effects, though. The APU doesn't start playing samples immediately when you tell it to, it has a whole pipeline of sample fetching and playing which results in IRQs *NOT* firing a constant number of cycles after the CPU requests the playback of a sample of a specific size at a specific rate.

Re: How many times can the NES change scrolling in a frame?

Posted: Thu Apr 09, 2020 6:40 pm
by lidnariq
turboxray wrote:
Thu Apr 09, 2020 2:55 am
I know of plenty of people that used the term linescrolls, since the 90's. Matter of fact, pretty sure it came from magazines back in the day (8bit,16bit generations). And it's pretty accurate actually.. you're setting the scroll value(s) on per line basis (instead of whole screen, or tile block widths). Raster effects includes linescrolls, and more.
As near as I can tell, "linescrolling" in this way appears to be a sega-ism, and searching around finds at least a couple instances of people incorrectly believing that certain non-sega platforms are incapable of performing multiple scroll change raster effects across multiple adjacent scanlines. I have to assume this happens specifically because no-one else uses that term, and we come back to my earlier point: If most people you're talking to don't already know the term, it doesn't matter if some subgroup already had a term for it; the only utility of such a term is if you don't have to explain it.

And your point, that "linescrolling" means a specific thing in one community+context, does not in any way invalidate Koitsu's point (namely that it implies a very different thing in a different, older, but still electronics related community+context)

Re: How many times can the NES change scrolling in a frame?

Posted: Fri Apr 10, 2020 9:04 am
by Pokun
BTW what is this older context of hardware text terminals? Googling only turns up either the Sega variant or scrolling of lines of text, smooth or not. In other words plain old normal scrolling.

Re: How many times can the NES change scrolling in a frame?

Posted: Fri Apr 10, 2020 11:05 am
by mikejmoffitt
"Line scroll" was standard in lots of arcade hardware, and Sega used it in the Megadrive because some arcade hardware design philosophy found its way into the Megadrive VDP, where scroll offsets per line, cell, or plane are first-class features.

However, "raster effects" is the common western term, so if you want people to understand you on a forum like this, just say "raster effects" - even if there's an argument that "line scroll" is a better term.

Re: How many times can the NES change scrolling in a frame?

Posted: Sat Apr 11, 2020 12:15 am
by Memblers
Pokun wrote:
Fri Apr 10, 2020 9:04 am
BTW what is this older context of hardware text terminals? Googling only turns up either the Sega variant or scrolling of lines of text, smooth or not. In other words plain old normal scrolling.
I guess either way it's a TV scanline, or a line of text. Terminals have some useful scrolling features though. You can set a scroll region to do split-screen scrolling, gives you a fixed area on the top and/or bottom. There's an origin setting that can keep the cursor within the scrolling region.

Re: How many times can the NES change scrolling in a frame?

Posted: Sat Apr 11, 2020 10:37 am
by lidnariq
Pokun wrote:
Fri Apr 10, 2020 9:04 am
BTW what is this older context of hardware text terminals? Googling only turns up either the Sega variant or scrolling of lines of text, smooth or not. In other words plain old normal scrolling.
My hunch is that Koitsu was either referring to what the VT102 / VT220 manual calls "soft" (i.e. one scanline per vsync) vs "jump" (i.e. one character cell per vsync) scrolling. ( https://vt100.net/docs/vt102-ug/chapter3.html#S3.6.3.1 or https://vt100.net/docs/vt220-rm/chapter4.html#S4.6.11), because this concerns how lines scroll.

He might also have been referring to configuring the top and bottom "margins" ( https://vt100.net/docs/vt220-rm/chapter4.html#S4.13 or https://vt100.net/docs/vt102-ug/chapter5.html#S5.5.2.4 ), which allows scrolling of only a specifically subset of lines on-screen, because this concerns which lines scroll.
mikejmoffitt wrote:
Fri Apr 10, 2020 11:05 am
"Line scroll" was standard in lots of arcade hardware, and Sega used it in the Megadrive because some arcade hardware design philosophy found its way into the Megadrive VDP, where scroll offsets per line, cell, or plane are first-class features.
I wonder if, pedantically, narrowly, "line scroll" specifically meant "first-class scroll offset per scanline", and not DMA (i.e. SNES or Amiga) nor IRQ (everything else).