[NTLK] Emulating ATA cards in Einstein, developer wanted

Matthias Melcher m.melcher at robowerk.de
Fri Sep 18 11:53:13 PDT 2026


Hi Newties,

external storage on Newtons is done via PCMCIA cards. There are two very different types of cards, Linear and AT. Linear cards are hard to find these days, expensive, and have a only few MB's capacity. Einstein supports Linear Card dumps, but dumping a card either takes hours over the serial port, or requires a $3000 specialized card reader hardware.

ATA cards are much easier to find, but NewtonOS can't read them without help. Many of you know Paul Guyot's ATA driver. If installed, you can write ATA cards. ATA cards are easy to read into a modern computer via $60 PCMCIA ATA card readers, circumventing all the mess with Linear Cards.

But we can't, to the best of my knowledge, mount ATA card images (or even the ATA card itself via USB reader) on Einstein. But imagine: just pull an ATA cars out of you MessagePad, but it into a reader, and continue work one Einstein. And vice versa.



DoctorClu has sent my an ATA card dump a while ago, and I hoped I could easily convert it into a .pcmcia file, but there is a lot more to it.

After digging through the ATA driver source code, I realized I was pretty far off. Even though in the end ATA and Linear do the same thing: store soups, internally they work quite differently. ATA cards have partition tables with possibly multiple stores on one card. The caching and wear leveling features of the Linear cards are gone, and instead we have lookup tables into the file system.

I have two approaches to support those images in Einstein, but neither seems simple and quick:

We can emulate the raw ATA commands in Einstein and install Paul's ATA Driver. This would be a very faithful implementation, but requires writing an ATA device emulator.

We could write an interpreted for Paul's ATA format as a standalone app. It seems to be simple enough. That would leave use with raw soup files though, and I don't know how to read those into Einstein. We do not have the knowledge or source code to produce a Linear Card image from those soups.

I have not the time to write either of these unfortunately, but maybe one of the occasional devs looks for a nice winter project?

So this is a call to anyone who feels like implementing the ATA protocol fo Einstein. Some basic interface work is done, but there is a lot more to write.


 - Matthias





More information about the NewtonTalk mailing list