[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.]