Video Adapters and Terminals

This true color display for MMIX works on X11 with True Color visuals. The video system is interfaced to the processor via a memory mapped frame buffer. The video device base address is fixed at VBase=#5000000000000000. Presently the frame buffer is 640 by 480 pixels, but this size could be easily changed at compile time. Each tetra maps to a single pixel with bytes 2, 1 and 0 controlling red, green and blue intensities respectively. To simplify the mythical video board layout, only write cycles tetra and octa wide are supported by the video subsystem. All reads from the VRAM area return zero, and wyde and byte writes are ignored silently. Following the age old tradition, the X coordinate increases from left to right, and Y increases from top to bottom. A pixel at (x,y) is controlled by the tetra at VBase+4*(x+640*y), so that anyone familiar with the VGA or X11 should be comfortable with the arrangement. Postscript writers have to flip their vertical axis, though. To decouple the video output from the simulator, X events are handled by a separate pthread, so that the display window is updated even when the simulation is stopped.

The graphics system has been tested with Linux and Solaris. It should be straightforward to infest other X11 hosts.

The MMIXX distribution contains following files:

mmixx/Makefile.x11 makefile for mmixx
mmixx/mmix-sim.ch The change file for mmix-sim.w
mmixx/pattern.mms Demo program source
mmixx/pattern.mmo Demo program binary
mmixx/lorentz.mms Lorentz attractor source
mmixx/lorentz.mmo Lorentz attractor binary

To build your own binaries (which is highly recommended, since bugs in both MMIX and MMIXX are constantly being fixed), you will also need the MMIXware sources as well as X11 headers and libraries in addition to a C compiler and the cweave/ctange bundle to convert CWEB sources to C.

This is the first public release of MMIXX. Bug reports, comments, suggestions and fan e-mail are appreciated if sent to the author at avp@mit.edu.

  MMIXX Distribution (version of 6 March 2002)
  MMIXware
  Prebuilt binaries for x86 Linux and Solaris 2.6 (versions of 6 March 2002)
  Screenshot gallery
  MMIX home page
  MMIXmasters home page
  Monochrome MMIX display for MS Windows
  Ye Olde Shoppe
Andrew Pochinsky (avp@mit.edu)