How many times can the NES change scrolling in a frame?
Moderator: Moderators
Re: How many times can the NES change scrolling in a frame?
I think the term "line scrolling" for this particular effect is common on other platforms. I want to say I heard it used in association with Sega Genesis, but that might not be it.
Re: How many times can the NES change scrolling in a frame?
Thanks for the clarification on the "raster" term I've used that term myself, but in other contexts, it's definitely common to use for pixel manipulation as I said.
- rainwarrior
- Posts: 8731
- Joined: Sun Jan 22, 2012 12:03 pm
- Location: Canada
- Contact:
Re: How many times can the NES change scrolling in a frame?
I don't think it means "screen" in modern usage? Not by itself. At least in English it has almost no use outside of being a graphics term, and there every use I know of means "line-by-line", though manifest in a few different forms.FrankenGraphics wrote:I don't think it is quite that simple. The word has undergone several semantic shifts. If we skip the latin roots, and focus on its modern use, it is simply from the german word raster (which means screen). It has then been associated with scanlines. But in recent modern usage, "raster" is mostly used to differentiate "raster graphics" from "vector graphics", which in todays' tools is just the difference between pixel bitmaps and algorithmic drawing. So if you talk to someone working with digital graphics today, they do not associate the word with scanline technology, but with bitmaps. While technically correct to call it "raster affects", sumez is right that this would cause confusion.
"Raster" entirely refers to some line-by-line operation of graphics, often differentiating bitmap graphics ("raster", grid, still line by line but 2D) with vector graphics (made up of shapes and curves). I don't think these meanings conflict with each other.
Etymologically, in both cases it is still consistent with the latin root ("rake"), and some related terms. It means a pattern of parallel lines, sometimes implying a second dimension to be a grid. The use for a bitmap is consistent with the use for scanlines, and scanline effects. The etymology doesn't necessarily matter, as meanings change over time, but in this case it's consistent with the current use.
Dictionary: raster
I've seen "raster display" do differentiate a screen/monitor with pixels from a vector display like an oscilloscope, or machines like the vectrex, but I don't think I've ever seen "raster" by itself used to describe the screen itself?
Wikipedia has a ton of articles using the term: Raster scan, Raster graphics, Rasterizsation, Raster interrupt, Raster bar, Scanline rendering, Parallax scrolling, Raster...
I know that Wikipedia occasionally develops its own weird terminology, but in this case it was not made up. You can follow the citations in those articles to a lot of good sources, but the term "raster" has deep roots in computer programming jargon with exactly the meaning of "line by line", and sometimes "pixel by pixel" (grid). It was very frequently used to refer to things happening by line in technical references and papers since at least the 1970s.
Aside from all that, it's been used in the demoscene to refer to scanline effects, and other line effects for years. On the Amiga in particular it got associated with horizontal lines of colour (sometimes "copper bars", named after part of its GPU), though that spread to other platforms. I saw the word "raster" onscreen in Atari ST cracktros and demos now and then in the 80s/90s. Sometimes its description gets slightly meta like with vertical "rasters", but that's a consequence of the term being so well used.
So... I don't agree with advice to avoid this term. It's already been used for this for years and years, and is a very well established term for this. "Scanline effect" is a similarly good term for it, and it has stronger connotations of referring to a CRT, and maybe is more specific about what the operation is. Sure, sometimes "raster" graphics means a grid, not just lines, but I can't think of a context where this is a problem. A raster "effect" is pretty much going to have the same meaning as a scanline effect. They are almost interchangeable.
If you consider the 2D implication of bitmaps as a raster graphic conflicting... I'm not really sure what the hypothetical conflicting 2D "raster effect" meaning could even be? What effect would you do with a 2D bitmap that you'd want to call a raster effect? There are some things you can do with bitmaps (e.g. texture map quad) but I can't think of anything that was referred to as a raster effect that wasn't really about 1D lines rather than a grid. I don't think I've ever seen anything that conflicts here, that's just not how the term is used, as far as I know?
Anyhow, TLDR "raster effect" is very standard for this. So would be "scanline effect".
Re: How many times can the NES change scrolling in a frame?
Okay, that's fair. But it really just changes the question to "what's different about the NES where this effect was so challenging and time consuming, but with these other systems it was not?"rainwarrior wrote: It's not trivial to implement, and 1000x less so when you take 30 years of reverse engineering and emulation tools off the table. "Didn't think to use it" is extremely dismissive of the amount of work required. Even if it's a small amount of code, it's a lot of work to tune to get working properly. That's all assuming you even know how to do it to begin with.
And honestly, I think we've covered most of the answer to that question already. You just mentioned a lack of IRQ in the MMC1, which makes the effect technically impossible on that hardware.
As for the Game Boy, well the effect becomes more useful and desirable with its monocromatic display. The original warp effect in Dragon Warrior 2 was a palette swap to strange colors. But since the GBC version was compatible with the original Game Boy it needed an effect that would look snazzy without colors. Boom, wavy screen.
Now as for the Genesis and SNES, the hardware is much more advanced making the effects much easier to implement. But that kind of feels like a weak way of answering the question.
Okay, I was refering to not just the wavy effect per se, but any use of shifting where a background is drawn from. So things like when a sky has clouds that move faster/slower than the ground in an NES game, or when there is a status bar drawn on the same layer as the background, and the background moves but the status bar doesn't. Can't really call those "wavy effect."Bregalad wrote:Isn't if called wavy effect or something like that ?By the way, does this technique have a name?
I think "line scrolling" or "line scroll change" sounds like an appropriate term; if it can get universally adopted.
We're debating over terms that we would coin and use, but was there a term for it used in the industry? I mean, the effect has been used for quite some time, so I'd imagine someone used a term for it.
As for the term "raster effect" honestly that just sounds incredibly generic to me, like saying "render effect." Well duh it's a rendering effect, but what kind of rendering effect?
It's kind of funny that we'd use that distinction, since technically the modern vector graphics are still just raster graphics. Didn't the original Asteroids arcade actually bend the laser in the monitor to draw its shapes directly? As opposed to sending a traditional TV signal that is just an image of the shape?FrankenGraphics wrote:But in recent modern usage, "raster" is mostly used to differentiate "raster graphics" from "vector graphics", which in todays' tools is just the difference between pixel bitmaps and algorithmic drawing.
Maybe I'm mistaken, but that's what I was led to believe.
Re: How many times can the NES change scrolling in a frame?
Makes the effect technically a PITA, but it's still doable. Taito's Indiana Jones and the Last Crusade is MMC1; its title screen uses a palette changing raster effect.Marscaleb wrote: lack of IRQ in the MMC1, which makes the effect technically impossible on that hardware.
I've seen some people use "linescrolling", no space, to refer to the raster effect of changing scrolling on a scanline-by-scanline basis. However, like any other shorthand, it's useless if people don't already know it, and that you're having this discussion means it's not useful.I think "line scrolling" or "line scroll change" sounds like an appropriate term; if it can get universally adopted.
We're debating over terms that we would coin and use,
It's guaranteeably not used anymore. Raster effects aren't worth doing on any hardware younger than 20-ish years old.but was there a term for it used in the industry? I mean, the effect has been used for quite some time, so I'd imagine someone used a term for it.
The original arcade Asteroids had a vector CRT driven by a line-drawing GPU with a very limited ISA. (No registers, just line drawing, rescaling, and subroutine calls)Didn't the original Asteroids arcade actually bend the laser in the monitor to draw its shapes directly? As opposed to sending a traditional TV signal that is just an image of the shape?
- rainwarrior
- Posts: 8731
- Joined: Sun Jan 22, 2012 12:03 pm
- Location: Canada
- Contact:
Re: How many times can the NES change scrolling in a frame?
If I wasn't perfectly clear in my last post: raster effect is the industry standard term. There is no need to make up a new term and try to get it universally adopted. ("Scanline effect" is similarly widespread.)Marscaleb wrote:I think "line scrolling" or "line scroll change" sounds like an appropriate term; if it can get universally adopted.
We're debating over terms that we would coin and use, but was there a term for it used in the industry? I mean, the effect has been used for quite some time, so I'd imagine someone used a term for it.
As for the term "raster effect" honestly that just sounds incredibly generic to me, like saying "render effect." Well duh it's a rendering effect, but what kind of rendering effect?
"Raster effect" does not generically refer to all "rendering effects". I've never seen anyone use the term like this. It specifically means line by line effects.
You're conflating the display with the graphics format. These are two different things.Marscaleb wrote:It's kind of funny that we'd use that distinction, since technically the modern vector graphics are still just raster graphics. Didn't the original Asteroids arcade actually bend the laser in the monitor to draw its shapes directly? As opposed to sending a traditional TV signal that is just an image of the shape?
Maybe I'm mistaken, but that's what I was led to believe.
Modern vector graphics are specified as points and lines and curves. You will view them in rasterized form on your raster display, but the actual source material is vectors, which is where it gets the name. The main distinction is that vectors can be rasterized at any resolution you need. The raster grid is not part of the format.
A vector display like Asteroids, or an oscilloscope, only draws continuous lines. Most of the hardware is pretty similar to a CRT (phosphor screen, electron gun), but instead of having an automatic device scanning the beam back and forth in lines and just varying the intensity/color in the input signal in synch with this, instead the beam has X, Y, and intensity/color inputs and the 3 signals tell it exactly what path to trace the beam.
Re: How many times can the NES change scrolling in a frame?
Please stop this absolute time-wasting borderline-postmodernist pedantry. Seriously dude.Marscaleb wrote:I think "line scrolling" or "line scroll change" sounds like an appropriate term; if it can get universally adopted.
We have terms for these things. Rainwarrior gave you terms -- with lots of excellent reference materials that INCLUDED VISUALS -- of what they mean. "Raster effect" or "raster bars" is a super common one. In the SNES scene, you might hear it more vaguely described as "{something} uses HDMA" (since that's how you easily accomplish changing something during HBlank per-scanline). But we have terms established for this for the past 30 years that people know/understand. They're almost universal. We do not need a new term or terms.
However, they do tend to be terms that are familiar to those who were either in demo graphics or demo enthusiasts; but they're not completely niche. But "raster effects" is a term you can give anyone who has some classic VGA programming and they'll know exactly what you mean too.
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. I can explain it to you in detail if you want, but it's irrelevant to this subject because it's a term very specific to a piece of hardware.
I would then ask you "what do you mean by line scrolling? Can you show me some demonstrations of the effect?" You'd then link me a video of something that involved used of raster effects or raster bars, possibly even Amiga copper bars**. I'd say "Oh! You mean raster effects!" and we'd continue discussing what you wanted to do.
Likewise, if I asked you "have you considered using shade bobs for a neat effect?" (other terms: "bobs" or "shaded bobs", but NOT "shader bobs" -- shaders are something different!) you'd have no idea what those were, and the logical thing to follow with is "can you show me what those are?"
I'd then show you some stills of shade bobs, and a video of some shade bobs so that you could understand what the effect was. I'd also tell you "bobs is the generic term on the Amiga for an object/sprite/thing; shade refers to the "addition" of the colour intensity as bobs overlap and/or leave a trail".
This is how a normal conversation works with a person who might try to describe something visual but isn't sure what term to use to describe it. What is not a normal conversation is for that to take place and the reaction be "well, I don't like those terms, I think they should be called something else". lidnariq doesn't like me using profanity on this forum so I try to keep it at a minimum now out of respect, but -- my natural reaction to that kind of "we should invent a new term" response is to tell the person to fuck off.
** -- Copper bars refers to the effect you see going on in the background -- gradient-shaded "bars" in repetition. The "copper" term comes from the coprocessor chip on the Amiga which people sometimes call the Copper. It's a a sub-processor tied into the main video processor, all of which lets you do stuff on a per-scanline basis, including during HBlank
Re: How many times can the NES change scrolling in a frame?
It's not even that much of a PITA... Recently I've coded a basic loop to time raster effects across the whole screen (self-adjustable for NTSC and PAL), and it only took me about 1 hour or so. The main problem of not having IRQs is that you spend the whole CPU time waiting for the correct times to do the PPU writes, leaving very little left for actual game logic.lidnariq wrote:Makes the effect technically a PITA, but it's still doable.Marscaleb wrote: lack of IRQ in the MMC1, which makes the effect technically impossible on that hardware.
Re: How many times can the NES change scrolling in a frame?
My interpretation was that "raster effect" is anything that change the state of the PPU mid-frame (not necessarly scrolling), while "wavy wffect" is a specific effect that changes horizontal (or sometimes vertical) scrolling in a wavy fashion. I could be wrong.rainwarrior wrote:"raster effect" is also common
Re: How many times can the NES change scrolling in a frame?
Now instead of a terminology / semantics war, I'd personally like to think about doing an Atari 2600-like manual, CPU-driven image display. Using the scroll registers would be the way to draw the colours you want. It wouldn't provide anything terribly practical because of how fast the PPU pixel clock is compared to the CPU, but it would be fun to see what someone could make out of "pixel level manipulation" on the NES, even if it's only possible to create very wide pixels (which didn't stop basically every C64 game developer from using the high-color VIC-II mode either). At least it's marginally better than turning off rendering and drawing stuff by pointing the VRAM address to the palette indices, where the auto-increment of the address would cause you to draw unwanted colors.
- rainwarrior
- Posts: 8731
- Joined: Sun Jan 22, 2012 12:03 pm
- Location: Canada
- Contact:
Re: How many times can the NES change scrolling in a frame?
Yes, "raster effects" are not limited to scrolling. The best succinct approximate definition for "raster" in this context that I can offer is "line by line".
Wavy is a fine descriptive word to apply to the specific effect in Recca, but that's not a technical term. It's still a raster effect. It's even a wavy raster effect.
It's also a scrolling effect. It's a wavy raster scrolling effect.
It's also a wavy scanline scrolling effect. I wouldn't use scanline and raster together, because it's redundant, but it is both of these things.
I wasn't trying to argue whether raster should be the right term or not, though I do think its definition is very consistent and semantically correct. I'm saying that it is the term that is used for this. I didn't choose it, it's just what it's already been called for decades. The question asked was "is there a term for this", and the answer is yes.
Wavy is a fine descriptive word to apply to the specific effect in Recca, but that's not a technical term. It's still a raster effect. It's even a wavy raster effect.
It's also a scrolling effect. It's a wavy raster scrolling effect.
It's also a wavy scanline scrolling effect. I wouldn't use scanline and raster together, because it's redundant, but it is both of these things.
I wasn't trying to argue whether raster should be the right term or not, though I do think its definition is very consistent and semantically correct. I'm saying that it is the term that is used for this. I didn't choose it, it's just what it's already been called for decades. The question asked was "is there a term for this", and the answer is yes.
Re: How many times can the NES change scrolling in a frame?
The problem is that unlike on the Atari 2600, on the NES you can't achieve perfect CPU-PPU alignment. Even with blargg's insane synchronization trick you still get 1 or 2 pixels of jitter.za909 wrote:I'd personally like to think about doing an Atari 2600-like manual, CPU-driven image display.
How are you planning to select colors via the scroll? Setting the scroll takes a crazy long time, so you'd only be able to change colors every 30 or 40 pixels, at best.Using the scroll registers would be the way to draw the colours you want.
If each "pixel" is 30 or 40 pixels wide, it really doesn't look like a pixel at all, and is not at all comparable to the wide pixels of the C64.It wouldn't provide anything terribly practical because of how fast the PPU pixel clock is compared to the CPU, but it would be fun to see what someone could make out of "pixel level manipulation" on the NES, even if it's only possible to create very wide pixels (which didn't stop basically every C64 game developer from using the high-color VIC-II mode either).
I think you can get around this auto-increment problem by using increment-32 mode and using the last mirror of the palette, so the auto-increment will put the VRAM address outside of the palette range. Pointing to a palette entry isn't much faster than changing the scroll though, so I don't think any of these methods can be used to draw anything that resembles game graphics.At least it's marginally better than turning off rendering and drawing stuff by pointing the VRAM address to the palette indices, where the auto-increment of the address would cause you to draw unwanted colors.
Re: How many times can the NES change scrolling in a frame?
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.Marscaleb wrote: I think "line scrolling" or "line scroll change" sounds like an appropriate term; if it can get universally adopted.
We're debating over terms that we would coin and use, but was there a term for it used in the industry? I mean, the effect has been used for quite some time, so I'd imagine someone used a term for it.
For example, the status bar in the bottom of Kirby's Adventure uses a split, but you probably wouldn't typically hear people refer to it as a raster effect.
The clouds you're describing would typically be described as a "parallax" effect (due to its effect, not the technique being used), and is also achieved using horizontal splits. You can see an example of this in area B of Shatterhand. But there are many other common ways to do parallax effects.
Meanwhile raster/scanline effects don't necessarily involve changing scroll values.
Re: How many times can the NES change scrolling in a frame?
The term rasterline seems to be synonymous with scanline. The PC Engine development documents originally used this term, while the English version changed it to "scanning line". It can still be hinted in register names like the "Scanning Line Detection Register" which is RCR (the original name was probably something like Rasterline Compare Register).
Also in comic drawing, a raster is a transparent self-adhesive sheet with patterns of dots (or sometimes other things) that are applied to the comic to easily make shadows or various types of greyscales. For this reason I thought for a long time raster was referring to dots rather than lines, but the Latin root of rake seems to make it clear that it's about lines or lines of dots.
Edit: This type of raster is apparently a Swedish term. In English the term is "tone", "screentone" (which is also a name of a particular type of tone) or sometimes even "screen".
Also in comic drawing, a raster is a transparent self-adhesive sheet with patterns of dots (or sometimes other things) that are applied to the comic to easily make shadows or various types of greyscales. For this reason I thought for a long time raster was referring to dots rather than lines, but the Latin root of rake seems to make it clear that it's about lines or lines of dots.
Edit: This type of raster is apparently a Swedish term. In English the term is "tone", "screentone" (which is also a name of a particular type of tone) or sometimes even "screen".
Last edited by Pokun on Wed Jul 13, 2022 2:33 pm, edited 2 times in total.
- FrankenGraphics
- Formerly WheelInventor
- Posts: 2064
- Joined: Thu Apr 14, 2016 2:55 am
- Location: Gothenburg, Sweden
- Contact:
Re: How many times can the NES change scrolling in a frame?
Not just comics; newspapers still use a raster technique to convey photographic colour depth with with just the 4 CMYK base colours (and spaces of not-colour). Also known as half-tone.
dot size = colour intensity. Different dot sizes = different blend ratios.
dot size = colour intensity. Different dot sizes = different blend ratios.