Back to the Alpha Micro Phun Machine @ Floodgap Retrobits | Jump to: Primer on AMOS | Alpha Micro Pageant of Machines | Links and Resources

AMPM: AMOS Freeware Downloads

I now have access to quite a bit of the old software archives, and I'll be (slowly) putting up stuff as I find them. Other freeware sites include COOL.STF's Alpha Micro Page. We're not talking TUCows here, but c'mon, this is AMOS!

You might also look on our AMPM Links Page for other software, some of which is free and some of which ain't.

To the best of my knowledge, these programs and packages are freely distributable. If you can assert otherwise, please contact me at


The fingerproxy is not an AMOS program; it's a helper method for enabling arbitrary TCP access tunneled through the finger protocol for AlphaTCP systems that don't have TAMED or URL (systems earlier than 1.4), but do have FINGER (1.3B and 1.3C). Since upgrading can be expensive, and isn't always possible, this gives you a way to scriptably open sockets easily on older machines as long as you have a inetd-capable box around to run this on. You also need Perl and netcat or compatible; virtually every system worth its salt has or can get all of these prerequisites. It should also work with launchd (gag) if you need to run it on Mac OS X 10.4+. And of course this works with just about any arbitrary finger client on any operating system, if you want to use it with them.

What fingerproxy allows you to do is things like this:

FINGER "|80|GET / HTTP/1.0\\r\\n\\r\\n"@fingerhost > OUT.HTM
Now you've got dumped to a file. Hmm, I wonder what you could do with an HTML file?

The reason you can't use the regular TELNET.LIT to do this is because it does not allow you to redirect its input or output. While you could FORCE the job it's attached to to pass input, the output is going to the terminal whether you like it or not, and you can't capture it (well, I guess you could write a terminal driver that dumped to disk, but that's getting even more insane). And you can forget FTP.LIT and TFTP.LIT because those programs crash when fed arbitrary data they don't see as transactions.

FINGER.LIT, however, doesn't care or parse what it gets back and does allow you to redirect its output, but it's hardcoded to port 79, hence this method to let it talk to other ports. (I'm really trying hard to avoid saying the word "p**xy" to stop the script kiddies from coming here.) Essentially this is a kludgier, lower level form of URL, but works on 1.3.

The way to talk to fingerproxy is very simple: a hostname, followed by a pipe character, followed by the port, followed by a pipe, followed by arbitrary data. This should not be considered binary safe, so to pass arbitrary characters, binary-encode unsafe characters with \0xXX (such as \0x7f). \n \r \t \b are also accepted, and \\ is turned back into a single backslash. You can pass a string as long as FINGER.LIT will let you on the command line. The reason why I have double-backslashes in the example is to stop the AMOS command shell from eating them. The response starts with a single status character (usually 0 for request accepted), and the data (if any) follows. 1 indicates a bad request, 2 indicates an unacceptable hostname, and 3 indicates a system error.

Because this is a p**xy, you should only install it to listen on an inside-facing interface. Don't blame me if you point this out on the WAN and you become the new rear-end Regina for your neighbourhood Russian hacking ring. Its security precautions are trivial and a thoughtful black hat might possibly pwn you if you are incautious. You need to configure it first to tell it where your netcat and (optional) regular fingerd are located -- if you specify where your fingerd is, requests not seen as fingerproxy commands are passed to it, so it still acts like a regular finger. Then wire it into your inetd; it requires no command line options. I strongly advise running it as an unprivileged user. I offer it under the Floodgap Free Software License.


KAISER.TDV is my customized terminal driver, born of necessity when I discovered in horror that there was no support for VT100 compatible terminals in AlphaTCP 1.3. I use it with Mac OS X Terminal, but it also works with PuTTY and should work fine with most xterms.

To install, copy KAISER.TDV into DVR:. If the TDVDEF line in AMOS32.INI does not load all drivers (i.e., if it's not TDVDEF *), add KAISER to the TDVDEF line and check it with MONTST. Either way, you will need to reboot after the TDV is installed. You can then Telnet to your machine and select kaiser as the terminal type.

As provided by default, it expects an 80x40 window since this is the normal size I work in. If you want to change this, edit byte offset $000e-f and change the bytes $28 $50 to your desired rows and columns respectively.

I have not tried this driver with a real VT100-compatible serial terminal connected to one of the serial ports, but if you do, please let me know how it works.


For the vast majority of users, this will be (short of AlphaTCP) the most convenient way of getting files to and from an Alpha Micro system, and Kermit terminal programs are available for darn near anything from a Commodore 64 all the way up to current versions of Windows. You will need to have a terminal configured for outgoing connections in your INI file, or you could use it over Telnet, I guess, if you have AlphaTCP and for some reason can't get FTP to work. That terminal can be connected to a modem or to a null modem to your PC, and should not have a job attached to it (i.e., a naked TRMDEF and no SETJOB).

At some point some wag is going to ask how you get Kermit itself onto the Alpha Micro, to which I can only suggest careful prayer.

Like most versions of Kermit, Alpha-KERMIT is freely distributable. I have provided the source for M68 but you do not need the source code to run the program. It will run on just about any Alpha Micro system, even an AM-1000 running AMOS/L 1.2. (1.3D or up is needed for assembly from scratch.)

To install, simply copy KERMIT.LIT into SYS:.

Jajiv's AlphaBASIC Uncompiler

I found this otherwise non-descript file in a collection of other stuff. The "Jajiv" is actually James A. Jarboe IV, a frequent AMUS contributor (thanks to Michael Roach who cleared up the mystery).

This utility is somewhat buggy, but does decompile .RUN (compiled AlphaBASIC programs) back into .BAS equivalents. It doesn't always work, and doesn't work at all with AlphaBASIC Plus (let alone Lightning BASIC), but it's worth a shot if you've hosed your backup and haven't tried to be too obfuscatory. UNCMPL Q.RUN produces Q.SRC, or you could use something like UNCMPL Q.BAS=Q.RUN to specify a filename directly.

To install, simply copy UNCMPL.LIT into SYS:.


This is an unbelievably useful tool that lets you browse an ISO 9660 format CD on most Alpha Micro CD-ROM devices (without it, you can only read AMOS-format CDs, basically just the AlphaCD and any CDs you may have burned yourself with MAKACD).

Unfortunately, I do not have a copy of this tool. If anyone can provide it, I will gladly post it. Please send me an E-mail if you can help.

Missing UNZIP?

There is apparently a minimal implementation of unzip for AMOS that is compatible with some of the compression methods, so careful use of zip may allow you to more easily squeeze data onto a disk or over the network and decompress it on the AMOS machine itself. This utility was reportedly written by Alpha Micro Belgium.

Unfortunately, I do not have a copy of this tool. If anyone can provide it, I will gladly post it. Please send me an E-mail if you can help.

Back to the main page