Early Nintendo Programmer Worked Without a Keyboard (arstechnica.com) 111
Much like IT guys, every programmer has a horror story about the extreme work environments that forced them to hack together things. But as ArsTechnica points out, not many of them can beat the keyboard-free coding environment that Masahiro Sakurai apparently used to create the first Kirby's Dream Land. From the story: The tidbit comes from a talk Sakurai gave ahead of a Japanese orchestral performance celebrating the 25th anniversary of the original Game Boy release of Kirby's Dream Land in 1992. Sakurai recalled how HAL Laboratory was using a Twin Famicom as a development kit at the time. Trying to program on the hardware, which combined a cartridge-based Famicom and the disk-based Famicom Disk System, was "like using a lunchbox to make lunch," Sakurai said. As if the limited power wasn't bad enough, Sakurai revealed that the Twin Famicom testbed they were using "didn't even have keyboard support, meaning values had to be input using a trackball and an on-screen keyboard."
One of the best NES games ever too (Score:4, Interesting)
That is amazing, because that was a great game!
Re: (Score:2)
By comparison, that means the Atari 2600 E.T. game was coded with a larger hammer and an industrial pushbutton.
Re: (Score:3)
Re:One of the best NES games ever too (Score:5, Interesting)
Bill Gates and Paul Allen wrote their first BASIC for the Altair and forgot the bootloader, so Paul wrote it on the airplane using just a tape punch. (the code was delivered on punched tape)
So you're at least down the street from something related by blood to a true factoid.
Re: (Score:2)
Great story - I'd never heard that one, but I had heard the one about Woz hand-assembling Integer BASIC [wikipedia.org] because they couldn't afford to buy a symbolic assembler.
Re: (Score:3)
Kirby's Dream Land, the first in the series, would have been for the Game Boy. My understanding from the article is that the GB development was done on a Twin Famicom, even though the sprite hardware and CPU were quite different.
You may be thinking of Kirby's Adventure for NES/Famicom. Which was an excellent game for that console, and fairly late in the life of the NES.
Re: (Score:2)
Felt like a SNES game, sprites notwithstanding
Coding environments used to be a bit less elegant (Score:5, Interesting)
Re:Coding environments used to be a bit less elega (Score:5, Interesting)
IOW you had a C compiler and text editor!
When I was young we had to program Z80 by entering HEX values into EPROMS.
I once had a deadline and a broken EPROM eraser so I had to finish a program by only changing ones to zeros in an EPROM.
(for the youngsters: When you erase a chip it changes to all ones, there's no way to go from zero to one without wiping the chip)
Re:Coding environments used to be a bit less elega (Score:5, Funny)
Re: (Score:3)
When I say EPROM Programmer, I mean it was an EPROM programmer to us. To everybody else it was just a bunch of wires and crocodile clips with a 9V battery.
(NINE volt battery? You were lucky...)
Re: (Score:2)
You had a battery?
Re: (Score:2)
You had a battery?
Well don't leave a hanging.
Re: (Score:1)
woah, you had a universe?
Yes, but I compiled it myself. Unfortunately I forgot a minus sign in the gravity implementation so it got all clumpy and I'm gong to have to pull the plug on it. Thanks for reminding me.
Re: (Score:2)
When you erase a chip it changes to all ones, there's no way to go from zero to one without wiping the chip
In my day, we didn't even have ones, we had to make do with "l"! Spoiled kids these days.
Re: (Score:2)
And the snow was up to HERE in the server room.
Re: (Score:2)
You had a steam engine? We had to get marketing to aid us if we needed hot air!
Re: (Score:1)
A lot of programming was done without a keyboard (Score:4, Insightful)
I've programmed with switches, with punchcards. This doesn't seem that outlandish.
Re: (Score:3)
Re: (Score:2)
No keyboard? That's nothing! (Score:5, Funny)
I once had to use ClearCase.
QED
Re: (Score:2)
Re: (Score:3)
Okay. That doesn't sound as bad as having to use it..
Re: (Score:2)
Try migrating from CC to Perforce...
Several hundred engineers have their workflow completely broken (yes P4 is *better* but the devil you know and all that). Productivity tanks for the first month as accidental overwrites of commits and reversions from merges and other wonderful shit hits all the fans...
Re: (Score:2)
Ever had this thing called eclipsed files with ClearCase? Ever received a huge E-mail with fifty "element"-lines as reply "can you give me your branch so that I can help out with your feature?". Ever didn't know what version of a file you were looking at because the config_spec has some magical order in that it processes said element lines (making me call ClearCase the SchrÃdingers Cat Management - you have to open the box to know if your code was dead or alive, and opening it kills it).
Ever saw compil
Re: (Score:2)
Ever had this thing called eclipsed files with ClearCase? Ever received a huge E-mail with fifty "element"-lines as reply "can you give me your branch so that I can help out with your feature?". Ever didn't know what version of a file you were looking at because the config_spec has some magical order in that it processes said element lines (making me call ClearCase the SchrÃdingers Cat Management - you have to open the box to know if your code was dead or alive, and opening it kills it).
Ever saw compilation performance drop to 500% or 600% or more slower due to fstat being called on each and every header file in a preprocessed .cpp file's output over the network? (so, network latency is killing your compiler's speed). Ever had a SCM that required you to rewrite all your Makefiles in some absurdly stupid format so that some omake thing understands it?
Ever had to head time and time again that it's all your fault because "you don't use ClearCase right". While when you ask the ClearCase fanboys "so then how do I use it?" you basically get IBM this and IBM that and IBM is great and no answers.
I'm going to stop.. before I mental because of thinking about the horror I've been through.
Sorry. No keyboard. Poor guy.
Yes to most all of this.
We had a *dedicated* CC management team of about 20 people.
Seriously, their *entire* job was manage CC and related bullshit.
So I didn't have to deal with the "you're not doing it right, but no help for you either." I got "you're not doing it right, use this tool we created that takes the input you gave and transmogrifies it to CC brainfuck".
Re: (Score:2)
The same thing. A staff, a bunch of people, who made it their career for others to depend on their shitty tools. The guys in the company that I worked at even made some thing, some program, with a UI, that would show the elements that got changed given a specific mkbranch for a specific workflow (because in ClearCase a 'branch' is apparently just a way of marking elements. I don't even dare to call them files anymore, as they are 'elements'. Or something somethings).
Problem was this tool they made didn't ha
Re: (Score:2)
Makes sense to me...
But only because I've dealt with the mindfuck of ClearCase.
I'm not entirely sure that Visual Source Safe is worse in fact...
Re: (Score:2)
For example: rumor has it that you can't work on the same file with two people in Visual Source Safe, as you have to lock files while working on it.
But then again, I always convinced the teams I was working with to use a CVS service that I set up and then at the of the day we copied that over to VSS, whenever I had to use VSS. Nowadays everybody uses git of course, and before that most companies and/or teams had already migrated to Subversion. Long time since I heard about Visual Source Safe. Didn't know it
Re: (Score:2)
My current company *finally* migrated our last project off VSS.
I've used:
ClearCase
SVN
Git
Perforce
VSS
dated tarballs
dated directories
So far my personal favorite is actually Perforce for massive codebases, and SVN for almost everything else.
I have nothing against Git, but most of my crud is in SVN and I have no compelling case to change it.
Re: (Score:2)
Last year, I wanted to update ClearCase, because my version caused a blue-screen every few days and made Visual Studio hang for a few minutes several times per hour. As the update failed to install, I called the IT guy, who tried a lot of things. In the end, he gave up. I had no IBM Rational software installed anymore and could not install any IBM Rational software anymore. Instead of taking this as a sign, he re-imaged my PC.
Re: (Score:2)
Re: (Score:2)
I had to use VSS. But only after convincing the lead developer that keeping everything on a Windows share wasn't working out after he overwrote my changes.
Re: (Score:2)
omg. Good for you that you managed to escape.
In other news... (Score:1)
Re: (Score:2)
But at least had a keyboard.
Re: (Score:2)
Early computers had a switchboard instead of a keyboard, and the mice had to compete with the rats for nesting space.
Re: (Score:2)
You just took things too far. "Early computers did not have switchboards because most of them were women". See what I did there?
The era of the current topic is the Nintendo NES/Famicom/GameBoy period. When freeze128 said "Early computer users worked without a mouse", I replied that computers of that same era at least had a keyboard, unlike that early Nintendo programmer.
And to get to work... (Score:1)
He had to walk 15 miles.... in a raging snowstorm... uphill... both ways!!!
Re: (Score:2)
uphill... both ways!!!
When I was a kid I also had to cross a hill. Uphill both ways, and walking downhill right after doesn't actually make the uphill part any easier. Luckily I only had to walk 1 mile.
Full Circle then (Score:3)
Sakurai revealed that the Twin Famicom testbed they were using "didn't even have keyboard support, meaning values had to be input using a trackball and an on-screen keyboard
Like certian modern devices you mean?
Re: (Score:2)
Sakurai revealed that the Twin Famicom testbed they were using "didn't even have keyboard support, meaning values had to be input using a trackball and an on-screen keyboard
Like certian modern devices you mean?
What modern device has no options for a keyboard, and uses an onscreen keyboard with a trackball?
Re: (Score:1)
A Certian-branded computer, of course.
Re: (Score:2)
A Certian-branded computer, of course.
Ah yes. Those guys always sucked at hardware design. Although the people that work there are handy to know for other... things.
Re: (Score:2)
Sakurai revealed that the Twin Famicom testbed they were using "didn't even have keyboard support, meaning values had to be input using a trackball and an on-screen keyboard
Like certian modern devices you mean?
What modern device has no options for a keyboard, and uses an onscreen keyboard with a trackball?
The navigator in my car. I'm certian of it.
Re: (Score:3)
It reminds me of 1997. There was one guy at work that didn't know how to use a computer, but he kept repeating things he "learned" online from conspiracy websites. It took awhile to figure out what was really going on; at first we thought he was trolling us. (we used the word prank back then)
Eventually we figured it out; he had WebTV. He did not have the wireless keyboard that cost an extra $50. He just had the WebTV remote. So a URL with 32 characters would require something like 300 button presses. Mostly
Re: (Score:1)
obligatory dilbert (Score:3)
Re: (Score:2)
Yikes, Dilbert 1992-style. Reminds me of this recent Penny Arcade [penny-arcade.com].
Re: (Score:2)
Pretty much the exact opposite IMO. Now Penny Arcade is some kind of non-Euclidean universe of rubbery noodle-appendages and dad jokes.
Re: (Score:2)
Not sure what a non-Euclidean joke would be. I was covering both sides.
Doom... back in the day... (Score:4, Interesting)
Re: (Score:2)
Romero made a level editor for the NeXT computers they had, and that's what they used.
Re: (Score:2)
Have you ever tried using GTKRadiant? Trying to shape a 3-d object using 3 fixed planes in a 2D editor gets interesting :P Or accidentally resizing an object below zero size, which makes it invisible but doesn't delete it, and then the compilation blows out with a weird error. Not that all the errors aren't rather cryptic...
Also the documentation is terrible, but at least it exists. Thank god for wikis.
Re: (Score:2)
Have you ever tried using GTKRadiant?
I've used the BSP Quake Editor [bspquakeeditor.com] during my Quake 2 days. I'm familiar with the all quirks of the editor and compiling maps.
Re: (Score:2)
I can believe it. One of the interesting properties of the Doom engine was, even though there were vertical changes in levels it wasn't possible to place one object of a map over another, i.e. no platforms, no overhead walkways. Any time two level points met each other at a different height they did through a gap in the wall or a fence or something similar.
In that regard doing coordinate mapping via a grid and a text editor isn't as complicated as it sounds. Managing a true 3D map on the other hand would be
Re: (Score:2)
When my company bought our first commercial 3D animation program, the "editor" was just that...a text editor. It came with a carboard fold-up of a set of 3 arrows representing the XYZ axes. The manual instructed me to fold the axes mockup, then hold it out in front of me and wave it around like I imagined the object I wanted to animate was supposed to move. I was to "visualize the coordinates" the axis passed through...and write them down into a text file, that was then fed as an input to the commend-line t
DATA strings in BASIC with Z-80 instructions (Score:1)
Re: (Score:2)
I did programs on front panel switches a few times on an old IBM System/7. 16 bits (although used IBM notation which was inverted and backwards) and, if I remember correctly, 1k switches (ROM - or "ROS" as IBM called it) and 8k RAM. Execution speed was 500 kHz.
There was an assembler, which produced values in standard notation (and have to be inverted and reversed on the front panel switches for the IBM standard notation). The 1K was basically a bootloader to load the ram from cassette recorder storage -
Re: (Score:2)
Re: (Score:3)
That's easy. The hard part is running between the keys of the 40 metres wide keyboard.
Re: (Score:2)
I did this in Commodore 128 BASIC, too. It made it really simple to load a BASIC program that needed some assembly language support without having to pre-load the machine language file. I wish I still had the source code to my (crappy) BBS that used assembly to provide a text-based windowing system (for the sysop) and converted quickly between Commodore ASCII and standard ASCII.
We're all spoiled today (Score:2)
Re: (Score:2)
Look at the Uzebox, a game console based on the Atmel ATmega328. Plenty of creativity there.
Re: (Score:2)
You may get interested in the demoscene then, because being creative and overcoming limitations is exactly what they do. They can do really impressive stuff on old ...) or with modern PCs with extreme size constraints (ex : everything must fit in 4kB).
computers (C64, Amiga,
And they always manage to find new things. Last year, for example, a demo called "8088 MPH" came out, doing things on a 8088 IBM PC that were never done before, like showing 1024 colors on a 16 color system.
Of course, these are not practi
Not impressive at all (Score:2)
Did I mention I once programmed using two wires I shorted together at different lengths of time to gets ones and zeros and had to read back the data on an oscilloscope? It was for a one bit computer and we considered ourselves lucky to have it, as zeros had only be invented a year or two before.
More seriously, while not very fast, a trackball and screen doesn't seem that unreasonable - especially from the perspective that I would expect Sakurai san to spend more time on the game design so to minimize the
Image processing (Score:2)
When I started my PhD in image processing, I was given an 80-column, 24-line text terminal to the department microVax (approximately 1 MIP, shared between about 40 people). I was lucky, and got one of the good ones, it had an amber phospher :)
Seriously, the only place to see the results of the algorithm was on a shared display downstairs in the lab - which was in high demand. I ended up doing a lot of terminal-style graphs (mine wasn't a tektronix terminal, so I only had text-like characters) to prove an al
Re: (Score:3)
Between Windows 10, FaceBook, Twitter and all the spyware and marketing-infested crap, I'd say "too far".
Re:Image processing (Score:4, Interesting)
I was given an 80-column, 24-line text terminal to the department microVax
And I'm typing these very words on a 79-column 25-line text terminal on a N900, using elinks. It's too much pain to use a graphical browser with only 256MB ram (built-in microB is insecure, unmaintained and can't even do SSL anymore; modern "slim" browsers need 1-2GB minimum), elinks works fine.
Still better than a modern Android/iJunk dumbphone.
Re: (Score:2)
Still better than a modern Android/iJunk dumbphone.
Yeah mate you're really selling it.
Re: (Score:2)
Ah yes, the uber-expensive "frame buffer device". Luxury.
i also wfrk wifhout a keynoard (Score:3)
I remember my atari 400 menbrane keyboard (Score:1)
after 1 hour a trackball onscreen keyboard sounds pretty good
Nintendo has done even crazier things (Score:1)
monty python 4 yorkshiremen (Score:2)
Walked 5 miles to and from school (Score:2)
Needs some creative problem solving (Score:1)
Obligatory XKCD. (Score:2)
https://www.xkcd.com/378/ [xkcd.com]