... James Patchell
By Scott Stilphen
The creator of the Atari 1050 Duplicator speaks out about hardware design, synthesizers, and alternate forms of payment. Read on…
DP: From your site, I see that you created your own Atari 8-bit cart pcbs, a Happy 810 clone, and even your own 130XE PIB card! What inspired you to go into board design and programming?
James Patchell: I have been a pretty die-hard electronic hobbyist ever since I was about 13 years old, when I started building crystal sets, so I have always liked building things that do something. This also has a lot to do with my involvement in building music synthesizers. I earned my BSEE from the University of Santa Barbara in 1976. I caught the programming bug when I was in college. The first program I ever wrote was a FORTRAN program that ran on an IBM 360/75 main frame in 1973. The following year, I took an assembly language class, again, for the IBM 360, and I suppose you could say I was hooked at the time. However, back then, the idea of a home computer was pretty much a dream. My last year at UCSB is when the Altair 8800 came out (I had the sales literature for it at the time. I wish I still did, but that is what hindsight is for...). Another computer I got literature for (and really wanted) was called the Microsphere, from Sphere Computers. It was based on the Motorola 6800, had 4K bytes of RAM, a graphical video display, and was in a case that looked very similar to the Atari 800. That computer turned out to be vaporware, as by the time I was ready to purchase a computer, Sphere Computers was already on the ropes. Instead, I ended up getting a Polymorphic Poly88 computer, also known as a “toaster” because of the way it looked and because of how hot it got. I also got a wire-wrap card to plug into the S100 bus so I could build my own peripherals. Anyway, this is pretty much how I started off with my interest in making computer peripherals.
DP: Did you work for any other companies before going to Duplicating Technologies?
James Patchell: I never actually worked for Duplicator Technologies - I was a contractor for them. My first engineering job was started in 1976 at Electro Optical Industries, Inc. They made equipment (black bodies) for the Infrared industry. I primarily designed the temperature controllers for those black bodies, which were all analog. I did, however, become the first one at EO to use a computer to help me with some of the tasks I had to do. One of the products I worked on was a digital thermometer that went from 50 to 1000 degrees Celsius. I had to do a four-point calibration of the analog circuit that “linear-ized” the platinum thermometer, which involved a lot of tedious arithmetic. I wrote a program, in BASIC for my polymorphic computer that solved the equations in a couple of seconds, rather than the hours it took me.
After EO, I worked at Santa Barbara Research Center, again doing IR work. It was while I was working at SBRC, in 1979, that I purchased my Atari 800. After that I worked at Portac, which made video character generators, which were based on the Z80. This was the first job I had that involved the design of microprocessor based equipment, although we had a programmer who worked with me that wrote all of the code.
After Portac, I worked at Amber Engineering. It was while I was at Amber that I worked with Duplicator Technologies to do the 1050 Duplicator.
DP: How did you hear about DT?
James Patchell: That’s actually kind of an odd story. I had just completed my own EPROM programmer (http://www.oldcrows.net/~patchell/atari/promprog.jpg) in about 1984. I primarily made it so I could program EPROMs for my various microprocessor projects. However, my evil streak made me also add a connector so I could read Atari cartridges and burn them onto EPROMs as well. I saw an ad from DT for some other stuff, and I thought I would contact them to find out if they were interested in manufacturing the EPROMs burner. I ended up sending a second prototype to them, which they loved. But they did not think it would be a very big seller, which was probably correct. However, I was asked if I would be interested in cloning the Happy 1050. Even though I made a clone of the Happy 810, I never sold any. I made only about 4 of those boards, the one for me, and 3 for some friends. Doing that on a massive scale for somebody didn't sound right, so I countered with the idea of coming up with an original design. They decided that would probably be better (fewer lawsuits), and gave me the go ahead to start.
DP: Was the Duplicator the only project you worked on for them? Was there a version for the 810 drive as well?
James Patchell: There never was a Duplicator for the 810; the 1050 was the only project I ever did. DT, as near as I can tell, never had any hardware solutions before the 1050 Duplicator. They used to sell some software that could be used for cracking disks, but it was all pretty simple stuff (sector editors and such). They did talk to me about doing a program for the Atari ST, but by that time there was already a lot of competition for that type of program for the ST and I said I wasn't interested.
DP: I got a lot of use from my Duplicator. I remember it was a pricey item back then - about $150. One of the “features” of it was that it had gold-plated socket pin – was that a large part of the cost?
James Patchell: Actually, the gold plated connector only cost about a $1.50 back then. They tried to use a cheaper connector for the first run, but they quickly found out it has some major problems, although this was also partly due to the fact that the pins were the wrong diameter. The pins on the connecter were supposed to be 20 mils, and I think the first run used 32 mil pins or somewhere around there. The pins would damage the socket on the 1050 main board, causing big trouble and a lot of headaches (and finger-pointing). I think I was the one that noticed this when they shipped me one of the production cards to make sure it worked OK.
DP: What was the development process like?
Well, that was a pretty long and involved story. I was just a
contractor, hired by the guy who sold them back in New York. It took me about 6
months to write the firmware, or maybe a bit longer. I even hired a college kid
to help me write parts of it. Several mistakes were made a long the way.
I told the guy who hired me that the firmware would be ready in March. He placed the ads in the March issues of the Atari magazines, which most unfortunately, came out in late December. That was probably the biggest mistake. That put a lot of pressure on me to wrap the firmware up as soon as possible so they could start shipping them. This was when I hired the college kid to help speed things up. I am not too sure just how much it ended up speeding things up, but it didn't hinder me.
As I recall, I released the first version of the firmware around February. I told him to put the firmware into several Atari 1050's to make sure that it really worked. I only had access to the one drive that was in my possession. The guy back in New York claims he did this, but I don't believe him, because it turns out the firmware only worked in 1 out of 4 drives! The problem was the way I did the calibration to locate track 0. I did my best to figure out how Atari did it, but I guessed wrong. I had no way of knowing because my wrong guess worked perfectly fine on my drive.
I should have realized even earlier that something was wrong with the whole deal. For the prototype run of boards, they sent me a check to pay to get the boards fabricated, which back then ran to the tune of $200. Well, the check bounced. When I told them this, I was told, "Oh yeah, just a little problem with the bank, the money is in there now, go ahead and cash the check". Well, I did, and it bounced again. They ended up wiring me the money, as well as the bounced check fees, via Western Union. In fact, a few weeks ago when I was cleaning out my files, I found that bounced check!
I made up a
Bill of Materials for the board, with part numbers and everything. Instead of
purchasing the connector that I specified for connecting the PC board to the
socket in the 1050, they purchased one that was a lot less expensive... but had
the wrong pin size.
They told me that they had hired somebody to write the software that would do the actual copying. That was fine with me. Just writing the firmware was a nasty enough job. It turns out they never did hire anybody, so when it came time to deliver the copy software, there wasn't any. So, they asked me if I could do that. By this time, I was in pretty bad health. Besides working a regular 40 hr/week job, I was putting close to 60 hr/week in on the Duplicator. I was fighting some sort of bacterial infection (which eventually required surgery to fix) that would knock me out of commission for about 3 or 4 days every now and then.
DP: Although the 1050 Duplicator's main selling 'feature' was its ability to copy disks, it also offered high read/write rates (and probably a few other features I've since forgotten). Could you elaborate on some of these additional benefits, and how they came about (were they things you wanted to add, or were they more intended to help sell it?)
They were things I insisted be in the firmware. I was
never really able to compare it to other 1050 mods, but I would say that the
Duplicator could read disks just as fast as the Happy 1050 - maybe a little
faster (I like to think so at least!). I buffered reads, and I know I
experimented with buffering writes, although I think I scrapped the write
buffering because of the possibility of losing data.
The high speed serial interface was extremely difficult. I can't remember exactly what baud rate the high speed serial ran at, but there was no way the 6502 in the drive could have gone any faster. Getting a combination of instructions to bit bang the serial I/O at that baud rate was not at all easy. I knew exactly how many clock cycles I had between bits and had to select instructions that would do the job for each iteration through the loop.
Another cool feature was the ability to upload programs into the drive. This was so that specific code could be loaded to do the copy job for specific disks, but I don't know if we ever used this feature or not. There was about 1K or so of RAM set aside just for this. It was also possible to set the number of bytes per sector on the disk.
These were the main features. Here is a list of the command the drive could execute (taken right from the source code
; P :WRITE TO DISK NO VERIFY
; W :WRITE TO DISK WITH VERIFY
; R :READ DISK
; S :GET STATUS
; ! :FORMAT DISK
; " :FORMAT DUAL DENSITY
; N :READ DRIVE CONFIG
; O :WRITE DRIVE CONFIG
; ? :RETURN SPEED INDEX
; u :upload data to drive
; r :run program in drive
; s :set load address in drive
; g :seek new track
; c :custom format
; f :sparta dos custom format
; b :track buffer toggle
; a :analyze a track
; w :write a sector with deleted data
; m :upload sector pattern and
; :and read a track of data
; t :get sector data from m command
; v :upload a sector to write
; n :upload sector pattern and write
; :data from v to track
; j :change drive rpm
; h :set drive on hold time
; d :disable density sense
DP: Were there any features you would have liked to add, or any known bugs or glitches that gave you trouble (or never got resolved)?
James Patchell: As I recall, the final version of the firmware was about as bug-free as you could get. I don't recall any issues, at least as far as the drive controller part of the firmware goes. As far as the firmware that was in place to aid in making copies, well, there probably were a lot of holes in that. Part of the problem was doing the research on how the disks were protected. There were a few I never did figure out. The companies that were protecting the disks were getting cleverer and being much more subtle, and finding information on the subject was difficult back then since there wasn't the Internet back then, as we know it now. Plus, I was getting pretty burned out. Originally, I was not supposed to be doing the copy software at all. I was told they had somebody that could do that part of the project. I even wrote up a document describing how the copy software was to interface into the rest of the firmware, which also took up a good part of my time. In the end, they finally admitted that there was nobody doing that work, so it fell on me to do that as well.
The firmware could easily make copies of disks that had bad sectors, multiple sectors, and extra sectors. I had a lot of trouble with getting tracks to line up, since that was not something that was easy to do on the 1050. As a result, I was never able to master Fuzzy sectors, plus there were a couple of other tricks I never did figure out.
DP: What were some of your experiences working for DT? Any stories or anecdotes from those days that you recall off the top of your head?
James Patchell: The guy who hired me was arrested for defrauding the phone company, from using a blue box to make long distance phone calls. In a way, this was good for me, because he could no longer make long-distant phone calls. That gave me close to an hour more each evening to work (he would call me and talk to me for about an hour each night. I always wondered how he could afford to talk that much. Well, I found out - he couldn't!). I should have run screaming for the hills when early on in the negotiations of working for them, he offered to pay me in crack cocaine (!) rather than in cash. I declined the generous offer and said I preferred the cash.
DP: I’ve heard of programmers spending their salary on drugs, but not of being offered drugs in lieu of a salary!
James Patchell: I ended up making about $4/hr out of the whole ordeal, which came to about $8000, which was enough for me to purchase a new car at the time (a 1986 Honda CRX), which I drove for about 12 years.
DP: Occasionally, programmers would put little “Easter eggs” in some of their games that would reveal their name, or a message? Are there Easter eggs in any of your titles? Do you recall any fellow co-workers that did?
James Patchell: There were no Easter eggs in the Duplicator. However, there was a surprise in the firmware that the people at Duplicating Technologies did not know about. I did not exactly trust those people (the drugs-for-payment offer and bounced checks being 2 good reasons…). You can see the surprise if you look in the first file of the source code. What you will see is a lot of uncommented assembly code. I might have put a few comments in there, but what you're seeing is a disassembly listing of the OSS Action! run-time library. The code is not actually called, but OSS was very sensitive to anybody using the code without permission. I always figured I could send OSS after DT if I ended up getting screwed. What is funny is somebody made a clone of the Duplicator. DT sent me one. All I had to do was pop the ROM and look for the OSS code to tell them that yep, it was a clone. Although, even then, I did not tell them how I knew for sure it was a clone.
DP: I noticed you have the software for it on your site…
James Patchell: Technically, I am violating the agreement I signed with him by posting the firmware, but heck, it is all but worthless now, and I am sure many people might get a kick out of it. It was a lot of fun writing the firmware. I used an Atari 800 with 48K of RAM, an ATR8000 with two 8-inch floppy drives, and two 3.25-inch floppy drives to develop it. I used the Atari Macro Assembler to write the code. I was also a MAC65 user at the time as well, but I can't remember why it was that I used the Atari Assembler rather than MAC65, as MAC65 was a much nicer assembler. To debug the code, I already had an Arium 4400a 32-channel logic analyzer with a 6502 disassembler. It was that piece of equipment that made the project even possible. Without it, I would never have been able to debug as much code as I did.
DP: You’ve also done quite a bit of work involving synthesizers. How did you become involved with that?
James Patchell: I got interested in music synthesizers when I was in high school. In fact, it was Switched On Bach by Walter Carlos (or Wendy Carlos, depending on your point of view) that really got me fascinated with them. However, back then a Moog synthesizer was extremely expensive. In my second year of college, Radio Electronics ran a series of articles by John Simonton (http://www.paia.com) on building the Paia 2720 synthesizer. When I saw that, I almost flipped, and I started building the circuits up from the schematics in the magazine. Right away I started trying to improve upon the circuits and to create my own modules. It was also my interest in synthesizers that spurred my interest in microprocessors. I realized right from the start that a computer would be needed in order to make a synthesizer do anything else other than play one note at a time. In 1978, I made my first polyphonic synthesizer using my polymorphic computer as the controller. It was also at about that time that Paia was doing the same sort of things. They came out with the Paia 8700 controller card that used a 6503, which was a 6502 that could only address 4K bytes of memory. I soon realized that I would need an Assembler and Editor for the 6502, so I went out shopping for an Apple II computer. At that time, there was only one Apple dealer in town that I knew of. It was the same place I purchased my Polymorphic computer from, so I was pretty sure I was going to be buying an Apple from them. As it turns out, the sales staff there were unable to answer my questions about what software I would need to buy in order to run an assembler and an editor. I was not willing to buy the Apple II blind as it was a pretty expensive computer and I could not afford to make a mistake. I left the store disappointed, trying to figure out what I was going to do. A block down the street, I saw a computer store I had never seen before. I figured, what the heck, maybe I could buy an Apple from these guys. Well, he did not sell Apples. He sold CPM-based computers and Ataris. I was skeptical at first, but he showed me all of the neat things the computer could do, plus he showed me in the catalog the Disk Drive, the Assembler Editor cartridge (which I still have) as well as other things. I ended up walking out of the store with an Atari 800 with 24K of RAM and an 850 printer interface box, with both the Assembler Editor and the disk drive back-ordered. This was like around December of 1979, I think. I am not too good with dates, but the Atari 800 had only been on the market at that time for a very short period.
With the help of the Atari, I eventually ported the 8080-based code over to the 6504 (for my own homebrew controller, since the 6504 could address 8K or memory), and I now had a stand-alone polyphonic synthesizer (http://www.oldcrows.net/~patchell/pictures/pictures.html). It was while doing these synthesizer projects that I purchased an Arium 4100A logic analyzer. It had a built-in 6502 disassembler which really made debugging my projects easier. The logic analyzer was also important for the Duplicator in that without the logic analyzer I would have never been able to complete the project. If something in the code did not work correctly I could always track the problem down and locate it. What used to take me hours to do before, the logic analyzer took literally minutes. Having the right tools for the job always makes life easier.
DP: Were there any games or projects that you worked on that ultimately never got released or even finished?
James Patchell: Really the only other one was the PROM programmer. I always thought that was one of my best creations. It was what I used to burn the EPROMs for doing the Duplicator project, as well as burning the EPROMs for my synthesizer projects.
DP: Please describe your career, between then and now. Are you still working for Teletrac? Are you still working in circuit board design?
James Patchell: After working at Amber Engineering I went to Teletrac, where I designed their motion control DSP card that was used to build test stand for testing hard drive head assemblies. Teletrac was purchased by Axsys Technologies (http://www.oldcrows.net/~patchell/lean/lean.html), who then drove Teletrac into the ground. In April of 2002 they shut the place down. I was lucky in that I got to help shut the place down. A lot of stuff was just tossed into the trash, and I fished all the good stuff out of the trash and was able to expand my inventory of parts by quite a bit. After Teletrac, I started at the place I am working now which is Bechtel Nevada, where I still design high-tech electronics.
DP: What were your feelings about the whole piracy issue, and particularly regarding the fact that devices like the Happy and Duplicator were being used primarily for that purpose?
James Patchell: Well... if I had it all to do over again, it’s hard to say if I would have done anything differently. I always made backups of my software when I purchased it. When all of a sudden that was no longer possible, we started finding ways around it. I cracked a copy of one of the first copy-protected disk-based games for the Atari. I don't even remember the name of it, but it was a Pac-Man clone. In a way, it became a kind of game. And like I mentioned before, when the Happy 810 board came out, I cloned that for the same reason, more or less. Happy tried to "protect" the design by erasing the part numbers on the chips. It only took me about an hour to figure out what all the chips were. The Duplicator itself was ripped off by some company up in Canada. This sort of cracked me up because the people at DT were very upset about this. I sort of had the attitude of “live by the sword, die by the sword”.
For more information on Jim’s various side projects, check out his site at: http://www.oldcrows.net/~patchell
Return to Digital Press Home