am100 emulator, aka vam, aka virtual alpha micro, ...

From: Mike Noel <mike_at_otterway.com>
Date: Wed Oct 30 09:26:48 2002

Forwarding this to the classic cmp list 'cause I know some of you are
interested, but I'm not an active reader of this list.

> For anyone interested, here is the 0.3 snapshot of my alpha-micro am-100
> emulator.
>
> http://www.otterway.com/am100
>
> This is the first to boot AMOS and run BASIC! Here's the $README...
>
> --------------------------------------------------------------------------
--
> -------------------
>
> /* AM-100.doc       (c) Copyright Mike Noel, 2001-2002                */
>
>
> PREFACE
>
> This software is an emulator for the Alpha-Micro AM-100 computer.  It is
> copyright by Michael Noel and licensed for non-commercial hobbyist use
under
> terms of the "Q public license", an open source certified license.
>
> There exist known serious discrepancies between this software's internal
> functioning and that of a real AM-100, as well as between it and the
WD-1600
> manual describing the functionality of a real AM-100, and even between it
> and the comments in the code describing what it is intended to do!  Notice
> that this software hasn't reached the 1.0 version yet.  In fact it's a
long
> way from it.  It's not beta; it's alpha.  Use it at your own risk!
>
> Reliability aside, it is not the intent of the copyright holder to use
this
> software to compete with current or future Alpha-Micro products,  and no
> such competing application of the software will be supported.
>
> Alpha-Micro and other software that may be run on this emulator are not
> covered by the above copyright or license and must be legally obtained
from
> an authorized source.
>
> As this is written I have permission from Alpha-Micro to distribute AMOS
5.0
> with the emulator so you can get that from me too - but it is subject to
> their terms and conditions.
>
>
> INSTALLATION
>
> Preferred installation is to compile the source on the target machine.
> Tested targets include Red Hat Linux (6.1, 6.2, 7.0, 7,1, and 7.2) and
> Microsoft Windows 98SE and 2000 using Cygwin 1.3.12-2 and 1.3.13-1.
Frankly,
> Windows 98 is not a good target.  Windows 2000 and Linux are both OK.
>
> Step Zero. You have at least 12 megs free space - right?
>
>   We will assume you have downloaded the source and
>   AMOS into a directory on your (running, known good)
>   linux or cygwin system; those files being
>
>  ./AM-100-0.3.tgz
>  ./amos50.tgz
>
> Step One. Create a sub directory and untar the source.
>
>  mkdir am
>  cd am
>  mv ../AM-100-0.3.tgz .
>  mv ../AMOS50.tgz
>  tar -xzf AM-100-0.3.tgz
>  tar -xzf amos50.tgz
>
> Step Two. Compile the source.
>
>  make
>
> Step Three. Run it!
>
>  ./AM-100
>
> Step Four. What's this message...
>
>  "boot failed! Problem with 'dsk0-container' ?"
>
>  dsk0-container is the name of the file that represents DSK0
>  in the emulator.  Similarly, dsk1-container represents DSK1,
>  and dsk2-container and dsk3-container do the obvious.  Each
>  container is 10 megs (19980 blocks).
>
>  Since you might already have a dsk0-container, I've packaged
>  the AMOS release as dsk1-container.  If you have enough free
>  space just copy dsk1-container to dsk0-container - if not
>  rename instead.
>
>  Then run it again!
>
>  cp dsk1-container dsk0-container
>  ./AM-100
>
> Step Five. It booted - right?
>
>  If not contact me & I'll try to help you figure out why...
>
>
> OPERATION
>
> The window you run this in (msdos?  cygwin?  xterm?) is probably defaulted
> to 25 lines x 80 columns.  You need to shrink it to 24x80 (or vue and fix
> won't scroll correctly).  One reason I don't like W98 is I haven't found a
> way to do that there...
>
> If you've other containers (dsk1-container, etal) you can mount and
unmount
> them as you like.  Can't change without restarting the emulator thou...
>
> All the control keys should work.  Esc should work.  The Arrow keys,
Insert,
> Delete, Home, End, PgUp, and PgDn should work - at least as I would want
> them to!!
>
> Watch out for ALT keys.  ALT C means quit the emulator.  ALT T toggles
> instruction tracing.  ALT S toggles instruction stepping (which doesn't
work
> in this release).  See PS3.C for all the key mappings.
>
> Console output is to STDOUT.  Traces go to STDERR.  So if you want to try
a
> trace but don't want it mixed with your screen, start the emulator with
>
>  ./AM-100 2>AM-100.log
>
> Then all the trace output goes into a file.  Watch out - it gets huge very
> very fast.  Actually there is also a "user" trace facility, but I'm not
> ready to try and document it yet.
>
> There are some other tricks you can play with STDOUT and STDERR.  One is
to
> TEE the STDOUT so that all your console activity gets copied into a file.
> Like this:
>
>  ./AM-100 | tee AM-100.lst
> or:
>  ./AM-100 2>AM-100.log | tee AM-100.lst
>
> CUT and PASTE works with the STDOUT console window.  Access them by
clicking
> on the little icon on the left of the window bar.  They are under 'edit'.
> So copy that big basic program off your real machine and paste it into
AMOS
> basic (or edit) (or whatever).
>
> DO NOT USE DIRSEQ.  It scrambles directories.  I will track that down and
> fix it for the next release.
>
>
> PERFORMANCE
>
> Performance has not been a design consideration.  There are dozens of
places
> it could be dramatically improved.  My judgment is that's not worth the
> effort.  But judge for yourself.  On a Pentium 166 laptop with linux 6.2
it
> seems pretty close to what I remember my AM-100 being able to do.  The
ways
> that AMOS loops when it doesn't have work are converted into sleeps, so
it's
> pretty low impact even on an old slow box.
>
> Of course on a 2.4 gig p4 it screams.  Certainly much faster than the
> AM-1000 I traded in my old AM-100 to buy, but I've no idea how it compares
> to modern systems.
>
> Maybe someone will run some benchmarks???
>
>
> WHAT IS CHANGED/ADDED TO AMOS 5.0?
>
> Not much.  The system.mon is a standard mongen of sysbsw.mon and my own
disk
> driver vdk.dvr[1,6].  I patched ps3.idv[1,6] to create ps3new.idv[1,6].
> Ansi.tdv[1,6] is a hack of a vt100 driver I wrote years ago.
System.ini[1,4]
> is a demonstration of bank switched memory.  Spoolr.ini[1,4] is just a way
> to test lptspl with output to the console.
>
> Source for vdk.dvr, ps3new.idv and ansi.tdv are not provided simply
because
> I haven't had time.  vkd is a one-instruction link to the container file
> disk system in hwassist.c.  ps3new is just a branch back to output all
> waiting chars at once instead of just one per clock tick - a performance
> improvement.  Ansi.tdv is just an ugly hack for the tcrt calls - the more
> difficult input processing is handled in the ps3.c module of the emulator.
>
>
> WHAT DO I **KNOW** DOES NOT WORK?
>
> Aside from DIRSEQ most stuff seems to work.  LISP and PASCAL may not work
> but I know so little about them I'm not certain.
>
> Format 11 instructions (floating point) have only been working a few days.
> They  are probably really sick and I just haven't noticed yet.  But enjoy
> basic  until they bite you!
>
> I also have pretty good reason to think PS.V handling (and 'over/under
flow'
> in general) is not quite right.  What the book says is supposed to happen
is
> at odds with what diagnostics check for and what known running programs
do!
>
>
> HOW TO REPORT A NEW BUG
>
> Send me an email (mike_at_otterway.com) telling me what you did, what
happened,
> and why you don't think that should have happened.  For example: "I
compiled
> and ran xyz.bas and it crashed saying it couldn't open file aaa.bbb, but
> aaa.bbb was there like it was supposed to be and this program and file
work
> on my real AM-100".  So far I'm pretty prompt getting back to people who
> tell me about problems, hopefully that will continue...
>
>
> SOFTWARE DONATIONS
>
> Were you a software developer in the AM-100 heydays?  Still have a copy of
> your pride and joy laying around?  Why not let others remember with you!
> Let me post a copy for use with the emulator.  All donations welcome!
>
>
> CREDITS
>
> A number of people have helped and/or inspired me to write this thing.
>
> There's Jim Battle, who's built web pages and emulators for several
machines
> including the Processor Technology SOL-20 (see
> http://www.thebattles.net/sol20/sol.html) .  We share an interest in
> Processor Tech hardware and software and I really admire the way he has
> pulled all that arcane stuff together.
>
> There's Roger Bowler (etal) and the Hercules project (IBM mainframe
> emulator, see http://www.conmicro.cx/hercules).  I spent a lot of my
career
> as an OS sysprog, and what that team of people have done is just
> magnificant.  Many design elements of my emulator come from them - I even
> borrowed their use of the Q license!
>
> There's Harvey, a guy who saved some of my old books for 20+ years in his
> garage.  Some were manuals for my old AM-100!  There's Mike, who still has
a
> running AM-100, and was good enough to send me a copy of his wd16 manual.
> There's Rhett who found me a really clean complete copy of amos.  There's
> Joe, another guy with a running AM-100 who sent me an assembled copy of
the
> cpu diagnostic and worked with me to get it to run without a monitor.  And
> of course there's Alex who has given permission to distribute amos along
> with the emulator so more people can enjoy it.
>
>
>
Received on Wed Oct 30 2002 - 09:26:48 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:35:36 BST