Language selection

Search

Patent 1141861 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 1141861
(21) Application Number: 312078
(54) English Title: AMUSEMENT GAME MICROPROCESSOR CONTROLLER
(54) French Title: MICROPROCESSEUR DE CONTROLE POUR JEU D'ADRESSE
Status: Expired
Bibliographic Data
(52) Canadian Patent Classification (CPC):
  • 354/43
(51) International Patent Classification (IPC):
  • A63F 7/02 (2006.01)
  • A63D 13/00 (2006.01)
  • G07F 17/38 (2006.01)
  • G06F 19/00 (2006.01)
(72) Inventors :
  • SMITH, GORDON H. (United States of America)
(73) Owners :
  • ROCKWELL INTERNATIONAL CORPORATION (United States of America)
(71) Applicants :
(74) Agent: KIRBY EADES GALE BAKER
(74) Associate agent:
(45) Issued: 1983-02-22
(22) Filed Date: 1978-09-26
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
846,247 United States of America 1977-10-28

Abstracts

English Abstract



ABSTRACT
A microcomputer based pinball game controller having three
distinct memory devices for control of game operation. A first memory
device utilizes machine language programming instructions for control
of the game independent of specific game rules thus lending itself to
mass production for a large number of different amusement games. A
second memory device employs a higher level language set of instructions
for controlling the game in accordance with specific rules of the
game. A simple set of higher level language instructions renders this
second memory device conducive to game designer programming and easy
modification of the game rules, a marketing procedure traditionally
used in the design of the electromechanical pin all machine. A third
memory device, employing a matrix of operator adjustable binary switches
easily accessible to the exterior of the game, permits a degree of game
mode control, such as the degree of playing difficulty and the number
of games for a given coin denomination.


Claims

Note: Claims are shown in the official language in which they were submitted.


The embodiments of the invention in which an
exclusive property or privilege is claimed are defined as
follows:
1. A microprocessor amusement game controller
adapted to be programmed to control any of a series of
games employing a moving object in a prescribed type of
game environment common to the series of games, each of
the games having a different set of game play rules for
controlling game play in response to input signals,
comprising:
(a) a central processing unit;
(b) a display responsive to said unit;
(c) first memory means programmed in hardware in
a first word format and connected to said processing unit
for controlling game operation according to said common
type of game environment for all of said series of games,
said first memory means being programmed substantially
independently of the specific rules of play for a given
game;
(d) second memory means programmed in firmware in
a second word format different from the first and
connected to said processing unit and to the first memory
means for controlling game operation dependent upon the
specific rules of play for the given game; and
(e) said unit and the program of said first
memory means interpreting the program of the second memory
means for execution thereof in response to said input
signals during game play.
2. The game controller according to claim 1
wherein said first memory means includes means which are
not responsive to said second word format.



3. A method of controlling a series of
microprocessor controlled games employing at least one
moving object, the series of games having a common,
prescribed type of game environment but different rules of
specific game play, the method of controlling being
responsive to input signals representing the interaction
of the moving object with objects of the game environment
and comprising the steps of:
(a) programming in hardware a first memory in a
first word format for controlling game operation of the
entire series of games according to said common type of
game environment substantially independently of the
specific rules of play of an individual game;
(b) programming in firmware a second memory in a
different word format for controlling game operation
dependent upon the specific rules of play for the given
game; and
(c) interpreting during game play the programming
of the second memory by the programming of the first
memory for execution thereof in response to said input
signals.
4. The method according to claim 3 wherein said
step of programming a first memory includes programming
the first word format in machine language and said step of
programming a second memory includes programming the
different word format in a higher level language which
will not access the machine language.

31

Description

Note: Descriptions are shown in the official language in which they were submitted.






FIELD OF THE INVENTION
This invention relates generally to a microprocessor controlled
pinball game, and more speci.fically to a game rule memory device in com-
bination with a pinball game controller for simplified and low cost game
rule programming.
BACKGROUND OF THE INVENTION
A revolution has been taking place ln a.design of equipment
which until now has been implemented ~ith electromechanical devices.
The logic and control functions previously performed by conventional
relays, time delay relays, stepping relays, timing motors and the like
are now being performed by microcomputer controlled systems. Included
~n this revolution are the fairly complex electromechanical devices known
as pinball games.
~'~




- ~7~J;;?,~-~r



1~4186~



Most of us have played electromechanical controlled pinball
games, but few of us have appreciated the complexity of design that
controls the flashing lights, the score, the sound and the entire
pinball system. This degree of control system complexity is very
suitable to microprocessor applications. In fact, microprocessor
control significantly reduces the amount of material and the cost of
complex pinball games at the same time increasing reliability and
uptime thereby increasing the potential revenue of the arcade owner.
However there is an important problem inherent in the design,
production, and subsequent use by parties havina substantially different
levels of sophistication in electronics-related systems that have
traditionally been purely electromechanical in nature. The current
invention substantially overcomes this problem providing in effect
three different levels of sophistication in the programming of the
parameters of a pinball game. The microprocessor electronics and
associated interface usually manufactured by an electronics/micropro-
cessor-oriented company includes the most sophisticated programming and
design for overall control of the game. Standard memory devices such
as read-only memory and random access memory may, by means of the in-
vention described herein, be programmed for a large number of different
games, each of which has different rules of operation.
The manufacturer of the pinball game per se, although perhaps
less sophisticated in design of electronics having been traditionally
associated with purely electromechanical devices, is still the ultimate
expert on rules of the game to optimize player interest and revenue
derived from the public. Accordingly, the current invention provides
means for rule programming at a substantially higher language level
by the pinball game manufacturer. The extent of the sophistication of
the programming requirements is well below that required for the en
masse programming of the ROM and RAM memory devices provided by the

" li41861
electronics manufacturer, but still provides substantial
leeway in allowing the game manufacturer to select a set
of rules that suits each particular game.
The current invention also provides a set of
discrete operator adjustments which comprise a relatively
low level of programming sophistication, but which still
permit the arcade owner to program certain aspects of the
game which may vary as a function of where the pinball
game is located. For example, these functions include the
price of play, the number of games per coin, and the
degree of difficulty of the game, which depends upon the
sophistication of the player. Clearly, an arcade location
would usually dictate a higher level of difficulty than a
bus terminal location where the average level of player
sophistication is lower.
An important byproduct of the current invention
is a substantial reduction in the cost of overall manu-
facture and maintenance of the pinball game. The
electronics manufacturer need not provide special
electronics for each variation of game rules supplied by
the pinball game manufacturer. As a result, all of the
microprocessor electronics may be identical, irrespective
of the type of game into which it will be installed.
Consequently, the game manufacturer, in addition to paying
less for the electronics, also reduces his cost for
maintenance of the games by needing fewer spare parts for
upkeep because virtually all of the electronics are
identical for all of his games irrespective of variations
in rules and modes of play.
In accordance with one aspect of the invention
there is provided a microprocessor amusement game
controller adapted to be programmed to control any of a

114186~
series of games employing a moving object in a prescribed
type of game environment common to the series of games,
each of the games having a different set of game play
rules for controlling game play in response to input
signals, comprising: (a) a central processing unit; (b) a
display responsive to said unit; (c) first memory means
programmed in hardware in a first word format and
connected to said processing unit for controlling game
operation according to said common type of game
environment for all of said series of games, said first
memory means being programmed substantially independently
of the specific rules of play for a given game; (d) second
memory means programmed in firmware in a second word
format different from the first and connected to said
processing unit and to the first memory means for
controlling game operation dependent upon the specific
rules of play for the given game; and (e) said unit and
the program of said first memory means interpreting the
program of the second memory means for execution thereof
in response to said input signals during game play.
In accordance with another aspect of the
invention there is provided a method of controlling a
series of microprocessor controlled games employing at
least one moving object, the series of games having a
common, prescribed type of game environment but different
rules of specific game play, the method of controlling
being responsive to input signals representing the
interaction of the moving object with objects of the game
environment and comprising the steps of: (a) programming
in hardware a first memory in a first word format for
controlling game operation of the entire series of games



3a

1141861
according to said common type of game environment
substantially independently of the specific rules of play
of an individual game; (b) programming in firmware a
second memory in a different word format for controlling
game operation dependent upon the specific rules of play
for the given game; and (c) interpreting during game play
the programming of the second memory by the programming of
the first memory for execution thereof in response to said
input signals.
The present invention is a microprocessor
controlled pinball game having means for three levels of
control program sophistication including overall game
action control in response to mass produced and commonly
programmed memory storage devices, a higher level language

1141861



game rule memory device which permits relatively simple variations
in the electronics to accommodate each set of game rules, and a
third level of control in the form of binary switch memory accessible
to the ultimate consumer for convenient control of simple mode game
parameters.

BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is an isometric drawing of a typical pinball game.
Figure 2 is a block diagram of the microcomputer based
pinball controller of the invention.
Figure 3 is a diagrammatic illustration of the instruction
formats used in conjunction with the game rule memory device of the
invention.
Figure 4 is an illustration used to explain the logical
equivalencies of a game rule memory device of the invention.
Figure 5 iS an illustration of examples of electromechanical
logic.

DESCRIPTION OF A PREFERRED EM~ODIMENT
Before proceeding to a description of the microcomputer im-
plemented pinball machine, a brief description of the electromechanical
version of the pinball game is provided in conjunction with Figure 1.
Electromechanical pinball games may be divided into three
major subsystems: the vertical display 12, play field 14, and the credit
subsystems. The vertical display 14 shows the player and ball status
and each of the player's scores. The electromechanical design for the
?5 display is essentially the same for all pinball games except for the
art work which ties the system to the scheme of each particular game.
The playing field contains the contact and lights which define
the play of the game and electromechanical assemblies for kicking the
ball to provide action in the game.


~861



The credit subsystem, accepts information from the mechanical
coin mechanism 16a and 16b and displays credits for playing games based
upon the price per play and the coin values accepted. The credit system
also accepts inputs from the play field logic to award credits for
additiona1 games based on achieving specific goals established by the
game designer and settings made by the operator of the game. These game
credits are stored in a reversible stepping relay which decrements the
credit count as credits are spent to play additional games. The credit
information is displayed on the vertical display 14.
The basic electromechanical building blocks consist of a number
of standard elements which are interconnected to provide a proper score
when a play field contact, such as roll over switch 18, closes. The
contact closure also provides signals to solenoid-operated chimes or
bells to latch relays, control lights, and enable circuit paths through
contacts which allow varying scores depending on play field action as
well as on bonus scores for extra games. The entire system is synchro-
nized by means of a multicam contact timing motor so that no race con-
ditions will occur. A race condition occurs when uncertainty in relay
operation time causes unpredictable circuit paths to be established
because different relays may "win the race" to closure in different
situations.
The typical electromechanically controlled pinball game con-
tains about 70 coils, of which 20 to 25 are stepping relays, 35 are logic
related, and 10 to 15 are used for mechanical lockouts, ball movement
or chime solenoids. In one embodiment of a microcomputer controlled
pinball game, all of the above-mentioned coils, except those used for
chime solenoids, are replaced by the microcomputer.
The typical electromechanical pinball game is developed and
produced over an extended period of time. The game des,gner usually


~861



spends several months defining the location of the play field contacts-,
any special play field action items, such as solenoid operated bumpers,
the scoring for each contact, and any optional scoring sequences under
which the bonus system operated. The game designer strives to develop
a game which is interesting, having a considerable amount of action,
plays for an acceptable period of time, and which has the capability of
awarding the typical player approximately 30 to 35 percent free games.
These parameters have been empirically established over the approximately
40 year histor~ of pinball games to insure game interest and coin revenue
to the machine owners.
Once the game is shipped, the microcomputer-based game must still
have a level of programmability by the game/owner operator to achieve the
desired play time, player acceptability, free game characteristics and
adjustable price as the electromechanical version. The m~crocomputer
based pinball game must give the game designer the same level of
design creativity available to him in the traditional electromechanical
version. The game designer must still be able to implement variations in
the scoring, in the contact logic, and in the general play of the game.
Furthermore, changes in these parameters by the game designer must be
possible as a result of the method by which pinball games are usually
marketed.
Approximately two months before a pinball game is scheduled
to go into production, 200 to 300 units are typically put into the field
in a test marketing situation. The machines are placed with knowledgable
distributors who ~aintain detailed records relating to the action of players,
the income gathered from the coin collection box, and other pertinent
information relating to the general acceptance of the pinball game. This
information is fed to the manufacturer so that the game designer can make
minor modifications to the game before putting it into production. 8y
means of the current invention, a microcomputer version of the pinball game

~86~




permits fast design development, because of the ease of making the changes
of the game rule parameters simply by programming a read-only memory device.
As a result, unlike the electromechanical versions, in the computer-based
games changes in the play of the game can be implemented even as the machine
is being readied for shipment.
Referring now to Figure 2, there is shown therein a simplified
block diagram of a game controller of the current invention for use in
a microcomputer based pinball game. The controller includes a central
processing unit 20, a general purpose keyboard display circuit 22, two
memory/input-output devices 24 and 26, and one general purpose input-output
device 28. These devices provide all of the control capabilities, a total
of 4,000 eight bit words of program memory, 1,000 bits of data memory,
and 85 input-output lines. The total system is capable of displaying
up to 32 decimal digits for scoring purposes and the l~ke and can switch
up to 68 discrete power devices such as lamps and coils.
The general purpose keyboard display circuit device 22 provides
internal memory for the 32 binary coded decimal digits, and outputs the
information in se~uential pairs along with digital identification lines.
Sequential binary coded decimal codes are supplied to a pair of binary
coded decimal-to-7 segment decoded driver units 30 and 32. This config-
uration of the controller allows CPU 20 to load the internal memory once
and then the general purpose keyboard display circuit 22 provides con-
tinuous refresh of the display information until it is commanded to change.
The display system and the associated digital displays replace the scoring
drums of the electromechanical systems. The scoring drums are basically
stepping relays typically with several sets of contacts, with a drum
around the outer periphery which rotates and shows a different digit for
each position of the stepping relay.
The central processor 20 employs a TY crystal base clock oscil-
lator (not shown) and 12 input-output lines. The input-output lines are

1~41861



used to address the game rule memory device 34. RAM/ROM devices 24
and 26 each have 2,048 eight bits of read-only memory which contains
the main controller program. They each also have 128 four-bit words
of random access memory for the player scores, status bit memory,
play field contact memory and other alterable memory. These devices
also have 16 input-output lines each.
The general purpose input-output circuit 22 has a total of
24 input-output lines. The general purpose keyboard display circuit
is used to buffer, refresh and control the 32 decimal digits of display.
The digit strobe signals are multiplexed in two banks of eight digits.
The CMOS random access memory 36 is a device which keeps data available
even when power is lost or turned off, and is powered by a battery
system 38 to keep the memory active. The operator adjustable matrix 4G
is an array of diodes which may be independently switched in or out
of the circuit so that operator selection of preprogrammed game options
may be made. Operator adjustable matrix 40 shares strobe lines with
8 of the 5 amp coil drivers. These coil drivers may be shared because
the matrix infonmation may be read in a few microseconds which is too
short for the solenoids or relay armatures to react. The 8x8 contact
matrix 42 is scanned by signals from one of the RAM/ROM devices and
return signals are read into the general internal memory to prevent
bouncing error and appropriate action ts initialized. 8ecause up to
16 coit drives and up to 52 lamp drives are required in a pinball game,
the output signals from the 15 four bit latches 44 go to two types of
drivers: 5 amps and 250 milliamps respectively.
The play field system, which is visible to the eye of the player,
is virtually unchanged Mn the microcomputer version of the pinball game.
~he mechanical devices which propel the ball are still necessary for
exciting field action. Scoring contacts are closed to provide signals
to the microcomputer rather than to operate conventional relays and stepping

~1



relays found in the electromechanical games. Indicator lights showing
the play field scoring status are implemented in the microcomputer game
by drivers which receive a control signal from conventional TTL latches.
The microccmputer selects the information to be sent to the latch and
outputs it while at the same time identifying which latch is to receive
the information. The contact closure information is obtained in the
microcomputer system by providing a sequence of scanning signals which
selects sequential groups of contacts. The microcomputer inputs the
information from each group and performs the debounce function.
Because of implementation with a microcomputer, the pinball
game can be provided with a capability which is not achievable in the
electromechanical version. The microcomputer can be put into a special
mode when the coin collector comes to collect the coins. This mode
tests the overall operation and identifies by means of the display system,
the contact identification information for every contact which is stuck.
During this test mode the microcomputer can also output various display
patterns to check the display system. It can also drive the lights to
check operation of all the light bulbs and can individually drive all
the solenoids of the play field and coin system to check their operation.
In addition, the microcomputer can provide various bookkeeping and status
information to the coin collector not possible with the electromechanical
system. In the microcomputer system the bookkeeping information is
- stored in low power dissipation CMOS memory 36 which maintains its infor-
mation even when system power is off, by means of small battery system 38.
The central processing unit 20 of Figure 2, may by way of example
be a Rockwell model PPS 4/2 CP~ which is described in more detail in data
sheet Document No. 29000D02 published by Rockwell International Corporation
in 1975 and Revised March 1976.
The ROMfRAM devices 24 and 26 of Figure 2 may by way of example
be a Rockwell Model A17XX described in more detail in data sheet Document


~861



No. 29000~28 published by Rockwell International Corporation in 1975
and Revised in October 1976.
The GP10 (General Purpose Input/Output Device) 28 of Figure 2
may by way of example be a Rockwell Model GP10 chip described in more
S detail in data sheet Gocument No. 29000D06 published by Rockwe11 ~nter-
national in 1975.
~ The GPKD (Gefieral Purpose Keyboard and Display Circuit) 22 of
Figure 2 may by way of example be a Rockwell GPK~ circuit chip described
in more detail in data sheet 20cument r~o. 10788N40 published by Rockwell
;0 International in 1975.
The PROM utilized for storing the higher level language program
may by way of example be a programmable read only memory Model 6351
manufactured by Monolythic Memories Incorporated.
The requirement for stepping relays for bonus advancing or for
timing motors to eliminate race conditions is eliminated from the micro-
comp~ter system. The position of a stepping relay can be implemented in
the microcomputer by storing a number in memory representing the stepper
pos1tion. The microcomputer can use this number as part of a program
logic sequence to implement the desired function for that position. The
microcomputer can provide sequence information much more readily and
because of the sequential operation of the microcomputer, the timing motor
is not required since race conditions are impossible.
The software approach used in the implementation of the micro-
computer pinball game of the current invention is actually implemented
in three levels: the first programming level includes those basic control
functions that every pinball game controller is expected to perform. These
are the necessary power on, sequencing and control, display operation,
player and ball counting operations, play field input computations, general
play field control operations for functions such as "tilt" and functions
which occur when the ball leaves the playing field, and similar operations


~A~l



which do not change from game to game. This program is generated by
the controller designer to allow the system to be a general pinball
game controller, and is the program stored in the microcomputer fixed
read-only memory contained in the RAM/ROM devices 24 and 26.
The next level of programming is generated by the game de-
signer and is accomplished in an interpretati~e program format. This
means that the game controller program in the R~l/ROM devices interprets
programs written in a higher level language oriented toward pinball
game rules. Using this higher leve1 language, the game designer selects
the operation response to each contact in easy to use sentence descriptions
of the rules of the game. The instructions used in this higher level
pinball-game oriented language (PG~L) are indicated in Table I and the
instruction format for two types of instructions are presented in Figure 3.
As indicated in Figure 3 there are basically two types of in-
struction format. Format A is used for copying or setting the logic state
on certain lights, flags, or solenoids as the game proceeds. Instruction
format B is used to control the score of the game. As indicated in Figure 3,
each instruction format includes an OP code comprising four bits. This OP
code identifies the instruction generated. The Format A instruction also
includes a true-false bit which indicates whether the flag, light, or
solenoid, the state of which is being copied or set, should be copied or
set in its current state or in an inverted state. A light-flag bit indi-
cates whether the instruction will have an effect on a light or on a flag
or solenoid. The right-most eight bits of the Format A instruction include
a light or flag address word of six bits and a light or flag subaddress
comprising two bits. In combination these eight bits designate the specific
light, flag or solenoid the instruction operates on.
The Format B instruction, which is specifically oriented to effect-
ing scoring changes, includes an add-subtract bit which indicates whether
an addition or subtraction should be made to a score. It also includes a


il4186i



TABLE I


PGOL INSTRUCTION SET
MNEIIONIC OP CODE ADDRESS FUNCTION
*COPY O TLBB CCCC COPY LAMP1FLAG STATE TO CONTROL BIT
*SCORE 1 ANNN YYVV ADD/SUBTRACT TOIFROtl SCORE
*SET 2 TLBB CCCC SET/RESET LAMP/FLAG/SOL
*CGOTO 3 QQQQ RRRR CONDITIONAL GO ro LOCATIONlQQQQ RRRR
RFLG 4 ~ ROTATE fLAGS (11-20) IEFT ONE POSITI~N
*RBUP 5 - - BONUS UP
*RBDN 6 - - BONUS DO~N
*REQL 7 MMtlM - IF REG ~ MMMM, CONTROL 8It - O
*DECR 8 - - DECREMENT INDEX REGISTER
*INCR 9 - - INCREMENT INDEX REGISTER
OR A TLBB CCCC OR LAMP/FLAG STATE UITN CONTROL 8IT
FLAG B - - SET CONTROL BIT = 1
SlOP C - - RETURN TO MAIN PRQGRN1
TOGL D - - TOGGLE CONTROL BIT
GOTO E QQQQ RRRR GO TO LOCATION QQQQ RRRR
DELAY F , - - lSO MILLISECONDS DELAY

*ONLY EXECUTED IF TI~E CONTROL BIT = 1


~41861


column number comprising three bits which indicate which column of the
score display is being affected by the current instruction. Finally,
the instruction contains four bits indicating the number of operations
to effect the score change. For examplel if 5,000 is to be added to
the score, the add bit would be TRUE, the column number would corres-
pond to five, so that one would be added five times to the thousands
co~umn of the score.
When a contact on the play field closes in response to the
play of the game, the controller program stored in the RAM/ROM devices
causes the instructions in a particular section of the higher level
language memory to be executed. The sequence of instructions starting
at a particular program location corresponding to the contact closure,
indicates exactly what the game is to do when the contact closes. For
example, one contact may simply cause the system to score lOO points
for the player who is operating the game. In this case, the higher level
language program consists of two instructions: l) score lOO points and
2) stop. The stop code indicates the complet~on of the operation re-
lated to this part1cular contact closure. If another contact is closed,
the controller may cause the instruction sequence for that contact to
be executed; for example, the contact instructions may be as follows:
when contact l closes, if contact 3 and contact 11 have been closed,
score 1,000, otherwise score lO~ and stop. This requires six higher
level language instructions to implement. In both of these examples, the
controller program interprets what the game designer defined by the higher
level lan~uage instructions and executes a sequence of machine language
instructions to accomplish each instruction and to continue to the next
one.
The philosophy of operation of the higher level language program
is that a controlled flag bit in a microcomputer memory is initially set
to a ONE state. A higher level language instruction inspects the state

1141861



of that bit and performs the operation specified if the bit continues
to be in the ONE state. Many of the logic type higher level language
instructions control the state of the bit to cause blocks of logic to
be ignored or executed as the situation démands. The unconditional
instructions control the flow of the logic and always execute regardless
of the state of the control bit or flag bit. The higher level language
is a general logic language with some special instructions which relate
to pinball operations. Special pinball instructions are the "score"
instructions, the "increment-decrement bonus" instructions, the "incre-
ment-decrement" register instruction and the "register equal" instructions.
From the instructions listed in Table I, it can be seen that the
full capability for sequential logic is provided by AND functions and OR
functions with TRUE or FALSE states. Figure 4 illustrates the equivalent
high level language statement for the four basic logic operations. These
four basic logic operations are shown in relay circu~t, logic gate symbols,
and higher level language statement forms. In the logic gate illustrations,
the input lines on the left are active when the line is shaded. If the
gate passes a signal, the output {s shaded. The shaded inputs are then
equivalent to the relay being activated in the relay logic, or to the
bit memory being in the 0~ state in the higher level language equivalent.
The h~gher level language program provides a capability for
counting events and making decisions based upon the actual value of the
count. Also provided is the capability for inserting time delays and for
setting, resetting, and testing individual status bits in a bit memory
in the microprocessor system to store the status of contact closures,
light bulb drives, coil drives and logic information.
Using the higher level language program, the game designer can
easily and quickly configure the logical options for a particular game
and modify them as he develops information abou~ the general play of the
game and its leue1 of difficulty. In one embodiment of the invention~

114~861



this higher level language program is implemented in programmable read-
only memory PROM, even in the production system, so that the game
modifications which must be made from feedback from the field operations
can be implemented right up to the last moment in the production line.
A general example for implementing a block of mechanical logic
with the higher level language programming of the current invention is
illustrated in Figure 5. The higher level language program statements
corresponding to the electromechanical logic of Figure 5 would be as
indicated below:
If register equals 5, set bit D, always.
If register equals 4, set bit E, always.
If register equals 3, and if bit C is on, set bit F, always.
If register equals 2, and if bit A is off, and if bit B is
on, and if bit C is off, set bit G always.
Or if register equals 2,and if bit A is on, and bit 8 is
off, and bit C is off, set bit G always.
If register equals 1, and if bit A is off and if bit B
is on and if bit C is on, set bit H always.
If register equals O, and if bit A is on, set bit K.
2Q STOP
Table II iS a program listing of a programmable read only memory
unit used in a preferred embodiment of the invention to store the higher
level language used for game rule control. The column on the left is the
input address to the PROM, expressed in hexadecimal format. The next
four columns, labeled Wl, W2, W3 and W4 respecti~ely, are the hexadecimal
representations of the output of the PROM generated in response to the
input address. The next column to the right is an instruction number used
for reference in the listing. The next column to the right is a label
used to identify each step in the listing for GoTo operations. The next
column to the right is the name of the OP code for each instruction in



u~
o

a z
Z O Z
P~ u~ o~



Z u~ 3 u~ Z Z ~ ~ ~S O ~ ~ a O O
~ o ~ ~ ~ ~ = ~ ~ , ~ ~ ~ ~ Q Q ~ ~
Z ~S; D ~ E~ ~ ~ ~ ~ ~ m
O O ~ ~
E~ ou~oo~mo~m u~ O
H O a~ 4 Ec. ~ D
O c~ ~ a U ~ U ~ z O ~ P~ m ~ o ~ o E~ ~ ~ a ~ ~


EO-~ EO-~ EO-~ EO-~ EO-~ ~ EO-~ ~ O O EO~ EO-~ ~ EO-~ EO~ EO~ E
O O H O O O O O H O O C) E-/ 0 0 1-1 0 0 0 0 0

H

0 1~l H C~ O Do~ ~m; E~ a~ ~ p Ea s
* * * * * * ~ * * ~ ~ * ~ ; uU~ ~ m ~ ~: 3



g ~nm~;o~o~ u~ ~O_
3 ~ uu~r ~wuaU oo~m~

_I ~
3 ~ ~ ~4 W W W W W ~ W W ~ CJ W W ~ W W W W W
~; o~o~c~oo~o~~mUo~o~c~oo
~::a ooc7~r~
~m a ,
~: ooooooooooooOooOOOOOO



--16-

i~41861
m




~ ~ P~
o o o ~

C!~ ~ D
H H ~ ~
~ m
a




D

H Z
~ o o
o ~ a ~ o ,~ o ~ o ,~

~ ~ o o o o ~ ~ ~; o o ~ o~ o ~ ~ ~ o
,~ ~ ~ O O O O O O ~ ~ ~3 Z O ~ O ~ li3 ~ Z O O O ~ ~ Z O ~ 0 ~3
O ~0
~ 1~ ~
E~ ~
3 H a D
~ i~ m
m ~
m ~ a c o o O
u~ tn* * ~ * * * g * * * ~Y ~ * * m



2 ~ ~ o
3 r~ r~ ~ o ~ ~ 9 ~ a a~ co ~ ~ a ~ :o ~ a cO c~
1--~
_~ a ~ ~ ~ ~ ~ ~ a
o ~ ~ ~ ~ ~ o ~ ~ ~ ~ ~ o ~ ~ ~ ~ o
o




o~r m c) o ~ ~ o~ o a ~ ~ r~ ~: a ~ O ~ -D
~: a t~ m m m m m o o o
~ 00000 000ooo oooooo ooooo ooo



--17--

,


~1~861




u~

O E~

:~ ~ EO4
o ~
o u~ ~
~ ~ -

H ~4 Z
E~
Z U~
z ~ ~ ~ o E~ ~ ~ '--


; O O ~ ~Y ~ ~ ~ ~ ~ ~ ~ 0~ ~ O ~ ~ O ~
m ~ ZO ~ oEd~r~z OOoOO~oc~o P; o~O oo
, ~ O U~ H C~ O ~ H ~ C~ ~ U ~ ~ a c~
,, g
z o
H
O li~ S~
O ~ ~ ~ g

o ~ E~ E~
tr: O a a
* * * ~ * * * ~; * * * ~ * * 3

Z o _I ~ ~ ~ n ~ ~
V~ ~r~U~Dt`COa~o~C~l~erm~o~ Oooooooo


3 ~i1 ~1 0
3 ~ a co c~ r- ~ ~ ~ ~ ~ ~ O o ~ a
~D
r-
3 ~ ~ ~ ~r u~ a a ~ ~ ~ a a~ m o m ~ u~ a ~ r-
~3 ~o~ 0~ ooooo~mo_,m~3 o~ o

o
a o ~ ~ 1~ ~ m ~ ~ u ~ o
a o o o a a a a a a ~ c~ o o o o
~:4~ ooo ooooo ooooooooooooo ooo O



--18--


i~141861




H
E~
~: V
C~
~S
E~
a E~
Z Z
V
z a ~ ~ ~
_I o o ~ ~ ~ ~r ~ o ~ D ~ O O
~( ~ ~ ~ ~ ~ E~ ~ ~ ~ ~ ~ ~ ~ ~ O O O

V ~
O ~ O E~ ~ ~ 01 0 ~ ~ O
O ~ ~ o 8 ~ c~ ~~ c) c) ~
a ~ ~ o o
m ~ a c~
a a a
~ **~ ~*~ *~ **~ ***



3 0 o o
3 ~ r~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ o o
~o
1~ ~
~ 3 E~o ~ ~ er U ~ ~ ~1 W 14 U ~ W ~
~1
~w o~ oooooc~ m~_~m
~ o ~ ~ ~ C~ o ~ ~ ~ U ~ m
m a ~ ~
C4 `~C O O O O O O O O O O O O O O O O O




--19--


~86i




a
w
z
~ z
E-~ ~ o o o
~-- ~ O O E~ ~~r o o ~1 oo~ ~ ~ O O
O ~ o o o ~ o ~ ~ o ~ o
o~ "s~ ;

P~~ ~ ~ D
,~ ~ a o .~s: ol o ~: ol o ~ E~ z D E~ O ~ l~l ~4 0 ~ ~ Z E~ O ~ ~
~ 1 0 D Z ~ O O O )-I O O t~ ~ ~ O ~:1 0 0 o 1-~ 0
E~ , C~ ~
u~ z o
z ~ ~
m P~ w
~ u~
m z
~: o
m ~ ~ ~




a w ~ ~ ~J a ~ a ~
~3 mt~ ~m~m~ oo_l~oC~m~ ~00-~0
o
m a o ~ ~ u ~ ~ ~ u ~ m ~
~: oooOoOoOooo OOooooooooo ooOoOO



--20--


1~1861




,, a ~ r ~r
5Z ` ' '
o o o o
O CO 1`~ O O ~ O t~ I O O ~ O ~ O
o ~ ~1 ~ 1 0 t~ t~l O ~1 ~ ~O N ~ O ~ --1 U ~


, ~ ~ O ~ ~ E~ O ~ ~ ~ O ~ ~ E~ ~ O ~ ~ P- O ~ ~
C~P~ O C,) ~1 ~ 0 0 ~ ~ O O ~,) H 1 1 ~3 Z 1~ 0 0 ~ I 0 0 0 H ~ 0 0
E~ m
E~ m
c~

a~
* * ~ * * *

Z O _~ ~ ~ ~ In ~ r` a:~ ~ O _I ~`J ~ G Ul ~ r~ O`\ O _I t~ ~ ~ ~ ~ ~` CO Cl~ O _I ~1 ~ ~r 11
a~ c~ co ~ co o~ co c~ ~0 C~ c~ ~ c~ ~ a~ ~ ~ ~ ~ o o o o o o o o o o



~D
1--
~3 a ~ a ~ a ~ a ~
o




~ _I
~3 o~m~~oo~oo_1~m~ ~oo~oo~mc~ oo
o
m ~ ~ ~ ~ ~ o w ~ ~ u- ~ m ~ o ~ ~ o~ m
a ~ a~m m m m m m m ~ a a a c~ a a a
~ ooo~oc:oooooooooo ooooooooooo ooo




-21~


1~4i~36~



~1
Il U~
u~ 3
~ Z
Z O
m m
E~ ~
m
Il ~Q D
E~ 3 0
a a
~4 o o
~: ~ ~o ly o
E~ ~ ~t`- O U~ O
~ H

z ~ ~alo:~o
W H U U
â
z a
Z ` ` U~
H ~ o o ` O O O
z P~OO --1 0 11 D O O O N E~ ~--1 N OD O
~ ~10N N O ~ N O O N N ~:1 N N ~ O O N


,~ O ~ ~ ~ O ~ ~: ~ O ~: ~ O ~ O O . E~ ~ O ~ O ~
m ~ c~ H O O C ) H ~ ~ E-l ~S O C.) O O E-l W W W O ~ 0 U O CJ 1-l 0 W O
m ~:
Z ~ C~
W W H

~ DO


)--I N N N N N N N N N N ~ ~ ~`1 ~ C~l N ~I N ~ N ~ `1 N ~ C'`l C~

3 CO
g u~ u~ ~ u~ ~r r u~ ~ ~ ~ a
~D
r
~g ~a ~ ~ m ~ ~ ~ a ~
o
o o ~ ~ o _1 a ~ ~ ~ o ~ ~ m o
o
aD~O~ o~ ~mw ~u~comw~N~ a~
~: aw W i:~ W ~ W ~ ~ W W o o o o o o O ~ N N N ~`1
m aN N N N ~ ~ N N ~
D~ ~'SO O O O O O O O O O O O O O O O O O O O O O O O O O O



--22--

114~86~



U~
o




P.
~ o
W ~; D;
o
o ~ :~ o
~ ~ ~ o
o ~ o
a; ~o; , ~ O ~
3 w ~; z o
E~ a
W 1 ~ ~ ~; O
3 0:; m c~ ~;
E~ P ~ E~
m o o O o o ~
~ ~ ~ ~ ~ O
w
~ a
Z z 3
z ~ ~ o ~ a~_l m o
~ ~ ~-- ~ cr ~ ~ _I o ~ ( o ~ I o ~ 1 0 ~ ~ _I O X O
~ O P P P E~ P E~ P 3 P P E~ m E~ E~ ~ C~ ~ ~0 ~
H




H :C 1
O ~ ~ ~ O ~ ~ ~ O C~ ~ ~ O ~ ~ ~ O ~ ~ ~ P~ Z
h ~ O H o a
00~0~000~0~00~0~00~0~00~0~ um
,~ o u~ uo~uuo~uuo~uuoc~Uuo~v~

E~

m
~ ~ pO~



3 ~I N O ~--1
3 a~ ~ c~ ~ m er ~ ~ t) ~ o~ ~r a ~ _1
m ~m ~ ~~ ~ ~ ~ m ~ ~ ~ m ~ o m
_I ~
~3 ~m~oo~:~moo~moo~moo~ oo~:~m~
~P
o




P~ oooooooooooooooooooooooooooooOo oo


--23--





,~ m ~s ~
U ~
~: m
w ~ ~ ~ m m
H O ~1 ~ "S O a l ~; H O H ~ O
u 1l ~ a ~ u 1l a
W U u~ X W ~9 W E~o E~ m
~4 1~ H ~ X ~ H W P~ X ~r X
~ au w~a cn~ u w~ w ~
a




H Z ~ U~ Ul
æ ~ O 0 ~ O ~
W ~ E~ E~ W E~

~; ~ ~ ~ a~ E~ a~ ~ v
~ O t~ O ~ O P~ O a~ a~
m ~ ~ o c~ u O ~ ~ ~ ~ O ~ ~ ~ E~ a~ U o ~ ~ ~ ~ o ~,3 ~13 ~ E~ O O

E~ EW~
E~ ~ ~ Z
X W H U
W




m ~ ~ m
~ * E~ Ea~ &

Z ~ C~O_IN~Lr~ OQC~Or-lt~D1--CC~O~1~ Ir~ 0~ Or-lt~
U~ ~O~OOOOOOOOOO~_l_I~


~ a~

l_

3 ~ ~ o ~ ~ ~ ~q o r~ ~ O ~ ~ ~ ca O ~ c~ C`l t~ o
o
a~ ~ ~c~u~U~ ~ ~ O
m m m m m m ~
~: o ooooooooooo ooooooooooo o


--24--

~4~86~
U~
E~
H

m

x
~3
a




Z t`.


o Z C~
O ~n z 11 ~c~ ~
O ~ ~ E~ ~ ~ O u~
-' ~ p; ,,3: ~ m ~, O O ,~,
a o ~ ~ a o
O ~ O E~ H E~
V E~ ~ X U~ --X U~ 1':1 ~ ~) ~ U~ ~ ~ ~ ~7
a
a
Z ` ~ ~;
o
z ~ O O '
O ~ o o o ~ ~ ~ 1~ u~ ~1 N ~ L~ 1 N t~
a
a
o~oO OE~O~ ~oooooo~E~~

o o
D~ ~
o o
~r;

E~
m ~ a
,C~ o o
~ * ~




3 ~ ~ ~ o~ ooo~ ooo~ o
~` ~
~ ~ m ~ ~ m~ m~u ~
~ _I
~3 ~a~ ~V oooooo~mooooo~moooooo~m~
~ m~m~m~ao~
~ u ~ua aaaaa~ OoOo
ma ~ ~
Qoooooooooooooo


- 25 -


~14~86~




E~
Il 11 H
Z Z ~ cn ~
m ~ l~ m
m ~ ~ O. ec m
E~ m E~ m E~ a
U~ D cn m 3 H
~: O ~ 0 3 ~ ~ X
a ~ a F~ o E3
a li3
~ C~ H
Z r
H
z ~ o ,~ ~ ~ r u o ~ ~ L,~ a~ 0 ,1 ~ ~

H O
H H
m ~ ~ W ~ ~ ~ 0 0 ~ 0 0 0 ~ 3 o ~ o ~ o

H
E~
H

H




3 1- ~O OC~ 0 ~ O t` C~l a a a ~ ~ U~ ~ 0 0 ~ _1
I~ ~
~3 c~ a ~ ~ v ~ a m a~ a ~ s ~ a a~
~3 0~ t~oo~<~lmooo~C, ~:~U

m E~ C a O ~ ~ C,1~ c~ u oo a~
~: ~o~oooooooooooooooooooooo OOOOO


--26--

~4~




,~.
t~. t~.
m ~- r.
--I O ~ o o
~: 11 1' 1' 1' 1' 1' 1' 1' 1'
O ~ O ~ ~ r~
a




Z Z

O ~ O ~ O ~ O ~ O ~ O ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
H
H




E~3 p~ ~ ~ ~t C~ ~ ~ ~ C~ ~ C~ ~ ~ ~ P~ P~ ~ P- P
O~E~O~E~ OE~E~OE~OE~OE~O
O E~ O O E~ O O ~ O O ~ O O ~ O O ~ O ~ ~ O ~ E~
E~


m
o o o o o o

~ o o o o o o o o o o ~ 1 ~1 ~1 N N N N N N N C~l N N


3 o ~ N ~ O ~r Ic


3 ~3 ~ o ~ ~ o ~ a~ o ~ m o c~ m o P3 ~2 o N ~ O N ~ N N ~ N N t~ N ~ N C,)
o




~: ooooooooooooooooooooooooooooooooo o


-26a-

~, :

~41~6~



the l;sting. The next column to the right is a name given to the
OPERAND of the instruction indicating what the instruction will act
on. The final column to the right is a brief explanation of the
instruction in the listing.
By way of an example in using the program listing of Table II,
instruction number 50 is labeled White Rollover. This label corresponds
to a series of higher level language instructions which occurs in re-
sponse to a contact closure when a Rollover switch, such as switch 18
of Figure 1, is activated by the pinball. As indicated at instruction
number 52, the input address to the higher level language PROM is OlAl
in hexadecimal form and the output is 008 in hexadecimal form. The
label given to this instruction and to the five instructions that follow
and that together comprise this subroutine designated White Rollover is
WROl. The first step is a copy instruction which calls for copying
t5 TRUE light 29. The next step, with input address OlA4, output 258, is
a set instruction to set FALSE light 29. After two more set instructions,
the subroutine calls for an increment of an index register in the PROM
by means of input address OlAD and output 9. The final instruction in
this subroutine White Rollover, is d GoTo instruction where the address
of the destination of the GoTo instruction is ROY which as shown as in-
struction number 86 is the name of another subroutine clled Rollover.

An example of a Score instruction is shown at instruction number
26 of Table II. The input address of the PROM is 0148, and the output
is lA5 which as indicated by the OPCOOE and OPERAND, is an instruction
which causes an increase ~n the score by 5,000 which is accomplished by
adding to the l,OOOth column a total of five times.

86~



SUMMARY

It will now be understood that what is described herein is
a microcomputer based pinball machine controller having a means for
three different levels of programming and control. The first level
is a machine language program that may be provided in mass production
quantities by the controller designer and is capable of accomodating
all of the anticipated variations for which the controller may be used
irrespective of the particular rules of a pinball game. The second
level is a higher level language interpretive routine having a high
level language flexible instruction set permitting pinball game designers
to utilize their creativity in the design of the rules of the game with-
out requiring large amounts of programming time ordinarily needed to
establish the rules of a particular game. The third level, the least
sQphisticated in tenms of an actual knowledge of the detailed electronics
of the controller, permits operator control by means of binary switches
of general game mode operations, such as the difficulty of play and the
number of plays for each coin.
Although a specific embodiment has been d~scribed it will be
understood that the invention is not limited to the particular implemen-
tation utilized and that the invention could be implemented in other
forms of logic includin~ other types of hardware and software to accom-
plish the operations described herein. However, all such alternative
embodiments are contemplated within the scope of the invention.
The invention has been described in more than sufficient detail
to enable one skilled in the art to make and use the invention. For
purposes of brevity and to avoid inadvertent obfuscation of the important
elements of the invention, certain trivial aspects have not been des-
cribed in specific detail. By way of example, specific time relationships
of clock signals have not been specifically delineated. However, these





aspects of the invention will now be readily apparent to those having skill
in the applicable art and having the teaching of the applicants before
them.
The invention described herein may be employed in many ways
different from that specifically set forth and many variations may be
made therein within the scope of the appended claims.
I clai~:

Representative Drawing

Sorry, the representative drawing for patent document number 1141861 was not found.

Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 1983-02-22
(22) Filed 1978-09-26
(45) Issued 1983-02-22
Expired 2000-02-22

Abandonment History

There is no abandonment history.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $0.00 1978-09-26
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
ROCKWELL INTERNATIONAL CORPORATION
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Drawings 1994-01-04 3 59
Claims 1994-01-04 2 68
Abstract 1994-01-04 1 20
Cover Page 1994-01-04 1 11
Description 1994-01-04 32 1,024