You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(70) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(38) |
Feb
(4) |
Mar
(11) |
Apr
(49) |
May
(81) |
Jun
(65) |
Jul
(36) |
Aug
(57) |
Sep
(63) |
Oct
(57) |
Nov
(49) |
Dec
(41) |
2006 |
Jan
(75) |
Feb
(80) |
Mar
(10) |
Apr
(13) |
May
(100) |
Jun
(100) |
Jul
(77) |
Aug
(87) |
Sep
(80) |
Oct
(124) |
Nov
(39) |
Dec
(41) |
2007 |
Jan
(20) |
Feb
(32) |
Mar
(32) |
Apr
(43) |
May
(146) |
Jun
(40) |
Jul
(49) |
Aug
(33) |
Sep
(25) |
Oct
(19) |
Nov
(11) |
Dec
(8) |
2008 |
Jan
(4) |
Feb
(11) |
Mar
(31) |
Apr
(40) |
May
(34) |
Jun
(24) |
Jul
(39) |
Aug
(104) |
Sep
(27) |
Oct
(35) |
Nov
(34) |
Dec
(97) |
2009 |
Jan
(75) |
Feb
(29) |
Mar
(45) |
Apr
(76) |
May
(121) |
Jun
(103) |
Jul
(67) |
Aug
(28) |
Sep
(22) |
Oct
(39) |
Nov
(9) |
Dec
(15) |
2010 |
Jan
(7) |
Feb
(39) |
Mar
(40) |
Apr
(57) |
May
(67) |
Jun
(69) |
Jul
(49) |
Aug
(68) |
Sep
(22) |
Oct
(7) |
Nov
(2) |
Dec
(10) |
2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
(4) |
May
(6) |
Jun
(10) |
Jul
(16) |
Aug
(23) |
Sep
(9) |
Oct
|
Nov
(28) |
Dec
(3) |
2012 |
Jan
(11) |
Feb
(10) |
Mar
(1) |
Apr
|
May
(4) |
Jun
(3) |
Jul
(3) |
Aug
(4) |
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
2013 |
Jan
|
Feb
(7) |
Mar
(30) |
Apr
(4) |
May
(4) |
Jun
(8) |
Jul
(10) |
Aug
(4) |
Sep
|
Oct
(2) |
Nov
(24) |
Dec
(13) |
2014 |
Jan
(7) |
Feb
(2) |
Mar
|
Apr
(1) |
May
(9) |
Jun
|
Jul
(3) |
Aug
(9) |
Sep
|
Oct
(2) |
Nov
|
Dec
(3) |
2015 |
Jan
(4) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(5) |
Sep
(1) |
Oct
(4) |
Nov
(7) |
Dec
(39) |
2016 |
Jan
(17) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(2) |
2017 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
(1) |
Jun
(2) |
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2018 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Dirk B. <db...@us...> - 2005-06-12 08:39:12
|
Update of /cvsroot/win32forth/win32forth-extsrc/extsrc/installer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19500/extsrc/installer Modified Files: Win32Forth.nsi Log Message: - Changed Version to 6.11.03 (to match Version 6.11.03 at www.win32forth.org) Index: Win32Forth.nsi =================================================================== RCS file: /cvsroot/win32forth/win32forth-extsrc/extsrc/installer/Win32Forth.nsi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Win32Forth.nsi 22 May 2005 09:48:58 -0000 1.2 --- Win32Forth.nsi 12 Jun 2005 08:39:04 -0000 1.3 *************** *** 8,14 **** !define VER_MAJOR 6 !define VER_MINOR 11 ! !define VER_REVISION 2 ! !define VER_DISPLAY "6.11.02" ! !define VER_FILE "61102" ; Define your application name --- 8,14 ---- !define VER_MAJOR 6 !define VER_MINOR 11 ! !define VER_REVISION 3 ! !define VER_DISPLAY "6.11.03" ! !define VER_FILE "61103" ; Define your application name *************** *** 189,192 **** --- 189,193 ---- File "..\..\..\win32forth\apps\Player4\TrayWindow.f" File "..\..\..\win32forth\apps\Player4\W_SEARCH.F" + File "..\..\..\win32forth\apps\Player4\Player4.ico" SetOutPath "$INSTDIR\apps\ProMgr\" File "..\..\..\win32forth\apps\ProMgr\AboutForm.f" *************** *** 279,282 **** --- 280,331 ---- File "..\..\..\win32forth\apps\WinEd\res\WinEdit.h" File "..\..\..\win32forth\apps\WinEd\res\WinEdit.res" + SetOutPath "$INSTDIR\apps\PlayVirginRadio\" + File "..\..\..\win32forth\apps\PlayVirginRadio\PlayVirginRadio.f" + File "..\..\..\win32forth\apps\PlayVirginRadio\Virgin.ico" + SetOutPath "$INSTDIR\apps\Solipon2\" + File "..\..\..\win32forth\apps\Solipon2\051.SOL" + File "..\..\..\win32forth\apps\Solipon2\052.SOL" + File "..\..\..\win32forth\apps\Solipon2\053.SOL" + File "..\..\..\win32forth\apps\Solipon2\054.SOL" + File "..\..\..\win32forth\apps\Solipon2\055.SOL" + File "..\..\..\win32forth\apps\Solipon2\056.SOL" + File "..\..\..\win32forth\apps\Solipon2\057.SOL" + File "..\..\..\win32forth\apps\Solipon2\058.SOL" + File "..\..\..\win32forth\apps\Solipon2\059.SOL" + File "..\..\..\win32forth\apps\Solipon2\060.SOL" + File "..\..\..\win32forth\apps\Solipon2\061.SOL" + File "..\..\..\win32forth\apps\Solipon2\062.SOL" + File "..\..\..\win32forth\apps\Solipon2\063.SOL" + File "..\..\..\win32forth\apps\Solipon2\064.SOL" + File "..\..\..\win32forth\apps\Solipon2\065.SOL" + File "..\..\..\win32forth\apps\Solipon2\066.SOL" + File "..\..\..\win32forth\apps\Solipon2\067.SOL" + File "..\..\..\win32forth\apps\Solipon2\068.SOL" + File "..\..\..\win32forth\apps\Solipon2\069.SOL" + File "..\..\..\win32forth\apps\Solipon2\070.SOL" + File "..\..\..\win32forth\apps\Solipon2\071.SOL" + File "..\..\..\win32forth\apps\Solipon2\072.SOL" + File "..\..\..\win32forth\apps\Solipon2\073.SOL" + File "..\..\..\win32forth\apps\Solipon2\074.SOL" + File "..\..\..\win32forth\apps\Solipon2\081.SOL" + File "..\..\..\win32forth\apps\Solipon2\083.SOL" + File "..\..\..\win32forth\apps\Solipon2\107.SOL" + File "..\..\..\win32forth\apps\Solipon2\Applause7.wav" + File "..\..\..\win32forth\apps\Solipon2\Av7.wav" + File "..\..\..\win32forth\apps\Solipon2\BLEEP7.wav" + File "..\..\..\win32forth\apps\Solipon2\ep7.wav" + File "..\..\..\win32forth\apps\Solipon2\L101.SOL" + File "..\..\..\win32forth\apps\Solipon2\L121.SOL" + File "..\..\..\win32forth\apps\Solipon2\L164.SOL" + File "..\..\..\win32forth\apps\Solipon2\L49.SOL" + File "..\..\..\win32forth\apps\Solipon2\L97.SOL" + File "..\..\..\win32forth\apps\Solipon2\readme.txt" + File "..\..\..\win32forth\apps\Solipon2\SOLIDIAL.F" + File "..\..\..\win32forth\apps\Solipon2\Solipion.bmp" + File "..\..\..\win32forth\apps\Solipon2\solipion.dat" + File "..\..\..\win32forth\apps\Solipon2\SOLIPION.F" + File "..\..\..\win32forth\apps\Solipon2\solipion.ico" + File "..\..\..\win32forth\apps\Solipon2\YAHOO.WAV" + SetOutPath "$INSTDIR\demos\" File "..\..\..\win32forth\demos\DIALOGS.F" *************** *** 338,343 **** File "..\..\..\win32forth\doc\p-overview.htm" File "..\..\..\win32forth\doc\p-random.htm" - File "..\..\..\win32forth\doc\p-relnotes.6.12.htm" File "..\..\..\win32forth\doc\p-relnotes.htm" File "..\..\..\win32forth\doc\p-structures.htm" File "..\..\..\win32forth\doc\p-switch.htm" --- 387,393 ---- File "..\..\..\win32forth\doc\p-overview.htm" File "..\..\..\win32forth\doc\p-random.htm" File "..\..\..\win32forth\doc\p-relnotes.htm" + File "..\..\..\win32forth\doc\p-relnotes.6.10.htm" + File "..\..\..\win32forth\doc\p-relnotes.6.12.htm" File "..\..\..\win32forth\doc\p-structures.htm" File "..\..\..\win32forth\doc\p-switch.htm" *************** *** 588,591 **** --- 638,642 ---- File "..\..\..\win32forth\src\lib\sendmessage.f" File "..\..\..\win32forth\src\lib\STRUCT.F" + File "..\..\..\win32forth\src\lib\ExtSTRUCT.F" File "..\..\..\win32forth\src\lib\SUB_DIRS.F" File "..\..\..\win32forth\src\lib\switch.f" *************** *** 594,597 **** --- 645,649 ---- File "..\..\..\win32forth\src\lib\treeview.f" File "..\..\..\win32forth\src\lib\Win32Help.f" + File "..\..\..\win32forth\src\lib\Resources.f" SetOutPath "$INSTDIR\src\lib\fmacro\" File "..\..\..\win32forth\src\lib\fmacro\FMACRO.F" *************** *** 995,999 **** Delete "$INSTDIR\WinEdColorize2.COL" Delete "$INSTDIR\Zip32.dll" ! Delete "$INSTDIR\apps\Chess\BMPDOT.F" Delete "$INSTDIR\apps\Chess\BMPIO.F" --- 1047,1053 ---- Delete "$INSTDIR\WinEdColorize2.COL" Delete "$INSTDIR\Zip32.dll" ! Delete "$INSTDIR\PlayVirginRadio.exe" ! Delete "$INSTDIR\solipion.exe" ! Delete "$INSTDIR\Player4.exe" Delete "$INSTDIR\apps\Chess\BMPDOT.F" Delete "$INSTDIR\apps\Chess\BMPIO.F" *************** *** 1077,1080 **** --- 1131,1135 ---- Delete "$INSTDIR\apps\Player4\TrayWindow.f" Delete "$INSTDIR\apps\Player4\W_SEARCH.F" + Delete "$INSTDIR\apps\Player4\Player4.ico" Delete "$INSTDIR\apps\ProMgr\AboutForm.f" Delete "$INSTDIR\apps\ProMgr\ProjectManager.f" *************** *** 1160,1163 **** --- 1215,1263 ---- Delete "$INSTDIR\apps\WinEd\res\WinEdit.h" Delete "$INSTDIR\apps\WinEd\res\WinEdit.res" + Delete "$INSTDIR\apps\PlayVirginRadio\PlayVirginRadio.f" + Delete "$INSTDIR\apps\PlayVirginRadio\Virgin.ico" + Delete "$INSTDIR\apps\Solipon2\051.SOL" + Delete "$INSTDIR\apps\Solipon2\052.SOL" + Delete "$INSTDIR\apps\Solipon2\053.SOL" + Delete "$INSTDIR\apps\Solipon2\054.SOL" + Delete "$INSTDIR\apps\Solipon2\055.SOL" + Delete "$INSTDIR\apps\Solipon2\056.SOL" + Delete "$INSTDIR\apps\Solipon2\057.SOL" + Delete "$INSTDIR\apps\Solipon2\058.SOL" + Delete "$INSTDIR\apps\Solipon2\059.SOL" + Delete "$INSTDIR\apps\Solipon2\060.SOL" + Delete "$INSTDIR\apps\Solipon2\061.SOL" + Delete "$INSTDIR\apps\Solipon2\062.SOL" + Delete "$INSTDIR\apps\Solipon2\063.SOL" + Delete "$INSTDIR\apps\Solipon2\064.SOL" + Delete "$INSTDIR\apps\Solipon2\065.SOL" + Delete "$INSTDIR\apps\Solipon2\066.SOL" + Delete "$INSTDIR\apps\Solipon2\067.SOL" + Delete "$INSTDIR\apps\Solipon2\068.SOL" + Delete "$INSTDIR\apps\Solipon2\069.SOL" + Delete "$INSTDIR\apps\Solipon2\070.SOL" + Delete "$INSTDIR\apps\Solipon2\071.SOL" + Delete "$INSTDIR\apps\Solipon2\072.SOL" + Delete "$INSTDIR\apps\Solipon2\073.SOL" + Delete "$INSTDIR\apps\Solipon2\074.SOL" + Delete "$INSTDIR\apps\Solipon2\081.SOL" + Delete "$INSTDIR\apps\Solipon2\083.SOL" + Delete "$INSTDIR\apps\Solipon2\107.SOL" + Delete "$INSTDIR\apps\Solipon2\Applause7.wav" + Delete "$INSTDIR\apps\Solipon2\Av7.wav" + Delete "$INSTDIR\apps\Solipon2\BLEEP7.wav" + Delete "$INSTDIR\apps\Solipon2\ep7.wav" + Delete "$INSTDIR\apps\Solipon2\L101.SOL" + Delete "$INSTDIR\apps\Solipon2\L121.SOL" + Delete "$INSTDIR\apps\Solipon2\L164.SOL" + Delete "$INSTDIR\apps\Solipon2\L49.SOL" + Delete "$INSTDIR\apps\Solipon2\L97.SOL" + Delete "$INSTDIR\apps\Solipon2\readme.txt" + Delete "$INSTDIR\apps\Solipon2\SOLIDIAL.F" + Delete "$INSTDIR\apps\Solipon2\Solipion.bmp" + Delete "$INSTDIR\apps\Solipon2\solipion.dat" + Delete "$INSTDIR\apps\Solipon2\SOLIPION.F" + Delete "$INSTDIR\apps\Solipon2\solipion.ico" + Delete "$INSTDIR\apps\Solipon2\YAHOO.WAV" Delete "$INSTDIR\demos\DIALOGS.F" Delete "$INSTDIR\demos\DLGTEST.F" *************** *** 1216,1221 **** Delete "$INSTDIR\doc\p-overview.htm" Delete "$INSTDIR\doc\p-random.htm" - Delete "$INSTDIR\doc\p-relnotes.6.12.htm" Delete "$INSTDIR\doc\p-relnotes.htm" Delete "$INSTDIR\doc\p-structures.htm" Delete "$INSTDIR\doc\p-switch.htm" --- 1316,1322 ---- Delete "$INSTDIR\doc\p-overview.htm" Delete "$INSTDIR\doc\p-random.htm" Delete "$INSTDIR\doc\p-relnotes.htm" + Delete "$INSTDIR\doc\p-relnotes.6.10.htm" + Delete "$INSTDIR\doc\p-relnotes.6.12.htm" Delete "$INSTDIR\doc\p-structures.htm" Delete "$INSTDIR\doc\p-switch.htm" *************** *** 1456,1459 **** --- 1557,1561 ---- Delete "$INSTDIR\src\lib\sendmessage.f" Delete "$INSTDIR\src\lib\STRUCT.F" + Delete "$INSTDIR\src\lib\ExtSTRUCT.F" Delete "$INSTDIR\src\lib\SUB_DIRS.F" Delete "$INSTDIR\src\lib\switch.f" *************** *** 1468,1471 **** --- 1570,1574 ---- Delete "$INSTDIR\src\lib\fmacro\PROFILER.F" Delete "$INSTDIR\src\lib\fmacro\SIEVE.F" + Delete "$INSTDIR\src\lib\Resources.f" Delete "$INSTDIR\src\old\ASSERT.F" Delete "$INSTDIR\src\old\Compat.f" *************** *** 1839,1842 **** --- 1942,1947 ---- RMDir "$INSTDIR\apps\Chess\" RMDir "$INSTDIR\apps\Player4\" + RMDir "$INSTDIR\apps\PlayVirginRadio" + RMDir "$INSTDIR\apps\Solipon2\" RMDir "$INSTDIR\apps\" RMDir "$INSTDIR\" |
From: Dirk B. <db...@us...> - 2005-06-12 08:38:18
|
Update of /cvsroot/win32forth/win32forth/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18567/doc Modified Files: p-index.htm p-relnotes.6.12.htm Added Files: p-relnotes.6.10.htm Log Message: - Changed Setup.exe to bild the new applications (Solipion, Player4 and PlayVirginRadio) - Fixed a bug in Resources.f - Added an Icon to Win32for.exe - Changed Version to 6.11.03 (to match Version 6.11.03 at www.win32forth.org) Index: p-relnotes.6.12.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/p-relnotes.6.12.htm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** p-relnotes.6.12.htm 20 May 2005 16:29:36 -0000 1.2 --- p-relnotes.6.12.htm 12 Jun 2005 08:37:35 -0000 1.3 *************** *** 23,29 **** <img border="0" src="TELLUS.gif" align="left" width="32" height="32"></a></font>Release Notes for version 6.12.00 </h2> - <p><b><i>Note: version 6.10.00 has been skipped. </i></b></p> <ul> ! <li><a href="p-relnotes.htm">Previous version release notes </a></li> </ul> <h2>Contributors (in alphabetical order) </h2> --- 23,28 ---- <img border="0" src="TELLUS.gif" align="left" width="32" height="32"></a></font>Release Notes for version 6.12.00 </h2> <ul> ! <li><a href="p-relnotes.6.10.htm">Previous version release notes </a></li> </ul> <h2>Contributors (in alphabetical order) </h2> *************** *** 58,62 **** <img border="0" src="ONWEB.gif" width="16" height="16"></li> <li>Bug reports at ! <a href="http://sourceforge.net/tracker/?group_id=55294&atid=476499"> http://sourceforge.net/tracker/?group_id=55294&atid=476499</a> <img border="0" src="ONWEB.gif" width="16" height="16"></li> --- 57,61 ---- <img border="0" src="ONWEB.gif" width="16" height="16"></li> <li>Bug reports at ! <a href="http://sourceforge.net/tracker/?group_id=55294&atid=476499"> http://sourceforge.net/tracker/?group_id=55294&atid=476499</a> <img border="0" src="ONWEB.gif" width="16" height="16"></li> *************** *** 70,152 **** </dir> <h2>Overview </h2> ! <p><b>Back to SourceForge! </b>We're grateful to Ron Aaron, who provided us with ! a bug tracking system and a full CVS for a considerable period. Unfortunately, ! due to several successful hacking attempts on the CVSTrak bug tracker, and ! because of the risk to the CVS source, a decision was made to return to SF for ! CVS use for the forseeable future. We're grateful to Ron for his efforts to keep ! the show on the road. We're disappointed that a single lone script-kiddy could ! cause so much damage to our project. The hacking attempts and the move to SF ! caused us to loose several months worth of change log, so the code committed to ! the SF CVS is missing detailed change information from October 16, 2003 (version ! 6.08.00) to December 21, 2004 (base commit to SF). As a result, the changes ! documented here are considerably less detailed than we would wish. Our little ! experiment in truly open open-source has ended; SF is more secure, but more ! difficult to use, and not as open as we would like.</p> ! <p><b>6.10.00 version skipped.</b> Although it was anticipated that we would ! release 6.10.00 (and a release candidate was built), there was insufficient time ! available to project members, and information about the changes to document the ! build properly. We've therefore decided to skip the 6.10 series and move ! directly to 6.12.</p> <h2>System Changes</h2> ! <p>6.12 is a significant update from 6.08, but the basic philosophy of ANS Forth ! compliance and trying to support as much legacy version 4.2 code as possible is ! still our primary goal. </p> <h3>Documentation</h3> ! <p>The <a href="p-index.htm">documentation</a> has been beefed up considerably, ! and is now almost all HTML based. </p> ! <p>Professor Julian V Noble has kindly allowed us to distribute his ! <a href="Guide/primer.htm">"A Beginner's Guide to Forth"</a> and some of his ! <a href="Guide">formula translation source code</a>. ! <a href="http://www.complang.tuwien.ac.at/anton/home.html">Anton Ertl</a> ! <img border="0" src="ONWEB.gif" width="16" height="16"> has given his permission ! to modify the <a href="http://www.complang.tuwien.ac.at/forth/gforth/Docs-html"> ! documentation for gforth</a> ! <img border="0" src="ONWEB.gif" width="16" height="16"> under the GNU Free ! Documentation License; work is currently underway on it. We are grateful to them ! and other contributors.</p> ! <p><a href="p-gethelp.htm">Help messages</a> now more closely conform to ANS ! standard; the help system can be loaded with the word <code>help-system</code>.</p> ! <h3>Native executables</h3> ! <p>Win32Forth now produces native executables (.EXEs) for Windows. The original ! system of using a wrapper that provided console facilities and loaded a ! relocatable image has been changed in favour of a native executable and a set of ! supporting DLLs (still written in C) that provide the console. The effect of ! this change is to make Win32Forth a class 1 Forth (a definition of Forth ! addressing mechanisms developed by <a href="http://www.forth.org.ru/~mlg/"> ! Michael L Gassanenko </a> ! <img border="0" src="ONWEB.gif" width="16" height="16">); effectively, <b>all</b> ! addresses in Win32forth are absolute, and the return stack and other address ! based variables and values are real addresses, not relative addresses. </p> ! <p>This means that <code>rel>abs</code> and <code>abs>rel</code> are no longer ! required. The advantages are significant;</p> ! <ul> ! <li>Win32Forth is up to 30% faster</li> ! <li>Words that uses addresses (such as calls to Windows) no longer need to be ! aware of them and deal with them differently.</li> ! </ul> ! <p>Other than that, there are no end-user changes required; ! <a href="p-imageman.htm"><code>FSAVE</code>, <code>TURNKEY</code> and <code> ! APPLICATION</code></a> work without change.</p> ! <h3>True Windows multi-tasking support</h3> ! <p>Support is provided for multiple threads of execution in Win32Forth. Many ! changes have been made to the internals to make end-user words thread safe ! without requiring end user code changes to support it. Currently, how to invoke ! words as threads is poorly documented.</p> ! <h3>Number conversion</h3> ! <p>The <a href="p-numconv.htm">number conversion</a> routines have been updated; ! they now follow more closely number conversions of other Forths.</p> ! <h3>Assembler changes</h3> ! <p>Specifically, <b>for Win32Forth only</b>, the <a href="p-486asm.htm"> ! assembler</a> is now issued under the LGPL, not the GPL. Several small changes ! have been made; </p> ! <ul> ! <li>correction for <0 [ebp] [reg]> compiling incorrectly</li> ! <li>addition of [word] and [dword] to support indirect jumps through absolute ! addresses</li> ! <li>support for CMOVcc and SETcc opcodes</li> ! </ul> ! <h3>Directory structure</h3> ! <p>Changes to the directory structure make it easier to maintain code, and to ! find specific files, as Win32Forth grows.</p> <h3>Bug fixes</h3> <p>A large number of bugs have been fixed. Changes since December 12, 2005 can --- 69,80 ---- </dir> <h2>Overview </h2> ! <p> ! </p> <h2>System Changes</h2> ! <p> ! </p> <h3>Documentation</h3> ! <p> ! </p> <h3>Bug fixes</h3> <p>A large number of bugs have been fixed. Changes since December 12, 2005 can *************** *** 157,171 **** <h2>New Applications</h2> <ul> ! <li><a href="SciEdit/SciEdit.htm">SciEdit</a> (Win32Forth Source-Editor)</li> ! <li><a href="ProMgr/ProjectManager.htm">ForthProject</a> (Win32Forth Project Manager)</li> ! <li>Player4 (Audio/Video player)</li> </ul> <h2>New Demos</h2> <ul> ! <li>HtmlDisplay.f - Display HTML pages in a Window</li> ! <li>MDIExample.f - Example of an MDI application</li> ! <li>MDIDialogExample.f - Example of an MDI application using the MDIDialogWindow Class</li> ! <li>MultiHello.f - Example of using Dialog windows in different threads</li> </ul> --- 85,104 ---- <h2>New Applications</h2> <ul> ! <li><a href="../Player4.exe">Player4 (Audio/Video player)</a></li> ! <li><a href="../PlayVirginRadio.exe">PlayVirginRadio (Play "Virgin Radio" from the internet)</a></li> ! <li><a href="../solipion.exe">Solipion (Classic Morpion Solitaire Like Game)</a></li> </ul> + <h2>New Tools</h2> + <ul> + <li><a href="../src/lib/Resources.f">Resources (Utilities to copy, add and + enumerate resources in .dll and .exe files (For Win NT4 or better only). </a> + </li> + </ul> + + <h2>New Demos</h2> <ul> ! <li></li> </ul> --- NEW FILE: p-relnotes.6.10.htm --- <html> <head> <meta http-equiv="Content-Language" content="en-gb"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Win32Forth</title> <style> <!-- h1 { font-family: Tahoma; font-size: 24pt; font-weight: bold } h2 { font-family: Tahoma; font-size: 18pt; font-weight: bold } --> </style> </head> <body> <h1 align="center"><img border="0" src="FORTHPRO.gif" width="32" height="32"> Win32Forth</h1> <h2 align="center"><font face="Tahoma"> <a href="mailto:win...@ya...?subject=DOC: Doc error in $Id: p-relnotes.6.10.htm,v 1.1 2005/06/12 08:37:35 dbu_de Exp $"> <img border="0" src="TELLUS.gif" align="left" width="32" height="32"></a></font>Release Notes for version 6.10.01</h2> <ul> <li><a href="p-relnotes.htm">Previous version release notes </a></li> </ul> <h2>Contributors (in alphabetical order) </h2> <dir> <li>Ezra Boyce</li> <li>Dirk Busch</li> <li>Bruno Gauthier</li> <li>George Hubert</li> <li>Alex McDonald</li> <li>Rod Oakford</li> <li>Andrew Stephenson</li> <li>Jos van de Ven</li> <li>and some others...</li> </dir> <h2>Distributions</h2> <dir> <li>SourceForge distributions at <a href="http://sourceforge.net/project/showfiles.php?group_id=55294"> http://sourceforge.net/project/showfiles.php?group_id=55294</a> <img border="0" src="ONWEB.gif" width="16" height="16"></li> <li>CVS at <a href="http://sourceforge.net/cvs/?group_id=55294"> http://sourceforge.net/cvs/?group_id=55294</a> <img border="0" src="ONWEB.gif" width="16" height="16"></li> <li>Prebuilt CVS distributions at <a href="http://www.win32forth.org"> www.win32forth.org</a> <img border="0" src="ONWEB.gif" width="16" height="16"></li> </dir> <h2>Mailing lists</h2> <dir> <li>Discussion group at <a href="http://groups.yahoo.com/group/win32forth"> http://groups.yahoo.com/group/win32forth</a> <img border="0" src="ONWEB.gif" width="16" height="16"></li> <li>Bug reports at <a href="http://sourceforge.net/tracker/?group_id=55294&atid=476499"> http://sourceforge.net/tracker/?group_id=55294&atid=476499</a> <img border="0" src="ONWEB.gif" width="16" height="16"></li> <li>CVS Commit List at <a href="http://sourceforge.net/mailarchive/forum.php?forum_id=43364"> http://sourceforge.net/mailarchive/forum.php?forum_id=43364</a> <img border="0" src="ONWEB.gif" width="16" height="16">, subscriptions at <a href="http://lists.sourceforge.net/lists/listinfo/win32forth-cvs"> http://lists.sourceforge.net/lists/listinfo/win32forth-cvs</a> <img border="0" src="ONWEB.gif" width="16" height="16"></li> </dir> <h2>Overview </h2> <p><b>Back to SourceForge! </b>We're grateful to Ron Aaron, who provided us with a bug tracking system and a full CVS for a considerable period. Unfortunately, due to several successful hacking attempts on the CVSTrak bug tracker, and because of the risk to the CVS source, a decision was made to return to SF for CVS use for the forseeable future. We're grateful to Ron for his efforts to keep the show on the road. We're disappointed that a single lone script-kiddy could cause so much damage to our project. The hacking attempts and the move to SF caused us to loose several months worth of change log, so the code committed to the SF CVS is missing detailed change information from October 16, 2003 (version 6.08.00) to December 21, 2004 (base commit to SF). As a result, the changes documented here are considerably less detailed than we would wish. Our little experiment in truly open open-source has ended; SF is more secure, but more difficult to use, and not as open as we would like.</p> <h2>System Changes</h2> <p>6.10 is a significant update from 6.08, but the basic philosophy of ANS Forth compliance and trying to support as much legacy version 4.2 code as possible is still our primary goal. </p> <h3>Documentation</h3> <p>The <a href="p-index.htm">documentation</a> has been beefed up considerably, and is now almost all HTML based. </p> <p>Professor Julian V Noble has kindly allowed us to distribute his <a href="BeginnersGuideToForth/primer.htm">"A Beginner's Guide to Forth"</a> and some of his <a href="BeginnersGuideToForth">formula translation source code</a>. <a href="http://www.complang.tuwien.ac.at/anton/home.html">Anton Ertl</a> <img border="0" src="ONWEB.gif" width="16" height="16"> has given his permission to modify the <a href="http://www.complang.tuwien.ac.at/forth/gforth/Docs-html"> documentation for gforth</a> <img border="0" src="ONWEB.gif" width="16" height="16"> under the GNU Free Documentation License; work is currently underway on it. We are grateful to them and other contributors.</p> <p><a href="p-gethelp.htm">Help messages</a> now more closely conform to ANS standard; the help system can be loaded with the word <code>help-system</code>.</p> <h3>Native executables</h3> <p>Win32Forth now produces native executables (.EXEs) for Windows. The original system of using a wrapper that provided console facilities and loaded a relocatable image has been changed in favour of a native executable and a set of supporting DLLs (still written in C) that provide the console. The effect of this change is to make Win32Forth a class 1 Forth (a definition of Forth addressing mechanisms developed by <a href="http://www.forth.org.ru/~mlg/"> Michael L Gassanenko </a> <img border="0" src="ONWEB.gif" width="16" height="16">); effectively, <b>all</b> addresses in Win32forth are absolute, and the return stack and other address based variables and values are real addresses, not relative addresses. </p> <p>This means that <code>rel>abs</code> and <code>abs>rel</code> are no longer required. The advantages are significant;</p> <ul> <li>Win32Forth is up to 30% faster</li> <li>Words that uses addresses (such as calls to Windows) no longer need to be aware of them and deal with them differently.</li> </ul> <p>Other than that, there are no end-user changes required; <a href="p-imageman.htm"><code>FSAVE</code>, <code>TURNKEY</code> and <code> APPLICATION</code></a> work without change.</p> <h3>True Windows multi-tasking support</h3> <p>Support is provided for multiple threads of execution in Win32Forth. Many changes have been made to the internals to make end-user words thread safe without requiring end user code changes to support it. Currently, how to invoke words as threads is poorly documented.</p> <h3>Assembler changes</h3> <p>Specifically, <b>for Win32Forth only</b>, the <a href="p-486asm.htm"> assembler</a> is now issued under the LGPL, not the GPL. Several small changes have been made; </p> <ul> <li>correction for <0 [ebp] [reg]> compiling incorrectly</li> <li>addition of [word] and [dword] to support indirect jumps through absolute addresses</li> <li>support for CMOVcc and SETcc opcodes</li> </ul> <h3>Bug fixes</h3> <p>A large number of bugs have been fixed.</p> <h2>New Applications</h2> <ul> <li><a href="SciEdit/SciEdit.htm">SciEdit</a> (Win32Forth Source-Editor)</li> <li><a href="ProMgr/ProjectManager.htm">ForthProject</a> (Win32Forth Project Manager)</li> </ul> <h2>New Demos</h2> <ul> <li>HtmlDisplay.f - Display HTML pages in a Window</li> <li>MDIExample.f - Example of an MDI application</li> <li>MDIDialogExample.f - Example of an MDI application using the MDIDialogWindow Class</li> <li>MultiHello.f - Example of using Dialog windows in different threads</li> </ul> <hr> <p>Document $Id: p-relnotes.6.10.htm,v 1.1 2005/06/12 08:37:35 dbu_de Exp $</p> </body> </html> Index: p-index.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/p-index.htm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** p-index.htm 19 May 2005 22:02:30 -0000 1.2 --- p-index.htm 12 Jun 2005 08:37:35 -0000 1.3 *************** *** 106,112 **** a good introductory text)</li> ! <li><a href="http://thinking-forth.sourceforge.net/thinking-forth.pdf/">Thinking Forth</a> <img border="0" src="ONWEB.gif" width="16" height="16"> For the more advanced user (PDF format)</li> </ul> <h3>ANS Forth documentation</h3> --- 106,115 ---- a good introductory text)</li> ! <li><a href="http://thinking-forth.sourceforge.net/thinking-forth.pdf">Thinking Forth</a> <img border="0" src="ONWEB.gif" width="16" height="16"> For the more advanced user (PDF format)</li> + <li><a href="http://www.mpeltd.demon.co.uk/arena/ProgramForth.pdf">Programming Forth</a> by <a href="mailto:sf...@mp...">Stephen Pelc</a> + <img border="0" src="ONWEB.gif" width="16" height="16"> (PDF format)</li> + </ul> <h3>ANS Forth documentation</h3> *************** *** 116,121 **** <li>The <a href="dpans/dpansf.htm">ANS Forth Wordlist</a>; all the standard words. Excellent bedtime reading for insomniacs.</li> ! <li>Win32Forth and the ANS Forth Standard; satisfying the documentation ! requirements of the ANS Forth Standard</li> </ul> <p>Once you've got to grips with the basics, it's time to move on to the</p> --- 119,124 ---- <li>The <a href="dpans/dpansf.htm">ANS Forth Wordlist</a>; all the standard words. Excellent bedtime reading for insomniacs.</li> ! <li><a href="p-ansi.htm">Win32Forth and the ANS Forth Standard; satisfying the documentation ! requirements of the ANS Forth Standard</a></li> </ul> <p>Once you've got to grips with the basics, it's time to move on to the</p> *************** *** 164,166 **** </body> ! </html> \ No newline at end of file --- 167,169 ---- </body> ! </html> |
From: Dirk B. <db...@us...> - 2005-06-12 08:38:16
|
Update of /cvsroot/win32forth/win32forth/apps/SciEdit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18567/apps/SciEdit Modified Files: Main.f Log Message: - Changed Setup.exe to bild the new applications (Solipion, Player4 and PlayVirginRadio) - Fixed a bug in Resources.f - Added an Icon to Win32for.exe - Changed Version to 6.11.03 (to match Version 6.11.03 at www.win32forth.org) Index: Main.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/SciEdit/Main.f,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Main.f 10 Jun 2005 16:44:22 -0000 1.5 --- Main.f 12 Jun 2005 08:37:35 -0000 1.6 *************** *** 698,705 **** 1 pause-seconds bye [else] ! ! \ s" src\res\SciEditMDI.ico" s" SciEditMdi.exe" AddAppIcon Main - [then] ! |
From: Dirk B. <db...@us...> - 2005-06-12 08:38:15
|
Update of /cvsroot/win32forth/win32forth/apps/Solipon2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18567/apps/Solipon2 Modified Files: SOLIPION.F Log Message: - Changed Setup.exe to bild the new applications (Solipion, Player4 and PlayVirginRadio) - Fixed a bug in Resources.f - Added an Icon to Win32for.exe - Changed Version to 6.11.03 (to match Version 6.11.03 at www.win32forth.org) Index: SOLIPION.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Solipon2/SOLIPION.F,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SOLIPION.F 6 Jun 2005 11:07:46 -0000 1.2 --- SOLIPION.F 12 Jun 2005 08:37:35 -0000 1.3 *************** *** 1,4 **** --- 1,6 ---- \ SOLIPION.F 2.01 + s" apps\Solipon2" "fpath+ + needs old\optimize.f needs Resources.f *************** *** 237,241 **** : playthat ! SND_ASYNC SND_MEMORY or SND_NODEFAULT or NULL ROT Call PlaySound drop ; : <<<hypothesis>>> ( -- ) --- 239,252 ---- : playthat ! SND_ASYNC SND_MEMORY or SND_NODEFAULT or NULL ROT Call PlaySound drop ; ! ! : find-file ( addr len -- addr1 len1 ) ! path-ptr off \ clear path list ! s" ." "fpath+ \ current dir is first ! &forthdir count "fpath+ ! s" apps\Solipon2" "fpath+ ! ! "path-file drop ! ; : <<<hypothesis>>> ( -- ) *************** *** 244,248 **** <hypothesis>flag? 0= if true to <hypothesis>flag? ! s" ep7.wav" r/o open-file drop >r r@ file-size drop d>s to <hypothesis>size r@ <hypothesis>size malloc to <hypothesis>handle --- 255,259 ---- <hypothesis>flag? 0= if true to <hypothesis>flag? ! s" ep7.wav" find-file r/o open-file drop >r r@ file-size drop d>s to <hypothesis>size r@ <hypothesis>size malloc to <hypothesis>handle *************** *** 259,267 **** - 0 value <ding>busy? 0 value <ding>handle 0 value <ding>flag? 0 value <ding>size : <<<ding>>> ( -- ) <ding>busy? ?exit --- 270,278 ---- 0 value <ding>busy? 0 value <ding>handle 0 value <ding>flag? 0 value <ding>size + : <<<ding>>> ( -- ) <ding>busy? ?exit *************** *** 269,273 **** <ding>flag? 0= if true to <ding>flag? ! s" av7.wav" r/o open-file drop >r r@ file-size drop d>s to <ding>size r@ <ding>size malloc to <ding>handle --- 280,284 ---- <ding>flag? 0= if true to <ding>flag? ! s" av7.wav" find-file r/o open-file drop >r r@ file-size drop d>s to <ding>size r@ <ding>size malloc to <ding>handle *************** *** 292,296 **** if true to <bleep1>flag? ! s" bleep7.wav" r/o open-file drop >r r@ file-size drop d>s to <bleep1>size r@ <bleep1>size malloc to <bleep1>handle --- 303,307 ---- if true to <bleep1>flag? ! s" bleep7.wav" find-file r/o open-file drop >r r@ file-size drop d>s to <bleep1>size r@ <bleep1>size malloc to <bleep1>handle *************** *** 318,322 **** <yahoo>flag? 0= if true to <yahoo>flag? ! s" yahoo.wav" r/o open-file drop >r r@ file-size drop d>s to <yahoo>size r@ <yahoo>size malloc to <yahoo>handle --- 329,333 ---- <yahoo>flag? 0= if true to <yahoo>flag? ! s" yahoo.wav" find-file r/o open-file drop >r r@ file-size drop d>s to <yahoo>size r@ <yahoo>size malloc to <yahoo>handle *************** *** 342,346 **** <applause>flag? 0= if true to <applause>flag? ! s" applause7.wav" r/o open-file drop >r r@ file-size drop d>s to <applause>size r@ <applause>size malloc to <applause>handle --- 353,357 ---- <applause>flag? 0= if true to <applause>flag? ! s" applause7.wav" find-file r/o open-file drop >r r@ file-size drop d>s to <applause>size r@ <applause>size malloc to <applause>handle *************** *** 766,773 **** \ Save the bests-table \ --------------------------------------------------------------- - - - - : save-bests { \ best$ hfile -- } max-path LocalAlloc: best$ --- 777,780 ---- *************** *** 1632,1636 **** 13 pushkey ; - : load-table-bests { \ best$ hfile -- } max-path LocalAlloc: best$ --- 1639,1642 ---- *************** *** 1812,1816 **** ' solipion turnkey solipion \ build an application on disk ! s" solipion.ico" s" solipion.exe" AddAppIcon ! 5 pause-seconds ! |
From: Dirk B. <db...@us...> - 2005-06-12 08:38:15
|
Update of /cvsroot/win32forth/win32forth/apps/Setup In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18567/apps/Setup Modified Files: Setup.f Log Message: - Changed Setup.exe to bild the new applications (Solipion, Player4 and PlayVirginRadio) - Fixed a bug in Resources.f - Added an Icon to Win32for.exe - Changed Version to 6.11.03 (to match Version 6.11.03 at www.win32forth.org) Index: Setup.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Setup/Setup.f,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Setup.f 4 Jun 2005 08:51:18 -0000 1.5 --- Setup.f 12 Jun 2005 08:37:35 -0000 1.6 *************** *** 125,128 **** --- 125,129 ---- ." P Rebuild Project Manager." cr cr ." S Rebuild SciEdit." cr cr + ." A Rebuild sample applications (Player4, Solipon2 and PlayVirginRadio)" cr cr ." D Copy Win32Forth dll files (w32fConsole.dll, w32fScintilla.dll," cr ." w32fHtmlDisplay.dll, wincon.dll and Zip32.dll) into the Windows system folder:" cr *************** *** 270,273 **** --- 271,284 ---- ; + : buildsamples + ." -- Sample applications" cr + c" WIN32FOR.EXE fload apps\Player4\Player4.f bye" procexec + c" Player4.EXE" filecheck + c" WIN32FOR.EXE fload apps\Solipon2\SOLIPION.F bye" procexec + c" SOLIPION.EXE" filecheck + c" WIN32FOR.EXE fload apps\PlayVirginRadio\PlayVirginRadio.F bye" procexec + c" PlayVirginRadio.EXE" filecheck + ; + : copydll { addr \ buf$ } \ copy a dll into the windows system folder SystemDirectory$ c@ *************** *** 301,304 **** --- 312,316 ---- buildproject \ build ProjectManager buildscintilla \ build SciEdit + buildsamples \ build sample applications ; *************** *** 367,370 **** --- 379,383 ---- buildproject buildscintilla \ build SciEdit + buildsamples \ build sample applications endedok ; *************** *** 465,468 **** --- 478,493 ---- ; + \ Sample applications + \ new Samstag, Juni 11 2005 - 8:41 dbu + : samples + cls cr + ." Sample applications requested" cr + dashline + ." Rebuilding Sample applications" cr + checkcont + buildsamples + endedok + ; + : dllcopy cls cr *************** *** 506,509 **** --- 531,535 ---- 'P' of project endof 'S' of scintilla endof + 'A' of samples endof 'D' of dllcopy endof |
From: Dirk B. <db...@us...> - 2005-06-12 08:38:15
|
Update of /cvsroot/win32forth/win32forth/apps/Player4 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18567/apps/Player4 Modified Files: PLAYER4.F Log Message: - Changed Setup.exe to bild the new applications (Solipion, Player4 and PlayVirginRadio) - Fixed a bug in Resources.f - Added an Icon to Win32for.exe - Changed Version to 6.11.03 (to match Version 6.11.03 at www.win32forth.org) Index: PLAYER4.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Player4/PLAYER4.F,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** PLAYER4.F 4 Jun 2005 08:51:17 -0000 1.14 --- PLAYER4.F 12 Jun 2005 08:37:34 -0000 1.15 *************** *** 14,17 **** --- 14,19 ---- anew -PLAYER4.F + s" apps\Player4" "fpath+ + VOCABULARY Player only forth also Player definitions \ put all words into the PLAYER vocabulary *************** *** 508,516 **** false to MciDebug? ' player4 turnkey Player4.exe ! s" Player4.ico" s" Player4.exe" AddAppIcon 1 pause-seconds [else] true to MciDebug? ! s" Player4.ico" s" Player4.exe" AddAppIcon PLAYER4 [then] --- 510,518 ---- false to MciDebug? ' player4 turnkey Player4.exe ! s" apps\Player4\Player4.ico" s" Player4.exe" AddAppIcon 1 pause-seconds [else] true to MciDebug? ! s" apps\Player4\Player4.ico" s" Player4.exe" AddAppIcon PLAYER4 [then] |
From: Dirk B. <db...@us...> - 2005-06-12 08:38:14
|
Update of /cvsroot/win32forth/win32forth/apps/PlayVirginRadio In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18567/apps/PlayVirginRadio Modified Files: PlayVirginRadio.f Log Message: - Changed Setup.exe to bild the new applications (Solipion, Player4 and PlayVirginRadio) - Fixed a bug in Resources.f - Added an Icon to Win32for.exe - Changed Version to 6.11.03 (to match Version 6.11.03 at www.win32forth.org) Index: PlayVirginRadio.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/PlayVirginRadio/PlayVirginRadio.f,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PlayVirginRadio.f 4 Jun 2005 08:51:17 -0000 1.3 --- PlayVirginRadio.f 12 Jun 2005 08:37:34 -0000 1.4 *************** *** 186,195 **** \ add the Application Icon ! s" Virgin.ico" s" PlayVirginRadio.exe" AddAppIcon 1 pause-seconds bye [else] ! s" Virgin.ico" s" PlayVirginRadio.exe" AddAppIcon go [then] ! \ No newline at end of file --- 186,195 ---- \ add the Application Icon ! s" apps\PlayVirginRadio\Virgin.ico" s" PlayVirginRadio.exe" AddAppIcon 1 pause-seconds bye [else] ! s" apps\PlayVirginRadio\Virgin.ico" s" PlayVirginRadio.exe" AddAppIcon go [then] ! |
From: Dirk B. <db...@us...> - 2005-06-12 08:38:14
|
Update of /cvsroot/win32forth/win32forth/apps/ForthForm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18567/apps/ForthForm Modified Files: FORTHFORM.F Log Message: - Changed Setup.exe to bild the new applications (Solipion, Player4 and PlayVirginRadio) - Fixed a bug in Resources.f - Added an Icon to Win32for.exe - Changed Version to 6.11.03 (to match Version 6.11.03 at www.win32forth.org) Index: FORTHFORM.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/ForthForm/FORTHFORM.F,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** FORTHFORM.F 10 Jun 2005 16:44:10 -0000 1.5 --- FORTHFORM.F 12 Jun 2005 08:37:33 -0000 1.6 *************** *** 1326,1332 **** \ add the Application Icon to the resource of the exe-file if possible ! \+ sysgen also forthform ! \+ sysgen s" src\res\ForthForm.ico" s" ForthForm.exe" AddAppIcon ! \+ sysgen previous \+ sysgen 1 pause-seconds bye --- 1326,1332 ---- \ add the Application Icon to the resource of the exe-file if possible ! sysgen also forthform ! sysgen s" src\res\ForthForm.ico" s" ForthForm.exe" AddAppIcon ! sysgen previous \+ sysgen 1 pause-seconds bye *************** *** 1341,1343 **** thisfile wincon.dll thisfile forthform.cfg ! |
From: Dirk B. <db...@us...> - 2005-06-12 08:37:51
|
Update of /cvsroot/win32forth/win32forth/src/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18567/src/kernel Modified Files: version.f Log Message: - Changed Setup.exe to bild the new applications (Solipion, Player4 and PlayVirginRadio) - Fixed a bug in Resources.f - Added an Icon to Win32for.exe - Changed Version to 6.11.03 (to match Version 6.11.03 at www.win32forth.org) Index: version.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/kernel/version.f,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** version.f 22 May 2005 09:49:43 -0000 1.2 --- version.f 12 Jun 2005 08:37:39 -0000 1.3 *************** *** 3,7 **** cr .( Loading META version info) ! 61102 VALUE #VERSION# \ Change only the version number above; the build number is automatically assigned. --- 3,7 ---- cr .( Loading META version info) ! 61103 VALUE #VERSION# \ Change only the version number above; the build number is automatically assigned. *************** *** 412,414 **** ! \ No newline at end of file --- 412,414 ---- ! |
From: Dirk B. <db...@us...> - 2005-06-12 08:37:50
|
Update of /cvsroot/win32forth/win32forth/src/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18567/src/lib Modified Files: RESOURCES.F Log Message: - Changed Setup.exe to bild the new applications (Solipion, Player4 and PlayVirginRadio) - Fixed a bug in Resources.f - Added an Icon to Win32for.exe - Changed Version to 6.11.03 (to match Version 6.11.03 at www.win32forth.org) Index: RESOURCES.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/lib/RESOURCES.F,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RESOURCES.F 10 Jun 2005 16:44:23 -0000 1.2 --- RESOURCES.F 12 Jun 2005 08:37:39 -0000 1.3 *************** *** 51,54 **** --- 51,57 ---- anew -Resources.f + in-system + internal + winver winnt4 < [if] *************** *** 76,82 **** \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ - in-system - internal - Create SourceFileName 256 allot Create UpdateFileName 256 allot --- 79,82 ---- *************** *** 354,371 **** in-system winver winnt4 < [if] ! : ReplaceFile 2drop ; ! : AddIcon 3drop ; ! : EndUpdate drop ; ! [then] \ Add the Icon filename1 to the Application filename2 ! : AddAppIcon ( s" filename1" s" filename2" ) ! ReplaceFile ! 2dup AppIcon place 101 -rot AddIcon ! false EndUpdate ; in-application --- 354,384 ---- in-system + external winver winnt4 < [if] ! \ Add the Icon filename1 to the Application filename2 ! : AddAppIcon ( s" filename1" s" filename2" -- ) ! 2drop AppIcon place ; ! [else] ! ! \ returns true if we can add the icon to the file ! : AddAppIcon? ( addr len -- f ) ! r/w open-file 0= dup ! if swap close-file drop ! else nip ! then ; \ Add the Icon filename1 to the Application filename2 ! : AddAppIcon ( s" filename1" s" filename2" -- ) ! 2dup AddAppIcon? ! if ReplaceFile ! 2dup 101 -rot AddIcon ! false EndUpdate ! else 2drop ! then AppIcon place ; ! ! [then] in-application *************** *** 450,452 **** s" PictureViewer.exe" ListResources ; ! |
From: Dirk B. <db...@us...> - 2005-06-12 08:37:50
|
Update of /cvsroot/win32forth/win32forth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18567 Modified Files: fkernel.exe setup.exe Log Message: - Changed Setup.exe to bild the new applications (Solipion, Player4 and PlayVirginRadio) - Fixed a bug in Resources.f - Added an Icon to Win32for.exe - Changed Version to 6.11.03 (to match Version 6.11.03 at www.win32forth.org) Index: setup.exe =================================================================== RCS file: /cvsroot/win32forth/win32forth/setup.exe,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 Binary files /tmp/cvsbteAa2 and /tmp/cvs01kDTo differ Index: fkernel.exe =================================================================== RCS file: /cvsroot/win32forth/win32forth/fkernel.exe,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 Binary files /tmp/cvsYpdwSA and /tmp/cvsuSjW1X differ |
From: Dirk B. <db...@us...> - 2005-06-12 08:37:50
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18567/src Modified Files: Extend.f Log Message: - Changed Setup.exe to bild the new applications (Solipion, Player4 and PlayVirginRadio) - Fixed a bug in Resources.f - Added an Icon to Win32for.exe - Changed Version to 6.11.03 (to match Version 6.11.03 at www.win32forth.org) Index: Extend.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/Extend.f,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Extend.f 17 May 2005 22:25:25 -0000 1.7 --- Extend.f 12 Jun 2005 08:37:39 -0000 1.8 *************** *** 174,185 **** cur-line off \ clear the current line ! cr cr .( Extensions Loaded, ) count-words . .( words in dictionary) ! \ .registry cr ! SaveInfo WIN32FOR.DBG - fsave Win32for \ save Win32For.EXE 1 pause-seconds --- 174,188 ---- cur-line off \ clear the current line ! cr cr .( Extensions Loaded, ) ! count-words . .( words in dictionary) cr ! SaveInfo WIN32FOR.DBG \ save debugger information ! fsave Win32for \ save Win32For.EXE ! fload lib\Resources.f ! s" src\res\Win32For.ico" s" Win32for.exe" AddAppIcon 1 pause-seconds + |
From: Dirk B. <db...@us...> - 2005-06-12 08:14:58
|
Update of /cvsroot/win32forth/win32for4web In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9031 Added Files: downloads.htm favicon.ico forthpro.gif index.htm Log Message: Initial add --- NEW FILE: downloads.htm --- <html> <head> <meta http-equiv="Content-Language" content="en-gb"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Win32Forth Project Group </title> <style> <!-- h1 { font-family: Tahoma; font-size: 24pt; font-weight: bold } h2 { font-family: Tahoma; font-size: 18pt; font-weight: bold } --> </style> </head> <body> <a href="index.htm"> <h1 align="center">The Home of the<br><img border="0" src="forthpro.gif" width="32" height="32"> Win32Forth <img border="0" src="FORTHPRO.gif" width="32" height="32"><br>Project Group</h1> </a> <center> <hr> <h2>Download's</h2> <table border="0" width="100%"> <tr> <th align=left><a href="./downloads/ansify.f">ansify.f</a></th> <th align=left>Convert ANSI Forth standard definition names from lower to upper case</th> </tr> <tr> <th align=left><a href="./downloads/vibe-2.1.f">vibe-2.1.f</a></th> <th align=left>VIBE - A portable block editor</th> </tr> <tr> <th align=left><a href="./downloads/color.f">color.f</a></th> <th align=left>Forth to HTML converter</th> </tr> <tr> <th align=left><a href="./downloads/bezier.f">bezier.f</a></th> <th align=left>Bézier splines</th> </tr> <tr> <th align=left><a href="./downloads/blowfish.f">blowfish.f</a></th> <th align=left>Blowfish encryption algorithm</th> </tr> <tr> <th align=left><a href="./downloads/DumpWindows.f">DumpWindows.f</a></th> <th align=left>Dump's all Top-Level-Windows to the console</th> </tr> <tr> <th align=left><a href="./downloads/isaac.f">isaac.f</a></th> <th align=left>ISAAC random number generator</th> </tr> <tr> <th align=left><a href="./downloads/NUMBER.F">NUMBER.F</a></th> <th align=left>Display numbers according to the international settings of the control panel</th> </tr> <tr> <th align=left><a href="./downloads/ods.f">ods.f</a></th> <th align=left>OutputDebugString() support</th> </tr> <tr> <th align=left><a href="./downloads/reorder.f">reorder.f</a></th> <th align=left>Reorder the stack</th> </tr> <tr> <th align=left><a href="./downloads/ShellExecute.f">ShellExecute.f</a></th> <th align=left>ShellExecute() support</th> </tr> <tr> <th align=left><a href="./downloads/Sockets.f">Sockets.f</a></th> <th align=left>Support for Windows Sockets (updated May 15th, 2004)</th> </tr> <tr> <th align=left><a href="./downloads/STRUCT.F">STRUCT.F</a></th> <th align=left>C like structures</th> </tr> <tr> <th align=left><a href="./downloads/dzfloat-test.zip">dzfloat-test.zip</a></th> <th align=left>Dirk Zoller's Float Tests</th> </tr> <tr> <th align=left><a href="./downloads/tetris.f">tetris.f</a></th> <th align=left>Win32Forth Version of Dirk Zoller's Tetris clone (updated March 27th, 2004)</th> </tr> <tr> <th align=left><a href="./downloads/ClassBrowser.zip">ClassBrowser.zip</a></th> <th align=left>Win32Forth Class and Vocabulary browser. It display's the classes, methods, vocabularies and words in a Treeview. If you hold down the CTRL-key while clicking on an entry in the Treeview the source is shown in WinEd. (<b>updated May 29th, 2004</b>)</th> </tr> </table> <p> More to come soon... </p> <hr> <p> Copyright 2004 by the <a href="mailto:web...@wi...">Win32Forth Project Group</a>.<br> Last change June 12th, 2005 </p> </center> </body> </html> --- NEW FILE: forthpro.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: favicon.ico --- (This appears to be a binary file; contents omitted.) --- NEW FILE: index.htm --- <html> <head> <meta http-equiv="Content-Language" content="en-gb"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Win32Forth Project Group </title> <style> <!-- h1 { font-family: Tahoma; font-size: 24pt; font-weight: bold } h2 { font-family: Tahoma; font-size: 18pt; font-weight: bold } --> </style> </head> <body> <h1 align="center">The Home of the<br><img border="0" src="forthpro.gif" width="32" height="32"> Win32Forth <img border="0" src="FORTHPRO.gif" width="32" height="32"><br>Project Group</h1> <hr> <h2>About Win32Forth</h2> <ul> <li> <a href="./doc/p-index.htm">Win32Forth</a> is a public domain, ANS compatible, Forth language application development system. It was initially written by Andrew McKewan, Tom Zimmer, Robert Smith and Jim Schneider during 1994 and 1995. Win32Forth is a FAT (as in BIG) system, adhering to the philosophy that if some tools are good, many tools must be better. It includes an interactive console and an integrated extensible source level debugger. Editing of source text is facilitated by the included WinEd hypertext file editor, which allows easy exploration of the many mega-bytes of source code that makes up Win32Forth. </li> </ul> <hr> <h2>About us</h2> <ul> <li> The <a href="http://groups.yahoo.com/group/win32forth">Win32Forth Project Group</a> was formed in 2002, by John A. Peters, on TopicA.com. It grew in to a loose affiliation of programmers and users of <a href="http://www.radiks.net/~jimbo/art/int6.htm">Tom Zimmer's</a> Win32Forth system. Tom interests took him elsewhere in 2001 and 2002 (mainly Java), and he no longer took an active interest in his system. Tom gifted his product into the public domain; this group intends furthering the work of maintaining and developing a Forth product suitable for Windows and the 21st century based on his work. </li> </ul> <hr> <h2>How to find us</h2> <ul> <li> You can find us, on our maillist at: <a href="http://groups.yahoo.com/group/win32forth">http://groups.yahoo.com/group/win32forth</a>. </li> </ul> <hr> <h2>Download's</h2> <ul> <li> <a href="http://sourceforge.net/project/showfiles.php?group_id=55294&package_id=50210&release_id=102027">Tom Zimmer's last Win32Forth Version 4.2 Build 671</a> </li> <li> <a href="http://sourceforge.net/project/showfiles.php?group_id=55294&package_id=51497&release_id=191697">Our latest stable Win32Forth release 6.08.00.</a> </li> <li> <a href="./downloads/w32f61001rc2.exe">Our next stable Win32Forth release 6.10.01</a> (the snapshot was taken from our CVS on <b>May 22nd,</b> 2005). This Version will replace our 6.08.00 release soon. See release <a href="./doc/p-relnotes.6.10.htm">notes</a> for more information. </li> <li> <a href="./downloads/w32f61103.exe">Our current Win32Forth developer release 6.11.03</a> (the snapshot was taken from our CVS on <b>June 12th,</b> 2005). See release <a href="./doc/p-relnotes.6.12.htm">notes</a> for more information. </li> <li> And <a href="downloads.htm">here</a> you'll find some more useful sources. </li> </ul> <hr> <h2>Links to other Win32Forth websites</h2> <ul> <li><a href="http://sourceforge.net/projects/win32forth">Win32Forth on sourceforge.net</a></li> <li><a href="http://home.planet.nl/~josv/">Jos v.d.Ven is using Win32Forth for Graphics and parallel arithmetic</a></li> <li><a href="http://www.sunterr.demon.co.uk/">Working with Win32Forth</a></li> <li><a href="http://www.concentric.net/~jkelm/win32for/index.htm">Jeff's Win32 Programming Examples using Win32Forth</a></li> <li><a href="http://www.forth.org/svfig/Win32Forth/items.html">Win32Forth at the FIG Silicon Valley Chapter</a></li> <li><a href="http://users.cybercity.dk/~ccc27382/">Michael Hillerström Win32Forth page</a></li> <li><a href="http://win32forth.de.vu">Dirk's Win32Forth page</a></li> <li><a href="http://mrrainbowsallysir.1afm.com/Win32Forth/FUN.htm">The FUN series for Win32Forth</a></li> <li><a href="http://phma.hn.org/Software/csv2html.html">A csv to html converter written with Win32Forth</a></li> <li><a href="http://www.marioferrari.org/emupbforth/emupbforth.html">A pbForth emulator.</a> <a href="http://www.hempeldesigngroup.com/lego/pbForth/"> pbForth</a> is designed to work with the LEGO Mindstorms RCX brick</li> </ul> <hr> <p> <table border=1 width="100%" cellpadding=2 cellspacing=0 bordercolor="#990066"><tr><td><table border=0 cellpadding=1 cellspacing=0 bgcolor="#ffcccc" width="100%"><tr><td><table border=0 cellpadding=0 cellspacing=4 width="100%" ><tr><td nowrap><font face=arial color="#000000"><b>Forth Programming Webring </b></font></td></tr><tr><td nowrap colspan=2 ><font face=arial size=-1 color="#000000"> [ <a href="http://T.webring.com/wrman?ring=forth&addsite" target=_top>Join Now</a> | <a href="http://T.webring.com/hub?ring=forth&id=20&hub" target=_top>Ring Hub</a> | <a href="http://T.webring.com/go?ring=forth&id=20&random" target=_top>Random</a> | <b><a href="http://T.webring.com/go?ring=forth&id=20&prev" target=_top><< Prev</a> | <a href="http://T.webring.com/go?ring=forth&id=20&next" target=_top>Next >></a></b> ] </font></td></tr></table></td></tr></table></td></tr></table> </p> <hr> <p> Copyright 2004-2005 by the <a href="mailto:web...@wi...">Win32Forth Project Group</a>.<br> Last change June 12th, 2005 </p> <p> <!-- Begin Nedstat Basic code --> <!-- Title: Win32Forth Project Group --> <!-- URL: http://www.win32forth.org/ --> <script language="JavaScript" type="text/javascript" src="http://m1.nedstatbasic.net/basic.js"> </script> <script language="JavaScript" type="text/javascript" > <!-- nedstatbasic("ACuuJgGYTcxB9cKZQqe7Qfv26SzA", 0); // --> </script> <noscript> <a target="_blank" href="http://www.nedstatbasic.net/stats?ACuuJgGYTcxB9cKZQqe7Qfv26SzA"> <img src="http://m1.nedstatbasic.net/n?id=ACuuJgGYTcxB9cKZQqe7Qfv26SzA" border="0" width="18" height="18" alt="Nedstat Basic"></a><br> <a target="_blank" href="http://www.nedstatbasic.net/">Nedstat Basic</a> </noscript> <!-- End Nedstat Basic code --> </p> </body> </html> |
From: Dirk B. <db...@us...> - 2005-06-12 08:14:55
|
Update of /cvsroot/win32forth/win32for4web/downloads In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9031/downloads Added Files: ClassBrowser.zip DumpWindows.f NUMBER.F STRUCT.F ShellExecute.f Sockets.f ansify.f bezier.f blowfish.f color.f dzfloat-test.zip isaac.f ods.f reorder.f tetris.f vibe-2.1.f Log Message: Initial add --- NEW FILE: vibe-2.1.f --- \ \ VIBE Release 2.1 \ Copyright (c) 2001-2003 Samuel A. Falvo II \ All Rights Reserved. \ \ Highly portable block editor -- works under nearly every ANS Forth \ I can think of, and with only a single screenful of words, will \ work under Pygmy and FS/Forth too. \ \ USAGE: vibe ( n -- ) Edits block 'n'. Sets SCR variable to 'n'. \ ed ( -- ) From Pygmy. Re-edits last edited block. \ \ I use CREATE instead of VARIABLE because I can statically initialize \ the variables at load-time with no overhead. Stole this idea from a7r \ in the #Forth IRC channel. \ \ 2.1 -- Fixed stack overflow bugs; forgot to DROP in the non-default \ key handlers. \ \ \ Ported to Win32Forth by Dirk Busch on March 8th, 2004 \ Win32Forth-specific anew vibe.f fload extras\block.f char $ constant '$ char 0 constant '0 ( Editor Constants ) \ I don't like this technique; should have used a bitmap. Will fix later. CHAR i CONSTANT 'i \ Insert mode CHAR r CONSTANT 'r \ Replace mode CHAR c CONSTANT 'c \ Command mode CHAR y CONSTANT 'y CHAR n CONSTANT 'n CHAR A CONSTANT 'A CHAR Z CONSTANT 'Z ( Editor State ) \ 1 CREATE scr , \ Current block 0 CREATE x , \ Cursor X position 0..63 0 CREATE y , \ Cursor Y position 0..15 'c CREATE mode , \ Change to bitmap later. \ GForth-specific CREATE wordname 5 C, '$ C, '$ C, 0 C, 0 C, 0 C, ( Editor Display ) : mode. 63 0 AT-XY mode @ EMIT ; : scr. 0 0 AT-XY ." Block: " scr @ . ." " ; : header. scr. mode. ; : 8-s ." --------" ; : 64-s 8-s 8-s 8-s 8-s 8-s 8-s 8-s 8-s ; : border SPACE 64-s CR ; : row DUP 64 TYPE 64 + ; : line ." |" row ." |" CR ; : 4lines line line line line ; : 16lines scr @ BLOCK 4lines 4lines 4lines 4lines DROP ; : card 0 1 AT-XY border 16lines border ; : cursor x @ 1+ y @ 2 + AT-XY ; : screen header. card cursor ; ( Editor State Control ) : insert 'i mode ! ; : replace 'r mode ! ; : cmd 'c mode ! ; : (bounds) scr @ 0 MAX 65535 MIN scr ! ; : prevblock -2 scr +! (bounds) ; : nextblock 2 scr +! (bounds) ; : toggleshadow 1 scr @ XOR scr ! ; ( Editor Cursor Control ) : flushLeft 0 x ! ; : boundX x @ 0 MAX 63 MIN x ! ; : boundY y @ 0 MAX 15 MIN y ! ; : boundXY boundX boundY ; : left -1 x +! boundXY ; : right 1 x +! boundXY ; : up -1 y +! boundXY ; : down 1 y +! boundXY ; \ : beep 7 EMIT ; : nextline y @ 15 < IF flushLeft down THEN ; : next x @ 63 = IF nextline EXIT THEN right ; ( Editor Insert/Replace Text ) : 64* 2* 2* 2* 2* 2* 2* ; : (where) scr @ BLOCK SWAP 64* + SWAP + ; : wh x @ y @ (where) ; : eol 63 y @ (where) ; : (place) wh C! UPDATE next ; : -eol? x @ 63 < ; : openr wh DUP 1+ 63 x @ - MOVE ; : openRight -eol? IF openr THEN ; : inserting? mode @ 'i = ; : chr inserting? IF openRight THEN (place) ; ( Editor Commands: Quit, cursor, block, et. al. ) : $$c40 DROP 0 20 AT-XY R> R> DROP >R ; \ Q -- quits main loop : $$c30 DROP flushLeft ; \ 0 : $$c69 DROP insert ; \ i : $$c49 DROP flushLeft insert ; \ I : $$c52 DROP replace ; \ R : $$i1B DROP cmd ; \ (escape) : $$c68 DROP left ; \ h : $$c6A DROP down ; \ j : $$c6B DROP up ; \ k : $$c6C DROP right ; \ l : $$c5B DROP prevblock ; \ [ : $$c5C DROP toggleshadow ; \ \ : $$c5D DROP nextblock ; \ ] ( Editor Backspace/Delete ) : padding 32 eol C! UPDATE ; : del wh DUP 1+ SWAP 63 x @ - MOVE ; : delete -eol? IF del THEN padding ; : bs left delete ; : backspace x @ 0 > IF bs THEN ; ( Editor Carriage Return ) : nextln eol 1+ ; : #chrs scr @ BLOCK 1024 + nextln - 64 - ; : copydown y @ 14 < IF nextln DUP 64 + #chrs MOVE THEN ; : blankdown nextln 64 32 FILL UPDATE ; : splitdown wh nextln 2DUP SWAP - MOVE ; : blankrest wh nextln OVER - 32 FILL ; : opendown copydown blankdown ; : (splitline) opendown splitdown blankrest ; : retrn inserting? IF (splitline) THEN flushleft nextline ; : return y @ 15 < IF retrn THEN ; ( Editor Wipe Block ) : ynmsg 0 20 AT-XY ." Are you sure? (Y/N) " ; : valid? DUP 'n = OVER 'y = OR ; : uppercase? DUP 'A >= SWAP 'Z <= AND ; : lowercase DUP uppercase? IF $20 XOR THEN ; : validkey BEGIN KEY lowercase valid? UNTIL ; : clrmsg 0 20 AT-XY 64 SPACES ; : no? ynmsg validkey clrmsg 'n = ; : ?confirm no? IF R> DROP THEN ; : wipescr ?confirm scr @ BLOCK 1024 32 FILL UPDATE 0 x ! 0 y ! ; ( Editor Commands: backspace, delete, et. al. ) : $$i04 DROP delete ; \ CTRL-D : $$i08 DROP backspace ; \ (bs) : $$i7F DROP backspace ; \ DEL -- for Unix : $$i0D DROP return ; \ (cr) : $$c5A DROP wipescr ; \ Z : $$c6F DROP opendown down $$c49 ; \ o : $$c4F DROP opendown ; \ O ( Editor Keyboard Handler ) \ Word name key: $ $ _ _ _ \ | | | \ c = command mode --+ | | \ i = ins/repl mode | | \ | | \ Key code (hex#) -----+-+ \ \ Called with ( k -- ) where k is the ASCII key code. : keyboard KEY ; : cmd? mode @ 'c = ; : ins? mode @ 'i = mode @ 'r = OR ; : mode! ins? 'i AND cmd? 'c AND OR wordname 3 + C! ; : >hex DUP 9 > IF 7 + THEN '0 + ; : h! DUP $F0 AND 2/ 2/ 2/ 2/ >hex wordname 4 + C! ; : l! $0F AND >hex wordname 5 + C! ; : name! mode! h! l! ; : nomapping DROP ['] beep cmd? AND ['] chr ins? AND OR ; : handlerword name! wordname FIND IF ELSE nomapping THEN ; : keyboardhandler DUP handlerword EXECUTE ; : editorloop BEGIN keyboard keyboardhandler screen AGAIN ; : ed page screen editorloop ; : vibe scr ! ed ; \s 10 create-blockfile c:\temp1.blk 1 vibe close-blockfile --- NEW FILE: reorder.f --- (This appears to be a binary file; contents omitted.) --- NEW FILE: NUMBER.F --- anew number.f \ March 12th, 2002 - 11:48 \ Shows numbers according to the international settings of the control panel. \ March 11th, 2002 - 14:57 changed init_digits. \ Now it seems to be right for various windows-systems \ January 24th, 2004 - 12:43 dbu \ - Made this source independed from toolset.f [UNDEFINED] hld-max [IF] 80 constant hld-max [THEN] [UNDEFINED] hld-count [IF] : hld-count ( count - hld count-1 ) hld swap 1- ; [THEN] [UNDEFINED] fvalue-to-string [IF] synonym fvalue-to-string (f.) [THEN] : s(d.#) ( d1 n1 sign -- a1 count ) \ display d1 with n1 places behind DP >r >r <# r> ?dup \ if not zero, then display places if 0 max 0 ?do # loop [char] . hold then #s r> if [char] - hold \ including the sign then #> ; : lprep ( l h n1 sign - base hld-max hld_abs 0 adr$ 0 LOCALE_SYSTEM_DEFAULT ) 2>r base @ -rot decimal 2>r hld-max hld rel>abs 0 2r> pad 30 erase 2r> s(d.#) drop rel>abs 0 LOCALE_SYSTEM_DEFAULT ; : lfprep ( f: f - ) ( - base hld-max hld_abs 0 adr$ 0 LOCALE_SYSTEM_DEFAULT ) base @ decimal hld-max hld rel>abs 0 pad 30 erase pad fvalue-to-string pad 1+ rel>abs 0 LOCALE_SYSTEM_DEFAULT ; 0 value #idigits 0 value #iCurrDigits : digit@>s ( adr - digit ) c@ 0xf and ; : reg-digit@ ( adr n - digit ) drop digit@>s ; : no_idigits ( count - count_without_the_idigits ) #idigits 0> if #idigits - 1- then ; : type-r ( adr count right-justify - ) 2dup >= if drop else over - spaces then type ; : dsigned? ( l h - ul hl sign ) 2dup dabs 2swap d0< ; : (l.$fin) ( l h - adr count ) dsigned? #iCurrDigits swap lprep call GetCurrencyFormat hld-count rot base ! ; : (l.ud) ( l h n1 sign - adr count ) \ max: +/- -18.446.744.073.709.551.615 lprep call GetNumberFormat hld-count rot base ! ; : (l.d) ( l h n1 - adr count ) >r dsigned? r> swap (l.ud) ; : (l.dint) ( l h - adr count ) 0 (l.d) no_idigits ; \ January 11th, 2002 : (l.int) ( n - adr count ) s>d (l.dint) ; \ January 11th, 2002 : l.ud ( l h - ) #idigits false (l.ud) type ; : l.d ( l h - ) #idigits (l.d) type ; : l. ( n - ) s>d l.d ; : l.int ( n - ) (l.int) type ; : l.d$fin ( l h - ) (l.$fin) type ; : l.$fin ( n - ) s>d l.d$fin ; : l.dr ( r l h - ) #idigits (l.d) rot type-r ; : l.r ( n r - ) swap s>d l.dr ; : l.intr ( n r - ) swap s>d 0 (l.d) no_idigits rot type-r ; : l.d$finr ( l h r - ) -rot (l.$fin) rot type-r ; : l.$finr ( n r - ) swap s>d rot l.d$finr ; : (l.f) ( f: f - adr count ) \ not very accurate when B/FLOAT is 8 precision 26 set-precision lfprep call GetNumberFormat hld-count rot base ! rot set-precision ; : l.f ( f: f - ) (l.f) type ; : l.fr ( r - ) ( f: f - ) (l.f) rot type-r ; : #zeros-in$? ( adr count - #zeros ) 0 swap 0 do over i + c@ ascii 0 = abs + loop nip ; : init_digits ( - ) 1 0 0 (l.d) #zeros-in$? to #idigits 1 0 (l.$fin) #zeros-in$? to #iCurrDigits ; initialization-chain chain-add init_digits init_digits (( ( Remove or disable this line to see the demo ) \ Usage: cr -1234e l.f cr 123.4e l.f cr cr -12e 12 l.fr cr 123.4e 12 l.fr cr -12345e 12 l.fr cr 1239.47e 12 l.fr cr cr 9841 l. cr -9841 l.int cr cr -12345 10 l.intr cr 123 10 l.intr cr 1 10 l.intr cr 12345 10 l.r cr \ The Euro-sign will be shown when it is in the current font. cr -1234567 l.$fin cr cr -1234567 15 l.$finr cr 12345 15 l.$finr cr -12 15 l.$finr cr cr 1 1 l.ud cr -1 -1 l.ud : .GetProcessWorkingSetSize hld rel>abs hld 4 + rel>abs call GetCurrentProcess call GetProcessWorkingSetSize ?win-error hld 4 + @ hld @ cr 10 ." Maximum working set size" l.intr cr 10 ." Minimum working set size" l.intr ; cr .GetProcessWorkingSetSize cr \ )) \s --- NEW FILE: ansify.f --- \ Convert ANSI Forth standard definition names from lower to upper case. \ $Id: ansify.f,v 1.1 2005/06/12 08:14:46 dbu_de Exp $ \ This file contains code to convert ANSI Forth source code \ with standard definition names written in lower case (environmental \ dependency) to source code with standard definition names written in \ UPPER case. It thus helps porting ANSI Forth code written for case \ insensitive systems to case sensitive systems. \ This code can be used and copied free of charge. All rights reserved. \ Comments, hints and bug reports are welcome. Please email \ to \ uh...@pi... \ or \ uh...@in... \ Ulrich Hoffmann \ Sehestedter Strasse 26 \ 24340 Eckernfoerde \ Germany \ Thanks to J.Plewe for his helpful hints. \ --------------------------------------------------------------------------- \ This is an ANS-Forth program \ - Requiring \ .( 0> ?DO FALSE MARKER NIP TO TRUE U> VALUE WITHIN \ \ from the Core Extensions word set, \ - Requiring the File-Access word set, \ - Requiring the Search-Order word set, \ - Requiring FORTH from the Search-Order Extensions word set \ - Requiring the String word set. \ Required program documentation \ \ - Environmental dependencies \ This program has no known environmental dependencies. \ - Other program documentation \ This program requires to output text via the standard words \ .( ABORT" and EMIT \ After loading this program, a Standard System still exists. \ --------------------------------------------------------------------------- \ From the draft proposed standard: \ 3.4.2 ... A system may be either case sensitive, treating \ upper- and lower-case letters as different and not matching, \ or case insensitive, ignoring differences in case while searching. \ 3.3.1.2 ... Programs that use lower case for standard definition \ names or depend on the case-sensitivity properties of a system have \ an environmental dependency. anew ansify.f \ : umin ( u1 u2 -- u3 ) \ \ Which is the smaller one? u1 or u2? \ 2DUP U> IF SWAP THEN DROP ; : /string' ( c-addr1 u1 n -- c-addr2 u2 ) \ Define /string with a known behaviour for n>u1 DUP 0> IF OVER umin THEN /STRING ; \ : place ( c-addr len c-addr' -- ) \ \ Put the string given by C-ADDR LEN as counted string at address C-ADDR' \ 2DUP C! CHAR+ SWAP CMOVE ; \ : skip ( addr len c -- addr' len' ) \ \ Within the string given by ADDR and LEN skip leading occurances of \ \ character C. Return the remaining string denoted by ADDR' and LEN'. \ >R \ BEGIN ( addr len ) \ OVER C@ R@ = \ WHILE \ 1 /string' \ DUP 0= \ UNTIL THEN \ R> DROP ; \ : scan ( addr len c -- addr' len' ) \ \ Within the string given by ADDR and LEN scan for the first occurances \ \ of character C. Return the remaining string denoted by ADDR' and LEN'. \ >R \ BEGIN ( addr len ) \ OVER C@ R@ - \ WHILE \ 1 /string' \ DUP 0= \ UNTIL THEN \ R> DROP ; \ : uppercase ( c -- C ) \ \ Convert character to uppercase. \ DUP [CHAR] a [CHAR] z 1+ WITHIN IF [ CHAR A CHAR a - ] LITERAL + THEN ; \ : upper ( addr len -- ) \ \ Convert string to uppercase. \ OVER + SWAP ?DO I C@ uppercase I C! LOOP ; CREATE search$ 64 CHARS ALLOT ( buffer to hold search strings ) : find-list ( addr len list -- xt true | 0 false ) \ Look for capitalized string given by ADDR LEN in the \ word list denoted by LIST. If search is succesful \ return the appropriate execution token and true, \ else return a dummy 0 and false. >R SWAP OVER search$ SWAP CMOVE search$ SWAP 2DUP upper R> SEARCH-WORDLIST IF TRUE EXIT THEN 0 FALSE ; : Capitalize: ( <name> -- ) \ Define a word, which when executed will capitalize a string. CREATE DOES> DROP ( addr len -- ) upper ; : Verbatim: ( <name> c -- ) \ Define a word, which when executed will capitalize a string \ and then will scan in another string for a given delimiter. CREATE C, DOES> C@ >R ( addr' len' addr len -- addr' len' ) upper R> scan 1 /string' ; WORDLIST CONSTANT <standard-words> <standard-words> SET-CURRENT CHAR " Verbatim: " CHAR " Verbatim: ." CHAR " Verbatim: ABORT" CHAR ) Verbatim: .( CHAR " Verbatim: C" CHAR " Verbatim: S" CHAR ) Verbatim: ( -1 Verbatim: \ \ Capitalize: ! \ Capitalize: # \ Capitalize: #> Capitalize: #S Capitalize: #TIB \ Capitalize: ( \ Capitalize: ' Capitalize: (LOCAL) \ Capitalize: * \ Capitalize: */ Capitalize: */MOD \ Capitalize: + \ Capitalize: +! Capitalize: +LOOP \ Capitalize: , \ Capitalize: - Capitalize: -TRAILING \ Capitalize: . \ Capitalize: ." \ Capitalize: .( Capitalize: .R Capitalize: .S \ Capitalize: / Capitalize: /MOD Capitalize: /STRING \ Capitalize: 0< \ Capitalize: 0<> \ Capitalize: 0= \ Capitalize: 0> \ Capitalize: 1+ \ Capitalize: 1- \ Capitalize: 2! \ Capitalize: 2* \ Capitalize: 2/ Capitalize: 2>R \ Capitalize: 2@ Capitalize: 2CONSTANT Capitalize: 2DROP Capitalize: 2DUP Capitalize: 2LITERAL Capitalize: 2OVER \ Capitalize: 2R> \ Capitalize: 2R@ Capitalize: 2ROT Capitalize: 2SWAP Capitalize: 2VARIABLE \ Capitalize: : Capitalize: :NONAME \ Capitalize: ; Capitalize: ;CODE \ Capitalize: < \ Capitalize: <# \ Capitalize: <> \ Capitalize: = \ Capitalize: > Capitalize: >BODY Capitalize: >FLOAT Capitalize: >IN Capitalize: >NUMBER Capitalize: >R \ Capitalize: ? Capitalize: ?DO Capitalize: ?DUP \ Capitalize: @ Capitalize: ABORT \ Capitalize: ABORT" Capitalize: ABS Capitalize: ACCEPT Capitalize: AGAIN Capitalize: AHEAD Capitalize: ALIGN Capitalize: ALIGNED Capitalize: ALLOCATE Capitalize: ALLOT Capitalize: ALSO Capitalize: AND Capitalize: ASSEMBLER Capitalize: AT-XY Capitalize: BASE Capitalize: BEGIN Capitalize: BIN Capitalize: BL Capitalize: BLANK Capitalize: BLK Capitalize: BLOCK Capitalize: BUFFER Capitalize: BYE Capitalize: C! \ Capitalize: C" Capitalize: C, Capitalize: C@ Capitalize: CASE Capitalize: CATCH Capitalize: CELL+ Capitalize: CELLS Capitalize: CHAR Capitalize: CHAR+ Capitalize: CHARS Capitalize: CLOSE-FILE Capitalize: CMOVE Capitalize: CMOVE> Capitalize: CODE Capitalize: COMPARE Capitalize: COMPILE, Capitalize: CONSTANT Capitalize: CONVERT Capitalize: COUNT Capitalize: CR Capitalize: CREATE Capitalize: CREATE-FILE Capitalize: CS-PICK Capitalize: CS-ROLL Capitalize: D+ Capitalize: D- Capitalize: D. Capitalize: D.R Capitalize: D0< Capitalize: D0= Capitalize: D2* Capitalize: D2/ Capitalize: D< Capitalize: D= Capitalize: D>F Capitalize: D>S Capitalize: DABS Capitalize: DECIMAL Capitalize: DEFINITIONS Capitalize: DELETE-FILE Capitalize: DEPTH Capitalize: DF! Capitalize: DF@ Capitalize: DFALIGN Capitalize: DFALIGNED Capitalize: DFLOAT+ Capitalize: DFLOATS Capitalize: DMAX Capitalize: DMIN Capitalize: DNEGATE Capitalize: DO Capitalize: DOES> Capitalize: DROP Capitalize: DU< Capitalize: DUMP Capitalize: DUP Capitalize: EDITOR Capitalize: EKEY? Capitalize: EKEY>CHAR Capitalize: EKEY Capitalize: ELSE Capitalize: EMIT Capitalize: EMIT? Capitalize: EMPTY-BUFFERS Capitalize: ENDCASE Capitalize: ENDOF Capitalize: ENVIRONMENT? Capitalize: ERASE Capitalize: EVALUATE Capitalize: EXECUTE Capitalize: EXIT Capitalize: EXPECT Capitalize: F! Capitalize: F* Capitalize: F** Capitalize: F+ Capitalize: F- Capitalize: F. Capitalize: F/ Capitalize: F0< Capitalize: F0= Capitalize: F< Capitalize: F>D Capitalize: F@ Capitalize: FABS Capitalize: FACOS Capitalize: FACOSH Capitalize: FALIGN Capitalize: FALIGNED Capitalize: FALOG Capitalize: FALSE Capitalize: FASIN Capitalize: FASINH Capitalize: FATAN Capitalize: FATAN2 Capitalize: FATANH Capitalize: FCONSTANT Capitalize: FCOS Capitalize: FCOSH Capitalize: FDEPTH Capitalize: FDROP Capitalize: FDUP Capitalize: FE. Capitalize: FEXP Capitalize: FEXPM1 Capitalize: FILE-POSITION Capitalize: FILE-SIZE Capitalize: FILE-STATUS Capitalize: FILL Capitalize: FIND Capitalize: FLITERAL Capitalize: FLN Capitalize: FLNP1 Capitalize: FLOAT+ Capitalize: FLOATS Capitalize: FLOG Capitalize: FLOOR Capitalize: FLUSH Capitalize: FLUSH-FILE Capitalize: FM/MOD Capitalize: FMAX Capitalize: FMIN Capitalize: FNEGATE Capitalize: FORGET Capitalize: FORTH Capitalize: FORTH-WORDLIST Capitalize: FOVER Capitalize: FREE Capitalize: FROT Capitalize: FROUND Capitalize: FS. Capitalize: FSIN Capitalize: FSINCOS Capitalize: FSINH Capitalize: FSQRT Capitalize: FSWAP Capitalize: FTAN Capitalize: FTANH Capitalize: FVARIABLE Capitalize: F~ Capitalize: GET-CURRENT Capitalize: GET-ORDER Capitalize: HERE Capitalize: HEX Capitalize: HOLD Capitalize: I Capitalize: IF Capitalize: IMMEDIATE Capitalize: INCLUDE-FILE Capitalize: INCLUDED Capitalize: INVERT Capitalize: J Capitalize: KEY Capitalize: KEY? Capitalize: LEAVE Capitalize: LIST Capitalize: LITERAL Capitalize: LOAD Capitalize: LOCALS| Capitalize: LOOP Capitalize: LSHIFT Capitalize: M* Capitalize: M*/ Capitalize: M+ Capitalize: MARKER Capitalize: MAX Capitalize: MIN Capitalize: MOD Capitalize: MOVE Capitalize: MS Capitalize: NEGATE Capitalize: NIP Capitalize: OF Capitalize: ONLY Capitalize: OPEN-FILE Capitalize: OR Capitalize: ORDER Capitalize: OVER Capitalize: PAD Capitalize: PAGE Capitalize: PARSE Capitalize: PICK Capitalize: POSTPONE Capitalize: PRECISION Capitalize: PREVIOUS Capitalize: QUERY Capitalize: QUIT Capitalize: R/O Capitalize: R/W Capitalize: R> Capitalize: R@ Capitalize: READ-FILE Capitalize: READ-LINE Capitalize: RECURSE Capitalize: REFILL Capitalize: RENAME-FILE Capitalize: REPEAT Capitalize: REPOSITION-FILE Capitalize: REPRESENT Capitalize: RESIZE Capitalize: RESIZE-FILE Capitalize: RESTORE-INPUT Capitalize: ROLL Capitalize: ROT Capitalize: RSHIFT \ Capitalize: S" Capitalize: S>D Capitalize: SAVE-BUFFERS Capitalize: SAVE-INPUT Capitalize: SCR Capitalize: SEARCH Capitalize: SEARCH-WORDLIST Capitalize: SEE Capitalize: SET-CURRENT Capitalize: SET-ORDER Capitalize: SET-PRECISION Capitalize: SF! Capitalize: SF@ Capitalize: SFALIGN Capitalize: SFALIGNED Capitalize: SFLOAT+ Capitalize: SFLOATS Capitalize: SIGN Capitalize: SLITERAL Capitalize: SM/REM Capitalize: SOURCE Capitalize: SOURCE-ID Capitalize: SPACE Capitalize: SPACES Capitalize: SPAN Capitalize: STATE Capitalize: SWAP Capitalize: THEN Capitalize: THROW Capitalize: THRU Capitalize: TIB Capitalize: TIME&DATE Capitalize: TO Capitalize: TRUE Capitalize: TUCK Capitalize: TYPE Capitalize: U. Capitalize: U.R Capitalize: U< Capitalize: U> Capitalize: UM* Capitalize: UM/MOD Capitalize: UNLOOP Capitalize: UNTIL Capitalize: UNUSED Capitalize: UPDATE Capitalize: VALUE Capitalize: VARIABLE Capitalize: W/O Capitalize: WHILE Capitalize: WITHIN Capitalize: WORD Capitalize: WORDLIST Capitalize: WORDS Capitalize: WRITE-FILE Capitalize: WRITE-LINE Capitalize: XOR \ Capitalize: [ \ Capitalize: ['] Capitalize: [CHAR] Capitalize: [COMPILE] Capitalize: [ELSE] Capitalize: [IF] Capitalize: [THEN] \ Capitalize: \ \ Capitalize: ] \ FORTH-WORDLIST SET-CURRENT FORTH DEFINITIONS : ansify-line ( addr len -- ) \ Process a source text line given by ADDR and LEN. BEGIN ( addr len ) BL skip DUP 0= IF ( eoln ) 2DROP EXIT THEN 2DUP BL scan ( addr len addr' len' ) 2SWAP 2OVER ( addr' len' addr len addr' len' ) NIP - ( addr' len' addr l ) 2DUP <standard-words> find-list IF ( addr' len' addr l xt ) EXECUTE ( addr' len' ) ELSE ( addr' len' addr l 0 ) DROP 2DROP THEN DUP 0= UNTIL ( eoln ) 2DROP ; 1024 CONSTANT bufsize \ maximal size lines can have CREATE line bufsize 2 + ( newline chars ) CHARS ALLOT : getline ( fileid -- addr len flag ) \ Read a line of text from the file denoted by FILEID. \ If the end of file is reached, return two dummy values and false \ If a line could be read succesfully return its address and \ length along with a true flag. line bufsize ROT READ-LINE ABORT" getline: read error!" 0= IF ( eof ) 0 FALSE EXIT THEN line SWAP TRUE ; : putline ( addr len fileid -- ) \ Write the line denoted by ADDR and LEN to the file given by FILEID. WRITE-LINE ABORT" putline: write error! " ; 0 VALUE input ( input file id ) 0 VALUE output ( output file id ) : fansify ( infile outfile -- ) TO output TO input \ Convert the file given by the fileid INFILE and store the result \ in the file denoted by the fileid OUTFILE BEGIN input getline [CHAR] . EMIT \ Show progress. WHILE 2DUP ansify-line output putline REPEAT 2DROP ; : ansify-file ( addr-in len-in addr-out len-out -- ) \ Expect two strings, the names of the input file and the name of \ the output file. Convert the input file and write the result \ to the output file. R/W CREATE-FILE ABORT" Cannot create output file!" >R ( outfileid ) R/O OPEN-FILE ABORT" Cannot open input file!" ( infileid ) DUP R@ fansify CLOSE-FILE DROP R> CLOSE-FILE DROP ; CREATE inname 64 ALLOT \ Name of input file CREATE outname 64 ALLOT \ Name of output file : ansify ( <inname> <outname> -- ) \ User word. Used in the form ansify <inname> <outname> \ to convert the file with name <inname> and put the result \ in the file with name <outname> BL WORD COUNT inname place BL WORD COUNT outname place inname COUNT outname COUNT ansify-file ; CR .( ansify <inname> <outname> ) --- NEW FILE: ods.f --- \ File: ODS.f \ Author: Dirk Busch \ Created: January 19th, 2004 - dbu \ Updated: January 24th, 2004 - dbu \ \ OutputDebugString() support for Win32Forth cr .( Loading Output-Debug-String support) anew ods.f INTERNAL VARIABLE ods? \ enable/disable ODS EXTERNAL : ods-on ( -- ) \ enable ODS ods? ON ; : ods-off ( -- ) \ disable ODS ods? OFF ; 1 PROC OutputDebugString : ods ( addr -- ) \ sends a string to the Windows Debug Window \ (e.g. 'DebugView' from www.sysinternals.com) \ for display ods? IF REL>ABS CALL OutputDebugString DROP ELSE DROP THEN ; : d.ods ( d -- ) { \ buf$ -- } (D.) DUP 1+ LOCALALLOC ASCII-Z TO buf$ buf$ ods ; : .ods ( n -- ) 0 d.ods ; : ods" ( -<text">- -- ) STATE @ IF POSTPONE (Z") ," POSTPONE ods ELSE [char] " WORD NEW$ DUP>R OVER C@ 1+ MOVE R@ COUNT + OFF R> 1+ ods THEN ; IMMEDIATE ods-on \ enable ODS by default MODULE --- NEW FILE: isaac.f --- \ Copyright 1997 Pierre Henri Michel Abbat as a derivative work. \ Translated from Bob Jenkins' C code. \ See R. Jenkins, "ISAAC", LNCS 1039 (Fast Software Encryption), pp 41-49, February 1996. \ http://burtleburtle.net/bob/ \ Anyone may use this code freely, as long as credit is given. \ isaac.f translated from Bob Jenkins' rand.c \ This version works in Win32Forth \ The code will work with or without optimization; it is \ significantly faster optimized. There is a bug in the \ optimizer: If you load the optimizer, then load any file \ using anew three times without clearing the name cache, \ Forth will complain that the marker is in the protected \ dictionary. \ needs optimize \ hidden >name-cache-init forth in-application anew isaac-random-number-generator hex : range over + swap ; 100 constant randsiz 8 constant randsizl ( base 2 log of randsiz ) create randrsl randsiz cells allot variable randptr ( like randcnt in C ) create mm randsiz cells allot ( internal state of isaac ) variable aa aa off variable bb bb off variable cc cc off code 5roll ( n1 n2 n3 n4 n5 n6 -- n2 n3 n4 n5 n6 n1 ) ( This occurs three times in rngstep, and the "optimizer" turns it into a long code sequence. ) xchg ebx, 0 [esp] xchg ebx, 4 [esp] xchg ebx, 8 [esp] xchg ebx, c [esp] xchg ebx, 10 [esp] next c; \ opt-on : ind ( u - u' ) ( Given u, produces one of the elements of mm. ) [ randsiz 1- cells ] literal and mm + @ ; : rngstep ( a b m m2 r mix - a' b' m+4 m2+4 r+4 ) 5roll xor 2 pick @ + ( b m m2 r a' ) 3 pick @ swap 5roll ( m m2 r x a' b ) 2dup 4 pick ind + + dup 7 pick ! nip ( m m2 r x a' y ) randsizl rshift ind rot + dup ( m m2 r a' b' b' ) 2rot cell+ swap cell+ swap ( r a' b' b' m+4 m2+4 ) rot 5roll tuck ! cell+ ( a' b' m+4 m2+4 r+4 ) ; \ opt-off : isaac aa @ 1 cc +! cc @ bb @ + mm dup randsiz cells 2/ + randrsl randsiz 2/ 0 do 4 pick 0d lshift rngstep 4 pick 06 rshift rngstep 4 pick 02 lshift rngstep 4 pick 10 rshift rngstep 4 +loop nip mm swap randsiz 2/ 0 do 4 pick 0d lshift rngstep 4 pick 06 rshift rngstep 4 pick 02 lshift rngstep 4 pick 10 rshift rngstep 4 +loop 3drop bb ! aa ! ; : reset-isaac aa off bb off cc off randptr off mm randsiz cells erase ; : test reset-isaac 0a 0 do isaac loop aa @ u. bb @ u. cc @ u. ; randptr off : rand randptr @ randrsl < if isaac randrsl randsiz 1- cells + randptr ! then randptr @ @ -cell randptr +! ; : isaac256 ( every 256th result of isaac, to be tested for bias ) isaac mm @ ; : test256 ( n - ) 0 ?do isaac256 ( 10 u.r ) drop loop ; ( Initialization of the random number generator with or without a seed ) : -roll ( This is slow code, but it's used only in the initialization! ) dup 1+ swap 0 ?do dup roll swap loop drop ; : 8@ 8 cells + 8 0 do cell- dup @ swap loop drop ; : 8! 8 cells range do i ! cell +loop ; : 8+! 8 cells range do i +! cell +loop ; : (nextnum) -rot over + 2swap tuck + swap 2swap rot 7 -roll ; : mix ( h g f e d c b a - h' g' f' e' d' c' b' a' ) over 0b lshift xor (nextnum) over 02 rshift xor (nextnum) over 08 lshift xor (nextnum) over 10 rshift xor (nextnum) over 0a lshift xor (nextnum) over 04 rshift xor (nextnum) over 08 lshift xor (nextnum) over 09 rshift xor (nextnum) ; : randinit ( ? ) ( Initializes isaac. If the argument is 0, use a default initialization; otherwise, use the contents of randrsl to compute the seed. ) reset-isaac >r ( save flag ) 9e3779b9 dup 2dup 2dup 2dup mix mix mix mix r@ not if randrsl randsiz cells erase then randrsl randsiz cells range do i 8+! i 8@ mix i mm + randrsl - dup>r 8! r> 8@ 8 cells +loop r> if mm randsiz cells range do i 8+! i 8@ mix i 8! i 8@ 8 cells +loop then 2drop 2drop 2drop 2drop ; : test768 ( Outputs the first 768 numbers generated by isaac initialized with randrsl zeroed. The second and third 256 are the numbers in randvect.txt backward in two groups. ) randrsl randsiz cells erase true randinit base @ hex 300 0 do i 8 mod 0= if cr then rand 9 u.r loop base ! ; create randsave randsiz cells allot : test-change false randinit isaac randrsl randsave randsiz cells move false randinit 400 mm +! isaac randrsl randsave randsiz 0 do i 0f and 0= if cr then over @ over @ = if ascii . else ascii * then emit cell+ swap cell+ swap loop 2drop ; decimal --- NEW FILE: Sockets.f --- \ Windows Sockets of Andrey Cherezov anew sockets.f winlibrary wsock32.dll 1 CONSTANT SOCK_STREAM -1 CONSTANT INVALID_SOCKET -1 CONSTANT SOCKET_ERROR 2 CONSTANT PF_INET 2 CONSTANT AF_INET 6 CONSTANT IPPROTO_TCP NOSTACK \ A tip from: Alex McDonald October 16th, 2002 0 2 FIELD+ sin_family 2 FIELD+ sin_port 4 FIELD+ sin_addr 8 FIELD+ sin_zero CONSTANT /sockaddr_in CREATE sock_addr HERE /sockaddr_in DUP ALLOT ERASE AF_INET sock_addr sin_family W! CHECKSTACK : ASCIIZ> 100 2dup 0 scan nip - ; : ztype ( z"a -- ) ASCIIZ> type ; : CreateSocket ( -- socket ior ) IPPROTO_TCP SOCK_STREAM PF_INET call socket DUP INVALID_SOCKET = IF call WSAGetLastError ELSE 0 THEN ; : ToRead ( socket -- n ior ) \ ñêîëüêî áàéò ìîæíî ñåé÷àñ ïðî÷åñòü èç ñîêåòà \ ìîæíî èñïîëüçîâàòü ïåðåä ReadSocket äëÿ òîãî ÷òîáû \ èçáåæàòü áëîêèðîâàíèÿ ïðè n=0 0 >r rp@ REL>ABS [ HEX ] 4004667F [ DECIMAL ] ROT call ioctlsocket SOCKET_ERROR = IF r>drop 0 call WSAGetLastError ELSE r> 0 THEN ; : ConnectSocket ( IP port socket -- ior ) >R 256 /MOD SWAP 256 * + sock_addr sin_port W! sock_addr sin_addr ! /sockaddr_in sock_addr REL>ABS R> call connect SOCKET_ERROR = IF call WSAGetLastError ELSE 0 THEN ; : CloseSocket ( s -- ior ) call closesocket SOCKET_ERROR = IF call WSAGetLastError ELSE 0 THEN ; : WriteSocket ( addr u s -- ior ) >r 0 swap rot REL>ABS r> \ 0 u addr s call send SOCKET_ERROR = IF call WSAGetLastError ELSE 0 THEN ; : SWrite ( addr u s -- wlen ) >r 0 swap rot REL>ABS r> \ 0 u addr s call send ; : WriteSocketLine ( addr u s -- ior ) DUP >R WriteSocket ?DUP IF R> DROP EXIT THEN crlf$ COUNT R> WriteSocket ; : WriteSocketCRLF ( s -- ior ) HERE 0 ROT WriteSocketLine ; : ReadSocket ( addr u s -- rlen ior ) >r 0 swap rot REL>ABS r> \ 0 u addr s call recv DUP SOCKET_ERROR = IF call WSAGetLastError ELSE 0 THEN OVER 0= IF DROP -1002 THEN ( åñëè ïðèíÿòî 0, òî îáðûâ ñîåäèíåíèÿ ) ; : SRead ( addr u s -- r ) >r 0 swap rot REL>ABS r> \ 0 u addr s call recv ; CODE a>r@ ( a1 -- n1 ) mov ebx, 0 [ebx] next c; : GetHostName ( IP -- addr u ior ) >r PF_INET 4 rp@ REL>ABS call gethostbyaddr ?DUP IF A>R@ ABS>REL ASCIIZ> 0 ELSE HERE 0 call WSAGetLastError THEN r>drop ; : Get.Host.Name ( addr u -- addr u ior ) DROP REL>ABS call inet_addr GetHostName ; : zGetHostIP ( z" -- IP ior ) dup c@ [char] 0 [char] 9 between over and if rel>abs call inet_addr 0 else dup if REL>ABS then call gethostbyname DUP IF 3 CELLS + A>R@ A>R@ A>R@ 0 ELSE call WSAGetLastError THEN then ; \ changed Samstag, Mai 15 2004 - 13:20 dbu create my-ip-addr-buf 256 allot 0 my-ip-addr-buf ! : my-ip-addr ( -- IP ) my-ip-addr-buf zGetHostIP drop ; : GetHostIP ( addr len -- IP ior ) RP@ 265 - RP! RP@ 265 ERASE RP@ SWAP 265 UMIN CMOVE RP@ zGetHostIP RP@ 265 + RP! ; CREATE sock_addr2 HERE /sockaddr_in DUP ALLOT ERASE AF_INET sock_addr2 sin_family W! : GetPeerName ( s -- addr u ior ) /sockaddr_in >r rp@ REL>ABS sock_addr2 REL>ABS ROT call getpeername SOCKET_ERROR = IF HERE 0 call WSAGetLastError ELSE sock_addr2 sin_addr @ GetHostName THEN r>drop ; : SocketsStartup ( -- ior ) HERE rel>abs 257 call WSAStartup ; : SocketsCleanup ( -- ior ) call WSACleanup ; : BindSocket ( port s -- ior ) >R /sockaddr_in ALLOCATE ?DUP IF NIP R> DROP EXIT THEN >R 256 /MOD SWAP 256 * + R@ sin_port W! AF_INET R@ sin_family W! R@ 0 R@ sin_addr ! /sockaddr_in R> REL>ABS R> call bind SWAP FREE DROP SOCKET_ERROR = IF call WSAGetLastError ELSE 0 THEN ; : ListenSocket ( s -- ior ) 2 SWAP call listen SOCKET_ERROR = IF call WSAGetLastError ELSE 0 THEN ; CREATE SINLEN /sockaddr_in , : SOCKET-ACCEPT { ADDR ALEN FH -- s2 ior } &LOCAL ALEN REL>ABS ADDR REL>ABS FH call accept DUP INVALID_SOCKET = IF call WSAGetLastError ELSE 0 THEN ; : #IP ( du -- 0 ) #S [CHAR] . HOLD 2DROP 0 ; : (.IP) ( IP -- addr u ) 0 256 UM/MOD 0 256 UM/MOD 0 256 UM/MOD 0 <# \ 0 HOLD #IP #IP #IP #S #> ; : NtoA (.IP) ; : CLIENT-OPEN ( addr u port -- s ) >r GetHostIP abort" Server not available " r> CreateSocket DROP DUP >r ConnectSocket abort" Can't connect " r> ; \ \s SocketsStartup [if] cr .( SocketsStartup error) abort [then] create my-ip-name cr my-ip-addr cr dup NtoA type GetHostName drop space type \ dup 1+ allot my-ip-name place \s --- NEW FILE: ClassBrowser.zip --- (This appears to be a binary file; contents omitted.) --- NEW FILE: DumpWindows.f --- \ File: DumpWindows.f \ Author: Dirk Busch \ Created: May 29th, 2003 - 11:37 - dbu \ Updated: January 24th, 2004 - 9:06 - dbu \ \ This is an example of how to use a callback's in Win32Forth. \ It dump's all Top-Level-Windows to the console. anew DumpWindows.f INTERNAL [UNDEFINED] zCount [if] : zCount ( a1 -- a2 len ) \ get length of zstring TRUE 2dup 0 scan nip - ; [then] : GetProcessId { hWnd -- ProcessID } \ get ProcessId for given window here rel>abs hWnd call GetWindowThreadProcessId drop here @ ; : GetThreadId { hWnd -- ThreadID } \ get ThreadId for given window 0 hWnd call GetWindowThreadProcessId ; \ Define the callback function for EnumWindows(). \ \ CallBack: Need's the NUMBER OF PARAMTERS passed to the funtion by \ Windows on TOS \ \ CallBack: Creates TWO definitions! The first has the name you specify, \ and the second has the same name, prefixed with a '&' meaning \ 'address of' This second definition is the one which returns the \ address of the callback, and must be passed to Windows. 2 CallBack: DumpWindowCallback { hWnd lParam \ buff$ -- int } \ callback function for EnumWindows LMAXCOUNTED localalloc: buff$ cr hWnd h.8 space hWnd GetProcessId h.8 space hWnd GetThreadId h.8 space LMAXCOUNTED buff$ rel>abs hWnd call GetClassName 0<> if buff$ zcount type then cr 27 spaces LMAXCOUNTED buff$ rel>abs hWnd call GetWindowText 0<> if buff$ zcount type else ." <no title>" then true ; \ default return value : (.Windows) ( -- ) \ dump all Top-Level-Windows to the console 0 \ lParam is passed to the callback funtion by Windows &DumpWindowCallback rel>abs \ get address of the callback function Call EnumWindows drop ; \ and use it EXTERNAL : .Windows ( -- ) \ dump all Top-Level-Windows to the console cr cr ." Top-Level-Windows:" cr ." hWnd ProcId ThreadId ClassName - WindowTitle" (.Windows) cr ; MODULE --- NEW FILE: bezier.f --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tetris.f --- \ tt.pfe Tetris for terminals, redone in ANSI-Forth. \ Written 05Apr94 by Dirk Uwe Zoller, \ e-mail du...@ro.... \ Look&feel stolen from Mike Taylor's "TETRIS FOR TERMINALS" \ \ Please copy and share this program, modify it for your system \ and improve it as you like. But don't remove this notice. \ \ Thank you. \ - Changed for Win32Forth \ Sonntag, März 14 2004 by Dirk Busch (dbu) \ - Changed to display the next piece \ Samstag, März 20 2004 by Dirk Busch (dbu) only forth also definitions true value create-turnkey? \ set to false when you don't want a turnkey app [defined] forget-tt [if] forget-tt [then] marker forget-tt [defined] extensions [if] extensions also [then] vocabulary tetris tetris also definitions decimal \ Variables, constants bl bl 2constant empty \ an empty position variable wiping \ if true: wipe brick, else draw brick 2 constant col0 \ position of the pit 0 constant row0 10 constant wide \ size of pit in brick positions 20 constant deep 0x20004 value left-key \ customize if you don't like them 0x20006 value rot-key \ currently this values are for the 0x20005 value right-key \ arrow key's in Win32Forth 0x20007 value drop-key char P value pause-key 12 value refresh-key char Q value quit-key variable score variable pieces variable levels variable delay variable brow \ where the brick is variable bcol \ stupid random number generator variable seed : randomize time&date + + + + + seed ! ; 1 cells 4 = [IF] 0x10450405 Constant generator : rnd ( -- n ) seed @ generator um* drop 1+ dup seed ! ; : random ( n -- 0..n-1 ) rnd um* nip ; [ELSE] : random \ max --- n ; return random number < max seed @ 13 * [ hex ] 07FFF [ decimal ] and dup seed ! swap mod ; [THEN] \ Access pairs of characters in memory: : 2c@ dup 1+ c@ swap c@ ; : 2c! dup >r c! r> 1+ c! ; : d<> d= 0= ; \ Drawing primitives: : 2emit emit emit ; : position \ row col --- ; cursor to the position in the pit 2* col0 + swap row0 + at-xy ; : stone \ c1 c2 --- ; draw or undraw these two characters wiping @ if 2drop 2 spaces else 2emit then ; \ Define the pit where bricks fall into: : def-pit create wide deep * 2* allot does> rot wide * rot + 2* + ; def-pit pit : empty-pit deep 0 do wide 0 do empty j i pit 2c! loop loop ; \ Displaying: : draw-bottom \ --- ; redraw the bottom of the pit deep -1 position [char] + dup stone wide 0 do [char] = dup stone loop [char] + dup stone ; : draw-frame \ --- ; draw the border of the pit deep 0 do i -1 position [char] | dup stone i wide position [char] | dup stone loop draw-bottom ; : bottom-msg \ addr cnt --- ; output a message in the bottom of the pit deep over 2/ wide swap - 2/ position type ; : draw-line \ line --- dup 0 position wide 0 do dup i pit 2c@ 2emit loop drop ; : draw-pit \ --- ; draw the contents of the pit deep 0 do i draw-line loop ; : show-key \ char --- ; visualization of that character dup bl < if [char] @ or [char] ^ emit emit space else [char] ` emit emit [char] ' emit then ; : show-help \ --- ; display some explanations 30 1 at-xy ." ***** T E T R I S *****" 30 2 at-xy ." =======================" 30 4 at-xy ." Use keys:" 32 5 at-xy ." 'arrow left' Move left" 32 6 at-xy ." 'arrow right' Move right" 32 7 at-xy ." 'arrow up' Rotate" 32 8 at-xy ." 'arrow down' Drop" 32 9 at-xy pause-key show-key ." Pause" 32 10 at-xy refresh-key show-key ." Refresh" 32 11 at-xy quit-key show-key ." Quit" 30 16 at-xy ." Score: Next piece:" 30 17 at-xy ." Pieces:" 30 18 at-xy ." Levels:" 0 22 at-xy ." ==== This program was written 1994 in pure dpANS Forth by Dirk Uwe Zoller ====" 0 23 at-xy ." ==================== Win32Forth port 2004 by Dirk Busch ======================" ; : update-score \ --- ; display current score 38 16 at-xy score @ 3 .r 38 17 at-xy pieces @ 3 .r 38 18 at-xy levels @ 3 .r ; : refresh \ --- ; redraw everything on screen page draw-frame draw-pit show-help update-score ; \ Define shapes of bricks: : def-brick create 4 0 do ' execute 0 do dup i chars + c@ c, loop drop refill drop loop does> rot 4 * rot + 2* + ; def-brick brick1 s" " s" ###### " s" ## " s" " def-brick brick2 s" " s" <><><><>" s" " s" " def-brick brick3 s" " s" {}{}{}" s" {} " s" " def-brick brick4 s" " s" ()()() " s" () " s" " def-brick brick5 s" " s" [][] " s" [][] " s" " def-brick brick6 s" " s" @@@@ " s" @@@@ " s" " def-brick brick7 s" " s" %%%% " s" %%%% " s" " \ this brick is actually in use: def-brick brick s" " s" " s" " s" " \ this brick will come next: def-brick next-brick s" " s" " s" " s" " def-brick scratch s" " s" " s" " s" " create bricks ' brick1 , ' brick2 , ' brick3 , ' brick4 , ' brick5 , ' brick6 , ' brick7 , create brick-val 1 c, 2 c, 3 c, 3 c, 4 c, 5 c, 5 c, variable brick-value : is-next-brick \ brick --- ; activate a shape of brick >body ['] next-brick >body 32 cmove ; : get-next-brick \ --- ; select the next brick by random 1 pieces +! 7 random bricks over cells + @ is-next-brick brick-val swap chars + c@ brick-value ! ; : is-brick \ brick --- ; activate a shape of brick >body ['] brick >body 32 cmove ; : new-brick \ --- ; select brick, count it ['] next-brick is-brick brick-value @ score +! get-next-brick ; : rotleft 4 0 do 4 0 do j i brick 2c@ 3 i - j scratch 2c! loop loop ['] scratch is-brick ; : rotright 4 0 do 4 0 do j i brick 2c@ i 3 j - scratch 2c! loop loop ['] scratch is-brick ; : draw-brick \ row col 4 0 do 4 0 do j i brick 2c@ empty d<> if over j + over i + position j i brick 2c@ stone then loop loop 2drop ; : show-brick wiping off draw-brick ; : hide-brick wiping on draw-brick ; : draw-next-brick \ row col --- 4 0 do 4 0 do j i next-brick 2c@ empty d<> if over j + over i + position j i next-brick 2c@ stone then loop loop 2drop ; : show-next-brick wiping off draw-next-brick ; : hide-next-brick wiping on draw-next-brick ; : put-brick \ row col --- ; put the brick into the pit 4 0 do 4 0 do j i brick 2c@ empty d<> if over j + over i + pit j i brick 2c@ rot 2c! then loop loop 2drop ; : remove-brick \ row col --- ; remove the brick from that position 4 0 do 4 0 do j i brick 2c@ empty d<> if over j + over i + pit empty rot 2c! then loop loop 2drop ; : test-brick \ row col --- flag ; could the brick be there? 4 0 do 4 0 do j i brick 2c@ empty d<> if over j + over i + over dup 0< swap deep >= or over dup 0< swap wide >= or 2swap pit 2c@ empty d<> or or if unloop unloop 2drop false exit then then loop loop 2drop true ; : move-brick \ rows cols --- flag ; try to move the brick brow @ bcol @ remove-brick swap brow @ + swap bcol @ + 2dup test-brick if brow @ bcol @ hide-brick 2dup bcol ! brow ! 2dup show-brick put-brick true else 2drop brow @ bcol @ put-brick false then ; : rotate-brick \ flag --- flag ; left/right, success brow @ bcol @ remove-brick dup if rotright else rotleft then brow @ bcol @ test-brick over if rotleft else rotright then if brow @ bcol @ hide-brick if rotright else rotleft then brow @ bcol @ put-brick brow @ bcol @ show-brick true else drop false then ; : insert-brick \ row col --- flag ; introduce a new brick 2dup test-brick if 2dup bcol ! brow ! 2dup put-brick draw-brick true else false then ; : drop-brick \ --- ; move brick down fast begin 1 0 move-brick 0= until ; : move-line \ from to --- over 0 pit over 0 pit wide 2* cmove draw-line dup 0 pit wide 2* blank draw-line ; : line-full \ line-no --- flag true wide 0 do over i pit 2c@ empty d= if drop false leave then loop nip ; : remove-lines \ --- deep deep begin swap begin 1- dup 0< if 2drop exit then dup line-full while 1 levels +! 10 score +! repeat swap 1- 2dup <> if 2dup move-line then again ; : to-upper \ char --- char ; convert to upper case dup [char] a >= over [char] z <= and if bl - then ; : interaction \ --- flag case key to-upper left-key of 0 -1 move-brick drop endof right-key of 0 1 move-brick drop endof rot-key of 0 rotate-brick drop endof drop-key of drop-brick endof pause-key of S" paused " bottom-msg key drop draw-bottom endof refresh-key of refresh endof quit-key of false exit endof endcase true ; : initialize \ --- ; prepare for playing randomize empty-pit refresh 0 score ! 0 pieces ! 0 levels ! 100 delay ! get-next-brick ; : adjust-delay \ --- ; make it faster with increasing score levels @ dup 50 < if 100 over - else dup 100 < if 62 over 4 / - else dup 500 < if 31 over 16 / - else 0 then then then delay ! drop ; : play-game \ --- ; play one tetris game begin 15 30 hide-next-brick new-brick 15 30 show-next-brick -1 3 insert-brick while begin 4 0 do 35 13 at-xy delay @ ms key? if interaction 0= if unloop exit then then loop 1 0 move-brick 0= until remove-lines update-score adjust-delay repeat ; forth definitions : tt \ --- ; play the tetris game initialize s" Press any key " bottom-msg key drop draw-bottom begin play-game s" Again? " bottom-msg key to-upper [char] Y = while initialize repeat create-turnkey? if bye \ quit our turnkey application else 0 23 at-xy cr then ; \ create a turnkey application create-turnkey? [IF] : set-console-title ( -- ) Z" Tetris" CONHNDL call SetWindowText drop ; : tetris-hello ( -- ) \ startup stuff \ default initialization (needed for all turnkey apps) init-console if initialization-chain do-chain then exception@ if bye then \ our own initialization MENU-OFF \ close menubar set-console-title \ set window title INIT-SCREEN \ show console get-commandline \ copy commandline to SOURCE default-application ; \ and run our app \ override init-console with the default \ to make shure that we have no statusbar in the turnkey app. \ ' x_init-console is init-console (this is done in the kernel now) \ override default-hello with our own one ' tetris-hello is default-hello \ and create the turnkey app. &appdir OFF \ create the exe-file in the current folder ' tt turnkey tetris 5 pause-seconds bye [else] TT only forth also definitions [then] --- NEW FILE: color.f --- 0 [IF] Forth to HTML converter Main contributors: Brad Eckert br...@SP... Ed Beroset ber...@SP... Dirk Busch di...@SP... Revision 7b. See bottom for revision history. This ANS Forth program is public domain. It translates ANS Forth to colorized HTML. Hyperlinks to the ANS Forth draft standard are inserted for all ANS standard words. Hyperlinks to user definitions are included. Usage: HTML FileName Generates HTML file from Forth source. Output file is Filename with .HTM extension. Q [forth code] Outputs HTML for 1 line to screen [...1022 lines suppressed...] \ 5. (BNE) Added multiline { comment. Replaced -1 WORD with [CHAR] |. \ Put hyperlinks that should not be overridden in a separate wordlist. \ 5a. (DBU) - Merged Rev 5 with 4d \ - Changed { to work as a multicoment and for locals. \ - Changed multicomment to color the terminator of the comments (( )) \ - and comment: comment; { } too. \ - Renamed col ,$ and header because they are used in Win32Forth \ - Added sys-warning-off & sys-warning-on to avoid "****System word: \ <abc> used in: <xyz> at file..." messages when using Win32Forth. \ 6. (BNE) Limited text to 80 columns, cleaned up comments a bit. Added option \ for different color schemes. \ 6a. (DBU) - Merged Rev 6 with 5a \ - Minimized color changes in HTML output for comments. \ 7. (BNE) - Added some of Dirk's changes \ 7a. (DBU) - Merged Rev 7 with 6a \ - Added more words used in Win32Forth. \ - Added support for locals. \ 7b. (BNE) - Made ALIAS a defining word. \ 7c. (BNE) - Made ( multi-line. |
From: Dirk B. <db...@us...> - 2005-06-12 06:48:01
|
Update of /cvsroot/win32forth/win32for4web/downloads In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3864/downloads Log Message: Directory /cvsroot/win32forth/win32for4web/downloads added to the repository |
Update of /cvsroot/win32forth/win32for4web In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3209 Removed Files: Makefile architecture.htm bg.gif callingwindows.htm classstructs.htm debuggingwords.htm documentation.htm exampleprograms.htm gettingstarted.htm history.htm index.htm lastpage.htm layout.htm loadingfiles.htm makenewexe.htm nowarranty.htm objectconcepts.htm objectcreation.htm overview.htm philosophy.htm starthere.htm win32for.css Log Message: --- lastpage.htm DELETED --- --- objectcreation.htm DELETED --- --- philosophy.htm DELETED --- --- makenewexe.htm DELETED --- --- overview.htm DELETED --- --- layout.htm DELETED --- --- Makefile DELETED --- --- loadingfiles.htm DELETED --- --- classstructs.htm DELETED --- --- callingwindows.htm DELETED --- --- objectconcepts.htm DELETED --- --- gettingstarted.htm DELETED --- --- nowarranty.htm DELETED --- --- index.htm DELETED --- --- history.htm DELETED --- --- starthere.htm DELETED --- --- win32for.css DELETED --- --- exampleprograms.htm DELETED --- --- bg.gif DELETED --- --- documentation.htm DELETED --- --- architecture.htm DELETED --- --- debuggingwords.htm DELETED --- |
From: Alex M. <ale...@us...> - 2005-06-11 21:24:35
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18163/src Modified Files: numconv.f Log Message: arm: number? didn't initialise flags; num-init added; removed num-init from new-number Index: numconv.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/numconv.f,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** numconv.f 11 Jun 2005 21:17:56 -0000 1.2 --- numconv.f 11 Jun 2005 21:24:24 -0000 1.3 *************** *** 126,130 **** : new-number ( str -- d1 ) \ d1 is number, or -13 throw (undefined) - num-init uppercase count run-numchain ; --- 126,129 ---- *************** *** 234,237 **** --- 233,237 ---- : NUMBER? ( addr len -- d f ) \ to support >FLOAT + num-init ['] dotted-number? catch 0= double? 0= and \ October 1st, 1996 - 10:51 tjz & am |
From: Alex M. <ale...@us...> - 2005-06-11 21:18:04
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14688/src Modified Files: numconv.f Log Message: arm: number chain didn't initialise flags; num-init added Index: numconv.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/numconv.f,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** numconv.f 26 Apr 2005 19:56:49 -0000 1.1 --- numconv.f 11 Jun 2005 21:17:56 -0000 1.2 *************** *** 57,61 **** : run-numchain ( addr len -- d1 ) \ run number chain; \ d1 is number, or -13 throw (undefined) ! 2>r \ save string on rstack number?-chain \ run the number chain begin @ dup --- 57,61 ---- : run-numchain ( addr len -- d1 ) \ run number chain; \ d1 is number, or -13 throw (undefined) ! 2>r \ save string on rstack number?-chain \ run the number chain begin @ dup *************** *** 126,129 **** --- 126,130 ---- : new-number ( str -- d1 ) \ d1 is number, or -13 throw (undefined) + num-init uppercase count run-numchain ; |
From: Dirk B. <db...@us...> - 2005-06-10 16:44:50
|
Update of /cvsroot/win32forth/win32forth/apps/ForthForm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21425/apps/ForthForm Modified Files: FORTHFORM.F Log Message: - Fixed a bug in the Win32ToolBar class (Thank's Andrew for the bug report) - INTERNAL, EXTERNAL and MODULE added to Resources.f to avoid name conflicts Index: FORTHFORM.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/ForthForm/FORTHFORM.F,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** FORTHFORM.F 4 Jun 2005 08:51:17 -0000 1.4 --- FORTHFORM.F 10 Jun 2005 16:44:10 -0000 1.5 *************** *** 35,38 **** --- 35,39 ---- needs ScintillaControl.f needs FileLister.f \ directory viewer + needs Win32Help.f needs Resources.f *************** *** 1325,1331 **** \ add the Application Icon to the resource of the exe-file if possible ! also forthform ! s" src\res\ForthForm.ico" s" ForthForm.exe" AddAppIcon ! previous \+ sysgen 1 pause-seconds bye --- 1326,1332 ---- \ add the Application Icon to the resource of the exe-file if possible ! \+ sysgen also forthform ! \+ sysgen s" src\res\ForthForm.ico" s" ForthForm.exe" AddAppIcon ! \+ sysgen previous \+ sysgen 1 pause-seconds bye |
From: Dirk B. <db...@us...> - 2005-06-10 16:44:35
|
Update of /cvsroot/win32forth/win32forth/apps/SciEdit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21425/apps/SciEdit Modified Files: EdToolbar.f Main.f Log Message: - Fixed a bug in the Win32ToolBar class (Thank's Andrew for the bug report) - INTERNAL, EXTERNAL and MODULE added to Resources.f to avoid name conflicts Index: Main.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/SciEdit/Main.f,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Main.f 4 Jun 2005 08:51:18 -0000 1.4 --- Main.f 10 Jun 2005 16:44:22 -0000 1.5 *************** *** 699,705 **** [else] ! s" src\res\SciEditMDI.ico" s" SciEditMdi.exe" AddAppIcon Main [then] ! \ No newline at end of file --- 699,705 ---- [else] ! \ s" src\res\SciEditMDI.ico" s" SciEditMdi.exe" AddAppIcon Main [then] ! |
From: Dirk B. <db...@us...> - 2005-06-10 16:44:32
|
Update of /cvsroot/win32forth/win32forth/src/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21425/src/lib Modified Files: RESOURCES.F toolbar.f Log Message: - Fixed a bug in the Win32ToolBar class (Thank's Andrew for the bug report) - INTERNAL, EXTERNAL and MODULE added to Resources.f to avoid name conflicts Index: toolbar.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/lib/toolbar.f,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** toolbar.f 21 Dec 2004 00:19:10 -0000 1.1 --- toolbar.f 10 Jun 2005 16:44:23 -0000 1.2 *************** *** 496,538 **** ;M :M EnableButton: ( f id -- ) \ f=true, enable; f=false, disable ! TB_ENABLEBUTTON hwnd Call SendMessage ?win-error ! ;M :M IsButtonEnabled: ( id -- f ) \ f=true, enabled; f=false, disabled ! 0 swap TB_ISBUTTONENABLED hwnd Call SendMessage ! ;M :M HideButton: ( f id -- ) \ f=true, hide; f=false, show ! TB_HIDEBUTTON hwnd Call SendMessage ?win-error ! ;M :M IsButtonHidden: ( id -- f ) \ f=true, hidden; f=false, shown ! 0 swap TB_ISBUTTONHIDDEN hwnd Call SendMessage ! ;M :M CheckButton: ( f id -- ) \ f=true, check; f=false, uncheck ! TB_CHECKBUTTON hwnd Call SendMessage ?win-error ! ;M :M IsButtonChecked: ( id -- f ) \ f=true, checked; f=false, unchecked ! 0 swap TB_ISBUTTONCHECKED hwnd Call SendMessage ! ;M :M PressButton: ( f id -- ) \ f=true, press; f=false, don't press ! TB_PRESSBUTTON hwnd Call SendMessage ?win-error ! ;M :M IsButtonPressed: ( id -- f ) \ f=true, pressed; f=false, not pressed ! 0 swap TB_ISBUTTONPRESSED hwnd Call SendMessage ! ;M :M IndeterminateButton: ( f id -- ) \ f=true, indeterminate; f=false, don't ! TB_INDETERMINATE hwnd Call SendMessage ?win-error ! ;M :M IsButtonIndeterminate: ( id -- f ) \ f=true, indeterminate; f=false, no ! 0 swap TB_ISBUTTONINDETERMINATE hwnd Call SendMessage ! ;M --- 496,561 ---- ;M + :M ValidID: ( id -- f ) \ return true if ButtonID is valid + CommandToIndex: self 0 >= ;M + :M EnableButton: ( f id -- ) \ f=true, enable; f=false, disable ! dup ValidID: self ! if TB_ENABLEBUTTON hwnd Call SendMessage ?win-error ! else 2drop ! then ;M :M IsButtonEnabled: ( id -- f ) \ f=true, enabled; f=false, disabled ! dup ValidID: self ! if 0 swap TB_ISBUTTONENABLED hwnd Call SendMessage ! else drop false ! then ;M :M HideButton: ( f id -- ) \ f=true, hide; f=false, show ! dup ValidID: self ! if TB_HIDEBUTTON hwnd Call SendMessage ?win-error ! else 2drop ! then ;M :M IsButtonHidden: ( id -- f ) \ f=true, hidden; f=false, shown ! dup ValidID: self ! if 0 swap TB_ISBUTTONHIDDEN hwnd Call SendMessage ! else drop false ! then ;M :M CheckButton: ( f id -- ) \ f=true, check; f=false, uncheck ! dup ValidID: self ! if TB_CHECKBUTTON hwnd Call SendMessage ?win-error ! else 2drop ! then ;M :M IsButtonChecked: ( id -- f ) \ f=true, checked; f=false, unchecked ! dup ValidID: self ! if 0 swap TB_ISBUTTONCHECKED hwnd Call SendMessage ! else drop false ! then ;M :M PressButton: ( f id -- ) \ f=true, press; f=false, don't press ! dup ValidID: self ! if TB_PRESSBUTTON hwnd Call SendMessage ?win-error ! else 2drop ! then ;M :M IsButtonPressed: ( id -- f ) \ f=true, pressed; f=false, not pressed ! dup ValidID: self ! if 0 swap TB_ISBUTTONPRESSED hwnd Call SendMessage ! else drop false ! then ;M :M IndeterminateButton: ( f id -- ) \ f=true, indeterminate; f=false, don't ! dup ValidID: self ! if TB_INDETERMINATE hwnd Call SendMessage ?win-error ! else 2drop ! then ;M :M IsButtonIndeterminate: ( id -- f ) \ f=true, indeterminate; f=false, no ! dup ValidID: self ! if 0 swap TB_ISBUTTONINDETERMINATE hwnd Call SendMessage ! else drop false ! then ;M Index: RESOURCES.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/lib/RESOURCES.F,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RESOURCES.F 4 Jun 2005 08:51:20 -0000 1.1 --- RESOURCES.F 10 Jun 2005 16:44:23 -0000 1.2 *************** *** 65,70 **** 3 proc FindResource 2 proc LoadResource ! 1 proc LockResource ! 2 proc SizeofResource 6 proc UpdateResource 2 proc BeginUpdateResource --- 65,70 ---- 3 proc FindResource 2 proc LoadResource ! 1 proc LockResource ! 2 proc SizeofResource 6 proc UpdateResource 2 proc BeginUpdateResource *************** *** 77,80 **** --- 77,81 ---- in-system + internal Create SourceFileName 256 allot *************** *** 203,206 **** --- 204,209 ---- hExe 0= IF SourceFileName SourceFileError abort THEN ; + external + : ListResources ( s" Filename" -- ) SourceFile *************** *** 379,382 **** --- 382,387 ---- then ; + module + \s \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \ \\\\\ Examples \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ *************** *** 445,447 **** s" PictureViewer.exe" ListResources ; ! |
From: George H. <geo...@us...> - 2005-06-07 15:59:36
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16167/win32forth/src Modified Files: Debug.f FLOAT.F Log Message: gah: optimized some code in debug and moved runtime code for float arrays to application space Index: Debug.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/Debug.f,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Debug.f 21 Dec 2004 00:19:07 -0000 1.1 --- Debug.f 7 Jun 2005 15:59:27 -0000 1.2 *************** *** 161,191 **** : <STRING> ( ip -- ip' ) CELL+ COUNT + 1+ ALIGNED ; ! : <EXIT> ( ip -- ip' ) ! drop nesting @ 0> ! if rtop @ \ unnest level dup ?name ?dup if ." Unnesting to: " dup .name cfa-watch then -1 nesting +! ! else ip0 @ ( done, reset ip for next time ) nesting off then ; : <EXITP> ( ip -- ip' ) ! drop nesting @ 0> ! if lp @ cell+ @ \ unnest level ! dup ?name ?dup ! if ." Unnesting to: " dup .name cfa-watch ! then -1 nesting +! ! else ip0 @ ( done, reset ip for next time ) ! nesting off ! then ; : <EXITM> ( ip -- ip' ) ! drop nesting @ 0> ! if lp @ 2 cells+ @ \ unnest level ! -1 nesting +! ! else ip0 @ ( done, reset ip for next time ) ! nesting off ! then ; : dbg-next ( -- ) --- 161,182 ---- : <STRING> ( ip -- ip' ) CELL+ COUNT + 1+ ALIGNED ; ! : (EXIT) ( ip 'ret -- ip' ) ! nip nesting @ 0> ! if @ \ unnest level dup ?name ?dup if ." Unnesting to: " dup .name cfa-watch then -1 nesting +! ! else drop ip0 @ ( done, reset ip for next time ) nesting off then ; + : <EXIT> ( ip -- ip' ) + rtop (EXIT) ; + : <EXITP> ( ip -- ip' ) ! lp @ cell+ (EXIT) ; : <EXITM> ( ip -- ip' ) ! lp @ 2 cells+ (EXIT) ; : dbg-next ( -- ) *************** *** 219,228 **** ['] (.") OF <STRING> ENDOF ['] (ABORT") OF <STRING> ENDOF - ['] _EXIT OF <EXIT> ENDOF ['] (;CODE) OF <EXIT> ENDOF ['] UNNEST OF <EXIT> ENDOF - ['] EXITP OF <EXITP> ENDOF ['] UNNESTP OF <EXITP> ENDOF - ['] EXITM OF <EXITM> ENDOF ['] UNNESTM OF <EXITM> ENDOF ['] init-locals OF 2 cells+ ENDOF --- 210,216 ---- *************** *** 575,583 **** _mkey upc \ and wait for next command ELSE ip @ @ ! dup ['] _EXIT = \ if at EXIT ! over ['] UNNEST = or \ or at UNNEST ! over ['] EXITP = or \ or at EXITP over ['] UNNESTM = or \ or at UNNESTM - over ['] EXITM = or \ or at EXITM nip IF false to ?dbg-cont \ stop continuous --- 563,569 ---- _mkey upc \ and wait for next command ELSE ip @ @ ! dup ['] UNNEST = \ if at UNNEST ! over ['] UNNESTP = or \ or at UNNESTP over ['] UNNESTM = or \ or at UNNESTM nip IF false to ?dbg-cont \ stop continuous *************** *** 739,744 **** - \ in-system - : #patchinto ( a1 n1 -<name1 name2>- ) \ patch a1 into name1 at name2 >r \ at occurance n1 --- 725,728 ---- *************** *** 758,762 **** 1 #patchinto ; - \ in-application only forth also definitions --- 742,745 ---- *************** *** 784,785 **** --- 767,769 ---- + |
From: Jos v.d.V. <jo...@us...> - 2005-06-06 11:09:57
|
Update of /cvsroot/win32forth/win32forth/apps/Solipon2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27088/win32forth/apps/Solipon2 Added Files: solipion.ico Log Message: Jos: The pawn-icon. --- NEW FILE: solipion.ico --- (This appears to be a binary file; contents omitted.) |
From: Jos v.d.V. <jo...@us...> - 2005-06-06 11:07:58
|
Update of /cvsroot/win32forth/win32forth/apps/Solipon2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25952/win32forth/apps/Solipon2 Modified Files: SOLIPION.F Log Message: Jos: Added an icon. Index: SOLIPION.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Solipon2/SOLIPION.F,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SOLIPION.F 5 Jun 2005 19:19:12 -0000 1.1 --- SOLIPION.F 6 Jun 2005 11:07:46 -0000 1.2 *************** *** 1,5 **** \ SOLIPION.F 2.01 ! fload old\optimize.f only forth also definitions --- 1,6 ---- \ SOLIPION.F 2.01 ! needs old\optimize.f ! needs Resources.f only forth also definitions *************** *** 1811,1814 **** --- 1812,1816 ---- ' solipion turnkey solipion \ build an application on disk + s" solipion.ico" s" solipion.exe" AddAppIcon 5 pause-seconds |
From: George H. <geo...@us...> - 2005-06-06 09:44:49
|
Update of /cvsroot/win32forth/win32forth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10104/win32forth Modified Files: fkernel.exe Log Message: gah: modified SEE to detect the difference between EXIT plus and ; EXITM and ;M. Made _EXIT and EXITP aliases of UNNEST and UNNESTP Index: fkernel.exe =================================================================== RCS file: /cvsroot/win32forth/win32forth/fkernel.exe,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 Binary files /tmp/cvsv7emit and /tmp/cvsksLPIn differ |