Historical Development Environment

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Historical Development Environment
by on (#243062)
I'm curious what a NES programming environment looked like during the early days of the NES. Was everyone on MS-DOS? Did Nintendo ship developers an assembler and example code? Did they have access to something resembling a debugger? Did they use any type of source control? It must have been tough working on an assembly game with multiple programmers.
Re: Historical Development Environment
by on (#243068)
RandomNobody wrote:
Was everyone on MS-DOS?
No. This was sufficiently early that there was no PC monopoly. We know of people using C64s, Ataris, and a bunch of Japan-specific computers.

ccovell has some pictures of magazines describing the development process https://chrismcovell.com/secret.html#calendar

Quote:
Did Nintendo ship developers an assembler and example code?
Not meaningfully. Western developers were given "a badly translated" copy of the original CPU, PPU, and memory mapper datasheets. Given the number of photographs we've seen of differing custom hardware used to develop Famicom games, it's likely that Japanese developers only had the same datasheets.

e.g. There's a video of the The Making of Solstice.
Quote:
Did they have access to something resembling a debugger?
No.
Quote:
Did they use any type of source control?
Just the "make multiple copies of your data" sort. CVS was created in 1985. RCS was created in 1982 and SCCS publicly released in 1977, but I don't think either found their way off the UNIX systems at the time... then again, I remember reading of one developer who specifically asked for a UNIX workstation for ... version control?
Re: Historical Development Environment
by on (#243069)
I have heard of people setting breakpoints in the code, and then printing the contents of RAM.

Most of the developers tools were made late in NES life. Graphics software was being sold around 1989.

In 1985, graphics were hand sketched on graphing paper, converted BY HAND into hex values, and entered manually into the terminal.
Re: Historical Development Environment
by on (#243070)
dougeff wrote:
In 1985, graphics were hand sketched on graphing paper, converted BY HAND into hex values, and entered manually into the terminal.

This is the "tracing holes" that a long rant filling otherwise unused space in Pachi Com referred to.

And searching for "tracing holes" turned up a similar previous topic: What was the first NES assembler?
Re: Historical Development Environment
by on (#243078)
lidnariq wrote:
RandomNobody wrote:
Was everyone on MS-DOS?
No. This was sufficiently early that there was no PC monopoly. We know of people using C64s, Ataris, and a bunch of Japan-specific computers.

ccovell has some pictures of magazines describing the development process https://chrismcovell.com/secret.html#calendar

Quote:
Did Nintendo ship developers an assembler and example code?
Not meaningfully. Western developers were given "a badly translated" copy of the original CPU, PPU, and memory mapper datasheets. Given the number of photographs we've seen of differing custom hardware used to develop Famicom games, it's likely that Japanese developers only had the same datasheets.

e.g. There's a video of the The Making of Solstice.

Wow these links are great, thanks especially for them.
Re: Historical Development Environment
by on (#243085)
When Hudson Soft (which later became the first third party publisher for Famicom games) was commissioned to develop Family Basic, it was mentioned that [url=http://www.highriskrevolution.com/wp/gamelife/2012/01/15/ハドソンがファミコンに参入したとき(オリジナ/]the tools were quite primitive and the development system was quite terrible[/url] (there are some further info in the linked article but I'm too lazy to translate anything at the moment) so they built their own development tools and eventually the same suite became the (official) ones for the PC-Engine (that most of the binaries are able to output stuff for either the Famicom or the PCE according to a command-line switch). I'm not sure whether these tools were internal to Hudson or they were later adopted by Nintendo though.

EDIT:
Seems that the forums don't like urls with Japanese characters and I'm not familiar with how it works (tried using escape codes and it still didn't work), so I'll leave the link as-is for people to high-light and copy if necessary.
Re: Historical Development Environment
by on (#243098)
Nasir Gebelli used an Apple ][ for Final Fantasy

In Europe the PDS system was the "go to" but I don't think they made an official NES board. However using a c64 for debugging might have been nice and probably faster. the ODK probably would have supported it but all information about it has evaporated and nobody seems to have any copies of it anymore.

Back then you "debugged" code by running it on a CPU simulator, this helped with logic bugs but was useless for hardware ones ;)

Back then Source Control was a persons job, so you would take a disk to say Susan's desk and she would then merge and check your code, the drop of a "new master" disk at the end of the day for you to start with tomorrow. The other way to manage it and you will see this in SNES ROM more I imagine, each programmer gets their own "banks" aka their own Chip and all of their code lives in their allocated Chips.