GENERAL PURPOSE DATA CONTROL TERMINAL

Abstract: A general purpose data control terminal (Figure 4) which permits multiple terminal control. The terminal is programmable thereby permitting compatability with a wide range of communications systems. The unit is microprocessor (100) based and includes a keyboard (102), and display (98), and utilizes acknowledge and retransmission logic for improved reliability.

Description: GENERAL PURPOSE DATA CONTROL TERMINAL Background of the Invention 1. Field of the Invention This invention relates generally to data commu¬ nication systems and in particular to an improved data control terminal particularly well adapted for use in multiple unit radio communication systems capable of voice and data communications. 2. Description of the Prior Art In the prior art, multiple unit radio communi¬ cations systems utilize complex signalling systems to provide both voice and data communications capability. Some provide one way status indication capability and acknowledge but with very inflexible formats which limit usefulness. In addition, existing systems utilize structures which are very expensive to manufacture and provide for limited sensitivity in most RF environments. Further, previous systems have been organized around a coding structure that viewed the terminal device as one which responded to a set of discrete commands. The terminal was designed to perform some arbitrary set of operations when a defined command code activated it. This resulted in an inflexible system. O PI Summary of the Invention It is an object of the invention, therefore, to provide an improved data control terminal particularly well adapted for transfer of data over an audio channel of a multiple unit radio communications system. It is another object of the invention to provide an improved data control terminal which permits multiple terminal control. It is yet another object of the invention to provide an improved data control terminal which is highly flexible and programmable thereby permitting compatability with a wide range of communications systems. Briefly according to the invention, a data control terminal is provided for the primary station in a communications system for voice and data communications having a primary station and a plurality of remote stations. Each remote station has a predetermined station address and is adapted to transmit a data command signal including said station address. The terminal comprises an entry device for entering remote station addresses and can transmit a data command signal containing an operation code, an argument and a station address to remote stations at the beginning of each transmission by the primary station. In addition, the terminal includes the capability to transmit an acknowledge command signal in response to receiving a data command signal from a remote station, including the predetermined address of said remote station. A display is provided for displaying the predetermined station address of a remote station in response to receiving, at the primary station, a remote station command signal. OMPI Brief Description of the Drawings The features of the present invention which are believed to be novel are set forth with particularity in the appended claims. The invention, together with further object and advantages thereof, may best be understood by reference to the following description when taken in conjunction with the accompanying drawings. Figure 1 is a block diagram of a multiple unit radio communications system utilizing the present invention. Figure 2 is a diagram of the preferred data packet structure utilized by the invention. Figure 3 is a diagram of the preferred encoded data packet structure utilized by the invention. Figure 4 is a block diagram of the inventive general pupose data control terminal according to the invention. Figure 5 is a block diagram of a novel mobile unit control circuit that may be advantageously utilized in conjunction with the invention. Figure 6 is a flow diagram of the RESTART routine of the cata control terminal computer program for the invention. Figure 7 is a flow diagram of the PSK RECEIVE routine of the data control terminal computer program for the invention. Figures 8A and 8B form a flow diagram of the PACKET PARSING routine of the data control terminal computer program for the invention. Figures 9A, 9B and 9C form a flow diagram of the KEYBOARD HANDLER routine of the data control terminal computer program for the inv^n' ion. Figures 10A, 10B and 10C form a flow diagram of the COMMAND routine of the data control terminal computer program for the invention. Figures 11A and 11B form a flow diagram of the COMMAND TRANSMIT routine for the data control terminal computer program for the invention. Figure 12 is a flow diagram of the RETRANSMISSION routine of the data control terminal computer program for the invention. Figure 13 is a flow diagram of the POLL EXIT routine of the data control terminal computer program for the invention. Figure 14 is a flow diagram of the DATA TRANSMIT subroutine of the data control terminal computer program for the invention. Figure 15 is a flow diagram of the PROM PROGRAMMER HANDLER routine of the data control terminal computer program for the invention. Figure 16 is a flow diagram of the START routine of the mobile unit computer program for the invention. Figure 17 is a flow diagram of the EXT routine of the mobile unit computer program for the invention. Figure 18 is a flow diagram of the TRANS-EMERG routine of the mobile unit computer program for the invention. Figure 19 is a flow diagram of the P1CHK-HUBCHK routine of the mobile unit computer program for the invention. Figure 20 is a flow diagram of the TIMCHK routine of the mobile unit computer program for the invention. Figure 21 is a flow diagram of the EMRMON routine of the mobile unit computer program for the invention. Figure 22 is a flow diagram of the TONES routine of the mobile unit computer program for the invention. Brief Description of the Preferred Embodiment In Figure 1 , is illustrated the preferred em¬ bodiment of a multiple unit radio communications systems that communicates both data signals and voice signals between dispatchers at primary stations 50, 52, (i.e., base stations) and secondary radios (i.e., mobile in the preferred embodiment) utilizing the inventive general purpose data control terminal. The radio system illustrated provides enhancement to normal voice RF systems but the invention is not limited to RF systems. The system is processor based such that all the control operations and signalling are performed in software, allowing a portable and modular system that is flexible, reliable, and inexpensive to manufacture. As illustrated by the preferred embodiment of Figure 1, the system configuration is highly flexible. Each station includes a dispatcher control console 44, 46, 48 and a base data controller 40, 38, 36 and 34, each having a 12 key keyboard and a four digit display (not shown). A data control terminal 40, 38, 36, 34 is coupled to each console unit 44, 46, 48, 32, as shown. Data and voice signals are coupled from the console 44, 46, 48, 32 to a base station 50, 52 by wire lines. The base stations 50, 52 each include a radio transmitter and receiver for communications via a radio frequency (RF) channel to remote (mobile) radios 60, 62 and 64. The mobile radio 60, 62 and 64 may be any suitable conventional radio such as an FM radio in combination with a mobile data control unit (not shown) according to the invention. Voice communications with the mobile radios 60, 62, 64 is established by means of the dispatcher console 44, 46, 48, 32 while data communications are established by means of the data control terminal (base data control unit) 40, 38, 36, 34. Received data signals can be displayed on the four digit display of the base controller. Data signals transmitted by the base data controllers 40, 38, 36 and 32 may be entered from the keyboard or may be automatically generated as, for example, in the case of automatic acknowledgement signals. The base data control unit may be utilized in numerous configurations. As shown, data control unit 40 is coupled to the second data controller 38, which are individually coupled to a dispatcher console 44 and dis- patch console 46, respectively. The consoles 44, 46 are both coupled as shown, to the base station 50. Thus, several base data controllers can function in configuration with several console units using a single base station. An alternative configuration is shown with the base data controller 36 coupled to a single console 48 which is coupled to a base station 42. All three data control units 40, 38, 36 are coupled via a bus 12, as shown, to a master console 32 permitting each base data controller (base unit) and base station to be monitored with the master console 32 and a base data controller 34 coupled thereto. A conventional printer 30 is provided to permit logging of any of the data information desired. The radio communications system in Figure 1 is particularly well adapted for dispatch type appli¬ cations, where a dispatcher at a base station commu¬ nicates with operators of a fleet of mobile radios. In such dispatch radio communications systems, there may be one or more RF channels that are shared by several hundred mobile radios. Therefore, it is desirable that some of the communications between the dispatcher at the central station and the operators of the mobile radios be provided by means of data communications so that use of each RF channel is more efficient. The data signals communicated between the base stations 50 and 52 and the mobile radio 60, 62, 64 include a bit synchronization portion, a synchronization word, and an information word. The bit synchronization portion may consist of a 1 , 0 alternating pattern for allowing a receiver to attain clock synchronization. The synchronization word may consist of any suitable correlatable bit pattern. The information word may OΪ.-ΪPI consist of an address, commands, and/or status information. Coding techniques are used for error correction and detection to provide low falsing rates and high sensitivity. The signalling system utilizes PSK modulation at 600 bits per second with a 1500Hz carrier using coherent detection. The data transfer is accomplished using a 32 bit data packet, as illustrated in Figure 2. The 32 bit data packet is encoded to a 176 bit encoded data packet before transmission, as shown in Figure 3. This encoded data packet includes 24 bits of data modulated to allow for clock recovery synchronization as shown in block 74 of Figure 3, and consists of alternating ones and zeros. In addition, a 40 bit fixed synchronization code word is appended as shown in block 74 of Figure 3. The 32 bit data packet is encoded by first generating a 48 bit inner code word by appending a 16 bit cyclical redundancy check code to the 32 bit data packet, as shown at 72 of Figure 3. This 48 bit inner code word is further encoded using a half rate convolution encoder. This produces a 112 bit coded word. Thus, a 176 bit encoded data packet is generated as illustrated in Figure 3. Upon reception, an exact copy of the original 32 bit data packet is extracted from the 176 bit encoded data packet using conventional decoding methods. The structure of the codes insures that the information can be extracted correctly even if some of the encoded data packet has been corrupted by channel disturbances. Bit synchronization is obtained using the 24 bit preamble providing a pattern to permit extraction of bit clock information. The word synchronization is accomplished by continuously comparing the last 40 received synchroniza¬ tion bits with a fixed synchronization code word and when a predetermined number (35 in the preferred embodiment) of the 40 bits match the synchronization code word bits synchronization is detected. Detection of the "£fREAl synchronization word indicates that the 112 bits of the encoded data word follow immediately. The next 112 bits of the encoded data are stored and then decoded. Transmission time for the basic 176 bit encoded data packet is 290 milliseconds in the preferred embodiment. The general format of the information word (i.e., command data packet) is shown in Figure 2, which includes a general description of each field. This basic command packet is only one of several formats that can be used, for example, a simple data block is another possible format in which the first 31 bits are free formatted. In the command packet bit 31 (see Figure 2) is a data command indicator bit used to identify the packet as a command or control format or a free format data packet. If the bit is zero, the packet is considered to be a command or control packet and follows the format of figure 2. If the bit is 1, the packet is a free format data packet. Free format data packets are preceded by a "header" packet of the command type identifying the source or destination of the free format packet and containing the proper OP code and format for the packets that follow. Thus, data packets with 31 bits of data may be concatenated for intense information transfer, such as text. The bit indicated in Figure 2 as bit 30 is the acknowledge/no acknowledge bit. This bit is used by the destination unit for acknowledgement purposes and is OP code dependent. If the acknowledge/no acknowledge bit is equal to zero, the destination unit will not acknowledge the command, but if the acknowledge/no acknowledge bit is one, the unit should acknowledge unless the OP code indicates a request or interrogation type command. Thus, certain commands transmitted from either the base or the mobile unit of the preferred embodiment are automatically acknowledged by the receiving unit. In addition, in the preferred embodiment, automatic re-transmission is OMPI provided for a programmed number of times in situations in which no acknowledge has been received. The next indicator bit, indcated in Figure 2 as bit 19, is the outbound/inbound bit (0/1) used to route data packets. If the O/I bit is zero, the data packet is inbound directed and if the O/I bit is a one, the data packet is outbound. Both the mobile and the base units of the preferred embodiment utilize both states of the O/I bit. The OP code field of the command packet , shown as bits 24 through 28 of Figure 2, is used to address a specific internal register of the destination address thereby making it possible to specify a particular command or control operation. Any specific set of instructions may be defined up to 64. In the preferred embodiment, there are several command instruction codes defined and several data type codes. Each command data packet also contains an argument field, indicated in Figure 2 by bits 16 through 23, used primarily for data transfer. For example, in the preferred embodiment, status, data, or control information is transferred in the argument field. It -is also used as a specific command/control operation when combined with the OP code field, so that up to 256 unique commands can be implemented with each OP code. The remaining 16 bits of the command data packet, bits zero through fifteen in Figure 2, are the address field of the 32 bit packet. The address field is partitioned into our hexadecimal digits, as shown. This provides up to 65,536 unique addresses, identifying the sending unit for inbound packets, and identifying the destination unit for outbound packets. In the preferred embodiment, ten thousand unique unit identification codes are used permitting the system to be partitioned into ten fleets with up to 100 unique codes per fleet. Each _ Q P mobile unit is pre-programmed to contain a unique unit, group and fleet identification code. An outbound wild card mode of addressing permits a flexible method of group, fleet, and all addressing that may be dynamically configured. In this mode, the hexadecimal F is used in any address partition to signify a match or wild card. When encountering a wild card in any of the four hexademical positions, the unit decoder will match that position with the same position of the pre-assigned unit identification address. Thus, for example, an address of ZFFF would be a fleet call to fleet 2, and FFFF would be an all call. An outbound direct addressing mode permits addressing group and fleets while allowing units to be members of any group or fleet. In this mode, the hexadecimal E is placed in the most significant digit position of the address field (digit 3) and the fleet address is placed in the next digit position (digit 2) followed by a two digit BCD group number to address a group. The hexadecmial F can be placed in the group position to address a fleet and FFFF can be used to address all fleets. In the preferred embodiment, the base unit has the capability to re-group mobile units at any time such that the group code becomes, in affect, a soft identification number. For example, suppose the dispatcher wishes to have a conversation with a particular group. But, that there is one member of that group he would like to exclude. He may temporarily move that member to another group, proceed with the conversation, and then return the individual to the group. Each mobile unit may default to the fixed preprogrammed group code on power on. In the preferred embodiment, the argument field is often used for transmission of status information wherein there are two levels of status used. The first level is called operator status, since it is generally associated with the operator of the mobile unit. The second level OMPI - l - is called alternate status and requires an optional interface circuit in the mobile unit. Operator status may be initiated from the mobile unit by various methods. A change in a set of status switches may initiate the transmission of status -in cases in which the status switches are exclusive and interlocked. Current status is also sent with every voice transmission and priority alert transmission. Each base unit is equipped with status keying, which allows for display and audio selectivity based upon the received status of a mobile unit. The key may be dynamically configured by the base operator so that, for example, the base audio may be selected to unmute for a particular mobile status. The status switches may also represent message transmissions wherein message transmissions use momentary switches to indicate a transient condition while status transmission uses interlock switches to indicate a held condition. The base operator may also interrogate any mobile for circuit operator status. A total of eight independent operator status bits are available for each mobile unit. Thus permitting a total of 128 operator status states. The alternate - status option provides up to 7 bits of independent alternate status which are readable and setable from the base unit. The system also provides enhanced selective calling and paging, which can be automatic. With this feature, each call to a unit, group or fleet contains a preamble and a postamble code to unmute and remute, respectively. The base operator therefore simply enters an identifica¬ tion code and then talks as normal to the mobile unit which will automatically reset after the conversation. Or a mobile operator may transmit a voice message which will display the unit number on the console where the base operator then simply presses the transmit switch to selectively respond to the calling mobile. This mode of operation is referred to as AUTO SEL CALL. Paging is vate internal and external alarms at the mobile such as light, horns, and tones. A priority alert capability exists in which the mobile unit can be activated to the priority alert by an external switch which has priority over any other radio functions. Priority alert will transmit immediately upon activation regardless of activity on the channel and up to twenty data packet retransmissions will occur if the mobile unit does not receive an acknowledge. The base unit will give special treatment to this priority alert transmission. When a priority alert transmission occurs, the current operator status of the initiating unit is forwarded to the base unit automatically. There are, in addition, two possible acknowledge packets that can be used with priority alert. The first is the normal acknowledge which simply handshakes the original unit. The second also handshakes the originating unit, but, in addition, enables the mobile transmitter for a preset period of time permitting the base operator to monitor that unit. This feature is referred to as emergency monitoring. An emergency monitor acknowledge also disables any other mobile units on the channel from voice transmissions for the duration of the preset period. There are a number of major options and con- figurations which are possible in the preferred embodiment. These options and configurations are selected by means of a PROM code plug which is in both the base and mobile units. Various system perimeters are also contained in the code plug. Referring now to Figure 4 there is illustrated a preferred embodiment of the general purpose base data control terminal (base unit). This base unit of Figure 4 utilizes a microcomputer (MPU) system in conjunction with system firmware and peripheral devices to provide a terminal system for mobile and portable applications. The microcomputer 100 performs all of the necessary ζJUE i _ OMPI_ control and interface logic as well as all of the signalling functions including modulation and demodulation, encoding and decoding, display control, keyboard handling, printer interfacing and mobile code plug programming. As shown in Figure 4, the base unit includes an MPU 100, which in the preferred embodiment, is an eight bit microcomputer (e.g., a Motorola MC6803). Internal to the MPU 100 is a clock utilizing a crystal 120, coupled as shown to the MPU 100, to produce a system clock frequency of 4.9152 megahertz in the preferred embodiment and which is divided internally to yield an MPU frequency of 1.2288 megahertz. A keyboard system is coupled to the MPU 100 consisting of a 12 key keyboard 102 coupled to a key encoder 104 which is coupled, as shown, to the address bus 108 and the data bus 106, as shown. The key encoder 104 includes a storage function and provides interrupts to the processor while including key debouncing circuitry. The system firmware consists of all the software necessary for the system operation which is stored in a read only memory (ROM) 112 which is coupled ' to the address bus 108 and the data bus 106, as shown. A random access memory (RAM) 114 is coupled to the MPU 100 via the data bus 106 and the address bus 108, as shown, for use as a serial interface buffer and for identifica¬ tion memory. A system code plug 110 is coupled to the MPU 100 via the address bus 108 and the data bus 106 to store system variables and particular operational characteristics and options of individual units. A real time clock 86 together with a crystal 88 is coupled to the output ports 96, 92 and to the input port 94, as shown, primarily to provide time information for logging. Interface circuitry consisting of a PSK bandpass filter 126, a limiter 124, audio muting relay 132, miσ muting relay 134, audio alert generator 136, multi-terminal control logic 140 and external interface logic 130 is coupled, as shown, to the MPU 100. Additional interface circuitry is provided by the RS 232 serial interface 84 coupled with voltage converter 82 and power supply 80 to the MPU 100, as shown. A PROM programmer interface 90 is provided to permit programming identification codes of mobile units and is coupled, as shown, to the output port 92 and the input port 94. Also provided is display circuitry 98 which consists of a display controller for seven segment LED displays and eight LED status indicators (not shown) . This base unit structure as shown in Figure 4, provides the capability to directly interface to a wide variety of RF communication systems. The display system 98 consists of a four digit LED display and eight individual LED indicators. The display is used for data display of all inbound and outbound identification codes including unit, group, and fleet. The display is also used in editing, data entry, code plug programming, status retrieval and setting as well as displaying any inbound data. The display is driven from the microprocessor system and will accommodate multiple controllers for console applications. The keyboard system is used for data entry, display editing, command entry and execution. Any and all terminal control is accomplished through the keyboard system and the microphone push to talk switch. The keyboard 102 has two basic keyboard entry modes; upper and lower case. The lower case mode is used to enter identification code numbers and command data. The upper case mode is used in command entry and eventual execution. The base operator has complete control of the data system through the keyboard system. A real time date clock 86 provides tine and date to permit display of the time and date of any and all of the transactions that occur on the system. It is primarily used in the logging system but may also be used as a clock or event scheduler. A specific program necessary to define the particular characteristics of each individual system is contained in a PROM code plug, 90. There are many variables related to a particular system which are defined by the data in this code plug. All the key command definitions to be used in the system are defined by the data in the code plug which must be programmed prior to use. The functions defined by code plug data will be discussed in greater detail hereinafter. Data squelch is provided for the system so as to blank the audio of data transmissions.. The data muting function is provided by software in the MPU 100 and by the audio muting relay 132. In addition to data squelch, the audio muting relay 132 is utilized to perform conventional audio muting. The mute and unmute operation may be keyed off a particular status or identification code. Each base unit is capable of addressing unit ID codes from 0 to 9999. In addition, a shared system can be structured in which the range is from 0 to 999 wherein the most significant digit is used as a fleet identification, thus allowing up to 10 fleets or a signal channel. In systems which use multiple base units to accommodate multiple dispatchers, each base unit can have keyboard programmable upper bound and lower bounds of accessible ID codes and the range of codes may be dynamically allocated. The base operator thus, would not be allowed to access any codes outside of the current range setting, nor will any inbound data be processed outside the range. In addition, audio muting may be used so that a particular operator will only hear transmissions with ID codes within the selected range. Many multiple unit communication systems have multiple transmitters which are not always co-located. The base unit provides PTT identification at the beginning and/or end of either a voice or a data transmission. The system code plug determines the desired mode and also contains the four digit ID code. Thus, a particular base unit can identify all mobile and base transmissions and the ID code can be used in logging to indicate wich unit received or transmitted data. In systems where multiple units are used on the same RF channel, control is provided by means of code plug data to prevent multiple simultaneous acknowledge transmissions to mobile units. One unit is designated as the master and the remaining units are designated as slaves, such that the master is programmed to transmit all acknowledge data packets. The acknowledged transmissions can also be programmed to be dependent on the keyboard defined unit code bound and status key. The normal mode of operation for base unit commands utilize the automatic acknowledge feature with re-transmissions. However, the system may also be used with one way modes where the base unit is configured by the code plug to transmit commands only once and not to except an acknowledge when the mobile units in the system are set up in the same configuration mode. The transmission time of a base data packet is approximately 325 milliseconds providing for radio transmitter turn on delays. However, most systems have inherent delays associated with repeaters tone remote and others that must be anticipated before the actual data packet can be transmitted. To allow for these variable delays, the base unit will generate based on the code plug information, transmission delays from 100 to 1500 milliseconds in 100 millisecond increments. The transmitter will send silent carrier during the delay to minimize data noise on the channel and allow easy interfacing into tone remote systems. All mobile and base units in a given system must have the same system delay. OMPI The base unit will display all incoming PTT identification codes and status indications. The status indicators will reflect the current status of the particular unit. The PTT ID transmissions have display priority over any commands in progress. For example, if the base operator is in the process of entering a number and a PTT ID is received, the display will show that ID. The same is true for commands. Any command in progress will be aborted if a PTT ID is received. This mode of operation will only occur if a PTT ID receive option is selected in the code plug. When an ID is received and properly decoded, it is tested against the current bounds. If the code falls within the bounds, the ID will be displayed and put into memory for further processing and sent to the logging system for printout. A priority alert transmission mode is provided which has absolute priority over any terminal transactions. The base unit will display the unit code of the mobile generating the alert. The display will flash the ID code and any status indications as well as sound an audio tone. To clear the system of a priority code the base- operator must press the clear switch. Priority alert may be stacked in a LIFO memory and recalled by a recall command so that multiple priority alerts may occur simultaneously without loss of data. However, if the base unit is currently in the priority mode and a new priority is received, the new priority ID will take over the display. The previous priority may be later recalled from memory. Even though a priority alert will lock out the display from any further use, data packets can still be received and acknowledged. All data will also continue to be sent to the logging system. The base unit can also include an emergency monitor feature which is code plug selectable. When a priorty alert packet is received, the base unit will go immediately into a priority mode and acknowledge the OMPI WIPO mobile unit and terminate any retransmission sequence. The base operator may then activate an emergency monitor sequence which will transmit a data packet to the mobile unit which enables the radio transmitter for ten seconds. At the end of the ten seconds, the mobile will send another priority alert packet. The base will continue to send an acknowledge packet which will enable the transmitter. The cycle will continue until the operator at the base clears the emergency monitor feature with the clear key. Thus, the base operator can voice monitor the activity of the mobile unit in the priority mode. The base unit is capable of storing up to 64 mobile initiated inbound data packets. Whenever inbound data packets are received and properly decoded, the unit code and status information is placed in the memory. The method of storage is last in, first out, (LIFO) which is essentially a stacking operation. As a new ID is received, it is placed at the top of the stack and the ID codes currently in the memory are pushed down the stack. The operator may use a recall key to advance the stack pointer and display the next entry. A clear key is used to position the pointer at the stack top which displays the most recent ID and status. This feature is provided as a review mechanism in situations where several data packets are received in quick succession to enable the operator to keep track of all unit numbers. The base unit also provides memory capability to queue up operator status packets as they arrive in time, up to 128 operator status data packets. The method of storage is essentially a queuing operation of first in, first out (FIFO). If there are any data packets in the queue, the operator may display the next ID code and status and remove the previous display. One of eight status indicators is used to show an active or inactive queue. If the queue is active the operator may also, by CMPI pressing a clear key, display the first packet in the queue. In addition, a status queue control allows the terminal operator to enable or disable entries to the queue. Only operator status packets are queued. PTT ID transmissions and priority alerts will be displayed when they occur but will not affect operation of the queue. If the queue is disabled, any received operator status packets will be immediately displayed or if the terminal contains a LIFO stack, it will be placed on the LIFO stack. If the queue control is enabled, an operator status packet will be queued without affecting terminal operations including the display. However, a short beep will be heard to inform the operator of an arriving status. Polling of a limited number of mobile units for operator status and alternate status is provided by the base unit. This feature allows the operator to scan the system and produce a status list of a select group of mobile units. The operator may also select a particular status by entering a beginning unit number from the keyboard and then initiating the poll and entering a unique status where the poll is to stop. The poll will start at the entering number and sequentially interrogate the mobile units for status. Each time the status packet is received, the unit will perform a match operation and if a match exists the poll will stop. If there is no match, however, the poll will continue until the upper ID limit is reached or the poll count, which is prepro¬ grammed to a desired value, such as ten, is depleted. All of the base units are equipped with control logic to prevent simultaneous channel access by multiple units connected in parallel. The same logic is used to inhibit inbound transmissions when the RF channel is busy. Each unit has a busy output and an inhibit input which are normally connected together, forming a single coupled to the external interface 130, that becomes both a sense and a control line. Before any commands are executed by the unit, the inhibit line is tested for activity. If the line is clear, the command is transmitted and the unit asserts a high level on the busy line indicating use of the channel. The line will remain busy until an acknowledge is received or the retransmission cycle is complete. If the channel is busy at the command time, the unit will wait until a line becomes clear and hold will be displayed indicating to the operator that the line is busy. When the inhibit line clears, the unit will not transmit immediately. Each terminal in a multi terminal system contains a priority number from 0 to 254 in its code plug. This number is used to generate a delay proportional to the priority number. The terminal will wait out this delay and then re-sample the inhibit line. If the line is still busy, the wait process will continue until access can be obtained. A random packet delay cycle is also used in the delay process if a simple data command is being performed. If the line is clear, the unit trans¬ mits as described above. The inhibit input line may be connected to the busy output line because each unit knows if it is busy or not. Thus, a simple twisted pair is all that is needed to connect multiple terminals. Another feature involving multiple terminals in the same channel relates to command overlap. Each and every command that is executed by a particular unit will affect only that unit. If a unit interrogates a particular mobile unit for status, for example, the status packet that the mobile returns will be displayed on that unit only and will not affect other units on the channel. This feature allows independent control by multiple operators but only applies to outbound commands. Any inbound data such as operator status and priority alert will be displayed on all terminals on that channel. This may be defeated by OM-I using the status matching technique or dynamic range selection discussed hereinabove or by simply defeating the particular receiver function via the code plug. A mode of selective voice calling (AUTO SEL CALL) is available on all base units selectable by coding the code plug. This feature allows for simple dispatching in a selective manner. The operator enters the desired ID code, the system will wait for the microphone PTT switch to be depressed. When it is, an unmute data packet will be transmitted signalling the selected mobile units to un - te their receiver audio. When the PTT switch is released, a mute data packet is sent. During this period of selective voice calling (AUTO SEL CALL) transmission, the base unit display will read CALL, indicating to the operator that a SEL CALL is being made. By means of the keyboard, the AUTO SEL CALL mode may be enabled or disabled. If disabled, no selective call will be made when the microphone PTT switch is depressed. The logging system can record both SEL CALL and normal voice transmissions. If a mobile unit makes a voice transmission to the base, the unit ID code will be displayed on the base unit. The base operator may simply press the microphone PTT switch and talk. No other key entries are necessary and the mobile unit will be selectively called. Each time a command transmission is performed by the base operator, the receiving mobile unit may send an acknowledge packet. If the decoded data packets are correct indicating that the handshake is successful, the base unit will display an acknowledge indication that the mobile received the command. If the command happens to be an interrogation for data, such as operator status, and the handshake is successful, then the display will show the received data and no acknowledge will be displayed. If the handshake was not completed on the first transmission, the unit will automatically *g5ιiE ζ CMPI retransmit the command in a random fashion for a number of times determined by the code plug unless an acknowledge packet is received within this interval. An acknowledge will terminate the sequence. If no acknowledge is received after the total number of transmissions allowed have occured, the display will show a fail indication and the operator may re-initiate the command. The base unit code plug can be programmed so that the channel sense is used to automatically monitor the channel before transmissions and re-transmissions. The same inhibit control line is used as that used for multi-terminal control. If the channel is busy, the data is inhibited. However, when the channel clears, a random clock will begin to sample the channel for activity when the clock times out. If the channel is still busy, the random cycle/sample process will continue. However, if the channel is clear, the command data packet will be sent to the mobile unit and an acknowledge will be received. A closed loop signalling " system test can be performed on selected mobile units by all base units. The test performs a series of radio check commands which include mobile acknowledgement. It is normally used at system start up, but may also be used in system diagnostic tests. When the operator enables the test mode, the terminal will prompt the operator for the unit ID code of the mobile to be tested and the number of individual tests to be performed (9,999 maximum). When the test is completed, the display will indicate che number of successful closed loop tests. The logging system will also be used to show all the data relative to each individual series of tests. The results of the test will reflect the statistics of the RF path mobile and base radios, etc. and may be used to correct any system problems. An optional code plug module is available for the base unit to allow programming of mobile unit, group, and fleet ID codes, selective calling muting modes and system delays. The system delay contained in the base unit code plug is automatically inserted for all mobile ' units regardless of shared or dedicated configurations. When the module is connected to the base unit, the unit is automatically placed in the program mode. The programmer provides both a read and a program command. If the read command is executed, the terminal will display all relevant data to the operator. Error control is provided to test the ID codes for proper values and inform the operator of an improper code plug. If the program command is executed, the terminal will prompt the operator for the necessary data, attempt to program the code plug and then display the contents. Error control is also provided in the program mode to prevent the programming of invalid codes. The base unit performs a limited diagnostic test of the hardware, software system on power up. Real time clock, random access memory, code plug, control ports and other various circuits are tested and any errors are reported via the display system and the audio alert. Also, a command key is available to test the four digit display and the eight status indicators. Referring now to Figure 5, there is shown a block diagram of a mobile unit control circuit for use in con¬ junction with a mobile transceiver, that may be advantageously utilized with the present invention. The mobile unit of Figure 5 consists primarily of a micro¬ computer 150 (e.g.. Motorola MC3870) and associated peripheral circuitry. The processor performs all of the PSK modulation,demodulation / encoding and decoding of the signalling system. It also performs all control logic and management functions of the mobile system. & - Incoming data is applied from a receiver detector in analog form to the discriminator input 186. It is then bandpass filtered by bandpass filter 190 to remove unwanted signals and receiver noise. The signal is then limited through the li iter 192 and than processed by the MPU 150. The computer performs coherent detection of the signal resulting in various data packets which provide the command and control information for the unit. Data to be transmitted is prepared in data packets in rhe MPU 150 and presented as PSK modulated packets at the output 178. The data packet is then filtered using the same bandpass filter 190 as in the receiving mode to remove undesirable low frequency energy from the PSK data. The signal is than coupled to the microphone output 188 to the radio transmitter. The microphone is muted during data transmissions to prevent any voice interference. All of the transmit control, audio muting, tone generation and channel sensing is performed by the MPU 150. A code plug 152 is coupled as shown to the MPU 150 and contains all of the system information and selected options of the unit. The data in the code plug 152 is read by the processor 150 and then , used in the control of operation of the unit. A watchdog timer 156 is coupled to the MPU 150 to monitor a known signal out of the processor and reset the machine in the event of processor failure or transient conditions. An emergency switch, 158, is coupled directly to the MPU 150 as shown as are a set of eight status switches 162. A number of input and output switches and indicators, such as the horn and lights, are coupled to the MPU 150, via the interface circuit 164 and the conductor 172, as shown. A data cycle output 160, a muting input and two tone outputs are also provided, as shown. The mobile unit system also requires a five volt power supply 170 and a 9.6 volt power supply 168. CMPI The unit , group , and fl eet ID code of each unit are s tored in the code pl ug , as well as ind iv id ual sys tem f unctions s uch as ID, status , priority alert and sel ec t call . A unique unit identification code is transmitted with every voice transmission and is triggered off the microphone PTT switch which is input to the MPU 150 at input 180 of Figure 5. The system can be programmed so that the ID is sent at key-up or key-down or both or the ID may also be message oriented where only a single transmission occurs after, for example, the removal of the microphone from the hang-up box. The transmission time of a mobile data packet is approximately 325 milliseconds including the radio transmitter turn on delays. However, to allow for the variable system delays the mobile unit also generates, based on the code plug data, the transmission delay for the system. The PTT ID transmission may also be programmed via the code plug to send start/end status with voice transmissions such that the base unit will provide automatic voice unmuting and muting control, indication of an active transmission and logging of transmission duration. A very flexible status option can be programmed into the system via the code plug which allows various arrangements of status and message to reside in the system. Two levels of status are available, operator status and alternate status. The alternate status requires an optional external interface card 154 of Figure 5 which is coupled via an external bus to the code plug 152. There are three distinct types of operator status available in the mobile unit; new operator status, current operator status and messages. New operator status requires a positive action by the mobile operator. This may be a change in status in which case the operator will physically change a set of switch settings and send off < the new status to the base. The mobile unit may have up to nine switches which may be momentary, push push type, interlocked or thumb wheel type switches, depending upon the requirements of the particular system. Current operator status always reflects the most recent setting of the status switches but does not require any action by the mobile operator. The base unit is capable of obtaining the current operator status of any mobile unit without any action by the mobile operator. And, in addition, current status can be automatically trans¬ ferred to the base on every PTT ID transmission. Messages are status of transient nature. To send a message, the mobile operator must activate a switch and the base unit will automatically display the message each time it is sent. However, the base unit is not capable of obtaining messages from a mobile unit, nor will any messages be sent along with voice transmissions. New operator status and message transmissions may be manually sent with the operator monitoring the received channel before transmission or may be automatically sent with the channel being sensed for traffic before transmit. Manual status transmissions involve a sequence of simple operations. This type of status is used in systems where channel sensing is impractical or impossible such as in radio systems where no radio signal is available for sensing channel activity. When the mobile operator decides to transmit a status to the base unit he sets the proper status switches and the radio is automatically placed in the monitor mode. He waits for the channel to become clear if it is busy, then presses a momentary send switch at which point the data packet containing the status information will be transmitted immediately and the base unit will acknowledge. Lock out is provided so that multiple sequences will not occur if the send switch is not released. OMPI ith automatic status, no channel monitoring by the operator is necessary since the channel is sensed for any ongoing traffic, data or voice. If the channel is busy, the data transmission is inhibited until the channel clears, when a random clock will begin and the channel will be sampled for activity when the clock times out. If the channel is still busy, the random clock cycle will continue. If the channel is clear, the data packet containing the status will be transmitted to the base unit and an acknowledge will be sent back to the mobile unit. This prevents overlap of several units pending transmission. The optional automatic monitor mode can be used in any status configuration. Messages are sent in the same manner as operator status except momentary switches are used. There are three code plug selectable status/message transmission modes available in the mobile unit; single without acknowledge, single with acknowledge, and multiple with acknowledge. The single without acknowledge mode is intended for one way systems without receiving capabilities. Each time a status or message* transmission is initiated by the mobile operator, the data packet is transmitted once and there is no acknowledge transmission by the base unit. This is a global mode applicable to all options in the mobile unit. Thus, if no acknowledge is selected for the status mode, there will be no acknowledge for all data packets. Since there is no acknowledge sent for data transactions there can be no operator feedback of the successive transmission. The single with acknowledge mode allows for all status and message transmissions to be acknowledged. If the handshake is successful, the mobile unit will produce a short audio tone indicating that the status or message was received at the base. If the handshake was not complete, meaning that the mobile did not receive the acknowledge, a no-acknowledge indicator will flash indicating to the mobile operator a bad transmission sequence and permitting the operator to then re-initiate another sequence. Thus, the mobile operator is given both positive feedback and negative feedback on status and message transmissions. The multiple with acknowledge mode is identical to the single with acknowledge mode except retransmissions will automatically occur if the initial transmission was unsuccessful. This is an extremely reliable mode of operation. Thus, if an acknowledge from the base unit is not received within a random time interval, the mobile unit will automatically sense and re-transmit the status data packet. This process will continue until an acknowledge is received or a programmed number of retransmissions have occured. As in the single with acknowledge mode a short audio tone will alert the mobile operator of a successful sequence. There are eight possible status switch inputs for a mobile unit. A common configuration would be a seven button status system where all of the seven status switches are mechanically interlocked. Each time a status change is desired the operator pushes the desired switch which will lock into position and remove and previous setting. The status may be automatically transmitted at that point or be initiated by a ninth switch, the momentary send switch. To send the same status, the operator must use the send switch independent of manual or automatic transmission. Many other configurations are possible including various select call switch combinations with status. The status system is also capable of supporting momentary message switches along with interlocking status switches. The message switch being momentary, will transmit a transient message. If a system involving more than one message switch is needed, the mobile unit can have up to eight C PI ' - unique messages. The message switches are all momentary switches and the send switch is therefore unnecessary. A powerful feature of the mobile unit status system is that each of the status positions are independent. Another important feature of the status system of the mobile unit of Figure 5 is the ability of the base unit operator to inform the mobile operator to update his operator status. This is done by the use of a command in the base unit which will cause the no-acknowledge indicator to be activated at the mobile, signalling the mobile operator to update his operator status switches. Alternate status is a general purpose status function providing an alternative or extension to the operator status. Its operation is different from operator status in that the mobile operator may not initiate an alternate status transmission in the basic system. In a system containing the priority alert option, the priority alert data transmissions will also send the current alternate status. Since the alternate status is sent along with priority alert, the status may be used as location information, extended priority levels, vehicle switches, etc. In these situations, the alternate status may be initiated by the mobile unit. The alternate status option requires the optional interface 154 of Figure 5. The mobile code plug is removed from the mobile unit and inserted on the external interface 154. A ribbon cable connector is placed between the code plug socket on the mobile unit and a similar socket on the interface card. The data and address bus of the code plug is than multiplexed with alternate status. Seven parallel inputs and seven independent parallel outputs are provided with the alternate status option. The base unit may interrogate any mobile unit for alternate status. The base is also capable of setting any combination of mobile alternate status outputs. The seven status inputs may be connected to switches as in operator status thereby providing extended status capability. In a configuration using seven status switches and seven message switches, the message switches are momentary and the status switches are pushbutton type or interlocked. When a message is transmitted, the status is not sent along. Instead, the base operator will manually interrogate the mobile unit or the base unit can be programmed to automatically retrieve the alternative status when a message is received. If the alternate status outputs are used as indicators in the same system, the indicators may be used as base status. If alternate status is used to represent vehicle status, the seven inputs can be connected to sensors in the vehicle, for example, oil pressure, fuel, temperature, etc. The priority alert option is independent of the other options and may be enabled in any mobile system configuration. The priority alert is normally to be activated by an external switch such as emergency switch 158, Figure 5. When activated, this normally closed switch will trigger a sequence of special data packet - transmissions that have absolute priority over any other mobile unit functions. The initial priority data packet is transmitted immediately regardless of any channel sensing logic. If an acknowledge is not received within a random time interval, the mobile unit will automatically retransmit the priority data packet. A total of 20 transmissions will occur if an acknowledge is not received, in which case the operator may re-initiate another sequence. A sequence of transmissions will terminate immediately upon receiving an acknowledge. For security purposes, the mobile operator is not informed of positive or negative acknowledge. Activation of the Priority alert will lock out all other data functions until an acknowledge is received or the sequence is terminated. When a priority alert is received by the base unit, the display indicating the mobile unit number will flash and an alarm will sound. The base unit will transmit any one of two types of acknowledge packets determined by the programming of the code plug. The first type is a normal acknowledge which terminates the priority sequence in the mobile unit. The second type is an emergency monitor packet which will terminate the priority sequence in the mobile unit and than will key up the radio transmitter for a fixed period of time (in the preferred embodiment, 10 seconds). At the end of this time period the mobile unit will send another priority data packet to the base and then switch to the receive mode. The base unit will continue to send emergency monitor data packets in this cyclical fashion until a clearing operation is performed by the base unit operator. This allows the base operator to voice monitor the activity of the mobile vehicle in the event of a priority alert. The same emergency monitor data packet that is used to enable the transmitter of a mobile unit in the priority alert mode is used to disable all other mobile transmitters in the system equipped with the mobile unit control systems. This feature provides a clear-channel to the unit in the priority mode. In addition, if the mobile unit has operator status, that status will be sent to the base unit along with the priority condition, with the priority packet containing the operator status. If the mobile unit has alternate status, that status is also sent. With this feature, various levels of priority may be established within a system. In addition, the mobile unit will respond to a unique command to initiate a priority alert sequence. This command may be issued by the base unit or by a portable transmitter, thus, allowing remote emergency systems where the mobile is used as a repeater. A select call option is available with the mobile unit and is totally independent in operation and selection from other features. The purpose of the select call system is to allow private and/or secure voice communications and paging operations. Selective voice calling is accomplished in the mobile unit by muting and unmuting the mobile radio audio. These operations are controlled by various data packets that originate from the mobile and base units. The base unit is capable of supporting several simultaneous modes of voice calling. An auto select call mode of operation is provided whereby the base unit operator simply enters the unit, group or fleet identification code on the terminal and uses the microphone as normal. The selected unit, group, or fleet of mobile units will automatically unmute the audio for the duration of the voice transmission and then re-mute. The auto sel call mode does not provide acknowledgement due to the fact that the voice follows the unmute data packet while holding the transmitter key. The system is automatic in that the base operator is not required to press a call switch for each transmission. A basic switch configuration for a select call mobile unit would include a call light used in voice calling and paging to indicate that the base unit has signalled that unit, except in the AUTO SEL CALL mode where the call light would not be affected. A reset switch, which would be a momentary type switch, can be provided to clear the call light and re ute the audio if the automatic muting fails. A horn and light switch are provided which are push-push type switches and are used to engage the horn and lights for external alarms. A base group, and fleet switch may be provided to permit encoding capability to the mobile unit and are part of the AUTO SEL CALL mode. The switches are preferably mechanically interlocked. With these three switches, the mobile operator may selectively voice call the base, other members of his current group, or his fleet. If the base switch is selected, all voice transmissions from that unit will be directed to the base unit. The base unit will display the unit identification code as in the PTT ID option and no other mobile units in the system will hear the transmission. If the group switch is selected, all voice transmissions from that unit will be heard only by members of the same group. The base unit will display the group identification code and no other mobile units in the system will hear the transmission. If the fleet switch is selected, all voice transmissions from that unit will be heard by members of the same fleet and the base unit will display the fleet identification code. With the group or fleet switch selected, a voice transmission by the mobile operator will display the group or fleet ID code at the base unit. However, the mobile unit code plug may be programmed so that concatenated data packets are sent at the end of every group or fleet voice transmission to permit the base unit to display the unit code of the transmitting mobile. With this feature programmed into the code plug, the base unit will sequentially display the group or fleet code followed by the unit code. A call with acknowledge mode of voice calling is available to the base unit operator who would enter the unit, group, or fleet identiication code of the units to be called. He then would press a call switch and a responding mobile unit will unmute the radio audio, light the call lamp and activate any external alarms provided, alert the mobile operator with a short audio tone and send an acknowledge packet to the base. No acknowledge packet would be command is issued to a group or a fleet. This mode does not provide automatic remuting of the audio. The mobile operator must manually reset the muting by pressing a reset switch, by coming offhook, or by initiating a voice transmission. When the select call option of the mobile unit is used in a private line system, there are three major muting modes available: AND, OR, and none. With DPL or PL muting used in the system and the mobile unit in the AND muting mode, both the proper PL or DPL code and the correct identification code must be present to unmute the receiver audio. When the microphone is removed from the hangup box or the monitor operate switch is placed in the monitor position, all muting is disabled. If, however, an individual or group calling is desired from base to mobile without disturbing other mobiles in the system while retaining a PL operation for general mobile to mobile and mobile to base communications, muting may be selected as an OR mode. In the OR mode, the audio will respond to either a select call or a proper PL or DPL code. If the system is to be used for external alarms and call light operation and all units are to hear all transmissions with the proper PL or DPL code, then no muting is selected. There are two paging modes available to the base operator for which the mobile unit can respond. The first paging mode simply alerts the mobile operator with a series of audio tones, activates any external alarms or enables the call lamp. No audio muting or unmuting is performed. The base operator enters the unit, group, or fleet identification code of the units to be paged. He then presses a page switch and the addressed mobile unit will perform the above action and transmit on-acknowledge back to the base. Group and fleet page operations will not be acknowledged. A second paging mode is identical in operation to the first except that no audio tones will be produced. All mobile units provide for group reassignment by a base unit operator. The base operator may interrogate any unit for its current goup identification code and may also dynamically change that code. Since the group code may be dynamically altered, the group code may be used in some systems as a variable identification code. Once a mobile unit group ID has been changed, any group addressing of that unit will performed by the new ID number. When a mobile unit is powered up, the group ID contained in the unit code plug is placed in random access memory. The base unit may alter this code in RAM by use of a re-grouping command. The mobile unit will always use the current group code in RAM for group operations. All mobile units are provided with a "radio check" function. This is activated by the base operator entering the unit ID code of the mobile to be checked followed by a ' radio check command. The mobile unit will than respond with a normal acknowledge. This feature may be used in system diagnostics or to test the availability of the mobile operator. A part of the select call feature permits the base unit to selectively enable or disable voice transmission control of mobile units. The base operator may enter the unit group or fleet identification code of the unit to- be enabled or disabled. He than executes the disable command and the selected unit or units will be inhibited from further voice transmissions. The command has no effect on data transmissions. The optional external interface, 154, provides all the logic and interfacing to enable the alternate status feature and data channel selection logic. The data channel selection logic will enable a mobile unit to transmit any and all data on specific designated channels. It does this by way of the frequency selection switch of the mobile control head. An audio alert mechanism is provided to alert the operator of an in- valid channel selection if any data transmissions are initiated on an invalid channel. The logic may be capable of automatically reverting to a selected data channel. Figure 6 is a flow diagram of the RESTART routine of the base unit computer program for the microcomputer 100 of Figure 4 for implementing the invention. The program is entered at block 200 upon power up and initialization occurs as illustrated at 202. The RAM, clock, ports, and code plug are tested at 204 and if an error is detected, an error code is displayed, as illustrated at 206, after which the system waits for restart to be initiated by the operator as indicated at 208. If no error is detected, the routine continues instead to block 210 displaying a start message on the display 98 and proceeds to 212 to test for the presence of the programmer module. If the programmer module option exists the program flow proceeds to block 214 and then to the PROM PROGRAMMER HANDLER routine. If no PROM programmer option exists, then the routine proceeds to blocks 216 and 218 to activate the printer to print a predetermined herald and log on information. The routine then transfers control to the PSK RECEIVE routine. A flow diagram of the PSK RECEIVE routine is shown in figure 7, which shows entry to the routine at block 230. The PSK demodulator is immediately entered at 232. The PSK demodulator is a separate routine for demodulation and detection of the PSK modulated signal such as that described in a co-pending application filed by Timothy 3urke and Scott Noble on December 7, 1981, bearing serial number 328,332 and assigned to Motorola Inc. If a keyboard interrupt is generated, the program flow proceeds as indicated at block 234 to the KEYBOARD HANDLER routine shown at 236. Otherwise, the routine will proceed to block 238 to test for the existence of the PROM module which, if present, causes the program flow to proceed to block 240 to the PROM programmer. If not, the program flow proceeds to block 242 to test the push-to-talk (PTT) transmit switch. If the push to talk transmit switch is activated, the program flow proceeds to the TRANSMIT HANDLER routine as indicated at 244 and if not activated, program flow proceeds to block 246 to test timed vectoring. If the result of the test at 246 is positive, program flow proceeds to block 248 to get the exit vector and then to 250 to the vectored routine, otherwise, program flow will proceed, as shown, to block 252 to determine whether there has been a 112 bits detected, indicating a complete data packet. If there are not 112 bits program flow will proceed to block 254 and return to the PSK RECEIVE at block 230. If the 112 bits have been detected, program flow proceeds to block 256 to the convolutional decoder for decoding of the 112 bit encoded signal and then to block 258 where the cyclic redundancy check code is computed and to 260 where the computed CRC is compared with the detected CRC. If the results of the CRC check is negative, then program flow proceeds from block 262 to 264 to the ' beginning of the PSK RECEIVE routine at 230. If the CRC check is positive, the program flow proceeds as shown at 266 to the PACKET PARSING routine. The PACKET PARSING routine is entered at block 270 of Figure 8A and program flow proceeds to block 272 to test the bounds of the ID address. If the address is outside of the bounds, then program flow proceeds, as shown, at 274 back to the PSK RECEIVE routine. However, if the ID address is within the predetermined bounds stored in memory, then program flow will proceed to block 276 where the program will test for a valid operational code (OP code) and if the code is not valid, the routine will return to the PSK RECEIVE routine as indicated at 278. If the operational code is valid, than the program proceeds to block 280 where the program will proceed to the proper mode as determined by the operational code. OMPI ^?NATlO≤ If the OP code addresses a select call mode the program flow proceeds to block 282 and then, as indicated at 284, the program is transferred to the PSK RECEIVE routine. If a priority alert mode is addressed by the 0? code then 5 the program will proceed to block 286 where the priority alert function is activated and as indicated at 288, the status key match test is performed. If there is not a match of the status key, then the program proceeds to the PSK RECEIVE routine as indicated at 290 and if the 10 <• status key matches, then as indicated in 292, the priority alert function is performed and the routine than proceeds to transfer control back to the PSK RECEIVE routine as indicated at 294. An acknowledge OP code will cause the program to proceed to block 296 for execution 15 of the acknowledge function. Program flow will proceed to 298 where the program will test to determine if it is waiting for an acknowledge and if not, then the routine immediately proceeds to transfer to the PSK RECEIVE routine as indicated at 300, however, if it is waiting 20 for an acknowledge then the program proceeds to block 302. At block 302 acknowledge functions are performed and control in the transferred to the PSK RECEIVE routine as indicated at 304. A current group OP code will cause program flow to proceed to 306 and as indicated at 308 a 25 test for waiting is again performed and if no wait, than program flow is transferred directly the PSK RECEIVE routine as indicated at 310. Otherwise, program flow proceeds to block 312 which perorms the group functions and then transfers control to the PSK RECEIVE routine as -30 indicated at 314. The PACKET PARSING routine continues from Figure 8A to Figure 83 at 316. Figure 8B, indicates at 318 that if a PTT ID function is addressed by the OP code than program flow will proceed from 313 to 320 to stop polling if polling is occuring and then to block 322 35 to test the status key for a match. If no match exists, the program flow proceeds immediately to the PSK RECEIVE O PI routine as indicated at 324 and if a match occurs, then at 326 the ID functions are performed and then the program transfers to the PSK RECEIVE routine as indicated at 328. If an alternate status function is addressed by the OP code, then the program proceeds to block 330 and then to 332 to test if the program is waiting and if no waiting is occuring, than the program proceeds directly to the PSK RECEIVE routine as indicated at 334 and otherwise proceeds to block 336 to test if a poll is in progress. If a poll is in progress, then the program proceeds to the POLL EXIT routine as indicated at 338 and otherwise proceeds to block 340 to perform the alternate status function and from that point the program control is transferred to the PSK RECEIVE routine as indicated at 342. If the OP code addresses a current operator status function, program flow proceeds directly to block 344 and from there to block 346 to test to determine if the program is waiting. If no waiting is occuring then the program proceeds to the PSK RECEIVE routine as indicated at 348 and otherwise proceeds to block 35Q to test to determine if a poll is in progress. If a poll is in progress, the program flow is transferred to the POLL - EXIT routine as indicated at 352 and otherwise proceeds to block 354 to perform the current operator status function and then transfers program control back to the PSK RECEIVE routine as indicated at 356. Finally, an OP code calling for a new operator status function (or message) will transfer control directly to block 358 and then to block 360 where the poll is stopped, if polling is occuring. Program flow then proceeds to block 362 where the status key is tested for a match. If there is no status match, then program flow is transferred to the PSK RECEIVE routine as indicated at 368 and if a match occurs, then the new operator status function is performed as indicated at 366 after which the program control is transferred to the PSK RECEIVE routine as indicated at 364. The KEYBOARD HANDLER routine is illustrated in Figures 9A, 9B and 9C and is entered by means of a keyboard interrupt as indicated at block 370. The KEYBOARD HANDLER routine at 372, immediately proceeds to get the key which was activiated as indicated at 374 and proceeds to test for the PROM programmer at 376. If yes, then program flow proceeds to return from the interrupt as indicated at 382. In addition, program flow proceeds from 396 if the result is negative at 378 to test for clock initiation, and if that is positive, the program flow proceeds, again, to return from the interrupt as indicated at 382. If the result of the test at 378 is negative, the program flow proceeds to 330 where the "system-test" function as examined. If the result is positive, again, program control returns from interrupt as indicated at 382 and otherwise proceeds to block 384 to determine the key activated, as indicated at block 384. At block 386, the clear key is tested and if positive, the display is cleared as indicated at 383 and program control is transferred to the PSK RECEIVE routine as indicated at 390. Otherwise, program flow proceeds to block 392. At this point, a display pending test is performed and if positive, program control is transferred to PSK RECEIVE routine as indicated at 394, and otherwise proceeds to block 396 to test if a PTT command is in progress. If positive, the routine returns to the PSK RECEIVE routine, as indicated at 393 and otherwise proceeds to block 400 to determine if a poll is in progress. If a poll is in progress, the routine transfers control to the PSK RECEIVE routine as indicated at block 402 and otherwise program flow proceeds to block 404 and from there to block 406 as indicated in figure 9B. At block 406, the program tests to see if a "system test" is in progress and if the result is positive, the program flow is transferred to the PSK RECEIVE routine as indicated at 408 and otherwise program proceeds to block 410. At 410, the program tests as indicated for a priority alert in progress and if the result is positive, the program flow proceeds to block 412 to test to determine if a function key had been activated. If the result is negative, the program flow is transferred to the PSK RECEIVE routine as indicated at 414 and if positive, the program flow proceeds to block 416. At block 416, the program tests for the emergency monitor option, if the result is negative the program control is transferred to the PSK RECEIVE routine as indicated at 418 and otherwise proceeds to block 420 where a test for the second function key is performed (two function keys are required to activate an emerging monitor command). If the result is negative, program proceeds to block 422 where the emergency monitor count is incremented and then to the PSK RECEIVE routine as ' indicated at 424. If the result of the test at 420 is positive, the program proceeds to the emergency monitor transmit, transmitting • the emergency monitor packet as indicated ' at 426. If at block 410, the priority in progress test is negative, • program flow proceeds directly to block 428 where the program test of the terminal is waiting for an acknowledge packet. If the terminal is waiting, the program proceeds to the PSK RECEIVE routine as indicated at 430 and otherwise, as indicated at 432, proceeds to block 434 shown in Figure 9C. At block 434, the program tests for a command-in-progress , and if there is a σommand-in-progress, the program now proceeds to 448 where the test for a function key (which is used for command execution), is performed. If the result of the test is negative, program flow is transferred directly to the PSK RECEIVE routine as indicated at 450 and otherwise proceeds to block 452 to determine if the system is waiting to poll. If the result is positive, the program flow proceeds to block 454 to transmit the start of the polling sequence, and otherwise proceeds to block 456 to determine if a "system test" is in progress. If a y ^EΛ "system test" command exists, then program flow proceeds to block 458 causing a "system test" initiation, and otherwise proceeds to a normal command transmit as indicated at block 460. If at block 434, the command in progress test is negative, program flow will proceed to block 436 and test for a pending function. If the result is positive, the program test for control vectoring is indicated at 438 and if the result is positive, the program fetches the vector as indicated at 440 and than exits to the vectored address as indicated at 442. Otherwise, at block 438, program flow proceeds to block 444 to translate the activated key to a command vector and then exits the program through the command vector as indicated at 446. If at 436, the function pending test is negative, program flow will proceed to block 462 where the key is tested for a function key and if positive, the program will set the function pending flag as indicated at 464. The function will be displayed at 466 and then the program flow returns to the PSK RECEIVE routine as indicated at 468. If the result of the test at 462 is negative, program flow will proceed to block 470 where the display buffer will be obtained (since, at this point, the key is a numeric entry) and a new key will be rotated in the display buffer as indicated at 474. The program proceeds to 476 to test for a 3 digit sahred-system configuration and if the three digit mode is present, the program flow proceeds to 478 to move the code into the fleet code display buffer, to 480 to mask the most significant digit from the display buffer, and then to block 482 to clear pending flags. Program flow then proceeds to 484 where the display is updated and then transfers program control to the PSK RECEIVE routine as indicated at 486. Figures 10A, 10B and 10C show a flow diagram of the COMMAND routine for the base unit computer program and as indicated at 492 is entered via a command vector at 490. From the entry point 490 the program flow then proceeds as indicated to one of several possible command modes. ^3 EA- OMPI If the command is a group mode command, program flow proceeds to the group mode select at 494 and obtains the display buffer as indicated at 496. The program flow then proceeds to 498 where the display buffer is tested for valid group and if the result is negative, performs a error exit as indicated at 500. Otherwise group mode is set as indicated at 502 and program flow proceeds to the PSK RECEIVE routine as indicated at 504. If a fleet select mode is called for, the program flow proceeds directly to 506 and then to block 508 to obtain the buffer display and then to block 510 to test for a valid fleet code. If the results of the test are negative, the program makes an error exit as indicated at 512 and otherwise proceeds to block 514 to set the fleet mode and then transfers program control to the PSK RECEIVE routine as indicated at 516. A transmit command will cause the program control to proceed directly to block 518 and from there to 520 where the display buffer is obtained and tested for valid ID as indicated at 522. If the results ■ of the test are negative, an error exit is executed as indicated at 524 and otherwise program flow proceeds to block 526 to get any auxiliary data. The program then proceeds to block 528 to obtain the command code to 530 to merge the OP code and data, and then proceeds to store the result in a transmit packet buffer as indicated at 532. The system flags are set or cleared as required as indicated at 534 and the PL or DPL and the audio muting are disabled as indicated at 536. The command logo is then displayed on the display as indicated at 538 and the program flow proceeds to the PSK RECEIVE routine as indicated at 540 (awaiting command execution) . The command subroutine continues from figure 10A to figure 10B as indicated at block 542. If a recall or a next in queue command occurs, the program flow proceeds to 546 to get the next memory address as indicated by block 544 and 548. Once the next memory address has been ζ^REA iT OMPI obtained, the program proceeds to 550 to test for end of memory. If the result is negative, the program proceeds to block 554 to display the stack or queue position, and then to 556 to get a return address. Program flow then proceeds to block 553 for time vectoring and then exits to the PSK RECEIVE routine as indicated at 560. If the result of the test at 550 is positive, the program causes none to be displayed as indicated at 552 and proceeds, as shown, to block 566. Block 566 may also be entered by a vector return as indicated at 562 following a display of the unit ID indicated at 564. In addition, the block 566 may be entered as a result of a first in, first out queue control toggle command as indicated at 578 which results in toggling of the control flag as indicated at 530 and a display of the flag state as indicated at 532 followed by transfer to block 566 to get a return address. Program flow then proceeds to block 563 for timed vectoring and then transfers program control to the PSK RECEIVE routine as indicated at 570. The command routine is continued in Figure 10C as indicated by block 584, where if a secondary command occurs, entry is at 586 and the program proceeds to display FNC 2 as indicated at 538 and then " sets the keyboard vector flags as indicated at block 590. Then the return address is obtained at 592 and waits for the key entry by way of an untimed vector at 594. Once the key entry has occured, program flow is transferred to the PSK RECEIVE routine as indicated at 596. Block 598 is entered via vector return and program flow proceeds to block 600 to get the entered key value and translate and then proceeds to block 602 to vector to the secondary command and than to 604 to perform the secondary command or function required. Program flow is then transferred to the PSK RECEIVE routine as indicated at 608. A flow diagram of the command transmit routine for the base unit computer program is illustrated in Figures 11A and 1 IB- The program is entered at 610 and proceeds to block 612 where the audio and PL or DPL are disabled. The program flow then proceeds to a system test to determine if it is busy as indicated at 614 and if the result is positive, the program displays "hold" on the display as indicated at 616 and then computes a random delay at 618 and waits for the busy to clear as indicated at 620. The program flow continues to block 622 to get a busy return address and then to 624 for timed vectoring and proceeds to transfer program control to the PSK RECEIVE routine as indicated at 626. If the result of the test at block 614 is negative, the program flow advances to block 628 to set the busy line and the display. The program flow then proceeds to block 630 disabling the keyboard and enabling the transmit line and waits for the preprogrammed system delay as indicated at 632. The program flow then continues to block 640 where the TRANSMIT sub-routine is called and then to 642 to log the transmission on the printer and clear the busy line. A test for polling is then performed at block 644 and if the result is negative, a test for acknowledge is performed as indicated at 646. If the result of that - test is negative, program flow proceeds to block 648 clearing the transmit flags and then as indicated by block 660 and 668 of Figure 118 program flow is transferred to the PSK RECEIVE routine. If, however, the result of the test for acknowledge at block 646 is positive, program flow proceeds to block 650 to test if this is the first transmission. It should also be noted that if the test at 644 is positive, the program flow proceeds to block 650. If the result of the test at block 650 is negative, program flow advances to block 654 and decrements a retransmission count and then sets the system flags as indicated at 656. If the result of the test at block 650 is positive, the retransmission count will be preset as indicated at 652. Program flow will then proceed to block 656 to set the system flags and from there to block 662 as indicated by block 658. A random packet delay is computed at block 662 and then the return address is obtained as indicated at 664. Program flow then continues to block 666 for timed vectoring and to block 668 where the program control is transferred to the PSK RECEIVE routine. Figure 12 illustrates a flow diagram of the RE¬ TRANSMISSION routine of the base unit computer program. The RETRANSMISSION routine is entered at 670 where the return address is obtained and proceeds to block 672 to test for the retransmission count equaling zero. If it is not zero, the program control advances to 674 where the retransmission count is decremented and program flow is then transferred to the COMMAND TRANSMIT routine as indicated at 676. If, however, the result of the test at 672 is positive, program control is transferred to block 678 where the no-acknowledge flag and system flags are set and to block 680 where the "fail" indication is displayed. The program flow continues to block 682 where the no acknowledge is logged on the printer and the program proceeds to block 684 to test to see if a poll- is in progress. If the result is negative, program flow is transferred proceeds to the PSK RECEIVE routine as indicated at 690. If the result of the test at 684 is positive, the poll count is advanced as indicated at 686 and an exit to the POLL EXIT routine is executed as indicated at 688. A flow diagram of the POLL EXIT routine for the base unit computer program is shown in Figure 13. The POLL EXIT routine is entered, as shown, at 692 and program flow immediately proceeds to block 694 where the poll count is tested to determine if it is equal to the pre¬ programmed maximum value. If the result is positive, the poll is stopped as indicated at 696 and program control is transferred to the PSK RECEIVE routine as indicated at 698. If the result of the poll test at 694 is negative, the program flow continues to block 700 and advances the poll ID number and then proceeds to block 702 to set up the data packet and to 704 to set the system flags. The program flow then proceeds to block 706 or timed vectoring and exits to the COMMAND TRANSMIT routine as indicated at 708. The DATA TRANSMIT sub-routine flow diagram is shown in Figure 14 and as indicated, the sub-routine is entered at block 710. The program flow proceeds immediately to block 712 where the 32 bit data packet is obtained and then the CRC code is computed at block 714. The data packet is then encoded into the transmit buffer as indicated at 716. The program flow then proceeds to block 718 where the preamble code and sync code are obtained and appended to the transmit buffer as in¬ dicated at block 720. The entire data packet is transmitted by the transmitter using PSK modulation as indicated at 722 and the program control returns from the sub-routine as indicated at 724. Figure 15 shows a flow diagram of the PROM PROGRAMMER HANDLER routine for the base unit computer program. The PROM PROGRAMMER HANDLER routine is entered, as shown, at 730 and program control proceeds immediately to 732 to test for the indicated option. If the result is negative, an error exit is executed as indicated at 734, and if the result of the test is positive, the program flow advances to block 736 to get the keyboard key. Program flow then proceeds to block 738 where a test is performed to determine if the programmer is connected and if the result is negative, the program control is transferred to the PSK RECEIVE routine as indicated at 740. If the result is positive, however, program control continues to 742 where the key is tested to determine if it was a clear key. If the result is positive, the display is cleared as indicated at 744 and the program control transfers back to block 736. If, however, the result of the test at 742 is negative, program flow will proceed to block 746 where the key is tested to determine if it is a function key. If the result is that it is a function key, the program flow advances to block 748 where the function mode is set and to 750 where the FNC 3 indication is displayed. Pro¬ gram flow is then transfered back to 736. If the result of the function key test is negative, the program then proceeds to block 752 to test to determine whether the one or three key was activated. If the result is negative, an error indication is displayed as indicated at 754 and the program flow is transferred back to block 736, as shown. If the result of the test at 752 is positive a test to determine if the one key has been activated is performed at 756 and if the result is negative (meaning the three key way pressed) the code plug is programmed as indicated at 758 and the program flow proceeds to block 760 to read and display the code plug. If the result of the test at 756 is positive, the code plug is read as indicated at 760 and the program flow then proceeds back to block 736. Referring now to Figure 16, there is shown a flow diagram of the START routine of the mobile unit co pu- ter program. It should be immediately noted that the START routine can be entered at -four entry points in¬ dicated as START at block 780, PSKREC at block 784, PSK at block 788 and MAIN at block 792. Entering the START routine at block 780 the program flow proceeds directly to 782 where the ports and external bus are cleared and the code plug is read. At this point, the PSK RΞC entry point at 784 permits entry to block 786 where program flow proceeds to set up the necessary muting. After block 786, the entry point PSK indicated at 788 permits entry to the next flow position at 790 which sets up the PSK RECEIVER and the START interrupts. Program flow then proceeds to block 794 which can also be entered from the MAIN entry point indicated at 792, where the channel monitoring is performed utilizing the PSK RECEIVE routine. Program flow continues to block 796 where the PTT switch is checked to determine if it is on, and if the result is positive, the program exits to the EXT routine as indicated at 798. If the test at 796 is negative, the program flow advances to block 800 where the program tests for a switch change and causes the program control to transfer to either the TRANS routine, the ΞMERG routine the P1CKK routine, or the HU3CHK routine, determined by which type of switch change occured, as indicated at block 802. If the test shows that no switch change has occured the time out timer is checked to see if it has timed out, as indicated at 804, and if the result is positive, program control is transferred to the TIMCHK routine as indicated at 306. If time out has not occured, then program flow proceeds to 808 where a test for word sync is performed. If word sync exists, than program flow proceeds to block 812 where phase ambiguity is corrected in a data buffer. Program flow will then continue to block 814 where the- received data word is checked to determine if the full 112 bits have been received, and if the result is negative, program flow proceeds to block 820 where the data operated squelch provides muting. In addition, if the test result at block 808 was negative, program flow would proceed to block 800 where a data operated squelch (such as that described in a copending application filed December 7, 1981 by Scott Noble with serial number 328,359 and assigned to Motorola, Inc.) tests for presence of data and if data is detected then program flow proceeds to block 820 to will mute the audio and transfer control back to block 792 which is the MAIN entry point to the routine. If the result of the test at 310 is negative, program flow will proceed directly to block 792 and then directly to block 794, as shown. A positive result in the test of block 314 will result in program flow being directed to block 822 to the decode section of the routine. Program flow then advances directly to block 824 where all interrupts are disabled and the 112 bit data is decoded. The program flow then proceeds to 826 where a cyclical redundancy check determines the validity of the data. And if the result is negative, program control is transferred from block 827 to the PSK input of the routine at 788. If the result of the test at 826 is positive, the program flow continues to 328 where a test is made to determine if the system is in the emergency mode. If yes, program flow proceeds to block 830 where a check is made for the emergency monitor OP code. If the result is positive, the program control is transferred to the EMRMON routine as indicated at 834 and otherwise to the PSK input of the routine as indicated at 332. If the result of the check at block 828 is negative, program flow transfers to block 836 where the ID address is checked for validity, and -a negative result causes the program flow to be transferred to the PSK input of the routine, as indicated at block 838. If the result of the test at 836 is positive, the program flow proceeds to block 840 where a check is made of the OP code and argument against the code plug to verify that the unit has been programmed to handle the option indicated. At block 842, the program checks to determine if the function indicated is possible, and if the result is negative, the program flow is directed to the PSK input of the routine as indicated at 844. If the result is positive, program control proceeds to block 846 where the function is performed and need for data acknowledge checked, as shown in block 848. If the result is negative at block 848, program flow advances to block 852 where program control will be transferred either to the PSK or the PSK REC input of the routine depending upon muting, as indicated. If the result of the test at 848 is positive, a quarter second wait will occur before a transmission of acknowledge or data back to the base, as shown at 850. Figure 17 shows a flow diagram of the EXT routine of the mobile unit computer program and is entered as shown at 854. Program flow proceeds directly to 856 where the interrupts are disabled and the code plug is read and then at 858 the program tests the code plug data to determine if the unit has PTT control. If the result is positive, program flow proceeds to 860 where the PTT is turned on and to block 862. If the result of the test at 858 is negative, the program flow advances directly to block 862 where approximately a 36 millisecond wait occurs to permit a check of the data inhibit line. The data inhibit line is then checked as indicated at 864 and if the result is positive, program flow is transfered to block 882 as shown where the program waits for a PTT signal for 180 milliseconds while the receiver is muted. If, however, the result of the check at block 864 is negative, a check for the talk around option will be made as shown at block 870. If the result of the test at 870 is negative, program flow will proceed to block 868 and 872 where the PTT one shot will be checked to determine if it is set and if the result is positive, the program flow will proceed to block 882 as shown. If the result is negative, the program flow will proceed to block 874 where the code plug will be tested to determine if a PTT ID is to be generated at the beginning, and if the result is positive, then the necessary status switches are obtained and the system delay is started following which the ID is sent at the beginning of the transmiss¬ ion, as indicated at 876. Program flow will then - S2 - continue to block 878 where the code plug is checked to determine if a PTT ID is to be sent at the end of the transmission. In addition, if the result at block 874 is negative, program flow will proceed to block 878 and if the result of the test at block 878 is positive, the switch values will be determined and the system will wait for the PTT switch to be deactivated and an end of transmission ID will be sent as indicated at 880. Program flow will then advance, as shown, to block 882 after which the program flow will return to the PSK REC input of the START routine. If the result of the test at block 870 is positive, the base, group, and fleet ID's and switches are checked and system delay is added in at 880. Followed by sending of the packet and a wait for an end of transmission signal from the PTT. Program flow then proceeds to block 890 where the mute packet is sent with no system delay followed by a test for group or fleet call as indicated at 892. If the result at 892 is negative, program flow will advance directly to block 882 as indicated, and if the result is positive, program flow will transfer to block 878 to determine if an end of transmission ID should be sent. The program flow is then transfered from block 882 to the PSK REC entry point of the START routine as indicated at 384. A flow diagram of the TRANS/EMERG routine of the mobile unit computer program is shown in Figure 18. This routine can be entered at four points indicated as TRANS at 394, EMERG at 924, RΞTRAN at 904, and EMREPT at 932. Entering the program at TRANS indicated at 394 program flow proceeds directly to block 896 where the interrupts are disabled and the code plug data is read whereupon a test is made to determine whether the status option is allowed as indicated at 898. If the result is negative, the program flow transfers to the PSK input of the START routine as indicated at 900 and if the result is positive, the program flow advances to 902. At 902, the data cycle is started wherein a low is put on the data cycle line to indicate status is being sent and the transmission count is set or a wait period is established to allow channel scan. Subsequently, program flow will proceed to block 906, however, block 906 can be entered from block 904 the RETRAN entry point. At block 906 the count is tested to determine if it is equal to zero and if the result is positive, the no acknowledge light will be activated as indicated at 903 and program flow will transfer to the PSKREC input of the START routine as indicated at 910. If the result of the test at 90.6 is negative, a random time out period is fetched as indicated at 912 followed by a test of the data inhibit ' line at 914. If the data inhibit line is on, the program flow will be transfered to the PSK input of the START routine as indicated at 916 and if the line is not on, the status packet will be set up as indicated at block 918. Program flow will then continue to block 920 where the count will be decremented and the packet transmitted and the program flow will be transferred to the PSK REC input of the START routine as indicated at 922. If however, the routine is entered at the ΞMERG entry poi_nt indicated at 924, program flow proceeds directly to block 926 where the interrupts are disabled and the code plug is read. The program then continues to block 928 where the priority mode is started followed by starting the data cycle and setting the transmission count in establishing the required wait period as indicated at 930. Program flow then advances to block 934 however, this point of the program can be entered at the entry point EMREPT as indicated at 932. At block 934, the count will be tested to determine if it is equal to zero and if it is, the priority mode will be stopped, as indicated at 936, and program flow will be transferred to the PSK REC input of the START routine as indicated at 910. If the count is not equal to zero, program flow will advance to block 938 where the random time out period is fetched followed by set up of the priority packet as indicated at 940. Program flow will then proceed to block 920 where the count will be decremented and the packet transmitted followed by a transfer of program control to the PSK REC input of the START routine as indicated at 922. Referring now to Figure 19, there is shown a flow diagram of the P1CHK/HUBCHK routine of the mobile unit computer program. This routine may be entered at two •points; the P1CHK entry point indicated at 942 and the HUBCHK entry point indicated at 966. If the routine is entered at 942, program flow will proceed directly to blocks 944 and 946 where the switch will be tested to determine if it has changed from a zero to a one. If the result of the test of the switch at 946 is negative, the program flow will transfer to the MAIN input of the START rountine as indicated at 948, and if the result of the test is positive, the program flow will advance to block 950 where the interrupts will be disabled and the code plug will read. Program flow will then continue to block 952 where the call reset switch will be checked to determine if it is on. If the call reset switch is on, relays and call lights will be cleared as indicated at 974 and the program control will then be transferred to the PSK REC input of the START routine as indicated at 976. If, however, the result of the test at 952 is negative, program flow will proceed to block 954 and 956 where the status switches will be checked to determine if there has been a change. If no change has occured, program flow will transfer, as indicated, to 964 and if the result is positive, the program will continue to block 958 where a test is made to determine if the auto status option is available. If the result is positive, program control is transferred to the TRANS routine as indicated at 960. If the result of the test at 958 is negative, program control proceeds to block 962 where muting will be opened to permit channel monitoring. Program flow will then be transferred to the PSK input of the START routine as indicated at 964. If the routine is entered at the HUBCHK entry point indicated at 966, program flow proceeds directly to 968 where the interrupts are disabled. The hangup box will then be checked to determine if it is off hook as indicated at 972. If the result of the test at 972 is negative, program flow will proceed directly to 976 and if the result is affirmative, the relays and call light will be cleared as indicated at 974. The progam control will then be transferred to the PSK REC input of the START routine 976. Figure 20 shows a flow diagram of the TIMCHK routine of the mobile unit computer program and is entered as shown at 978. The program flow proceeds to block 980 where the interrupts are disabled and the program then vectors program control to the proper routine as indicated by blocks 982, 984, 986, and 988. Figure 21 shows the flow diagram of the ΞMR MON routine of the mobile unit computer program and, as indicated, this routine is entered at block 990. Program flow proceeds directly to block 992 where the argument is checked to determine if it is equal to 0 and if the result is positive, program flow proceeds directly to block 994 where the priority mode is stopped if it is on and then to block 996 where program control is transferred to the PSK REC input of the START routine. If the result of the test at 992 is negative, the priority mode is checked to determine if it is on as indicated at 998. If the priority mode is not on, the PTT is disabled as indicated at 1202 and if it is on, the PTT is turned on as indicated at 1000. The program control then advances to block 1004 where the variable COUNT is set to equal the argument afterwhich the count is decremented at 1008. In addition, the routine may be entered at this point at the entry point MONRPT indicated at block 1006. Program flow will advance from block 1008 to block 1010 where the count will be tested to determine if it is equal to 0. If not equal to 0, program flow will transfer directly to block 1014 and if it is equal to 0, then the program flow will continue to block 1012 where the PTT is turned off. The program control will then transfer to the PSK input of the START routine as indicated at block 1014. A flow diagram of the TONES routine of the mobile unit computer program is shown in Figure 22. The routine is entered at block 1020 as indicated and program flow proceeds directly to block 1022 where the tone count is decremented. The COUNT is then checked to determine if it is equal to 0 at 1024 and if the result is positive, the program control is transferred to the PSK input of the START routine as indicated at 1026. If the test at 1024 is negative, the program flow proceeds to block 1028 where the time out timer is set up after which the alert tone is generated, as indicated at 1030. Program flow then continues to block 1032 where the transmission switch is checked to determine if it is on, and if it is, the program flow jumps back to block 1030 where a tone is generated. If the trans switch is not on, program flow proceeds to block 1034 where a 300 millisecond wait occurs before returning to the START routine at either the PSK or the PSK REC input. In summary, an improved general purpose data control terminal, particularly well adapted for use in multiple unit radio communications systems, capable of both voice and data communications, has been described. While a preferred embodiment of the invention has been described in detail, it should be apparent, that many modifications and variations thereto are possible, all of which fall within the true spirit and scope of the invention. APPENDI X I The following is a memory dump of the computer program for the base unit MC6803 microcomputer according to the invention. 1080000028432920434F5059524947485420313979 1080100038322C204D4F544F524F4C4120494E4343 108020002E54494D20425552434500010102010298 10803000028301020283028383840102028302839A 103040008334028383848384848501020203020380 10805000038402030334038484850203038403846A 108060008485038484858485858601020203020356 10307000033402030334038484850203038403844A 108080008485038484858485858602030304030430 10809000048503040485048535860304048504851A 1080A000858604858586853686870B0906030008F4 1080B00005020A0704014F970897B686089700CΞ75 1080C0000190B648174625053D85F42003BD85FOOF 1080D000F668009602BD8F7E16C10C240FCE80AAD2 1080Ξ0003AΞ600D7A096A2850427043BD7C03B8E72 1080F00000FFC10B2623D6A42B12853A261196A386 1081000085482603C50B2607BD8D6C3F7E945ABD56 10811000863F3D8D7D3D8D963F96A323EE350826AF 10812000EA96A4358126E496A285202713C10A2613 1 813000DAB64816850827D37300BF26CE7E862A76 10814000851026C785082717C10A26BF96A4850271 108150002607854026067E86807E86637E944A8535 10816000022720DEC496A4850827026E00CE4800B0 103170003AE600863FC1FF275ED7A1CE31E33AEΞ03 10818000006E00C10A260F86 297A297B57F00CE27 10819000C630BD8C033F96B527064F5F97B5DDB35C 1081A000DCB3BD8F79DAA08D21BD8D8DBD8D963F5D 1081B000F6 80BC4F0D79DF6480DC4F0D19D2609B2 1081C000F6481158585858D19D39D7B48DE2260435 1081D0O0840F9A9D9733398E00FFBD86ODCE93AB69 1081E0007E939E821382B882FF832E8336833E83E2 1081F0009A83B383BE83C383CB83D383DB83E38340 10820000EB83F384058405849C83609352853385CΞ 10821000A193D7CE3252DFC6C610BD8C0386F097DD 10822000A1CE8230DFC4CC0200DDA2860897A43F35 1082300096A0810A26037Ξ846FD6B527055FD7B541 10824000D7A1D6A1BD8F79DAA0BD851EDDCABD8DAF 103250001D3FBD82EF97BAD6B1C1EF271DD7B9CC6C 10826000507DDDD1D6BABD851EDDCFCC0040DDA26C 108270005FD7CEBD81CABD8D093FCΞ82A9DFC6CCF6 108280000040DDCACC3871DDCCBD8D1DCE8297DFBC 10829000C486EF97A1208FD6A0C10A26037E846FE3 1082A000CAE0BD851E97CA2OA596A181EF26O58646 1082B000667E81D797B920A786FF97BA96B181EFDE iREAi 1082C000271C8AE097B9BD81B02717840F16BD859A 1082D0001E97CFC640D7D0CC3871DDD1208D86FF18 1082E00097B9CC3838DDCFCC7700DDD17E826B9664 1082F000A191B0250591AF220139864F7E81D70D1E 108300008D6CCC6204DDB78611F6481DC5202602AF 108310009703BD8883B6481685202606D687C4BF06 10832000D7B7D6A1C00458CE8C9ABD8C063FOD8D10 108330003DCC620520CF0D8D35CC62OE20C70D8D52 108340002DCE8349DFC67E8218CC0920DDA2BD82F6 10835000EF97B8866E97B7BD8D0986.0A97A120A7BB 108360000D8D0BCC6385209D96A38A1897A3DCA264 108370008A09C4DF240FCA20C540270986067E81EA 10838000D7865B20F9DDA2C540260EDCB3DDB993AC 10339000AD25EEDCAB93B925E8390C8DD1CC238328 1033A000DDB7D6A3C5402608CA20D7A38A4097B711 108330007Ξ33Q70C8D38CC238220E50C8D3OCC23B6 1083C0008120DDOC8DA8CC238020D53D2DCC23365B 1083D0007E83050C8D98CC2A0E20C50C8D90CC2A5E 1083Ξ0000C20BD0C8D82CC2A1020E50C8D80CC2A6F 1083F0001D20AD8D05CC238420D60DBD836E96A3A4 1084000084DF97A3390DBD836EDCB9DDA67F00A59F 10841000CΞ8479DFC6963297CECC0909DDCADDCC11 10842000BD8D20CC0200DDA2860897A4CE8432DF69 10843000C43FB648172A29D6A026075FD7CE3D8DΞO 10344000203FC10A2729C10927E7C10826073648E6 1084500014851027DC6ACE92B03AE600DACΞ20DC42 10846000D6A0C10A2709D6CΞBD3F79DAA020CD7F4C 1O84700O00A47F00A2DEC66E00D6CED7A896A1C605 108480000581222702C604D7B8866297B7C602D7ED 10849000A4CC0920DDA27F00CE7E83070CBD836EB5 1084A000DCA2DDB7CE84ADDFC64F7E8417DCB7DD3E 10843000A2D6CE86257F00CΞ7E83AOCE84CFDFC419 1084COOOD6A3C440CA304FDDA2CΞ0258DF9E3FD65D 1084D000A3C440D7A33D8DC6BD8D093FB64818467D 1084E0002505866D7E81D796C226037E95D7BD88E9 1084F000AAD693BD8F79DA928D24DDCA5D2604C693 108500003FD7C3D695C403BD8F79DA948D10DDCCDF 10851000BD8D1D8604B76000CE93AB7E939ED7A120 10852000C40FCE8D623AA600978E96A1BD8F7E169F 108530002706CE8D623AΞ600968E39D6E12714D70B 10854000A18DDBDDCACC4000DDCCBD8D1DCE855ΞAE 108550007E84BEC600BD8C03CE855E7E84BE96Ξ260 10856000C6043DC37800373638EC00260CEC0226F2 1085700008C604BD8C037E8433ECOOD7CE5F4D26BD 10858000054CA700C620D7A2EC02DDB3BD8D997F34 1085900000A3DCE18B01195CC14026024F5FDDE1E5 1085A0003FDED99CDB27CABD93335FD996DE8B9998 1085B0001997DE96DD89991997DD9CDB27B3DCDD01 1085C000BD8F79D78E978FBD8CE6867797B597CF7D 1085D000BD8D09CE85D97E84BEDED9BD9335A60278 1085E00097CΞEC00DDB3BD8D8DBD8D993FCE019052 1085F000C617D701CC0136D30BDD0B960885402773 10860000FA880197080926ECC615D70139CE5079AA cy : 10361000DFCC5FDDCABD8D1D860336CE00C88DD090 : 10862000CEOOC88DCF324A26F1398D13BD8883BD67 :1086300083FACC2386DDB797BE862897A12044967F : 10864000BD84FE97BD39DCA6BD9341DDA63996A554 : 10865000B14812240A8DEFDDB9270493AB2304BD82 : 108660008D8D3FCC0180DDA2860197A4CE8674DF7C : 10867000C47E84C9DC39DD33BD8D96CC0820DDA2F3 :10868000BD88898611F6481DC520260286159703E8 : 10859000BD87AAOF8D632A13C614BD8C038D68 6FF : 1086A000A38A8097A3CE8693DFC43FBD8D09BD8783 :1086B000B3C608D700F74000C614D703BD87CAB6B3 : 1086C000481785042705BD87842003BD878A861542 : 1086D0009701970396A42318BD978BDCA2C5202683 : 1086E000443D88AODCA28420C440DDA27F0QA43F5A :1086F000BD8646BD95434F204E96C3C6CC5A26FD37 : 108700004A26F336580039960A84034C978D364825 : 1087100019840FC63C3DC300C3DD9ED39Ξ7A008DF5 : 1087200026F9DD9E39851027057AOOC8201B96A4FE :10873000442507B64816852027A7B64813840F247A : 1087400006B648133D3F7Ξ97C8CC1120DDA2CE8718 :1087500056DFC48D323F3D88A096C827037E8680B1 : 10876000CC08049700D7A34F97A296A42B13C61842 : 10877000BD8C03BD978B96A44424DA7COOA57E862D : 108780004Ξ7E94518D143D5D8D20CE00372056CE37 :1C37900000B78D518D148D02204BFC481ADD8A7F65 :1087A000008986019738CE008839CC112483000186 : 1087300026FB39C61536481985402702CA02D701D3 : 1087C00096BD8A40973DB7500039B64819340F2727 :1087D00013F6481DC51027034A2709CE5000092665 : 1087Ξ000FD4A26F7398604F6481DC5102702860B78 :1087F000979CEC00DD88EC02DD8ABD8F83DD8C86E2 : 10880000383D8BC90CBD8BF35917BD83E246BD8BB0 : 10331000D57A008526EECC0C08D7039700CC07093E : 10882000DD89CC2A44DD8B866F978DCE8869DF8108 :108830009608CC019AD3O9DD0B0E8655979D8D1AAB :108840007A009C26F5CE0089A600979D8DOC088C99 :10885000009C26F40F86089700398608C6053Ξ5A04 : 1088600026FC78009D4A2βF439D608C30lD7085658 : 1088700056D89D5949494984049702CC019AD30B93 : 10888000DD0B3B96BD847F200A96A285202610969C : 10889000BD8A80F65800C508260597BDB750003937 : 1088A000D6BDC4BFD73DF750003996CE3D8F7Ξ84ΞC : 1088B000089783CC0400D785CE00909A3DB750OOAE : 1088C000CC14315A26FD9A3DB75000D6853D8F799C :1088D000DA83F760003DD6024FBD8F7EΞ7OOO87C4B : 1088Ξ00000858C009D26Ξ4D6BDCA04F75000C4FB69 :1088F000F75000399602730083271C16988AD78A86 : 10890000D8085476008344CCOOB02403CCOOBAD3FA :108910000BDDOB7A008C337A008CD608C801D70897 : 1089200036960216988AD78A44CC00E72403CC00F6 : 10893000DDD30BDD0B3298024476008D3B0F3E00A9 : 10894000FFCC0815DD00D7033740004F5FCΞ008392 :10895000Ξ700088C00E326F897089702867Ξ978048 1089600053D7C1D7DFCΞ7A80F64818C5102603CE7C 108970007900DFD5DFD7DFD3F64819BD8F7ΞC4037A 10898000CA04D7108602971197E3FC480BDDABFCB5 10899000480DDDADFC480FDDAFB6481197B1B648C4 1089A000lE97B2B6481F4C97C3BD964B3n83AAC64A 1089B0008409A60026238C009226F6C680CE78006D 1089C000A700A6002613088C800026F4CS7900DFC5 1089D000D9DFD3BD8D6CB6481D840F3101270CC625 1089E0007CBD8C0386053D861A20F9BD85ΞDC66C5D 1089F000BD8C03B65800492A037E9B9CBD9A3C8ED1 108AOOOOOOFFCE00836F00088C009E26F8CC05087E 108A1000973CD70896C397BB96A2843F97A2CC00A9 103A20008DDD86CE38F4DF81DC09C30014DD0BOEFA 108A3000963C26FC3605978C9683169884D784D6C8 103A4000S873008927037Ξ8AΞ1 424095CC10226D9 108A5000045F7C008CD788D68DC41FCS802A3AE66S 108A600000C40786051040939C1381F025014F81A7 108A7000C8250286C8979CD6BD8114250C969D26D4 108A8000068664979D979CCA80F74000BD8F2AF7A1 108A90004001B65800492A037Ξ893D960285022787 108AA0000936481D2B040F7E8DΞ3DC9Ξ830001DD93 108A30009E96A2240E7DOOA3230485102705DEC4FC 108AC0000F6Ξ00852127175385202709963E260599 108ADOOOCC08172407CC001525028608DD007Ξ8A05 108AE000304424095AC1FE26045F7A008CD788D603 108AF000849683230156CE802AC41F3AA600D6A29C 1 3B000OC54O2722C63CD79DD79CDE86D685C17O3Ξ 1083100026022077C5072603 8DF865CD78598 242 108320004869007E3A30CE003Ξ483D8BF8CE802A00 108B30004FD68EC807543AA900CE802AD68FC809CΞ 10834000543AA900CE802AD690C82A543AA900CΞ19 108B5000802AD691C844543AA900CΞ802AD692C819 108360006F543AA900847FD6A2C43F8105230681B1 10837000232504CA80CA40D7A2D636270386175A27 108B8000260286159701D7367Ξ8A300F36368D3934 108390008D508D4159Ξ80056D68459D784C453CEA0 108BA000802A3AA600840781022F08DC838840C807 108BB00013DD83968349498D3A7A008526D23D8F8D 108BC00083938C26037E8FB03F9785CC008DDD8606 108BD0004F5FDD8339D68359D783C465CE802A3A67 1083EOOOE600DE86088C009C2603CS008EDF8656C3 1083F000690039CE00886905690469036902690161 108C0000690039CE8C123AEC00DDCAEC02DDCC7Ξ74 108C10008D1D501C390079373F37545C000071714D 108C20003F000000507D5E065C743830777106545A 108C30005877383877397F7F7F7F310737395E54EF 108C4000790054587100535458713107796D733E47 108C5000507D5C38507D733E373E5C38373E795ΞE0 108C6000796D735E39004F545871503839005E3059 108C7000373E5E30507D5E3038717D5C50735C6392 108C8000635C00396D000000396D5C7D00007C0084 108C9000507977005079390050796D5C50006D77CC 108CA00050007D586D007D5839005831075E3931CC :108CB00007795827335E3927337977736D00797DCB : 1G8CC0007773797D777338387739383877396D5ECF : 108CD0003E006D3F73006D7773006D776D007639E0 : 1C8CE000500076396D00DC8E8D16D7D1168D11D7D8 : 108CF000CFDC8EBD8F7E8D08D7D2168D03D7D039AD : 1G8D0000CE8D62C40F3AE60039CE00D25F8D449713 : 108D1000CD8D4097CC8D3C97CBA60097CABD8DC614 : 1C8D2000864097C9CE00C9C607D785A6005F4659B9 :108D3000F76000CA02F76000C401F760007A00859E : 108D400026ΞB088COOCF26DF96CEBD8F7E8408B739 -108D5000600039A60009813F27025C395D2701398F : 108D60004F393F065B4F666D7C077F6F8DOFDDE1EE : 13SD70003D81CADED99CD3271D387E853E963D84A9 : 108D80008297BDB75000BD8889861597034F5FDD78 : . 8D9000A297A4DDBE397F00CEDCB3D78EBD81B0F3 : 1 ;8DA000260234OF978FDE8E27063D8CE67E3D0906 :1:SD3000B648184724F496C226F0CC4040DDD18650 : 108DC0003FDDCF7E8D09B648172A17B648142312FF :1 8DD0008510260E96CE847FDED99CDB27028A8002 : 108DΞ00097CE3996C397BBBD88897F400086089788 : 138DF00000DCA284FD97A2C5082626853C2613DC4C : 108Ξ0000A3C5032707BD8D7D8D8C20065625034DF3 : 103S10002AOFBD87COBD9A12BD87AABD8F187Ξ8Ξ4E : 108Ξ2000B53653002A2AC6143D8C03BD87AA8662OF :10SE3000D602C5022606BD3D097E8ED5F658002B3A : 108Ξ 000073D86F92BE820084A26E53D8F2820DEDD : 133E5000BD87C03D8D09D6A3C50826207F00CEBD25 : 103Ξ60008D09B648192A1596C127110CBD8363CC07 : 108E70002A10DDB77F00A1C620BD8C03F64817BDC0 : 138E80008F7E96A38408462608BD37AA3D9A122025 :103Ξ90002C363D87B386149703BD87CA32818426DA : 103EA000053D8784200E4D2A083D87963D9A1220E5 :108E300006BD878ABD9783C615D701D703CC2A007C : 108EC000DDB7B64817BD8F7996A3841046363D8F9F :108ED00018324D2608BD87AABD9A122022C614D783 : 108EΞ000038188261EBD878FCC15009703D7A2D695 :108EFOOOA3C440D7A3860297A1BD978BBD8D09BDA2 : 108F000088A03F81082605BD878A20DCBD8796C6DC :108F100015D703BD9A1220E48696D602C502260113 : 108F2000394A26F68D0220F0D6BDDED59CD7260D17 : 108F30007AOOBC2602C4FD96C397BB2032C5022628 : 108F400014365800850426ΞF7AOOBB2622CA028692 : 108F50001497BC201A9603850827149611852027 C : 108F60000E9CD32603CE800009DFD5A6009713F709 :108F7000500096BD0556D73D3905050505390404D1 : 108F8000040439CE00884F5F37A8009787444444D3 :108F90004498879787164F05050505D78605988657 : 10SFA0009786D887329886088C008C26DB43533905 :108FB00086089700B6481885082705BD92552618DB : 108FC000BD90602714BD9067272BDC8AB3480D2520 :108FD00007FC480B938A241D3FD6B1C1EF2704D163 : 108FΞ0008A26F58D7B26F1D68BC1FF2708D1B025C7 :108FF000E7D1AF22E3B648148508276FDE888C2AB4 109000001026128D6227098D572705BD91D1251A8B 10901000BD888320158C2A0026518D4B27098D4051 109020002705BD91D12503BD3889BD99047F00CE58 109030008D3527108D2A270CCC0100DD88BD91A627 10904000BD92B83FBD91C18520262BDC8ADDB9C118 109050O0FF27037E825F81FF27037E82C67E82E236 10906000968A84F081Ξ039DE8A08399688264AB6E5 109070004814850426013FBD9904B6481734402743 1090800011BD92652505BD91D124077F481CBD9176 10909000E13F96A285202706DE8A9C3327097F0040 1090A000BE96BD8A0197BD3D92B8BD91DC86209762 109OBO00A2BD91C1BD91B020D581032626968926F7 1090C00017BD92552612BD91C496A42B0CBD9904D0 1090D000C61CBD8C037Ξ843B3FDCA93D9341DDA9CA 1090Ξ0007Ξ9451810E261DBD925126ΞC3D91C1BDCD 1090F0009904D689BD851ΞDDCACC507DDDCC3D8DE1 139100001D7E8433810526253D9251261FBD91DCA5 10911000BD8D09BD9904BD91C496A446240Ξ7C0062 10912000A5BD926124037Ξ864E7F00A43F81442624 1091300033B648148502272BBD9904BD92A125188A 10914000B648188510270C96DF27083D92FE3D8D06 109150001D200D3D92B38D4Ξ3648162A03BD9289CA 10916000BD91E13F8104260DBD925126F63D91DCF3 10917000BD8D99209E810126EA364314350127E31A 109180003D99043D92A125053D92388D19364816AA 1091 000854027CFB6481423053D928920C59689F6 1091A00023F7BD92953F96A28520262F8D2E8D11EF 10913000DE8A9CB32704867397B6DC8ADD537E8D81 1091CC00997F00A496A284205FDDA27300357E88F3 1091D000AODC8A93AD2504DCAB938A39963997CEBF 1091E00039B64816851027078D7325643648164783 1091F000245E4725048DDA255796A38A0197A3BDDF 10920000978BCE03E83D85F0CC23007D0088261027 10921000B6481685082707963E2703F6481C862001 10922000DD88B64816850426OA36580023FB3D8695 10923000F92BF696BD8A40B75000C614D703BD87F8 10924000CACE0088BD87E58615970396BD37500046 109250003991B82603DE8A9CB9260596A243851063 109260003996A8200296B2978E0C9689F64814C536 10927000102602847FF64817C52026069 8E260104 109280000D39948E988E26F839BD91D125D28DD581 1092900026CΞ7E8883BD91D125C68DC925C27Ξ8805 1092A000890C364817850227378DBA25337Ξ91D13O 1092B00001020408102040803648188520273EDEB1 1092C0008ABC7802261BDC383178002614F8780165 1092D000272B8101260BB6481485102604C47F274E 1092E0001CCE78FC09A600A7048C780026F6DC8A40 1092F000FD7802DC88FD7800CC0101DDE139DCDBA2 1093000093D9271C3736388C017D27058CFFFD2625 109310000139DEDBΞC00938A2606A602918927F143 10932000DEDB8D11DFDBDC8AED0096S9A702DCDD53 109330008D0FDDDD390803038C7A802603CΞ790090 1093400039DD8E968F8B0119978F968E890019D6ED OMPI 109350008F39C634BD8C03CC0200DDA2860897A4E9 10936000CE9366DFC43FD6A07F00A4CE9376583A52 10937000EE00863F6E0084DC94C7938C9526948320 10938000946994AD93C393E093F681D7BD81B026E1 1093900005866D7E81D7C664BD8C03CΞ93B2DFC4D3 1093A000CC0080DDA2CE04B0DF9E3FBD8D8D3D8D93 10933000 63FCE93BDDFC6CC77407E828296A19742 1093C000B120Ξ8B648192AC97300C127OFC608BDE5 1093D0008C03CE93AB20C77300DF26F1C60C20EFC1 1093E000DCB384OF8309992605BD968B20BD3D9AF9 1093F0002FBD96AD20B596C026104F4397CEC624FC 10940000BD8C03860CB7600020C8C65CBD9C6CCECA 1094 00094142010DΞA6DFB30DBD836ΞC628BD9C5C 109420006CCΞ9423DFC64F5F7E94D9DΞA626037EDA 1394300093A3DF334F5FDDA6DDA9CC6385DDB736D7 109440002897A1864097A47E84913D9A52368097Ξ2 10945000A4DEA69CB327037E867BBD9A52C62CBD94 109460009C6CDCA9DDB37Ξ81OFC638BD8C03CE9425 10947000747E939ECΞ947CDFC67E3415D6CED7B202 109480007E93ABC63CBD8CO3CE948E7Ξ939ED6AFAE 10949000CE94A5DFC6BD851EDDCACC507DDDCCBD1A 1094A0008D1D7E8221BD956897AF7E93A3C640BD72 1094B0008C03CΞ94B87E939ED630CE943F20D4BDFC 1094C000956897B07E93A3C6443D8C03CΞ94D27Ξ94 1094D000939ECE951DDFC6DCABDDA68D66CG02006B 1094E000DDA2860897A4CΞ94ECDFC43F96A0810A43 1094F00026067300357Ξ846F8D013F963527064F13 09500005F97B5DDA6DCA6BD8F79DAAOD7A73D81BO 10951000B0260484OF9A9D97A6D6A720268D35DE07 10952000A6DFAB7E93A3C6483D8C03CE95317Ξ9350 109530009ΞCE953ADFC6DCAD209F3D18DΞA6DFAD4E 109540007E93ABD78EBD81B02602840F978FBD8CE2 10955000E67Ξ8D09DCA633480 2508FC430B93A6D2 10956000250139865B7E81D796 13148102506B1C9 10957000480F220139864F7E81D754042733507615 1095800066533107775E545C273350526400CC40F1 109590000097CCD7A1D7A0D786D6A1C4OFD787BD37 1095A0008F79DAA0BD851EDDCABD8D1D0E3EOFD69A 10953000AOC10B2705C10A26DE398E00FF7E93ABC2 1095C00036CE957ABD8C06CE1770BD85F43297CD18 1095D0008DBCDE8696A139860497A2CC06008DE06C 1095E000816024F7DF92CC53048DD5312424F7DFE2 1095F0009481122506D695CA04D795F64818C54019 109600002608D695CA08D79520144D2605CC020108 10961000200A81132508DC948002C001DD94CC4F20 10962000088D9D813224F74D27F4DF97CC660C8D91 109630008F811324F74D27F4DF99CC6D108D81DFD6 109640009B7F00968D05D7C27E84EΞ7F0085CE007D 1096500090CC04F89ABDB75000D700C6315A26FD09 10966000D685A600BD8F79F76000970286249ABD43 10967000B7500084DFB75000087C00858C009D2621 10968000DFC608D70096BDB75000393D9A2FC60176 109690008D41CE4800E6008D36E600BD8F7E8D2FD1 1096A000088C482026EFBD9A2F8540273C7FOOE09C 1096B000C60C8D1F8D3396E32707CE800086218D43 ' 1096C0004F4F97E38D23CE9A9286348D43201AC450 1096D0000FCA303CDED79CD32603CΞ800009DFD7E3 1096E000E7OO38398DED1620EA8D007C00E0C6ODCC 1096F0008DE1C60A8DDDB648182A09CC0EOF8DE41F 1097000086072021CC05008DCA4A26FB860E20152F 10971000E6008DBF084A26F83996C22706364818D3 1097200046250A8618C6208DAA4A26FB39BD88AA76 10973000BD9886DC94C4F38DABC63A8D96DC928DD1 10974000A3C63A8D8EDC908D9BC620969585082603 1C97500008C67085042602C661BD96D38D29DC97A4 109760003D82C62DBD96D3DC998330305D27028368 109770000A4AC6033DCE93373A86038D93C62D3D5C 1097300096D3DC9BBD96E48603209ABD9A2F3648FB 1097900014D6A3C50127138520260139BD981FDCDF 1097A0008ABD9824BD9719CS9B2E3D98A2BD99E481 1097B000203785402711DCA3562405850426083967 1097C00096A28510270139B6481585082601398DDE 1097D0004ΞDCB98D4FBD9719BD989896A385042787 1097E00022CE9AC686053D97103D96EBD6E0C13C49 1097F000260A36481585402703BD96AD96A384FA80 1398000097A33996A1810A27098124270BDCB97E09 1098100099FCD6B88D3E20D1D6383D98AC20CAFCF4 10982000481A201281FF273CC1FF2744979084FOFB 1098300081E0272096908D0FBD81B0260486209769 1098400090BD9A83-7Ξ97879791D793BD8F7Ξ97908F 10985000D7922032D79EBD8F7ED7928D29CC475295 10986000DD9020DDCC2041DD90CC4C4CDD9220D130 10987000BD81B027ΞFCE464CDF90C654D79284OFFF 109830008A30979320BBCΞ0090A600840F8A30A721 1098900000088C009D26F239D6A186033D04CE9A9D 1098A000CB3A8603BD97107Ξ9787D689B648172ABC 1098B0002AD78ECE0090CC20305C08A70076008E90 1098C0002402E700C13826F1B64814851026048624 1098D000209798CE009186087E9710D7963D8F7EFO 1093E000D7958DA2DC95813A25028B07C13A2502D6 1098F00OCB07DD95CC5354DD91CC5320DD93D79726 10990000D79820CFBD9A2FB648152B0CD68AC1E028 109910002406BD91D12401399688F64815812A265E 1099200007C52027F27E993281442605C502263557 10993000394D2607C50427DF7E99C78101274ΞC50B 109940000827D4810E260EBD99D9BD99Ξ4D689BDCC 1099500098547Ξ97E98105270E81032623F648143B 10996000C520261B398D0A8D708D79BD98AA7E97EA 10997000Ξ9B6481D85402706BD9265240138398D1A 10998000588D61BD989820CA810427DB398DE2FC8F 109990004814C50127E84D2ACE96892AOE8D3ACE65 1099A0009B31BD98A2BD98AA7E97E98D2CCE9334A1 1099300020F08D259689270ACE9AC3BD98A2DC8A05 1099C000203ACE9ACE2OF48DA88DOE8D17BD98AA80 1099D000CC2A2ABD96E47E97E9DC8ABD93243D98FE 1099ΞO001F7Ξ97195F9688CE988B3AA10027035C59 1099F00020F5CE9B0D86033D3A7E98A2C1FF270F2E 109A0000BD81B0270A16C4F0C1E02603BD98757E5B 109A100097E98D1B8510260139BD931F8DOCBD97C8 109A200019CE9B1OBD98A27Ξ97E986077Ξ9725F6F2 109A30004818C50226023839B6481539BD96A6BD64 109A4000981F3DE6BD9723CE9B22860CBD97107E76 109A500097E98DDBBD981FDCB9BD9824BD971986A9 109A60002A97A1BD9898DEA62606CE9B5B7Ξ97E43A 109A7000DCA98DOCC62FBD96D3DCA68DO37E97E99D 10 109A8000BD9847CE009086047E97100001440504DF 109A90000E034F52494720202044455354202020 4 109AA000202054494D4520202020202020204441C2 109AB000544520202020202046434E2020202053A3 109AC0005441545553204641494C2053435353432A 15 109AD00045524F53524153534347434347445443E2 109AE300455443444D43454D4353504150414750Ξ5 109AF000414743414C43414C554453504F535041CF 10930000535341535243484D4F4E5343485052498B 109B10005458204E5354414C54435354434752419C 20 109B2000434B2020202020204C4F47204F4E4143C4 109B30004B5458535458454A414Ξ4645424D415264 109340004150524D41594A554E4A554C4155475343 1093500045504F43544E4F5644454353544152543D 1C9Bo0008Ξ00FF7F40004F5FDDCADDCC97CEBD8DFC -.D 109370C022C64CBD8C0386143D361AC614D703CEEC 1C9383008869DF81CC080C9708D700CC019AD309E3 10939000DD0B0E8655979D3D385A20F7364813356F 109SA00004260E866DBD860DB65800492BFA7E89B7 109BB0003D7F00033740018605BD861AC650BD8CA2 30 1093C000033D8D8DCC04FF97A2D7A00E36580049D7 1093D0002B037E893DD6A0C1FF27F10FC10B27DCE7 1093E00096A42704DEC46E0096A32712C1012603A3 1093F0007E9C9CC10326037E9D49863F200EC10AA0 109C000026C27300A3C654BD8C0320388E00FFBDCE 5 109C1000860DBD9C6F20A5CE008E5F86403750009C 109C2000F7600086034A26FDB6580043A700BD9F93 109C30003686394A26FD08CB108C009E26DDCEOOE4 109C40008ED693E8002BOA088C009E26F4867C2092 109C5000BBCE008E5F96932A02C630D784A60084BE 0 109C60003098842606088C009E26F239BD8C03CEDF 109C700017707E85F4DC88B3480D2508FC480B93E3 109C800088250139865B2084968A270AB1431025E9 109C90000631480F220139864F7E9C0C861597032A 109CA000BD9C17261186119703BD9C172608C65820 5 109CBOOOBD8C037E9C12CΞ009DC602A60043484873 109CC00079008B79008A7900897900885A26F00911 109CD0008C008D26E44F7900924979008F49978C4A 109CE000C65C8D888D8FDC888D95438D82C660BD36 109CF0009C6C8D94D68A8D42BD81B026109683S 43 0 109D00000F8AE0B14811271436077E9C0CC6643DF3 109D10009C6CD68BC40FC10A24EE8D1E9633BD8F12 109D20007EB84319840F2705367F7E9C0CC6703D3F 109D30009C6CD68C5C8D037E9BBCBD851EDDCA4FA2 109D40005FDDCCBD8D1D7E9C6FC65CBD9C6C4F5F86 109D5000DDA6BD9543CE9D61DFC486FF97A47E9BA3 109D6000C4C10A27053D950520F4DCA6DD88BD9C8D 109D700075C610BD8C03CE9D7E7F00A120DAC10A7E 109D80002711D6A1BD8F79DAA03D851EDDCABD8D94 109D90001D20CB96A1978A3D9C88BD81B02611F667 109DA0004811C40FD783C674BD8C03CE9DE520C966 109DB000C6643D8C03360F97A1F64811C40FBD85FC 109DC0001E97CAC640D7CBCC3871DDCCBD8D1DCE19 109DD0009DD57E9D58C10A27035F20ABD6A1C11037 109DΞ00025C07E9D08C10A27035F209BD6A12704BA 109DF000C1052505866D7Ξ9COC5AD78CF64819BD89 109Ξ00008F79DA83D733C678BD8C03CE9E117E9D61 109S100058C10A27037E93C4C668BD9C6C861597F3 109E2000038D26861197038D20860297DFC615962F 109E3000932A02C614D703378D2633C4F3D7038D6C 109Ξ40001F7A00DF26Ξ77E9C9CBD9C17260D96920C 109E500098932307968F9893230139867C7E9C0CC8 109E60007F0084CE008B86049786E6005686108D90 109E70002A5686208D2596844C81102614D68C86F1 109E80000197845686308D13860497845686302039 109Ξ90000A97847A008626D40920CB373C9783869C 109ΞA00003978596932B3224298D7736489A83371A 109ΞB0005000C6115A26FD3648B750008D72CΞ005C 109ΞC000E80926FD8D73270E7A008526DC866F7ΞD0 109ΞD0009COC8D6A27F738333925418D453649B763 109EE00050003D86499A83B75000C60A5A26FD8421 109ΞF000F7375000C6615A26FD8A08375000C60653 109F00005A26FD86493750003D8D25CE0359092636 109F1000FD8D2326C17A008526C120B18D2026AD6E 109F200020343648B75000D684BD8F79F7600039D9 109F30008608B750003D4F375000B76000398640E3 109F40008DE2C6035A26FDF658008DEA96838130CD 089F50002703D58339C58039DO 109FF000893D893D0083893D80B639FF9B60893D10 0000000000 APPEN X II The following is a memory dump the computer program for the mobile unit MC3870 according to the invention. SI 1300001A2805D630B1B65128008A2806A36A715C6F735D67F75D7239 S11B00185D445C290120534Ξ1E0SAO52348117E39105206990054253D7 S11B00302064B7411851715438011D1B1CE381074253206D9003206FCE S11B0048B742Ξ152C24519C55538011D1B1C4213C05221655B10718A5β S11B006050451F252694032018550B71FOCCCC5C70191C705254775A76 S11300782017552038541CA51450A4122170E005701C545A41217013A3 31120090EE34785041151FB5E0B5E0B570B51C5E S11300A01A2806A3C7748102B558735128057528056D8463A6846028FS 311300B805DA4612158131A1910A1313810Ξ676A4C900320FFO77FF5F2 S11300D022E006202A0420100528060C202A04700528057128060C0232 S11300E814230E942A2806DF636774F6FC9420745C71F6840304203096 S11B0100512805EA28060C72F6840C28057171042805E828060C2805BA S113011371B5B67F512805636568A05C78EC21081212F7506A7CFCC02C S11301305EA15C461391054C12135C67684D504C51280-DF4ECC709468 S113014306C771810240222EB6685CB672FC656A9408C1840578F69406 S113016006517DFCC15C4CB4706F605C635C625D8FF9076B20175D717Ξ 311B01785C7453775AB71B903263C04C198203CC5C4E8FF862694B12AC 31130-190ΞB142101507EFB8407230Ξ840330304CC09108251481032044 S11301A3145C4DCC20F68202135C70C881FD745802Ξ55045067136817D S11301C03AE4028402125B7156F084083718Ξ7940357381003131650E5 311301D86C84A7623C77FE4C94091F252694042902Ξ35C0300E050C011 S11B01F04C19CC5C626990B090B9F0840AC75772E79404577558636896 311B02082007ED531016504D23095B1016C0504D232A531016C0504D73 ' S113022023445B1016C0504C236F5B1016C013250A82062544820518D9 S11B0238047707626F3C4C668431 11F94440313941CCC840B3E9404A5 S11302502904D94ECE940F6568A0504DE0159145A153EC9451626A7-FE S1130268CC654C91032202B49087654EEC5E30703E9402743E94053-EOO SI 1302809402786A18FC5C90DD6874FC6ECE94D6A01381042904A97011 SI 130298CECC94CAA0131381C52904ED1A401581072805D63031B628F3 S11B02B006A3290120504B5CF034AB1A2806DF4613911171FB94E3C65Ξ S11B02C83117131391064021F8840Ξ471381042904ED656A7CFC1F5C1F S11B02E029013B1A280073343428006150280056E0C3C35321535B1091 S11302F8778A25028209432313534223405242135BCB626D4C19820340 SI 1B0310CC5C4E8FF83494D228059C44ED94C245EC94BΞ2806A34C58F2 S113032862682020ED5B21BF504D51044D064E077054C89404C084265F S11303407FF522E0EC940734674C629007425A28054C43635A28054C2E S113035859C8840D70C49481C094FC765029051C656A4615815F7AEOCA S11B03709456C1847Ξ2110840AF74C84032201210D5C7FF1844D1581B7 S11B03880B4C220C5D20235D5D7F5C6F74F1840D70C44C940322015ΞA2 S11B03A04C22015D411F21028468F112151F665C6A5D6C4C52705D5D12 S11B03B8685ΞC28455654C22045C6A7DFC904A7EE041844475Ξ0940A7E S11B03D078F7844128008A903972E0944074E1841775E1846C7EE19413 S11B03E83646158114674C0590667CFC5C9070C681702805E89059C6D6 S11B040081686Ξ4C22045DB071FC5C90677168675C2040F38454730404 S11B04187995903C73E0944Ac1910D666C70CC84412805E139904524E4 S11304307A84771F84E11F84C71F84D31F84CF78F6842741247F8405DF S11B04481F941F72693990C04715811628007F7F5128057528060C4CDO SI 1B0460B570B6C9840429012029013B6A3C91FA6F7F5C7651280566D0 S11B0478525071532014515120C01F94F37CFC2211B478Ξ050B5461386 S11B04909106A121019454A013910F1391DF3294E03381DD28056390E1 S11B04A8391A656Ξ4C22405CB02806A35820155C68725CB55128057540 OMPI S11304C0666E3C84582805C42805E878F7840428007F041458715990C6 S11304D8841A2806A35159CE94E0CE9444CC942190832902A91A280657 S11B04F0A3C6813E2805D66872B55C2805E874F724025C7F5128056378 S11B0508230184322805C4A01215811Ξ6C3E4C05204490372805Ξ1C131 S11B052084136D5C68405C356D3C6F7F94G3705D5C29013B656E75FCA6 S11B05385CB02901202805E1654C22045C471391F22902DA4AEC841361 S1130550344A220FEC840C4A22F0EC840620FFSC94D01C7290032010D2 S1ΪB0563527458900C20109002705B70512012527060656A7CFCC2B46E S11B0580A014F884042904A9C1940AAOFB9405A691E7551C3094E4315A S11B059894E1701C62687054554DE45312121251E5544314Ξ355155229 S11BO5B013E5554114E2E4540A251494E54418544518551CA72103501E S11305C8451413240651C13081FD666F5C1C6763705C656A705C6E5D70 SI 1B05E05C666F705D8FFE1C7051656Ξ4C2220B0A1504E3046C6709289 511305F80Ξ40910C12502020F64094031212C166635D051C1A76B56232 S113061068005D015D025D035C08451221781F5128057528059C445D79 S1130628455C280073626D134C198203CC5C4S8FF37019502800612817 S113064000563494E962682A020220555D5D5D773Ξ163FF35Ξ654C500F S11B06586A4C221251626875527853543494FE411851EC14131413E011 S1130670B0A014F884042904A9201C3294E675524CCC195CDB20193331 S11B068894DA785341B4DB0A1F0B2526201594CC666870C74C81032242 S11306A004B50C66684Ξ5960705D8FFΞ691FC93573F084054C13135E38 S11B06B84DA414125171F1C78203C7574619C65676F112ΞC5C401F5007 S11B06D01594DB49B5676C425D435D465D475C676C4D064D074D564EC9 S11306Ξ85766701C284329204259204D4F544F524F4C412031393831DΞ S113070000010102010202830102028302838384010202830283833429 S1130718 2838384838484850102020302030334020303840384848579 S113073002030384033484350334848584853586010202030203038459 S113074802030384038484850203038403848485038484858485858639 S11BO76002030304030404850304048504853586030404850485858699 S118077804853586858686870102020302030384020303840384843509 S1130790020303840384848503848485848585860203030403040485F1 S11B07A303040485048585860304048504858586048585863536868741 S11307C002030304030404850304048504858536030404350435858639 S11307D804858586858686870304040504050586040505360586868789 S11307F00405058605868687058686878687878815 S9030000FC

Claims: Claims 1. A data control terminal for the primary station in a communications system for voice and data communica¬ tions, having a primary station and a plurality of re¬ mote stations, each remote station having a predeter- mined station address and adapted to transmit a data command signal including said station address, said terminal comprising: entry means for entering a remote station address; means for transmitting a data command signal containing an operation code, an argument and a station address to the remote stations at the beginning of each transmission by the primary station; acknowledge means for transmitting an acknowledge command signal, in response to receiving a data command signal from a re tte station, including the predetermined address of said remote station; display means for displaying the predetermined station address of a remote station in response to receiving, at the primary station, a remote station command signal. 2. The terminal of claim 1, further comprising data squelch means for muting the receiver of the primary station during data transmission. 3. The terminal of claim 1, furthter comprising retransmission means for retransmitting the data command packet to the remote station for a preselected number of times in response to not receiving a data command signal, within a predetermined time period after trasn itting a data command signal, from the re- mote station having the predetermined address of the transmitted data command signal. 4. The terminal of claims 1 or 3, further compris¬ ing storage means for storing data command signals re¬ ceived from remote stations. -

Inventors: BURKE TIMOTHY MARK, BURKE, TIMOTHY, MARK
Applicants: MOTOROLA INC, MOTOROLA, INC.
Application year: 1983
Main classification: H04B1
IPC codes: H04B1, H04B7, H04W88