CA1141861A - Amusement game microprocessor controller - Google Patents

Amusement game microprocessor controller

Info

Publication number
CA1141861A
CA1141861A CA000312078A CA312078A CA1141861A CA 1141861 A CA1141861 A CA 1141861A CA 000312078 A CA000312078 A CA 000312078A CA 312078 A CA312078 A CA 312078A CA 1141861 A CA1141861 A CA 1141861A
Authority
CA
Canada
Prior art keywords
game
memory
games
programming
play
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
Application number
CA000312078A
Other languages
French (fr)
Inventor
Gordon H. Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boeing North American Inc
Original Assignee
Rockwell International Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Rockwell International Corp filed Critical Rockwell International Corp
Application granted granted Critical
Publication of CA1141861A publication Critical patent/CA1141861A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3286Type of games
    • G07F17/3297Fairground games, e.g. Tivoli, coin pusher machines, cranes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F7/00Indoor games using small moving playing bodies, e.g. balls, discs or blocks
    • A63F7/02Indoor games using small moving playing bodies, e.g. balls, discs or blocks using falling playing bodies or playing bodies running on an inclined surface, e.g. pinball games
    • A63F7/025Pinball games, e.g. flipper games
    • A63F7/027Pinball games, e.g. flipper games electric

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Pinball Game Machines (AREA)

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.

Description

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 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 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

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 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.

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

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 , ~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

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

~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

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

~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~

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

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 ,~ 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 ~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 ~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

~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~:

Claims (4)

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.
CA000312078A 1977-10-28 1978-09-26 Amusement game microprocessor controller Expired CA1141861A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US84624777A 1977-10-28 1977-10-28
US846,247 1977-10-28

Publications (1)

Publication Number Publication Date
CA1141861A true CA1141861A (en) 1983-02-22

Family

ID=25297358

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000312078A Expired CA1141861A (en) 1977-10-28 1978-09-26 Amusement game microprocessor controller

Country Status (5)

Country Link
JP (1) JPS5474143A (en)
CA (1) CA1141861A (en)
DE (1) DE2846996A1 (en)
ES (1) ES474548A1 (en)
FR (1) FR2407527A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763256A (en) * 1986-09-19 1988-08-09 Williams Electronics Games, Inc. System to detect and bypass inoperative game features in an amusement device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55120885A (en) * 1979-03-12 1980-09-17 Universal Kk Score display system in flipper game machine with television
JPS5663613A (en) * 1979-10-29 1981-05-30 Mitsubishi Electric Corp Operation check circuit of magnetic flux control unit
DE3834169A1 (en) * 1988-10-07 1990-04-12 Paul Gauselmann Coin-operated gaming machine
US5112051A (en) * 1989-06-05 1992-05-12 Westinghouse Electric Corp. Interfacing device for a computer games system
GB8912866D0 (en) * 1989-06-05 1989-07-26 Code Masters Softwara Interfacing device for a computer games system
US5941775A (en) * 1994-10-14 1999-08-24 Sega Of America, Inc. Data processing system, method thereof and memory cassette

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2330086A1 (en) * 1975-10-27 1977-05-27 Lanti Antony Electronic scoring sytem for pin ball machine - uses entirely electronic multiplexing system to feed display counters

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763256A (en) * 1986-09-19 1988-08-09 Williams Electronics Games, Inc. System to detect and bypass inoperative game features in an amusement device

Also Published As

Publication number Publication date
ES474548A1 (en) 1979-12-01
DE2846996A1 (en) 1979-05-03
FR2407527A1 (en) 1979-05-25
JPS5474143A (en) 1979-06-14

Similar Documents

Publication Publication Date Title
US11594107B2 (en) Gaming system and method of gaming
US4679143A (en) Control device for game machine
US4448419A (en) Electronic gaming device utilizing a random number generator for selecting the reel stop positions
US6358151B1 (en) System for facilitating game play in an electronic lottery game network
US5975528A (en) Innovative gaming apparatus
US7470182B2 (en) Computerized gaming system, method and apparatus
US7104889B2 (en) Method of using a rule based script to describe gaming machine payout
US8480480B2 (en) Bonus game for a gaming machine
US7988559B2 (en) Computerized gaming system, method and apparatus
EP0142984B2 (en) Slot machine
JP2003135779A (en) Game machine and game machine management system
CA1092709A (en) Computerized pin ball machine
CA1141861A (en) Amusement game microprocessor controller
AU2008201867A1 (en) A method of gaming, a gaming system and a game controller
JP3793833B2 (en) Pachinko machine
JPH11188138A (en) Image display type pachinko game machine
JP2002331147A (en) Game machine management device
GB2128486A (en) Electronic lottery apparatus
JPH0329424B2 (en)
AU2018278978B2 (en) A method of gaming, a gaming system and a game controller
JPH11178993A (en) Game machine and storage medium recording image display-type game programs
JP3645182B2 (en) Pachinko machine control circuit
JPH09225116A (en) Coin type pachinko machine and game system
JP2000093620A (en) Controller for game machine
AU2023200223A1 (en) A method of gaming, a gaming system and a game controller

Legal Events

Date Code Title Description
MKEX Expiry
MKEX Expiry

Effective date: 20000222