throbber
Unlted States Patent [19]
`Roskowski et a].
`
`[54] VIDEO GAME ENHANCER WITH
`INTERGRAL MODEM AND SMART CARD
`INTERFACE
`
`[75] Inventors: Steven G. Roskowski. San Jose;
`Stephen 9 Perlman- Mountain VieW-
`both of Calif.
`
`[73] Assignee: Catapult Entertainment Inc.
`Cupertino. Calif.
`
`[21] Appl. No.: 254,154
`
`USOO56243 16A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,624,316
`Apr. 29, 1997
`
`5,291,189
`
`3/1994 Otake et a1. .......................... .. 340/799
`
`FOREIGN PATENT DOCUMENTS
`
`0402067 6/1990 European Pat. O?. .
`0431770 10/1991 European Pat. O?‘_ ‘
`0571213 5/1993 European Pat. on. .
`0571138 5/1993 European Pat. 01f. .
`9323125 11/1993 United Kingdom .
`
`Primary Examiner—Jessica Harrison
`AssistantExaminer-Michael O’Neill
`[57]
`ABSTRACT
`
`Jun‘ 6’ 1994
`[22] Flled'
`[51] Int. Cl.6 ...................................................... .. A63F 9/24
`[52] US. Cl. ............................................... .. 463/45; 463/41
`[58] Field of Search ................................... .. 273/433. 436.
`273/439_ DIG 23‘ 148 13; 364/410_ 411;
`463/45_ 41
`
`A video game enhancement system for modifying and
`enhancing the operation of a video game is disclosed. The
`system includes: 1) a Processor interface for coupling the
`Video game enhancement system with 11 Processor; 2) a
`memory interface for coupling the video game enhancement
`system with a ?rst memory having executable game logic
`residing therein; 3) a second memory having executable
`enhancement logic residing therein; and 4) control logic
`including: a) logic for detecting an access to a patch address
`by the processor; b) logic for directing the processor to
`U-S- PATENT DOCUMENTS
`access an exception region in the second memory upon
`5,1935 Kessler.
`4,518,823
`detection of the access to the patch address. the access to the
`5/1935 we11 _
`4,520,477
`exception region causing activation of an exception mode;
`2/1986 Mattheson ................. .. 273/DIG. 28 X
`4,570,930
`2/1986 Sitzick ....... ..
`273/DIG. 28 X and c) redirection logic for redirecting memory accesses by
`4,572,509
`6/ 1986 Fascenda et a1. .
`......... .. 273/1 E
`the processor from the ?rst memory to the second memory
`4,592,546
`1/1939 Nakagéwa
`364/900
`for a plurality of memory accesses upon activation of the
`4,799,635
`2/1990 Wledmler '
`exception mode, the processor thereby executing a portion
`41905 ,280
`2,980,897 12/1990 Decirer et a1. .......................... .. 375/38
`of the executable enhancement 10 gi c‘ Th e thc control logic
`998,199 3/1991 Tashiro et a1. .
`.
`.
`5,013,033
`5/1991 Luxenberg m1. .................. .. 273/439
`°f 1h‘? V1d°° giFne enhancement systcl“, ‘115° Includes: 5)
`5,048,831
`9/1991 Sides ‘
`log1c for detectlng an access to a trans1t1on address by the
`395/575
`5,070,479 12/1991 Nakagawa
`processor; 6) logic for directing the processor to terminate
`5,083,800
`1/1992 Lockton ................................ .. 273/439
`the exception mode upon detection of the access to the
`5,112,051
`5/1992 Darling et a1. .
`transition address; and 7) the redirection logic further
`.................. .. 273/439
`5,120,076
`6/1992 LllXCllbCI'g 6t
`includes logic for redirecting memory accesses
`the pro.
`5,155,768 10/1992 Matsuham ---------- --
`cessor from the second memory to the ?rst memory upon
`giggggg 1583i loll/Lara; ........................... .. 273/435
`tarm'inaFion of th? exception mode_ the procassqr thereby
`5:1 841282
`2,1993 Kaneda a a1. .
`contmumg executlon of the executable game log1c.
`5,203,848
`4/1993 Wang .
`5,282,621
`2/1994 Tsing .
`
`[56]
`
`References Cited
`
`18 Claims, 21 Drawing Sheets
`
`Petitioners Ex. 1005 Page 1
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 1 0f 21
`
`5,624,316
`
`._
`1\ -
`"
`
`ATTACK OF THE
`MUTANT SLUGS
`
`-
`
`EXISTING GAME
`CARTRIDGE
`
`m\/
`
`FEMALE EDGE-
`CARD CONNECTOR
`
`/ 3
`
`MALE EDGE
`CARD CONNECTOR
`
`TELEPHONE m PHONE
`
`OUTLET
`
`' JACK
`
`.
`-' w ',
`ZSMART‘CIARP. —"
`.
`16/,
`
`s’
`
`14
`
`E] /*
`
`,4
`
`lMPROVED
`VIDEO GAME
`ENHANCER
`
`-‘ -' " “21:5:
`MALE EDGE
`CARD CONNECTOR
`
`‘
`
`/ 6
`
`FEMALE EDGE-
`CARD CONNECTOR
`
`12
`/
`
`.
`
`.
`
`TELEVISION
`
`OUTLET
`
`1
`
`'
`-, VIDEOGAME -
`-' (l) . ‘CONSOLE -
`
`CONTROLLER
`
`Petitioners Ex. 1005 Page 2
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 2 0f 21
`
`5,624,316
`
`ROM
`
`20
`\ ICS
`A
`
`RAM
`(0PT.)
`ICS
`‘
`
`21
`/
`
`1\
`EXISTING GAME
`
`23\
`
`>|___ ADDR DECODE
`\
`P .
`1‘
`22 (O T)
`
`9:*R_T_Hlll5E___{________I _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___.
`
`G
`C
`I ARTRID E
`9
`
`I
`
`)9
`[15h
`
`24
`/
`
`/ _
`’
`'
`
`MODEM
`
`225
`
`2s
`0AA I__|:|/
`
`‘7, >
`108 TX RX CLK
`A
`II
`'7
`47 4a" 49‘ /29
`
`PHONE
`JACK
`
`27
`/
`
`28
`/
`
`43
`I
`T-ll
`
`Fl
`
`f ICS
`HAM
`
`,as
`P0
`I___>.I
`LOCAL
`ADDH
`
`I
`
`’
`
`’ ROM
`‘1C8
`
`\ 39
`
`.
`
`, E
`‘ I :
`‘ I
`7
`
`AS'C
`
`“5
`
`’>/SYSTEM_RESET
`> IENHANCEFLCS
`4o
`/
`
`IMPROVED
`VIDEO GAME/4
`ENHANCER
`
`,
`
`I
`
`45
`\
`SMART
`CARD <
`INTERFACE
`
`44\
`
`T Eggs?
`
`31\
`
`GAME’
`CONSOLE
`
`SYSTEM
`ADDR
`BUS
`
`41\
`
`_Vl_5E(-)_;—_l___~__~l - — - - ' " - - - - " - - — "
`
`SYSTEM
`DATA
`BUS
`
`_
`
`/42 ,
`I
`
`DMA
`DEVICES
`
`‘
`I“
`>
`
`< ,1
`
`32/
`
`34\
`
`4 ,’ >
`/35
`
`CPU
`
`33/
`
`Petitioners Ex. 1005 Page 3
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 3 0f 21
`
`5,624,316
`
`50‘
`71
`'///IS I 1 I I I I I I 7 11.7
`//i J 1 I 1 1 1 1 1 1 11 %
`
`I I I I I I I I I I I I l I I I I It
`
`I I I I I I l I I I I I l I I I I ll
`
`p \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
`l I I I I I f I I I I I I I I (I
`
`I I I I o r v v 1 r 1 a a p 1 I I I)
`\ \ \ \ 8 \ \ \ \ \ \ \ \ \
`\ \\
`I I I I I I I I I I I I I I l I I II
`\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
`
`w
`
`1
`
`171111111111
`
`51
`
`DIHEC
`
`\\\\\\\\\\\}\\}\\\\\\\\\\\\\\\\\
`§\\\\\\\\\\\\\\\\\\\\\\\\\\\\
`
`OM REGION
`
`55
`
`\\\\\\\\\\\\\\\\\\\\\\\\\\R
`DIRECT_ROM_HEGION mm
`V W %DIRECT_RAM_REGIO %
`/
`N/
`62
`11/11/////////m/////////1//// %
`CARTRIDGE DISABLED
`ADDRESS MAP
`(AFrER RAM/ROM SWAP)
`
`CARTRIDGE DISABLED
`ADDREss MAP
`(UPON RESET)
`
`I
`
`I = CONTROL REGISTER REGION
`
`FIG. 3
`
`Petitioners Ex. 1005 Page 4
`
`

`
`U.S. Patent
`
`Apr. 29, 1997
`
`Sheet 4 0f 21
`
`5,624,316
`
`70 \
`
`YIW/SQFITCLHP'APPBMfA
`
`r III I 4 v I r 4 I 1 r r Ir
`\ \ \ \ \ ~ ~ \ \\
`
`/ [/l / //
`
`71///scRATc|-1PA6 RAM7A
`
`7
`
`RTRIDGE ROM
`
`CARTRIDGE ROM
`
`ALL REGIONS DISABLED
`
`78
`
`Illlll’l(It'll/IllIIIIIIIIIIIIIIIIIII ‘
`
`EXCEPTION REGION
`ENABLED
`
`71 V/Asfcnmcuégg 155157 A
`
`IIIIJ
`
`r
`
`,
`
`I
`
`1
`\
`I:
`s
`I a I r 1 r I!
`
`I
`
`4 I a ¢ I r I 4 a z a I I I a 1 4r
`
`82
`
`RAM_CDDE_REGION
`CARTRIDGE ROM\
`
`EXCEPTION AND RAM_CODE
`REGIONS ENABLED‘
`
`99
`
`88
`
`DMA_X_REGION
`
`DMA_X_REGION
`
`k\\\\\\\\\\\\\\\‘ —_
`105
`ROM_CODE_REGION
`
`73
`
`1
`
`CARTRIDGE ROM
`
`EXCEPTION, DMA_X
`REGIONS ENABLED
`
`82
`
`RAM_COQDE_REGIDN
`CARTRIDGE ROM
`
`BCCEPTION, DMA_X,
`RAM_CODE REGIONS
`ENABLED‘
`
`78 llIltlllllll‘l’lllllllllllIIIIIIIIIIII'
`EXCEPTION, DMA X.
`RAM_CODE, ROM_CODE
`REGIONS ENABLED‘
`
`= EXCEPTION REGION
`:2: = CONT HOL REGISTER REGION
`
`FIG. 4
`
`Petitioners Ex. 1005 Page 5
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 5 0f 21
`
`5,624,316
`
`SYSTEM
`ADDRESS
`BUS
`(Av-A23)
`
`ENHANCEH
`-cs
`
`130
`
`131
`
`16ADDHESS
`COMPAHATOHS
`
`PATCH_ADDRESS_NUMBER
`
`16-INPUT
`OR GATE
`
`16-INPUT
`ENCODER
`
`ENABLE_PATCH_ADDRESS 137
`
`PATCH_ADDHESS
`
`FIG. 5
`
`Petitioners Ex. 1005 Page 6
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 6 0f 21
`
`5,624,316
`
`SYSTEM
`ADDRESS
`BUS
`(AG-A23)
`
`141
`I
`
`ENHANCER
`_CS
`146
`
`142
`\
`
`SRAM CODE END '
`_____‘____‘___'
`I AND
`2 RAM_CODE__START:
`
`143
`V
`RAM_CODE_REG1ON_ENABLED?
`
`151
`
`153
`
`RAM_CODE_REGION
`
`S ROM_CODE_END '
`---------- - "1 AND 1“
`> 164 ‘52
`2 ROM_CODE_START:
`ROM__CODE_HEG|ON_ENABLED—W
`s 0MA_X_END
`;
`
`ROM_CODE_HEGION
`'
`
`_ _ _ _ _ . . _ . _ - - , AND 145
`
`> 155 H153 DMA_X_REGION
`
`2 DMA_X_STAHT :
`S DMA_Y_END
`:
`
`DMA_X_FIEGION_ENABLED_1TQ—P'
`
`_ _ _ _ _ _ _ . . _ .. _ I AND 146
`
`> 155 ‘54
`
`DMA_Y__REG|0N
`
`2 DMA_Y_STAHT :
`4 ADDRESS
`RANGE
`COMPAHATORS
`
`RAM_CODE_REGION
`ROM_CODE_REGION
`PATCH_ADDRESS
`DMA_X_REGION
`DMA_Y_REGION
`
`DMA__Y_HEGION_ENABLEDT
`
`PRIORITY
`ENCODER
`
`ADDHESS_REGEON
`
`PATCH_ADDRESS_VALID
`
`ADDRESS_REGION
`
`ADDRESS REGION NAME
`
`0
`1
`2
`a
`4
`s
`
`IN_RAM_CODE_HEG1ON
`IN__ROM_CO0E_HEGION
`PATCH_ADDRESS_REGION
`IN_DMA_X_REGION
`IN__DMA_Y_REGION
`NOT_IN_ENABLED_REGIONS
`
`FIG. 6
`
`Petitioners Ex. 1005 Page 7
`
`

`
`U.S. Patent
`
`Apr. 29, 1997
`
`Sheet 7 0f 21
`
`5,624,316
`
`171 \ DMA x souRcE REGION
`
`1
`
`;
`, 172
`:’
`
`‘75 ‘~ DMA x DESTINATION REGION
`
`ADDREss MAP
`FROM CPU'S
`PERSPECTIVE
`
`I
`; 176
`:/
`
`ADDREss MAP
`FROM ENHANCER
`RAM/ROMS PERSPECTIVE
`
`173
`i
`\
`:
`' * DMA_X_ START (HIGH & MID)
`
`I
`I
`'
`
`1
`71
`DMA_X_DESTINATION__START
`
`178_
`0
`
`179
`OTHER sOuRcE /
`REGION sTARTs
`/
`V
`
`I 2
`8
`
`164 + WK
`/
`4v
`ADDHESS_REGION
`
`189
`SYSTEM ,
`ADDREss
`BUS
`
`1'
`181
`
`186\
`—
`
`181
`OTHER DESTINATION/
`REGION sTARTs
`/ i
`II
`
`MUX
`
`‘J83
`
`180‘
`0
`
`._>
`4/
`
`‘190
`LOCAL
`ADDREss
`BUS
`
`>\1196
`19‘ /
`(A1-A4)
`w
`PATcR_ADDREss_NuMaER__/1—95_>
`I
`
`198
`
`PATCH_ADDRESS_VAUD
`NOTES:
`1. FOR THE SAKE OF CLARITY, ONLY DMA_X REGION REGISTERS ARE SHOWN. THERE ARE ALSO IDENTICAL
`REGISTERS FOR DMA_Y, RAM_CODE, ROM__CODE, AND PATCH_ADDRESS (DESTINATION) REGIONS.
`ADDRESS_REGION SELECTS FROM WHICH REGION START REGISTERS ARE USED.
`2. IF ADDRESS_REGION = NOT_IN_ENABLED_REGIONS, THEN 0 IS SELECTED, THEREBY TRANSFERING THE
`SYSTEM ADDRESS BUS TO THE LOCAL ADDRESS BUS WITHOUT TRANSLATION.
`'
`
`FIG. 7
`
`Petitioners Ex. 1005 Page 8
`
`

`
`U.S. Patent
`
`Apr. 29, 1997
`
`Sheet 8 of 21
`
`5,624,316
`
`SYSTEM
`ADDRESS
`BUS
`(A8-A23)
`
`ENHANCER
`_CS
`
`235
`
`200
`
`$201
`
`Angagss
`DECODEHS
`
`D|RECT_RAM_REGION
`
`DlHECT_ROM_REGlON
`
`\
`
`DlRECT_ROM_SWAPPED SYSTEM
`
`/CAF{TFHDGE_ENABLED
`
`209
`
`DlRECT_RAM__REGION
`
`D|RECT_FlOM_REG!ON
`
`DlRECT_HEGlSTERS_FlEGl0N
`
`D|F!ECT_EXCEPTION_REG|ON
`
`D|RECT_FlAM_SWAPPED
`
`ENHANCER
`-03
`
`ADDRESS
`BUS
`(A8-A23)
`
`RAM/FlOM_SWAP
`
`
`
`= ROM_CODE_END
`
`ADDRESS
`COMPARATOR
`
`FlOM_CODE__REGION_ENABLED
`
`
`
`
`D!FlECT_REG|STERS_REG|0N
`
`FlEGlSTERS_ENABLED
`
`DlFlECT_EXCEPTlON_REGlON
`
`SYSTEM
`ADDRESS BUS
`(A3-A7)
`
`°'F‘ECT—EXCE‘°“0“-“EG'°N EXCEPTlON_REGl0N_ACCESS
`
`fFlEGlSTERS_ENABLED
`
`FIG. 8
`
`Petitioners Ex. 1005 Page 9
`
`Petitioners Ex. 1005 Page 9
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 9 of 21
`
`5,624,316
`
`DIRECT_RAM_SWAPPED
`EXCEPTION_REGION_ACCESS
`DMA_X_REGION
`DMAQQREGION
`RAM_CODE_REGION
`
`DfRECT_HOM__ENABLED
`HOM_CODE_REGION
`
`IREGISTERS_ENABLED
`
`MAM-C5
`/ROM_CS
`ENHANCER_CS
`
`M_CS
`
`—CS
`
`mmoegcs
`
`\ 261
`REGISTERS_ENABLED 1511-»-
`ISYSTEM ADDRESS BUS (A7) LE]
`
`#MODEM cs
`'
`
`REGISTERS_ENABLED 351-» 264 \ 255
`SYSTEM ADDRESS BUS (A7)
`'_J
`
`> REGISTEHiCS
`
`‘INTERNAL SIGNAL
`
`FIG. 9
`
`Petitioners Ex. 1005 Page 10
`
`

`
`U.S. Patent
`
`Apr. 29, 1997
`
`Sheet 10 of 21
`
`5,624,316
`
`SYSTEM
`AD F!
`§U§S'°‘
`(A0«A23)
`271
`
`ENHANCER
`-95
`270
`
`272
`\
`
`=TRANSl‘l10N_ADDRESS
`
`273
`
`4
`
`295
`
`ADDRESS
`COMPARATOR
`
`TFlANSlTlON__ENABLED
`
`SYSTEM_RESET ‘ff
`
`/ENHANCEFLENABLED
`
`2% -
`
`'f
`SYSTEM_RESET
`ENHANCERJENABLED '
`
`297
`
`DECREMENT_EXCEPT|ON_COUNTER
`
`CLEAR_EXCEPTlON_COUNTER
`
`253
`
` ENABLE_CARTRIDGE
`
`23‘ : 933
`
`"
`
`23‘
`
`CARTRIDGE_ENABLED
`
`TFIlGGEFlED_DECFlEMENT
`
`TFflGGERED_CLEAR
`
`TRANSlT|ON_ENABLED
`
`0
`TRANSfTION_REGlSTEF(_WRlTE
`SYSTEM_HESET
`
`SYSTEM_HESET
`
`ENHANCER_CS
`
`FIG.
`
`IO
`
`Petitioners Ex. 1005 Page 11
`
`Petitioners Ex. 1005 Page 11
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 11 of 21
`
`5,624,316
`
`|
`UP £58551?
`EXCEPTION_REGION_ACCESS
`TRIGGERED_DECHEMENT W DOWN
`COUNT>0__3_9§_’_ EXCEPT|ON_MQDE
`CLEAR 307
`
`SYSTEM_HESET 30‘
`THIGGEREILCLEAH 305
`
`FIG. II
`
`Petitioners Ex. 1005 Page 12
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 12 0f 21
`
`5,624,316
`
`310
`65432IO/
`
`ADDRESS MAP CONTROL REGISTER
`
`0: RAM/ROM_SWAP
`1: ENABLE_EXCEPTION_REGION
`2: ENABLE__RAM_CODE_REGION
`3. ENABLE_ROM_CODE__REGION
`4. ENABLE_PATCH_ADDRESS
`5: ENABLE_DMA_X_FIEGION
`6: ENABLE_DMA_Y_REGION
`7: RESERVED
`
`O = ROM LOW, RAM HIGH
`0 = DISABLED, 1 = ENABLED
`0 = DISABLED, I = ENABLED
`0 : DISABLED. 1 = ENABLED
`0 = DISABLED, 1 = ENABLED
`0 = DISABLED, 1 = ENABLED
`O = DISABLED, 1 = ENABLED
`
`312
`DEPENDENCIES: /
`1.WHlLE OARTRIDGE_ENABLED = o. MEMORY IS MAFFED AS IF BITS 1-6 ARE DISABLED
`2. wHILE OARTRIDGE_ENABLED = 1, BIT o HAS NO EFFECT
`3. MM EXCEPTION_MODE = o, MEMORY IS MAPPED AS IF BITS 2 AND a ARE DISABLED
`
`313
`INI'I'IALIZA'I'ION UPON SYSTEM_RESET: /
`ALL BITS = 0
`
`314
`7654 210/
`
`TRANSITION CONTROL REGISTER
`
`o = DISABLED. 1 = ENABLED /315
`o = DISABLED, I = ENABLED
`o = DISABLED, 1 = ENABLED
`
`0: ENABLE_CARTRIDGE
`1: DECREMENT_EXCEPTION_COUNTER
`2: CLEAR__EXCEPTION_COUNT ER
`3: RESERVED
`4: SMART_CARD_TX_READY
`5: SMART__CARD_RX_READY
`61TX_FIFO_FULL (READ-ONLY)
`7: RX_FIFO_EMPTY (READ-ONLY)
`31s
`DEPENDENCIES: /
`1. wRITES TO TRANSITION CONTROL REGISTER SET TRANsITION_REGISTER_wRrIE FDR 1 CYCLE
`z sPEcIFIED TRANSITIONS DO NOT TAKE EFFECT UNTIL THE TRANsITION_ADDRESs Is AOOESSED
`
`0 = NOT READY, 1 : READY
`0 = NOT READY, 1 = READY
`0= NOT FULL. 1 = FULL
`0 = NOT EMPTY, 1= EMPTY
`
`INmALIZATION uPON SYSTEM_FIESET: /
`1. IF ENHANOER_ENABLE = I. SMART_OARD_TX_READY = I, OTHER BrIs = o
`2 IF ENHANOER_ENABLE = o, ENABLE_OARTRIDGE = 1, SMART_CARD_TX_READY = 1, OTHER BITS = o
`
`s17
`
`-
`
`318
`NOTE/
`THE ADDRESS MAP OONTROL REGISTER AND TRANSITION CONTROL REGISTER ARE
`ALWAYS MAPPED TO THE TOP OF THE EXCEPTION_REGION AND ARE THEREFORE
`ACCESSIBLE wHENEvER THE ExOEFTION_REGION IS ACCESSIBLE.
`
`FIG. l2
`
`Petitioners Ex. 1005 Page 13
`
`

`
`My» Wm
`Wu
`
`21
`
`ADDRESS_PATCH_0
`
`ADDHESS_PATCH__1
`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 13 of 21
`
`5,624,316
`
`20
`
`ADDHESS_PATCH_DESTINATION_START
`
`I'" I 2 w %
`
`;
`
`HIESH
`l M30
`LCEW
`
`I
`
`1
`
`HIE-3H
`l MIID
`LQW
`
`l
`
`/
`
`ADDRESS_PATCH_15
`
`324
`/
`
`THANSH'ION_ADDRESS
`
`FIG. l3
`
`Petitioners Ex. 1005 Page 14
`
`

`
`U.S. Patent
`
`Apr. 29, 1997
`
`Sheet 14 0f 21
`
`5,624,316
`
`30
`
`DMA__X_START
`
`DMA_X,_END
`
`DMA_X_DESTINATION_STAHT
`
`DMA__X_DESTINATION_END
`
`DMA__Y_START
`
`DMA_Y_END
`
`M 337
`M
`
`DMA__Y_DESTINATION_START
`
`DMA_Y_DESTINATION_END
`
`FIG. l4
`
`Petitioners Ex. 1005 Page 15
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 15 of 21
`
`5,624,316
`
`340
`/
`
`RAM_CODE_START
`
`}
`F1 342
`
`RAM__CODE_END
`
`RAM__CODE_D ESTINATION_START
`
`RAM_CODE_DESTINATION_END
`
`344
`
`ROM__CODE__START
`
`345
`
`ROM_CODE_END
`
`6
`
`HOM_CODE_DESTINAT1ON_START
`
`7
`
`ROM_CODE_DESTINATION__END
`
`FIG.
`
`l5
`
`Petitioners Ex. 1005 Page 16
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 16 of 21
`
`5,624,316
`
`357> TX_FIFO_FULL
`
`358
`
`MODEMJX
`
`ass
`
`351
`
`I
`
`361
`SHIFT ’
`4-.- REG
`<+¢
`
`B-STAGE RFC)
`
`352
`l \ ~
`
`ass
`
`i
`
`362
`
`359
`
`MODEM_RX
`
`<74 ‘7’
`
`ass "
`\
`
`<11
`
`47/
`
`354 I
`\
`
`<1’
`
`-<i
`
`__
`BUFFEHS
`35°
`SYSTEM
`DATA BUS
`
`SHIFT
`< / REG
`<<——
`
`<
`
`B-STAGE FIFO
`
`I,
`
`ass
`
`ass
`/
`
`COUNTER <4 36° MODEM_CLK
`
`FIG. l6
`
`Petitioners Ex. 1005 Page 17
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 17 0f 21
`
`5,624,316
`
`40‘
`402
`403
`404
`40s
`400
`407
`40s
`
`409
`410
`411
`
`412
`413
`
`UNUSED
`
`DIRECT
`DMA_X a
`
`UNUSED
`CODE 3
`CODE 2
`
`DMA_Y I
`
`DMA_X 1
`
`COOE I
`
`— EXCEPTION 0
`
`—— EXCEPTION 1
`
`-—-— EXCEPTION 2
`
`—-—CuRI=IENT EXCEPTION
`
`ENHANCER RAM ADDRESS MAP RELATIVE
`TO LOCAL ADDRESS BUS
`
`FIG. 17
`
`Petitioners Ex. 1005 Page 18
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 18 0f 21
`
`5,624,316
`
`VIDEO GAME
`CARTRIDGE
`
`1
`
`I
`
`7‘
`
`:
`
`ROM
`
`l ,
`‘ l
`
`2o
`
`— - h _ - _ _
`
`‘as ICARTH|DGE_CS
`
`_
`'
`
`,
`
`ASIC
`29
`
`,sa
`I'RAM cs
`'
`1’
`LOCAL
`ADDRESS
`BUS ‘30
`
`RAM
`27
`
`ENHAZNCEH
`
`VIDEO
`GAME
`CONSOLE
`7
`
`4-
`
`i
`
`I’
`
`I k
`7 7 CPU on DMA
`
`<
`
`7/
`
`as
`
`34
`SYSTEM
`ADDRESS
`BUS
`
`as
`SYSTEM
`DATA
`BUS
`
`FIG. l8
`
`Petitioners Ex. 1005 Page 19
`
`

`
`US. Patent
`
`Apr. 29, 1997
`
`Sheet 19 0f 21
`
`5,624,316
`
`VIDEO GAME
`CARTRIDGE
`1
`
`ROM
`2o
`
`_ - - _ - - - - — - ~ -
`
`- . - - - - D - 5a. n/cix???eelcs
`
`ASIC
`29
`
`,38
`{RAM 0
`RAM 27
`‘—--—S>
`‘—+—->- E3
`LOCAL
`\
`Aogsg?s
`PATCH
`30
`TABLE
`390
`
`ENHANCER
`4
`
`vmeo
`GAME
`CONSOLE
`7
`
`CPU
`as
`
`34
`SYSTEM
`ADDRESS
`BUS
`
`SYSTEM
`DATA
`BUS
`
`FIG. l9
`
`Petitioners Ex. 1005 Page 20
`
`

`
`U.S. Patent
`
`Apr. 29, 1997
`
`Sheet 20 of 21
`
`5,624,316
`
`VIDEO GAME
`CARTRIDGE
`1
`
`ENHANCER
`
`4
`
`VIDEO
`GAME
`CONSOLE
`7
`
`SYSTEM
`ADDRESS
`Bus
`
`
`
`FIG. 20
`
`Petitioners Ex. 1005 Page 21
`
`
`
`EXCIEPSON
`
`RE I N
`391
`
`93358.30
`
`
`
`34
`
`35
`
`SYSTEM
`DATA
`BUS
`
`Petitioners Ex. 1005 Page 21
`
`

`
`U.S. Patent
`
`Apr. 29, 1997
`
`Sheet 21 of 21
`
`5,624,316
`
`VIDEO GAME
`CARTRIDGE
`1
`
`ENHANCE-ZR
`4
`
`VIDEO
`GAME
`CONSOLE
`7
`
`'
`
`ADDRESS
`BUS 130
`
`RAM CODE
`REGION
`392
`
`SYSTEM
`DATA
`
`BUS
`
`
`
`SYSTEM
`ADDRESS
`BUS
`
`FIG. 2|
`
`Petitioners Ex. 1005 Page 22
`
`Petitioners Ex. 1005 Page 22
`
`

`
`1
`VIDEO GAME ENHANCER WITH
`INTERGRAL MODEM AND SMART CARD
`INTERFACE
`
`CROSS—REFERENCE TO RELATED
`APPLICATIONS
`
`The following co-pending U.S. patent applications relate
`to the present application. Each of the listed co-pending
`applications are assigned to the same assignee as the present
`application.
`1) U.S. patent application Ser. No. 08/238.630. filed May
`5. 1994. and titled. “AN IMPROVED NETWORK ARCHI-
`TECTURE TO SUPPORT REAL-TIME VIDEO GAMES”
`
`2) U.S. patent application Ser. No. O8/238.477. filed May
`5. 1994. and titled. “AN IMPROVED NETWORK ARCHI-
`TECTURE TO SUPPORT MULTIPLE SITE REAL-TIME
`VIDEO GAMES”
`
`3) U.S. patent application Ser. No. 08/238.456. filed May
`5. 1994. and titled. “AN IMPROVED MODEM TO SUP-
`PORT MULTIPLE SITE CALL CONFERENCED DATA
`COMMUNICATIONS.”
`
`4) U.S. patent application Ser. No. 08/238303. filed May
`5. 1994. and titled. “AN DVIPROVED NETWORK ARCHI-
`TECTURE TO SUPPORT RECORDING AND PLAY-
`BACK OF REAL-TIME VIDEO GAMES”.
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`
`The present invention relates to the field of video game
`systems and networked computer systems.
`2. Description of Related Art
`Home video game machines such as the “SEGA GEN-
`ESISTM” and the “SUPER NINTENDO ENTERTAIN-
`
`MENT SYSTEMTM” are designed to function primarily as
`computing. graphics. and sound engines for video game
`software provided on insertable ROM-based cartridges.
`“SEGATM” and “SEGA GENESISTM” are trademarks of
`“SEGA.
`INC.TM” “SUPER NINTENDO- ENTERTAIN-
`MENT SYSTEMTM” and “NINTENDOTM” are trademarks
`of Nintendo. Inc. Such video game software is created by
`“SEGATM” and “NINTENDOTM” as well as various third-
`party software vendors and is available at retail outlets
`throughout the world. Such ROM-based cartridge games are
`written to be played by 1. 2. or possibly 4 or more players
`at once. with each player utilizing a controller attached to the
`video game machine.
`Because such games are ROM-based. once the software is
`frozen into a ROM. it cannot be modified substantially in the
`field. Thus. once a cartridge is manufactured and sold to the
`customer. the execution of the game is essentially locked-in.
`If the customer. manufacturer. or another party desires to
`substantially enhance the functionality of an existing video
`game cartridge. it is necessary to redesign the software and
`manufacture and distribute the modified cartridge with a
`new ROM. Clearly. this is an extremely expensive solution.
`and it would be desirable to provide a convenient and
`cost-effective means by which video game software could be
`enhanced in the field.
`
`In the past few years video game enhancement devices
`have appeared that allow minor modification to the execu-
`tion of video game cartridges in the field. Awell-lmown such
`device is the “GAME GENIETM”. by “GALOOBTM”.
`“GAME GENIETM” and “GALOOBTM” are trademarks of
`“GALOOB INC.TM” The Game Genie (and like devices)
`plugs into a video game console’s cartridge slot. and then the
`
`10
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,624,316
`
`2
`
`video game cartridge which the user desires to enhance is
`plugged into a cartridge connector on top of the “GAME
`GENIE
`When power is applied to the video game
`console. the “GAME GENIETM” intercepts the video garne’s
`processor accesses intended for the ROM cartridge. and
`directs the processor to execute out of a “GAME GENIETM”
`ROM. This ROM contains a small amount of software that
`puts up a graphics image and requests the user to enter
`special codes with a video game controller. The user. refer-
`ring to a printed list of special codes either provided by the
`manufacturer or some other source (e.g. a video game
`magazine). then enters the codes for the desired enhance-
`ment of the game. These special codes specify memory
`addresses and data values. Once the codes are entered. the
`“GAME GENIETM” will turn over control to the game
`canridge. and normal game execution will begin. However.
`when the processor attempts to fetch data from one of the
`addresses which had been entered as a code. the “GAME
`
`GENIETM” will intercept the transaction (it has an address
`comparator for each address it intercepts) and substitute the
`entered data value instead. Because the “GAME GENIETM”
`can only substitute the values of a small number of indi-
`vidual data words. the achievable modifications to video
`game cartridges are fairly slight. such as increasing the
`number of lives permitted before the game ends or whether
`the background soundtrack is on or off. Yet. even given the
`relatively modest changes to video games possible with the
`“GAME GENIETM”. the product has been extremely suc-
`cessful commercially.
`Clearly.
`there are many applications that would be
`enabled if there were a means to make substantial modifi-
`cations to video game cartridges in the field. Rather than
`simply slightly changing the attributes of existing characters
`in the game. entirely new characters could be introduced.
`Rather than just turning on or off the soundtrack. whole new
`soundtracks could be introduced. Modifications could also
`
`include temporary graphics or sounds that are briefly pre-
`sented to the user in the form of an advertisement. In
`addition. peripheral devices such as modems or special
`game controllers. could be interfaced to the game such that
`the game could take advantage of them. even if the original
`authors of the game had no intention of supporting such
`peripherals.
`Unfortunately. modifications such as those just described
`are far too extensive to be accomplished by a simple data
`word replacement device such as the “GAME GENIETM”
`(and other devices like Game Genie). Game Genie provides
`for the substitution of about a dozen bytes in the original
`cartridge. For new graphics and sound. thousands of new
`bytes of data are required. some replacing existing data in
`the cartridge. some in addition to existing data in the
`cartridge. Also.
`the “GAME GENIETM” architecture
`requires specific hardware to detect the memory address of
`each new word to be substituted on the cartridge. Given that
`many of the just described enhancements require thousands
`of new words to be substituted on the cartridge. it can easily
`be seen that it is impractical to simply extend the “GAME
`GENIETM” architecture to provide thousands of individual
`address comparators. Such a “multi-thousand-word”
`“GAME GENTETM” would be difficult to create at any cost.
`but would be certainly far too expensive for the home video
`game market.
`Even if we provide a new video game enhancement
`device that. through some other means. can substitute or add
`thousands of words of data to an existing video game
`cartridge. we will quickly find that is impractical to distrib-
`ute the new data in printed form (as it is today—in the form
`
`Petitioners Ex. 1005 Page 23
`
`Petitioners Ex. 1005 Page 23
`
`

`
`5,624,316
`
`3
`of codes—for “GAME GENIETM”). While it is reasonable
`for a person to have to enter tour codes in order to enhance
`a video game experience. it is not reasonable to have to enter
`40 —or for that matter 40.000. Although the new data could
`be distributed in ROM or on floppy disks. the cost of the
`distribution media (if we include the cost of the readers for
`the distribution media). approaches or exceeds the cost of a
`new video game cartridge itself. The home video game
`market is targeted at children and young adults and is very
`cost sensitive. Clearly. a low-cost distribution means for new
`data would be required for a video game enhancement
`device to be successful.
`
`Thus. a video game enhancement device that provides
`substantial enhancements is desirable. but technology exist-
`ing in the art is not capable of substantial enhancements. and
`extensions of said existing technology to support substantial
`enhancements is far too expensive. both in terms of the
`actual hardware cost and the distribution costs for new data.
`
`Another type of video game enhancement device has been
`recently announced. ‘THE EDGETM” by “RF. MAGICTM”.
`Edge and RF. Magic are trademarks of “RF. MAGIC.
`INC.TM” This device provides communications capability to
`a “SEGA GENESISTM” video game console so as to allow
`two video games to communicate over a telephone line and
`play a video game or to allow a video game to connect to an
`on-line service (such as
`the “IMAGINATION
`NETWORKTM”) so as to play on-line video games.
`“IMAGINATION NETWORKTM” is a trademark of
`“IMAGINATION NETWORK INC.TM”
`
`A principal limitation of the Edge is that it is not com-
`patible with existing video game cartridges and it therefore
`requires completely new video games to be written specifi-
`cally to take advantage of its communications capabilities to
`be of any value at all. Given that there are hundreds of
`existing video game cartridges on the market (none of which
`are compatible with “THE EDGETM”). and dozens in devel-
`opment that will not be compatible. there are clearly limi-
`tations to its usefulness.
`
`Clearly, there would be significant advantage to a video
`game modem that was compatible with existing video game
`cartridges. Such a video game modem is not available in
`prior art systems.
`An improved video game enhancer is described herein. It
`is capable of substantially enhancing existing video game
`cartridges. and it supports very low-cost distribution means
`that can conveniently deliver thousands of bytes of new data
`per game cartridge. One such low-cost distribution means is
`an integral modem which. by taking advantage of the
`improved enhancer capabilities. is compatible with existing
`video game cartridges and allows them to communicate over
`telephone lines.
`
`SUMMARY OF THE INVENTION
`
`invention is a video game enhancement
`The present
`system for modifying and enhancing the operation of a Video
`game. The system includes: 1) a processor interface for
`coupling the video game enhancement system with a pro-
`cessor; 2) a memory interface for coupling the video game
`enhancement system with a first memory having executable
`game logic residing therein; 3) a second memory having
`executable enhancement logic residing therein; and 4) con-
`trol logic including: a) logic for detecting an access to a
`patch address by the processor; b) logic for directing the
`processor to access an exception region in the second
`memory upon detection of the access to the patch address.
`the access to the exception region causing activation of an
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`exception mode; and c) redirection logic for redirecting
`memory accesses by the processor from the first memory to
`the second memory for a plurality of memory accesses upon
`activation of the exception mode.
`the processor thereby
`executing a portion of the executable enhancement logic.
`The the control logic of the video game enhancement system
`also includes: 5) logic for detecting an access to a transition
`address by the processor; 6) logic for directing the processor
`to terminate the exception mode upon detection of the access
`to the transition address; and 7) the redirection logic further
`includes logic for redirecting memory accesses by the pro-
`cessor from the second memory to the first memory upon
`termination of the exception mode. the processor thereby
`continuing execution of the executable game logic.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 illustrates the video game enhancer of the present
`invention.
`
`FIG. 2 is a block diagram of the architecture of the
`preferred embodiment.
`' FIG. 3 illustrates the system address map with the video
`game cartridge disabled.
`FIG. 4 illustrates the system address map with the video
`game cartridge enabled.
`FIG. 5 illustrates the patch address comparators and the
`encoder of the preferred embodiment.
`FIG. 6 illustrates the address range comparators of the
`preferred embodiment.
`FIG. 7 illustrates the address remapping logic of the
`preferred embodiment.
`FIG. 8 illustrates the address decoding logic of the pre-
`ferred embodiment.
`
`FIG. 9 illustrates the chip select generation logic of the
`preferred embodiment.
`FIG. 10 illustrates the transition state machine of the
`preferred embodiment.
`FIG. 11 illustrates the exception counter logic of the
`preferred embodiment.
`FIG. 12 illustrates the address map and transition control
`registers of the preferred embodiment.
`FIGS. 13-15 illustrate the other control registers of the
`preferred embodiment.
`FIG. 16 illustrates the modem interface logic of the
`preferred embodiment.
`FIG. 17 illustrates an example of the enhancer RAM
`address map of the preferred embodiment.
`FIGS. 18-21 illustrate examples of accessing locations in
`cartridge ROM and processing these accesses by the present
`invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMLBODDVIENT
`
`FIG. 1 illustrates the architecture of the system and how
`the presently preferred embodiment of an improved video
`game enhancer is installed by the user. The improved video
`game enhancer 4 has a male edge-card connector 5 on the
`bottom and a female edge-card connector 3 on the top. It is
`inserted into the female edge-card connector of video game
`console 7 (normally intended for insertion of a video game
`cartridge). Video game console 7. controllers 8. 9, and
`television 12 are all well known to those of ordinary sill in
`the art. Video game cartridge 1 is also well known. The male
`edge-card connector 2 of a video game cartridge 1 is inserted
`
`Petitioners Ex. 1005 Page 24
`
`Petitioners Ex. 1005 Page 24
`
`

`
`5,624,316
`
`5
`
`into the enhancer’s female edge-card connector 3. Thus.
`when properly installed.
`the enhancer 4 is sandwiched
`directly between the game cartridge 1 and video game
`console 7.
`
`The enhancer 4 has a telephone jack 1] to which a
`telephone cord is connected and plugged into a standard
`telephone outlet 10. The enhancer 4 has a slot 16in which
`a Smart Card (i.e. a credit card with an internal microcom-
`puter and memory) 15 may be inserted. Such Smart Cards
`are well known to those of ordinary skill in the art.
`The video game console 7 is otherwise hooked up as it is
`normally. with at least one of its controllers 8 and 9 plugged
`in. and a video/audio or RF output connected to television 12
`and an AC transformer attached to AC outlet 13.
`
`The switch 14 has two positions. In one position the
`enhancer 4 is as disabled and the execution of the software
`
`in game cartridge 1 is not aifected. In the other position. the
`enhancer 4 is enabled and the execution of game cartridge 1
`may be aifected if the enhancer 4 is so configured.
`As an overview. the enhancer 4 of the present invention
`is used in the following manner. Details of the internal
`operation will be forthcoming later in this document. Con-
`sider FIGS. 1 and 2.
`
`Upon power-up or reset with the enhancer 4 enabled. the
`enhancer 4 intercepts the memory accesses (usually reads.
`but in some cases writes) of the video game console’s CPU
`33. and directs the CPU 33 to execute out of the enhancer’s
`4 internal ROM 28 rather than the ROM 20 of video game
`cartridge 1 . The internal ROM 28 contains operating system
`software to initialize the enhancer 4 and determine which
`
`video game cartridge is installed. Since the enhancer 4 also
`contains battery backed-up RAM 27. it is able to retain data
`previously stored in it. This RAM 27 is entirely general
`purpose and can be used to store any data. but in the
`presently preferred embodiment it is likely to contain pre-
`viously stored video game enhancement software. enhance-
`ments to the ROM—based operating system. and preference
`information entered by the user. Also. the enhancer 4 is able
`to accommodate a Smart Card 15 which may also contain
`relevant
`information (e.g.
`identification. game credits.
`preferences. game enhancements. etc.). Thus. based on an
`analysis of the currently connected cartridge 1 and Smart
`Card 15 as well as an analysis of the current state of the
`RAM 27. the operating system of the enhancer 4 determines
`how to initialize itself.
`
`The operating system of the enhancer 4 then directs the
`video game console to present an audiovisual display on
`monitor 12 to alert the user of the system of the current
`system status and give the user an opportunity to specify
`(using a controller 8 or 9) several control parameters for
`enhancer 4. For example. if the enhancer 4’s operating
`system determines that there is software already stored in
`RAM 27 to enhance the attached game cartridge 1. the user
`will be given an opportunity to activate the enhancements
`and play the game. If such software is not stored in the RAM
`27. the user will be notified that

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket