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

driver/media/cfd136.lha

Mirror:Random
Showing: ppc-morphos 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.36
Architecture:m68k-amigaos >= 2.0.0
Date:2026-01-08
Requires:PCMCIA slot, CF-to-PCMCIA or SD-to-CF adapter
Replaces:driver/media/cfd134.lha
Download:driver/media/cfd136.lha - View contents
Readme:driver/media/cfd136.readme
Downloads:106

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

CHANGES IN 1.36 (08.01.2026)
============================
Driver:
* MuForce hit fix when using Format (issue #8)
  - Fixed memory access issue detected by MuForce during disk formatting
* Clear stale card data on removal
  - Prevents stale data when no card is present or after card swap
  - IDE status, error, addresses, multi-sector settings now cleared on card removal
  - 512-byte IDENTIFY buffer fully cleared (model, serial, firmware, capacity)
* SD-to-CF adapter retry fix (introduced in v1.33)
  - When ATA IDENTIFY retries exhaust, now tries ATAPI IDENTIFY PACKET DEVICE
  - Fixes potential hang on SD-to-CF adapters
* Implement ATA_IDENTIFY command
  - retrieve the cached ATA IDENTIFY data from the driver
Tools:
* CFInfo utility
  - Displays card model, serial, firmware, capacity, and capabilities
* pcmciaspeed utility
  - Recreated PCMCIA memory access timing benchmark tool
* pcmciacheck utility
  - Recreated PCMCIA check tool
Others:
* AmigaGuide documentation included (.guide files)
* Improved code documentation
  - Architecture overview with register conventions
  - Documented CFU structure fields and key functions
* Gayle memory timing
  - Experimental: disabled, user can compile driver with option FASTPIO=1
  - Maps card's ATA PIO mode to Gayle PCMCIA memory timing

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         10536 bytes  Driver with debug to serial console flag support
  compactflash.device.small 8412 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    /* skip invalid PCMCIA signature for non-standard cards */
  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+) */

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] Reading tuples
  [CFD] Tuple CISTPL_CONFIG found
  [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] ..override multi 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.

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 full IDENTIFY data.

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

Example output:
  CFInfo 1.36 - 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

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

Licensed under GNU LGPL v2.1

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

CHECKSUMS
=========
compactflash.device (full, 10536 bytes):
  MD5:    c173c3150cee5c1fe9fc43f095334d1c
  SHA256: 81a3eab50cba045ee5878114648d7c6e6223b39094cebe6b024af56c71f3b169

compactflash.device.small (no debug, 8412 bytes):
  MD5:    11b8e2ba9a33af0aabf0ba8965a50ab8
  SHA256: 36126e278ff6026c2348fcb1324fe1b0c4e97857833c4b7b03ddee7a471814b0

CFInfo (14152 bytes):
  MD5:    b2e199120ce0b2fb26b7e296ec442bc8
  SHA256: d693a830f3dca0c95029b665023457e95c8932819b5bbe19c5eed86f21cf64bf

pcmciacheck (13200 bytes):
  MD5:    d2ca529b87ae5441ef2840be0daa2546
  SHA256: 9e57ee0f7042095cb1ab86c8341a1d60d9eedd9077cf6f323eea160d4b13c0f3

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/cfd136.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Jan  8 07:24 cfd/
-rw-r--r--  1000/1000     9637   26526  36.3% -lh5- e336 Jan  8 07:24 cfd/LICENSE
-rw-r--r--  1000/1000      251     473  53.1% -lh5- 876c Jan  8 07:24 cfd/LICENSE.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Jan  8 07:24 cfd/c/
-rwxr-xr-x  1000/1000     7956   14152  56.2% -lh5- 45da Jan  8 07:24 cfd/c/CFInfo
-rwxr-xr-x  1000/1000     7828   13200  59.3% -lh5- d25e Jan  8 07:24 cfd/c/pcmciacheck
-rwxr-xr-x  1000/1000     5540    9264  59.8% -lh5- 6ac2 Jan  8 07:24 cfd/c/pcmciaspeed
-rw-r--r--  1000/1000     1444    1994  72.4% -lh5- 7f7b Jan  8 07:24 cfd/c.info
-rw-r--r--  1000/1000     3889    8907  43.7% -lh5- 2b50 Jan  8 07:24 cfd/cfd136.readme
-rw-r--r--  1000/1000      250     473  52.9% -lh5- 7d29 Jan  8 07:24 cfd/cfd136.readme.info
-rw-r--r--  1000/1000     1695    1958  86.6% -lh5- da76 Jan  8 07:24 cfd/def_CF0.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Jan  8 07:24 cfd/devs/
-rw-r--r--  1000/1000      462     724  63.8% -lh5- f747 Jan  8 07:24 cfd/devs/CF0
-rw-r--r--  1000/1000     1460    2431  60.1% -lh5- 81de Jan  8 07:24 cfd/devs/CF0.info
-rw-r--r--  1000/1000     6492   10536  61.6% -lh5- 8a82 Jan  8 07:24 cfd/devs/compactflash.device
-rw-r--r--  1000/1000     5231    8412  62.2% -lh5- 4ffd Jan  8 07:24 cfd/devs/compactflash.device.small
-rw-r--r--  1000/1000     1444    1994  72.4% -lh5- fc44 Jan  8 07:24 cfd/devs.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Jan  8 07:24 cfd/docs/
-rw-r--r--  1000/1000     3182   12341  25.8% -lh5- a8e3 Jan  8 07:24 cfd/docs/CFInfo.guide
-rw-r--r--  1000/1000     8398   28365  29.6% -lh5- afc6 Jan  8 07:24 cfd/docs/cfd.guide
-rw-r--r--  1000/1000     3508   13522  25.9% -lh5- 2598 Jan  8 07:24 cfd/docs/pcmciacheck.guide
-rw-r--r--  1000/1000     1638    5714  28.7% -lh5- 3617 Jan  8 07:24 cfd/docs/pcmciaspeed.guide
-rw-r--r--  1000/1000     1446    1994  72.5% -lh5- afa5 Jan  8 07:24 cfd/docs.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Jan  8 07:24 cfd/images/
-rw-r--r--  1000/1000    48501   48688  99.6% -lh5- 1172 Jan  8 07:24 cfd/images/cf-pcmcia-adapter.jpg
-rw-r--r--  1000/1000     2336    2925  79.9% -lh5- e3ec Jan  8 07:24 cfd/images/cf-pcmcia-adapter.jpg.info
-rw-r--r--  1000/1000    82156   82371  99.7% -lh5- 37e1 Jan  8 07:24 cfd/images/multimode-issue.jpg
-rw-r--r--  1000/1000     2336    2925  79.9% -lh5- e3ec Jan  8 07:24 cfd/images/multimode-issue.jpg.info
-rw-r--r--  1000/1000    28360   30514  92.9% -lh5- 0f36 Jan  8 07:24 cfd/images/sd-cf-adapter.jpg
-rw-r--r--  1000/1000     2336    2925  79.9% -lh5- e3ec Jan  8 07:24 cfd/images/sd-cf-adapter.jpg.info
-rw-r--r--  1000/1000     1446    1994  72.5% -lh5- 2aad Jan  8 07:24 cfd/images.info
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Jan  8 07:24 cfd/src/
-rw-r--r--  1000/1000    31138  104801  29.7% -lh5- 8cd8 Jan  8 07:24 cfd/src/cfd.s
-rw-r--r--  1000/1000     4018   13159  30.5% -lh5- e35c Jan  8 07:24 cfd/src/cfinfo.c
-rw-r--r--  1000/1000      334     653  51.1% -lh5- 333c Jan  8 07:24 cfd/src/common.h
-rw-r--r--  1000/1000     5070   19456  26.1% -lh5- 1587 Jan  8 07:24 cfd/src/pcmciacheck.c
-rw-r--r--  1000/1000      831    2440  34.1% -lh5- 790d Jan  8 07:24 cfd/src/pcmciacheck.h
-rw-r--r--  1000/1000     2087    5966  35.0% -lh5- 4b03 Jan  8 07:24 cfd/src/pcmciaspeed.c
-rw-r--r--  1000/1000      112     116  96.6% -lh5- 9eb9 Jan  8 07:24 cfd/src/version.i
-rw-r--r--  1000/1000     1448    1994  72.6% -lh5- 3d58 Jan  8 07:24 cfd/src.info
-rw-r--r--  1000/1000     1447    1994  72.6% -lh5- ddab Jan  8 07:24 cfd.info
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        41 files  285707  485901  58.8%            Jan  8 22:56
Page generated in 0.02 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>