From the Developer of AMOS and AMOS/L 'Virtual' Terminal (VTAM) software -

VAM

Virtual Alpha Micro

AM-100 emulator v0.904 snapshot 12/5/2005


What is the Project?

Build an open source emulator for the AM-100 micro computer that runs on Linux or Windows desktops and can run AMOS and all associated programs.  


What's New?

12/5/2005
Posting a version (0.904 snapshot) with floating point fixes and some fixes for newer versions of GCC.

12/1/2005
Pointed most of the older tgz and pdf links to a mirror site

10/20/2005
Posting a version (0.901 snapshot) with Macintosh OSX support and other minor fixes. Would post some AMUS magazine scans but AMUS management forbids...

05/16/2004
Posting a version (0.45 snapshot) with Telnet terminal server improvements and fixes.  

04/25/2004
Posting a version (0.442 snapshot) to let people play with new functionality.  Long promised Telnet terminal server support!!  

04/18/2004
Posting scans of the AM-500 (Hawk Disk drive controller) hardware manual, scan of newer version of Basic manual, and scan of Basic XCALL subroutines manual.  Also updating 0.4 snapshot to 0.42 with improved performance of am300 interrupt driven terminals in Windows (fixed halts and 'jumping').  Also some (but not all) floating point fixes necessary to pass the new 'CPU' diagnostic on the AMOS 4.6 container.

04/10/2004
Posting scans of the LISP and PASCAL manuals!  Many thanks to James Schuknecht for this and other help...  

04/3/2004
Posting AMOS 4.6 container (amos46.tgz).  

03/27/2004
Posting a version to let people play with new functionality.  Better tape (am-600) support, tapfil, filtap, and tapdir -like utilities for the host side, am-300 serial card support (but no telnet yet), run time mount/unmount of disk, printer, and tape devices, reset and power off from front panel.  

With good tape support the promise of a container build program goes away, but now there's a container build procedure: (1) In the host system, put the files you want onto a 'tape' with tapfil, (2) start the emulator, then in AMOS (a) mount a copy of the 'empty-container', (b) import the files from the 'tape' with filtap!

Please download both the program and a newer copy of the AMOS distribution. 

ALSO - I've uploaded a copy of the System Command Reference Manual - the book that describes every single command.  I took the time to index it so it's pretty easy to find what you need in it's 400+ pages...  And I have received a copy of AMOS 4.6.  One of the things I found on the 4.6 disk was a newer version of the 'CPU' diagnostics that check the floating point operations (fmt11) and sure enough my fmt11 code has a few bugs!  Hope to get those fixed and uploaded soon...

01/17/2004
Posting a version to let people play with new functionality.  Printing (am-320), Tape (am-600), multiple consoles (switch via ALT-0, ALT-1, ALT-2, ALT-3, etc), "Front Panel", POST diagnostics, instruction stepping, and on and on.

08/31/2003
[1] I have decided the DIRSEQ bug is a combination of two things: (a) DIRSEQ is pretty fragile, crashing in a variety of usually nasty ways when it encounters unexpected things in the directory; and (b) the program I used to build the container files creates some of those unexpected things.  Accordingly, the fix is to let AMOS make a file structure it completely likes.  Instructions to do so with your existing containers are here:  I've made the fix already to the amos50 distro below.  I'll fix (and release) the container builder with the next code update.
[2] I also discovered why pascal was misbehaving.  The .PCF files in [7,6] are supposed to be random, not sequential.  I added a copy of my RSSR utility to [1,4] and converted the files.  Now pascal works too!  Again, fixes in the amos50 distro below.

03/31/2003 - Have slowed WAY down since November!  Scanned another couple of manuals, reposted previously posted manuals as PDFs, posted slightly newer version of software most notably correcting TCALL bug found and fixed by Frank Crow.  This fix apparently enables LISP to work, though not knowing LISP and being without a manual I can't tell... 

Where is the Project at?

I think most of the fmt 1-10 instructions are basically OK, but there are doubtless plenty of little bugs (guessing many of those associated with PS.V flag).  During testing with the 'CPU' diagnostic (task 5) I discovered many discrepancies between what the WD16 manual says the V flag should be and what the diagnostic tests for.  Comments in the diagnostic make it clear the author of that program found these discrepancies notable as well.  My concern is that the way I modified the emulator to pass the diagnostic may not be exactly what a real AM100 does. The fmt 11 instructions are done but mostly untested.  They seem to work but I know there are some significant issues still hiding.

It boots, bank switched memory works, the print spooler works, the usual utilities (BASIC, COMPIL, RUN, DIR, APPEND, TYPE, COPY, RENAME, ERASE, LOG, LOGOFF, SYSTAT, MOUNT, VUE, EDIT, FIX, DDT, HELP, VTAM/BATRUN (my old stuff), DSKCPY, DSKANA, REDALL, etc) all seem to work.  Command and DO files seem to work though I've not tested them extensively.  

Performance on a 166 Pentium MMX laptop with Windows 2000 and Cygwin seems very brisk - probably about the same as a real AM-100 but I've done no benchmarking.  Running under AMOS, the CPU diagnostic sometimes fails in CPU0 due to loops finishing before a clock tick occurs.  Another likely indication the emulator is just 'too fast'!

If you've been watching this page you'll notice big change in the project schedule below.  After careful though I've decided I've nearly achieved what I really wanted from this project and it's time to let others continue it if they wish.

ID

Task Name

Complete/Due Comment
1
am100 project
    
2
0.1 release
9/1/2002  
3
finish fmt 1-10 code
done  
4
find executable copy of 'CPU' Diagnostic Utility 
done  
5
debug w/CPU diagnostic  till clean
done  
6
0.2 release
10/1/2002  
 7
make cpu threaded code
done  
8
code clock thread
done  
9
add am100 config stuff
done  
10
add interrupt code to fetch
done  
11
0.3 release
11/1/2002  
12
3P+S config stuff
done  
13
3P+S interface to console
done  
14
finish fmt 11 coding
done  
15
boot AMOS
done  
16
0.4 release
12/1/2002  
 17
fix DIRSEQ bug
done  
18
config file processing
done  
  19
program to build disk image files
done am600 - filtap, tapfil, tapdir
20
1.0 release
1/1/2003  
21
command line interface
    done  
----> 22
keep finding and fixing bugs
   
23
Features/Ideas for future releases...
   
24
am120 clock/parallel interface
   
25
am200 floppy disk
   
26
am300 serial interface
done   
27
   --- telnet access
 done   'terminal server' connection...
28
   --- ftp access
  'terminal server' connection...
29
   --- lpr access
  'terminal server' connection...
30
   --- pipe'd input and output
   
31
am400/410 hard disk
   
32
am500 hard disk
   
33
am600 tape
done   
34
am700/710 mmu
   
35
am link - anyone know about this?
   
36
GUI command interface
done?   
37
"FIX" functionality  in GUI
   
38
'Pure' Windows and Macintosh application
   
39   but AM says prohibited...


Can you get the source and play with it?  Yes - as the initial developer, I grant you a license subject to the term of the open source certified 'Q public license'.

You will need GCC in Linux or Cygwin (for windows).  I've tested with W98, W2K, and WXP and it works for me with all of them but I've also had reports from people who can't get it to work at all in windows, especially W98.  It is no longer possible to run with just the cygwin dll, so get a full Cygwin install working first!

Some portions of this work include material copy written by others, which in some cases I have not (yet) appropriately recognized. Please let me know if you observe such a situation and I will fix it.  I believe I have appropriate use permission for all material, especially including AlphaMicro material.


am100-0.904.tgz          12/5/2005 (0.904) release
am100-0.901.tgz          10/20/2005 (0.901) release
am100-0.901.zip          10/20/2005 (0.901) release, DIMG for Macintosh OSX
am100-0.45.tgz           05/15/2004 (0.45) release
am100-0.3.tgz            01/17/2004 (0.3n) release
am100-0.2.tgz            9/28/2002 (0.2) release
am100-0.1.tgz            9/1/2002 (0.1) release
am100-0.01.tgz           7/13/2002 (0.01) release
amos50.tgz               AMOS 5.0 distribution (hopefully complete and unmodified)
amos46.tgz               AMOS 4.6 distribution with some diagnostics
it.bas                   Little basic benchmark program.  45:1 ?

am100 tech manual        Scan of AM-100 board(s) hardware manual  
am120 tech manual        Scan of AM-120 board hardware manual  
am200 tech manual        Scan of AM-200 board hardware manual  
am210 tech manual        Scan of AM-210 board hardware manual  
am300 tech manual        Scan of AM-300 board hardware manual  
am500 tech manual        Scan of AM-500 board hardware manual  

wd16 tech manual         Scan of WD-16 manual
                        (describes the AM-100 assembler language instruction set)
                       
AMOS User's Guide        Scan of AMOS User's Guide
AMOS Asm Lang Pgmr Guide Scan of AMOS Assembly Language Programmer's Manual
AMOS Monitor Calls       Scan of AMOS Monitor Calls Manual
AMOS AlphaLISP           Scan of AMOS AlphaLISP Manual
AMOS AlphaPascal         Scan of AMOS AlphaPascal Manual
AMOS AlphaFIX            Scan of AMOS AlphaFIX & DDT Manual
AMOS AlphaVUE            Scan of AMOS AlphaVUE Manual
AMOS AlphaBasic          Scan of AMOS AlphaBasic Manual
AMOS AlphaBasic (old)    Scan of older version of the AMOS AlphaBasic Manual
AMOS Basic XCALL subs    Scan of AMOS AlphaBasic XCALL Subroutines Manual
AMOS ISAM System         Scan of AMOS ISAM System User's Manual
AMOS 4.5 Sys Cmd Ref Man Scan of AMOS 4.5 System Commands Reference Manual
                         - One (usually more) pages on every amos command!
                         - indexed for easier lookup...
AMOS 4.5 Software Update Scan of AMOS 4.5 update documentation
                         - documents the standard AlphaBasic .SBRs
                         - documents some less used commands like DUMP, EDIT, and PDL
                         - lots of "system operator" info like: how to setup the system.ini
                           file, how to setup the printer spooler, how to setup banked switched
                           memory, and so forth
AMOS TXTFMT User's Man.  Scan of AMOS TXTFMT User's Manual

AMUS Monitor Articles    Scan of series of AMUS articles on AMOS monitor
 

By the way, if you're looking for a great new tool to help you with database change propagation for your Microsoft access data bases, see CompareEM at http://home.gci.net/~mike-noel/CompareEM.htm. It's a programmer tool utility aid that will compare related ms access mdb or mde files and then generate vba code to propagate the changes from one to the other. Like other compare tools programmers are used to (dif, diff, difference, delta, etc) but simple and inexpensive. There is even a very capable free version! Msaccess has needed a cheap tool like this, with samples and a howto with plenty of examples. Makes migration of your databases easy.


Mike Noel, last update 12/5/2005