Evan G
DSP1DEMO_000.png
This is a demonstration program used for showing the capabilities of the DSP1 coprocessor chip.
snes_central@yahoo.ca
July 5, 2020
Frank Cifaldi and The Video Game History Foundation, who preserved this! Also to Luigiblood, who assembled the source code.
1|The DSP1 chip was used to aid in Mode 7 rotation effects in SNES games. It is prominently used in games like Pilotwings and Super Mario Kart.
1|The DSP1 demo was first made public by Mike at Nintendo Player. It was part of a collection of prototypes that originated from Iguana Entertainment. The prototype board had writing on the back that indicated that the demo was likely burned at Iguana Entertainment. The original source code of the demo was just uncovered, and is posted below.
1|The DSP1 demo was programmed at Nintendo of Japan. The source code here includes the original Japanese source code files, plus ones that have been translated. The source includes a readme file:
22|readme.txt|
1|Robert P. Donker was the senior design engineer at Nintendo of America between 1984 and 1994. The comments in the source code indicates that they were translated by Shoya Tanaka, who is currently a project manager at Nintendo Research and Engineering. Most of the code is plain assembly, but the file SFMPK.ASM has details on how the code works.
1|The demo shows a blue wire-frame plain with "Nintendo DSP1" on one side, and "NEC µPD77C25" on the other side (the DSP1 chip was based on the NEC µPD7720). There are a number of coloured balls in the field of view. In the demo, you can scroll and rotate the scene. The date stamps of the files indicates that they were translated between November 1992 and February 1993. The date stamps on the Japanese files are from June and July 1992. Although the DSP1 chip existed from the very beginning of the lifespan of the SNES (Pilotwings was a launch title), they must have made this demo later on to promote its usage.
10|DSP1DEMO_001.png|DSP1DEMO_002.png|Nintendo DSP1|Rotated and squished|
10|DSP1DEMO_003.png|DSP1DEMO_004.png|NEC µPD77C25|coloured balls|
1|Luigiblood managed to assemble the code using official Nintendo development software, which was discovered by Jackhead last year. The assembled binaries from the original Japanese code and the translated code are slightly different, possibly reflecting some changes in the code. The Nintendo Player dump is also different, but more similar to the Japanese version. There are no visual differences between the demos, but they do de-sync if played simultaneously, so maybe there are some timing changes.
1|The Japanese source code is encoded in Shift-JIS, but some (likely) terminal related codes prevent it from being interpreted as such in text editors. For reference, I used the Linux program "iconv" to convert the files to UTF-8. As far as I can tell, the comments in the English version are a pure translation of the comments in the Japanese code, and do not offer any additional insight. The binaries did not have a proper internal header (which allows them to be played automatically in an emulator), so they have been modified to include it.
13|1/2/3/1239/DSP1_Demo_Files.zip|Download the source and binary files here|
14|front.jpg|Nintendo Player's copy of the DSP1 Demo (front)|
14|back.jpg|Nintendo Player's copy of the DSP1 Demo (back)|