Tool archive

This in the tool archive. Here all tools, utilities and help files from the previous website can be found. Most of these tools are quite old and are not developed anymore. They are still available though in case anyone might need them. A lot of this stuff is written in or for win32asm, but there is some C code as well.

BNSYM: build number symbol tool

BNsym screenshot thumbnail This little tool can be used to insert an automatically incremented build number in your ownb program. BNSYM reads a small text configuration file, increments the build number and writes a COFF object file (.obj) with two (or one, depending on the configuration) symbols which you can use in your program. Can be used with MASM or Visual C. Documentation and examples for MASM and VC (quite outdated, for VC6) are included in the zip file.

Download (30.6 KB)

WinSock hook debug tool

WShook screenshot thumbnailThis is a little utility I wrote, mainly for my own use, that you can use to debug your own winsock programs. The utility will run your program as a debugger, and hook onto several winsock APIs to intercept sent and received data.

It will show a tab window where all sockets created by your program will be shown. You can click on a tab to view what has been sent or received on that specific socket (note: the text fields use internal buffers of 4KB, so actually it's the last 4KB of data you see).

The utility is designed for use on programs that use text-based protocols, like HTTP or FTP. Binary data will not do any harm, it just doesn't look great.

This program does not work on win9X/ME, as it uses some NT specific functions, and one win2000+ specific function. Don't ask me to write a version for win9X, this would require to totally rewrite it and as I created the util mainly for myself, I'm not going to do this. C source is available as well. For more information, see the readme inside the zip.

Download executable: (6.8 KB)
Download source code: (21.3 KB)


NetTool screenshot thumbnailSimple netstat-like program that displays all TCP connections and their states. Open connections can be closed by pressing the delete key after selecting the connection to be killed.

Written in win32asm. You will need the iphlpapi lib & include to assemble the program. You can find them on this page.

Download (7.9 KB)

Neural networks

Digibrain version 1 screenshot thumbnailNeural networks are used to create artificial intelligence.. Inspired by the brain, a network of interconnected neurons is set up, with a set of inputs and outputs. The network is then trained with a training set, and learns which outputs correspond to which inputs. Then the trained network can be stored an reused anytime for making decisions. Neural networks are pariculary good at pattern recognision, as you will see in the example. I've worked out all the dirty maths and put everything into an easy to use class (classes are excellent for these kind of things), which you can for any AI you need. The class has very simple methods like 'train(inputs, desired outputs)' and 'run(inputs)', as well as save & load functions for storing the learned data in a file or memory.

Below you can download the beta version of the NNet object. No documentation yet, and it has some bugs but that's why it's a beta version.

The other download is an example that demonstrates it's use. It can recognize the first four characters of the alphabet, drawn with the mouse the way most handhelds do. It's a relatively simple network (20 neurons, 108 connections) but I was surprised at how well it works. Just draw an A, B, C or D on the drawing tablet, the program speaks for itself. The source for this problem will be released some day, but not yet.

For some more information, have a look at this thread at the win32asm community messageboard. Note: you will need MASM32 v7 to use the NNet object.

Download DigiBrain v1: (23.0 KB)
Download NNet object: (9.35 KB)

AdapterInfo beta

This is a little win32asm test program I wrote for the IPHlpApi includes (see below). The program displays all network adapters and their settings like IP, gateway, dhcp addresses (like ipconfig).

View this thread at the win32asm community messageboard for more information.

There is a bug in the network adapter type, the results are wrong there. Some constants are probably incorrect but I couldn't find them.

Download (11.6 KB)

IP Helper API incldues

This is a beta version (there may be some big errors in it so don't rely on it) of the win32asm includes for the IP Helper API. The lib from the platform SDK (feb'01) is also included. The IP helper API resides in iphlpapi.dll, which is available in win98+, winNT SP4 and win2k, but the real requirements vary for each function.

This lib includes some very interesting functions to get information about the network adapters and interfaces, some IP and TCP/UDP settings, and more.

Download include and library: (7.6 KB)
Download help file: (79.7 KB)


This zip file includes the .lib, .h and .inc for the ICMP functions for use with MASM32. They are still not officially supported by Microsoft but they've included it in the platform SDK (for more info see the readme.txt inside). The lib/h/readme are directly copied from the PSDK, I've only added the .inc which is simpy created with Hutch's l2inca utility from the masm32 package.

Download (4.0 KB)

IDEBar v1.2

IDEbar screenshot thumbnailThe restyled version of IDEBar v1.0, a utility I've been using for some time. IDEBar gives you an AppBar on the right of the screen with the basic buttons to make/run your program while you're programming in your favorite editor. It has simple project management and reads all project information from an INI file. This allows you to use your favorite editor in combination with a nice development toolbar.
The download below is a beta, it has some functions not implemented yet. Future functions are: menu with the source files to open them, resource button, hotkeys, help files button. The download is still a beta, withouth any documentation, but with an example. However, you won't have much trouble using it as it's almost self-explaining...
Full source is included too so you can customize it according to your needs. Just give it a try and see if you like it, feedback and suggestions are welcome. Written in win32asm.

Download binary: (8.7 KB)
Download source code: (52.8 KB)

Combiner 3.0

Program to combine multipe MASM32 source files to one file. With this program you can divide your program in multiple files (e.g. data.asm, main.asm, wndproc.asm) and assemble it as if it where one file. This eliminates problems with global data declares etc. This version (3.0) has a wrapper for masm that fixes the line numbers in the error codes so that they point to the right file. More info is included in the zip file, as well as an example. Full source code is also included.

Download (199 KB)

GIFLIB version 1.0 (revision 2)

GIFLIB has long been removed from my site because of patent issues, but since the patents have expired in all countries the download is back. Still, I strongly recommend my much better PNGlib library. GIFLib allows you to decode GIF files in your applications.

Note: While the zip file includes a GPL license, never mind that and use it as if it was BSD licensed (basically use it in any way you like!). But again, consider PNGlib first!

Download (128.7 KB)

Win32 multimedia programmer's reference

Help file for winmm.dll with several multimedia functions.

Download (1.21 MB)

Winsock 2 help file

A usefull (but outdated) help reference about the winsock 2 API.

Download (330.5 KB)


The assembly addition to WinIO by Yariv Kaplan (
Enables support for direct I/O port and physical memory access in windows programs for win9x and NT/2000. AsmIO contains a library and include file which you can use to implement WinIO. Note that this download is only an addition, you need to download WinIO at too.

Download (3.2 KB)

HTTP File Transfer v1.0

HTTPFT screenshot thumbnailFile transfer program that uses the HTTP protocol to send files. The receiving person does not need any program exept a browser. Note: this program does not support ICS (internet connection sharing) or routers. There's not manual, but it's a very simple program, just select a file, choose a password (optional), click on 'server on' and then on 'copy transfer link'. Now paste the URL into an ICQ message or something and the transfer can start. The program was one of the first winsock and win32asm programs I wrote so it isn't great. Also don't expect any support or updates :)

Download HTTPfiletransfer.exe (15.5 KB)

OOP Stuff

In 2001, NaN (Jaymeson Trudgen) and I developed an OOP (object oriented programming) extension to MASM. This section contains the original files from one of the first versions.

Note: This is probably really outdated, search the web for later versions or other OOP extensions.

Include file

This include file contains all you need to create and use classes in MASM. It's recommended that you download the files below as well and have a look at the OOP item in the news page (especially the links to the board there). Written by NaN (Jaymeson Trudgen) and me.

Download (8.6 KB)


Object code generation for MASM32 thumbnailThis is version 1.6 of the original object tool NaN wrote.. Not much news, but it's adjusted to conform with the new object model (version 2.27 currently). This tool creates an empty OOP frame to start with. (Does inheritance if you want it by specifying the class name to inherit ~ BUT you must manually include the path to where the inherited file can be found)..It also generates a basic HTML documentation template. You must manually input the info on each method/class if you wish to use this.
Written by NaN (Jaymeson Trudgen).

Download (23.4 KB)


OOP2HTML parses the .asm class file for its documentation info, and makes an HTML file by the same name in the same directory. Its a drag and drog window, so drag the .asm file into it.. and all is done. ( Only 1 file at a time ).
Written by NaN (Jaymeson Trudgen).

Download OOP2HTML.ZIP (5.6 KB)

OOP example 1 - CSprite

Smilies 1 win32asm OO demo thumbnailThis is the first example (download the second one below as well).. It's a nice and simple example of using the OOP model. However I didn't have time to write a tutor or to add some good comments, so you'll have to do it without.

This first example creates a CSprite class, which can display a sprite on some DC. It shows the general use of a class. You don't have to look at all the files, the codeparts.asm file, CSprite.asm, and drawproc.asm file contain all important stuff, the rest is just standard window creation and setting up DCs..
It shows a bunch of smilies on a window that all move randomly.

Download (18.7 KB)

OOP example 2 - CSmiley/Inheritance

Smilies 2 win32asm OO demo thumbnailThe second example continues on sample 1 above.
It demonstrates inheritance and superclassing. A new class is created, called CSmiley. This class inherits from CSprite so it has all the basic functions of a sprite, but in addition it can let the sprite leave footprints when enabled... Herefore it overrules the 'draw' method of the CSprite class, by first superclassing it's original method (i.e. it calls the original draw proc from CSprite), but then adding it's own code to put the footsteps on a footstepDC (another DC that is drawn as background on the backbuffer). Polymorphism is not illustrated but you can do that yourself, just try to replace 'CSmiley', into 'CSprite' (the original), but only in the drawing procedure. It will still work, as a CSmiley object is also a CSprite object (because it inherits from it), so you are able to treat it that way.
That's about it, sorry for the missing comments in the source code, but at least it's something :)

Download (20.3 KB)

MsAgent example

This is an example of using both OOP and COM. It contains a class that encapulates the Microsoft Agent COM object..
Written by NaN (Jaymeson Trudgen)
MSAgent win32asm OO example thumbnail

Download (27.4 KB)


Rockstar win32asm OO demo thumbnail"This was a little creation i made with our new Object Model. My best friend just had a baby girl, and at the time i was learning how to make custom windows, so i made THIS as an example of how OBJECTS can be used to create this simply. Check it out! Don't worry, its not your average baby picture :P" NaN.
Written by NaN (Jaymeson Trudgen).

Download (603.2 KB)


This is a simpler example of using the OOP model.. It is a console program and displays everything that happens on the output..
A good example to start with.
Written by NaN (Jaymeson Trudgen)

Download (15.5 KB)