Tcl for DOS

Difference between version 29 and 30 - Previous - Next
'''Tcl for DOS''' provides information about running Tcl on [MS-DOS].



** Description **


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.



** DJGPP **


[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 @
http://www.nyx.net/~tpoindex/tcl.html#mstcl

[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
[https://web.archive.org/web/20060206171951/http://www.45.free.net/tcl/tcl_dos.html%|%Tcl
for DOS]
See also
[http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/devel/tcl/%|%Tcl for FreeDOS]

Or better yet, grab
[http://sourceforge.net/projects/tcl/files/Tcl/8.4a4/tcl8.4a4_dos.zip/download%|%tcl8.4a4_dos.zip]

[[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 versions 8.5.19 and 8.6.911 using DJGPP:
[https://archwww.ivebiblio.org/dpub/micrownload/tpcl-8.5.19-stufof/fr-eedos%|%Tcl 8.5.19 for DOS]
[https://archfivle.orgs/downeveload/tcl-8.6.9-for-dos/%|%DJGPP Tcl 8.6.9 for DOSbuilds]

** MSTCL **

MSTCL is a port of Tcl 7.3, Tk 4.0, and TclX 7.3a to [MS-DOS]. The Tk wish
executable requires
[https://en.wikipedia.org/wiki/DESQview#DESQview/X%|%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 ftp://ftp.procplace.com/pub/tcl/sorted/distrib/mstcl73s.zip for source and ftp://ftp.procplace.com/pub/tcl/sorted/distrib/mstcl73e.zip 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. 


   [ftp://ftp.tcl.tk/pub/tcl/all/m/mstcl/7.3/mstcl73.README%|%mstcl73.README]:   

   [ftp://ftp.tcl.tk/pub/tcl/all/m/mstcl/7.3/mstcl73e.zip%|%mstcl73e.zip]:   executable

   [ftp://ftp.tcl.tk/pub/tcl/all/m/mstcl/7.3/mstcl73s.zip%|%mstcl73s.zip]:   source



** Ports **


KJN on 2008-01-18: alleged ports of Tcl 6.2 and 6.7 are available from ftp://ftp.sra.co.jp/pub/x11/tk/old/ ; I have not tested them, but I have included them in a collection of Tcl 6 versions available here [http://kjn009.googlepages.com/tcl6all.tar].

One unsupported port to MS-DOS of Tcl and Extended Tcl V6.0a, done by mailto:[email protected] (Karl Lehenbauer), is available on ftp://ftp.aud.alcatel.com/tcl/distrib/dostcl.zoo for binaries and ftp://ftp.aud.alcatel.com/tcl/distrib/dostcl60.zoo 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 ftp://cajal.uoregon.edu/pub/tcl.dos.port/ and ftp://ftp.aud.alcatel.com/tcl/distrib/tcl62.dos.tar.Z .


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 wuarchive.wustl.edu or as ftp://ftp.aud.alcatel.com/tcl/distrib/tcl67dos.zip .


A port of Tcl, version 7.3, to MS-DOS, done by mailto:[email protected] (Tom Poindexter), is available as ftp://ftp.procplace.com/pub/tcl/sorted/distrib/mstcl73e.zip  and ftp://ftp.procplace.com/pub/tcl/sorted/distrib/mstcl73s.zip .  This also includes TclX 7.3a and Tk ported to Desqview/X libraries.  README at [ftp://ftp.procplace.com/pub/tcl/sorted/distrib//mstcl73.README]   The Desqview/X product, needed to run wish and wishx, is supposedly available at [http://www.chsoft.com/dv.html] and a Slashdot article about Desqview/X at [http://slashdot.org/articles/02/01/27/1950244.shtml]  '''UPDATED LINKS''' [TP]

A port of Tcl, V6.1 ?, done by unknown, to MS-DOS Windows V 3.1 ?, is available as binary at ftp://ftp.aud.alcatel.com/tcl/distrib/w_tclbin.zip and as source at ftp://ftp.aud.alcatel.com/tcl/distrib/w_tclsrc.zip .


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 ftp://ftp.aud.alcatel.com/tcl/distrib/tcl2dos.sh.gz .


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 ftp://metallica.prakinf.tu-ilmenau.de/pub/DOS/wintcl.zip 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
ftp://ftp.sra.co.jp/pub/lang/tcl/twinesrc.zip /
ftp://ftp.sra.co.jp/pub/lang/tcl/twinebin.zip
and ftp://ftp.sra.co.jp/pub/lang/tcl/twinesrc.doc /
ftp://ftp.sra.co.jp/pub/lang/tcl/twinebin.doc


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 ftp://ftp.ms.uky.edu/pub/tk-win/{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) http://tcl.cvs.sourceforge.net/tcl/contrib/djgpp/ .  A binary is in the SF files area for an old beta version of 8.4.  http://prdownloads.sourceforge.net/tcl/tcl8.4a4_dos.zip?download

----

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      |
  +--------------------+-----------------------------------+

<<categories>> Oldies