Historical Development Environment

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

Post Reply
RandomNobody
Posts: 2
Joined: Wed Oct 02, 2019 3:39 am

Historical Development Environment

Post by RandomNobody » Mon Oct 07, 2019 8:30 am

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.

lidnariq
Posts: 9299
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Historical Development Environment

Post by lidnariq » Mon Oct 07, 2019 10:47 am

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
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.
Did they have access to something resembling a debugger?
No.
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?

User avatar
dougeff
Posts: 2673
Joined: Fri May 08, 2015 7:17 pm
Location: DIGDUG
Contact:

Re: Historical Development Environment

Post by dougeff » Mon Oct 07, 2019 11:14 am

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.
nesdoug.com -- blog/tutorial on programming for the NES

tepples
Posts: 21945
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Historical Development Environment

Post by tepples » Mon Oct 07, 2019 12:02 pm

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?

RandomNobody
Posts: 2
Joined: Wed Oct 02, 2019 3:39 am

Re: Historical Development Environment

Post by RandomNobody » Mon Oct 07, 2019 6:45 pm

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
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.

User avatar
Gilbert
Posts: 371
Joined: Sun Dec 12, 2010 10:27 pm
Location: Hong Kong
Contact:

Re: Historical Development Environment

Post by Gilbert » Mon Oct 07, 2019 10:36 pm

When Hudson Soft (which later became the first third party publisher for Famicom games) was commissioned to develop Family Basic, it was mentioned that the tools were quite primitive and the development system was quite terrible (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.

Oziphantom
Posts: 825
Joined: Tue Feb 07, 2017 2:03 am

Re: Historical Development Environment

Post by Oziphantom » Tue Oct 08, 2019 11:19 pm

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.

Post Reply