Annotation of researchv10dc/man/mana/atc.6, revision 1.1.1.1

1.1       root        1: .TH ATC 6
                      2: .CT 1 games
                      3: .SH NAME
                      4: atc \- air traffic controller
                      5: .SH SYNOPSIS
                      6: .B /usr/games/atc
                      7: .SH DESCRIPTION
                      8: .I Atc
                      9: presents air traffic on a cursor-controlled screen.
                     10: As the controller, you must shepherd it safely through the air space.
                     11: At the beginning of the game
                     12: .I atc
                     13: displays the takeoff/landing direction for each airport and
                     14: prompts for the game duration with:
                     15: .LR "< >" .
                     16: Enter a number from 16 simulated minutes (hard) to 99 (easier)
                     17: .PP
                     18: Options are
                     19: .TP "\w'-m=file  'u"
                     20: .BI \-u= file
                     21: Take airspace description from
                     22: .I file.
                     23: .PD0
                     24: .TP
                     25: .BI \-a= name
                     26: use the named airspace; default is
                     27: .LR Apple1 .
                     28: .TP
                     29: .BI \-s= seed
                     30: for a 32-bit random number generator
                     31: .TP
                     32: .BI \-t= time
                     33: Preset the game duration.
                     34: .TP
                     35: .BI \-p= file
                     36: save the play of the game in the named file
                     37: .TP
                     38: .BI \-m= file
                     39: play a `movie' of the saved game
                     40: .PD
                     41: .PP
                     42: In the display of the airspace
                     43: .ig
                     44: .ne24
                     45: .IP
                     46: .ta +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC +1vC
                     47: .EX
                     48: \&.    0       .       .       .       .       .       .       1       .       .       .       .       .       .       .       .       .       .       .       .       .       .
                     49: \&.    .       ,       .       .       .       .       .       ,       .       .       .       .       .       .       .       .       .       .       .       .       .       .
                     50: \&.    .       .       ,       .       .       .       .       ,       .       .       .       .       .       .       .       .       .       .       .       .       .       2
                     51: \&.    .       .       .       ,       .       .       .       ,       .       .       .       .       .       .       .       .       .       .       .       .       ,       .
                     52: \&.    .       .       .       .       ,       .       .       ,       .       .       .       .       .       .       .       .       .       .       .       ,       .       .
                     53: \&.    .       .       .       .       .       ,       .       ,       .       .       .       .       .       .       .       .       .       .       ,       .       .       .
                     54: \&.    .       .       .       .       .       .       ,       ,       .       .       .       .       .       .       .       .       .       ,       .       .       .       .
                     55: \&6    ,       ,       ,       ,       ,       ,       ,       *       ,       ,       ,       ,       ,       ,       ,       ,       ,       ,       ,       ,       ,       3
                     56: \&.    .       .       .       .       .       .       .       ,       ,       .       .       .       .       .       .       ,       .       .       .       .       .       .
                     57: \&.    .       .       .       .       .       .       .       ,       .       ,       .       .       .       .       ,       .       .       .       .       .       .       .
                     58: \&.    .       .       .       .       .       .       .       ,       .       .       ,       .       .       %       .       .       .       .       .       .       .       .
                     59: \&.    .       .       .       .       .       .       .       ,       .       .       .       ,       ,       .       .       .       .       .       .       .       .       .
                     60: \&.    .       .       .       .       .       .       .       ,       .       .       .       ,       ,       .       .       .       .       .       .       .       .       .
                     61: \&.    .       .       .       .       .       .       .       ,       .       .       ,       .       .       ,       .       .       .       .       .       .       .       .
                     62: \&.    .       .       .       .       .       .       .       ,       .       ,       .       .       .       .       ,       .       .       .       .       .       .       .
                     63: \&.    .       .       .       .       .       .       .       ,       ,       .       .       .       .       .       .       ,       .       .       .       .       .       .
                     64: \&4    ,       ,       ,       ,       ,       ,       ,       *       ,       ,       ,       ,       ,       #       ,       ,       ,       ,       ,       ,       ,       5
                     65: \&.    .       .       .       .       .       .       ,       ,       .       .       .       .       .       .       .       .       .       ,       .       .       .       .
                     66: \&.    .       .       .       .       .       ,       .       ,       .       .       .       .       .       .       .       .       .       .       ,       .       .       .
                     67: \&.    .       .       .       .       ,       .       .       ,       .       .       .       .       .       .       .       .       .       .       .       ,       .       .
                     68: \&.    .       .       .       ,       .       .       .       ,       .       .       .       .       .       .       .       .       .       .       .       .       ,       .
                     69: \&.    .       .       ,       .       .       .       .       ,       .       .       .       .       .       .       .       .       .       .       .       .       .       9
                     70: \&.    .       7       .       .       .       .       .       8       .       .       .       .       .       .       .       .       .       .       .       .       .       .
                     71: .EE
                     72: .DT
                     73: .tc
                     74: .LP
                     75: ..
                     76: .B % and
                     77: .B #
                     78: denote airports;
                     79: .B *
                     80: and
                     81: .B !
                     82: denote navigational aids (navaids); and
                     83: commas denote airways that link numbered entry/exit `fixes',
                     84: airports, and navaids.
                     85: Dots are separated by one mile, horizontally, vertically, and diagonally.
                     86: An airplane appears as a letter followed by its height in thousands of feet.
                     87: .PP
                     88: There are two kinds of planes: jets flying 1 mile per tick (15 seconds)
                     89: and props flying 1/2 mile per tick.
                     90: .PP
                     91: You must prevent various misfortunes.
                     92: Running out of fuel is serious.
                     93: So is a close encounter \- less than 3 miles horizontal separation
                     94: at a given altitude.
                     95: A plane
                     96: changing altitude is considered to be at both its old and new
                     97: altitudes.
                     98: A `boundary error',
                     99: leaving the airspace at the wrong place, not on an airway, or
                    100: at the wrong height, is also serious, but not as likely to be fatal.
                    101: .PP
                    102: The right side of the screen shows flight plans.
                    103: A typical
                    104: flight strip looks like:
                    105: .br
                    106: .B "       Fj 7\->3  4  NE     +"
                    107: .br
                    108: The first letter is the aircraft name,
                    109: the next letter is 
                    110: .L j
                    111: for jet or 
                    112: .L p
                    113: for prop.
                    114: The next field gives the plane's intentions: this one is
                    115: entering at (or is now at) fix 7 and leaving at fix 3.
                    116: The origin character tells where
                    117: the plane is (or will be when it enters), the destination is a fix
                    118: it wishes to go to.
                    119: (It will, however, continue on a straight path unless instructed
                    120: otherwise.)
                    121: Next is the altitude, in this case 4000 feet.
                    122: The bearing is a compass direction:
                    123: .LR N ,
                    124: .LR NE ,
                    125: etc.
                    126: The final character is the amount of fuel left, 
                    127: .L +
                    128: for more than 10 minutes, otherwise
                    129: the number of minutes of fuel remaining.
                    130: Jets begin with 15 minutes of fuel, props 21.
                    131: .PP
                    132: At the top of the flight plans are listed planes that will
                    133: appear in the next minute, preceded by how many ticks (0-4)
                    134: they are away.
                    135: Planes may be
                    136: cleared for takeoff as soon as they are listed.
                    137: .PP
                    138: Commands are terminated by newline.
                    139: Backspace may be used to correct errors.
                    140: The following kinds of commands can be issued.
                    141: .IP $ \n()Mu
                    142: End the game (game normally ends after 26 planes)
                    143: .PD0
                    144: .TP "\w'ALNW 'u"
                    145: .B W
                    146: Print flight plan for airplane
                    147: .B W
                    148: .TP
                    149: .B XA3
                    150: .B X
                    151: will change altitude to 3000 feet
                    152: .TP
                    153: QA0
                    154: .B Q
                    155: will land (go to 0 feet altitude)
                    156: .Tp
                    157: .B HRE
                    158: .B H
                    159: will turn right until it is heading east
                    160: .TP
                    161: .B ALNW
                    162: .B A
                    163: will turn left until it is heading northwest
                    164: .TP
                    165: .B CTS
                    166: .B C
                    167: will turn south through the smallest angle
                    168: .TP
                    169: .B T*7
                    170: .B T
                    171: will take exit bearing for fix 7 at next navaid
                    172: .TP
                    173: .B P*%
                    174: .B P
                    175: will take landing bearing for
                    176: .B %
                    177: at next navaid
                    178: .TP
                    179: .B DH
                    180: .B D
                    181: will circle (hold) at next navaid
                    182: .TP
                    183: .B MR0
                    184: Abort pending hold, clearance, or turn for plane
                    185: .B M
                    186: .TP
                    187: .B J?
                    188: Cancel delayed commands for
                    189: .B J
                    190: .TP
                    191: space
                    192: Speed up the game by advancing 15 seconds
                    193: .PD
                    194: .PP
                    195: .I Climbing/descending.
                    196: Planes climb or descend 1000 feet per mile.
                    197: Climbing from 0 is a takeoff; descending to 0 is a landing.
                    198: The takeoff/landing direction for each airport is given.
                    199: A landing airplane must reach altitude 0 headed in the right
                    200: direction 1 mile before the runway.
                    201: No further commands may be given after a descent to 0,
                    202: as control then
                    203: rests with the tower.
                    204: If a plane lands
                    205: from the wrong direction, it will climb to 1000 feet
                    206: and issue a `go around' error.
                    207: While changing altitude, a flight strip reads like
                    208: .br
                    209: .B "        Dp :\->2  7v3  S     9"
                    210: .br
                    211: which means at 7000 feet descending to 3000.
                    212: .PP
                    213: .I Turning.
                    214: Planes turn 45 degrees per mile.
                    215: Turns may be left
                    216: .L L
                    217: right
                    218: .L R
                    219: or to a specified direction
                    220: .LR T .
                    221: Thus
                    222: .L ULNE
                    223: tells plane
                    224: .B U
                    225: to turn to his left until it is heading
                    226: northeast.
                    227: Changes of direction are indicated in the flight strip:
                    228: .br
                    229: .B "        Nj :\->5  5  S r W   +"
                    230: .br
                    231: indicates that jet
                    232: .B N
                    233: is heading south, and will turn 90 degrees to the
                    234: right.
                    235: To cancel the remaining part of this turn, give the command
                    236: N)
                    237: .LR NR0 .
                    238: .ig
                    239: The Ann Arbor keypad used for +/- PAGE, cursor motion, etc., may be used to
                    240: supply the new bearing.  The usual N/S/E/W correspondence is used:
                    241:                           ----------------
                    242:                           |-PAG|HOME|+PAG|
                    243:                           | NW | N  | NE |
                    244:                           |----+----+----|
                    245:                           |-SCH| UP |+SCH|
                    246:                           |  W |STRT|  E |
                    247:                           |----+----+----|
                    248:                           |LEFT|DOWN|RGHT|
                    249:                           | SW |  S | SE |
                    250:                           ----------------
                    251: ..
                    252: .PP
                    253: .I Navaids.
                    254: A plane may be directed to turn at a navaid or hold (circle) there,
                    255: Thus command `AH' holds plane A at the next navaid.
                    256: The flight strip for a plane that is to hold looks like
                    257: .br
                    258: .B "        Ap :\->2  5  S *    7"
                    259: .br
                    260: During the hold, the 
                    261: .B *
                    262: will become 
                    263: .LR h .
                    264: Every incoming plane that will be landing holds at a
                    265: navaid unless the controller gives it other instructions.
                    266: .PP
                    267: The command 
                    268: .B *
                    269: clears a plane to turn sharply to any known fix
                    270: at the next navaid.
                    271: The flight strip for
                    272: a plane cleared through a navaid (to fix 5, for example) looks like:
                    273: .br
                    274: .B "   Hj .->2  5  S *5    +"
                    275: .br
                    276: A holding aircraft given a clearance will continue around to the
                    277: navaid, then immediately assume the specified bearing.
                    278: Turns cancel clearances.
                    279: .ig
                    280: 8. Designing new airspaces
                    281:      The system airspaces are stored in /usr/rand/jim/atc/airspaces on the
                    282: VAX, and /mnt/jim/atc/airspaces on the PDP-11/45.  Users may define their
                    283: own airspaces and use them (Section 2), or have them included at the end of
                    284: the system airspace file.
                    285: The coordinate system for an MxN screen is:
                    286:                      ---------------------
                    287:                      |0,0             M,0|
                    288:                      |                   |
                    289:                      |                   |
                    290:                      |                   |
                    291:                      |                   |
                    292:                      |                   |
                    293:                      |                   |
                    294:                      |                   |
                    295:                      |                   |
                    296:                      |                   |
                    297:                      |                   |
                    298:                      |0,N             M,N|
                    299:                      ---------------------
                    300: The different objects on the screen are defined as follows:
                    301: Apple1
                    302:         size: 15x24
                    303:         airway: 1=(0,13) SE 8=(10,23)
                    304:         airway: 0=(4,0) S 9=(4,23)
                    305:         airway: 2=(14,15) NW 7=(0,1)
                    306:         airway: 3=(0,9) NE 6=(9,0)
                    307:         airway: 4=(14,7) SW 5=(0,21)
                    308:         airport: %=(4,11) S
                    309:         airport: #=(10,11) NE
                    310:         navaid: *=(4,5)
                    311:         navaid: *=(4,17)
                    312: The size field is restricted only by the size of the Ann Arbor screen.  The
                    313: direction on an airway is the entry direction from the first fix; the
                    314: designer must ensure that each airway connects two entry/exit fixes, and
                    315: that each entry/exit fix is on an airway.  If more than 20 entry/exit
                    316: fixes, 5 airports, or 5 navaids are desired, the program must be recompiled
                    317: after the change to EMAX, AMAX, or NMAX respectively in the source file
                    318: "ahdr.h".
                    319: 9. Things to come
                    320:      Several additions are planned to the ATC simulation in the near
                    321: future.  The most important is definition of the "Clearance Directive
                    322: List," a list of absolute locations on the screen and actions to take at
                    323: the location.  The user will use this feature to establish plans for
                    324: airplanes without having to monitor for completion of each part.
                    325:      Another major modification will enable ATC to be run by another
                    326: program, using a data transfer protocol designed to minimize the
                    327: communication requirements.
                    328:      These features will be documented as they are implemented.
                    329: ..
                    330: .PP
                    331: .I Delayed commands.
                    332: Commands of the form
                    333: .br
                    334: .BI "  @" location , command [, "command ...\fP]"
                    335: .br
                    336: stack up activities.
                    337: A location may be any fix or
                    338: a point offset from a fix, e.g.
                    339: .br
                    340: .B "   @#sw3s2,ARE"
                    341: .br
                    342: which means at the point which can be reached by going three
                    343: miles SW from airport
                    344: .BR # ,
                    345: then two miles S, plane
                    346: .B A
                    347: should begin
                    348: a right turn until heading E.
                    349: The information command shows all delayed commands pending for that plane.
                    350: Note that delayed commands allow one to specify actions more
                    351: than one navaid ahead.
                    352: .ig
                    353: Flow control:
                    354:        When a game is started, ATC looks for the file <airspace>.flow
                    355:        in the directory /usr/rand/jim/atc to establish a traffic pattern.
                    356:         For example, if the airspace is Apple3, it uses the file
                    357:        /usr/rand/jim/atc/Apple3.flow .
                    358:        The flow file contains one line for each legal path through the
                    359:        airspace.  Each line is left-adjusted, and consists of an origin,
                    360:        the symbol "->" (for "goes to"), the destination, a space, and
                    361:        the relative frequency of this path.  The expected frequency for
                    362:        this path is its relative frequency divided by the sum of the
                    363:        relative frequencies for all the paths.  Some examples are:
                    364:                1->5 5
                    365:                1->8 10
                    366:                2-># 10
                    367:                2->% 5
                    368:                2->6 5
                    369:                %->% 5
                    370:                #->% 10
                    371:        Blank lines are ignored (for spacing).
                    372:        Any path with no relative frequency is assumed to have frequency 0.
                    373: Things to come:
                    374:        (1) There will be a capability for canned procedures.
                    375: ..

unix.superglobalmegacorp.com

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