---- Source and binaries for Pocket PC can be found at http://sourceforge.net/projects/tcltkce ---- [Rainer Keuchel] has completed a port of Tcl/Tk 8.4a2 for [WinCE] on [PDA]s using his celib.dll [http://www.rainer-keuchel.de/wince/celib.html] porting library. '''Please check out his page out for the latest and greatest information at http://www.rainer-keuchel.de/wince/tcltk-ce.html .''' Current Build date is March 19, 2002, with celib v3.12 Per the release notes, "Tcl/Tk is still a bit buggy on WINCE211. '''It works better on WINCE300.'''" ---- Wiki pages with CE-specific code or ports are listed at [PocketPC] ---- In July, 2003, [Jeffrey Hobbs] uploaded Tcl/Tk 8.4.4 final binaries for WinCE 3.0 ARM devices to: ftp://ftp.tcl.tk/pub/incoming/tcltk844ce-arm.zip It includes the full Tcl/Tk + celib binaries needed for operation. There is a README on how to install it (you will need to set a few registry settings on your PocketPC device). In addition to Tcl/Tk, you will find tcllib1.4 and bwidget1.6, which both work out of the box (pure Tcl), and tktable2.8 as a proof-positive TEA ported library (works like a charm). ---- 28sep03 [jcw] - There is a WinCE build of Metakit, so the first hurdle to running [Starkit]s on PocketPC is gone. I've also created a starkit package which can be used with tclsh. There are a few pieces still missing to run on PocketPC, see [http://www.equi4.com/pipermail/starkit/2003-September/001545.html] for details. If you want this to happen, please get in touch. 30sep03 [MPJ] - It looks like the pieces are starting to come together for running Starkits on the PocketPC. [jcw] has compilied zlib, vfs, mk4tcl and rechan. It does not run a Starkit yet but it is getting close. I have been testing the zlib and mk4tcl and they seem to work very well. ---- [JM]-The following screenshot belongs to an excellent application called [iFile 1.1], developed by [Richard Suchenwirth]: I am using it on a [iPAQ] h1930. works great! [http://mywebpages.comcast.net/jakeforce/TclTk_PocketPC.png] ---- What was involved in compiling/porting the above extension (tktable)? I'm really interested in porting an application (Scid - http://scid.sourceforge.net) to run on the [PocketPC]. This app is based around a Tcl/Tk extension (Don't know whether it is TEA compliant or not - I'm not sure how to tell either but will look into it at the weekend). (That said, there would be quite some work already re-working the large search screens to work well in 240x320. I don't imagine this will be a quick project.) 10oct03 - ''See [How to build for WinCE]'' ---- Is anyone working on doing a build for the Intel PXA250/255 processor, such as is found in the NEC Mobilepro 900? [MNO] -- In general, I believe that the ARM binaries work on the XScale processors under PocketPC 2002 (I am using the above Tcl 8.4.3 binary on my Fujitsu-Siemens Pocket Loox 600 which uses the PXA250 processor). [FW]: Note, however, that XScale provides an extended instruction that can be specially compiled for. XScale 400MHz processors are actually about the same on Pocket PC 2002 (some say slower) than 206MHz counterparts from other ARM processors, but PPC2003 changes that. But I'm rambling. ;) ---- '''Screenshots:''' Example of a simple Editor [http://www.rainer-keuchel.de/wince/tcltk1.jpg] Tkcon on a pocketpc [http://www.eteamz.com/cmym/images/Tkcon1.jpg] [http://www.eteamz.com/cmym/images/Tkcon2.jpg] [http://mini.net/tcl/1878.html] TkNotePad (with or without a menu bar) [http://www.eteamz.com/cmym/images/tknotepadb.jpg] [http://www.eteamz.com/cmym/images/tknotpadm.jpg] [http://www.mindspring.com/~joeja/programs.html#Tcl-Tk] Tabbed Notebook and Tree Widget from D. Richard Hipp [http://www.eteamz.com/cmym/images/notebook.jpg] [http://www.hwaci.com/sw/tk/nbpi.html] [http://www.eteamz.com/cmym/images/tree.jpg] [http://www.hwaci.com/sw/tk/treepi.html] * [A little calculator] [http://www.eteamz.com/cmym/images/calculator.jpg] [http://mini.net/tcl/1270.html] * [TclWorld] by Richard Suchenwirth - "Tcl lets you put the world in your pocket..." [http://www.eteamz.com/cmym/images/tclworld.jpg] [http://mini.net/tcl/2987.html] [http://www.eteamz.com/cmym/images/tclworld2.jpg] '''Download''' http://www.rainer-keuchel.de/wince/dirlist.html 1. Get the tcl generic tcltk package [http://www.rainer-keuchel.de/wince/tcltk-all-platforms.tar.gz]. 2. Then get your specific processor's binary package: SH3 [http://www.rainer-keuchel.de/wince/tcltk-wince-sh3-pocket-wce300.tar.gz], ARM [http://www.rainer-keuchel.de/wince/tcltk-wince-arm-hpc-wce300.tar.gz], MIPS-palm [http://www.rainer-keuchel.de/wince/tcltk-wince-mips-palm-wce201.tar.gz], MIPS-hpc [http://www.rainer-keuchel.de/wince/tcltk-wince-mips-hpc-wce211.tar.gz] 3. Next get the celib package [http://www.rainer-keuchel.de/wince/celib-3.12-dll-bin-all-platforms.tar.gz] currently version 3.12. 4. Finally get the ''WinCE desktop tools'' [http://www.rainer-keuchel.de/wince/wince-desktop-tools.tar.gz]. ''This will allow you to update the registry from your desktop.'' '''Installation''' 1. Install the celib.dll for your processor specific platform in the '\Windows' directory on your WinCE device. 2. Unpack and install tcltk. See directions on [Yakumo Alpha] page. 3. Unpack the cereg.exe file from the ''WinCE desktop tools'' and place it in a directory with the batch file at the end of this note (on your desktop PC). Configure the batch file per your installation and then run it from the command line to update your WinCE device's registry. '''RUNNING''' 1. Wish84d and Tclsh84d can be run by chooing them in the Explorer Window. 2. A Tcl or Tk file extension can be associated with Wish84d in the Windows Registry (see file wince_tcktk.bat). [[Add notes on how to run a file here]] [MPJ] '''NOTES''' Currently contains the ''registry'' binary package (1.0). I have also checked this out with the tcltk only packages: Bwidget (1.3.0) and tcllib (1.1). I have also tested this out with [tkcon]. Also to talk to the serial ports the valid names are "com1:", "com2:" and "com4:". Please report bugs you find to Rainer Keuchel [mailto:keuchel@netwave.de] or to wince-devel [mailto:wince-devel@yahoogroups.com] ---- '''FILE:''' wince_tcktk.bat ::- Basic System Configuration REM Make changes here for your system set basepath=\Program Files set wish=%basepath%\Tcl\bin\wish84d.exe set tclsh=%basepath%\Tcl\bin\tclsh84d.exe set libdir=%basepath%\Tcl\lib set bindir=%basepath%\Tcl\bin set tcllibdir=%libdir%\tcl8.4 set tklibdir=%libdir%\tk8.4 ::- TclTk file associations cereg -k "HKCR\.tk" -n "" -v "tclfile" cereg -k "HKCR\.tcl" -n "" -v "tclfile" cereg -k "HKCR\tclfile" -n "" -v "TclTk Script" cereg -k "HKCR\tclfile\DefaultIcon" -n "" -v "%wish%,0" cereg -k "HKCR\tclfile\Shell\Open\Command" -n "" -v """"%wish%""" ""%%1""" ::- Tcl file associations cereg -k "HKCR\.tsh" -n "" -v "tshfile" cereg -k "HKCR\tshfile" -n "" -v "Tcl Script" cereg -k "HKCR\tshfile\DefaultIcon" -n "" -v "%tclsh%,0" cereg -k "HKCR\tshfile\Shell\Open\Command" -n "" -v """"% tclsh%""" ""%%1""" ::- Environment Info cereg -k "HKLM\Environment" -n "TCL_LIBRARY" -v "%tcllibdir%" cereg -k "HKLM\Environment" -n "TK_LIBRARY" -v "%tklibdir%" REM Height of 10 is ok, 14 does almost full screen cereg -k "HKLM\Environment" -n "ROWS" -v "14" REM MAX Width for PPC is 29 Chars cereg -k "HKLM\Environment" -n "COLS" -v "29" REM Home cereg -k "HKLM\Environment" -n "HOME" -v "\\" REM Temp cereg -k "HKLM\Environment" -n "TEMP" -v "\Temp" cereg -k "HKLM\Environment" -n "TMP" -v "\Temp" cereg -k "HKLM\Environment" -n "TMPDIR" -v "\Temp" cereg -k "HKLM\Environment" -n "TEMPDIR" -v "\Temp" REM Path cereg -k "HKLM\Environment" -n "PATH" -v "%bindir%;" REM Username cereg -k "HKLM\Environment" -n "USER" -v "nobody" REM Debugging trace level (0 to 255) cereg -k "HKLM\Environment" -n "XCE_TRACE" -v "0" REM Debugging trace file output cereg -k "HKLM\Environment" -n "XCE_TRACE_FILE" -v "\xce_trace.txt" ---- '''WISHLIST/QUESTIONS''' It would be really neat if there was a way to detect the keyboard input panel popping up so that apps could take appropriate action - e.g. resize/scroll/move to ensure input point is visible above the keyboard. I've noticed other native PocketPC applications do this, and a quick bit of googling reveals that there are a set of calls relating to SIP position, I don't know e.g. if this manifests as an event that tcl can see, or if the visibility mechanism could be used??? ---- [MNO] I've recently seen some [PocketPC socket/fileevent strangeness] - any ideas? In fact, recently, I've seen a different problem which I suspect is also around sockets. I think this is related to having upgraded my PocketPC to Windows Mobile 2003 (Microsoft's new name for their PocketPC OS). I've tried to get the Keuchel Tcl version working there, and some programs work (although I suspect they are somewhat slower to start than under PocketPC 2002). Programs that use sockets, though, seem to fail with a messagebox "tcl: select: 10022". I found the following reference via a Google search:- http://www.tek-tips.com/gviewthread.cfm/lev2/4/lev3/32/pid/287/qid/669645 but there were no replies there, and the OP didn't give OS or Tcl/Tk version info. I don't know if this is likeliest to be a Tcl/Tk or celib issue (there doesn't seem to be a specific celib build for WM2003). ---- tcltkce project on SourceForge site http://sourceforge.net/projects/tcltkce could be used to share compiled binaries and source code. Mailing list tcltkce-user@lists.sourceforge.net could be used to discuss related problems. Please use this list to share your binaries. ---- See also [Yakumo Alpha] for detailed installation instructions on that PocketPC 2002 system, and [iPAQ] - [iPAQ goes Japanese] for [RS]'s experiences. [Symbolic links in Windows/CE] ---- [Windows Mobile 2003 Smartphone] is yet another derivation of Windows/CE, officially known as '''Microsoft Windows Mobile 2003 Second Edition software for Smartphone'''. [TP] ---- [Category Operating System] | [PDA] | [PocketPC]