Wow, bet you didn't know Super Mario World, PilotWings, and F-Zero were
developed on the GS! A new Super Nintendo emulator, supposedly developed
by former Nintendo employees, has been released. Here is a very
interesting clip from the documentation:
(the full text of the docs can be found at
http://members.aol.com/emunews/silhouette.txt)
----
The first batch of games for the Super Famicom were developed around
1988 and 1989. Popular Super Famicom titles, like F-Zero and Super
Mario World, were the most difficult for several reasons--if nothing
else, the Super Famicom hardware specifications changed in small ways
at least twice during the development project, requiring changes to
existing code.
(Trivia tidbit: the original Super Famicom plans called
for much more extensive onboard 3D hardware--PilotWings was developed
assuming that this hardware would be present, and since this chip was
scrapped from the Super Famicom at the last minute, Nintendo was forced
to include this 3D chip on the PilotWings board in order to keep the
game on schedule.)
The other reason for difficulty in development is much less known, and
very surprising--almost all the programming for these titles was done
on the Apple IIgs! This seems ridiculous until you realize that both
the Super Famicom and the Apple IIgs are based on the 65816 processor,
a cheap toy with inadequate processing power that was stuck in the
Super Famicom to smooth over the early development process (since it is
backwards compatible with the 6502, the NES' processor). However, it
was soon realized by the development teams that a reliable 65c816
development platform could not be found on the usual Nintendo platforms
(most Nintendo devs at that time had a generic PC, excluding the art
and marketing department which was mostly Macintosh and a few segments
of the development team). Deadlines approaching, the Apple IIgs was
chosen as a quick if inelegant solution--several C and assembly
compilers were available, and testing and debugging was easier since we
were able to use a native 65816 for testing.
However, the IIgs proved woefully inadequate for large projects. Most
machines didn't even have hard drives! Compile times for even meager
projects were horrendous, and keeping all the work on floppies was
getting out of hand. And obviously, the graphics support on IIgs' was
minimal, so testing out small programs required switching between a
Super Fami prototype on the left and a IIgs on the right. Programmers,
in general, hated the thought of Super Famicom development. Many
continued to write 6502 code using the old NES development environment,
choosing to ignore on the 16-bit advantages of the 65816 in order to
complete the project without losing their sanity.