Tcl for DOS

Tcl for DOS provides information about running Tcl on MS-DOS.


Several people, including Stephen Trier, have ported (a version of) Tcl to MS-DOS. [list others--some appear in "Small Tcl"]

CL believes he remembers it being quite easy to do this with 7.4.


David Gravereaux worked on the DJGPP port that can compile for 8.4a5. Either do a CVS checkout and ask for the 'contrib' module, or send Dave an email. Edevaldo Pereira <[email protected]> did the initial work on this about September 2000 and I added in some stuff from Tom Poindexter's 7.3 port @

Victor Wagner took David's work and more or less completed it. This port based on relatively recent CVS HEAD, support dynamic loading using DXE3 (DJGPP 2.04 required) and includes Ck text mode interface toolkit.

See Tcl for DOS

Or better yet, grab

[exec] isn't useful (DOS doesn't support multi-tasking, exactly), and there's no way of dynamically loading extensions, yet.

Victor Wagner: Really, [exec] can be made useful on MS-DOS. It doesn't support simultaneous execution of program, but many uses of exec suspends calling script until called program exit and return its output. This behavior can be implemented on MS-DOS, but I cannot yet find time to do it.

It is quite easy to write "poor man" exec, which just calls C system function, but better job can be done, which can use all infrastructure in Tcl generic directory, and just reimplement Tclp_CreateProcess and friends.

Main idea is to create "processes" as just information structures in memory, which hold argc, argv and IO redirection info, and execute them in order (due to single-tasking nature of DOS). Process can be executed not before writing to its stdin is completed, but not after read from its output is requested.

Thus we can support almost all functionality of [exec] except trailing & and unidirectional [open]. Pipes can be done using temporary files (as they are always done in MS-DOS), << can be implemented using temporary file too.

pi31415 built Tcl 8.5 and 8.6 using DJGPP: DJGPP Tcl builds


MSTCL is a port of Tcl 7.3, Tk 4.0, and TclX 7.3a to MS-DOS. The Tk wish executable requires Desqview/X from Quarterdeck to run. The command line executables tclsh and tcl (/w Extended Tcl) interpreters run under vanilla MS-DOS. The DJ GNU C compiler was used for the port, providing a flat 32 bit environment. Minimal support for Tcl's 'exec' is provided as a shell to MS-DOS.

The port is unsupported and was released December, 1993.

, and can be found at for source and for executables. README has additional information and porting notes. If you are looking to run Tcl/Tk under Windows, see Sun's Tcl/Tk. home page for the official Windows (and Mac) ports.



KJN on 2008-01-18: alleged ports of Tcl 6.2 and 6.7 are available from ; I have not tested them, but I have included them in a collection of Tcl 6 versions available here [L1 ].

One unsupported port to MS-DOS of Tcl and Extended Tcl V6.0a, done by mailto:[email protected] (Karl Lehenbauer), is available on for binaries and for source.

A port of Tcl V6.2 to MS-DOS was done by mailto:[email protected] (John Martin) and is available via FTP from and .

A source code only port of Tcl V6.7 to MS-DOS, done by mailto:[email protected] (Peter Sprenger), is available from him, somewhere on or as .

A port of Tcl, version 7.3, to MS-DOS, done by mailto:[email protected] (Tom Poindexter), is available as and . This also includes TclX 7.3a and Tk ported to Desqview/X libraries. README at [L2 ] The Desqview/X product, needed to run wish and wishx, is supposedly available at [L3 ] and a Slashdot article about Desqview/X at [L4 ] UPDATED LINKS TP

A port of Tcl, V6.1 ?, done by unknown, to MS-DOS Windows V 3.1 ?, is available as binary at and as source at .

A package to take a Tcl source distribution and port it cleanly to MS-DOS, so that it can be compiled has been written by mailto:[email protected] (Bob Yennaco). It is available as .

An MS-DOS Windows DLL instance of Tcl 6.2 was generated by mailto:[email protected] (Ugo Cei). Contact him for more details.

A Windows DLL was made by mailto:[email protected] (Ekkehard Beier) by slightly modifying a DOS 6.2 Tcl port. There are still problems with the system/WinExec command. A very rudimentary Debugger User Interface using Borland's Classlib is part of the zip-file, too. The source was used also with BC3.1++/AF on MS W3.1. You can get a copy from via anonymous ftp. Unfortunately Ekki doesn't have time currently to finish the Windows port and user Interface.

mailto:[email protected] (Toshihiko Haga) and mailto:[email protected] (Shigeaki Miyata) announced twin (tcl/tk for MS-Windows), which does not support exec and send, but supports a -bitmap for Windows .bmp files. A few other modifications or special exceptions are noted. This package's files can be found at / and /

mailto:[email protected] (Professor Ken K. Kubota) has announced a port of Tcl 7.3 and Tk3.6a to MS DOS Windows using Borland C++ 4.0. Fetch the README files from the ftp sites{tkwinbin,tkwin,fedloc}.zip for more information.

Omar Stanford mailto:[email protected] reported in March of 1994 that he had almost completed his port of Tcl 7.3 to MS-Windows 3.1. He had incorporated extensions for networking (including NetWare), Windows Sockets, and many Windows API functions. He also was working on a facility for dynamically allocating commands to the Tcl environment. If there are other extensions that one would like to see under Windows 3.1, or if you are interested in beta testing, drop him a line.

Also, Simon Kenyon mailto:[email protected] of the Information Technology Centre, Dublin, IRELAND, mentions that they are starting to port Tk to MS-Windows. There is a mailing list (see "tcl-faq/part2") for folk who are interested.

TinyTcl seems to run on pure DOS.

If you do a checkout of the 'contrib' module, you will get the Tcl source plus a small build file for use with DJGPP which will build the Tcl mainline for DOS (yes, the HEAD) . A binary is in the SF files area for an old beta version of 8.4.

Also (see "tcl-faq/part4"), the Tcl programs/packages catalog, for the latest port locations.

  | Nir Levy           | "...but they seem to know where   |
  | [email protected] | they are going, the ones who walk |
  |                    | away from Omelas."  --LeGuin      |