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

driver/media/cfd138.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.38
Architecture:m68k-amigaos
Date:2026-01-29
Requires:AmigaOS 2.0+, PCMCIA slot, CF-to-PCMCIA or SD-to-CF adapter
Download:driver/media/cfd138.lha - View contents
Readme:driver/media/cfd138.readme
Downloads:92

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

CHANGES IN 1.38 (27.01.2026)
============================

Driver:

Reworks CIS handling to avoid side effects with non-storage PCMCIA cards (e.g. WiFi) and restores PCMCIA (Gayle) timing setup.

* CIS gate (PCMCIA card type filter) fixes github issue #25
  - Reads `CISTPL_FUNCID` (when available) and rejects non-disk cards
    early to avoid interfering with other PCMCIA devices (e.g. WiFi).
  - If `CISTPL_FUNCID` is missing/unreadable, the driver continues
    for compatibility (some CF cards/adapters do not provide reliable
    CIS tuples).

* PCMCIA (Gayle) timing setup
  - Restores access timing setup from CISTPL_DEVICE via CardAccessSpeed
    (v1.37 didn't program timing based on CIS speed).

Tools:
* pcmciacheck: Simplified test output

Others:
* documentation improvements

FEATURES
========
* Supports CompactFlash, MicroDrive, and various adapters (SD, MemoryStick, SmartMedia)
* TD64 and SCSI emulation support
* Works with fat95 filesystem for FAT32 support
* 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-pcmcia-adapter.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      11276 bytes  Driver with debug to serial console flag support
  compactflash.device.small 8452 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
  [CFD] Transfer: WORD
  [CFD] Getting IDE ID
  [CFD] ..done
  [CFD] Model: TS4GCF133...............................
  [CFD] Serial: G68120052383AC0700C7
  [CFD] FW: 20110407
  [CFD] IDENTIFY:
    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] ..card supports max multi: 1
  [CFD] ..setting multi mode to: 1
  [CFD] ..OK
  [CFD] ..testing multi-sector capability...
  [CFD] ..DRQ issue not detected
  [CFD] ..auto-enabling 256 sector mode
  [CFD] ..multi-sector RW size: 256
  [CFD] ..done
  [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.38 - 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, 11276 bytes):
  MD5:    0f2c8cb62cebe05a1c6491611f9a28d1
  SHA256: 83b637890af9396aae14933f05ef3d9ff71b5fae4975ff16c1f17934e594429e

compactflash.device.small (no debug, 8452 bytes):
  MD5:    bfb90753e4be5f79e350ab624e26d4bc
  SHA256: 95ca46430f926534c40f2daae41f85dd2f9e7211a3bce22a0e2682f5d85f9bb5

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-pcmcia-adapter.jpg - CF-to-PCMCIA adapter photo
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/cfd138.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Jan 27 19:25 cfd/
-rw-r--r--  1000/1000     9637   26526  36.3% -lh5- e336 Jan 27 19:25 cfd/LICENSE
-rw-r--r--  1000/1000      251     473  53.1% -lh5- 876c Jan 27 19:25 cfd/LICENSE.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Jan 27 19:25 cfd/c/
-rwxr-xr-x  1000/1000     8724   15564  56.1% -lh5- 0d55 Jan 27 19:25 cfd/c/CFInfo
-rwxr-xr-x  1000/1000     8343   14144  59.0% -lh5- d178 Jan 27 19:25 cfd/c/pcmciacheck
-rwxr-xr-x  1000/1000     5540    9264  59.8% -lh5- 6ac2 Jan 27 19:25 cfd/c/pcmciaspeed
-rw-r--r--  1000/1000     1444    1994  72.4% -lh5- 7f7b Jan 27 19:25 cfd/c.info
-rw-r--r--  1000/1000     4185    9500  44.1% -lh5- 5e49 Jan 27 19:25 cfd/cfd138.readme
-rw-r--r--  1000/1000      250     473  52.9% -lh5- 7d29 Jan 27 19:25 cfd/cfd138.readme.info
-rw-r--r--  1000/1000     1695    1958  86.6% -lh5- da76 Jan 27 19:25 cfd/def_CF0.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Jan 27 19:25 cfd/devs/
-rw-r--r--  1000/1000      507     805  63.0% -lh5- d443 Jan 27 19:25 cfd/devs/CF0
-rw-r--r--  1000/1000     1460    2431  60.1% -lh5- 81de Jan 27 19:25 cfd/devs/CF0.info
-rw-r--r--  1000/1000     6906   11276  61.2% -lh5- 400e Jan 27 19:25 cfd/devs/compactflash.device
-rw-r--r--  1000/1000     5252    8452  62.1% -lh5- 9a09 Jan 27 19:25 cfd/devs/compactflash.device.small
-rw-r--r--  1000/1000     1444    1994  72.4% -lh5- fc44 Jan 27 19:25 cfd/devs.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Jan 27 19:25 cfd/docs/
-rw-r--r--  1000/1000     4707   18160  25.9% -lh5- 6690 Jan 27 19:25 cfd/docs/CFInfo.guide
-rw-r--r--  1000/1000    11625   39237  29.6% -lh5- 0352 Jan 27 19:25 cfd/docs/cfd.guide
-rw-r--r--  1000/1000     3622   13805  26.2% -lh5- ddda Jan 27 19:25 cfd/docs/pcmciacheck.guide
-rw-r--r--  1000/1000     1638    5715  28.7% -lh5- 85ec Jan 27 19:25 cfd/docs/pcmciaspeed.guide
-rw-r--r--  1000/1000     1446    1994  72.5% -lh5- afa5 Jan 27 19:25 cfd/docs.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Jan 27 19:25 cfd/images/
-rw-r--r--  1000/1000    48501   48688  99.6% -lh5- 1172 Jan 27 19:25 cfd/images/cf-pcmcia-adapter.jpg
-rw-r--r--  1000/1000     2336    2925  79.9% -lh5- e3ec Jan 27 19:25 cfd/images/cf-pcmcia-adapter.jpg.info
-rw-r--r--  1000/1000    82156   82371  99.7% -lh5- 37e1 Jan 27 19:25 cfd/images/multimode-issue.jpg
-rw-r--r--  1000/1000     2336    2925  79.9% -lh5- e3ec Jan 27 19:25 cfd/images/multimode-issue.jpg.info
-rw-r--r--  1000/1000    28360   30514  92.9% -lh5- 0f36 Jan 27 19:25 cfd/images/sd-cf-adapter.jpg
-rw-r--r--  1000/1000     2336    2925  79.9% -lh5- e3ec Jan 27 19:25 cfd/images/sd-cf-adapter.jpg.info
-rw-r--r--  1000/1000     1446    1994  72.5% -lh5- 2aad Jan 27 19:25 cfd/images.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Jan 27 19:25 cfd/src/
-rw-r--r--  1000/1000    33600  111313  30.2% -lh5- 959a Jan 27 19:25 cfd/src/cfd.s
-rw-r--r--  1000/1000     3059    9108  33.6% -lh5- 3d26 Jan 27 19:25 cfd/src/cfd_debug.asm
-rw-r--r--  1000/1000     5089   16998  29.9% -lh5- 2911 Jan 27 19:25 cfd/src/cfinfo.c
-rw-r--r--  1000/1000      334     653  51.1% -lh5- 333c Jan 27 19:25 cfd/src/common.h
-rw-r--r--  1000/1000     5848   24255  24.1% -lh5- 807e Jan 27 19:25 cfd/src/pcmciacheck.c
-rw-r--r--  1000/1000      972    3003  32.4% -lh5- 1eca Jan 27 19:25 cfd/src/pcmciacheck.h
-rw-r--r--  1000/1000     2087    5966  35.0% -lh5- 4b03 Jan 27 19:25 cfd/src/pcmciaspeed.c
-rw-r--r--  1000/1000      131     152  86.2% -lh5- add4 Jan 27 19:25 cfd/src/version.i
-rw-r--r--  1000/1000     1448    1994  72.6% -lh5- 3d58 Jan 27 19:25 cfd/src.info
-rw-r--r--  1000/1000     1447    1994  72.6% -lh5- ddab Jan 27 19:25 cfd.info
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        42 files  300162  531543  56.5%            Jan 29 23:31
Page generated in 0.02 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>