AminetAminet
Search:
85263 packages online
About
Recent
Browse
Search
Upload
Setup
Services

driver/media/cfd140.lha

Mirror:Random
Showing: ppc-powerup icongeneric icon
No screenshot available
Short:CompactFlash PCMCIA driver for A600/1200
Author: jaroslav.pulchart at gmail.com (Jaroslav Pulchart)
Uploader:jaroslav pulchart gmail com (Jaroslav Pulchart)
Type:driver/media
Version:1.40
Architecture:m68k-amigaos >= 2.0
Date:2026-04-17
Requires:AmigaOS 2.0+, PCMCIA slot, CF-to-PCMCIA or SD-to-CF adapter
Replaces:driver/media/cfd139.lha
Download:driver/media/cfd140.lha - View contents
Readme:driver/media/cfd140.readme
Downloads:81

compactflash.device V1.40 - PCMCIA CompactFlash driver for Amiga 600/1200. Fork of driver/media/CFD133.lha.

CHANGES IN 1.40 (12.04.2026)
============================

Driver:

* CIS gate accepts only known CompactFlash device types (github issue/38)
  - Accepts cards whose CIS reports device type 0x0D (FUNCSPEC) or
    0x05 (FLASH), the two types CompactFlash cards are known to use.
  - Other memory-card types are rejected early, so the driver no
    longer tries ATA IDENTIFY on cards that are not expected to
    behave like ATA devices and will not get stuck on them.

Others:

* Rebuild by vasm 2.0e

FEATURES
========
* Supports CompactFlash, MicroDrive, and various adapters (SD, MemoryStick, SmartMedia)
* TD64 and SCSI emulation support
* Works with fat95 filesystem for FAT32 support, not excluding Amiga native
  (ffs, sfs, pfs) filesystems
* Serial debug output for troubleshooting (Flags = 8)
* Transfer speeds up to 2.2 MB/s read, 1.9 MB/s write
  (in multi-sector mode if firmware supports it or with Flags = 16 override)

REQUIREMENTS
============
* Amiga 600 or 1200 with PCMCIA slot (A1200 tested)
* AmigaOS 2.0 or higher (3.2.3 tested)
* "CompactFlash to PCMCIA/ATA" adapter card (see images/cf-type-1.jpg, images/cf-type-2.jpg)
  or SD-to-CF adapter (see images/sd-cf-adapter.jpg)
* fat95 filesystem (disk/misc/fat95.lha) recommended

INSTALLATION
============
Two versions of the driver are included:

  compactflash.device      11308 bytes  Driver with debug to serial console flag support
  compactflash.device.small 8628 bytes  Driver without debug to serial console support

Choose based on your needs:
- Use the full version if you need serial debug output (Flags = 8)
- Use small for minimal memory footprint (rename to compactflash.device)

Steps:
1. Copy devs/compactflash.device to DEVS:
   (or copy compactflash.device.small as DEVS:compactflash.device)
2. Copy c/CFInfo to C: (optional, card info utility)
3. Have fat95 installed on your system
4. Mount the drive by double-clicking devs/CF0

For OS 3.5+:
  Copy def_CF0.info to sys:prefs/env-archive/sys and env:sys

MOUNT FLAGS
===========
Set in CF0 mountlist (can be combined, e.g. Flags = 24 for debug + enforce):

  Flags = 0    /* default */
  Flags = 1    /* "cfd first" hack for PCMCIA conflicts with other drivers */
  Flags = 2    /* unused - was "skip invalid PCMCIA signature" (v1.37+) */
  Flags = 4    /* use CardResource API instead of direct chipset access */
  Flags = 8    /* output init messages to serial port at 9600 baud (v1.35+ full build) */
  Flags = 16   /* force 256 sector transfers regardless of card capability (v1.35+) */
  Flags = 32   /* skip multi-sector override auto-detection, use firmware value (v1.37+) */

SERIAL DEBUG EXAMPLE
====================
With Flags = 8, connect serial cable and monitor at 9600 baud:

  [CFD] Card inserted
  [CFD] Identifying card...
  [CFD] Reset
  [CFD] Configuring HBA
  [CFD] ..done
  [CFD] Setting voltage
  [CFD] Voltage: 5V
  [CFD] CIS gate
  [CFD] ..DEVICE: type=0x0D speed=720ns size=0x00000000
  [CFD] ..FUNCID: missing (compat)
  (or: [CFD] ..FUNCID: 0x04)
  [CFD] ..RESULT: accept
  [CFD] ..CONFIG: addr=0x00000200
  (or: [CFD] ..CONFIG: default (0x200))
  [CFD] RW test
  [CFD] ..done, transfer mode: WORD
  [CFD] Getting IDE ID
  [CFD] ..done
    Model: TS4GCF133...............................
    Serial: G68120052383AC0700C7
    FW: 20110407
    Max Multi (W47): 8001
    Capabilities (W49): 0200
    Multi Setting (W59): 0100
    LBA Sectors (W60-61): 00777E70
    DMA Modes (W63): 0000
    PIO Modes (W64): 0003
    UDMA Modes (W88): 0000
  [CFD] IDENTIFY (raw):
  W0: 848A 1E59 0000 0010 0000 0240 003F 0077 
  W8: 7E70 0000 4736 3831 3230 3035 3233 3833 
  W16: 4143 3037 3030 4337 0002 0002 0004 3230 
  W24: 3131 3034 3037 5453 3447 4346 3133 3320 
  W32: 2020 2020 2020 2020 2020 2020 2020 2020 
  W40: 2020 2020 2020 2020 2020 2020 2020 8001 
  ...
  W248: 0000 0000 0000 0000 0000 0000 0000 0000 
  [CFD] Init multi mode
  [CFD] ..max multi: 1
  [CFD] ..set multi: 1, OK
  [CFD] ..override test: OK
  [CFD] ..done, multi RW: 256
  [CFD] Card identified OK
  [CFD] Notify clients
  [CFD] Card removed

ENFORCE MULTI MODE (FLAG 16)
============================
Forces 256 sector reads/writes per IO regardless of card firmware
support to improve IO performance. Same behaviour as v1.33 and
earlier versions.

WARNING: Verify your card is capable before using for real data!
Set the flag and read any text file from CF card. The content should
not contain repeating 32-byte pattern after first 512 bytes.
See images/multimode-issue.jpg for example of broken output.

NOTE: Since v1.37, the driver auto-detects multi-sector override
capability and enables 256 sector mode when safe. This flag is now
only needed as a manual override if auto-detection fails.

Can be combined with MaxTransfer to limit sectors per IO:
  Flags = 16
  MaxTransfer = 0x10000   /* 128 sectors per IO (64 KB) */

Tested configurations (author's experience - your results may vary):
  SD-to-CF adapter (SanDisk)  32GB        - Works
  SD-to-CF adapter (Samsung)  32GB, 64GB  - Works
  CF cards                    <=4GB       - Works
  CF cards                    >4GB        - Not working

CFINFO UTILITY
==============
CFInfo displays detailed information about the inserted CF card.
Requires compactflash.device v1.36+ for IDENTIFY data, v1.37+ for driver config.

  CFInfo          ; Show info for compactflash.device unit 0
  CFInfo 1        ; Show info for unit 1

Example output:
  CFInfo 1.40 - CompactFlash Card Information
  Device:     compactflash.device unit 0
  
  === CompactFlash Card Information ===
  
  Model:      TS16GCF133
  Serial:     G64126022013C4120210
  Firmware:   20180926
  
  === Capacity ===
  Size:       15.2 GB (31522736 sectors)
  Geometry:   30401 cyl, 16 heads, 63 sectors/track
  
  === Capabilities ===
  LBA:        Yes
  DMA:        No
  PIO Modes:  0, 1, 2, 3, 4
  Multi-sect: Max 1 sectors/interrupt
  
  === Card Type ===
  Removable:  Yes
  Type:       CompactFlash
  
  === Driver Configuration ===
  Driver Ver:   1.37
  Mount Flags:  0 (none)
  Multi-sect:   FW=1, Used=256
  R/W Mode:     WORD/WORD

R/W Mode indicates how the driver accesses the PCMCIA:
  WORD        16-bit word access (standard)
  BYTE (...)  8-bit byte access variants (fallback)
  MMAP        Memory mapped word access

SOURCE CODE
===========

Source code available at: https://github.com/pulchart/cfd

Licensed under GNU LGPL v2.1

SUPPORT
=======
The improvements to this driver are developed in my free time.
If you'd like to support ongoing maintenance and experimentation,
you can do so on Ko-fi: https://ko-fi.com/jaroslavpulchart

HISTORY
=======
see https://github.com/pulchart/cfd/blob/master/README.md for complete history

CHECKSUMS
=========
compactflash.device (full, 11308 bytes):
  MD5:    e4bc57c7e0f945e594f0cc13e8ea2c3d
  SHA256: 1ae4afdd0234eb63a24ac04cfd953818c4457487d73d248fce392de9d2a832a5

compactflash.device.small (no debug, 8628 bytes):
  MD5:    b4ab2a6cf64f55e81c9c21d53b12c2d1
  SHA256: 75fcae15c1a69d28f3141baf65ffc9533492617f66a38385622a146cd15430a7

CFInfo (15564 bytes):
  MD5:    40f7c1221f3a3a2466e31818d3f9f9ea
  SHA256: 036f51b0b4310ba43a60db62decb035afabd917aed954500677bb0f45ec5ac49

pcmciacheck (14144 bytes):
  MD5:    27ea335a8606c8d49c5301423f60329b
  SHA256: f583ed64aa20c439ea45460bef2baaf10357ae56b6aa1abaeb191b49b33b9c8a

pcmciaspeed (9264 bytes):
  MD5:    47212b103dd94ffa3116ef07b3a4cdef
  SHA256: 32ea11e0f4d1587fbc85587a39bee21c66abc62a33e301651eed585535c88610

CONTENTS
========
cfd/c/CFInfo      - Card information utility (displays model, size, capabilities)
cfd/c/pcmciacheck - PCMCIA check utility
cfd/c/pcmciaspeed - Speed test utility

cfd/devs/CF0                       - Mountlist entry (with flags documentation)
cfd/devs/compactflash.device       - Driver with debug to serial console flag support
cfd/devs/compactflash.device.small - Driver without debug to serial console support

cfd/docs/cfd.guide         - Main documentation (AmigaGuide)
cfd/docs/CFInfo.guide      - CFInfo utility documentation (AmigaGuide)
cfd/docs/pcmciacheck.guide - pcmciacheck utility documentation (AmigaGuide)
cfd/docs/pcmciaspeed.guide - pcmciaspeed utility documentation (AmigaGuide)

cfd/src/ - Full source code (assembler + C)

cfd/images/cf-type-1.jpg        - CF Type 1 adapter photo
cfd/images/cf-type-2.jpg        - CF Type 2 adapter photo (also MicroDrive)
cfd/images/sd-cf-adapter.jpg    - SD-to-CF adapter photo
cfd/images/multimode-issue.jpg  - Example of broken output with unsupported enforce multi mode

cfd/LICENSE - GNU LGPL v2.1

"CompactFlash" is (TM) by CompactFlash Association


Contents of driver/media/cfd140.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 17 05:38 cfd/
-rw-r--r--  1000/1000     9637   26526  36.3% -lh5- e336 Apr 17 05:38 cfd/LICENSE
-rw-r--r--  1000/1000      251     473  53.1% -lh5- 876c Apr 17 05:38 cfd/LICENSE.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 17 05:38 cfd/c/
-rwxr-xr-x  1000/1000     8724   15564  56.1% -lh5- 0d55 Apr 17 05:38 cfd/c/CFInfo
-rwxr-xr-x  1000/1000     8343   14144  59.0% -lh5- d178 Apr 17 05:38 cfd/c/pcmciacheck
-rwxr-xr-x  1000/1000     5540    9264  59.8% -lh5- 6ac2 Apr 17 05:38 cfd/c/pcmciaspeed
-rw-r--r--  1000/1000     1444    1994  72.4% -lh5- 7f7b Apr 17 05:38 cfd/c.info
-rw-r--r--  1000/1000     4071    9152  44.5% -lh5- 86ff Apr 17 05:38 cfd/cfd.readme
-rw-r--r--  1000/1000      250     473  52.9% -lh5- 7d29 Apr 17 05:38 cfd/cfd.readme.info
-rw-r--r--  1000/1000     1695    1958  86.6% -lh5- da76 Apr 17 05:38 cfd/def_CF0.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 17 05:38 cfd/devs/
-rw-r--r--  1000/1000      507     805  63.0% -lh5- d443 Apr 17 05:38 cfd/devs/CF0
-rw-r--r--  1000/1000     1460    2431  60.1% -lh5- 81de Apr 17 05:38 cfd/devs/CF0.info
-rw-r--r--  1000/1000     6964   11308  61.6% -lh5- 5a74 Apr 17 05:38 cfd/devs/compactflash.device
-rw-r--r--  1000/1000     5350    8628  62.0% -lh5- 16b0 Apr 17 05:38 cfd/devs/compactflash.device.small
-rw-r--r--  1000/1000     1444    1994  72.4% -lh5- fc44 Apr 17 05:38 cfd/devs.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 17 05:38 cfd/docs/
-rw-r--r--  1000/1000     4714   18262  25.8% -lh5- 6278 Apr 17 05:38 cfd/docs/CFInfo.guide
-rw-r--r--  1000/1000    12775   43198  29.6% -lh5- 4119 Apr 17 05:38 cfd/docs/cfd.guide
-rw-r--r--  1000/1000     3626   13905  26.1% -lh5- 5bae Apr 17 05:38 cfd/docs/pcmciacheck.guide
-rw-r--r--  1000/1000     1647    5753  28.6% -lh5- a182 Apr 17 05:38 cfd/docs/pcmciaspeed.guide
-rw-r--r--  1000/1000     1446    1994  72.5% -lh5- afa5 Apr 17 05:38 cfd/docs.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 17 05:38 cfd/images/
-rw-r--r--  1000/1000    48501   48688  99.6% -lh5- 1172 Apr 17 05:38 cfd/images/cf-type-1.jpg
-rw-r--r--  1000/1000    83898   84062  99.8% -lh5- cedd Apr 17 05:38 cfd/images/cf-type-2.jpg
-rw-r--r--  1000/1000    82156   82371  99.7% -lh5- 37e1 Apr 17 05:38 cfd/images/multimode-issue.jpg
-rw-r--r--  1000/1000    28360   30514  92.9% -lh5- 0f36 Apr 17 05:38 cfd/images/sd-cf-adapter.jpg
-rw-r--r--  1000/1000     1446    1994  72.5% -lh5- 2aad Apr 17 05:38 cfd/images.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 17 05:38 cfd/src/
-rw-r--r--  1000/1000    34532  114151  30.3% -lh5- 5d25 Apr 17 05:38 cfd/src/cfd.s
-rw-r--r--  1000/1000     3145    9357  33.6% -lh5- b7e5 Apr 17 05:38 cfd/src/cfd_debug.i
-rw-r--r--  1000/1000      122     138  88.4% -lh5- 5e07 Apr 17 05:38 cfd/src/cfd_version.i
-rw-r--r--  1000/1000     5089   16998  29.9% -lh5- 2911 Apr 17 05:38 cfd/src/cfinfo.c
-rw-r--r--  1000/1000      334     653  51.1% -lh5- 333c Apr 17 05:38 cfd/src/common.h
-rw-r--r--  1000/1000     5848   24255  24.1% -lh5- 807e Apr 17 05:38 cfd/src/pcmciacheck.c
-rw-r--r--  1000/1000      972    3003  32.4% -lh5- 1eca Apr 17 05:38 cfd/src/pcmciacheck.h
-rw-r--r--  1000/1000     2087    5966  35.0% -lh5- 4b03 Apr 17 05:38 cfd/src/pcmciaspeed.c
-rw-r--r--  1000/1000     1448    1994  72.6% -lh5- 3d58 Apr 17 05:38 cfd/src.info
-rw-r--r--  1000/1000     1447    1994  72.6% -lh5- ddab Apr 17 05:38 cfd.info
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        40 files  379273  613964  61.8%            Apr 17 12:18
Page generated in 0.06 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>