Neil Baldwin, chip music composer and director at Eurocom, dropped in for a Q&A session in #NESdev@EFnet last night for a few hours; hosted by yours truly Sean W. (a.k.a. B00daW.) A lot of people, including Neil and I, were getting a bit “loose” to unwind during the event. So to protect the innocent, the transcriptions below are selectively abridged.
The evening started out with everyone discussing the differences between today’s assemblers and those of yesterday. Assemblers are the programs that translate the assembly code to hexadecimal; the output being called “binary form” or “a binary.” Paraphrasing what Neil had said regarding this:
“We actually wrote our own assembler eventually. We used it on NES and then later we added SNES support. [The company at that point consisting of 5 people in the early 1990’s.] We had no interactive debuggers, etc.; but it was a rudimentary IDE in as much as it was an editor with a built in assembler/disassembler. I actually got [the old environment] compiling; but had to use DOSBox as it wouldn’t work in anything else.”
I had asked the question if the environment would ever be available to the public to which he responded that it would have to be brought up with the other directors at Eurocom. Perhaps we’ll get to see some of the old techniques used. Time will tell.
As for more about the development environment used, Neil said:
“There was a data comms card in the PCs we had that used to just chuck binary files at the EPROMs. The board was stuck in the [Nintendo Famicom] cartridge slot and the cable hung out of it. We were using some really REALLY basic Amstrad PC1512s – amber monitors and everyfink! [sic]. We never had any official docs, Taxan managed to get photocopies of Japanese docs from somewhere and we had them partly translated and guessed the rest through trial and error. It took a long, long time. Loads of debugging variables that we’d watch by just hex-printing them on screen and staring at the code for hours, and hours and hours. I think we were hacking away at it for six months before we got anything working. We were desperate to get it all working, there was only Rare in the UK doing NES stuff and we saw an opportunity in the market. OK. Admitedly, they did make some ace stuff. There, I said it.”
So since we knew how Neil and the team were doing things, we wanted to know how they were getting the money to finance operations and what the actual center of operations looked like. To our benefit, we got to know a little bit about the investment in the company; since a few of us are trying to pioneer the commercial front ourselves:
“Basically, Eurocom was set up by one of the other directors’ fathers. We borrowed offices from his company. It was hilarious… You know how programmers don’t like daylight? We taped cardboard boxes to the inside of all the windows. One room; five of us sat around frowning at two-hundred pages of Japanese nonsense. So, we were lucky that the guy had some faith in us and paid us a wage while we tried to get our shit together. [When] I say ‘paid,’ we’re not talking much above burger-flipping on the salary scale. But we were having a great time. [We] felt like real pioneers; ignoring the fact that Rare were already doing it.”
By this time the conversation turned to the real meat and bones of his composition and video game music career:
“I was really a total amateur on Commodore 64; just trying to emulate [Rob] Hubbard, etc. I never really had any commercial success [with it.] (You can find Neil’s C64 music under his name and the pseudonym “Demon.”) I know we did pull apart some games at the time when we were trying to decypher the NES [to learn instrument making tricks and rip samples.] On the other hand, the Yamaha keyboard that I used to work tunes out on had some of those auto-accompany drums and I know at one point we tried to sample them using some sampling cartridge on the Atari ST. I think it was a Yamaha PSR-something-or-other.”
“Nijuu,” Neil’s current NES sound engine project — also linked and covered here at TCTD, was one of the main topics of the session. We wanted to know more about its current progress; since we’ve been teased by his amazing “Nijuu Test” demo. To start off someone asked if the engine would be RAM and CPU friendly. To this he responded with a direct quote of the upcoming Nijuu manual; it is not edited or corrected:
“One thing to bear in mind from the outset: Nijuu has not been written in a way that makes it friendly to use in any other environment other than to make stand-alone NSF music files. It uses a LOT of CPU time and a LOT of RAM and is (currently, perhaps always) horribly under-optimised. My approach has been to make a musician-friendly engine, rather than bleeding-edge code. That’s not to say you couldn’t use Nijuu in a game/demo, etc. but I’m just warning you that Nijuu doesn’t care about anything but itself. There’s statistics and figures further into the documentation that will prove this beyond doubt. There are some obvious areas for improvement, especially with the RAM usage but until I’ve stopped adding features and generally improving how Nijuu is to use, I won’t be optimising anything.”
This provoked the question of why he decided not to optimize the code or even make Nijuu at all; being that it would or could be used for the development a new NES game or project. Interestingly enough, what got touched on was that, personally, he was making Nijuu to challenge himself after twenty years:
“[The] unreleased full game of music that was never released, it’s easily my best NES work. I’m dying to build up to putting the music onto the website but I think I really need to get the blessing of the other Eurocom directors. And it took me quite a lot of effort to get the old code compiling in [my] Mac environment. During the time I spent getting the code compiling I noticed quite a lot of stuff in the old sound engine that was badly done, not working, or buggy. So I started fixing it up a bit, [but] not too much though, I didn’t want to mess with the music. The timing on my old engine was sloppy, to say the least. I looked through and did a forehead slap. It was so obvious why my timing was sloppy. Too much writing to the registers littered throughout the code. So it got me thinking, “If i did it all again, how would I have done it?” And then I thought some more and came up with some answers. It then became an itch that I had to scratch. The only logical way to prove my theories was to — well, start from scratch. And other stuff, like the thing I posted on the website about how I was doing stuff like single-voice echo, got me thinking, “There must be a better way.””
Neil seemed a bit wary to give out many details on the unreleased game that he is in possession of, understandably so, but was able to give us at least some information regarding the title; but not the actual title:
“I do remember the game very well. The game was practically finished. We just kind of lost communication with the Japanese publisher and it got shelved. It was based on a Terry Jones book. I have a ROM of it. I’ll have to see if I can twist some arms and get the game ROM released like Hero Quest. The unreleased game [is] actually pretty good. I seriously would love it to get out into the community; if only to put the music into context. It’s a role player, similar to the old Zeldas. It was one of those rare occasions when I actually paid attention to what was in the game. “
Well, the world may be in store for two great treats in the future: More of Neil’s music and an unreleased Nintendo game for us to enjoy!
At this point all of us were just having a really good time talking to and getting to know one another. A few things were said and a lot of laughs were had. All I have to say is, you should have been there!