After about a year I was programming in 8080 assembly language and wrote lots of little games that used the cheezy 16x64 graphics of the Polymorphic video board.
I wrote a program called EZ-80 that taught the Z80 CPU and emulated some of the instructions. My dad had a computer software business selling development software (PDS, for program development system) and he handled selling the EZ80 program for me for $25 a copy. This would have been about 1978 or so I think.
When I was 13 or 14 my dad and I wrote the Comstar North Star Basic compiler, which we sold for $400 a copy, since Microsoft was selling their basic compiler for that much.
I got into digital electronics when in 10th grade, and I first built this monster graphics board that had 256x256 resolution in 16 colors and could draw 16x16 pixel objects to the screen. It used 4116 dynamic ram chips. The board was made totally with 7400 series chips and there were hundreds of them. It also had a look up table but I think the color outputs were only digital.
Later I built a neater board using the video drams with the big shift register. It had a sprite capability where you could define a sprite as a series of dx,dy and color triplets, each 1 byte. You'd set up the location in sprite memory where you want to begin reading, and X and Y locations for the sprite, and it would get blasted to the display at around 4 million pixels per second I think. I had this neat demo where the artwork of the running man from the C64 game Impossible Mission was duplicated 100's of times. Looked pretty cool.
I also built a 16 voice wave table synthesizer. It used stereo 12 bit D-A converters and had 64K of sample memory (8 bit samples), yielding 256 waveform tables. The sampling rate was 250,000 HZ.
Mostly I built these things then didn't write neat software to use them. There was the problem that any thing I made wouldn't be of any use to anyone but me and my friends who messed around with the stuff. If I had gotten involved with the C64 and used their hardware, I could have made some $$$.
I graduated from Pasadena High School in 1984. I went to UC Berkeley for two years before leaving that institution in 1986 or 1987. I pretty much quit school entirely. During the summer of 1986 I worked at JPL, the Jet Propulsion Laboratory, in Pasadena, CA, in the Radiation and Effects Testing group. This was a place where they'd take standard military chips (7400 TTL, cpu's, whatever) and pry off the tops to expose the silicon, then build a test board around it to put the device through its paces, and expose the device to radiation from the cobalt-60 source. I did some PC programming for a pattern editor that, my first experience with programming the PC and I learned the C programming language on a Friday afternoon by reading the K&R book cover to cover.
I lived in an apartment in Berkeley with a friend, hanging around while my friends went to college. I had bought an Amiga in 1986 and I played around with this quite a bit. I wrote a complete game called Popman which was a clone of the coin op Lode Runner game made by Irem corp. I sold this myself through mailorder, no advertising to speak of, and sold 10 copies or so for $20 each.
In 1988 a company in Michigan called Incognito Software called and wanted to publish the game under the name Targis. I said sure, I wasn't doing too well myself. They had a box made that looked like a kid drew it with a crayon, and they sold maybe 2000-3000 copies. I never really saw any money from that.
I set up a deal with those guys, and in Febuary, March and April of 1989 I took a vacation to Australia. There was a 5 day stopover in Tahiti and I stayed with a Tahitian family gratis. It was a wonderful experience. In Australia I met up with some friends from college and we bought an old Holden. It's their equivalent of a Ford, and it was a 1973. It had the 3 in the tree shifter, steering wheel on the right, driving on the left side of the road. We drove up the east coast. I learned to scuba dive on the Great Barrier Reef off of Cairns. We turned inland to Alice Springs and Ayers Rock, then south to Adelaide, then along the bottom to Melbourne and back up to Sydney. I left and my friends kept the car and drove around Western Australia. I stopped in New Caledonia, then had another stopover in Tahiti.
Then I returned and got back to work. I went back to Michigan and began working there with Fred and Doug, who were both completely non-technical, and I solved a lot of their problems on ongoing projects. Fred and Doug had started the company by each borrowing $15,000 from their parents.
It turned out those guys were both incompetent and borderline criminal. Criminal in their accounting and in lying to creditors such as the company that did the duplicating, the company that did the boxes, etc, etc, etc. They did put out one pretty slick title called Kingoms of England, and the box was really slick, but I think the game died. It was written mostly by Brian Vodnik, and it was very similiar to Defender of the Crown. I did a lot of low level support stuff for the game, provided compression routines for the graphics and animations, wrote a substitute Amigados library that the game called instead of the real dos (the game booted directly into the game, with a nonstandard boot disk, and amigados was never loaded, I just had exec.library to work with, and graphics.library and intuition.library). I also did the copy protection and the animator that played the dpaint2 animation files the game showed during intermissions. I had to compress all the stuff down to fit on 2 disks. The copy protection was fun--all we did was to write 13888 words on a track (the standard Amiga couldn't write this many but it could read that many from a disk). The way we did our first batch of 100 disks was by openning up a disk drive and with thumb friction slowing the drive down while you operated the mouse with the other hand. Green lights would come on when you got it right, and you could eject the disk and insert a new one.
I would say that was the hardest I had ever worked up to that point. I was 22, Doug was 21 and Fred was 23. I believed in the company and I was having fun, I really hoped money would come rolling in. As is common in the industry it never did. Other people's horror stories make mine sound trivial though...
After Incognito Software fell apart owing me about $3000 I was kind of low on funds. I got some work for a guy named Ron Haines, who wrote a slick copy program called RawCopy I think. It was a parameter copier and as it copied from one drive to another it would determine what was being copied, look up in its list of parameters, and it would patch the game in transit to remove the copy protection. Ron liked type-in-the-word protection best, and he liked the requestor or whatever to appear, and people could either hit any string or just hit return, and it would work--that way people could see what they were getting for their money.
I got $50 for each crack. That was really fun work, looking into the mind of the programmer trying to figure the stuff out. It's a great way to learn new programming tricks, and stuff about the hardware as well. I had my own debugger, assembler, editor, terminal program (the debugger could send its output through the serial port just in case the game trashed the display). It was a really cool system and I kept adding bells and whistles as needed. Some of the cracks were particularly difficult.
The hardest one was Populous for the Amiga. It had some wicked protection where they would turn on the 68000 trace mode so that after each instruction executed, the cpu would go through the trace vector. The handler decrypted the next instruction and re-encrypted the previous one. There were about a dozen loops that decrypted the next 500 bytes of code, the finally there was a section that needed a key to decrypt the entire file. The key it used came from banging some hardware registers and the timing was critical. I couldn't keep control of the CPU and also get a valid reading--the overhead I added by putting my hooks into the code screwed up the timer. It was a 32 bit number.
I figured out the number because I knew some things about how the number was used, and I knew some things about what the first couple of longwords had to be. I then wrote a program to run through all possible ones within a certain fixed range, and after a while it spit out the valid key. I ran the decrypt code section with this key, and populous appeared, a normal Amiga executable that the loader would then load and run. It was a great thrill to see the familiar "GAME OVER" and "BIMNEPEND" text strings appear in the hex dump. Ron gave me $300 for that crack and it took about 4 days of non-constant hacking. I say again that that work was some of the most enjoyable and satisfying I ever did.
About this time I got involved with 360 Software (which sometime in the 90's went down the drain after circling it for a long time). I did the Amiga version of Harpoon, a naval war simulator. The original was done on the PC and I used a stock 7.???? MHZ Amiga for compiles, using the Lattice C compiler. It took about 5 minutes to do a compile and during this time I used to chitchat with the other programmers at the place and unintentionally break their concentration. I made some really good friends there. I did some add on products like the Scenario Editor and the various battle sets. The Amiga version took 5 months to finish.
I had been noticing the Sega Genesis about this time (late 1990). I kept hearing about companies that had reverse engineered the Genesis, such as Electronic Arts, and Color Dreams down in LA area. The numbers on even poor selling titles got me interested, and I tried getting a relationship going with Sega. Basically they wouldn't lift a finger for me unless I wanted to be an employee, which I didn't want to do. So I reverse engineered the thing. It took about 5 days of tweeking to figure the thing out, including the FM synthesis chips. I was also looking at the Altered Beast cartridge to see how that program banged the gfx registers.
I decided that this information should be made public and that there were probably a lot of little guys just like myself who would want to do Genesis games but Sega would blow them off. It is my firm belief that most good programs come from really talented people, small groups or just a single individual doing kick ass work. I don't like the current trend of throwing money at huge groups of people and hoping a worthwhile product comes out of it.
I went into the business of selling development systems. I went to a PC board manufacturer and found out they needed Gerber files to make a mask. They told me about their ascii form and I wrote in a couple of days a layout program for the Amiga and layed out the board myself. I think in around 500 holes I needed only 25 pass throughs to get traces to the other side (the 500 holes were for the chip pins). I was very proud of that piece of work.
I first offered these systems at the 1991 Game Developer's Conference. My price was $5000 if you wanted to buy the system free and clear, or $2000 if you would agree to pay me 5% of your profits on all products made with the system. Slowly I had to drop my price as sales didn't happen. The system really was cool and it was pure heaven to use--all the slick debugging stuff I had figured out over the years was built into it. I had a whole library of tools and utilities I included. I sold maybe 10 for $1000 each and a few for more, but it wasn't the big pile I had in mind.
I turned the business over to a friend and went on another vacation, this time down into Latin America. I and a friend travelled down through Mexico, Guatemala, Honduras, Nicaragua, Costa Rica, Belize, Panama, Colombia and Ecuador over 13 months. My friend actually ditched to join the Peace Corps about 6 months into the trip. We started in Feb of 1992, and I returned to the States in March of 1993. On that trip I learned a lot about people, myself, life and having fun. I got a whole slew of people's addresses, mostly in Europe, and I correspond with them occasionally.
I kind of bummed around after returning. A guy named Richard Frick called and we started a partnership where he would handle the marketing of the development systems. He was the president of a company called American Video Entertainment, and that company made unlicensed NES titles. When Nintendo kept coming out with new NES units that caused Richard's unlicensed titles not to work, a big lawsuit was filed (Tengen had its $.02 in here as well) and slowly American Video Entertainment went away.
Richard and I sold more units than I would have selling it myself, and we came out with a newer version of the dev system that had a full 4 megabytes of memory on it.
I got antsy around May of 1994 and took off for another trip. This time I went to Asia--Thailand, Indonesia, Malaysia, Singapore, Hong Kong. I was over there for 5 and 1/2 months. This really was an amazing experience for me. I learned a lot from the different culture. Those guys have a completely different style of religion than we do over here--basically the religion is to improve your mind and harmony with yourself and other people. They're into slick things like meditation, relaxation, eating a healthy diet--stuff like that. I returned from that trip November of 1994.
In December of 1995 I went down into South America again. I drove my Mazda 626 all the way down into Colombia. I wouldn't recommend doing this. The little Central American countries really ream you at borders if you've got a car. From Panama I took a big cruise ship from Colon to Cartegena, Colombia. I ended up in Bogota. I didn't want to drive my car all the way back to the US (the car wasn't worth it) so I gave my car away then left Colombia in mid February of 1996.
I worked my way back up to the US, then stayed with friends for a while. I was getting bored down in Colombia, I was getting interested in messing with computers again.
In November 1996, I ported over my old game Popman/Targis/Scavenger to the PC, then uploaded it to a few places to see if it could make money as shareware. I used the DeSmet C compiler to write that. I decided to write my own compiler, then over the next 2 months I did. This was a very fascinating project, one I'm glad I took on. The commercial compilers I've seen were all either only 16 bit (like DeSmet) or were too slow (like DJGPP and Borland). My machine's just a DX2-66 486. I haven't been able to come up with a good enough excuse to upgrade, even though it's *so* cheap to do so...Anyway I released the compiler as shareware also, maybe I'll make some money off it. I'm sure someone will find it useful.
March of 1997 I finally upgraded my machine to a Cyrix 686, 133 mhz, 32 megs of ram, and a 33.6bps modem. Now I'm getting into Linux and network programming, as well as XWindows. I played netrek for a while, but my internet connection is too high latency, I kept getting killed. I'm interested in creating more free network games, perhaps less twitchy and more strategic than netrek.
May of 1998 I married Nohora Isabel Penagos, born in Colombia. She moved here with her son Daniel and we've been living the good life together ever since. Married life is great, if you think otherwise you're just plain sick.
September of 1998 I accepted a job at Left Field Productions doing Gameboy and Color Gameboy programming. It is low level cut down Z-80 programming for those who care.
On the side I've maintained interest in linux, and wrote a simple port of Bomberman for XWindows. Look here for more info on that.
Our home machines consist of an overclocked celeron 400 (clocked to 450) with 64 megs of ram (my machine), an AMD K6-2 450 with 64 megs of ram (Daniel's machine), and a Cyrix PR200 with 64 megs of ram (Nora's machine). The router is running the other cyrix pr200 that used to be Daniel's machine before we upgraded it. All the machines are dual boot Linux/Win95. I've got a nice 384/384 DSL connection these days, it really grows on you.
Nora is expecting! The baby is due in August 1999.