Apple Computer & Atari 1980-1984


Apple Computer

Joe Ennis Joe Ennis is an odd sort of fellow, one of a few that I met at Softape. He is the best hardware designer on the planet. He created Bright Pen “The intelligent light pen”, hardware and software for the Apple-II to be distributed through Softape. Joe has that kind of bipolar personality that reminded me a lot of myself when I was older and don’t let that warm friendly smile fool you, there is a tiger underneath with a heart as big as Montana. We would regularly argue over how to code a given routine and the results of our bickering always produced the best code.

Apple Article Joe had shown me an old Dr. Dobbs paperback article on a reverse linked list that reused earlier entries as needed for amazing text compression. I took the article home with me and brought a working version for the Apple-II the next day to work and Joe was amazed that I did this in one night. He thought that I was the best coder on the planet. If I am into a concept or idea, I will put something together very quickly to see the results.

Service Engineering @ Apple

Joe was hired by Apple Computer in the Service Engineering department. About 6 months later I got a phone call. “Hey Steve? How would you like to fly up and interview for a job with Apple?” Hell yeah! I was hired by Apple, they moved me and my family to Cupertino and put us up in a Hotel, while finding an home for rent. This made me a happy camper and now I had access to the innermost listings. One task was a Confidence Disk that contained many test programs for the Apple-II. Testing its hardware and Disk software. I wanted to make something that could help you determine if a given floppy disk was on the edge of failure. Magnetic field loss was commonplace, and sometimes hours or days worth of work would suddenly become unreadable. But what I discovered, shook Apple’s assembler world.

EDASM Assembler

Apple Assembler Apple had their own assembler, EDASM, created by John Arkley. It was disk based and I switched over from my assembler to the company’s version. It worked great for many months until my disks were failing left and right. After one opcode change in my code and suddenly, after assembling the code, the disk would be unreadable. I changed the faulty opcode and the problem would go away, but I really needed the opcode that destroyed the disk and I narrowed it down to where the binary object code was written to the floppy. Using a disk sector display program, I could see that EDASM was overwriting the address marks for the following sector if a certain group of opcodes were being outputed. I was concerned and relayed my findings to John’s attention along with the sample disks and the special sequence of opcodes that produced the disk error. His reply was immediate, “There is nothing wrong with the assembler, must have been an error on my part“. No way John, just look at these disks and let me know later. About 2 weeks later I got a call from John, “You were right, I don’t know why, but the following address marks were blown away during the binary write on the previous sector.” He asked me if I would help him design, code, and debug a new assembler for Apple. That is when the ProDOS 8/16 Assembler was born.

Apple Motherboard

Reset Tracing

Joe had this brilliant idea on how to fix Apple-II motherboards down to the chip level. Reset tracing involved resetting the processor and at every clock cycle, saving the current status of the Data and Address lines. He designed and built a test fixture that could clip on the IC being traced, and tie each pin of the IC High, Low, or Open. Reset tracing tracked the IC while the computer was booting up from ROM and the GOLD trace image was compared at each clock cycle to the IC and any difference would be saved in a Fault list for that IC. This looked awesome and we could take a pin out of any IC in the computer and run this test and out would pop “IC8 – pin4 – tied high”. We developed all of the Fault List Image reset tracings for every chip. Apple was very pleased and then it was time to release this to the Apple Service centers. That is when reality hit us!

Most of the service centers at the time would have a few motherboards in its stock. They were handswapping the chips out until the broken system came to life again. Pretty soon, motherboards had multiple bad chips, making all of the GOLD Image and Fault lists useless. Great idea gone bad from real life technicians and the way they fix problems. But the concept was still valid for testing the customer’s Apple-II computer and I was next assigned to the Parallel Printer Port test fixture using this concept and it worked like a charm.


Apple Defender

I got a phone call from a headhunter working at Atari. The 5200 system was being released and they needed game programmers. Apple was a great place, and in hindsight, I should have stayed, but Atari’s offer even made my co-workers and management tell me to go for it. I could work at home and would be paid twice what I was currently earning at Apple. In addition, every game released, would earn me 10 cents per cartridge royality and $50K bonus when the game was published.


Apple Defender My 1st project for Atari was coding Defender for the 5200/800/400 Atari systems. Atari had a PDP-11 host with scores of video terminals and one line printer. The throughput was very slow with dozens of programmers working on their own games. I decided to use my trusty Apple-II computer and a EPROM burner to create games for the 5200. I would assemble, burn EPROMs and plug them into the T-card for testing. This worked out very well for me and Atari was happy. Defender came out with flying colors. This was my 1st 5200 game using Atari’s display processing system. I even got to chat a while with Eugene Jarvis, the original programmer behind the arcade game. He let me in on a little known secret. “Fly past the swarmers and quickly flip around behind them and pick them off one at a time. Swarmers do NOT fire behind themselves.”


Since I had done so well on Defender, Atari wanted Stargate next. I looked deeper into the Display list functions and created a new method of using two players, single line color, and a unique twin queue for drawing objects to the screen.

This combined with the bitmap graphics modes allowed me to do things that were light years beyond what the other 5200 programmers were capable of duplicating. Even the oldtimers would look at my game and say, “How in the F#@# did you do this?”. Most games were limited by the number of vertically crossing players. Stargate had dozens of players crossing each other vertically. The power of my twin queue was easily apparent. When I handed Atari the final T-card with Stargate on it, the programmer turned manager asked for my badge. What? What is going on here? That was the end of Atari. They were trying to fire, by any means, all of the programmers working at Atari. Sad to say Stargate never got released, but I was happy I pushed the hardware to its limits.



After I had a well earned vacation, my next task was doing MIDI sequencer software for Apple-II and Commodore 64 systems for Passport Designs. My knowledge was now opened up a whole new area of hardware for me to learn. I was a musician, played guitar and some keyboards. I was using the software I ported to make my own songs. My MidiPlayer was similiar to a media player’s skins of dancing graphics in sync with the MIDI song being played. I enjoyed learning about programming the FM synthesizer chip at the hardware level. My instrument editor had my own graphical interface to the hardware where I could model a full set of instruments with as close a sound to the original instrument. Brass sounded like brass, same for woodwinds and all of the other MIDI controlled instrument tables.

Next Chapter > D.C. Heath & Company 1985-1986 Top