DOS Navigator Revived (DNR) is an ongoing engineering initiative modernizing the legendary DOS Navigator file manager and desktop work environment (originally created by Stefan Tanurkov, Dmitry Dotsenko, Andrew Zabolotny, and RIT Research Labs) into a native, modern, 32-bit Windows console application using exclusively Free and Open Source Software (FPC and NASM).
Current Status (November 2026)
100% Monolithic & Portable Executable: dn.exe is a completely standalone PE console executable with built-in embedded dialog and language resources (DN.DLG, DN.LNG, DNRUS.DLG, DNRUS.LNG). Runs standalone from any directory without external dependency files and without resource load crashes.
Native 32-bit Win32 PE Target: Successfully builds and links src/pascal/DN.PAS into a native Windows console binary (build/dn.exe). No DOSBox, NTVDM, or 16-bit emulation required.
Modern Responsive Console TUI: Fully responsive terminal layout supporting modern Windows Terminal, ConHost, and PTY environments:
Dynamic Startup Viewport: Automatically detects the active console buffer and window geometry (from standard 80×25 up to 300×150+).
Live Resize Event Relayout: Listens to Win32 WINDOW_BUFFER_SIZE_EVENT console events and dynamically resizes the view hierarchy (TProgram, TDeskTop, dual file panels TDoubleWindow, menu bar, command line, and status line).
Dynamic Frame Buffering: Eliminates legacy 80×50 (4,000 cell) limits and 16-bit Word size overflows via dynamic LongInt heap buffers.
Byte-Exact CP866 Preservation: All source files and build pipelines enforce strict byte-exact single-byte encoding (latin-1 byte stream) to preserve authentic CP866 extended ASCII box-drawing characters without UTF-8 corruption.
Automated TUI Testing: Validated through headless PTY automation (tools/surfaces/dn_surface.py via surfacekit).
Features & Modernization Highlights
Pure FLOSS Toolchain: Built strictly using Free Pascal Compiler (FPC 3.2.2) and the Netwide Assembler (NASM 3.02+).
Direct Win32 Console API Integration:
Console handles managed cleanly through CONOUT$ and CONIN$.
Video rendering routed through WriteConsoleOutputA with dynamic CharInfoBuf allocation.
Keyboard and mouse events bridged to Win32 ReadConsoleInputA.
Free Pascal Compiler (FPC): Version 3.2.2 or later targeting i386-win32 (fpc.exe / ppc386.exe on PATH).
Netwide Assembler (NASM): Version 3.02 or later (nasm.exe on PATH).
Operating System: Windows 10, Windows 11, Windows Server, or Linux/macOS with Wine.
Building from Source
Quick Build (Windows Command Prompt or PowerShell)
Run the included automated build batch script:
cmd
build.bat
The script compiles the resource compiler (build\RCP.exe), builds binary dialog and language resources, generates embedded resource tables, compiles src/pascal/DN.PAS, and outputs the monolithic executable to both build\dn.exe and dist\dn.exe.
Clean Rebuild
cmd
build.bat clean && build.bat
Running DOS Navigator
Launch the compiled executable directly from any console (Windows Terminal, Command Prompt, or PowerShell):
Open ASCII chart to insert special or extended character
Ctrl + Q D
Insert Date
Insert current date string (formatted) at cursor
Ctrl + Q T
Insert Time
Insert current time string at cursor
Ctrl + [
Uppercase Word
Convert current word to UPPERCASE
Ctrl + ]
Lowercase Word
Convert current word to lowercase
Ctrl + \
Capitalize Word
Capitalize First Letter Of Current Word
Ctrl + Shift + [
Uppercase Line
Convert entire line to UPPERCASE
Ctrl + Shift + ]
Lowercase Line
Convert entire line to lowercase
Ctrl + Shift + \
Capitalize Line
Capitalize Words Across Entire Line
Search & Replace
Shortcut
WordStar Key
Action
F7
Ctrl + Q F
Search for text string (supports whole word, case sensitive)
Ctrl + F7
Ctrl + Q A
Search and replace text
Shift + F7
Ctrl + L
Repeat last search
Alt + F7
—
Search backward (reversed search direction)
File & Window Operations in Editor
Shortcut
Action
Description
F2 / Ctrl + K S
Save
Save current file to disk
Shift + F2
Save As
Save file under new name or path
Ctrl + F2
Save All
Save all modified open files across all editor windows
F3
Open
Open another file for editing
F8
Print
Send active file to printer
Shift + F8
Print Block
Send selected block to printer
Ctrl + F4
Close
Close active editor window
8. Internal File Viewer Shortcuts
Shortcut
Action
Description
F2
Toggle Wrap
Toggle line wrap on/off (wrap long lines to window width)
F4
Hex / Text Mode
Toggle between ASCII Text and Hexadecimal view mode (Hex mode supports in-place editing)
F7
Search
Search for text string or hexadecimal byte sequence
Shift + F7
Search Next
Continue search for next match
Alt + F3 / Esc
Close Viewer
Close file viewer window
9. Built-in Utilities & Subsystems
SpreadSheet (.WKZ) Table Editor
Shortcut
Action
Description
F2 / Shift + F2
Save / Save As
Save spreadsheet table
F3
Open
Open existing spreadsheet
F4
New
Create new spreadsheet table
Alt + Backspace
Undo
Undo last cell edit
Shift + Del
Cut
Cut cell contents
Ctrl + Ins
Copy
Copy cell contents
Shift + Ins
Paste
Paste cell contents
Ctrl + Del
Clear
Clear selected cell range
Ctrl + F4 / Esc
Close
Close spreadsheet window
Low-Level Disk Editor
Shortcut
Action
Description
Alt + F
Open File
Open file for direct cluster analysis
Alt + R
Open Directory
Open directory structure
Alt + D
Open Drive
Select drive for raw sector editing
Alt + C
Open Cluster
Jump to specific cluster number
Alt + S
Open Sector
Jump to specific logical sector number
F2
Hex Mode
Display sector contents in hexadecimal
F3
Dir Mode
Decode sector as directory entries table
F4
Text Mode
View sector as raw ASCII text
F5
FAT Mode
Decode and browse File Allocation Table
F7 / Shift + F7
Search / Next
Search for byte pattern or text across sectors
Alt + Backspace
Undo
Revert sector modifications
Alt + F3
Exit
Exit disk editor
Automated TUI Testing
Automated testing is driven by the surface test utility in tools/surfaces/dn_surface.py:
cmd
:: Run selftest (verifies startup landmark and clean Alt+X exit)
python tools/surfaces/dn_surface.py selftest
:: Capture the active screen layout across the current terminal dimensions
python tools/surfaces/dn_surface.py screen
DOS Navigator was originally developed by RIT Research Labs (Stefan Tanurkov, Dmitry Dotsenko, Andrew Zabolotny) and open-sourced under the DOS Navigator Open Source License / GNU General Public License. See PROGRESS_LOG.md and source file headers for historical documentation and contributor credits.