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 |
|
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