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

driver/media/cfd141.lha

Mirror:Random
Showing: m68k-amigaos iconppc-amigaos iconppc-morphos iconi386-aros iconi386-amithlon iconppc-warpup iconppc-powerup icongeneric iconother 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.41
Architecture:m68k-amigaos
Date:2026-04-19
Requires:AmigaOS 2.0+, PCMCIA slot, CF-to-PCMCIA or SD-to-CF adapter
Replaces:driver/media/cfd140.lha
Download:driver/media/cfd141.lha - View contents
Readme:driver/media/cfd141.readme
Downloads:45

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

CHANGES IN 1.41 (18.04.2026)
============================

Driver:

This release focuses on stability and CPU compatibility improvements across
both CPU tiers (68000/68010 and 68020+).

* Read/write path streamlined: an internal cleanup in the IO code path.
* The driver now ships two CPU tiers:
  68020+ (A1200 stock, 030/040/060/080 accelerators) at devs/68020/compactflash.device
  68000  (stock A600) at devs/68000/compactflash.device.
* 68020+ build uses native 32-bit math

Others:

* Experimental COPYBURST build option removed (had no effect in practice)

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 CPU tiers are included, each in full and small flavours:

  68020+ (A1200 stock, 68020+ accelerators -- 030/040/060/080):
    devs/68020/compactflash.device      11344 bytes   debug-capable
    devs/68020/compactflash.device.small 8552 bytes   no debug code

  68000 (stock A600):
    devs/68000/compactflash.device      11480 bytes   debug-capable
    devs/68000/compactflash.device.small 8684 bytes   no debug code

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 the driver for your CPU tier to DEVS:
     - A1200 + accelerators: devs/68020/compactflash.device
     - Stock A600:           devs/68000/compactflash.device
   (or the .small variant renamed to 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. The first
line is a version banner that identifies the driver version and CPU tier
([68020] or [68000]):

  [CFD] compactflash.device 1.41 (17.04.2026) [68020]
  [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.41 - 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, 11344 bytes):
  MD5:    173034da85b667e6f8f87a1252ba7e80
  SHA256: 604a077158e81b6a0f09eeb4c90f83f7b662870b9bed0facdca574f1d0dcf0cf

compactflash.device.small (no debug, 8552 bytes):
  MD5:    59582c8fd551436470eb22a68ff95efe
  SHA256: d3d95d9ab556607ae023a6fde5295645fe01d41d731b5b94b92f8e42048c2fae

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/68020/compactflash.device       - 68020+ driver with debug to serial console flag support
cfd/devs/68020/compactflash.device.small - 68020+ driver without debug to serial console support
cfd/devs/68000/compactflash.device       - 68000 driver with debug to serial console flag support
cfd/devs/68000/compactflash.device.small - 68000 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/cfd141.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 18 18:57 cfd/
-rw-r--r--  1000/1000     9637   26526  36.3% -lh5- e336 Apr 18 18:57 cfd/LICENSE
-rw-r--r--  1000/1000      251     473  53.1% -lh5- 876c Apr 18 18:57 cfd/LICENSE.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 18 18:57 cfd/c/
-rwxr-xr-x  1000/1000     8724   15564  56.1% -lh5- 0d55 Apr 18 18:57 cfd/c/CFInfo
-rwxr-xr-x  1000/1000     8343   14144  59.0% -lh5- d178 Apr 18 18:57 cfd/c/pcmciacheck
-rwxr-xr-x  1000/1000     5540    9264  59.8% -lh5- 6ac2 Apr 18 18:57 cfd/c/pcmciaspeed
-rw-r--r--  1000/1000     1444    1994  72.4% -lh5- 7f7b Apr 18 18:57 cfd/c.info
-rw-r--r--  1000/1000     4291    9950  43.1% -lh5- 0272 Apr 18 18:57 cfd/cfd.readme
-rw-r--r--  1000/1000      250     473  52.9% -lh5- 7d29 Apr 18 18:57 cfd/cfd.readme.info
-rw-r--r--  1000/1000     1695    1958  86.6% -lh5- da76 Apr 18 18:57 cfd/def_CF0.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 18 18:57 cfd/devs/
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 18 18:57 cfd/devs/68000/
-rw-r--r--  1000/1000     7086   11480  61.7% -lh5- e270 Apr 18 18:57 cfd/devs/68000/compactflash.device
-rw-r--r--  1000/1000     5438    8684  62.6% -lh5- ef4f Apr 18 18:57 cfd/devs/68000/compactflash.device.small
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 18 18:57 cfd/devs/68020/
-rw-r--r--  1000/1000     6983   11344  61.6% -lh5- b891 Apr 18 18:57 cfd/devs/68020/compactflash.device
-rw-r--r--  1000/1000     5336    8552  62.4% -lh5- d5eb Apr 18 18:57 cfd/devs/68020/compactflash.device.small
-rw-r--r--  1000/1000      507     805  63.0% -lh5- d443 Apr 18 18:57 cfd/devs/CF0
-rw-r--r--  1000/1000     1460    2431  60.1% -lh5- 81de Apr 18 18:57 cfd/devs/CF0.info
-rw-r--r--  1000/1000     1444    1994  72.4% -lh5- fc44 Apr 18 18:57 cfd/devs.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 18 18:57 cfd/docs/
-rw-r--r--  1000/1000     4714   18262  25.8% -lh5- 6278 Apr 18 18:57 cfd/docs/CFInfo.guide
-rw-r--r--  1000/1000    14752   49723  29.7% -lh5- 1eb5 Apr 18 18:57 cfd/docs/cfd.guide
-rw-r--r--  1000/1000     3626   13905  26.1% -lh5- 5bae Apr 18 18:57 cfd/docs/pcmciacheck.guide
-rw-r--r--  1000/1000     1647    5753  28.6% -lh5- a182 Apr 18 18:57 cfd/docs/pcmciaspeed.guide
-rw-r--r--  1000/1000     1446    1994  72.5% -lh5- afa5 Apr 18 18:57 cfd/docs.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 18 18:57 cfd/images/
-rw-r--r--  1000/1000    48501   48688  99.6% -lh5- 1172 Apr 18 18:57 cfd/images/cf-type-1.jpg
-rw-r--r--  1000/1000    83898   84062  99.8% -lh5- cedd Apr 18 18:57 cfd/images/cf-type-2.jpg
-rw-r--r--  1000/1000    82156   82371  99.7% -lh5- 37e1 Apr 18 18:57 cfd/images/multimode-issue.jpg
-rw-r--r--  1000/1000    28360   30514  92.9% -lh5- 0f36 Apr 18 18:57 cfd/images/sd-cf-adapter.jpg
-rw-r--r--  1000/1000     1446    1994  72.5% -lh5- 2aad Apr 18 18:57 cfd/images.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Apr 18 18:57 cfd/src/
-rw-r--r--  1000/1000    36717  117965  31.1% -lh5- be6d Apr 18 18:57 cfd/src/cfd.s
-rw-r--r--  1000/1000     3155    9416  33.5% -lh5- 9e84 Apr 18 18:57 cfd/src/cfd_debug.i
-rw-r--r--  1000/1000      150     227  66.1% -lh5- 5063 Apr 18 18:57 cfd/src/cfd_version.i
-rw-r--r--  1000/1000     5089   16998  29.9% -lh5- 2911 Apr 18 18:57 cfd/src/cfinfo.c
-rw-r--r--  1000/1000      334     653  51.1% -lh5- 333c Apr 18 18:57 cfd/src/common.h
-rw-r--r--  1000/1000     5848   24255  24.1% -lh5- 807e Apr 18 18:57 cfd/src/pcmciacheck.c
-rw-r--r--  1000/1000      972    3003  32.4% -lh5- 1eca Apr 18 18:57 cfd/src/pcmciacheck.h
-rw-r--r--  1000/1000     2087    5966  35.0% -lh5- 4b03 Apr 18 18:57 cfd/src/pcmciaspeed.c
-rw-r--r--  1000/1000     1448    1994  72.6% -lh5- 3d58 Apr 18 18:57 cfd/src.info
-rw-r--r--  1000/1000     1447    1994  72.6% -lh5- ddab Apr 18 18:57 cfd.info
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        44 files  396222  645373  61.4%            Apr 19 00:26
Page generated in 0.05 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>