Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
VERSION_MAJOR = 1
VERSION_MINOR = 38
VERSION_SUFFIX = -dev
DATE = 19.01.2026
DATE = 23.01.2026
DATE_SHORT = 01/2026

# Tool-specific versions
Expand All @@ -25,10 +25,8 @@ PCMCIACHECK_DATE = 22.01.2026
VERSION = $(VERSION_MAJOR).$(VERSION_MINOR)$(VERSION_SUFFIX)
VERSION_NODOT = $(VERSION_MAJOR)$(VERSION_MINOR)

# Version string for assembler
# Generate version include file to avoid shell quoting issues
# Version string for assembler# Generate version include file for assembler
VERSION_INC = src/version.i
VERSION_DEFS = -DFILE_VERSION=$(VERSION_MAJOR) -DFILE_REVISION=$(VERSION_MINOR)

# Verbose mode (V=1 for verbose output)
ifeq ($(V),1)
Expand Down Expand Up @@ -120,6 +118,8 @@ $(VERSION_STAMP): FORCE
$(VERSION_INC): $(VERSION_STAMP)
$(Q)echo " VERSION $(VERSION)"
$(Q)echo "; Auto-generated by Makefile - do not edit" > $@
$(Q)echo "FILE_VERSION = $(VERSION_MAJOR)" >> $@
$(Q)echo "FILE_REVISION = $(VERSION_MINOR)" >> $@
$(Q)echo "VERSION_STRING macro" >> $@
$(Q)echo " dc.b \"compactflash.device $(VERSION) ($(DATE))\"" >> $@
$(Q)echo " endm" >> $@
Expand All @@ -133,13 +133,13 @@ version-readme:
# Full version (with serial debug capability)
$(TARGET_FULL): $(SOURCE) $(VERSION_INC)
$(Q)echo " VASM $@ [full${TEXT}]"
$(Q)$(VASM) $(VASMFLAGS) $(VERSION_DEFS) -DDEBUG=1 -o $@ $<
$(Q)$(VASM) $(VASMFLAGS) -DDEBUG=1 -o $@ $<
$(Q)echo " $$(stat -c%s $@) bytes, md5:$$(md5sum $@ | cut -c1-8)"

# Small version (no debug code/strings)
$(TARGET_SMALL): $(SOURCE) $(VERSION_INC)
$(Q)echo " VASM $@ [small$(TEXT)]"
$(Q)$(VASM) $(VASMFLAGS) $(VERSION_DEFS) -o $@ $<
$(Q)$(VASM) $(VASMFLAGS) -o $@ $<
$(Q)echo " $$(stat -c%s $@) bytes, md5:$$(md5sum $@ | cut -c1-8)"

# Build only full version
Expand Down
17 changes: 14 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,14 @@ You can also follow project planning and updates here: [Planning for 2026](https

#### Driver

TBD
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)** ([#25](https://github.com/pulchart/cfd/issues/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

Expand Down Expand Up @@ -202,8 +209,12 @@ Then monitor serial port (e.g., `screen /dev/ttyUSB0 9600` or `minicom -b 9600 -
[CFD] ..done
[CFD] Setting voltage
[CFD] Voltage: 5V
[CFD] Reading tuples
[CFD] Tuple CISTPL_CONFIG found
[CFD] CIS gate
[CFD] ..DEVICE: type=0x0D speed=400ns size=0x00000800
[CFD] ..FUNCID: 0x04
[CFD] ..RESULT: accept
[CFD] ..CONFIG: addr=0x00000200
(or: [CFD] ..CONFIG: default (0x200))
[CFD] RW test
[CFD] ..done
[CFD] Transfer: WORD
Expand Down
25 changes: 20 additions & 5 deletions cfd.readme.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ Author: jaroslav.pulchart@gmail.com (Jaroslav Pulchart), based on work by
Type: driver/media
Version: @VERSION@
Requires: AmigaOS 2.0+, PCMCIA slot, CF-to-PCMCIA or SD-to-CF adapter
Replaces: driver/media/cfd135.lha
Architecture: m68k-amigaos
Kurz: CompactFlash PCMCIA Treiber fuer A600/1200

Expand All @@ -14,7 +13,19 @@ CHANGES IN @VERSION@ (@DATE@)
============================

Driver:
* TBD

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)** (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
Expand Down Expand Up @@ -83,9 +94,13 @@ With Flags = 8, connect serial cable and monitor at 9600 baud:
[CFD] ..done
[CFD] Setting voltage
[CFD] Voltage: 5V
[CFD] Reading tuples
[CFD] Tuple CISTPL_CONFIG found
(or: [CFD] CISTPL_CONFIG not available, using standard 0x200)
[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
Expand Down
4 changes: 2 additions & 2 deletions devs/compactflash.device
Git LFS file not shown
4 changes: 2 additions & 2 deletions devs/compactflash.device.small
Git LFS file not shown
24 changes: 20 additions & 4 deletions docs/cfd.guide
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@database "compactflash.device"
@$VER: compactflash.device guide 1.38-dev (19.01.2026)
@$VER: compactflash.device guide 1.38-dev (23.01.2026)
@author "Generated by md2guide.py v1.1 (11.01.2026)"
@(c) "See LICENSE"
@font topaz.font 8
Expand Down Expand Up @@ -196,7 +196,19 @@ You can also follow project planning and updates here: Planning for 2026

@{b}Driver@{ub}

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

* @{b}CIS gate (PCMCIA card type filter)@{ub} (#25
(https://github.com/pulchart/cfd/issues/25))
* Reads @{fg shine}CISTPL_FUNCID@{fg text} (when available) and rejects non-disk cards early to
avoid interfering with other PCMCIA devices (e.g. WiFi).
* If @{fg shine}CISTPL_FUNCID@{fg text} is missing/unreadable, the driver continues for
compatibility (some CF cards/adapters do not provide reliable CIS tuples).

* @{b}PCMCIA (Gayle) timing setup@{ub}
* Restores access timing setup from @{fg shine}CISTPL_DEVICE@{fg text} via @{fg shine}CardAccessSpeed@{fg text} (v1.37
didn't program timing based on CIS speed).

@{b}Tools@{ub}

Expand Down Expand Up @@ -472,8 +484,12 @@ Then monitor serial port (e.g., @{fg shine}screen /dev/ttyUSB0 9600@{fg text} or
[CFD] ..done
[CFD] Setting voltage
[CFD] Voltage: 5V
[CFD] Reading tuples
[CFD] Tuple CISTPL_CONFIG found
[CFD] CIS gate
[CFD] ..DEVICE: type=0x0D speed=400ns size=0x00000800
[CFD] ..FUNCID: 0x04
[CFD] ..RESULT: accept
[CFD] ..CONFIG: addr=0x00000200
(or: [CFD] ..CONFIG: default (0x200))
[CFD] RW test
[CFD] ..done
[CFD] Transfer: WORD
Expand Down
Loading