How Apple ][ Cloning Led to the Personal Electronics Market
May 8, 2017 8:29 AM   Subscribe

 
I never knew that Franklin had ever done anything more ambitious hardware-wise than their Spelling Ace and various other '80s/'90s pocket reference gizmos. Thanks Etrigan!
posted by Strange Interlude at 8:36 AM on May 8, 2017


Oh wow, I got a Laser 128 for my birthday in '87. It was pretty cool -- although I liked it even more because I mistakenly thought it was from the town I grew up in, Lake Zurich, Illinois. The coincidentally named Laser Computer Co. was already building 286 and 386 clones, so it made logical sense.
posted by me3dia at 8:58 AM on May 8, 2017 [1 favorite]


I remember my aunt and uncle in Kong Kong had an entirely blatant Apple II clone that didn't even try to pretend to be anything but an Apple II. It had incredible compatibility, mainly 'cos its ROMs were identical copies of the Apple ones.

Brazil wins the DGAF cloner award, though: the Milmar Laser IIc and the Unitron Mac 512
posted by scruss at 9:07 AM on May 8, 2017 [2 favorites]


Huh! I had one of those VTech Socrates systems as a kid. Didn't know it was based on the Apple IIe.
posted by SansPoint at 9:24 AM on May 8, 2017


I got my first dose of programming on a super cheap Apple ][ clone. My school owned a bunch of them, because no school in my country (except perhaps the rich elitist ones) at that time could own a real computer lab. They had already been really obsolete by then, but for us kids they were just wonderful. I could stare at the green phosphor display until my eyes got strained and I see white text on the blackboard as purple.

The school printed its own notes on BASIC and I literally ate the little book. Later I found a bigger book at home and I ate that one. We didn't have "ROMs" or floppies, and all I could do is to read and think and later type the programs in when I got my turn of access. I didn't know how I managed to survive the brain damage incurred by BASIC, but it was perhaps one of the books that indoctrinated me with "GOTO considered harmful" and "don't repeat yourself." It was in college when I got my personal laptop, and injected myself with K&R, Python, and unixy stuff, that sanity was (nearly) restored.

I don't remember the details but perhaps the bigger book was stolen by my father from his work. That book itself might be a plagiarized/samizdat copy of some foreign manual, translated. My father was mostly an absentee dad anyway, and nobody really encouraged me to computers. I never become a professional programmer, but I still do related things.

The best thing I learned as a kid from this, maybe, was to think first and punch keys later. Because all you had was books and a crappy Apple ][ clone at school.
posted by runcifex at 9:30 AM on May 8, 2017 [2 favorites]


...Apple II Plus units produced by Apple under the Bell & Howell brand name, which was the only authorized clone Apple allowed of the Apple II

Not exactly, Professor.

The great thing about early micros was that so many of them were built from standard parts, meaning that any competent electronic engineer could clone them - and the problem of replicating the functionality of the firmware was also tractable. Once into the ULA/ASIC era, the cost of entry got a lot higher, but during the late 70s/early 80s, there were a lot of very active clone markets. The ZX Spectrum (which did have a ULA, but one you could replicate in discrete TTL withouth too much pain) spawned around fifty unofficial clone designs, according to Wikipedia, and through that route created an entire home computing culture in the Eastern Bloc - I'd love to read a history of that part of retrotech culture.

Odd beast, Johnny Intellectual Property Rights.
posted by Devonian at 9:35 AM on May 8, 2017 [3 favorites]


Is a piece of software copyrighted if it’s not printed out and is buried inside of a machine? This sounds like an obvious question—yes, of course it is—but wasn’t a question that had been asked before in a court of law.

Er, citation needed? It's not obvious, this is exactly why player piano reels could not be copyrighted when they first appeared and why lists of ingredients can't be copyrighted even today and are at best "trade secrets" if they've been successfully kept secret.

I'd think the court decisions and their enforcement have been good for the development of technology used by consumers in the late-twentieth-to-twenty-first century, but in the way that massive concentration of wealth and power in a few people led to patronage of the arts, and many of the greatest works of art and architecture, during most of human history—because the outcome was good in these particular cases, not because some detail of feudalism or the Divine Right of Kings is "obvious".
posted by XMLicious at 9:36 AM on May 8, 2017 [2 favorites]


I was at Apple in the Apple ][ group when all this came down. The hilarious thing is that one of the engineers put his name etc in the ROM. The Franklin ROM had his name etc in it too. Blatant copy.
posted by njohnson23 at 9:37 AM on May 8, 2017 [16 favorites]


you just need to encode "NO COPYRIGHT INTENDED" in the ROM
posted by thelonius at 9:48 AM on May 8, 2017 [3 favorites]


My first Apple, a II+, was a Taiwan clone. Loved that little guy, especially after I hooked it up to a small Sony TV. Lode Runner and Karateka and Ultima II in color!
posted by the sobsister at 9:49 AM on May 8, 2017 [2 favorites]


I write software, and I enjoy books, music and photography. I think a lot about incremental differences, inspiration and goal-driven design. I am not a lawyer. I think there is nothing obvious about IP law; it's a mess of good intentions, entrenched interests and history.
posted by Slothrup at 10:04 AM on May 8, 2017 [9 favorites]


I still have my Laser 128EX and original manual, although I lost the box somewhere along the way. One of the coolest things about it besides the CPU speed switch was the capability to expand the memory by plugging chips into sockets hidden under a plate in the base. Existing programs couldn't utilize the extra space because of direct addressing or something but you could set it up as a RAM drive, so I had a 1MB solid state drive long before SSDs were popular.
posted by SpaceBass at 10:12 AM on May 8, 2017 [3 favorites]


We went from a Vic20 to an Apple II clone at home. It was a great computer and even after we moved on to bigger and better things (a 386) I would occasionally hook it back up to the TV to play some games.
posted by any portmanteau in a storm at 10:30 AM on May 8, 2017


Meh, the Franklins were better. They had a functional assembler/disassembler buried in the ROM. I had been using Apple back since when floating point was an add-on card that you had to switch on/off depending on the program you were running and you had to tweak the volume knob on the cassette tape player to get things to load correctly. When my HS "Business Computer Applications" teacher got tired of not being able to grok my code she set me off in the back corner out of the way (seems I was always going to be JAPH). So I brought in a '6502 Assembly' book to keep myself busy. Having that assembler in ROM was pure awesomeness.
posted by zengargoyle at 10:35 AM on May 8, 2017


My first computer was a Franklin Ace 1000, bought at the tender age of ~10 for me by an uncle who changed my life. It was mostly an Apple ][+ clone but was able to support lowercase like the Apple //e, which made it seem very fancy. Unfortunately still limited to 40 columns. And 64kb, which was better than 48k but not the 128k the //e could do via more sophisticated bank switching.

They did clone the ROM pretty much exactly. I don't recall the assembler/disassembler too being unique to Franklin, wasn't that in the ][+ ROM too? They did have a couple of differences though.

One was a few different bytes in the ROM, which ProDOS would later use to detect if it was running on a Franklin and then refuse to boot. You could hack around it easily enough but it was a PITA. Still learning to hot-patch a boot loader via the monitor was a good education for me at age 12 (I grew up with this computer.)

The other difference was the clock ran at a very slightly different frequency than the Apple; 1.023MHz vs 1.022, or something like that. This mostly didn't matter but it broke the DTMF generation code that everyone used for the Apple Cat modems. So I couldn't dial phone numbers from the modem without using the one program that worked on the Franklin.
posted by Nelson at 10:52 AM on May 8, 2017


One of the more interesting Apple II clones that did the rounds inside the Apple Users' Society of Melbourne in the early 80s was a machine called the Orange. From the photo it looks like a complete and total Apple II ripoff, but the circuitry had some interesting departures in the color video generation section.

One of Woz's major design wins in the Apple II was running the clock generator at an exact multiple of the 3.579545MHz NTSC color subcarrier frequency, allowing what amounted to a simple monochrome bitmap video encoder to produce signals that an NTSC video monitor (or home TV, with the addition of a simple RF modulator) would interpret as color.

The gory details are revealed in full in Winston Gayler's splendid book, but for now it suffices to note that each byte in video memory generally corresponds to 7 horizontal pixels on the screen; those are 7 of the bits from a memory byte in hi-res graphics mode, or lines from the font PROM in text mode. Conversion from an X-Y pixel address and color to a memory address and bit numbers is non-trivial. Games would generally implement that conversion using quite large lookup tables to drag enough speed out of the Apple II's 1MHz CPU, though the display routines built into BASIC and the system monitor did it all with a nasty mess of shifts and adds and XORs.

The Orange's designers clearly thought that Woz wasn't making his coders work hard enough, because they took this idea and just ran with it, implementing essentially the same strategy to get cheaply encoded color on the PAL monitors that everybody in the world except the poor benighted US had picked as standard (the Apple II itself needed a different master clock crystal and solder-bridge options on the main board to achieve PAL-compatible scan and frame rates, and a third-party expansion card to get PAL-compatible color).

Instead of dividing a 14.3MHz master clock by 7 to generate the RAM clocks and by 4 to generate the 3.58MHz NTSC color subcarrier, the Orange divided a 17.7MHz master clock by 9 for the RAM clocks and by 4 to get a 4.43MHz PAL color subcarrier. Instead of the basic display cell being 7 pixels wide as in the Apple II, the Orange's display cells were 9 pixels wide.

It used the same basic 40 cells per line arrangement as the Apple II, and the same squirrelly memory mapping. In text mode you still got 40x24 text, with a slightly nicer font; lo-res color yielded 40x48 natively-encoded PAL color blocks and they even managed to make the colors code the same way. But in hi-res mode things got seriously weird.

The basic display cell's 9 pixels don't fit in an 8 bit byte, so the Orange did weird-ass bank switching techniques to let it emulate the Apple II's 7-pixel-per-cell layout and fill in the missing pixels from an alternate bank, a technique Apple itself would later adopt for the 80-column modes in its //e and //c machines.

You could run Apple II hi-res games on an Orange, but they displayed in strange colors: because of the way PAL works, odd scan lines ended up with a different mapping of bits to colors from even ones, and the whole display was overlaid with 2px vertical black stripes because none of the Apple software knew about the Orange's supplementary video RAM bank. If I recall correctly, neither did the 100% ripped-off copy of Applesoft BASIC that came installed in the Orange's PROMs.

If anybody had actually managed to deal with the complexity of extra bank switching on top of Woz's existing bizarro memory map, the Orange would theoretically have been capable of 360x192 pixels in hi-res mode compared to the Apple II's 280x192. But I never saw a single demo that made that work.
posted by flabdablet at 11:45 AM on May 8, 2017 [13 favorites]


When I was a kid, a family friend went on a trip to Taiwan and came back with a couple cloned Apple II motherboards. The were blue and IIRC had no RAM in them (since 4116s were still pricey). Once we populated them, and hooked up a keyboard and power supply, we booted one up and instead of "APPLE ][" the screen read "COMPUTER". Nice.
posted by plinth at 12:18 PM on May 8, 2017


The other difference was the clock ran at a very slightly different frequency than the Apple; 1.023MHz vs 1.022, or something like that.

The US Apple's master clock crystal was 14.31818MHz (4 times NTSC's 3.579545MHz color subcarrier frequency). Divide that by 14 to get a 1.023MHz CPU clock, and again by 65, and you end up at 15734.26Hz which is close enough to the NTSC spec for horizontal scan rate (15734Hz) as makes no matter.

PAL televisions need 15625Hz for horizontal scan. Apple II+ machines sold into markets where PAL was standard (the "Europlus" variant) were fitted with 14.25000MHz master clock crystals. You get 15625Hz from a 14.25000MHz master clock by dividing it by 912.

This is not the same division ratio used by the NTSC machines: 14*65 = 910, not 912, and one of the oddities of the Apple II Europlus timing was that every 65th CPU cycle was 16 master clock periods long rather than 14, just to get this 912 divisor right. Which means that the CPU spent 64 out of every 65 cycles running at 1.018MHz, and the 65th at 0.89MHz.

Apple II sound is super-primitive, and the only way to get DTMF out of it is by pulse-width modulating a software-generated high-frequency square wave carrier. And unless that carrier has a period of exactly 65 CPU cycles, the Europlus's designed-in 65-cycle timing jitter is going to add audible beat tones to the result. I'm pretty sure it's that effect, rather than the 0.7% raw speed difference, that broke DTMF for your Franklin (which, being a 100% Apple II+ ripoff sold primarily into PAL-dominated markets, almost certainly replicated the Europlus timing down to the last detail).

To get the right scan rate without the jitter, they'd have needed to use a 14.21875MHz master clock. I don't know why they didn't do it that way; it would certainly have been kinder to their Disk II controller, let alone software DTMF generators.

It might be that the out-of-spec NTSC subcarrier frequency and scan rates you get from dividing down from 14.250MHz are just within the bounds that would let them still work on most NTSC monitors, meaning that you could adapt an Apple II Europlus back to NTSC just by changing solder bridges on the motherboard rather than needing to change the crystal as well; or maybe 14.250MHz crystals were just cheaper? I dunno.
posted by flabdablet at 12:34 PM on May 8, 2017 [3 favorites]


My family's first computer was an Apple IIe clone that was ostensibly for the family but mostly so my teaching parents could use it for school stuff without having to stay at work later; I can't remember the brand but it had an amber monochrome monitor, and I thought it was the best thing in the world.

And about two months after finally breaking down and buying it, my parents went to a "School Institute Day"* and entered a raffle and won Apple IIc, and that's how my family who never had more than 2 nickels to rub together ended up with the luxury of TWO HOME COMPUTERS in 1984 and how I ended up with one in my bedroom shortly after that.

* My favorite part about this story is that my parents snuck out of this all day institute, the first they'd attended together as my mom had just returned to teaching, at lunch time and then ended up winning the raffle, drawing immediate attention to all involved that my father had broken the rules for probably the first time in his adult life and was immediately rewarded for it with a new computer. He blamed my mother, and she took full credit.
posted by MCMikeNamara at 2:22 PM on May 8, 2017 [2 favorites]


Count me in. My first computer was a Franklin Ace 2000. Lode Runner ftw.
posted by 4ster at 5:47 PM on May 8, 2017


Hah, I had an Orange, Flabdablet. I don't remember any video weirdness, but maybe that's because I was using a B&W TV with an RF modulator as a monitor.
posted by Joe in Australia at 6:32 PM on May 8, 2017


I don't recall the assembler/disassembler too being unique to Franklin, wasn't that in the ][+ ROM too?

You could get into a monitor with "call -151". As I recall, it had a disassembler but not really an assembler -- or if it did, it was pretty primitive. I remember using "Big Mac" as an assembler.
posted by Slothrup at 7:14 PM on May 8, 2017 [1 favorite]


I don't recall the assembler/disassembler too being unique to Franklin, wasn't that in the ][+ ROM too?

Disassembly was always part of the Apple II Monitor ROM. None of the Apple ROMs ever had an inbuilt assembler to the best of my reasonably decent recollection.

Programmer's Aid #1 included a routine that re-used part of the disassembler code to implement a primitive but useful tool for relocating 6502 code to a different spot in memory; used that one quite a bit.
posted by flabdablet at 10:27 PM on May 8, 2017


I remember using "Big Mac" as an assembler.

LISA 2.5 ftw! Merlin was pretty decent as well. Not as fast as LISA (nothing was as fast as LISA) but it had macros, which I guess are kind of OK if you don't care about code bloat.
posted by flabdablet at 10:31 PM on May 8, 2017


None of the Apple ROMs ever had an inbuilt assembler to the best of my reasonably decent recollection

...which has just reminded me that in fact the Integer BASIC ROM did include the Mini-Assembler. How could I have lost track of F666G?
posted by flabdablet at 11:41 PM on May 8, 2017


Perhaps because so few of us used an original Apple II with Integer BASIC? The ][+ shipped with Applesoft BASIC with floating point and no Mini-Assembler. Integer BASIC also had SWEET 16, the weirdo bytecode interpreter Woz built to implement the 16 bit integer basic more easily. I don't know that anyone else did much with it.

Back to Franklin, I'm not certain but it looks like the ACE 100 was an Apple II clone whereas the ACE 1000 was a ][+. But some of what I've read suggests the 100 shipped with Applesoft BASIC, not Integer.

I bow to your detailed knowledge of video signal timings, flabdablet, and appreciation of the fine hackery of sharing clocks for various functions.
posted by Nelson at 12:06 AM on May 9, 2017


Not an Apple II clone, but the first clone PC I ever saw was an Eagle that a friend of mine bought. It was amazing at the time. He even had a couple questions back and forth with Dennis Barnhart before his car accident.
posted by lagomorphius at 10:08 AM on May 9, 2017


None of the Apple ROMs ever had an inbuilt assembler to the best of my reasonably decent recollection.
A hollow voice whispers, "F666G".
posted by plinth at 1:19 PM on May 9, 2017 [2 favorites]


]F666G

?NOTHING HAPPENS ERROR
]
posted by flabdablet at 9:10 PM on May 9, 2017


« Older A complete and innovative sambista   |   BC Votes Newer »


This thread has been archived and is closed to new comments