August 4th, 2024

SNES Coprocessors: DSP-1 and Friends

The blog post details the DSP-1 coprocessor in the SNES, highlighting its role in 3D calculations, communication with the CPU, and mentioning other coprocessors and emulation methods.

Read original articleLink Icon
SNES Coprocessors: DSP-1 and Friends

The blog post discusses the coprocessors used in the Super Nintendo Entertainment System (SNES), focusing primarily on the DSP-1. The DSP-1, introduced with the game Pilotwings in 1990, is an NEC μPD77C25 DSP designed to assist with 3D calculations, enabling games like Super Mario Kart to maintain smooth frame rates. The DSP operates at 8 MHz and can execute one instruction per cycle, performing signed 16-bit multiplications efficiently. It features 6KB of program ROM and 2KB of data ROM, utilizing lookup tables for mathematical functions.

The communication between the SNES CPU and the DSP-1 occurs through two 8-bit registers, with the DSP-1 program structured to respond to commands from the CPU. The post also mentions other coprocessors like DSP-2, DSP-3, and DSP-4, each tailored for specific games, and the ST010 and ST011, which use a more advanced μPD96050 DSP. These later coprocessors support higher memory capacities and additional instructions.

Emulation of these coprocessors varies, with many emulators using high-level emulation (HLE) due to the complexity of the DSP-1 program ROM. Some modern emulators also implement low-level emulation (LLE) for greater accuracy. The post concludes with a brief mention of the ST018 coprocessor, which features a 32-bit ARMv3 CPU but is less commonly supported in emulators due to its specific application in a shogi game.

Related

Neo Geo Architecture: A practical analysis

Neo Geo Architecture: A practical analysis

The Neo Geo system by SNK featured dual processors, advanced I/O handling, and sophisticated graphics capabilities. It supported arcade and home markets with MVS and AES variants, offering rich gaming experiences.

Jaw-Dropping SNES Mod Fixes One of the Console's Biggest Problems

Jaw-Dropping SNES Mod Fixes One of the Console's Biggest Problems

A new SNES mod, the SNES Edge Enhancer by Voultar, improves video quality for 2CHIP models without a video amplifier. It enhances image clarity across RGB, S-Video, and Composite Video outputs. Installation is simple with a 5-wire process, supporting all 2CHIP variants. Costing around $100, it enhances picture quality but may not eliminate all image noise, offering a cost-effective solution for SNES enthusiasts seeking improved gaming visuals.

Inside an IBM/Motorola mainframe controller chip from 1981

Inside an IBM/Motorola mainframe controller chip from 1981

The IBM 3274 Control Unit chip from 1981, SC81150R, was examined, revealing IBM and Motorola collaboration. It featured a 16x16 memory block, PLAs, and a 16-bit bus. The chip specialized in data handling, lacking ROM and microcode, with a unique memory buffer design. The analysis highlighted vintage mainframe technology complexity.

Giving my PC-6001 a LIFT

Giving my PC-6001 a LIFT

The author details efforts to run homebrew games on the NEC PC-6001, focusing on creating a custom ROM/RAM cartridge for compatibility with Inufuto's games, highlighting retro computing challenges.

Carving the Super Nintendo Video System

Carving the Super Nintendo Video System

Fabien Sanglard analyzes the Super Nintendo's video system design, focusing on CRT technology, NTSC specifications, and the balance between technical constraints and creative solutions that defined its graphics capabilities.

Link Icon 4 comments
By @djfergus - 7 months
Amazed at the engineering commitment to Shogi (Japanese chess) games. Can anyone comment on the cultural impact of playing shogi on your tv, with a plastic corded controller?

The ability to plug in a coprocessor many times faster than the main CPU is such a fascinating option (used all through the 80’s too, eg the Z80 boards for Apple ][) only to be limited to a niche genre…

By @qingcharles - 7 months
I wonder, with modern math programming knowledge, would it be possible to get the DSP-1 games optimized enough to run without the DSP?

I've seen better ways to do things like SIN lookup tables lately that weren't common knowledge in the mid-90s.

By @Y_Y - 7 months
> so programs will often operate in fixed-point decimal with a 16-bit integer part and a 16-bit fractional part

Is this a mistake, or was there really some BCD-type magic going on?

By @initramfs - 7 months
nice website! SNES were the perfect blend of graphics and speed- not being to slow or fast but really a preview for the 3d world with mode 7 and the FX.