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.
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.
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:
Please Note... This demo software is designed for use with the Nintendo SE development system, or similar development systems that support the DSP1 chip in memory mode 20 or 21. The PW.MAP file must be loaded first with the ROM command to use the DSP1 chip. Some of the source code comments are not complete because the original source was produced in Japanese using the extended charter (16 bit) format. If you require these refer to the DSPDEMO.ZIP file for the original sources. For questions or comments relating to the DSP1 chip please call: Robert P. Donker / NOA engineering
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.
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.
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.
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.
|© Evan G. This site made by a Canadian, and fueled by beer. Do not use material on this site without permission.|