F/A 18 Interceptor – The Amiga Classic from Bob Dinnerman

My all-time favorite flight simulator was F/A 18 Interceptor from Electronic Arts. With its “Top Gun-ish” opening credit soundtrack, the mood was set for quality visual combat. I still own it and here are some photos of my Electronic Arts classic album version, an interview with creator Bob Dinnerman, and a 25th Anniversary tribute.

2004 Interview with F/A 18 Interceptor Author Bob Dinnerman by Tom Steinberg.

In the late 1980s, a flight sim was released for the Amiga which was so atmospheric, so unbelievably cool that to this day it holds a special place in the heart of most nostalgic 20 and 30 something geeks. Its enduring appeal is different from that of PacMan or Pong – people still really love this game. That’s why there is a usenet thread nearly 13 years long discussing how to finish the last mission. That game was F/A18 Interceptor, and it was programmed by Bob Dinnerman.

Now, for reasons too socially tragic to confess to, I’m bringing you the world’s first, and only, Bob Dinnerman F/A 18 Interceptor Interview. I’m really delighted that Bob chose to take part, and I hope that all of you who loved Interceptor will express your gratitude to him in the comments field below. Now read on…

Me: For some background, can you tell us a bit about why you wrote F/A 18 Interceptor, and what happened during the development process?

Bob: After writing the arcade game Discs of Tron while working at Bally/Midway back in the early 1980?s, I started to explore 3D computer graphics and flight simulation and quickly became hooked on it. While attending my first SIGGRAPH conference in 1984 and viewing some demos of high-end flight simulation being developed at Evans & Sutherland, I was totally awestruck and tried to decide if I should pursue a position with a company doing some kind of 3D computer graphics application or to try to be an independent developer. After finding no companies in my geographic area doing anything that I was looking for, I was approached by game developers that I met at SIGGRAPH who asked me if I?d be interested in developing a combat flight simulation game for the Amiga computer. ?PERFECT!?, I thought and being a single guy (then) and able to take risks I wasted no time striking up a development deal with them, immediately gave notice to Bally/Midway, purchased an Amiga 1000 (my very first computer!) and began developing a basic flight simulator. We showed a very simple demo to Electronic Arts and almost immediately obtained a development agreement for a combat flight sim game. From that point I was totally devoted to the development putting in a huge number of hours designing, programming and debugging which really wore me down, but hey, it was most definitely a labor of love. And so… After all the years following, developing combat flight sims, it turns out that I truly derived the most pleasure in developing F/A-18 Interceptor over any other.

Me: To what do you attribute the sensation of flight and speed that people still say made Interceptor unique?

Bob: One thing that I strived to maintain was accuracy of visual scale and not resort to faking reported airspeed or altitude as has been done with other flight sim games in an attempt to cover for certain graphics limitations. Does this help to convey a better sensation of flight and speed?… Perhaps. But another possibility might be in how the engine sounds were manipulated in concert with the visuals.

Me: To me one of the most striking and memorable aspects of Interceptor are the sound effects. When I played it again yesterday I was amazed by their enduring quality. How did you create these? Why do you think they remain so powerful? And what inspired you to add in the little bump, and change of volume when you pass the sound barrier? This seems to be everyone’s key memory of the game.

Bob: In the ever-challenging attempts that I made to add to the experience as a whole, I tried to keep mindful of the importance of quality sound effects and their careful tie-in with the visuals. Dave Warhol takes credit for creating the base sound effects data of which I incorporated into the sim and manipulated during game play. One thing that I was sensitive to was to minimize any potential, well let’s say, ‘irritation’ that might otherwise result from the constantly playing engine sounds, and believe me… I sure got quite an earful of them during development! With that, I tried to coordinate the various engine sound parameters (pitch, rumble and volume) with the throttle and stick actions not only in such a way that seemed ‘right’ but also to help the player ‘feel’ the speed and maneuvering. My inspiration to add the little bump and volume change upon breaking the sound barrier were desperate attempts to find ANYTHING possible to help out in the experience and prevent potential monotony. I derived the avionics tonal effects from the film TOP GUN. Interestingly, with Interceptor’s aggressive development schedule, I do recall being concerned about the amount of time I was spending on the sound effects, but I like to believe that the time was well spent and contributed significantly to the game as a whole and helped it endure through the years.

Me:Why do you think people who don’t play modern flight sims much still have such a strong affection for it?

Bob: Back to basics, maybe. Perhaps many people develop an attachment to its approachability since it’s relatively easy to learn and one can quickly dive right into a fighter jet and do anything from stunt flying aerobatics, to intense dogfighting, to landing on a carrier deck. Since many hard core sims require lots of complex controls and setup just to get into the air they can cause much frustration for many, while Interceptor on the other hand, offers a non-intimidating sim/game mix.

Me: How do you feel about the fact that Interceptor can be downloaded and played on emulators?

Bob: I’m totally gratified that people find Interceptor worthy of being downloaded and played after so many years especially in light of its rather rudimentary visual content by standards constantly increasing over time.

Me: Who wrote the memorable music, and was it a tribute to anything in particular?

Bob: Dave Warhol created the excellent musical score for Interceptor and from the day he first presented it for consideration until the present, I’ve always remained totally pleased with it. I had requested Dave to try to convey the atmosphere to that of the music in the film TOP GUN which was at that time still a relatively new hit movie and he certainly did an exceptional job.

Me: What do you think of today’s game production values?

Bob: Aside from the ever-continuing advancements in technology that get incorporated into game hardware and software, and since game production in recent years have been tending toward development by larger teams, acquisitions of licenses galore and having enormous production costs, there has been quite a shift in game production values from those of years gone by with so many creative concepts toward sticking to a few proven successful concepts and creating clone after clone. I would love to see a resurgence of more creativity and diversity. Risk-takers are indeed developing creative and unproven concept games out there and I certainly hope that the trend shifts more toward that direction.

Me: Getting silly now. Do you think modern games have enough use of that scrolling effect where text appears one letter at a time, accompanied by little electronic ticking sound? If not, could you see yourself using the effect again?

Bob: Well, I never seem to tire of seeing/hearing that techie-type effect ever since I originally saw it done on some sci-fi films, which is what inspired me to do it in the first place along with, by the way, the computer-type font that I put into Interceptor.

Me: What /exactly/ is required to complete the last mission with the enemy aircraft carrier. Nobody who has ever done it knows exactly what they did.

Bob: Ah yes, the ‘infamous’ last mission of F/A-18 Interceptor… As far as what I believe I did, the destruction of all enemy aircraft plus the enemy sub and a successful return to base should do it. I must note though, that the enemy carrier sub never actually blows up even if it’s deemed destroyed! However I’m admittedly a bit remiss on exactly what constitutes the carrier sub having been destroyed, that is, perhaps the minimum number of cannon or missile hits on it, etc. I apologize for my brain lapse on this detail from 15 years ago! Another detail that I’m curious to know is if after one elects to and successfully lands on the carrier sub and gets rearmed/refueled, can he/she resume the mission and blast away at the carrier some more?! Some day I should find and dig up the code, go through it and verify what conditions are required to complete that mission. Again, my humble apologies. A footnote: Maybe the elusiveness to being able to complete this mission (though unintentional) has contributed to the game?s lure??

Me: Was yours the first flight sim to incorporate the now ubiquitous Golden Gate Bridge? Do you believe that flying under the Golden Gate has become a prerequisite of a good flight sim?

Bob: I think that the Golden Gate Bridge may have existed in an early version of Microsoft/SubLogic’s ‘Flight Simulator’ or ‘Jet’, though I do believe that F/A-18 Interceptor was the first COMBAT flight sim to offer flying around that ubiquitous bridge, which by the way I fondly recall modeling using graph paper and a pencil and entering lots and lots of numbers into the code. As far as flying under it being a prerequisite of a good flight sim, I can think of no better prerequisite than that except perhaps flying under it while inverted!

Me: Are there any Easter Eggs in the game world worth tracking down?

Bob: By now I?m sure that in the last 15 years anything that?s in there has been seen or done, but to recap some include the ability to land onto the enemy shadow sub to get refueled and rearmed, landing upside down on the carrier, landing onto roadways and driving your jet around the San Francisco area to track down the good old Electronic Arts Headquarters building and using it for target practice, but I also enjoyed ‘buzzing’ control towers or the carrier?s conning tower and switch to viewing from that tower and zooming in/out the view of my aircraft while launching ordnance.

The widely known ability to select [0] for the “Free Flight, No Enemy Confrontation”, which places your jet on the ground without a runway was originally intended to be another starting location (at Edwards Air Force Base) but I didn?t have enough time to finish it. Leaving the ability to take off from there in the game was, I believe, not intentional but… no harm done.

Me: My friend Jack asks “Do you think that in your game, Strategic Air Command was slightly laid back in sending out just one pilot in response to international emergencies such as intercepting MiGs attacking Air Force One?”

Bob: Or perhaps it was just that certain SAC officials weren?t overly fond enough of their Commander-in-Chief at that time to warrant sending out more??

Me: Jack’s most powerful memory of F/A 18 was playing on the day when his dateline for the first mission, September 01, 1994 (a futuristic date when the program was written in 1989) became the present day. Can you remember what you were doing?

Bob: Well, regretfully I?m fairly certain I wasn’t playing F/A-18 on that day. I was most probably too wrapped up gruelingly trying to work out some feature or bug fix while developing JetFighter III, though I’m sure I would have VERY MUCH preferred firing up F/A-18 on that day had I realized what day it was L.

Me: TedTheDog, founder of UK gaming community Barrysworld asked you if you “intentionally wrote the game so idiots like me and Mikeybear could land upside down on the carrier (thats a REAL mans carrier landing!)”

Bob: Very close to the end of the game?s development that ‘funny’ bug was brought to my attention and a few of us debated whether or not to just leave it in (fear of messing with the physics too soon before shipping). The obvious outcome of that debate was considered a bit risky at the time but now I’m glad that I left it in there!

Me: And finally for the question we’ve all been waiting for. Will there ever be an F/A Interceptor 2?

Bob: Publishing and marketing an F/A-18 Interceptor 2 is totally up to the owner of that franchise, which, as far as I understand, still belongs to Electronic Arts.

Hazel and Kindle Comic Converter Automation for Kindle Reading

ExcitingI like to read comics on the go, and there is no easier way to tote them than on a Kindle. The preferred tool of people who like to convert comics for kindle reading is Kindle Comic Converter. It has a nice GUI interface and after conversion from .cbr or .cbz to .mobi format, you can e-mail it to your kindle. This works great for most readers, but I prefer a more automated method for getting comics comverted and onto my kindle. As soon as a comic (.cbr or .cbz) file is downloaded or placed in a specified directory, with no more action on my part, it is automatically converted to .mobi format and e-mailed to my kindle.

This guide is for Mac users that have Hazel installed. If you own a Mac and aren’t using Hazel, you are denying yourself the true power of Mac automation. I highly recommend it. Assuming you have a Mac and you have Hazel installed, let’s begin.


Install homebrew, python 3, and KCC dependencies:

Depending on what version of macOS you are using and what you may or may not have installed previously, your mileage may vary on this first part. It may require some tweaking, googling, etc. I have tried to include as much info as possible to at least give you a frame of reference for what needs to be done before we can use the command line Kindle Comic Converter.

Open Terminal
mkdir KCC-Process
cd KCC-Process

/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

brew update
brew install python3
brew linkapps python3
pip3 install –upgrade pip setuptools
brew install psutils *OR* pip install psutil
brew install slugify *OR* sudo pip install python-slugify
brew install homebrew/python/pillow *OR* pip install Pillow
brew install unrar
cd other/osx
sudo cp unrar /usr/local/bin (so KCC can find it)
brew install homebrew/binary/kindlegen

The conversion will take place in the using the Kindle Comic Coverter command line tool, so download the KCC package from GitHub (https://github.com/ciromattia/kcc/). Unzip the package into KCC-Process directory.

Set your hazel rule for the KCC-Process directory.


Your shell script will look like this. I am using the KV (Kindle Voyage) profile.

ORIG_FILE=$(basename “$FULL_PATH”)
python3 kcc-c2e.py –profile KV “$ORIG_FILE”

Now any cbz or cbr file dropped into the KCC-Process directory will be converted to .mobi format ready for your Kindle. If you want to automate the next step of e-mailing the .mobi file to your Kindle, you need to create an Automator script like this.


Then add the script execution to a Hazel rule. You can have the rule activate in the KCC-Process directory or you can do as I do, and move the newly created .mobi from KCC-Process to a directory called Kindle-eMail where this Hazel rule will e-mail the .mobi to your Kindle of choice.


If you want more ideas or guidance on using Hazel, I recommend David Sparks’ Hazel Field Guide.

30th Anniversary Celebration of the Amiga

I made the journey to Mountain View’s Computer History Museum to join in the celebration of the 30th Anniversary of the Amiga. The turnout was tremendous and I got to meet and talk to a lot of the original Amiga developers. RJ Mical and Dave Needle gave an intriguing and fun talk on the history and antics of the early days of the Amiga.

Turn Your Amazon FireTV into a Commodore Amiga

This tutorial will enable you to play your favorite Commodore Amiga games or run your favorite Amiga apps on your Amazon FireTV. It will take a little bit of off-roading to get it to work, but it won’t be difficult. Since you are going to be creating an Amiga, you will need a mouse & keyboard for UI (I recommend the Logitech k400 Keyboard that SamsClub sells anywhere from $10-$30). The FireTV game controllers work great with Amiga games. Pics of my playing Hybris with the FireTV and game controllers are below.

On your computer, download the uae4all Amiga Emulator from here.

The process we will be using is called “sideloading”. Sideloading is how developers test their apps on the FireTV.

Turn on Development Mode on your FireTV under settings (Settings>System>Developer Options>ADB debugging on & Apps from Unknown on)

Install the Android Development SDK Tools on your computer (not the FireTV). You can find them here. Scroll down to the bottom of the page and find the SDK Tools package for your particular type of computer. The important part is the program ADB which moves your apps from your computer to your FireTV. You can find the adb tool in dir /platform-tools/ . The best thing to do is create and android directory on your computer and move the ADB program there. Put your amiga emulator .apk file and .adf disk files in the same directory. This will make your command line entries easier.

Make sure your FireTV is connected to your network. Get the IP of the FireTV. To do this go to settings>system>about>network and write down the ip address.

On your computer, open up a Terminal window and enter the directory containing adb (and the uae4all .apk and .adf files) and enter these commands

./adb kill-server
./adb start-server
./adb connect Your.FireTV.ip.address

You will see a message “connected to firetv.ip:5555”

You are now ready to install your amiga emulator.

./adb install -r uae4all2-sdl-

Now install the free app ES File Explorer on your FireTV with the same method so you can move your .rom and .adf files to their directories. You can get ES File Explorer here.

Your uae4all Amiga and ES File Explorer apps will appear in your Settings>Applications listing. They will not appear on the main screen shortcuts.

Next you send your Amiga rom file and .adf files with the command:

./adb push kick13.rom /sdcard/Android/data/pandora.uae4all.sdl/files/kickstarts
./adb push Workbench.adf /sdcard/Android/data/pandora.uae4all.sdl/files/roms

* you can find the kickstart .rom files from various places on the net. Google is your friend.
* roms directory is for .adf files.
* keep in mind that depending on the version, the pandora.uae4all.sdl directory name could change. Just drill down with ES File Explorer to confirm directory names if you have a problem.

You are all set, start the uae4all Amiga Emulator from your Settings>Applications and pick your .adf and .rom files. Happy Amiga 30th.

CommVEx 2015

We were celebrating the 30th Anniversary of Bil Herd’s masterpiece, the Commodore 128 at CommVEx 2015 in Las Vegas this year. Bil Herd showed some slides of awesome hardware that was never released by Commodore. Then Bil Herd and Leonard Tramiel answered all of our retro questions. We learned that Commodore founder Jack Tramiel actually walked away from Commodore during CES in 1984, not a few months later as was always believed. The disagreement with main Commodore investor Irving Gould that caused his exit was also revealed. Leonard Tramiel explained that his father was angry that Gould was using Commodore funds as his personal piggy bank.

Install Python 3 & Pygame on Mac OS X Yosemite

This tutorial has been updated from Mavericks to Yosemite. I have tested it and it works perfectly.

Install the Xcode Command Line Tools from Apple. Apple now provides an official Command Line Tools for Xcode package that you can install without needing to install Xcode itself. You can install it with xcode-select –install on Mavericks and Yosemite or download it from Apple’s developer site (free registration required) and search for “Command Line Tools”

Install Quartz from here

Install Homebrew and necessary tools:

ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

brew update

brew install python3 (this currently installs version 3.4.3_2)

brew install mercurial

brew install sdl sdl_image sdl_mixer sdl_ttf portmidi
brew tap homebrew/headonly
brew install smpeg

Clone the pygame repository:

cd /Users/YourName/Downloads
hg clone https://bitbucket.org/pygame/pygame
cd pygame
cd src

Copy this file into src, replacing the one there.

Install Pygame:

/usr/local/Cellar/python3/3.4.3_2/bin/pip3.4 install /Users/YourName/Downloads/pygame

That’s it. You can test your install by opening idle3 app located in:
then type: import pygame [hit return]
if there is no error, you were successful.

If this tutorial helped you, please follow me on twitter @dudeslife .

Contemporary Programming & Software Design

Another programming course frequently advertized in Compute’s Gazette or Compute Magazine was McGraw-Hill’s Contemporary Programming and Software Design Series. Their catch phrase was Make Any Computer Do Exactly What You Want. I have archived all 10 modules for the Commodore 64 or 128 here. In the photo gallery below I have included the full page ad that you would have seen in Compute or Compute’s Gazette.


Step by Step: An Interactive Course in BASIC Programming for Beginners

I always saw Step by Step: An Interactive Course in BASIC Programming for Beginners from PDI advertized in the pages of Compute’s Gazette. There was a Step by Step Two for the Apple II advertized in Compute magazine but I have never seen one in the wild and I am not sure if Step by Step Two was ever produced for the Commodore 64. I have archived the entire package here. In the photo gallery below I have included the full page ad for Step by Step that you would have seen in Compute’s Gazette.