Annotation of os2sdk/demos/apps/life/read.me, revision 1.1.1.1

1.1       root        1: This is a OS/2 implementation of the game of Life.  It is designed to be bound
                      2: to allow it to operate in both the protect mode of OS/2 and in earlier MS-DOS
                      3: versions.  The program uses a mouse if one is installed, but one is not needed.
                      4: If no mouse is installed, the F9 and INS buttons act as if they were the
                      5: left mouse button and the F10 and DEL buttons act as the right mouse buttons.
                      6: The cursor keys move the mouse pointer.
                      7: When not in the active screen group, Life does not print to the screen and
                      8: can thus execute in the background.
                      9: 
                     10: Life was invented by mathematician John Conway.  Life is played on a grid
                     11: that contains cells which are either on or off.  At the start, a pattern of
                     12: cells are turned on in the grid.  The following three rules are then applied to
                     13: the entire grid simultaneously.  One full aplication of the rules to the grid
                     14: is called a "generation." The three rules are:
                     15: 
                     16:        1)  If a cell has two neighbors (counting both cells immediately
                     17:            adjacent and diagonal from the one in question), the cell
                     18:            remains in its current state (on or off).
                     19: 
                     20:        2)  If a cell has three neighbors, it is turned on (or remains on
                     21:            if that was already its state).
                     22: 
                     23:        3)  If a cell has one or fewer or four or more neighbors, it is
                     24:            turned off (or remains off if that was already its state).
                     25: 
                     26: The history of Life and many patterns of cells which produce interesting
                     27: results, including those contained here, can be found in the Scientific
                     28: American articles that introduced the game (October 1970 and February 1971) and
                     29: the book The Recursive Universe, by William Poundstone (Contemporary Books:
                     30: Chicago, 1985).
                     31: 
                     32: ******************************************************************************
                     33: 
                     34: Files:
                     35:        LIFE.C     - main Life program source code
                     36:        LIFE2.ASM  - fast assembler routines called by LIFE.C
                     37:        MOUAPI.C   - real mode mouse calls to simulate protect mode calls
                     38:        INT33H.ASM - short routine to call mouse real mode API, used by MOUAPI
                     39:        MOUAPI.LIB - library created from MOUAPI for linking with BIND to LIFE
                     40:        LIFE       - directions for MAKE.EXE to build LIFE.EXE
                     41:        LIFE.EXE   - the executable program built from the files listed above
                     42:        *.LIF      - sample files which can be read by LIFE.EXE
                     43: 
                     44: ******************************************************************************
                     45: 
                     46: This program illustrates the following concepts used in OS/2 programs:
                     47: 
                     48:        * Binding programs for use in both OS/2 and earlier versions of MS-DOS
                     49: 
                     50:                Tools:  BIND.EXE, API.LIB, LIB.EXE
                     51: 
                     52:        * Calling OS/2 functions from C and assembler
                     53: 
                     54:        * Screen graphics in protect mode
                     55: 
                     56:                Calls:  VioGetMode, VioSetMode, VioGetPhysBuf, VioScrLock,
                     57:                        VioScrUnLock, VioGetFont
                     58: 
                     59:        * Mouse support in protect and real graphics modes
                     60: 
                     61:                Calls:  MouOpen, MouSetDevStatus, MouReadEventQue, MouSetPtrPos
                     62:                        MouGetNumQueEl
                     63:                        Int 33h functions 0, 3, and 4
                     64: 
                     65:        * Memory allocation and reallocation
                     66: 
                     67:                Calls:  DosAllocSeg, DosReAllocSeg
                     68: 
                     69:        * Keyboard input
                     70: 
                     71:                Calls:  KbdCharIn, KbdPeek
                     72: 
                     73:        * File input and output
                     74: 
                     75:                Calls:  DosOpen, DosRead, DosWrite, DosClose
                     76: 
                     77:        * Signal handling
                     78: 
                     79:                Calls:  DosSetSigHandler
                     80: 
                     81:        * Other functions
                     82: 
                     83:                Calls:  DosExit, DosBeep

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.