Repository navigation
Releases: JaredCabot/tds-floppy-emulator
Releases · JaredCabot/tds-floppy-emulator
Release list
1.2.0: faster transfers, status report
Firmware 1.2.0 (build 1c27c478) makes transfers faster (a full 1.44 MB DATA IN in about 15 s instead of 19 s) and adds a status report: hold both buttons with no UPDATE.UPD on the flash drive and the emulator writes EMUSTAT.TXT. It comes with a revised TDS manual and a new general user manual.
Added
- Status report. Holding both buttons with no
UPDATE.UPDon the flash
drive writesEMUSTAT.TXTinstead: firmware version and build ID, the
unit's unique serial number and clock source, the internal disk's density
and contents, health counters, the flash drive's file system, and the last
transfer.
Changed
- Faster transfers. A full 1.44 MB DATA IN takes about 15 s instead of
19 s; DATA OUT about a third less time (1 MB written and read back in
6.2-6.9 s instead of 10.6 s). The internal flash driver was the bottleneck
and is now much leaner; USB data also moves in chunks of up to 8 KB. All
verification and cancelling work as before. - Faster track loads: the host waits 11 ms for a new track instead of
27 ms. - Smaller firmware: built with link-time optimisation, 44 KB instead of
49 KB, leaving room for future features. It also makes transfers a little
faster: a full 1.44 MB DATA IN in about 15 s. - With no
UPDATE.UPD, both buttons no longer give 2 quick blinks: they write
the status report. - Interface inputs no longer use the MCU's internal pull-ups. The board
already has pull-up resistors to 5 V on every host line, and the datasheet
requires internal pull-ups off on inputs driven above 3.6 V. - Crystal fallback: if the 8 MHz crystal fails to start, the emulator now
runs from the internal oscillator instead of stopping, and the status report
says so.
Fixed
- Reads and writes beyond the end of the disk (sector 1440 on a 720 KB disk,
2880 on a 1.44 MB disk) are now ignored instead of reaching other parts of
the internal flash.
Removed
- The unused debug serial output.
Documentation
- New general user manual, TFE-0002-00, for any equipment with a 26-pin
slim floppy drive, with a technical reference (interface, timing, disk and
update file formats). - TDS manual revised to TFE-0001-01: 720 KB disks and jumper JE, the
status report, 1.2.0 transfer rates, the TDS 784D as a verified
instrument, a new Figure 2-1 showing all jumpers, headers and controls, and
Figure 2-2 showing the S1 jumper fitted. Jumper JD is now described
correctly: it holds interface pin 11 (density select) low and is not used. - Hardware notes (docs/01): measured on a TDS 794D, the host drives SEL,
STEP and DIR high enough to lift the board's 3.3 V rail to 3.8 V through
the MCU's protection diodes; the fix is a series resistor on each line.
Any firmware is affected, including the original.
Notes
- Updating: copy
UPDATE.UPDto a flash drive and hold both buttons for 3 s, from 1.0.0 or 1.1.0. The internal disk and its density are kept. - Status report or update? Both buttons install
UPDATE.UPDwhen it is on the flash drive; without it, 1.2.0 writes the status report instead. RemoveUPDATE.UPDfrom the flash drive after updating if you want a report. - Tested on a TDS 794D (firmware v8.0e): a full format, saves, DATA IN and DATA OUT with byte-identical files on FAT32 and exFAT flash drives, the status report, and self-updates from the flash drive.
Files
| File | Use | SHA-256 |
|---|---|---|
tdsfloppy_install.hex |
First installation: bootloader and firmware (manual page 2-1) | c3eeafb19c4d53ba14a7985e2fe69ab5c2feaaede94e662c3bf27f58cfe983f7 |
UPDATE.UPD |
Update an emulator running 1.0.0 or later: copy to a USB flash drive, hold both buttons 3 s (manual page 3-4). The internal disk is kept. | e5572dd42f79856e3d67afb98a094a32a209734cc645fe349c88fc9c92f2a63c |
TFE-0001-01_TDS_Floppy_Emulator_Instructions.pdf |
Instructions for the TDS 500, 600 and 700 series and the TLS 216 (revised for 1.2.0) | 5bac27406a4e7f49a3c6949b44f583aee56fd08c883809da70677dcaa97b1558 |
TFE-0002-00_Floppy_Disk_Drive_Emulator_User_Manual.pdf |
User manual for any equipment with a 26-pin slim floppy drive, with technical reference (new) | 92fc0512375040fd4b28d6699506fb76487058f069d9c6ff7a2d867a2e7cd6b1 |
1.1.0: 720 KB DD disks
Firmware 1.1.0 (build 3b0ee413) adds 720 KB double-density disks: fit jumper JE and format the disk in the instrument, and it becomes a 720 KB disk, just as with a real drive.
Added
- 720 KB double-density (DD) disks. The internal disk has a density, as a
real floppy does: 1.44 MB HD or 720 KB DD. It changes the way a real disk's
does, when the host formats it at the other density: fit jumper JE (the
host's density line) and format the disk in the scope, and it becomes a
720 KB disk; remove JE and format again, and it is 1.44 MB again. No settings
file, no reboot. The emulator recognises a format at the other density from
the data rate of the host's writes (250 or 500 kbit/s). The density survives
power-off, firmware updates, DATA IN and DATA OUT. - DATA IN and DATA OUT on 720 KB disks: 1 KB clusters, 112 root entries,
files up to 730,112 bytes; a DATA IN page holds what fits on the disk. tools/button.ps1 statusshows the disk's density;tools/release_refresh.py
also publishesUPDATE.UPD.
Changed
- The disk and FAT code take their geometry from the disk (HD or DD) instead of
fixed 1.44 MB constants. 1.44 MB behaviour is unchanged.
Notes
- Downgrading: firmware 1.0.0 does not know 720 KB disks. After going back
to 1.0.0, a 720 KB disk reads as unformatted (its data is kept): update to
1.1.0 again, or format the disk at 1.44 MB. - Tested on a TDS 784D (firmware v7.4e): HD to DD and back by the jumper and
the scope's format only, saves, a folder tree, DATA OUT and DATA IN (up to a
716,800-byte file), 24 stress saves at 720 KB with 0 bad CRCs and 0 lost
sectors; and an update from 1.0.0 on both test units.
Files
| File | Use | SHA-256 |
|---|---|---|
tdsfloppy_install.hex |
First installation: bootloader and firmware (manual page 2-1) | bfb9d4e849b7455261bb45d8715dbc3d09e72a2dd2ed59d3fae8f0de57994ec3 |
UPDATE.UPD |
Update an emulator running 1.0.0 or later: copy to a USB flash drive, hold both buttons 3 s (manual page 3-3). The internal disk is kept. | b062d0379aa06ab43dd8732143e3c931f0bd6ae988259bd7d5e4fb0e0bbda02f |
TFE-0001-00_TDS_Floppy_Emulator_Instructions.pdf |
User manual TFE-0001-00 (written for 1.0.0; 720 KB disks: docs/10) | 3a7c8320b3ccf46903cd9c2769ffcdcaad25615c688b733359da8b39f563bfee |
1.0.0
Firmware 1.0.0 (build 484f5c1d), the first release. Superseded by 1.1.0.
First release.
- Clean-room firmware for the SFR1M44-DU26 (PCB SFRC2D.B, Artery AT32F415)
emulating the 1.44 MB floppy disk drive of Tektronix TDS 500/600/700
oscilloscopes. - Internal 1.44 MB disk in SPI flash, written back through a power-safe journal:
a power cut loses at most the write in progress. - DATA IN (upper button): load the next batch of files from a USB flash drive
(FAT12/16/32 or exFAT; MBR or GPT), every sector verified. - DATA OUT (lower button): copy everything on the internal disk, folders
included, to the flash drive, verify each file, never overwrite, then erase
the internal disk. Identical files already on the flash drive are not copied
twice. - Cancel a transfer with its own button; firmware update from a USB flash drive
with both buttons (a bootloader installs it; a bad file changes nothing). - Watchdog, persistent flash-fault indication, build ID; the user manual
TFE-0001-00 in the Tektronix house style.
Files
| File | Use | SHA-256 |
|---|---|---|
tdsfloppy_install.hex |
First installation: bootloader and firmware | 23ff4e0a3b60914b373489bb3c3f6964f5e4abacb44399b3893e028cde9b168d |