Skip to content

Releases: Projanglez/FTP4DOS

FTP4DOS v1.0.0

Choose a tag to compare

@Projanglez Projanglez released this 18 Jul 13:30

The official 1.0.0 release. Includes last optimizations and much of the feedback in the VOGONS thread — special thanks to fly_indiz and ntalaec.

Fixed

  • Long file names work in more setups. The v0.9.6 LFN support had only ever been exercised on plain DOS: detection now uses the documented Get Volume Information call instead of an undocumented probe that only Windows 9x answers (fixes DOSLFN on MS-DOS 7.x), the find-data record layout and attribute mask were wrong (garbage names, missing directories), and all file operations now route through the LFN API or the 8.3 alias. Enter long-named directories, view/copy/delete/rename long-named files, download to long names, create long-named directories — on Windows 9x DOS, MS-DOS 7.x, and DOSLFN.
  • Steadier download speeds. Disk writes no longer starve the network stack: the file buffer is flushed in slices with packet processing in between, avoiding the burst/stall sawtooth seen on real hardware.
  • Cancelling a download is instant instead of freezing the progress dialog for up to 10 seconds — ABOR is now sent while the data connection is still open, mirroring the upload path.
  • Control-connection resync. Stale replies left over from aborted or timed-out transfers no longer desync later commands (the reported "PASV refused (257)"). A server-side idle timeout (421) now cleanly reports "connection lost" instead of failing on the next command.
  • Full screen mode fix The full available space is now used for displaying long file names in full screen mode
  • Minor bugfixes: UTF-8 remote paths are codepage-converted in the pane header (file lists already were), and the cursor is correctly reselected after leaving a UTF-8-named directory, Deterministic 8.3 download names for long remote names, Move+Skip no longer loses files, overflow guard for >4 GB transfer counters.

New

  • /SITES switch: open the site manager directly on startup.

Downloads

  • FTP4DOS.EXE — the DOS executable.
  • ftp4dos-mtcp-src-2025-01-10.zip — unmodified mTCP source (Michael B. Brutman, GPLv3), provided to satisfy the license; generated from the pinned submodule commit d68948f and unchanged in content since v0.9.5.

Full release history: HISTORY.md

FTP4DOS v0.9.6

Choose a tag to compare

@Projanglez Projanglez released this 09 Jul 22:50

Feature release, driven by feedback in the VOGONS thread — thanks to mbbrutman, ntalaec, Falcosoft, Grzyb and fly_indiz.

New

  • Faster transfers + tunable buffers. Downloads now collect received data in a dedicated file buffer and write to disk in large blocks instead of many small per-packet writes — a big speedup on machines where small disk writes are expensive (uploads read in the same large blocks). The sizes are configurable in your mTCP configuration file (advanced, totally optional — the defaults work fine out of the box): FTP4DOS_TCP_BUFFER (512–16384, default 16384) and FTP4DOS_FILE_BUFFER (512–32768, default 8192). The mTCP FTP client settings FTP_TCP_BUFFER / FTP_FILE_BUFFER are read as fallbacks, so an already tuned MTCP.CFG just works. See the README's "Performance tuning" section.
  • UTF-8 file name support (RFC 2640). Names from modern servers are converted to the active DOS codepage (CP437, CP850/858, CP866; override with FTP4DOS_CODEPAGE) for panel display and local file names, while the original name is still used on the wire. Uploads to servers that announce UTF8 in FEAT are encoded back to UTF-8 (OPTS UTF8 ON).
  • Long file names (LFN) in the local panel on systems with an LFN API (Windows 9x DOS, MS-DOS 7.x, or DOSLFN on plain DOS): long names are listed and handled natively.

Changed

  • mTCP is now a git submodule of the official repository https://github.com/mbbrutman/mTCP, pinned to the 2025-01-10 release tag — replacing the manually unpacked source zip (verified source-identical). Build with git clone --recursive or git submodule update --init.

Downloads

  • FTP4DOS.EXE — the DOS executable.
  • ftp4dos-mtcp-src-2025-01-10.zip — unmodified mTCP source (Michael B. Brutman, GPLv3), provided to satisfy the license; generated from the pinned submodule commit d68948f and unchanged in content since v0.9.5.

FTP4DOS v0.9.5a

Choose a tag to compare

@Projanglez Projanglez released this 26 Jun 15:53

Maintenance release over v0.9.5.

Fixes

  • Downloading files with multi-dot / long names (e.g. apack-1.00.zip) no longer fails. The local target is now mapped to a valid DOS 8.3 name (e.g. APACK-1~1.ZIP) instead of failing to create the file. Applies to both the F5 single-file download and batch copy.
  • Ctrl+C now works as a shortcut for "compare panels" (the numpad + action). The keyboard is read via the BIOS (INT 16h), so Ctrl+C is no longer swallowed by DOS and no longer echoes a stray ^C.

Changes

  • Date and Time sorting merged into one "Date/Time" criterion. A file timestamp is a single entity (date major, time minor); the old separate, time-of-day-major "Time" sort was removed. Sort menu (Alt+F3) now lists Name, Extension, Size, Date/Time, Default.
  • Minor F1 help text wording/consistency tweaks.

Downloads

  • FTP4DOS.EXE — the DOS executable.
  • ftp4dos-mtcp-src-2025-01-10.zip — unmodified mTCP source (Michael B. Brutman, GPLv3), provided to satisfy the license; unchanged since v0.9.5.

FTP4DOS v0.9.5

Choose a tag to compare

@Projanglez Projanglez released this 25 Jun 22:58

Feature release over v0.9.4a.

New

  • Site manager — save and load multiple named FTP connection profiles (host, port, user, password, start directory) in FTP4DOS.SIT. Open it from the [Manage...] button in the F2 connect dialog: Ins = new (pre-filled from the current fields), F4 = edit, Del = delete; Enter connects.
  • Large remote directories (/EXMEM) — by default a listing holds 512 entries and a popup warns when a directory has more. Start with /EXMEM (auto-detect) or /EXMEM:XMS / /EXMEM:EMS to store the remote list in extended (XMS) or expanded (EMS) memory instead, lifting the limit to several thousand entries. A compact conventional sort-key cache keeps sorting fast.
  • Search / jump-to-nameAlt+F7 or Ctrl+F: type a prefix and jump to the next matching entry, wrapping to the top.
  • Long remote file names — names longer than the 8.3/40-char column are kept in full and used for transfers; Alt+F2 "Detail" shows the complete name.
  • Full-screen toggleAlt+F8 makes the active panel span all 80 columns so long remote file names are readable; Tab switches which panel is maximized.
  • Per-session conveniences — remembered per-pane sort order, an FTP start directory in the connect dialog (and /D:DIR), Ctrl+A (Detail) and Ctrl+R (Refresh) shortcuts, and F9 = Refresh.

Fixes

  • Entering a remote directory whose name exceeds 39 characters no longer fails with 550; the cursor stays put when a directory change fails.
  • Connect dialog: Left/Right now move between buttons, and labels/titles are clearer.

Assets

  • FTP4DOS.EXE — the DOS executable (real-mode 386, large model).
  • ftp4dos-mtcp-src-2025-01-10.zip — the official mTCP source (version 2025-01-10) this build links against, provided per GPLv3 §6.

FTP4DOS v0.9.4a

Choose a tag to compare

@Projanglez Projanglez released this 24 Jun 10:29

Maintenance/feature update over v0.9.4.

Changes

  • Remote panel: the .. (parent) entry is no longer shown at the FTP root directory, where there is no parent.
  • New — Alt+F2 "Detail": popup showing the selected entry's full filename (the panel column truncates long FTP names) plus its size in Bytes, KB, MB and GB.
  • New — Alt+F5 "Refresh": re-read the active panel's directory, e.g. to pick up a file newly added on the FTP server. Both labels appear on the function-key bar while Alt is held.
  • File sizes are now displayed consistently throughout the app using the classic 1024-based KB/MB/GB convention.

Assets

  • FTP4DOS.EXE — the DOS executable (real-mode 386, large model).
  • ftp4dos-mtcp-src-2025-01-10.zip — the official mTCP source (version 2025-01-10) this build links against, provided per GPLv3 §6.

FTP4DOS v0.9.4

Choose a tag to compare

@Projanglez Projanglez released this 22 Jun 21:59

FTP4DOS v0.9.4

Transfer

  • Live telemetry: current/average speed, ETA per file and for the whole batch
  • Pause (P) and cancel (ESC) during transfers
  • Copy/Move/Delete confirm dialogs now show recursive file/directory counts and total size

Display & i18n

  • Compact size display for large files (M/G units), no more column overflow
  • Locale-aware number/date/time formatting from the DOS country block

New features

  • Alt+F9: file checksum (CRC32 + MD5), local and remote, optional save-to-file
  • Alt+F3: configurable per-panel sorting (name/extension/size/date/time, ascending/descending)

Dialogs & input

  • Comfortable input fields everywhere (cursor movement, Home/End, Del, mid-line insert)
  • F1 help texts cleanup

Build: Open Watcom (16-bit real-mode DOS). mTCP official 2025-01-10 (unchanged).
Source of the bundled mTCP: ftp4dos-mtcp-src-2025-01-10.zip (GPLv3 §6).

FTP4DOS v0.9.2

Choose a tag to compare

@Projanglez Projanglez released this 21 Jun 15:02
  • Renamed NCFTP386 → FTP4DOS (thanks to Yoghoo for the suggestion!)
  • Swap panels with Ctrl+U (remembered across launches)
  • Move with F6 (copy + delete source, recursive); rename moved to Alt+F6
  • Confirmation dialogs default to Yes
  • FTP panel preserves the server's original (case-sensitive) file names
  • Monochrome (MDA/Hercules) display support; /MONO and /COLOR overrides
  • ALT command bar (Norton-style): Alt+F1 Drive, Alt+F6 Rename

v0.9.1

Choose a tag to compare

@Projanglez Projanglez released this 17 Jun 11:53

Changes since v0.9.0

  • Migrated from retrohun fork to official mTCP 2025-01-10 (brutman.com, GPLv3)
  • Translated all source code comments to English

Assets

  • NCFTP386.EXE - DOS binary (8086/386+ compatible)
  • ncftp386-mtcp-src-2025-01-10.zip - mTCP 2025-01-10 source code (GPLv3 §6)

v0.9.0 - First public release

Choose a tag to compare

@Projanglez Projanglez released this 09 Jun 10:16

Norton Commander-style dual-panel FTP client for MS-DOS on real x86 hardware, built with Open Watcom and mTCP (https://github.com/retrohun/mTCP).

Features

  • Two panels: local (DOS) and remote (FTP, passive mode)
  • Copy in both directions (F5), including recursive directory trees
  • Multiple selection with the Ins key (Norton style) for copy/delete
  • Create (F7), rename (F6), recursive delete with pre-count confirmation (F8)
  • Navigate directories; view files with F3 (or Enter) — up to 32 KB displayed
  • Remote view (F3) downloads to a temporary file first, then opens the viewer
  • Edit local text files with F4 — minimal full-screen editor (~32 KB, local only)
  • FTP connection keepalive: sends NOOP every 60 s to prevent server idle timeouts
  • Bilingual German/English UI (auto-detected from DOS country setting, or forced on the command line: NCFTP386 /L:EN)
  • Tested on real 386 hardware with a genuine LAN card

Requirements

  • MS-DOS 5.x (or higher/compatible), 80×25 text mode
  • Packet driver + mTCP configuration file (MTCPCFG env variable) + valid IP

Assets

  • NCFTP386.EXE - Ready-to-run DOS binary
  • ncftp386-mtcp-src-ad9cd0f.zip - mTCP source (GPLv3 §6 — corresponding source for the statically linked mTCP library)