CA1082351A - Television display control apparatus - Google Patents
Television display control apparatusInfo
- Publication number
- CA1082351A CA1082351A CA247,574A CA247574A CA1082351A CA 1082351 A CA1082351 A CA 1082351A CA 247574 A CA247574 A CA 247574A CA 1082351 A CA1082351 A CA 1082351A
- Authority
- CA
- Canada
- Prior art keywords
- image device
- data
- ball
- player
- display
- 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.)
- Expired
Links
Classifications
-
- 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
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/812—Ball games, e.g. soccer or baseball
-
- 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
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
-
- 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/80—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 specially adapted for executing a specific type of game
- A63F2300/8011—Ball
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S345/00—Computer graphics processing and selective visual display systems
- Y10S345/949—Animation processing method
- Y10S345/96—Iterative display of preconfigured images
Abstract
TELEVISION DISPLAY CONTROL APPARATUS
Abstract of the Disclosure Keyboard-controlled apparatus for producing video signals for standard television receivers includes a random access memory having a multi-plicity of storage positions each of which corresponds to a preselected dis-crete portion of the TV raster. Data stored in the random access memory is sequentially read from memory in synchronism with the scanning of the television receiver so that a desired video signal is generated at each discrete position of the cathode ray beam. Data is read into the random access memory at preselected storage positions depending upon a particular image to be displayed. The data writing process is under the control of a micro-processor which is programmed to cause the stored image data to be varied in accordance with the condition of the user-controlled keyboard.
Abstract of the Disclosure Keyboard-controlled apparatus for producing video signals for standard television receivers includes a random access memory having a multi-plicity of storage positions each of which corresponds to a preselected dis-crete portion of the TV raster. Data stored in the random access memory is sequentially read from memory in synchronism with the scanning of the television receiver so that a desired video signal is generated at each discrete position of the cathode ray beam. Data is read into the random access memory at preselected storage positions depending upon a particular image to be displayed. The data writing process is under the control of a micro-processor which is programmed to cause the stored image data to be varied in accordance with the condition of the user-controlled keyboard.
Description
~0~
This invention relates to apparatus for controlling the ~ ;
video display of a standard television receiver. More particularlyJ
i ~he present invention concerns a device, adapted to be connected to ~ `
the antenna terminals of a television receiver, which is capable of ;
producing a predetermined display including various image sysbmols, the positions of which can be selectively manipulated by a user.
Although not so limited, the invention is of particular utility as an adult and/or child entertainment device.
The system described in United States patents Nos. 3,659~284 ~ ~
and 3,659,285 can be used with a standard television receiver to -, play various types of games as described therein. That system includes electronic circuitry which generates video signals (representing the sy~bols to be displayed) at appropriate times during scanning of a standard receiver to create certain predeter- ~ , mined image symbols on the television screen. By controlling the ~
~182;~5~
time of occurre~ce of these video signals, the user can manipulate the positions of the various image symbols. Different games can be played by securing an overlay screen to the television receiver.
The present invention relates to electronic apparatus for generating video signals for standard television receivers which is substantially different from and superior to systems represented, for example, by the above patents. Among other things, the invention provides the user with substantially greater control of the display and manipulation of the image-symbols, thereby enhancing its value as an entertainment device. The invention can be used to play more games than is possible with known systems of this type, and it does not require overlay screens to establish boundaries or other con-straints for different games. It is also more flexible in its capacity to accommodate individual ski-lls, and can be used to play games sub- ~' stantially more challenging than those games available on known systems.
Furthermore, and of great-significance, the present invention is not limited in its utility to an entertainment or game type device. The system~can be used as a home intelligent terminal ~ '' for generating or receiving, and displaying selected messages of any type. For example, and as~explained below, the same basic system used to display and manipulate image symbols in a game can be made to function as a calcuIator using the television screen to display totals, subtotals, sums which'are being held in memory, ' and other values.
Briefly, in accordance'with the''invention, a television raster is digitized into a multiplicity (for example, about 32,000) ~ ' discrete dots or bars. A random~access memory having at least a similar multiplicity of data storage posi~ions maintains a digital representation of the data to be displayed on the television screen.
Normally, data is read from the memory in synchronism with the scanning of the television screen, i.e. each storage position i8 read from memory as the cathode ray beam is scanning the corresponding bar of the raster. Display data is written into memory under the control of a programmed micro-processor which modifies the display data stored in the memory in accordance with the condition of the keys of a keyboard manually controlled by the user(s).
The micro-processor used to determine the display data can be operated to perform a wide variety of standard calculator functions. Accord-ingly, in addition to game control keyboards, an alpha~numeric keyboard may be provided so that the system can be used as a calculator with selected entries being held in the random access memory and, consequently, displayed on the television screen. Because of the size of the television screen, the display capacity is sufficient to enable the device to be used to display ~ -previous subtotals, numbers held in memory, or other desired values. -In accordance with the invention there is provided display control apparatus for use with a television receiver including video signal input terminals, a display tube, and means for scanning said display tube at a predetermined rate, comprising: memory means having a multiplicity of discrete digital storage positions, each of said storage positions corresponding to a preselected image area of said display tube; data processor means including storage means for storing therein digital data representing a plurality of prescribed image devices, at least one of said image devices comprising an image device moveable under control of a user; control means having first manually actuable means for moving said user controlled image device hori-zontally and vertically; means responsive to said control means and said data processor means for selectively writing digital data representing one of said prescribed image devices into selected ones of said storage positions, said storage positions being selected to correspond to a predetermined image device to be displayed on said display tube; said data processing means includ~
ing means responsive to said first manually actuable means for erasing the data representing the user controlled image device stored in said memory ~3~
' ' 11D~235~, means, and means for writing the data representing said user controlled image device at a new address in said memory means corresponding to a pre-determined new address; means for sequentially reading stored data from said - storage positions at said predetermined scanning rate, with each storage position being read essentially as the predetermined image area of the dis-play tube corresponding to that storage position is belng scanned; and means responsive to said sequential reading means for generating a video signal adapted to be coupled to the video signal input terminals of a television receiver.
In the drawings:
Figure lA illustrates a typical game display and the image symbols which would exist in accordance with a preferred embodiment if the system were used to play a hockey game;
Figure lB illustrates the game control keyboards, by means of .
which the game is pl.ayed, and a typical calculator keyboard including certain ~ keys required to select and set up the parameters of a game;
; Figure 2 is a general block diagram of the invention;
. Figure 3 is a more detailed block diagram of the invention; :~ ~
Figure 4 is an explanatory diagram; ~ :
Figures 5A-5H diagrammatically represent data blocks -3a-, .. . . . . . .
108Z35~
corresponding to various rotational positions of certain image symbols;
Figure 6 is an e~planatory diagram describing how the direction of a continuously moving image symbol is determined;
Figure 7 is an explanatory diagram; and Figure 8 is a logic diagram of one of the control circuits shown in block form in Figure 3.
In the following description, a particular example is presented for `
purposes of explanation only. The image symbols which appear on the tele-vision screen are reEerred to as "image devices". The image device which moves continuously until deflected by another image device is referred to as a ball whether the game is considered to be tennis or hockey, or whether the continuously movable image device is intended to represent a missile or the like. The image devices which intcrcept and deflect (or launch) a ball are referred to herein as "players" whether the image represented thereby corres-ponds to a human form or an instrument such as a paddle, bat or weapon.
Similarly, the term "goalie" as used herein is not intended to be restrictive in terms of function but, as in the previous cases, represents one particular player image device displayed on a television screen.
Figure lA shows a typical display which will appear on the screen of the user's television receiver and Figure lB illustrates the keyboards by which the users play the game. In describing the invention, a hockey game is used for purposes of explanation since this game lncludes many of the image devices used in other games. Normally, the screen will be black with the images illustrated in ~igure l appearing in white. -The boundary of the hockey rink is shown by the lines lO and 12, the break between the boundaries representing goals 14 and 16. Each side has a player (Pl and P2) and a goalie (Gl and G2~. The ball (puck) is shown as a cross and is represented by the letter B.
The ball B is set into motion when the game is started. It moves ~ `
in a predetermined path until it strikes one of the players Pl or P2, one of the goalies Gl or G2, or the boundaries lO or 12. When it strikes one of these image devices, it is deflected approximately at its angle of incidence (or ~(~8235a.
some other angle) and continues its movement until it is intercepted by one of these image dcvices again. The users have the ability to manipulate the goalies a~d players so that the ball B can be intercepted and deflected toward the opposing player's goal. Each time the ball B strikes the goal 14 or 16 a score is registered for the opposing player in the areas shown by ~he boxes 17 and 18.
Each user manipulates his goalie and player by means of a game control keyboard which are shown diagrammatically in Figure lB as GCKl and GCK2, respectively. Each game control keyboard includes eight push buttons arranged as shown and bearing the legends Vu, VB, HL, HR, Gu, GD, CW and CCW.
These keys, when depressed, cause the following functions to occur for the associated image device.
KEY PUNCTION
VU Player moves vertically upward.
VD Player moves vertically downward.
VL Player moves horizontally left.
VR Player moves horizontally right.
CW Player rotates clockwise.
CCW Player rotates counterclockwise.
GU Goalie moves upward.
GD Goalie moves downward.
Each keyboard, of course, controls only one player and one goalie.
Each play is capable o-f moving in any direction on the screen and covering the entire area defined by the boundaries 10 and 12. Moreover, the user has the ability to rotate the player so as to change the angle of deflection of the ball B and thereby redirect its direction of movement. The goalies, which may be smaller in size than the players, can only move vertically in the illus-trated embodiment.
In addition to the two game control keyboards GCKl and GCK2, there is an alpha-numeric keyboard which includes twenty-four keys bearing identify-ing numerals and lege~s as shown in Figure 1. The keyboard 20 is used in setting up the game and also for entering data into the micro-processor when _ 5 _ . . .
~.o~Z35~
thc syste~ is to be used in a calculator mode.
By way of introductory material and prior to explaining ~he opera-tion o~ the invention, a brief description is provided of the way in which the invention is used to set up the TV receiver for the hockey game. It may be assumed that the system has the capability of controlling three games ~e.g.
hockey, tennis, and a moving target game~ or being used as a calculator.
After the device has been connected to the ~HF antenna terminals of the television receiver, it is turned on and the RESET key on keyboard 20 depressed to clear the TV display As soon as the display has been cleared, a symbol such as "G?" appears on the screen which asks the user which mode of operation is to be used. If the user wishes to play the hockey game, key "1" (for example) is depressed. This removes the symbol "G?" and sets up the hockey boundaries, the players Pl, P2, goalies Gl, G2 and ball B essen-tially as shown in Figure lA.
At the same time the boundaries are set up, another symbol such as "S?" appears reminding the user to fix the game constraints ~if desired) such as speed of movement, time of game, and boundary size. To adjust the speed factor, when the sym~ol "S?" appears~ the user presses the key marked SPEED
causing an "M?" to appear and then one of the keys 0-9 (for example) will provide ten increments of speed for the ball, players, and goalies. This speed factor enables the degree of difficulty to be controlled depending on player skill and/or the size of the television screen.
After the speed factory has been selected (the "S?" is again dis-played), the users can select the time of the game by pressing the TIMER key causing a "T?" to appear and th~n the digit keys corresponding to the desired time in minutes may be activated. For example, depressing the digits "1" and "2" sequentially sets up the display "12:00" on the television screen in areas represented by the boxes 22, 23, 24 and 25.
After the time has been entered the symbol "S?" appears at the top of the display asking whether the users are prepared to start. If they wish for the game to commence, the START key is depressed. This immediately passes control of the players and goalies to the respective users by means of the 3~i3 game control keyboards GCKl and GCK2 while at the same time the time display-ed in the boxes 22-25 starts to count down ln one second încrements.
As mentioned above, the game is played by manipulating the players and the goalies with the objective of deflecting the ball B into the opponent's goal. The ball B continues to move until a goal has been scored, the ball appearing to bounce off the players, goalies and boundaries as it moves on the screen. The time decrementing automatically stops ~hen a goal is scored.
The action may be similarly stopped by pressing the HOLD button.
Figure 2 is a block diagram showingin general diagrammatic terms the manner in which the invention operates.
For the invention to be used wi~h standard television receivers, it must produce standard horizontal sync retrace and blanking pulses and vertical sync retrace and blanking pulses with the video in-formation interspersed in the same way as if the signal-had been generated by a remote television trans-mitter. In the United States, a television raster comprises 525 horizontal lines repeated at 30Hz Cactually, 262.5 lines interlaced odd/even and repeated at a 60Hz rate). Each horizontal line takes 62.5 microseconds to scan from ~ ;
left to right and retrace to start the next line. At the conclusion of each horizontal line, a horizontal retrace and blanking pulse is transmitted to the receiver to synchronize the set for the next line and the sequence is repeated.
At the end of 262.5 lines, the beam is at the bottom of the raster and a vertical retrace and blanking pulse is transmitted returning the beam to the top of the raster. The active display area as the beam travels horizontally from left to right exists for approximately 53 microseconds.
In accordance with the invention, the standard television raster is "digitized" by subdividing each of these horizontal scanning periods into a number of discrete periods or, stated in other words, by subdividing each horizontal line into a number of discrete bars. As an example, in the pre-ferred embodiment of the invention, each horizontal line is divided into approximately 132 time elements each of which measures 400 nanoseconds. At each of these 400 nanosecond time intervals, during the scanning of the tele-vision receiver, the invention provides a binary type signal modulating an RF ?
~ 7 ~
_ 13235~
carrier instructing the receiver to ~lluiainate or not illuminate. ~is, in effect, creates 132 bars ~or dots) per horizontal line.
Obviously, the number of bars ~Ised is not a material feature of this invention. In practice, the same bars are re-scanned during the odd and even fields of a single raster to provide a maxlmum of 34,650 discrete areas or bars per raster.
Referring now to Figure 2, the'television receiver is shown at 30.
In accordance with the invention, a random access memory (hereinafter referred to as a RAM) 32 includes a multiplicity of discrete storage positions which correspond to each of the "bars" of the TV rasters as defined above. Thus, if the number of bars in a raster is 34,650 there will also be at least 34,650 '` discrete storage positions in the display RAM 32. In practice, since the entire lines are not actually displayed, a storage capacity of 32,000 char-acters is sufficient.
As explained below, a binary "1" or "O" is stored in each of the memory positions of RAM 32 with these bits correlating exactly to the desired image to be displayed on the television screen. In this sense, RAM 32 may be regarded as a digital representation of the actual image to be displayed.
` Random access memories suitable for use as display RAM 32 are com- ' mercially available from various sources. 5uccessful experiments have been '~!
conducted using four ~Kxl RAMS'(Intel 2107 series)~ Data can be read from or written into such RAMS, one bit at a time, at very high speed at any selected address and the invention also includes a display RAM address circuit 34 which has the capability of selectively addressing each individual storage position in RAM 32 to permit data to be read'from RAM 32 for display purposes or to be written into RAM 32 to chang. the existing display.
A TV interface circuit 36 described in further detail below, causes the RAM address circuit 34 to sequentially scan each of the storage positions in the RAM 32 and provides~the required horizontal and vertical sync pulses for receiver 30. Thus, the TV interfacing circuits 36 translate the multipli-city of data bits in RAM 32 into a composite video signal which is compatible with the television receiver 30~ thus enabling the receiver 30 to display the ~0~3S~
"ima~e" stored in thc R~M.
A RAM write-control circuit 38 enables data to be written into the RA~I to change the display on the television screen. As diagrammatically shown, the write-control circuit 38 can seize control of the RAM addressing circuits 34 whenever it is desired to update the image data stored in RAM 32.
The "intelligence" o the system is provided by a micro-processor 40 which operates in conjunction with a memory comprising a read-only memory (ROM) 42A and a RAM 42B. Micro-processor 40 continuously polls the game control keyboards GCKl and-GCK2 and the calculator keyboard 20 to determine whether it is necessary to move the goalies, players or ball ~determined by user depression of one of the keys of GCKl or GCK2) or to modify the display in some respect because of the depression of one of the keys of the calculator keyboard 20. The oper~tion-of the~micro-processor ~0 is under the control of a program stored in the ROM 42A. When any key of the keyboard has been depressed, requiring a change in an existing image device position, micro-processor 40 in conjunction with a stored program determines the new image to be displayed and then, by means of the RAM write-control circuits 38 and the ~-RAM address circuits 34, erases the old "image" in display RAM 32 and sub- ~ ;;
stitutes a new image at the proper storage locations.
There are currently a number of commercially available devices which can be used as micro-processor 40. Satisfactory experimental ~esults have been achieved using a micro-processor sold by Intel Corporation under the manufacturer's identifying number 8008-1. The miero-processor used must have the capability of revising the display data in RAM`32 fast enough to maintain what appears to the human eye as a substaneially con*inuous display. For example, the Intel 8008 micro-processor has a cycle time of 12.5 microseconds.
This is the time required to receive an instruction and to start to execute it. In the illustrated embodimentJ micro-processor ~0 is programmed to poll the ball position, the two game control keyboards, the calculator keyboard and a timer (not yet described). Assuming that a hockey game is being played (which requires a relatively long polling cycle because of the two goalies), approximately 100 milliseconds are required to update the stored display data _ 9 _ :
.. . .
in RA~ 32. Since a single tclevision frame lasts 30 milliseconds, this means that the display would change about every three to ~our frames. This is fasi enough for the human eye to perce;ve the changes as a continuo~s movement.
~ligher speeds may be achieved with an interrupt-driven program ~or a faster micro-processor) wherein only those image devices which require service are polled.
Figure 3 is a more detailed block diagram of the overall system.
The horizontal and vertical sync pulses are generated by a TV sync generator 50 driven by a master clock 52. ClocX 52 provides a source of stable timing pulses which are divided by sync generator 50 to generate the standard EIA
timing pulses needed for television broadcasting, namely, horizontal sync and vertical sync pulses, composite sync, composite blanking, (color burst sync), and field indexing. Devices of this type are commercially available and, for example, National Semiconductors' "TV sync generator" MM5320 has been used - successfully.
The video information is derived through read gates 54 from the dis-play RAM 32 and the appropriate video signal is generated by a video generator 56 responsive to-the outputs of the TV sync generator 50 and the read gates 54.
Thus, in effect, the input to the video generator 56 includes all required TV
timing pulses and a binary signal representing the desired condition ~blank or unblank) of the bar being scanned by the TV beam. The video generator 56 sums these signals to yield a composite~signal which is then modulated at the proper carrier frequency for a selected channel. This should be an unused channel in the area in which the device is being used.
Proper scanning of the display RAM 32 requires that each bit be read exactly when the beam of the TV tube is traversing the bar of the screen corres-ponding to that bito For this purpose, scanning of the RAM 32 is controlled by a horizontal counter~58 and a vertical counter 60 both of which are driven by a master clock 62 which is synchronized with the clock 52. If, for example, each horizontal line is divided into 132 time elements or bars, then counter 58 counts from 1 to 132 in equal increments as the beam moves across a horizon-tal line. The carry-over from counter 58 is coupled to the vertical counter ~IL01 3~3S~
60 ~hich, in a sin)ilar way, produces a binary output on its eight output lines representing which of the 262.5 horizontal lines is being scanned. Hence, at any given instant in time, the binary numbers appearing at the outputs of counters 58 and 60 represent the horizontal and vertical addresses of the discrete bar being scanned at that instant. ~lerein, reference to an "address"
is intended to mean a unique identifier for a bar or image device relative to the TV screen, and thus, implicitly, the location of the corresponding data storage position or positions in RAM 32.
An address multiplexer 64 receives thc parallel outputs from the counters 58 and 60 and, in a known fashion, produces a sixteen-bit binary address on its output which will cause the data at one of the storage posi-tions within the RAM 32 to be read from memory. Address multiplexer 64 is also a standard commercially available device designed for use with RAMS such as display RAM 32 and a sixteen-bit binary number is capable of addressing 64,000 discrete bit positions within RAM 32.
Thus, as the horizontal counter 58 and the vertical counter 60 are sequentially stepped by the clock 62, data-is sequentially read from the dis~
play RAM 32 with each bit being read at a point in time when the beam of the television receiver is scanning the corresponding bar on the TV screen. In this fashion, the display on the television receiver represents precisely the condition (true or false~ of the individual storage elements of RAM 32.
A sync logic circuit 63 responsive to the timing~pulses from clock 52 drives clock 62 in synchronism with these basic timing pulses so that the outputs of counters 58 and 60 will correlate with the timing pulses produced by the TV sync generator 50. The frequency of clock 52 ~2.045 MHz) is fixed by the sync generator 50. At that frequency, its timing pul-ses can be used to drive counter 58 (in which case clock 62 is unnecessary). However, a high- -er frequency clock 62 will enable greater resolution of the displayed images if this is desired. The sync logic circuit 63 also generates horizontal and vertical reset pulses for counters 58 and 60, respectively, during horizontal and vertical beam retracing. Hence, counter 58 is properly reset at the begln-ning of each line and vertical counter 60 is reset at the start of each field.
1(;)15~23S~L
As mentioned above in connection wi.th Figure 2, the programmed micro-processor 40 causes the video display to be changed by appropriately modifying the data stored in the display RAM 32. In Figure 3, the micro-processor 4 is shown as including eight data output lines Do-~7 and three synchronizing lines SO, Sl and S2. The micro-processor 40 includes eight input/output data lines ~also known as an I/O data bus) which are coupled to the ROM 42A, the RAM 42B, and three latches 66, 68 and 70. A logic circuit 71 responsive to ; the sync signals SO, Sl and S2 produces appropriate timing and command signals which represent the nature of the 8-bit byte appearing at any given instant on the I/O data bus. ~his circuitry also operates in a conventional way depending on the particular micro-processor employed and, for example, will indicate to the peripheral equipment whether a particular byte represents an ~ :
address, an instruction, or the execution of an instruction.
By way of further example, assume that a user has depressed a key on the game control keyboard which should cause the player Pl to move on the display vertically upwardly. This will re~uire that the.data stored in RAM
display 32 be modified by "erasing" player Pl's current position ~by reading .
O's into the corresponding bit storage locations) and moving the player Pl :i~
to a new storage position by writing l's into the storage positions corres~
ponding to this new location. As the micro-processor 40 polls the game con- ;
trol keyboard, depression of the selected key~will cause the micro-processor, under the control of the program stored within the ROM 42A, to access a RAM
control circuit 72 by means o~ the command latch 70 in order to change the display stored within RAM 32. When this occurs, the RAM control circuit 72 switches the input to the address multiplexer 64 from counters 58 and 60 to the address latch 66 in which is stored the starting address of the portion of the display to be modified. At the same time, the new data-oto be stored is retained within the I/O data latch 68 and is coupled to wri~e ga*es 74 which are enabled by a write signal from the RAM control circuit 72. Hence, the dis-play RAM 32 is switched from.a read cycle to a write cycle as the new display information now stored within the I/O data latch 68 is $ransferred into the proper location within display RAM 32 under the control of the address latch ~)8Z3S~L
66. As each data bit is l~itten into RAM 32, the RAM control circuit 72 shifts the data in data latch 68 by one and steps the address latch 66 by one ;' so that the next data bit will be written into the proper storage location.
As explained below with reference to Figure 8, RAM control circuit 72 re- ~;
ceives inputs from data latch 68 and command latch 70 telling it how many bits are to be written for each instruction.
Since the micro-processor seizes control of ~he display RAM 32 when-ever it is desired to write data into the RAM, a barely noticeable flicker of the television screen may occur during the write cycle. If this flicker is troublesome, it is contemplated, as explained below, that the write cycle occur only during hori~ontal and vertical retraces in which case the visual display (during reading of the display RAM 32) would not be affected.
As explained in further detail below, the micro-processor 40 func-tions under the control of "software" (i.e. a computer-type program) which is stored within the ROM 42A. Except as more specifically'indicated below, the actual manner in which the micro-proccssor 40 is programmed does not constitute ~ ~' a specific feature of'this invention although the fact that'the device is cap-able of being programmed in different ~ays provides signficant benefits. In the preferred embodiment, the micro-processor 42 polls or samples each element of the system which may cause any modification of an existing display. Where the invention is being used to play a game, such elements include the ball B, the two game control keyboards GCKl'and GCK2, the calculator keyboard 20, and the internal timer ~which causes a timer display change every second during ~ '' a selected game).
So that micro-processor 40 can modify the display depending on the relative positions of the players-Pl and P2, goalies Gl and G2, and the ball B, the system maintains a record of the'instantaneous positions of each of these movable image devices. In the preferred embodiment, the display is - modified by writing in display ~AM 32 eight (or less~ vertically stacked eight-bit ~or less) data bytes (hereinafter sometimes referred to as a data block).
The X and Y coordinates of-the television screen are considered (arbitrarily) to increase positively from left to right and in a downward direction, res- ~;
- 13 - ~
. ~ ., .
~08Z;~5~
pectively, as r~presented in Figure 4 which shows diagrammatically the storage position of the "upper left-hand corner" of the RAM 32. The address of any selected data block is considered to be the horizontal and vertical address of the upper left-hand bit of the data block. In Figure 4, the address of the data block shown would therefore be (0,0).
As indicated previously, each of the players Pl and P2 is capable of rotational movement in clockwise and counterclockwise directions. In accor-dance with the invention, this capability of rotational movement is provided by storing wlthin the ROM 42A the possible rotational positions of each of the players. These angular or rotational positions are shown in Figures 5A-5H each of which is a diagrammatic representation of one data block stored within ROM
42A. The dark bars represent a binary "one" and the light bars represent a -binary "zero". The rotational code corresponding to a vertical player is shown in Figure 5A. Each of the successive representations in Figures 5B
through 5H represents the player rotated by an additional 22.5~ with the angles corresponding to the illustrated data blocks being indicated above the drawings. Figures 5A to 5H-show essentially the player image as it appears to the viewer on the screen. Thus, in this particular example, using eight separ-ate rotational codes, it is possible to incrementally rotate each of the players Pl and P2 22.5 in either direction. The angular-resolution and the number of rotational positions is a function of the number of bars per raster.
The preferred rotational increments are merely preferred for the example herein described.
When a game is to be played, the micro-processor 40 loads into RAM
42B the following information for each player ~as the game display is set up):
Current X address Current Y address Rotational code Ca two-digit code indicating which of Figures 5A-5H represents the player configuration) For the goalies, the current X address Cwhich remains constant) and the current Y address are loaded into RAM 42B. The word "current" in this context refers to the address of the image device ~i.e. the corresponding data .... . ~
~8Z3~
block) then being displaye~.
In addition to the players and the goalies, the computer must also hold in memory the current X and Y address of the ball. In the case of the ball, there are additional factors which must be stored. These factors are referred to herein as the X and Y ball increments.
It is preferred that the ball remain in motion on the display once a game has been started. The ball should appear to be deflected by the boundaries of the game as set up on the screen and by each of the individual players and goalies if they should be "struck" by the ball. Since the display has been digitized by assigning discrete bars to each of the screen locations, the ball must be moved in increments determined by the size of these bars.
Arbitrarily, it may be assumed that the ball is to move horizontally or ver- ~-tically two bars at a time ~i-.e. if the ball ls moving horizontally, it will jump two bars during each polling cycle). If the polling cycles require, for example, between 100 and 250 miiliseconds, the human eye will integrate the movement of the ball so that it will appear to be substantially continuous.
Referring to Figure 6, if the ball is to appear to be moving from left to right along the X axis the X and Y increments of movement are +2 and 0 respectively. If the ball is to move at an angle of ~22.5 then the X and Y ;
increments are ~2 and -l respectively. Similarly, X and Y increments of ~2 , and -2 will cause the ball to appear to move at 45, and~so orth.
Accordingly, by storing these X and Y increments of ball movements, the micro-processor 40 maintains a record of the current direction in which the ball B is moving as well as the current address of the ball.
The actual programming of the micro-processor can, for the most part, be accomplished by standard programming techniques, although the techniques which enable the players Pl and P2 to be rotated in either direction, and the .. . .
angle of deflection of the ball to be modified accordingly, are subsidiary ~-features of *he invention. The~following discussion presents sequentially the various micro-computer functions as they occur when it is desired to use the invention to play a hockey game. Many of the individual steps in these various functions are omitted from the following description in the belief ~ :`
~L08Z35~L
that a person of ordinary skill in the art would have no difficulty in provid-ing the additional programming required to yield the desired result.
RESET Routine ("Reset" key depressed) a. Clear TV screen by writing zeroes into all memory positions of RAM 32.
b. Display "G?" on TV screen. User now has option to select Calculator, Hockey, Tennis, or Moving Target game.
c. Call INITIALIZING Routine INITIALIZING Routine ~Assume "Hockey" key depressed) a. Set "masks" (which keys are to be used and which devices are to be polled). Store "masks" in RAM 42B.
b. Display game borders ~e.g. by writing in RAM 32 a series j of horizontal and vertical symbols~stored in ROM 42A) at predetermined addresses (also stored in ROM 42A).
c. Display players Pl and P2 at initial positions. ~`
d. Dlsplay goalies Gl and C2 at initial positions.
e. Display ball B at initial position.
f. Call PARAMETER Subroutine (to start game).
g. Display scores (0's to start).
h. Jump to POLLING Routine The symbols for the players, goalies and ball are stored within the ROM 42A as data blocks. During the initializing subroutine, the micro-computer pulls these symbols from ROM42A and transfers them sequentially to display RAM
32 at respective addresses corresponding to a desired initial position. For example, the initial position for thesè various devices may be that shown in Figure 1 in solid lines. This portion of the initializing subroutine will usually differ for each game-and, obviously, is dependent upon the "borders"
to be displayed, the number bf players to be used and whether there will also be goalies. The following portion of the initializing subroutine is common to all three games.
This invention relates to apparatus for controlling the ~ ;
video display of a standard television receiver. More particularlyJ
i ~he present invention concerns a device, adapted to be connected to ~ `
the antenna terminals of a television receiver, which is capable of ;
producing a predetermined display including various image sysbmols, the positions of which can be selectively manipulated by a user.
Although not so limited, the invention is of particular utility as an adult and/or child entertainment device.
The system described in United States patents Nos. 3,659~284 ~ ~
and 3,659,285 can be used with a standard television receiver to -, play various types of games as described therein. That system includes electronic circuitry which generates video signals (representing the sy~bols to be displayed) at appropriate times during scanning of a standard receiver to create certain predeter- ~ , mined image symbols on the television screen. By controlling the ~
~182;~5~
time of occurre~ce of these video signals, the user can manipulate the positions of the various image symbols. Different games can be played by securing an overlay screen to the television receiver.
The present invention relates to electronic apparatus for generating video signals for standard television receivers which is substantially different from and superior to systems represented, for example, by the above patents. Among other things, the invention provides the user with substantially greater control of the display and manipulation of the image-symbols, thereby enhancing its value as an entertainment device. The invention can be used to play more games than is possible with known systems of this type, and it does not require overlay screens to establish boundaries or other con-straints for different games. It is also more flexible in its capacity to accommodate individual ski-lls, and can be used to play games sub- ~' stantially more challenging than those games available on known systems.
Furthermore, and of great-significance, the present invention is not limited in its utility to an entertainment or game type device. The system~can be used as a home intelligent terminal ~ '' for generating or receiving, and displaying selected messages of any type. For example, and as~explained below, the same basic system used to display and manipulate image symbols in a game can be made to function as a calcuIator using the television screen to display totals, subtotals, sums which'are being held in memory, ' and other values.
Briefly, in accordance'with the''invention, a television raster is digitized into a multiplicity (for example, about 32,000) ~ ' discrete dots or bars. A random~access memory having at least a similar multiplicity of data storage posi~ions maintains a digital representation of the data to be displayed on the television screen.
Normally, data is read from the memory in synchronism with the scanning of the television screen, i.e. each storage position i8 read from memory as the cathode ray beam is scanning the corresponding bar of the raster. Display data is written into memory under the control of a programmed micro-processor which modifies the display data stored in the memory in accordance with the condition of the keys of a keyboard manually controlled by the user(s).
The micro-processor used to determine the display data can be operated to perform a wide variety of standard calculator functions. Accord-ingly, in addition to game control keyboards, an alpha~numeric keyboard may be provided so that the system can be used as a calculator with selected entries being held in the random access memory and, consequently, displayed on the television screen. Because of the size of the television screen, the display capacity is sufficient to enable the device to be used to display ~ -previous subtotals, numbers held in memory, or other desired values. -In accordance with the invention there is provided display control apparatus for use with a television receiver including video signal input terminals, a display tube, and means for scanning said display tube at a predetermined rate, comprising: memory means having a multiplicity of discrete digital storage positions, each of said storage positions corresponding to a preselected image area of said display tube; data processor means including storage means for storing therein digital data representing a plurality of prescribed image devices, at least one of said image devices comprising an image device moveable under control of a user; control means having first manually actuable means for moving said user controlled image device hori-zontally and vertically; means responsive to said control means and said data processor means for selectively writing digital data representing one of said prescribed image devices into selected ones of said storage positions, said storage positions being selected to correspond to a predetermined image device to be displayed on said display tube; said data processing means includ~
ing means responsive to said first manually actuable means for erasing the data representing the user controlled image device stored in said memory ~3~
' ' 11D~235~, means, and means for writing the data representing said user controlled image device at a new address in said memory means corresponding to a pre-determined new address; means for sequentially reading stored data from said - storage positions at said predetermined scanning rate, with each storage position being read essentially as the predetermined image area of the dis-play tube corresponding to that storage position is belng scanned; and means responsive to said sequential reading means for generating a video signal adapted to be coupled to the video signal input terminals of a television receiver.
In the drawings:
Figure lA illustrates a typical game display and the image symbols which would exist in accordance with a preferred embodiment if the system were used to play a hockey game;
Figure lB illustrates the game control keyboards, by means of .
which the game is pl.ayed, and a typical calculator keyboard including certain ~ keys required to select and set up the parameters of a game;
; Figure 2 is a general block diagram of the invention;
. Figure 3 is a more detailed block diagram of the invention; :~ ~
Figure 4 is an explanatory diagram; ~ :
Figures 5A-5H diagrammatically represent data blocks -3a-, .. . . . . . .
108Z35~
corresponding to various rotational positions of certain image symbols;
Figure 6 is an e~planatory diagram describing how the direction of a continuously moving image symbol is determined;
Figure 7 is an explanatory diagram; and Figure 8 is a logic diagram of one of the control circuits shown in block form in Figure 3.
In the following description, a particular example is presented for `
purposes of explanation only. The image symbols which appear on the tele-vision screen are reEerred to as "image devices". The image device which moves continuously until deflected by another image device is referred to as a ball whether the game is considered to be tennis or hockey, or whether the continuously movable image device is intended to represent a missile or the like. The image devices which intcrcept and deflect (or launch) a ball are referred to herein as "players" whether the image represented thereby corres-ponds to a human form or an instrument such as a paddle, bat or weapon.
Similarly, the term "goalie" as used herein is not intended to be restrictive in terms of function but, as in the previous cases, represents one particular player image device displayed on a television screen.
Figure lA shows a typical display which will appear on the screen of the user's television receiver and Figure lB illustrates the keyboards by which the users play the game. In describing the invention, a hockey game is used for purposes of explanation since this game lncludes many of the image devices used in other games. Normally, the screen will be black with the images illustrated in ~igure l appearing in white. -The boundary of the hockey rink is shown by the lines lO and 12, the break between the boundaries representing goals 14 and 16. Each side has a player (Pl and P2) and a goalie (Gl and G2~. The ball (puck) is shown as a cross and is represented by the letter B.
The ball B is set into motion when the game is started. It moves ~ `
in a predetermined path until it strikes one of the players Pl or P2, one of the goalies Gl or G2, or the boundaries lO or 12. When it strikes one of these image devices, it is deflected approximately at its angle of incidence (or ~(~8235a.
some other angle) and continues its movement until it is intercepted by one of these image dcvices again. The users have the ability to manipulate the goalies a~d players so that the ball B can be intercepted and deflected toward the opposing player's goal. Each time the ball B strikes the goal 14 or 16 a score is registered for the opposing player in the areas shown by ~he boxes 17 and 18.
Each user manipulates his goalie and player by means of a game control keyboard which are shown diagrammatically in Figure lB as GCKl and GCK2, respectively. Each game control keyboard includes eight push buttons arranged as shown and bearing the legends Vu, VB, HL, HR, Gu, GD, CW and CCW.
These keys, when depressed, cause the following functions to occur for the associated image device.
KEY PUNCTION
VU Player moves vertically upward.
VD Player moves vertically downward.
VL Player moves horizontally left.
VR Player moves horizontally right.
CW Player rotates clockwise.
CCW Player rotates counterclockwise.
GU Goalie moves upward.
GD Goalie moves downward.
Each keyboard, of course, controls only one player and one goalie.
Each play is capable o-f moving in any direction on the screen and covering the entire area defined by the boundaries 10 and 12. Moreover, the user has the ability to rotate the player so as to change the angle of deflection of the ball B and thereby redirect its direction of movement. The goalies, which may be smaller in size than the players, can only move vertically in the illus-trated embodiment.
In addition to the two game control keyboards GCKl and GCK2, there is an alpha-numeric keyboard which includes twenty-four keys bearing identify-ing numerals and lege~s as shown in Figure 1. The keyboard 20 is used in setting up the game and also for entering data into the micro-processor when _ 5 _ . . .
~.o~Z35~
thc syste~ is to be used in a calculator mode.
By way of introductory material and prior to explaining ~he opera-tion o~ the invention, a brief description is provided of the way in which the invention is used to set up the TV receiver for the hockey game. It may be assumed that the system has the capability of controlling three games ~e.g.
hockey, tennis, and a moving target game~ or being used as a calculator.
After the device has been connected to the ~HF antenna terminals of the television receiver, it is turned on and the RESET key on keyboard 20 depressed to clear the TV display As soon as the display has been cleared, a symbol such as "G?" appears on the screen which asks the user which mode of operation is to be used. If the user wishes to play the hockey game, key "1" (for example) is depressed. This removes the symbol "G?" and sets up the hockey boundaries, the players Pl, P2, goalies Gl, G2 and ball B essen-tially as shown in Figure lA.
At the same time the boundaries are set up, another symbol such as "S?" appears reminding the user to fix the game constraints ~if desired) such as speed of movement, time of game, and boundary size. To adjust the speed factor, when the sym~ol "S?" appears~ the user presses the key marked SPEED
causing an "M?" to appear and then one of the keys 0-9 (for example) will provide ten increments of speed for the ball, players, and goalies. This speed factor enables the degree of difficulty to be controlled depending on player skill and/or the size of the television screen.
After the speed factory has been selected (the "S?" is again dis-played), the users can select the time of the game by pressing the TIMER key causing a "T?" to appear and th~n the digit keys corresponding to the desired time in minutes may be activated. For example, depressing the digits "1" and "2" sequentially sets up the display "12:00" on the television screen in areas represented by the boxes 22, 23, 24 and 25.
After the time has been entered the symbol "S?" appears at the top of the display asking whether the users are prepared to start. If they wish for the game to commence, the START key is depressed. This immediately passes control of the players and goalies to the respective users by means of the 3~i3 game control keyboards GCKl and GCK2 while at the same time the time display-ed in the boxes 22-25 starts to count down ln one second încrements.
As mentioned above, the game is played by manipulating the players and the goalies with the objective of deflecting the ball B into the opponent's goal. The ball B continues to move until a goal has been scored, the ball appearing to bounce off the players, goalies and boundaries as it moves on the screen. The time decrementing automatically stops ~hen a goal is scored.
The action may be similarly stopped by pressing the HOLD button.
Figure 2 is a block diagram showingin general diagrammatic terms the manner in which the invention operates.
For the invention to be used wi~h standard television receivers, it must produce standard horizontal sync retrace and blanking pulses and vertical sync retrace and blanking pulses with the video in-formation interspersed in the same way as if the signal-had been generated by a remote television trans-mitter. In the United States, a television raster comprises 525 horizontal lines repeated at 30Hz Cactually, 262.5 lines interlaced odd/even and repeated at a 60Hz rate). Each horizontal line takes 62.5 microseconds to scan from ~ ;
left to right and retrace to start the next line. At the conclusion of each horizontal line, a horizontal retrace and blanking pulse is transmitted to the receiver to synchronize the set for the next line and the sequence is repeated.
At the end of 262.5 lines, the beam is at the bottom of the raster and a vertical retrace and blanking pulse is transmitted returning the beam to the top of the raster. The active display area as the beam travels horizontally from left to right exists for approximately 53 microseconds.
In accordance with the invention, the standard television raster is "digitized" by subdividing each of these horizontal scanning periods into a number of discrete periods or, stated in other words, by subdividing each horizontal line into a number of discrete bars. As an example, in the pre-ferred embodiment of the invention, each horizontal line is divided into approximately 132 time elements each of which measures 400 nanoseconds. At each of these 400 nanosecond time intervals, during the scanning of the tele-vision receiver, the invention provides a binary type signal modulating an RF ?
~ 7 ~
_ 13235~
carrier instructing the receiver to ~lluiainate or not illuminate. ~is, in effect, creates 132 bars ~or dots) per horizontal line.
Obviously, the number of bars ~Ised is not a material feature of this invention. In practice, the same bars are re-scanned during the odd and even fields of a single raster to provide a maxlmum of 34,650 discrete areas or bars per raster.
Referring now to Figure 2, the'television receiver is shown at 30.
In accordance with the invention, a random access memory (hereinafter referred to as a RAM) 32 includes a multiplicity of discrete storage positions which correspond to each of the "bars" of the TV rasters as defined above. Thus, if the number of bars in a raster is 34,650 there will also be at least 34,650 '` discrete storage positions in the display RAM 32. In practice, since the entire lines are not actually displayed, a storage capacity of 32,000 char-acters is sufficient.
As explained below, a binary "1" or "O" is stored in each of the memory positions of RAM 32 with these bits correlating exactly to the desired image to be displayed on the television screen. In this sense, RAM 32 may be regarded as a digital representation of the actual image to be displayed.
` Random access memories suitable for use as display RAM 32 are com- ' mercially available from various sources. 5uccessful experiments have been '~!
conducted using four ~Kxl RAMS'(Intel 2107 series)~ Data can be read from or written into such RAMS, one bit at a time, at very high speed at any selected address and the invention also includes a display RAM address circuit 34 which has the capability of selectively addressing each individual storage position in RAM 32 to permit data to be read'from RAM 32 for display purposes or to be written into RAM 32 to chang. the existing display.
A TV interface circuit 36 described in further detail below, causes the RAM address circuit 34 to sequentially scan each of the storage positions in the RAM 32 and provides~the required horizontal and vertical sync pulses for receiver 30. Thus, the TV interfacing circuits 36 translate the multipli-city of data bits in RAM 32 into a composite video signal which is compatible with the television receiver 30~ thus enabling the receiver 30 to display the ~0~3S~
"ima~e" stored in thc R~M.
A RAM write-control circuit 38 enables data to be written into the RA~I to change the display on the television screen. As diagrammatically shown, the write-control circuit 38 can seize control of the RAM addressing circuits 34 whenever it is desired to update the image data stored in RAM 32.
The "intelligence" o the system is provided by a micro-processor 40 which operates in conjunction with a memory comprising a read-only memory (ROM) 42A and a RAM 42B. Micro-processor 40 continuously polls the game control keyboards GCKl and-GCK2 and the calculator keyboard 20 to determine whether it is necessary to move the goalies, players or ball ~determined by user depression of one of the keys of GCKl or GCK2) or to modify the display in some respect because of the depression of one of the keys of the calculator keyboard 20. The oper~tion-of the~micro-processor ~0 is under the control of a program stored in the ROM 42A. When any key of the keyboard has been depressed, requiring a change in an existing image device position, micro-processor 40 in conjunction with a stored program determines the new image to be displayed and then, by means of the RAM write-control circuits 38 and the ~-RAM address circuits 34, erases the old "image" in display RAM 32 and sub- ~ ;;
stitutes a new image at the proper storage locations.
There are currently a number of commercially available devices which can be used as micro-processor 40. Satisfactory experimental ~esults have been achieved using a micro-processor sold by Intel Corporation under the manufacturer's identifying number 8008-1. The miero-processor used must have the capability of revising the display data in RAM`32 fast enough to maintain what appears to the human eye as a substaneially con*inuous display. For example, the Intel 8008 micro-processor has a cycle time of 12.5 microseconds.
This is the time required to receive an instruction and to start to execute it. In the illustrated embodimentJ micro-processor ~0 is programmed to poll the ball position, the two game control keyboards, the calculator keyboard and a timer (not yet described). Assuming that a hockey game is being played (which requires a relatively long polling cycle because of the two goalies), approximately 100 milliseconds are required to update the stored display data _ 9 _ :
.. . .
in RA~ 32. Since a single tclevision frame lasts 30 milliseconds, this means that the display would change about every three to ~our frames. This is fasi enough for the human eye to perce;ve the changes as a continuo~s movement.
~ligher speeds may be achieved with an interrupt-driven program ~or a faster micro-processor) wherein only those image devices which require service are polled.
Figure 3 is a more detailed block diagram of the overall system.
The horizontal and vertical sync pulses are generated by a TV sync generator 50 driven by a master clock 52. ClocX 52 provides a source of stable timing pulses which are divided by sync generator 50 to generate the standard EIA
timing pulses needed for television broadcasting, namely, horizontal sync and vertical sync pulses, composite sync, composite blanking, (color burst sync), and field indexing. Devices of this type are commercially available and, for example, National Semiconductors' "TV sync generator" MM5320 has been used - successfully.
The video information is derived through read gates 54 from the dis-play RAM 32 and the appropriate video signal is generated by a video generator 56 responsive to-the outputs of the TV sync generator 50 and the read gates 54.
Thus, in effect, the input to the video generator 56 includes all required TV
timing pulses and a binary signal representing the desired condition ~blank or unblank) of the bar being scanned by the TV beam. The video generator 56 sums these signals to yield a composite~signal which is then modulated at the proper carrier frequency for a selected channel. This should be an unused channel in the area in which the device is being used.
Proper scanning of the display RAM 32 requires that each bit be read exactly when the beam of the TV tube is traversing the bar of the screen corres-ponding to that bito For this purpose, scanning of the RAM 32 is controlled by a horizontal counter~58 and a vertical counter 60 both of which are driven by a master clock 62 which is synchronized with the clock 52. If, for example, each horizontal line is divided into 132 time elements or bars, then counter 58 counts from 1 to 132 in equal increments as the beam moves across a horizon-tal line. The carry-over from counter 58 is coupled to the vertical counter ~IL01 3~3S~
60 ~hich, in a sin)ilar way, produces a binary output on its eight output lines representing which of the 262.5 horizontal lines is being scanned. Hence, at any given instant in time, the binary numbers appearing at the outputs of counters 58 and 60 represent the horizontal and vertical addresses of the discrete bar being scanned at that instant. ~lerein, reference to an "address"
is intended to mean a unique identifier for a bar or image device relative to the TV screen, and thus, implicitly, the location of the corresponding data storage position or positions in RAM 32.
An address multiplexer 64 receives thc parallel outputs from the counters 58 and 60 and, in a known fashion, produces a sixteen-bit binary address on its output which will cause the data at one of the storage posi-tions within the RAM 32 to be read from memory. Address multiplexer 64 is also a standard commercially available device designed for use with RAMS such as display RAM 32 and a sixteen-bit binary number is capable of addressing 64,000 discrete bit positions within RAM 32.
Thus, as the horizontal counter 58 and the vertical counter 60 are sequentially stepped by the clock 62, data-is sequentially read from the dis~
play RAM 32 with each bit being read at a point in time when the beam of the television receiver is scanning the corresponding bar on the TV screen. In this fashion, the display on the television receiver represents precisely the condition (true or false~ of the individual storage elements of RAM 32.
A sync logic circuit 63 responsive to the timing~pulses from clock 52 drives clock 62 in synchronism with these basic timing pulses so that the outputs of counters 58 and 60 will correlate with the timing pulses produced by the TV sync generator 50. The frequency of clock 52 ~2.045 MHz) is fixed by the sync generator 50. At that frequency, its timing pul-ses can be used to drive counter 58 (in which case clock 62 is unnecessary). However, a high- -er frequency clock 62 will enable greater resolution of the displayed images if this is desired. The sync logic circuit 63 also generates horizontal and vertical reset pulses for counters 58 and 60, respectively, during horizontal and vertical beam retracing. Hence, counter 58 is properly reset at the begln-ning of each line and vertical counter 60 is reset at the start of each field.
1(;)15~23S~L
As mentioned above in connection wi.th Figure 2, the programmed micro-processor 40 causes the video display to be changed by appropriately modifying the data stored in the display RAM 32. In Figure 3, the micro-processor 4 is shown as including eight data output lines Do-~7 and three synchronizing lines SO, Sl and S2. The micro-processor 40 includes eight input/output data lines ~also known as an I/O data bus) which are coupled to the ROM 42A, the RAM 42B, and three latches 66, 68 and 70. A logic circuit 71 responsive to ; the sync signals SO, Sl and S2 produces appropriate timing and command signals which represent the nature of the 8-bit byte appearing at any given instant on the I/O data bus. ~his circuitry also operates in a conventional way depending on the particular micro-processor employed and, for example, will indicate to the peripheral equipment whether a particular byte represents an ~ :
address, an instruction, or the execution of an instruction.
By way of further example, assume that a user has depressed a key on the game control keyboard which should cause the player Pl to move on the display vertically upwardly. This will re~uire that the.data stored in RAM
display 32 be modified by "erasing" player Pl's current position ~by reading .
O's into the corresponding bit storage locations) and moving the player Pl :i~
to a new storage position by writing l's into the storage positions corres~
ponding to this new location. As the micro-processor 40 polls the game con- ;
trol keyboard, depression of the selected key~will cause the micro-processor, under the control of the program stored within the ROM 42A, to access a RAM
control circuit 72 by means o~ the command latch 70 in order to change the display stored within RAM 32. When this occurs, the RAM control circuit 72 switches the input to the address multiplexer 64 from counters 58 and 60 to the address latch 66 in which is stored the starting address of the portion of the display to be modified. At the same time, the new data-oto be stored is retained within the I/O data latch 68 and is coupled to wri~e ga*es 74 which are enabled by a write signal from the RAM control circuit 72. Hence, the dis-play RAM 32 is switched from.a read cycle to a write cycle as the new display information now stored within the I/O data latch 68 is $ransferred into the proper location within display RAM 32 under the control of the address latch ~)8Z3S~L
66. As each data bit is l~itten into RAM 32, the RAM control circuit 72 shifts the data in data latch 68 by one and steps the address latch 66 by one ;' so that the next data bit will be written into the proper storage location.
As explained below with reference to Figure 8, RAM control circuit 72 re- ~;
ceives inputs from data latch 68 and command latch 70 telling it how many bits are to be written for each instruction.
Since the micro-processor seizes control of ~he display RAM 32 when-ever it is desired to write data into the RAM, a barely noticeable flicker of the television screen may occur during the write cycle. If this flicker is troublesome, it is contemplated, as explained below, that the write cycle occur only during hori~ontal and vertical retraces in which case the visual display (during reading of the display RAM 32) would not be affected.
As explained in further detail below, the micro-processor 40 func-tions under the control of "software" (i.e. a computer-type program) which is stored within the ROM 42A. Except as more specifically'indicated below, the actual manner in which the micro-proccssor 40 is programmed does not constitute ~ ~' a specific feature of'this invention although the fact that'the device is cap-able of being programmed in different ~ays provides signficant benefits. In the preferred embodiment, the micro-processor 42 polls or samples each element of the system which may cause any modification of an existing display. Where the invention is being used to play a game, such elements include the ball B, the two game control keyboards GCKl'and GCK2, the calculator keyboard 20, and the internal timer ~which causes a timer display change every second during ~ '' a selected game).
So that micro-processor 40 can modify the display depending on the relative positions of the players-Pl and P2, goalies Gl and G2, and the ball B, the system maintains a record of the'instantaneous positions of each of these movable image devices. In the preferred embodiment, the display is - modified by writing in display ~AM 32 eight (or less~ vertically stacked eight-bit ~or less) data bytes (hereinafter sometimes referred to as a data block).
The X and Y coordinates of-the television screen are considered (arbitrarily) to increase positively from left to right and in a downward direction, res- ~;
- 13 - ~
. ~ ., .
~08Z;~5~
pectively, as r~presented in Figure 4 which shows diagrammatically the storage position of the "upper left-hand corner" of the RAM 32. The address of any selected data block is considered to be the horizontal and vertical address of the upper left-hand bit of the data block. In Figure 4, the address of the data block shown would therefore be (0,0).
As indicated previously, each of the players Pl and P2 is capable of rotational movement in clockwise and counterclockwise directions. In accor-dance with the invention, this capability of rotational movement is provided by storing wlthin the ROM 42A the possible rotational positions of each of the players. These angular or rotational positions are shown in Figures 5A-5H each of which is a diagrammatic representation of one data block stored within ROM
42A. The dark bars represent a binary "one" and the light bars represent a -binary "zero". The rotational code corresponding to a vertical player is shown in Figure 5A. Each of the successive representations in Figures 5B
through 5H represents the player rotated by an additional 22.5~ with the angles corresponding to the illustrated data blocks being indicated above the drawings. Figures 5A to 5H-show essentially the player image as it appears to the viewer on the screen. Thus, in this particular example, using eight separ-ate rotational codes, it is possible to incrementally rotate each of the players Pl and P2 22.5 in either direction. The angular-resolution and the number of rotational positions is a function of the number of bars per raster.
The preferred rotational increments are merely preferred for the example herein described.
When a game is to be played, the micro-processor 40 loads into RAM
42B the following information for each player ~as the game display is set up):
Current X address Current Y address Rotational code Ca two-digit code indicating which of Figures 5A-5H represents the player configuration) For the goalies, the current X address Cwhich remains constant) and the current Y address are loaded into RAM 42B. The word "current" in this context refers to the address of the image device ~i.e. the corresponding data .... . ~
~8Z3~
block) then being displaye~.
In addition to the players and the goalies, the computer must also hold in memory the current X and Y address of the ball. In the case of the ball, there are additional factors which must be stored. These factors are referred to herein as the X and Y ball increments.
It is preferred that the ball remain in motion on the display once a game has been started. The ball should appear to be deflected by the boundaries of the game as set up on the screen and by each of the individual players and goalies if they should be "struck" by the ball. Since the display has been digitized by assigning discrete bars to each of the screen locations, the ball must be moved in increments determined by the size of these bars.
Arbitrarily, it may be assumed that the ball is to move horizontally or ver- ~-tically two bars at a time ~i-.e. if the ball ls moving horizontally, it will jump two bars during each polling cycle). If the polling cycles require, for example, between 100 and 250 miiliseconds, the human eye will integrate the movement of the ball so that it will appear to be substantially continuous.
Referring to Figure 6, if the ball is to appear to be moving from left to right along the X axis the X and Y increments of movement are +2 and 0 respectively. If the ball is to move at an angle of ~22.5 then the X and Y ;
increments are ~2 and -l respectively. Similarly, X and Y increments of ~2 , and -2 will cause the ball to appear to move at 45, and~so orth.
Accordingly, by storing these X and Y increments of ball movements, the micro-processor 40 maintains a record of the current direction in which the ball B is moving as well as the current address of the ball.
The actual programming of the micro-processor can, for the most part, be accomplished by standard programming techniques, although the techniques which enable the players Pl and P2 to be rotated in either direction, and the .. . .
angle of deflection of the ball to be modified accordingly, are subsidiary ~-features of *he invention. The~following discussion presents sequentially the various micro-computer functions as they occur when it is desired to use the invention to play a hockey game. Many of the individual steps in these various functions are omitted from the following description in the belief ~ :`
~L08Z35~L
that a person of ordinary skill in the art would have no difficulty in provid-ing the additional programming required to yield the desired result.
RESET Routine ("Reset" key depressed) a. Clear TV screen by writing zeroes into all memory positions of RAM 32.
b. Display "G?" on TV screen. User now has option to select Calculator, Hockey, Tennis, or Moving Target game.
c. Call INITIALIZING Routine INITIALIZING Routine ~Assume "Hockey" key depressed) a. Set "masks" (which keys are to be used and which devices are to be polled). Store "masks" in RAM 42B.
b. Display game borders ~e.g. by writing in RAM 32 a series j of horizontal and vertical symbols~stored in ROM 42A) at predetermined addresses (also stored in ROM 42A).
c. Display players Pl and P2 at initial positions. ~`
d. Dlsplay goalies Gl and C2 at initial positions.
e. Display ball B at initial position.
f. Call PARAMETER Subroutine (to start game).
g. Display scores (0's to start).
h. Jump to POLLING Routine The symbols for the players, goalies and ball are stored within the ROM 42A as data blocks. During the initializing subroutine, the micro-computer pulls these symbols from ROM42A and transfers them sequentially to display RAM
32 at respective addresses corresponding to a desired initial position. For example, the initial position for thesè various devices may be that shown in Figure 1 in solid lines. This portion of the initializing subroutine will usually differ for each game-and, obviously, is dependent upon the "borders"
to be displayed, the number bf players to be used and whether there will also be goalies. The following portion of the initializing subroutine is common to all three games.
2;~
I'AR~IETER Su~routine A. Display "S?".
B. Is START key depressed?
i. Yes - return to INITIALIZING Routine.
ii. No -a. Is TIME key depressed?
i. yes - look for 2 numeric digits.
ii. No - check for SPEED key.
b. Is SPEED key depressed?
i. yes - get SPEED factor.
Thus, after the initializing routine has been completed, the entire display appears on the TV screen with the selected time being decremented in ~, one-second intervals and th0 players and goalies ready to move under the con-trol of the game control keyboards GCKl and GCK2.
The polling routine uses a number of separate subroutines for the individual devices which are to be polled.
The polling mask used in the polling routine comprises a single byte of information having bit positions, in the preferred embodiment, correspond- ;~ing to player Pl, player P2, the goalies,~the moving target gamç,the ball, and the timer. As indicated above, this mask was set during the initializing -routine and stored in the RAM 42B. It is this polling mask which determines the devices to be polled, there being no bit corresponding to the alpha-numeric keyboard since the keyboard is~always polled. In the case of the -hockey game, all devices except the moving target are polled. The polling routine is as follows.
.
POLLING Routine A. Load polling mask Ctransfer mask byte from RAM 42B `~
to micro-proces~sor 40~
B. Call Player Pl subroutine.
C. Call Player P2 subroutine.
D. Call Goalie subroutine.
E (Call moving target subroutine - not used in hockey example).
:,: : - , - - - - ` ' ~ ~0~23S~L
F. Call Ball subroutine.
e. ~Call Calculator subroutine - not used in hockey example).
Il. Get SPEED factor (from RAM 42B).
I. Delay polling cycle depending on speed factor.
The subroutines for the two players Pl and P2 are the same. For purposes of simplicity, only the player Pl subroutine and the ball subroutine are set forth ~elow. As explained above, reference to an address refers to ` the address of a data block. "Current address" identifies the position of an ~, image device ~i.e. the data block containing that image) being displayed on the TV screen, For each of the game,control keyboards, an 8-bit byte of data infor-mation is generated during a polling cycle indicating the condition of the various game control keys. The presence of a binary "1" in any position of this game control status byte may represent the following commands:
, BIT POSITION COMMAND
,~ 0 Player right - increment horizontal address by 2.
1 Player left - decrement horizontal address by 2.
2 Player doùn - increment vertical address by 2.
I'AR~IETER Su~routine A. Display "S?".
B. Is START key depressed?
i. Yes - return to INITIALIZING Routine.
ii. No -a. Is TIME key depressed?
i. yes - look for 2 numeric digits.
ii. No - check for SPEED key.
b. Is SPEED key depressed?
i. yes - get SPEED factor.
Thus, after the initializing routine has been completed, the entire display appears on the TV screen with the selected time being decremented in ~, one-second intervals and th0 players and goalies ready to move under the con-trol of the game control keyboards GCKl and GCK2.
The polling routine uses a number of separate subroutines for the individual devices which are to be polled.
The polling mask used in the polling routine comprises a single byte of information having bit positions, in the preferred embodiment, correspond- ;~ing to player Pl, player P2, the goalies,~the moving target gamç,the ball, and the timer. As indicated above, this mask was set during the initializing -routine and stored in the RAM 42B. It is this polling mask which determines the devices to be polled, there being no bit corresponding to the alpha-numeric keyboard since the keyboard is~always polled. In the case of the -hockey game, all devices except the moving target are polled. The polling routine is as follows.
.
POLLING Routine A. Load polling mask Ctransfer mask byte from RAM 42B `~
to micro-proces~sor 40~
B. Call Player Pl subroutine.
C. Call Player P2 subroutine.
D. Call Goalie subroutine.
E (Call moving target subroutine - not used in hockey example).
:,: : - , - - - - ` ' ~ ~0~23S~L
F. Call Ball subroutine.
e. ~Call Calculator subroutine - not used in hockey example).
Il. Get SPEED factor (from RAM 42B).
I. Delay polling cycle depending on speed factor.
The subroutines for the two players Pl and P2 are the same. For purposes of simplicity, only the player Pl subroutine and the ball subroutine are set forth ~elow. As explained above, reference to an address refers to ` the address of a data block. "Current address" identifies the position of an ~, image device ~i.e. the data block containing that image) being displayed on the TV screen, For each of the game,control keyboards, an 8-bit byte of data infor-mation is generated during a polling cycle indicating the condition of the various game control keys. The presence of a binary "1" in any position of this game control status byte may represent the following commands:
, BIT POSITION COMMAND
,~ 0 Player right - increment horizontal address by 2.
1 Player left - decrement horizontal address by 2.
2 Player doùn - increment vertical address by 2.
3 Player up - decrement vertical address by 2.
; 20 4 Rotate clockwise - increment player rotational code by 1.
5 Player counterclockwise - decrement player rotation code by 1.
6 Goalie down - increment goalie vertical address by 2.
7 Goalie up - decrement goalie vertical address by 2.
PLAYER Pl Subroutine A. Get GCKl status Cas explained above). ~;
B. Load Pl current hori~ontal and vertical address ~i.e. trans- , fer address from RAM 42B to a micro-processor register).
C. Compute new Pl, X, Y address (if necessary) and;hold in micro-processor.
,, 30 D. Check boundary limits. , E. Load Pl current rotational code ~i.e. transfer code from RAM
42B to a micro-processor register). ~-.... . . . .
~.~8235~ ~
F. Compute new Pl rotational code (if necessary) per Table I
and hold in micro-processor.
G. Display player Pl at new X, Y address with new angular position corresponding to new rotational code.
The display of player Pl (and the other dynamic or movable image devices) requires the erasing of the current Pl image on the TV screen and the ~ ;
storage of the new image device. Additionally, the current XY addresses and rotational codes in RAM 42B must be updated to correspond to the new address and rotational code. The current address data is not erased prior to display so that the micro-computer will be able to update the image stored in ~AM 32 by writing 0's at the current address. This display function and the display functions for all of the items to be displayed whether static ~i.e, stationary) or dynamic (movable) are under the control of a display subroutine as described below following the ball subroutine, ~ , BALL Subroutine -A. Load current horizontal and vertical address of ball ' B~H and V ) B, Load current horizontal and vertical ball increments . , ~
(~HB and ~VB). ~;
C. Compute new~ball address ~HN and VN) and new ball increments , and hold in micro-processor, , i. HN ~ HB * ~HB ~ ;
ii. VN = Vg * ~VB
D. Call BALL DEFlECTION Subroutine.
E. Check Boundary limits.
F. Display ball p0sition (New ball position is in RA~ 42B
and not displayed until next polling cycle).
~ If the ball is not to be deflected by either a player or goalie or ~;
; boundary, the ball will continue-to move in the direction in which it is cur- -rently moving as represen~ed by the X and Y increments. However, if the ball is to appear to be deflected by any of the players or goalies~ the micro-computer must predict this occurrence and cause a change of the ball increments .. 19 ~8~:3S~
so that it will appear to ~e deflected from whichever image device it "strikes" at some presclected angle. The ball deflection subroutine which is called after the new ball address has been computed permits the ball position to be compared to the position of the players Pl and P2 and the goalies Gl and G2. In addition, the ball deflection subroutine co~pares the ball position with the two goals and causes the appropriate score to be in-cremented by one when the ball is within the confines of either goal.
After the ball deflection subroutine, the micro-computer returns to ; the ball subroutine and compares the ball position with the boundaries. This ; 10 can be done simply since the "addresses" of the boundaries are fixed horizon-tal ~or vertical) values. Hence, when either the horizontal or vertical address of a ball is equal to a horizontal or vertical boundary limit, the image of the ball can be deflected by simpiy complementing the horizontal (~) or vertical (Y) ball increment. These new increments are then returned to the RAM 42s in the form of the current ball rotational codes as explained pre-viously.
By way of example, if the ball increments are X = ~2 and Y = -1 (corresponding, for example, to a direction of 22.5), if the Y (vertical) address of the ball equals the Y value of the upper horizontal boundary, the ball increments are changed-to X = ~2 and Y = ~1 which causes the ball to appear to have been deflected at an angle of -22.5 from the upper horizontal boundary. Had the ball "struck~' a vertical boundary, the X increment would have been complemented.
As indicated above, after the boundary limits have been checked, the new ball position is displayed.
During the ball deflection subroutine, it is necessary to checlc the ball against the positions (addresses~ of the two players, the two goalies and the two goals. At all times, the current positions of the players and goalies are stored within RAM 42B. The addresses of the two goals are stored within the ROM 42A. The following is a flow diagram for the ball deflection subroutine to check the ball position against the position of the first player.
Essentially the same procedures are followed in the case of the player P2 and 3 (3 ~;Z~3S~
the two goalies. Basically, the program also applies in the case of the two goals, although when a goal is scored it is necessary to revise the score and to stop the ball movement and the clock.
BALL DEFLECTION Subroutine A. Compare Current Pl and intended New Ball positions ~does ba].l data block overlay new Pl data block).
; i. If no, return to Step ~ and check next image device.
ii. If yes, load Pl current angular position code (from RAM 42B to micro-computer).
iii. Determine new horizontal and vertical Ball increments.
iv. Store new Ball increments in RAM 42B. ~ :' .
v. Return to BALL subroutine. `
To determine the existence of a need to cause a ball deflection movement, the blocks of data representing the player Pl and the ball are com-. pared (rather than merely.comparing their addresses). For example, in Figure 7 there is shown a data block representing player Pl (regardless of the . .
angular position of the player). The ball B which is~represented by a three~
by-three data block will overlay the data block of the player in any of the ~`.. ... :
four positions shown in Figure 7 or in.any intermediate position. Knowing .
the X and Y addresses of both the player and ball data blocks, the limits of this overlay condition can be computed as a function of the respective addresses to determine whether ball.deflection is required.
The determination of the new horizontal and vertical ball increments .- :~
can be done i.n a number of ways. In the preferred embodiment, the micro-`'' ` ' computer determines the new ball:increments in accordance with the angular position of the player pursuant to.a predetermined-increment look-up table.
An example of an increment look-up table suitable for this purpose is con-tained below assuming ball movement from right to left. Reference to Figure 6, previously described, shows the reference angles for the player angular : ;
position and also indicates-the apparent direction of movement of the ball for the stated increments.
Z3~
INCREMENT LOOK-UP TABLE
; Player Angular New Ball Increments Ball Deflection Position ~ Y Angle 90 ~2 0 67.5 ~2 ~1 -22.5 45 ~2 ~2 -~5 22.5 ~1 ~2 -67.5 O 0 ~2 ~90 -22.5 ~1 -2 ~67.5 _45 +2 -2 ~45 -67.5 ~2 -1 ~22.5 .
~` If the ball is moving from let to right, then the indicated increments in the above table are complemented to determine the new ball in-crements. The sign of the current ~ increment indicates whether the ball is moving from right to left or from let-to rightJ a positive sign indicating left to right movement.
It may be desirable for the first increment of ball movement upon deflection to be higher than the normal increment. This provides a pleasing visual effect on the TV screen and w~ill also aid in moving the ball out of the "field" of the player, i.e. to ensure that the data block of the ball cannot overlay the data block of a player after the first incremental deflection step. ~
This may be helpful in the preferred embodiment where actual coincidence of ~ ;
ball and player is not recognized but, instead, is predicted with ball deflec- ~ ~
tion occurring on the next pollIng cycle. Thus, unlike the other image devices, ~ -in the case of the ball the "curren*" increment information stored in the RAM
42B represents the ball direction which will be displayed in the next polling ; cycle.
In the preceding flo~ diagrams, the ~ord "di-spla~" was used to in-dicate that data in the display RAM 32 was to be updated. Each time data is to be written into the display ~AM 32, it is done under the control of the micro-processor software pursuant to a display routine. The display routine determines whether the character to be displayed is a static character (i.e.
- 22 - ~
: ' ~ ~Z3S~
.~
one which is incaiable of movement such as a calculator symbol) or a dynamic character (e.g. the players, goalies and ball~. If a device is a dynamic character, the display routine must cause the current image device to be erased before the new image device is written into the RAM 32. Also, in the case of a dynamic character, the new address must be stored in the RAM ~2B.
As indicated above, each static and dynamic symbol which can be ~ ' displayed on the TV screen is stored as a data block wi~hin the ROM 42A of the ' ;~
micro-processor. These display symbols include the various possible rotation-al positions of each of the players. Each of these display symbols has a ~' device code associated with it and the symbols are addressed by means of the ~' .
device code. If a device to be stored in RAM 32 is accessed by a'device code ' indicating that the symbol is a static one, the micro-computer jumps to a TV-out subroutine which causes data to be written into RAM 32. The TV-out ~ ;
subroutine gives the starting horizontal and vertical addresses of a data i block to be written, the number of bits to be written, and the start command.
In writing a data block into the RAM 32, up to eight'sequential data bytes are written. The 8-bit word or byte is written into a horizontal line and the vertical address incremented by one after each byte has been written. In the ' case of the ball, the data block consists of three 3-bit words as described above. - ~ '~
. ., In the case of a dynamic character, the current device is first erased by writing 015 into the data block corresponding to the current device position in RAM 32. The new horizontal and vertical addresses ~and increment data in the case of the ball) are stored in RAM 42B. The'micro-processor then jumps to the TV-out subroutine descrIbed above, with the number of bits and number of bytes being set to 3 in the case of the ball. Typically, about one milli-second is required to write an 8-byte data block into RAM 32.
~igure 8 is a detailed block diagram of the logic circuits which ~' comprise the RAM control circuit 72 ~Figure 3). Essentially, the R~M control circuit 72 generates the control signals required to write data into the display RAM 32. In practicing the invention, it may be preferred to write data into RAM 32 during a horizontal or vertical blanking pulse if the slight -- .
235~
flicker which occurs when data is written into the RAM by interrupting the readout scan is deemed objectionable. Figure 8 illustrates a logic circuit intended to permit writing of data only during a blanking period to avoid this possible problem.
When data is to be written into RAM 32, micro-processor 40 produces a command on lines Do - D3 of the Input/Ou~put bus which is used to set a four stage counter 90 when the counter is enabled by a signal on line 91. ~he signal on line 91 is derived from the command latch 70 (Figure 3) when the ; data on lines Do - D3 is to be used to set counter 90.
Counter 90 is responsive to the timing pulses from clock 52 and is capable of counting to fifteen if initially set at zero, in which case the least significant bit will change from "O" to "1" eight times f~r each sixteen timing pulses. If the counter is initially set to some higher number by lines - Do - D3, the counter will step through correspondingly fewre stages and the least significant bit will change states fewer times. Hence, the least signi-ficant bit can be used to control the number of bits to be written into ~or read from) RAM 32.
The least significant bit from the o~tput of counter 90 is coupled to one input of an AND gate 92. The other input of gate 92 is~derived from the set output of a flip-flop 94 which receives a RAM write signal from the com~and latch 70 ~Figure 3).
Flip-flop 94 ~and the two other flip-flops shown in Figure 8) are synchronous devices having set and reset inputs (S and R) for placing the flip-flop in one of its two possible states. The flip-flops, however, can only ; change state upon the occurrence of a clock pulse on an enabling input C.
These clock pulses are also derived from the B clock 52 ~Figure 3).
When a RAM write pulse appears on the set input of flip-flop 94, flip-flop 94 changes state upon occurrence of the next clock pulse B producing a BUSY signal which is coupled to an input of AND gate 92. Counter 90 which is responsive to the B clock pulses, causes its least significant bit to change states on receipt of each clock pulse. Hence, the gate 92 is opened upon receipt of alternate timing pulses (from clock 52) when the BUSY line from ~ ~
- 24 - :
, . . . .
101~3Z3S~
flip-flop 94 is high. I`he output from AND gate 92 is coupled directly to the RAM 32 placing it in a write mode in a known way. Additionally, it is fed to the write gates 74 (Figure 3) if, as in the illustrated embodiment, writing occurs at a lower speed than reading and it is therefore necessary to switch to a lower speed clock for the writing operation. As mentioned above~ the number of pulses from gate 92, and thus the number of bits to be written into ~ -~
RA~l 32, depend on the initial count set into counter 90 by lines Do - D3.
The output pulses from gate 92 can also be used to increment the address latch 66 (Figure 3) as successiYe bits are written into RAM 32. This may be achieved by coupling the output of gate 92 to an inverter 93 the output of which will then be high when the least significant bit of counter 90 is low, with the number of pulses dependent on the initial count of coun*er 90. In effect, the least significant bit of counter 90 will alternately write data and step the address latch on successive timing pulses.
If it is desired to write only during a blank period of the scan, the composite blanking signal generated by the TV sync generator 5~ (Figure 3) is coupled to a NAND gate 98. The output of NAND gate 98 is fed to an enabling input of an AND gate 100 with the busy signal from flip-flop 94 being fed to the second input of AND gate 100 through an OR gate 102. The second input to NAND gate 98 is the set output of a flip-flop 96. Flip-flop 96 is set by a command from the micro-processor when it is desired to write only during the composite blanking period. Hence the output of NAND gate 98 is a series of enabling pulses during each blanking period of the video receiver provided that the appropriate command to write during composite blanking has set flip-flop 96. Accordingly, the output of AND gate 100, which places the addressing multiplexer 64 ~Figure 3) under the control of the micro-processor 40 during the write mode, will be a series of pulses occurring only when the TV screen is blank. Since write-in therefore occurs only during a blank period, the display on the TV receiver will not be interrupted by any flicker although, of course, the need to wait for the blank period will reduce the speed at which the display can be changed.
Normally, data is read from RAM 32 in the absence of a write signal .. . . . .
from the R~l control logic circuit. In some cases, particularly where the invention is being used in a calculator modeJ it may be desirable for the micro-processor to read the data which is stored in RAM 32. Accordingly, a third flip-flop 102 is set by a RAM read pulse from the micro-processor in-dicating that the computer wants to read data which is stored in RAM 32. The set output from the flip-flop 10~ is coupled through an OR gate 103 to an enabling input of an AND gate 104. The o~her input of AND gate 104 is a com-mand pulse from the micro-processor inquiring as to th0 read/write status of the RAM which will be represented at the output of the gate 104.
The basic principles of the invention can be readily adapted to dif-ferent types of games using many of the subroutines described generally above.
In a tennis game, for example, the goalies may not be set UPJ the "goals" may extend across the entire vertical boundaries, and the players may be restrict-~; ed to half the court. These constraints are set up during the initiali~ing ` subroutine.
In one version of a moving target game, the player doing the shooting is automatically placed in zone 1 or 2 depending on which game control key-board is used. A ball is attached to and moves with the shooter in the zone and in a vertical direction only. A target is released in the opposite zone when called for by the shooter. The target will either come from the shooter's left or right hand position randomly. It will then travel across to the other side at a random velocity and angle after release. The target will also have the ability to take-one random turn during its flight. The shooter must ;
guess and track the target and when ready, the ball attached to the shooter display will be released with the objective being to hit the target. The shooter may move vertically and take up any permitted angle prior to shooting.
The released ball will alway~s travel at a uniform constant velocity. If the target is hit, it will "merge" with the ball. If-the target is missedj then both the target and shot ball will continue off screen. The next target is then ready for call up. ~ ~-The invention has been described for use with a black and white ~ -television receiver with a single memory bit assigned to each bar of the TV
~823S~
raster. Accordingly, OTIly tWo states ~illuminate and don't llluminate~ are possible. If two data storage locations are assigned to each of the bars of the raster, there are four possible conditions for each of the bars and, consequently, gray scale or color selection (in the case of a color receiver) would be possible.
As explained above, the speed factor introduced during the initializ-ing subroutine adjusts the speed of movement of the dynamic image devices by varying the length of the polling cycle. If desired, the keyboard may be provided with a manual acceleration/deceleration ball control key which, when actuated, will increase or decrease the indicated horizontal and vertical ball increments to accelerate or decelerate the ball.
Instead of using individual keys to control the movement of the players and goalies, a joy stick may be used to achieve the same result.
If desired, an audio tone can be generated under the control of the software each time the ball is deflected either from a player, goalie or boundary. For example, the overlay subroutine of the ball deflection routine may generate the audlo tone when a deflection is determ m ed. Similarly, an audio tone may be generated when the boundaries are chec~ed during the ball routine and deflection is called for. The audio tone will be coupled to the VHF terminals of the receiver and the sound produced by the audio section of the receiver.
Since the displa~ of the various devices is under the control of the computer software, there are many ways in which the movement of the dynamic image devices can be modified. For e~ample, the speed of the ball may be auto-matically increased or decreased depending on time or angle of deflection.
For tennis games, a bounce factor may be added whereby the ball stops temporar-ily (or a tone is sounded) with the intention that the returning player must ~;
reach the ball prior to the second bounce. A "net" may be used by providing a moving vertical target which will shuttle back and forth along the net.
The idea would be to avoid hitting the target which would result in the loss of a point for the hitting player.
An advantage of the invention is that the apparatus purchased can 10823Sl be used to play games other than those for whlch it was especially designed.
This can be done by the use of appropriate programs which have the instruc-tions for new games stored in ROMS which can be added as modular "plug-in"
units to the existing device. Thus, as new games are developed, the programs can be purchased by owners of the basic systems to increase i~s capacity virtually without limit.
; 20 4 Rotate clockwise - increment player rotational code by 1.
5 Player counterclockwise - decrement player rotation code by 1.
6 Goalie down - increment goalie vertical address by 2.
7 Goalie up - decrement goalie vertical address by 2.
PLAYER Pl Subroutine A. Get GCKl status Cas explained above). ~;
B. Load Pl current hori~ontal and vertical address ~i.e. trans- , fer address from RAM 42B to a micro-processor register).
C. Compute new Pl, X, Y address (if necessary) and;hold in micro-processor.
,, 30 D. Check boundary limits. , E. Load Pl current rotational code ~i.e. transfer code from RAM
42B to a micro-processor register). ~-.... . . . .
~.~8235~ ~
F. Compute new Pl rotational code (if necessary) per Table I
and hold in micro-processor.
G. Display player Pl at new X, Y address with new angular position corresponding to new rotational code.
The display of player Pl (and the other dynamic or movable image devices) requires the erasing of the current Pl image on the TV screen and the ~ ;
storage of the new image device. Additionally, the current XY addresses and rotational codes in RAM 42B must be updated to correspond to the new address and rotational code. The current address data is not erased prior to display so that the micro-computer will be able to update the image stored in ~AM 32 by writing 0's at the current address. This display function and the display functions for all of the items to be displayed whether static ~i.e, stationary) or dynamic (movable) are under the control of a display subroutine as described below following the ball subroutine, ~ , BALL Subroutine -A. Load current horizontal and vertical address of ball ' B~H and V ) B, Load current horizontal and vertical ball increments . , ~
(~HB and ~VB). ~;
C. Compute new~ball address ~HN and VN) and new ball increments , and hold in micro-processor, , i. HN ~ HB * ~HB ~ ;
ii. VN = Vg * ~VB
D. Call BALL DEFlECTION Subroutine.
E. Check Boundary limits.
F. Display ball p0sition (New ball position is in RA~ 42B
and not displayed until next polling cycle).
~ If the ball is not to be deflected by either a player or goalie or ~;
; boundary, the ball will continue-to move in the direction in which it is cur- -rently moving as represen~ed by the X and Y increments. However, if the ball is to appear to be deflected by any of the players or goalies~ the micro-computer must predict this occurrence and cause a change of the ball increments .. 19 ~8~:3S~
so that it will appear to ~e deflected from whichever image device it "strikes" at some presclected angle. The ball deflection subroutine which is called after the new ball address has been computed permits the ball position to be compared to the position of the players Pl and P2 and the goalies Gl and G2. In addition, the ball deflection subroutine co~pares the ball position with the two goals and causes the appropriate score to be in-cremented by one when the ball is within the confines of either goal.
After the ball deflection subroutine, the micro-computer returns to ; the ball subroutine and compares the ball position with the boundaries. This ; 10 can be done simply since the "addresses" of the boundaries are fixed horizon-tal ~or vertical) values. Hence, when either the horizontal or vertical address of a ball is equal to a horizontal or vertical boundary limit, the image of the ball can be deflected by simpiy complementing the horizontal (~) or vertical (Y) ball increment. These new increments are then returned to the RAM 42s in the form of the current ball rotational codes as explained pre-viously.
By way of example, if the ball increments are X = ~2 and Y = -1 (corresponding, for example, to a direction of 22.5), if the Y (vertical) address of the ball equals the Y value of the upper horizontal boundary, the ball increments are changed-to X = ~2 and Y = ~1 which causes the ball to appear to have been deflected at an angle of -22.5 from the upper horizontal boundary. Had the ball "struck~' a vertical boundary, the X increment would have been complemented.
As indicated above, after the boundary limits have been checked, the new ball position is displayed.
During the ball deflection subroutine, it is necessary to checlc the ball against the positions (addresses~ of the two players, the two goalies and the two goals. At all times, the current positions of the players and goalies are stored within RAM 42B. The addresses of the two goals are stored within the ROM 42A. The following is a flow diagram for the ball deflection subroutine to check the ball position against the position of the first player.
Essentially the same procedures are followed in the case of the player P2 and 3 (3 ~;Z~3S~
the two goalies. Basically, the program also applies in the case of the two goals, although when a goal is scored it is necessary to revise the score and to stop the ball movement and the clock.
BALL DEFLECTION Subroutine A. Compare Current Pl and intended New Ball positions ~does ba].l data block overlay new Pl data block).
; i. If no, return to Step ~ and check next image device.
ii. If yes, load Pl current angular position code (from RAM 42B to micro-computer).
iii. Determine new horizontal and vertical Ball increments.
iv. Store new Ball increments in RAM 42B. ~ :' .
v. Return to BALL subroutine. `
To determine the existence of a need to cause a ball deflection movement, the blocks of data representing the player Pl and the ball are com-. pared (rather than merely.comparing their addresses). For example, in Figure 7 there is shown a data block representing player Pl (regardless of the . .
angular position of the player). The ball B which is~represented by a three~
by-three data block will overlay the data block of the player in any of the ~`.. ... :
four positions shown in Figure 7 or in.any intermediate position. Knowing .
the X and Y addresses of both the player and ball data blocks, the limits of this overlay condition can be computed as a function of the respective addresses to determine whether ball.deflection is required.
The determination of the new horizontal and vertical ball increments .- :~
can be done i.n a number of ways. In the preferred embodiment, the micro-`'' ` ' computer determines the new ball:increments in accordance with the angular position of the player pursuant to.a predetermined-increment look-up table.
An example of an increment look-up table suitable for this purpose is con-tained below assuming ball movement from right to left. Reference to Figure 6, previously described, shows the reference angles for the player angular : ;
position and also indicates-the apparent direction of movement of the ball for the stated increments.
Z3~
INCREMENT LOOK-UP TABLE
; Player Angular New Ball Increments Ball Deflection Position ~ Y Angle 90 ~2 0 67.5 ~2 ~1 -22.5 45 ~2 ~2 -~5 22.5 ~1 ~2 -67.5 O 0 ~2 ~90 -22.5 ~1 -2 ~67.5 _45 +2 -2 ~45 -67.5 ~2 -1 ~22.5 .
~` If the ball is moving from let to right, then the indicated increments in the above table are complemented to determine the new ball in-crements. The sign of the current ~ increment indicates whether the ball is moving from right to left or from let-to rightJ a positive sign indicating left to right movement.
It may be desirable for the first increment of ball movement upon deflection to be higher than the normal increment. This provides a pleasing visual effect on the TV screen and w~ill also aid in moving the ball out of the "field" of the player, i.e. to ensure that the data block of the ball cannot overlay the data block of a player after the first incremental deflection step. ~
This may be helpful in the preferred embodiment where actual coincidence of ~ ;
ball and player is not recognized but, instead, is predicted with ball deflec- ~ ~
tion occurring on the next pollIng cycle. Thus, unlike the other image devices, ~ -in the case of the ball the "curren*" increment information stored in the RAM
42B represents the ball direction which will be displayed in the next polling ; cycle.
In the preceding flo~ diagrams, the ~ord "di-spla~" was used to in-dicate that data in the display RAM 32 was to be updated. Each time data is to be written into the display ~AM 32, it is done under the control of the micro-processor software pursuant to a display routine. The display routine determines whether the character to be displayed is a static character (i.e.
- 22 - ~
: ' ~ ~Z3S~
.~
one which is incaiable of movement such as a calculator symbol) or a dynamic character (e.g. the players, goalies and ball~. If a device is a dynamic character, the display routine must cause the current image device to be erased before the new image device is written into the RAM 32. Also, in the case of a dynamic character, the new address must be stored in the RAM ~2B.
As indicated above, each static and dynamic symbol which can be ~ ' displayed on the TV screen is stored as a data block wi~hin the ROM 42A of the ' ;~
micro-processor. These display symbols include the various possible rotation-al positions of each of the players. Each of these display symbols has a ~' device code associated with it and the symbols are addressed by means of the ~' .
device code. If a device to be stored in RAM 32 is accessed by a'device code ' indicating that the symbol is a static one, the micro-computer jumps to a TV-out subroutine which causes data to be written into RAM 32. The TV-out ~ ;
subroutine gives the starting horizontal and vertical addresses of a data i block to be written, the number of bits to be written, and the start command.
In writing a data block into the RAM 32, up to eight'sequential data bytes are written. The 8-bit word or byte is written into a horizontal line and the vertical address incremented by one after each byte has been written. In the ' case of the ball, the data block consists of three 3-bit words as described above. - ~ '~
. ., In the case of a dynamic character, the current device is first erased by writing 015 into the data block corresponding to the current device position in RAM 32. The new horizontal and vertical addresses ~and increment data in the case of the ball) are stored in RAM 42B. The'micro-processor then jumps to the TV-out subroutine descrIbed above, with the number of bits and number of bytes being set to 3 in the case of the ball. Typically, about one milli-second is required to write an 8-byte data block into RAM 32.
~igure 8 is a detailed block diagram of the logic circuits which ~' comprise the RAM control circuit 72 ~Figure 3). Essentially, the R~M control circuit 72 generates the control signals required to write data into the display RAM 32. In practicing the invention, it may be preferred to write data into RAM 32 during a horizontal or vertical blanking pulse if the slight -- .
235~
flicker which occurs when data is written into the RAM by interrupting the readout scan is deemed objectionable. Figure 8 illustrates a logic circuit intended to permit writing of data only during a blanking period to avoid this possible problem.
When data is to be written into RAM 32, micro-processor 40 produces a command on lines Do - D3 of the Input/Ou~put bus which is used to set a four stage counter 90 when the counter is enabled by a signal on line 91. ~he signal on line 91 is derived from the command latch 70 (Figure 3) when the ; data on lines Do - D3 is to be used to set counter 90.
Counter 90 is responsive to the timing pulses from clock 52 and is capable of counting to fifteen if initially set at zero, in which case the least significant bit will change from "O" to "1" eight times f~r each sixteen timing pulses. If the counter is initially set to some higher number by lines - Do - D3, the counter will step through correspondingly fewre stages and the least significant bit will change states fewer times. Hence, the least signi-ficant bit can be used to control the number of bits to be written into ~or read from) RAM 32.
The least significant bit from the o~tput of counter 90 is coupled to one input of an AND gate 92. The other input of gate 92 is~derived from the set output of a flip-flop 94 which receives a RAM write signal from the com~and latch 70 ~Figure 3).
Flip-flop 94 ~and the two other flip-flops shown in Figure 8) are synchronous devices having set and reset inputs (S and R) for placing the flip-flop in one of its two possible states. The flip-flops, however, can only ; change state upon the occurrence of a clock pulse on an enabling input C.
These clock pulses are also derived from the B clock 52 ~Figure 3).
When a RAM write pulse appears on the set input of flip-flop 94, flip-flop 94 changes state upon occurrence of the next clock pulse B producing a BUSY signal which is coupled to an input of AND gate 92. Counter 90 which is responsive to the B clock pulses, causes its least significant bit to change states on receipt of each clock pulse. Hence, the gate 92 is opened upon receipt of alternate timing pulses (from clock 52) when the BUSY line from ~ ~
- 24 - :
, . . . .
101~3Z3S~
flip-flop 94 is high. I`he output from AND gate 92 is coupled directly to the RAM 32 placing it in a write mode in a known way. Additionally, it is fed to the write gates 74 (Figure 3) if, as in the illustrated embodiment, writing occurs at a lower speed than reading and it is therefore necessary to switch to a lower speed clock for the writing operation. As mentioned above~ the number of pulses from gate 92, and thus the number of bits to be written into ~ -~
RA~l 32, depend on the initial count set into counter 90 by lines Do - D3.
The output pulses from gate 92 can also be used to increment the address latch 66 (Figure 3) as successiYe bits are written into RAM 32. This may be achieved by coupling the output of gate 92 to an inverter 93 the output of which will then be high when the least significant bit of counter 90 is low, with the number of pulses dependent on the initial count of coun*er 90. In effect, the least significant bit of counter 90 will alternately write data and step the address latch on successive timing pulses.
If it is desired to write only during a blank period of the scan, the composite blanking signal generated by the TV sync generator 5~ (Figure 3) is coupled to a NAND gate 98. The output of NAND gate 98 is fed to an enabling input of an AND gate 100 with the busy signal from flip-flop 94 being fed to the second input of AND gate 100 through an OR gate 102. The second input to NAND gate 98 is the set output of a flip-flop 96. Flip-flop 96 is set by a command from the micro-processor when it is desired to write only during the composite blanking period. Hence the output of NAND gate 98 is a series of enabling pulses during each blanking period of the video receiver provided that the appropriate command to write during composite blanking has set flip-flop 96. Accordingly, the output of AND gate 100, which places the addressing multiplexer 64 ~Figure 3) under the control of the micro-processor 40 during the write mode, will be a series of pulses occurring only when the TV screen is blank. Since write-in therefore occurs only during a blank period, the display on the TV receiver will not be interrupted by any flicker although, of course, the need to wait for the blank period will reduce the speed at which the display can be changed.
Normally, data is read from RAM 32 in the absence of a write signal .. . . . .
from the R~l control logic circuit. In some cases, particularly where the invention is being used in a calculator modeJ it may be desirable for the micro-processor to read the data which is stored in RAM 32. Accordingly, a third flip-flop 102 is set by a RAM read pulse from the micro-processor in-dicating that the computer wants to read data which is stored in RAM 32. The set output from the flip-flop 10~ is coupled through an OR gate 103 to an enabling input of an AND gate 104. The o~her input of AND gate 104 is a com-mand pulse from the micro-processor inquiring as to th0 read/write status of the RAM which will be represented at the output of the gate 104.
The basic principles of the invention can be readily adapted to dif-ferent types of games using many of the subroutines described generally above.
In a tennis game, for example, the goalies may not be set UPJ the "goals" may extend across the entire vertical boundaries, and the players may be restrict-~; ed to half the court. These constraints are set up during the initiali~ing ` subroutine.
In one version of a moving target game, the player doing the shooting is automatically placed in zone 1 or 2 depending on which game control key-board is used. A ball is attached to and moves with the shooter in the zone and in a vertical direction only. A target is released in the opposite zone when called for by the shooter. The target will either come from the shooter's left or right hand position randomly. It will then travel across to the other side at a random velocity and angle after release. The target will also have the ability to take-one random turn during its flight. The shooter must ;
guess and track the target and when ready, the ball attached to the shooter display will be released with the objective being to hit the target. The shooter may move vertically and take up any permitted angle prior to shooting.
The released ball will alway~s travel at a uniform constant velocity. If the target is hit, it will "merge" with the ball. If-the target is missedj then both the target and shot ball will continue off screen. The next target is then ready for call up. ~ ~-The invention has been described for use with a black and white ~ -television receiver with a single memory bit assigned to each bar of the TV
~823S~
raster. Accordingly, OTIly tWo states ~illuminate and don't llluminate~ are possible. If two data storage locations are assigned to each of the bars of the raster, there are four possible conditions for each of the bars and, consequently, gray scale or color selection (in the case of a color receiver) would be possible.
As explained above, the speed factor introduced during the initializ-ing subroutine adjusts the speed of movement of the dynamic image devices by varying the length of the polling cycle. If desired, the keyboard may be provided with a manual acceleration/deceleration ball control key which, when actuated, will increase or decrease the indicated horizontal and vertical ball increments to accelerate or decelerate the ball.
Instead of using individual keys to control the movement of the players and goalies, a joy stick may be used to achieve the same result.
If desired, an audio tone can be generated under the control of the software each time the ball is deflected either from a player, goalie or boundary. For example, the overlay subroutine of the ball deflection routine may generate the audlo tone when a deflection is determ m ed. Similarly, an audio tone may be generated when the boundaries are chec~ed during the ball routine and deflection is called for. The audio tone will be coupled to the VHF terminals of the receiver and the sound produced by the audio section of the receiver.
Since the displa~ of the various devices is under the control of the computer software, there are many ways in which the movement of the dynamic image devices can be modified. For e~ample, the speed of the ball may be auto-matically increased or decreased depending on time or angle of deflection.
For tennis games, a bounce factor may be added whereby the ball stops temporar-ily (or a tone is sounded) with the intention that the returning player must ~;
reach the ball prior to the second bounce. A "net" may be used by providing a moving vertical target which will shuttle back and forth along the net.
The idea would be to avoid hitting the target which would result in the loss of a point for the hitting player.
An advantage of the invention is that the apparatus purchased can 10823Sl be used to play games other than those for whlch it was especially designed.
This can be done by the use of appropriate programs which have the instruc-tions for new games stored in ROMS which can be added as modular "plug-in"
units to the existing device. Thus, as new games are developed, the programs can be purchased by owners of the basic systems to increase i~s capacity virtually without limit.
Claims (15)
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. Display control apparatus for use with a television receiver including video signal input terminals, a display tube, and means for scanning said display tube at a predetermined rate, comprising:
memory means having a multiplicity of discrete digital storage positions, each of said storage positions corresponding to a preselected image area of said display tube;
data processor means including storage means for storing therein digital data representing a plurality of prescribed image devices, at least one of said image devices comprising an image device moveable under control of a user;
control means having first manually actuable means for moving said user controlled image device hori-zontally and vertically;
means responsive to said control means and said data processor means for selectively writing digital data representing one of said prescribed image devices into selected ones of said storage positions, said storage posi-tions being selected to correspond to a predetermined image device to be displayed on said display tube;
said data processing means including means responsive to said first manually actuable means for eras-ing the data representing the user controlled image device stored in said memory means, and means for writing the data representing said user controlled image device at a new address in said memory means corresponding to a predetermined new address;
means for sequentially reading stored data from said storage positions at said predetermined scanning rate, with each storage position being read essentially as the predetermined image area of the display tube corresponding to that storage position is being scanned; and means responsive to said sequential reading means for generating a video signal adapted to be coupled to the video signal input terminals of a television receiver.
memory means having a multiplicity of discrete digital storage positions, each of said storage positions corresponding to a preselected image area of said display tube;
data processor means including storage means for storing therein digital data representing a plurality of prescribed image devices, at least one of said image devices comprising an image device moveable under control of a user;
control means having first manually actuable means for moving said user controlled image device hori-zontally and vertically;
means responsive to said control means and said data processor means for selectively writing digital data representing one of said prescribed image devices into selected ones of said storage positions, said storage posi-tions being selected to correspond to a predetermined image device to be displayed on said display tube;
said data processing means including means responsive to said first manually actuable means for eras-ing the data representing the user controlled image device stored in said memory means, and means for writing the data representing said user controlled image device at a new address in said memory means corresponding to a predetermined new address;
means for sequentially reading stored data from said storage positions at said predetermined scanning rate, with each storage position being read essentially as the predetermined image area of the display tube corresponding to that storage position is being scanned; and means responsive to said sequential reading means for generating a video signal adapted to be coupled to the video signal input terminals of a television receiver.
2. Display control apparatus according to claim 1, wherein a second one of said image devices is intended to move continuously on the display for at least some period of time, and wherein said data processor storage means has stored therein data corresponding to preselected increments of said second image device movement in horizontal and vertical direc-tions, said increments defining different preselected angular directions for said second image device and being measured by preselected numbers of said image areas.
3. Display control apparatus according to claim 2, wherein said data processing means includes means for erasing the data representing said second image device stored in said memory means, and means for writing the data representing said second image device in said memory means at a new address dependent on said increments.
4. Display control apparatus according to claim 3, wherein said data processor means further includes means for comparing the positions of the data representing said second image device and said user controlled image device and means responsive to said comparing means for modifying said preselected increments to thereby change the direction of movement of said second image device.
5. Display control apparatus according to claim 3, wherein said control means further includes second manually actuable means for rotating said user controlled image device and wherein there are stored in said storage means data re-presenting a plurality of additional user controlled image devices having different rotational positions and wherein there is further provided:
means responsive to the actuation of said second manually actuable means for replacing the data re-presenting said user controlled image device stored in said memory means with data representing a preselected one of said additional user controlled image devices.
means responsive to the actuation of said second manually actuable means for replacing the data re-presenting said user controlled image device stored in said memory means with data representing a preselected one of said additional user controlled image devices.
6. Display control apparatus according to claim 5, wherein said means for modifying said preselected incre-ments is responsive to the rotational position of said user controlled image device.
7. Display control apparatus according to claim 1, including means for enabling said means for selectively writing only during a horizontal or vertical blanking period during scanning of the television receiver.
8. Display control apparatus according to claim 1, wherein said storage means includes a replaceable memory having stored therein program game instructions whereby different games may be played with said display control apparatus by replacing said replaceable memory.
9. Display control apparatus according to claim 1, wherein said control means further includes second manually actuable means for rotating said user controlled image device and wherein there are stored in said storage means data representing a plurality of additional user controlled image devices having different rotational positions and wherein there is further provided:
means responsive to the actuation of said second manually actuable means for replacing the data re-presenting said user controlled image devices stored in said random access memory with data representing a pre-selected one of said additional user controlled image devices.
means responsive to the actuation of said second manually actuable means for replacing the data re-presenting said user controlled image devices stored in said random access memory with data representing a pre-selected one of said additional user controlled image devices.
10. Display control apparatus according to claim 1, adapted for playing games by displaying and manipulating player and ball image devices on the screen of said display tube, wherein said video signal generating means includes first means for generating a video signal representing a linear player image device aligned in a first direction, and second means for generating a video signal representing a ball image device, and wherein said control means includes second manually actuable means, said apparatus further com-prising:
means responsive to said second manually actuable means for causing said first means to generate a video signal representing the player image device rotated so that it is aligned in a second direction different from said first direction.
means responsive to said second manually actuable means for causing said first means to generate a video signal representing the player image device rotated so that it is aligned in a second direction different from said first direction.
11. Apparatus according to claim 10, wherein said means for causing includes programmed microprocessor and a replaceable memory having program game instructions stored therein for controlling said microprocessor means, whereby different games may be played with said apparatus by replac-ing said replaceable memory.
12. Display control apparatus according to claim 1, adapted for playing games by displaying and manipulating player and ball image devices on the screen of said display tube, wherein the player image device is manually controlled by said control means and the ball image device moves con-tinuously and is deflected from said player image device, wherein said video signal generating means includes first means for generating a video signal representing a player image device and second means for generating a video signal representing a ball image device, and wherein said control means includes manually operable means for moving said player image device linearly and for rotating said player image device, said apparatus further comprising:
means responsive to said control means for causing said second means to generate a video signal re-presenting the ball image device deflected in one of a plurality of preselected directions.
means responsive to said control means for causing said second means to generate a video signal re-presenting the ball image device deflected in one of a plurality of preselected directions.
13. Apparatus according to claim 12, wherein said last-named means is dependent upon the apparent rotational position of said player image device.
14. Apparatus according to claim 13, further including means responsive to said control means for caus-ing said first means to generate a video signal representing the player image device lying in a second direction different from said first direction.
15. Apparatus according to claim 12, wherein said last-named means includes programmed microprocessor means and a replaceable memory having program game instruc-tions stored therein for controlling said microprocessor means, whereby different games may be played with said apparatus by replacing said replaceable memory.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/557,484 US4026555A (en) | 1975-03-12 | 1975-03-12 | Television display control apparatus |
US557,484 | 1975-03-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1082351A true CA1082351A (en) | 1980-07-22 |
Family
ID=24225599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA247,574A Expired CA1082351A (en) | 1975-03-12 | 1976-03-10 | Television display control apparatus |
Country Status (6)
Country | Link |
---|---|
US (1) | US4026555A (en) |
JP (1) | JPS51113529A (en) |
CA (1) | CA1082351A (en) |
DE (1) | DE2609826C2 (en) |
FR (1) | FR2304124A1 (en) |
GB (1) | GB1535999A (en) |
Families Citing this family (203)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5615380A (en) * | 1969-11-24 | 1997-03-25 | Hyatt; Gilbert P. | Integrated circuit computer system having a keyboard input and a sound output |
US4026555A (en) * | 1975-03-12 | 1977-05-31 | Alpex Computer Corporation | Television display control apparatus |
US4093232A (en) * | 1975-05-13 | 1978-06-06 | Bally Manufacturing Corporation | Player operated game apparatus |
USRE31441E (en) * | 1975-05-13 | 1983-11-15 | Bally Manufacturing Corporation | Player operated game apparatus |
US4054948A (en) * | 1975-10-14 | 1977-10-18 | Realty & Industrial Corporation | Proportional spacing and electronic typographic apparatus |
US4223893A (en) * | 1975-11-11 | 1980-09-23 | Tryom, Inc. | Electronic game |
US4198051A (en) * | 1975-11-19 | 1980-04-15 | Bally Manufacturing Corporation | Computerized pin ball machine |
US4296930A (en) * | 1975-11-26 | 1981-10-27 | Bally Manufacturing Corporation | TV Game apparatus |
CA1114054A (en) * | 1975-11-26 | 1981-12-08 | Jeffrey E. Frederiksen | Tv game apparatus |
US4093223A (en) * | 1976-01-23 | 1978-06-06 | Wilke William F | Electronic game apparatus and method |
US4244578A (en) * | 1976-01-29 | 1981-01-13 | Rosenzweig Walter L | Electronic backgammon |
JPS52149916A (en) * | 1976-06-09 | 1977-12-13 | Hitachi Ltd | Three dimentional image observation equipment |
US4116444A (en) * | 1976-07-16 | 1978-09-26 | Atari, Inc. | Method for generating a plurality of moving objects on a video display screen |
US4095791A (en) * | 1976-08-23 | 1978-06-20 | Fairchild Camera And Instrument Corp. | Cartridge programmable video game apparatus |
GB1585100A (en) * | 1976-09-06 | 1981-02-25 | Gen Electric Co Ltd | Electronic display apparatus |
US4155095A (en) * | 1976-09-16 | 1979-05-15 | Alpex Computer Corporation | Chroma control for television control apparatus |
US4114882A (en) * | 1976-10-29 | 1978-09-19 | Robert Ralph Runte | Variable velocity control for playing images for a manually controlled electronic video display game |
DE2653113C2 (en) * | 1976-11-23 | 1983-01-13 | Loewe Opta Gmbh, 8640 Kronach | TV game switching |
US4111421A (en) * | 1976-12-09 | 1978-09-05 | The Magnavox Company | Optical linked remote control video game apparatus |
US4112422A (en) * | 1976-12-13 | 1978-09-05 | Atari, Inc. | Method and apparatus for generating moving objects on a video display screen |
US4145043A (en) * | 1976-12-15 | 1979-03-20 | Universal Research Laboratories, Inc. | Analog to digital video game conversion |
US4094000A (en) * | 1976-12-16 | 1978-06-06 | Atex, Incorporated | Graphics display unit |
US4162792A (en) * | 1977-01-12 | 1979-07-31 | Mattel, Inc. | Obstacle game |
US4089524A (en) * | 1977-01-18 | 1978-05-16 | Gremlin Industries, Inc. | Digitally controlled electronic game |
DE2703025C3 (en) * | 1977-01-26 | 1981-04-02 | Reiner Dr.-Ing. 5270 Gummersbach Foerst | Driving simulator |
US4355814A (en) * | 1977-02-22 | 1982-10-26 | Sanders Associates, Inc. | Video game symbol generation and control apparatus |
GB1601723A (en) * | 1977-02-22 | 1981-11-04 | Sanders Associates Inc | Interactive video game and control therefor |
US4357014A (en) * | 1977-02-22 | 1982-11-02 | Sanders Associates, Inc. | Interactive game and control therefor |
US4139838A (en) * | 1977-04-06 | 1979-02-13 | Hitachi, Ltd. | Color pattern and alphanumeric character generator for use with raster-scan display devices |
US4156928A (en) * | 1977-04-22 | 1979-05-29 | Hitachi, Ltd. | Programmable television game and training system with adaptable operator control |
USRE31736E (en) * | 1977-06-13 | 1984-11-13 | Rockwell International Corporation | Reactive computer system adaptive to a plurality of program inputs |
US4213189A (en) * | 1977-06-13 | 1980-07-15 | Admiral Corporation | Reactive computer system adaptive to a plurality of program inputs |
US4135182A (en) * | 1977-06-17 | 1979-01-16 | Sperry Rand Corporation | Circuit for applying alpha/numeric data to a TV receiver |
US4339134A (en) * | 1977-07-05 | 1982-07-13 | Rockwell International Corporation | Electronic card game |
JPS5822232B2 (en) * | 1977-07-06 | 1983-05-07 | 日本電信電話株式会社 | Go display control device |
JPS5423331A (en) * | 1977-07-22 | 1979-02-21 | Hitachi Ltd | Generating circuit for crt display signal |
US4232374A (en) * | 1977-08-11 | 1980-11-04 | Umtech, Inc. | Segment ordering for television receiver control unit |
US4235442A (en) * | 1977-08-26 | 1980-11-25 | Fidelity Electronics, Ltd. | Electronic board game system |
US4148485A (en) * | 1977-09-19 | 1979-04-10 | Atari, Inc. | Driving games method for automatically controlled cars |
US4355805A (en) * | 1977-09-30 | 1982-10-26 | Sanders Associates, Inc. | Manually programmable video gaming system |
US4447213A (en) * | 1977-10-17 | 1984-05-08 | Texas Instruments Incorporated | Electronic learning aid |
US4340374A (en) * | 1977-10-17 | 1982-07-20 | Texas Instruments Incorporated | Electronic learning aid |
JPS5469031A (en) * | 1977-11-12 | 1979-06-02 | Sharp Corp | Electronic desk computer |
JPS5474145A (en) * | 1977-11-25 | 1979-06-14 | Toshiba Corp | Television game apparatus |
US4179124A (en) * | 1977-12-12 | 1979-12-18 | Jed Margolin | Electronic video game |
US4165072A (en) * | 1977-12-20 | 1979-08-21 | Atari, Inc. | Method of operating a video game |
US4189728A (en) * | 1977-12-20 | 1980-02-19 | Atari, Inc. | Apparatus for generating a plurality of moving objects on a video display screen utilizing associative memory |
US4179704A (en) * | 1977-12-27 | 1979-12-18 | Cbs Inc. | Television system for displaying and recording paths of motion |
US4240638A (en) * | 1978-01-06 | 1980-12-23 | Marvin Glass & Associates | Microprocessor controlled game apparatus |
US4171135A (en) * | 1978-02-14 | 1979-10-16 | Doyle Holly Thomis | Chance based submarine hunting game |
US4281833A (en) * | 1978-03-20 | 1981-08-04 | Sound Games, Inc. | Audio racquet ball |
US4200867A (en) * | 1978-04-03 | 1980-04-29 | Hill Elmer D | System and method for painting images by synthetic color signal generation and control |
US4247106A (en) * | 1978-04-12 | 1981-01-27 | Jerrold Electronics Corporation | System arrangement for distribution and use of video games |
US4259668A (en) * | 1978-05-15 | 1981-03-31 | Sharp Kabushiki Kaisha | Television set/calculator interface including exchangeable keyboard panel and program memory cartridge |
FR2426292A1 (en) * | 1978-05-18 | 1979-12-14 | Thomson Csf | GRAPHIC TERMINAL PROCESSOR |
US4589089A (en) * | 1978-05-30 | 1986-05-13 | Bally Manufacturing Corporation | Computer-peripheral interface for a game apparatus |
US4475172A (en) * | 1978-05-30 | 1984-10-02 | Bally Manufacturing Corporation | Audio/visual home computer and game apparatus |
US4181955A (en) * | 1978-06-02 | 1980-01-01 | Mathematical Applications Group, Inc. | Apparatus for producing photographic slides |
US4209832A (en) * | 1978-06-13 | 1980-06-24 | Chrysler Corporation | Computer-generated display for a fire control combat simulator |
US4303398A (en) * | 1978-06-28 | 1981-12-01 | Coleco Industries, Inc. | Electronic quiz game utilizing cartridges and method employing same |
US4249735A (en) * | 1978-06-28 | 1981-02-10 | Eric Bromley | Electronic simulated football game and method |
US4327915A (en) * | 1978-07-03 | 1982-05-04 | Coleco Industries, Inc. | Display panel for an electronic game and method of employing same |
US4564902A (en) * | 1978-07-21 | 1986-01-14 | Tandy Corporation | Computer |
US4214263A (en) * | 1978-09-20 | 1980-07-22 | Cbs Inc. | Television system for displaying and recording paths of motion |
GB2049439B (en) * | 1978-10-07 | 1983-02-02 | Burgess D M | Audience participation computer game |
JPS6057355B2 (en) * | 1978-10-17 | 1985-12-14 | 株式会社ナムコ | Collision detection method between a moving object and an obstacle on a CRT display |
US4322073A (en) * | 1978-10-27 | 1982-03-30 | Nuvatec/Inc. | Electronic game apparatus |
US4215861A (en) * | 1978-11-29 | 1980-08-05 | Nemeth Joseph J | Electronic tennis game |
JPS5576437A (en) * | 1978-12-04 | 1980-06-09 | Hitachi Ltd | Graphic display unit |
GB2038600B (en) * | 1978-12-05 | 1982-11-24 | Nintendo Co Ltd | Apparatus for displaying grouped objects in scanning type display |
US4296476A (en) * | 1979-01-08 | 1981-10-20 | Atari, Inc. | Data processing system with programmable graphics generator |
US4342454A (en) * | 1979-01-08 | 1982-08-03 | Sanders Associates, Inc. | Method and apparatus for instant replay and other capabilities for microprocessor-controlled video games |
US4266776A (en) * | 1979-02-12 | 1981-05-12 | Goldfarb Adolph E | Multi target-shooter game apparatus |
US4249734A (en) * | 1979-02-26 | 1981-02-10 | Coleco Industries, Inc. | Hand-held two-player electronic football game |
US4249744A (en) * | 1979-02-26 | 1981-02-10 | Coleco Industries, Inc. | Two-player electronic sports action game |
JPS55120885A (en) * | 1979-03-12 | 1980-09-17 | Universal Kk | Score display system in flipper game machine with television |
US4357624A (en) * | 1979-05-15 | 1982-11-02 | Combined Logic Company | Interactive video production system |
US4258385A (en) * | 1979-05-15 | 1981-03-24 | Combined Logic Company | Interactive video production system and method |
US4322854A (en) * | 1979-05-18 | 1982-03-30 | Allan B. Bundens | Data communications terminal |
US4363108A (en) * | 1979-06-25 | 1982-12-07 | Honeywell Information Systems Inc. | Low cost programmable video computer terminal |
US4359223A (en) * | 1979-11-01 | 1982-11-16 | Sanders Associates, Inc. | Interactive video playback system |
US4345245A (en) * | 1979-11-26 | 1982-08-17 | Eltra Corporation | Method and apparatus for arranging segmented character groups in a digital typesetter |
JPS56136054A (en) * | 1980-03-26 | 1981-10-23 | Hitachi Ltd | Function assigning circuit |
US4459677A (en) * | 1980-04-11 | 1984-07-10 | Ampex Corporation | VIQ Computer graphics system |
US4564915A (en) * | 1980-04-11 | 1986-01-14 | Ampex Corporation | YIQ Computer graphics system |
US4475161A (en) * | 1980-04-11 | 1984-10-02 | Ampex Corporation | YIQ Computer graphics system |
US4344146A (en) * | 1980-05-08 | 1982-08-10 | Chesebrough-Pond's Inc. | Video inspection system |
US4445185A (en) * | 1980-05-08 | 1984-04-24 | Chesebrough-Pond's Inc. | Video inspection system |
US4946391A (en) * | 1980-05-30 | 1990-08-07 | Texas Instruments Incorporated | Electronic arithmetic learning aid with synthetic speech |
US4372556A (en) * | 1980-08-08 | 1983-02-08 | Mattel, Inc. | Electronic soccer game |
JPS5734880A (en) * | 1980-08-12 | 1982-02-25 | Nintendo Co Ltd | Figure display game device |
US4369973A (en) * | 1980-11-21 | 1983-01-25 | Aurora Joseph R D | Electronic crossword puzzle |
US4517656A (en) * | 1981-05-11 | 1985-05-14 | Texas Instruments Incorporated | Programmable game with virtual CPU's sharing ALU and memory for simultaneous execution of independent game inputs |
US4418917A (en) * | 1980-12-29 | 1983-12-06 | Mattel, Inc. | Electronic target game |
US4391444A (en) * | 1981-02-09 | 1983-07-05 | Coleco Industries, Inc. | Electronic game providing formation changes and method |
US4386776A (en) * | 1981-02-17 | 1983-06-07 | Coleco Industries, Inc. | Electronic sports-action game with improved game-object simulation |
US4419662A (en) * | 1981-05-04 | 1983-12-06 | Zenith Radio Corporation | Character generator with latched outputs |
JPS57207970A (en) * | 1981-06-16 | 1982-12-20 | Sony Corp | Microcomputer |
USRE33894E (en) * | 1981-08-12 | 1992-04-21 | International Business Machines Corporation | Apparatus and method for reading and writing text characters in a graphics display |
WO1983001391A1 (en) * | 1981-10-26 | 1983-04-28 | Gremlin Ind Inc | Vector scanned video game method and apparatus |
US4965825A (en) | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
US7831204B1 (en) | 1981-11-03 | 2010-11-09 | Personalized Media Communications, Llc | Signal processing apparatus and methods |
USRE47642E1 (en) | 1981-11-03 | 2019-10-08 | Personalized Media Communications LLC | Signal processing apparatus and methods |
US4557694A (en) * | 1981-11-09 | 1985-12-10 | Nelson Roy A | Teaching device and method of using same |
WO1983002566A1 (en) * | 1982-01-25 | 1983-08-04 | Entex Ind Inc | Hand held electronic game with interchangeable cartridges |
US4490810A (en) * | 1982-02-16 | 1984-12-25 | Hon David C | Automated instruction, game and data retrieval system |
US4871167A (en) * | 1982-06-16 | 1989-10-03 | Bally Manufacturing Corporation | General purpose display controller for electronic games |
US4462594A (en) * | 1982-09-29 | 1984-07-31 | Coleco, Industries, Inc. | Video game with control of rate of movement of game objects |
GB2133257B (en) * | 1982-12-22 | 1987-07-29 | Ricoh Kk | T v game system |
US4620186A (en) * | 1983-08-30 | 1986-10-28 | Zenith Electronics Corporation | Multi-bit write feature for video RAM |
US4979738A (en) * | 1983-12-06 | 1990-12-25 | Midway Manufacturing Corporation | Constant spatial data mass RAM video display system |
CA1231186A (en) * | 1983-12-20 | 1988-01-05 | Takatoshi Ishii | Display control system |
JPS6035782A (en) * | 1984-02-20 | 1985-02-23 | 株式会社日立製作所 | Integrated circuit memory |
DE3420597A1 (en) * | 1984-06-01 | 1985-12-05 | Michael Perker | Pocket computer |
US4675813A (en) * | 1985-01-03 | 1987-06-23 | Northern Telecom Limited | Program assignable I/O addresses for a computer |
US4751578A (en) * | 1985-05-28 | 1988-06-14 | David P. Gordon | System for electronically controllably viewing on a television updateable television programming information |
US4752825A (en) * | 1986-10-10 | 1988-06-21 | Grumman Aerospace Corporation | Video display simulator and analyzer |
US4924216A (en) * | 1988-02-12 | 1990-05-08 | Acemore International Ltd. | Joystick controller apparatus |
US5038211A (en) * | 1989-07-05 | 1991-08-06 | The Superguide Corporation | Method and apparatus for transmitting and receiving television program information |
JP2725062B2 (en) * | 1989-08-01 | 1998-03-09 | 株式会社リコー | Image processing device |
JPH03131117A (en) * | 1989-10-16 | 1991-06-04 | Fujitsu Ten Ltd | Sound reproducing device |
JPH04131048U (en) * | 1991-05-24 | 1992-12-01 | 株式会社ケンウツド | drive circuit |
JP2538488B2 (en) * | 1992-10-27 | 1996-09-25 | 株式会社バンダイ | Game device |
DE69334356D1 (en) * | 1992-11-20 | 2011-06-01 | Sega Kk Dba Sega Corp | Method for controlling a display |
US5405151A (en) * | 1992-11-20 | 1995-04-11 | Sega Of America, Inc. | Multi-player video game with cooperative mode and competition mode |
US5411272A (en) * | 1992-11-20 | 1995-05-02 | Sega Of America, Inc. | Video game with spiral loop graphics |
US5513307A (en) * | 1992-11-20 | 1996-04-30 | Sega Of America, Inc. | Video game with switchable collision graphics |
US5411270A (en) * | 1992-11-20 | 1995-05-02 | Sega Of America, Inc. | Split-screen video game with character playfield position exchange |
US5470080A (en) * | 1992-11-20 | 1995-11-28 | Sega Of America, Inc. | Multi-player video game apparatus with single screen mode and split screen mode |
US7367563B2 (en) * | 1993-02-25 | 2008-05-06 | Shuffle Master, Inc. | Interactive simulated stud poker apparatus and method |
US20080207295A1 (en) * | 1993-02-25 | 2008-08-28 | Yoseloff Mark L | Interactive simulated stud poker apparatus and method |
US20050164759A1 (en) * | 2004-01-26 | 2005-07-28 | Shuffle Master, Inc. | Electronic gaming machine with architecture supporting a virtual dealer and virtual cards |
US7661676B2 (en) * | 2001-09-28 | 2010-02-16 | Shuffle Master, Incorporated | Card shuffler with reading capability integrated into multiplayer automated gaming table |
US8272958B2 (en) * | 2004-01-26 | 2012-09-25 | Shuffle Master, Inc. | Automated multiplayer game table with unique image feed of dealer |
US20090075724A1 (en) * | 1993-02-25 | 2009-03-19 | Shuffle Master, Inc. | Wireless bet withdrawal gaming system |
CA2140643C (en) * | 1993-05-21 | 2000-04-04 | Atsushi Kitahara | Image processing device and method |
US6239794B1 (en) | 1994-08-31 | 2001-05-29 | E Guide, Inc. | Method and system for simultaneously displaying a television program and information about the program |
US6418556B1 (en) | 1993-09-09 | 2002-07-09 | United Video Properties, Inc. | Electronic television program guide schedule system and method |
US5781246A (en) * | 1993-09-09 | 1998-07-14 | Alten; Jerry | Electronic television program guide schedule system and method |
US8793738B2 (en) | 1994-05-04 | 2014-07-29 | Starsight Telecast Incorporated | Television system with downloadable features |
US6396546B1 (en) | 1994-05-20 | 2002-05-28 | United Video Properties, Inc. | Electronic television program guide schedule system and method |
JPH0822370A (en) * | 1994-07-06 | 1996-01-23 | Minolta Co Ltd | Information processor |
US20060084506A1 (en) * | 1994-07-22 | 2006-04-20 | Shuffle Master, Inc. | Multi-player platforms for three card poker and variants thereof |
KR0127229B1 (en) * | 1994-07-30 | 1997-12-29 | 구자홍 | A control method for game apparatus of television |
US20050204384A1 (en) * | 1994-08-31 | 2005-09-15 | Gemstar Development Corporation | Method and apparatus for displaying television programs and related text |
US6769128B1 (en) | 1995-06-07 | 2004-07-27 | United Video Properties, Inc. | Electronic television program guide schedule system and method with data feed access |
US6732369B1 (en) | 1995-10-02 | 2004-05-04 | Starsight Telecast, Inc. | Systems and methods for contextually linking television program information |
US6323911B1 (en) | 1995-10-02 | 2001-11-27 | Starsight Telecast, Inc. | System and method for using television schedule information |
US5850340A (en) * | 1996-04-05 | 1998-12-15 | York; Matthew | Integrated remote controlled computer and television system |
US5940073A (en) | 1996-05-03 | 1999-08-17 | Starsight Telecast Inc. | Method and system for displaying other information in a TV program guide |
US6025829A (en) * | 1996-10-28 | 2000-02-15 | Welch Allyn, Inc. | Image generator for video display |
US6687906B1 (en) | 1996-12-19 | 2004-02-03 | Index Systems, Inc. | EPG with advertising inserts |
US8635649B2 (en) | 1996-12-19 | 2014-01-21 | Gemstar Development Corporation | System and method for modifying advertisement responsive to EPG information |
CN1941863B (en) | 1997-07-21 | 2011-06-29 | 骏升发展(美国)有限公司 | Method for displaying target advertisement to user in electronic program guide system |
US6665869B1 (en) * | 1997-09-05 | 2003-12-16 | United Video Properties, Inc. | Program guide application interface system |
US6604240B2 (en) | 1997-10-06 | 2003-08-05 | United Video Properties, Inc. | Interactive television program guide system with operator showcase |
AU745009B2 (en) | 1997-12-01 | 2002-03-07 | Rovi Guides, Inc. | Electronic program guide system with advertising messages in pop-ups |
JP2939223B2 (en) | 1997-12-12 | 1999-08-25 | 株式会社ナムコ | Image generation device and information storage medium |
US7185355B1 (en) | 1998-03-04 | 2007-02-27 | United Video Properties, Inc. | Program guide system with preference profiles |
US6564379B1 (en) | 1998-04-30 | 2003-05-13 | United Video Properties, Inc. | Program guide system with flip and browse advertisements |
US20020095676A1 (en) | 1998-05-15 | 2002-07-18 | Robert A. Knee | Interactive television program guide system for determining user values for demographic categories |
US6563515B1 (en) * | 1998-05-19 | 2003-05-13 | United Video Properties, Inc. | Program guide system with video window browsing |
US6442755B1 (en) | 1998-07-07 | 2002-08-27 | United Video Properties, Inc. | Electronic program guide using markup language |
AR019458A1 (en) | 1998-07-23 | 2002-02-20 | United Video Properties Inc | AN INTERACTIVE TELEVISION PROGRAMMING GUIDE PROVISION THAT SERVES AS AN ENTRY |
US6898762B2 (en) | 1998-08-21 | 2005-05-24 | United Video Properties, Inc. | Client-server electronic program guide |
JP2000148694A (en) * | 1998-11-06 | 2000-05-30 | Sony Computer Entertainment Inc | Portable electronic equipment for entertainment system |
US6732367B1 (en) * | 1998-11-30 | 2004-05-04 | United Video Properties, Inc. | Interactive television program guide system with title and description blocking |
CN1359591A (en) | 1999-06-28 | 2002-07-17 | 英戴克系统公司 | System and method for utilizing EPG database for modifying advertisements |
AU5775900A (en) | 1999-06-29 | 2001-01-31 | United Video Properties, Inc. | Method and system for a video-on-demand-related interactive display within an interactive television application |
US20050177850A1 (en) | 1999-10-29 | 2005-08-11 | United Video Properties, Inc. | Interactive television system with programming-related links |
JP2001137538A (en) * | 1999-11-17 | 2001-05-22 | Square Co Ltd | Game display method, game display device and recording medium |
JP3795717B2 (en) * | 1999-11-17 | 2006-07-12 | 株式会社スクウェア・エニックス | GAME DISPLAY METHOD, RECORDING MEDIUM, AND GAME DISPLAY DEVICE |
AR027760A1 (en) | 2000-03-31 | 2003-04-09 | United Video Properties Inc | PROVISION AND METHOD FOR ADVERTISING NOTICE LINKED WITH METADATA |
US20020053081A1 (en) * | 2000-10-31 | 2002-05-02 | Digitaldeck, Inc. | Adaptable programming guide for networked devices |
US20020029384A1 (en) | 2000-07-20 | 2002-03-07 | Griggs Theodore L. | Mechanism for distributing content data |
US20060259926A1 (en) * | 2000-07-20 | 2006-11-16 | Digital Deck, Inc. | Adaptable programming guide for networked devices |
WO2003050763A1 (en) * | 2001-12-11 | 2003-06-19 | Superscape Group Plc | Method and apparatus for image construction and animation |
US7255351B2 (en) * | 2002-10-15 | 2007-08-14 | Shuffle Master, Inc. | Interactive simulated blackjack game with side bet apparatus and in method |
US7309065B2 (en) * | 2002-12-04 | 2007-12-18 | Shuffle Master, Inc. | Interactive simulated baccarat side bet apparatus and method |
US20040255327A1 (en) * | 2003-06-12 | 2004-12-16 | Digital Deck, Inc. | Media content distribution system and method |
US20070155462A1 (en) * | 2003-07-22 | 2007-07-05 | O'halloran Terry | Side bets in casino wagering "war" game |
US8281339B1 (en) | 2004-01-12 | 2012-10-02 | United Video Properties, Inc. | Customizable flip and browse overlays in an interactive television system |
US8387089B1 (en) | 2005-05-06 | 2013-02-26 | Rovi Guides, Inc. | Systems and methods for providing a scan |
US8640166B1 (en) | 2005-05-06 | 2014-01-28 | Rovi Guides, Inc. | Systems and methods for content surfing |
US9113107B2 (en) | 2005-11-08 | 2015-08-18 | Rovi Guides, Inc. | Interactive advertising and program promotion in an interactive television system |
JP4604984B2 (en) * | 2005-11-25 | 2011-01-05 | 株式会社デンソー | In-vehicle device control system |
US20070156521A1 (en) | 2005-12-29 | 2007-07-05 | United Video Properties, Inc. | Systems and methods for commerce in media program related merchandise |
US7739280B2 (en) | 2006-03-06 | 2010-06-15 | Veveo, Inc. | Methods and systems for selecting and presenting content based on user preference information extracted from an aggregate preference signature |
US8316394B2 (en) | 2006-03-24 | 2012-11-20 | United Video Properties, Inc. | Interactive media guidance application with intelligent navigation and display features |
WO2007134115A2 (en) * | 2006-05-09 | 2007-11-22 | Disney Enterprises, Inc. | Interactive animation |
JP2009545921A (en) | 2006-07-31 | 2009-12-24 | ユナイテッド ビデオ プロパティーズ, インコーポレイテッド | System and method for providing a media guidance planner |
US8832742B2 (en) | 2006-10-06 | 2014-09-09 | United Video Properties, Inc. | Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications |
US7801888B2 (en) | 2007-03-09 | 2010-09-21 | Microsoft Corporation | Media content search results ranked by popularity |
US8475252B2 (en) * | 2007-05-30 | 2013-07-02 | Shfl Entertainment, Inc. | Multi-player games with individual player decks |
US8407737B1 (en) | 2007-07-11 | 2013-03-26 | Rovi Guides, Inc. | Systems and methods for providing a scan transport bar |
US20110034227A1 (en) * | 2009-08-05 | 2011-02-10 | Wei-Hsuan Wu | Reaction-training game machine |
US9166714B2 (en) | 2009-09-11 | 2015-10-20 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
US8359616B2 (en) | 2009-09-30 | 2013-01-22 | United Video Properties, Inc. | Systems and methods for automatically generating advertisements using a media guidance application |
US9736524B2 (en) | 2011-01-06 | 2017-08-15 | Veveo, Inc. | Methods of and systems for content search based on environment sampling |
US9147198B2 (en) | 2013-01-10 | 2015-09-29 | Rovi Technologies Corporation | Systems and methods for providing an interface for data driven media placement |
US9848276B2 (en) | 2013-03-11 | 2017-12-19 | Rovi Guides, Inc. | Systems and methods for auto-configuring a user equipment device with content consumption material |
WO2015158364A1 (en) * | 2014-04-14 | 2015-10-22 | King.Com Limited | Device, game and automatic control methods therefor |
US11638874B2 (en) * | 2020-01-06 | 2023-05-02 | Square Enix Ltd. | Systems and methods for changing a state of a game object in a video game |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3293614A (en) * | 1963-04-29 | 1966-12-20 | Hazeltine Research Inc | Data converter system |
NL153693C (en) * | 1965-10-19 | |||
US3571807A (en) * | 1968-11-13 | 1971-03-23 | Bell Telephone Labor Inc | Redundancy reduction system with data editing |
US3659284A (en) * | 1969-05-27 | 1972-04-25 | Sanders Associates Inc | Television gaming apparatus |
US3659285A (en) * | 1969-08-21 | 1972-04-25 | Sanders Associates Inc | Television gaming apparatus and method |
US3750133A (en) * | 1971-07-30 | 1973-07-31 | Rca Corp | Home television receiver modified to operate as video terminal |
JPS5134257B2 (en) * | 1971-12-14 | 1976-09-25 | ||
US3839630A (en) * | 1971-12-27 | 1974-10-01 | Hewlett Packard Co | Programmable calculator employing algebraic language |
US3821468A (en) * | 1972-03-22 | 1974-06-28 | Sarkes Tarzian | Digital special effects generator |
JPS5128492B2 (en) * | 1972-04-25 | 1976-08-19 | ||
ZA731414B (en) * | 1972-05-22 | 1973-11-28 | Phillips Petroleum Co | Method for the production of an olefin polymerization catalyst |
JPS4941046A (en) * | 1972-08-26 | 1974-04-17 | ||
US3793483A (en) * | 1972-11-24 | 1974-02-19 | N Bushnell | Video image positioning control system for amusement device |
US3874669A (en) * | 1973-03-26 | 1975-04-01 | Rosalba Ariano | Electronic device for the simulation of an animated game, in particular the game of football |
JPS509314A (en) * | 1973-05-22 | 1975-01-30 | ||
US3921161A (en) * | 1973-05-29 | 1975-11-18 | Sanders Associates Inc | Preprogrammed television gaming system |
JPS547416B2 (en) * | 1973-09-25 | 1979-04-06 | ||
US4026555A (en) * | 1975-03-12 | 1977-05-31 | Alpex Computer Corporation | Television display control apparatus |
JPS5247964A (en) * | 1975-10-09 | 1977-04-16 | Hiroshi Mihara | Electronic grain washing method and apparatus |
JPS5413729A (en) * | 1977-07-04 | 1979-02-01 | Kokusai Electric Co Ltd | Method of transmitting diversity |
-
1975
- 1975-03-12 US US05/557,484 patent/US4026555A/en not_active Expired - Lifetime
-
1976
- 1976-03-10 DE DE2609826A patent/DE2609826C2/en not_active Expired
- 1976-03-10 CA CA247,574A patent/CA1082351A/en not_active Expired
- 1976-03-11 JP JP51026612A patent/JPS51113529A/en active Granted
- 1976-03-11 GB GB9766/76A patent/GB1535999A/en not_active Expired
- 1976-03-11 FR FR7607029A patent/FR2304124A1/en active Granted
Also Published As
Publication number | Publication date |
---|---|
FR2304124A1 (en) | 1976-10-08 |
FR2304124B1 (en) | 1981-02-13 |
JPS51113529A (en) | 1976-10-06 |
GB1535999A (en) | 1978-12-13 |
US4026555A (en) | 1977-05-31 |
DE2609826A1 (en) | 1976-09-23 |
DE2609826C2 (en) | 1986-10-16 |
JPS6330033B2 (en) | 1988-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1082351A (en) | Television display control apparatus | |
CA1236217A (en) | Video game with interactive screen inserts and method of playing video game | |
US4552360A (en) | Video game with control of movement and rate of movement of a plurality of game objects | |
US4766541A (en) | Apparatus for generating interactive video game playfield environments | |
US4155095A (en) | Chroma control for television control apparatus | |
CA1149933A (en) | Interactive video playback system | |
US4890833A (en) | Apparatus for generating enhanced interactive video game playfield environments | |
US4126851A (en) | Programmable television game system | |
US4342454A (en) | Method and apparatus for instant replay and other capabilities for microprocessor-controlled video games | |
US5190285A (en) | Electronic game having intelligent game pieces | |
US4355805A (en) | Manually programmable video gaming system | |
US3778058A (en) | Method of employing a television receiver for active participation | |
US4116444A (en) | Method for generating a plurality of moving objects on a video display screen | |
US6270413B1 (en) | Display method for games displays | |
EP0075963A2 (en) | Method of controlling display and display apparatus | |
GB1580818A (en) | Method and apparatus for generating moving objects on a video display screen | |
US4089524A (en) | Digitally controlled electronic game | |
US4357014A (en) | Interactive game and control therefor | |
US4193598A (en) | Video game system | |
US4471464A (en) | Data processing system with programmable graphics generator | |
CA1197637A (en) | Graphic effects generator | |
US5080377A (en) | Video display system | |
GB1466765A (en) | Gaming machine | |
US4471463A (en) | Data processing system with programmable graphics generator | |
US4521020A (en) | Apparatus for displaying grouped characters in scanning type display |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |