APPARATUS AND METHODS FOR AUTOMATIC CONTROL AND MONITORING OF THE OPERATION OF CONSUMER ELECTRONIC PRODUCTS

Abstract: A method and apparatus for providing items of information viewable on an electronic display from an information provider. An information provider provides printed material and a portable memory (62) containing information related to the printed material to a user. The information is read from the memory (62) and displayed to the user. The user selects at least one item of information. A record of the user selections is stored in the memory (62). In the preferred embodiment, the information is a program listing for television programs. By selecting information, the user is able to program a controller (28) to automatically turn on electronic devices for either viewing or recording the selected television programs.

Description: APPARATUSANDMETHODS FOR AUTOMATIC CONTROLANDMONITORING OFTHE OPERATIONOFCONSUMERELECTRONIC PRODUCTS Field of the Invention This invention relates to systems for controlling consumer electric products, and more particularly, for the automatic control and monitoring of the operation of consumer electronic products. Background of the Invention Consumer electronics presently provide a myriad of devices such as televisions, video cassette recorders, stereo systems, compact disk players, radios and laser disk players. Each device has its own remote controller for operating the device at a distance spaced from the device! Each remote controller may have its own unique command instructions. Many of these devices are programmable to select the channel, day, length and time of recording of the VCR, or selecting the order of tracks of music from multiple compact discs in the CD player. The average consumer does not utilize the full programming capability of these devices because of the complexity of each device, the uniqueness of the programming steps and infrequent use by the consumer. Thus, the average consumer pays for device complexity that he or she does not use. Furthermore, the consumer pays more for the electronics because the consumer is buying several remote controllers. Moreover, when the batteries of the remote controllers are fully discharged, the consumer must discard the spent batteries. Thus, the increased battery usage (because of the higher number of remote controllers) is not environmentally desirable. One method for reducing the number of remote controllers that the viewer must use is to use a universal remote controller. For example, U.S. Patent 4,999,622 to Amano, et SUBSTITUTE SHEET al., issued March 12, 1991, teaches a multi-commander that stores preprogrammed codes for electronic devices such as videotape recorders, televisions and the like for different manufacturers. The individual user places the multi-commander into a learning mode and activates the individual remote controllers for the electronic devices. The multi-commander receives and stores the transmitted coded signal. The multi-commander identifies the resulting remote controller signal by comparing the received signal to the stored codes of the manufacturers, and stores the signal format from memory into a second memory. After the multi-commander is programmed, the multi-commander is switched into a remote control mode so that when the user activates a command on the multi-commander, the multi-commander reads from the second memory and supplies the corresponding remote control signal to one of the selected electronic devices. The Amano remotecommanderdoes not solve the problem of programming the myriad of electronic devices. One method for reducing the complexity of programming these devices is to provide some sort of coding scheme. For example, PCT Application WO 90/07844 to Yuen, et al., published July 12, 1990, teaches encoding the channel, date, time and length information of broadcast television signals into a single number. This number is provided on television program listings. When a viewer desires to record a particular television program, he punches the encoded number into a remote controller that decodes the encoded number and thereby activates the videocassette recorder at the appropriate time, selects the corresponding channel that the television program is being broadcast on, and turns the VCR off at the end of the program. Presently, a viewer of television or a listener of radio must receive a television programming list in either a magazine format such as TV Guide or from daily or weekly listings in the newspaper. The user must then read through several pages of listings to locate and determine programs that the viewer intends to view or record. If he decides the record the program, he must either program the VCR directly with the problems described above or must enter the encoded numbers into a remote controller as described in Yuen et al. above. On the other hand, if he decides he wants to view the program in real-time, he must remember the day and time that the program is on, then turn his television set at the appropriate time. At the end of the week, the user must discard the television programming listing. With tens of millions of households with televisions sets, over one hundred million listings must be discarded each year. This method presents an enormous environmental problem. One method for receiving the program listings is by television signal or telephone line. For example, U.S. Patent 4,706,129 to Young, issued November 10, 1987, teaches a system where a user selects program categories that he desires to watch and stores this information SUBSTITUTE SHEET in a memory. Each broadcast program contains over-the-air identification and category coding. The system monitors these broadcast signals and when a match between the program or the category codes occurs, a central processing unit (CPU) stores the program schedule information into memory. The user can periodically view the selected programs to confirm or delete the recording of these programs, or in the absence of user review of selected programs, the system will automatically record the selected program. This system, however, requires a large memory in the television which consumes large amounts of power and is costly. U.S. Patent No. 4,977,455 to Young, issued December 11, 1990, teaches an improvement to Young patent '121. The system in patent '455 teaches receiving the program information over a telephone line. It also teaches a method for sending supplemental data using the video blanking interval segment of a video signal to transmit teletext formatted data. For example, this supplemental information can provide additional information such as features, prices and local availability on products that are advertised in commercials. Both of these systems require a long period of time for transmitting the listing information to the particular viewer. ^ Furthermore, a telephone modem link will engage a telephone line for a long period of time. Thus, a user must either have a dedicated telephone line for receiving the listing information or have a period of time selected during which he or she is not likely to receive a telephone call. Furthermore, the center of the listing information must have several telephone lines in order to simultaneously send this information to users throughout the United States. Television in the United States is broadcast in an interleaved frame format where odd- numbered lines are scanned during the first frame and even-numbered lines are scanned during the second frame. Between frames, it is necessary for the beam to move back to the upper left corner of the screen. During the fly back interval in which the beam returns to the top, the picture on the television is blank. This period of time is called the vertical blanking interval (VBI). These blank intervals are now being used for broadcasting additional information. For example, closed captioning for the deaf is broadcast on frame 1, line 21. The closed caption decoder decodes this dedicated line and provides the text for display on the television. It is being proposed by the National Association of Broadcasters and the AIA Committee that frame 2, line 21 be used for program identification information. This information will have the name, date and time of the program and a subject matter key. This type of system has been used in Europe for several years. The broadcast line is called a VBI. By scanning the VBI interval, a VCR can detect a match with a preselected program identification or subject matter and record the broadcast program. This system, however, SUBSTITUTE SHEET requires that all channels be scanned that may broadcast the desired program. U.S. Patent No.4,841,368 to Rumbolt, et al., issued January 20, 1989, shows a video system comprised of a television set, a remote control for the television, and a cable converter. In this system, all channel information comes from the cable converter. A universal or reconfigurable remote control transmitter is incorporated within the television receiver. When the TV remote control sends a channel command to the TV, it is received by the universal remote controller which converts the signal into infrared signal encoded for the control signals of the cable box. U.S. Patent No. 4,771,283 to Imoto, issued September 13, 1988, shows a common remote control device that receives an infrared control signal from various remote controls. The controller 28 reads a corresponding remote signal from a memory and transmits that signal to a corresponding electronic device. U.S. Patent No. 4,876,736 to Kiewit, issued October 24, 1989, shows a similar system to Imoto. A controller box receives commands from a dedicated controller that is configured to a first protocol that is unique for the controller box. Upon receiving the command, the controller interprets the command and converts it into a command that is understandable by an electronic device such as a TV. The controller 28 sends the infrared signal in the second protocol to control the TV. The selected command is recorded in a RAM memory. U.S. Patent No. 4,972,503 to Zurlinden, issued November 20, 1990, shows a receiver device that controls and records viewer selections by jamming techniques. A remote controller transmits a signal to a television and is simultaneously received by the receiver. Upon detecting the transmitted signal, the receiver broadcasts a jamming signal to interfere with the signal broadcast from the remote controller so as to preclude any television from identifying and acting upon the transmitted signal. The receiver then analyzes the received signal and determines the channel to which the TV is to be switched. The receiver broadcasts the signal to the TV, thereby changing the channel of the TV. The receiver also records this channel selection in memory. In this receiver, the system does not know how many times a command signal is sent to the TV, and particular remote control commands are typically sent out more than once to overcome problems of the TV not receiving a signal due to noise or other factors. Furthermore, each manufacturer has a different system for commanding the TV. Therefore, the receiver employs a variety of methods for blocking interfering signals, including leaving a continuous jamming signal on and overriding it by sending out its own signal with a higher intensity than the jamming signal. Advertising rates for commercials of television programs are determined by the SUBSTITUTE SHEET expected size of viewer audience for 53 television programs. These expectations are usually determined by the estimated audience sizes of previously broadcast shows. For example, a weekly television series will estimate its audience size for upcoming episodes based on the estimated size of previously broadcast shows. In addition, advertising rates may be adjusted based on an "after the fact" estimation of the market share for the televised program. The present systems for estimating market share involve survey evidence such as the Nielsen ratings. Previous market data was taken by selecting households to record their viewing habits. For example, a selected household might record in a written journal or diary when they turn on and turn off the television, what channels are selected and the number of viewers in the room. This data may alternatively be collected by providing the user with an electronic device where he pushes the button that indicates turning on or off the television and the channel selected. Other systems are connected directly to the television that will monitor power on and off and the channel and time of the selected programs. The system is wired to a dedicated telephone line. When instructed, the electronics dump their memory over the phone line to a central computer for analysis. Each of these systems requires selecting individual households that represent an adequate sample of the general viewing audience and requires physically setting up the monitoring apparatus. These systems are inaccurate because the sample size is small, diary entries may be erroneous, or require viewer action. A listener of radio may hear a song that he likes, but does not know the title or artist, and decides he wants to buy it. However, frequently the announcer of the radio station does not state the title or artist of the song, or if he does, it was before the song played. The listener must wait until he hears the song again and hope that the title and artist are announced after the song. A viewer of television may be scanning through different channels and start watching a program that is already in progress. After a few minutes, the viewer may decide he wants to view the show the next time it is on, because he wants to see it in its entirety or he may be watching something else. The viewer must physically search through the current and subsequent TV program listings until he finds the next showing of the program. This is time consuming and if several months pass, he may forget the name of the show. Summary of the Invention A controller displays information on a television screen to enable a user to control consumer electronic equipment in an interactive fashion. Also, the controller records the selections of information that are user generated and provides that information to others to monitor the information-selection habits of the user. SUBSTITUTE SHEET Upon selection of an identification command by a user, the controller records the date, time and radio station or TV channel of the selected song or program. The controller searches a corresponding program listing for the song or program, and alerts the user of the name of the artist and song title when a radio program listing disk is inserted into the controller, or the next occurrence of the TV broadcast when a TV program listing disk is inserted into the controller. The controller monitors command signals from either a controller remote transmitter or individual remote transmitters. The command signals from the controller remote transmitter are converted into a second protocol corresponding to the protocol of the commanded electronic device. However, some command signals are ignored where access to the electronic device has been previously limited by a prior user. The time and date of the command are recorded. On the other hand, commands from the individual remote transmitters are in general only monitored because the electronic device responds directly to the command. For some commands, the controller transmits an overriding command to the electronic device because the controller is not able to know the state of the electronic device after it receives these commands. The overriding command puts the electronic device into a state that is known by the controller. The monitored data is stored in a memory, preferably a floppy disk. Periodically the disk is provided to an information provider. The data is analyzed and user-selection habits are determined. The floppy disk contains the program listings for television or radio programs, telephone directories or newspaper classified advertisements. The user is sent printed material which contains information and the floppy disk which contains information corresponding to the information in the printed material. The controller reads the disk and allows the user to select television programs to view or watch or do home shopping. SUBSTITUTE SHEET Brief Description of the Drawings The foregoing features of the present invention would be better understood upon consideration of the following detailed description of certain preferred embodiments taken in conjunction with the accompanying drawings in which: FIG. 1 is a functional block diagram illustrating an interactive electronic control system including a controller and embodying the present invention; FIG. 2 is a functional block diagram of the controller for the interactive electronic control system of FIG. 1; FIG. 3 is a top view of the controller remote transmitter for the interactive electronic control system of FIG. 1; FIG. 4 is an isometric view of a television program listing with an enclosed postage paid envelope accommodating a floppy disk used with the controller of FIG. 2; FIG 4a is an expanded view showing the details of the television program listing shown in FIG. 4; FIG. 5 is an isometric view showing details of the postage paid envelope and disk included with the television program listing of FIG. 4; FIG. 6 is a flow chart showing the steps employed in the setup operation of the interactive electronic control system of FIG. 1; FIG. 7 shows the Setup Menu displayed in the setup mode of FIG. 6; FIG. 8 shows the Equipment Menu displayed upon selecting equipment in the Setup Menu of FIG. 7; FIG. 9 shows the Channel Assignments Menu displayed upon its selection in the Setup Menu of FIG. 7; FIG. 10 shows the cable channels menu displayed upon its selection in the Channel Assignments Menu of FIG. 9; FIG. 11 shows the Channel-Skipping Program Menu displayed upon its selection in the Channel Assignments Menu of FIG. 9; FIG. 12 shows the User I.D. Menu displayed upon its selection in the Setup Menu of FIG. 7; FIG. 13 is a flow chart showing the steps employed in the operation of the main program mode of operation of the controller of FIG. 2; FIG. 14 shows the Main Menu displayed upon its selection in the flow chart of FIG. 13; FIG. 15 is a flow chart showing the steps employed in the TV /VCR program selection portion of the main program of FIG. 13; SUBSTITUTE SHEET FIG. 16 shows the TV/VCR Menu displayed upon its selection in the Main Menu of FIG. 14; FIG. 16A shows the organization of the TV/VCR program listing disk; FIG. 17 shows the Calendar-by-Date Menu displayed upon its selection in the TV/VCR menu of FIG. 16; FIG. 18 shows the Record/View Menu displayed upon its selection in the flow chart of FIG. 15; FIG. 19 is a flow chart showing the steps employed in the extra subroutine program upon its selection from the program selection flow chart in FIG. 15; FIG.20 is a flow chart showing the steps employed in the parental control monitoring program for selections in the program selection flow chart shown in FIG. 15; FIG. 21 shows the Selection Review Menu displayed upon its selection in the flow chart of FIG. 15; FIG. 22 is a flow chart showing the steps employed in the compact disk(CD) program setup upon its selection in the flow chart of FIG. 13; FIG. 23 shows the CD Menu displayed upon its selection in the flow chart of FIG. 22; FIG.24 shows the CD Programming Library Menu displayed upon its selection in the CD Menu of FIG. 23; FIG. 25 is a flow chart showing the steps employed in the radio setup upon its selection in the flow chart of FIG. 13; FIG. 26 shows the Radio Menu displayed upon its selection in the radio setup flow chart of Fig. 25; FIG. 27 shows the music I.D. information displayed upon its selection in the Radio Menu of FIG. 26; FIG. 28 is a flow chart showing the steps employed in the telephone directory/newspaper program selected in FIG. 13; FIG. 29 shows the Telephone Directory Menu displayed upon its selection in the telephone directory/newspaper program flow chart of FIG. 28; FIG. 30 shows the Restaurant Menu displayed upon its selection in the Telephone Directory Menu of FIG. 29; FIG. 31 shows the Newspaper Classified Menu displayed upon its selection in the flow chart of FIG. 28; FIG. 31A shows the organization of the telephone directory /newspaper listing disk; FIG. 32 shows the Automobiles Menu displayed upon its selection in the Newspaper SUBSTITUTE SHEET Classified Menu of FIG. 31; FIG. 33 is a flow chart showing the steps of the Home Shopping Program employed upon its selection in the Main Program shown in FIG. 13; FIG. 34 shows the Home Shopping Menu displayed upon its selection in the Home Shopping Program menu of FIG. 33; FIG. 35 shows the Appliances Menu displayed upon its selection in the Home Shopping Menu of FIG. 34; FIG. 36 is a flow chart showing steps employed in a movie reservations program upon its selection in the Main Program shown in FIG. 13; FIG. 37 shows the Movies Reservation Menu displayed upon its selection in the movies reservation flow chart of FIG. 36; FIG. 38 is a flow chart showing the steps employed in the analysis of signals detected from the controller remote transmitter shown in FIG. 3; FIG. 39 is a flow chart showing the steps employed in the on/off, channel up/down, VCR play, and VCR stop commands processing sub-routine shown in FIG. 38; FIG. 40 is a flow chart showing the steps employed in the channel change subroutine shown in FIG. 39; FIG. 41 is a flow chart showing the steps employed in the analysis of signals detected from the individual audio/visual electronic equipment remote transmitters as shown in FIG. 1; FIG. 42 is a flow chart showing the steps employed in the event time comparison program for the invention of FIG. 1; FIG. 43 is a schematic showing details of the power line routing and monitoring circuits employed in the system of FIG. 1; FIG. 44 is a flow chart showing an alternate embodiment for detecting TV power on/off; FIG. 45 is a block diagram of another alternate embodiment for detecting TV power on/off and TV channel numbers; FIG. 46 is a flow chart showing the steps employed in the clock setting program for the clock selection of the Setup Menu of FIG. 7; and FIG. 47 is a flow chart showing the steps employed in the audience response data collection program for the invention in FIG. 1. SUBSTITUTE SHEET Detailed Description SYSTEM DESCRIPTION FIG. 1 is a block diagram illustrating a system using an interactive electronic control system and embodying the invention. A consumer electronics system 10 has a myriad of electronic devices including a television (TV) 12, a videocassette recorder (VCR) or videotape recorder 14, and a cable box 16. The cable box 16 is connected by a cable line 18 to a cable television terminal (not shown). The cable box 16 converts video signals carried on the cable line 18 from one of several different video channels to a common unused channel, typically channel 3 or 4. The particular channel is not critical, and for the purposes of this discussion, channel 3 is used. The cable box 16 may also include a satellite receiver system. The cable box 16 may also decipher encrypted video signals that the cable or carrier operator encrypts to prevent unauthorized viewing. The output from the cable box 16 is connected to the VCR 14 by a coax cable 20. The VCR 14 either records the video signal onto video magnetic tape or passes it through unrecorded. The TV output signal from the VCR 14 is connected to a controller 28 by a coax cable 22. The output of the controller 28 is connected to the television 12 by a^oax cable 23. While a VCR 14 and a cable box 16 are shown in the configuration of FIG. 1, the invention may be used without either device, or with just one of these devices. If a cable box 16 and cable system is not employed, the incoming video signals are provided from an antenna (not shown). A laser or other video disk player (not shown) may also be used in addition to or instead of the videocassette recorder. Furthermore, although the devices are shown as individual units, they may also be combined devices, for example, a television and VCR built as one unit. Furthermore, the controller 28 may also be combined with another electronic device, such as the television 12, into one unit. In alternate embodiments, the controller 28 may be connected in a similar manner in the coax cable 20 between the output of the cable box 16 and the input of the VCR 14, or between the antenna/cable input to the system and the input to the cable box 16. These embodiments allow the user to record the title of a program and the program onto the video tape by using a combined text/video mode as will be discussed below in connection with FIG. 2. This embodiment also allows the controller 28 to display text on the television 12 after a VCR 14 play mode. This feature will be discussed below in connection with FIG. 39. In yet another alternate embodiment, the controller 28 receives the outputs from the antenna/cable, the cable box 16 and the VCR 14, and has an output to each of these video devices. However, for the following description, the configuration of the controller 28 between the VCR 14 and the TV 12 is described. SUBSTITUTE SHEET In the preferred embodiment, the consumer electronic system 10 also has a stereo receiver 24 and a compact disk(CD) player 26. The stereo receiver 24 preferably includes an FM and AM tuner and an amplifier for driving speakers (not shown). While the following description of the invention shows its operation in connection with FM radio only, this is for the purpose of example only. The invention is equally well adapted for use with other receivers operating at other frequencies. The interconnections between the stereo receiver 24 and the CD player 26 are well known and are not shown. While the AC power connections of the electronic devices are not shown in FIG. 1, in the preferred embodiment, each consumer electronic devices has its power input connected to the controller 28. This power interconnection is discussed below in connection with FIG. 43. The controller 28 is plugged into a conventional wall AC power socket. In addition, the controller 28 may have an internal battery for maintaining memory and a clock, as will be discussed below. In the preferred embodiment, each electronic device is remote controlled, preferably by infrared energy. The television 12, VCR 14, cable box 16, stereo receiver 24 and CD player 26 each have an infrared (IR) detector 30 that receives infrared signals from corresponding remote IR transmitters and converts them into electrical signals by means well known to those skilled in the art. A television remote transmitter 32 has an IR emitter 34 for sending IR signals to the television 12. By pressing buttons or keys (not shown) on the TV remote transmitter 32, the user may select different control operations that are converted to infrared signals and transmitted to the TV 12 through the IR emitter/detector communications interface. For example, the television control may be channel-select-by-random-access where the number of the channel desired is inputted into the TV remote transmitter 32, converted to IR and sent to the television 12. These control operations are described below. Similarly, a stereo remote transmitter 36 controls the operation of the stereo receiver 24; a VCR remote transmitter 38 controls the operation of the VCR 14; a CD remote transmitter 40 controls the operation of the CD player 36; and a cable box remote transmitter 42 controls the operation of the cable box 16. Each of these remote transmitters 36, 38, 40, 42 has an IR emitter 34 for sending signals to the IR detector 30 on the corresponding electronic device. The controller 28 has an IR emitter 34 on each corner of the housing of the controller 28. Alternatively, the IR emitters 34 may be placed in different locations on the housing so that when the controller 28 is placed in various locations in the room, the emissions from the IR emitters 34 radiate energy over a broad area. The controller 28 also has a wide angle SUBSTITUTE SHEET infrared detector 44 to detect IR emissions from any of the above-mentioned remote controllers, as will be discussed in further detail below. The controller 28 may have several IR detectors 44 depending on the desired detection coverage. The controller 28 also has a microphone 46 and a speaker 47 on the front panel that is preferably unobstructed. A controller remote transmitter 48 with an IR emitter 34 controls the operation of the controller 28 and will be discussed in further detail in the discussion of FIG. 3. The controller 28 is placed in the general vicinity of the other components of the consumer electronics system 10. FIG. 2 is a functional block diagram of the controller 28 shown in FIG. 1. A central processing unit (CPU) 49 controls the processing functions of the controller 28. The CPU 49 is preferably a type 286 device manufactured by Intel Corporation, San Jose, California. Infrared signals received by the IR detector 44 are converted into electrical signals and sent to the CPU 49. The CPU 49 is also bidirectionally connected to a memory system 50 which is comprised of a random access memory (RAM) 52, a nonvolatile RAM 54, and a read-only memory (ROM) 56. The RAM 52 is comprised of conventional RAM chips and is typically 512K. The nonvolatile RAM 54 is preferably EE PROM. Alternatively, it may be a battery backed-up portion of the RAM memory 52. The ROM 56 stores the basic operating programs. Alternatively, the memory system 50 may be comprised of other types of memory such as floppy disks, optical disks, magneto-optical disks or other magnetic disks. The CPU 49 interfaces to a floppy disk drive 58 through an input/output (I/O) port 60 for read and write operation. In the preferred embodiment, the disk drive 58 has both write and read capability. Alternatively, the disk drive 58 may have only read capability. In the description below, the controller 28 is described as reading or writing data into the nonvolatile RAM 54 or on disk. The data may be written or read from or to either memory. The floppy drive 58 receives a floppy disk 62 comprising television program listings or other information, as will be described in detail below. The floppy disk 62 is preferably a 3- l Δ inch, high density 1.44 megabyte disk. Effective memory size of the disk may be increased by using well known compression techniques. A CPU interface 63 connects to the CPU 49 for bidirectional communication between the CPU 49 and an optional external device (not shown). An additional disk drive with its own I/O card may be connected to the CPU interface 63 for increased memory. Alternatively, multiple disk drives may be used for increased memory capacity. In the preferred embodiment, data recorded on the disk is encoded. The encoding and decoding programs are stored in the ROM 56. The CPU 49 decodes data from the disk for use and display. The CPU 49 encodes viewer data recorded onto the disk or into the SUBSTITUTE SHEET nonvolatile RAM 54. A clock 64 interfaces with the CPU 49 and provides the system timing, as will also be discussed below. The clock has its own battery backup (not shown) that allows the system to retain the time during power interruptions and outages. The controller 28 may have a display (not shown) for displaying the time. The coax cable 22 from the output of the VCR 14 is connected to an input terminal 64 which is connected to the video terminal 66 of a video switch and mixer 68. The output of the video switch and mixer 68 is provided to an output terminal 70 for connection to the television 12. A text terminal 72 on the video switch and mixer 68 connects to a video modulator 74 which modulates the textual information from a character/graphics generator 76 onto a TV signal on channel 3. The CPU 49 controls and provides the textual information to the character/graphics generator 76. The textual information may be text or bit mapped graphics. The word "text" is used herein to describe either characters or graphics. The video switch and mixer 68 switches between three modes: a TV mode, a text mode, or a combined TV/text mode. In the TV mode, the video switch and mixer 68 transmits the output from the VCR 14 to the TV 12. This mode is the normal operational mode of the controller 28 while the viewer is watching the television 12 or playing the VCR 14. In the text mode, the video modulated text from the video modulator 74 is transmitted from the controller 28 to the TV 12. In the preferred embodiment, the system has a cable box 16 whose output is on channel 3, and thus the input to the video switch and mixer 68 is on channel 3. In the combined TV/text mode, the text is modulated onto the channel 3 TV signal. In an alternate embodiment in which there is no cable box, the input signal is not on channel 3. The video switch and mixer 68 has a down converter for converting the input signal to channel 3. As in the preferred embodiment, the text is modulated onto channel 3. In another alternate embodiment, the video switch and mixer 68 has a broadband mixer so that the text is mixed onto the input signal and the output signal is on the same channel as the input signal. This mode is most commonly used during the setup of the controller 28, while running the information mode, or playing karaoke, or when the controller 28 requests information from the viewer. All these modes will be discussed in detail below. In the combined TV/text mode, the video switch and mixer 68 mixes both the text and the incoming TV signal to provide text on the TV picture. This mode is used during TV or prerecorded tape karaoke in which the sound and the picture of a music selection is displayed along with the words of the song moving along the bottom of the screen. It is also used to display the title of a TV show while it is being watched or the channel number being watched. The controller 28 has a phone line terminal 76 for connecting to a conventional SUBSTITUTE SHEET telephone line (not shown). The phone line terminal 76 connects to a dual tone multi-frequency (DTMF) generator 78, an optional modem 80, and an optional DTMF decoder 82. The CPU 49 provides a control signal to the DTMF generator 78 for sending standard DTMF telephone tones which are well known to those skilled in the art. The CPU 49 also has a bidirectional interface to the modem 80 for sending and receiving conventional telephone signals. The DTMF decoder 82 converts received DTMF tones from the phone line and sends them to an audio switch 84. The microphone 46 also connects to the audio switch 84. The CPU 49 selectively controls switching the audio switch 84 to connect either the microphone 46 or the DTMF decoder 82 to the CPU. A power monitoring unit 85 monitors the power of the consumer electronics devices as will be described in FIG. 43. The CPU 49 receives signals from the power monitoring unit 85 indicating which electronic devices are turned on. The CPU 49 also sends signals to the power monitoring unit 85 for transmission to other electronic devices using well known AC line data modulating techniques which are discussed below in connection with FIG. 43. A printer port 86 interfaces with the CPU 49 to provide an external interface to a printer (not shown) for making a hard copy of user-selected information. The system architecture of the controller 28 in FIG. 2 shows the CPU 49 having multiple inputs and outputs to several functional units such as the I/O port 60, the memory system 50, the infrared emitters 34, the IR detector 44, and the character/graphics generator 76. An alternate embodiment (not shown) using a common bus structure may be used. In this embodiment, the aforementioned functional units and the CPU each connect to a common bus. Although the controller 28 is described as physically being in a single housing, the controller is not limited to a single housing. In an alternate embodiment, the disk drive 58 and I/O port 60 are in a separate housing and are either plugged into the controller housing or connected by a cable to an interface connector on the controller housing. As disk memory capacity increases, the disk drives are easily interchanged with new drives capable of reading the new memory disks. In another alternate embodiment, the DTMF generator 78, the modem 80, and the DTMF decoder 82 are enclosed in a separate housing. FIG. 3 is a top view of the controller remote transmitter 48 for the interactive electronic control system shown in FIG. 1. The face of the controller remote transmitter 48 has a plurality of control buttons or keys. The terms button and key are used interchangeably throughout this description. The details of the operation of these buttons will be discussed below as part of the explanation of the features of the invention. A set of telephone keys 88-1 through 88-12 provide a twelve-button key pad similar SUBSTITUTE SHEET to that of a conventional telephone. In particular, the telephone keys 88-1 through 88-10 are the number keys 1 through 0, respectively. The telephone key 88-11 is the star key. The telephone key 88-12 is the pound sign key. The letters of the alphabet are assigned to the telephone keys 88-2 through 88-9 as they are for a conventional telephone. For example, the letters ABC are assigned to the telephone key 88-2. However, unlike the conventional telephone key pad, the letters Q and Z are assigned to the telephone keys 88-1 and 88-10 respectively. Alphabet characters are entered by a double key entry which is well-known to those skilled in the art. Each character is represented by two numbers. For example, the telephone key 88-2 corresponds to the letters A, B, and C. However, pressing the key 88-2 once does not uniquely select one of the three letters. By pressing the "1 " key, telephone key 88-1, after pressing the key 88-2, the first character or "A" is entered. Similarly, if "B" is being selected, the user presses the telephone key 88-2 and then again presses the telephone key 88- 2 to select the second character "B." Other characters are similarly entered. Alternatively, a standard qwerty keyboard such as used for typewriters or computers may be used. A set of cursor keys 90-1 through 90-4 allow movement of the cursor on the television screen. The key 90-1 is a left arrow for moving the cursor to the left. The key 90-2 is an up arrow for moving the cursor upward. The key 90-3 is a down arrow for moving the cursor downward. The key 90-4 is a right arrow for moving the cursor to the right. Alternatively, a mouse, joy stick or ball may be used to provide cursor movement. The controller remote transmitter 48 also has a plurality of function buttons. One group of buttons is used for controlling menu selections. A PAGE button 92 allows the viewer to move between pages of text on the television screen. A SELECT button 94 allows the viewer to select television shows, listings of telephone directories or other menu selections, as will be discussed in detail below. An INFO button 96 places the controller 28 in the text mode and also allows the viewer to select information about the selection. A REVIEW button 98 allows the user to review selections that have previously been made. The CANCEL button 100 allows the viewer to cancel selections that were previously made. A RECORD button 102 allows the user to automatically select for automatic recording on the VCR 14 selections that the user has made or, alternatively, a VIEW button 104 allows the user to set the system to automatically turn on the TV 12 and select channels at predetermined times in accordance with user selections. An EXIT button 106 allows the viewer to exit from the menu that the user presently is viewing. A second group of buttons are used for telephone control. The DIAL button 108 SUBSTITUTE SHEET allows the user to telephone a number entered on the controller remote transmitter 48 or to automatically dial a number corresponding to an item of information selected from the screen. A HANG-UP button 110 allows the user to hang up after ending a telephone conversation or if the user changes his or her mind while dialing. A Music ID button 112 allows the user to store information identifying a program at the time it is being heard or viewed, such as a song or other selection on the radio receiver 24 or a program on the TV 12 whereby information about the selection can be recalled at a later time. An EXTRA button 114 allows the user to record a separate program that is referenced to a program listing for a program or commercial that the viewer has watched or plans on watching, as will be discussed in detail below. A PARENTAL CONTROL button 115 allows the viewer to restrict access to selected programs. A plurality of electronic device selection buttons are provided for selecting each individual device and switching a group of the control buttons into a state of controlling the said electronic device. Preferably, there is a device button for each possible electronic device in the consumer electronic system 10. A TV button 116 controls the television 12, a VCR button 118 controls the VCR 14, a cable button 120 controls the cable box 16, a satellite button 122 controls a satellite control box (not shown), a CD button 124 controls the CD player 26, a stereo receiver button 126 controls the stereo receiver 24, and a OTHER button 128 controls a device that is to be determined by the user. Selecting one of the device buttons 116-128 changes the functions of a set of control buttons 130-1 through 130-28 to correspond to the functional controls of the device. For example, pressing the TV button 116 converts the control button 130-1 into a power on/off button for the TV 12. Similarly pressing the VCR button 118 converts the control button 130-1 into a power on/off button for the VCR 14. Pressing the TV button 116 also converts the control button 130-2 into a channel up button for the TV 12. By allowing the use of the device buttons 116 through 128 to dedicate the controller remote transmitter 48 to the selected device, with a sufficient number of buttons, the controller remote transmitter 48 covers the remote control operation for the most complex systems. Thus, the pair of the controller 28 and the controller remote transmitter 48 becomes a universal remote controller thereby replacing the user's individual remote transmitters. The programming of the controller 28 to perform the functions of the individual device remote transmitters is discussed below. In subsequent discussions about the operation of the invention, the terms entering or sending a command with the controller remote transmitter 48 means the corresponding key on the controller remote transmitter 48 has been pressed and the remote transmitter converts the command into an IR signal and transmits this signal. For example, pressing the EXIT SUBSTITUTE SHEET key 106 causes the controller remote transmitter 48 to send an IR signal corresponding to an EXIT command. These terms are used interchangeably. Commands from the controller remote transmitter 48 are displayed for verifying the selected command on the television 12 during the setup programming as operational modes that are described below. The text of the commands is generated by the CPU 49 and displayed in the text mode during setup and programming modes, and in the combined TV/text mode during operation modes. In an alternate embodiment, the controller remote transmitter 48 may have a display, such as a liquid crystal display, for displaying the selected commands. FIG. 4 is an isometric view of a television program listing with an enclosed postage-paid envelope accommodating a floppy disk used with the controller 28. FIG. 4a is an expanded view showing the details of the television program listing shown in FIG. 4. FIG. 5 is an isometric view showing details of the postage-paid envelope and the disk included with the television program listing of FIG. 4. Printed material 150, such as a printed book or magazine, is a television program listing that is distributed either in a newspaper which may be delivered to the subscriber's door or purchased at a store, or a periodical, such as TV Guide, which may be purchased at the store or delivered by mail. It may also be a neighborhood telephone directory, a newspaper classified section or other publication such as a shopping catalog or magazine. A postage-paid envelope or mailer 152 is attached using glue or other suitable means to one of the pages inside the printed material 150, or alternatively the envelope is placed against a cover of the printed material and the two are jointly shrink-wrapped as is well known to those skilled in the art. The television program listing counting the date, time, channel code, and title for each television program being shown during the program listing time period. The code is an encoded number indicating the date, time, channel and length of the program as will be discussed below. The disk 62, which is preferably a V/i inch high density floppy disk capable of storing about 1.5 megabits of data, is placed inside the envelope 152. The disk 62 contains encoded information that relates to information in the text of the printed material 150. Furthermore, the information on the disk 62 is stored in a form that can be indexed, sorted, selected and displayed, as will be discussed in detail below. The disk 62 has an encoded set of identifiers that correspond to the date, subject matter, and producer of the disk. After the disk 62 is inserted into and read by the controller 28, the CPU 49 decodes the identifiers. If there is an improper match between the identifiers and the corresponding data, the controller 28 either alters or erases the data on the disk. As will be described in connection with FIGS. 6-47, the user is able to select the SUBSTITUTE SHEET television programs for either viewing or recording, to shop from catalogs or classified ads, or to make telephone calls to selected neighborhood businesses using the telephone directory. These disks are used in conjunction with the controller 28 described above in connection with FIG. 2. The controller 28 also makes a record of the user's selections on the disk 62 or in the nonvolatile RAM 54. As the printed material 150 is updated, e.g., weekly, the user also receives with the printed update an updated disk 62. The user removes the postage paid envelope 152 from the printed material 150, and, after a data transfer process described in detail in connection with FIG. 47, inserts the disk 62 inside the envelope. When the user has completed his use of the information on a disk, e.g., when the information has time expired, he then mails the disk 62 to a data collection service. The data collection service reads and analyzes the data on the disk to determine the user's information selection history, such as TV viewing habits. While the disk 62 is shown packaged with a program on other print material, it may also be sold and/or delivered to the user as a separate item. SET UP OF THE CONTROLLER FIG. 6 is a flow chart showing the steps employed in the setup operation of the controller 28. During the setup mode, the user instructs the controller 28 about the consumer electronic system 10 and provides information about the user. It is assumed that the user has made the physical connections between the controller 28 and the consumer electronic devices as shown in FIG. 1. At step 160, the user turns on the television 12 and tunes it to channel 3 using either the controls on the television or the TV remote transmitter 32. When power is first applied to the controller 28, the CPU 49 reads the basic operating program from the ROM 56 and executes its start-up routine. If a prior setup mode has been installed in the controller 28, the CPU 49 goes to the main program discussed below for FIG. 13. On the other hand, if no prior setup mode has been installed in the controller 28, the CPU 49 switches the video switch and mixer 68 to the text mode, interrogates the disk drive 58 for a disk, and, if one is not found, generates a display requesting the user to insert a setup disk (not shown) into the floppy disk drive 58 and press the INFO key 96 on the controller remote transmitter 48 at step 162. Alternately, if a setup disk has been inserted into the floppy disk drive 58, the CPU 49 proceeds as if the user wants to make changes in the setup mode. The controller 28 reads and installs a main application program from the disk 62 into the RAM 52 at step 164. At step 166, the CPU 49 switches the video switch and mixer 68 to the text mode. At step 168 the controller 28 displays on the TV screen the Setup Menu 170 shown in FIG. 7. This menu provides a list of the parameters that the controller 28 needs for operating the consumer electronics system 10. The controller 28 is now ready to receive setup information. In the preferred embodiment, the Setup Menu 170 requests the user to set the controller clock 64, teach the controller 28 what equipment the user has, instruct the controller 28 as to what cable system and channels the user has, and provide user identification. The selection on the Setup Menu 170 that is being pointed to may be highlighted either in reversed video or in a background line of a different color than the screen background using the controller remote transmitter 48. The user moves through the menu either by using the cursor keys 90 or by directly entering a line number corresponding to the desired selection. For example, to set the system clock, the user either aligns the cursor to the clock line and presses the SELECT button 94 on the controller remote transmitter 48 or presses the number "1" and the SELECT key. Note that the IR signals transmitted by the controller remote transmitters 48 use an IR code protocol which is designed not to overlap any of the control codes for the other devices in the user's system. This unique-protocol enables the CPU 49 to determine whether the signals being received by the IR detector 44 are from the controller remote transmitter 48 or from one of the individual remote transmitters. Upon receipt of a command from the controller remote transmitter 48, the controller 28 determines what command is received. At step 172, the controller 28 determines whether the clock was selected. If it was, at step 174 the controller 28 requests the user to enter the date and time and press the EXIT key 106. Upon receipt of the EXIT command, the controller 28 sets the clock 64 to the entered date and time and returns to step 168, displays the Setup Menu 170, and waits for the next command. On the other hand, if at step 172 the clock setup has not been selected, the system determines whether the equipment has been selected at step 176. If it has, at step 178, the CPU 49 displays the Equipment Menu 180 of FIG. 8, and the user is requested to select the category of equipment, such as TV, VCR, Cable Box, Satellite Receiver, CD player, or stereo, or exit. In order for the controller 28 to monitor and control the equipment in the consumer electronics system 10, the controller must know what equipment needs to be controlled. The user provides the information to the controller 28. In an alternate embodiment, the electronic devices may be equipped with IR emitters and identification codes. Upon receipt of an interrogation command from the controller 28, each device transmits its identification code to the controller. At step 182, the controller 28 determines whether an EXIT command has been entered. A user exits a menu by pressing the EXIT key 106 on the controller remote transmitter 48. An EXIT selection on a menu is not necessary to leave the menu. If the EXIT command has not been entered, at step 184, the controller 28 displays a request to the user to press two designated keys, such as the power-on and one other key, on the corresponding remote transmitter for the selected piece of equipment. The controller 28 also requests that the user press the RECORD key 102 on the controller remote transmitter 48. For example, if the user at step 178 selects VCR, the user presses the power-on and one other command, such as select channel 9 on the VCR remote transmitter 38, and presses the RECORD key 102 on the controller remote transmitter 48. All of these commands are received by the IR detector 44. Stored on the setup disk 62 are sets of IR codes for a large number of manufacturers of consumer electronic equipment. At step 186, the CPU 49 searches the disk 62 for a code match of the recorded commands with the prerecorded IR code protocols of most commercial manufacturers. Upon completion of the search, if no match is found at step 188, the controller 28 displays an error message at step 190, returns to step 178, and displays the Equipment Menu 180. If a match is found at step 188, the controller 28 stores substantially the entire code set for that device in the nonvolatile RAM 54 at step 192. At step 194, the controller 28 highlights the selected category and flashes the highlighted line to indicate that the selection has been completed. The selection steps starting at step 178 are repeated until the user has completed the equipment selections for all of the devices by pressing the EXIT key 106 at step 182 and returning the system to step 168. The search of the disk for the code match is described in U.S. Patent 4,999,622 to Amano et al., the subject matter of which is incorporated herein by reference. In the Amano patent, the user aims the remote controller of the individual device, for example the VCR remote, at a universal remote controller and is instructed to enter a power command and one other command which, in the case of the VCR for example, may be channel 9. The useζthen presses the RECORD key 102. The controller 28 receives these IR signals through its IR detector and stores them. After the user presses the RECORD key, the system searches its memory in which is stored the IR command protocols for hundreds of different manufacturers' equipment. By using two commands, the power command and one other command, the universal remote controller can uniquely define a particular piece of equipment by manufacturer. Other types of IR code learning systems may be employed, as disclosed in Amano, et al. Because the IR control codes of the individual remote transmitters are now stored in the nonvolatile RAM 54, the controller 28 is now capable of monitoring and identifying which remote transmitter has transmitted an IR command. The controller 28 may also replicate the control codes of each individual remote transmitter. By transmitting commands SUBSTITUTE SHEET in the replicated code format, the controller 28 may now either replace the individual remote transmitters or may transmit an override command shortly after a command from the individual remote transmitter to thereby countermand this command. Many users may not have all of the different types of electronic devices. The information that the user does not have a particular electronic device, such as, for example, a CD player, is recorded on the disk 62 that is returned to the data collection response center. This information is provided to manufacturers of CD players who may place the user on their mailing list for product brochures. From step 168, the controller 28 again checks to determine which setup function is selected. If at step 176 equipment is not selected, the controller 28 determines whether channel assignment has been selected at step 196. If it has, at step 198 the controller 28 displays the Channel Assignments Menu 200 shown in FIG. 9. This menu has two selections: cable channels and channel skipping. At step 202, if cable channels has been selected, the controller 28 displays at step 204 the Cable Channel Menu 206 of FIG. 10. This menu lists cable companies that provide cable service to the user's geographical area. Each cable company allocates each TV station to a corresponding TV channel. For example, a cable company may put a station such as HBO on channel 7, whereas a second cable company may put HBO on channel 25. The setup disk may have a prerecorded matrix of TV stations corresponding to the TV channel as assigned by each cable company serving particular geographic areas. Because cable companies tend to be regional this requires setup disks that are also regional. Alternatively, a separate disk that has the channel mapping information may be used. Upon selection of the cable company in step 206, the CPU 49 at step 208 searches the disk to find the corresponding channel map and stores this map in the nonvolatile RAM 54. After storing the map, the program returns to step 198 and displays the Channel Assignment Menu 200 at step 198. Alternatively, the viewer may sequentially step through each TV station and enter its associated channel number. If cable channels was not selected at step 202, the controller 28 at step 210 determines whether channel skipping was selected. If it was, at step 212 the controller 28 displays the Channel-Skipping Program Menu 214 shown in FIG. 11. Many television remote transmitters 32 have, in addition to direct channel number commands, channel up/down commands that allow the viewer to sequentially step through pre-selected TV channels. This is useful when a viewer has a particular set of channels that are not normally viewed. For example, channels 2, 3, 4, 5 and 6 may be the channels that are broadcast to a viewer. However, the viewer may desire to watch, for example, only channels 2, 3, 5 and 6 and never watch channel 4. During the setup of the TV remote transmitter 32, the viewer sequentϊally enters, by using the transmitter, the desired channel numbers, 2, 3, 5 and 6 into the memory of the TV 12. Pressing the channel up button on the TV remote transmitter 32 commands the TV 12 to sequentially change channels according to the channel sequence in memory. In the above example in which channels 2, 3, 5 and 6 are stored in memory, the TV 12 changes channels from channel 2, to channel 3, to channel 5, to channel 6, and back to channel 2. Channel 4 is skipped because it is not in the channel shipping sequence. The channel down button functions in a similar manner but in the reverse sequence. Other televisions scan up or down in frequency as selected until they detect, using automatic gain control (AGC), signals that exceed a threshold. For example, if the TV 12 is initially on channel 2 upon receipt of a channel up command, the TV 12 scans channel 3 and compares the detected signal, if any, to a threshold. If the signal exceeds this threshold, the TV 12 stops scanning and displays channel 3. But if the signal on channel 3 is below the threshold, the TV 12 scans channel 4 and performs a similar comparison of the detected signal to the threshold. The TV 12 stops at channel 4 if the signal exceeds the threshold. Otherwise, the TV 12 scans channel 5 and keeps scanning to the next channel until the detected signal on that channel exceeds the threshold. Thus, the TV 12 may switch, for example, from channel 2 to channel 8. Some TVs or VCRs do not have direct access channel selection. These devices only have sequential channel changing capability. Channel skipping is achieved by transmitting multiple channel change commands to step the channel to the next channel in the channel sequence. As indicated below, it is desirable for the controller 28 to keep track of the channel to which the TV 12 and VCR 14 are tuned. With up/down commands, the controller 28 does not necessarily know what channel is selected. However, this problem is overcome if the controller 28 uses channel skipping to directly command the TV 12 to these preselected commands when the controller remote transmitter 48 is used. Otherwise, if the TV remote transmitter 32 is used, the controller 28 retransmits a new channel command to direct the TV 12, VCR 14, or cable box 16 to the next channel in the prerecorded sequence. In the previous examples, if the TV 12 receives an up command, it switches from command 2 to channel 8 because the signal on channels 3 through 7 are below the threshold. The controller 28 detects the up command and sends the next channel in the channel skipping system from the nonvolatile RAM 54. In the channel 2, 3, 5 and 6 sequence, channel 3 is the next channel. The controller 28 then sends a channel 3 command to the TV 12. The viewer sees a momentary flicker on the TV screen from the switching of channels from channel 2 to channel 8 and then to channel 3. Thus, at step 212, the user enters these channels. Similarly, a listener with a stereo receiver 24 with a remote transmitter 36, may similarly select radio stations for playing. The user may enter the channels in any desired sequence. As will be described below, at power turn on for the television 12, the controller 28 switches the TV channel to the first one in the sequence. The user may not want this channel to be the numerically lowest channel. As mentioned earlier, the VCR output signal is usually on channel 3 or 4. The user provides that information to the system also. A vacant channel that is unused by the cable company or local broadcasters is also provided the use of which will be explained below. Upon completion of entering this data, at step 214, the controller 28 stores the list in the nonvolatile RAM 54, returns to step 198, and displays the Channel Assignments Menu 200. The list may also be stored on the disk 62 whereby the data collection service may determine channels skipping habits. The Channel Assignments Menu is exited at step 215 upon detection of an EXIT command. Upon an EXIT command, the program returns to step 168 and displays the Setup Menu 170. If channels assignments is not selected at step 196, the controller 28 determines whether user identification has been selected at step 216. If it has, at step 218, the controller 28 displays the User ID Menu 220 shown in FIG. 12. The user has an option of entering a name, address, telephone number, credit card number, and a password. The details of this information will be discussed below. This information is stored in the nonvolatile RAM 54. The system detects whether a previous password flag has been set to prevent someone without a password from bypassing the password system by resetting the system and disk. At step 220, if the password flag has been set, the user is asked to enter the password at step 222. If an improper password is entered the controller 28 returns to step 168 and displays the Setup Menu 170. Otherwise, at step 224, the controller 28 requests the user to input data using the keypad and press the EXIT key 106 upon completion of entry of data. Alternatively, at step 222 the system may cycle through a predetermined number of requests for the user-generated password to allow for miskeying of information. The use of the password during the Setup Menu is done at user identification because the main address, phone number and credit card number are considered the most private of the information on the system and, as will be discussed below, may be used for ordering merchandise. Alternatively, the password may be required before step 168 in order to gain access to the Setup Menu. In an alternate embodiment, the system may have unique user ID and passwords for SUBSTITUTE SHEET dϊfferent users. This allows individuals to use their own credit card and preclude others from using it. As will be discussed below for parental control, the unique passwords allow television shows to be blocked for some viewers such as children under age 13 but allows others, such as children above age 13, to view the shows. The user may change the password by entering the old password and entering the new password. A verification of the new password is done to prevent changes due to miskeying of characters. After storing the user ID information in the nonvolatile RAM 54, the controller 28 detects at step 226 whether the EXIT command for leaving the Setup Menu has been selected. If it has not been selected, the controller 28 returns to step 168, displays the Setup Menu 170, and waits for the next command. Otherwise, if the EXIT command has been selected, the controller 28 displays a "remove disk" command at step 228 and goes to the Main Menu program routine of FIG. 13. The user ID information may also be stored on the disk 62 to provide demographic information to the data collection service. PROGRAM SELECTION After completion of the setup mode, the controller 28 and the consumer electronic system 10 are ready for use as discussed above. A variety of application or data disks may be used and it is contemplated that new applications will be developed on a continuing basis. One application may be for displaying television or radio schedules, as will be discussed in detail below. This involves controlling the cable box 16, the VCR 14, the television 12, and the stereo receiver 24. Another type of disk is used for CD control, and another is supplied with telephone directories or newspaper advertising. Other disks are used for home shopping. The disks contain information and may be provided with printed material related to and supplementing or explaining the information on the disk. As mentioned earlier, the disks may be attached to the printed material, may be provided through the mail through newspaper and magazine delivery or available upon purchase with or without printed material. In an alternate embodiment, a user who has multiple consumer electronic systems, but does not subscribe to multiple program listing guides, may use one program listing disk to control multiple systems. At step 168 of FIG. 6, as part of the Setup Menu, an additional selection is provided for assigning a unique number or name to each consumer electronic system 10. By physically moving the disk to each controller 28, each system is setup in the manner discussed above. The program listing is stored in the nonvolatile RAM 54 of each controller 28. The viewing data for each controller 28 is identified by a unique flag. FIG. 13 is a flow chart showing the steps employed in the operation of the main SUBSTITUTE SHEET program for the controller 28. At step 240 the user inserts a particular application/data disk 62 into the floppy disk drive 58 and presses the INFO key 96 on the controller remote transmitter 48. The CPU 49 reads the disk 62 in the floppy disk drive 58 at step 242. The controller 28 at step 244 transmits a power on command in the IR protocol of the TV 12 if the power of the TV is off. The controller 28 knows the power status of the TV 12 as well as the other consumer electronics devices by the power monitoring circuits discussed below in connection with FIG. 43. The IR code protocol for the TV 12 is stored in the nonvolatile RAM 54 as discussed above. The CPU 49 reads the IR code protocol from the nonvolatile RAM 54 and sends the codes to the IR emitters 34 which transmit the IR codes in a broad coverage that floods the room. The TV 12 detects the power on command and turns on. The controller 28 switches the television 12 to channel 3 by reading the channel 3 IR code from the nonvolatile RAM 54 and, in a manner similar to the TV power on command, transmitting a channel 3 command to the TV with the proper IR code format. At step 246, the video switch and mixer 68 is switched into the text mode, and at step 248, the controller 28 displays on the TV screen the Main Menu 250 shown in FIG. 14. This menu shows the types of disks that may be used in the interactive electronic control system. In particular, the main menu 250 shows selections for TV/VCR, CD, radio, telephone directory/newspaper, home shopping, movie reservations, and other. As will be discussed, the program sequentially steps through the types of disks that could be inserted and determines the type of disk that was inserted. Alternatively, if one disk contains several or all choices, the controller 28 highlights these choices on the Main Menu 250. At step 252, the controller 28 determines whether the disk is a TV/VCR disk. If it is, the controller 28 jumps to the TV/VCR program described below for FIGs. 15 through 21. Otherwise, at step 254 the controller 28 determines whether the disk 62 is a CD Menu disk. If it is, the controller 28 jumps to the CD program shown in FIGS. 22-24. Otherwise, at step 256 the controller 28 determines whether a radio disk is inserted. If it is, the controller 28 jumps to the radio program described below in FIGS. 25-27. Otherwise, at step 258 the controller 28 determines whether a telephone directory/newspaper disk was inserted. If it is, the controller 28 goes to the telephone directory /newspaper program described below for FIGS. 28-32. Otherwise, at step 260 the controller 28 determines whether a home shopping disk is inserted. If it is, the controller 28 goes to the home shopping program described in FIGS. 33-35. Otherwise, at step 262 the controller 28 determines whether movie reservations was selected. If it is, the controller 28 goes to the movie reservation program described in FIGS. SUBSTITUTE SHEE 36-37. Otherwise, at step 263 the controller 28 determines whether "other" has been selected. If it is, the controller 28 goes to an "other" program (not shown) for a new application. Otherwise, at step 264 the system detects whether an EXIT command has been entered. If the EXIT command has not been entered, the controller 28 returns to displaying the Main Menu 250 at step 248. If a selection is commanded from the Main Menu and the corresponding disk is not in the disk drive 58 or the data is not stored in the nonvolatile RAM 54, the controller 28 displays an "Insert Disk" command. If the EXIT mode has been selected, the controller 28 switches the video switch and mixer 68 to the television setting at step 266, and at step 268 restores the television 12 to the channel the viewer was watching prior to entering the main program. Because the controller 28 monitors and records the user's viewing habits as will be discussed below, the CPU 49 retrieves the previously watched channel from the nonvolatile RAM 54 or the disk 62. Alternatively, the controller 28 may switch the TV channel to the first channel in the channel skipping table recorded during the setup mode. TV/VCR PROGRAM CONTROL The TV/VCR program allows the user to display the TV program listing on the television 12 and to select programs so that the controller 28 automatically turns the VCR 14 on to record the selected programs or turns the TV 12 on for viewing the selected programs at their scheduled times. The TV/VCR program allows the user to sort the information on the disk by various categories such as day or type of program. The controller 28 stores the user selections of programs for viewing or recording in the nonvolatile RAM 54 or on the disk 62. Upon selection of the TV/VCR program at step 252 in FIG. 13, the controller 28 jumps to the TV/VCR selection program shown in FIG. 15. Upon entering the TV/VCR selection program at step 280, the controller 28 displays the TV/VCR Menu 282 of FIG. 16. The TV/VCR menu 282 provides a selection of different sorts of program listings. The TV/VCR menu 282 allows the viewer to select the date or category of programs that are to be displayed. The categories in the TV/VCR menu 282 shown in Fig. 16 are for the purpose of example only. The invention is equally well adapted for other sorting categories. The TV/VCR program listing disk has coded CDTL information, the title of the program, category codes for sorting, and CDTL and title information for EXTRA programs. Figure 16 A is a chart showing the organization of data stored on the TV program listing disk SUBSTITUTE SHEET 62. The TV programs are divided into areas on the disk by date. Each program has a channel, time, length, title and description, and type codes. Movies may also have a unique serial number as will be discussed in detail below. Each program also has a number of event flags associated with it. These flags include selection and cancellation of parental control, selection and cancellation of record or view, and selection or cancellation of the EXTRA feature. The details of each flag is discussed in detail below. Because flags are always associated with a CDTL in the TV/VCR mode, there is no need to store the channel or date of the commanded event. Thus, only the date and time of the occurrence of the command is recorded, except future actions require the need to store the date. At step 284, the controller 28 detects whether an EXIT command has been received. If it has, the controller 28 at step 286 displays the Main Menu 250 and returns to step 248 of FIG. 13. However, if at step 284 an EXIT command has not been received, the controller 28 determines which menu item is selected. At step 288 the controller 28 determines whether calendar-by-date has been selected. If it has, at step 290 the controller 28 displays a command to the user to enter the date of the program listing that the user wants to view. After the user enters the date by using the keypad on the controller remote transmitter 48, the controller 28 at step 292 reads from the disk 62 and sorts by the selected date from step 290. Upon completion of the sort, the controller 28 displays the Calendar-by-Date Menu 294 as shown in FIG. 17. The Calendar-by-Date Menu 294 has columns for codes, channels, start time, extra, and title. The codes correspond to the VCR encoding codes described in PCT application WO 90/07844 to Yuen et al., the subject matter of which is incorporated herein by reference. Alternatively, the codes may be replaced by sequential line numbers to allow random access selection of programs by line number. Using the code numbers which represent the channel, day, time and length (CDTL) information for the television program, permits the television program listing on the disk 62 to be abbreviated to contain only the code, and not the express CDTL information. In the embodiment using codes, the controller 28 has the encoding and decoding program stored in the ROM 56. During operation, the controller 28 receives the code number of a selected program and decodes the code number into CDTL information which is used to program the VCR recording and TV viewing functions as described below. The EXTRA column will be discussed in detail below. The controller 28 responds to the user selection of a function on the controller remote transmitter 48. At step 294, the controller 28 determines whether the PAGE key 92 has been pressed. If it has, at step 296 the controller 28 advances the Calendar-by-Date Menu 294 by a page. Multiple pages may be advanced by using in combination the keypad 88, cursor 90 SUBSTITUTE SHEET and the PAGE key 92. If PAGE has not been commanded at step 294, or the page has been changed at step 296, at step 298 the controller 28 detects whether the RECORD key 102, VIEW key 104, or PARENTAL CONTROL key 115 has been actuated. If one has, at step 300 the controller 28 displays the Record/View Menu 302 of FIG. 18. The Record/View Menu 302 allows the viewer to select recording or viewing the program once, daily or weekly, as well as to select the extra program, or parental control feature. Because most programs are broadcast daily or broadcast only Monday through Friday, the daily selection corresponds to the Monday through Friday viewing. Alternatively, a seven-day per week broadcast selection may also be made. The EXTRA feature is a tag added by the broadcaster that is displayed with the program listing schedule and indicates that more information is available regarding the tagged broadcast. This extra information is usually broadcast on some other channel at another time. For example, the extra program may be broadcast on a rarely used UHF channel during an early morning time period. By pressing the EXTRA key 114, the viewer may elect to record this off-hour broadcast. Thus, for example, in FIG. 17, for a fifth program entry with the code 54769 and the^rogram title "Discover the World," there is an "X" in the extra column. This extra program may be, for example, an ad for a travel cruise ship. The "extra" program may be any type of program and is not limited to advertisements. It may be an expanded program that provides additional information beyond what is televised during the main program. For example, a bipgraphy about a person may have an associated extra program that contains the full film of speeches or more detailed information. Thus, the extra flag indicating additional information is available even though the viewer has not watched the program yet. Referring to Fig. 16A, the CDTL and the title of the extra program is stored and associated with the program. Upon selection of the extra program, the controller 28 searches the program disk for the program that has the same CDTL information as the extra program. The flags of the extra program are set to record the time and occurrence of the selection. The CDTL information of the EXTRA program is stored in a record or memory stack which is a portion of the nonvolatile RAM 54 that contains the programs selected for recording or viewing. As will be discussed in connection with Fig. 42, the controller 28 compares the date and time of the clock 64 to the date and time of the selected programs in the record stack. Upon a coincidence, the controller 28 commands the VCR 14 to record the program and deletes the program selection from the record stack. A flag is set to note that the recording or viewing actually took place. Returning to Fig. 15, if, at step 301, an EXTRA command is not selected, the B controller 28 goes to step 310 which will be discussed below. Otherwise, if EXTRA is selected, the controller 28 goes to the EXTRA subroutine of FIG. 19 at step 302. Referring to the EXTRA subroutine program flow chart of FIG. 19, at step 303, the program detects whether the EXTRA command has been selected. If it has not been, the controller 28 leaves the extra subroutine and returns to the program from which it came. If it has been selected, in step 304, the controller 28 searches the disk 62 for the program with the same channel, date, time and length (CDTL) data as the extra program. At step 306, the controller 28 stores the CDTL data in the record stack of the nonvolatile RAM 54. The controller 28 then sets the extra flag, date and time on the disk for recording the extra information at step 308. The controller 28 then returns back to the TV/VCR program selection at step 310 of FIG. 15. During program selection, the user may impose parental control to prevent a viewer from watching particular television programs or a selected channel. Alternatively, parents may want to prevent their children from watching any TV during a time period, for example, after school and before dinner. Parental control is set by pressing the PARENTAL CONTROL key 115 for the highlighted selection on the Calendar-by-Date Menu 294 being displayed at step 300. Programs that are flagged for parental control may be recorded or viewed by viewers with the proper password as will be discussed. However, a second user may try to use the disk to view or record a forbidden show. Alternatively, the unauthorized viewer may try to directly set the television 12 or VCR 14 to the blocked show by using either the controller remote transmitter 48, the TV remote transmitter 32 or the VCR remote transmitter 36 to tune the TV to the channel of the forbidden show or turn the VCR on to record the forbidden show. Thus, it is necessary to periodically monitor the program that is being viewed or recorded. FIG. 20 is a flow chart showing the steps employed in the parental control monitoring program for the selections in the program selection flow chart shown in FIG. 15. At step 320, the controller 28 periodically compares the program being viewed or recorded to a stored parental control program list and a password flag. The password flag is set when the proper pass word is entered by the user. At step 322, if there is not a match between the program being watched and the parental control flag, the program returns to step 320 because either the program being viewed is not on the restricted list or the proper password has previously been entered. The compare between the program being viewed and the parental control flag is done every minute or so to prevent long periods of unauthorized viewing before the next comparison. If there is match at step 322, at step 324 the controller 28 stops the VCR 14, if it is SUBSTITUTE SHEET on, and inhibits all record commands. Because the viewer is trying to record a forbidden show, the controller 28 ignores the command and does not transmit a record command to the VCR 14 thereby inhibiting the command. The controller 28 similarly ignores channel commands for the forbidden channel from the controller remote transmitter 48. The controller 28 inhibits commands from the VCR remote transmitter 38 to record the forbidden show by turning off the VCR 14 and turning the TV 12 to channel 3 after receipt of a VCR record command or a channel change to the forbidden show. The controller 28 similarly inhibits commands from the TV remote transmitter 32 to view the forbidden show by switching the TV 12 to channel 3. The controller 28 switches the video switch and mixer 68 to the text mode, and displays "parental control: please enter password to reset". At step 326, if the correct password is not entered, the controller 28 returns back to step 324, and continuously requests the password to be entered. If the correct password has been entered, the system resets the system and the program password flag at step 328. Setting the program password flag allows the authorized viewer to continue watching the show or recording the show without periodically being interrupted by a request for a password. At step 330, the controller 28 records the incorrect password event in the nonvolatile RAM 54 or on disk 62 to later inform the authorized viewer that an unauthorized attempt to view or record the program was made. The controller 28 continues to display the request for a password until the proper password is set. In an alternate embodiment, the controller 28 allows the user to select channels other than those that are forbidden. The authorized viewer may retrieve a log of attempted accesses to the programs restricted by parental control by selecting a menu (not shown) in the TV/VCR program that displays the date, time, channel and title of the programs that the unauthorized viewers attempted to access. The controller 28 then returns to step 320. Referring back to FIG. 15, at step 310, the controller 28 stores the record, view and parental control selections in the nonvolatile RAM 54 and sets the corresponding control flags on the disk 62 at step 340. The flag system is comprised of multiple bits that are encoded to indicate the frequency of selection, parental control, and extra selection. Alternatively, the flags may be multiple bits where the extra, parental control, daily recording, weekly recording, and a single recording are each represented by a single bit. Again, this data is recorded for marketing information. At step 342, the date and time that the viewer made these selections is recorded on the disk and/or in the nonvolatile RAM 54. The date and time of the selection may be useful marketing information. The controller 28 then goes back to step 294 to determine whether a PAGE command has been selected. Returning to step 298, if the record, view or parental control has not been selected, UBSTIT at step 344 the controller 28 determines whether a REVIEW command has been made. This step allows the viewer to review the selections that he has made. At step 346, die Selection Review Menu 348 of FIG. 21 is displayed. This display has columns to show the programs that have been selected to be recorded and the frequency of the recording (daily, weekly, extra, etc.). A column indicates whether the program has been selected to view and the frequency of viewing. A parental control column indicates those selections that have been tagged with parental control. Columns for the channel, day, time, and title of the selected programs are also displayed. The controller 28 changes pages as requested at step 348 in a manner similar to that discussed above at steps 294 and 296. At the completion of step 348, or if REVIEW was not selected at step 344, the controller 28 at step 350 determines whether a CANCEL command has been selected. If it has, at step 352, the controller 28 erases the selection from the nonvolatile RAM 54 and the program is not viewed or watched. However, if parental control has previously been imposed, the controller 28 requests a password and ignores the cancellation if an improper password is entered. At step 358, a set cancel flag is recorded on the disk and at step 356, the date and time of the cancellation is stored on the disk. The record of cancelled programs is retained on the disk for marketing information. This information may be useful, for example, to determine the impact of a negative movie review. At the end of step 356 or if CANCEL was not selected at step 350, the controller 28 determines whether movie reservations was selected at step 358. Movie reservations allows a viewer to tag movies the viewer wants to record but does not know when they will be shown. A movie reservation is made by selecting a movie from a separate library disk and recording the corresponding serial number of the selected movie into the nonvolatile RAM 54. The library disk has a listing of movies and a corresponding unique serial number assigned to each movie using an industry-wide serializing system to be established. The library disk may have a complete listing of movies or may be sorted by years, subject matter, or other category. The disks are periodically updated by either the user purchasing new disks or the updates may be on the program listing disk and are recorded onto the library disks by copying the new movies from the program listing disk onto the library disk. When new program listing disks are inserted into the disk drive 58, the CPU 49 searches the listing disk and compares all of the movie serial numbers to the requested reservation serial number previously stored in the nonvolatile RAM 54. As shown in Fig. 16A, each movie in the program listing has a unique serial number. Making movie reservations will be discussed in detail for FIGS. 36-37. If movie reservations was selected, at step 360, the controller 28 reads the entire disk in order to determine at step 362 whether there was a serial number SUBSTITUTE SHEET match. If there is a match, the controller 28 highlights the movie title in the display indicating to the viewer that the requested movie is listed, and the controller 28 returns to step 298 for the viewer to decide whether to record, view or cancel this selection. If there is no serial number match at step 362 or if no movie reservations had been selected at step 358, the controller 28 goes to step 284 to determine whether an EXIT command has been given, as discussed above. At step 288, if calendar-by-date has not been entered, the controller 28 jumps to other sort routines of the TV/VCR Menu 282. For example, as shown for the TV/VCR Menu 282 of FIG. 16, the user may also sort by movies, situation comedies, soap operas, news, sports and children shows by selecting from the menu. The controller 28 reads the TV/VCR program listing disk and retrieves and displays the programs with sort codes matching the selected category. These sorts provide displays like the calendar-by-date sort of FIG. 17, except these sorts have an additional column for the date of the show. The programming of these other sorts for determining whether page selection, recording, viewing, reviewing, cancelling and movie reservation detection is the same as the calendar-by-date program shown in FIG. 17. CD PLAYER CONTROL The CD program allows the user to program the CD player 26 to play the tracks of the CD in the sequence that the user selects. The program also allows the user to play CD karaoke by reading the lyrics to the songs on the CD from a karaoke disk and displaying these lyrics on the T.V. 12. Returning to FIG. 13, at step 254, if the CD selection is made, the controller 28 goes to the CD program shown in FIG. 22. At step 380, the controller 28 displays the CD Menu 382 of FIG. 23. This menu has selections for CD programming, CD karaoke, or "other." At step 384, the controller 28 detects whether an EXIT command was entered. If it was, at step 386, the controller 28 displays the Main Menu 250 and returns to step 248 of FIG. 13. Otherwise, at step 388, the controller 28 determines whether the CD programming selection in the CD Menu 382 was selected. If it was, the controller 28 at step 390 displays the CD Program Library Menu 392 of FIG. 24. This menu has spaces for entering a CD number and track numbers. Each CD has its own unique serial number, similar to an ISBN number for books. By using the keypad of the controller remote transmitter 48, the user enters the number of each disks and for each disk, the number of the tracks in the sequence that the listener prefers to hear these tracks. This allows the listener to delete the hearing of undesirable tracks. Alternatively, the user may assign an arbitrary identification number to SUBSTITUTE SHEET each disk and label each corresponding disk with suitable adhesive labels. At step 394, the controller 28 stores the selections in the nonvolatile RAM 54 or on disk. At step 396, the listener may cancel the selections. If a CANCEL command is given at step 396, the controller 28 erases the selection from the nonvolatile RAM 54 at step 398. The controller 28 then returns to step 390 and displays the CD Program Library Menu 392. Otherwise, if no CANCEL command is given, the controller 28, at step 399, determines whether an EXIT command is given. If it has been, the controller 28 returns to step 380 and displays the CD Menu 382. Otherwise, the controller 28 returns to step 390 and displays the CD Program Library Menu 392. If a CD program is not selected at step 388, at step 400 the controller 28 determines whether CD karaoke was selected. CD karaoke is a display in real time of the lyrics to a song on a CD in synchronization with the words of the song as it is being played. If it was, the CD Menu 382 instructs the listener to insert a floppy disk 62 containing the lyrics to the song being played on the CD and press the SELECT button 94 on the controller remote transmitter 48. At step 402, the controller 28 reads the lyrics from the disk into the RAM 52 and sets a CD karaoke flag at step 404. The CD karaoke flag is used to initiate the execution of CD karaoke when the CD player 26 is turned on or a track is selected. The execution of CD karaoke will be described below for FIG. 38. After step 404 or if CD karaoke is not selected at step 400, the controller 28 returns to step 384. RADIO CONTROL The radio program allows the user to play radio/TV karaoke by reading the lyrics to the songs on the radio/or TV from a karaoke disk and displaying these lyrics on the television 12. The program also allows the user to identify songs that were previously tagged by selecting Music ID. Returning now to FIG. 13, at step 256, if radio has been selected from the Main Menu 250, the controller 28 jumps to the radio program subroutine of FIG. 25. The controller 28 at step 430 displays the Radio Menu 432 shown in FIG. 26. This menu provides selections for radio/TV karaoke, Music ID, or other. At step 434, the controller 28 determines whether an EXIT command has been entered. If it has, the controller 28 displays the Main Menu 250 at step 436 and returns to step 248 of the main program of FIG. 13. Otherwise, if at step 434, EXIT has not been selected, the controller 28 determines at step 438 whether radio/TV karaoke has been requested. Radio or TV karaoke is a display in real time of the lyrics to a song on the radio or TV respectively in synchronization with the words of the songs as it is being played. If radio or TV karaoke has been selected, the SUBSTITUTE SHEET Radio Menu 432 instructs the viewer to insert a disk containing the karaoke lyrics. At step 440, the controller 28 reads the lyrics from the disk into the RAM memory 52 and sets a radio or TV karaoke flag at step 442. At step 444, the controller 28 determines whether a CANCEL command has been given. If it has, at step 446, the radio or TV karaoke flag is reset. After step 446 or if no CANCEL command is given at step 444, the controller 28 returns to the exit routine at step 434. On the other hand, if at step 438 no radio/TV karaoke command is given, at step 448, the controller 28 determines whether Music ID has been selected. Music ID allows a listener of a radio station who hears a song, but does not know the title or artist, to record the time and station of the song and, when a program disk is entered into the controller 28, to identify the song. In an alternate embodiment discussed below in connection with FIG. 38, upon receipt of a Music ID command, the controller 28 displays in real time the title of the song on the television 12. The program disk may either be an advance listing of radio broadcasts, listings of songs actually broadcast, or a combination of both. If Music ID has been selected, at step 450, the controller 28 compares the date, time, and frequency of the selected songs stored in the nonvolatile RAM 54 with the radio schedule on the disk. As will be discussed below in connection with FIG. 38, when the listener commands Music ID, the controller 28 stores the date and time of the Music ID command in the non-volatile RAM 54. Because the controller 28 stores the stereo receiver power on and frequency selection commands as part of its monitoring of listener habits as will also be discussed in connection with FIG. 38, the controller 28 identifies the songs selected for identification by comparing the date, time and frequency of the Music ID command with the radio program listening. When a match is found, at step 452, the controller 28 displays the music titles, artists, and other identification of the Music ID Menu 453 shown in FIG. 27. Because the song may have been broadcast with advertisements, the disk may also have a corresponding advertisement that the controller 28 may display with the listing. Moreover, the controller 28 may record the event of the Music ID on the program list on the disk 62. When the disk 62 is returned via the prepaid mailer 152, the information may be used for marketing as well as for entering the listener into contests- The Music ID key 112 may be actively used by radio stations for contests. For example, instead of awarding prizes to the 100th listener to call in, the listener may be asked to press the Music ID key 112 and the winner is randomly selected from those who returned their disks and selected Music ID. The listener may also cancel a Music ID selection if no longer desired. At step 454, the controller 28 detects whether a CANCEL command has been received. If it has, at step 455, the controller 28 cancels these entries in the nonvolatile RAM 54 and returns to displaying the Music ID Menu 453 at step 452. If at step 454 there is no CANCEL command, the controller 28 determines whether an EXIT command has been selected at step 456. If it has been, the controller 28 returns to displaying the Music ID Menu 453 at step 452. If it has not been selected, the controller 28 returns to displaying the Radio Menu 432 at step 430. Furthermore, if Music ID is not selected at step 448, the controller 28 also returns to the exit routine at 434. TELEPHONE DIRECTORY/NEWSPAPER PROGRAM The telephone directory/newspaper program disk contains information related to the printed telephone directory or newspaper that accompanies the disk. In particular, the telephone directory disk has listings of business establishments, their addresses and phone numbers, and associated advertisements. Each business establishment has identifying codes for sorting the establishments by categories. For example, a listing for the restaurant China King has its address, phone number, and identifying codes to indicate that it is a Chinese restaurant, is moderately priced, has take out food but no delivery, and accepts certain major credit cards such as Visa and Mastercard. The newspaper disk has listings of classified advertisements for individuals or businesses with identifying codes that are related to the items being sold. The telephone directory and newspaper programs allows the user to search the disk by sorting the information into user defined categories. The user is able to call the establishments by using the controller 28 and the controller remote transmitter 48. The controller 28 maintains and records in the non-volatile RAM 54 or on disk the searching habits and the telephone calls of the user. Referring back to FIG. 13, if, at step 258, telephone directory/newspaper is selected, the controller 28 goes to the telephone directory/newspaper program shown in FIG. 28. At step 470, the controller 28 displays the Telephone Directory Menu 472 of FIG. 29 if telephone directory is selected, or the Newspaper Classified Menu 474 of FIG. 31 if newspaper is selected. The programming flow chart is virtually identical for selecting from the telephone directory and newspaper, and thus, in the preferred embodiment, a common computer program is used wherein a flag indicates whether the selected entry is for telephone directory or for newspaper, as will be discussed below. At step 476, an exit routine similar to that at step 284 in of FIG. 15 is employed. If EXIT has been selected, the program displays the Main Menu 250 at step 478 and return to step 248 of FIG. 13. Otherwise, if EXIT has not been selected, the controller 28 reads the user-selected SUBSTITUTE SHEET category of the selected menu at step 480. In particular, in the Telephone Directory Menu 472 of FIG. 29, the menu directs the viewer to insert the telephone directory disk into the disk drive 58. This menu also displays categories of business that may be selected. For example, the menu 472 shows restaurants, pharmacies, attorneys, doctors, and plumbers. Similarly, from the Newspaper Classified Menu 474 in FIG. 31, the viewer is instructed to insert a newspaper disk. FIG. 31A shows the organization of the telephone directory/Newspaper listing disk. Each data entry has three fields. The first field has the event .flags with the day and time of the event. The event flags include dialing of a telephone number and the hang-up of the telephone call. The details of these flags are discussed below. The second field has the name and description of the item and limitations, such as time or quantity limitations. The third field has the sort codes that determine the categories the item will be sorted in. For example, these include restaurants, attorneys, and plumbers for the telephone directory listing and automobiles, real estate, and employment for the newspaper. At step 482, the controller 28 reads the disk and sorts by selection. For example, if for the telephone directory, the user selects "restaurants" after reading from the disk, the controller 28 displays a Restaurant Menu 484, shown in FIG. 30, having a selection of individual restaurants. Alternatively, the viewer may select categories by entering the alpha characters of the desired category. For example, after the user enters "RE" on the controller remote transmitter 48, the controller 28 searches for categories beginning with these letters and displays several categories such as RESTAURANT, RECORDS, and the like. The user may either directly select RESTAURANT or may enter a sufficient number of characters to uniquely define the RESTAURANT category. If the user selects a displayed item, the controller 28 reads the address and telephone number from the telephone directory disk and displays them on the screen. Alternatively, advertisements or menus may be stored on the disk and also displayed when the item is selected. Because the business may be called directly by pressing the DIAL key 108 on the controller remote transmitter 48 as will be discussed below, the telephone number does not need to be displayed. Similarly for newspapers, if automobiles is selected from the Newspaper Classified Menu 474, the Automobiles Menu 486 of FIG. 32 displays an Automobiles Menu. Other sorts, by year, model, or geographical location of the caller, may be done. The automobiles has an EXTRA column where certain cars have a corresponding "X" in this column by selecting the EXTRA key 114, additional information may be retrieved from disk and displayed or, as was done with the television programming, an off-hour off-channel television broadcast may televise particular details about the particular cars. This feature is useful in the marketing of residential houses. SUBSTITUTE SHEET After the controller 28 reads from the disk, the controller determines whether page advancement has been selected by the PAGE key 92 on the controller remote transmitter 48 at step 488. If it was, the display advances a page at step 490, and either way, at step 492, the controller 28 determines whether a DIAL command has been sent. If no DIAL command has been sent, the controller 28 returns back to step 488. If a DIAL command has been detected, at step 494, the CPU 49 activates the DTMF generator 78 to output DTMF tones on the phone line terminal 76 corresponding to the telephone number of the selected establishment. The CPU 49 also switches the audio switch 84 to the microphone position thereby allowing the user to talk. The set dial flag is recorded on the disk and/or the nonvolatile RAM 54. Similarly, at step 498, the date, time, and selection are recorded on the disk and/or in the nonvolatile RAM 54. The selections may be retained in the nonvolatile RAM 54 for time periods beyond the update period of the newspaper disk. The controller 28 compares the selection to the previous selections stored in the nonvolatile RAM 54 and notifies the user if the user is attempting to purchase the same item more than once. After a period of time, for example two weeks, the Controller 28 erases the selection from the nonvolatile RAM 54. At step 500, the controller 28 determines whether a HANG-UP signal has been issued. If none has been, the system waits until a HANG-UP command has been received. At step 502, upon receipt of the HANG-UP command, the hang-up flag is set and stored on disk or in the nonvolatile RAM 54, and at step 504, the date and time is similarly stored on disk or in the nonvolatile RAM 54. Thus, the duration of the phone call is calculable. When the disk is returned, the information becomes available to the audience response collection service. The frequency of use, what ads are viewed, and other data may also be determined. After step 504, the system returns to step 476 for the exit sequence. HOME SHOPPING PROGRAM The Home Shopping disk program allows a shopper to purchase items advertised in catalogs by selecting the items from a Home Shopping disk that accompanies the catalog and either placing the order by returning the disk or calling a distributor and electronically ordering the selected items. The Home Shopping disk contains information related to the printed catalog. In particular, the home shopping disk has listings for items for sale, a corresponding description of the items, prices and identifying codes to indicate the type of item. For example, a VCR made by Sony may have a description that it is a four head, stereo VCR with built-in VCR plus functions priced at $349.95. The listing may also have identifying codes to show it is an appliance, an electronic device, a VCR, and priced under $400.00. The controller 28 sorts the information on the disk for user selected categories and SUBSTITUTE SHEET displays the matching entries on the TV 12. The shopper may select the item for purchase by pressing the SELECT key 94 on the controller remote transmitter 48. The controller 28 records this selection in the nonvolatile RAM 54 or on the Home Shopping disk. The shopper places the order for the item by returning the disk with the stored order to a retailer or by phoning the retailer using the controller 28 and electronically transmitting the order stored in the nonvolatile RAM 54 or on the disk to the retailer. Referring back to FIG. 13, if at step 260, the home shopping program is selected, the controller 28 jumps to the home shopping program shown in FIG. 33. At step 520, the controller 28 displays the Home Shopping Menu 522 shown in FIG. 34. This menu shows categories, such as appliances, clothing, gifts, sporting goods, and other, that the user may select for displaying items within the selected category. At step 524, the controller 28 determines whether an EXIT command has been sent. If it has, die Main Menu is displayed at step 526, and the program returns to step 248 of FIG. 13. If no EXIT command has been issued, at step 528, the controller 28 stores the user identification information on the disk. At step 530, the controller 28 reads the user's selected category from the selections of the Home Shopping Menu 522. For example, if appliances is selected on the menu, the controller 28 at step 532 reads the disk received with a catalog and sorts by this selection. The controller 28 then displays the Appliance Menu 534, shown in FIG. 35. This menu shows the particular items in the selected category that are for sale. At step 536, the controller 28 determines whether a PAGE command has been sent, and if so, at step 538, changes pages. After the page is changed or if no PAGE command has been issued, at step 540, the controller 28 stores the date, time and selection of the user on the disk and/or in the nonvolatile RAM 54. The user is instructed to mail the disk in the postage-paid mailer 152 in step 542. Upon receipt, the data services group forwards the order to the corresponding wholesaler or manufacturer. Alternatively to step 542, step 542' may be performed wherein the viewer dials a toll-free number and transfers the data stored in the nonvolatile RAM 54 or on disk directly to the retailer. The system is then returned to step 524 for the exit subroutine. MOVIE RESERVATIONS The movie reservations program allows a user to search a library disk that contains a listing of movies and an associated unique serial number and select movies the user wishes to record or view at a later date. The serial numbers of the selections are stored in the nonvolatile RAM 54. Upon inserting the TV/VCR program listing disk 62 into the floppy disk drive 58 the controller 28 searches the disk for a match between the serial numbers of SUBSTITUTE SHEET the selections stored in the nonvolatile RAM 54 and the serial numbers of the programs on the listing disk. The selection of the matching programs is discussed above in connection with Fig. 15. Referring back to FIG. 13, if at step 262, movie reservations is selected, the controller 28 jumps to the movie reservation program of FIG. 36. At step 550, the Movie Reservation Menu 552 shown in FIG. 37 is displayed. This menu displays a list of movies from which a viewer may select. At step 554, the controller 28 determines whether an EXIT command has been issued. If it has, at step 556, the Main Menu 250 is displayed and the controller 28 returns the program to step 248 of FIG. 13. If the EXIT command has not been issued, the controller 28 sorts the movie reservation library at step 558 by a user selected sort category, such as alphabetic, subject matter, or year, and displays a list of movies that the user is able to page through at step 560. Upon receipt of a PAGE command, the controller 28 at step 562 changes pages. At step 564, the user, upon finding a movie that he wishes to record or view, selects the movie by pressing the SELECT key 94. The controller 28 stores at step 566 the serial number of the movie in the nonvolatile RAM 54, flags the selection on the disk at step 568, and returns to step 554 for the exit routine at step 564 if no selection is made. At step 570, if a REVIEW command is sent, the controller 28 then displays a list of selected movies at step 572. The viewer may cancel the selected movie at step 574 in which the controller 28 erases the selection from the nonvolatile RAM 54 and sets a separate cancel flag on the disk at step 578. Although the movie is not recorded, the fact that the viewer selected the movie is nonetheless recorded. The controller 28 returns to the exit routine at step 554, either upon completion of step 578 or upon no cancellation being received at step 574 or no review being made at step 570. An alternate way of entering a movie reservation may be performed while viewing a TV show. A viewer may be watching a program or scanning several channels and decides to watch or record the entire program the next time it is broadcast. By pressing the Music ID key 112, the controller 28 detects this command and knowing the TV 12 is on as well as the time, date and channel, reads a movie program serial number from the RAM 52 or the TV listing disk. This code is stored in the nonvolatile RAM 54 with the other movie reservation selections. The controller 28 now proceeds as before, and upon entering the TV disk for the following weeks, the controller 28 runs the movie reservation program, as shown in FIG. 36. NORMAL SYSTEM OPERATION The controller 28 is constantly monitoring the infrared detector 44 for signals received from either the controller remote transmitter 48 or from one of the individual remote transmitters 32, 36, 40, 42 for the consumer electronic devices. Commands from the controller remote transmitter 48 use a protocol different than the protocol of the individual remote transmitters. Accordingly, die consumer electronic devices are not controlled by commands from the controller remote transmitter 48. The controller 28 detects the commands from the controller remote transmitter 48, processes them, and, in most cases, transmits a corresponding command to the appropriate electronic device with that device's protocol. As will be discussed below, commands to view or record shows that are being restricted by parental control are not transmitted by the controller 28 unless the proper password is entered. In general the controller 28 only monitors and does not retransmit commands from the individual remote transmitters because the electronic device responds directly to tiiese commands which are transmitted with that device's protocol. However, as will be discussed below, some commands such as channel up/down commands are retransmitted by the controller 28. This transmission occurs either in situations in which the controller 28 does not know the status of the electronic device after it is commanded by the remote transmitter or in cases where the user is attempting to perform a forbidden task such as view a show blocked by parental control. FIG. 38 is a flow chart showing the steps employed in the analysis of signals detected from the controller remote transmitter 48. At step 590, during its continuous monitoring, the infrared detector 44 detects an infrared signal from the controller remote transmitter 48. At step 592, if the detected signal is a power on/off, channel up/down, VCR stop, or a VCR play command, the controller 28 uses the subroutine shown in FIG. 39 for determining the equipment status. Because some commands, such as volume control or pause, do not affect what the user is watching or listening to, their occurrence is not recorded. FIG. 39 shows the steps for determining whether the commanded device is on or off. If it is on, and the command is an up/down channel command, the routine determines the next channel to command the requested device to switch to. It is important that the controller 28 is able to determine whether the power of each electronic device is turned on. The power on/off key of most remote control devices is a toggle switch, and thereby indicates, only a transition in state. FIG. 39 shows the flow chart for the processing of the power on/off, channel selection, channel up/down, VCR play, and VCR stop commands subroutine. SUBSTITUTE SHEET Upon entering the subroutine at step 640, the controller 28 determines whether the selected command is a power on/off command. If it is, at step 642 the controller 28 transmits the on/off command in the IR protocol corresponding to the commanded device if it was originally from the controller remote transmitter 48. At step 644, the controller 28 checks the power status from the power line monitors which are described in detail below in FIG. 43. Alternative power on/off detection circuitry may also be used, and these embodiments are discussed in detail below in FIGs. 44 and 45. If the power is off at step 646, the controller 28 sets the power off flag for the particular equipment at step 648, exits the subroutine, and returns to the program from which the controller 28 jumped into the subroutine. On the other hand, if the power is on at step 646, the controller 28 at step 650 transmits the channel number/frequency command in the IR protocol corresponding to the commanded device where the channel number or frequency is the first channel number or frequency that is in the stored channel-skip table discussed above in FIG. 11. If the electronic system has a cable box 16, the controller 28 sets the television 12 and the VCR 14 channels to channel J. The controller 28 next sets the power on and the channel number flags for the particular equipment at step 652 and exits the subroutine. If at step 640 the selected command is not POWER ON/OFF, and at step 654 the selected command is a CHANNEL SELECTION command and the power is on for the selected unit, the controller 28 goes to the channel selection subroutine shown in FIG. 40 at step 656. FIG. 40 is a flow chart showing the steps employed in the channel change subroutine shown in FIG. 39. The controller 28 identifies the channel selection command that was sent at step 840. If the channel selection was a random-access-channel-select, the controller 28 sends the command if the command was requested by the controller remote transmitter 48. Otherwise, if the command was from an individual remote transmitter, no command is sent because the selected unit has already received the command from the individual remote transmitter. The controller 28 then records the event in the nonvolatile RAM 54 at step 844, and sets the channel number flag for the selected equipment at step 646. The controller 28 next exits the subroutine and returns to the program from which the controller jumped into the subroutine. If the selected channel command is an UP/DOWN command, at step 848 the controller 28 sends the channel number or frequency command where the number sent is the next higher or lower number stored in the channel skipping sequence entered in the Channel-Skipping Menu of FIG. 11 at step 850. The controller 28 records the event at step 844 and sets die SUBSTITUTE SHEET channel number flag at step 846, as discussed above, and exits the subroutine. If the channel command is a ONE TIME PROGRAM (OTP) command, at step 852 die viewer is requesting that the program presently being viewed be recorded until its scheduled completion. At step 854, the controller 28 searches the program listing stored either in the nonvolatile RAM 54 or on disk for the code of die program presently being viewed. The controller 28 then calculates the CDTL information from the code. At step 856, the controller 28 turns the VCR 14 on if its power is presently off, and commands the VCR to record if die command was requested by die controller remote transmitter 48. As mentioned earlier for FIG. 3, the controller remote transmitter 48 has a plurality of control buttons 130. One of these control buttons 130 is programmed to perform the one-time program function after the TV button 116 is pressed. At step 858, the controller 28 stores die CDTL data in the nonvolatile RAM 54 for automatic turnoff of the VCR 14 at the end of die selected program. The controller 28 records the event and sets the channel number flag and exits the subroutine at steps 844 and 846, as discussed above. If die channel command is a MULTIPLE PICTURE command, at step 860 the controller 28 sends the command 862 if die command was selected by die controller remote transmitter 48. A MULTIPLE PICTURE command is a command to change the channel of one of the displayed channels in televisions 12 tiiat have multiple picture capability. For example, in a two picture system, one channel is displayed in a small portion of the television screen, and a second channel is displayed over .the remainder of the television screen. The channels of these two displays may be changed independently or, alternatively, die channels between the two displays may be toggled between die two channels. The controller 28 records die event, sets die channel number flag and exits the subroutine at steps 844 and 846, as discussed above. If the channel-select command is a PREVIOUS CHANNEL command, at step 864, the controller 28 sends the command if the command was sent by die controller remote transmitter 48 at step 866. A PREVIOUS CHANNEL command allows die viewer to select the channel that the viewer was previously watching. The controller 28 records die event, sets the channel number flag and exits die subroutine at steps 844 and 846, respectively, as discussed above. Referring back to Fig. 39, if the channel-select command is not detected at step 654, but the VCR play command is detected at step 660 and die power of the VCR 14 is on, die controller 28 at step 662 sends die command if die commanding device is from the controller remote transmitter 48. If there is a cable box 16, at step 664 the controller 28 sets the cable box 16 to the "odier vacant channel" that was entered in die Channel-Skipping Menu 214 SUBSTITUTE SHEET discussed above for FIG. 11. The controller 28 maintains this setting until the VCR stop command is received at step 666. If there is no cable box 16 at step 664, the controller 28 sends die TV 12 the command to switch to channel 3, and sends die VCR 14 a command to set die channel to die "otiier vacant channel" from the Channeling-Skipping Menu 214 as discussed above. The controller 28 maintains these channel settings until die VCR stop command is received. The purpose of maintaining these settings until a STOP command is received is because, in most VCRs, at die end of a tape, die VCR automatically stops and rewinds die tape, and switches from playing the tape to displaying the previously displayed channel. These sections are independent of IR commands and hence are not detectable by the controller 28. By setting the VCR 14 to a vacant channel, the viewer, at the completion of the tape, sees "snow" until die viewer selects a channel or presses the VCR stop command, thereby allowing the controller 28 to know what channel the VCR is set to or that die VCR has stopped. In die alternate embodiment discussed above in which the controller 28 is between die cable box 16 and die VCR 14, the control 28 switches to the text mode and generates a display on channel 3 that requests the viewer to enter a channel number. When the VCR 14 is stopped, the display with die channel number request is automatically displayed on d e TV 12. At step 670, die controller 28 sets the channel number flags and the VCR flag and exits the subroutine. If the VCR play command is not sent at step 660, but at step 672 the VCR stop command is sent and die VCR power is on, the controller 28 sends the command if the command comes from the controller remote transmitter 48 at step 674 and determines whether die VCR play flag has been set at step 676. If the flag has been set, the controller 28 releases control of the TV 12, VCR 14, and cable box 16 channel settings at step 678, and resets die VCR play flag at step 680. From step 680, or if the VCR play was not set at step 676, the controller 28 sets the VCR off/stop flag at step 682 and exits the subroutine. If die VCR stop command is not sent at step 672, but at step 684 a VCR power off command is sent, the VCR goes to step 674 and proceed as discussed above. If at step 684, a VCR power off is not received, then the controller 28 exits the subroutine. Upon completion of this portion of the subroutine of FIG. 39 and returning to Fig. 38, die controller 28 checks the power on/off status at step 594, and if a power on/off change took place, the controller 28 stores the command, date, and time in the nonvolatile RAM 54, and/or flags the program, and stores the time on disk at step 596. At step 598, die command is sent from the controller 28 to the selected device. The controller 28 then returns to a monitoring mode at step 590 for detection of the next transmitted signal. SUBSTITUTE SHEET The controller 28 now moves to an analysis of individual unit operation. The video units are the first set of units tiiat are analyzed. If at step 594, die requested command was not power on/off, at step 600 the controller 28 determines whether die command was a TV, VCR or cable box command. If it is not one of diese or the power is not on at step 600, the controller 28 at step 602 determines whetiier the command is for the CD player 26. If it is and the power of die CD player 26 is on, the controller at step 604 determines whether it is a CD play command. If it is not a CD play command, the controller 28 sends the requested command at step 598 and returns to step 590. If, however, the CD play command is selected and at step 606 a CD serial number has also been selected using the controller remote transmitter 48 number keys 88 the controller 28 looks in the CD library for the program sequence of tracks diat were entered during the CD setup mode for that CD serial number and programs the CD player by transmitting suitable IR codes 26 at step 210 to play the tracks in the sequence as stored in die CD library. (All of die IR codes for programming the CD player were previously stored in the nonvolatile RAM 54 or on disk during the equipment setup mode as described above.) In an alternate embodiment for use with CD players that do not have track programming capability, the user enters the track numbers and their associated playing time during the CD programming selection discussed above for FIGS. 23-24. At step 610, the controller 28 sends the first track number in the program sequence to die CD player 26. The controller 28 calculates when the CD player 26 completes playing the track by adding the playing time to e time mat die track command is sent, and comparing the system clock to die calculated track time. Upon a coincidence between these times, the controller 28 sends die next track number to the CD player 26 and repeats the time analysis. This process is completed until die controller 28 has sent the entire program. The controller 28 then returns to its monitoring mode at step 590. If a CD number is not selected at step 606. then at 612 the controller 28 determines whether a CD karaoke flag has been set. If the viewer has not selected CD karaoke, die controller 28 sends the command at step 598 and returns to its monitoring mode at step 590. If, however, CD karaoke has been selected at step 612, the controller 28 turns on the television 12, tunes it to channel 3, and switches the video switch and mixer 68 to the text mode at step 614. At step 616, die controller 28 synchronizes the CD player 26 play command witii the display of lyrics previously stored in die CD karaoke mode on the television 12 and die controller 28 returns to the monitoring mode. If at step 600 the TV/VCR/cable box is commanded and its power is on, or if the radio is commanded and the radio power is on at step 618, the controller 28 determines SUBSTITUTE SHEET whether the radio or TV karaoke flag was set at step 620. If it has not been set, die controller 28 stores die command at step 596 as discussed above and proceeds to send d e command at step 598 and returns to its monitoring mode at step 590. However, if the viewer has selected radio or TV karaoke, at step 622, die controller 28 monitors the microphone 46 to detect a start tone from die TV or radio receiver speakers by switching the audio switch 84 into the microphone mode. The start tone is preferably a DTMF tone which is broadcast by the TV or radio station in synchronism with the beginning of a musical selection. At step 624, die controller 28 turns on the television 12, tunes it to channel 3 and sets the video switch and mixer 68 to the text mode. However, if the TV karaoke flag is set, the television video signal is mixed with the karaoke lyric text at step 624. Upon detection of a broadcast start tone from the TV receiver speaker, the CPU 49 synchronizes the lyrics to the music and transmits the lyrics text to the television 12 at step 626. The karaoke floppy disks used during CD, radio, TV, or VCR karaoke set up contain the lyrics to songs being played on the radio or TV or stored on CD's or videotapes. After these lyrics are loaded into the RAM 52, and the synchronization takes place, the controller 28 sends the karaoke lyrics to the television 12 in phrases, for example, five words at a time, for display on the TV screen. The phrases are time-tagged on the disk. The CPU 49 calculates an elapsed time from die start of the karaoke song (detection of the start tone or CD play signal). When the elapsed time equals the next time tag, the CPU 49 displays die corresponding set of phrases. For example, the first set of phrases are displayed five seconds after the tone, the next set of phrases are displayed ten seconds after the start tone, and so forth. The time tagging on the disks is performed by a programmer when the karaoke disks are created. In alternate displays, the word being sung may be highlighted or indicated by a bouncing ball or by flashing the phrase. Karaoke may also be performed with prerecorded videotape in a manner similar to that of CD karaoke. A videotape has a corresponding karaoke floppy disk 62 diat contains the lyrics to the songs on the videotape. As with the CD flow chart, the lyrics are read from the disk and stored in the RAM memory 52 during setup. The controller 28 starts die display of lyrics and waits for the VCR and the tape to get up to speed and perform other initialization after the VCR 14 is started. For VCR karaoke, the video switch and mixer 68 must be set to the combined mode as is done for TV karaoke so that both the lyrics and the video signal are displayed on die screen. In an alternative embodiment, the karaoke disk may contain the sound pattern for the beginning of the karaoke song. For example, the first set of notes played in the song may be recorded on the disk. A detection circuit compares the recorded sounds to the incoming detected sounds from the microphone 46. When a match occurs, die lyrics are synchronized with the music being played on die CD player 26, radio 24, TV 12 or VCR 14. If die radio command has not been requested, or die radio power is off at step 618, the controller 28 at step 628 determines whether Music ID is selected and radio power is on. If it is, at step 630 die controller 28 stores the radio station frequency, date and time in the nonvolatile RAM 54 for use when a radio program listing disk 62 is inserted as described above in connection with FIG. 13. The system, eidier way, returns back to its monitoring mode at step 590. In an alternate embodiment, at step 630, the controller 28 determines whether a radio program listing disk is in the disk drive 58 or if the program listing is stored in die nonvolatile RAM 54. If it is, the controller 28 searches the disk for information relating to the song being played on die radio. If the song is found, the controller 28 turns on the TV 12 and switches the video switch and mixer 68 into the text mode. The controller 28 dien continuously displays die title and artist of the song in real time. Additional information about die song or artist may also be displayed. A radio reservation program, similar to the movie reservations programs shown in FIG. 36, allows the listener to make a reservation for the song. When a radio listing disk is inserted into the disk drive, die controller 28 searches the disk for the next playing of die selected song. The listener selects the songs that are to be listened to at the next playing or cancels die entry. When die selected song is played, die controller 28 turns on the stereo receiver 24 and switches it to the appropriate station. In an alternate embodiment, the Music ID command is used to identify television programs in a manner similar to that for radio. A viewer presses die Music ID key 112. If a television program listing disk in is the disk drive 58 or if the listing data is stored in the nonvolatile RAM 54, the controller 28 searches the disk for the title and other information about die program being viewed. This information is displayed on the TV 12 in die combined TV/text mode. As discussed above for FIG. 36, movie reservations may be made. In a manner similar to the monitoring of received signals at the infrared detector 44 for commands from the controller remote transmitter 48, the controller 28 also monitors the signals for commands from individual remote transmitters. FIG. 41 is a flow chart showing d e program for the detection of signals from individual remote transmitters. When an IR signal from an individual remote transmitter is detected at step 690, d e controller 28 determines whether the detected command is a power on/off command at step 692. If it is, die controller 28 at step 694 goes to the power on/off subroutine discussed above for FIG. 39. Upon returning from the subroutine, or if the power on/off command SUBSTITUTE SHEET was not detected at step 692, die program determines whether a command was sent from die CD remote transmitter 40 and if die power is on for the CD player 26 at step 696. If it is, at step 698 die controller 28 stores the command, the date, and die time in die nonvolatile RAM 54 or on disk. The controller 28 returns back to its monitoring mode at step 690. 5 If at step 696 a command from the CD remote transmitter 40 was not sent or d e power was off, but a command from the stereo remote transmitter 36 is received and d e power of the stereo receiver 24 is on at step 700, at step 702 the controller 28 stores the command, die date and time in the nonvolatile RAM 54 and flags the program that was selected and stores the time of the selection on disk at step 702. The controller 28 then 10 returns to its monitoring mode at step 690. If at step 700 the stereo remote transmitter 40 was not selected, then at step 704, if a command from either of the TV, VCR, or CABLE BOX remote transmitters is received and die power of die corresponding device is on, at step 704 the controller 28 jumps to the subroutine discussed for FIG. 39 if the selected command is a power on/off command, •15 channel up/down, VCR stop or play command. If there is a cable box 16, the controller 28 maintains the television 12 and the VCR 14 on channel 3. The controller 28 goes to step 702 and proceeds as discussed above. If a TV, VCR, CABLE BOX command is not received or the power of the selected device is off at step 704, the controller 28 returns to its monitoring mode at step 690. 20 Fig. 41 is a flow chart showing the steps employed in the analysis of signals detected from the individual audio/visual electronic equipment remote transmitters as shown in Fig. 1. At step 710, the controller 28 is constantly comparing the system clock to the start times of the record and view commands that are stored in a memory stack in the nonvolatile RAM 54. At coincidence, the controller 28 commands the corresponding electronic unit to either 25 record or turn on for view. Once the event has occurred, the controller 28 erases the command from the memory. For record or view events that have multiple occurrences, such as record daily or weekly, at step 712, the controller 28 recalculates the time of the next command and stores the time and command in the nonvolatile RAM 54. The fact that die event occurred is also recorded in memory by storing the command, the date, die time, and 30 is stored on the disk by flagging the program. POWER DETECTION FIG. 43 shows the power monitoring unit 85 of the controller 28 shown above in FIG. 2. The power monitoring unit 85 has a power connector 720 that provides electrical power 35 from a power source (not shown) to both the controller 28 and the consumer electronic SUBSTITUTE SHEET devices. The power connector 720 connects to power lines 722 and 724. The preferred power form is 115 V, 60 Hz AC power. Alternatively, other power forms including DC power may be used. Although two lines are shown for the AC power, a diree-line power system may be used. A set of power lines 738 connect to die power line 722. Power lines 722, 738 connect to the controller power electronics (not shown) and to preassigned power connectors 726, 728, 730, 732 and 734 for the television 12, VCR 14, cable box 16, CD player 26 and stereo 24, respectively. A power sensor or sensing coil 736 is attached to each break-out power line 738. In DC power systems, a current shunt is used as a current sensor. These power sensors 736 are connected to a signal processor 740 that determines whedier power is being drawn by a corresponding electronic device, by comparing the detected current to a ireshold value and sends diϊs power information to the CPU 49. By monitoring the signals from the signal processor 740, the CPU 49 knows whether each electronic device is on or off. As power is drawn by an electronic device, the current flowing through the sensing coil 736 induces an electrical current therein that is detected by die signal processor 740 and converted to a digital signal for sending to die CPU 49. This information is used in die power on/off detection routines discussed above for FIG. 40. In an alternate embodiment, die electronic devices are not preassigned to die connectors 726, 728, 730, 732 and 734. During the set-up mode, the controller 28 directs d e user to turn all electronic devices off. The controller 28 sequentially commands each device to turn on and dien monitors the current through each power sensing coil 736. The coil 736 that measures a current draw is assigned to the device diat was commanded to turn on. An AC line data modulator 742 is attached to power lines 722, 724 for sending signals from die CPU 49 dirough the AC power line to other electronic devices on the power lines. One method for transmitting signals on AC power lines is disclosed in U.S. Patent No. 4,418,333 to Schwarzbach, et al., issued November 29, 1983, the subject matter of which is incorporated herein by reference. The use of the AC line data modulator will be discussed in detail below for FIG. 46. FIG. 44 shows an alternate means for detecting whether power is on or off for the television 12. At step 750, upon detection of a power on/off TV command from eidier the controller remote transmitter 48 or the television remote transmitter 32, the controller 28 at step 752 sends a channel 3 select command to the television 12 and switches die video switch and mixer 68 to the text mode. The controller 28 men displays at step 754 a command to die viewer to enter a channel number. The viewer is now unable to watch TV until a channel number is entered. The controller 28 monitors the IR detectors for receipt of a channel SUBSTITUTE SHEET selection from the viewer, and if a response is received within 20 seconds at step 756, die controller 28 switches the video switch and mixer 68 to the television mode and switches the television 12 to the selected channel at step 758. Because the television 12 is now on and die viewer is presumably watching the show, the controller 28 stores this event and die channel number with a date and time stamp in die nonvolatile RAM 54 or on the disk at step 760. However, at step 756 if a response is not received within 20 seconds, at step 762 the controller 28 assumes die television 12 is now turned off and stores the event iat the previously watched program is no longer being watched. Although, at step 756, 20 seconds has been chosen, any time may be selected that allows a viewer to enter the desired channel. FIG. 45 shows an alternate means for detecting whether power is on or off for the television 12. A local oscillator detector 780 is inside the controller 28 and detects the emissions from the local oscillators of the television 12, the VCR 14 or the cable box 16. In the preferred embodiment, the local oscillator detector 780 connects to the output terminal 70 of the controller 28 which connects by cable 23 to the input port of the television 12. Alternatively, the detector 780 may be connected to an antenna for detection of radiated emissions. The local oscillator (LO) conducted emissions on the cable 23 are tapped off at die output terminal 70 and scanned by a scanning FM receiver or frequency syndiesizer 782. These scanned emissions are inputted into a signal detector 784 which detects the presence of any conducted LO emissions in the scanned frequency band. Both the scanning FM receiver 782 and the signal detector circuit 784 receive and send control signals to and from the CPU 49. Upon detection of a conducted emission the signal detector 784 sends the detected frequency of the LO to the CPU 49. By knowing the LO frequency, the CPU 49 calculates the channel or radio station that the corresponding electronic device is tuned to. One method for using LO emissions for signal detection is disclosed in U.S. Patent No. 5,038,405 to Karr issued August 6, 1991, the subject matter of which is incorporated herein by reference. Many of die electronic devices in the consumer electronics system may have their own clock. Furthermore, many electronic devices throughout a consumer's home have clocks, for example, the microwave oven, the stove, the refrigerator, other radios, the automatic lawn sprinkler system and clocks. Each clock must be individually set upon purchase. Furthermore, if each device does not have battery backup or an equivalent, each device must be reset after power interruptions. Furthermore, the accuracy of each clock varies so that after some period of time after the clocks are set the clocks differ from each other and must be periodically reset. In addition when switching from standard time to daylight time or vice versa, each clock must be advanced or set back one hour. SUBSTITUTE SHEET FIG. 46 is a flow chart showing the steps employed in a clock setting program for the invention shown in FIG. 1. The controller 28 at step 810 constantly monitors the microphone 46 for the occurrence of a time tone mat TV and radio broadcasters periodically transmit on the hour. Alternatively, the monitoring does not have to be constant, but can be done periodically for one hour intervals such as once a day, once a week, or once a month. Since the tones occur on d e hour die controller 28 responds by setting the clock to die closest hour at step 812. In die preferred embodiment each consumer electronic device and every electronic device in the house has an AC line modulator or alternatively an IR detector. The use of AC line modulators are well known to those skilled in die art as noted above in FIG. 43 in the discussion on die Schwarzbach, et al. patent. At step 814 the controller 28 periodically transmits die time as a coded signal over the AC line or via the infrared detector. Each electronic device detects this signal and resets its internal clock. The controller 28 also detects power interruptions. After the occurrence of a power interruption at step 816, the controller 28 transmits the time as a coded signal over die AC line or via IR detector at step 818 to reset the electronic devices. For televisions that do not retain channel skipping memory during power outages, the controller 28 reprograms die TV 12 by reading die channel from the Channel-Skipping Menu and commanding die TV to add tiiese channels to memory. On e program listing disk, the date for switching to or from daylight savings time is indicated. The controller 28 records this date into the nonvolatile RAM 54, continuously compares the present date to the recorded date at step 820 and, when there is a match, adds or subtracts one hour to its own clock and transmits the new time via the AC line or IR detector at step 822. AUDIENCE RESPONSE DATA COLLECTION As described above, me controller 28 records whether and which television programs are viewed or recorded, whedier and which FM radio stations are listened to and which CD tracks are played. The controller 28 is capable of recording all user commands and selections. For example, in die home shopping program of FIG. 33, die shopper selects various items to purchase. If die user does not immediately order d e product by direct telephone communication with the retailer, the shopper directs the controller 28 to record die purchase so that, by returning the disk, die selected items are ordered. The controller 28 monitors the telephone activity of die user from the telephone directory or the newspaper classifieds. Each time the user directs the controller 28 to dial a phone number from the telephone directory or die newspaper classifieds, the controller records this information either SUBSTITUTE SHEET in the nonvolatile RAM 54 or on die disk. Various mediods for collecting this information may be used. FIG. 47 is a flow chart showing steps employed in the audience response data collection program for the invention of FIG. 1. At step 790 the controller 28 determines whedier the audit period has ended. Each disk is programmed to have a date that signifies the end of the audit period. For example, for weekly television program listings, the disk diat the viewer receives on a weekly basis has the date that die viewer receives his next disk. When the viewer inserts the disk in FIG. 13 the controller 28 loads the end of audit period date into the nonvolatile RAM 54. The controller 28 compares this date to the present date of the controller clock. At the end of the audit period, at step 791 the controller 28 turns on the television 12, switches it to channel 3 and switches the video switch and mixer 68 into the text mode. If the television 12 is presently on at the end of the audit period, die controller 28 waits until the viewer has finished watching the television program and upon detection of a power on/off command for the television, the controller 28 does not turn the television 12 off but rather switches the television 12 to channel 3 and enters the text mode. In another alternate embodiment, the controller 28 allows the viewer to continue watching his television program. However, the controller 28 switches the video switch and mixer 68 into die combined television and text mode and displays at the bottom of die screen: "insert your program listing disk and press SELECT" at step 792. The controller continues this display until at step 793 die disk is inserted. After the disk is inserted, the controller 28 at step 794 reads the identifiers on the disk and determines whether the disk contains the correct identifiers. The listing disks use encrypted codes which are decoded by the CPU 49. These codes change with the date. If the identifiers are not correct, the controller 28 determines whether this is the second time die disk has been inserted at step 795. If it is, the controller 28 at step 796 erases the disk. For new program listing disks, the controller 28 does not erase them but displays a message saying that the new disks cannot be used until the old disks are inserted. For both the first and second times for the disk, the controller 28 at step 797 rejects the disk and displays and error message indicating that an improper disk was inserted. The controller 28 returns to step 792, requests the user to insert the correct disk. If at step 794, the identifiers are correct, the controller 28 at step 798 reads all user commands in the nonvolatile RAM 54 and stores them on disk. At step 798, the controller 28 stores all the user commands from the nonvolatile RAM 54 on the disk and verifies that all the commands have been stored at step 798. At step 800 SUBSTITUTE SHEET the controller 28 instructs the user to mail die disks in die postage paid mailer. Alternatively at step 800' the controller dials a toll free number and transfers all the stored user commands in the nonvolatile RAM 54 or on disk via the modem to the audience response data collection center. At step 802 the controller 28 erases all the commands from the nonvolatile RAM 54 that have been transferred or stored on disk and at step 804 the controller 28 switches the system back into the television mode and turns off the television 12. Alternatively, die disk may be physically returned to a collection point, such as a video rental store. The collection point may eidier download d e information from disk or send the disk to die response center. In the embodiment where the viewer is allowed to continue viewing his show, the television is not turned off. For users with multiple controllers 28, the controller 28 sequentially requests the user to put the disk into each successive controller until the data of each controller is recorded from die nonvolatile RAM 54 onto die disk. ALTERNATE EMBODIMENTS In the preferred embodiment, the controller 28 transfers the recorded information to die audience response data collection system either by recording the information on the disk or transmitting die information to a central computer via phone line. However, as shown in FIG. 2 a printer port 86 is provided for interfacing to a printer for making hard copies of user selected information. For example, a listener may want a hard copy of die songs selected under the Music ID command, as discussed above in FIG. 27. The listener may want to take this list to a store to purchase the selected CDs. Similarly, a shopper may want a printout of items mat are ordered through die home shopping program. Although die preferred embodiment uses infrared communication between die controller 28 and electronic devices, odier communication interfaces may be used. For example, a two-way radio frequency (RF) system, ultrasound or a direct connection may be employed. Although die collection of the data has been discussed in terms of marketing use, the information may be used for other purposes. For example, parents may want to know the viewing habits of their children. By reading the data from the nonvolatile RAM 54 or disk, the controller 28 displays die times that the television 12 was turned on or the particular programs tiiat are being watched. By using unique passwords for individual children, die parents can track the viewing habits of each child. While die application data is shown as provided to die controller 28 on a floppy disk 62, it may also be provided over the telephone lines 76, where it is received and decoded by modem 80, and then stored in RAM 52. As mentioned above, a house may have multiple consumer electronic systems in physically separate locations, such as in different rooms of the house. Although it is envisioned that each electronic system has its own dedicated controller with a shared disk between die multiple controllers as discussed above, a single controller may however be used in an alternate embodiment. The controller is in a first room with the first consumer electronic system 10. In a second room mere is a second consumer electronic system 10. In each of die two rooms is an IR detector and emitter. The IR detector in the first room is electrically connected to die IR detector in the second room and the IR detector in die first room is electrically connected to the IR emitter in the second room. A second controller remote transmitter 48 is also in the second room. The IR detectors and emitters in this interconnection device are coded such that the controller can command a television in die second room by adding an identification tag to the command so that the television in die first room does not respond to the commands directed to the television in die second room. Upon receipt by die IR detector, the interconnection circuit decodes the encoded command and transmits a decoded command to the second television in the second room. An interface port may be added to the controller that is essentially an IR emitter and detector that is physically present in the second room but directly electrically connected to die controller in the first room. In this embodiment, the encoding decoding scheme is not required. In another alternate embodiment, one controller 28 is used in a first room and simplified controllers 28' are used in other rooms. The controller 28 is connected to the odier controllers 28' either by electrical connection or through wireless interconnection as described above. The simplified controllers may be one of two configurations. In the first configuration, the simplified controllers do not have a disk drive. The CPU of the simplified controller reads the television program listings or other disks by requesting the CPU of the master controller to read from disk and send the data to the second controller. In the second alternate embodiment the simplified controller does not have a CPU, a memory system, a disk drive, an I/O card. In this embodiment, the simplified controller performs interface functions from the master controller to the electronic system. In an alternate embodiment, the controller can be used as a crime deterrent system. In particular the controller can be programmed to turn the electronic devices on and off at predetermined times. In a preferred embodiment lighting fixtures having infrared detectors can also be turned on and off at preselected times. Furthermore, a CD player or cassette player having prerecorded conversations can be played at predetermined times by turning the SUBSTITUTE SHEET devices on and off. An observer outside the home may be deceived into believing die house is occupied when in fact it is unoccupied. While e invention has been described, and preferred embodiments disclosed, it is anticipated ti at other modifications and adaptations will occur to diose skilled in die art. It is intended tiierefore that the invention be limited only by die claims appended hereto. SUBSTITUTE SHEET

Claims: WHAT IS CLAIMED IS: 1. A method of providing items of information viewable on an electronic display from an information provider to a user, comprising the steps of: providing the information to the user stored in portable read/write memory along with at least a portion of the information in printed format; reading the information stored in the memory; displaying the information read from the memory; selecting by user-selection means at least one item of information from the displayed information; and storing in the memory a record of at least some of the items of information selected. 2. The method of claim 1 further including the step of controlling the operation of electronic apparatus in response to the selected information. 3. The method of claim 2 where the information includes a schedule of video programs available to the user. 4. The method of claim 3 where the step of selecting at least one item of information includes the step of selecting a video program for recording, and the step of controlling die operation of electronic apparatus includes the step of controlling a video recorder to record the selected program. 5. The method of claim 4 where the step of controlling the operation of a video recorder includes the step of restricting the controlling of the video recorder to a group of users. 6. The method of claim 3 where the step of displaying the information includes displaying the information on a television receiver, the step of selecting at least one item of information includes the step of selecting a video program for viewing, and the step of controlling the operation of electronic apparatus includes the step of controlling the television receiver to view die selected program. SUBSTITUTE SHEET 7. The method of claim 3 where at least a portion of the information in printed format includes a video program calendar having printed therein at least a portion of die schedule of video programs. 8. The mediod of claim 7 where the step of providing the information to the user includes the step of removably attaching the portable read/write memory to the video program calendar. 9. The method of claim 2 where the information includes a list of telephone service subscribers along with the telephone numbers. 10. The method of claim 9 where the step of selecting at least one item of information includes the step of selecting a telephone subscriber for communication widi the user, and die step of controlling the operation of electronic apparatus includes die step of dialing die telephone number of the selected subscriber from the user's telephone line. 11. The method of claim 9 where at least a portion of the information in printed format includes a telephone directory having printed therein at least a portion of the list of telephone service subscribers along with their telephone numbers. 12. The method of claim 11 where the step of providing the information to the user includes the step of removably attaching the portable read/write memory to the telephone directory. 13. The method of claim 1 further including the step of collecting from the user die memory having stored therein records of the user's information selections. 14. The method of claim 13 where the step of collecting from the user the memory includes the step of providing an incentive for the user to provide the memory to a designated collector. 15. The method of claim 13 where the step of collecting from the user the memory includes die step of mailing die memory to a designated collector. SUBSTITUTE SHEET 16. The method of claim 1 where the memory is selected from the group consisting of magnetic media, nonvolatile semiconductor memory, and magneto-optical memory. 17. The method of claim 16 where the magnetic media includes a floppy disk. 18. The method of claim 1 further including the steps of: providing means for cancelling previous selections of information; and erasing from the memory the record of the items of information which are cancelled. 19. The method of claim 2 where the step of storing in the memory a record of at least some of the items selected includes storing in memory a record of the step of controlling die operation of the electronic apparatus in response to the selected information. 20. The method of claim 4 where the step of storing in the memory a record of at least some of the items selected includes storing in memory a record of controlling the video recorder to record the selected information. 21. The method of claim 6 where the step of storing in the memory a record of at least some of the items selected includes storing in memory a record of controlling the television receiver to view the selected program. 22. The method of claim 1 where the step of storing in the memory record of at least some of the items selected includes the step of storing a flag in connection with those items of information previously stored in memory by the information provider which have been selected by the user. 23. The method of claim 1 further including the steps of: collecting from the user the records of the user's information selections; and analyzing the selection records to determine the information selection habits of the user. 24. The method of claim 23 where the step of collecting from the user the records includes the step of electronically transmitting the records to a designated collector. SUBSTITUTE SHEET 25. The method of claim 1 where the step of storing in the memory a record of at least some of the items of information selected is replaced by the step of storing in a second memory a record of at least some of die items of information selected. 26. The method of claim 25 further including the steps of: collecting from the user the records stored in the second memory of the user's information selections; and analyzing the selection records to determine the information selection habits of the user. 27. The method of claim 26 where the step of collecting from the user the records includes die step of electronically transmitting the records to a designated collector. 28. The method of claim 13 further including the step of analyzing the selection records stored in the collected memory to determine the user information selections. 29. The method of claim 28 where the information in printed format includes a printed periodical containing multiple items of printed information, the provided information stored in die memory includes user-selectable requests for additional data relating to die items of printed information, and further including the steps of: storing in the memory data identifying the user; analyzing die selection records stored in the collected memory to identify die user and to determine the requests for additional data; and using the analyzed data to provide the requested additional data to the user. 30. The method of claim 1 where the items of information are encoded and further including the steps of decoding the information stored in memory and encoding a record of at least some of the items of information selected. 31. A method of providing items of information viewable on an electronic display from an information provider to a user, comprising the steps of: providing the information to the user on portable read/write memory; reading the information stored in the memory; displaying the information read from memory: selecting by user-selection means at least one item of information from the SUBSTITUTE SHEET displayed information; storing in the memory a record of at least some of the items of information selected; and collecting from the user the memory having stored therein records of the information selections. 32. The method of claim 31 further including the step of controlling the operation of electronic apparatus in response to the selected information. 33. The method of claim 32 where the information includes a schedule of video programs available to the user. 34. The method of claim 33 where the step of selecting at least one item of information includes the step of selecting a video program for recording, and the step of controlling the operation of electronic apparatus includes the step of controlling a video recorder to record the selected program. 35. The method of claim 33 where the step of displaying the information includes displaying the information on a television receiver, the step of selecting at least one item of information includes the step of selecting a video program for viewing, and the step of controlling the operation of electronic apparatus includes the step of controlling the television receiver to view the selected program. 36. The method of claim 32 where the information includes a list of telephone service subscribers along with the telephone numbers. 37. The method of claim 36 where the step of selecting at least one item of information includes the step of selecting a telephone subscriber for communication with the user, and the step of controlling the operation of electronic apparatus includes the step of dialing the telephone number of the selected subscriber from the user's telephone line. 38. The method of claim 31 where the step of collecting from the user the memories includes the step of providing an incentive for the user to provide the memory to a designated collector. SUBSTITUTE SHEET 39. The method of claim 31 where the step of collecting from the user the memory includes the step of mailing d e memory to a designated collector. 40. The method of claim 31 where the memory is selected from the group consisting of magnetic media, nonvolatile semiconductor memory, and magneto-optical memory. 41. The mediod of claim 40 where the magnetic media includes a floppy disk. 42. The mediod of claim 31 further including the steps of: providing means for cancelling previous selections of information; and erasing from the memory the record of the items of information which are cancelled. 43. The method of claim 32 where the step of storing in the memory a record of at least some of the items selected includes storing in memory a record of die step of controlling the operation of the electronic apparatus in response to the selected information. 44. The method of claim 34 where the step of storing in the memory a record of at least some of the items selected includes storing in memory a record of controlling die video recorder to record the selected information. 45. The method of claim 35 where the step of storing in the memory a record of at least some of the items selected includes storing in memory a record of controlling the television receiver to view the selected program. 46. The method of claim 31 where the step of storing in the memory record of at least some of the items selected includes the step of storing a flag in connection with those items of information previously stored in memory by the information provider which have been selected by the user. 47. The method of claim 31 where the step of collecting from the user the records includes the step of electronically transmitting the records to " a designated collector. 48. The method of claim 31 where the step of storing in the memory a record of at least some of the items of information selected is replaced by the step of storing in a SUBSTITUTE SHEET second memory a record of at least some of the items of information selected. 49. The method of claim 48 further including the steps of: collecting from the user the records stored in the second memory of the user's information selections; and analyzing the selection records to determine the information selection habits of the user. 50. The method of claim 49 where the step of collecting from the user the records includes the step of electronically transmitting the records to a designated collector. 51. The method of claim 31 further including the step of analyzing the selection records stored in the collected memory to determine the user information selections. 52. The method of claim 31 where the items of information include items for purchase, the step of selecting items of information includes the step of selecting items for purchase, and further including the steps of: storing in the memory data identifying the user; analyzing the selection records stored in the collected memory to identify the user and to determine the items selected for purchase; and using the analyzed data to provide the purchased items to the user. 53. The method of claim 52 where the data identifying the user includes user credit information. 54. The method of claim 31 where the items of information include contest questions and multiple answers thereto, the step of selecting items of information includes the step of selecting an answer to each questions, and further including the steps of: storing in the memory data identifying the user; analyzing the selection records stored in the collected memory to identify the user and to determine the selected answers to the questions; and using the analyzed data to determine if the user is a contest winner. 55. Apparatus for providing items of information viewable on a electronic display from an information provider to a user comprising: SUBSTITUTE SHEET memory means including portable read/write memory having stored therein the items of information; print media having printed therein at least a portion of the information items; delivery means for delivering the memory means and die print media to the user substantially concurrently; reading means for reading the information stored in the memory means; display means for displaying the information read from the memory means; selection means for user selection of a least one item of information from the displayed information; and recording means for recording in the memory means a record of at least some of the items of information selected. 56. The apparatus of claim 55 further including control means for controlling the operation of electronic equipment in response to the selected information. 57. Apparatus for providing items of information viewable on an electronic display from an information provider to a user, comprising: memory means including portable read/write memory having stored therein the items of information; delivery means for delivering the memory means to the user; reading means for reading the information stored in the memory means; display means for displaying the information read from the memory means; selection means for user selection of at least one item of information from the displayed information; recording means for recording in the memory means a record of at least some of the items of information selected; and collection means for collecting from the user the memory means having recorded therein die record of the information selections. 58. A mediod for blocking commands from individual remote transmitters to a system, comprising the steps of: monitoring a transmission medium for commands; detecting a command from individual remote transmitter; identifying the command; generating an overriding command in response to the identified command; and SUBSTITUTE SHEET transmitting the overriding command to the system. 59. The method of claim 58 wherein the system is a television. 60. The method of claim 58 wherein the system is a video cassette recorder. 61. The method of claim 58 wherein the system is a stereo receiver. 62. The method of claim 58 wherein the system is a radio tuner. 63. The method of claim 58 wherein the system is a cable box. 64. The method of claim 58 wherein the commands are infrared signals. 65. A method for displaying the lyrics of songs in synchronization with the playing of the songs comprising the steps of: reading lyrics of a song being played from a memory; monitoring for a synchronization signal; detecting the synchronization signal; and displaying portions of the lyrics in predetermined time relations with the synchronization signal. 66. The method of claim 65 wherein the memory is a portable memory. 67. The method of claim 66 where in the memory is a floppy disk. 68. The method of claim 65 wherein the portions of the lyrics are displayed on a television. 69. The method of claim 65 wherein the song is being played on the radio. 70. The method of claim 65 wherein the song is being played on a compact disk. 71. The method of claim 65 wherein the song is being played on a television. SUBSTITUTE SHEET 72. The method of claim 65 wherein the song is being played on a record. 73. The method of claim 65 wherein the song is being played on a video cassette recorder. 74. The method of claim 65 wherein the synchronization signal is a dual tone multi- frequency signal. 75. The mediod of claim 65 further comprising the steps of: reading a predetermined audio signal from d e second memory; comparing the predetermined audio signal with the monitored signal; and determining the monitored signal is a synchronization signal upon a match between die predetermined audio signal and the monitored signal. 76. A method for programming a compact disk player comprising the steps of: storing a unique number for the compact disk in a memory; selecting tracks of the compact disk and their sequence for playing on a user- selection means; transmitting the selected tracks and sequence to a receiver; storing the received selected tracks and sequence in the memory in association with die unique number; commanding the compact disk player to play a compact disk; selecting the unique number for the compact disk on the user-selection means; transmitting the unique number to the receiver; using the received unique number to retrieve the selected tracks and sequence corresponding to the compact disk with the selected unique number from the memory; and transmitting the selected tracks and sequence to the compact disk player. 77. The method of claim 76 further comprising the steps of: recording the unique number in a second memory; recording the played track numbers in the second memory; and recording the time and date of the playing of the compact disk in die second memory. SUBSTITUTE SHEET 78. The method of claim 77 further comprising the steps of: transmitting die unique number, played track numbers and the time and date from the second memory to an information provider; and analyzing the transmitted information to determine user listening habits. 79. A method for programming a compact disk player comprising the steps of: assigning a unique number to a compact disk; selecting tracks of the compact disk, their sequence for playing, and the time span of each track on a user-selection means: transmitting the selected tracks, sequence, and time spans and the unique number to a receiver: storing the selected tracks, sequence, and time spans and unique number in the memory; commanding the compact disk player to play a compact disk; selecting the unique number for the compact disk on the user-selection means; transmitting the unique number to the receiver; retrieving the selected tracks, sequence, and time spans corresponding to die compact disk with the selected unique number; transmitting the selected tracks in sequence to the compact disk player; calculating the completion time of the track; transmitting the next track upon the completion of the previous track until the last track in the sequence is commanded. 80. The method of claim 79 further comprising the steps of: recording the unique number in a second memory; recording the played track numbers in the second memory; and recording the time and date of the playing of the compact disk in the second memory. 81. The method of claim 80 further comprising the steps of: transmitting the unique number, played track numbers and the time and date from the second memory to an information provider: and analyzing the transmitted information to determine user listening habits. 82. A method for identifying a received broadcast signal comprising the steps of: monitoring die date, time, and channel or frequency of one of a plurality of received broadcast signals in response to user-selection means; storing the date, time, and channel or frequency of the one received broadcast signal in a memory; reading a listing containing information about the broadcast signals; comparing die date, time, and channel or frequency of die received broadcast signal to the listing; determining the information in the listing associated widi die received broadcast signal; identifying die received broadcast signal from the determined information: and displaying the identification of the received broadcast signal. 83. The method of claim 82 wherein the received broadcast signal is a television signal. 84. The method of claim 82 wherein the received broadcast signal is a radio signal. 85. The method of claim 82 wherein the displaying of the identification of the received broadcast signal is on a television. 86. The method of claim 82 wherein the step of displaying the identification of die received broadcast signal is done somewhat concurrently with the monitoring of the received broadcast signal. 87. The method of claim 82 including the step of flagging the monitoring the date, time, and channel or frequency of one of a plurality of received broadcast signals in response to user-selection means in the memory. 88. The method of claim 87 including the step of recording the time and date of die flagging. 89. The method of claim 88 including the step of transmitting the flagged information to an information provider. 90. The method of claim 89 including the step of analyzing user-selection information to determine user-selection habits. 91. The method of claim 88 including the step of entering the user into a contest. 92. A method for purchasing user selected items from a memory comprising die steps of: reading a memory containing classified advertisements for items for sale; displaying the classified information; selecting items of information by user-selection means; dialing a phone number corresponding to the selected item: flagging the item of information in the memory with the time and date of die dialing of the phone number; flagging the item of information in the memory with the time and date of the completion of the phone call; storing the user selected items of information into a memory; and communicating the user selected items of information from the memory to a provider of the information in the memory. 93. The method of claim 92 wherein the memory is a portable memory. 94. The method of claim 93 wherein the memory is a floppy disk. 95. The method of claim 92 wherein the step of communicating the user selected items of information includes the step of mailing the memory to an information provider. 96. The method of claim 95 including the step of analyzing the user-selection information to determine user-selection habits. 97. The method of claim 92 including the steps of: recording the items of information by user-selection means in a second memory; comparing the selected items of information to the items of information stored in the second memory; and notifying the user if there is a match between the selected items of information and die items of information stored in the second memory. 98. The method of claim 97 including the step of deleting an item of information stored in the second memory after it has been stored for a predetermined time. 99. A method of purchasing user selected items comprising the steps of: storing user identification information in a first memory; reading a second memory containing items of information about merchandise for sale; displaying a portion of the items of information; selecting at least one item of information by user-selection means: flagging the at least one user selected item of information into the second memory; reading the user identification information from the first memory; storing the user identification information into the second memory; and communicating the at least one user selected item of information and the user identification from the second memory to a provider of the merchandise. 100. The method of claim 99 wherein the step of communicating the user selected items of information and the user identification from the second memory to a provider of the merchandise includes die step of transmitting the selected items of information and the user identification over a telephone line. 101. The method of claim 99 wherein the step of communicating the user selected items of information and the user identification from the second memory to a provider of die merchandise includes the step of transferring the second memory to the provider of die merchandise. 102. The method of claim 101 wherein the step of transferring the second memory to die provider of the merchandise includes the steps of enclosing the second memory in an envelope supplied with the second memory and supplied by the provider of the merchandise and mailing the envelope to the provider. 103- The method of claim 99 including the step of analyzing the flagged information in die second memory to determine user selection habits. 104. The method of claim 99 including the steps of reading the flagged at least one selected item of information and determining whether a selected item of information has been previously selected. 105. The method of claim 104 including the steps of flagging the at least one item of information from the second memory into the first memory; reading a third memory containing items of information about merchandise for sale; displaying a portion of the items of information from the third memory; selecting at least one item of information by user-selection means; flagging the at least one user selected item of information into the third memory; reading the flagged at least one selected item of information in the first memory; and determining whether the selected at least one item of information of the third memory matches the selected at least one item of information in the second memory. 106. A method for controlling an electronic system comprising the steps of: searching a listing of movies; selecting by user-selection means a portion of the movie listing; storing the portion of the movie listing in a first memory; reading a listing of broadcast movies stored in a second memory; comparing the listing of broadcast movies to the portion of the movie listing; determining whether there is a match between the listing of broadcast movies and the portion of the movie listing; storing matched listings in the first memory; displaying the matched listings to the user; selecting from the displayed matched listings by a user-selection means; reading scheduling information about the listings selected from the second memory; storing the read scheduling information in the first memory; monitoring the day and time; comparing the day and time to the scheduling information in d e first memory; and controlling an electronic system upon a coincidence between the day and time and die scheduling information. 107. The method of claim 104 wherein the scheduling information is comprised of date, channel, time, and length of the broadcast signal. 108. The mediod of claim 105 wherein the step of controlling an electronic system is further comprised of die steps of: turning on the electronic system on the coincidence of the date and time; tuning the electronic system to the channel that is in coincidence; turning off the electronic system after the length of time that is in coincidence. 109. The method of claim 106 wherein the electronic system is comprised of a television. 110. The mediod of claim 106 wherein the electronic system is comprised of a video cassette recorder. 111. The method of claim 104 wherein each movie has a unique serial number and the step of comparing the listing of broadcast of broadcast movies to the portion of the movie listing includes the step of comparing the serial numbers of the a portion of the movie listing to the serial numbers of the listing of broadcast movies. 112. The method of claim 104 including the step of flagging matched listings in die second memory. 113. The method of claim 110 wherein the step of flagging matched listings in die second memory includes the step of recording the time and date of the determining die match between the listing of broadcast movies and the portion of the movie listing. 114. The mediod of claim 104 wherein the step of selecting by user-selection means a portion of the movie listing includes the step of flagging the portion of die movie listing. 115. The method of claim 112 wherein the step of selecting by user-selection means a portion of the movie listing includes the step of recording the time and date of the selecting. 116. The method of claim 104 including the step of transmitting the user-selection information to an information provider. 117. The method of claim 114 including the step of analyzing die user-selection information to determine user-selection habits. 118. A method for assigning signals at different frequencies to channel numbers comprising the steps of: selecting a provider from a list of providers by user-selection means; reading a map stored in a first memory, the map having a matrix of signals at different frequencies assigned to channel numbers for each provider in the list of providers; retrieving from the first memory the channel numbers assigned to the signals at different frequencies for the selected provider; and storing the channel numbers assigned to the signals at different frequencies for the selected provider in a second memory. 119. The method of claim 116 wherein the provider is a cable company. 120. The method of claim 1 16 wherein the signals at different frequencies are television signals. 121. A method for monitoring user selection habits by flagging program schedule comprising the steps of: monitoring a transmission medium; detecting signals related to user-selections on user-selection means in the transmission medium; and flagging items of information in a memory associated with the selections of the user. 122. The method of claim 119 wherein the detected signals are commands to electronic devices. 123. The method of claim 120 wherein the electronic device is a television. 124. The method of claim 120 wherein the electronic device is a video cassette recorder. 125. The method of claim 120 wherein the electronic device is a stereo receiver. 126. The method of claim 120 wherein the electronic device is a radio tuner. 127. The method of claim 120 wherein the electronic device is a cable box. 128. The method of claim 119 wherein the detected signals are infrared signals. 129. The method of claim 119 wherein the items of information are a program listing. 130. The method of claim 127 wherein the program listing is for television programs. 131. The method of claim 127 wherein the program listing is for radio programs. 132. The method of claim 119 wherein the step of flagging includes the step of marking the time and date of d e occurrence of the detection of the signal. 133. The method of claim 1 19 wherein the step of flagging includes die step of limiting access to a portion of the information. 134. The method of claim 119 further including the step of transmitting the information and flags to another entity. 135. The method of claim 132 further including the step of analyzing the user selection flags. 136. A method for monitoring information for analyzing user selection habits comprising the steps of: detecting selections of items of information made by user-selection means; flagging the selected items of information; transferring the flagged selected items of information to an information provider; analyzing the flagged selected items of information; and determining the user-selections habits. 137. The method of claim 134 wherein items of information are in a first medium and are related to items of information in a second medium. 138. The method of claim 135 where the first medium is a portable memory and die second medium is printed material. 139. The method of claim 136 where the portable memory is a floppy disk. 140. A method of providing channel skipping information from a first device at a first location to a second device at a second location comprising the steps of: monitoring, at a first location, a transmission medium for a channel skipping signal; detecting a channel skipping signal; reading a memory for the next channel in a channel skipping sequence; transmitting a command corresponding to the next channel from the first device to the second device at the second location. 141. The method of claim 138 where the channel skipping signal is an infrared signal. 142. The method of claim 138 where the command corresponding to the next channel is an infrared signal. 143. The method of claim 138 where the second device is a television. 144. The method of claim 138 where the second device is a video cassette recorder. 145. The method of claim 138 where the second device is a stereo receiver. 146. The method of claim 138 where the second device is a radio tuner. 147. The method of claim 138 where the second device is a cable box. 148. The mediod of claim 138 where the channel skipping command is in a first format and die command for the next channel is in a second format. 149. The method of claim 138 where the second device is responsive to die command for the next channel and is not responsive to the channel skipping command. 150. The method of claim 138 including the step of recording the occurrence of die detected channel skipping signal. 151. The mediod of claim 148 including the step of providing die' recorded occurrences of the detected channel skipping signal to an information provider. 152. The mediod of claim 149 where the second device is a television. 153. The method of claim 150 where the recording of the occurrence of the detected channel skipping signal includes die step of recording the next channel and die date and time of die occurrence. 154. Apparatus for providing items of information viewable on an electronic display from an information provider to a user, comprising: means for reading a portable memory having stored therein the items of information; means for displaying the items of information read from the portable memory; selection means for selecting by a user at least one item of information from the displayed information; memory means; and means for flagging in the memory means a record of at least one of die items of die selected information. 155. The apparatus of claim 148 further including control means for controlling the operation of electronic equipment in response to the selected information. 156. The apparatus of claim 149 further including a second control means for controlling the operation of electronic equipment in response to selections of the user, means for detecting d e user selections and means for generating a record of at least some of the user selections in response to the detection means, and means for recording in the memory means the record of at least some of the user selections. 157. A method of delivering time-dependent information to a subscriber comprising the steps of: recording information by an information provider on a floppy disk related to time-dependent information in a printed material; attaching the floppy disk to the printed material; delivering the combination of the floppy disk and the printed material to a user; and returning the floppy disk to the information provider. 158. The method of claim 151 further including the steps of: reading the information from the floppy disk; flagging the read information on the floppy disk; and analyzing the user-reading habits from the flagged information. 159. The method of claim 151 further including the step of providing an incentive to the user for returning the disk.

Inventors: MANKOVITZ ROY J, MANKOVITZ, ROY, J.
Applicants: MANKOVITZ ROY J, MANKOVITZ, ROY, J.
Application year: 1993
Main classification: H04N7
IPC codes: G11B15, G11B27, G11B31, H04B1, H04H9, H04N5, H04N7, H04Q9