CN1310795A - Intelligent toy - Google Patents
Intelligent toy Download PDFInfo
- Publication number
- CN1310795A CN1310795A CN99808910.9A CN99808910A CN1310795A CN 1310795 A CN1310795 A CN 1310795A CN 99808910 A CN99808910 A CN 99808910A CN 1310795 A CN1310795 A CN 1310795A
- Authority
- CN
- China
- Prior art keywords
- toy
- computer
- wireless
- bit
- midi
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H3/00—Dolls
- A63H3/28—Arrangements of sound-producing means in dolls; Means in dolls for producing sounds
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1025—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H2200/00—Computerized interactive toys, e.g. dolls
Landscapes
- Toys (AREA)
Abstract
公开了一种用于无线计算机控制的玩具系统的设备,该设备包括一计算机系统(100,105,110),可在操作时经第一无线发送机(110)进行第一次发送;和至少一个玩具(120),该玩具包括第一无线接收机(130),所述玩具经过所述第一无线接收机接收所述第一次发送,并且可在操作时基于所述第一次发送执行至少一个动作。还公开了一种用于控制所述玩具系统的方法。
An apparatus for a wireless computer-controlled toy system is disclosed, the apparatus comprising a computer system (100, 105, 110) operable for first transmission via a first wireless transmitter (110); and at least one toy (120 ), the toy includes a first wireless receiver (130), the toy receives the first transmission via the first wireless receiver, and is operable to perform at least one action based on the first transmission. A method for controlling the toy system is also disclosed.
Description
The present invention relates generally to toys, and more particularly to toys for use in conjunction with computer systems.
Toys that are remotely controlled by wireless communication without use in conjunction with a computer system have long been known in the art. Typically, such toys comprise motor vehicles whose movements are controlled by a human user via a remote control device.
U.S. patent 4,712,184 to Haugerud describes a computer controlled educational toy configured to teach computer terminology and programming and robotics to users. Haugerud describes computer control of toys over wired connections, where the user of the computer typically writes a simple program to control the motion of the robot.
Rose, U.S. patent 4,840,602, describes a doll capable of speaking in response to an external signal, wherein the doll has a vocabulary stored in digital data in a memory that is accessible to cause a speech synthesizer in the doll to simulate pronunciation.
Lang, U.S. patent 5,021,878, describes two real-time controlled animated character (animation character) systems.
Lang, U.S. patent 5,142,803, also describes an animated character system controlled in real time.
U.S. patent 5,191,615 to Aldava et al describes an interactive audio sports entertainment system in which movable and audible toys and other animation devices located separately from a television screen are provided with program-synchronized audio and control data for interacting with program viewers associated with the television programs.
Us patent 5,195,920 to Coilier describes a wirelessly controlled toy vehicle that produces realistic sound effects on the board of the vehicle. Communication with the remote computer allows the operator to modify and add new sound effects.
U.S. patent 5,270,480 to Hikawa describes a toy that acts in response to MIDI (musical instrument data interface) signals, wherein simulated musical instrument playing actions are performed by a musical instrument playing toy.
U.S. patent 5,289,273 to Lang describes a system for remotely controlling an animated character. The system utilizes wireless signals to transmit audio, video and other control signals to the animated character to provide speech, auditory scenes and motion in real time.
U.S. patent 5,388,493 describes a system that provides a housing for a vertical dual keyboard MIDI wireless controller for an accordion. The system may be connected using a conventional MIDI cable or through a wireless MIDI transmission system.
German patent DE 3009-040 to Neuhierl describes a device for transmitting sounds from a remote control to a controlled model vehicle. This sound is generated using a microphone or video recorder and transmitted to the model vehicle by wireless communication. The model motor vehicle is equipped with a speaker for emitting received sound.
Summary of the invention
The present invention is directed to an improved toy system for use in conjunction with a computer system.
There is thus provided in accordance with a preferred embodiment of the present invention a wireless computer controlled toy system including: a computer system operable to transmit a first transmission via a first wireless transmitter; and at least one toy comprising a first wireless receiver through which the toy receives the first transmission and is operable to perform at least one action based on the first transmission.
The computer system may include a computer game. The toy may include a plurality of toys, and the at least one action may include a plurality of actions.
The first transmission may comprise a digital signal. The first transmission comprises an analog signal, and the analog signal may comprise sound.
Furthermore in accordance with a preferred embodiment of the present invention the computer system includes a computer having a MIDI port and wherein the computer is operable to transmit the digital signals through the MIDI port.
Furthermore, in accordance with a preferred embodiment of the present invention, the sound includes music, pre-recorded sound and/or speech. The speech may include recorded speech and synthesized speech.
Further in accordance with a preferred embodiment of the present invention the at least one toy has a plurality of states including at least a sleep state and an awake state, and the first transmission includes a state transition command, and the at least one action includes transitioning between the sleep state and the awake state.
Sleep states generally include a state in which: in this state, the toy consumes reduced energy and/or the toy is substantially inactive, while the awake state is typically a state of normal operation.
Further in accordance with a preferred embodiment of the present invention the first transmission includes a control command selected from a plurality of available control commands based at least in part on an outcome of an operation of the computer game.
Further in accordance with a preferred embodiment of the present invention the computer system comprises a plurality of computers.
Further in accordance with a preferred embodiment of the present invention the first transmission includes computer identification data and the second transmission includes computer identification data.
Further in accordance with a preferred embodiment of the present invention the at least one toy is operable to transmit a second time via the second wireless transmitter and is operable to receive the second transmission via the second wireless receiver.
Further in accordance with a preferred embodiment of the present invention the system includes at least one input device and the second transmission includes a status of the at least one input device.
Further in accordance with a preferred embodiment of the present invention the at least one toy includes at least a first toy and a second toy, and wherein the first toy is operable to transmit to the second toy via the second wireless transmitter in a toy-to-toy transmission manner, and wherein the second toy is operable to perform at least one action based on the toy-to-toy transmission.
Further in accordance with a preferred embodiment of the present invention the computer system is at least partially controlled by the second sending.
Further in accordance with a preferred embodiment of the present invention the computer system includes a computer game, and wherein operation of the game is controlled, at least in part, by the second transmission.
The second transmission may comprise a digital signal and/or an analog signal.
Further in accordance with a preferred embodiment of the present invention the computer system has a plurality of states including at least a sleep state and an awake state, and the second transmission includes a state transition command, and the computer is operable to transition between the sleep state and the awake state upon receiving the second transmission.
Furthermore, in accordance with a preferred embodiment of the present invention, the at least one toy includes a sound input device, and the second transmission includes a sound signal representing sound input via the sound input device.
Further in accordance with a preferred embodiment of the present invention, the computer system is further operable to perform at least one of the following actions: manipulating the sound signal; and playing the sound signal.
Further in accordance with a preferred embodiment of the present invention the sound comprises speech, and the computer system is operative to perform speech recognition operations on the speech.
Further in accordance with a preferred embodiment of the present invention the second transmission includes toy identification data, and the computer system is operable to identify the at least one toy based at least in part on the toy identification data.
Furthermore in accordance with a preferred embodiment of the present invention the first transmission includes toy identification data. The computer system adapts its operating mode based at least in part on the toy identification data.
Further in accordance with a preferred embodiment of the present invention, the at least one action may include: motion of the toy, motion of a portion of the toy, and/or outputting sound. The sound may be transmitted using the MIDI protocol.
There is also provided in accordance with another preferred embodiment of the present invention a gaming system including: a computer system operable to control a computer game and having a display operable to display at least one display object; and at least one toy in wireless communication with the computer system, the computer game including a plurality of game objects, and the plurality of game objects including the at least one display object and the at least one toy.
Further in accordance with a preferred embodiment of the present invention the at least one toy is operable to transmit toy identification data to the computer system, and the computer system is operable to adapt the mode of operation of the computer game based at least in part on the toy identification data.
The computer system may include a plurality of computers.
Further in accordance with a preferred embodiment of the present invention the first transmission includes computer identification data and the second transmission includes computer identification data.
Further, according to still another preferred embodiment of the present invention, there is provided a data transmission apparatus including: a first wireless device including a Musical Instrument Data Interface (MIDI) device for transmitting and receiving MIDI data between the first wireless device and a first MIDI apparatus in operation; and a second wireless device comprising a MIDI device for transmitting and receiving MIDI data between the second wireless device and a second MIDI apparatus when operated, the first wireless device being operable to transmit MIDI data including data received from the first MIDI apparatus to the second wireless device and transmit MIDI data including data received from the second wireless device to the first MIDI apparatus, and the second wireless device being operable to transmit MIDI data including data received from the second MIDI apparatus to the first wireless device and transmit MIDI data including data received from the first wireless device to the second MIDI apparatus.
Further in accordance with a preferred embodiment of the present invention the second wireless apparatus comprises a plurality of wireless devices each respectively associated with one of a plurality of MIDI devices, and each of the plurality of wireless devices of the second wireless apparatus is operable to transmit MIDI data comprising data received from the associated MIDI device to the first wireless apparatus and transmit MIDI data comprising data received from the first wireless apparatus to the associated MIDI device.
The first MIDI device may comprise a computer and the second MIDI device may comprise a toy.
Furthermore in accordance with a preferred embodiment of the present invention the first wireless device further comprises an analog interface device for receiving and transmitting analog signals between the first wireless device and a first analog means in operation; and the second wireless device further comprises an analogue interface device for, in operation, receiving and transmitting analogue signals between the second wireless device and a second analogue means, and the first wireless device further in operation transmits to the second wireless device analogue signals including signals received from the first analogue means and analogue signals including signals received from the second wireless device to the first analogue means, and the second wireless device further in operation transmits to the first wireless device analogue signals including signals received from the second analogue means and analogue signals including data received from the first wireless device to the second analogue means.
There is additionally provided in accordance with still another preferred embodiment of the present invention a method of generating control instructions for a computer controlled toy system, the method including the steps of: selecting a toy; selecting at least one command from a plurality of commands associated with the toy; and generating control instructions for the toy, the instructions including the at least one command.
Further in accordance with a preferred embodiment of the present invention the step of selecting at least one command includes: selecting a command; and specifying at least one control parameter associated with the selected command.
Furthermore, in accordance with a preferred embodiment of the present invention, the at least one control parameter includes at least one condition that depends on the result of a previous command.
Further in accordance with a preferred embodiment of the present invention at least one of the step of selecting a toy and the step of selecting at least one command includes the use of a graphical user interface.
Further in accordance with a preferred embodiment of the present invention the previous command includes a previous command associated with the second toy.
Furthermore, in accordance with a preferred embodiment of the present invention, the at least one control parameter includes an execution condition that controls execution of the command.
The execution condition may include a time at which the command is executed, and/or a time at which the command is stopped from being executed. The execution condition further includes a state of the toy.
Furthermore in accordance with a preferred embodiment of the present invention the at least one control parameter includes a command modifier which modifies execution of the command.
Furthermore, in accordance with a preferred embodiment of the present invention, the at least one control parameter includes a condition dependent upon a future event.
Further in accordance with a preferred embodiment of the present invention the at least one command includes a command for canceling a previous command.
There is also provided in accordance with yet another preferred embodiment of the present invention a signal transmitting apparatus for use with a computer, the apparatus including: a wireless transmitting device; and a signal processing device comprising at least one of the following components: an analog/digital sound converting apparatus operable to convert an analog sound signal into a digital sound signal, convert a digital sound signal into an analog sound signal, and transmit the signal between the computer and a sound device using the wireless transmitting apparatus; a peripheral control interface operable to transmit control signals between said computer and an external device using said wireless transmission apparatus; and a MIDI interface operable to transmit MIDI signals between the computer and a MIDI device using the wireless transmitting apparatus.
There is also provided in accordance with still another preferred embodiment of the present invention a computer system including: a computer; and a sound card operatively connected to the computer and having a MIDI connector and at least one analog connector, wherein the computer is operable to transmit digital signals using the MIDI connector and analog signals using the at least one analog connector.
Furthermore in accordance with a preferred embodiment of the present invention the computer is further operative to receive digital signals using the MIDI connector and analog signals using the at least one analog connector.
There is further provided in accordance with still another preferred embodiment of the present invention an advertising system including: a computer controlled toy, such as a physical toy, which is at a user location and which in operation presents advertising communiques in response to a control command; a computer which controls the toy and is associated with a network, such as the internet, and which is also operable to generate the control commands; and an advertisement server device which is associated with the network and downloads the advertisement bulletin to the computer.
There is additionally provided in accordance with yet another preferred embodiment of the present invention a computerized toy renewal ordering system operatively associated with a network, the system including: a wide variety of computerized toys associated with a network; and a toy updater associated with the network and operable to periodically send toy update information to the multiplicity of computerized toys.
Preferably, the operation of said toy updater is substantially independent of periodic intervention by a human user of said multiplicity of computerized toys.
In this application, the term "wireless" includes all forms of "wireless" communication.
Brief description of the drawings and appendix
The invention will be better understood and appreciated from the following detailed description of the invention taken in conjunction with the drawings and the appendix, in which:
FIG. 1A is a diagram in part pictorial and in part block form illustrating a computer control system including a toy constructed and operative in accordance with a preferred embodiment of the present invention;
FIG. 1B is a diagram, partly in the form of a picture and partly in the form of a square frame, illustrating a preferred implementation of the toy 122 of FIG. 1A;
FIG. 1C is a diagram in part pictorial and in part block form illustrating a computer control system including a toy constructed and operative in accordance with another preferred embodiment of the present invention;
FIGS. 2A-2C are simplified pictures illustrating a portion of the system of FIG. 1A during use;
FIG. 3 is a simplified block diagram of a preferred implementation of the computer wireless interface 110 of FIG. 1A;
FIG. 4 is a more detailed block diagram of the computer wireless interface 110 of FIG. 3;
FIGS. 5A-5D together comprise a schematic illustration of the apparatus of FIG. 4;
FIG. 5E is a schematic diagram of an alternative implementation of the device of FIG. 5D;
FIG. 6 is a simplified block diagram of a preferred implementation of the toy control device 130 of FIG. 1A;
FIGS. 7A-7F together with FIG. 5D or 5E comprise a schematic illustration of the apparatus of FIG. 6;
fig. 8A is a simplified flowchart illustrating one preferred method performed in the toy control device of fig. IA for receiving wireless signals, executing commands included therein, and transmitting wireless signals:
FIGS. 8B-8T taken together comprise a simplified flow diagram of a preferred implementation of the method of FIG. 8A;
FIG. 9A is a simplified flowchart illustrating one preferred method performed in the computer wireless interface 110 of FIG. 1A for receiving MIDI signals, receiving wireless signals, executing commands contained therein, transmitting wireless signals, and transmitting MIDI signals;
FIGS. 9B-9N taken together with FIGS. 8D-8M comprise a simplified flow diagram of a preferred implementation of the method of FIG. 9A;
10A-10C are simplified pictorial illustrations of signals transmitted between the computer wireless interface 110 and the toy control device 130 of FIG. 1A;
FIG. 11 is a simplified flow diagram illustrating a preferred method of generating control instructions for the device of FIG. 1A;
FIGS. 12A-12C are diagrams illustrating 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 the multi-port, multi-channel implementation of the computer radio 110 of FIG. 1A, which resides within the computer 100 of FIG. 1A;
FIG. 14 is a block diagram of a second subunit of the multi-port, multi-channel implementation of the computer radio 110 of FIG. 1A, which is a complementary form of the apparatus of FIG. 13 and resides within the computer 100 of FIG. 1A;
figures 15A-15E taken together form a detailed electrical schematic diagram of the toy control device of figure 6, which is suitable for the multi-channel implementation of figures 13 and 14;
FIG. 16 is a simplified flowchart illustrating a preferred method by which a computer selects a control channel pair when it is predicted that a toy is available and initiates game-limited communication over the control channel each time a toy and a transceiver of the computer's wireless interface are available;
FIG. 17 is a simplified flowchart illustrating a preferred method for implementing the "select control channel pair" step of FIG. 16;
FIG. 18A is a simplified flowchart illustrating a preferred method for implementing the "select information communication channel pair" step of FIG. 16;
FIG. 18B is a simplified flowchart illustrating a preferred method for implementing the "locate computer" step of FIG. 18A;
FIG. 19 is a simplified flow diagram of a preferred method of toy control device 130;
fig. 20 is a simplified illustration of a remote game server associated with a wireless computer controlled toy system, which may include a network computer;
FIG. 21 is a simplified flow chart illustrating operation of the network computer or computers of FIG. 20 when operating in conjunction with the remote server;
FIG. 22 is a simplified flowchart illustrating operation of the remote game server of FIG. 20;
FIG. 23 illustrates, in half picture and half block diagram form, a wireless computer controlled toy system including a proximity detection subsystem operable to detect proximity between the toy and a computer;
FIGS. 24A-24E taken together form a detailed electrical schematic diagram of a multi-channel implementation of the computer wireless interface 110 of FIG. 3, which is similar to the detailed electrical schematic diagrams of FIGS. 5A-5D, except that the form shown in FIG. 3 is multi-channel, and thus capable of supporting a full-duplex application mode, rather than a single-channel mode;
FIGS. 25A-25F taken together form a detailed schematic illustration of a computer wireless interface connected to a serial port of a computer rather than to the computer's sound card (soundboard);
FIGS. 26A-26D taken together form a detailed schematic illustration of a computer wireless interface connected to a parallel port of a computer rather than to a sound card of the computer;
FIGS. 27A-27J are flow diagrams illustrating a preferred wireless coding technique that is an alternative to the wireless coding technique described above with reference to FIGS. 8E, 8G-8M, and 10A-C;
FIGS. 28A-28K taken together form a detailed electrical schematic diagram of the multi-port multi-channel computer wireless interface subunit of FIG. 13;
FIGS. 29A-29I taken together form a detailed electrical schematic diagram of the multi-port multi-channel computer wireless interface subunit of FIG. 14;
FIG. 30 is a diagram in part pictorial and in part block form illustrating a computer control system including a toy constructed and operative in accordance with another preferred embodiment of the present invention;
FIG. 31 is a block diagram illustrating a simplified block diagram of a computer wireless interface and toy control device for use 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 pictorial partially through a block diagram illustrating a computerized network advertisement system constructed and operative in accordance with a preferred embodiment of the present invention in which a physical toy transmits advertising announcements to users of the toy;
FIG. 34 is a data transmission diagram depicting data transmission between various network service providers supporting the advertising system of FIG. 33 in accordance with a preferred embodiment of the present invention;
FIG. 35 is a pictorial and block diagram half illustrating a computerized network advertisement system constructed and operative in accordance with a preferred embodiment of the present invention in which a virtual toy delivers advertising publications to users of the toy;
FIG. 36 is a simplified flowchart illustrating a preferred mode of operation for the user PC of FIG. 34;
FIG. 37 is a simplified flowchart illustrating a preferred mode of operation for the game software server of FIG. 34;
FIG. 38 is a simplified flowchart illustrating a preferred mode of operation for the marketer/advertisement provider of FIG. 34;
FIG. 39 is a simplified flow chart illustrating a preferred mode of operation for the software maintenance center of FIG. 34;
40-58 illustrate a live Object Internet Service System (LOIS) constructed and operative in accordance with a preferred embodiment of the present invention;
appendix A is a listing of computer code for a preferred software implementation form of the methods of FIGS. 9A-9N and the methods of FIGS. 8D-8M;
appendix B is a listing of computer code for a preferred software implementation form of the method of FIGS. 8A-8T;
appendix C is a listing of computer code in a preferred software implementation of one example of a computer game for use in the computer 100 of FIG. 1;
appendix D is a listing of computer code for a preferred software implementation form of the method of FIG. 11 and FIGS. 12A-12C;
appendix E-H taken together is a listing of computer programs that make up a first DLL compatible function library (functions library); and
appendix I-O taken together is a listing of computer programs that make up a second library of functions that can be used to generate a variety of games for use with any of the computer control systems illustrated and described herein.
Description of The Preferred Embodiment
Referring now to FIG. 1A, FIG. 1A is a diagram in part of pictorial and in part block form illustrating 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 includes a computer 100, which may be any suitable computer, such as an IBM-compatible personal computer or the like. Computer 100 is equipped with a screen 105. Computer 100 is preferably equipped with a Sound card, such as Sound blast Pro card, commercially available from Creative Labs, inc.,1901McCarthy boulev, milpitant, mcacant, dao 1901, or Creative Technology ltd, Creative Technology ltd.,67AyerRajah cred #03-18, Singapore,0513, Singapore, california, and computer 100 is preferably also equipped with a hard disk and optionally a CD-ROM drive.
The computer 100 is equipped with a computer wireless interface 110, which interface 110, in operation, transmits signals by wireless transmission based on commands received from the computer 100, and, in a preferred embodiment of the invention, also receives signals transmitted by other wireless transmissions and passes these signals to the computer 100. Typically, commands sent from computer 100 to computer wireless interface 110 are sent by both analog and digital signals, with digital signals typically being sent through a MIDI port. The transmission of analog and digital signals will be described 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 wireless interface 110 will be described below with reference to fig. 3.
The system of FIG. 1A also includes one or more toys 120. The system of fig. 1A includes a plurality of toys, namely three toys 122, 124 and 126, but it is understood that alternatively only one toy or a large number of toys may be used.
Referring now to FIG. 1B, FIG. 1B illustrates the toy 122 of FIG. 1A in partial pictorial form, and partial block diagram form.
Each toy 120 includes a power source 125, such as a battery or connection to a power supply line. Each toy 120 also includes toy control devices 130 for, in operation, receiving wireless signals transmitted by computer 100 or causing each toy 120 to perform an action based on the received signals. As explained above, the received signal may be an analog signal or a digital signal. A preferred implementation of the toy control device 130 will now be described with reference to fig. 6.
Each toy 120 preferably includes a plurality of input devices 140 and output devices 150, as shown in FIG. 1B. The input device 140 may include, for example, one or more of the following components: a microphone 141, a micro-switch sensor 142; a touch sensor (not shown in FIG. 1B); a light sensor (not shown in FIG. 1B); a motion sensor 143, which may be a tilt sensor or an acceleration sensor. Suitable commercially available input devices include the following: position sensors, available from Hamlin Inc., Torrex Mils, Wis., USA, 612East Lake Lakestreet, 612, Lame Mills, WI53551, USA; motion and vibration sensors available from coomb international,263Hillside Avenue, Nutley, New Jersey07110, USA, of sield dada No. 263, New Jersey, USA; temperature, shock and magnetic sensors available from Murata electronics Ltd, Hampshire, England, MrEverest, Hadamand, England, Haemark, England; and switches commercially available from C & K Components Inc. (C & K Components Inc.,15Riverdale Avenue, Newton, 15, Darlington, 15, USA), Inc., of Del, N.C., or from Micro Switch Inc., a division of Honeywell USA, Hanibell, U.S.A.. The output device 150 may, for example, include one or more of the following components: a speaker 151; a light sensor 152; a solenoid 153 operable to move a portion of the toy; a motor, such as a stepper motor, may be operable to move a portion of the toy or all of the toy (not shown in fig. 1B). Suitable commercially available output devices include the following: direct current motors commercially available from Alcatel (Dunkermotoren), Postfach1240, D-7823, Bonndorf/Schwarzald, Germany, Bonarwed/Swork 7823, Persterfick 1240, Dunkermoden, Germany; stepper motors and micro-motors available from haydon switch and Instruments, Inc (HSI),1500Meriden Road, CT, USA, von lebury, cornetty, USA, and Instruments, HSI; and a dc solenoid commercially available from Communications Instruments, inc, p.o. box520, Fairview, North Carolina28730, USA, having a letter box number of 520.
Examples of actions that may be performed by the toy include the following: a portion of a mobile toy; moving the entire toy; or to emit a sound, which may include the following: recorded sound, synthesized sound, music including recorded or synthesized music, speech including recorded or synthesized speech.
The received signal may include: conditions for managing the action, such as the duration of the action, or the number of repetitions of the action.
Typically, the received signal portion containing the message contains a digital signal containing a command to perform a particular action, such as sounding for a given duration. The portion of the received signal containing sound typically comprises an analog signal. Alternatively, in a preferred embodiment of the invention, the part of the received signal containing sounds including music may comprise a digital signal, typically a signal containing MIDI data.
The actions that the toy may perform may also include: in response to a signal from another toy, for example, a sound monitored and transmitted by the other toy is played.
In a preferred embodiment of the present invention, the toy control device 130 is also operable to transmit a signal for the computer 100 to be received by the computer wireless interface 110. In this embodiment, the computer wireless interface 110 is also preferably operative to poll (poll) the toy control device 130, i.e., send a signal including a request for the toy control device 130 to send a signal to the computer wireless interface 110. It can be seen that polling is particularly preferred in the following cases: there are a plurality of toys having a plurality of toy control devices 130.
The signals transmitted by toy control device 130 may include one or more of the following: sound, typically sound captured by the microphone input device 141; the states of the sensor input device 140, for example, the states of a photosensor or a microswitch; an indication of power in the power supply 125; or information identifying the toy.
It can be seen that the sound signal transmitted by the device 130 can include speech. The computer system may, in operation, perform a speech recognition operation on the speech signal. Suitable commercially available software for speech recognition may be provided, for example, by the following companies: stanles Innovation Inc. of Building300, Qukender Square, Cambridge, Massa, USA (Styles Innovation Inc., One Kendall Square, Building300, Cambridge, MA02139, USA); a & G Graphics Interface, USA, with telephone number 617, 492, 0120, fax number 617, 427, 3625; "Dragon tablet for Windows dictation machine (Dragon tablet for Windows)" is available from Dragon tablet systems, Inc. (Dragon System, Inc.,320Nevada Street, MA.02160, USA) 320, Nevada Street, Massa, USA, and "SDK" is available from Lemout & Haussle Speech Products, Sint-Krispigranstat7, 8900Leper, Belgium, Lemour, Rispelt 7, Rispelt, Rivas, Inc.
The signal from the wireless control interface 110 may include, for example, one 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 cease the ignoring of input from one or more input devices 140; a request to report the status of one or more input devices 140; a request for storing data received from one or more input devices 140, such storing typically being performed by: latching the transition of the state of the one or more input devices 140 until the time comes that another signal from the wireless control interface 110 requests the toy control device 130 to send a signal containing the stored signal received from the one or more input devices 140; or a request for sending analog data, typically containing sound, typically a request to be sent within a certain time period.
Generally, all signals transmitted in both directions between the computer wireless interface 110 and the toy control device 130 include information identifying the toy.
Referring now to FIG. 1, FIG. 1C is a diagram in part pictorial and in part block form illustrating a computer control system including a toy constructed and operative in accordance with another preferred embodiment of the present invention. The system of FIG. 1C includes two computers 100. It can be seen that, in general, multiple computers 100 may be used. In the implementation of fig. 1C, all signals transmitted in both directions between computer wireless interface 110 and toy control device 130 typically include information identifying the computer.
The operation of the system of FIG. 1A will be briefly described. Typically, the computer 100 runs software that contains a computer game, which is typically a game that includes at least one animated character. Alternatively, the software may comprise educational software or any other interactive software comprising at least one animation object. As used herein, the term "animated object" includes any object that can be described on the computer screen 105 and that can interact with a user of the computer by input to the computer or output from the computer. An animated object may be any object described on the screen, such as: a doll; an action figure; a toy, such as a mobile toy, a motor vehicle, or a driving-type motor vehicle; drawing or sketching boards; or a household object such as a clock, a light fixture, a container can (chamberDot), or a piece of furniture.
Referring now additionally to fig. 2A-2C, fig. 2A-2C depict a portion of the system of fig. 1A during use. The apparatus of FIG. 2A comprises the computer 100 of FIG. 1A. Animated objects 160 and 165 are depicted on the computer screen.
Fig. 2B depicts the toy 122 after it has been placed within range of the computer wireless interface 110 of fig. 1A, typically in the same room as the computer wireless interface 110. Preferably, toy 122 corresponds to animated object 160. For example, in FIG. 2B, toy 122 and animated object 160 shown in FIG. 2A are both teddy bears. The device of fig. 2B includes a computer screen 105 on which an animated object 165 is depicted. The apparatus of fig. 2B also includes a toy 122. Computer 100 has a message received from toy 122 via computer wireless interface 110 and computer 100 no longer displays animated object 160 corresponding to toy 122. The functions of animated object 160 are currently performed by toy 122, under the control of computer 100, through computer wireless interface 110 and toy control device 130.
Fig. 2C depicts the situation after toy 126 has been placed within range of computer wireless interface 11O of fig. 1A, typically in the same room as computer wireless interface 110. Preferably, the toy 126 corresponds to the animated object 165. For example, in FIG. 2C, the toy 126 and the animated object 166 shown in FIGS. 2A and 2B are both clocks. The device of fig. 2C includes a computer screen 105 on which no animation objects are depicted.
The apparatus of fig. 2C also includes a toy 126. The computer 100 has a message received from the toy 126 via the computer wireless interface 110 and the computer 100 no longer displays the animated object 165 corresponding to the toy 126. The functions of the animated object 165 are currently performed by the toy 126, under the control of the computer 100, through the computer wireless interface 110 and the toy control device 130.
In FIG. 2A, a user typically interacts with animated objects 160 and 165 on a computer screen using conventional methods. In fig. 2B, the user also interacts with toy 122, while in fig. 2C, it generally interacts with toys 122 and 126, respectively, rather than with animated objects 160 and 165. It can be seen that the user may interact with toys 122 and 126 in the following manner: a mobile toy or a part of a toy; speaking with the toy; responding to the movement of the toy that moves in response to the signal received from computer 100; in response to sounds emitted by the toy, the sounds are generated in response to signals received from computer 100 and may include music, speech, or another sound, or otherwise.
Referring now to FIG. 3, FIG. 3 is a simplified block diagram of a preferred embodiment of the computer wireless interface 110 of FIG. 1A. The apparatus of fig. 3 includes a computer wireless interface 110. The device of fig. 3 also includes a sound card 190, as described above with reference to fig. 1A. In fig. 3, the connection between the computer wireless interface 110 and the sound card 190 is shown.
The computer wireless interface 110 comprises a Direct Current (DC) unit 200, which DC unit 200 is fed with power from a sound card MIDI interface 194 through a MIDI interface 210, said computer wireless interface 110 further comprising the following interfaces: a MIDI interface 210 connected to the sound card MIDI interface 194; an audio interface 220 connected to the audio interface 192 of the sound card 190; an auxiliary audio interface 230, preferably connected to a stereo system, is used to produce high quality sound under control of software running on the computer 100 (not shown).
The apparatus of figure 3 further comprises an antenna 240, the antenna 240 being operable to transmit and receive signals between the computer wireless interface 110 and the one or more toy control devices 130.
Fig. 4 is a more detailed block diagram of the computer wireless interface 110 of fig. 3. The apparatus of fig. 4 includes a direct current unit 200, a MIDI interface 210, an audio interface 220, and an auxiliary audio interface 230. The device of fig. 4 further comprises a multiplexer 240, a microcontroller 250, a wireless transceiver 260, a connection unit 270 connecting the wireless transceiver 260 to the microcontroller 250, and a comparator 280.
Referring now to fig. 5A-5D, fig. 5A-5D taken together comprise a schematic illustration of the apparatus of fig. 4.
The following is a list of preferred components of the apparatus of FIGS. 5A-5C:
k1 Relay department (Relay Dept), Idec, for example, SanneWille, Eleko express Lane 1213 (specific addresses: 1213ElcoDrive, Sunnyvale, Calif.94089-2211, USA.)
U18751 microcontroller, available from Intel Corporation, Santa Clara, Calif., USA (specific addresses: San Tomas4,2700Sun Tomas express, 2nd Floor, Santa Clara 95051, Calif., USA).
U2CXO-12MHZ (Crystal Oscillator), available from Raltron, Miami, FL33172, USA, Mitsu, et al, incorporated by reference
U4MC33174, available from Motorola, Inc. (Phoenix, AZ USA), located in Sonex, Rinslina, USA, and having the telephone number: (602)897-5056
5. Diode 1N914, supplied by Motorola, inc (Motorola), Phoenix, USA, having the telephone number: (602)897-5056
6. Transistors 2N2222 and MPSA14, supplied by Motorola, inc (Motorola), Phoenix, USA, having the telephone number: (602)897-5056
The following is a list of preferred components of the apparatus of FIG. 5D:
u1 SILRAX-418-A UHF Wireless telemetry receiver Module, available from Ginsburg Electronic GmbH, Inc., located in Amm Musfield 85, Mannich 81829, Germany (addresses: Am Moosfeld85, D-81829, Munchen, Germany)
Alternatively, U1 of fig. 5D may be replaced by:
U1433.92MHz receiver Module part number 0927, available from CEL sales Inc. (CEL SALES LTD.), located in Holsoul, West Miland, UK, at Buumsley City, St.Scott.Stat shade of trade Property Buumsey, 6 th Block, 2 nd Unit, Cel House (addresses specifically: Cel House, Unit2, Block6, Shenstone tracking EST Broms-grove, Halesown, West Midlands B363 XB, UK)
U2 TXM-418-A Low Power UHF Wireless telemetry Transmission Module, available from Ginsburg Electronic GmbH, located in Amm Musfield 85, Mancheng, Germany, 81829 (specific addresses: Am Moosfe1D85, D-81829, Munchen, Germany) or U2 of FIG. 5D can be replaced by:
U2433.92 SIL FM transmitter module, part number 5229, available from CEL sales Inc. (CEL SALES LTD.) located in Holsowen, West Mikana, UK, at Buumseudo, the trade property of Santa Stauton, street 6, cell 2, Cel premises (addresses specifically: Cel House, Unit2, Block6, Shenstone trade station Broms-grove, Halesown, West Midlands B363 XB, UK)
Reference is now additionally made to fig. 5E, which is a schematic illustration of an alternative embodiment of the apparatus of fig. 5D. The following is a list of preferred components of the apparatus of FIG. 5E:
u1BIM-418-F Low Power UHF data Transceiver Module, available from Ginsburg Electronic GmbH, Inc., located in Amm Musfield 85, Mannheim, Germany, 81829 (specific addresses: Am Moosfeld85, D-81829, Munchen, Germany)
Or,
U1S20043 spread-spectrum full-duplex transceiver, available from AMI Semiconductors-American Microsystems Inc., located in Idaho, USA
Or,
u1SDT-300 composite transceiver, available from Japanese Circuit design Inc. (Circuit design, Inc., Japan)
Alternatively, U1 may be replaced by:
u1 RY3GB021 RF 900Mhz Unit, available from Sharp ELECTRONICs component GROUP (SHARP ELECTRONIC COMPONENTS GROUP), located in Washington, Calmos, Pacific Rim Boulevard # 20, Gamas, Washington, USA, Norwester 5700 (specific addresses: 5700Northwest, Pacific Rim Boulevard # 20)
U1 RY3GB100RF detection unit, available from SHARPELECTRONIC COMPONENTS GROUP, located in Carmus, Washington, Pacmc Rim Boulevard # 20, Gamas, Washington, USA, can use item 1 or one of the alternatives item 1 for U1 in the parts list of FIG. 5E. It will be seen that all of the circuit boards of the alternative embodiments of the device may be suitably modified.
The apparatus of fig. 5E has similar functionality to the apparatus of fig. 5D, but with higher this bit rate transmission and reception capability, and is more preferred when transmitting and receiving MIDI data, for example.
Fig. 5A-5E are self explanatory with respect to the above list of components.
Referring now to fig. 6, fig. 6 is a simplified block diagram of a preferred embodiment of the toy control device 130 of fig. 1A. The apparatus of fig. 6 includes a wireless transceiver 260, similar to the wireless transceiver 260 of fig. 4. The device of fig. 6 also includes a Microcontroller (MCU)250, similar to the microcontroller 250 of fig. 4.
The apparatus of fig. 6 also includes a digital input/output interface (digital I/O interface) 290 that is operable to provide an interface between the microcontroller 250 and a plurality of input and output devices, e.g., 4 input devices and 4 output devices may be connected to the interface 290. A preferred implementation of digital I/O interface 290 will be described in more detail below with reference to fig. 7A-7F.
The apparatus of fig. 6 further comprises an analog input/output interface (analog I/O interface) 300 operatively connected to the wireless transceiver 260 and operable to receive signals from the wireless transceiver 260 or to transmit signals to the wireless transceiver 260.
The apparatus of fig. 6 also includes a multiplexer 305 for, in operation, providing an output to the analog I/O interface 300 only when an analog signal is transmitted by the wireless transceiver 260 in response to a signal from the microcontroller 250 and passing an input from the analog I/O interface 300 only when the input is required.
The apparatus of fig. 6 further comprises an input device 140 and an output device 150. In fig. 6, for example, the input device 140 includes: 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 can be seen that a wide variety of input devices 140 may be employed.
In fig. 6, for example, the output device 150 includes: 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 can be seen that a wide variety of output devices 150 can be employed.
The apparatus of fig. 6 further comprises a dc controller 310, a preferred implementation of which will be described in more detail below with reference to fig. 7A to 7F.
The apparatus of fig. 6 also includes a comparator 280, similar to the comparator 280 of fig. 4.
The apparatus of fig. 6 also includes a power source 125, shown by way of example in fig. 6 as a battery, which is operable to provide electrical power to the apparatus of fig. 6 via a dc controller 310.
Referring now to fig. 7A-7F, taken together with fig. 5D or 5E, comprise a schematic illustration of the apparatus of fig. 6. If the schematic configuration of FIG. 5E is used to implement the computer wireless interface of FIG. 4, RY3GB021 is employed as U1 of FIG. 5E, and then the toy control device of FIG. 6 is preferably implemented using the same schematic configuration as FIG. 5E, with the special feature that RY3GH021 is used to implement U1 instead of RY3GB 021.
The following is a list of preferred components of the apparatus of FIGS. 7A-7F:
u18751 microcontroller, available from Intel Corporation, Santa Clara, Calif., USA (specific addresses: San Tomas4,2700Sun Tomas express, 2nd Floor, Santa Clara 95051, Calif., USA).
U2 LM78L05, available from National Semiconductor corporation (National Semiconductor), located in Santa Clara, Calif., USA, Series Kenkard express Lane No. 2900 (addresses specifically: 2900Semiconductor Drive, Santa Clara, CA95052, USA)
U3 CXO-12MHZ (Crystal Oscillator), available from Raltron, Miami, Mitsu, Inc., Mitsu, U.S. Pat. No. 3, U3 CXO-12MHZ, located in Mitsu, U.S. A. of Florida, USA
U4 MC33174, available from Motorola, Inc. (Phoenix, AZ USA), having the telephone number: (602)897-5056
U5 MC34119, available from Motorola, Inc. (Motorola), Phoenix, USA, in Rilina, USA, with the telephone number: (602)897-5056
U64066, supplied by Motorola, Inc. (Phoenix, AZ USA), located in Rilina, USA, with the telephone number: (602)897-5056
7. Diodes 1N914,1N4005, supplied by Motorola, inc (Motorola), Phoenix, USA, having the telephone number: (602)897-5056
8. Transistors 2N2222,2N3906, supplied by Motorola, inc (Motorola), Phoenix, USA, having the telephone number: (602)897-5056
9. Transistor 2N2907, MPSA14, was supplied by Motorola (Motorola) having a telephone number of Phoenix, AZ USA in arizona: (602)897-5056
Fig. 7A-7E are self explanatory with respect to the above list of components.
As described above with reference to fig. 1A, the signals transmitted between the computer wireless interface 110 and the toy control device 130 may be analog signals or digital signals. In the case of a digital signal, the digital signal preferably comprises a plurality of predefined messages, which are known to both the computer 100 and the toy control device 130.
Each message sent by the computer wireless interface 110 to the toy control device 130 includes an indicator of the intended recipient of the message. Each message sent by toy control device 130 to computer wireless interface 110 includes an indicator of the sender of the message.
In the embodiment of FIG. 1C described above, the messages may also include the following:
each message sent by the computer wireless interface 110 to the toy control device 130 includes an indicator of the sender of the message; and
each message sent by toy control device 130 to computer wireless interface 110 includes an indicator of the intended recipient of the message.
The preferred set of predefined messages is as follows: command structure
Command list from computer TO toy control device A. output command SET _ IO _ TO _ DATA
Setting the toy control device output pin to digital level 0P: computer address 00-03 HA: unit address 00-FF HIO i/o number 00-03 HD: data 00-01H example 1.0100 0 0 05000103010000 setting io3 to "1" 2.0100 0 0 0 5000103000000 set IO3 to "0" CHANGE _ IO _ FOR _ TIME
The toy control device output pin is changed to D for a period of time and then returned to the previous state. P: computer address 00-03 HA: unit address 00-FF HIO i/o number 00-03 HT1. T2: time 00-FF HD: data 00-01H example: 1.010 0 0 0 0 5000203050000 sets io3 to "1" B. input command SEND _ STATUS _ OF _ SENSORS in 5 seconds
The toy control status of all sensors is transmitted. P: computer address 00-03 HA: unit Address 00-FF H example: 1.0100 0 0 0 5010000000000 sends the present status Sensors _ SCAN _ MODE _ ON of each sensor
The toy control device sensors are initially scanned and, if one of the sensors is turned off (set to "0"), an acknowledgement signal is returned. P: computer address 00-03 HA: unit Address 00-FF H example: 1.01000005010100000000 the scanning MODE of the sensor is "ON" SENSORS _ SCAN _ MODE _ ON _ ONCE
The toy control device sensors are initially scanned and if one of the sensors is turned off (set to "0"), an acknowledgement signal is returned and scanning of the sensor is then inhibited. P: computer address 00-03 HA: unit address 00-FF H1.0100 0 0 0 5010200000000 the SCAN MODE of the sensor is "ON" SENSORS _ SCAN _ MODE _ OFF once
The toy control device sensor stops scanning. P: computer address 00-03 HA: unit Address 00-FF H example: 1.010 0 0 0 0 5010300000000 sensor scan mode is "OFF" C. Audio output command START _ AUDIO _ PLAY
The audio content begins to play in the speakers of the toy control device. The audio content is sent to the toy control device by the computer sound card and the computer audio interface. P: computer address 00-03 HA: cell address 00-FF H1.01000005020000000000 KelvinStart Audio Play STOP _ AUDIO _ PLAY
The audio content is stopped from playing in the speakers of the toy control device. P: computer address 00-03 HA: unit address 00-FF H1.0100 0 0 0 5020100000000 stop AUDIO PLAY STAR _ AUDIO _ AND _ IO _ PLAY _ FOR _ TIME
The audio content begins to play in the speakers of the toy control device and the io pin is set to '1'. After time T, stop audio playback and set IOTo '0', the command is initiated after a delay equal to 100ms, and if SC = "1", after execution of the command, the command SCAN _ SENSORS _ ON _ ONCE starts to be entered (if any sensor is pressed, a message is sent to the computer even during audio playback). P: computer address 00-03 HA: cell address 00-FF HIO I/O numbers 0-3H (IO is not set if IO > 3) T0, T1, T2: time 000-FFFH (× 100ms) (T0= MMSB, T1MSB, T0= LSB) TD: delay time before execution 0-F H ( *100ms) 1.010000050204802A 0300 begins audio playback and IO # 3 within 6.45
| Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 | Byte 9 | ||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | |||
| Dat1msb | Dat11sb | Dat2msb | Dst21sb | Dat3msb | Dat31sb | ||||||||
| 8 bit | 2 position | 6 bit | 8 bit | 8 bit | 8 bit | 8 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 8 bit |
| Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 | Byte 9 | ||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | |||
| Dat1msb | Dat11sb | Dat2msb | Dat21sb | Dat3msb | Dat31sb | ||||||||
| 8 bit | 2 position | 6 bit | 8 bit | 8 bit | 8 bit | 8 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 8 bit |
| 01 | P | 00 | 00 | A | 00 | 01 | 00 | IO | 00 | D | x | x | |
| Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 | Byte 9 | ||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | |||
| Dat1msb | Dat11sb | Dat2msb | Dat21sb | Dat3msb | Dat31sb | ||||||||
| 8 bit | 2 position | 6 bit | 8 bit | 8 bit | 8 bit | 8 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 8 bit |
| 01 | P | 00 | 00 | A | 00 | 02 | 00 | IO | 00 | D | T1 | T2 | |
| Byte |
| 0 |
| | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 01 | 00 | x | x | x | x | x | x |
| Byte |
| 0 | | | | | | | | Byte(s)8 | | ||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | |||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | ||||||||
| 8 | 2 | 6 | 8 | 8 |
8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit |
| 01 |
| 00 | 00 |
| 01 | 01 | x | x | x | x | x | x |
| | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 01 | 02 | x | x | x | x | x | x | ||
| | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 01 | 03 | x | x | x | x | x | x | ||
| Byte |
| 0 | | | | | | | |
| | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 02 | 00 | x | x | x | x | xx | xx |
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 | | 00 | 00 | | 02 | 01 | x | x | x | x | x | x |
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 |
6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 02 | 04 | T1 | T2 | T0 | 1d | SC | IO |
6.10=2BOH
Delay before execution =10 × 100ms =1 sec2.010000050204802a 1400 starts audio playback and IO # 3 within 6.45, and sets the scan sensor to the one-time "ON" mode.
Delay before execution =10 × 100ms =1secd
The toy control device is requested to transmit microphone audio content from the toy control device to the computer audio interface and the sound card of the computer for a time T. P: computer address 00-03 HA: cell address 00-FF HT1, T2: time 00-FF H (SEC) example: 1.010 0 0 0 0 503000A 000000 start mic MODE E.GENERAL TOY COMMAND GOTO _ SLEEP _ MODE in 10s
The toy control device is requested to enter a power saving mode (sleep). P: meterComputer address 00-03 HA: unit address 00-FF H1.0100 0 0 0 504010100000000 switching the toy control device to sleep MODE GOTO _ AWAKE _ MODE
The toy control device is requested to enter a wake mode. P: computer address 00-03 HA: unit address 00-FF H1.0100 0 0 0 5040200000000 switch the toy control device to a wake mode. TOY _ RESET
The toy control device is requested to perform a "reset". P: computer address 00-03 HA: unit address 00-FF H1.0100 0 0 0 5The 010F 00000000 toy resets. TOY _ USE _ NEW _ RF _ CHANNELS
Requesting the toy control device to switch to a new RF transmit and receive channel. P: computer address 00-03 HA: cell address 00-FF HCH 1: number of transmit RF channels 0-F HCH 1: number of received RF channels 0-F H1.010.0100 0 0 0 5040 a 12000000 switches to the new receive and transmit RF channels. Note that: the present command may be used only for the enhanced radio module (or U1 of fig. 5E) or for the modules depicted in fig. 15A-15E and 24A-24E. The message sent by the toy control device as a confirmation message to the command received from the computer wireless interface. OK _ ACK
An acknowledgement signal is sent back indicating that the received command was successful. P: computer address 00-03 HA: unit address 00-FF Hcmd1, 2: received command MSB success acknowledgementIdentifying 00-FF Hcmd3, 4: the received command LSB successfully acknowledges 00-FF Hsen1, 2: sensor 0-7 State 00-FF H1.0160 00050 a 000101 FF 00 for successful acknowledgement of 0101 command (sensor scan mode on command).
| Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 | Byte 9 | ||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | |||
| Dat1msb | Dat11sb | Dat2msb | Dat21sb | Dat3msb | Dat31sb | ||||||||
| 8 bit | 2 position | 6 bit | 8 bit | 8 bit | 8 bit | 8 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 8 bit |
| 01 | P | 00 | 00 | A | 03 | 00 | T1 | T2 | x | x | x | x | |
| Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 | Byte 9 | ||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | |||
| Dat1msb | Dat11sb | Dat2msb | Dat21sb | Dat3msb | Dat31sb | ||||||||
| 8 bit | 2 position | 6 bit | 8 bit | 8 bit | 8 bit | 8 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 8 bit |
| 01 | 1 | 00 | 00 | A | 04 | 01 | x | x | x | x | x | x | |
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 |
4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 04 | 02 | x | x | x | x | x | x |
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 04 | 0F | x | x | x | x | x | x |
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 00 |
| 00 | 00 |
| 04 | 0A | C111 | C112 | x | x | x | x |
| Byte |
| 0 | | | | | |
| | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 |
2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 0A | 0 0 | cmd1 | cmd2 | Cmd3 | Cmd4 | sen1 | sen2 |
The state is as follows: all sensors are not pressed (FF)
The number of computer wireless interfaces is 62.010000050 a 000101 FE 00 for successful acknowledgement of 0101 commands (sensor scan mode on command).
The state is as follows: sensor # 8 pressed (FE)
Request transmitted by the toy control device after an event, the number of computer wireless interfaces being 6 e. TOY _ IS _ AWAKE _ REQ
If the toy control device goes from sleep mode to awake mode, a message is sent to the computer wireless interface. P: computer address 00-03 HA: cell address 00-FF Hc1, c 2: state command AB H1.0160 0 0 0 S 0A 00 AB 00 FF 00 toy wake message. Cri (computer wireless interface) command is a command sent only to the computer wireless interface. SWITCH _ AUDIO _ OUT _ TO _ RADIO _ &_TRANSMIT
Requesting the computer wireless interface to switch the "audio output" from the computer sound card to the wireless transceiver and transmit. P: computer address 00-03 HSWITCH _ AUDIO _ OUT _ TO _ JACK \&_STOP_TRANSMIT
Requesting the computer wireless interface to switch the "audio output" from the wireless RF wireless transceiver to the speaker jack and stop transmitting. P: computer address 00-03 HMUTE _ RADIO
Muting radio transmission P: CRI-ACK "acknowledge" signal is sent to the computer only by the computer wireless interface, only after the CRI command, at the computer address 00-03 hg. CRI _ COMMAND _ ACK
This is an acknowledgement signal for the CRI command that is sent by the computer wireless interface to the computer only after a command is successfully executed. P: computer address 00-03 Hcmd1, 2: the received CRI commands the MSB to acknowledge successfully. 00-FF Hcmd3, 4: the received CRI commands the LSB to acknowledge successfully. 00-FF H1.016 0 0 0 0 00D 000C 010000 acknowledges (switches audio output to jack) successfully for the 0C01 CRI command.
| Byte |
| 0 | | | Byte(s)3 | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 0A | 0 0 | c1 | c2 | x | x | x | x |
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 |
8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 | x | 0C | 00 | x | x | x | x | x | x |
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 | x | 0C | 01 | x | x | x | x | x | x |
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 | x | 0C | 02 | x | x | x | x | x | x |
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 |
4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 | x | | 00 | cmd1 | cmd2 | cmd3 | cmd4 | x | x |
The number of computer wireless interfaces is 6. 2.016000000D 000C 0F 0000 was successfully acknowledged (CRI reset) for the 0C0F CRI command.
The number of computer wireless interfaces is 6.
The acknowledge signal is also sent to the power-on reset UN-MUTE-RADIO
Wireless transmissions are unmuted. CRI _ RESET
A software reset is performed on the computer wireless interface unit. P: computer address 00-03H
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMO1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dar2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 |
4 | 4 | 4 | 4 | 4 | 4 | 8 | |
| 01 | 00 | 00 | 00 | x | 0C | 03 | x | x | x | x | x | x |
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 | |
| 01 | 1’ | 00 | 00 | x | 0C | 0F | x | x | x | x | x | x |
Referring now to fig. 8A, fig. 8A is a simplified flow diagram illustrating one preferred method performed in the toy control device 130 of fig. 1A for receiving wireless signals, executing commands included therein, and transmitting wireless signals. Typically, each message as described above contains a command, which may include a command for processing information also contained in the message. The method of FIG. 8A preferably includes the following steps:
a synchronization signal or preamble is detected (step 400). A title is detected (step 403).
A command contained in the signal is received (step 405).
The command included in the signal is executed (step 410). The execution of the command may be as described above with reference to FIG. 1A.
A signal is sent containing a command intended for the computer wireless interface 110 (step 420).
Referring now to FIGS. 8B-8T, FIGS. 8B-8T taken together comprise a simplified flow diagram of a preferred implementation of the method of FIG. 8A. The method of fig. 8B-8T is clearly illustrated in the figures and need not be explained further.
Referring now to FIG. 9A, FIG. 9A is a simplified flowchart illustrating a preferred method for receiving MIDI signals, receiving wireless signals, executing commands contained therein, transmitting wireless signals, and transmitting MIDI signals, performed in computer wireless interface 110 of FIG. 1A. Some of the steps in fig. 9A are the same as those in fig. 8A described above. FIG. 9A also preferably includes the following steps:
a MIDI command is received from computer 100 (step 430). The MIDI command may comprise a command intended to be sent 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 commands may comprise a signal received from the toy control device 130, may comprise a response to a MIDI command previously received from the computer 100 by the computer wireless interface 110, or may comprise general commands.
The commands contained in the MIDI commands or in the received signals are executed (step 450). In the case of a received signal, the execution of the command may include reporting the command to the computer 100, whereby the computer 100 may typically perform any suitable action under program control, such as changing a screen display or performing any other suitable action in response to the received command. In the case of a MIDI command received from computer 100, execution of the command may include sending the command to toy control device 130. Execution of a MIDI command may also include switching the audio output of computer control device 110 between auxiliary audio interface 230 and wireless transceiver 260.
Normally, an auxiliary audio interface 230 is directionally coupled to audio interface 220 for maintaining a connection between the computer sound card board and peripheral audio devices, such as speakers, microphones, and stereo systems.
Referring now to fig. 9B-9N, and with additional reference back to fig. 8D-8M, all taken together, comprise a simplified flow diagram of a preferred implementation of the method of fig. 9A. The method of fig. 9B-9M is clearly illustrated in conjunction with fig. 8D-8M without further explanation.
Referring now to fig. 10A-10C, fig. 10A-10C are simplified pictorial illustrations of signals transmitted between the computer wireless interface 110 of fig. 1A and the toy control device 130. Fig. 10A includes a synchronized preamble. The duration T _ SYNC of the synchronized preamble is preferably.500 milliseconds and is preferably substantially equally divided into on and off components.
Fig. 10B includes a signal representing a bit having a value of 0, and fig. 10C includes a signal representing a bit having a value of 1.
It can be seen that fig. 10B and 10C refer to the case of using the apparatus of fig. 5D. In the case of the device of fig. 5E, functionality corresponding to the functionality (functionality) described in fig. 10B and 10C is provided within the device of fig. 5E.
Preferably, each bit is assigned a predetermined duration T, which is the same for each bit. The frequency modulated carrier is transmitted using a frequency modulation keying method well known in the art. An "off" signal (typically less than 0.7 volts), represented at terminal 5 of U2 in fig. 5D, enables transmission at frequencies below the median channel frequency. An "on" signal (typically greater than 2.3 volts), shown at terminal 5 of U2 in fig. 5D, enables transmission at frequencies above the median channel frequency. These signals are received by respective receivers U1. The output signal from pin 6 of U1 is fed to a comparator 280 in fig. 4 and 6, respectively, which comparator 280, when operating, determines whether the received signal is "off" or "on".
The comparator contained in U1 may also be used as such: pin 7 of U1 in fig. 5D is connected through pin 6 of connector J1 in fig. 5D, pin 6 of connector J1 in fig. 5A, through a jumper (jumper) and then to pin 12 of U1 in fig. 5A.
Preferably, the omission is less than 0.01 for a duration of time*Reception of a signal or spike (spike) of T. For a duration of 0.01*T and 0.40*The reception of the "on" signal shown in fig. 10B between T is preferably received as a bit having a value of 0. For a duration greater than 0.40 *The reception of the "on" signal of T shown in fig. 10C is preferably received as a bit having a value of 1. Typically, T has a value of 1.0 msec.
Furthermore, after receiving an "on" signal, the duration of a subsequent "off signal is measured. The sum of the duration of the "on" and "off signals must be between 0.90T and 1.10T for the bits to be considered valid. Otherwise, the bit is treated as invalid and ignored.
Referring now to FIG. 11, FIG. 11 is a simplified flowchart illustrating a method of generating control instructions for the device of FIG. 1A. The method of FIG. 11 preferably includes the steps of:
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 and 580). Alternatively, a command may be entered by selecting, modifying, and creating a new binary command (step 585).
Generally, the selection of a command in steps 560 and 580 may include: a command is selected and one or more control parameters associated with the command are specified. A control parameter may, for example, comprise a condition that depends on the result of a previous command, which may be related to the selected toy or to another toy. A control parameter may also include an execution condition governing execution of the command, such as: a condition for expressing that a specific output is to occur according to a state of the toy, i.e., if and only if a specific input is received; a condition for stating that the command is to be executed at a particular time; a condition for stating that the command is to stop at a particular time; a condition comprising a command modifier for modifying the execution of the command, e.g. terminating the execution of the command if the execution of the command lasts for a certain period of time; a condition that depends on the occurrence of a future event; or another condition.
The command may include a command to cancel a previous command.
The output of the method of FIG. 11 typically contains one or more control instructions for implementing the particular command generated in step 590. Typically, the one or more control instructions are contained in a command file. Typically, the command file is called from a driver program that 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 employs a computer having a graphical user interface to perform steps 550 and 560. Referring now to fig. 12A-12C, fig. 12A-12C are diagrams illustrating a preferred embodiment of a graphical user interface implementation of the method of fig. 11.
Fig. 12A includes a toy selection area 600, the toy selection area 600 including a plurality of toy selection icons 610, each icon representing a toy. A user of the graphical user interface of fig. 12A-12C typically selects one of the toy selection icons 610 that indicates that a command is assigned to the selected toy.
Fig. 12A also generally includes an action button 620, where the action button 620 generally includes one or more of the following:
A button that allows a user (typically an expert user) to enter a direct binary command for implementing a high-level or particularly complex command that would otherwise not be available through the graphical user interface of fig. 12A-12C;
a button that allows the user to install a new toy, with which a new toy selection icon 610 can be added; and
allowing the user to exit a button of the graphical user interface of fig. 12A-12C.
Fig. 12B depicts a command generator screen that is typically displayed after the user has selected one of the toy selection icons 610 of fig. 12A. Fig. 12B includes: an animation area 630, the animation area 630 preferably containing a descriptor of the selected toy selection icon 610; and a text field 635, the text field 635 containing text describing the selected toy.
FIG. 12B also contains a plurality of command category buttons 640, each of which allows the user to select a category of commands, such as: outputting a command; inputting a command; an audio input command; an audio output command; and general commands.
Fig. 12B also includes a cancel button 645 for canceling the command selection and returning to the screen of fig. 12A.
FIG. 12C includes a command selection area 650 that allows the user to specify a particular command. A variety of commands may be specified, and the various commands described in fig. 12C are shown by way of example only.
FIG. 12C also contains a filename field 655, where the user may specify the filename that is to receive the generated control commands. Fig. 12C also includes a cancel button 645, similar to the cancel button 645 of fig. 12B. Fig. 12C also includes a make button 660. When the user actuates the production button 660, the control instruction generator of fig. 11 generates control instructions implementing the selected commands for the selected toy and writes these control instructions to the designated file.
FIG. 12C also includes a parameter selection field 665 where the user can specify parameters associated with the selected command.
Referring now to appendix A, which is a listing of computer code in a preferred software implementation form of the method of FIGS. 8A-8T.
Appendix A is an INTEL hexadecimal (hex) format file. In each row, the data byte starts with the character number 9. Each byte is represented by 2 characters. The last byte (2 characters) in each row should be ignored.
For example, for a sample row: the original row reads: 07000000020100020320329F, data byte 02010002032032(02,01,00,02,03,20,32), the start address of the data byte 0000(00,00), appendix a can be programmed into the memory of microcontroller 250 of fig. 6.
Appendix B is a listing of computer code in a preferred software implementation form of the methods of FIGS. 9A-9N and FIGS. 8D-8M.
Appendix B is an INTEL hexadecimal (hex) format file. In each row, the data byte starts with the character number 9. Each byte is represented by 2 characters. The last byte (2 characters) in each row should be ignored.
For example, for a sample row: the original row reads: 070000000201000205a73216, data byte 0201000205a732(02,01,00,02,05, A7,32), the starting address of which is 0000(00,00), appendix B can be programmed into the memory of the microcontroller 250 of fig. 4.
Appendix C is a listing of computer code in a preferred software implementation of one example of a computer game for use in the computer 100 of FIG. 1.
Appendix D is a listing of computer code in a preferred software implementation of the method of FIG. 11 and FIGS. 12A-12C.
For appendices C and D, these programs were developed using VISUAL BASIC. To run these programs, the VISUAL BASIC environment needs to be installed first. The application requires visual basic client control for performing MIDII/O similar to what is called midivbx. VIUALBASIC is manufactured by Microsoft Corporation (Microsoft Corporation), Inc. of Redmond, Washington, Inc. microsoftway number 1 (One Microsoft Way, Redmond, WA98052-6399, USA). VBX can be provided by Wayne Radinsky, with an email address of: a-wayner @ microsoft.
The steps for programming the microcontroller of the present invention include the use of a general purpose Programmer such as Universal Programmer, type EXPRO60/80, which is manufactured by Sun Electronics Co.Ltd, Taipei, Japan.
The steps for programming the microcontroller with the annex a and B data include the steps of:
1. exe, to which program expo 60/80 is provided.
2. EDIT/VIEW options are selected from the main menu.
3. The EDIT BUFFER option is selected.
4. The character string E0000 is input.
5. The relevant data (given in appendix a or B) is entered in byte-by-byte form, starting from address 0000. In each row, there is a new start address for each data byte present in the row.
6. The ESC is pressed.
7. The letter Q is input.
8. DEVICE option is selected from the main menu.
9. The MPU/MCU option is selected.
10. The INTEL option is selected.
11. Select 87C 51.
12. The RUNFUNC option is selected from the main menu.
13. The PROGRAM option is selected.
14. The 87C51 chip was placed in the slot of the programmer.
15. Enter Y and wait until an OK message appears.
16. The chip is now ready to be mounted on a circuit board.
The method for creating a related file for the computer 100 using the data of appendices C and D includes using HEX edit, which is capable of editing DOS formatted files. A typical HEX and ascii editor is manufactured by Martin doppler boolean, located in domont, germany, at the specific addresses: am spoerkel17,44227dortmund, Germany, UET401, having an email address of: undizozr. uni-dortmund. de.
The steps necessary to create a file with a HEX editor (such as the Martin Koppelbauer editor) include the following steps:
1. any DOS file is copied to a new file with the desired name, with the extension of.exe (e.g., write COPY auto exec. bat toy1. EXE).
2. Run program me.exe.
3. The letter L is pressed from the main menu (load file).
4. The new file (e.g., TOY1.EXE) is written to the main menu.
5. The letter is pressed (inserted) from the main menu.
6. The relevant data (data written in appendix C or D) is input in byte-by-byte form, starting from address 0000.
7. The ESC is pressed.
8. The letter W is entered from the main menu (write file).
9. Press RETURN key and exit from editor by pressing letter Q.
The embodiment of FIG. 1C described above includes a descriptor of a preferred set of predetermined messages, the predetermined messages
Messages include a category called "General commands". Other general terms
The order is defined by the following descriptors: multi-port COMMAND AVAILABILITY _ INTERROGATION _ COMMAND
The computer sends the command to verify that the wireless channel is idle. If another computer has used the command, it responds with an availability response command. If no response is received within 250ms, the channel is considered idle. P: computer address 00-03 HA: unit address 00-FF HAVABILITY _ RESPONSE _ COMMAND
The computer sends the command in response to the available interrogation command to announce that the wireless channel is being used. P: computer address 00-03 HA: unit address 00-FF HTOY _ AVAILABILITY _ COMMAND
The toy sends the command to announce its presence and in response receives a channel pair selection command specifying the computer controlling it and the wireless channel to be used. P: computer address 00-03 HA: unit addresses 00-FF HCHANNEL _ PAIR _ SELECTION _ COMMAND
The computer sends the command in response to the toy availability command to inform the toy that the wireless channel is being used. P: computingMachine address 00-03 HA: cell address 00-FF HCH 1: toy transmit channel 0-F HCH 1: toy receive channel 0-F H
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 04 | 05 | 00 | 00 | 00 | 00 | x | x |
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 04 | 06 | 00 | 00 | 00 | 00 | x | x |
| Byte |
| 0 | | | | | | | | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 04 | 07 | 00 | 00 | 00 | 00 | x | x |
| Byte |
| 0 | | | | | | | Byte(s)7 | | | |||||
| Header | PCadd | Unit # A-sb | Unit # B-sb | Unit # C-sb | CMDmsb | CMD1sb | -8 bit- | -8 bit- | -8 bit- | CRC | ||||
| Dat1msb | Dat11sb | Dat2msb |
| Dat3msb | Dat31sb | |||||||||
| 8 | 2 | 6 | 8 | 8 | 8 | 8 | 4 | 4 | 4 | 4 | 4 | 4 | 8 bit | |
| 01 |
| 00 | 00 |
| 04 | 08 |
| C112 | 00 | 00 | x | x |
In fig. 13 and 14, block diagrams of a multi-port multi-channel implementation of the computer radio interface 110 of fig. 1A are shown. Fig. 13 shows the processing subunit of the computer interface, which is implemented as an add-in board (add-in board) mounted inside a PC. Fig. 14 is an RF transceiver, which is an external device to the computer and is connected to the processing subunit by a cable. In the current application of the RF unit, there are 4 transceivers, each of which is capable of using two radio channels simultaneously.
Referring briefly to fig. 3, it can be seen that both voice and control commands may be selectively sent through MIDI connector 210, rather than sending voice commands through analog connector 220. It will also be appreciated that the functionality of the interfaces 210 and 220 between the computer wireless interface 110 and the sound card 190 may also be implemented in another manner, namely as a connection of the computer wireless interface 110 to serial and/or parallel ports of the computer 100, as shown in figures 25A-25F.
Each transceiver 260 forming part of the computer wireless interface 110 of fig. 1A is preferably operable to transmit on a first channel pair and receive on a different, i.e., second, channel pair if it is desired to provide full duplex communication. The transceiver 260 (fig. 4) forming part of the toy control device 130 of fig. 1A is preferably operable to transmit on the second channel and to receive on the first channel.
Any suitable technique may be used to define at least two channel pairs, such as narrowband techniques or spread spectrum techniques, such as frequency hopping techniques or direct sequence (direct sequence) techniques, as shown in fig. 15A-15E, showing a multi-channel computer wireless interface, and as shown in fig. 24A-24E, showing a multi-channel toy control device.
Appendix E-H taken together are a listing of computer programs that make up the first DLL compatible function library. The DLL compatible function library may be used sequentially by a suitable computer system, such as an IBM PC, to generate a variety of games for any of the computer control systems illustrated and described herein. Alternatively, the application generator of FIGS. 11-12C may be employed to generate individual games.
To generate a library of DLL (dynamic load and link) functions according to annex E-H, the following operations are performed:
1) open Visual C + +4.0
2) Go to File Menu (File Menu)
3) Selecting "New" from a menu of files "
4) Selecting "Project workplace"
5) Selection of "Dynamic-Link Library"
6) The item name is: DLL32.MDP
7) Pressing the "Create" button
8) Go to File Menu
9) Selecting "New" from a menu of files "
10) Selecting Text File (Text File)
11) Now written in "Source"
12) Writing a file containing the contents of appendix E on the current page
13) Press the right mouse button and select: insert File Into Project (Insert File Into Project)
14) Click on DLL32 project
15) Write create or.c in save dialogue
16) Pressing OK button
17) Go to File Menu
18) Selecting "New" from a menu of files "
19) Selecting text files
20) Writing a file on the page, wherein the file contains the content of the appendix F;
21) go to File Menu
22) Pressing "Save"
23) Writing CRMIDI.H in save dialogue
24) Pressing OK button
25) Go to File Menu
26) Selecting "New" from a menu of files "
27) Selecting text files
28) Writing a file on the page, wherein the file contains the content of appendix G;
29) go to File Menu
30) Pressing "preserve"
31) Write a file create in save session
32) Pressing OK button
33) Go to File Menu
34) Selecting "New" from a menu of files "
35) Selecting text files
36) Writing a file on the page, wherein the file contains the content of the appendix H;
37) press the right mouse button and select: inserting files into items
38) Click on DLL32 project
39) Writing a file create
40) Pressing OK button
41) Transition to Insert Menu (Insert Menu)
42) Pressing "File entry Project … (File Into Project …)"
43) In the list file of types: selecting a library file (*.lib)
44) Go to Visual C + + library catalog and select WINMM. LIB
45) Pressing OK button
46) Go to Build Menu (Build menu)
47) Pressing "Total Rebuild (Rebuild ALL)"
The commands contained in the DLL function library based on annex E-H will now be described as follows:
MIDI input functions1-2(MIDI input function 1-2):
open MIDI input device (Open MIDI input device)
Syntax: long MIDIInOpen (Long Device)
This function turns on the MIDI device for input.
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
Device:=0;
if MIDIInOpen(Device)<>0Then
MessageDlg ('Error opening MIDI input device)', mtError, mbOk, 0);
reset MIDI input device
Syntax: long MIDIInReset (void)
This function resets the MIDI input device.
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
ifMIDIInReset<>0Then
MessageDlg ('Error resetting MIDI input device'), mtError, mbOk, 0);
MIDI output functions3-6(MIDI output functions 3-6):
close MIDI input device (Close MIDI input device)
Syntax: long MIDIInClose (void)
This function turns off the MIDI input device.
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
ifMIDIInClose<>0Then
MessageDlg ('Error closing MIDI input device)', mtError, mbOk, 0);
OpenMIDI output device (opening MIDI output device)
Syntax: long MIDIOutOpen (Long Device)
The function turns on the MIDI output device.
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
Device:=0;
if MIDIOutOpen(Device)<>0Then
MessageDlg ('Error open MIDI output device)', mtError, mbOk, 0);
reset MIDI Output device
Syntax: long MIDIOutReset (void)
The function resets the MIDI output device.
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
if MIDIOutReset<>0Then
MessageDlg ('Error resetting MIDI output device'), mtError, mbOk, 0);
close MIDI output device (turn off MIDI output device)
Syntax: long MIDIOutClose (void)
This function turns off the MIDI output device.
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
Device:=0;
if MIDIOutClose<>0Then
MeSSageDlg ('Error open MIDI output device)', mtError, mbOk, 0);
General functions7-10 (general functions 7-10):
SendData (send data)
Syntax: long SendData (Long Data)
The function sends 4 bytes to the toy card.
Currently used is the transmission of 144 for initializing a toy card (initialization card).
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
If SendData(144)<>0Then
MessageDlg ('Error sending data to about'), mtError, mbOk, 0;
send Message 8
Syntax: long SendMessage (char Mess)
The function sends a data string to the toy card.
If success, 1 is returned, otherwise, the code is an error code.
Taking Delphi as an example:
Mess:=‘00 01 00 00 00 00 00 05 00
00 00 01 00 03 00 01 00 00 00’;
If SendMessage(Mess)<>0Then
MessageDlg ('Error open MIDI output device)', mtError, mbOk, 0);
check message 9
Syntax: long CheckMessage (void)
If no message is found from the toy card, the function returns 0.
Taking Delphi as an example:
If CheckMessage Then
Mess:=GetMessage;
GetMessage (get message)
Syntax: char*GetMessage(char*Mess)
If a toy message exists, the function returns 20 characters, otherwise "Time Out" is returned.
Taking Delphi as an example:
If GetMessage=“Time Out”Then
MessageDlg (' No message received ', ' mtError, mbOk, 0);
Toy control functions11-16 (toy control functions 11-16):
get Toy Number (Get Toy Number)
Syntax: char*GetToyNumber (void)
If no message is received, the function returns the toy number of the last received message, or "00000000".
Get Sensor Number (Get Sensor Number)
Syntax: long GetSensorNumber (void)
If no message is received, the function returns the sensor number of the last received message, or "255".
Toy Reset (Toy Reset)
Syntax: long ToyReset (char)*ToyNumber)
The function sends a reset string to the toy.
If successful, 0 is returned, otherwise-1 is returned.
Toy Transceive (Toy Transceive)
Syntax: char*ToyTransceive(char*ToyNumber,char*Mess)
The function sends a message to the toy and waits 3 seconds to acknowledge.
Ok is returned when success is achieved, and Time Out is returned when success is not achieved.
Prepare Toy Talk (talking Toy ready)
Syntax: char*PrepareToyTalk(char*ToyNumber,char*WaveFile)
The function prepares the toy card to produce sound using the toy speakers.
After calling the function, WaveFile may be played and heard at the toy speaker.
Ok is returned if success, otherwise Time Out is returned.
Go sleep mode (go to sleep mode)
Syntax: char*GoSleep(char*ToyNumber)
The function sends a sleep command to the toy.
Ok is returned if success, otherwise Time Out is returned.
Appendix I-O taken together is a computer program listing of a second library of functions that can be used to generate a variety of games for any of the computer control systems illustrated and described herein in conjunction with a Director5.0 software package available from Macro-media Inc. (Macro-media Inc., located in Turkish, San Francisco, Calif., USA under 600Townsend St., San Francisco, CA 94103).
To generate an XObject library according to appendix I-O, the following operations are performed:
1) a new directory is created by writing (MD C: \ XOBJECT \): c: (XOBJECT \: \: \
2) Open Visual C + +1.5
3) Selecting "New (NEW)" on File menu (File menu) "
4) Generating a file containing the contents of appendix I;
5) selecting "Save As" from File Menu "
6) Assigning a name to the file generated in step (4) by typing in (sinking) "C: \ XOBJECT \ CREATOR
7) Pressing OK button
8) Selecting "New" on a File Menu "
9) Generating a file containing the contents of appendix J;
10) selecting "save to" on the File Menu "
11) In the file name: writing C \ XOBJECT \ CREATOR. C under dialog
12) Pressing OK button
13) Selecting "New" on a File Menu "
14) Generating a file containing the contents of appendix K;
15) selecting "save to" on the File Menu "
16) In the file name: under dialog, write C: \ XOBJECT \ CREATOR
17) Pressing OK button
18) Selecting "New" on a File Menu "
19) Generating a file containing the contents of appendix L;
20) selecting "save to" on the File Menu "
21) In the file name: writing C \ XOBJECT \ CRMIDI. H under dialog
22) Pressing OK button
23) Selecting "New" on a File Menu "
24) Generating a file containing the contents of appendix M;
25) selecting "save to" on the File Menu "
26) In the file name: writing C \ XOBJECT \ XOBJECT.H under dialog
27) Pressing OK button
28) Selecting "New" on a File Menu "
29) Generating a file containing the contents of appendix N;
30) selecting "save to" on the File Menu "
31) In the file name: writing C: \ XOBJECT \ CREATOR. DEF under dialog
32) Pressing OK button
33) Selecting "New" on a File Menu "
34) Generating a file containing the contents of appendix O;
35) Selecting "save to" on the File Menu "
36) In the file name: under dialog, write C: \ XOBJECT \ CREATOR
37) Pressing OK button
38) Selecting "Open" on the Project Menu (Project Menu) "
39) Under the filename dialog, write C \ XOBJECT \ CREATOR.MAK40, press "rebuilt All in the project menu"
The commands contained in the XObiect function library based on appendix I-O will now be described as follows:
MIDI input functions1-3(MIDI input functions 1-3):
open MIDI input device (Open MIDI input device)
Syntax: long MIDIInOpen (Long Device)
This function turns on the MIDI device for input.
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
Device:=0;
if MIDIInOpen(Device)<>0Then
MessageDlg ('Error opening MIDI input device)', mtError, mbOk, 0);
reset MIDI input device
Syntax: LongMIDIInReset (void)
This function resets the MIDI input device.
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
if MIDIInReset<>0Then
MessageDlg ('Error resetting MIDI input device'), mtError, mbOk, 0);
Close MIDI input device (Close MIDI input device)
Syntax: long MIDIInClose (void)
The function turns off the MIDI input device.
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
ifMIDIInClose<>0Then
MessageDlg ('Error closing MIDI input device)', mtError, mbOk, 0);
MIDI output functions4-6(MIDI output functions 4-6):
open MIDI output device (Open MIDI output device)
Syntax: long MIDIOutOpen (Long Device)
The function turns on the MIDI output device.
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
Device:=0;
if MIDIOutOpen(Device)<>0Then
MessageDlg ('Error open MIDI output device)', mtError, mbOk, 0);
ResetMIDI Output device (reset MIDI Output device)
Syntax: long MIDIOutReset (void)
The function resets the MIDI output device.
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
if MIDIOutReset<>0Then
MessageDlg ('Error resetting MIDI output device'), mtError, mbOk, 0);
close MIDI output device (turn off MIDI output device)
Syntax: long MIDIOutClose (void)
This function turns off the MIDI output device.
If successful, 0 is returned, otherwise-1 is returned.
Taking Delphi as an example:
Device:=0;
ifMIDIOutClose<>0Then
MessageDlg ('Error open MIDI output device)', mtError, mbOk, 0);
general functions7-11 (general functions 7-11):
new 7. New
Syntax: creator (mNew)
This function creates a new instance of XObject.
If successful, the result is 1, otherwise, the result is an error code.
Examples are as follows:
openxlib“Creator.Dll”
Creator(mNew)
…
Creator(mDispose)
see also: dispose (disposal)
Dispose (disposal)
Syntax: creator (mNew)
The function handles the Xobject instance.
If successful, the result is 1, otherwise, the result is an error code.
Examples are as follows:
openxlib“Creator.Dll”
Creator(mNew)
…
Creator(mDispose)
see also: new (New)
Send Message 9
Syntax: long SendMessage (char Mess)
The function sends a data string to the toy card.
If success, 1 is returned, otherwise, the code is an error code.
Taking Delphi as an example:
Mess:=‘00 01 00 00 00 00 00 05 00
00 00 01 00 03 00 01 00 00 00’;
If SendMessage(Mess)<> Then
MessageDlg ('Error open MIDI output device)', mtError, mbOk, 0);
check message 10
Syntax: long CheckMessage (void)
If no message is found from the toy card, the function returns 0.
Taking Delphi as an example:
If CheckMessage Then
Mess:=GetMessage;
get ToyMessage (Get toy message)
Syntax: GetToyMessage
The function receives a message from the toy.
The result is a message.
If there is no message within 3 seconds, the result is "Time Out".
For example:
set message=GetToyMessage
If message=“Time Out”Then
Put“No message receiving”
End If
see also: check for Message
Toy control functions12-17 (toy control functions 12-17):
get Toy Number (Get Toy Number)
Syntax: char*GetToyNumber (void)
If no message is received, the function returns the toy number of the last received message, or "00000000".
Get Sensor Number (Get Sensor Number)
Syntax: long GetSensorNumber (void)
If no message is received, the function returns the sensor number of the last received message, or "255".
Toy Reset (Toy Reset)
Syntax: long ToyReset (char)*ToyNumber)
The function sends a reset string to the toy.
If successful, 0 is returned, otherwise-1 is returned.
Toy Transceive (Toy Transceive)
Syntax: char*ToyTransceive(char*ToyNumber,char*Mess)
The function sends a message to the toy and waits 3 seconds to acknowledge.
Ok is returned when receiving, and Time Out is returned when not receiving.
Prepare Toy Talk (preparation Toy talking)
Syntax: char*PrepareToyTalk(char*ToyNumber,char*WaveFile)
The function prepares the toy card to produce sound using the toy speakers.
After calling the function, WaveFile may be played and heard at the toy speaker.
Ok is returned when success is achieved, otherwise Time Out is returned.
Go sleep mode 17. go sleep mode
Syntax: char*GoSleep(char*ToyNumber)
The function sends a sleep command to the toy.
Ok is returned when success is achieved, otherwise Time Out is returned.
To use the XObject function library in conjunction with the Director, the following method is used:
1) opening the Director version 5.0 program
2) Selecting "New" from File Menu (FileMenu) "
3) Pressing "Movie Option (Movie Option)"
4) Go to Windows Menu and press "model (Cast)"
5) First Script (Script) on "type conversion
6) Selecting "Script" on Windows menu "
7) Script for writing desired game
8) And repeating from step 5 until all required scripts have been written. Press (Ctrl + Alt + P) to run the application
Referring now to fig. 16, fig. 16 is a simplified flowchart illustrating a preferred method of operation of a computer wireless interface (CRI)110, the computer wireless interface 110 in operation serving the personal computer 100 of fig. 1A without intervention or intervention by other computers, each personal computer 100 similarly served by a similar CRI. Generally, the method of FIG. 16 is implemented in software on the computer 100 of FIG. 1A.
The CRI comprises a conventional wireless transceiver (260 of fig. 4) which may for example contain RY3 GB021 with 40 channels, which 40 channels are divided into 20 channel pairs. Typically, 16 of these channel pairs are allocated for information communication, while 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 the first transceiver (step 820) to detect the presence of a new toy, which is signaled by the arrival of a toy availability command from the new toy (step 816). When a new toy is detected, one information communication channel pair is selected from the provided 16 information communication channel pairs (step 830), through which game program information is to be transmitted to the new toy. One preferred method for implementing step 830 is shown in the flowchart of FIG. 18A, which is intended to be self-explanatory and is not necessarily so limited. The "locate computer" command in FIG. 18A is shown in the flow chart of FIG. 18B.
The identity of the selected information communication channel pair, also referred to herein as a "channel pair selection command," is sent to the new toy over the control channel pair (step 840). The game program is then started using the selected information communication channel pair (step 850). The control channel pair is then free to receive and otherwise act upon receiving a toy availability command from another toy (act). Therefore, it is necessary to assign another transceiver to the control channel pair because the current transceiver is being used to provide communication between the game and the toy.
To assign another transceiver to a control channel that is not currently being monitored, the transceiver that previously monitored the control channel is marked as "busy" in the transceiver availability table (step 852). The transceiver availability table is then scanned until an available transceiver, i.e., a transceiver not marked as "busy", is identified (step 854). The transceiver is then assigned to control channel i (step 858).
Fig. 17 is a simplified flowchart illustrating a preferred method for implementing the select control channel pair step 810 of fig. 16. In fig. 17, 4 control channels are scanned. For each channel pair (step 895) in which the noise level falls below a certain threshold, the computer sends an availability inquiry command (step 910) and waits a predetermined period of time, say 250ms, for a response (steps 930 and 940). If no other computer responds, i.e., sends back an "availability response command," the channel pair is considered idle. If the channel pair is found to be occupied, the next channel is scanned. If none of the 4 channel pairs is found to be idle, a "no control channel available" message is returned.
Fig. 19 is a simplified flow diagram, well-defined in its own right, of a preferred method of operation of toy control device 130, which is more useful when combined with the "multi-channel" embodiment of fig. 16-18B. i =1, …,4 is an index of the control channel of the system. The toy control device sends a "toy availability command" (step 1160), which is a message informing of the availability of the toy, which is sent to each control channel i in turn (steps 1140, 1150, 1210) until a control channel that is being monitored by a computer is reached. This becomes apparent when the computer responds (step 1180) by sending a "channel-to-selection command," a message specifying a channel pair of information through which the toy control device can communicate with the game running on the computer. At this point (step 1190), the toy control device may begin to receive and execute game commands that the computer transmits over the information channel pair specified in control channel i.
In accordance with a preferred embodiment of the present invention, there is provided a computer system in communication with a remote game server, as shown in FIG. 20. The remote game server 1250 is operable to serve at least a portion of at least one toy running game of the computer 100, which may operate one or more toys 1260. Alternatively, a complete game may be downloaded from remote game server 1250. However, alternatively, a new toy action script or new text file may be downloaded from the remote game server 1250, while the remainder of a particular game may already exist in the memory of the computer 100.
The download from the remote game server 1250 to the computer 100 may occur in an off-line manner before the game begins or may occur on-line during the course of the game. Alternatively, the first portion of the game may be received offline, while additional portions of the game may be received online.
Communication between remote game server 1250 and computer 100 may be based on any suitable technology, such as, but not limited to, ISDN; x.25; frame Relay (Frame-Relay); and the internet.
An advantage of the embodiment of figure 20 is that a very simple computerized means can be provided locally, i.e. adjacent to the toy, since all "intelligence" can be provided from a remote source. More particularly, the computerized device may be less complex than a personal computer, may lack its own display monitor, and may include, for example, a network computer 1270.
FIG. 21 is a simplified flow chart illustrating the operation of computer 100 of network computer 1260 of FIG. 20 when operating in conjunction with the remote server 1250.
FIG. 22 is a simplified flowchart illustrating operation of remote game server 1250 of FIG. 20.
Fig. 23 illustrates, in half pictorial and half block diagram form, a wireless computer controlled toy system comprising: a toy 1500 having a toy control device 1504; a computer 1510 communicating with the toy control device 1504 using a computer wireless interface 1514; and a proximity detection subsystem operable to detect proximity between the toy and the computer. The proximity detection subsystem may include, for example, a pair of ultrasonic transducers 1520 and 1530 associated with a toy and a computer, respectively. The toy's ultrasonic transducer 1520 typically plays an ultrasonic signal that is detectable by the computer's ultrasonic transducer 1530, but the detected condition is that the computer and toy are within ultrasonic communication range, i.e., in the same room.
Fig. 24A-24E taken together form a detailed electrical schematic diagram of a multi-channel implementation of the computer wireless interface 110 of fig. 3, which is similar to the detailed electrical schematic diagrams of fig. 5A-5D except that the form shown in fig. 3 is multi-channel and thus capable of supporting a full-duplex application mode rather than a single-channel mode.
Figures 25A-25F taken together form a detailed schematic illustration of a computer wireless interface connected to a serial port of a computer rather than to a sound card of the computer.
Fig. 26A-26D together form a detailed schematic illustration of a computer wireless interface connected to a parallel port of a computer rather than to a sound card of the computer.
Fig. 27A-27J are flow diagrams, which are in themselves well-understood, illustrating a preferred wireless encoding technique based on Manchester encoding, which is an alternative to the wireless encoding technique described above with reference to fig. 8E, 8G-8M, and 10A-C.
Fig. 28A-28K taken together form a detailed electrical schematic diagram of the multi-port multi-channel computer wireless interface subunit of fig. 13.
Fig. 29A-29I taken together form a detailed electrical schematic diagram of the multi-port multi-channel computer wireless interface subunit of fig. 14.
Figure 30 illustrates another preferred embodiment according to the present invention that includes a combination of computer wireless interface (CRI) and Toy Control Device (TCD) 1610.
The combined unit 1610 controls a toy 1620 that is connected to the computer 100 by means such as a cable and communicates with other toys 120 by means such as wireless communication using the computer wireless interface 110. Toy 1620 operates in a manner similar to toy device 120.
Fig. 31 illustrates a simplified block diagram of the combining unit 1610.
Fig. 32A, 32B and 32C together form a simplified schematic diagram of the EP900 EPLD chip (U9) of fig. 28H. The code for programming the EPLD chip of this schematic is preferably provided in the programming package "MaxPlus II Ver.6.2" available from Altera Corporation, Inc. (Altera Corporation), Inc., Santa Clara, Morlo Street number 3525 (3525 Monoe Street, Santa Clara, CA.5051, USA), Calif.
Fig. 33 is a pictorial and block diagram half illustrating a computerized network advertising system constructed and operative in accordance with a preferred embodiment of the present invention.
As shown, the computerized toy or doll 300 is computer controlled, preferably by a wireless connection between the toy 300 and a computer or workstation 310. A computer or workstation 310 is associated with an advertisement server 330 via the internet or another communication network 320.
Fig. 34 is a data transmission diagram illustrating data transmission between various network service providers supporting the advertisement system of fig. 33 in accordance with a preferred embodiment of the present invention.
Fig. 35 illustrates, in pictorial and block diagram form, a computerized network advertisement system constructed and operative in accordance with a preferred embodiment of the present invention, wherein a virtual toy delivers advertising publications to users of the toy.
Fig. 36 is a simplified flow chart illustrating a preferred mode of operation for the user PC of fig. 34.
FIG. 37 is a simplified flowchart illustrating a preferred mode of operation for the game software server of FIG. 34;
FIG. 38 is a simplified flow chart illustrating a preferred mode of operation for the marketer/advertisement provider of FIG. 34.
FIG. 39 is a simplified flow chart illustrating a preferred mode of operation for the software maintenance center of FIG. 34.
40-58 generally depict a live object Internet service System (LOIS) constructed and operative in accordance with a preferred embodiment of the present invention, as follows:
FIG. 56
Site and computing device: illustrates what computing device is added to the LOIS
FIG. 57
Site and Top Level (Top Level) data flow: describing top level data flow between LOIS sites
Sites and participants (Sites and Actors) = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
The LOIS participants, their responsibilities, and their cooperation at each site are shown in the diagram at that site.
FIG. 40
At home
FIG. 41
At creator HQ
FIG. 42
At advertiser HQ
FIG. 43
In toy manufacturer HQ
Site and subsystem = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
The subsystems that run there, their responsibilities, and the computing devices that they run are shown in a view of each site.
FIG. 44
At home
FIG. 45
At creator HQ
FIG. 46
At advertiser HQ
FIG. 47
In toy manufacturer HQ 1: rendering active object servers
FIG. 48
In toy manufacturer HQ 2: presenting other LOIS subsystems running at the headquarters of the toy manufacturer
Subsystem and data stream = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
The view of each site shows the subsystems running there and the data flow between them.
FIG. 49
At home
FIG. 50
At advertiser HQ
FIG. 51
In toy manufacturer HQ
Collaboration schema
=======
Each major LOIS dynamics (dynamics) is shown, illustrating how it is done by subsystem cooperation.
FIG. 58
Client (client) update: cooperation of updates to Client Installations (Client Installations) with a new Behavior (Behavior)
FIG. 52
Playing a game: describing individual collaborations involved in the whole process from authoring to development
Status diagrams
=======
Each major subsystem in LOIS is shown illustrating the internal state transition network of that subsystem.
FIG. 53
Client register (Logger)
FIG. 54
Push client
FIG. 55
Active object control software- -is- -controlled by the active object control software- -is also provided
FIG. 56: site and computing device
==============
The figure shows the sites that are added to the LOIS, and the computing devices that run the LOIS software at those sites.
Note
The 1.3-D box is a site. A site is defined as the collection of all subsystems owned by an organization part or in a household. The box is labeled with the site name and its cardinality (cardinality).
2. Fast connectors (lightning connectors) are communication links.
3. Within each site are three types of computing devices: servers, workstations, and active objects.
Unit cell
1. Family: LOIS can support up to one million client facilities.
Each client device is characterized by at least one active object and a client access terminal. Originally, the only feasible computing device was Win32 PC. In the future, Mac, Java, and other platforms may also be supported.
2. Toy manufacturer HQ: up to 100 toy manufacturers may co-exist in the initial implementation of LOIS. Each toy manufacturer site is characterized by an employee workstation and a toy manufacturer server.
3. Advertiser HQ: up to 1000 advertisers may be supported in an initial implementation of LOIS. Each station is characterized by an employee workstation.
4. Creator HQ: the creator site includes a server and an employee workstation. There is only one creator site. The "creator" is the name used to conveniently label the provider of the active object technology, which may provide maintenance services for other HQs, for example. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIG. 57: site and top level data flow
================
The figure shows the sites that are added to the LOIS, and the computing devices that run the LOIS software at those sites.
Note
The 1.3-D box is a site labeled with a site name.
2. The line connector indicates communication between two connected stations.
3. The circled arrow cell indicates the direction of data flow. The additional text categorizes the data stream.
Connection of
Toy Maker (Toy manufacturer) Home (family)
Client update response: these are the actions that the toy manufacturer pushes the server to do in response to the client update response. Web Shop URL: these are URLs published by toy manufacturers web stores. These include catalog classification pages, search pages, purchase pages, and bill pages.
Registering RUL: these are URLs published by the toy manufacturer's registration service, which are used in the form of registration information received/modified from the user's side.
Receive electronic mail (email): an email received from a toy manufacturer for online purchase.
Notification of the e-mail: the e-mail from the toy manufacturer carries announcements that may be of interest to the active object owner.
Home Toy MakerHQ (Toy manufacturer HQ)
Client update request: these are requests sent according to the push client schedule. They contain a unique client id.
Client registration (log) update: these are usage reports that are collected (and filtered/computed) by the client registry on the client side and sent to the Profiling Service.
Registration information: this is the information collected in the form of registration. It is sent from the web browser to the registration service at the toy manufacturer site at the client device.
Web store orderbers: an order form for a specific action order sent over the world wide web.
Creator HQ Home
And (3) software updating: these are the latest version of the LOIS client software. It is automatically pushed and installed.
Advertiser HQ (Advertiser HQ) Toy Maker HQ (Toy manufacturer HQ)
Behavior: these are advertising campaigns that are authored at advertiser employee workstations and uploaded to the toy manufacturer server.
Toy Maker HQ (Toy manufacturer HQ) Advertiser HQ
Reporting: such reports are used by advertisers for better targeted users.
Creator Advertiser/Toy Maker HQ
Support request/report: the creator provides online technology and end user support.
Sites and participants
FIGS. 40-42: at home, at advertiser HQ, at creator HQ: these figures illustrate participants at an LOIS site joining an LOIS campaign.
Note
1. A two-dimensional (2-D) box is a participant. It may represent several actual persons. The box is labeled with the role name of the participant. The responsibility list represents the LOIS dynamics that the participant is participating in. The collaboration list represents the collaboration participants, as well as their interrelationships.
Sites and participants
FIG. 43: in toy manufacturer HQ
==============
Members of the toy manufacturer organization that join the LOIS dynamics are shown.
Note
1. A 2-D box is a participant. It may represent several actual persons. The box is labeled with the role name of the participant. The responsibility list represents the LOIS dynamics that the participant is participating in. The collaboration list represents the collaboration participants, as well as their interrelationships.
Unit cell
SysAdmin/Developer/WebMaster (System administrator/Developer/Web controller): toy manufacturer technicians. No technical skills are required of other participants at the toy manufacturer site. The exact skill required depends on: type of behaviour (conventional/complex) that is produced at the toy manufacturer. The complex behavior requires client programming and has knowledge of the LOIS API. Most of the behavior may be created by the creator of the non-technical content.
The natural nature (conventional/complex) of the required action space is made by the toy. The complexity mapping between profiles/external data and behaviors requires client programming and has knowledge of the LOIS API. Most of the behavioral space required by toy manufacturers can be created by non-technical advertising managers.
The number of client facilities (100,000/million) ordered from the toy manufacturer. The higher the load of the toy manufacturer server, the more difficult it is to manage them and guarantee the performance required by the customer. Toy manufacturers with millions of subscribers may require an unlimited number of skilled system administrators for their world wide web information systems.
The level of workflow (workflow) automation required between ad managers, content creators and administrators (normal/complex). This includes workflow automation of intranets and extranets of toy manufacturers, as well as communication with advertisers. Sophisticated automation requires customer programming and has knowledge of the loisi api. A simple workflow may be constructed by any non-technical member of the toy manufacturer staff.
Toy manufacturer web information system/web store requirements (regular/complex). Complex web stores are linked to the toy manufacturer main information system (infosystem), require customer programming, and have knowledge of third party business software. Most web stores can be built by any non-technical member of the toy manufacturer staff.
The main responsibility of SysAdmin is to keep the toy manufacturer server running. The Developer helps content creators create complex behaviors and web information system components, helps ad managers create complex behavioral spaces, and helps everyone create complex workflow automation. WebMaster is responsible for the web information system.
2. The content creator: behaviors are created with behavior designers. Content creators can also help WebMaster prepare a web information system that will persuade parent purchasing Behavior Subscriptions (Behavior Subscriptions).
3. The advertisement manager: the action responsible for getting more sales underwriters and releases it as Space (Behavior Space) to the advertiser sales section. And is also responsible for usage and profile data reporting.
4. The manager: manage the sale of "content campaign subscriptions" to users, and the promotion of "advertising campaigns" to users. Primarily interacting with the reporting facilities in LOIS. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-sites and subsystems
FIG. 44: at home
========
The LOIS software of the client devices is shown in the figure for the system and the computing devices on which they operate.
Note
1. A 2-D block is a software subsystem. It shows the subsystem names and their responsibility lists. The software subsystems may be nested (nest). The responsibilities of an included subsystem are defined as all of the responsibilities assumed by the included subsystem.
2. A quick connector represents a communication link between computing devices.
3. The direct connectors are labeled with their fixed form (stereotype).
Unit cell
-------
1. The active object is: an interactive toy controlled by a LOCS. Communicate with the client access terminal over a wireless link.
2. Client access terminal: a personal/network computer runs a live object client. Communicating with the moving object in a wireless fashion.
3. Active object client: a subsystem defined to include all software running on the client access terminal, including: client register, LOCS and push client.
4. Client register: a software package collects usage data from the LOCS, passes it through a client-side filter, and sends it to a profile service via a push client. Its presence facilitates client-side filtering of usage data. For example: instead of sending 100 scores for 100 vocabulary exercises, the client register calculates an average and sends the average to the toy manufacturer profile service.
5. Active object control software: (LOCS) software packages that control active objects. It converts the behavior data submitted from the push client into interactive commands that are run on the active object.
6. Pushing the client: a third party software package customized by the creator of LOIS. It can provide the push layer of LOIS to the client side.
7. A web browser: a third party software package. It can be used as a client for registration/billing and for web stores. This allows us to simplify the client.
Connection of
------
1. An active object client running on a client access terminal. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-sites and subsystems
FIG. 45: at creator HQ
The figures show the LOIS software subsystems at the creator headquarters and the computing devices they run.
Notes- -one
The 1.2-D box is a software subsystem. It shows the subsystem names and their responsibility lists. Software subsystems can be nested. The responsibilities of an included subsystem are defined as all of the responsibilities assumed by the included subsystem.
2. A quick connector represents a communication link between computer devices.
3. The direct connectors are labeled with their fixed form.
Unit cell
1. The creator Server: a server running LOIS software on the client side.
2. Pushing the server: the software of the LOIS push layer is provided to the server side.
Is connected
1. A push server running on the creator server.
-sites and subsystems
FIG. 46: at advertiser HQ
The figures show the LOIS software subsystems at the advertiser headquarters and the computing devices they run.
Notes- -one
The 1.2-D box is a software subsystem. It shows the subsystem names and their responsibility lists. Software subsystems can be nested. The responsibilities of an included subsystem are defined as all of the responsibilities assumed by the included subsystem.
2. A quick connector represents a communication link between computer devices.
3. The direct connectors are labeled with their fixed form.
Unit-cell
1. A workstation: a workstation running LOIS software on the advertiser side.
2. The behavior designer: a friendly application for authorizing complex behaviors. The operational output of such software is the authored behavior.
3. The report software: a subsystem that helps advertisers know who is using LOIS and how they are using it.
Is connected
1. A behavioral designer running on the workstation.
2. Reporting software running on the workstation.
-----------------------------------------
-sites and subsystems
FIG. 47: in toy manufacturer HQ1
The figures show the LOIS software subsystems at the headquarters of the toy manufacturer and the computing devices they run. In this figure we will focus on the elements of the active object server.
Notes- -one
The 1.2-D box is a software subsystem. It shows the subsystem names and their responsibility lists. Software subsystems can be nested. The responsibilities of an included subsystem are defined as all of the responsibilities assumed by the included subsystem.
2. A quick connector represents a communication link between computer devices.
3. The direct connectors are labeled with their fixed form.
Unit cell
------
1. Toy manufacturer server: a computing device running active object server software.
2. The active object server: including push servers, database servers, web stores, registration services, behavioral space managers, and profiling services, web servers, and list servers.
3. A database server: all subsystems of the ODBMS library for processing the native object are used. Most important objects in LOIS are inherent in the database server. Because we work with ODMG-93, ODMG-93 has no database code such as embedded SQL or the like. We do not refer to the database server anymore because ODMG mapping allows us to handle it transparently.
4. A behavior space manager: a software subsystem having two functions. At design time, it provides services for efficiently mapping large behavioral spaces, upload behaviors, query and report services, and so on. At run-time, it provides the functionality to map any user ID into an action.
5. Active object control software: (LOCS) software packages that control active objects. It converts the behavior data submitted from the push client into interactive commands that are run on the active object.
6. Pushing the client: a third party software package customized by the creator of LOIS. It can provide the push layer of LOIS to the client side.
7. A web browser: a third party software package. It can be used as a client for registration/billing and for web stores. This allows us to simplify the client.
Connection of
-------
1. An active object client running at a client access terminal.
---------------------------------------------
-sites and subsystems
FIG. 48: in toy manufacturer HQ2
The figures show the LOIS software subsystems at the headquarters of the toy manufacturer and the computing devices they run. In this figure, we will focus on subsystems rather than the active object server.
Note
The 1.2-D box is a software subsystem. It shows the subsystem names and their responsibility lists. Software subsystems can be nested. The responsibilities of an included subsystem are defined as all of the responsibilities assumed by the included subsystem.
2. A quick connector represents a communication link between computer devices.
3. The direct connectors are labeled with their fixed form.
Unit cell
-------
1. A workstation: a workstation running LOIS software.
2. The report software: a subsystem that helps toy manufacturers know who is using LOIS and how they are using it. It works for all existing systems to create a customized report. It can create automatic reports on a calendar.
3. The behavior designer: a friendly application for authorizing complex behaviors. The operational output of such software is the authored behavior.
4. Server Console (Console): the primary interface to LOIS. The main characteristics are as follows:
-managing behaviors and constructing a behavior space manager
-constructing web stores
-construct profile service
-constructing a registration service
-managing users, registration, billing
-constructing automation for reporting software
-initiating the sending of the notification email
Connection of
-------
1. All subsystems run on the workstation.
------------------------------------------
Subsystem and data flow
FIG. 49: at home
The figure shows data flowing between subsystems at a customer installation (ClientInstallation).
Notes- -one
The 1.2-D box is a software subsystem. It shows the subsystem name.
2. Connector means communication between subsystems/devices.
3. The data flow symbol shows the direction, and the list of message classes flowing in the link. There is no meaning with respect to the order of the data streams.
Connection-structure
LOCS < = > Living Object: the LOCS converts the behavior into commands that can be run on the active object. All usage data is sent from the active object to the LOCS.
LOCS Client Logger (Client registrar): the behavior may contain code that passes specific usage data to the client registry.
Push Client LOCS: the new behavior is passed to the LOCS.
Client Logger (Client registrar) Push Client: the usage data is filtered using a client registry and only filtered data set statistics are passed to the pushing client.
Push Client < = > Intemet (Internet): the push client passes the client update request to the internet, meaning that a behavioral update is requested. The push client also communicates client registration updates that contain data prepared by the client registrar. The push client receives a client update response (action) from the internet, along with its installed software updates.
Web Browser (Web Browser) < = > Internet (Internet): web browsers are used for browsing web stores, purchasing behavior subscription, and for LOIS email. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Subsystem and data stream
FIG. 50: at advertiser HQ
The figure shows the data flowing between the subsystems of the advertiser headquarters.
Notes- -one
The 1.2-D box is a software subsystem. It shows the subsystem name.
2. Connector means communication between subsystems/devices.
3. The data flow symbol shows the direction, and the list of message classes flowing in the link. There is no meaning with respect to the order of the data streams.
Connection-structure
Intemet Reporting Software (Reporting Software): a usage report is received from the toy manufacturer and used to create movements (campaigns).
Behavior Designer ensemble (internet): the "advertising campaigns" are uploaded to the toy manufacturer server where they will be pushed to the client facility.
Subsystem and data stream
FIG. 51: in toy manufacturer HQ
The figure shows data flowing between the subsystems of the toy manufacturer headquarters.
Notes- -one
The 1.2-D box is a software subsystem. It shows the subsystem name.
2. Connector means communication between subsystems/devices.
3. The data flow symbol shows the direction of flow through the link, and a list of message classes. There is no meaning with respect to the order of the data streams.
Connection-structure
Service Console Reporting Software: the server console applies its configuration to the reporting software.
Service Console Profiling Service: the server console applies its configuration to the profile service.
Service Console Registration Service: the server console applies its configuration to the registration service.
Service Console Web Store: the server console applies its configuration to the web store.
Service Console Behavior Space Manager: the server console applies its configuration to the behavioral space manager.
Behavior Designer Behavior Space Manager (behavioral Space Manager): the behavior space manager is created and transmitted to the BSM where they are added to all available behaviors.
Service Console Web/List Server (Web/List Server): the notification email is authored/uploaded and edited in the server console and then passed to the list server for centralized mailing (mass mailing).
Behavior Space Manager Profiling Service (profile Service): the behavioral space manager queries the profile data by using the user ID as a key.
Behavior Space Manager Push Server: the push server passes the user ID of the client update request to the BSM. The push server also maps them to actions that are returned to the push server.
Push Server Profiling Service (profile Service): client registration updates from the client registrar are sent from the push server to the profile service.
Internet Behavior Space Manager (behavioral Space Manager): the actions authored at the advertiser site are sent to the BSM where they are added to all available actions and some special rules are applied.
Internet < = > Push Server (Push Server): the push server issues actions and receives requests and usage data.
Web Shop < = > Web/List Server: the web store URL is generated by the web store on the fly. It also receives commands from the web server.
Web/List Server < = > Registration Service: the data flow is required for the registration service.
Web/List Server (List Server) < = > Internet: this data flow is required for registration services, web shop services and e-mail communications.
---------------------------------------------------
Collaboration diagram
FIG. 58: customer updates
The figures illustrate the collaboration involved in the client update.
Notes- -one
The 1.2-D box is a software subsystem. It shows the subsystem name.
2. Connector means communication between subsystems/devices.
3. The data flow symbol shows the direction of flow through the link, and a list of message classes. Each message shows its sequential order in the figure.
Dynamic process
1. The push client notifies the client registrar that a client update is about to occur. The push client performs this operation on a schedule and only when 'bandwidth ideal' allows it.
2. The client registrar communicates the usage data to the push client. This operation occurs asynchronously to the resetting of the process, but must occur during the client update.
3. The push client sends a client update request with a user ID.
4. The client update request is received by the push server.
5. The push server requests a mapping from the BSM by passing a user ID to the BSM.
The BSM replies with a list of behaviors appropriate for the client installation.
7. The actions are packaged into a client update response and sent to the pushing client.
8. The push client receives the client update response.
9. The actions are sent to the LOCS after being extracted from the client update response.
10. Asynchronously to the resetting of the process, but during a client update, a client registration update is sent from the push client for the usage data sent by the client registrar.
11. The push server receives the client registration update.
12. The client registration update is sent to the profile service.
-----------------------------------------------------
Collaboration diagram
FIG. 52: playing a game
The figures illustrate the collaboration involved when playing a game on an active object.
Notes- -one
The 1.2-D box is a software subsystem. It shows the subsystem name.
2. Connector means communication between subsystems/devices.
3. The data flow symbol shows the direction, and the list of message classes flowing in the link. Each message shows its sequential order in the figure.
Dynamic process
1. The active object notifies the LOCS of a session initiation event. This operation is possible because it has detected a Child (Child), or because the Child initiated a session.
The LOCS and the active object now communicate the command and interact, completing the execution of the action.
3. During the session, the active object passes any usage data specified by the running behavior to the LOCS.
4. The usage data is sent to the client register.
5. Finally, the session exit event is proposed by the active object. This is also possible because a timeout has occurred.
---------------------------------------------------
State diagram
FIG. 53: client register
The internal states and transitions at the client register subsystem are shown.
Notes- -one
1. The circle frame is the state. It shows the state names.
2. A point connection means a possible state transition. The text describes the conditions of the conversion.
Notice- -
The client register has 2 super states. Starting from the idle state, 2 loops are represented. The first loop is started by the LOCS and the second loop is started by the push client.
Having the client register compute statistics at the latest possible time (when the pushing client notifies it that it is coming online) provides better accuracy.
----------------------------------------------------
State diagram
FIG. 54: active object control software
The internal states and transitions at the LOCS are shown.
Notes- -one
1. The circle frame is the state. It shows the state names.
2. A point connection means a possible state transition. The text describes the conditions of the conversion.
Notice- -
Most of the time the LOCS is in an idle state or running active behavior on active objects. When a behavior is changed, or a new behavior is initiated, the LOCS calculates the new valid behavior and retrieves it from the disk. When instructed to do so by the valid behavior, the LOCS will send any usage data to the client registry. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
State diagram
FIG. 55: push client
The figure shows the internal states and transitions at the push client.
Notes- -to- -A
1. The circle frame is the state. It shows the state names.
2. A point connection means a possible state transition. The text describes the conditions of the conversion.
Notice- -
There are 3 super states at the pushing client, denoted as 3 loops from the idle state. When conditions allow us to come online, a client update request is sent and the client register is notified to prepare any critical minte statistics. When the client register informs that they are ready, the client register update is prepared. When a client update response is received, the client registers the update for upload to the push server.
Various terms used in the specification and claims are discussed below:
the advertisement categories are:
one type of activity is paid for by the advertiser, but is otherwise different from the content.
Advertiser categories:
an organization buys a behavior space from a toy manufacturer and populates (populates) the organization with the behaviors it creates.
Advertising manager participants:
members of the toy manufacturer or advertiser personnel are ultimately responsible for a behavioral space. The advertising managers collaborate to split the entire behavioral space between them. The toy manufacturer advertising manager has the highest level of control over the entire behavioral space.
The list server subsystem:
is an active object server subsystem that manages the centralized posting of notifications and receipts (receipts).
Behavior categories:
is the smallest unit of activity of an activity object published by an activity designer. Which defines the activity object interactivity over a certain time period. One behavior may depend on the other behavior.
The behavior designer subsystem:
(BD) A creator application, part of LOIS, allows content creators to create interactive behavior.
Behavior space category:
an object that mimics a portion of the entire behavior space is defined as a map that defines what behavior should run in each client at any time and under any condition. For example: a behavior space called "Young childrens Afternoon" defines what behaviors a child will receive in the Afternoon.
A Behavioral Space Manager (BSM) subsystem:
software loaded on an active object server that manages toy manufacturer behavioral spaces. It enables a full mapping between profiles and behaviors (i.e. narrowcasting/personalization).
Behavioral subscription categories:
is an ordering mode, and a parent (parent) purchases or receives a purchased activity object at a web store. If the user wants to subscribe to a behavior subscription, the LOIS will ensure that certain behaviors are delivered to the subscriber.
Child (Child) participants:
a user interacts with an active object.
Client access terminal subsystem:
a computer runs active object client software. Is present in the client installation part.
Client installation subsystem:
a subsystem that includes children, parents, client access terminals, and any number of active objects.
Client registration update category:
a message sent from the client register to the profile service is sent by means of push software. It contains usage data for the filtered active object.
Client registrar subsystem:
a client responsible for collecting usage data, sending it to profile services after running a filter on the client side, and possibly computing aggregate statistics on the client side.
Client update request category:
a message is sent from a push client to a push server through push software using a user id. Which means that the client is ready to receive a client update response.
Client update response category:
a message is sent from a push server to a push client through push software. Which contains a set of behaviors.
Content category:
A type of activity purchased at a web store or distributed as a client service.
Content creator participant:
a member of a toy manufacturer or an advertiser employee who creates an action.
The database server subsystem:
software that provides object and plan (schema) storage/query/management services to other toy manufacturer subsystems. Running on the active object server.
The game category:
the time between the session start notification and the session exit notification. This is the time that the active object recognizes the child and the child wants to interact. Any number of activities may be run in a single game.
The active object subsystem:
(LO) an interactive computing device controlled by active object control software.
Active object client subsystem:
a subsystem comprising all software running on client access terminals, the client access terminals comprising: a client register, active object control software, and a push client.
Active object control software subsystem:
(LOCS) software that controls the active objects. It runs the individual actions. And it runs on the client access terminal.
Moving object internet system:
(LOIS) provides toy manufacturers and advertisers with an effective high resolution control of the behavior space, and a system of transparent publication of correct behavior to millions of subscribers.
Active object server subsystem:
including push servers, database servers, web stores, registration services, behavioral space managers, and subsystems of profile services, web servers, and list servers. It is at the toy manufacturer site.
Active object provider software subsystem:
a subsystem comprising all software running on site manufacturers and advertiser sites, including: behavioral designers, server consoles, behavioral space managers, profile services, push servers, database servers, reporting software, registration services, and subsystems of web stores.
Manager participant:
the member of the toy manufacturer responsible for setting up business policies and analyzing business performance reports.
Parent participants:
users who purchase, register and install campaign objects, purchase orders, and help children.
Profile category:
impersonating an object that refers to all usage and registration information of a user.
Profile group category:
a customized collection of profiles defining a meaningful set. For example: the preschool education on weekdays (pre-schoolers on weekdays).
The profile service subsystem:
An active object server subsystem that manages profile data. It runs on the active object server.
The client subsystem is pushed:
software installed on the client access terminal can provide promotional services over the internet.
The push server subsystem:
software installed on the active object server and the creator server can provide promotional services over the internet.
Registering a service subsystem:
user registered software is processed through the world wide web.
The reporting software subsystem:
software that generates reports and analytics from usage data generated by the profiling service.
The server console operates in the system:
end-user software for controlling LOIS. It runs on a toy manufacturer's work bench.
Software update category:
a message is sent from a creator server to a push client through push software. It contains updates to the client software.
Staff workstation subsystem:
a computer running a behavior designer/server console/reporting software and any web development tools at a toy manufacturer or advertiser site.
The toy manufacturer organizes:
an organization that sells campaign objects and manages subscription fees/advertising revenue based on operations, creation, and distribution activities.
User types are as follows:
emulating client installed objects and inherent to the active object server.
The web store subsystem:
a WWW site that allows parents and children to browse, sample and purchase content. The content of which is purchased as a behavioral subscription.
One possible implementation of the LOIS system will now be described.
1.1. Object of the first implementation form
The first implementation of LOIS targets toy manufacturers who want to centrally manage the action toys in the users' homes. The following are high-level goals for the project:
*easy to install and use in parents and children
*Toy manufacturers and/or toy content providers easily control activity of moving objects, but at the same time have a high resolution
*The lever adjusts the strength of the latest commercial push software.
*Providing a basic framework for future product planning, more particularly, it would be best if we were able to provide such software: when the software is highly integrated in the future, no modifications to the source code need be made with the creator software that manages the activity tree of the active object.
1.2. Analysis of various services and their usage
The product should provide services grouped by the users targeted for the service, including: children, parents and grand companies. In the following we will describe various services and analyze the relevant usage.
1.2.1. Child services
The main service offered to children who are the direct users of the active objects is transparent updating of the activity behavior.
Name (R)
Client side of active object update.
Participants
The child is only involved in the way in which he can trigger the use case, but there are other ways of triggering the use case. The child is a participant in the ongoing service of the use case.
Target
The active object is automatically updated.
Power range (Forces in Context)
1) Automatic, transparent
2) Excellent beautification and quietness of processing errors
3) Error corrected, guaranteed delivery
4) Bandwidth 'ideal'
5) Safety and secrecy
6) Each toy has several providers
Triggering
Depending on the exact configuration.
1) Typically, the user configures the push client to update at specific intervals while running, so the trigger is the scheduler
2) User manually initiated download
Summary of the invention
This use case captures the scenario (scenario) where the client requests and receives new active object updates
1) Client requests new updates from server
2) New updates are sent to the client
3) Notifying the creator of the software preconditions at the end of each complete active object update
1) If the client is completely 'refreshed', then no download is to occur
2) The push client must first be installed
3) Client must be registered first
1) Currently there is a new full active object update in the user HD
2) Notifying creator client software
Related use cases
1) The registration is a request
2) The construct active object update process determines what to update
1.2.2. Parent service
Parents are responsible for operating and updating all aspects of the active object in their homes that children cannot perform.
1.2.2.1. Mounting of
The product should be safe and easy to install so parents can install new toys without difficulty.
Name (R)
Facilitating installation of client
Participants
Father and generation
Target
The push client is installed correctly and registration can begin.
Scope of the right
1) Installation of installation protected (installshield) type
2) There may be a previous installation, i.e. this installation may be the installation of the 2 nd, 3 rd, etc. active object
3) There may be several different types of win32 OS
4) The client itself must be unique and reflect some corporate identity, by no means the 3 rd party enforcer identity
Triggering
The user manually initiates the installation process from a CD or from a downloaded file
Summary of the invention
This use case captures the first and last installation of the LOIS client.
1) The user asks for several configuration parameters or, if this is not the first toy, uses the old parameters
2) User registration of use
Precondition(s)
The user downloading the package, or having a CD
After conditions
Everything is set up for registration
Related use cases
1) Should register immediately thereafter, or the registration is postponed to a later time 1.2.2.2 at the user's convenience
These services include everything related to registration and accounting.
Name (R)
Registration
Participants
Father and generation
Target
The newly purchased specific activity object is registered in a central database, or information previously entered in the registration is modified
Scope of the right
1) The user's perception should be similar to web site registration
2) Safety and secrecy
3) The exact nature of the connected registration information is not fixed and is determined by a large company
4) The layout and style are important
5) Optional registration information may be required
6) Changing the registration information should be consistent with the type of experience of the user
7) There is information that needs to be communicated to servers that should not be generated manually, but are burned (burned) when CDROM is installed
Triggering
1) The user has completed the installation of the push client and goes to registration immediately or at a later time
2) The user wants to refresh any of his registration attributes
Summary of the invention
This use case captures the scenario of a user registering or modifying his registration information.
1) User is automatically brought to registration web site
2) User filling out form (form) with existing value or changing a form
3) User submission form
4) If the form is complete, then the user is presented with a thank you
5) User emailing a receipt
Precondition(s)
Push client is installed
After conditions
The active object is being registered and the user has received a receipt
Related use cases
1) Push client installation should be completed
2) Constructing details of the registration procedure determination procedure
Name (R)
Rechecking accounting information
Participants
Father and generation
Target
The participant can at any time check his billing status, i.e. his subscription, history, etc.
Scope of the right
1) Should be a simple web page
2) Should include the option of communicating with technology and include billing support for large companies
3) Safety and secrecy
4) Support for multiple currencies
Triggering
The user initiates the use case by going to the secure URL. This is done by clicking the 'review bills (reviewing)' button in the push client or on a large corporate web site.
Summary of the invention
This use case captures the scenario where the user checks his billing status
1) User login to billing page
2) All information being displayed on a page
3) The user must cancel any pending subscription
4) The user can contact the bill or get technical support through the webpage
Precondition(s)
The user has at least one active object installed and registered
After conditions
The user now knows the exact details about any bill he (or she) is involved with
Related use cases
1) The registration should have been completed
1.2.2.3. Purchase of various actions
This service allows parents to purchase orders, actions and action object action groups through a secure web store front-end.
Name (R)
Purchasing behavior
Participants
Father and generation
Target
The participant is to be able to purchase behavior for his activity goal
Scope of the right
1) Safety and secrecy
2) Should have the normal look and feel of a web store front desk
3) Each behavior should be available as a single update, a subscription, or a group of updates
4) Support multiple currencies
Triggering
The user may arrive at the Web shop through a large company Web site by clicking on a 'check out New behaviors' button in the push client, or by interacting with a live object
Summary of the invention
This use case captures the scenario of the user purchasing various actions
1) User logging into world wide web store
2) The user "surfs" in the store and adds the desired items to the shopping bag
3) Displaying billing information to a user
4) The user rechecks the bill and, upon his (or her) approval, notifies the central server of the policy change for that user
Precondition(s)
User has at least one active object installed and registered
After conditions
The server should be trying to promote new behavior to the user
Related use cases
1) The registration should have been completed
1.2.3. Large company service
Initial implementations focused on providing services to large companies. The goal of these services is to allow them to provide frequent update behavior to the home user activity object to ensure that these behaviors match the home user's preferences and to sell various behaviors over the internet. Service types of various services are required to support these goals. We did not check the 'install Server software)' use case, because it was assumed that the creator technician would perform this task.
1.2.3.1. Controlling the broadcast of a small range (Narrow-Casting)
The service we provide to large companies preferably allows these large companies to have particularly fine resolution control over the personalization of the activity object update process so that they can be effectively broadcast to individual users in small areas. Another very important requirement of these services is that they can scale to 100,000 users.
Name (R)
Constructing a registration process
Participants
Dada corporation
Target
The participant should be able to construct a registration process
Scope of the right
1) Security
2) Companies want to know as much as possible about users
3) The company does not want the user to be fully aware of item 2
4) Companies want to layout and style the process according to their preferences
5) Each company requires different registration information
6) There are some common aspects of questionnaire questions such as 'user name', 'user email', etc. Thus, we can give the user a "jump" starting mode by providing several default questionnaire questions
Triggering
Big company has buttons to let them enter the web page of the build process
Summary of the invention
This use case captures the scenario where the user determines the registration details
1) User adding/removing an existing question from a registration form
2) The user edits an existing question: is the problem optional or required? What is its text? Is the question a choice question or a text box? Must the problem be numerical?
3) The user may cycle back to step 1
4) Starting from the automatically generated template defined by the registration details, the user designs an HTML template for the questionnaire question
Precondition(s)
The large company server software has been installed
After conditions
Large corporations currently have registered web pages for their active object users
Related use cases
1) Registration is determined by the results of this use case
2) Constructing active object update procedures using registration information
Name (R)
Gathering user profile data
Participants
Large company server
Target
The participant should be able to automatically collect all profile data and place it in the correct environment, i.e., the user object representing the user generated data
Scope of the right
1) Privacy
2) Companies want to know as much as possible about users
3) The company does not want the user to be fully aware of item 2
4) The profile data may be from: server login, activity object, registration, purchase of behavior for behavior download
5) This data can potentially be of enormous magnitude, which we must subject to some filtering, compression, or summarization to control its magnitude
6) The data must be placed in the correct context in a central database to support the analysis
Triggering
1) Server registration download
2) Active object sending profile data
3) The registration data has been accepted
4) Purchases in the world Wide Web store have occurred
Summary of the invention
Such a usage capture server automatically collects and categorizes episodes of profile data from multiple sources. This is an automatic process in which the user has control over only what data is gathered (should all be a default), i.e., there is a form with a check box where the user can stop the server from gathering data from a particular aspect of the system
Precondition(s)
Registration has been constructed
After conditions
Large corporations currently have all possible data about all of their users
Related use cases
1) Constructing registration procedure usage determines what data is available based on registration
2) Server-side provisioning of update process usage data
3) Processing server-side provisioning data for purchase usage
Name (R)
Constructing active object update procedures
Participants
Dada corporation
Target
The participant should be able to construct activity object updates
Scope of the right
1) Security
2) Companies want to match users to various behaviors according to their 'match' concept
3) Companies can have different ideas for exactly what a 'match' means
4) In all 'matching' concepts, some are common, i.e. they are best described as vectors of rules, there are several rules that each person may use, such as 'age determined', 'order information determined', 'place determined', etc
5) The match should be determined for all available profile data (if needed)
6) Non-technical users should be able to construct a very good update procedure with the rules we should provide in the base package
7) Each active object should have its own set of construction rules
8) There are several views of the design update process (via profile, toy, moving object update) that the user wants to be able to select
Triggering
Big company has buttons to let them enter the web page of the build process
Summary of the invention
This use case captures the scenario where the user determines the details of the active object update process
Here, an example is given:
1) user selection of a particular active object to construct
2) The user adds/removes individual rules in the process. The rules being selected from available rule classes
3) The user modifies the existing rules. Each available rule class has construction parameters
4) User rearrangement, copy and paste rules
5) The user may cycle back to step 2
6) The user tests the update process that he (or she) has constructed for the active object and views the results of the prototype
Precondition(s)
1) The active object has been defined in the central server
2) The registration format has been constructed
After conditions
Large corporations currently have a structured active object update process that will manifest itself in each update
Related use cases
1) Adding new active object updates is a requirement
1.2.3.2.
Name (R)
Server side of an update process
Participants
Large company server
Target
The participant should be able to implement the previously defined update process
Scope of the right
1) Safety and secrecy
2) Up to 100,000 users, 100 of them being able to be updated at one time
3) The server is expensive and the process should be as optimal as possible
4) A company should be able to increase its loading capacity in a scalable manner (scalable manner), i.e. without much work being done
5) The update process itself may be structured in any number of ways
6) We must register everything
7) The process may be interrupted during operation (i.e., user disconnected, etc.), so that it is important to save the exact state
8) When overloaded (overloaded), we must default to set up behavior, so we do not end up with an unstable state (lamb state)
Triggering
LOIS pushes clients to connect to servers and request updates
Summary of the invention
This use case captures the scenario where the server is refreshing the client
1) The server receives an update request
2) The server runs through the rules constructed earlier, causing any number of updates currently being delivered to the client
3) Server communicating updates to client
Precondition(s)
1) Registered client presence
2) The active object update process has been fully defined
After conditions
The client has been updated, or has been partially updated
Related use cases
1) Adding new active object updates is a requirement
2) Constructing an active object update Process is a requirement
1.2.3.3. Controlling an active object behavior database
The goal of these services is to allow large companies to create manageable large stores for active objects
Name (R)
Adding new active objects to a database
Participants
Dada corporation
Target
The participant should be able to add a new active object to the active object database of the server
Scope of the right
1) Safety feature
2) The movable objects can be greatly distinguished from each other
3) All active objects can share many-they are all controlled by many active object updates, but only one at a time
Triggering
The participant presses a button that brings him into the 'Add Activity object' paradigm (wizard)
Summary of the invention
This use case capture participant tells the system that it must identify the scenario of a new active object
1) The user fills in the least amount of detail needed to define a new active object
2) Server creates new objects that mimic active objects
Precondition(s)
The large company server software has been installed
After conditions
The server is now aware of the new active object
Related use cases
1) Adding a new active object update is the next logical step
Name (R)
Adding new active object updates
Participants
Big company and its advertisers
Target
The participant should be able to add new active object updates to the server
Scope of the right
1) Safety feature
2) There may be multiple types of updates: text, script, multimedia, executable programs, and the like
3) This process is one of the most versatile processes and therefore it should be pipelined as much as possible
4) This is the simplest place to interface between creators who produce behavior packages (behavior packages) writing software
5) This is done at different places in the internet
Triggering
Participant presses a button that brings him into the 'Add Activity object update' paradigm
Summary of the invention
This use case captures the scenario where the participant tells the system to add a new activity object update to a particular activity
1) User selection of an active object
2) User uploading update data package
3) The server should inform all relevant observations of this new update
Precondition(s)
1) The active object has been defined in the central server
2) The participant has a specific file to create the active object update. The creation of these updates is far beyond the scope of this document
After conditions
The server is now aware of the new active object updates and it will be used in the web store, rule manager and analysis subsystem
Related use cases
1) Adding a new active object to the database is a requirement
1.2.3.4.
Name (R)
Managing active object updates
Participants
Dada corporation
Target
The participant should be able to manage active object updates
Scope of the right
1) Safety feature
2) There may be multiple types of updates: text, script, multimedia, executable programs, and the like
3) This process is one of the most versatile processes and therefore it should be pipelined as much as possible
4) There may be hundreds of active object updates, so users must be able to quickly find the updates they need to manage
5) We cannot manage the inside of an update package, but in this use case it is important to provide the basis for interfacing with the creator software
Triggering
Participant presses a button that brings him into the 'manage active object update' paradigm
Summary of the invention
This use case captures the scenario where the participant tells the system to remove an active object update, change its properties, or replace it with another update
1) User selection of an active object
2) User selection of an active object update
3) The user removes the active object update, or edits its properties, or replaces the current update with another update that he (or she) previously prepared
Precondition(s)
The active object has been defined in the central server
After conditions
The active object is currently in an update different from its previous state
Related use cases
1) Adding new active object updates is a requirement
1.2.3.5. Controlling web behavior stores
Companies want to make earn sales activities on the world wide web. This means that they need a tool to create and manage a store of behavior.
Name (R)
Layout planning and styling for web behavior stores
Participants
Dada corporation
Target
The participant should be able to determine what the store that sells the activity object update looks like
Scope of the right
1) Safety feature
2) Big companies want to make their stores look unique
3) There are many commonalities in all stores: they are basically retrievable, easy to manipulate for sorting
4) Therefore we can provide default templates
5) The manipulation of the template must be simple, requiring only HTML knowledge
6) Users want to integrate stores with their WWW information system
7) Users may already (and will already be) have their own stores of some type, billing systems, etc. as part of their web site
Triggering
Participant presses a button that brings him into the 'stylistic for world Wide Web behavior store' paradigm
Summary of the invention
This use case captures the scenario that the participant manages all aspects of the web store
1) The user selects a page in the store, i.e., a search results page (results page), a product page, etc
2) User selection of a template
3) User views effects of templates on system through previewing
4) The user replaces the current template with a new template and submits the change
Precondition(s)
1) Active object updates have been constructed
2) The user has an HTML file that serves as a template for the store. Note that these may originate from our default templates, or they may have been written in our documentation
After conditions
The store is currently being stylized according to the user's preferences
Related use cases
1) Managing activity object updates is a situation where a large company determines pricing, ordering information, etc. for activity object updates
2) Handling the case where the server side of the purchase is the server that interpolates the store templates into full HTML pages and sends them to the user's Web browser
1.2.3.6.
Name (R)
Server side processing purchases
Participants
Large company server
Target
The participant should be able to properly respond to the web order for the active object update and to properly respond to the page turn request for the sorted listing
Scope of the right
1) Safety feature
2) Many users may purchase about 100 items at a time
3) Accounting and tax
Triggering
Web browser client enters store and begins interacting with it
Summary of the invention
This is simply the normal course of a web store activity, as many other processes do
Precondition(s)
1) Constructing templates for web stores
2) Active object update presence
3) Registered user presence
After conditions
Purchases are registered, bill particulars are updated, and moving objects are updated
Related use cases
1) Layout planning and styling for web behavior stores is a situation where a large company determines what an HTML page will look like
2) Managing activity object updates is a situation where a large company determines pricing, ordering information, etc. for activity object updates
1.2.3.7. Controlling a user
Large companies need a service group that allows them to manage user databases and related information: billing and profile data.
Name (R)
Managing users
Participants
Dada corporation
Target
The participant should be able to manually control the user database
Scope of the right
1) Safety feature
2)100,000 users
3) Large companies have personnel who can work with RDBMS by means of access
4) Our users are objects that need to seal (encapsulate) many different types of information that we cannot know in advance. This includes all profile data
Triggering
Participant presses a button that lets him enter the user management application
Summary of the invention
This is simply the normal add/delete/modify type of use case
Precondition(s)
The user is registered
After conditions
The user object has been modified
Related use cases
1) Constructing a registration process determines a number of characteristics of corporate user objects
2) Almost every other use case dumps the login case to the user object
1.2.3.8. Analyzing business
To help them decide, for example,' what kind of behavior we should create today? ' and other decision cases, large companies need to analyze usage patterns and profiles. These services allow them to generate and view reports.
Name (R)
Analyzing usage
Participants
Dada corporation
Target
Participants should be able to generate and view complex reports on system usage
Scope of the right
1) Big data
2) Companies have standard report formats and tools
3) We do not know in advance all the types of reports that are required, but we can assume that several are necessarily required
Triggering
Advertising manager implements reporting tools starting from Disney
Summary of the invention
Depending on the tool used. In general it should be:
1) defining a time period
2) Defining a user segment
3) Inquiring and refining them
4) Placing the query results in a template and sending to the administrator
Precondition(s)
1) Usage data stored in a database
After conditions
A report has been generated
Related use cases
1) The server side of the update process is where we have post-processed data created here
2) Gathering user profile data also determines what content is logged in
The LOIS advertising system will be described below
1) Segmentation
The general segmentation defined by the following constraints is available to the television advertiser:
5-9 years old girls watching television in the afternoon of weekdays
The content provider of a television station broadcasts shows that are considered attractive to viewers of the above-mentioned kind and sells them to interested advertisers. There are several unresolved problems with this system: segmentation is never accurate, advertisers are limited to a very simple range of constraints, effective market feedback is not timely, and advertisers cannot select when to play advertisements. In LOIS, there are constraints such as:
*8 year old boy liking science fiction type material
*8 year old boy liking fantasy type material
*8 year old boy liking army type material
This allows very accurate target positioning. Since children are very different from each other, advertisers can now organize some appropriate campaigns. The LOIS behavioral space management system allows advertisers to do the following:
*creating activities in any complex segmented form
*Real-time control of activities with very high resolution
*Automatically collecting correct reports
*Selecting any time of day for their advertising
LOIS of course also supports categorical matching of advertisements to content types. The toy manufacturer may sell time slices within sponsored/free content to advertisers, as in television/radio/world wide web.
2) Content and advertising
Behavior is broken down into content and advertisements. Parents and children are not aware of this breakdown. The behavior they receive does not contain their information. This is like a television. The broadcast technology is transparent to the insider of the advertised content. The video editing software will know the differences. Specific tools for composing a video from advertisements and content may be provided. The LOIS design is also similar. At the toy manufacturer and advertiser sites, the content is distinguished from the advertisement: each maintaining a different registry, content is typically purchased as a behavioral booking, while advertisements are not, and there are other differences. But this information does not go to the top Maker < = > Client Installations external network. This does not mean that children and parents never know what are advertisements and what are content. The station will selectively (and most often does) tell the viewer when to switch between the two. This situation is considered appropriate and is also considered Right Thing (r) (correct event) in LOIS content. Toy manufacturers and advertisers may follow more detailed forms of advertising, but these are not too detailed or they may annoy parents and children.
One embodiment of the LOIS system is now described as follows:
active Objects (tm) Internet Services (LOIS) are a common name for a group of software products that are part of the broad family of active object (tm) technologies of creators. Like the entire family, LOIS is an enabling technology. LOIS enables the creator's customer to set up complex internet services. LOIS is provided to its customers by the creator for two obvious reasons:
*helping customers to easily and reliably develop effective services.
*Helping creators establish their leadership and competitive advantage in the marketplace.
There are two types of LOIS products designed to serve two types of applications (and markets):
*INTERNET service for retailers selling consumer products such as toys and smart home appliances.
*INTRANET (Intranet) for operators of entertainment and shopping sites.
Both products are made up of two parts: server products and client products.
There are abundant products that enable companies to develop and provide various types of internet services. Creators do not intend to compete with these products, and LOIS is designed to supplement these available products with features that are not available elsewhere.
2.1. Advantages of the Internet
In an active object intranet application, the client side, i.e., the PC, runs several programs simultaneously. Each of these programs controls one or more devices, such as toys or smart home appliances. These devices and their control programs may come from different retailers. This situation is therefore referred to as a "multi-retailer environment". Executable programs are provided for all of these programs to share the required peripherals such as wireless base stations, computer screens and internet creators. The executable program is responsible for running the control programs and providing them with all necessary peripheral services, including internet access.
2.2. Advantages of Intranet
The moving object intranet service is accomplished in a large site with several radio base stations in wireless communication with many moving objects. Each radio base station covers a part of the sites, and the moving object is a mobile station across the sites. Thus, the moving object may roam between wireless base stations that maintain continuous communication with the central computer. This situation is unique to the intranet application and cannot be supported by the available intranet software packages.
Advantages of LOIS
One advantage of LOIS common to all applications is the LOIS SDK. This part of the SDK product enables the creator's customers to develop fast, inexpensive and reliable, complex applications of active object technology. The LOIS SDK integrates between the available development tools for internet applications and the special features and requirements of other active object products.
3. Definition of the invention
The active object (tm) Internet service (LOIS) is a software product that is a member of the active object (tm) family of creator products. Active objects are a set of enabling technologies that allow easy development of "robots" (robots) that have the ability to interact naturally with humans. An active object is a family of products that includes hardware, control software, application development kits, and internet service software.
The moving objects are in various markets. The main market is as follows:
*toy (A)
*Intelligent household
*Amusement park
*Retail channel-point of sale
The active object technology is marketed by creators to retailers of finished products. Retailers use the active object technology to develop more sophisticated products for their markets.
The moving object internet server is used in the following two situations:
*Retailers of finished goods provide services to their customers over the internet.
*Operators (operators of amusement parks, retail outlets, etc.) communicate between their sites.
Typical internet-based services are:
*customer support/central site management
*Distributed system software updates
*Selling new software products
*Central management and distribution of personal/site information
*End-user study and analysis of system characteristics and preferred usage
*Advertising
The active object internet server enables retailers and operators to easily, reliably and quickly establish their internet services.
4. Target of creator
LOIS is developed in anticipation of future competition with the creator's active object. The creator's plan is to ensure its leadership as a provider of "campaign object" technology by providing the market with the following three-fold optimality:
*cost, mainly hardware cost
*Complexity, mainly of application development tools
*Breath of moving object product family (breath)
The use of the internet to provide certain types of services to computer and software related products is common today (if not required). Accordingly, creators assume that retailers and operators of products based on active toy technology will seek ways to provide services to their customers (retailers) or sites (operators) over the internet. Providing internet solutions as part of a family of active objects creates certain market advantages.
The active object internet server provides the creator with the following targeted services:
competitive advantage
Attracted (captive) client
Market information
Revenue and revenue-although LOIS is an accessory product in a family of moving objects, it is considered a revenue center and is expected to provide about 10% of the total revenue of the family of moving objects.
5. Perceived user target
5.1. Toy retailer objective
Active object technology is based on the concept of a toy(s) in wireless communication with a proximate personal computer that controls the toy. The personal computer may be in continuous or dial-up communication with an internet server of the manufacturer of the toy. The toy retailer will purchase and use LOIS for the following reasons:
*customer support
*Increasing sales through online sales
*Split software sales (rehearsal, completion of product, update and extension)
*Fan club ordering
*Online gaming
*Electronic gift certificate (coupons)
*Advertising
*Collecting and analyzing purchasing patterns and user demographics
5.2. Intelligent home retailer objectives
*Customer support
*Preserving brand name and customer loyalty
*Electronic gift certificate
*Advertising
*Collecting and analyzing purchasing patterns and user demographics
5.3. Objectives of amusement park operators
*Site support
*Inter-site communication
*Inter-site viewer identification
*Fan club ordering
*Home and online gaming
*Electronic gift certificate
*Advertising
*Collecting and analyzing purchasing patterns and user demographics
5.4. Target for retail operator
*Site support
*Inter-site communication
*Inter-site customer identification
*Maintaining customer loyalty through buyer club
*Increasing sales through online sales
*Electronic gift certificate
*Advertising
*Collecting and analyzing purchasing patterns and user demographics
6. System architecture
LOIS is composed of two major components: the server side and the client side are composed of the following two basic structures:
internet or server/client-
Typical of the toy and smart home market, the client software resides in a personal computer that communicates with the server infrequently.
Intranet or server/node
In a typical casino and retail channel market, client software resides in a central computer at the site, serving as an intranet node in continuous communication with a server.
Note that retailers marketing the toy market and smart home market of products may also employ a server-node architecture to communicate with retail channels, and that operators of casinos and retail channels may also employ a server-client architecture to communicate with their home customers.
The remainder of this document is directed to a description of the internet-server/client architecture and toys and smart home applications.
6.1. Client machine structure
6.1.1. Operating system support
The LOIS client software should be able to run on all of the following platforms.
*WindoWs95(WindoWs98)
*Windows NT Client
*Windows CE
*Macintosh
*Java/NC
It is also desirable that a purely Java-based software be able to run on all these platforms.
6.1.2. Multi-retailer environment
The creator sells technology to its customers. The customer develops devices (toys, smart home appliances, etc.) and PC software running on these devices using this technology. Most basic cases are the presence of a device and a program for controlling the device. A multi-device environment is the case when there are several devices controlled by a single program. A multi-program environment is when there are several devices controlled by several different programs. On the one hand, all programs run independently, and on the other hand, all programs access the same computer radio interface (CRI, also called wireless Hub or wireless base station). This creates a complex situation that requires advanced mechanisms to support. The most complex case is when there are several programs from several retailers running simultaneously on the same PC, which controls different devices. This is common for toys, but necessary for intelligent home appliances.
Internet applications create even more complex multi-retailer environments. LOIS must support the case where there are several programs, some from different retailers, that want to access several different web sites.
There are two basic possibilities to support a multi-retailer environment:
collaboration tool
The control software packages are self-contained and independent of each other. The creator provides its customer with a piece of software contained in the retailer's software package. The piece of software can allow for the mutual cooperation between several programs to perform simultaneous access to shared peripherals, such as CRI and internet. All access requests of the control program to the shared peripherals are made by calls to the collaboration tool. Tools linked to the various programs can cooperate with each other and provide simultaneous access to the desired peripherals.
General purpose executable program
The creator provides an executable program that initiates the execution of all control programs. All access requests to the shared peripheral are made by the control program to the executable program and by the executable program to the desired peripheral.
Another requirement is that the LOIS does not interfere with the operation of any common manual browser and other internet software products, such as "push technology", internet technology, etc.
The method of executable program is a general-purpose scheme (operating system scheme). It supports collaboration between programs simply by means of executable programs. It also easily supports downward compatibility (where new programs can enjoy new features while old programs can still run). This executable program method has significant sales incentives for the creator. This advantage to the creator can threaten (identify) a large number of retailers.
6.1.3. Dialer support
The client software is able to automatically create an internet connection. Thus, the client software is able to run an Internet dialer and perform all required actions (such as password entry) to establish a connection with an Internet Service Provider (ISP). Since there are many ISPs and many dialers, the client software can automatically adapt itself to the user's internet environment.
A preferred Advertisement Distribution And Management (ADAM) system for a Live Object Internet Services (LOIS) system is described below:
the invention
Means are provided for placing advertisements via computerized toys and dolls. These devices can allow:
Advertising by target audience-friendly characters
Sharply focused target audience
Customizing advertising content to a user (gender, age, location, preferences)
Providing varying advertising content to the same user, thereby avoiding boredom
Sharing advertising space between advertisements
Customizing advertisements for such situations as daytime (time of day) and weekday (day of the week)
Providing advertising that changes and evolves over time
Changing advertisements after toys or dolls are sold to users
Observation system
(from now on, the term toy refers generally to toys and dolls)
The moving object (tm) (LO) is a technology that allows the realization of toys controlled by computers, in particular conventional home computers. These toys are capable of playing advanced games with their users, effectively mimicking human behavior. The user can interact with the toy in a human sense, and the toy can employ game content that the user specifically desires at this time.
The game is implemented as a software program executed by a computer. The game software may be distributed in a bundle with the toy or separately as an after-market product. For commercially available toys, the game may be developed by the retailer of the toy or by a separate game developer. Games are typically distributed using computer diskettes or CD-ROMs.
The toy may provide advertising content to the user, primarily in language. The advertising space may be used by retailers of toys and game software to promote their own products and services, or may be sold by the retailer to other parties.
The computer may be connected to the internet and to various internet sites (web sites) via the internet. The main reasons for connecting to the internet are downloading updated versions of the system software from the creator's web site, and downloading updated versions of the game software from the retailer's site. This mechanism may also be used to serve distribution and download of advertising content. The advertising internet site can be the creator's web site, the toy and game retailer's site, and a site dedicated to distributing advertising content to the moving object toy (advertising company's site).
The advertising content is mainly sound, i.e. language content, with or without music and associated actions such as singing and dancing. The advertising items may be set after or within a particular game or individually.
ADAM for LOIS technology and profile ADAM for LOIS mainly include the following 4 major subsystems:
active object user system
The active object user system is the structural infrastructure software (and hardware) that enables the computer to execute the game software and control the active object toy. The active object user system contains LOIS client software that enables a computer to connect to the internet and to various retailer sites and communicate with them as needed. An ADAM user client is a software module that enables computers to exchange advertising data and content with internet sites.
LOIS server for retailers
The retailer's LOIS server is a creator product that is provided to the creator's customers (developers and distributors of animated object toys and games) to enable them to maintain a continuous connection with their customers. The retailer LOIS server is a software package for an internet server that communicates with the LOIS user client software. The ADAM module for the retailer LOIS server supports all the communication requirements and programming facilities needed to distribute advertisements over the internet.
ADAM client for advertisers
The advertiser ADAM client is a software program that enables advertisers to communicate with various LOIS servers and their ADAM modules, and can also do the following:
*research and selection of appropriate advertisement dissemination means (venules) (i.e. toys and games in the marketplace)
*Preparing advertising content in an appropriate format
*Distributing breadth to appropriate LOIS serversContent of the advertisement
*Further controlling the advertising process
The advertiser ADAM client can be used by retailers to design and implement advertisements for other products, and by other advertisers (or advertising agents) to distribute advertising content through the LOIS server. Advertisers who are not retailers may have their own LOIS servers to distribute advertising content, but it is unlikely that a user's LOIS (adam) client will initiate direct contact with the advertiser site.
Creator's LOIS server
The creator's LOIS server supports the entire LOIS network, especially ADAM applications. The creator's web site provides software updates and supports all three other entities: users, retailers, and advertisers.
ADAM Properties
ADAM is a unique mechanism for advertising. The ADAM collects detailed information about each user. This information is gathered by the user system and communicated to the retailer's server. Thus, the advertiser delivers the advertisement to a properly focused audience. Advertisers may associate advertisements with specific situations, such as specific game situations (discussion apparel) or environmental situations (wake up, dinner). The advertisement may be presented to different users in different situations. All of this is provided and managed using a distributed database of data objects described below, and is communicated and processed by the four subsystems of the ADAM for the LOIS system.
It will be appreciated that the software components of the invention may be implemented in ROM (read only memory) form, if desired. The software components may generally be implemented in hardware using conventional techniques, if desired.
It is to be understood that the specific embodiments described in the various appendices are intended merely to provide a very detailed disclosure of the invention, and are not intended to limit the invention.
It is appreciated that various features of the invention which are, for clarity, described in the context of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable sub-combination.
It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. The scope of the invention is limited only by the claims that follow the attached hereto.
A A B E323E 01001B0032B AA C2A 2C 8C2A 8C 2D 8C 8D8F 080C 8D 8C 8D8F 12C 8D8F 11C 8D 8E 8D8F 12D 8C 8D8F 12D 8F7D 8F 12D 2D8F 7D 2D8F 2D 8D2A 2D 2F 2D2A 0007F 2D 2F 2D 2F 0007C 2A 0007740A 0009F 2C 707C2C 0002C 0008D 2C2A 0008D 2C 8A C8C 2C 8C 2C 8C 2D 12C 2D 12C 8D 12D 2D 12D 2D 12D 2D 12D 2D 12F 12D 2D 12F 12D 2D 12D 2D 12F 12D 2D 12F 12D 2D 12F 12D 2D 12F 12D 2D 12D 8D 2D 12D 8D 2D 8D 12D 8D 2D 8D 2D 8D 2D8F 12F 8D 2D8F 12A 12F 12A 7D8F 12D 8D 2D 8D 2D8F 12F
A B B01001B 0032B AA 2C2A 8C 2C 8D8F 115C 2D 8C 8D8F 11D 8C 8D8F 115C 8D8F 26D 8C 8D8F 26D 8C 8D8F 2D8F 115D 2D8F 2D2A 2D 2F 2D 2F 0008D 2F 2D 2F 0008F 2F 0008D 2F 2D8F 0008D 8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8D8F 8E 8D 8E 8F 8E 8D8F 8D8F 8D8F 8D 8E 2D8F 8E 8D8F 2D8F 8D8F 2D8F 8E 8D8F 8D8F 8E 8F 8E 8F2D 8E 2D8F 2D 8E 8F2D 8E 8F 8E 2D8F 8E 8F2D 8E 2D8F 8E 8F 8E 8D 8E 8F 8D8F 2D8F 6E 2D8F 8D8F 2D8F 2D8F 6D8F 2D8F 2D8F 8D8F 2D8F 8D8F 2D8F 2D8F 2D8F 2D8F 6E 2D8F 2E 8F2D 8E 2D8F 2D 8E 2D8F 6E 2D8F 2D 8E 2D8F 2E 2D8F 2E 2D8F 2E 2D8F 6E 2D8F 2E 2D8F 2D8F 2E 2D8F 2E 8F2D 8F 2E 8F 2E 8F 6E 8F2D 8F2D 8F2D 8F2D 8F 2E 8F 2E 2D8F 2D8F 2E 2D8F 2E 2D8F 2E 2D8F 2D8F 2E 2D8F 2D8F 2E 2D8F 2E 8F 2E 8F 6E 2D8F 6E 8F 2E 2D8F 2D8F 2E 8F 6E 2D8F 2E
Appendix CEC FE DS FE CS FE B4 FE A4 FE90 FE 80 FE 6C FE 5C FE 54206000000113B 0000943E 000000000C 315C FE0B 0003001D 250C 316C FE0B 000100D 21D A24358 FE C54206000000113B 0000943E 000000000C 3150 FE 0A 0003001D 250C 3190 FE0B 000100D 21D A2437 FE 5D 4CA 243A 0 FE C54206000000113B 0000943E 000000000C 31A 4 FE 4D 250C 31B 4 FE0B 000100D 21C 4 FE SD 4 ES 4 FE 4E 00000C 31 FE 250D 250C 31 DS FE 0D 4D 31C 4 FE0 SD 000100D 21F 243672F 2472D 21 FE 30 4D 4D 4F 0003F 243672F 00000C 31 FE0B 3110B 00003D 3F 3D 3F 243672 FF 4 FF 243672 FF3 FF 243672F 3F 243672E 00000C 31F 3D 3F 243672 FF 0003672F 4F 3F 243672F 3 D21D A24344 FE 8D 4C A24340 FE C54206000000113B 0000943E 000000000C FF 050003001D 250C 3150 FF0B 000100D 21A 2433C FE 8D 4C A24338 FE C54206000000113B 0000943E 000000000C 3160 FF 040003001D 250C 3170 FF0B 000100D 21A 24334 FE 8D 4C A FEC 54206000000113B 0000943E 0000000000000C 3180 FF 030003001D C3190 FF0B 000100D 21D A2432F 38C F4C 24328 FE 3F 2448A 1C 4B C A24324 FE 8D 4 3624320F 735F 01C A31C FE 8D 4C 6F 1EFC FD 3F 470C 2808 FE 7C 2258 FE 3A C C C FE3 FE C FF 24 FF 28 FE 3C 0528 FE 3C 24 FE 3C C FE3 FE 24F 24C 24 FE3 FE 35 FE 3C 3622572 FE 3C 3632 FE 3F 24 FE 3C 058C 3622572 FE 3C C FE3 FE FE90 FE A4 FE B4 FE C8 FE D8 FE EC FE FC FE FF 30 FF 40 FF50 FF 60 FF 70 FF S0 FF 90 FF 3F 240C FE BE 1D 6F 1E 5C FE7B C54206000000113B 0000943E 00000C 31FC FD 110003001D 25A 63100000100 AE 250400 FC FD C FE 3F 2448 FE 0A 1C 4B 1992179217A 2431 FE C F735F 01E A24320 FE 5D 4C 6F 1E 5C FE7B 41C 54206000000113B 0000943E 00000C 31FC OF 0003001D 25A 6300100C 22504001C FE 20 FE 250400 FD5 FE FD 3F 240C FE 1D 6F 1E 5C FE7B 41C 54206000000113B 0000943E 00000C 31FC 3F 3C 0003001D 25A 6300100C 22504001C FE 20 FE 869 FE 26 FD 6F 3F 0107F 010FE 7C 3600000 FE 0003001 FE 3600000F 0003001 FE 0003001 FD 0003001A 3601072 FE 0003001 FD 0003001 FE 010020 FE 010028 FE 01002C FE 010030 FE 01003 FE 010040 FE FE 01007C FE 0100A FE 0100C FE 0100E 01000C FF 010020 FF 010028 FF 0100 FC FD 02005C FE 02006C FE FE 0200A FE FE 0200C FE 0200D FE 0200 EC 0200 FC FE 020010 FF 040 FF 050 FF FF 02007C 30A FF 0C 8190 FF 0G 000100D 21F 1E 70 FFCD 1 93680 FF 60 FF7C 30S FF 0A CC 4A FF FF 833 DB 8FF 7 DB 8E 35350B 0150B 120B 80100D 883F 1B 409 CD 1C 60 FF7C 7B 21B 001B 44C CD 21B 430 CD 213C 037305 BA1E 03 EB E98E 062C 0033C 08B F8B 9 FF 26813D 5041751626817D 025448750E 26807D 043D 75078D 75078B 75078D 75078C 26817D 026E 75078D 75078C 26807D 063D 7505 BA 4903 EB 9 EB 75078 AE 98B 75078D 75078E 9D 03B 419 CD 75078 BE D802880446C 6043 3646C 6045 75078B 200 CD 218 75078C 75078 BF D80232C 75078B 94600F 75078F 36807D 3603F 008D 745C 6055 75078C 6033D 0028 75078F 75078A 75078D 802B 3 DCEB 3D 3633C 3633F 75078F 3603D 75078F 03D 3603F 75078F 802C 603603F 75078F 3603F 75078F 03D 603672F 75078F 3F 75078F 3603F 75078F 3F 75078F 3F A44D 08D 03 EB 9C BA 7603E FDFE 8E 062C 008B 3E 9D 0332C B FF F D18D 88C BE A4C FF 8C 33C 7E 77D 2268844 FF 03F 18 3841 FD F A FC BF C1E 2C 008B CB 49F BF D80232C FF F AE D18D 08D 19 0303A 0303C 22D 04F 138C 3E 9D 03 BE D802F A48D 88C 08E 9F 03C 00C BC FE C74402 FF CD 7440421B CD 7440821C 7440 FF 9800B 43B BA 00011E 56 CB 6D F D736F 646F 77732E 0D 7440E 0A F C E6E 696E 67204D F736F E646F 77732E 0D 24514E F D F736F E646F 77732E 0D0A 24 FFFF E45050 AFE 0A B E800F 300F 0000000A C D5C 03A 0801 DC 06101D DC B C E F00301C 32F C00301C 003620A 5F 466F 726D E E0004 FF 4000 FF E000000 CA D03006F CA F51B 7B 9C 60268E 6023001000126000000000000000000000000006400 FF C3316498F 51B 9F 51B 0003000000000000000000000000000000F 51B 6498F 51B 6029F 8B 8C 48E 494D 2316498 CA 51F 51B 6029 FF 602 7B 9C 48E FF FF FF FF A C006A D6006800C 00B A00A 2316498 CA F51B 7B 9C 48E 695316498 CA F51B 7B 9C 48E 00A F51B 7B 9C 48E 6030089E DA 451B 10B 336F E4000000000000000000000000000000000000000000000000000000000000000000000000007316498 CA F51B 7C 48E FF FF E00E CC 2D 726D 31005D 0050000D 000D F4F FF F726D 005000036D 80600798100000000000000000000000000000000000000000000 097316498 CA 51B 9C 48E FF FF E00E 2D 726D 2D 31000D 0050000D 000D F4F 005000036D 0050000600813000000820000D FF E D4D FF E4D 444949492C 80B 00C 02000D 0052D 00566D D2F 66D F034D 034F 034D 03 F C C E004F 000 CC FF C F D FF 2501010004 BC 02E A4D E FF A F CA F51B 7B 9C 48E 6000000000000000000000000000000000000000000000000140048000000014026400 DE E31362E 444C 4 0000007E A009C 00FF E E494D CA F51B 7B 9C 48E 66 CA F51B 7B 9C 48E 9B 9C 48E 66F 7B 9C 48E 66 CA F51B 108B 7B 9C 48E 18E 6703198 CA 108B 7B 9E 4E E E E E A1316498 CA F51B 7B 9C 48E FF B 33C 9B 8B 606 BA 0E 02EA 710071000000000000B 972003D C9B 8C 000 BAFF FF EA FF FF FF FF 0000000000B 96A 003D 33C 9B 85802 BA 5800 EA 5B 005 000000000000D 735593C 06005800 BC 361C 0090 FF 14000000303130303030303530313031303030303030303000007B 417C 4206006C 30A 0FF 020003000600A 63111000100A 525A 0FF A71404002000440014000000000008000000000000000C 00000001000000A 0FF 0200700E 0E 00511E 7FF CD 1E 3F 248E C02 FF C E FF 702D 0E 00511E 4E FF CD 1E 3F 245E C02 FF C E3E 2E FF 372D 0E 00511E 0E CD 1E 3F 241F 02 FF 3C C FE 372D 702D 0E 3600511E CD 3E 24 FE 24E 3 FE 24 FE 3602 FE 372E 3 FE 372E 3 FE E FE 372D 6E FE 85183400702D 0E 00511E 8E FE CD 1E 3F 245E FFC 02C E FE 3F 245E FE 036 CE FE 0000 CD 1E C C E322 FE 322D AE 85180A 003F 248E FF D51B D D E0E 00A 63B 0600580068245C FE EB 235C FE C7351400 FD 494F 188400702D 1600511E 8E 63 FE B06005800 DF 1B 2C 3C 36249D 7353F E C7351400 CC 2658 FE 4000F 52354 FE 6E 8E FE 239E B2C 060040009615 EA 3C 6E 2E 19 FF 3F 246 FE 246F 2451D 3C 7 FE D21 FE D AB 4354 FE 2504006E 7E EB 3F 0F 7248F 658C 3E 3 FE 583 FE 3F 583F 57 FF 8257F 57F 8257D 8257E 3E FE3 FF 8157D 8257C 7 FE D7151 FE D FE 4654 FE 2504006E EB 7E EB 3E 3F 0F 729 FE 729F 729 FE D735C 7351300C 74B F B D B E8E FE A63B 06005800 DF 1B 2C 3C B C48A 63B D735 FB B C B A B E FF B FE 0100A B FF 0200 DE 02001E 02005E FF 02005E 02009E FE 02002C B E FE 02007E FE 0200 AE 0200 FE 0200 EE FE 02002E FF 02003E 02006E 02007D 2A 001F 43 FF F323 AC B B36494F B BC B C FF 1A B F B F B D B F02072F B FF 02072F B F B C309C B A1000001633 FF 523672F B FF B C B F B FF 3659C B F3659C B FF 3659C 3659 FF B F3659C B FF 523672F 3659C 3659 FF 3659C 3659F B F3659C 3659 FF B F3659C B FF 3659C 3659F 3659C 3659 FF 523672F 36494C B F3633F 10003 F523 AC FF7C 3630002B 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 DB 494F 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 BC 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000C FF 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000F 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000E 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000D 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000C 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000B 417C 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000C 309C FF 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 a 63100000100 a 5259 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 FF 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000E 523 AC 7C 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000B 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 DB 494F 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 BC 381E 008C FF 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000F 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000C 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000B 417C 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000C 309C FF 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 a 5259 FF 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 FF 3818F 001 AC 523 AC 7C 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000B 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 DB 494F 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 BC 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000C FF 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000F 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000D 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000B 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000C 36309C 00172F 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000F 523F 7C 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000B 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 FF 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000F 5272F 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000B 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 FF 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000B 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 DB 36494F 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000B 36494F 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000C 36309C 3663ff 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 a 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000F 008F 523F 7C 7B 0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000F 5278F B0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 FF 3678F 3659F B0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000F B3678F 3660F B36494F B F0000002030203120302036203020362030203520302031302030203020302031203020312031352031342030203000 13000000594F 5520544F 55434820204D 59204D 4F 555448007B 417C 4206006C 309C FF 010003000600A 63100000100A 5259 010003000600 FF 38187800F 523 AC FF7C 010003000600B 010003000600 DB 494F 183A 00 BC 361C 008C FF 010003000600F 010003000600F 010003000600D 010003000600F 010003000600B 417C 010003000600C 309C FF 010003000600A 5259 FF25 FF 718002400 FE 010003000600C 010003000600 FF 01000C 010003000600 FF 010003000600 DE 010003000600C 010003000600F 4E 5F 494E 464F 00 BD 04 EF 010003000600C 65496E 010003000600F 736 010003000600F 6E 010003000600E 010003000600E 010003000600C 65496E 0000B 010003000600D 010003000600E 794E 616 010003000600E 010003000600F 010003000600E 010003000600E 36616C 010003000600E 010003000600E 010003000600E 36616E 010003000600E 54312E 4558450000000100020020200200010001003001000031752020100001000400E 80200003200000000000000000000000000000000000000002800000020000000000000000000000000000000000000000080000000000800000000000000 00000000 00008000000808000C 0C 0C 0000000 FF 0000000000000000 FF00 FF00 000000 FF00 FF00 FF00 FF 0000 FF 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008F 0770000000000000000000008 FFF 07777000000000000008 FF FF FF FF FF FF 0777777000000000 FF FF FF FF FF FF FF FF 0777700000000000 FF FF FF FF FF FF FF FF 0770000000000000 FFFF FF FF FF FF FF FF 0000000000000000 FF FF FF FF FFFF FF FF 0000000000000000 FF FF FF FF FF FF FF FF 000000000000 FF FF FF FF FF FF FF FF 000000000000 FF FF FF FF FF FF FF FF 000000000000 FFFF FF FF FF FF FF FF 000000000000 3900000000 0000 390000000000000000 FF FF FF FF FF FF 88880000000000000000 FF 0000 FF 88880000 EE 000000000000000088880000 EE 000000000000000000000000 EE 000000000000000000000000 EE 6300000000 EE 8FF 00000000000000000000 FF 256 FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF C1 FF FC 007 FFF 80001F F8000007F 800001F F800007F F80001 FFF 80001 FF 80001F 80001 FFF 8003F FF F803 FF F F FF FB 3 FB 26 FB 000000000000000028000000000000000001000000000000000000000000000 FF00 FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF C1 FFFC 3C 7E FF3 FC 1 0000000000000000 FF FF FB 3 FF 7FF Fb FC 7FF FB 0000000000000000 FF FD FF FF FF FF FF00 FF 3F 7FF 3F 000000000000000000000000000000000000 000000000000 FF3 FD 3 FB 3 Fb 7307 FB 3 Fb F FB FF FD FFFB FD FF FF FD FF FB FF C1 FF FC 3D FFFB C8C 1 FF F88C 8F FF FB CJ FF F83F FF FB FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF C1 FF FC 007F FF C0001F F8000007F 800001F F800007F F80001 FF 80001F 80001 FF 8003F F803 FF FFF 83F FF FB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF F80001 FF 80026F 80001 FF 8003 FF 80032 FF FF FF 10000000A 1316498 CA F51C 108B 7B 9A F8C 48E 68E 6000000000000000000000000534C 54470300090018000100 FF 04020000000000C 000000000463000000000000 FF FFDD 0000000D 000200360400000900000001436F 5D 704F 626A 00646972003131623434326163373300000000000000000000010522000000 FF FF FF 84000000 FF FF FF FF FF FF FF 010000000000 FC 8200020328000000 DF 00 FFFF 00FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF 0800000001000280 FFFF 0A 00FF 010000000008002A 5C 5261382A 2334 DF 0500 FF 011A 0000004A 00FF FF FF FF FF FF 0080120000000240 FF FF FF FF FF 1D 000000 FF 0000000001000000 FF FF FF FF 0000 FF FF 0000 FF 000000000100000004000100000000001C 00FF FFFF FF FF FF FF FF 01001600 CC 5104000000 FF FF FF FFFF FF 00000000000009040000010000000100000000000000000000000000000000000000 FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF 0000 FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 01000A 00313162343432616337330A 0031306234343261633733 FF 0E 000000 FF 00000000 FF FFA 1316498 CA F51C 10837B 9A F8C 48E 68E 60400B 200000000000000000000020120000 200000000000000000000020120020000 FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF A8C 0FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF 0000 FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF 6000 FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 1C 00FF FFFF 3600 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 9800 FFFF FF FF FF FF FF FF EF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF 0E 00FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 8800 FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 7000 FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF 4A 00FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF 2000 FF A73A 43E 3D FF 010C 414 494D FF 466F 726D E666F 436F 756E FF FF E666F 00D 511 FF FF F664E 616D F FF FF E766F 6B BE 8E B FF FF FF FF6 FF C766C 60 FF 2A 5C 477B D D D E5C 444F 5C 6F 652C E746C 62234F 4C 45204175746F 6D 6174696F 6E 00010C 0001200000000F 000000 FF FF FF FF FF FF FF FF 1400 FF 050794400500000005078D 40050000000100 FF 0200000001001200000000000000000020400000A 0009080000001000100 FE FF 030A 0000 FF FF FF FFFF 04020000000000C 00000000000004608000000545950454C 494200 FF FF 000200000000000000000000
Annex D4D 5a 80010500000020000000 FF 0000000000000000000040000000010000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008C D833 DB 8E D08B E35350B 80F 0150 CB B120B 80100D F D883F F BA 1F B409 CD 21B 001B 44F CD 21B 430 CD 213C F BA1E 03 EB 98E 98 062C 0033C 0033672F F B F FF F D F E26807D 043D F B F D F C26817E F D263672C 26807D 063D 7505 BA 4903 EF 9EF 72B 98D F D03B 419 CD F D80446C 603672C F C6072B 36447B 200 CD F C F B35E F B35E F B0023B 35F F D F B F F03B F B35E 35B 35E F D F B35E F B35B 3D F B3D F B3 E1E 2C 008B FE 803C 0074E AC 3B 74040F 78 CE 2B CF 83F 90174E 78F BFD 802F A44D 03 EB 9C BA 7603E FDFE 8E 062C 008B 3E 9D 0332C B FF F D18D 98D 18D 88C BE A4C FF8C 33E 77D 2268844 FE 32 ED 03F 18 3841 FD F A BF C369D 038E 1C 008B CB 49F A BF D80232C FF F D18D 2268844D 08D 19 0303D 19F 138C 821E 9D 03 BE D802F 48D 88C 08E 1E 03F 03 BE 5C 00C FE 704 BC C74FF C74402 CD 7440421B C74C 40E C7440E C821F 9800B 43F B9 FF BA 00011E 56 CB 080077696E 2E 636F 6D F F F D F D F D F F736F F E646F 77732E 0D F F F C F E6E 696E 67204D F F736F F E646F 77732E 0D F E24567E F C F F F D F F736F F E646F 77732E 0D 24 FF3672E 45050A 2F E0A F D F D F A F C F D0813A CC 02701D CC 02D 601C 0013672C 2017F 2017C F E F C F FF F F F C F C F C0013672C F C3678C 2013672C 2013678C 2017F F F 0000 FF D E C004A 001000 FF E D0300E CA 751F 51B 7B 9F 48E 60E CB 751F 51B 108B 7B 9C 48E 68E 00BC A400860000000000000006000000420166 CB 751F 51B 7B 9C 48E 65 CB 751F 51B 7C 48E 751F 51B 9C 48E 0065 CB 751F 51B 7B 9C 48E 6030068 CB 51B 9C 48E 6030068F 51B 7C 48E 751 FFFF 3400A 003C 000C 0014601D 6014 EC 014E A751F 51B 7B 9C 48E 662 CB F51B 662F 51B 7B 9C 48F 68B 9C 48 FF 3400A 003C 000C 0014601D 60101 EC 014E CB E6010068006C 0067 CB 751A A3F 51A A3B 7B9A A3C 48A A3E A A3 1689E A A3 DA 451B 10B A A3F 600E A A3A 4045A A3F 1689E A A3 DA 451B 10B A A3F 600D A A3A 801C 2010000000000000000A 402D A A3 1689E A A3 DA 451B 10B A A3F A A3 FC 0C A A3F 1689E A A3 DA 451B 10B A A3F A A3 FC 016A A A3 BA 027A A3F 1689E A A3E 1689 DA 451B 10B A A3F A A3A 402A A3D 002 CE A A3F 1689E 16872 DA 451B 10B A A3F A A3A A A3 BA 027A A A3F 1689F A A3F 36000000003600003689E A A3F 002 DA A A3F 1689E A A3F A A3B 451B A A3F A A3B A A3F A A3 DA 451B 10B 336F C00E 40 BE E DA 451B 10B 336F 00AC 05C 605000000000000000000000000000000000000000000000000000000 0000 201689E DA 451B 10B 336F E DA 10B 336F C005C DA 451B 10B 336F 00E DA 451B 406 DA 451B 10B 336F 000C CB 00000000000000000000 00000000F 51B 7B 9C 48 FF C8E 8B 336F 035803A 802 FA 07D 4024028 EA E451B 10B 451B 809F 600A 0000000000000000 6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 DA 451B 10B 17608002B 336F 336B 00030050005C 009E 0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300251689E 9 DA 451B 10B 17608002B 336F 60070003005000340A 0A 60070003005000340 DA 10B 60070003005000340F 60070003005000340C 60070003005000340E 60070003005000340 DA 451B 10B 60070003005000340F 36209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029E 60070003005000340 DA 10B 60070003005000340F 4034A 60070003005000340E 60070003005000340 DA 10B 60070003005000340F 360A 363672E 60070003005000340B 451B 10B 72F 60070003005000340A 3600A 60070003005000340A 36000000000000000000000000000000000000000000000000000000003672E 451B 10B 60070003005000340F 60070003005000340B 000000000000000000000000000000000000000000000000000000000000000000000000000000003672B 36000000000000360000000000003672F 36000000000000000000003672F 3600000000000000000000000000000000000036000000000000000000003672F 360000000000000000000000000000000000003672F 36000000000000000000000000000000000000000000000000000000000000000000000000000000003672F 36000000000000000000000000000000000000000000000000000000000000000000003672F 360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003672F 360000000000000000000000000000000000000000000000000000000000000000000000003672F 3600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 C F726D 31000D C80 00001C 140000 FF F C C000190100420023 FF F726D C80C BC 02B 4D FF 012A F6D 6E CC FF 6D 6D 616E CC FF C032B 004600974017401 FF 02C 0000 FF 032C 004032C 00480077401C C0000F 032C 0057401 FF 02C C0000F 032C 0037401C 0000 FF A B004C 0037401 FF C0000 FF A B004C 003017402 FF C0000 FF 032C 001017401C 0017401 FF C00174017401 FF C C0000 FF C032C 0000F 032C 0017401C 0000 FF 032C 0000F C032B 004E 7401E 001017401 FF C032C 0000 FF 032C 0000F C0000B 004E 0017401C 0000 FF C032F 032C 0000 FF C C0000 FF 032 0000000B 004000074017401 FF 02C C0000 FF C05004D FF 4D C FF B02000C 02000D F D E000E 2A 00566F D C F FF D6D 616E FF E E C FF F F070C E FF 03C 0001214001301 FF C FF A0003C 000121300 FF C C7C FF 03C 0001211301C 000121033A C C000121300 FF C C0003C 000120 FF 414A 0003C 032C 809 FF A0003C 000120 00C 000120 FF 032C C F807 CC FF A0003C C000120 FF 00C 032C CC FF A0003C C000120 FF C C C C C FF 000A F4D 4E 0003C 000120600 FF C C FF 000A 0003C C000120400 FF C C CC FF 000A 0003C 000120200 FF B DE 31362E 444C 4 0000007E FF C4003 FF F5A 42494E E CA 751 AA F51B 7B 9C 48E 751F 51B 9C 48E 751F 51E 751F 108B 9B 8C 48E 68E CA 751F 51B 7B 9C 48E 6E CA 751F 51B 7B 9C 48E 4D E F CB 751F 51B 7B 9C 48E 60000000000000000000000000000000000000000000000000000000000000000C 400500000000 DC 0D CB 751F 51B 7B 9C 8E 60048E 600000000000000000000000000000000000000000000000000000000000000000000000 BD FF 25 AF A C121 108 00020 AF 039A 68B 090 000A 000E AF A C157108 AF 0320 AF 039A 157108 AF 157121C 15720 AF 039C 15720 AF 030000000000000000000000000000000000000000000000000000000000000000000000010000002800 BD F51B 7B 8C 65 CB 751F 51B 9B 65E 751F 51B 7B 9C 48E 65 CB F751F 65 CB 65B AA F51B 7B 9C 48E 65 CB 751F 51B 7B 9C 48E 6690D E4F 43492E 4D4D 436F 6E 6F 006D 676B 6E 6D 6E 6D 6E 696E B676F 6E 67676E 766D A0000000B 0000000C 0000000D 0000000E 0000000F A0000001B 0000001C 0000001D 0000001E 0000001F 4D 436F 6E CC 2D 0005B F D0005B F726D 32000 FF 3C BC F4D 4D 100E C190C 190023 FF FF FF F726D 0F BC 02B 4D 100E E012C 6D FF F 6D 616E E4812 BC FF E FF F6D 6D 616E FF F C FF F6D 6D 616E FF C02C 000110000 FF A004D 4F 6E 6F 3100 FF0D 004D 43492E 4D 436F 6E 6C 7401 FF 07000F 03002B 7786E 7786A BA 0186E 7786A BA AF A157121C 00020 AF 039A 300000100000100000000000000000000000001010101010100000000000000000E 8000 FF FF F51B 7B 9C 48E 6B 514A C9300500000A C5420B 2000000000C A BC 360C 0090C 6F B417C 30 FF A525A 63000000000000000000A 117000000000000000000A FF A714080020002C 0014000000000008000000000000000C 00000001000000A 0FF 0200 BC 360C 0090 FF 0400000053746F 0400000053746B 41C 5420 0400000053746B 0400000053746E 0400000053746C 31A 0400000053746 FF 0400000053746D 25A 63117000000A 525A 0400000053746 FF A0400000053746A 0400000053746 FF 0200B 0400000053746C 0400000053746B 0400000053746 EA 27 BA FFEA 0400000053746B 93C 0400000053746B 84 0400000053746 00 BAEE 0 0400000053746 0000000000B 3633C 0400000053746B 0400000053746C 420 BA EA B301B 3010000000000B 95 0400000053746D 003C 33B 85204 BA C901C 900000000B 95D 0400000053746C 0400000053746B 81801 DC 01 EA 0400000053746B 003C 0400000053746B 0400000053746A 0000000000003672F 501F 0400000053746F 36360C 008C 00C 0400000053746B 3657B 0400000053746A 361173672A 0400000053746A 3600000000000000003672A 0400000053746A 0400000053746B 3600003672A 3600003657B 0400000053746A 3600003600003672A 0400000053746B 3600003672A 0400000053746B 3657B 0400000053746B 3600003657B 0400000053746A 3600003672B 3657C 3600003672A 3657B 0400000053746B 3657B 36 0014000000000008000000000000000C 00000001000000 a 0FF 02000000B 9F 2003D 33C 9B 82400 BA 0802 EA 0B 020B 020000000000B 9 EA 003D 33C 9B 85437 BA AE 02B 102B 102000000B 9E 2003D 33C D B88600 BA C402D C702C 7020000000000B 97D 003D 33C D B D EC 11 BADA 02EA 02 DD D B D C D B D F606 BA 002 EA F302F 302000000000000000000B D D33C 9B 8380 BA 0603 EA 72B D FA 3B 36003D D C D B02 BA 03a 03 EA 1F 031D B202 BA 3203B 302000000000000000000003672B 3633B 33C D B3000007B D B30000072 a D B3000003672 a D B3000003672B D B300000B D a 3000003672 a D B300000 a D B3000007B D B3000003 a 3000007B D B300000B D B3078B D B3000003 a 300000B D B3078B D B3000003B 3B 300000 FF 361000A 0FF 0900000057617665417564696F B007C 4206006C 3090 FF 050003000600A 63115000000A 52590 FFBC 361400A 0FF 0C 000000433A 5C 414E 47454C 2E 57415600007B 417C 4206006C 3090 FF 050003000600A 63116000000A 52590 FF 360C 00A 0FF 040000004F 040000004E 00007B 417C 040000004C 3090 FF 040000004A 63117000000A 52590 FF A714002000E 040000004 FF 040000004D 2D 0A 43 AC FF 523F 523 AC 7FF 7E 040000004C 30367C 30367C 30457C 30417 3630307C 040000004C 040000004C 30307C 0000 DB 185A 00BC 040000004C 040000004 FF 040000004F 040000004C 040000004E 36248C 248F C248C 0556C 055C 056C 008C 0000C 008C 4C 008C 9C 35F 35C 055C 8F 35C 8C 055 FF 3C 8F 35C 8F FF4 FF DB C FF 1904001C 0010008E 053818E 801F 523 AC FF7C 3624001E 00000030317C 30367C 30367C 30357C 30417C 30307C 30327C 30327C 30348C 30307C 0000 DB 494F 185A 00BC 3614002C FF0D 00000053544F 502020504C 4159494E 470019474C FF3F 244C FF 365C FF 366C FF 367 AA 368C FF 4619 EA 05 EA 11E 9C FF4F 473C AE 250A 004C FF5C FF6C 7FF C C190400200010005F 523C 523F 7F C E53 DB 84494F 184800 BC 360C 002C 0500000033333333330019474C 3C F C FF 244C FF AA 35C FF7C 8 FF 366C 367F 368C 9C 7F 7C 7FF 7C 8 FF 369C 8 FF 004 FF 7F 004 FF8C 8 FF 67C 3818E 800F 523 AC FF7C 3620001A 00000020342031312031322031332031342031352037203820392031300000 DB 494F 184800 BC 360C 002C FF 0500000034343434340019474C FF3F 244C FF AA 365C FF AA 366C FF 367C FF AA 368C FF 4619 FF 511E 9C FF4F 473C FF 250A 004C FF5C FF6C FF7C FF8C FF 38187200F 523 AC FF7C 3620001A 00000020352031312031322031332031342031352037203820392031300000 DB 494F 184400 BC 360C 002C FF 0500000035353535350019474C FF3F 244C FFAA 365C AA 366C FF 367C FF 368C FF 4619422F 422F E9C FF4F 494F AE 250A 004C FF5C FF6C FF 7F 638C FF 25 AC 7140800840082021C 00000000001000000002000000A 7140800840082021C 00000000001000000002000000 AC 010FF 03C FF 000000050000004C 02005C 02007C FF7C 0208F 8C FF 02000000702D 0E 00511E 7E FF CD 1E3F 248E FF C02C E FF 702D 0E 00511E 4E FF CD 1E3F 245E FFC 02C E FF 372D 2E FF 702D 0E 00511E 0E FF CD 1E3F 241C C FE 372D FE 702D 0E 00511E CE FE CD 1E3F DE FE C02C BE FE 372D AE 702D 0E 00511E FECD 1E 3E 249 FE C02C E FE 372D 6E FE 85183000702D 0E E00511E 8E FE 1E 3E CD 3F 245E FF C C E FE 702D 1600 CF 35 FD 49831E FE 322D 7E FE 85180A 003F E51 FFD B D12 EB 3E 00A 63 FD 7342C 494F 46236D 5184F 4651D 463E 7377E 8E FE 3E F43F E8E FE A63B 06007000 DF 1B 2C 3C 48D 7353E FFC 7351400 CC 2668 FE D402 EB 239E FF 1B 2C 3C FE 3F 2458 FE E0368 FE 0000 CD 1EC 02 CE FE C4354 FE 2458F 2458 FE 0368 FE 0100 CD 1 CCE FE C4354 FE 2458E 0368 FE 0200 CD 1 CE 02 FE 4354 FE 3818 FC 013F 2458 FE 0368 FE 0300 CD 1 FE C4354 FE 3818D 6012153 FE E030400 CD 02 CE 3 FE 4354 FE 3818B 0013 FE 038 FE 0368 FE 030500 CD 02 CE 4302 FE 4354 FE A2458F 038E 03FEE 060FE 0600 CD 1 CE 02 CE F4354 FE A013F 2458F 032158 FE 03FEs 0368 FE C F4354 FE F2458 FE E0368 FE 0700 CD 1 CE FE C4354 FE E013F 2458 FE 0368 FE 0800 CD 1 CE FE C4354 FE F2458 FE E0368 FE 0900 CD 1 CE FE C4354 FE 3818F 2003 2458 FE E0368 FE 0A 00CD 1 CE 02 FE C4354 FE 3818 CC 003F 2458 FE 0368 FE0B 00CD 1 CCE FE C4354 FE 3818A 6003 2458 FE E0368 FE0C 00CD 1 CE FE 4354F 2458 FE E0368 FE 0D 00CD 1 CE FE C4354 FE F2458 FE 0368 FE 0E 0368 FE00 CD 1 CE C02 CE FE C4354F 2458 FE 0368 FE 0E 031 CD 00 CE FE C03FE 3606000100000045001F 4354 FE 381834003F 2458 FE E0368E FE 0F 00CD 1E C C CE FE 851812007C 3606000100000046001F 4354 FE 38180E 007C 360600010000003F 001F 4354 FE A52558 FE F52350 FE 52350F 52354 FE8D 4C AB 4350 FE EB 239E 151C DF 35151C 6D 3AE 438F 61 EB 239E 151C 6D 3D A F61E 942E 9494F 181400F 52350 FE 7C 360600010000007C 008D 4CAB 4350 FE 3F 249E FE 72668 FE2C FD 3F 2450 FE 190800340010000205A 71438181800 EB 6381735C FE 735D 7351300C 74B F181800702D 1600511E FE 63 FE 1600511E FE 63B 1B 2C 3C 1600511E A63D 1600511E FF 1600511E F1600511E FE 02072F 02072 FE 02002C E FE 02007E FE 0200 AE FE 0200 BE FE 0200 FE 02002E FF 02003E FF 02006E FF 0200 BC FF 0F 4F F B41C 5420B E31A FF D25C 930002000100A FF 0F 4F B41C 5420B E C31A FF D25C 930010002000100A 525A BC 362C 0090 FF F4F F F45206F B41C 5420B E C31A D25C 930002000100A FFBC 0090 FF E534F 41C 5420B E31A FF D25C 930002000100A FFBC 00361C 90 FF E534F 41C 5420B E C31A FF D25C 930010002000100A BC 361C 0090 FF E534F 204E 204D 4F F F F 4E 00007B 41C 5420B E C31A FF D25C 525A FF BC FF 1A E534F 204D 4F 4E 206F 6E B41C 5420B E31A FF D25C 930010002000100A 525A FF BC 361C 0090 FF E534F 204D 4F B41C 5420B E31A FF D25C 930010002000100A 525A FF BC 0F B41C 5420B E C31A FF D25C 930002000100A 0010002000100A 525A FF 0F B41C 5420B E31A FF D25C 930002000100A FF D25C 932000100A FF F C41C 5420B E31A FF D25C 930000100A 525A FF BC 1F 4F F41C 5420B E C31A FF D25C 525A FF BC 362A 0090 FF F C E4F B41C 5420B C31A FF D25C 930010002000100A 525A FF BC 2E F284C 454E C20434D B41C 5420B E C31A FF D25C 930010002000100A 525A BC 363A 0090 FF F C492 4F C20434D B41C 5420B C31A D25C 930000012000100A FF BC 1A 534D F D41C 5420B E C31A FF D930010002000100A FF D25C 930010002000100A BC 525 FF D D25C 5420B E C31A FF D25C 930010000100A BC 0F F544C 20534C 4F B41C 5420B E C31A FF D25C 930010002000100A 525A FF BC FF B41C 5420B E C31A FF D25C 930010002000100A 525A FF BC FF 522E 492E F534D B41C 5420B E31A FF D25C 930010002000100A 525A BC FF 2C E522E 492F 204A F E534D 41C 5420B C3140 FF D25C 930002000100A 525A FF BC FF E522D 204B 007C 5420B C31 FF D25C 930010002000100A 525 FF A BC FF 522 FF D361C 0090 FF 522E 2D 4D F00007B 41C 5420A 000000113B 0000943E 010000000C 31A 0FF 040003001025C 930010002000100A 525A 0FF 36140090 FF 0C 000000432E 522E 20524553455400007B 41C 5420B 5420A 000000113B 0000943E 010000000C 31A 0FF 040003001D 25C 930010002000100A 525A 0FF D735593C 06007000A 71404002000500614000000000008000000000000000C 00000001000000A 71404002000500614000000000008000000000000000C 00000001000000 FF 02007C 71404002000500614000000000008000000000000000C 00000001000000C 30A 71404002000500614000000000008000000000000000C 00000001000000 FF 71404002000500614000000000008000000000000000C 00000001000000C 3190 FF 20000000A 525A 71404002000500614000000000008000000000000000C 00000001000000 BC 360A 0080 FF 71404002000500614000000000008000000000000000C 00000001000000B 41C 71404002000500614000000000008000000000000000C 00000001000000E 00000C 31000090 FF 360B 71404002000500614000000000008000000000000000C 00000001000000D 25A 6310A 633672A 52590 FF BC 80A 80 FF 71404002000500614000000000008000000000000000C 00000001000000B 41C 000072F 00008A 003672B 00000C 0003672A 71404002000500614000000000008000000000000000C 00000001000000D 6372A 00008A 003672B 003680B 71404002000500614000000000008000000000000000C 00000001000000B 41C 71404002000500614000000000008000000000000000C 00000001000000F 00000A 5200008F 71404002000500614000000000008000000000000000C 00000001000000A 00008A 000000008A 00003672A 00008A 3600008A 71404002000500614000000000008000000000000000C 00000001000000F 5200008A 71404002000500614000000000008000000000000000C 00000001000000A 3180A 71404002000500614000000000008000000000000000C 00000001000000A 318A 71404002000500614000000000008000000000000000C 00000001000000F 71404002000500614000000000008000000000000000C 00000001000000A 318A 71404002000500614000000000008000000000000000C 00000001000000A 3180F 71404002000500614000000000008000000000000000C 00000001000000A 318A 71404002000500614000000000008000000000000000C 00000001000000A 318A 71404002000500614000000000008000000000000000C 00000001000000 FF 31A 3180A 0003 FF 31A 71404002000500614000000000008000000000000000C 00000001000000A 41C 54206000000113B 0000943E 000000000C 3190 FF 54206000000113B 0000943D 25A 6310 54206000000113B 0000943 000100A 52590 FF 360A 0080 FF 54206000000113B 0000943B 11C 54206000000113B 0000943E 000000000C 3190 FF 54206000000113B 0000943D 25A 6310 54206000000113B 0000943 000100A 52590 FF 360A 0080 FF 54206000000113B 0000943B 41C 54206000000113B 0000943E 000000000C 3190 54206000000113B 0000943D 25A 6310 54206000000113B 0000943A 52590 FF 360A 0080 FF 41C 54206000000113B 0000943E 00000C 3190 FF 25D 25A 6310 54206000000113B 0000943A 6372 FF 000100A 52590C 590A 52590C 54206000000113B 0000943E 00000E 000000000C 3190 FF0B 54206000000113B 0000943D 250C 54206000000113B 0000943A 00021D 21D 54206000000113B 0000943A 000000000C 00000C 00008B 54206000000113B 0000943B 00008C 00000B 00003672C 00008B 00008C 00008B 54206000000113B 0000943B C037C E000000000 3124 FF D250C 3114 FF0B 000100D 21A 24310 FF 4619E 614E 614C 037C E000000000C 3100 FF D250C 31F FE0B 000100D 21A 243 EC FE C037C 000000000C 31 DC FE D250C 31 CC FE0B 000100D 21 DA 243C FE C037C 000000000C 31B FE D250C 31A FE0B 000100D 21A FE C037C 00000C 3194 FE 250C 3184 FE0B 000100D 21A 24380 FE 4619C 00000E 3170 FE 250C 3160 FE0B 000100D 21A 2435 FE C80 FE 80C 474C FE C58 FF F10 FF FE C FEA 5C FE6 FF A6 FF 00000 C FF5C FF 48 FF38 FF 24 FF 14 FF 00F0 FE DC FE CC FE FE A8 FE 94 FE84 FE60 FE C54206000000113B 0000943E 000000000C 3160 FE0B 0003001D 250C 3170 FE0B 000100D 21D A2435C FE C54206000000113B 0000943E 000000000C 3184 FE 0A 0003001D 250C 3194 FE0B 000100D 21 0003001A 24380 FE8D 4 0003001A 0003001 FE C0003001B 000000000C 31A 0003001 FE 0003001D 250C 31B 0003001 FE0B 000100D 21C 0003001A 243C 0003001 FE 4D4 EC FE 0003001E 000000000C 31 CC 0003001D 31C 0B 000100D 21 FF8 FF 2472 FF 248D 2472F 000072E 00000C 00000F 0003001F 00008F 3F 00008D 2451F 3F 00008D 2451D 2400008D 2472D 3 FE 060003001D 250C 3124 FF0B 000100D 21D A24348 FE8D 4C A24344 FE C54206000000113B 0000943E 000000000C 3138 FF 050003001D 250C 3148 FF0B 000100D 21D A24340 FE8D 4C A2433C 54206000000113B 0000943F 000000000C 315C FF 040003001D 250C 316C FF0B 000100D 21D A24338 FE8D 4C 424334 FE C54206000000113B 0000943E 000000000C 3190 FF 030003001D 250C 31A 030003001 FF0B 000100D 21D 24330 FE8D 4 030003001F 244C FE 0A 3C 3F 1C 030003001 FE 19 24328 FE8D 4 24324 FE 324F 735F 01 EA 24320 FE8D 6F 1E 00 FE 4710F 4710C 030003001 FF3 FF7 FE 30F 7F 030003001 FF 30 FE 26F 030003001 FF3F 26F 24 FF3F 24 FE 3F 24 FF3F 24F 030003001 FF3F 3 FF3F 030003001 FF3F 3C FE 28 FE24 FE 20 FE AF 25240060 FE 70 FE84 FE 94 FE A8 FE B8 FE CC FE DC FE F0 FE00 FF 14 FF 24 FF38 FF 48 FF5C FF6C FF 90 FF A0 FF3F 2410 FE 8E 1D6F 1E60 FE7B 41C 54206000000113B 0000943E 000000000C 3100 FE 110003001D 25A 63100000100 AE 25040000 FE60 FE 3F 244C FE 0A 1C4B 1956365636A 24320 FE F01E A24324 FE8D 4C6F 1E60 FE7B C54206000000113B 0000943E 00000C 040FE 0F 0003001D 25A 6300122500C 63735 FE24 FE 25040000 FE60 FE 3F 2410 BE 1D6F 1F 60 FE7 000B C0000000000000C 3100 FE 0003001D 25A 11163 25040000 FE 4029A B001B 4061 3961 FE 02004C FE 0200A 40000002700000020 FE 010024 FE 010028 FE 01002C FE 010030 FE 010034 FE 010038 FE 01003C FE 010040 FE 010 010044 FE 010048 FE 01005C FE 010080 0100A 4 FE 0100C 8 FE 0100 EC 010010 FF 010034 FF28 FF 01007C FF 020060 FE 020070 FE 020084 FE 020094 FE 0200A 8 FE 0200B 8 FE 0200 CC FE 0200 DC 0200F 0 FE 020000 FF 02036014 FF 68672 FF 8272 FF 8253 FF 020094 FE 0200A 020038 FF 0200 BC 020038A 020038 FF 020038 FF 3670 FF 3660 FF 3650 FF 3640 FF FF 3619 FF 432 FF3 AA 3680 AA 020038 FF 020038 FF 3633 FF 3680 FF 3633 FF3 FF 432 FF3 FF 33 FF 3680 FF 36 FF 70 FF 60FF 50 FF 40 FF 30 FF 5232F 5232C FF 6F 1EA C FF 7B 417C C C3030 FF C A63116000000A 52530 FF BC 360C 00A C FF C F C E00007B 417C C C3030 FF C A63117000000A 52530 BC 360A 00A C FF C B41C C E0000000000000C 3130 FF0B C D25A 6310C 000100A 52530 BC 360A 00A C FF C B41C C E00000C 0FF C D25A 6310C A5272A 63100A C A52530A 526351A C A52530C 52530 FF 43A 5235 FF 43A 3600000E 00000A 3600000A C A0003672B 0003672A C FF 630A C B C A3600000A 3600003A C B0003A C FF C A C B3600000A C A3600000A 3600003A C A3600000 FF C A0003A C A360 D25A 6310B 000100A 52530 FF BC 360A 00A 0FF 02000000303200007B 41C 54206000000113B 0000943E 000000000C 3130 FF 54206000000113B 0000943D 25A 6310 54206000000113B 0000943 000100A 52530 FF BC 360A 00A 54206000000113B 0000943 FF 54206000000113B 0000943B 41C 54206000000113B 0000943F 000000000C 3130 FF 54206000000113B 0000943D 25A 6310 54206000000113B 0000943 000100A 52530 FF 360A 00A 54206000000113B 0000943 FF 54206000000113B 0000943C 54206000000113B 0000943E 000000000C 3130 FF 54206000000113B 0000943D 25A 6372 000100A 52530 BC 360A 00A 54206000000113B 0000943 FF 54206000000113B 0000943B 41C 000000000C 3130 FF 54206000000113B 0000943D 25A 6310 54206000000113B 0000943 000100A 52530 FF C54206000000113B 0000943E 00000C 3130B 54206000000113B 0000943D 250D 3140C 3140 FF0B 000100D 21D 54206000000113B 0000943A 1C 5A 1A 54206000000113B 0000943E 00000C 310A 310C 310B 3172D 54206000000113B 0000943F 3C 310A 3172C 3172F 54206000000113B 0000943B 310C 310B 54206000000113B 0000943F 3C 3172B 310B 3C 3172F 54206000000113B 0000943B 3C 310B 3F 3B 3F 54206000000113B 0000943B 3C 00000C 3F 3B 00000C 3D 54206000000113B 0000943B 3F 3B 3D 54206000000113B 0000943B 000100D 21A 24320 FF 4619 BA 1C BA1 037C E000000000C 3190 FF 250C 3110 FF0B 000100D 21A 2430 FF 4619 FA 1C EA 1 037C 000000000 FC FE D250C 31 EC FE0B 000100D 21A 243E FE A1D 1 037C E00000C 31D FE D250C 81 FE0B 000100D 21A 243C FE A1D 4 037C 00000C 31B FE D250C 31A FE0B 000100D 21 DA FE 46243A 46197A 1D 7C 00000C 3190 FE D250C 3180 FE0B 000100D 21A 244619 FE 19D 1D 037C 00000C 000000000C 316C 250C FE0B 100D 21A 24358 FE 46814C 814C A0 FF4F 4748 FE C225120028 FF 24 FF20 FF 0C FF E8 FE C4 FE A0 FE 7C FE 58 FE 25240030 FF 40 FF50 FF 60FF 70 FF80 FF10 FF FC FEEC FE D8 FE C8 FE A8 FE90 FE80 FE 6C FE 5C FE 8E 00000C FE0B 8D 250C 316C FE0B 000100D 21 8A 24358C FE 8E 00000C 3180 FE 0A 8D 250C 3190 FE0B 000100D 21 FE 21A 2480D 21A 243637 FE8D 4CA 243A 8 FE C8E 000000000C 31A8 FE 250D 31C 243B 8 FE0B 000100D 21C 8 FE8D 8E 8C 3600000E 00000C 8D 8F 3C 8E 00003672C 8D 31C 8F 8D 0003672B 8 FE0B 000100D 8 FE8D 8E FF 8D 4C A FF 24320 FF C54206000000113B 0000943E 000000000C 31 EC FE 070003001D 250C 31FC FE0B 000100D 21D A24324 FF 8D 4C A24328 FF C54206000000113B 0000943E 000000000C 3110 FF 060003001D 250C 3130 FF0B 000100D 21A 24FE 8D 4C A24340 FE 54206000000113B 0000943E 000000000C FF 050003001D 250C 3150 FF0B 000100D 21D A2433 FE8D 4D FE C24338 FE D E00000C 3160 FF 250D 250C 3170 FF0B 000100D 21D D A24FE 8D 2458D 4F 245726F 2432 FE 2432F 2451F 2472A 2453D 2453F 2451F 3E 00003E 00000C 318 FE 243672F 24567F 3F 24567F 245631F 3E 3F 24567F 24563F 3E 3F 3E 00003F 24563F 24567F 24563F 24567F 3F 2456b 24563F 3F 24563F 7C FE A0 FE C4 FE E8 FE0C FF20 FF 24 FF28 FF 44 FE40 FE 3C FE38 FE 30 FE2C FE 28 FE24 FE 20 FE 1C FE AE 2524005C FE 6C FE80 FE90 FE A4 FE B4 FE C8 FE D4610 FF 30 FF 40 FF50 FF 60FF 70 FF 90 FF3F 240C FE 1D6F 1E 5C FE7B C54206000000113B 0000943E 000000000C 31FC FD 110003001D 25A 100000100 AE 250400 FC3F 2448 FE 0A 1C4B 1992179217A 24C FE F01 AE 249A 24320 FE8D 4C6F 1E 5C FE7B 41C 00002E 0000000000000C 31 FD 8223D 25A 100000100 AE 250400 FE 6327 FE 3F 35F 3F 24598F 3A 1C 4F 1C4B 1992179217A 2451 FE 7F 5F 43F 000043F 0000000000000000 FE 868431 FD5C FE 3F 240C FE BE 1D6F 1E 5C FE7B 41C 54206000000113B 0000943E 000000000C 31FC FD 0C 0003001D 25A 63111000100 AE 250400 FC FD5C FE A7140400B 401440720000000000014000000030000002C FF 01000C FE 020048 FE 0200A 4000000270000001C FE 010020 FE 010024 FE 010028 FE 01002C FE 010030 FE 58 FE 01003C FE 010040 FE 010038 FE 01007C 0100A 010038 FE 0100C 010038 FE 0100E 010038 FE 01000F 0100100100100100F 02005C 02006C FE 010038 FE 0203672 FE 02072 FE 010038A 010038 FE 0200B 010038 FE 0200F 0200C 0200F 010038 FF 010038 FF 010038 FF 010038 FF3 FF 010038 FF 0200C 02072 FF 010038 FF 010038 FF 010038 FF 010038 FF3 FF 010038 FF3 FF 0200C 0200F 010038 FF 010038 FF 010038 FF 010038 FF3 FF 010038 FF 33C 0200F 010038 FF 010038 FF 010038 FF 010038 FF 33 FF 000100D 21D 6F 1E 70 FFCD 1E FF C02 FF7C 3050 FF0A C3140 FF0B 000100D 21F 1E 20 FF CD 1E 893630 FF C02D 372D 00FF 7C 30F 31E FE0B 000100D 21F 1 FECD 1E 8936D FE C02B FE 372 FE 7C 3090 FE C3180 FE0B 000100D 21F 1E FE CD 1E FE 50 FE 372D 40 FE 7C 3030 FE C3120 FE B000100D 21D 1E 00 FE CD 1E FE C02 FD 7F 7C 3120 FE0B 000100D 21D 1E FD 3F 7C 30D FD 0C FD 000100D 21D 6F 1 FD CD 1 FD1 CD 1 FD E8936B C02 FD 372D 80 FD7C 3070 FD C3160 FD0B 000100D 21F 1E 40 FD CD 1E FD C02 FD30 FD 372D 7C 3010 FD 0C 3100 FD0 000100D 21F 1FC CD 1E 8936F FC C02D FC 372C FC7C 30B FC C31A FC0B 000100D 21F 1E FC CD 1E FC C02C 60D FC 60 FC AE 253600A FF 90 FF 70 FF50 FF 40 FF F FE C FE60 FE 30 FE00 FED FD C FD70 FD60 FD 40 FD10 FD 00FD E FC B FC 80 FC BC 36260090 FC 1F 0000002020594F 55204449444E 27542050555420414C 4C 205448452056414C 55455300194760 FC3F 2460 FC E036F 0 FC 3000 AA 3670 FC AA 3680 FC AA 36A0 FC 46199A 25511E 50 FD4F 4750 FC 25080060 FC70 FC 80 FC A0 FC A71438183A 047C 4206006C 3060 FC0B 00030006000C 3170 FC0B 000100D 21D A2434 FC 094D D A7C D C3080 FC0A D C31A D FC0B 000100D 21 FC 24348A 24348D 094D D A D C D C30B D FC3C 31C D C000100B 000100D 21D D A24344C D D D C D C30D D C3D D C3E D C093C 3D D C093D D C3D D A2436093D D C3D D A243672D D C3D 36 C3020 FD C3130 FD0B 000100D 21A 24338 FC 094D C3040 FD C3160 FD0B 000100D 21A 24334 FC 094D A C3070 FD C3180 FD0B 000100D 21A 24330 FC 094D A C3090 FD C31A FD0B 000100D 21A 2432 FC 094D A8137C FC48 FC 40C FC 34 FC 30 ZC FC AE FC70 FC 80 FC A FC C FC D FC 00FD 10 FD20 FD30 FD60 FD 80 FD 90 FD A FD4F BC 2A F55Z 0444944 AE 20414C 4C FC3F 2460 FC E036 FD F FC 3000 AA 3670 FC AA 3680 FC AA 36A FC 4619C 027C E FD4F 4750 FC AE FC70 FC 80 FC A FC A C3060 FC0B 3170 FC0B 000100D 21A 2432 FC 4619 FE 25 FE 25C 7C 3080 FC0A C31A FC0B 000100D 21A 24330 FC C C30B FC C31C FC0B 000100D 21A 24334C C30D FC C31E FC0B 000100D 21A FC 46197C 267C 26C C3000 FD C3110 FD 3110B 000100D 21A 2433 FC 4619A 626C C3020 FD 3130B FD 000100D 21A 24340 FC 4619D 026D 026C C3040 FD 026 0500030006000C 3160 FD0B 000100D 21 0500030006000A 24344 FC 4619 FA 26C 0500030006000C 0500030006000C 3070 FD 0500030006000C 3180 FD0B 000100D 21 DA 24348 FC 0500030006000C 0500030006000C 0500030006000C 3090 FD 0500030006000C 31A 0500030006000 FD0B 000100D 21 0500030006000A 2434 FC 4619F 827F 827C 0500030006000C 0500030006000C 30 FC 34 FC38 FC3C FC 40 FC48 FC4 FC 0500030006000 AE 0500030006000 FC70 FC 80 FC A0500030006000B 0500030006000C FC 72 FC3 FD20 FD30 FD 40 FD70 FC 80 FC 40 FC48 FC 72 AA FD4F 0500030006000 AA 0500030006000D 0500030006000 FC 72 FD10 FD20 FD 30F FD 40 FC3F 0500030006000F 0500030006000D 0500030006000F 3FC 3F 0090E 3F 3F 3F 0500030006000F 0500030006000 FC 72 FC 3FC 72F FC FC70 FC 80 FC A FC 7147C 3060 FC0B C3170 FC0B 000100D 21A 2432 FC A281A 287C 3080 FC0A C31A FC0B 000100D 21A 24330 FC E283E 28C 0377C 30B FC C31C FC0B 000100D 21A 2457 FC C0377C 30D FC C31E FC0B 000100D 21 DA 24338 FC C0377C 3000 FD0B 000100D 21A 2433 FC 4619 AA 28C 0377C 3020 FD C3130 FD 3D 21A 24340 FC 4619 CE 28C 0331177C 3040 FD C3040 FD C FD 3F FD0B 24344 FC 4619F 228C 0377C 3070 FD C FD 318D FD0B 000100D 21A FC 24C 0377C C3090 FD C31A FD0B 000100D 21 DA 2434 FC 46192C 1C 2C 1FC 4F 471C FCC FC 30 FC 34 FC38 FC3C FC 40 FC 44 FC48 FC4 FC AE 70 FC 80 FC A FC B FC C FC D FCE FC 00FD 10 FD20 FD30 FD 40 FD60 FD70 FD 80 FD 90 FDD FD7C 3060 FC0B 3170 FC0 000100D 21A 2432 FC7C 3080 FC0A C31A FC0B 000100D 21A 24330 FC8D 4CA 24334 FC7C 30B FC C31C FC0B 000100D 21A 24330 FC8D 24334 FC7C 30C FC C31C 2D FC 0C 000100D 2D 24338 FC8D 4C 2433 FC7C 30C 31C FC 0C 000100C D21A 24340 FC8D 4 24344 FC7C 3000 FD 3110B 000100D 21A 24348 FC 8FC 4 2434 FC7C 3020 FD C3130 FD0B 000100D 21A 24318 FC8D 24314 FC7C 3040 FD 0C 3160 FD0B 000100D 21A 24310 FC8D 4 2430 FC7C 3070 FD C3180 FD0B 000100D 21A 24308 FC8D 24304 FC7C 3090 FD C31A FD0B 000100D 21A 24300 FC8D 4 FB 3F 241C A1C 19562B 562 FB 8F 243D 4CA 243F 735F 01A 243F FB8D 4 EC 2C 3C 06002 CB 3D 1400C 2 FC 30 FC 34 FC 2250C 2252B 19562B 562 FB 2F 243F 4D 3C 243F 38 FC 3FC C FC 40 FC 44 FC48 FC4C FC 18FC 14 FC 10 FC 0C FC 08 FC04 FC 00 FC FB F8 FB F4 FB 0 FB EC 25240060 FC70 FC 80 FC A0 FC B0 FC C0 FC D0 FC E0 FC 00FD 10 FD20 FD30 FD 40 FD60 FD70 FD 90 FD A0 FD 2C 3C 06002C 009F 3D 1400363D FB 4A 2008407C 4206006C 3060 FC 110003000600A 10006300100F FB 2C 06002C 1400 CB 25 EC A52560 FC3F 241C 0A 1C 4F B19961F 961 EC 82243 FB 735F 01F E A F0 FB 4C6 861E 70B 003600B 10006300F 523C 3C 00 FB 3C 1400 CB 25 EC A52560F 5200F 1F 961F 3060F 30600F 3060F 3069C 3060F 3060C 1F 2F FB AE FC FC 2C 3C 06002C 009F 3D EC FB 4A C3060 FC 0C A F523 EC FB 2C 3C 06002C 00 CB 3D 1400C 325 EC FB A52560 FC A7140400C 1C FC 02001C 02000C EC FB 0100F FB 0100F FB 0100F FB 0100 FC FB 010000 FC 010004 FC 01000C FC 010010 FC FC 01002C FC 010030 FC FC 010FC 01003C FC 010040 FC FC 01004C 010FC 060 FC FC 0200A FC 0200B FC 0200C FC FC 0D FC 0200E 020000 FD 020fd FD 0200A FD 0200C FC 01004C FC 010FC 060 FC FC FC FC FC FC FC FC FC FC FC 0200D FD 0200E FD 0200F FD 020000 FE FE FE 020040 FE FE 020050 FE FE FE FE FE FE FE 0200A FF 0200B FE 0200C FE 0200E FE 0200F 020000 FF 020010 FF 020040 FF 020050 FF FF FF 0200A FF 0200 BC 360A 0090 FF B417C 30A FF0B 6310 000100A FFBC 360A 0090 FF B417C 30A FF A6310 000100A FF7C 30A FF0B 3180 FF0B 000100D 21F 1E 70 FF CD 1E C60 FF7C 3050 FF 0C 3140 FF0B 000100D 21F 1E FF 0F 1E 20 FF 1C 3 FF 0C 02C 10 FF 372D 00FF 7C 30F FE C31E FE0B 000100D 21F 1 FE CD 1E 8936D EE C02B FE 372 DA FE 7C 3090 FE C3180 FE0 000100D 21F 1E60 FE CD 1E FE C02 FE 372 40 FE 7C 3030 FE 3120 FE0B 000100D 21F 1E 00 FE CD 1E FE C02 FD 372 FD7C 30D FD C31C FD0B 000100D 21F 1 FD CD 1E 8936B FDC 02 FD 90 FD 372D 80 FD7C 3070 FD C3160 FD0B 000100D 21F 1E 40 FD CD 1E FD C FD30 FD 372D 20 FD 7D C3010 FD C3100 FD0B 000100D 21F 1FC CD 1E 8936F C02D FC 372 FC7C 30B FC 31A FC0B 000100D 21F 1E 80 FCCD 1E C02 FC 372D 60 FC 250A FF 70 FF 40 FF20 FF F FE C90 FE FE FE 30 FE00 FE D FD C FD70 FD60 FD 40 FD 00FD E FC B FC 80 FC BC FC 1F E C4C FC3F 2460 FC E036F FC 3000 AA 3670 AA 3680 FCAA 36A FC 315A 31511E 50F FD4F 4750 FC AE FC70 FC 80 FC A FC A047C 3060 FC0B C3170 FC0B 000100D 21 DA 2434 FC 094D A7C 3080 FC0A C31A FC0B 000100D 21A 24348 FC 094D A C30B FC C31C FC0B 000100D 21A 24344 FC 094D A C30D FC C31E FC0B 000100D 21A 24340 FC 094D A C3000 FD C3110B 000100D 21A 2433 FC 094D C3020 FD 0C FD0B 000100D 21A 24338 FC 094D A C3020 FD 0D 2B 000100D 21A 24338 FC 4D A C3040 FD C3160 FD0B 000100D 21A 24334D A C3070 FD 0D C3180 FD0B 000100D 21A 24330 FC 094D A C3090 FD C31A FD0B 000100D 21A 2432 FC 094D A8137C FC 44 FC 40 FC3C FC38 FC 34 FC 30 FC 2C FC AE 70 FC 80 FC B FC C FC D FC FC 00FD 10 FD FD FD FD FD FD30 FD 40 FD60 FD70 FD 90 FD A FD4F BC FC 2A F20414C 4C FC3F 2460 FC E036F FC 3000 AA 3670 FC AA 3680 FC 36A FC 50 FD4F 47FC AE FC 80 FC A FC C3060C 3170 FC0B 000100D 21A 2432 FC 4619F BE 31 BE 31C 7354600364B 7C 4206006C 3080 FC 0C 0A 00030006000C 31A0 FC0B 000100D 21D A24330 FC 4619E 831E 831C 7354600364B 81377C 4206006C 30B0 FC 0900030006000C 31C0 FC0B 000100D 21 0A 24334 FC 0C 0C 30D 0C 31FC 0C 31E0 FC0B 000100D 2421 DA 24338 FC 0C 323C 32C 0C 3000 FD 0C 3110 FD 000100D 21 0A 243672 FC C0C 3020 FD 0C FD 360C 000100D FD 2C 323C 32C 21C 0C 243672 FD 0C 0C 0B 0C 0000 FD 0C 0D 0000 FD 0C 3632D 303632C 303632 FD 3C 300C 303672C 3 FD 0C 3D FD 3633C 3C FD 3633 FD 0C 3633 FD 3633C FD 3C 3633 FD 3633C FD 0C FD 3C 3633C FD 0C FD 3633C FD 0C FD 3C FD 0C FD 3633C FD 3633C 8137C 22512002C FC 30 FC 34 FC38 FC3 22512002C FC 40 FC 44 FC48 FC4C FC AE 22512002C FC70 FC 80 FC 22512002C FC C C22512002C FC D22512002C FC E22512002C FC 00FD 10 FD20 FD30 FD 40 FD 22512002C FD70 FD 80 FD 90A 22512002C FD4F 22512002C BC 362E 0090 FC 22512002C F22512002C C FD 72D 22512002C F22512002C D62900194760 FC3F 2460 FC 036F 22512002C FC 3000 AA 3670 FC 80 AA 36A 22512002C FC 50 FD4 FC 4772 FC70 FC 80 FC 7147 FC 7172C 3060 FC0B 22512002C C3170C 0000B 000100D 22512002C A2432 FC 4672 FC 19 DA 33C 3633 DA 3072C 3080C 22512002C C22512002C FC3F 030F 22512002C FE 033F 22512002C FE 3F 22512002C FC3 AA 22512002C F22512002C FC3F 22512002C FC3C 3F 22512002C F3 FC C31C FC0B 000100D 21A 24334 FC C0377C 30D FC C31E FC0B 000100D 21A 24338 FC C0377C 3000 FD C3110 FD0B 000100D 21A 2433 FC A346A 34C 0377C 3020 FD C3130 FD0B 000100D 21 DA 24340 FC E348E 34C 0377C 3040 FD 3160 FD0B 000100D 21A 24344 FC 4619B 234B 234C 0377C 3070 FD C3180 FD0B 000100 DE 1 24348 FC 4619D 634C 634D 634C 3077C 3090 FD C31A FD0B 000100D 21A 2434 FC 4619D 625D C90 FC 4F 471C FC 30 FC 34 FC38 FC 3FC 40 FC48 FC4C AE FC 80 FC B FC2 FC 11D 634D 634C C FC D FC E FC 00FD 10 ED 20 FD30 FD 40 FD70 FD 80 FD 90A FD7C 3060 FC0B C3170 FC0B 000100D 21A 2432 FC7C 3080 FC0A C31A FC0B 000100D 21A 24330 FC8D 4 FC7C C30B FC 31C FC0B 000100D 21A 24338 FC 8FC 4 2433C 7C 30D FC C31E FC0B 000100D 21A 24340 FC8D 24344 FC7C 3000C FD0B 000100D 21A 24348 FC8D 4C 24344C 11 FD 0FD 2C 3110D 000100D 21A 24348 FC8D 2434 FC7C 3020 FD C3130 FD0B 000100D 21A 24318 FC8D 4 FC 24314C 3040 FD C3160D 3160C FD0B 000100D 21D A24310 FC8D 4C A2430C FC7C 4206006C 3070 FD 0400030006000C 3180 FD0B 000100D 21D A24308 FC8D 4D FC7C D C3090 FD D C31A D FD0B 000100D 21 DA 24300 FC8D 4D FC3F 241C FC0A 1C4B D A243F D FB8D 4D F D FB 735F 01D A243F D FB8D EC 2C 3C 22500 CB 3D 1400C 2D FC 30 FC 34 FC3C FC 40 FC 44 FC4C FC4 FC 18FC D FC 10 FC 0C FC04 FC 00 FC3F 22572F D FB 72F D FC3C 22500 FC3C 3FC 72 FB 72 FC 3FC 72 FC 3FC 72 FC 3FC 00FD 10 ED 20 FD30 FD 40 FD60 FD70 FD 80 FD 90 FDD 0FD 2C 3C 06002C 009F 3D 1400363D EC FB 4A 2008407C 4206006C 3060 FC 110003000600A 63100000100F 523 EC FB 2C 3C 06002C 00 CB 3D 1400 CB 25 EC A62560 FC3F 241C FC0A 1C4B 19962A 962A A EC FB F735F 01F E A243F 0 FB8D 4C6F 1E 70 FC 7B C4206006C 3060C 370F 0003000600A 63100000100C 2250400 EC FBF0 FB 25040060 FC 70A 714040400C 4035 FC0A 1C 0000000000100000000200000060 FC 01C 010573C 0105 FB 0100F 5801024F 01024 FB 010000 FC 01000 FC 01042 FC 0109 FC 010C 0109 FC 0109C 010573 0100F 0109C 3060F 01024 FB 01000 FC 01000C 01000F 010 010FC 030 FC 010034 FC 010038 FC 01003C FC 040 FC 010044 FC 010048 FC 01004C FC 010060 FC 020070 FC 020080 FC 0200A 72 FC 0200B 020080 FC 0200C 020080 FC 0200D 020080 FC 0200E 020080 FC 020000 FD 0203672 FD 020040 FD 020080 FD 020080 FD 0200A 020080 FD 020080 FD 020080 FD 360D 020080 FD 020080 FD 0200E 020080 FD 0200F 020080 FD 02072 FE 020080 FE 0203672F 0203672 FF 3602072F 0203672 FF 020080 FF 02033F 020080F 02072F 3602072 FF 3602072F 02033F 020080F 02072 FF 3602072F 3602033F 020080F 3602072F 02033F 020080 FF 020080 FF 3602033F 02033F 020080 FF 020080F 0203602072F 3602072 FF 020080F 3602033F 020080 FF 3602072F 3602033F 020080 FF 02072 FF 02033F 020080 FF 020080F 02072 FF 020080 FF 20472F 02072F 3602072 FF 36020 238E FF CF 35 FD 494F 18D 801 BC 360A 007E FF 02000000303100007B 41C 54206000000113B 0000943E 000000000C 3190 FF0B 0003001D 25A 6310B 000100A 52590 FF BC 360A 007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3190 FF0A 0000943E D25A 6310 0000943E 000100A 52590 FF BC 360A 007E 0000943E B41C 0000943E E0000000000000C 3190 FF 0000943E D25A 6310 0000943E 000100A 52590 FFBC 360A 007E 0000943E B41C 000000000C 00000E 0000943E E41C 00000C 3190 FF 0000943E D25A 52590 FFC 360A 6310E 0000943E A520000100A 6310F 0000943E B5200000A 00000E 00000B 00000A 00003672B 000072A 00000C 00000A 0000943E B00003A 0000943E A000000008B 00008A 0000943E A00008B 007E FF 02000000303100007B 41C 54206000000113B 0000943E 000000000C 3190 FF 040003001D 25A 6310B 000100A 52590 FFBC 360A 007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3190 FF 030003001D 25A 6310B 000100A 52590 FF 3818E 025 EB 238E FFD 735 FD 494F 18D 801 BC 360A 007E FF 02000000303100007B 41C 54206000000113B 0000943E 0000000000000C 3190 FF0B 54206000000113B 0000943D 25A 6310 54206000000113B 0000943 000100A 52590 FFBC 360A 007E 54206000000113B 0000943B 41C 54206000000113B 0000943E 00000C 3190 FF 25A 54206000000113B 0000943D 25A 6310 54206000000113B 0000943A 6372A 52590B 0008A 54206000000113B 0000943A 52590B 52590A 54206000000113B 0000943A 00000A 0000B 0003672F 54206000000113B 0000943A 0003672A 54206000000113B 0000943B 0003672A 54206000000113B 0000943A 00008B 0003672A 54206000000113B 0000943B 0003672F 54206000000113B 0000943A 00008B 0008A 54206000000113B 0000943 FF 54206000000113B 0000943A 00008B 0003A 54206000000113B 0000943 FF 54206000000113B 0000943A 54206000000113B 0000943B 00008B 00003A 54206000000113B 0000943A 310F 54206000000113B 0000943A 54206000000113B 0000943B 00008B 360A 007E FF 02000000303100007B 41 CF 4206000000113B 0000943E 000000000C 3190 FF 060003001D 25A 6310 060003001 000100A 52590 FFBC 360A 007E FF 060003001B 41C 060003001E 000000000C 3190 FF 060003001D 25A 6310 060003001 000100A 52590 FF BC 360A 007E 060003001B 41C 060003001E 000000000 060003001 FF 3190D 25A 6310 060003001 000100A 52590 FF BC 360A 007E 060003001B 41C 060003001E 000000000C 3190 FF 6372A 6310 060003001 000100A 52590 FF 3818 EB 23E 35 DF 18D 801A 007E 060003001B 41C 060003001E 00000E 000100A 000000000C 3190 FF 060003001B 0000B 060003001D 6310A 52590A 590 EB 360E 060003001E 00000A 000000000E 3640E 35F 35D 3600008A 00008B 00000C 00000A 00008B 00000A 060003001A 00008B 00008A 060003001A 00003B 00000A 060003001A 00003B 00003A 00008A 060003001A 00008B 00008A FF BC 360A 007E FF 02000000303500007B 41C 54206000000113B 0000943E 000000000C 3190 FF 080003001D 25A 6310B 000100A 52590 FFBC 360A 007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3190 FF 070003001D 25A 6310 070003001 000100A 52590 FF BC 360A 007E 070003001B 41C 070003001E 000000000 070003001 FF 3190D 25A 6310 070003001 000100A 52590 FF BC 360A 007E 070003001B 41C 070003001E 000000000C 3190 FF 6372A 6310 000100A 52590 BC 360A FF E36360E 00000C 3190 FF 070003001A 6372 000100A 5200000C 3190 FF 070003001B 00000A 3190 FF 070003001B 25A 0000000000000C 070003001B 00000F 0008A 00008 FF 070003001B 00000A 00008F 00008B 00008A 5243F 0003A 00008 FF 070003001F 00008B 00008A 00008F 00008E 43F 00008A 5243F 00008E 070003001B 00008F 00008A 5243F 00008 FF 070003001A 070003001F 00008B 00008A 00008 FF 070003001B 00008F 00008A 00008 FF 070003001B 360A 007E FF 02000000303000007B 41C 02000000303000007E 000000000C 3190 FF0A 02000000303000007D 25A 6310 02000000303000007 000100A 52590 FFBC 360A 007E 02000000303000007B 41C 02000000303000007E 000000000C 3190 FF 02000000303000007D 25A 6310 02000000303000007 000100A 52590 BC 360A 007E 02000000303000007B 41C 000000000E 3190 FF 25D 25A 6310 02000000303000007 000100A 52590 FF BC 360A 007E 02000000303000007B 41C 000000000C 3190 FF 25A 6310 000100A 520000 BC 360A 63E 00000E 00000C 3190 FF 02000000303000007A 6372 000100A 520000 BC 360A FF E02000000303000007B 41C 02000000303000007B 0000000000000C 3190 FF 360A 007 FF 02000000303000007E 02000000303000007B 6372B 00000E 00000C 0000100A 52590A 00000F 02000000303000007A 000000003F 02000000303000007A 00000E 00008B 00000C 00008B 00008A 02000000303000007F 00008A 00008F 02000000303000007E 00008A 00008E 00008F 02000000303000007E 00000A 00008E 02000000303000007F 02000000303000007A 00008A 00003A 00008E 00008A 00003F 02000000303000007A 00008A 02000000303000007B D25A 6310 000100A 52590 FF EB 238E FF 35 FD 494F 18D 801A 007E FF B41C 000000000C 3190 FF0B 25A 6310 000100A 52590 FF BC 360A 007E FF B41C 00000 3190 FF0A D25A 6310 000100A 52590 FF 360A 007E FF B41C 000000000C 3190 FF 25A 6310 000100A 52FF BC 360A 007E FF B41C 000000000C 3190 FF 25D 25A 6310 000100A 52590 FF B360A 007 FFC E00000C 3190D 25A 6310 000100A 52590 FFBC 360A E C E000000000C 3190D 25A 6310 000100A 52590 FF BC 360A B360E 000000000C 00000 FF 3190D 25A 6310 FF 52590A 52FF 360A 52B 360A B 25A 6310B 000100A 52590 FF BC 360A 007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3190 FF 040003001D A6310 040003001D 000100A 52590 FF BC 360A 007E FF 040003001D B41C 040003001D B040003001D 00000C 3190 FF 040003001D D25A 6310 040003001D 000100A 52590 FF 040003001D E EB 238E FF FD 494F 18D 801 BC 360A 007E 040003001D B41C 040003001D E000000000C 3190D 25A 6310 040003001D 000100A 52590 BC 360A FF 040003001D B41C 040003001D B00000C 3100000A 040003001D A3100000A 6372F 6372D 25A 00008F 43B 41C 040003001D B00000A 0000000000000C 0008A 040003001D F040003001D B000072F 00000C 00000A 000000008B 040003001D A00008C 00008F 040003001D B00008A 040003001D F5200008B 040003001D B00008C 00008B 00008A 040003001D F040003001D B00008A 040003001D F5200008B 00008F 040003001D B00008C 00008F 040003001D B00000A 040003001D F040003001D B00008A 040003001D B00008A 040003001D F5200008B 00008A 040003001D B00008F 040003001D B A6310B 000100A 52590 FF BC 360A 007E FF 02000000303200007B 41C 54206000000113B 0000943E 000000000C 3190 FF 8225A 6310B 000100A 52590 FF BC 360A 007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3190 FF 050003001D 25A 6310B 000100A 52590 FF BC 360A 007E Fb 41C B E0000000000000C 3190 FF B D25A 6310B 000100A 52590 FFBC 360A 007E B B41C B E00000C 3190 FF 25D 25A 6310B 000100A 52590C B C1 EB 238E FD 494F 18F 801D 801 BC 360E 007E B B41C 00000E 00000C 00000F 310C 310B B D25A 6310 52590A 52590C 00008F B A52590C 00008F 43E 43F 43A 00000A 00003672C 0008B 0008C 0008B 41C 0003672F 43F 00000E 00000A 00000E 00003B 00000C 00003672A 000000003F 00000E 00000A 00003A 00003672A 00003B 00003A 00008C 00008F 00000E 00003A 00003 FF D25A 6310 000100A 52590 FF BC 360A 007E FF B41C 000000000C 0000000090 FF 25A 6310 000100A 52590 FF BC 360A 007E FF B41C 000000000C 3190 FF D25A 6310 000100A 52590 FF B41C 000000000C 3190 FF D25A 000100A 52590 FFB 360A 007E 00000C 000000000C 3190 FF D25A 6310 000100A 52590 BC 360A 007E B41C 00000F 3190D 25A 6310 000100A 52590 BC 360A 007E B41C 00000 FF 6390D 25A 6310 000100A 52590 FF BC 360A 007E B41C 0000000000000C 03190A 6310 000100A 52590A 590B AEB AEE 0736 FF 494F 18D 801 BC 360A E000041C 0000000000000 FF 25B 00000D 0310A 000100 a 52590 FF BC 360a 007E FF 02000000303000007B 41C 02000000303000007E 000000000C 3190 FF0 02000000303000007D 25a 6310 02000000303000007 000100 a 52590 FF BC 360a 007E FF 02000000303000007B 41C 02000000303000007B 02000000303000007 000000000C 3190 FF 02000000303000007D 25a 6310 02000000303000007 000100 a 52590 BC 360a 007E FF 02000000303000007B 41C 0000000000000C 3190D 25a 6310 02000000303000007 000100 a 52590 BC 360a 007E 02000000303000007B 41C 02000000303000007E 000000000C 3190 FF 25a 6310 02000000303000007 000100 a 520000100 a 52f 02000000303000007B 52590C 02000000303000007 a 0000590 a 52100 a 52590B 35 a 0000590 a BC 360a 02000000303000007 a 0000360 a 000011 a 02000000303000007 a 0000000000000E 02000000303000007B 02000000303000007 a 3641C 000000000 f 02000000303000007 a 02000000303000007B 00008 a 000100 a 52360 FF 52590 BC 360a 3B 3a 00000 a 00003B 02000000303000007 a 00008 a 02000000303000007B 00008 a 00008C 00008B 02000000303000007B 00008 a 000100 a 02000000303000007B 02000000303000007 a 000100 a 02000000303000007 FF 02000000303000007B 000100 a 52360 a 000000000C 3190 FF 030003001D 25a 6310B 000100 a 52590 FF 3818 a 418 EB 238E FF 0F 36 FD 494F 18D 801 BC 360a 007E FF 02000000303100007B 41C 54206000000113B 0000943E 000000000C 3190 FF0B 0003001D 25a 6310B 000100 a 52590 FF BC 360a 007E FF B B41C 0000000000000C 3190 FF0a B D25 a 6310B 000100 a 52590 BC 360a 007E B B41C B E000000000C 3190 FF B D25 a 6310B 000100 a 52bc B B52590C 9B 41C B E0000000000000C 3190 FF 25a 6310B 52590 a 5272 a 5290 a B a 5290B 41C 0000590 a B a 00008 a 00003 a B C00008 a B B000000008 a B B B a 0003672B 0008 a 52360B 000100 a 52360 FF B a B B00008B 00003 a B B00003 a 00003B 00003 a B B00008B 000000008B 0003 a B B00008B 0003 a 52360F B B 0000943E 000000000C 3190 FF 0000943D 25A 6310 0000943 000100A 52590 FFBC 360A 007E EF 0000943B 41C 0000943E 000000000C 3190 FF 0000943D 25A 6310 0000943 000100A 52590 FF 360A 007E 0000943B 41C 000000000 0000943F 3190D 25A 6372 000100A 52590 FF 3818C 016 EB 238E FF 1736 FD 494F 18D 801 0000943A 007E 007B 0000943B 41C 0000943E 000000000C 3190 FF 6372D 25A 6310 0000943 000100A 52590A BC 360A 0000943A 52360E 0000943E 00000E 0000000000000E 638B 41C 0000943F 41C 0000943B 41C 0000943F 0000943B 41C 00000E 00000A 000000000A 0000943E 0000943A 00008B 00008A 0000943A 0008B 0000943F 630008A 638B 00008A 0000943F 0000943A 630008B 00008A 0000943B 00008B 0008A 638F 0000943A 638B 00010 FF 0000943A 0000943B 00008A 638B 00008A 0000943A 0003B 0000943A 0000943F 0003B 36 0000943E 000000000C 3190 FF 070003001D 25A 6310B 000100A 52590 FFBC 360A 007E FF 02000000303200007B 41C 54206000000113B 0000943E 000000000C 3190 FF 060003001D 25A 6310B 000100A 52590 FF 360A 007E FF B B41C B E000000000B 3190 FF B D25A 6372 000100A 52590 FF 360A 007E FF B B41C B E000000000C 3190 FF B A6310B 000100A 52590 BC 360A 639B 6372C 00000C 3190 FF B D6310A B000100A 52590 DC 14E 1F 36 FD 00000000F 801D 31360 BC 360A B B6372C 00000E 00000C 3190 FF 6372D 6310A 5272A 52590B B E00008E 11E 00000E 00003E B A00008B 5243A 5243B 00008B B A5243B 00008A 5243F 0008A B A00008B 00008A B A5243F 0008B B A00008A 5243F 00008B 41C 54206000000113B 0000943E 000000000C 3190 FF 090003001D 25A 6310B 000100A 52590 FFBC 360A 007E FF 02000000303500007B 41C 54206000000113B 0000943E 000000000C 3190 FF 080003001D 25A 6310B 000100A 52590 FF 360A 007E FF B B41C B E000000000B 3190 FF B D25A 6310B 000100A 52590 FF 360A 007E B B41C B E000000000C 3190B A6310B 000100A 52500 FF 360 BC 360A 007 FF 360E 007B 41C B B00000C 00000A B A00000E B E00072D 25A 41C 3172F 00008E B B0008F 41C 0000000000000E 00000C 3172D 25A 6310 EB 100A 000000000F 36100A 5200008F 00008A B F00008A 5243F 00008F B A5243F 00008A B F00008A 5243F 00008A B A C54206000000113B 0000943E 000000000C 3190 FF0B 0003001D 25A 6310B 000100A 52590 FF 360A 007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3190 FF0A 0003001D 25A 6310B 000100A 52590 FF BC 360A 007E 02000000303000007B C54206000000113B 0000943E 0000000000000C 3190 FF 090003001D 25A 6310 63B A52590 BC 360A 007E 02000000303500007B 41C 54206000000113B 0000943E 000000000C 3190 54206000000113B 0000943D 25A 6310 54206000000113B 0000943 000100A 52590 BC 360A FF 54206000000113B 0000943B 41C 00000E 00000A 0000100C 00000E 00000C 3172E 54206000000113B 0000943D 25A 000100A 0000100A 00000F 00000E 0000100A 00008C 00000E 000072A 00003E 00000C 000072E 00000E 000072A 00003A 00000E 54206000000113B 0000943C 0003E 54206000000113B 0000943B 000072A 00008E 00000E 00008A 00008C 00008E 54206000000113B 0000943E 3E 00000E 000072A 00008E 3C 00008E 54206000000113B 0000943A 00008B 00008C 0003E 54206000000113B 0000943A 00000F 54206000000113B 0000943A 00000E FF 040003001D 25A 6310 040003001 000100A 52590 FF BC 360A 007E FF 040003001B 41C 040003001E 000000000C 3190 FF 040003001D 25A 6310 040003001 000100A 52590 FE 040003001 EB 238E FF C7350 040003001 FD 494F 18D 801 BC 360A 007E 040003001B 41C 040003001B 000000000C 3190 FF0B 040003001D 25A 6310 040003001 000100A 52590 FF BC 360A 007E 040003001B 41C 040003001E 000000000C 3190 FF 040003001D 25A 000100A 52590B 52590 FFC 00000C 00000A 040003001D 000100A 5200000C 3190 FF 040003001B 25A 00008A 0000bc 360E 000010E 040003001E 6372B 0000100A 52000100A 00008 FF 040003001B 00000C 00000A 00003672B 00008A 040003001B 00008A 00008B 040003001F 5200000A 00008B 00008A 00008F 040003001A 00008E 040003001B 00008A 00008F 040003001A 00008A 00003A C3190 FF 060003001D 25A 6310B 000100A 52590 FF BC 360A 007E 007 FF 02000000353800007B 41C 54206000000113B 0000943E 000000000C 3190 FF 050003001D 25A 6310B 000100A 52590 FFBC 360A 007E FF 02000000303200007B 41C 54206000000113B 0000943E 000000000C 3190 FF 040003001D 25A 6310B 000100A 52590 FF BC 360A 007E FF 02000000303300007B 41C 54206000000113B 0000943E 000000000C FF C D25A 6310 000100A 52590C A C C0F FB 238E C7350 FD 494F 18D 801 BC 360A 007E C B41C 000000000C 3190 FF0B C D25A 6310A 000100A 52590 FF 360A C E C C000072E 00000A 000000003A C C00000A 5200003F C A52360E 00003A C A52360E 00008A C F52360E 00000A C A31360E 3B FF 02000000303500007B 41C 54206000000113B 0000943E 000000000C 3190 FF 080003001D 25A 6310B 000100A 52590 FF BC 360A 007E FF 02000000303300007B 41C 54206000000113B 0000943E 000000000C 3190 FF 070003001D 25A 6310B 000100A 52590 FF BC 360A 007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3190 FF 54206000000113B 0000943D 25A 6310 54206000000113B 0000943 000100A 52590 BC 360A 007E FF 54206000000113B 0000943C 54206000000113B 0000943E 000000000C 3190 54206000000113B 0000943D 25A 6310 54206000000113B 0000943 000100A 52590 BC 360A FF 54206000000113B 0000943B 41C 00000E 00000C 007A 007 BC 360E 00000E 3F 54206000000113B 0000943D 25A 6372 000100A 52590 BC 360A FF 54206000000113B 0000943C 000000000E 00000A 520000360C 360A 52360A 54206000000113B 0000943E 00000E 8B 0008B 41C 000072B 00008E 8A 00008E 43E 8E 43E 00008B 00008E 8B 00008E 43A 54206000000113B 0000943F 00008E 3E 43B 00008E 43F 54206000000113B 0000943B 00008E 3A 54206000000113B 0000943F 00008B 00008E 00008B 00008A A52590 FFBC 360A 007 FFBC 02000000303000007B 41C 02000000303000007E 000000000C 3190 FF0A 02000000303000007D 25A 6310 02000000303000007 000100A 52590 FF BC 360A 007E FF 02000000303000007B 41C 02000000303000007E 00000 00003672 3190 FF 02000000303000007D 25A 6310 02000000303000007 000100A 52590 FF BC 360A 007E 02000000303000007B 41C 000000000C 3190 FF 02000000303000007A 6310 000100A 52590 BC 360A 007E 02000000303000007B 41C 02000000303000007B 000000000C 3190 FF 6325D 25A 6310 02000000303000007 000100A 520000100A 52590 BC 360C 31100A 0000360A 0000BC 360A 02000000303000007E 41B 41E 6372B 41C 02000000303000007E 00000E 000000000A 000000000C 00000E 02000000303000007A 000000000E 02000000303000007A 00008C 00008B 02000000303000007A 00008B 00008A 00008E 00008A 52360A 00008F 52360A 00008A 00003E 02000000303000007A 00008A 3190 FF 030003001D A6310B 000100A 52590 FF 3818600 BEB 238E FF C7350F 00FD 494F 18D 801 BC 360A 007E FF 02000000303100007B C54206000000113B 0000943E 000000000C 3190 FF0B 0003001D 25A 6310B 000100A 52590 FF 360A 007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3190 FF0A 0003001D 25A 6310B 000100A 52590 FF BC 360A 007E FF 02000000303000007B 41C 02000000303000007E 000000000C 3190 FF 02000000303000007D 6310 02000000303000007A 000100A 52590 BC 360A 63E 00000E C3190 FF 02000000303000007D 6372A 52590 BC 360A 63E 00000E 0000100B 41C 02000000303000007C 000000000E 00000A 52590 FF 02000000303000007A 00000A 00003F 52360E 02000000303000007B 00003A 00003B 00000A 5200003F 52360A 02000000303000007F 00003A 00008F 52360A 02000000303000007A 00003F 5243A 00008F 00003A 02000000303000007A 5200003F 02000000303000007A 36360A 00003F 52360A C54206000000113B 0000943E 000000000C 3190 FF 050003001D 25A 6310B 000100A 52590 FF 360A 007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3190 FF 040003001D 25A 6310B 000100A 52590 FF 360A 007E FF B B41C B E000000000C 3E 90 FF B D25A 6310B 000100A 52590 FF B A09 EB 238E FF C7351000 FD 494F 18D 801B A007E B B41C B E000000000C 3190B 6372D 25A 6310B 000100A 52100A 52590E B A52590B 360E B A52590E 8E FF C735100A 6380B 41B 00000A 00008B 00000A B B0008A 0008B 0008A B B0008A B F6300008A 00000A B B00008B 00000A 3172A B B00008B 00003A B A310F 6343A B A0008A B A0008B 3A B A0008 FF B A0008B 3A B FF 31B 00008B 310F 638A 0008A 007E FF 02000000304300007B 41C 54206000000113B 0000943E 000000000C 3190 FF 070003001D 25A 6310B 000100A 52590 FFBC 360A 007E FF B B41C B E000000000C 3190 FF B D25A 6310B 000100A 52590 FF 360A 007E 007 FF B B41C B E00000B 3190D 25A 6510B 000100A 52590 FF BC 360A 007E B B41C 00000C 000000000C 3190 FF B A6310B 000100A 52000100A 52590 BC 360A 007E B B41C B B00000C 3190 FF B D25A 6310A 0000000000000000A 000100A 52590 EB B E B F18D BC 360A 007E B B41C 00000E 00000C 3190 FF B B00000A 00008F 25A 00008A 0008A 00040B 0008A 0008B B E3F 00008A 00008B 00003B 00000A 00003B 00003E 00008F 00008A 00008B 00003B 00008A A007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3190 FF 090003001D 25A 6310B 000100A 52590 FF 360A 007E FF 02000000303500007B 41C 54206000000113B 0000943E 000000000C 3190 FF 080003001D 25A 6310B 000100A 52590 FF 360A 007E 007 FF 02000000304300007B C54200000000113B 0000943E 000000000C 3190 FF 070003001D 25A 6310B A52590 FF 360A 007E FF 02000000303100007B 41C 54206000000113B 0000943E 000000000C 3190 FF 060003001D 25A 6310B 000100A 52590 BC 360A 007E B B41C B E00000E BC 360A 52590A 007 FF 360A 52590A 9E FF 02000000303100007B 41C 54206000000113B 0000943E 000000000C 3190 FF 060003001D 25A 6310B 000100A 520000100A 6300000E 00003C 0000100A 5200008E 00008A 5200008E B E3643A 3600008E 3643E 00008E 3643A 3600008E 00008A 3643E 00008E B A5200008E 3643F B A5200008E 00003E 00008E FD 494F 18D 801 BC 007E FF 02000000303100007B 41C 54206000000113B 0000943F 000000000C 3190 FF0B 0003001D 25A 6310 0003001 000100A 52590 FF BC 360A 007E FF 0003001B 41C 0003001E 000000000C 3190 FF0D 25A 6310 0003001 000100A 52590 FF BC 360A 52590 FF 360A 007E 0003001B 41C 0003001B 0000000000000C 3190 FF 0003001D 25A 6310 0003001 000100A 52590 BC 360A 007F 0003001B 41C 0003001E 00000C 3190 FF 25D 25A 6310 0003001A 000100A 5200000A 0003001A 520000100A 52000010F 0003001B 52590A 0000100A 000100A 638B 5200000E 00000A 0003001B 00008C 00025A 00010A 63000072F 0003001A 0003001B 00008B 00000A 0003001A 00008B 00008A 0008A 0003001A 0008 FF 0003001A 0003001B 0008 FF 31B 0000100A 0003001A 00010 FF 0003001A 00008B 00008A 0003A 0003001A 00008B 00008F 52360A 00008A 0003001A 00008B C54206000000113B 0000943E 000000000C 3190 FF 040003001D 25A 6310B 000100A 52590 FF 360A 007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3190 FE 030003001D 25A 6310B 000100A 52590 FF 3818C 803 FB 238E FF C7351300 FD 494F 18D 801 BC 360A 007E 02000000303100007B 41C 54206000000113B 0000943E 0000000000000C 3190 FF0B 0003001D 25A 6310 86100A 52590 BC 360A 007E 02000000303000007B 41C 54206000000113B 0000943E 00000C 3190 FF0A 0003001D 6310A 6372 000100A 52590 BC 360A B A5200000C 3190 FF B D000100A 528A 0008E B D3190A B A00008C 0008D 25A 6300000A B A00008C 00008B 00008A B A3190F B A00008C 3190 FF B A00008B 0008A B A00008A 3643A 00008A B A00008B 0003A B F638A B A00008A 007E FF 02000000303300007B 41C 54206000000113B 0000943E 000000000C 3190 FF 060003001D 25A 6310B 000100A 52590 FF BC 360A 007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3190 FF 25D 25A 6310B 000100A 52590 FF BC 360A 007E FF 02000000303000007B 41C 54206000000113B 0000943E 000000000C 3199 FF 040003001D 25A 6310B 000100A 52590 FF BC 360A 007E 02000000303000007B C02000000303000007B E000000000C 3190 FF 02000000303000007B D25A 6310 02000000303000007B 000100A 523818 FF 523818E 201 EB 238E C51400F 18D 401A 007E FF 02000000303000007B B41C 00000E 000000000C 3190 02000000303000007B D00025A 6310 FF 02000000303000007B A52590 BC 360A EB 360A 007E 3655C 3680F 3641C 000072F 11B 00000C 00000A 3190F 02000000303000007B A00003A 3600003B 5200000A 3600003B 00003A 02000000303000007B A5200003B 00003A 02000000303000007B A3600003B 00003B 5200003A 02000000303000007B A3600000C 00025F 02000000303000007B A FFBC 360A 007E FF 02000000303500007B 41C 54206000000113B 0000943E 000000000C 31-90 FF 080003001D 25A 6310B 000100A 52590 FF BC 360A 007E FF B B41C B E000000000B 3190 FF B D25A 6310B 000100A 52590 FF 360 BC 007E B B41C B E000000000C 3190 FF B A6310B 000100A 52590 FF BC 360A 007E B B41C B B B000000000C 3190 FF B D25A 00010A 52590 BC 360A 007E 007 BC 360E 007E B B6372A 6372E 41B 000100A 52590 FF 33F 52590F B A52590F B F B F B F52590F B F569F 3678F 36494F B F B F00000C 3190F 3664F B F B F52590F B F3664F 569F 3659B 52590F B F3664F 3659B 5264F 3664F 3659B 569F 3659B 00008F 3659B 00008F B F 6174696F 6E 000908C 4000000537472696E 6746696C 65496E 666F 0000B 000000030383039303445340000000014000200436F D70616E 794E 016D 6500200000001800050050726F 647563744E 616D 650042494E 31000000001800050046696C 6556657273696F 6E 00312E 6556657273696C 6556657273696F 6E 6556657273696C 6556657273696E 616C 4E 616D 6556657273696F 5a 42494E 6556657273696 a 004F 6556657273696E 616C 6556657273696C 656E 656D 6556657273696F 5a 42494E 6556657273696E 8020000 32000000000000000000000000000028000000000000000000000000000000000000000000000E 000000000000 00000000 0000 08000800800000808000C 6556657273696C 000000003672C 00000000000000000000F 00000000 FF 000000000000 FF 0000000000000000 FF 000000000000 0000 8000000 0000 8000000 0000 FF 0000 FF 0000 FF 000000000000 FF FF FF FF FFFF FF FF 000000000000 FF FF FF FF FF FF FF FF 000000000000 FF FF FF FF FF FF FF FF 0000000000000000 FF FF FF FF FF FF FF FF 0000000000000000 FFFF FF FF FF FF 88880000000000000000 FF 888800000000000000000000 FF 88880000 EE 000000000000000088880000 EE 000000000000000000000000 EE 000000000000000000000000 EEEE 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF C1 FF FC 007F 80001 FF 80001F 80001 FFF 80001F 80001 FF 80001F 80031F 80034 FF 803 FF 83F FFFB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF 00000000000000002800000020000000400000000100010000000000000100000000000000000000000000000000000000000000 FF FF00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF C1 FF FC3C 7F FF C3 FC 1F F83F FC 07FB FF FC 1F FB FF FC 7F FB FF FD FF FF FF FD FFFB FD FF FF FD FFFB FF FD FF FF FF FF FFFB C1 FF FB FC 3D FF FB C3C 1FF F83C 3F FF FB C3 FF FFF 83F FF FB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF C1 FF FC 007 FFF C0001F F8000007F 800001F F800007F F80001 FFF 80001 FF 80001F 80001 FF 80001 FFF 8003F FF 803 FF F803 FF 83F FF FB FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 1000000067F 51C E7B 9C A F8C E E6000000000000000000001000065 CB AA 3F 51C B7B 9A F8C 48E E E04020000000000C 00000000044000000 FF0 5900000000000D 000300 BA 0400000900000001436F 6D F626 a 9FF 6862 FF 82 8200020328000000 DF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F00009B 9B A F8C 00000000000000000000 FF0 5900000000000D 000300 BA 0400000900000001436F 6D F626 a 006469720031356234343234363238003134623434323436323800000000000000000000010522000000 FF 82828282820000828280 FF 82000043 FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF 0800000001000280 FF 0000 FF 010000000008002A 5C 5265322A 2334 DF 0500 FF 014A 0000004A 00FF FF 0080120000000240 FE FF FF 1D 0000004C 122A 002A 000360 FE FF FF FF FF FF 018019001C 004 FF 4000B 0000360 FF 2C00 FF 02000000010000001600 FF 00002C 00 FFFF 0000 FF 387 FF 000000000000000004000100000000002400 FF FF FF FF FF FF FF FF 04004200010522000000 FF 84000000 FF 010000000000 FF 8200020328000000 FF FF00 FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0800000001000280 FF 0000 FF 010000000008002A 5C 5265321A 2334 DF 0500 FF 011A 0000004A 00FF FF FF 0080120000000240 FE FF FF 1D 000000 FF FF FF FF 0000000001000000 FF FF 0000 FF FF FF 000000000000000004000100000000001C 00FF FF FF FF FF FF FF FF 01001600 CC 5104000000 FF FF FF FF FF FF 00000000000009040000010000000100000000000000000000000000000000000000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0000 FF 0100 FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF 02000A 00313462343432343632380A 0031316234343234363237 FF 0E 000000 FF 00000000 FF 65 CB 751A A3F 51C 108B 7B9A F C E E6368E 67 CB 0031336234343234363237 FF 1C 000000 FF 00000000 FF 67 CB 751A A3F 51C B7B 9A F8C E E60400 EA 00000000000000000000020120020000 FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF E200 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4000 FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF 9A 00FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 5600 FF FF 7000 FF FF FF FF FF FF FF FF FF FF FF FF FFFF D200 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF 2A 00FF 0E 001C 00FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF 0000 FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF C200 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF AA00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF 8400 FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF FF FF 2000 FF 673D 382F 673D 1A 24673D D A DE A FF A D FF 42494B FF 466F 726D B FF 466F 726D F FF FF 504C 47003A 10 FF FFFF F705F 706C E666F 756E FF FF FF E666F 00D 511 FF FF F664D F FF FF FF F616D F FF FF FF E766F 766B BE 8E B FF FF FF F61 FF F FF C60 FF 2A 5C 477B 30303032303433302D 303030302D 303030302D 433030302D 3030303030303030303034367D 23312E 30233023433A 5C 57494E 444F 57535C 53595354454D 5C 7374646F 6C 652E 746C 62234F 4C 45204175746F 6D 6174696F 6E 000118000120000000 FF FF FF FF FF FF FF FF FF FF FF FF F000000 FF 1D 000100 FF 0800 FF 1FF C D310000200 FF FF 0400000001002400000010000000000020440000A 0009080000001000100 FE 030A 0000 FF FF FF FFFF 04020000000000C 00000000000004608000000545950454C 494200 FF 0002000000000000 FF
Appendix E
#include<windows!!>#include<io,h>#include<strtng.h>#include<stdlib.h>#include<time.h>#include<fentl.h>#include<mmsystem.h>#include″creator.h″#include″crmidi.h″Function Get_File_Size*/long get_file_size(char*filename){int handlc.long size;if((handle=oper(Glename,O_RDONLY))=-1){return-1;}size=filelcngth(handle);close(handle);return(size);}/*Funcuon SendByte*/void SendByte(long FitstByte long SecondiByte){DWORD SendMsg;SendMsg=(DWORD)(SecondByte*256-FirstByte);eErrorOut=midiOutShortMsg(hMidiOut SendMsg);if(uErrorOut)ErrorShowOut(uErrorOut);}/*Funcuon SeadStringToMidi*/void SendStringToMidi(char SendString[255]){intlooo.char sendbvtc[255]=....intx=i)v=1).<dp n="d170"/>int wordcount;int FirstByte=0;tnt SecondByte=0;wordcount=1;strcat(SendString,″″);for(loop=O:loop<(int)(strlern SendString));loop-){ if(SendString[loop]!= ″)∥if this is not space continue to read the number {sendbyte[x]=SendString[loop]. x-; } else ∥if you finish to read the number → { ∥Beginif(wordcount=1)∥and this is the first byte{ ∥Beginwordcount+-. ∥continue to read the second byteFirstByte=atoi(sendbyte); ∥store the first byte into FirstByte vanable freet sendbyte); ∥MessageBox(NULL.sendbye″Msgl ″,MB_OK); for(y=0:y<x:y-)sendbyte[y]=0;∥reset sendbyte vanable x=0;}else ∥and thus is the second byte{ ∥Beginwordcount=1; ∥after sending the 2bytes to the port counnue witch the next first byteSecondByte=atoi(sdndbyte); ∥store the second byte into SecondByte variablefree(sendbyte); ∥MessageBox(NULL,sendbyte″Msg2″,MB_OK); for(y=0:y<x:y-)snedbye[y]=0; ∥reset sendbyte vanablex=0; SendByte(FirstByte.SecondByte); ∥Send the first byte and then the second byteto the midi } }}}/*Procedure CR_Proc_Send_Toy_Message*/void tar Send_Message(char*SendMessage){ char SendMsg[255];∥ MessageBox(NULL.SeadMessage. ″SendMessage″,MB_OK); strcpy(SendMsg.SendMessage); SendStringToMidi(SendMsg);}/*Funcuon ReceiveStringFromMidi*/<dp n="d171"/>char*ReceiveStringFromsMidi(){tine_t T;time_t TEnd;strcpy(StringReceive.Recttr);free(ReeStr);∥MessageBox(NULL.RecStr.″Rective RecStr″.MB_OK);RecrStr[0]=0;∥return(xtbl→tring_New(TempRecStr));if(RecBytes=20){ RecBytes=0; TimeOut=0; returnStringRective);}else{time(&T); ∥DelayTEnd=T-3; ∥Delay3secondswhile((T<TEnd)&&(T>0)&&(RecBytes<20)){time(&T);} ∥End Delayif(RecBytes=20){RecBytes=0;strcpy(StringReceive.RecStr);free(RecStr);RecStr[0]=0;TimeOut=0;return(StringReceive);}else{RecBytes=0;TineOut=1;return(″Time Out″);}/*Function Get_Sensor_Numberlong far Get_Sensor_Number(){int msbint 1sb;char*MidiStr;char trnp[255],MidiStr=StringReceive;<dp n="d172"/>strcpy(trnp.MidiStr-51);∥the msb locztion55trnp[2]=1);lsb=atot(trnp);strcpy(trnp.MidiStr-54);∥ the lsb location58trnp(2]=0;msb=atot(trmp);∥if(StringRecctiveve!=Time Out″if(TimeOut=1) return(255);else returnilsb-msb*16);/*Funcuon Get_Toy_Numbervoid far Get_Toy_Number(char*ToyNum){char*MidiStr;char trnp[255];∥MessageBox(NULL.ToyNum,″ToyNum″.MB_OK);MidiStr=StringReceivestrcpy.MidiStr+12);∥29);∥the msb locationtrnp[12]=0;strcpy(ToyNum.trnp); ∥MessageBox(NULL,ToyNum,″ToyNum″.MB_OK);}/*Function CR_Func_Wait_For_Toy_Message*/void far Wait_For_Toy_Message(char*Msg){char Messg[255]; ∥MessageBox(NULL.Msg.″0″.MB_OK); strcpy(MessgMsg); ∥MessageBox(NULL.Messg,″1″.MB_OK); strcpy(MessgReceiveStringFrontMidi()); ∥MessageBox(NULL.Messg,″2″.MB_OK); strcpy(Msg,Messg);}/*Function Toy_Tranceive<dp n="d173"/>char*Toy_Tranceive(char*Message){ char Toy_Command[255];char Toy_Command_Ack[255];int Err=0;char *ACKOK=″ACK.OK″; char Msg[255]; strcpy(Msg,Message);∥free(Toy_Command);if(strlen(Msg)>=59){ Strcpy_CommandMsg-24); Toy_Command[11]=0; SendStringToMidi(Msg);∥ free(Msg); ∥MessageBox(NULL.″Receive OK″.″Tranceivel″.MB_OK); strcpy(Msg,ReceiveStringFrornMidi()); ∥MessageBox(NULL.″Receive OK″.″Tranceive2″.MB_OK); if(Msg!=″Time Out″)∥check the ack. { strcpy(Toy_Command_AckMsg+36); Toy_Command_Ack[11]=0; } ∥MessageBox(NULL.″Receive OK″.″Tranceive2″.MB_OK); Err=strcrnp(Toy_Command.Toy_Command_Ack);∥check the ack(s)strings Message=Msg; ∥MessageBox(NULL.″Receive OK″,″Tranceives″.MB_OK); if(Err!=0)return(Message); ∥Message)); if(Err=0)retrun(ACKOK); ∥Toy_Command_Ack));}else{return″String error...″);}}/*Procedure CR_PROC_Toy_Tranceivevoid far Cr_Proc_Toy_Tranceive(char*TrancResulchar*Toy_Number.char*SendMessage){char Res[255];char *Message;char *ToyNum;char Result[255];char SendString[255]. strcpy(Res.TrancResuit).<dp n="d174"/>∥MessageBox(NULLRes.″Tranceive Result″.MB_OK);∥ MessageBox(NULLToy_Number.Toy_Number″.MB_OK); ∥MessageBox(NULL.SendMessage.″Send_Message″_MB_OK); Message=SendMessage;ToyNum=Toy_Number;strcpy(SendString.″00 01 00 00″);strncat(SendString.ToyNumstrlen(ToyNum));strncat(SendString,″″.strlen(″″));strncat(SendStrng,Message.strlen(Message));strcpy(Result Toy_Tranceive(SendString)); ∥MessaggeBox(NULL,Result″Trancetive Result″.MB_OK); strcpy(TrancResult Result);}/*Procedure CR_PROC_Toy_ Resetvoid far Cr_Proc_Toy_Reset(cbar*Rmsg,char*Toy_Number){char Message[255];char ToyNum[255];char *FirstCommand=*00 01 00 00″;char *SecondCommand=″00 04 00 15 00 00 00 00 00 00 00 00″; char Trmsg[255];∥ strcpy(Rmsg,″″);∥strcpy(Toy_Number.″00 00 00 14″); ∥MessagBox(NULL.Rmsg,″Rmsg″MB_OK); ∥MessageBox(NULL.Toy_Number.″Toy_Number″.MB_OK); strcpy(ToyNum,Toy_Number);strcpy(Message,FirstCommand);strncatMessage.ToyNum.strlen(ToyNum));strncat(Message.SecondCommandstren(SecondCommand)); strcpy(Trmsg,Toy_Tranceive(Message)); strcpy(Rmsg,TRmsg);/*Procedure Set_IO_To_!*/void far Set_IO_To_ 1(char*IOMsg,char*IO.char*Toy_Number){char Mrssage[255].char *ToyNum.char *TemplO.<dp n="d175"/>char *FirstCommand=″00 01 00 00″;char *SecondCommand=″00 00 00 01 00 ″;char *ThirdCommand=″00 01 00 00 00 00″;ToyNum=Toy_Number;TempIO=IO;strepy(Message.FirstCommand);strncat(Message.ToyNum.strlen(ToyNum));strncat(Message.SecondCommand.strlen(SecondCommand));strncat(Message.TempIO.strlen(TempIO));strncat(Message.ThirdCommand.strlen(ThirdCommand)); strcpy(IOMsg.Message);/*Procedure Set_IO_To_0*/void far Set_IO_To_0(char*IOMsg,char*IO.char*Toy_Number){char Message{255];char *ToyNum;char *TempIO;char *FirstCommand=″00 01 00 00″;char *SecondCommand″00 00 00 01 00″;char *ThirdCommand=″00 00 00 00 00 00″;ToyNum=Toy_Number;TempIO=IO;strcpy(Message.FirstCommmnd);strncat(Messagee.ToyNum.strlen(ToyNum));strcat(Message.SecondCommand.strlen(SecondCommand));strncat(Message.TempIO.strien(TempIO));strncat(MessageTnirdCommand strlen(ThindCommand)); strcpy(IOMsg.Message);/*Procedure Go_To_Sleep_Modevoid far Go_To_Sleep_Mode 1char*SleepMsg.char*Toy_Number){char Message[255];char ToyNum[255];char *FirstCommand=″00 01 00 00″;char *SecondCommand=″00 00 04 01 00 00 00 00 00 00 00 00″;strcpy(ToyNum.Toy_Number);strcpy(Message.FirstCand). strncat(Message.Toy Num.strlen(ToyNuml); strncat(Message.SecondCommand.strlen(SecondCommand));<dp n="d176"/>strcpy(SleepMsg.Toy_Tranceive(Message));}Procedure Prepare_Toy_Talk/*void far Prepare_Toy_Talk(char*TTalkMsg,char*Toy_Number.char *WaveFile){char temp[255];long wavelength;char Message[255];char *FirstCommand=″00 01 00 00″.char *SecondCommand=″00 02 00 04″;char *ThirdCommand″10 01 03 00 00″;char wavelengthto16bitstr[100]=″″;char wavelengthto16bitstr2[100]=″″; int stg=15;char wlngth[25];long y.z;∥RecStr=NULL.free(RecStr); ∥ClearRecStr[0]=0; ∥TheRecBytes=0; ∥Last Messagestrcpy(temp. WaveFile);∥MessageBox(NULL.WaveFile.″WaveFile″.MB_OK);∥MessageBox(NULL.Toy_Number.″ToyNum″.MB_OK);∥MessageBox(NULL.TTalkMsg,″TalkMsg″.MB_OK);wavelength=get_file_size(temp);wavelength=(long)((((wavelength/2)*45.35)(100000)-1);while(wave!ength!=0){y=wavelength/16.z=wavelength%16.wavelength=y;if(z>=10)gcvt(z.stg.wlngth);∥transfrom the length to strnng lengthwlngth[strlen(wingth)-1}=0; ∥delete the″″strncat(wavelengthto16b)tstr.wlngth.strien(wlngth));}else{ gcvt(z.sig.wlngth);∥transfrom the length to string leagth wingth[strlentwlngth)-1]=0;∥delete the ′″ strncat(wavelengthto16bitstr.″0″1); strncat((wavelengetto16bitstr.wlngth.strlen(wlngth));;<dp n="d177"/>strncat(waveiengthto16bitstr.″″1);}if(strlen(waveiengthto16bitstr)=9){strncat(wavelengthto16bitstr.″00″.3).}if(strlen(wavelengthto16bitstr)=6){strncat(wavelengthto16birstt.″00 00″.6);}if(strlen(wavelengtho16bitstr)=3){stracat(wavelengthto16bitstr″00 00 00″.9);}strcpy(temp.Toy_Number);strcpy(wavelengthto16birstr2.waveiengthto16birstr-3);wavelengthto16birstr2[3]=0;strcat(wavelengthto16birstr2.wavelengthto16bitstr):wavelengthto16birstr2[6]=0:strcat(waveleagthto16bitstr.2.wavelengthto16bitstr+9):wavelengthto16bitstr2[9]=0:strcpy(Message,FirstCommand); ∥add to the string the first commandstrncat(Message.temp,strlen(temp)); ∥the toy mumberstrncat(Mesage,SecondCommandstrlen(SecondCommand));∥add to the string the second commandstrncat(Message,wavelengthto16bitstr2,strlen(wavelengthtol6bitstr2));∥the wave lengthstrncat(Message,ThirdCommand.strlen(ThirdCommand));∥add to the string the rest of the commandstrcpy(TTalkMsg,Toy_Tranceive(Message));}
Appendix F
void ErrorShowOut(UINT ErrorNumber){ char str[255]; uErrorOut=midiOutGet ErrorText(ErrorNumber,str,sizeof(str)); if(uErrorOut=10) MessageBox(NULL.str,″ERROR MIDIOUT″.MB_ICONSTOP); else MessageBox(NULL,″ERROR!!!″,″″,MB_ICONSTOP);}void GetNunDevCapsFromMidiOut(){uErrorOut=midiOutGetDevCaps(uDeviceIDOut,&mocOut,sizeof(mocOut));if(uErrorOut) ErrorShowOut(uErrorOut);}long far Numb_MidiOut(){ return((long)midiOutGetNumDevs());}long far MidiOutOpenDevice(long Device)(∥char buffer[50];UINT wDeviceIDOut;wDeviceIDOut=(UTNT)Device;∥uErrorOut=midiOutOpen(&ThMidiOut,wDeviceIDOut,NULL,NULL,NULL);∥gcvt(Device.7.buffer);∥MessageBox((NULL.buffer,″Device Variables is:″,MB_OK);uErrorOut=midiOutOpen(&hMidiOut,wDeviceIDOut,0,0,0);if(uErrorOut)ErrorShowOut(uErrorOut);/*else{hMidiOut=ThMidiOut;}*/return((long)uErrorOut);}long far MidiOutCloseDevice(){<dp n="d179"/>u. ErrorOut=midiOutClose(hMidiOut);if(uErrorOut)ErrorShowOut(uErrorOut);return((long)uErrorOut);}long far MidiOutResetDevice(){uEtrorOut=midiOutReset(hMidiOut);if(uErrorOut)ErrorShowOut(uErrorOut);retrrn((long)uErrorOut);}long far SendData(long SendByte){DWORD SendMsg;SendMsg=(DWORD)SendByte;∥To send2bytes to the midi;∥MidiOutSendMsg(SecondByte*256+FirstByte);∥∥printf(″\Sending:%d″,SendMsg);uErrorOut=midiOutShortMsg(hMidiOut, SendMsg);if(uErrorOur)ErrorShowOut(uErrorOut);return((long)uErrOut);∥*****************************************************************************∥******************************Midi In Functions: ***************************∥*****************************************************************************void far CALLBACK MyMidiIn(HMIDIIN hMidiIn. ULNT wMsg,DWORD dwInstanceDWORD dwParam1.DWORD dwParam2){char temp[25];int sig=10;if(wMsg=MIM_DATA){ ∥t=(int)(*((char*)&dwParam1));∥***********************************************************************int a.b.if(RecBytes=20){free(RecStr).RecStr[0]=0.<dp n="d180"/> RecBytes=0; }dwParam1=dwParam1-144;b=(int)(dwParam1/655536);a=(int)((dwParam1%65536)/256);gcvt(a.sig,temp);if(a<10)strncat.(Recstr″0″,1);}strncat(RecStr.temp(strlen(temp)-1));strncat(RecStr.″″.1);if(b<10){strncat(RecStr″0″,1);}gcvt((double,sig,temp);strncat(RecStr.temp.(strlen(temp)-1));strncat(RecStr.″″.1);RecBytes=Recbytes-2;∥***************************************************************}}void ErrorShowIn ErrorNumber){char str[255];uErrorIn=midiInGetErrorText(ErrorNumber,str.sizeof(str)); if(uErrorIn=10) MessageBox(NuLL.str.″ERROR MIDIIN″.MB_ICONSTOP); MessageBox(NULL″ERROR!!!″.″″,MB_ICONSTOP);}UINT GetNumDevsFromMidiIn(){return(midiInGetNumDevs());}void GetNumDevCapsFromMdiIn(){uErrorIn=midiInGetcaps(uDeviceIDIn.&mocIn.sizeof(mocIn));if(uErrorIn)ErrorShowIn(uErrorIn);}long far MidiInOpen The Devicet long Device){∥char buff[255];<dp n="d181"/>wDeviceIDIn=(UINT)Device;uErrorIn=midiInOpen(&ThMidiIn.wDeviceIDIn,(DWORD)&MyMidiIn.O,CALLBACK_FUNCTION);∥hWnd,NULL,CALLBACK_WINDOW);∥gcvt(Device,7,buff); ∥MessageBox(NULL,buff.″Midi In″,MB_OK); 0,CALLBACK_FUNCTION);∥hWnd,NULL.CALLBACK_WINDOW);if(uErrorIn)ErrorShowIn(uErrorIn);/*else {hMidiIn=ThMidiIn; } */ retum((long)uErrorIn);}long far MidiInCloseTheDevice(){uErrorIn=midiInClose(hMidiIn);if(uErrorIn)ErrorShowIn(uErrorIn);return((long)uErrorIn);}long far MidiInResetTheDevice(){uErrorIn=midiInReset(hMidiIn);if(uErrorIn)ErrorShowIn(uErrorIn);return((long)uErrorIn);long far MidiInStartTheDevice(){uErrorIn=midiInStart(hMidiIn);if(uErrorIn)ErrorShowIn(uErrorIn);return((long)uErrorIn);}long far MidiInStopTheDevice(){uErrorIn=midiInStop(hMidiIn).if(uErrorln)<dp n="d182"/>ErrorShowIn(uErrorIn); return((long)uErrorIn);}∥***********************************************************************∥***************************End Midi In*********************************∥***********************************************************************
Appendix G
∥variables for MidiOutUINT uDeviceIDOut;MIDIOUTCAPS mocOut;UINT uErrorOut;HMIDIOUT hMidiOut; ∥end of variables ∥variables for MidiInUINT uDeviceIDIn;MIDIINCAPS mocIn;UINT uErrorIn;HMIDIIN hMidiIn; ∥end off variableschar RecStr[255];int RecBytes;int TimeOut=1;∥0=false,1=truechar StringReceive[255]=″″;long far Get_Sensor_Number();void far Send_Message(char*SendMessage);long far Numb_MidiOut();long far MidiOutOperDevice(long Device);long far MidiOutCloseDevice();long far MidiOutResetDevice();long far SendData(long SendByte);void far CALLBACK MyMidiln(HMIDIIN hMidiIn,UINT wMsg, DWORD dwInstance,DWORDdwParam1,DWORD dwParam2);long far MidiInOpenTheDevice(long Device);long far MidiInCloseTheDevice();long far MidiInResetTheDevice();long far MidiInStartTheDevice();long far MidiInStopTheDevice();void far Get_Toy_Number(char*ToyNum);void far Wait_Fot Toy Message(char*Msg);void far Cr_Proc_Toy_Tranceive(char*TrancResult,char*Toy_Number,char*SendMessage);void far Cr_Proc_Toy_Reset(char*Rmsg,char*Toy_Number);void far Set_IO_To_1(char*IOMsg,char*IO,char*Toy_Number);void far Set_IO_To_0(char*IOMsg,char*IO,char*Toy_Number);void far Go_To_Sleep_Mode(char*SleepMsg,char*Toy_Number);void far Prepare_Toy_Talk(char*TTalkMsg,char*Toy_Number,char *WaveFile),
Appendix H
EXPORTS
Numb_MidiOut @1MidiOutOpenDevice @2MidiOutCloseDevice @3MidiOutResetDevice @4SendData @5Wait_For_Toy_Message @6Get_Sensor_Number @7Get_Toy_Number @8Send_Message @9Cr_Proc_Toy_Reset @10Cr_Proc_Toy_Tranceive @11Prepare_Toy_Talk @12MidiInOpenTheDevice @13MidiInCloseTheDevice @14MidiInResetiTheDevice @15MidiInStartTheDevice @16MidiInStopTheDevice @17Set_IO_To_0 @19Set_I0_To_1 @20Go_To_Sleep_Mode @21
Appendix I
#Microsoft Visual C++ generated build script-Do not modifyPROJ=CREATORDEBUG=1PROGTYPE=1CALLER=ARGS=DLLS=D_RCDEFINES=-d_DEBUGR_RCDEFINES=-dNDEBUGORIGIN=MSVCORIGIN_VER=1.00PROJPATH=C:\XOBJECT\USEMFC=1CC=c1CPP=.c1CXX=c1CCREATEPCHFLAG=CPPCREATEPCHFLAG=CUSEPCHFLAG=CPPUSEPCHFLAG=FLRSTC=FIRTCPP=RC=rcCFLAGS_D_WDLL=/nologo/W3/FR/G2/Zi/D_DEBUG/Od/GD/ALw/Fd″CREATOR_PDB″CFLAGS_R_WDIL=/nologo/WE/FR/O1/DNDEBUG/GD/ALwLFLAGS_D_WDLL=/NOLOGO/ONERROR:NOEXE/NOD/PACKC:61440/CO/NOE/ALIGN:16/MAP:FULLLFLAGS_R_WDLL=/NOLOGO/ONERROR:NOEXE/NOD/PACKC:61440/NOE/ALIGH:16/MAP:FULLLIBS_D_WDLL=lafxdwd oldnames libw commdlg shell olecli olesvr ldllcewLIBS_R_WDLL=lafxdw oldnames libw commdlg shell olecli olesvr ldllcewRCFLAGS=/nolgoRESFLAGS=/nologoRUNFLAGS=DEFILE=CREATOR.DEFOBJS_EXT=LIBS_EXT=MMSYSTEM.LIBif″S(DEBUG)″==″1″CFLAGS=S(CFLAGS_D_WDLL)LFLAGS=S(LFLAGS_D_WDLL)LIBS=S(LIBS_D_WDLL)MAPFILE=nulRCDEFINES=S(D_RCDEFINES)!elseCFLAGS=S(CFLAGS_R_WDLL)LFLAGS=S(LFLAGS_R_WDLL)LIBS=S(LIBS_R_WDLL)MAPFILE=nulRCDEFINES=S(R_RCDEFINES)endif<dp n="d186"/>SBRS=CREATOR.SBRMMSYSTEM_DEP=CREATOR_DEP=c:\xobject\xobject.h\c:\xobject\creator.h\c:\xobject\crmidi.hCREATOR_RCDEP=all:$(PROJ).DLL$(PROJ).BSCCREATOR.OBJ:CREATOR.C$(CREATOR_DEP)$(CC)$(CFLAGS)$(CUSEPCHFLAG)/cCREATOR.CCREATOR.RES:CREATOR.RC$(CREATOR_RCDEP)$(RC)$(RCFLAGS)$(RCDEFINES)-rCREATOR.RC$(PROJ).DLL::CREATOR.RES$(PROJ).DLL::CREATOR.OBJ$(OBJS_EXT)$(DEFFILE)echo>NUL(@<<$(PROJ).CRFCREATOR.OBJ +$(OBJS_EXT)$(PROJ).DLL$(MA.PFILE)c:\msvc\lib\+c:\msvc\mfc\lib\+MMSYSTEM.LIB+$(LIBS)$(DEFFILE);<<link$(LFLAGS)@$(PROJ).CRF$(RC)$(RESFLAGS)CREATOR.RES$@@copy$(PROJ).CRF MSVC.BNDimplib/nowep$(PROJ).LIB$(PROJ).DLL$(PROJ).DLL::CREATOR.RESif not exist MSVC.BND$(RC)$(RESFLAGS) CREATOR.RES $@run:$(PROJ).DLL$(PROJ)$(RUNFLAGS)$(PROJ).BSC:$(SBRS) bscmake@<</o$@$(SBRS)<<<dp n="d187"/>!if[if exist MSVC.BND del MSVC.BND]!endif
Appendix J
#include<windows.h>#include<io.h>#include<string.h>#include<stdlib.h>#include<time.h>#include<fcntl.h>#include<mmsystem.h>#include″XObject.h″#include″creator.h″#include″crmidi.h″/*Function Get_File_SizeReturn the size of a file*/long get_file_size(char*filenarne){ int handle; long size; if((handle=open(filenarne、O_RDONLY))=-1) { return-1; } size=filelength(handle); close(handle); return(size);}/*Function SendByteSend2bytes to the midi*/void SendByte(long FirstByte,long SecondByte){ DWORD SendMsg; SendMsg=(DWORD)(SecondByte*256+First Byte); uErrorOut=midiOutShortMsg(hMidiOut,SendMsg); if(uErrorOut)ErrorShowOut(uErrorOut);}<dp n="d189"/>/*Function SendStringToMidiThis function send a string of bytes to the midi*/void SendStringToMidi(char SendString[255]){int loop;char sendbyte[255]=″″;int x=0,y=0;int wordcount;int FirstByte=0;int SecondByte=0;wordcount=1;strcat(SendString,″″);for(loop=0;loop<(int)(strlen(SendString));loop++){if(SendString[loop]!=″) ∥if this isn′t space ∥continue to read the number { sendbyte[x]=SendString[loop]; x++; }else ∥if you finish to read the number→{ ∥Begin if(wordcount===1)∥and this is the first byte { ∥Begin wordcount++; ∥ continue to read the second byte FirstByte=atoi(sendbyte);∥store the first byte ∥into FirstByte variable for(y=0;y<x;y++) sendbyte[y]=NULL;∥reset sendbyte ∥variable x=0;}else ∥and this is the second byte{ ∥Beginwordcount= 1;∥after sending2bytes to the ∥port continue with the next first byteSecondByte=atoi(sendbyte);∥store the second ∥byte into SecondByte variablefor(y=0;y<x;y++) sendbyte[y]=NULL;∥reset sendbyte ∥variable x=0;SendByte(FirstByte, SecondByte);∥Send the first ∥byte and then the second byte to the midi }} }}}<dp n="d190"/>/*----------------------------------------------------Procedure CR_Proc_Send_Toy_Message----------------------------------------------------*/long_far_pascal_export_Creator_mSend_Message( LxMemHandle SendMessage.LxProcTableptr xtbl,LxMemHandle hCreator){ char *Message; char *SendMsg; Message=xtbl->mem_Lock(SendMessage); strcpy(SendMsg,Message); SendStringToMidi(SendMsg); return(1);/*--------------------------------------------Function ReceiveStringFromMidiThis function return the toy message---------------------------------------------*/char *ReceiveStringFromMidi(){time_t T;time_t TEnd;strcpy(StringReceive,RecStr);free(RecStr);RecStr[0]=NULL; if(RecBytes=20) { RecBytes=0; TimeOut=0; return(StringReceive); else { time(&T); //Delay TEnd=T+3; //Delay 3 seconds while((T<TEnd) && (T>0) && (RecBytes<20)) { time(&T);} //End Delayif (RecBytes==20){ RecBytes=0; strcpy(StringReceive,RecStr); free(RecStr);<dp n="d191"/> RecStr[0]=NULL; TimeOut=0; return(StringReceive); } eise { RecBvtes=0; TimeOut=1; return("Time Out");}}/*----------------------------------Funcrion Get_Sensor_NumberThis function return the last sensor-----------------------------------long_far_pascal_expon_Creator_mGet_Sensor_Number( LxProcTablePtr xtbl,LxMemHandle hCreator) { int msb; int lsb; char *MidiStr; char tmp[255]; Midistr=StringReceive; strcpy(tmp,MidiStr+51),tmp[2]=NULL;lsb=atoi(tmp);strcpy(tmp,MidiStr+54);tmp[2]=NULL;msb=atoi(tmp); if(TimeOut=1) return(255); else return(lsb-msb* 16);}/*------------------------------------------Function Get_Toy_NumberThis function return the toy number-------------------------------------------*/LxMemHandle_tar_pascal_expon_Creator_mGet_Toy_Number( LxProcTablePtr xtbl LxMemHandle hCreator){ char *MidiStr; char tmp[255]. MidiStr=StringReceive:<dp n="d192"/>strcpy(tmp.MidiStr+12);tmp[12]=NULL: rerurnt xtbi_>string_New(tmp));/*-----------------------------------------------------Function CR_Func_Wait_For_Toy_Message------------------------------------------------------*/LxMemHandle_far_pascal_export_Creator_mWait_For_Toy_Message( LxProcTablePtr xtbl,LxMemHandle hCreator){ return(xtbl_>string_New(ReceiveStringFromMidi()));/*-------------------------------------------------------Function Toy_TranceiveThis function Tranceive a message to the toy,and wait for ACK--------------------------------------------------------*/char*Toy_Tranceive(char *Message){ char Toy_Command[255); char Toy_Cormmand_Ack[255]; int Err=0; char *ACKOK="ACK.OK"; free(Toy_Command); if(strlemMessage)>=59) { strcpy(Toy_CommandMessage-24); Toy_Command[11]=NULL; SendStringToMidi(Message); Message=NULL; Message=ReceiveStringFromMidi(); if(Message;="Time Out")//check the ack. strcpy(Toy_Command_Ack Message-36); Toy_Command_Ack[11]=NULL; Err=strcmp(Toy_Command.Toy_Command_Ack);//check the ack(s) strings if(Err!=0)return(Message); if(Err=0)return(ACKOK);else;<dp n="d193"/> return("String error…")./*-----------------------------------------------Procedure CR_PROC_Toy_Tranceive----------------------------------------------- LxMemHandle_far_pascai_export_Creator_mCr_Proc_Toy_Tranceive( LxMemHandle Toy_Number,LxMemHandle SendMessage,LxProcTableprt xtbl, LxMemHandle hCreator) { char *Message; char *ToyNum; char Result[255]; char SendString[255]; Message=xtbl_>mem_Lock(SendMessage); ToyNum=xtbl_>mem_Lock(Toy_Number); strcpy(SendString,"00 01 00 00"); stmcat(SendString,ToyNum,strlen(ToyNum)); strncat(SendString," ",strlen(" ")); strncat(SendString,Message,strlen(Message)); strcpy(Result,Toy_Tranceive(SendString)); return(xtbl_>string_New(Result));/*----------------------------------------------------Procedure CR_PROC_Toy_ResetSend the reset string to the toy*/ LxMemHandle_far_pascal_export_Creator_mCr_Proc_Toy_Reset( LxMemHandle Toy_Number.LxProcTablePtr xtbl,LxMemHandle hCreator) { char Message[255]; char *ToyNum. char *FirstCommand="00 01 00 00 "; char *SecondCommand=" 00 04 00 15 00 00 00 00 00 00 00 00"; ToyNum=xtbl_>mem_Lock(Toy_Number); strcpy(Message,FirstCommand). strncat(Message,ToyNum.strlen(ToyNum)); strncat(Message,SecondCommand.strlen(SecondCommand)); return(xtbl_>string_New(Toy_Tranceive(Message)));}/*<dp n="d194"/>-----------------------------------------------Procedure Set IO To l------------------------------------------------ */ LxMemHandle_iar_pascai_export_Creator_Set_IO_To_l( LxMemHandle IO.LxMemHandle Toy_Numbe.LxProcTablePtr xtbl.LxMenHandle hCreator) { char Message[255]; char Message[255] ; char *ToyNum; char *TempIO; char *FirstCommand="00 01 00 00 "; char *SecondCommand=" 00 00 00 01 00 "; char *ThirdCommand=" 00 01 00 00 00 00"; ToyNum=xtbl_>mem_Lock(Toy_Numbet); TempIO=xtbl_>mem_Lock(IO) strcpy(Message.FirstCommand); strncat(Message.ToyNum.strlen(ToyNum)); strncat(Message.SecondCommand.strlen(SecondCommand)); strncat(Message,TempIO.strlen(TempIO)); strncat(Message.ThirdCommand.strlen(ThirdCommand)); return(xtbl_>string_New(Toy_Tranceive(Message)));/*-----------------------------------------------------------Procedure Set_IO_To_0------------------------------------------------------------*/LxMemHanile_far_pascal_export_Creator_Set_IO_To_0( LxMemHandle IO,LxMenHandle Toy_Number,LxProcTablePtr xtbl.LxMemHandlehCreator){ char Message[255]; char *ToyNum; char *TempIO: char *FirstCommand="00 01 00 00"; char *SecondCormmand="00 00 00 01 00"; char *ThirdCommand="00 00 00 00 00 00"; ToyNum=xtbl_>mem_Lock(Toy_Number); TempIO=xtbl_>mem_Lock(IO). strcpy(Message.FirstCommand). strncat(Message.ToyNum.strlen(ToyNum)): strncat(Message.SecondCommand.strien(SecondCommand)); strncat(Message.TempIO.strien(TempIO)); strncat(Message.TnirdCommanc.strlen(ThirdCommand));<dp n="d195"/> return(xtbl_>string_New(Toy_Tranceive(Message)));/*-----------------------------------------------------------------Procedure Go_To_Sleep_Mode------------------------------------------------------------------*/------------------------------------------------------------------Procedure Prepare_Toy_TalkSend the talk message to the toy-------------------------------------------------------------------*/LxMemHandle_far_pascal_export_Creator_mPrepare_Toy_Talk( LxMemHandle Toy_Number,LxMemHandle WaveFile,LxProcTableptr xtbl,LxMemHandlehCreator){ char *temp; long wavelength; char Message[255]; char *FirstCommand="00 01 00 00"; char *SecondCommand="00 02 00 04" char *ThirdCommand="10 01 03 00 00"; char wavelengthto16bitstr[100]=""; char wavelengthto 16bitstr2[100]=""; int sig=15: char wingth[25]. long y.z:free(RecStr);RecStr[0]=NULL.RecBytes=0;<dp n="d196"/> temp=xtbl_>mern_Lock(WaveFile); wavelength=get file size(temp): wavelength=(long)((((wavelength/2)*45.35)/100000)+1); while(wavelength!=0) { y=wavelengrh/16; z=wavelength% 16; wavelengrh=y; if(z>=10) { gcvt(z,sig,wingth);∥transfrom the length to string length wingth(strlen(wingth)-l]=NULL;∥delete the"." strncat(wavelengthto 16bitstr,wingth.strlen(wlngth)); } else { gcvt(z.sig,wlngth);∥transfrom the length to string length wingth[strlen(wingth)-1]=NULL;∥delete the"." strncat(wavelengthto 16bitstr,"0", 1); strncat(wavelengthto16bitstr,wingth,strfen(wingth)); } strncat(wavelengthto16bitstr," ",1); if(strlen(wavelengthto16bitstr)=9) { strncat(wavelengthto16bitstr,"00",3); } if(strlen(wavelengthto16bitstr)=6) { strncat(wavelengthto16bitstr,"00 00",6); } if(strien(wavelengthto 16bitstr)=3 ) { strncat(wavelengthto 16bitstr,"00 00 00",9); } temp=xtbl_>mem_Lock(Toy_Number); strcpy(wavelengthto16bitstr2,waveiengthto16bitstr-3); wavelengthto16bitstr2[3]=NULL. strcat(wavelengthto16bitstr2.waveiengthto16bitstr); wavelengthto16bitstr2[6]=NULL: strcat(wavelengthto16bitstr2.waveiengthto16bitstr-9); wavelengthto16bitstr2[9]=NULL. strcpy(Message.FirstCommand); ∥add to the string the first command strncat(Message.temp.strien(temp)); ∥the toy number strncat(Message.SecondCommand.strlen(SecondCommand)); ∥add to the string the secondcommand strncatiMessage.wavelengthto16bitstr2.strleniwavelengthto16bitstr2));∥the wave length<dp n="d197"/> strncat(Message.ThirdCommand.stden(ThirdCommand));∥add to the string the rest of thecommand return(xtbl_>string_New(Toy_Tranceive(Message)));}/*MessageReadyReturn true if there is a message from toy, false if not----------------------------------------------------------*/long_far_pascal_expon_Creator_MessageReady( LxProcTablePtr xtbl,LxMemHandle hCreator){ if(RecBytes20) { RecBytes=0; return(1); } else { TimeOut=1; return(o); }}
Appendix K
∥vartaoles for MidiOut UINT uDevicelDOut; MIDIOUTCAPS mocOut; UTNT uErrorOut; HMIDIOUT hMidiOut:∥end of variables∥variables for Midiln UINT uDeviceIDIn: MIDINCAPS mocln: UINT uErrorIn: HMIDIIN hMidiIn;∥end of variables char RecStr[255]. int RecBytes; int TimeOut=1;∥0=faise. 1=true/*-------------------------------------------Constants: */#defineCreator_SUCCESS 0 ∥Successful return code#defineCreator_MEM_ALLOC 1 ∥Memory allocation error/*Macros*/#define get_data() (inportb(InpPort) & 0xF8)#define put_ctrl(Datas)outportb (CtrlPort,Datas)#define get_ctrl() (inponb(CtrlPort) )char StringReceive[255]="":∥#ifdef MK_FP∥#undet MK_FP∥#endif∥#detine NK_FP(seg.ofs) ((void far *) ((unsigned long) (seg)<<161(ofs)))/*----------------------------------------------------------------Types:----------------------------------------------------------------*/typedef struct/ LxXObjHeader head: ∥Required XObject header LxMemHandle hErrMsg; ∥Sample instance data: handle short sfunk. ∥Sample instance data: short<dp n="d199"/>} CreatorType, FAR *pCreatorType:/*---------------------------------------------------Variables---------------------------------------------------*/long ICreatorError=Creator_SUCCESS.HANDLE hinst:/* Globai Variables *//*---------------------------------------------------Method Function Prtotypes:--------------------------------------------------*/short_far_pascal_export LibMain(HANDLE hndInstance,WORD wDataSeg,WORDcbHeapSize.DWORD ignore);long_far_pascal_export_Creator_mNew(LxprocTableptr xtbl,LxMemHandle hCreator);long_far_pascal_export_Creator_mDisposeiLxProcTableptrxtbl,LxMemHandle hCreator);long_far_pascal_export_Creator_mGet_Sensor_Number(LxProcTablePtr xrbl,LxMemHandlehCreator):LxMemHandle_far_pascal_export_Creator_mGet_Toy_Number(LxprocTablePtr xtbl.LxMemHandle hCreator);long_far_pascal_export_Creator_MessageReady(LxProcTableptr xtbl.LxMemHandlehCreator):long_far_pascal_export_Creator_mSend_Message(LxMemHandle SendMessage.LxProcTablePtr xtbl,LxMemHandle hCreaxor);long_far_pascal_export_Creator_Numb_MidiOut(LxprocTablePtr xtbl.LxMemHandlehCreator)long_far_pascal_export_Creator_MidiOutOpenDevice(long Device.LxprocTableptr xtbl,LxMemHandle hCreator);long_far_pascal_export_Creator_MidiOutCloseDevice(LxProcTablePtr xtbl.LxMemHandlehCreator):long_far_pascal_export_Crearor_MidiOutResetDevice(LxProcTablePtr.xtbl.LxMemHandlehCreator);long_far_pascal_export_Creator_mSendData(long SendByte.LxProcTablePtr xtbl.LxMemHandle hCreator);void_far_pascai_export CALLBACK MyMidiIn(HMIDIIN hMidiIn.UINT wMsg,DWORDdwinstance.DWORD dwParam1.DWORD dwParam2).long_far_pascai_export_Creator_MidiInOpenTheDevice(long Device.LxProcTablePtr xtbl.LxMemHandle hCreator);long_far_pascai_export_Creator_MidiInCloseTheDevice(LxProcTablePtr xtbl.LxMemHandlehCreator).<dp n="d200"/> long_far_pascal_export_Creator_MidiInResetTheDevice(LxProcTablePtr xtbl,LxMemHandle hCreator); long_far_pasci_export_Creator_MidiInStartTheDevice(LxProcTablePtr xtbl.LxMemHandle hCreator); long_far_pascai_export_Creator_MidiInStopTheDevice(LxProcTablePtr xtbl,LxMemHandle hCreator); LxMemHandle_far_pascal_export_Creator_Set_IO_To_1(LxMemHandle IO,LxMemHandle Toy_Number.LxProcTablePtr xtbl,LxMemHandle hCreator);LxMemHandle_far_pascal_export_Creator_Set_IO_To_0(LxMemHandle IO,LxMemHandle Toy_Number.LxProcTablePtr xtbl,LxMemHandle hCreatr);LxMemHandle_far_poascal_export_Creator_Go_To_Sleep_Mode(LxMemHandleToy_Number,LxprocTablePtr xtbl.LxMemHandle hCreator);LxMemHandle_far_pascal_export_Creator_mTemp(LxProcTablePtr xtbl,LxMemHandlehCreator):LxMemHandle_far_poascal_export_Creator_mWait_For_Toy_Message(LxprocTablePtr xtbl,LxMemHandle hCreator);LxMemHandle_far_pascal_export_Creator_mCr_Proc_Toy_Reset(LxMemHandleToy_Number,LxprocTablePtr xtbl,LxMemHandle hCreator);LxMemHandle_far_pascal_export_Creator_mCr_Proc_Toy_Tranceive(LxMemHandleToy_Number,LxMemHandle SendMessage,LxProcTablePtr xtbl.LxMemHandle hCreator);LxMemHandle_far_pascal_export_Creator_mPrepare_Toy_Talk(LxMemHandleToy_Number,LxMemHandle WaveFiie,LxProcTableptr xtbl.LxMemHandle hCreator);/*FUNCTION ‖ LibMain()Windows Entry Procedure for DLLs.Called by LibEntry routine.*/short_far_pascal_export LibMain( HANDLE hndlnstance,WORD wDataSeg,WORD cbHeapSize,DWORD ignore){ if(cbHeapSize l=0) { if(! LocalInit((UINT)wDataSeg,(UINT)NULL,(UINT)cbHeapSize)) { return(0), } hInst=hndInstance: return(1):<dp n="d201"/>/*---------------------------------------------------------------Internal Functions:---------------------------------------------------------------*/∥Log some useful debug info to message windowstatic void LogMessage(LxProcTablePtr xtbl,const char *format,…){ char buf[250]; ∥!!@ No error check on size. wvsprintf(buf format,((char *)&format)+sizeof(char *)); xtbl_>showMsg(buf);/*-----------------------------------------------------------------------------FUNCTION. ‖ _Creator_mNewCreate a new instance of the Creator XObject.Initialize instance variables.-------------------------------------------------------------------------*/long_far_pascal_export_Creator_mNew( LxProcTablePtr xtbl,LxMemHandle hCreator){ pCreatorType pCreator; lCreatorError=Creator_SUCCESS; if(xtbl_>mem_SetSize(hCreator,(long) sizeof(CreatorType))!=NULL) { ∥Initialize instance data pCreator=xtbl_>mem_Lock(hCreator); pCreator_>hErrMsg=NULL; pCreator_>sJunk=-1; xtbl_>mem_Unlock(hCreator); } else { lCreatorError=Creator_MEM_ALLOC; } return (lCreatorError):<dp n="d202"/>-----------------------------------------------------------------------------FUNCTION ‖ _Creator_mDisposeDispose of a Creator XObject instance. Free instance data (if any).---------------------------------------------------------------------*/long_far_pascal_export_Creator_mDispose( LxProcTableptr xtbl,LxMemHandle hCreator){ pCreatorType pCreator; lCreatorError=Creator_SUCCESS; pCreator=xtbl_>mem_Lock(hCreator); if(pCreator_>hErrMsg!=NULL) { ∥Dispose of saved error message:xtbl_>mem_Dispose(pCreator_>hErrMsg); } xtbl_>mem_Unlock(hCreator); xtbl_>xobj_Dispose(hCreator); return(lCreatorError);
Appendix L
∥********************************The MMSYSTEM Part: *******************************************************************************************************************************∥ Functions for midiout:****************************************************************************************** void ErrorShowOut(UINT ErrorNumber) {char str[255];uErrorOut=midiOutGetErrorText(ErrorNumber,str,sizeof(str));if(uErrorOut=!0)MessageBox(NULL,str,"ERROR MIDIOUT",MB_ICONSTOP);elseMessageBox(NULL,"ERROR!!!".","MB_ICONSTOP);}void GetNumDevCapsFromMidiOut(){uErrorOut=midiOutGetDevCaps(uDeviceIDOut.&mocOut,sizeof(mocOut));if(uErrorOut) ErrorShowOut(uErrorOut); long_far_pascal_export_Creator_Numb_MidiOut(LxProcTablePtr xtbl,LxMemHandle hCreator) { return((long)midiOutGetNumDevs()); } long_far_pascal_export_Creator_MidiOutOpenDevice(long Device,LxprocTablePtr xtbl, LxMemHandle hCreator) { UINT wDeviceIDOut: wDevicelDOut=(UINT)Device; uErrorOut=midiOutOpen(&hMidiOut,wDeviceIDOut.NULL.NULL,NULL); if(uErrorOut) ErrorShowOut(uErrorOut); return((long)uErrorOut);}lonu_far_pascal_export_Creator_MidiOutCloseDevice(LxProcTablePtr,xtbl,LxMemHandle hCreator)/ uErrorOut=midiOutClose(hMidiOut); if(uErrorOut) ErrorShowOut(uErrorOut); return((long)uErrorOut)long_far_pascal_export_Creator_MidiOutResetDevice(LxProcTablePtr xtbl.LxMemHandlehCreator}:<dp n="d204"/> uErrorOut=midiOutReset(hMidiOut), if(uErrorOut)ErrorShowOut(uErrorOut); return((long)uErrorOut);long_far_pascai_export_Creator_mSendData(long SendByte.LxProcTablePtr xtbl,LxMemHandle hCreator){ DWORD SendMsg; SendMsg=(DWORD)SendByte; uErrorOut=midiOutShortMsg(hMidiOut,SendMsg); if(uErrorOut) ErrorShowOut(uErrorOut);return((long)uErrorOut):}∥*****************************************************************∥***********************Midi In Functions:**********************∥*****************************************************************void_far_pascal_export CALLBACK MyMidiIn(HMID IIN hMidiIn.UINT wMsg,DWORDdwInstance,DWORD dwParaml,DWORD dwParam2){ char temp[25]; int sig=10; if(wMsg=MIM_DATA) {∥ i=(int)(*((char*)&dwParaml));∥******************************************************int a.b;if(RecBytes==20) { free(RecStr):RecStr[0]=NULL.RecBytes=0: }dwParaml=dwParaml-1+1;b=(int)(dwParaml/65536);a=(int)((dwParam 1%65536)/256)gcvt(a,sig,temp);if(a<10){ strncat(RecStr."0".1).} strncat(RecStr.temp.lstrien(temp)-1)); strncat(RecStr," ",1).<dp n="d205"/>if(b<10) strncat(RecStr,"0",1):}gcvt((double)b,sig,temp),strncat(RecStr,temp,(strlen(temp)-1));strncat(RecStr," ",1);RecBytes=RecBytes-2:∥******************************************* } void ErrorShowIn(UINT ErrorNumber) { char str[255]; uErrorIn=midiInGetErrorText(ErrorNumber,str,sizeof(str)); if(uErrorIn=!0) MessageBox(NULL.str."ERROR MIDIIN",MB_ICONSTOP); else MessageBox(NULL."ERROR!!!"." ",MB_ICONSTOP); } UINT GetNumDevsFromMidiIn() { return(midInGetNumDevs()); }void GetNumDevCapsFromMidiIn(){ uErrorIn=midiInGetDevaps(uDeviceIDIn,&mocIn,sizeof(mocIn)); if(uErrorIn)ErrorShowIn(uErrorIn):}long_far_pascal_export_Creator_MidiInOpenTheDevice(long Device,LxProcTablePtr xtbl,LxMemHandle hCreator){ UINT wDeviceIDIn: wDeviceIDIn=(UINT)Device: 0,CALLBACK_FUNCTION); if(uErrorIn) ErrorShowIn(uErrorIn); return((long)uErrorIn);}long_far_pascal_export_Creator_MidiInCloseTheDevice(LxProcTablePtr xtbl.LxMemHandlehCreator){ uErrorIn=midiInClose(hMidiIn);<dp n="d206"/> if(uErrorIn) ErrorShowIn(uErrorIn);return((long)uErrorIn); long_far_pascal_export_Creator_MidiInResetTheDevice(LxprocTablePtr xtbl,LxMemHandle hCreator) { uErrorIn=midiInReset(hMdiIn); if(uErrorIn) ErrorShowIn(uErrorIn); return((long)uErrorIn); }long_far_pascal_export_Creator_MidiInStartTheDevice(LxProcTablePtr xtbl,LxMemHandlehCreator){ uErrorIn=midiInStart(hMidiIn); if(uErrorIn) ErrorShowIn(uErrorIn); return((long)uErrorIn);long_far_pascal_export_Creator_MidiInStopTheDevice(LxProcTablePtr xtbl,LxemHandlehCreator){ uErrorIn=midiInStop(hMidiIn); if(uErrorIn)ErrorShowIn(uErrorIn); retum((long)uErrorIn);}∥*********************************************************************∥******************End Midi In******************∥*********************************************************
Appendix M
#ifndef_XObject_#define _XObject_/*XObject inferface for Windows Lingo 3.024may94 JT Added mem_ReverseBytes.05feb93 JT Added more call backs.25aug92 JT Resurrected from the dead-*//*---------------------------------------------------Constants:----------------------------------------------------*//*_Lingo data type codes.non-handles */#define TY_NULL (0) ∥Null Type#define TY_NOVALUE (2) ∥No Return Value("X")#define TY_LONGINT (4) ∥Integer("I")#define TY_SYMBOL (8) ∥Symbol Type#define TY_STRING_PTR (10) ∥String Poirnter Type/* _Lingo data type codes. handles */#define TY_STRING (1) ∥Null-terminated string handle ("S")#define TY_OBJECT (3) ∥XObject instance handle("O")#define TY_PICTURE (5) ∥Metafile handle("P")#define TY_FLOAT (9) ∥Long double handle Type/*Types:------------------------------------------------------------------------------------------------*//* - A typed value - *!typedef struct{ short ty: /* _Type code - */ long it: /* _Some datum,handle if a TY_STRING_*/ } LxValue.*LxValuePtr;/* -- Memory management interface-- */typedef void *LxMemPtr;typedef void**LxMemHandle;typedef void(*LxMsgProcPtr)(void);/*--Call backs to Lingo--*/typedef structlong verston.void l_far_pascal *xobj_Dispose) (LxMemHandle xobj);<dp n="d208"/> LxMemHandle(_far_Pascal *mem_New) (long size. BOOL zeroInit); void (_far_pascal *mem_Dispose) (LxMemHandle hdl): LxemHandle(_far_pasal*mem_SetSize) (LxMemHandle hdl, long newSize); long (_far_pascal*mem_GetSize) (LxMemHandle hdl); LxMemptr(_far_pascal *mem_Lock) (LxMemHandle hdl); void (_far_pascal *mem_Unlock) (LxMemHandle hdl);LxMemHandle(_far_pascal *mem_Clone) (LxMemHandle hdl);LxMemHandle(_far_pascal*mem_AppendPtr) (LxMemHandle hdl, LxMemPtr src. long count);BOOL (_far_pascal *mem_Equal) (LxMemHandle hdll, LxMemHandle hdl2);void (_far_pascal *mem_Copy) (LxMemPtr dest, LxMemPtr src, long count):void (_far_pascal *mem_ZeroPtr) (LxMemPtr dest, long count);LxMemHandle(_far_pascal *string_New) (LPSTR str);void (_far_pascal *showMsg) (LPSTR str);HWND (_far_pascal *getStageWindow) (void);long (_far_pascal *register_QTActor) (LxMemHandle me, LPSTR fileType, BOOL install);long (_far_pascal *register_StageEar) (LxMemHandle me, long msg, BOOL install,);BOOL (_far_pascal *fileDlg_SaveAs) (LPSTR szTitleIn, LPSTR szDefSpec, LPSTR szFileNameIn);BOOL (_far_pascal *fileDlg_OPen) (LPSTR szTitleIn, LPSTR szDefSpec, LPSTR szFileNameIn);void (_far_pascal *ConvertMACToDosPath) (LPSTR macPath, LPSTR dosPath. short maxDosPathLen);void (_far_pascal *ConvertDosPathToMAC) (LPSTR path);LxMemHandle(_far_pascal *GetLingoGlobal) (LPSTR symbolBuf);void (_far_pascal *SetLingoGlobal) (LPSTR symbolBuf, LxMemHandle newValue);void (_far_pasca! *ConvertSymboiToStr) (long symbolid, LPSTR symbolBuf);long (_far_pascal *ConvertStrToSymboi) (LPSTR symbolBuf);void (_far_pascal *SendPerform) (long nargs.<dp n="d209"/> LxValuePtr argPtr, LxMemHandle obj); LxMemHandle(_far_pascal *FindFactory) (LPSTR symbolBuf); char (_far_pascal *SetOverrideDrive) (char driveLetter); void (_far_pascal *ResetPalette) (void); void (_far_pascal *mem_ReverseBytes) (void_huge * ptr,char* structDef,long entrySize,long len);} LxProcTable,*LxProcTablePtr;/* --The xobject header.All instance must start with this -- */typedef struct{ long reserved1; /* -- Reserved for interal use */ long reserved2; /* -- Reserved for interal use */ long reserved3; /* -- Reserved for interal use */ long reserved4; /* -- Reserved for interal use */} LxXObjHeader, *LxXObjHeaderPtr,/*--------------------------------------------------------------Variables:--------------------------------------------------------------*//*--------------------------------------------------------------Functions:---------------------------------------------------------------*//*---------------------------------------------------------------Macros:---------------------------------------------------------------*/#endif
Appendix N
∥FlLE NAME CREATOR.DEFLIBRARY CreatorDESCRIPTION Creator SB DllEXETYPE WINDOWSSTUB WINSTUB.EXE'CODE MOVEABLE DISCARDABLELOADONCALLDATA MOVEABLE SINGLEHEAPSIZE 128SEGMENTS Creator_TEXT MOVEABLE DISCARDABLELOADONCALLEXPORTS L1bEntry @1 RESIDENTNAME WEP @2 RESIDENTNAME _Creator_mNew @3 _Creator_mDispose @4_Creator_Numic_MidiOut @5_Creator_MidiOutOpenDevice @6_Creator_MidiOutCloseDevice @7_Creator_MidiOutResetDevice @8 _Creator_mSendData @9_Creator_mWait_For_Toy_Message @10_Creator_mGet_Sensor_Number @11_Creator_mGet_Toy_Number @12_Creator_mSend_Message @13_Creator_mCr_Proc_Toy_Reset @14_Creator_mCr_Proc_Toy_Ttanceive@15_Creator_mprapare_Toy_Talk @16_Creator_MidiInOpenTheDevice @17_Creator_MidiInCloseTheDevc @18_Creator_MidiInResetTheDevc @19_Creator_MidiInStartTheDevice @20_Creator_MidiInSpTheDevice @21_Creator_Set_IO_To_0 @23_Creator_Set_IO_To_1 @24_Creator_Go_To_Sleep_Mode @25_Creator_MessageReady @26
Appendix O
#include<windows.h> XMethTable RCDATA BEGIN"- Creator Xobject \O","Creator\O","Ⅰ mNew - Creates a new instance of the XObject\O", "X mDispose - Disposes of XObject instance\O","Ⅰ Numb_MidiOut - Return the numbers of midi out device\O","Ⅱ MidiOutOpenDevice - Open the Midi Out Device (Device ID)\O","Ⅰ MidiOutCloseDevice - Close the Midi Out Device\O","Ⅰ MidiOutResetDevice - Reset the Midi Out Device\O", "Ⅱ MidiInOpenTheDevice - Open the MidiIn Device (Device ID)\O", "Ⅰ MidiInCloseTheDevice - Close the MidiIn Device \O", "Ⅰ MidiInResetTheDevice - Send the reset string to the midi device \O", "Ⅰ MidiInStartTheDevice - Start the MidiIn Device \O", "Ⅰ MidiInStopTheDevice - Stop the MidiIn Device \O", "S mWait For Toy_Message - Receive the 20bytes str\O", "Ⅰ mGet_Sensor_Number - Return the sensor number\O", "S mGet_Toy_Number - Return the toy number\O", "ⅠS mSend_Message - Send a message to toy (Message)\O", "SS mCr_Proc_Toy_Reset - Send the reset string to toy (Toy Number)\O", "SSS mCr_Proc_Toy_Tranceive - Tranceive a string to toy (Toy Number, Message)\O", "SSS mPrepare_Toy_Talk - Prepare the toy for talking (Toy Number, Wave File)\O", "SSS Set_IO_To_1 - Set the IO number to 1 (IO Number, Toy Number) \O", "SSS Set_IO_To_0 - Set the IO number to 0 (IO Number, Toy Number) \O", "SS Go_To_Sleep_Mode - Send to toy the sleep command (Toy Number)\O", "Ⅰ MessageReady - Check if received 20 bytes fiom the toy \O". "\O\O"END
Claims (89)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US8188998A | 1998-05-20 | 1998-05-20 | |
| US09/081,889 | 1998-05-20 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN1310795A true CN1310795A (en) | 2001-08-29 |
Family
ID=22167057
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN99808910.9A Pending CN1310795A (en) | 1998-05-20 | 1999-05-20 | Intelligent toy |
Country Status (6)
| Country | Link |
|---|---|
| EP (1) | EP1080352A1 (en) |
| JP (1) | JP2002536030A (en) |
| CN (1) | CN1310795A (en) |
| AU (1) | AU3953099A (en) |
| CA (1) | CA2332582A1 (en) |
| WO (1) | WO1999060358A1 (en) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103985232A (en) * | 2013-02-07 | 2014-08-13 | 北京希格玛和芯微电子技术有限公司 | Wireless remote control system |
| CN105597312A (en) * | 2015-12-25 | 2016-05-25 | 珠海金山网络游戏科技有限公司 | Game command processing method and system |
| CN106128461A (en) * | 2016-09-07 | 2016-11-16 | 青岛启程儿童机器人有限公司 | A kind of intelligent toy and the information transferring method of remote server |
| CN106406328A (en) * | 2016-11-05 | 2017-02-15 | 杭州畅动智能科技有限公司 | Motion control method based on robot development platform |
| CN107320951A (en) * | 2017-06-27 | 2017-11-07 | 成都艺游互娱网络科技有限公司 | Method, toy base, the interactive system combined for playing with intelligent toy |
| CN107665702A (en) * | 2016-11-09 | 2018-02-06 | 汎达科技(深圳)有限公司 | A kind of application method of the electronic equipment played with audio |
| CN107715470A (en) * | 2017-09-19 | 2018-02-23 | 东莞市佰腾塑胶五金制品有限公司 | Control method, device and system of remote control toy |
| CN110732146A (en) * | 2019-10-15 | 2020-01-31 | 深圳市安瑞创电子科技有限公司 | detachable and separable embedded remote controller |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU6646900A (en) * | 1999-08-19 | 2001-03-13 | Kidkids, Inc. | Networked toys |
| JP2001125585A (en) * | 1999-08-31 | 2001-05-11 | Swisscom Ltd | Moving robot and its control method |
| JP2002063505A (en) * | 2000-08-16 | 2002-02-28 | Nippon Telegr & Teleph Corp <Ntt> | Information distribution method, information distribution center device, information distribution terminal device, and character doll |
| USD473866S1 (en) | 2002-05-15 | 2003-04-29 | Hannstar Display Corp. | Display |
| USD476003S1 (en) | 2002-05-15 | 2003-06-17 | Hannstar Display Corp | LCD display |
| USD474768S1 (en) | 2002-05-15 | 2003-05-20 | Hannstar Display Corp. | Display |
| USD476653S1 (en) | 2002-05-15 | 2003-07-01 | Hannstar Display Corp. | Display |
| USD473865S1 (en) | 2002-05-15 | 2003-04-29 | Hannstar Display Corp. | Display |
| USD474466S1 (en) | 2002-06-12 | 2003-05-13 | Hannstar Display Corp. | LCD display |
| USD476991S1 (en) | 2002-06-13 | 2003-07-08 | Hannstar Display Corp. | LCD display |
| USD473229S1 (en) | 2002-06-20 | 2003-04-15 | Hannstar Display Corp. | LCD display |
| USD474467S1 (en) | 2002-06-20 | 2003-05-13 | Hannstar Display Corp. | LCD display |
| USD473556S1 (en) | 2002-06-21 | 2003-04-22 | Hannstar Display Corp. | LCD display |
| USD475707S1 (en) | 2002-06-21 | 2003-06-10 | Hannstar Display Corp. | LCD display |
| JP2007006352A (en) * | 2005-06-27 | 2007-01-11 | Nippon Television Network Corp | Control system of external device utilizing data broadcasting, and device and program used for the same |
| GB2448883A (en) * | 2007-04-30 | 2008-11-05 | Sony Comp Entertainment Europe | Interactive toy and entertainment device |
| US11931183B2 (en) * | 2019-05-02 | 2024-03-19 | University Of Central Florida Research Foundation, Inc. | Computer analysis and enhanced visualization of play interactions |
| JP2023136648A (en) * | 2022-03-17 | 2023-09-29 | Necスペーステクノロジー株式会社 | Transponder, communication system, processing method, and program |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4334221A (en) * | 1979-10-22 | 1982-06-08 | Ideal Toy Corporation | Multi-vehicle multi-controller radio remote control system |
| DE3009040C2 (en) | 1980-03-08 | 1982-05-19 | Hermann Dr. 8510 Fürth Neuhierl | Toy vehicle with electric power supply, electric drive and radio remote control |
| US4799171A (en) * | 1983-06-20 | 1989-01-17 | Kenner Parker Toys Inc. | Talk back doll |
| US4712184A (en) | 1984-09-12 | 1987-12-08 | Haugerud Albert R | Computer controllable robotic educational toy |
| JPS61156405A (en) * | 1984-12-28 | 1986-07-16 | Nintendo Co Ltd | Robot composite system |
| US4786967A (en) * | 1986-08-20 | 1988-11-22 | Smith Engineering | Interactive video apparatus with audio and video branching |
| US4840602A (en) | 1987-02-06 | 1989-06-20 | Coleco Industries, Inc. | Talking doll responsive to external signal |
| US5195920A (en) | 1989-02-16 | 1993-03-23 | Collier Harry B | Radio controlled model vehicle having coordinated sound effects system |
| US5021878A (en) | 1989-09-20 | 1991-06-04 | Semborg-Recrob, Corp. | Animated character system with real-time control |
| US5142803A (en) | 1989-09-20 | 1992-09-01 | Semborg-Recrob, Corp. | Animated character system with real-time contol |
| US5182557A (en) | 1989-09-20 | 1993-01-26 | Semborg Recrob, Corp. | Motorized joystick |
| US5191615A (en) | 1990-01-17 | 1993-03-02 | The Drummer Group | Interrelational audio kinetic entertainment system |
| US5270480A (en) | 1992-06-25 | 1993-12-14 | Victor Company Of Japan, Ltd. | Toy acting in response to a MIDI signal |
| US5388493A (en) | 1993-11-17 | 1995-02-14 | Curletto; Giorgio F. | Extra low profile housing for vertical dual keyboard MIDI wireless controller for accordionists |
-
1999
- 1999-05-20 CA CA002332582A patent/CA2332582A1/en not_active Abandoned
- 1999-05-20 AU AU39530/99A patent/AU3953099A/en not_active Abandoned
- 1999-05-20 CN CN99808910.9A patent/CN1310795A/en active Pending
- 1999-05-20 EP EP99922472A patent/EP1080352A1/en not_active Withdrawn
- 1999-05-20 JP JP2000549925A patent/JP2002536030A/en active Pending
- 1999-05-20 WO PCT/IL1999/000271 patent/WO1999060358A1/en not_active Ceased
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103985232A (en) * | 2013-02-07 | 2014-08-13 | 北京希格玛和芯微电子技术有限公司 | Wireless remote control system |
| CN105597312A (en) * | 2015-12-25 | 2016-05-25 | 珠海金山网络游戏科技有限公司 | Game command processing method and system |
| CN106128461A (en) * | 2016-09-07 | 2016-11-16 | 青岛启程儿童机器人有限公司 | A kind of intelligent toy and the information transferring method of remote server |
| CN106406328A (en) * | 2016-11-05 | 2017-02-15 | 杭州畅动智能科技有限公司 | Motion control method based on robot development platform |
| CN106406328B (en) * | 2016-11-05 | 2020-04-03 | 杭州畅动智能科技有限公司 | Motion control method based on robot development platform |
| CN107665702A (en) * | 2016-11-09 | 2018-02-06 | 汎达科技(深圳)有限公司 | A kind of application method of the electronic equipment played with audio |
| CN107320951A (en) * | 2017-06-27 | 2017-11-07 | 成都艺游互娱网络科技有限公司 | Method, toy base, the interactive system combined for playing with intelligent toy |
| CN107715470A (en) * | 2017-09-19 | 2018-02-23 | 东莞市佰腾塑胶五金制品有限公司 | Control method, device and system of remote control toy |
| CN107715470B (en) * | 2017-09-19 | 2020-01-07 | 东莞市佰腾塑胶五金制品有限公司 | A control method, device and system for a remote control toy |
| CN110732146A (en) * | 2019-10-15 | 2020-01-31 | 深圳市安瑞创电子科技有限公司 | detachable and separable embedded remote controller |
Also Published As
| Publication number | Publication date |
|---|---|
| EP1080352A1 (en) | 2001-03-07 |
| WO1999060358A1 (en) | 1999-11-25 |
| JP2002536030A (en) | 2002-10-29 |
| AU3953099A (en) | 1999-12-06 |
| CA2332582A1 (en) | 1999-11-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1310795A (en) | Intelligent toy | |
| CN1262955C (en) | Communication apparatus communication method, electronic device, control method of electronic device and recording medium | |
| CN1254101C (en) | Reinforced video frequency program system and method for user simple information | |
| KR20080106401A (en) | Computer-readable media comprising a content stream and a system and method for providing content during game play | |
| CN1394315A (en) | Agent system, agent selling method, information providing device, and data recorded medium | |
| CN1838300A (en) | Methods and systems for generating a subgroup of one or more media items from a library of media items | |
| CN102279866A (en) | Content recommendation device and content recommendation method | |
| CN1211357A (en) | I * doll | |
| CN1745392A (en) | Content creation, distribution, interaction, and monitoring system | |
| CN102279865A (en) | Content recommendation device and content recommendation method | |
| KR20110043618A (en) | Media display integrated into computer peripherals and computing systems: Media Mouse, Media Keyboard, Media Monitor, Media Mate, Media Screen and Media Book | |
| CN1406355A (en) | Information communicating system for communicating and distributing information | |
| WO2002007414A1 (en) | Method for information service using portable communication terminal | |
| King | Music marketing: Press, promotion, distribution, and retail | |
| CN105190741A (en) | Music session management method and music session management device | |
| JP5265278B2 (en) | Information processing apparatus, music distribution apparatus, electronic book display system, and computer program | |
| KR102608935B1 (en) | Method and apparatus for providing real-time audio mixing service based on user information | |
| US20170134464A1 (en) | Client application and servers for artists to interact with fans | |
| CN1313557A (en) | Game system, central device, program and record media | |
| Paterson et al. | User-influenced/machine-controlled playback: the variPlay music app format for interactive recorded music | |
| Tur-Viñes et al. | Youtubers and community management strategies | |
| Moortgat | Exploring European Consumers' Perceptions and Preferences of Music Streaming Services-Consumers' Interest in Artificial Intelligence and Future Trends | |
| Pearce | From discord to harmony: connecting Australian music and business through the experience economy | |
| KR102630214B1 (en) | Method of operating performance server for non-face to face reactive performance | |
| CN100451960C (en) | Method for multimedia presentation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |