| $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 <phil@ultimate.com> |
| Douglas A Gwyn <gwyn@arl.army.mil> |
| 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/ |