My SmartMedia card was having problems. The best I could do was
# dd if=/dev/sda of=/var/local/sm
before further experiments wiped it out completely.

I see what perhaps is a VFAT directory at byte 0xA000, and I can even
see some of my jpg's with e.g.,
$ dd skip=96 if=/var/local/sm |xli /dev/stdin

hexdump showed
00001f0 0000 0000 0000 0000 0000 0000 0000 a855 #the end of the superblock, eh.
Which I changed to aa55, so now at least I can get fdisk to show me
Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID
1 80 1 24 0 5 32 497 55 127433 01
Partition 1 has different physical/logical endings:
phys=(497, 5, 32) logical=(663, 5, 32)
However
$ dd skip=55 if=/var/local/sm of=/tmp/d1
and then trying to mount it -o loop gives
FAT: bogus logical sector size 65535
VFS: Can't find a valid FAT filesystem on dev loop0.

Partition-Rescue-HOWTO etc. didn't help.
# fsck.vfat -vVaw /var/local/sm doesn't seem to do anything.