It all started with a project I was working on called “Fixing Gran Trak 10” about the first car racing arcade video game from 1974. I had completed the electrical repairs and was trying to interview as many people as possible who were involved with making the game. One of the interviews was with Ron Milner. Ron’s an interesting guy. He was an engineer and inventor at Atari’s secret think tank in the mountains – Cyan Engineering from 1973 to 1985. Besides coin-op work he was co-inventor of the Atari 2600 video game system and even helped prototype the animations for the robots at Chuck E Cheese. At the end of our conversation we were chatting about other stuff when he asked:
“Did you ever get a Starship 1 game?”
I said “I know that game! I would love to have one in my collection. I remember playing it when I was a kid.”

Ron explained how he designed an “axial coil” around the neck of the CRT which would cause the stars to rotate when the player turned the control yoke. A pretty neat trick. Unfortunately that feature was cut to save money in the production version of the game.
Ron continued, “That was the first and only game that I ever programmed and I think it was maybe one of the first games with a backdoor in it. I didn’t tell people about this, even within Atari, for at least 30 years, but I had some code in there that if you did a certain sequence of controls it would say ‘Hi Ron!‘ and give you 10 free games.”
I was kind of stunned. If this was true it would certainly predate the earliest video game Easter egg that I knew of and the one that is most often cited as being the first: “Adventure” for the Atari 2600 from 1979. I did a little searching online and found that there was an even earlier Easter egg in the game “Video Whizball” which was released in 1978 for the Fairchild Channel F game console.
But there was a problem. Ron didn’t remember exactly how to bring up the Easter egg. He remembered showing it off to some buddies at a county fair when the game first came out, but that was 40 years ago!
This was something I had to pursue! There were only two things I needed to figure out: when was “Starship 1” released and how to actually trigger the Easter egg.
Confirming the Release Date
Ron wasn’t sure exactly when the game was released. First stop was to check The Arcade Museum. This site lists almost every arcade game ever made, but since the information in it is crowd-sourced I’ve found that it isn’t always reliable. In this case it shows 1976 as the release date for Starship 1. Promising! That would put it two years earlier than the other contenders.
But as I poked around more I began to have my doubts.
The manual and flyer were copyrighted in 1977. I decided to check other sources. I had recently been told that the archives for Cash Box Magazine have been scanned and are fully searchable online. Since this magazine covered the arcade business it’s perfect for this kind of thing. I quickly found an article that gives 8/13/77 as the first date that Starship 1 appeared in Cash Box.
Next I checked an old internal Atari sales document that I had used to verify a release date in my story Fixing Color Gotcha. As you can see, it lists a ship date of July 1977:
That fits with the first Cash Box reference being in August ’77, so I believe that July 1977 is the correct release date for the game.
Finding the Code
So we knew the date, but did the Easter egg actually exist in the game? Ron remembered that his Easter egg would trigger the message “Hi Ron!” on the screen and then give ten free credits, but he didn’t remember, after all these years, exactly how to make it happen.
The first step was to download the ROMs for the game from the internet. With those in hand it was an easy search through a hex dump to find:
So the message was there! But could we actually trigger it? Ron looped in another early Atari engineer, Michael Albaugh, and the three of us got to work. Starship 1 was built using the 6502 microprocessor, the same one that was used in the Atari 2600 and the Atari home computers, so it was something we were all familiar with. Ron and Michael dove into the schematics and I provided the ROM dump and disassembly listings of various sections of code. A portion of the schematics showed the memory map which told us how the various buttons on the control panel were exposed to the game’s software:
It soon became clear the code we cared about was part of an interrupt routine triggered when a coin was inserted into the game. Michael was the first to find the code that, if called, would print “Hi Ron!” on the screen, but how was it called? Ron pinpointed two specific checks in the code and sent back a commented listing of the raw disassembly dump I had provided him.
The first check appeared to be testing whether the Phasor and the Start button were being held simultaneously when a coin was dropped:
and soon after was another test to see whether the slow button (and no other buttons) was pressed:
So if we were reading the code correctly, the key to triggering the Easter egg was to stick a coin in while holding both the phasor button and the start button down. Then, very quickly, release those buttons and slam on the slow control. No wonder no one ever stumbled on this “feature”… Now we just had to prove that it could actually happen in the real world.
Hatching the Egg
I did a quick check with my local collectors group (Seattle Metro Arcade Collectors or SMAC) but no one seemed to have a Starship 1 in my area. Then I remembered I had seen one for sale a few months earlier at a dealer in Vancouver, BC, and I kind of wanted it, even before I knew about the Easter egg. I checked with the dealer and the machine was still available so I bit the bullet and paid his somewhat inflated price. Unfortunately I’d have to wait several weeks for him to repair it and ship it down to me in Seattle. In the meantime, I set about trying to reproduce the egg in the emulated version of the game running under MAME.
MAME is a marvel of the arcade collector world. First released 20 years ago, in 1997, and in continuous development ever since, MAME has the humble goal of emulating every arcade game ever produced, along with many vintage computers, game systems, and even calculators. This open source project has inspired so many talented programmers over the years that today it’s difficult to find a game that isn’t supported. When I looked for Starship 1 I was not surprised to see that it was available.
Yet my first attempts to reproduce the Easter egg ended in failure. I could cheat by using the excellent built in MAME debugger to skip over the two checks I needed to pass and then the “Hi Ron!” message would appear, but I couldn’t do it simply by pushing the (simulated) control panel buttons.
After some debugging I determined that the problem was with the Slow control. Whoever created the otherwise excellent driver to support Starship 1 in MAME decide that the Slow control should act like a gear shift. Not a bad assumption given how it looks:
See it there on the right side of the image? It may look like a gear shift but, from the game’s point of view, it’s just another button, no different from the Phasor or Start buttons. By making it a gear shift (technically a “toggle” in MAME speak), it made it virtually impossible for me to trigger it reliably in the small amount of time I had after dropping the virtual coin into the emulator.
I considered building my own driver, but that would involve a fair amount of work to setup the MAME build environment. Before I headed down that long and bumpy road I decided to try the thing I’m always reminding myself I need to do more often: use Google. Specifically I googled “disable MAME toggle” and the first thing that popped up was this wondrous little article on how to solve exactly the problem I was having. It said I had to add the phrase ‘toggle = “no”‘ to the config file like this:
(the MAME savvy among you will note that I also reassigned the slow button to the right ALT key and the Start button to the right CTRL key for easy access)
With these preparations in place, while holding down left CTRL and right CTRL, I hit the 5 key, which in MAME means insert coin. Then I immediately let up on all those keys and held down the right ALT key. It worked! I was rewarded with “Hi Ron!” on the screen!! Here, I made a video to prove it to you (watch carefully in the upper left hand corner of the screen):
Did you see “Hi Ron!” appear? If not, run it again. I’ll wait.
The Final Countdown
All that was left was to show that the Easter egg could be triggered on a real machine, but where was my real machine? I contacted the dealer and was told “A problem developed with the monitor, it won’t sync.” He went on to explain that once he fixed it, he would need to leave it running for several days to make sure the problem didn’t return. Yeah, sure. That’s fine. I want it to work.
I spent the next few weeks anxiously waiting for the machine to arrive. I was torn between the irrational fear that someone else would stumble on and publish my 40 year old discovery before me, and the very real fear that when I did, no one would care.
Finally the machine was delivered.
I carefully unwrapped and gave it a close inspection. Everything looked fine. This was going to be easy. I turned it on and it came right up. The screen looked great. I grabbed a quarter, stuck it in one of the two coin slots, and other than some clanking noises as the coin fell through the mechanism, nothing happened.
Okay, no problem. I opened up the coin door and saw that the coin box was installed incorrectly so it didn’t allow the quarter to fall all the way through the mechanism. I fixed that and tried again. This time the coin fell but again, nothing happened. I opened it up again to find that the falling coin had knocked off the wire that triggers the microswitch that tells the game to give a credit. The wire hadn’t been properly attached when the machine was repaired. I fixed that and tried again.
This time when I turned the machine on the stars were spinning wildly and the message COIN was stuck on the top of the screen. I opened the coin door a third time and saw that one of the electrical wires to the door was broken.
Wow. I was starting to wonder if I was cursed! I repaired the broken wire and tried yet again.
Will it happen?
The attempts continued for hours. It wasn’t easy. I had to contort my left hand to be able to hold down the button on the yoke and the start button at the same time:
Meanwhile my right hand had to insert a coin. As it was falling I had to let up the left hand and push down the slow control with my right hand. The timing seemed tricky. I knew from the code that the coin had to go through the mechanism before I let up my left hand but then there would be just a small window of time before I had to push the slow control. No matter how I tried and no matter what I did, I couldn’t make the Easter egg appear. How could this be? I had done all the research. I was sure I knew what I was doing, and yet I couldn’t get the message “Hi Ron!”.
Did it matter which coin slot I was using? I didn’t think so, but just to be safe I was trying both. Still, it made me wonder. I checked the schematic. There were definitely separate signals coming into the board for Coin 1 and Coin 2 but the byte being checked by the Easter egg code was looking at this:
We wanted the hexadecimal value $76 which would mean Coin plus Phasor plus Start. Just to be sure I started up the MAME version. I had always hit the 5 key when I reproduced it which means Coin 1, but what if I hit the 6 key (Coin 2)? When I tried it I couldn’t get the Easter egg to happen. I set a breakpoint in the debugger and sure enough I got a different value than the $76 I expected. Apparently Coin 2 was mapped to one of the other bits labeled “SPARE” on the schematic. Okay, that’s fine. I double checked which coin slot was associated with Coin 1 and I used that from then on, but still no luck. Eventually I decided to give up and call it a night.
As I lay in bed I thought about what could be wrong. The only thing I could think of was those bits marked “SPARE”. If Coin 2 could be mapped to one of the “spare” bits, maybe something else could be mapped to another one? I pulled up the schematic one more time and tried to see how the bits were mapped into the electronics of the game. I found this:
The signals going into pins 4 and 12 on chips E6 through J6 seemed to be a perfect match for the bits in the byte the code was testing. If that was correct, then look at the line connected to pin 12 of J6. Although that line isn’t labeled it doesn’t take a genius to follow the wire to the right and see that it is connected to a Quad DIP Switch and is labeled “Bonus Time”. I was pretty sure I knew what that meant and drifted off to sleep, confident that tomorrow would be a better day.
A Better Day
I woke up early and, after dropping the kids off at school, got to work. I pulled the board and found the DIP switch:
See how one switch is marked “B.T.” for “Bonus Time” and that it is pushed down on the side marked with the plus sign? That means it is on or closed. Since the schematic shows a closed switch there would be connected to ground that means that it would create a zero bit which is exactly the opposite of what we need to create the Easter egg. Seeing this gave me even more confidence. I flipped the switch and put everything back together. I was ready to give it one last try. If didn’t work this time, I was out of ideas.
“Bonus Time” was now off. I contorted my left hand to hold the Phasor and Start buttons down. I held a quarter in the Coin 1 slot with my right hand. I would have crossed my fingers if both my hands weren’t busy. I dropped the coin, and tried to be patient to let it make its way all the way through the mechanism and then I quickly let up the buttons with my left hand and slammed the slow control with my right. “Hi Ron!” appeared on the screen. First try.
I setup my camera and started it recording. Again it only took one take. Here’s that video:
Hallelujah.
Is it the First?
That leaves us with the final question: Is this the first Easter egg? As with most things, the answer is, it depends. Wikipedia defines an Easter egg as “an intentional inside joke, a hidden message, or a secret feature of an interactive work”. The website goes on to give examples in software going all the way back to the TECO text editor from the 1960s. Clearly we aren’t going to beat that.
So let’s ask if this is the first Easter egg in a video game? July 1977 is well before the release of both Adventure and Video Whizzball in 1978, so we clearly have a contender. As I did more research, though, I found this article which says a rare cartridge for the Fairchild Channel F called “Democart”, presumably released only for use in stores, displays the programmer’s name if three buttons are held down at the end of the demo. As you can see, it has a copyright of 1977:
Was it made before or after July of 1977? I don’t know. Does a non-interactive store demo meet the criteria for an Easter egg in a video game? I guess that’s up to you.
Maybe we just want to claim that Starship 1 has the first Easter egg in an arcade video game. In that case I only know of one other contender, but it dates all the way back to June of 1975. The game Anti-Aircraft II by Atari, which normally has the player shooting down passing airplanes, can be made to display UFOs instead by modifying the printed circuit board inside the game. Once changed, the screen looks like this:
Does a different set of graphics that can only be displayed by modifying the hardware count as an Easter egg? Around this time, Atari was doing business using two different names (the other name was Kee Games) and releasing slightly different versions of most of their games under each name. I suspect that the UFOs were meant for a Kee Games version of Anti-Aircraft and not something hidden in the ROM by its creators.
In my opinion, Starship 1 is the earliest arcade game yet known that clearly meets the definition of an Easter egg and the clever young programmer who put it there, Ron Milner, deserves our recognition and respect. Still, there were more than one hundred arcade video games released before Starship 1. Maybe somewhere deep inside one of them lies another even older Easter egg just waiting to be discovered. I hope so!
Amazing arcade archeology :). As for the interactive demo, I wouldn’t count it as a “game”, so as far as I am aware you did find the earliest known easter egg considering video-games (and for the UFO case, hard-mod of the hardware can be classified as many other things but I wouldn’t call it an easter egg, more like an “engineering task”).
Congratulations for the patience and time spent into it!
LikeLiked by 1 person
Another excellent article, Ed. One correction – Atari’s VCS Adventure was released in 1980, not 1978.
LikeLiked by 1 person
Hi Scott, There seems to be some disagreement on this but you are right that it probably isn’t 1978. I updated the article to make it 1979 which seems to be the consensus for the US release.
LikeLike
Great research and entertaining article! Glad
I could help
LikeLiked by 2 people
Thanks Ron! You are the hero of this story.
LikeLike
Great read. Entertaining. Learned some new stuff as well…
LikeLiked by 1 person
I can’t tell you how much I enjoyed reading your blog posts. Please write some more! Thanks.
LikeLiked by 1 person
This was so awesome! Loved it…great job guys!
LikeLiked by 1 person
Another brilliant post Ed. Can’t wait for your next arcade adventure! 🙂
LikeLiked by 1 person
I remember feeling like some sort of criminal putting the back door in my program. I knew that if it ever got out I would lose my job which I liked a lot. My boss, Larry Emmons, already had me pegged as a screw-up for various other mouthings off and shenanigans and something like stealing free games would definitely be the end even though I came up with vast numbers of great ideas. Who knows, I could maybe get tossed in jail if coin machine operators were losing real revenue. That’s why I never bragged about it till now!
I sometimes wondered if the programmer who did the ATM machines had a special sequence of buttons to push if he needed an extra $20 down the line. Or a Bally programmer setting up the slot machine to recognize a special sequence of coin drops and timed pulls to give him unbeatable odds. I’m glad I mostly designed hardware after Starship!
I knew the program would probably be looked over or modified by an Atari programmer at some point so I carefully hid the back door in the source code. If anyone actually still has the old source code archives it would be interesting. The ascii text for putting out “HI RON” was disguised in my source as a subroutine of strangely unexecutable code labeled “hir” to look innocuous and nothing else was commented. At that time text was all mixed in with the program code. Unfortunately I also quickly forgot the magic control sequence and only got to show off a couple times.
LikeLiked by 2 people
Hey, Ron, while you mentioned the 10 free games, Ed didn’t confirm that that was in the code. I would have thought the credits would have shown up on the screen or with a sound of it was there. Maybe your conscience did get the better of you and changed the code to just pop your name?
LikeLike
Harry Brown put a similar sequence in his Atari 800-based Vegas Poker game: http://www.ataricompendium.com/archives/interviews/harry_brown/interview_harry_brown.html
“In Vegas Poker there is a back door to the jackpot. The 2nd part of my plan, after these were installed all over the country, was to drive from bar to bar and win the progressive jackpot!”
LikeLike
Hey Ed, cool find! Here it is in the original source (gotta love octal and Atari’s weird assembler syntax)– I particularly how how he obfuscated the intended ASCII as instructions. 🙂
10$: LDX I,377
8$: LDA I,20
JSR DELAY
WDOG
DEX
BNE 8$
LDA A,SWA
CMP I,277
BNE 9$
PRINT HIR,200
LDA I,20
STA Z,CREDIT
JMP 1$
[…]
HIR: PHA
EOR I,40
JSR RDEC
LSR A,HPOSTBL+11
RTS
LikeLiked by 1 person
Thanks Clay! That’s fantastic to see the original source code!
LikeLike
Clay. Did you somehow find the original source code? That would have made reconstructing how to activate the egg a whole lot easier!
LikeLiked by 1 person
Yes– back in 2003 quite a bit of source was recovered and has been in use for various projects over the years. (It’s never been available online though.) Did you write the manufacturing test code as well, Ron? That’s the only piece that I can find that has a definite date (in the source). It says “Star Trek”, but based on the memory map the hardware is clearly Starship 1.
.TITLE STAR TREK DEBUG (STREK)
.SBTTL MAIN SECTION WITH ALPHA & MOTION TESTS
;REVISED 28-OCT-76
;NOTE BIT 6 OF SYNC MUST BE SET TO 1 INITIALLY BY NOT GROUNDING
LikeLiked by 1 person
Adventure didn’t come out until at least 1980, judging from catalog appearances.
Anyway, fascinating post! I loved Star Ship on the Atari VCS…I wonder if there’s a long-lost easter egg somewhere in there, too? 😛
LikeLike
Bob Whitehead did the VCS version, and he didn’t put Easter eggs in his games. I interviewed him back in 2005 and asked him that very question: http://www.ataricompendium.com/archives/interviews/bob_whitehead/interview_bob_whitehead.html
LikeLike
Excellent article, full of extremely interesting technical details. I really enjoyed reading so much that I also introducing it to some Greek fellows, here:
http://underground.iamretro.gr/index.php?threads/starship-i-1976-77-%CE%8A%CF%83%CF%89%CF%82-%CF%84%CE%BF-%CF%80%CF%81%CF%8E%CF%84%CE%BF-arcade-easter-egg-%CF%83%CF%84%CE%B7%CE%BD-%CE%B9%CF%83%CF%84%CE%BF%CF%81%CE%AF%CE%B1.8161/#post-131487
Congratulations for the patience to share it. Your passion for old arcades is really admirable!
LikeLiked by 1 person
Love all this stuff Ed. Great work.
LikeLiked by 1 person
Ready player one?
LikeLiked by 1 person
Nice story and as said before respect for your patience in solving this mistery.
And you are right, Ron is kind of a hero.
LikeLiked by 1 person
Clay, I dont remember writing any test code. Im surprised there was rom room for any. It was probably Dave Stubben. Dave was a new engineer just hired by Atari and his first assignment was to go spend a couple weeks in Grass Valley (Oct 1976) and bring the Starship prototype wirewrap game down to Los Gatos and turn it into a PCB and product. Dave later became the head of coin-op engineering.
LikeLike
I remember this cabinet but not this game, what were the popular games this cabinet could later accommodate?
LikeLiked by 1 person
You might be thinking of this game: http://www.arcade-museum.com/game_detail.php?game_id=7568.
LikeLike
Bet it felt like a treasure hunt : ] Amazing work though!
LikeLiked by 1 person
This was a fun read! It was great seeing the effort and reverse-engineering behind this effort – and I like the comments by the original code author, Ron Milner.
To his speculations, I would say that any “easter egg” hidden in a slot machine or an ATM would probably land you in a world of trouble from the get-go if found (let alone used) – so I doubt that anyone has snuck anything into either (but who really knows – if they did, they’d be fools to try and use it!).
As far as this being the earliest in an arcade machine? I guess it could be, but given how many other games there were prior to this one, it makes it less likely.
Also – I would define an “easter egg” as something hidden that could be triggered by normal controls available to the user (so no mods to the circuit board). This one comes close to not being an easter egg by that definition, because of the DIP switches. But since those were put there intentionally, and allowed to be set by the operator, I’d consider it valid.
LikeLiked by 1 person
I really enjoyed reading this! It brought back a lot of memories. Thank you for sharing the fun!
LikeLiked by 1 person
The comments are as worth reading as the article, I can’t believe someone actually has the source code after several decades!
LikeLiked by 1 person
I wouldn’t consider the Anti-Aircraft II modification to be an easter egg. An easter egg is meant to be found, where as that is something that isn’t meant to be accessible at all and was done for manufacturing purposes. It’s more of a “mod” or a “hack” in video game terms. I group it along with things like game shark hacks, hot coffee mod (GTA), or CPU overclocking that requires cut pins. Things that were not just hidden but never intended to be accessed at all and are accessible through unintended modifications of software or hardware.
LikeLike
There was at least one other game in this cab – I think it was Depth Charge or a sub-game variant – we had it at the Seattle Pinball Show in one of our last shows before moving to Tacoma (current annual location: http://nwpinballshow.com) – that cab had blue fiberglass instead of the white like SS1 has, though. At the time I definitely recognized the cab as the same given playing a ton of SS1 back at good ol’ Sunshine Pizza, which was one of the first places in my outside-PDX hometown to get video games….
LikeLike
Maybe Destroyer? http://www.arcade-museum.com/game_detail.php?game_id=7568
LikeLike
Fantastic find. Thank you so much for contributing to our history.
LikeLike
Hi Ed, I’m an EE who loves classic video games and I have to say your stories are by far the most interesting I have ever read. Your attention to detail is amazing and every adventure is fascinating and incredibly engaging, as if we were right there with you trying to solve the mystery.
Please keep up the good work!
LikeLiked by 1 person
Ed – fantastic work! I created the first MAME driver for Starship 1 back in the early 2000s. Seeing the “HI RON!” in the rom image seems kind of familiar – If I noticed it back then I certainly didn’t realize it was part of an easter egg, let alone a first one! I’m currently updating MAME to make sure the Starship 1 driver is as accurate as possible, including fixing the problems you noted. I think it is historically very significant because aside from the easter egg – as far as I know it also contains the first (patented) “sprite-scaling” circuit, as well as being the first “first-person space sim.” I remember playing one as a kid and being blown away by it. 🙂
LikeLiked by 2 people
This was a fantastic read! The chase scene after receiving the real console was like Hollywood, no kidding 🙂 My vote, it’s an egg and, until further investigations, it’s the first in a video game. Thanks for the great replies, too!
LikeLiked by 1 person
Thanretro ksthe best arcade archaeological atical I’ve ever read, and a great read.
I would have loved to have chatted during my 15 years in games, but still prefer playing and porting the early 80s arcade games to the 6502 based BBC micro.
The retro arcade scene seems well established in the US and I hope it keeps growing here in the UK to.
LikeLiked by 1 person
Mr. Fries.
Very interesting article. In looking up the first Easter egg for a videogame, I came up with a possible contender. Exidy’s Starfire. Apparently, if you input certain intials in the high score list at the end you get a message that’s says ” Hi Susan” or something like that. I found an image of the Manuel for the game and it said April 1978 on it I believe, just beating Adventure by months( which I believe was released in December of 1978) But..it seems that Starship One trumps them both, possibly.
Thank you for the article.
Drew
LikeLike
Thanks Drew. Here’s more about Exidy Star Fire: http://www.arcade-museum.com/game_detail.php?game_id=9758. Apparently it has two different messages depending on the initials. The link I gave lists the date as January 1980 but I found the this: http://www.americanradiohistory.com/hd2/IDX-Business/Music/Archive-Cash-Box-IDX/70s/1978/CB-1978-12-02-OCR-Page-0054.pdf#search=%22exidy star fire%22 in Cash Box Magazine from 1978 that says the game will be shipping in December (of 1978), so I think your 1978 date is correct. Starship One is definitely earlier (July 1977 as documented in the article) but yours is another fine addition.
LikeLike
It seems that someone finally found an earlier easter egg… Spitfire on the Channel F, was out and being advertised by April 15, 1977!
https://selectbutton.net/t/i-found-an-easter-egg-from-1977/8828/9
LikeLike
That’s amazing!!
LikeLike
It seems unlikely that I am the first to think it’s not 10 free games, but rather 16 (#$10 in 6502 is 16)?
Even the source code says 10 free games…is this a case of comment error?
Or maybe the 6502 is in BCD mode when this code is run?
Thanks for the great article!
LikeLike
I think you are right that it’s 10 (hex) free games, but BCD is a possibility. This has been pointed out before, I just haven’t gone back to check it out. Thanks for your comment!
LikeLike