[GeoCities]    [Rank My Site][Take A Tour][My Guestbook][Chat]
[SiliconValley][Pages Like Mine][Search][Send This Page][Forums][Email Me]
[Image]

Anthony's Programming Page

Last updated Monday, 16 November 1998.

Software Downloads

Here are some programs that I have written. They are all "Zero Price
Shareware" to coin a phrase I've seen people use. This means that they are
entirely free to use, but I would like to know whether or not you find them
useful, so please email me if you use them. They may be freely distributed
unmodified.

   * ALINK
   * IMPLIB
   * MODES

ALINK v1.5

ALINK is a linker that I am writing, to link object files into executable
programs. The ultimate purpose is to write a free and portable linker to go
with NASM, which can link all the NASM output formats into any one of a
number of possible executable formats, so that the pair provide a portable
assembler and linker for Intel CPUs on any OS. Thus ALINK is written in
ANSI C, in order to be fully portable.

At the moment, ALINK can only link OBJ and LIB format files
(Microsoft/Intel OMF as generated by Borland's compilers, and NASM and DOS
versions of Microsoft compilers), Win32 COFF OBJ files, and Win32 RES files
into MS-DOS COM files, and MS-DOS EXE files, and (PE)Win32 EXE and DLL
files. Resource files are only supported for PE output formats. 32-bit
records are supported. I aim to support generation of Win16 program files
(New Executable), OS/2 Linear Executable files, a.out executables, ELF
executables, and raw binary files.

Taking inspiration from John Fine's JLOC, I aim to make ALINK as
configurable as possible, so that the ordering and placement of segments
can be adjusted at link time by the use of a configuration file or linker
script. As yet this is just an idea.

Click here to download
[NASM - The Netwide Assembler - download it free now]

ALINK is currently at version 1.5, 16th November 1998.

ALINK is compiled with Rainer Schnitker's RSXNT port of GCC (available from
any winsite mirror), and the executable is a dual DOS/Win32 console
application. Execution under MSDOS or Win95 MSDOS mode requires RSX.EXE to
be present on the path (or in the same directory), execution under
Windows95 or WindowsNT requires RSXNT.DLL to be on the path (or in the same
directory).

I would be grateful of any bug reports.

Download ALINK

Download ALINK source code

Changes since version 1.4

   * Added support for win32 COFF files
   * Strips debug sections
   * Added command-line setting of entry point
   * Doesn't pad segments where unnecessary

Changes since version 1.3

   * Added support for resource files
   * Added option to set subsystem/os version for PE output
   * Added code to set time/date stamps for PE output
   * Added POSIX subsystem option for PE output
   * Native subsystem is known not to work, due to lack of checksum.
   * Added support for COMDEF and BAKPAT OMF records to support MSVC 1.5

Changes since version 1.2

   * Added support for default libraries specified in object files
   * Added library search path support
   * Added native mode PE support
   * Fixed some bugs in PE exports

Changes since version 1.1

   * Fixed 'disappearing data' bug when combining segments
   * Fixed bug in fixup relocations when combining segments
   * Fixed Import table bug (PE format)
   * Fixed bug with groups from multiple object files

Changes since version 1.0

   * Fixed bug in PE output, which prevented files being loaded at
     addresses other than the image base
   * Added support for user-specified stub files to PE output option

Changes since version 0.02

   * Now generates PE files for Win32.
   * Can generate DLLs.
   * Win32 import library provided.
   * Lots of Win32 options command-line configurable.
   * Fixed bug with self-relative fixups.
   * Fixed bug with empty groups.

Changes since version 0.01

   * Now handles LIB files.
   * Handles Imports/Exports. (But not supported by output formats!)
   * Generates MAP file.

Version 0.01 features

   * Handles OBJ files.
   * Generates COM files.
   * Generates EXE files.
   * Command line switch to choose whether to emit data for uninitialised
     segments.
   * Case sensitivity supported.

IMPLIB

This is a Win32 import library generator, as a companion to ALINK

IMPLIB was last updated on 16th October 1998

Download IMPLIB

MODES

This is a simple demo of how to program the VGA registers to change video
modes. It switches from mode 03h (80x25 16 colour text) to mode 013h
(320x200 256 colour graphics) and back again. It is written in assembly
language (TASM compatible).

MODES was last updated on 7th January 1997.

Download MODES
  ------------------------------------------------------------------------

Email me at anthony_w@geocities.com

This page has been visited [Image] times since 28th July 1998.
  ------------------------------------------------------------------------
           This page hosted by [Image] Get your own Free Homepage
               [Click to see more great pages on Computers and Technology.]