
The Amiga Smart File System - pinche2
https://en.wikipedia.org/wiki/Smart_File_System
======
JNRowe
I try not to be /that Amiga guy/, but every time I dip in to a little Amiga
history it leads me deep in to a rabbit hole of things that still amaze me.

Thinking about storage now…

My favourite drop in disk hack was probably diskspr¹ to store 980k on a
double-density disk, which worked by replacing trackdisk.device².

And awesome libraries like xpk³, which allowed you to add aftermarket
compression/encryption support to applications. Looks like people are still
writing modules too, including LZMA⁴ support(although I can't begin to imagine
how slow that would've been on my Amiga ;).

1\.
[http://aminet.net/package/disk/misc/Diskspr3#contents](http://aminet.net/package/disk/misc/Diskspr3#contents)
2\.
[https://wiki.amigaos.net/wiki/Trackdisk_Device](https://wiki.amigaos.net/wiki/Trackdisk_Device)
3\.
[https://www.dstoecker.eu/xpkmaster.html#Overview](https://www.dstoecker.eu/xpkmaster.html#Overview)
4\.
[http://aminet.net/package/util/pack/xpkL2XZ](http://aminet.net/package/util/pack/xpkL2XZ)

~~~
flurdy
X-Copy [1] also bring back memories. And some guilty ones.

* [1] [http://www.generationamiga.com/2016/12/23/xcopy-amiga-pirate...](http://www.generationamiga.com/2016/12/23/xcopy-amiga-pirates/)

~~~
toyg
Argh, that link is cringeworthy. Amiga wasn't killed by piracy, but rather
committed suicide thanks to atrocious commercial and stategic moves by
Commodore's various owners. The DOS market had the same amount of piracy and
none of the hardware manufacturers had any problem surviving.

~~~
RickSanchez2600
The Amiga had emulators to run DOS and Mac software. Sort of the OS/2 effect
where they ran DOS and 16 bit Windows apps so there was no need for native
OS/2 apps.

Commodore had a nickle and dime marketing plan and made PC clones as well. The
Commodore 65 was going to be the next 8 bit C64 type computer after the C128.
But it never got out of prototype.

Mac and DOS/PC tech caught up to the Amiga around 1987-1992 and Amiga could
not make a newer chipset in time to compete with them.

The Amiga was like the Mac but with true preemptive multitasking and 1/3rd the
cost of a similar powered Mac. Amiga didn't earn a lot of money with the Amiga
because they lowballed the price and Apple won because they highballed the
price until Steve Jobs could come back to fix the company. Amiga had no Steve
Jobs savior and went out of business because the DOS/PC cut into their sales
too.

~~~
jacobush
You are not wrong, but of what you mentioned only "nickle and dime" and _"
could not make a newer chipset"_ is very relevant. They never invested back
their gains into Amiga R&D.

What they should have done:

kept Amiga extensible - kept the external bus when cost optimizing the A500
into the A600. (Instead the A600 was a crippled, slightly incompatible A500
that split the market and made it slightly less interesting to game
developers.)

The chipset in A1200 and A4000 was too little, much too late. The A1200 was a
case study in cheapskating and crippling an already anemic CPU. (It came with
a disabled L1 cache. If it had only had 64 _kilobytes_ of more RAM, they could
have enabled the L1 cache.)

Should have partnered with SUN and made SunOS (Solaris-to-be) for high end
Amigas, more powerful than what they ever produced. (They basically said "fuck
you" to SUN.)

Etc etc.

It could also have helped to buy fewer business jets for the CEO, but I think
that was more of a symptom of what was wrong. If they had done fewer
completely idiotic moves, they could have afforded a few jets easily.

~~~
RickSanchez2600
AmigaDOS was developed on SunOS Workstations that were modified.

I don't think the Zorro bus was as good as ISA or PCI and the A600 was like
you said it was. The Amiga needed a networking adapter to work with networks
and Apple Macs later had them as default or via a NuBus slot.

Plus most of the software for the Amiga was video games which limited the
system to video games it needed more business software.

~~~
herio
Zorro-2 was superior to ISA in pretty much all ways that count. It had auto
configuration and just worked in general.

PCI is vastly superior to Zorro-3 though, in both features and performance. Z3
never achieved the performance given in the specs and had quite some problems.
IIRC Dave Haynie said that he would have used PCI instead of developing Z3 if
it had been out at the time.

------
mnw21cam
See also
[https://en.wikipedia.org/wiki/Professional_File_System](https://en.wikipedia.org/wiki/Professional_File_System)
which had a slightly different method of maintaining integrity. The filesystem
metadata state would atomically change when the root block was updated, with
all the actual changes being written to free space until then. You could do a
load of writing, and hear the hard drive chugging away. Then it would finish,
wait a second, and the hard drive would go "click", which was the atomic root
block update.

It also had a rather interesting feature for log files, where you allocated a
set size, and any appending onto the end of the file that made it longer would
discard the part at the beginning of the file, without allocating any new
space.

~~~
Sophistifunk
> It also had a rather interesting feature for log files, where you allocated
> a set size, and any appending onto the end of the file that made it longer
> would discard the part at the beginning of the file, without allocating any
> new space

Neat! Thanks for that link.

------
rudolfwinestock
This was introduced four years after Commodore went bankrupt. Not even Lisp
Machine hackers have the dedication of Amiga hackers.

~~~
lispm
The Lisp Machine has an emulator ported to ARM64. Twenty years after it went
bankrupt.

~~~
eschaton
And how can one obtain this emulator?

If you can’t get it, it may as well not exist.

------
sys_64738
It wasn't diskdoctor compatible though.

~~~
bhaak
The diskdoctor was anyway more like a doctor from the stone age that killed
more patients than it saved.

~~~
obarthel
The "Disk Doctor", as shipped with AmigaOS versions 1.2-2.04 was both a crude
and cruel tool.

Its primary purpose was to "restore" a damaged volume to a state which enabled
read-access, allowing you to copy the data to a different volume. At the time
most users (myself included) viewed it as a repair tool which should have been
able to restore a damaged volume to operational state again. You needed a
second floppy disk drive to be able to copy the data to a different disk which
was a rare thing to have in the old days. So we settled for what should have
been a "fix in place" repair operation, but in reality "Disk Doctor" never
left a volume in a better state than it was before, even if the file system
structures had been sound to begin with.

The reasons why the "Disk Doctor" was so bad at repairing anything are legion.

For example, if a track could not be read because of a flipped bit or physical
damage, "Disk Doctor" would attempt to restore the entire track to a sane
state by reformatting it (physical low-level initialization). The "Disk
Doctor" uses the same buffer for reading and writing data, which means that
when it reformats a track, it will (as a side-effect) write the data that was
last read back to disk. That data was written to a different track, and if it
happened to contain file system data structures, then "Disk Doctor" would
later pick them up and try to make sense of them: it was basically "fuzzing"
itself.

Part of the diagnostic operations performed prior to "repair" was to detect
damaged or deleted file system structures, such as files or directories which
no longer had a valid parent directory ("orphans"). The "Disk Doctor" would
gather these and add them to the root directory. It did not check if there
already were files or directories present in the root directory which shared
the same names, which could have the effect of corrupting the root directory.
You might be able to list the root directory and find several files with the
same names stored in it, but accessing these would only go as far as the first
entry in the directory entry list.

When trying to recover the "orphaned" directory entries the "Disk Doctor" made
no attempt to verify that the files and directories it added to the root
directory were structurally sound. You could have ended up with fragments of
files which were deleted ages ago and whose parts had been partly overwritten
since they had been deleted. These broken file data structures could reference
data and metadata blocks, which in turn would then break the disk validation
process.

