The following are either complete or partial Assembly Language Source Code files for the programs on My Home Page . Most are written to be compiled with the A86 assembler (shareware), available at Eric Isaacson's Home Page . They will probably need to be modified slightly if you intend to compile them with another assembler.
I'm still in process of releasing my Source Code, so be patient. I'm still updating several of the programs right now, and I don't want to put Source Code here for a particular program until I update it. Keep looking here and eventually most of it will show up. If you want it and it isn't here, contact me and I might be able to send it to you.
USBSOURC
This is a single file that contains all of the source code
for the DOS USB drivers, current as of January 30, 2010.
Most of them are written in Assembly Language, but some are
written in C++ (compiled with Borland Turbo C++ for DOS 3.0).
ALLSOURC (All files listed below - does NOT include the USB source code above)
This is a single file that contains all of the individual
files described below.
You can download each file one at a time,
but downloading this file is easier and faster
if you want more than a couple of them.
CLOCK
This is the complete source code for one of my larger, more
complicated programs - CLOCK.
You can download the complete, compiled version,
including documentation, from
My Home Page .
It is a TSR that shows a CLOCK on screen all the time.
It includes a hot-key that allows you to
move the CLOCK around the screen,
change certain internal options,
etc.
It also includes a working implementation of the STACK routine (below).
It can be used as a "skeleton" for any TSR where you want to show
something (virtually anything) in a window on the screen.
CPUCACHE
This is the complete source code for one of the small command-line
utilities that is included with SLOWDOWN
(you can download SLOWDOWN from
My Home Page ).
CPUCACHE is a utility that controls (Enables, Disables, or simply
shows the Status of) the CPU Cache.
Download SLOWDOWN, and read the documentation that comes with it
to find out how you might be able to use CPUCACHE.
DELAY
This is the complete source code for one of the small command-line
utilities that is included with SCANCODE
(you can download SCANCODE from
My Home Page ).
DELAY is a batch file utility that simply DELAYs for a little while
(the number of seconds you tell it to) and then quits.
You may not see a need for a utility that simply wastes time,
but it is actually quite useful.
Download SCANCODE, and read the documentation that comes with it
to find out how you might be able to use DELAY.
PRTSCR
This is the complete source code for my PRTSCR program.
It modifies the PrintScreen routine so that the output of the
screen are copied to a file instead of to a printer.
This program includes several "advanced" features, such as
loading itself automatically into upper memory, using DPMS
or EMS memory if they are available, multiple ways of
accepting Option parameters, etc.
PRTSCRFF
PrintScreen with Form Feed.
This is the complete source code for my smallest, simplest program.
It modifies the PrintScreen routine so that each new PrintScreen
gets put on a new piece of paper.
It can be used as a "skeleton" to begin writing your own TSR's.
By perusing the code, you can learn
how to parse the DOS command line for switches,
how to trap interrupts,
how to find out if your TSR is already installed in memory
(using the TSR Multiplex Interrupt),
how to update the program if it's already in memory,
how to uninstall the program from memory,
how to set ErrorLevels when your program terminates,
etc.
PUTKEY
This is a small subprocedure to "stuff" a keystroke into the
keyboard buffer, just as if you had typed something with
the keyboard.
This code is used in my MOUSKEYS and JOYKEYS programs
(you can download them from
My Home Page ).
SDWRGMPD
This is the complete source code for SDWRGMPD, a DOS Driver
for a Microsoft SideWinder digital GamePad.
You can download SDWRGMPD from
My Home Page .
Microsoft does not provide (or even make) drivers for any
of their SideWinder products, for anything other than Win95+.
They don't make drivers for DOS, or even for older versions
of Windows.
I suspect all SideWinder products use the same basic protocol
to "talk" to the computer, and the SideWinder GamePad
protocol-decoder is in SDWRGMPD.
You should be able to use the source code to create DOS
(or Windows) drivers for any SideWinder product, and possibly
for other types of digital joysticks as well.
SERIAL
This is the complete source code for another one of my larger, more
complicated programs - SERIAL.
It is a TSR that is very similar to the CLOCK program above.
The only difference is that it shows you the status of a SERIAL
port instead of showing you the time.
SLOWDOWN
This is the complete source code for a program that Slows Down
your computer so that it will run older programs.
It has Hot-Keys to change the Speed of the computer "on-the-fly",
and contains a working implementation of the
IBM Interrupt Sharing Protocol.
Another interesting feature is its ability to recognize which DOS Window is currently running underneath Windows, and can store individual settings for each of the DOS Windows. As you switch between the Windows, the Program automatically changes its setting appropriately. It looks like you have several copies of the program loaded, when you really only have one.
This version of SLOWDOWN also has several different "methods" or "modes" it can use to slow the computer down, some of which are quite unique and quite effective. Download SLOWDOWN and give it a try!
SLOWINT1
This is the complete source code for another small TSR utility
that is included with SLOWDOWN
(you can download SLOWDOWN from
My Home Page ).
SLOWINT01 is a TSR that Slows Down the computer using a
very unique method.
The method is variously called "Interrupt 1" or "Debug mode"
or "Trace mode" or "Single-step mode".
It is actually quite complicated to discuss (far too complicated
to do it justice right here).
I suggest that you Download SLOWDOWN, and read the complete
documentation.