+----------------------------------------------------------------------+
| ost.apollo.mess0149/doc/Readme - 2013-07-15 - Hans Ostermeyer        |
+----------------------------------------------------------------------+

Description:

 * Emulator for Apollo workstations and servers DN3000, DN3500, DN5500,
   DSP3000, DSP3500 and DS53500 based on MESS 0.149

Features:

 * 4/8-plane color or monochrome display (1280x1024 and 1024x800)
 * Apollo standalone utilities (from sau7/sau8/sau14) may be executed from
   * floppy disk images files,
   * cartridge tape images files,
   * hard disk images files or from
   * a netserver emulation and an emulation of the 3C505 Ethernet controller
 * MD test will run without errors
 * config and calendar will run as expected
 * invol, salvol will run for floppy disk and hard disk images files
 * dex will run for cpu, disp, flp, ctape, win, ether and mem with only few errors
 * Domain/OS will boot up to SPM or DM (tested with SR10.2, SR10.3 and SR10.4.1)
 * registry servers will run (llbd, glbd, rgyd)
 * Most UNIX and Aegis commands behave as expected.
 * DM and mouse emulation have almost acceptable speed (on a 2 GHz Core2Duo notebook)
 * Interleaf WPS.D V2.8 is running (slow, but w/o problems)
 * Ethernet networking is now possible with real Apollo workstations
   or with another Apollo emulation running on a second PC
   (e.g. the emulation may boot and run from a real Apollo workstation with SR10.2)
 * TCP/IP networking is now possible between Linux PC and Apollo emulation (e.g. rcp, rsh)

Restrictions, TODO:

 * see separate files doc/TODO and doc/issues.html

How to build the emulator:

 * Note: ost.apollo.mess0149 is a snapshot of my development environment.
   Using this (instead of the bare MESS source or Windows binary distribution)
   has the following benefits:
   * development documention is included (currently not available in MESS web pages)
   * the Makefile may be useful to find out how to get, build and run the emulation
   * mess will be build to provide Ethernet access between emulation and host PC,
     other Linux PCs, Apollo emulations or Apollo workstations
   * mess will be build as "tiny mess" including only the Apollo emulation
     (smaller footprint, faster compilation); may be changed in the Makefile
   * patches are included to fix some new bugs introduced with MESS 0.149 

 * Prerequisites to build the emulator:

   * 500 MB free disk space
   * on openSUSE 12.3 the following packages may have to be installed:
     * libSDL-1_2-0
     * libSDL_ttf-2_0-0
     * libSDL-devel
     * libSDL_ttf-devel (e.g. libSDL_ttf-devel-2.0.9-159.2.i586.rpm)
     * gconf2-devel
   * if /usr/lib/libSDL_ttf.so is missing in openSUSE 12.1, add link:
     # ln -s libSDL_ttf-2.0.so.0.6.3 /usr/lib/libSDL_ttf.so
   * on Ubuntu install missing packages with:
     # apt-get install unzip pkg-config libgtk2.0-dev libgconf2-dev
     # apt-get install libsdl1.2-dev libsdl-ttf2.0-dev
     # apt-get install libgtk2.0-0 libgconf2-4 libsdl-ttf2.0-0
     # apt-get install libcap-ng-utils

 * untar the source file distribution ost.apollo.mess0149-yymmdd.tar.gz

   $ tar zxf ost.apollo.mess0149-yymmdd.tar.gz

 * build the emulator (i.e. messtiny; will take 10 minutes on a 2 GHz Core2Duo)
  (you must have internet access to download the MESS 0.149 source distribution)

   $ cd ost.apollo.mess0149
   $ make all

 * get ROM images
  (you must have internet access to download the ROM images)

   $ cd ost.apollo.mess0149
   $ make roms

  to get the SR10.4 ctape boot image, enter

   $ make ctapes

 * setup Ethernet networking (will be done as root)
   (please verify IP adresses in Makefile before running make net)

   $ make -n net
   $ make net

How to run the emulator:

 * see the Makefile and doc/Howto.html how to run the emulator, e.g.

   $ make test
  or
   $ ./mess dn3500 -log -ctape /tmp/019593-001.CRTG_STD_SFW_BOOT_1-REV.A.act

 * enter Return twice in the MESS window (or from stdin) to start the MD

   >
   MD7C REV 8.00, 1989/08/16.17:23:52
   >

 * select either disk (default), ethernet controller, ctape or floppy, i.e.

   > di w
   > di e
   > di c
   or
   > di f

 * run test, list directory, config, calendar and domain_os boot_shell
   (loading programs from ctape may take up to 10 minutes; be patient) 

   > te
   > ld
   > ex config
   > ex calendar
   > ex salvol
   > ex domain_os

 * boot Domain/OS and run shell commands:

   see doc/Howto.html

+----------------------------------------------------------------------+
| Status 2013-07-15                                                    |
+----------------------------------------------------------------------+

What's new:
 * MESS will build and run again on Mac OS X (10.7.5 w. latest Xcode)
 * doc/Howto.html has now some comments concernig Mac OS X
 * bugfixes (xeyes will now watch what you do) 

+----------------------------------------------------------------------+
| Status 2013-06-17                                                    |
+----------------------------------------------------------------------+

What's new:
 * upgraded to MESS 0.149
 * added patches to fix new introduced DMA problems
 * added 4-Plane and 8-Plane color graphics 
 * added Graphics Controller selection to the Apollo Driver Configuration
 * renamed Apollo systems: dn3x00 -> dn3x00_19i and dn3x00_15i -> dn3x00

+----------------------------------------------------------------------+
| Status 2013-03-21                                                    |
+----------------------------------------------------------------------+

What's new:
 * upgraded to MESS 0.148u2
 * MESS will be build as messtiny (smaller footprint, faster compilation)
 * converted FAQ file into a MESS Apollo Howto file (see doc/Howto.html)
 * MESS Apollo Howto is now available at http://www.mess.org/howto/apollo

+----------------------------------------------------------------------+
| Status 2013-03-05                                                    |
+----------------------------------------------------------------------+

What's new:
 * upgraded to MESS 0.148u1
 * improved 3c505 Ethernet networking (fixed race conditions, improved
   SR10.4 microcode emulation)
 * diskless booting is now possible between emulation and real Apollo
   workstations (tested with SR10.2, SR10.3 and SR10.4)
 * real Apollo Workstations will be prefered as diskless boot server
   (netserver emulation responses are delayed)
 * improved mouse behaviour (especially, if mouse is not grabbed)

+----------------------------------------------------------------------+
| Status 2012-05-22                                                    |
+----------------------------------------------------------------------+

What's new:
 * upgraded to MESS 0.146
 * all Apollo emulation sources have been added into the MESS SVN
 * M68K FPU opmodes sin, cos and tan have been fixed (gave wrong results)
 * M68K FPU opmodes flognp1, flogn, flog10 and flog2 have been added
 * 3C505 Ethernet access from Linux host to Apollo emulation has been added
 * 3C505 Ethernet networking for DomainOS SR10.4 has been fixed
 * the M68K Reset instruction won't clear the CPU registers anymore
 * make now builds mess (i.e. messtiny is no longer used or supported)
 * disk command line options have been renamed into -disk1 and -disk2
 * doc/FAQ.html has been reorganized and improved

+----------------------------------------------------------------------+
| Status 2012-01-26                                                    |
+----------------------------------------------------------------------+

What's new:
 * verified build and execution on Windows XP (with VMware Player 4.0)

+----------------------------------------------------------------------+
| Status 2011-12-29                                                    |
+----------------------------------------------------------------------+

What's new:
 * upgraded to MESS 0.144 (from MESS 0.143)
 * implemented most missing FPU opcodes (e.g. log10, sin, cos, ...;
   Domain/OS won't crash any more from missing FPU features)
 * added real Ethernet access to other Apollo workstations or PCs
   rcp and rsh access from some other Linux PC is now possible,
   lcnode will show emulation(s) and other connected Apollo workstations,
   file system of Apollo workstations may be accessed from the emulation,
   emulation may boot and run from a real Apollo workstation with SR10.2
   (and vice versa)
 * /systest/sax will run (with errors but) without crashing the emulation
 * added DN5500 and DSP5500 (MD Test and dex and most SAU14 programs work,
   Domain/OS will crash as the 68040 MMU is not yet implemented)

+----------------------------------------------------------------------+
| Status 2011-07-25                                                    |
+----------------------------------------------------------------------+

What's new:
 * upgraded to MESS 0.143 (from MESS 0.142)

+----------------------------------------------------------------------+
| Status 2011-07-01                                                    |
+----------------------------------------------------------------------+

What's new:
  * cartridge tape emulation now works for dex, installation, rbak and wbak
  * Domain/OS SR10.4 may now be installed using only ctape image files

+----------------------------------------------------------------------+
| Status 2011-04-09                                                    |
+----------------------------------------------------------------------+

What's new:
 * upgraded to MESS 0.142 (from MESS 0.141)
 * added preliminary cartridge tape controller emulation (sc499.c)

+----------------------------------------------------------------------+
| Status 2011-02-24                                                    |
+----------------------------------------------------------------------+

What's new:
 * registry daemons are working (thread problem solved)
 * DM is working
 * Xapollo is working
 * Interleaf WPS.D V2.8 will run w/o problems
 * all patches (to MESS/MAME) have been submitted to MESS/MAME

+----------------------------------------------------------------------+
| Status 2011-01-12                                                    |
+----------------------------------------------------------------------+

What's new:
 * upgraded to MESS 0.141 (from MESS 0.140 u2)
 * fixed more problems previously crashing the emulation

+----------------------------------------------------------------------+
| Status 2010-12-30                                                    |
+----------------------------------------------------------------------+

What's new:
 * keyboard and mouse are now working

+----------------------------------------------------------------------+
| Status 2010-12-18                                                    |
+----------------------------------------------------------------------+

What's new:
 * Domain/OS will boot for DSP3x00 up to the SPM, login and shell
 * Domain/OS will boot for DN3x00 up to the DM, login and open pads
 * DM may be controlled with keyboard keys (mouse is not yet supported)
 * upgraded to MAME 0140 U2 (most patches now have been added to MAME)

+----------------------------------------------------------------------+
| Status 2010-11-21                                                    |
+----------------------------------------------------------------------+

What's new:
 * Ethernet adapter is working (but will talk only to the netman emulation)
 * OMTI controller supplied (currently with one 170 MB Disk image file)
 * basic demand paging has been implemented (enough to run the boot shell)
 * Domain/OS will boot up to the boot shell and the boot shell may be used
 * upgraded to mess0140 (from mess0138)

What's missing:
 * booting Domain/OS from boot shell will crash in Init
  (probably while or after loading syslib.881)
 * DN3000 still has extra errors; development is mostly done for DN3500
 * some DEX test still don't pass
 * FPU emulation is incomplete (many dex tests will fail)
 * in PMMU only the obvious problems have been solved for demand paging
 * PMMU performance is still quite poor
 * creating a disk image file is not easy now
 * importing files into a disk image is currently not possible
