SN7 doc overhaul.

Fixed a lot, cleaned up a lot, explained some of it better (I hope).
This commit is contained in:
Electric Keet 2025-07-19 13:19:36 -07:00
parent c5231eb569
commit de0ffd3954

View file

@ -1,24 +1,24 @@
# TI SN76489 (e.g. Sega Master System)
a relatively simple sound chip made by Texas Instruments. a derivative of it is used in Sega's Master System, the predecessor to Genesis. it has three square wave channels and one noise channel... not really.
the SN76489 is a relatively simple sound chip made by Texas Instruments. a derivative of it is used in the Sega Master System and Sega Genesis. it has three square wave channels and one noise channel.
nominal mode of SN76489 has 3 square wave channels, with noise channel having only 3 preset frequencies to use (absurdly low, very low, low). to use more pitches, one can enable a mode which "steals" the frequency from square wave channel 3. by doing that, SN76489 becomes effectively a 3 channel sound chip. in addition, periodic noise mode can be enabled, with same caveats.
the noise channel's default mode uses only 3 preset frequencies. to use the full range of pitches, one can enable a mode which matches the frequency of square wave channel 3. in addition, periodic noise mode can be enabled to create a "thin pulse" tone that sounds four octaves lower than the square wave channels.
the original iteration of the SN76489 used in the TI-99/4A computer, the SN94624, could only produce tones as low as 100Hz, and was clocked at 447 KHz. all later versions (such as the one in the Master System and Genesis) had a clock divider but ran on a faster clock, making a chip **very** high pitched... except for the SN76494, which can play notes as low as 13.670 Hz (A -1). as a result, its pitch accuracy for higher notes is compromised.
the original iteration of the SN76489 used in the TI-99/4A computer, the SN94624, runs at a clock speed of 447 kHz (NTSC 3.58 MHz pre-divided by 8) and can only produce square waves as low as approximately 110 Hz, or note A2. later versions of the chip (such as the one in the Master System and Genesis) instead have an internal /8 divider and generally run at higher clock rates (such as undivided NTSC 3.58 MHz) to achieve a matching or similar frequency range.
## SN7 versions
SN7 was extremely popular due to low cost. therefore, it was cloned and copied to no end, often with minor differences between each other. Furnace supports several of these:
- SN94624, can only produce tones as low as 100Hz, and is clocked at 447 KHz.
- SN76494, which can play notes as low as 13.670 Hz (A -1). it has a different noise feedback and invert masks.
- SN76489, identical to SN94624, just without a clock divider.
- SN76489A, identical to 76494, just with a /8 clock divider.
- SN76496, literally identical to former. why is it even here?
- SN76496 with a Atari-like short noise. the chip of many legend and rumours which may be a result of inaccurate emulation.
- Sega Master System VDP version has a different, characteristic noise LFSR.
- Game Gear SN7, identical to the above, but with stereo.
- NCR8496, different noise invert mask.
- PSSJ3, literally identical to the former. it just swaps "high" and "low" signals in the output, which results in no audible difference.
SN7 was extremely popular due to low cost. therefore, it was cloned and copied to no end, often with minor differences between each version. Furnace supports several of these:
- **SN94624**. as described above. noise presets are tuned to A#. each volume step attenuates the volume by 2dB.
- **SN76494**. uses different noise feedback and invert masks. noise presets are tuned to approximately A. each volume step attenuates the volume by 2.25dB.
- **SN76489**. identical to SN94624, with a /8 clock divider.
- **SN76489 with Atari-like short noise**. the chip of many legends and rumours which may be a result of inaccurate emulation. only works with the MAME emulation core.
- **SN76489A**. identical to SN76494, with a /8 clock divider.
- **SN76496**. identical to SN76489A.
- **Sega VDP/Master System**. SN76489A with a different, characteristic noise LFSR.
- **Game Gear**. identical to the above but with hard-panned stereo.
- **NCR8496**. as above with a different noise invert mask.
- **Tandy PSSJ 3-voice sound**. identical to NCR8496 but swaps "high" and "low" signals in the output, which results in no audible difference.
## effects
@ -30,16 +30,21 @@ SN7 was extremely popular due to low cost. therefore, it was cloned and copied t
- `0`: thin pulse.
- `1`: noise.
## info
this chip uses the [SN76489/Sega PSG](../4-instrument/psg.md) instrument editor.
noise mode macro values:
- **0**: same as effect `2000`. thin pulse, 3 preset frequencies.
- **1**: same as effect `2001`. noise, 3 preset frequencies.
- **2**: same as effect `2010`. thin pulse, frequency shared with channel 3.
- **3**: same as effect `2011`. noise, frequency shared with channel 3.
## chip config
the following options are available in the Chip Manager window:
- **Clock rate**: sets the rate at which the chip will run.
- **Chip type**: changes the chip type. see above for more details.
- **Disable noise period change phase reset**: when enabled, the noise channel won't be reset every time its frequency changes. very useful.
- **Disable easy period to note mapping on upper octaves**: Furnace maps the notes in the upper octaves to periods, for easier noise tuning. this option allows you to disable this feature.
- **Chip type**: changes the chip type. see "SN7 versions" above for more details.
- **Disable noise period change phase reset**: when checked, the noise channel won't be reset every time its frequency changes. very useful.
- **Disable easy period to note mapping on upper octaves**: Furnace maps notes in octaves 7 and up directly to periods to make it easier to reach the highest pitches with normal note entry. this can be especially useful for noise. check this option to disable this feature.