• Please review our updated Terms and Rules here

Compact flash woes with DOS palmtops

jhhoward

Member
Joined
Sep 1, 2019
Messages
39
I have a small collection of DOS palmtop computers: an HP 100LX, a Sharp PC-3000 and a clone of a Tidalwave PS-1000
They all have PCMCIA slots, so I use a compact flash adapter and 32MB compact flash cards, to store data and easily transfer files between my modern PC and the palmtops. I also have a single 256k SRAM card which came with one of the palmtops when I purchased it.

To get the cards working:
- The HP 100LX, the compact flash cards worked out of the box.
- The Sharp PC3000 needs the SUNDRV driver (archived here: https://archive.org/details/sharp-pc...ftware-support)
- The Tidalwave clone needs the MM_ATA.SYS driver (https://www.vcfed.org/forum/forum/ge...alwave-palmtop). I also had to take the compact flash adapter out of its metal case to make it physically fit in the Tidalwave's slot.

Everything was working fine with two 32MB compact flash cards - I was able to copy files from my modern PC using a USB to compact flash adapter, and run programs on the three different palmtops. At some point, one of the cards became unreadable, which I had assumed was due to its age. Then the other card stopped working too. They seem to now be in a strange state where I am able to reformat the cards and use them on the modern PC (via USB adapter) and a Windows 98 laptop (using the laptop's PCMCIA port) but they remain unusable for the palmtops. Previously I was able to reformat them on the palmtops themselves but they are no longer recognised by the hardware. My current theories are:
- Maybe a dodgy USB port on the modern PC, as I've previously noticed devices disconnecting / reconnecting. Perhaps this happened during a write and corrupted the cards?
- The Tidalwave was the most recent purchase of mine so maybe the MM_ATA.SYS driver corrupted something?
- The Sharp PC3000 and Tidalwave both like to drain through AA batteries quickly so may have died with the compact flash cards still inserted. Hasn't been a problem with the Sharp before but the Tidalwave is newer so a possibility.

I have just purchased a new 4MB compact flash card which seems to be working fine. Before I start using it properly (and potentially corrupt it again) is there a way to dump any additional metadata from the card? Maybe the 32MB cards have had some metadata / system level flags corrupted but can be recovered somehow?

EDIT:
So an interesting observation: when I plug in the working 4MB card into my Windows 98 laptop, the PCMCIA service describes it as 'SanDisk ATA FlashDisk' but when I try with the (not working on palmtops) 32MB card, it reports it as 'Standard IDE/ESDI Hard Disk Controller'
 
Last edited:
So an interesting observation: when I plug in the working 4MB card into my Windows 98 laptop, the PCMCIA service describes it as 'SanDisk ATA FlashDisk' but when I try with the (not working on palmtops) 32MB card, it reports it as 'Standard IDE/ESDI Hard Disk Controller'
As for that, this is normal. PCMCIA flash cards are exactly that: flash cards. CF cards however are ATA devices, not flash cards (from what the PCMCIA controller sees - it does not know of the technology used by the card).
 
As for that, this is normal. PCMCIA flash cards are exactly that: flash cards. CF cards however are ATA devices, not flash cards (from what the PCMCIA controller sees - it does not know of the technology used by the card).

Ok so just to clarify, both the 4MB and 32MB cards I mentioned are compact flash cards, using a passive PCMCIA adapter. I don't actually own a PCMCIA flash card (although I do have a 256k SRAM card!)
 
That is odd then. Maybe those ancient 4 MB cards were made with backward compatibility in mind and report themself different to the host.

One thing you could try: use a more modern machine and do a "diskpart clean" on the CF card. Do *not* format it after that. Put it into the palmtop and try to format it there instead.
 
That Tidalwave driver was my creation, didn't get any replies at the time so I'm a bit surprised someone else is using it :)

I don't see how it could have corrupted anything by itself, but it expects a valid MBR with a single DOS partition (FAT12 or 16). Unless there is some bug, the driver should only access sectors within that partition, and I didn't bother to make a format utility to go along with it.

Could Windows 98 or your modern machine have reformatted the card "floppy-like", i.e. without the MBR?

The driver should print a message "No DOS partition found" in that case, but there is little error checking so it could also get confused and interpret random bytes from the boot sector as a partition entry. It would be helpful to know what messages you see when the driver is loaded.

If the hardware itself still works (seems to be the case), you could try the SUNDRV format utility on the PC-3000, or some partitioning program on the modern PC. Maybe also FDISK on Win98, although I'm dubious if that would work with a card drive.
 
OK, so an interesting development with the 32MB card! I used FDISK on my Windows 98 machine and recreated the partition, and then I used FORMAT /B (I assumed the /B creates space for the MBR?). It was then working with the Tidalwave machine + Tidalwave driver. It also worked on the Sharp PC-3000 with the SUNDRV driver. However it didn't work with the HP100LX, which usually works without even needing a driver.

At this point the card would work on everything apart from the HP100LX. I then used SDISK and then SFORMAT on the PC-3000 which worked successfully. I had previously tried SDISK / SFORMAT but got an error that the card wasn't recognised as a Sundisk card. At this point, after running SDISK / SFORMAT, the card worked with all three palmtops, but NOT the Win98 machine!

In one last ditch effort, I ran FORMAT on the HP100LX and it now works on all three palmtops and the Win98 machine!

So the weird set of steps I got for this to work:
- Use Win98 machine: FDISK to recreate the partition, FORMAT /B to format the drive
- Use the Sharp PC-3000 and run SDISK / SFORMAT on the drive
- Use the HP100LX to FORMAT the drive again

I had another 32MB card which was also having problems, so this time I got the steps down to:
- Use Win98 machine FDISK to delete and recreate the partition
- Use the Sharp PC-3000 SDISK
- Use the HP100LX to FORMAT the drive

I don't really understand why this works but I'm happy my cards are working again! I wonder what the various formatting programs are doing differently that cause these behaviours? Maybe there is some metadata in the partition table or something? Is there a way I can just dump out the raw contents of the drive to see what is going on?
 
OK, so an interesting development with the 32MB card! I used FDISK on my Windows 98 machine and recreated the partition, and then I used FORMAT /B (I assumed the /B creates space for the MBR?). It was then working with the Tidalwave machine + Tidalwave driver. It also worked on the Sharp PC-3000 with the SUNDRV driver. However it didn't work with the HP100LX, which usually works without even needing a driver.

At this point the card would work on everything apart from the HP100LX. I then used SDISK and then SFORMAT on the PC-3000 which worked successfully. I had previously tried SDISK / SFORMAT but got an error that the card wasn't recognised as a Sundisk card. At this point, after running SDISK / SFORMAT, the card worked with all three palmtops, but NOT the Win98 machine!

In one last ditch effort, I ran FORMAT on the HP100LX and it now works on all three palmtops and the Win98 machine!

FORMAT on Windows does nothing to the MBR, that's what FDISK is for.

The HP palmtop seem to be the "pickiest" one. I believe that 32 MB might also be the maximum it can support without a special driver, so maybe the card is just slightly too large when formatted in another machine. That last step might have been all that was needed.

I don't really understand why this works but I'm happy my cards are working again! I wonder what the various formatting programs are doing differently that cause these behaviours? Maybe there is some metadata in the partition table or something? Is there a way I can just dump out the raw contents of the drive to see what is going on?

On Linux, you could simply use any hex editor on /dev/sd{whatever}. I don't know what the current best solution for Windows is, but I haved used this program before:

https://roadkil.net/program.php/P24/Sector Editor
 
Usually to get CF cards working on the 200LX, I have to put them in the palmtop, run FDISK100 to (presumably) set up the MBR properly, then either use FORMAT on the palmtop, or on a Windows 95 laptop. I usually use Win95, because there are switches that let you control the block size - the palmtop will format with a small block size, i.e. lots of blocks, and very long delays when checking free space on large cards. I suspect Win98 can customize the block size too, but I don't have any Win98 laptops to test on. :) I've not had any luck getting this to work on XP.

I've had success getting SanDisk cards up to 256 MB working on the 200LX with no additional drivers required. That's what I have in mine now, formatted with an 8K allocation unit size.
 
Hi,

Like the original poster, I have a HP 200LX, Sharp PC-3100, and a Tidalwave (clone?) PS-1000.

Got a working SRAM card for these machines.

Now I would like to get a CF card working too in the PC-3100 and PS-1000.

Please note that I am not a DOS expert. That is why I have the questions below and would like help with installing.

A. Sharp PC-3100

Not really clear as to how to install the SUNDRV driver on the PC-3100.

Do I copy all the unzipped files to the D: drive and then run 'sinstall.exe' or ????


B. Tidalwave PS-1000

Not really clear how to install the tidalcf2 driver.

I read the 'Readme' file and it mentions copying the files to a SRAM card. But not sure what to do exactly after that.


Thanks for any help with this. Greatly appreciate it!

Mark
 
Not really clear how to install the tidalcf2 driver.

I read the 'Readme' file and it mentions copying the files to a SRAM card. But not sure what to do exactly after that.

Just run the TIDALCF.COM file. The included AUTOEXEC.BAT is there so you can copy it on a SRAM card and have the driver automatically load whenever you reboot the palmtop.

(That's a standard feature of DOS, in case you didn't know. It's just a text file of commands to run automatically.)

Beware that while the driver seems stable enough, having a CF card plugged in even when "powered off" will drain the battery really quickly (about 24 hours!). I am not sure how - or even if! - this can be fixed, it would take a lot more poking around with I/O ports while having some setup to measure if it disconnects power to the card. There is absolutely no documentation on the Tidalwave chip, the ports are frequently write-only and outputting the wrong byte can crash the machine and corrupt memory. Maybe even damage the hardware, since mine no longer works with AC adapter connected, just batteries.
 
Thank you, dreNorteR, for your helpful reply and info!

Greatly appreciate it!

Will give this a try....
 
Just wanted to add my thanks to dreNorter for the driver file. Also, I've had this pc3000 palmtop for about 2 years, got the CF card working but didn't realize that the battery drain was abnormal. I also have a 1 mb sram card so I will use that as my primary storage device and then only run the CF card if I need access to larger data storage/occassionally. It's a really cool device but I don't really use it much. I was lucky enough to go from apple II to a 80286 so skipped the 8088 era. Great to see the support still around. BTW, there is a torrent going around with the pc3000 docs and files if you are looking for more resources.
 
Back
Top