$Id: README,v 1.15 2004/02/09 07:20:18 phil Exp $ XY Display Simulation Simulates XY plotting displays used on DEC PDP systems. Copyright (c) 2003-2004, Philip L. Budne and Douglas A. Gwyn Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the names of the authors shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the authors. Phil Budne Douglas A Gwyn February 5, 2004 Designed for use with Bob Supnik's SIMH, but the code should be easily portable, and usable standalone (see vttest.c for an example). Display code is provided for X11 (Unix/VMS) and Win32. We're not GUI programmers, so the code is PRIMITIVE!! Started from VC8E simulator by Douglas W. Jones (distribution 5, of Feb 4, 1997); This PDP8 Emulator was written by Douglas W. Jones at the University of Iowa. It is distributed as freeware, of uncertain function and uncertain utility. Original phosphor decay constants for Type 30 display from XMame 0.72.1 VT11 support GREATLY enhanced (and VT48 support added) and other general improvements from Douglas A Gwyn. In the interest of fair play we have supplied two makefiles (neither of which is named Makefile nor makefile), one which works under all flavors of "make" (after necessary editing, in the traditional manner), and one which functions only under the GNU version of make (sometimes installed as "gmake", but the default "make" on many systems). We have not added a third flavor which uses BSD make enhancements, because our deeply held roots (over 40 combined years of Unix experience by the authors) demand that things should work on all platforms. Both the Linux and Windows worlds violate this simple credo (everything works so long as you use OUR preferred software), and many current users may not even realize that editing Makefiles used to be de rigeur. Since the GNU environment is widely available and "gmake" has features that support automatic configuration for multiple platforms, we have supplied thr GNU-specific variant with the expectation that many users will find it more convenient. You can copy or link whichever flavor of makefile suits your taste to whichever spelling of "makefile" suits your fancy, or invoke "make" with the -f flag specifying the desired makefile. To compile test programs: ======================== On Unix: # edit smakefile to match your environment make -f smakefile or gmake -f gmakefile On Win32 (using Cygwin); make -f gmakefile WIN32=1 On Win32 (using MINGW): # edit smakefile to match your environment make -f smakefile or mingw32-make -f gmakefile WIN32=1 or execute build-mingw.bat in a DOS command window creates: munch: standalone simulation of PDP-1 munching squares; examines console "test switches" (see next section) vt11: sequences through VT11/VS60 simulator test displays; shows how the diplay-processor simulator can be used from applications other than PDP-11 simulators Console switches: ================ Upto 18 simulated console switches, toggled by hitting keys: 123 456 789 qwe rty uio space bar clears all switches. Spacewar Switches: ================= Key presses for simulated Spacewar control box switches; action player 1 2 rotate clockwise a k rotate counter clockwise s l fire engines d ; launch torpedo f ' hyperspace (both at once) as kl Light pen: ========= The light pen is active when any mouse button is held down. Mouse button 1 acts as a "tip switch" for models so equipped (VS60). The light pen may be dragged while active. Too many compile time parameters: ================================ Read the comments in display.c for more explanations!! DISPLAY_TYPE default display type, one of: DIS_VR14, DIS_VR17, DIS_VR20, DIS_VR48, DIS_TYPE30, DIS_TYPE340 selects screen characteristics (phosphor, dimensions). Only affects programs which do not make an expicit display_init() call. PIX_SCALE one of RES_FULL, RES_HALF, RES_QUARTER, RES_EIGHTH selects default display scaling factor. PEN_RADIUS default radius of light pen in (scaled) pixels MAXELAPSED Upper limit in real microseconds between polls/delays MINELAPSED Lower limit in real microseconds between polls/delays MINDELAY Lower limit in real microseconds for attempted delay MAXDELAY Upper limit in real microseconds for attempted delay GAINSHIFT delay_check increment/decrement gain factor In display system support (x11.c, win32.c); PIX_SIZE selects displayed pixel size (default 1) makes screen larger, useful when display scaled to small size Programming interface: ===================== see display.h Source repository: ================= Up-to-date Sources are available by anonymous CVS. See http://www.ultimate.com/phil/xy/