Reverse Engineering the Apple QuickTake 200 in 2026

imedvedev1 pts0 comments

Reverse Engineering the Apple QuickTake 200 in 2026Jun 7, 2026 by Ilya MedvedevReverse Engineering the Apple QuickTake 200 in 2026

The Apple QuickTake 200 was released on February 17, 1997 and discontinued the same year, when Steve Jobs returned to Apple and started cutting everything that wasn't essential. It lived for less than a year and it was one of the first consumer digital cameras ever made. It cost $749 and it shot at 640×480.

I have one and I wanted to actually use it, but that turns out to be a surprisingly deep rabbit hole.

Taken with QuickTake 200

The hardware problem

Before you can think about software, you have to solve two physical problems: the cable and the memory card.

The cable

The QuickTake 200 connects via a mini-DIN 8 connector — the same port Apple used for serial communication on Macs, labeled "modem port" or "printer port" on the back of a Power Mac. If you have a working Power Mac from that era, you're already halfway there, but if you don't (and most people don't) you need to build a chain.

The chain looks like this:

Camera (mini-DIN 8) → gender changer (female–female) → FTDI USB adapter → modern computer

The FTDI FT232RL is a USB-to-serial adapter that speaks the right voltages and you can find them on internet easily.

But the gender changer is harder, because there aren't many vendors. I found a few that work:

Kray Cables

K-143 from partsdata

L-Com DMB538F

One warning: not all gender changers are wired 1:1. If you get no response from the camera, check your pinout against Andy Baird's cable guide, which is the best reference I found.

Pinout diagram — andybaird.com

In any case, you can go this way:

The memory card

The QuickTake 200 uses a SmartMedia card. But not just any SmartMedia card.

There are two kinds: 3.3V and 5V . They look almost identical, but they're not. The difference is a 3.3V card has the upper-right corner cut off, a 5V card has the upper-left corner cut off. The QuickTake 200 needs the 3.3V version.

Left: 5V SmartMedia. Right: 3.3V SmartMedia — Mr. Brown’s Basement

You can still buy 3.3V SmartMedia cards. The harder part is reading them — if you want to pull photos off the card directly without going through the camera's serial connection, you need a SmartMedia card reader. These stopped being made around the same time as the cards themselves.

The options I know of:

FUJIFILM SM-R1 / SM-R2 — reportedly work with iPhones

IO DATA PCFDCIV-ADP / USB2-PCADPG — reportedly work with Windows via a PCMCIA-based readers

Sandisk Imagemate SDDR-09 — reads both 3.3V and 5V cards

Photo by Yonehara Ryuhei

All of these are out of production and hard to find. If you have one, please keep it.

The camera itself

The QuickTake 200 is almost universally described as being based on the Fuji DS-7 . But it's not — it's based on the DS-8 — a quieter sibling announced in October 1996, six months after the DS-7. The DS-8 added a high-quality fine shooting mode, improved image sharpness, and, crucially, a clip-on viewfinder, which had been the main complaint about the DS-7. The QuickTake 200 inherited all of this.

The evidence is right here.

The protocol

This is where it gets interesting.

The QuickTake 200 speaks a binary serial protocol over that mini-DIN 8 connection. The protocol is documented barely in a few archived pages from the 1990s. The best source I found is a Japanese reverse engineering writeup by Mamoru Ohno (in English) and a series of pages by Christian that document the Fuji MX protocol, which is close enough to work as a reference.

Handshake and speed negotiation

Every session starts the same way. The computer sends a single ENQ byte (0x05). The camera responds with ACK (0x06). Then the computer immediately negotiates a higher baud rate — the connection starts at 9600 baud, which is painfully slow for image data, and can be bumped all the way to 115200.

→ 0x05 (ENQ)<br>← 0x06 (ACK)<br>→ [CHANGE_SPEED command, target rate]<br>← [response: 0x00 = OK]

The CHANGE_SPEED command is sent as a full framed packet (described below). After the camera acknowledges the new rate, both sides switch immediately. If you miss the timing, you have to restart.

Packet framing

All communication after the handshake uses the same packet format. It's a variant of the classic BSC (Binary Synchronous Communications) framing:

DLE STX | [data with DLE stuffing] | DLE ETX/ETB | BCC

DLE (0x10) is the escape character. It marks the start and end of packets.

STX (0x02) starts the data block.

ETX (0x03) ends the last packet. ETB (0x17) ends an intermediate packet — more data is coming.

BCC is a one-byte checksum: XOR of all data bytes plus the control byte.

The tricky part is DLE byte stuffing : if 0x10 appears in the actual data, it gets doubled (0x10 0x10). The receiver strips one of them. This is how you distinguish "DLE as data" from "DLE as control."

The data portion of each packet has a fixed structure:

[Command: 2 bytes] [Length: 2 bytes, little-endian]...

quicktake data card apple camera smartmedia

Related Articles