HDMA effects before the SNES

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Post Reply
Posts: 1
Joined: Thu Oct 17, 2019 8:25 pm

HDMA effects before the SNES

Post by cornedgreens » Thu Dec 26, 2019 6:05 pm

For my first post ever, I'm going to ask if there were any arcade or computer hardware boards that featured functionality similar to HDMA on the SNES. I ask this as it seems like the SNES was able of producing a lot of graphical firsts - comprehensive translucency effects, non-rectangular windows, perspective effects, etc - all at 60 frames per second and on $200 hardware. Not even the $500 to $600 Neo-Geo with significantly more pixel bandwidth and general processing power could achieve such effects.

I know the Amiga featured Copper and that allowed it to draw color gradients.

So were there any arcade boards or computers from before 1990 that allowed for per-scanline modifications? Or for that matter, was there any hardware pre-1990 that was able to do expanding circle effects like in the title screen for Super Mario World?

Posts: 21947
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)

Re: HDMA effects before the SNES

Post by tepples » Thu Dec 26, 2019 6:52 pm

Related question on Retrocomputing Stack Exchange: "What graphics sytems used display lists?" (sic) The question mentions Atari ANTIC, DEC-338, and Amiga COPPER, but states that Atari 7800's zone list and Amstrad PCW's roller RAM aren't quite what the asker is looking for. Answers mention the Imlac PDS-1, Super NES HDMA, Enterprise 128's line parameter table, and Soyuz-Neon PK-11/16.

Sega Genesis has a horizontal scroll position table for both background planes, as well as shadow/highlight mode (averaging each affected pixel with black or white). It also has offset per tile in the sense that each 16-pixel-wide area is controlled by an entry in vertical scroll RAM.

Posts: 221
Joined: Mon Jan 23, 2006 7:47 am
Location: Germany

Re: HDMA effects before the SNES

Post by creaothceann » Thu Dec 26, 2019 6:53 pm

Afaik on other systems that was done with display lists, interrupts or just plain cycle counting.
My current setup:
Super Famicom ("2/1/3" SNS-CPU-GPM-02) → SCART → OSSC → StarTech USB3HDCAP → AmaRecTV 3.10

Posts: 9305
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: HDMA effects before the SNES

Post by lidnariq » Thu Dec 26, 2019 7:01 pm

In generaly, these visual effects are called "raster effects". "HDMA" is the SNES's special-case hardware for generating them.

The Amiga's Copper hardware is an entirely different implementation but ultimately is capable of generating the same appearance. (It's somewhat more versatile).

The "expanding circle" wipe on SMW is just applying raster effects to the normal windowing registers. (However, I don't know what other hardware even had windowing)

California Games for the PC (on CGA) is one of the older games I know of to use raster effects (in this case, to change which palette is used from the top half to the bottom half of the screen).

Atari's XL had a commercial demo disc that had raster effects in 1980 - http://www.pouet.net/prod.php?which=23292

One can argue that every single thing that the 2600 drew was a raster effect.

Posts: 1431
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: HDMA effects before the SNES

Post by Pokun » Fri Dec 27, 2019 3:12 am

lidnariq wrote:
Thu Dec 26, 2019 7:01 pm
The "expanding circle" wipe on SMW is just applying raster effects to the normal windowing registers. (However, I don't know what other hardware even had windowing)
The SuperGrafx (which is mostly a PC Engine with two VDPs) has the VPC (Video Priority Controller) which mixes video output from both VDPs to make 2 sprite and 2 background layers. It has some priority control for them, including windowing which works pretty much the same as for SNES. Like on the SNES only the window horizontal position and width can be set, and the vertical position and height is controlled using raster effects.

Raster effects on SuperGrafx (and normal PC Engine) is done by a normal scanline counter in the VDP set to trigger an IRQ.

Posts: 64
Joined: Thu Oct 31, 2019 12:56 am

Re: HDMA effects before the SNES

Post by turboxray » Sat Dec 28, 2019 11:47 pm

Indeed, the SuperGrafx has window registers in which you could construct non-square shapes.

It had two windows with 4 overlapping states, but because all window sizes have to start from the left, only three of those four states can be used to draw shapes. I.e. you can only have 3 unique window settings per scanline; typically the useful ones are on,off,on or the inverse of that. See a SGX demo here that I did: https://www.youtube.com/watch?v=75IdGO1I1o4

I could effects like this with the SGX: https://youtu.be/LBFMwFYxaag?t=417
And animate them to scroll just like in the SNES original.

The PCE and SGX have 32 fifteen color palettes, so doing transparency like that doesn't really take a hit to the graphic department.

Post Reply