Market analysis, demand forecasting or surveying

Method for using a toy to conduct sales over a network

6368177

Abstract

There is provided a method for using a toy for effecting sales over a public network, the method comprising: providing a toy having interactive speaking and listening functionality; connecting the toy via a public network to at least one server having transactional functionality; and effecting sales by employing the transactional functionality via the interactive speaking and listening functionality of said toy.


Claims

What is claimed is:

1. A method for using a toy for effecting sales over a public network, the method comprising:

providing a toy having interactive speaking and listening functionality;

connecting said toy via a public network to at least one server having transactional functionality; and

effecting sales by employing said transactional functionality via the interactive speaking and listening functionality of said toy.

2. A method according to claim 1 wherein said step of effecting sales comprises employing said interactive speaking and listening functionality of said toy as an interface between a customer and the transactional functionality.

3. A method according to claim 1 wherein said step of effecting resulting sales comprises using the speaking and listening functionality to obtain payment authorization from the user.

4. A method according to claim 1 and also comprising recording sales effected through said toy and crediting a commercial entity associated with the toy.

5. A method according to claim 1 wherein said step of providing comprises providing a toy having a persona and wherein said step of effecting sales comprises providing a script according to which said interactive speaking and listening functionality operates.

6. A method according to claim 5 wherein the script matches the persona of the toy.

7. A method according to claim 1 wherein said step of effecting sales comprises actuating said toy to execute a reinforcing response if a sale is effected and to execute a negative response if a sale is not effected.

8. A method according to claim 1 and also comprising obtaining information regarding at least one users interacting with the toy and wherein said step of effecting sales is effected by differential operation of the interactive speaking and listening functionality for different users, depending on said information regarding said different users.

9. A method according to claim 1 and also comprising:

accepting a filtering request from a user; and

modifying the scope of the sales effecting step responsive to said filtering request.

10. A method for using a toy for promoting sales over a public network, the method comprising:

providing a toy having interactive speaking and listening functionality;

connecting said toy via a public network to at least one server providing at least one sales promotion scripts;

actuating said interactive speaking and listening functionality of said toy, using at least one sales promotion scripts; and

recording at least one parameter characterizing a user's response to said at least one sales promotion scripts.

11. A method according to claim 10 and also comprising automatically billing at least one entities associated respectively with the at least one sales promotion scripts, depending on the user's response to said at least one sales promotion scripts.

12. A method according to claim 10 and also comprising:

accepting a filtering request from a user; and

modifying the scope of the actuating step responsive to said filtering request.

13. A method according to claim 10 wherein said step of actuating comprises providing a user with an entitlement to a discount, at a sales outlet.

14. A method according to claim 13 wherein said step of entitlement providing comprises the step of printing out a coupon.

15. A method for using a toy for enhancing television rating, the method comprising:

providing a toy having interactive speaking and listening functionality;

connecting said toy via a public network to at least one server providing at least one scripts promoting viewing of at least one program of an individual television channel;

actuating said interactive speaking and listening functionality of said toy, using at least one viewing promoting scripts.

16. A method according to claim 15 and also comprising recording at least one parameter characterizing a user's response to said at least one sales promotion scripts.

17. A method according to claim 16 wherein said step of recording comprises recognizing a broadcast of the program.

18. A method according to claim 16 wherein said step of recording comprises directly monitoring the user's response.

19. A method according to claim 15 and also comprising automatically billing at least one entities associated respectively with the at least one viewing promoting scripts, depending on the user's response to said at least one viewing promoting scripts.


Description

FIELD OF THE INVENTION

The present invention relates to toys in general, particularly computer controlled toys that provide messages to the user or toys used in conjunction with a computer system.

BACKGROUND OF THE INVENTION

Printed television guides are known. A variety of advertising technologies are known.

Internet push technology is used to provide information, collated and collected from across the world wide web, to individual or corporate users who have requested such information. The types of information are selected by the user, however the particular informative items are not individually selected by the user. The informative items, which may include news, weather, sport, stock market updates etc. are sent directly over the Internet or an intranet to a user's computer. This technology benefits a user by providing selected types of information to a user without the user having to spend the time surfing the web to retrieve the information directly.

Information providers that utilize Internet push technology are listed by Frank Vaughan, 1997, in "Surfing the Internet: Push technology is one of the newest killer apps.", Computer Bits, Vol. 7, No. 10, and can be found at the following URL: http://iago.computerbits.com/archive/19971000/surf9710. htm.

Toys which are remotely controlled by wireless communication and which are not used in conjunction with a computer system are well known in the art. Typically, such toys include vehicles whose motion is controlled by a human user via a remote control device.

U.S. Pat. No. 4,712,184 to Haugerud describes a computer controlled educational toy, the construction of which teaches the user computer terminology and programming and robotic technology. Haugerud describes computer control of a toy via a wired connection, wherein the user of the computer typically writes a simple program to control movement of a robot.

U.S. Pat. No. 4,840,602 to Rose describes a talking doll responsive to an external signal, in which the doll has a vocabulary stored in digital data in a memory which may be accessed to cause a speech synthesizer in the doll to simulate speech.

U.S. Pat. No. 5,021,878 to Lang describes an animated character system with real-time control.

U.S. Pat. No. 5,142,803 to Lang describes an animated character system with real-time control.

U.S. Pat. No. 5,191,615 to Aldava et al. describes an interrelational audio kinetic entertainment system in which movable and audible toys and other animated devices spaced apart from a television screen are provided with program synchronized audio and control data to interact with the program viewer in relationship to the television program.

U.S. Pat. No. 5,195,920 to Collier describes a radio controlled toy vehicle which generates realistic sound effects on board the vehicle. Communications with a remote computer allows an operator to modify and add new sound effects.

U.S. Pat. No. 5,270,480 to Hikawa describes a toy acting in response to a MIDI signal, wherein an instrument-playing toy performs simulated instrument playing movements.

U.S. Pat. No. 5,289,273 to Lang describes a system for remotely controlling an animated character. The system uses radio signals to transfer audio, video and other control signals to the animated character to provide speech, hearing vision and movement in real-time.

U.S. Pat. No. 5,388,493 describes a system for a housing for a vertical dual keyboard MIDI wireless controller for accordionists. The system may be used with either a conventional MIDI cable connection or by a wireless MIDI transmission system.

German Patent DE 3009-040 to Neuhierl describes a device for adding the capability to transmit sound from a remote control to a controlled model vehicle. The sound is generated by means of a microphone or a tape recorder and transmitted to the controlled model vehicle by means of radio communications. The model vehicle is equipped with a speaker that emits the received sounds.

The disclosures of all publications mentioned in the specification and of the publications cited therein are hereby incorporated by reference.

SUMMARY OF THE INVENTION

The present invention seeks to provide methods and apparatus for toys, particularly computer controlled toys that provide messages to the user and can be used in effecting sales over a public network.

There is thus provided in accordance with a preferred embodiment of the present invention method for using a toy for effecting sales over a public network, the method comprising:

providing a toy having interactive speaking and listening functionality;

connecting the toy via a public network to at least one server having transactional functionality; and

effecting sales by employing said transactional functionality via the interactive speaking and listening functionality of the toy.

It will be appreciated that the toy may effect sales in the course of on-line operation with respect to the transactional functionality of the server or alternatively in the course of off-line operation.

In a preferred embodiment of the invention, the step of effecting sales comprises employing said interactive speaking and listening functionality of said toy as an interface between a customer and the transactional functionality.

In accordance with another preferred embodiment of the invention, the step of effecting resulting sales comprises using the speaking and listening functionality to obtain payment authorization from the user.

In accordance with a preferred embodiment of the invention, the method also comprises recording sales effected through the toy and crediting a commercial entity associated with the toy.

In accordance with another preferred embodiment of the invention, the step of providing comprises providing a toy having a persona and wherein the step of effecting sales comprises providing a script according to which the interactive speaking and listening functionality operates.

In accordance with a preferred embodiment of the invention, the script matches the persona of the toy.

In accordance with another preferred embodiment of the invention, the step of effecting sales comprises actuating the toy to execute a reinforcing response if a sale is effected and to execute a negative response if a sale is not effected.

In accordance with a preferred embodiment of the invention, the method also comprises obtaining information regarding at least one users interacting with the toy and wherein the step of effecting sales is effected by differential operation of the interactive speaking and listening functionality for different users, depending on the information regarding said different users.

In accordance with another preferred embodiment of the invention, the method also comprises:

accepting a filtering request from a user; and

modifying the scope of the sales effecting step responsive to said filtering request.

There is also provided, in accordance with another preferred embodiment of the invention, a method for using a toy for promoting sales over a public network, the method comprising:

providing a toy having interactive speaking and listening functionality;

connecting the toy via a public network to at least one server providing at least one sales promotion scripts;

actuating the interactive speaking and listening functionality of the toy, using at least one sales promotion scripts; and

recording at least one parameter characterizing a user's response to the at least one sales promotion scripts.

In accordance with a preferred embodiment of the invention, the method also comprises automatically billing at least one entities associated respectively with the at least one sales promotion scripts, depending on the user's response to said at least one sales promotion scripts.

In accordance with another preferred embodiment of the invention, the method also comprises:

accepting a filtering request from a user; and

modifying the scope of the actuating step responsive to said filtering request.

In accordance with a preferred embodiment of the invention, the step of actuating comprises providing a user with an entitlement to a discount, at a sales outlet.

In accordance with another preferred embodiment of the invention, the step of entitlement providing comprises the step of printing out a coupon.

There is also provided, in accordance with another preferred embodiment of the invention, a method for using a toy for enhancing television rating, the method comprising:

providing a toy having interactive speaking and listening functionality;

connecting the toy via a public network to at least one server providing at least one scripts promoting viewing of at least one program of an individual television channel; and

actuating the interactive speaking and listening functionality of the toy, using at least one viewing promoting scripts.

In accordance with a preferred embodiment of the invention, the method also comprises recording at least one parameter characterizing a user's response to the at least one sales promotion scripts.

In accordance with another preferred embodiment of the invention, the step of recording comprises recognizing a broadcast of the program.

In accordance with a preferred embodiment of the invention, the step of recording comprises directly monitoring the user's response.

In accordance with another preferred embodiment of the invention, the method also comprises automatically billing at least one entities associated respectively with the at least one viewing promoting scripts, depending on the user's response to said at least one viewing promoting scripts.

BRIEF DESCRIPTION OF THE DRAWINGS AND APPENDICES

The present invention will be understood and appreciated from the following detailed description, taken in conjunction with the drawings and appendices in which:

FIG. 1A is a partly pictorial, partly block diagram illustration of a computer control system including a toy, constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 1B is a partly pictorial, partly block diagram illustration a preferred implementation of the toy 122 of FIG. 1A;

FIG. 1C is a partly pictorial, partly block diagram illustration of a computer control system including a toy, constructed and operative in accordance with an alternative preferred embodiment of the present invention;

FIGS. 2A-2C are simplified pictorial illustrations of a portion of the system of FIG. 1A in use;

FIG. 3 is a simplified block diagram of a preferred implementation of the computer radio interface 110 of FIG. 1A;

FIG. 4 is a more detailed block diagram of the computer radio interface 110 of FIG. 3;

FIGS. 5A-5D taken together comprise a schematic diagram of the apparatus of FIG. 4;

FIG. 5E is an schematic diagram of an alternative implementation of the apparatus of FIG. 5D;

FIG. 6 is a simplified block diagram of a preferred implementation of the toy control device 130 of FIG. 1A;

FIGS. 7-7F, taken together with either FIG. 5D or FIG. 5E, comprise a schematic diagram of the apparatus of FIG. 6;

FIG. 8A is a simplified flowchart illustration of a preferred method for receiving radio signals, executing commands comprised therein, and sending radio signals, within the toy control device 130 of FIG. 1A;

FIGS. 8B-8T, taken together, comprise a simplified flowchart illustration of a preferred implementation of the method of FIG. 8A;

FIG. 9A is a simplified flowchart illustration of a preferred method for receiving MIDI signals, receiving radio signals, executing commands comprised therein, sending radio signals, and sending MIDI signals, within the computer radio interface 110 of FIG. 1A;

FIGS. 9B-9N, taken together with FIGS. 8D-8M, comprise a simplified flowchart illustration of a preferred implementation of the method of FIG. 9A;

FIGS. 10A-10C are simplified pictorial illustrations of a signal transmitted between the computer radio interface 110 and the toy control device 130 of FIG. 1A;

FIG. 11 is a simplified flowchart illustration of a preferred method for generating control instructions for the apparatus of FIG. 1A;

FIGS. 12A-12C are pictorial illustrations of a preferred implementation of a graphical user interface implementation of the method of FIG. 11;

FIG. 13 is a block diagram of a first sub-unit of a multi-port multi-channel implementation of the computer radio interface 110 of FIG. 1A, which sub-unit resides within computer 100 of FIG. 1A;

FIG. 14 is a block diagram of a second sub-unit of a multi-port multi-channel implementation of the computer radio interface 110 of FIG. 1A, which sub-unit complements the apparatus of FIG. 13 and resides exteriorly to computer 100 of FIG. 1A;

FIGS. 15A-15E, taken together, form a detailed electronic schematic diagram of the toy control device of FIG. 6, suitable for the multi-channel implementation of FIGS. 13 and 14;

FIG. 16 is a simplified flowchart illustration of a preferred method by which a computer selects a control channel pair in anticipation of a toy becoming available and starts a game-defining communication over the control channel each time both a toy and a transceiver of the computer radio interface are available;

FIG. 17 is a simplified flowchart illustration of a preferred method for implementing the "select control channel pair" step of FIG. 16;

FIG. 18A is a simplified flowchart illustration of a preferred method for implementing the "select information communication channel pair" step of FIG. 16;

FIG. 18B is a simplified flowchart illustration of a preferred method for performing the "locate computer" step of FIG. 18A;

FIG. 19 is a simplified flowchart illustration of a preferred method of operation of the toy control device 130;

FIG. 20 is a simplified illustration of a remote game server in association with a wireless computer controlled toy system which may include a network computer;

FIG. 21 is a simplified flowchart illustration of the operation of the computer or of the network computer of FIG. 20, when operating in conjunction with the remote server;

FIG. 22 is a simplified flowchart illustration of the operation of the remote game server of FIG. 20;

FIG. 23 is a semi-pictorial semi-block diagram illustration of a wireless computer controlled toy system including a proximity detection subsystem operative to detect proximity between the toy and the computer;

FIGS. 24A-24E, taken together, form a detailed electronic schematic diagram of a multi-channel implementation of the computer radio interface 110 of FIG. 3 which is similar to the detailed electronic schematic diagrams of FIGS. 5A-5D except for being multi-channel, therefore capable of supporting full duplex applications, rather than single-channel;

FIGS. 25A-25F, taken together, form a detailed schematic illustration of a computer radio interface which connects to a serial port of a computer rather than to the soundboard of the computer;

FIGS. 26A-26D, taken together, form a detailed schematic illustration of a computer radio interface which connects to a parallel port of a computer rather than to the soundboard of the computer;

FIGS. 27A-27J are preferred flowchart illustrations of a preferred radio coding technique which is an alternative to the radio coding technique described above with reference to FIGS. 8E, 8G-8M and 10A-C;

FIGS. 28A-28K, taken together, form a detailed electronic schematic diagram of the multi-port multi-channel computer radio interface sub-unit of FIG. 13; FIGS. 29A-29I, taken together, form a detailed electronic schematic diagram of the multi-port multi-channel computer radio interface sub-unit of FIG. 14;

FIG. 30 is a partly pictorial, partly block diagram illustration of a computer control system including a toy, constructed and operative in accordance with a further preferred embodiment of the present invention;

FIG. 31 is a block diagram is a simplified block diagram illustrating the combination of the computer radio interface and the toy control device as used in the embodiment of FIG. 30;

FIGS. 32A, 32B and 32C taken together form a simplified block diagram of the EPLD chip of FIG. 28H;

FIG. 33 is a semi-pictorial semi-block diagram illustration of a computerized networked advertisement system constructed and operative in accordance with a preferred embodiment of the present invention in which a physical toy conveys advertisement bulletins to a user of the toy;

FIG. 34 is a data transmission diagram describing data transmissions between various network service providers which support the advertisement system of FIG. 33 according to one preferred embodiment of the present invention;

FIG. 35 is a semi-pictorial semi-block diagram illustration of a computerized networked advertisement system constructed and operative in accordance with a preferred embodiment of the present invention in which a virtual toy conveys advertisement bulletins to a user of the toy;

FIG. 36 is a simplified flowchart illustration of a preferred mode of operation for the user PC of FIG. 34;

FIG. 37 is a simplified flowchart illustration of a preferred mode of operation for the game software server of FIG. 34;

FIG. 38 is a simplified flowchart illustration of a preferred mode of operation for the marketer/advertisement provider of FIG. 34;

FIG. 39 is a simplified flowchart illustration of a preferred mode of operation for the software maintenance center of FIG. 34;

FIGS. 40-58 describe a Living Object Internet Service System (LOIS) constructed and operative in accordance with a preferred embodiment of the present invention.

Appendix A is a computer listing of a preferred software implementation of the method of FIGS. 9A-9N, together with the method of FIGS. 8D-8M;

Appendix B is a computer listing of a preferred software implementation of the method of FIGS. 8A-8T;

Appendix C is a computer listing of a preferred software implementation of an example of a computer game for use in the computer 100 of FIG. 1;

Appendix D is a computer listing of a preferred software implementation of the method of FIG. 11 and FIGS. 12A-12C.

Appendices E-H, taken together, are computer listings from which a first, DLL-compatible, functions library may be constructed;

Appendices I-O, taken together, are computer listings of a second functions library which may be used to generate a variety of games for any of the computer control systems shown and described herein;

FIG. 59 is a simplified semi-pictorial semi-block diagram illustration of a toy/marketing system constructed and operative in accordance with a preferred embodiment of the present invention, the toy communicating directly with the Internet;

FIG. 60 is a simplified block diagram of a preferred implementation of the network controller of FIG. 59;

FIG. 61 is a simplified semi-pictorial semi-block diagram illustration of a toy/marketing system constructed and operative in accordance with a preferred embodiment of the present invention, the toy communicating with the Internet via a household computer connected to the toy by wire;

FIG. 62 is a simplified block diagram of a preferred analog implementation of the computer networked controller of FIG. 61 and its audio communication link to the household computer;

FIG. 63 is a simplified block diagram of a preferred digital implementation of the computer networked controller of FIG. 61 and its audio communication link to the household computer;

FIG. 64 is a variation on the apparatus of FIG. 63 in which the computer networked controller of FIG. 61 is disposed adjacently to the computer rather than being disposed adjacently to the toy;

FIG. 65 is a simplified semi-pictorial semi-block diagram illustration of a toy/marketing system constructed and operative in accordance with a preferred embodiment of the present invention, the toy communicating with the Internet via a household computer connected wirelessly to the toy;

FIG. 66 is a simplified block diagram of a preferred implementation of the wireless controller and of the transceiver, both of FIG. 65, the transceiver being connected to the computer via its MIDI connector and its audio connectors;

FIG. 67 is a simplified block diagram of a preferred implementation of wireless controller and of transceiver, both of FIG. 65, the transceiver being connected to the computer via its serial or parallel ports;

FIG. 68 is a diagram of an example of a collection of script objects organized as a script;

FIG. 69 is a simplified flowchart illustration of a preferred method for processing any one of the "talk"-type script objects of FIG. 68;

FIG. 70 is a simplified flowchart illustration of a preferred method for processing a "listen and sense"-type script object such as the "listen and sense" script object of FIG. 68;

FIG. 71 is a simplified flowchart illustration of a preferred method for processing a "listen and sense"-type script object such as the "listen and sense" script object of FIG. 68;

FIG. 72 is a simplified semi-pictorial semi-block diagram illustration of a toy/marketing system including a plurality of toys associated via a network with a plurality of motivational content providers/servers;

FIG. 73 is a top-level diagram showing major hardware components located at various sites of a toy/marketing system constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 74 is a top-level dataflow diagram showing dataflow between the various sites of FIG. 73;

FIG. 75 is a diagram describing operation of two actors operating in an "at home" system operation site;

FIG. 76 is a diagram describing operation of two actors operating in an "advertisers headquarters" (also termed herein "motivational content provider") system operation site;

FIG. 77 is a diagram describing operation of four actors operating in an "at toy maker" system operation site;

FIG. 78 is a simplified functional breakdown of a portion of the toy/marketing system which resides at the "at-home" site;

FIG. 79 is a simplified functional breakdown of a portion of the toy/marketing system which resides at a site termed herein "coordinator of motivational content providers" site;

FIG. 80 is a simplified functional breakdown of a portion of the toy/marketing system which resides at the "advertising headquarters" site;

FIG. 81 is a simplified functional breakdown of a portion of the toy/marketing system, including a server, which portion resides at the "toy maker" site;

FIG. 82 is a simplified functional breakdown of a portion of the toy/marketing system which resides at the "toy maker" site and which does not include a server;

FIG. 83 is a dataflow diagram illustrating dataflow relationships between the functional units of the "at home" site;

FIG. 84 is a dataflow diagram illustrating dataflow relationships between the functional units of the "advertising headquarters" site;

FIG. 85 is a dataflow diagram illustrating dataflow relationships between the functional units of the "toy maker" site;

FIG. 86 is a state diagram of the client logger of FIG. 78;

FIG. 87 is a state diagram of the LOCS (living object control software) of FIG. 78;

FIG. 88 is a state diagram of the push client unit of FIG. 78;

FIG. 89 is a dataflow diagram showing dataflow between the "home" site and the "motivational content provider" site, during a home software updating process operative in accordance with a preferred embodiment of the present invention;

FIG. 90 is a simplified flowchart illustration of a preferred implementation of a selling script or selling process for the network controller of FIG. 59 or FIG. 61 at home;

FIG. 91 is a simplified flowchart illustration of a preferred implementation of a selling script or selling process carried out by the motivational content provider server in conjunction with the network controller, both of FIG. 59, at home;

FIG. 92 is a semi-pictorial semi-data flow diagram illustration depicting a preferred method for processing user responses to motivational content, in order to provide the entities generating the motivational content with feedback and/or in order to bill the entities generating the motivational content;

FIG. 93 is a simplified flowchart illustration of a preferred method for generating TV program heralding messages which are a form of motivational prompt;

FIG. 94 is an example of a "script file";

FIG. 95 is an example of a feedback script file which is called by the script file of FIG. 94, and which is operative to prompt a user to provide feedback regarding television shows which s/he has been watching;

FIG. 96 is an example of a screen display which may be generated by the web browser of the living object client of FIG. 78;

FIG. 97 is another example of a screen display which may be generated by the web browser of the living object client of FIG. 78;

FIG. 98 is a table of functions supported by the system which are typically actuated by a child user of the system;

FIG. 99 is a table of installation functions supported by the system which are typically actuated by a parent user of the system who is a parent of the child user of the system;

FIG. 158 is a table of registration functions supported by the system which are typically actuated by the parent user of the system;

FIG. 101 is a table of billing functions supported by the system which are typically actuated by the parent user of the system;

FIG. 102 is a table of purchasing functions supported by the system which are typically actuated by the parent user of the system;

FIG. 103 is a table of registration configuration functions supported by the system which are typically actuated by a corporate user of the system such as a toy manufacturer;

FIG. 104 is a table of user profiling data gathering functions supported by the system which are typically actuated by a corporate user of the system such as a toy manufacturer;

FIG. 105 is a table of living object configuration update functions supported by the system which are typically actuated by a corporate user of the system such as a toy manufacturer;

FIG. 106 is a table of server update functions supported by the system which are typically actuated by a corporate user of the system such as a toy manufacturer;

FIG. 107 is a table of new living object configuration functions supported by the system which are typically actuated by a corporate user of the system such as a toy manufacturer;

FIG. 108 is a table of new living object update adding functions supported by the system which are typically actuated by a corporate user of the system such as a toy manufacturer;

FIG. 109 is a table of new living object update management functions supported by the system which are typically actuated by a corporate user of the system such as a toy manufacturer;

FIG. 110 is a table of webstore layout and styling functions supported by the system which are typically actuated by a corporate user of the system such as a toy manufacturer;

FIG. 111 is a table of server's purchase-related functions supported by the system which are typically actuated by a corporate user of the system such as a toy manufacturer;

FIG. 112 is a table of user management functions supported by the system which are typically actuated by a corporate user of the system such as a toy manufacturer;

FIG. 113 is a table of usage analysis functions supported by the system which are typically actuated by a corporate user of the system such as a toy manufacturer;

FIG. 114 is a simplified semi-pictorial semi-block diagram of an audible-information-providing system constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 115 is a simplified block diagram of sites and computing devices of a motivational information providing system constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 116 is a diagram of functions preferably performed at the at-home site of FIG. 115;

FIG. 117 is a preferred data flow diagram for the system of FIG. 115;

FIG. 118 is a diagram of preferred use cases for the commercial manager of FIG. 117;

FIG. 119 is a diagram of preferred use cases for the content provider/content manager of FIG. 117;

FIG. 120 is a diagram of preferred use cases for the NANI personalization manager of FIG. 117;

FIG. 121 is a diagram of preferred use cases for the NANI creative manager of FIG. 117;

FIG. 122 is a diagram of preferred use cases for the commercial manager of FIG. 117;

FIG. 123 is a table of use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 124 is a table of possible implementations of the use cases of FIG. 123;

FIGS. 125 and 126 are tables of additional use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 127 is a table of possible implementations of the use cases of FIG. 126;

FIG. 128 is a table of additional use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 129 is a table of possible implementations of the use cases of FIG. 128;

FIG. 130 is a table of additional use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 131 is a table of possible implementations of the use cases of FIG. 130;

FIG. 132 is a table of additional use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 133 is a table of possible implementations of the use cases of FIG. 132;

FIGS. 134 and 135 are tables of additional use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 136 is a table of possible implementations of the use cases of FIG. 135;

FIG. 137 is a table of additional use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 138 is a table of possible implementations of the use cases of FIG. 79;

FIG. 139 is a table of additional use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 140 is a table of possible implementations of the use cases of FIG. 139;

FIG. 141 is a table of additional use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 142 is a table of possible implementations of the use cases of FIG. 141;

FIG. 143 is a table of additional use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 144 is a table of possible implementations of the use cases of FIG. 143;

FIG. 145 is a table of additional use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 146 is a table of possible implementations of the use cases of FIG. 145;

FIGS. 147 and 148 are tables of additional use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 149 is a table of possible implementations of the use cases of FIG. 148;

FIG. 150 is a table of additional use cases of a motivational message providing system or service constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 151 is a table of possible implementations of the use cases of FIG. 150;

FIG. 152 is a simplified illustration of a screen display of the computer of FIG. 114 which enables a user to register to the audible-push service and to provide the service with his/her personal selection of information that he or she would like to receive from the service.

FIG. 153 is a simplified illustration of the typical textual content of a web-page;

FIG. 154 is a script illustrating a possible manner of distribution of the web-page of FIG. 153;

FIG. 155 is a bubble diagram of a game for an individual, "tree-quiz", in which a prize or other token is dispensed to the individual player by one of the nodes in the amusement park;

FIGS. 156A-B, taken together, form a diagram of one alternative "Game State Record" data structure of FIGS. 43A-43C of copending U.S. patent application Ser. No. 09/062,500, storing information regarding one of the game states, "ask question", within the individual game of FIG. 155;

FIGS. 156A and 56C, taken together, form a diagram of another alternative "Game State Record" data structure of FIGS. 143A-143C of copending U.S. patent application Ser. No. 09/062,500, storing information regarding one of the game states, "ask question", within the individual game of FIG. 155;

FIG. 157 is a diagram of two "Game State Record", data structures of FIGS. 43A-43C of copending U.S. patent application Ser. No. 09/062,500 storing information regarding two additional game states, "record answer" and "give present", within the individual game of FIG. 155;

FIG. 158 is a diagram of a "Visitor Record" data structure of FIGS. 43A-43C of copending U.S. patent application Ser. No. 09/062,500 storing information regarding an individual visitor playing the individual game of FIGS. 155-157;

FIG. 159 is a diagram of a "Node Record" data structure of FIGS. 43A-43C of copending U.S. patent application Ser. No. 09/062,500 storing information regarding two nodes, "tree" and "clown", which are operating within the individual game of FIGS. 155-158; and

FIGS. 160A-160B, taken together, form a simplified flowchart illustration of a preferred chain of events including the events which typically occur in playing the "tree-quiz" game of FIGS. 155-159.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Reference is now made to FIG. 1A which is a partly pictorial, partly block diagram illustration of a computer control system including a toy, constructed and operative in accordance with a preferred embodiment of the present invention. The system of FIG. 1A comprises a computer 100, which may be any suitable computer such as, for example, an IBM-compatible personal computer. The computer 100 is equipped with a screen 105. The computer 100 is preferably equipped with a sound card such as, for example, a Sound Blaster Pro card commercially available from Creative Labs, Inc., 1901 McCarthy Boulevard, Milpitas Calif. 95035 or from Creative Technology Ltd., 67 Ayer Rajah Crescent #03-18, Singapore, 0513; a hard disk; and, optionally, a CD-ROM drive.

The computer 100 is equipped with a computer radio interface 110 operative to transmit signals via wireless transmission based on commands received from the computer 100 and, in a preferred embodiment of the present invention, also to receive signals transmitted elsewhere via wireless transmission and to deliver the signals to the computer 100. Typically, commands transmitted from the computer 100 to the computer radio interface 110 are transmitted via both analog signals and digital signals, with the digital signals typically being transmitted by way of a MIDI port. Transmission of the analog and digital signals is described below with reference to FIG. 3.

The transmitted signal may be an analog signal or a digital signal. The received signal may also be an analog signal or a digital signal. Each signal typically comprises a message. A preferred implementation of the computer radio interface 110 is described below with reference to FIG. 3.

The system of FIG. 1A also comprises one or more toys 120. The system of FIG. 1A comprises a plurality of toys, namely three toys 122, 124, and 126 but it is appreciated that, alternatively, either one toy only or a large plurality of toys may be used.

Reference is now additionally made to FIG. 1B, which is a partly pictorial, partly block diagram illustration of the toy 122 of FIG. 1A.

Each toy 120 comprises a power source 125, such as a battery or a connection to line power. Each toy 120 also comprises a toy control device 130, operative to receive a wireless signal transmitted by the computer 100 and to cause each toy 120 to perform an action based on the received signal. The received signal may be, as explained above, an analog signal or a digital signal. A preferred implementation of the toy control device 130 is described below with reference to FIG. 6.

Each toy 120 preferably comprises a plurality of input devices 140 and output devices 150, as seen in FIG. 1B. The input devices 140 may comprise, for example on or more of the following: a microphone 141; a microswitch sensor 142; a touch sensor (not shown in FIG. 1B); a light sensor (not shown in FIG. 1B); a movement sensor 143, which may be, for example, a tilt sensor or an acceleration sensor. Appropriate commercially available input devices include the following: position sensors available from Hamlin Inc., 612 East Lake Street, Lake Mills, Wis. 53551, USA; motion and vibration sensors available from Comus International, 263 Hillside Avenue, Nutley, N.J. 07110, USA; temperature, shock, and magnetic sensors available from Murata Electronics Ltd., Hampshire, England; and switches available from C & K Components Inc., 15 Riverdale Avenue, Newton, Mass. 02058-1082, USA or from Micro Switch Inc., a division of Honeywell, USA The output devices 150 may comprise, for example, one or more of the following: a speaker 151; a light 152; a solenoid 153 which may be operative to move a portion of the toy; a motor, such as a stepping motor, operative to move a portion of the toy or all of the toy (not shown in FIG. 1B). Appropriate commercially available output devices include the following: DC motors available from Alkatel (dunkermotoren), Postfach 1240, D-7823, Bonndorf/Schwarzald, Germany; stepping motors and miniature motors available from Haydon Switch and Instruments, Inc. (HSI), 1500 Meriden Road, Waterbury, Conn., USA; and DC solenoids available from Communications Instruments, Inc., P.O. Box 520, Fairview, N.C. 28730, USA

Examples of actions which the toy may perform include the following: move a portion of the toy; move the entire toy; or produce a sound, which may comprise one or more of the following: a recorded sound, a synthesized sound, music including recorded music or synthesized music, speech including recorded speech or synthesized speech.

The received signal may comprise a condition governing the action as, for example, the duration of the action, or the number of repetitions of the action.

Typically, the portion of the received signal comprising a message comprising a command to perform a specific action as, for example, to produce a sound with a given duration, comprises a digital signal. The portion of the received signal comprising a sound, for example, typically comprises an analog signal. Alternatively, in a preferred embodiment of the present invention, the portion of the received signal comprising a sound, including music, may comprise a digital signal, typically a signal comprising MIDI data.

The action the toy may perform also includes reacting to signals transmitted by another toy, such as, for example, playing sound that the other toy is monitoring and transmitting.

In a preferred embodiment of the present invention, the toy control device 130 is also operative to transmit a signal intended for the computer 100, to be received by the computer radio interface 110. In this embodiment, the computer radio interface 110 is preferably also operative to poll the toy control device 130, that is, transmit a signal comprising a request that the toy control device 130 transmit a signal to the computer radio interface 110. It is appreciated that polling is particularly preferred in the case where there are a plurality of toys having a plurality of toy control devices 130.

The signal transmitted by the toy control device 130 may comprise one or more of the following: sound, typically sound captured by a microphone input device 141; status of sensor input devices 140 as, for example, light sensors or micro switch; an indication of low power in the power source 125; or information identifying the toy.

It is appreciated that a sound signal transmitted by the device 130 may also include speech. The computer system is operative to perform a speech recognition operation on the speech signals. Appropriate commercially available software for speech recognition is available from companies such as: Stylus Innovation Inc., One Kendall Square, Building 300, Cambridge, Mass. 02139, USA; A&G Graphics Interface, USA, Telephone No. (617)492-0120, Telefax No. (617)427-3625; "Dragon Dictate For Windows", available from Dragon Systems Inc., 320 Nevada Street, Mass. 02160, USA, and "SDK" available from Lernout & Hausple Speech Products, Sint-Krispijnstraat 7, 8900 Leper, Belgium.

The signal from the radio control interface 110 may also comprise, for example, one or more of the following: a request to ignore input from one or more input devices 140; a request to activate one or more input devices 140 or to stop ignoring input from one or more input devices 140; a request to report the status of one or more input devices 140; a request to store data received from one or more input devices 140, typically by latching a transition in the state of one or more input devices 140, until a future time when another signal from the radio control interface 110 requests the toy control device 130 to transmit a signal comprising the stored data received from the one or more input devices 140; or a request to transmit analog data, typically comprising sound, typically for a specified period of time.

Typically, all signals transmitted in both directions between the computer radio interface 110 and the toy control device 130 include information identifying the toy.

Reference is now made to FIG. 1C, which is a partly pictorial, partly block diagram illustration of a computer control system including a toy, constructed and operative in accordance with an alternative preferred embodiment of the present invention. The system of FIG. 1C comprises two computers 100. It is appreciated that, in general, a plurality of computers 100 may be used. In the implementation of FIG. 1C, all signals transmitted in both directions between the computer radio interface 110 and the toy control device 130 typically include information identifying the computer.

The operation of the system of FIG. 1A is now briefly described. Typically, the computer 100 runs software comprising a computer game, typically a game including at least one animated character. Alternatively, the software may comprise educational software or any other interactive software including at least one animated object. As used herein, the term "animated object" includes any object which may be depicted on the computer screen 105 and which interacts with the user of the computer via input to and output from the computer. An animated object may be any object depicted on the screen such as, for example: a doll; an action figure; a toy, such as, for example, an activity toy, a vehicle, or a ride-on vehicle; a drawing board or sketch board; or a household object such as, for example, a clock, a lamp, a chamber pot, or an item of furniture.

Reference is now additionally made to FIGS. 2A-2C, which depict a portion of the system of FIG. 1A in use. The apparatus of FIG. 2A comprises the computer screen 105 of FIG. 1A. On the computer screen are depicted animated objects 160 and 165.

FIG. 2B depicts the situation after the toy 122 has been brought into range of the computer radio interface 10 of FIG. 1A, typically into the same room therewith. Preferably, the toy 122 corresponds to the animated object 160. For example, in FIG. 2B the toy 122 and the animated object 160, shown in FIG. 2A, are both a teddy bear. The apparatus of FIG. 2B comprises the computer screen 105, on which is depicted the animated object 165. The apparatus of FIG. 2B also comprises the toy 122. The computer 100, having received a message via the computer radio interface 110, from the toy 122, no longer displays the animated object 160 corresponding to the toy 122. The functions of the animated object 160 are now performed through the toy 122, under control of the computer 100 through the computer radio interface 10 and the toy control device 130.

FIG. 2C depicts the situation after the toy 126 has also been brought into range of the computer radio interface 110 of FIG. 1A, typically into the same room therewith. Preferably, the toy 126 corresponds to the animated object 165. For example, in FIG. 2C the toy 126 and the animated object 165, shown in FIGS. 2A and 2B, are both a clock. The apparatus of FIG. 2C comprises the computer screen 105, on which no animated objects are depicted.

The apparatus of FIG. 2C also comprises the toy 126. The computer 100, having received a message via the computer radio interface 110 from the toy 126, no longer displays the animated object 165 corresponding to the toy 126. The functions of the animated object 165 are now performed through the toy 126, under control of the computer 100 through the computer radio interface 110 and the toy control device 130.

In FIG. 2A, the user interacts with the animated objects 160 and 165 on the computer screen, typically using conventional methods. In FIG. 2B the user also interacts with the toy 122, and in FIG. 2C typically with the toys 122 and 126, instead of interacting with the animated objects 160 and 165 respectively. It is appreciated that the user may interact with the toys 122 and 126 by moving the toys or parts of the toys; by speaking to the toys; by responding to movement of the toys which movement occurs in response to a signal received from the computer 100; by responding to a sound produced by the toys, which sound is produced in response to a signal received from the computer 100 and which may comprise music, speech, or another sound; or otherwise.

Reference is now made to FIG. 3 which is a simplified block diagram of a preferred embodiment of the computer radio interface 110 of FIG. 1A. The apparatus of FIG. 3 comprises the computer radio interface 110. The apparatus of FIG. 3 also comprises a sound card 190, as described above with reference to FIG. 1A. In FIG. 3, the connections between the computer radio interface 110 and the sound card 190 are shown.

The computer radio interface 110 comprises a DC unit 200 which is fed with power through a MIDI interface 210 from a sound card MIDI interface 194, and the following interfaces: a MIDI interface 210 which connects to the sound card MIDI interface 194; an audio interface 220 which connects to an audio interface 192 of the sound card 190; and a secondary audio interface 230 which preferably connects to a stereo sound system for producing high quality sound under control of software running on the computer 100 (not shown).

The apparatus of FIG. 3 also comprises an antenna 240, which is operative to send and receive signals between the computer radio interface 110 and one or more toy control devices 130.

FIG. 4 is a more detailed block diagram of the computer radio interface 110 of FIG. 3. The apparatus of FIG. 4 comprises the DC unit 200, the MIDI interface 210, the audio interface 220, and the secondary audio interface 230. The apparatus of FIG. 4 also comprises a multiplexer 240, a micro controller 250, a radio transceiver 260, a connection unit 270 connecting the radio transceiver 260 to the micro controller 250, and a comparator 280.

Reference is now made to FIGS. 5A-5D, which taken together comprise a schematic diagram of the apparatus of FIG. 4.

The following is a preferred parts list for the apparatus of FIGS. 5A-5C:

          1. K1             Relay Dept, Idec, 1213 Elco Drive,
                            Sunnyvale, Calif. 94089-2211, USA.
          2. U1             8751 microcontroller, Intel
                            Corporation, San Tomas 4, 2700 Sun
                            Tomas Expressway, 2nd Floor, Santa
                            Clara 95051, CA USA.
          3. U2             CXO-12 MHZ (crystal oscillator),
                            Raltron, 2315 N.W. 107th Avenue,
                            Miami, FL 33172, USA.
          4. U4             MC33174, Motorola, Phoenix, AZ
                            USA., Tel. No. (602)897-5056.
          5. Diodes         1N914, Motorola, Phoenix, AZ, USA.
                            Tel. No. (602)897-5056.
          6. Transistors    2N2222 and MPSA14, Motorola,
                            Phoenix, AZ, USA. Tel. No.
                            (602)897-5056.


The following is a preferred parts list for the apparatus of FIG. 5D:
            1. U1         SILRAX-418-A UHF radio telemetry
                          receive module, Ginsburg Electronic
                          GmbH, Am Moosfeld 85, D-81829,
                          Munchen, Germany.


Alternatively, U1 of FIG. 5D may be replaced by:
          U1          433.92 MHz Receive Module Part No.
                      0927, available from CEL SALES LTD.,
                      Cel House, Unit 2, Block 6, Shenstone
                      Trading Estate Bromsgrove,
                      Halesowen, West Midlands B36 3XB, UK.
          2. U2       TXM-418-A low power UHF radio
                      telemetry transmit module, Ginsburg
                      Electronic GmbH, Am Moosfeld 85, D-
                      81829, Munchen, Germany.


Alternatively, U2 of FIG. 5D may be replaced by:
          U2          433.92 SIL FM Transmitter Module
                      Part No, 5229, available from CEL
                      SALES LTD., Cel House, Unit 2, Block
                      6, Shenstone Trading Estate Bromsgrove,
                      Halesowen, West Midlands B36 3XB, UK.


Reference is now additionally made to FIG. 5E, which is a schematic diagram of an alternative implementation of the apparatus of FIG. 5D. The following is a preferred parts list for the apparatus of FIG. 5E:
        1. U1             BIM-418-F low power UHF data
                          transceiver module, Ginsburg
                          Electronic GmbH, Am Moosfeld 85, D-
                          81829, Munchen, Germany.
        Alternate 1. U1   S20043 spread spectrum full duplex
                          transceiver, AMI Semiconductors-
                          American Microsystems, Inc., Idaho,
                          USA.
        Alternate 1. U1   SDT-300 synthesized transceiver,
                          Circuit Design, Inc., Japan.


Alternatively, U1 may be replaced by:
          U1          RY3GB021 RF 900 Mhz units,
                      available from SHARP ELECTRONIC
                      COMPONENTS GROUP, 5700 Northwest,
                      Pacific Rim Boulevard #20, Camas,
                      Washington, USA.
          U1          RY3GB100 RF Units For DECT,
                      available from SHARP ELECTRONIC
                      COMPONENTS GROUP, 5700 Northwest,
                      Pacific Rim Boulevard #20, Camas,
                      Washington, USA.


In the parts list for FIG. 5E, one of item 1 or either of the alternate items 1 may be used for U1.

It is appreciated that the appropriate changes will have to be made to all the circuit boards for alternate embodiments of the apparatus.

The apparatus of FIG. 5E has similar functionality to the apparatus of FIG. 5D, but has higher bit rate transmission and reception capacity and is, for example, preferred when MIDI data is transmitted and received.

FIGS. 5A-5E are self-explanatory with regard to the above parts lists.

Reference is now made to FIG. 6 which is a simplified block diagram of a preferred embodiment of the toy control device 130 of FIG. 1A. The apparatus of FIG. 6 comprises a radio transceiver 260, similar to the radio transceiver 260 of FIG. 4. The apparatus of FIG. 6 also comprises a microcontroller 250 similar to the microcontroller 250 of FIG. 4.

The apparatus of FIG. 6 also comprises a digital input/output interface (digital I/O interface) 290, which is operative to provide an interface between the microcontroller 250 and a plurality of input and output devices which may be connected thereto such as, for example, four input device and four output devices. A preferred implementation of the digital I/O interface 290 is described in more detail below with reference to FIGS. 7A-7F.

The apparatus of FIG. 6 also comprises an analog input/output interface (analog I/O interface) 300 operatively connected to the radio transceiver 260, and operative to receive signals therefrom and to send signals thereto.

The apparatus of FIG. 6 also comprises a multiplexer 305 which is operative, in response to a signal from the microcontroller 250, to provide output to the analog I/O interface 300 only when analog signals are being transmitted by the radio transceiver 260, and to pass input from the analog I/O interface 300 only when such input is desired.

The apparatus of FIG. 6 also comprises input devices 140 and output devices 150. In FIG. 6, the input devices 140 comprise, by way of example, a tilt switch operatively connected to the digital I/O interface 290, and a microphone operatively connected to the analog I/O interface 300. It is appreciated that a wide variety of input devices 140 may be used.

In FIG. 6, the output devices 150 comprise, by way of example, a DC motor operatively connected to the digital I/O interface 290, and a speaker operatively connected to the analog I/O interface 300. It is appreciated that a wide variety of output devices 150 may be used.

The apparatus of FIG. 6 also comprises a DC control 310, a preferred implementation of which is described in more detail below with reference to FIGS. 7A-7F.

The apparatus of FIG. 6 also comprises a comparator 280, similar to the comparator 280 of FIG. 4.

The apparatus of FIG. 6 also comprises a power source 125, shown in FIG. 6 by way of example as batteries, operative to provide electrical power to the apparatus of FIG. 6 via the DC control 310.

Reference is now made to FIGS. 7A-7F which, taken together with either FIG. 5D or 5E, comprise a schematic diagram of the toy control device of FIG. 6. If the schematics of FIG. 5E is employed to implement the computer radio interface of FIG. 4, using RY3GB021 as U1 of FIG. 5E, then the same schematics of FIG. 5E are preferably employed to implement the toy control device of FIG. 6 except that RY3GH021 is used to implement U1 rather than RY3GB021.

The following is a preferred parts list for the apparatus of FIGS. 7A-7F:
          1. U1             8751 microcontroller, Intel
                            Corporation, San Tomas 4, 2700 Sun
                            Tomas Expressway, 2nd Floor, Santa
                            Clara 95051, CA USA.
          2. U2             LM78L05, National Semiconductor,
                            2900 Semiconductor Drive, Santa
                            Clara, CA 95052, USA.
          3. U3             CXO-12 MHz (crystal oscillator),
                            Raltron, 2315 N.W. 107th Avenue,
                            Miami, FL 33172, USA.
          4. U4             MC33174, Motorola, Phoenix, AZ
                            USA. Tel. No. (602)897-5056.
          5. U5             MC34119, Motorola, Phoenix, AZ
                            USA. Tel. No. (602)897-5056.
          6. U6             4066, Motorola, Phoenix, AZ, USA.
                            Tel. No. (602)897-5056.
          7. Diode          1N914, 1N4005, Motorola, Phoenix,
                            AZ USA. Tel. No. (602)897-5056.
          8. Transistor     2N2222, 2N3906, Motorola, Phoenix,
                            AZ USA. Tel. No. (602)897-5056.
          9. Transistors    2N2907 and MPSA14, Motorola,
                            Phoenix, AZ USA. Tel. No.
                            (602)897-5056.


FIGS. 7A-7F are self-explanatory with reference to the above parts list.

As stated above with reference to FIG. 1A, the signals transmitted between the computer radio interface 110 and the toy control device 130 may be either analog signals or digital signals. It the case of digital signals, the digital signals preferably comprise a plurality of predefined messages, known to both the computer 100 and to the toy control device 130.

Each message sent by the computer radio interface 110 to the toy control device 130 comprises an indication of the intended recipient of the message. Each message sent by the toy control device 130 to the computer radio interface 110 comprises an indication of the sender of the message.

In the embodiment of FIG. 1C described above, messages also comprise the following:

each message sent by the computer radio interface 110 to the toy control device 130 comprises an indication of the sender of the message; and

each message sent by the toy control device 130 to the computer radio interface 110 comprises an indication of the intended recipient of the message.

A preferred set of predefined messages is as follows:

Command Structure
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits


Commands List

From the Computer to the Toy control device.

A. Output Commands
                                           SET_IO_TO_DATA
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      00      01     IO    00     D     x
         x
    Set Toy control device output pin to a digital level D.
    P:      Computer address       00-03   H
    A:      unit address -         00-FF   H
    IO:     i/o number -           00-03   H
    D:      Data-                  00-01   H
    Example
    1.  01 0000 05 00 01 03 01 00 00 set io 3 to "1"
    2.  01 0000 05 00 01 03 00 00 00 set io 3 to "0"
                                         CHANGE_IO_FOR_TIME
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      00      02     00    IO    00     D
        T1    T2
    Change Toy control device output pin to D for a period of time and then
     return to previous state.
    P:      Computer address       00-03   H
    A:      unit address -         00-FF   H
    IO:     i/o number -           00-03   H
    T1, T2: time -                 00-FF   H
    D:      Data-                  00-01   H
    example:
    1.  01 0000 05 00 02 03 05 00 00 set io 3 to "1" for 5 seconds


B. Input Commands
                                       SEND_STATUS_OF_SENSORS
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      01      00      x     x     x     x
         x     x
    send the Toy control device status of all sensors.
    P:      Computer address   00-03   H
    A:      unit address -     00-FF   H
    example:
    1.  01 0000 05 00 00 00 00 00 send current status of sensors
                                        SENSORS_SCAN_MODE_ON
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      01      01      x     x     x     x
         x     x
    Start scanning the Toy control device sensors, and if one of them is closed
     (pressed to `0`), send back an ack.
    P:      Computer address       00-03   H
    A:      unit address -         00-FF   H
    example:
    1.  01 0000 05 01 01 00 00 00 00 scan mode of sensors ON
                                     SENSORS_SCAN_MODE_ON_ONCE
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      01      02      x     x     x     x
         x     x
    Start scanning the Toy control device sensors, and if one of them is closed
     (press to `0`), send back an ack,
    then disable scanning the sensors.
    P:      Computer address       00-03   H
    A:      unit address -         00-FF   H
    1.  01 0000 05 01 02 00 00 00 00 scan mode of sensors ON once
                                       SENSORS_SCAN_MODE_OFF
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      01      03      x     x     x     x
         x     x
    Stop scanning the Toy control device sensors.
    P:      Computer address       00-03   H
    A:      unit address -         00-FF   H
    1.  01 0000 05 01 03 00 00 00 00 scan mode of sensors OFF


C. Audio Out Commands
                                          START_AUDIO_PLAY
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      02      00      x     x     x     x
        xx    xx
    Start playing an audio in a speaker of the Toy control device The Audio is
     sent to the Toy control device by the
    computer sound card and the Computer ratio interface.
    P:      Computer address       00-03   H
    A:      unit address -         00-FF   H
    1.  01 0000 05 02 00 00 00 00 00 Start audio-play
                                          STOP_AUDIO_PLAY
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      02      01      x     x     x     x
         x     x
    Stop playing an audio in a speaker of the Toy control device.
    P:      Computer address       00-03   H
    A:      unit address -         00-FF   H
    1.  01 0000 05 02 01 00 00 00 00 Stop audio-play
                                  START_AUDIO_AND_TO_PLAY_FOR_TIME
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      02      04     T1    T2    T0    td
        SC    IO
    Start playing an audio in a speaker of the Toy control device and set an io
     pin to `I`. After time T, stop audio and set
    IO to `0`. start this command after a delay td* 100 ms if SC - "1" then
     after the execution of this command, start the
    input command SCAN_SENSORS _ON_ONCE (if any sensor is pressed, even during
     the audio play, send a
    message to the computer).
    P:          Computer address   00-03   H
    A:          unit address -     00-FF   H
    IO:         i/o number -       0-3     H   (if IO > 3 then don't set IO)
    T0, T1, T2  TIME               000-FFF H   (*100 ms) (T0 = MMSB, T1 = MSB
     T0 = LSB)
    td:         delay time befor execute 0-F           (*100 ms)
    1.  01 0000 05 02 04 80 2A 03 00 Start audio-play and IO #3 for 6.4 second
                                   640 = 28011
                                   delay before execution - 10* 100 ms = 1 sec
    2.  01 0000 05 02 04 80 2A 13 00 Start audio-play and IO #3 for 6.4 second
     and
                                   set scan sensors on once mode.
                                   delay before execution = 10* 100 ms = 1 sec


D. Audio In Commands
                                       TRANSMIT_MIC_FOR_TIME
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      03      00     T1    T2     x     x
         x     x
    Requests the Toy control device to Transmit microphone audio from the Toy
     control device to the Computer ratio
    interface and to the sound card of the computer for time T.
    P:      Computer address       00-03   H
    A:      unit address -         00-FF   H
    T1, T2: TIME                   00-FF   H   (SEC)
    example:
    1.  01 0000 05 03 00 0A 00 00 00 start mic mode for 10 seconds


E. General Toy Commands
                                          GOTO_SLEEP_MODE
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      04      01      x     x     x     x
         x     x
    Requests the Toy control device to go into power save mode (sleep).
    P:      Computer address       00-03   H
    A:      unit address -         00-FF   H
    1.  01 0000 05 04 01 00 00 00 00 switch the Toy control device into sleep
     mode.
                                          GOTO_AWAKE_MODE
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      04      02      x     x     x     x
         x     x
    Requests the Toy control device to go into an awake mode.
    P:      Computer address       00-03   H
    A:      unit address -         00-F    H
    1.  01 0000 05 04 02 00 00 00 00 switch the Toy control device into awake
     mode.
                                             TOY_RESET
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      04      0F      x     x     x     x
         x     x
    Requests the Toy control device to perform RESET
    P:      Computer address       00-03   H
    A:      unit address -         00-FF   H
    1.  01 0000 05 04 0F 00 00 00 00 Toy reset
                                      TOY_USE_NEW_RF_CHANNELS
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      04      0A     CH1   CH2    x     x
         x     x
    Requests the Toy control device to switch to new RF transmit and receive
     channels.
    P:      Computer address           00-03   H
    A:      unit address -             00-FF   H
    CH1:    Transmit RF channel number 0-F     H
    CH2:    Receive RF Channel number  0-F     H
    1.  01 0000 05 04 0A 12 00 00 00   Switch to new RX and TX RF channels
    Note: This command is available only with enhanced radio modules (alternate
     U1 of FIG. 5E) or with the modules described if FIG 15A-15E and 23A-24E.


E. Telemetry

Information sent by the Toy control device, as an ACK to the command recieved from the Computer radio interface.
                                               OK_ACK
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      0A      00    cmd1  cmd2  cmd3
     cmd4  sen1  sen2
    Send back an ACK about the command that was received ok.
    P:          Computer address   00-03   H
    A:          unit address -     00-FF   H
    cmd 1, 2:       Received command MSB ok ack.   00-FF   H
    cmd 3, 4:       Received command LSB ok ack.   00-FF   H
    sen 1, 2    Sensors 0-7 status 00-FF   H
    1.  01 6000 05 0A 00 01 01 FF 00 OK ack for 0101 command. (sensors scan
     mode
                                   on command). status: all sensors are not
                                   pressed (FF).
    2.  01 6000 05 0A 00 01 01 FE 00 OK ack for 0101 command. (sensors scan
     mode
                                   on command). status: sensor #8 is pressed
                                   (FE)
                                   the computer_radio_interface number is 6.


E. Requests

Request sent by the Toy control device, after an event
                                          TOY_IS_AWAKE_REQ
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      0A      00     c1    c2     x     x
         x     x
    Send a message to the Computer radio interface if the Toy control device
     goes from sleep mode to awake mode.
    P:      Computer address       00-03   H
    A:      unit address -         00-FF   H
    c1, c2: status command             AB      H
    1.  01 6000 05 0A 00 AB 00 FF 00 Toy is awake message.


E. CRI (Computer Ratio Interface)-commands

Commands that are sent to the Computer radio interface.
                                SWITCH_AUDIO_OUT_TO_RADIO_&_TRANSMIT
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       x      0C      00      x     x     x     x
         x     x
    Requests the Computer radio interface to switch audio_out from the computer
     sound card to the radio wireless
    transceiver and transmit.
    P:          Computer address   00-03   H
                              SWITCH_AUDIO_OUT_TO_JACK_&_STOP_TRANSMIT
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       x      0C      01      x     x     x     x
         x     x
    Requests the Computer radio interface to switch audio_out from the radio RF
     wireless transceiver to the speakers jack
    and to stop transmit.
    P:          Computer address   00-03   H
                              SWITCH_AUDIO_OUT_TO_JACK_&_STOP_TRANSMIT
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       x      0C      01      x     x     x     x
         x     x
    Requests the Computer radio interface to switch audio_out from the radio RF
     wireless transceiver to the speakers jack
    and to stop transmit.
    P:          Computer address   00-03   H


G. CRI-ACK

ACK sent only to the Computer by the Computer radio interface, only after CRl commands
                                          CRI_COMMAND_ACK
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       x      0D      00    cmd1  cmd2  cmd3
     cmd4    x     x
    This is an ACK for a CRI command. this ACK is sent to the computer by the
     computer-radio-interface, after executing
    a command successfully.
    P:          Computer address   00-03   H
    cmd 1, 2:       Received CRI command MSB ok ack. 00-FF     H
    cmd 3, 4:       Received CRI command LSB ok ack. 00-FF     H
    1.  01 6000 00 0D 00 0C 01 00 00 OK ack for 0C01 CRI command (SWITCH
                                   AUDIO OUT TO JACK)
                                   the computer_radio_interface number is 6.
    2.  01 6000 00 0D 00 0C 0F 00 00 OK ack for 0C0F CRI command (CRI reset)
                                   the computer_radio_interface number is 6.
                                   This ack is also sent on POWER UP RESET
                                           UN-MUTE_RADIO
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01     00     00      00       x      0C      03      x     x     x     x
         x     x
    UN-Mute the radio transmit.
                                             CRI_RESET
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       x      0C      0F      x     x     x     x
         x     x
    Perform software reset on the Computer radio interface unit.
    P:          Computer address   00-03   H


Reference is now made to FIG. 8A, which is a simplified flowchart illustration of a preferred method for receiving radio signals, executing commands comprised therein, and sending radio signals, within the toy control device 130 of FIG. 1A. Typically, each message as described above comprises a command, which may include a command to process information also comprised in the message. The method of FIG. 8A preferably comprises the following steps:

A synchronization signal or preamble is detected (step 400). A header is detected (step 403).

A command contained in the signal is received (step 405).

The command contained in the signal is executed (step 410). Executing the command may be as described above with reference to FIG. 1A.

A signal comprising a command intended for the computer radio interface 110 is sent (step 420).

Reference is now made to FIGS. 8B-8T which, taken together, comprise a simplified flowchart illustration of a preferred implementation of the method of FIG. 8A. The method of FIGS. 8B-8T is self-explanatory.

Reference is now made to FIG. 9A, which is a simplified flowchart illustration of a preferred method for receiving MIDI signals, receiving radio signals, executing commands comprised therein, sending radio signals, and sending MIDI signals, within the computer radio interface 110 of FIG. 1A. Some of the steps of FIG. 9A are identical to steps of FIG. 8A, described above. FIG. 9A also preferably comprises the following steps:

A MIDI command is received from the computer 100 (step 430). The MIDI command may comprise a command intended to be transmitted to the toy control device 130, may comprise an audio in or audio out command, or may comprise a general command.

A MIDI command is sent to the computer 100 (step 440). The MIDI command may comprise a signal received from the toy control device 130, may comprise a response to a MIDI command previously received by the computer radio interface 110 from the computer 100, or may comprise a general command.

The command contained in the MIDI command or in the received signal is executed (step 450). Executing the command may comprise, in the case of a received signal, reporting the command to the computer 100, whereupon the computer 100 may typically carry out any appropriate action under program control as, for example, changing a screen display or taking any other appropriate action in response to the received command. In the case of a MIDI command received from the computer 100, executing the command may comprise transmitting the command to the toy control device 130. Executing a MIDI command may also comprise switching audio output of the computer control device 110 between the secondary audio interface 230 and the radio transceiver 260.

Normally the secondary audio interface 230 is directly connected to the audio interface 220 preserving the connection between the computer sound board and the peripheral audio devices such as speakers, microphone and stereo system.

Reference is now made to FIGS. 9B-9N, and additionally reference is made back to FIGS. 8D-8M, all of which, taken together, comprise a simplified flowchart illustration of a preferred implementation of the method of FIG. 9A. The method of FIGS. 9B-9M, taken together with FIGS. 8D-8M, is self-explanatory.

Reference is now additionally made to FIGS. 10A-10C, which are simplified pictorial illustrations of a signal transmitted between the computer radio interface 110 and the toy control device 130 of FIG. 1A. FIG. 10A comprises a synchronization preamble. The duration T_SYNC of the synchronization preamble is preferably 0.500 millisecond, being preferably substantially equally divided into on and off components.

FIG. 10B comprises a signal representing a bit with value 0, while FIG. 10C comprises a signal representing a bit with value 1.

It is appreciated that FIGS. 10B and 10C refer to the case where the apparatus of FIG. 5D is used. In the case of the apparatus of FIG. 5E, functionality corresponding to that depicted in FIGS. 10B and 10C is provided within the apparatus of FIG. 5E.

Preferably, each bit is assigned a predetermined duration T, which is the same for every bit. A frequency modulated carrier is transmitted, using the method of frequency modulation keying as is well known in the art. An "off" signal (typically less than 0.7 Volts) presented at termination 5 of U2 in FIG. 5D causes a transmission at a frequency below the median channel frequency. An "on" signal (typically over 2.3 Volts) presented at pin 5 of U2 in FIG. 5D causes a transmission at a frequency above the median frequency. These signals are received by the corresponding receiver U1. Output signal from pin 6 of U1 is fed to the comparator 280 of FIGS. 4 and 6 that is operative to determine whether the received signal is "off" or "on", respectively.

It is also possible to use the comparator that is contained within U1 by connecting pin 7 of U1 of FIG. 5D, through pin 6 of the connector J1 of FIG. 5D, pin 6 of connector J1 of FIG. 5A, through the jumper to pin 12 of U1 of FIG. 5A.

Preferably, receipt of an on signal or spike of duration less than 0.01*T is ignored. Receipt of an on signal as shown in FIG. 10B, of duration between 0.01*T and 0.40*T is is preferably taken to be a bit with value 0. Receipt of an on signal as shown in FIG. 10C, of duration greater than 0.40*T is preferably taken to be a bit with value 1. Typically, T has a value of 1.0 millisecond.

Furthermore, after receipt of an on signal, the duration of the subsequent off signal is measured. The sum of the durations of the on signal and the off signal must be between 0.90 T and 1.10 T for the bit to be considered valid. Otherwise, the bit is considered invalid and is ignored.

Reference is now made to FIG. 11, which is a simplified flowchart illustration of a method for generating control instructions for the apparatus of FIG. 1A. The method of FIG. 11 preferably includes the following steps:

A toy is selected (step 550). At least one command is selected, preferably from a plurality of commands associated with the selected toy (steps 560-580). Alternatively, a command may be entered by selecting, modifying, and creating a new binary command (step 585).

Typically, selecting a command in steps 560-580 may include choosing a command and specifying one or more control parameters associated with the command. A control parameter may include, for example, a condition depending on a result of a previous command, the previous command being associated either with the selected toy or with another toy. A control parameter may also include an execution condition governing execution of a command such as, for example: a condition stating that a specified output is to occur based on a status of the toy, that is, if and only if a specified input is received; a condition stating that the command is to be performed at a specified time; a condition stating that performance of the command is to cease at a specified time; a condition comprising a command modifier modifying execution of the command, such as, for example, to terminate execution of the command in a case where execution of the command continues over a period of time; a condition dependent on the occurrence of a future event; or another condition.

The command may comprise a command to cancel a previous command.

The output of the method of FIG. 11 typically comprises one or more control instructions implementing the specified command, generated in step 590. Typically, the one or more control instructions are comprised in a command file. Typically, the command file is called from a driver program which typically determines which command is to be executed at a given point in time and then calls the command file associated with the given command.

Preferably, a user of the method of FIG. 11 performs steps 550 and 560 using a computer having a graphical user interface.

Reference is now made to FIGS. 12A-12C, which are pictorial illustrations of a preferred embodiment of a graphical user interface implementation of the method of FIG. 11.

FIG. 12A comprises a toy selection area 600, comprising a plurality of toy selection icons 610, each depicting a toy. The user of the graphical user interface of FIGS 12A-12C typically selects one of the toy selection icons 610, indicating that a command is to be specified for the selected toy.

FIG. 12A also typically comprises action buttons 620, typically comprising one or more of the following:

a button allowing the user, typically an expert user, to enter a direct binary command implementing an advanced or particularly complex command not otherwise available through the graphical user interface of FIGS. 12A-12C;

a button allowing the user to install a new toy, thus adding a new toy selection icon 610; and

a button allowing the user to exit the graphical user interface of FIGS. 12A-12C.

FIG. 12B depicts a command generator screen typically displayed after the user has selected one of the toy selection icons 610 of FIG. 12A. FIG. 12B comprises an animation area 630, preferably comprising a depiction of the selected toy selection icon 610, and a text area 635 comprising text describing the selected toy.

FIG. 12B also comprises a plurality of command category buttons 640, each of which allow the user to select a category of commands such as, for example: output commands; input commands; audio in commands; audio out commands; and general commands.

FIG. 12B also comprises a cancel button 645 to cancel command selection and return to the screen of FIG. 12A.

FIG. 12C comprises a command selection area 650, allowing the user to specify a specific command. A wide variety of commands may be specified, and the commands shown in FIG. 12C are shown by way of example only.

FIG. 12C also comprises a file name area 655, in which the user may specify the name of the file which is to receive the generated control instructions. FIG. 12C also comprises a cancel button 645, similar to the cancel button 645 of FIG. 12B. FIG. 12C also comprises a make button 660. When the user actuates the make button 660, the control instruction generator of FIG. 11 generates control instructions implementing the chosen command for the chosen toy, and writes the control instructions to the specified file.

FIG. 12C also comprises a parameter selection area 665, in which the user may specify a parameter associated with the chosen command.

Reference is now made to Appendix A, which is a computer listing of a preferred software implementation of the method of FIGS. 8A-8T.

Appendix A is an INTEL hex format file. The data bytes start from character number 9 in each line. Each byte is represented by 2 characters. The last byte (2 characters) in each line, should be ignored.

For example, for a sample line:

The original line reads- :07000000020100020320329F

The data bytes- 02010002032032 (02,01,00,02,03,20,32)

Starting address of the data bytes- 0000 (00,00)

Appendix A may be programmed into the memory of microcontroller 250 of FIG. 6.

Appendix B is a computer listing of a preferred software implementation of the method of FIGS. 9A-9N, together with the method of FIGS. 8D-8M.

Appendix B is an INTEL hex format file. The data bytes start from character number 9 in each line. Each byte is represented by 2 characters. The last byte (2 characters) in each line, should be ignored.

For example, for a sample line:

The original line reads- :070000000201000205A73216

The data bytes- 0201000205A732 (02,01,00,02,05,A7,32)

Starting address of the data bytes- 0000 (00,00)

Appendix B may be programmed into the memory of microcontroller 250 of FIG. 4.

Appendix C is a computer listing of a preferred software implementation of an example of a computer game for use in the computer 100 of FIG. 1.

Appendix D is a computer listing of a preferred software implementation of the method of FIGS. 11 and FIGS. 12A-12C.

For Appendices C and D, these programs were developed using VISUAL BASIC. To run the programs you need to install the VISUAL BASIC environment first. The application needs a Visual Basic custom control for performing MIDI I/O similar to the one called MIDIVBX.VBX. VISUAL BASIC is manufactured by Microsoft Corporation, One Microsoft Way, Redmond, Wash. 98052-6399, USA. MIDIVBX.VBX is available from Wayne Radinsky, electronic mail address a-wayner@microsoft.com.

The steps for programming the microcontrollers of the present invention include the use of a universal programmer, such as the Universal Programmer, type EXPRO 60/80, manufactured by Sunshine Electronics Co. Ltd., Taipei, Japan.

The method for programming the microcontrollers with the data of Appendices A and B, includes the following steps:

1. Run the program EXPRO.EXE, which is provided with the EXPRO 60/80".

2. Choose from the main menu the EDIT/VIEW option.

3. Choose the EDIT BUFFER option.

4. Enter the string E 0000.

5. Enter the relevant data (given in Appendices A or B), byte after byte, starting from the address 0000. In each line there is a new starting address for each data byte which appears in this line.

6. Press ESC.

7. Enter the letter Q.

8. Choose from the main menu the DEVICE option.

9. Choose the MPU/MCU option.

10. Choose the INTEL option.

11. Choose the 87C51.

12. Choose from the main menu the RUNFUNC option.

13. Choose the PROGRAM option.

14. Place the 87C51 chip in the programmer's socket.

15. Enter Y and wait until the OK message.

16. The chip is now ready to be installed in the board.

The method for creating the relevant files for the computer 100, with the data of Appendices C and D, includes using a HEX EDITOR which is able to edit DOS formatted files. A typical HEX and ASCII editor is manufactured by Martin Doppelbauer, Am Spoerkel 17, 44227 Dortmund, Germany, UET401 at electronic mail address hrz.unidozr.uni-dortmund.de.

The steps necessary for creating the files by means of a HEX editor, such as by the Martin Doppelbauer editor include the following:

1. Copy any DOS file to a new file with the desired name and with the extension .EXE. (For example, write COPY AUTOEXEC.BAT TOY1.EXE).

2. Run the program ME.EXE.

3. From the main menu press the letter L(load file).

04. Write the main menu of the new file (for example TOY1.EXE).

5. From the main menu, press the letter (insert).

6. Enter the relevant data (written in Appendices C or D), byte after byte, starting from the address 0000.

7. Press ESC.

8. From the main menu, enter the letter W(write file).

9. Press the RETURN key and exit from the editor by pressing the letter Q.

The above-described embodiment of FIG. 1C includes a description of a preferred set of predefined messages including a category termed "General commands". Other General Commands are defined by the following description:

Multiport Commands
                                 AVAILABILITY_INTERROGATION_COMMAND
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      04      05     00    00    00    00
         x     x
    A computer transmits this command to verify that the radio channel is
     vacant. If another computer is already using
    this channel it will respond with the Availability Response Command. If no
     response is received within 250 msec the
    channel is deemed vacant.
    P:          Computer address   00-03   H
    A:          unit address -     00-FF   H
                                 AVAILABILITY_INTERROGATION_COMMAND
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      04      05     00    00    00    00
         x     x
    A computer transmits this command to verify that the radio channel is
     vacant. If another computer is already using
    this channel it will respond with the Availability Response Command. If no
     response is received within 250 msec the
    channel is deemed vacant.
    P:          Computer address   00-03   H
    A:          unit address -     00-FF   H
                                      TOY_AVAILABILITY_COMMAND
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      04      07     00    00    00    00
         x     x
    A Toy transmits this command to declare its existence and receive in
     response a Channel Pair Selection Command
    designating the computer that will control it and the radio channels to
     use.
    P:          Computer address   00-03   H
    A:          unit address -     00-FF   H
                                      TOY_AVAILABILITY_COMMAND
    byte 0     byte 1     byte 2  byte 3  byte 4  byte 5    byte 6      byte 7
         byte 8    byte 9
     Head    PC   Unit #  Unit #  Unit #    CMD     CMD    -8 bits-    -8 bits-
        -8 bits-     CRC
             add   A-sb    B-sb    C-sb     msb     lsb
                                                          Dat1  Dat1  Dat2
     Dat2  Dat3  Dat3
                                                           msb   lsb   msb
     lsb   msb   lsb
     8 bit  2 bit  6 bit   8 bit   8 bit   8 bit   8 bit  4 bit 4 bit 4 bit 4
     bit 4 bit 4 bit 8 bits
      01      P     00      00       A      04      07     00    00    00    00
         x     x
    A Toy transmits this command to declare its existence and receive in
     response a Channel Pair Selection Command
    designating the computer that will control it and the radio channels to
     use.
    P:          Computer address   00-03   H
    A:          unit address -     00-FF   H


In FIGS. 13 and 14 there are illustrated block diagrams of multiport multi-channel implementation of the computer radio interface 110 of FIG. 1A. FIG. 13 illustrates the processing sub-unit of the computer interface that is implemented as an add-in board installed inside a PC. FIG. 14 is the RF transceiver which is a device external to the computer and connects to the processing subunit by means of a cable. In the present application of the RF unit there are 4 transceivers each capable of utilizing two radio channels simultaneously.

Referring briefly to FIG. 3, it is appreciated that, optionally, both sound and control commands may be transmitted via the MIDI connector 210 rather than transmitting sound commands via the analog connector 220. It is additionally appreciated that the functions of the interfaces 210 and 220 between the computer radio interface 110 and the sound card 190 may, alternatively, be implemented as connections between the computer radio interface 110 to the serial and/or parallel ports of the computer 100, as shown in FIGS. 25A-25F.

If it is desired to provide full duplex communication, each transceiver 260 which forms part of the computer radio interface 110 of FIG. 1A preferably is operative to transmit on a first channel pair and to receive on a different, second channel pair. The transceiver 260 (FIG. 4) which forms part of the toy control device 130 of FIG. 1A preferably is operative to transmit on the second channel and to receive on the first channel.

Any suitable technology may be employed to define at least two channel pairs such as narrow band technology or spread spectrum technologies such as frequency hopping technology or direct sequence technology, as illustrated in FIGS. 15A-15E, showing a Multi-Channel Computer Radio Interface, and in FIGS. 24A-24E showing a Multi-Channel Toy Control Device.

Appendices E-H, taken together, are computer listings from which a first, DLL-compatible, functions library may be constructed. The DLL-compatible functions library may be subsequently used by a suitable computer system such as an IBM PC to generate a variety of games for any of the computer control systems shown and described herein. Alternatively, games may be generated using the applications generator of FIGS. 11-12C.

To generate a DLL (dynamic loading and linking) function library based on Appendices E-H, the following operations are performed:

1) Open Visual C++4.0

2) Go to File Menu

3) Choose New from File Menu

4) Choose Project Workspace

5) Choose Dynamic-Link Library

6) The Project Name is: DLL32.MDP

7) Press Create button

8) Go to File Menu

9) Choose New from File Menu

10) Choose Text File

11) Now write the Source

12) Write on the current page a file containing the contents of Appendix E

13) Press the mouse right button and choose: Insert File Into Project

14) Click on DLL32 project

15) On the save dialog write CREATOR.C

16) Press the OK button

17) Go to File Menu

18) Choose New from File Menu

19) Choose Text File

20) Write on this page a file containing the contents of Appendix F;

21) Go to File Menu

22) Press Save

23) On the save dialog write CRMIDI.H

24) Press the OK button

25) Go to File Menu

26) Choose New from File Menu

27) Choose Text File

28) Write on this page a file containing the contents of Appendix G;

29) Go to File Menu

30) Press Save

31) On the save dialog write a file CREATOR.H

32) Press the OK button

33) Go to File Menu

34) Choose New from File Menu

35) Choose Text File

36) Write on this page a file containing the contents of Appendix H;

37) Press the mouse right button and choose: Insert File Into Project

38) Click on DLL32 project

39) On the save dialog write CREATOR.DEF

40) Press the OK button

41) Go to Insert Menu

42) Press File Into Project . . .

43) On the List Files of Type: Choose Library Files (*.lib)

44) Go to the Visual C++library directory and choose WINMM.LIB

45) Press the OK button

46) Go to the Build menu

47) Press Rebuild ALL

A description of the commands included in the DLL function library based on Appendices E-H now follows:

A. MIDI input functions 1-2:

1. Open MIDI input device

Syntax: long MIDIInOpen(long Device)

This function opens the MIDI device for input.

Return 0 for success, -1 otherwise.

Delphi Example:

Device:=0;

if MIDIInOpen(Device)<>0 Then

MessageDlg(`Error opening MIDI input device`, mtError, mbOk, 0);

2. Reset MIDI input device

Syntax: long MIDIInReset(void)

this function resets MIDI input device.

Return 0 for success, -1 otherwise.

Delphi Example:

if MIDIInRest<>0 Then

MessageDlg(`Error reseting MIDI input device`, mtError, mbOk, 0);

B. MIDI output functions 3-6:

3. Close MIDI input device

Syntax: long MIDIInClose(void)

This function close MIDI input device.

Return 0 for success, -1 otherwise.

Delphi Example:

if MIDIInClose<>0 Then

MessageDlg(`Error closing MIDI input device`, mtError, mbOk, 0);

4. Open MIDI output device

Syntax: long MIDIOutOpen(long Device)

This function opens MIDI output device.

Return 0 if success, -1 otherwise.

m

Delphi Example:

Device:=0;

if MIDIOutOpen(Device)<>0 Then

MessageDlg(`Error opening MIDI output device`, mtError, mbOk, 0);

5. Reset MIDI Output device

Syntax: long MIDIOutReset(void)

This function resets MIDI output device.

Return 0 if success, -1 otherwise.

Delphi Example:

if MIDIOutReset<>0 Then

MessageDlg(`Error reseting MIDI output device`, mtError, mbOk, 0);

6. Close MIDI output device

Syntax: long MIDIOutClose(void)

This function close MIDI output device.

Return 0 if success, -1 otherwise.

Delphi Example:

Device:=0;

if MIDIOutClose<>0 Then

MessageDlg(`Error opening MIDI output device`, mtError, mbOk, 0);

C. General functions 7-10:

7. Send Data

Syntax: long SendData(long Data)

This function sends 4 bytes to toy card.

Currently used to send 144 for init toy card.

Return 0 if succesfull, -1 otherwise.

Delphi Example:

If SendData(144)<>0 Then

MessageDlg(`Error sending data to toy`, mtError, mbOk, 0);

8. Send Message

Syntax: long SendMessage(char*Mess)

This function sends string to toy card.

Return 1 if successful, or error code otherwise.

Delphi Example:

Mess:=`00 01 00 00 00 00 00 05 00

00 00 01 00 03 00 01 00 00 00`;

If SendMessage(Mess)<>1 Then

MessageDlg(`Error opening MIDI output device`,

mtError, mbOk, 0);

9. Check message

Syntax: long CheckMessage(void)

This function returns 0 if no message found from toy card.

Delphi Example:

If CheckMessage Then

Mess:=GetMessage;

10. Get Message

Syntax: char*GetMessage(char*Mess)

This function returns 20 chars toy message if present, or "Time Out" otherwise.

Delphi Example:

If GetMessage="Time Out" Then

MessageDlg(`No message received`, mtError, mbOk, 0);

D. Toy control functions 11-16:

11. Get Toy Number

Syntax: char*GetToyNumber(void)

This function returns Toy Number of last receiving message,

or "00 00 00 00" if no message was received.

12. Get Sensor Number

Syntax: long GetSensorNumber(void)

This function returns Sensor Number of last receiving message, or 255 if no message was received.

13. Toy Reset

Syntax: long ToyReset(char*ToyNumber)

This function sends a reset string to toy.

Return 0 if successful, or -1 otherwise.

14. Toy Transceive

Syntax: char*ToyTranceive(char*ToyNumber,char*Mess)

This function sends message to toy and waits 3 sec to acknowledge.

Return "Ack. Ok" if received, or "Time Out" if not.

15. Prepare Toy Talk

yntax: char*PrepareToyTalk(char*ToyNumber, char*WaveFile)

This function prepares toy card to generate sound using toy speaker.

After calling this function, WaveFile may be played and heard at toy speaker.

Return "Ack. Ok" if successful, or "Time Out" otherwise.

16. Go To Sleep Mode

Syntax: char*GoSleep(char*ToyNumber)

This function sends to toy the sleep command.

Return "Ack. Ok" if successful, or "Time Out" otherwise.

Appendices I-O, taken together, are computer listings of a second functions library which may be used to generate a variety of games for any of the computer control systems shown and described herein in conjunction with a Director 5.0 software package, marketed by Macromedia Inc., 600 Townsend St., San Francisco, Calif., 94103.

To generate an XObject function library based on Appendices I-O, the following operations are performed:

1) Create a new directory: C:.backslash.XOBJECT.backslash. by writing (MD C:.backslash.XOBJECT.backslash.)

2) Open Visual C++1.5

3) On the File menu choose NEW

4) Generate a file which contains the contents of Appendix I;

5) Choose Save As from the File Menu

6) Give the file generated in step (4) a name by punching C:.backslash.XOBJECT.backslash.CREATOR.MAK

7) Press the OK button

8) On the File menu choose NEW

9) Generate a file which contains the contents of Appendix J;

10) On the File menu choose Save As.

11) In the File Name: dialog, write C:.backslash.XOBJECT.backslash.CREATOR.C

12) Press the OK button

13) On the File menu choose NEW

14) Generate a file which contains the contents of Appendix K;

15) On the File menu choose Save As.

16) In the File Name: dialog write C:.backslash.XOBJECT.backslash.CREATOR.H

17) Press the OK button

18) On the File menu choose NEW

19) Generate a file which contains the contents of Appendix L;

20) On the File menu choose Save As.

21) In the File Name: dialog write C:.backslash.XOBJECT.backslash.CRMIDI.H

22) Press the OK button

23) On the File menu choose NEW

24) Generate a file which contains the contents of Appendix M;

25) On the File menu choose Save As.

26) In the File Name: dialog write C:.backslash.XOBJECT.backslash.XOBJECT.H

27) Press the OK button

28) On the File menu choose NEW

29) Generate a file which contains the contents of Appendix N;

30) On the File menu choose Save As.

31) In the File Name: dialog write C:.backslash.XOBJECT.backslash.CREATOR.DEF

32) Press the OK button

33) On the File menu choose NEW

34) Generate a file which contains the contents of Appendix O;

35) On the File menu choose Save As.

36) In the File Name: dialog write C:.backslash.XOBJECT.backslash.CREATOR.RC

37) Press the OK button

38) On the Project Menu choose Open

39) In the File Name dialog write C:.backslash.XOBJECT.backslash.CREATOR.MAK40) Press Rebuild All from the Project Menu

A description of the commands included in the XObject function library based on Appendices I-O now follows:

A. MIDI input functions 1-3:

1. Open MIDI input device

Syntax: long MIDIInOpen(long Device)

This function opens the MIDI device for input.

Return 0 for success, -1 otherwise.

Delphi Example:

Device:=0;

if MIDIInOpen(Device)<>0 Then

MessageDlg(`Error opening MIDI input device`,

mtError, mbOk, 0);

2. Reset MIDI input device

Syntax: long MIDIInReset(void)

This function resets MIDI input device.

Return 0 for success, -1 otherwise.

Delphi Example:

if MIDIInRest<>0 Then

MessageDlg(`Error reseting MIDI input device`,

mtError, mbOk, 0);

3. Close MIDI input device

Syntax: long MIDIInClose(void)

This function turns off MIDI input device.

Return 0 for success, -1 otherwise.

Delphi Example:

if MIDIInClose<>0 Then

MessageDlg(`Error closing MIDI input device`,

mtError, mbOk, 0);

B. MIDI output functions 4-6:

4. Open MIDI output device

Syntax: long MIDIOutOpen(long Device)

This function opens MIDI output device.

Return 0 if success, -1 otherwise.

Delphi Example:

Device:=0;

if MIDIOutOpen(Device)<>0 Then

MessageDlg(`Error opening MIDI output device`,

mtError, mbOk, 0);

5. Reset MIDI Output device

Syntax: long MIDIOutReset(void)

This function resets MIDI output device.

Return 0 if success, -1 otherwise.

Delphi Example:

if MIDIOutReset<>0 Then

MessageDlg(`Error reseting MIDI output device`,

mtError, mbOk, 0);

6. Close MIDI output device

Syntax: long MIDIOutClose(void)

This function close MIDI output device.

Return 0 if success, -1 otherwise.

Delphi Example:

Device:=0;

if MIDIOutClose<>0 Then

MessageDlg(`Error opening MIDI output device`,

mtError, mbOk, 0);

C. General functions 7-11:

7. New

Syntax: Creator(mNew)

This function creates a new instance of the XObject

The result is 1 if successful, or error code otherwise.

Example:

openxlib "Creator.Dll"

Creator(mNew)

Creator(mDispose)

See also: Dispose

8. Dispose

Syntax: Creator(mNew)

This function disposes of XObject instance.

The result is1 if successful, or error code otherwise.

Example:

openxlib "Creator.Dll"

Creator(mNew)

...

Creator(mDispose)

9. Send Message

Syntax: long SendMessage(char*Mess)

This function sends string to toy card.

Return 1 if successful, or error code otherwise.

Delphi Example:

Mess:=`00 01 00 00 00 00 00 05 00

00 00 01 00 03 00 01 00 00 00`;

If SendMessage(Mess)<>1 Then

MessageDlg(`Error opening MIDI output device`,

mtError, mbOk, 0);

10. Check message

Syntax: long CheckMessage(void)

This function returns 0 if no message found from toy card.

Delphi Example:

If CheckMessage Then

Mess:=GetMessage;

11. Get Toy Message

Syntax: GetToyMessage

This function receives message from toy.

The result is a message.

If during 3 sec there is no message, the result is "Time Out".

Example:

set message=GetToyMessage

If message="Time Out" Then

put "No message receiving"

End If

See also: Check for Message

D. Toy control functions 12-17:

12. Get Toy Number

Syntax: cha*GetToyNumber(void)

This function returns Toy Number of last receiving message, or "00 00 00 00" if no message was received.

13. Get Sensor Number

Syntax: long GetSensorNumber(void)

This function returns Sensor Number of last receiving message, or 255 if no message was received.

14. Toy Reset

Syntax: long ToyReset(char*ToyNumber)

This function sends a reset string to toy.

Return 0 if successful, or -1 otherwise.

15. Toy Tranceive

Syntax: char*ToyTranceive(char*ToyNumber,char*Mess)

This function sends to toy message and waits 3 sec to acknowledge.

Return "Ack. Ok" if received, or "Time Out" if not.

16. Prepare Toy Talk

Syntax: char*PrepareToyTalk(char*ToyNumber, char*WaveFile)

This function prepares toy card to generate sound using from toy speaker.

After calling this function, WaveFile may be played and heard at toy speaker.

Return "Ack. Ok" if successful, or "Time Out" otherwise.

17. Go To Sleep Mode

Syntax: char*GoSleep(char*ToyNumber)

This function sends to toy the sleep command.

Return "Ack. Ok" if successful, or "Time Out" otherwise.

To use the XObject function library in conjunction with the Director, the following method may be employed.

1) Open Director Version 5.0 program

2) From File Menu, choose New

3) Press the Movie Option

4) Go to Windows menu and press Cast

5) Go to the first Script on the cast

6) On the Window menu choose Script

7) Write the script of the desired game.

8) Repeat from step 5 until all desired script(s) have been written. Press (Ctrl+Alt+P) to run the Application

Reference is now made to FIG. 16 which is a simplified flowchart illustration of a preferred method of operation of a computer radio interface (CRI) 110 operative to service an individual computer 100 of FIG. 1A without interfering with other computers or being interfered with by the other computers, each of which is similarly serviced by a similar CRI. Typically, the method of FIG. 16 is implemented in software on the computer 100 of FIG. 1A.

The CRI includes a conventional radio transceiver (260 of FIG. 4) which may, for example, comprise an RY3 GB021 having 40 channels which are divided into 20 pairs of channels. Typically, 16 of the channel pairs are assigned to information communication and the remaining 4 channel pairs are designated as control channels.

In the method of FIG. 16, one of the 4 control channel pairs is selected by the radio interface (step 810) as described in detail below in FIG. 17. The selected control channel pair i is monitored by a first transceiver (step 820) to detect the appearance of a new toy which is signalled by arrival of a toy availability command from the new toy (step 816). When the new toy is detected, an information communication channel pair is selected (step 830) from among the 16 such channel pairs provided over which game program information will be transmitted to the new toy. A preferred method for implementing step 830 is illustrated in self-explanatory flowchart FIG. 18A. The "Locate Computer" command in FIG. 18A (step 1004) is illustrated in the flowchart of FIG. 18B.

The identity of the selected information communication channel pair, also termed herein a "channel pair selection command", is sent over the control channel pair to the new toy (step 840). A game program is then begun (step 850), using the selected informatio