Sources

The following sources need Win32Forth version 6.15 or better (Go for the developer release).

Just download the program and run the exe-file to install the pack.
Use win32forthIDE.exe to edit sources, projects or forms.
Most important keys in the IDE are there:
F1 leads you to the help system.
F12 Compiles the opened project or source.

Download 3dimcube.zip 

A 3D demo.
The viewer shows you images one by one or in a slide show.
The following files can be shown: *.bmp; *.jpg; *.ico; *.pcd; *.psd; *.pcx; *.ppm; *.pgm; *.pbm; *.png; *.ras; *.tga; *.tif
The program is also able to save them as a bitmap.
Compile 4FreeImage.f to generate a turnkey application.
Changes this version:
Added rotating, flipping, zooming and moving in the viewport.
On a fast PC zooming gives the same experience as turning on a zoomlens to change magnification.
Keep Ctrl pressed and press the UP or DOWN key to zoom in or out.
Zooming etc. also works in fullscreen mode
Now you can go forward or backwards in a manual slideshow.
Also added:
- an endless automatic slideshow.
- a fullscreen mode.
- accelerator keys to the menus.
- a popupmenu.
- a SUI ( Social User Interface ).
When you would like to show a number of pictures you are no longer hooked to your PC or mouse anymore.
You can be sitting beteen your friends showing them your pictures
using a full screen and a remote 10 button joystick to control the slideshow.
That could be nice when your PC is also connected to your HD TV or an other big screen.
It is also possible to rotate, flip, zoom and move a picture using the joystick.
Hit button 4 of the joystick to zoom in.
Other functions and the needed buttons of the joystick are shown in the menu between parentheses.
Push the Joystick to move the picture in the viewport.
Open a picture before starting the slide show.
Read readme.txt for a number of tips and notes.
 

Download bmpwindow.zip

A pack that shows how a bitmap can be resized, shown and saved in a simple way.
Compile BmpCommands.f  

Download bmiwin.zip

The program Calculates your overweight , or worse.
Compile BmiWin.f
Started as a one-liner :-)

Download domotica.zip

Domotica.zip is able to control a number of led strips, led bulbs and smart plug switches from a web interface on a client by using a server controller.
Your smartphone, tablet or PC can be used as a client.
A Raspberry PI or PC, in a network, can be used as a web server.
If you do not have any led strip, led bulb or smart plug switch then you can still
try and adapt the DEMO of the webserver.
The demo is able to shutdown your PC or Raspberry PI from a smartphone.
Read Domotica.f for further instructions.

Download dpansfcheck.zip

A tool to check if your source uses only definitions that are part of DPANS'94

Download hibernator.zip

The hibernator might safe you energy costs. EG: A process needs much time to compute. When it is complete the process becomes idle. The hibernator is able to spot this and will try to put the PC in the hibernate state after one minute. When the hibernate state is not possible it will try to put your PC in a suspend mode.
NOTE: The program has only been tested under XP Professional. There is no support to configure your windows system in the right way as is described in the helpwindow.
 

Download infix.zip

Enables you to use 2 + 3 * 4 / 5 instead of 2 3 4 * 5 / +
At the end of the source are examples about calculating interest.
It is also possible to use infix.f to make a formula faster.
The example quadraticroot.zip shows how this can be done.
 

Download itools.zip

A socket library written by Marcel Hendrix. It can also be used in VfxForth3, SwiftForth20, iForth20, gforth-fast and eForth64. The pack includes a nano-IRC client and email client.
 

Download JukeboxIn4Th.zip 

JukeboxIn4Th is a program that is designed to play music requests in a certain order defined by the user or by the build in random traveler.
The JukeboxIn4Th has a web server, so one or more smartphones, tablets or laptops with WiFi can be used as a remote control for the JukeboxIn4Th. The web interface is a server-side application for the client. There is no need for Java.
The JukeboxIn4Th needs at least windows XP and Directx 8.1.
It runs best in Windows 7 or better with an iCore7 since it uses all your hardware threads for parallel searching.

Installation and compile instruction:

  1. Unzip JukeboxIn4Th.zip including the subdirectory somewhere on your hard drive.
    For Vista and higher: Unzip JukeboxIn4Th.zip in ANOTHER directory than the “Program Files” directory.
  2. Start win32forthIDE.exe ( Part of Win32Forth installation pack )
  3. Open JukeboxIn4Th.f
  4. Hit <F12>
  5. JukeboxIn4Th.exe will be compiled and started.
  6. After 2 dialog boxes you are ready and able to travel through your music collection using the random traveler. Just hit the button Rnd as soon as your catalog is filled.
New in this version:
  • Faster scanning through a directory tree.
  • Adapted for the new MultiTaskingClass.

Download Juliav443.zip 

( Last update: September 4, 2016 )
Juliav443 draws various Julia and Mandelbrot fractals.
Compile Julia_tk.f in Win32Forth version 6.15 for a new turnkey application.
The program will use all the hardware threads of your CPU to make a plot.
Each thread handles its own section. Plotting a mandelbrot on my PC takes 108 ms at 1900x1200 using 4 cores.

New in this version:

  • Added the option Uninterrupted calculations.
  • Adapted for the new MultiTaskingClass

Download MinuteMan.zip

Downloads each minute a number of selected quotes from Yahoo and displays them in the console. Change DownLoadList.txt for your own quotes.
 

Download NeHeLessonsIn4th 

The NeHe lessons are a serie of demos and tutorials to guide one through a number of features of OpenGL. Compile _NeHeLessonsIn4th.f 
The orginal sources are available in various languages at: http://nehe.gamedev.net 
Thanks to Timothy Trussell I was able to port 24 lessons to Win32Forth.
The original sources of Timothy can be downloaded from the
Taygeta Forth Achive at:

Download Parallel.zip


The use of several threads can increase the speed of a program.
This pack compares 2 ways to perform parallel computing.
One with OpenCL and one using my MultiTaskingClass.f.
Compile Paralleltest.f to see the results.
Note: OpenCL is able to work on a number GPU's and CPU's.
New in MultiTaskingClass.f:
  • Now each thread gets a que in which jobs are placed to execute a definition.
  • Submitting a job is now about 1000 times faster than the initial version.
  • The total number of jobs depends on #jobs in each used object.
  • Semaphores are used to simplify waiting instead of critical sections.
  • The number of threads is no longer limited to 63. 1500 threads seems to be the limit under W7.
  • All objects need now to be started with the method start: which takes NO parameters from the stack.
  • All task-classes have now high resolution timers to determine elapsed times in cycles or seconds. Use .JobAnalysis: to see them.

Download RomDoorV13.zip

The program opens or closes CD and DVD door(s).
Compile RomDoorWindow.f.

Download rtfgenerator.zip

The RtfGenerator can be used for colorization of text in a RTF control.
The generator supports also features like:  bold, underlining, highlighting, different fonts, the use of a number of properties of fonts and text macros.
To demonstrate it I made a logger that generates log-lines to a rtf control.
The log-lines are also saved to a log-file.
The log-file can be shown in a separate Rtfwindow that uses another thread so it will not interfere with the scrolling rtf control.
Multiple snapshots are possible.
Just open RtfWindow.f in the Win32ForthIDE and press F12 to see it working

Download Scenev301.zip

Needed when you would like to use OpenGl in Win32Forth.
OpenGL is a very powerful tool to do 3D and other graphic stuff.
The scenes in scenev301.zip are:
Name: Discription:
The crude universe In a crude square universe the inevitable thing happens.
A study Shows what happens when things change. Note: The changed parameters are shown in the title bar of the window.
A bouncing ball A ball ( sphere ) bounces in a room (3D). You can change the scene while the ball is bouncing.
An egg A transparant egg generated by a mandelbrot formula with a light in it.
A Stone A transparant stone generated by a mandelbrot formula with an inner stone. It changes when it is rotating. It will open when you zoom into it. You can zoom into the stone while it is rotating by hitting the Z and then press <Page Down>. Use Esc to stop the rotation.
A 3D mandelbrot
A 3D projection of a mandelbrot.  
It appears after 17,576,000 3D points are calculated.

Read the beginning of OpgenGL.f for an explanation and newest features.

Compile _AllScenes.f or _Study.f to start it. The program works under Windows 95 or better.
Interested in OpenGL? See The red book.

 

Download scores.zip

A simulation for 4 players or more who keep their results in a scoreboard.
It started as a demo and ended in a speedtest. It is able to do both.
Mshell-rel is able to sort and index records. It has the following characteristics:
  1. It uses relative pointers. So there is no need to generate the same pointers again when they are used in a memory mapped file.
  2. Multiple keys can be used and sorted in one go.
  3. The number of keys is only limited by the unused size of the stack.
  4. Each key can be sorted in an ascending or descending way.
  5. A key may contain a float, an integer or a string.
  6. The sort is case-insensitive for strings.
  7. Possible to expand to sort floats and doubles etc.

Download simdtest.zip

To test the impact when SIMD is used in several threads at the same time. It requires a small patch (extending the assembler). See simd.doc

Download sorts.zip

Allows you to test 12 sort methods ( records and cells ) for speed and stability
Compile testall.f to see the results.

Download Toolset.zip

Toolset.zip contains the latest version of the following files:
File: Newest feature:
Cpu.f Shows information and a number of features of your Pentuim.
Extensively extendend and updated thanks to Marcel Hendrix.
Number.f Shows numbers according to the international settings of the control panel. Limit: +/- 18.446.744.073.709.551.615
Toolset.f A number of handy words.
Config.f For saving data, variables and strings in a file.
SetExecutionState.f To prevent the screen saver or the sleep mode.
Graphics.f To plot pixels or draw lines. (No multiple threads are used.)
ReformatStrings.f A utillity to show a long string in short lines (New file)
 

Download WakeOnLan.zip

To wake up another PC within a LAN when right configured and when possible. It is done by sending a magic packet.
 

The following sources still need Win32Forth version 4.2 as the Forth compiler.
A quick start:
  1. Download Win32Forth version 4.2 as the Forth compiler.
  2. Install Forth by starting w32for42_671.exe
  3. Download one or more zip-files. See each ZIP-file as a project.
  4. Extract all files of one ZIP-file into one seperated directory.
  5. Start Win32Forth.
  6. Choose Load Forth file... in the menu file for compiling and use of one of the following sources.
A mailer, which is able to receive and send email or news in ASCII.
The special features are: It’s speed and the spamstring.
 
Download 4thclockv201.zip
A clock which shows important days and will generate a sound, or signal at a previous defined time. It can be used as an intelligent alarm clock. 4thclock.exe can be used at 2 levels. When it is restarted, it will continue its tasks. Old settings will be restored when restarted. Just click and run, there are no questions to answer. A complex user interface is avoided by using an ini-file. You do not need to modify it when you use 4thclock.exe on an easy level. OpenGL generates the 3D graphics. Click with the right button in the window of 4thclock.exe for a menu.
Compile _4thclock.f ( note: the underscore ) for testing, changing or a turnkey application. The thinking behind the hole programs was to explore what is needed when a database is used which is not in the dictionary.
 
Download Seahtml.zip
Seahtml.zip contains an application which was compiled and saved as a turnkey by Win32Forth. Seahtml.exe makes an alphabetical index of a number of bookmarks which are starting with an underscore. It creates a database of the found bookmarks, sorts them and distributes them to a number of html-pages with links to the bookmarks.
Note: The alphabetical index of this site was generated by seahtml.
 
Download small.zip
Enables turn key applications which are smaller in size.
See Playsnd.f in small.zip for an example.

 

May the Forth be with you.

Jos.

Comments