DOS Navigator

Last updated
DOS Navigator
Original author(s) Stefan Tanurkov, Andrew Zabolotny, Sergey Melnik (initial release)
Developer(s) Ritlabs
Initial release1991;33 years ago (1991)
Stable release
1.51 [1]   OOjs UI icon edit-ltr-progressive.svg / 19 April 1999
Written in Turbo Pascal, Turbo Vision
Operating system DOS, OS/2, Windows
Type Orthodox file manager
License BSD-3-Clause
Website ritlabs.com/en/products/dn/

DOS Navigator (DN) is an orthodox file manager for DOS, OS/2, and Windows.

Contents

Influence

DOS Navigator is an influential early implementation of orthodox file manager (OFM). By implementing three additional types of virtual file systems (VFS): XTree, Briefcase and list-based, DN launched a new generation of OFMs. It offers unlimited panels and many new important features, making it one of the most powerful (and complex) OFMs. [2]

History

The initial version of DN I (v 0.90) was released in 1991, and written by Stefan Tanurkov, Andrew Zabolotny and Sergey Melnik (all from Chișinău, Moldova). After that, DN was rewritten using Turbo Vision by Stefan Tanurkov and Dmitry Dotsenko (Dotsenko developed DN at Moscow State University). These versions are sometimes referred as DN II.

In 1993, Slava Filimonov invited Stefan to join him to continue producing and publishing DN with joint efforts. Slava programmed new components, design and made countless optimizations and improvements. He wrote a new software key protection system that remained unbroken for almost four years after its introduction. [3]

DN II was actively developed until the start of 1995, until version 1.35. [2] Several other programmers participated in development after version 1.35. Starting from version 1.37, Filimonov and Ilya Bagdasarov were in charge of bug-fixing. Filimonov and Bagdasarov solely maintained, developed and released versions 1.37 through 1.39. After they left, DN was maintained again by Tanurkov and Maxim Masiutin.

In 1998, the development mostly took a bug-fixing direction as Ritlabs' product The Bat! became a more promising software product with much better commercial potential. The last shareware version was 1.50. In late 1999, Ritlabs decided to make version 1.51 of the DOS Navigator completely free with freely available source code.

Several open source DN branches currently exist including win32/dpmi/os2 version "dn/2" [4] and Linux port attempt "dn2l". [5]

Disadvantages

The original DN contains a large amount of assembler code, complicating ports to other platforms. The cross-platform version, DN OSP, in turn, is tied to the Virtual Pascal compiler and runtime library, which are no longer supported. No version of DN as of January 2022 supports Unicode on platforms other than Windows, although cross-platform implementation of Turbo Vision for Pascal with Unicode support exists. [6] The source code license is compromised.

Source code license

DN source code was published under the 3-clause BSD license. However, the code included an implementation of the Turbo Vision library based on the version from the Turbo Pascal distribution, and the latter was never released under a license that allows creation of derivative works. In addition, DN OSP contains modified parts of the Virtual Pascal runtime library, while the license for Virtual Pascal itself prohibits distribution of modified versions, however, it is not clear whether this applies only to the compiler or to the runtime library too. [7]

Legacy

Spreadsheet in DOS Navigator Spreadsheet Dos Navigator.jpg
Spreadsheet in DOS Navigator

Other groups release software based on the DN open source code, including features such as support for long filenames, and support for Linux.

See also

Related Research Articles

A file manager or file browser is a computer program that provides a user interface to manage files and folders. The most common operations performed on files or groups of files include creating, opening, renaming, copying, moving, deleting and searching for files, as well as modifying file attributes, properties and file permissions. Folders and files may be displayed in a hierarchical tree based on their directory structure.

Pascal is an imperative and procedural programming language, designed by Niklaus Wirth as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named after French mathematician, philosopher and physicist Blaise Pascal.

Turbo Pascal is a software development system that includes a compiler and an integrated development environment (IDE) for the programming language Pascal running on the operating systems CP/M, CP/M-86, and DOS. It was originally developed by Anders Hejlsberg at Borland, and was notable for its very fast compiling. Turbo Pascal, and the later but similar Turbo C, made Borland a leader in PC-based development tools.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

Bytecode is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references that encode the result of compiler parsing and performing semantic analysis of things like type, scope, and nesting depths of program objects.

In computer science, dynamic recompilation is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. By compiling during execution, the system can tailor the generated code to reflect the program's run-time environment, and potentially produce more efficient code by exploiting information that is not available to a traditional static compiler.

A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on Android devices is a cross compiler.

<span class="mw-page-title-main">Delphi (software)</span> General-purpose programming language and a software product

Delphi is a general-purpose programming language and a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies.

<span class="mw-page-title-main">Virtual file system</span> Abstract layer on top of a more concrete file system

A virtual file system (VFS) or virtual filesystem switch is an abstract layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way. A VFS can, for example, be used to access local and network storage devices transparently without the client application noticing the difference. It can be used to bridge the differences in Windows, classic Mac OS/macOS and Unix filesystems, so that applications can access files on local file systems of those types without having to know what type of file system they are accessing.

<span class="mw-page-title-main">DJGPP</span> Implementation of the GNU toolchain for DOS

DJ's GNU Programming Platform (DJGPP) is a software development suite for Intel 80386-level and above, IBM PC compatibles which supports DOS operating systems. It is guided by DJ Delorie, who began the project in 1989. It is a port of the GNU Compiler Collection (GCC), and mostly GNU utilities such as Bash, find, tar, ls, GAWK, sed, and ld to DOS Protected Mode Interface (DPMI). Supported languages include C, C++, Objective-C/C++, Ada, Fortran, and Pascal.

Object Pascal is an extension to the programming language Pascal that provides object-oriented programming (OOP) features such as classes and methods.

<span class="mw-page-title-main">Free Pascal</span> Free compiler and IDE for Pascal and ObjectPascal

Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, with exception clauses that allow static linking against its runtime libraries and packages for any purpose in combination with any other software license.

<i>Ironseed</i> 1994 video game

Ironseed is a 1994 MS-DOS video game, developed and published by Channel 7. It is a space trading and combat game with real-time strategy elements.

<span class="mw-page-title-main">Norton Commander</span> Discontinued orthodox file manager software

Norton Commander (NC) is a discontinued prototypical orthodox file manager (OFM), written by John Socha and released by Peter Norton Computing. NC provides a text-based user interface for managing files on top of MS-DOS. It was officially produced between 1986 and 1998. The last MS-DOS version of Norton Commander, 5.51, was released on July 1, 1998.

Volkov Commander (VC) is a file manager for DOS inspired by the Norton Commander. Volkov Commander is purely written in assembly language and has very small and fast.

<span class="mw-page-title-main">Far Manager</span> File and archive manager for Microsoft Windows

Far Manager is an orthodox file manager for Microsoft Windows and is a clone of Norton Commander. Far Manager uses the Win32 console and has a keyboard-oriented user interface.

Virtual Pascal is a freeware 32-bit Pascal programming language compiler, integrated development environment (IDE), and debugger for OS/2 and Microsoft Windows, with some limited Linux support. Virtual Pascal was developed by Vitaly Miryanov and later maintained by Allan Mertner.

A DOS extender is a computer software program running under DOS that enables software to run in a protected mode environment even though the host operating system is only capable of operating in real mode.

<span class="mw-page-title-main">Lazarus (software)</span> Free cross-platform integrated development environment for Free Pascal

Lazarus is a cross-platform, integrated development environment (IDE) for rapid application development (RAD) using the Free Pascal compiler. Its goal is to provide an easy-to-use development environment for developing with the Object Pascal language, which is as close as possible to Delphi. It is free and open-source software with different parts released under different software licenses.

The following is a timeline of virtualization development. In computing, virtualization is the use of a computer to simulate another computer. Through virtualization, a host simulates a guest by exposing virtual hardware devices, which may be done through software or by allowing access to a physical device connected to the machine.

References

  1. "Dos Navigator".
  2. 1 2 Bezroukov, Nikolai (2013-07-07). "Dos Navigator — a breakthrough in VFS development". Less is More: The Orthodox File Manager (OFM) Paradigm. Softpanorama. Archived from the original on 2013-04-16. Retrieved 2013-10-12.
  3. Vianello, Francesco (1997-12-10). "DOS Navigator v1.50: how to spy our targets". Fravia's page of reverse engineering. Archived from the original on 2018-09-11. Retrieved 2018-09-10. (NB. DN as an example of DOS cracking.)
  4. "DOS Navigator Open Source Project".
  5. "Dn2l". GitHub . 8 November 2021.
  6. "Free Vision for linux platform does not properly display the Russian language. (#21373) · Issues · FPC / FPC / FPC Source". GitLab. Retrieved 2022-02-07.
  7. "Dn2l". GitHub . 2 February 2022.