PC/GEOS for the 3Com Audrey: card image
=======================================

FreeDOS, the full PC/GEOS Ensemble and the Audrey's drivers, started by
FlashBoot, for a 32 MB CompactFlash card.

  audrey-pcgeos-card.img  the card image, for a card of exactly 63,744
                          sectors (32,636,928 bytes)
  audrey-pcgeos.cf        the same system as a plain image, to make a card
                          image for any other card with mkcf.py
  mkcf.py                 makes that card image

Your card's size
The Audrey looks for a marker in the card's last sector, so the card image
must match the card. Use a 32 MB CompactFlash card (one that identifies as
CompactFlash: some larger cards are refused).
1. Find its size in 512-byte sectors:
     Linux:   sudo blockdev --getsz /dev/sdX
     Windows: PowerShell, Get-Disk; Size divided by 512
     macOS:   diskutil info /dev/diskN, "512-Byte-Units"
2. If that is 63744, use audrey-pcgeos-card.img as it is. Otherwise, with
   Python 3:
     python3 mkcf.py --log audrey-pcgeos.cf SECTORS mycard.img
   --log adds the card's D: partition and needs mtools and dosfstools
   (Linux, or WSL on Windows). Without --log the card still boots GEOS,
   but has no D:, boot log or switches.

Writing it
- Write the image to the whole card with dd, Win32 Disk Imager, balenaEtcher
  or similar.

Booting it (the Audrey's flash is not touched)
- Unplug the Audrey and put the card in.
- Hold the Datebook button and plug the power in. The firmware copies the
  card into RAM and runs it; the flash keeps its QNX.
  Do NOT hold Datebook together with Power: that writes the card to the flash.
- FlashBoot's messages come first, then FreeDOS, then GEOS.
- C: is the system in RAM: changes to it are lost at power-off.
  D: is the card's second partition: it keeps its files, and every boot
  writes D:\BOOT.LOG there.
- Take the card out before unplugging.

Switches: empty files on D: change the next boot
  NOGEOS.TXT    stop at the DOS prompt
  MODEM.TXT     load the modem driver before GEOS (it needs D:\AUDREY.FW)
  NOUSB.TXT     leave USB out
  NOMOUSE.TXT   leave the DOS mouse out
  NOIR.TXT      leave the IR keyboard out
  NOBTN.TXT     leave the buttons out
  (echo x > D:\NOGEOS.TXT makes one, del D:\NOGEOS.TXT removes it.)

The modem
The modem's DSP firmware is 3Com's and is not included. Cut it from an
Audrey image that contains 3Com's modem driver, with rsmodem-fwcutter.py
from audrey-pcgeos-drivers.zip, copy the result to the card as D:\AUDREY.FW, and add
D:\MODEM.TXT. The modem driver is experimental.

Sources and licences
- FreeDOS 1.3 (kernel, FreeCOM, HIMEMX, SHSUCDX, DEVLOAD) and CuteMouse
  are GPL; their sources come with the FreeDOS 1.3 distribution
  (https://www.freedos.org).
- PC/GEOS Ensemble is the bluewaysw build, Apache License 2.0
  (https://github.com/bluewaysw/pcgeos).
- FlashBoot, the Audrey drivers, GeoBridge and the modem driver:
  https://github.com/1hedu/pcgeos-audrey
