Annotation of researchv10dc/man/mana/atc.6, revision 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.