Skip to content

Instantly share code, notes, and snippets.

@McZonk
Created April 3, 2025 06:06
Show Gist options
  • Save McZonk/f676366eba0fa0a4bb4ac52a8b25c253 to your computer and use it in GitHub Desktop.
Save McZonk/f676366eba0fa0a4bb4ac52a8b25c253 to your computer and use it in GitHub Desktop.
Localization strings for Street Fighter 2 pinball from the display rom.
We can make this file beautiful and searchable if this error is corrected: It looks like row 2 should actually have 5 columns, instead of 4 in line 1.
offset,length,original,comment,alternate
10752,21,"Street Fighter II","Shown after powering on"
10773,59,"(Install 4 Balls)","Shown after powering on"
10832,13,"Game #735","Shown after powering on"
10845,19,"Street Fighters"
10864,38,"ROLLOVER SPECIALS","Bookkeeping 44"
10902,60,"WHITE SPOT SPECIALS","Bookkeeping 45"
10962,63,"MASTER ROUND SPECIALS","Bookkeeping 46"
11025,56,"1-2 PUNCH ENTERED","Bookkeeping 47"
11081,47,"1-2 PUNCH EXTRA BALLS","Bookkeeping 48"
11128,43,"MYSTERY EXTRA BALLS","Bookkeeping 49"
11171,45,"HURRY-UP EXTRA BALLS","Bookkeeping 50"
11216,42,"SPOT TARGET E.B.","Bookkeeping 51"
11258,45,"GUILE COMPLETE E.B.","Bookkeeping 52"
11303,68,"GUILE COMPLETE 50 MIL","Bookkeeping 53"
11371,62,"ROAMING NINJA ENTERED","Bookkeeping 54"
11433,69,"ROAMING NINJA COLLECT","Bookkeeping 55"
11502,59,"DOUBLE ROUND ENTERED","Bookkeeping 56"
11561,64,"DOUBLE ROUND COLLECT","Bookkeeping 57"
11625,55,"TIMES IN CAR CRUNCH","Bookkeeping 58"
11680,55,"CAR CRUNCH WON","Bookkeeping 59"
11735,53,"TORPEDO COMPLETE","Bookkeeping 60"
11788,50,"MULTIBALLS PLAYED","Bookkeeping 61"
11838,55,"JACKPOTS COLLECTED","Bookkeeping 62"
11893,18,"SUPER JACKPOTS","Bookkeeping 63"
11911,21,"1 DEFEAT","Bookkeeping 64"
11932,23,"2 DEFEATS","Bookkeeping 65"
11955,23,"3 DEFEATS","Bookkeeping 66"
11978,23,"4 DEFEATS","Bookkeeping 67"
12001,23,"5 DEFEATS","Bookkeeping 68"
12024,23,"6 DEFEATS","Bookkeeping 69"
12047,23,"7 DEFEATS","Bookkeeping 70"
12070,23,"8 DEFEATS","Bookkeeping 71"
12093,23,"9 DEFEATS","Bookkeeping 72"
12116,25,"10 DEFEATS","Bookkeeping 73"
12141,25,"11 DEFEATS","Bookkeeping 74"
12166,25,"12 DEFEATS","Bookkeeping 75"
12191,50,"GAME DIFFICULTY","GameSetting 47"
12241,61,"DEFEATING OPPONENTS","GameSetting 48"
12302,66,"SUPER JACKPOT SCORING","GameSetting 49"
12368,66,"TORPEDO ROUND SCORING","GameSetting 50"
12434,57,"ROUNDS MASTER TIMER","GameSetting 51"
12491,41,"MYSTERY EXTRA BALL","GameSetting 52"
12532,59,"EB TARGET LIT TIME","GameSetting 53"
12591,65,"LIGHT EB SPOT TARGET","GameSetting 54"
12656,34,"SPECIAL LANES","GameSetting 55"
12690,65,"ROAMING NINJA SCORING","GameSetting 56"
12755,61,"1-2 PUNCH ROUND TIME","GameSetting 57"
12816,58,"DOUBLE ROUND TIME","GameSetting 58"
12874,47,"LOOP SCORING","GameSetting 59"
12921,67,"MYSTERY SPECIAL TIME","GameSetting 60"
12988,60,"CAR CRUNCH SCORING","GameSetting 61"
13048,37,"GUILE EXTRA BALL","GameSetting 62"
13085,43,"HURRY-UP EXTRA BALL","GameSetting 63"
13128,45,"1-2 PUNCH EXTRA BALL","GameSetting 64"
13173,65,"MASTER SPECIAL AWARD","GameSetting 65"
13238,42,"BARREL ROUND","GameSetting 66"
13280,43,"BALL TIME SAFETY","GameSetting 67"
13323,15,"FIGHT AGAIN","Lamp 00"
13338,17,"CREDIT BUTTON","Lamp 01"
13355,13,"CAR GI #1","Lamp 02"
13368,13,"CAR GI #2","Lamp 03"
13381,13,"CAR GI #3","Lamp 04"
13394,13,"CAR GI #4","Lamp 05"
13407,13,"CAR GI #5","Lamp 06"
13420,13,"CAR GI #6","Lamp 07"
13433,16,"LEFT OUTLANE","Lamp 10"
13449,24,"LEFT RETURN ROLLOVER","Lamp 11"
13473,25,"RIGHT RETURN ROLLOVER","Lamp 12"
13498,17,"RIGHT OUTLANE","Lamp 13"
13515,22,"CHAMPION CHALLENGE","Lamp 14"
13537,22,"B.L. HOLE ""DOUBLE""","Lamp 15"
13559,23,"B.L.HOLE ""ADV TORP""","Lamp 16"
13582,23,"B.L. HOLE ""E-HONDA""","Lamp 17"
13605,22,"B.R. HOLE ""DOUBLE""","Lamp 20"
13627,25,"B.R.HOLE ""POWER MOVE""","Lamp 21"
13652,23,"B.R. HOLE ""M-BISON""","Lamp 22"
13675,22,"B.R. HOLE ""BALROG""","Lamp 23"
13697,20,"R. RAMP ""DOUBLE""","Lamp 24"
13717,24,"R. RAMP ""POWER MOVE""","Lamp 25"
13741,21,"R. RAMP ""CHUN-LI""","Lamp 26"
13762,18,"R. RAMP ""VEGA""","Lamp 27"
13780,25,"BOTTOM SPOT TARGET #1","Lamp 30"
13805,25,"BOTTOM SPOT TARGET #2","Lamp 31"
13830,20,"LOOP #1 ""DOUBLE""","Lamp 32"
13850,22,"LOOP #2 ""MILLIONS""","Lamp 33"
13872,25,"LOOP #3 ""KEN AND RYU""","Lamp 34"
13897,21,"SCOOP #1 ""DOUBLE""","Lamp 35"
13918,24,"SCOOP #2 ""ADV GUILE""","Lamp 36"
13942,20,"SCOOP #3 ""GUILE""","Lamp 37"
13962,20,"T.L. RO ""DOUBLE""","Lamp 40"
13982,25,"T.L. RO ""ADVANCE CAR""","Lamp 41"
14007,20,"T.L. RO ""BLANKA""","Lamp 42"
14027,22,"T.L. HOLE ""DOUBLE""","Lamp 43"
14049,21,"T.L. HOLE ""FLAME""","Lamp 44"
14070,23,"T.L. HOLE ""DHALSIM""","Lamp 45"
14093,25,"CENTER TARG ""EX-BALL""","Lamp 46"
14118,25,"""BRACELET VALUE"" TARG","Lamp 47"
14143,20,"L. RAMP ""DOUBLE""","Lamp 50"
14163,24,"L. RAMP ""POWER MOVE""","Lamp 51"
14187,21,"L. RAMP ""ZANGIEF""","Lamp 52"
14208,19,"L. RAMP ""SAGAT""","Lamp 53"
14227,17,"TOP LEFT SPOT","Lamp 54"
14244,19,"TOP CENTER SPOT","Lamp 55"
14263,18,"TOP RIGHT SPOT","Lamp 56"
14281,14,"POP BUMPER","Lamp 57"
14295,21,"LOWER PF ""WINNER""","Lamp 60"
14316,11,"LED ""F""","Lamp 61"
14327,11,"LED ""I""","Lamp 62"
14338,11,"LED ""G""","Lamp 63"
14349,11,"LED ""H""","Lamp 64"
14360,11,"LED ""T""","Lamp 65"
14371,11,"LED ""E""","Lamp 66"
14382,11,"LED ""R""","Lamp 67"
14393,11,"(SPARE)","Lamp 70"
14404,11,"(SPARE)","Lamp 71"
14415,11,"(SPARE)","Lamp 72"
14426,11,"(SPARE)","Lamp 73"
14437,11,"(SPARE)","Lamp 74"
14448,11,"(SPARE)","Lamp 75"
14459,11,"(SPARE)","Lamp 76"
14470,11,"(SPARE)","Lamp 77"
14481,11,"(SPARE)","Lamp 80"
14492,11,"(SPARE)","Lamp 81"
14503,11,"(SPARE)","Lamp 82"
14514,11,"(SPARE)","Lamp 83"
14525,11,"(SPARE)","Lamp 84"
14536,11,"(SPARE)","Lamp 85"
14547,11,"(SPARE)","Lamp 86"
14558,11,"(SPARE)","Lamp 87"
14569,11,"(SPARE)","Lamp 90"
14580,11,"(SPARE)","Lamp 91"
14591,11,"(SPARE)","Lamp 92"
14602,11,"(SPARE)","Lamp 93"
14613,11,"(SPARE)","Lamp 94"
14624,11,"(SPARE)","Lamp 95"
14635,11,"(SPARE)","Lamp 96"
14646,11,"(SPARE)","Lamp 97"
14657,11,"(SPARE)","Lamp A0"
14668,11,"(SPARE)","Lamp A1"
14679,11,"(SPARE)","Lamp A2"
14690,11,"(SPARE)","Lamp A3"
14701,11,"(SPARE)","Lamp A4"
14712,11,"(SPARE)","Lamp A5"
14723,11,"(SPARE)","Lamp A6"
14734,11,"(SPARE)","Lamp A7"
14745,11,"(SPARE)","Lamp B0"
14756,11,"(SPARE)","Lamp B1"
14767,11,"(SPARE)","Lamp B2"
14778,11,"(SPARE)","Lamp B3"
14789,11,"(SPARE)","Lamp B4"
14800,11,"(SPARE)","Lamp B5"
14811,11,"(SPARE)","Lamp B6"
14822,11,"(SPARE)","Lamp B7"
14833,22,"LEFT COIN CHUTE #1","Switch 00"
14855,23,"RIGHT COIN CHUTE #2","Switch 01"
14878,24,"CENTER COIN CHUTE #3","Switch 02"
14902,17,"COIN CHUTE #4","Switch 03"
14919,25,"START (CREDIT) BUTTON","Switch 04"
14944,14,"TOURNAMENT","Switch 05"
14958,24,"FRONT DOOR (SERVICE)","Switch 06"
14982,11,"(SPARE)","Switch 07"
14993,14,"POP BUMPER","Switch 10"
15007,21,"L. KICKING RUBBER","Switch 11"
15028,21,"R. KICKING RUBBER","Switch 12"
15049,17,"TOP LEFT HOLE","Switch 13"
15066,18,"TOP RIGHT HOLE","Switch 14"
15084,11,"CAR HIT","Switch 15"
15095,11,"(SPARE)","Switch 16"
15106,11,"(SPARE)","Switch 17"
15117,25,"INNER BRACELET TARGET","Switch 20"
15142,11,"OUTHOLE","Switch 21"
15153,25,"SHOOTER LANE ROLLOVER","Switch 22"
15178,11,"(SPARE)","Switch 23"
15189,11,"(SPARE)","Switch 24"
15200,11,"(SPARE)","Switch 25"
15211,11,"(SPARE)","Switch 26"
15222,11,"(SPARE)","Switch 27"
15233,25,"OUTER BRACELET TARGET","Switch 30"
15258,10,"TROUGH","Switch 31"
15268,8,"LOOP","Switch 32"
15276,18,"B. L. UPKICKER","Switch 33"
15294,15,"R. UPKICKER","Switch 34"
15309,11,"(SPARE)","Switch 35"
15320,11,"(SPARE)","Switch 36"
15331,11,"(SPARE)","Switch 37"
15342,11,"(SPARE)","Switch 40"
15353,11,"(SPARE)","Switch 41"
15364,11,"(SPARE)","Switch 42"
15375,11,"(SPARE)","Switch 43"
15386,11,"(SPARE)","Switch 44"
15397,11,"(SPARE)","Switch 45"
15408,11,"(SPARE)","Switch 46"
15419,11,"(SPARE)","Switch 47"
15430,11,"(SPARE)","Switch 50"
15441,11,"(SPARE)","Switch 51"
15452,11,"(SPARE)","Switch 52"
15463,11,"(SPARE)","Switch 53"
15474,11,"(SPARE)","Switch 54"
15485,11,"(SPARE)","Switch 55"
15496,11,"(SPARE)","Switch 56"
15507,11,"(SPARE)","Switch 57"
15518,11,"(SPARE)","Switch 60"
15529,11,"(SPARE)","Switch 61"
15540,11,"(SPARE)","Switch 62"
15551,11,"(SPARE)","Switch 63"
15562,11,"(SPARE)","Switch 64"
15573,11,"(SPARE)","Switch 65"
15584,11,"(SPARE)","Switch 66"
15595,11,"(SPARE)","Switch 67"
15606,11,"(SPARE)","Switch 70"
15617,11,"(SPARE)","Switch 71"
15628,11,"(SPARE)","Switch 72"
15639,11,"(SPARE)","Switch 73"
15650,11,"(SPARE)","Switch 74"
15661,11,"(SPARE)","Switch 75"
15672,11,"(SPARE)","Switch 76"
15683,11,"(SPARE)","Switch 77"
15694,25,"L. TROUGH RAMP (OPTO)","Switch 80"
15719,22,"CAR SMASHED (OPTO)","Switch 81"
15741,16,"LEFT FLIPPER","Switch 82"
15757,17,"RIGHT FLIPPER","Switch 83"
15774,11,"(SPARE)","Switch 84"
15785,11,"(SPARE)","Switch 85"
15796,11,"(SPARE)","Switch 86"
15807,11,"(SPARE)","Switch 87"
15818,25,"R. TROUGH RAMP (OPTO)","Switch 90"
15843,23,"L. WIRE RAMP (OPTO)","Switch 91"
15866,24,"TOP LEFT TARGET (WH)","Switch 92"
15890,25,"CENTER TARGET 1 (RED)","Switch 93"
15915,25,"R.SIDE TARGET 1 (RED)","Switch 94"
15940,16,"LEFT OUTLANE","Switch 95"
15956,17,"RIGHT OUTLANE","Switch 96"
15973,11,"(SPARE)","Switch 97"
15984,24,"TOP LEFT RAMP (OPTO)","Switch A0"
16008,25,"CENTR WIRE RAMP(OPTO)","Switch A1"
16033,25,"TOP CENTER TARGET(WH)","Switch A2"
16058,24,"CENTER TARGET 2 (WH)","Switch A3"
16082,25,"R.SIDE TARGET 2 (RED)","Switch A4"
16107,22,"L. RETURN ROLLOVER","Switch A5"
16129,22,"R. RETURN ROLLOVER","Switch A6"
16151,11,"(SPARE)","Switch A7"
16162,25,"TOP RIGHT RAMP (OPTO)","Switch B0"
16187,25,"RIGHT WIRE RAMP(OPTO)","Switch B1"
16212,25,"TOP RIGHT TARGET (WH)","Switch B2"
16237,25,"CENTER TARGET 3 (RED)","Switch B3"
16262,21,"TOP LEFT ROLLOVER","Switch B4"
16283,23,"TOP CENTER ROLLOVER","Switch B5"
16306,22,"TOP RIGHT ROLLOVER","Switch B6"
16328,11,"(SPARE)","Switch B7"
16339,14,"POP BUMPER","Solenoid 00"
16384,24,"RIGHT KICKING RUBBER","Solenoid 01"
16353,23,"LEFT KICKING RUBBER","Solenoid 02"
16408,24,"BOTTOM LEFT UPKICKER","Solenoid 03"
16432,25,"BOTTOM RIGHT UPKICKER","Solenoid 04"
16457,21,"LEFT PLUNGER GATE","Solenoid 05"
16478,22,"RIGHT PLUNGER GATE","Solenoid 06"
16500,18,"LEFT RAMP FLAP","Solenoid 07"
16518,19,"RIGHT RAMP FLAP","Solenoid 10"
16537,17,"TOP LEFT HOLE","Solenoid 11"
16554,18,"TOP RIGHT HOLE","Solenoid 12"
16572,11,"(SPARE)","Solenoid 13"
16583,11,"(SPARE)","Solenoid 14"
16594,13,"CAR RESET","Solenoid 15"
16607,15,"TOP LEFT 67","Solenoid 16"
16622,17,"LIGHTSTRIP 67","Solenoid 17"
16639,18,"BOTTOM LEFT 67","Solenoid 20"
16657,16,"LEFT RAMP 67","Solenoid 21"
16673,19,"LEFT FLIPPER 67","Solenoid 22"
16692,19,"BOTTOM RIGHT 67","Solenoid 23"
16711,19,"CENTER RIGHT 67","Solenoid 24"
16730,16,"TOP RIGHT 67","Solenoid 25"
16746,20,"RIGHT FLIPPER 67","Solenoid 26"
16766,21,"FLIPPER RELAY (S)","Solenoid 27"
16787,19,"MOTOR RELAY (B)","Solenoid 30"
16806,25,"LIGHTBOX GI RELAY (A)","Solenoid 31"
16831,21,"TICKET/COIN METER","Solenoid 32"
16852,16,"BALL RELEASE","Solenoid 33"
16868,11,"OUTHOLE","Solenoid 34"
16879,11,"KNOCKER","Solenoid 35"
16890,18,"TILT RELAY (T)","Solenoid 36"
16908,23,"GAME OVER RELAY (Q)","Solenoid 37"
16931,16,"AUX DRIVER 0"
16947,16,"AUX DRIVER 1"
16963,16,"AUX DRIVER 2"
16979,16,"AUX DRIVER 3"
16995,16,"AUX DRIVER 4"
17011,16,"AUX DRIVER 5"
17027,16,"AUX DRIVER 6"
39140,12,"NMI Err "
39152,12,"IRQ Err "
39164,13,"RSRC Err "
39177,13,"FONT Err "
39190,13,"DLST Err "
39203,7,"1st"
39210,7,"2nd"
39217,7,"3rd"
39224,7,"4th"
39231,7,"5th"
39238,9,"First"
39247,10,"Second"
39257,9,"Third"
39266,10,"Fourth"
39276,9,"Fifth"
39285,29,"CREDITS ","Shown on score screen, needs a trailing space"
39314,23,"BALL ","Shown on score screen, needs a trailing space"
39337,28,"PLAYER ","Shown on score screen, needs a trailing space"
39365,24,"GAME OVER"
39389,44,"FREE PLAY"
39433,57,"TILT SWITCH CLOSED"
39490,61,"ALL CREDITS ERASED"
39551,61,"INSERT ANOTHER COIN"
39612,9,"Break"
39621,8,"TILT"
39629,54,"You have beaten the"
39683,51,"highest game to date"
39734,50,"CONTINUE PLAY ?"
39784,6,"OK"
39790,30,"SHOOT AGAIN"
39820,46,"TOURNAMENT MODE"
39866,58,"L FLIPPER TO STEP"
39924,60,"R FLIPPER TO SELECT"
39984,34,"EXITING"
40018,43,"TOURNAMENT MODE"
40061,32,"WARNING!"
40093,57,"Ball missing or stuck"
40150,67,"Place 1 ball in outhole"
40217,63,"ALL SWITCHES OPEN"
40280,12,"by"
40292,58,"GPROM ERROR (U2)"
40350,25,"ERROR"
40375,63,"ZERO L + <R> STEPS?"
40438,27,"DONE"
40465,58,"ZERO <RIGHT> STEPS?"
40523,22," "
40545,56,"HIGH GAME TO DATE"
40601,63,"CREDIT BUTTON LOADS"
40664,66,"PUSH RIGHT FLIPPER"
40730,68,"TO CHANGE LANGUAGE"
40798,40,"FACTORY SETTINGS"
40838,36,"LOADED"
40874,45,"(NOT USED)"
40919,52,"RAM ERROR (U3)"
40971,60,"CREDIT BUTTON = YES"
41031,56,"TEST BUTTON = NO"
41087,63,"CREDIT BUTTON LOADS"
41150,59,"FACTORY SETTINGS"
41209,57,"PUSH TEST BUTTON"
41266,61,"FOR GAME ADJUSTMENTS"
41327,38,"EXTRA BALL"
41365,19,"SPECIAL"
41384,8,"SLAM"
41392,15,"TILT"
41407,32,"WARNING!"
41439,30,"BILLION"
41469,34,"TEST MODE"
41503,35,"WORKING..."
41538,40,"PLEASE WAIT"
41578,32,"WARNING!"
41610,53,"COMMUNICATIONS ADAPTER"
41663,49,"NOT RESPONDING"
41712,41,"PRINTING..."
41753,59,"GPROM CHECKSUM-","Shown after powering on and during memory test"
41812,50,"SWITCH SHORT"
41862,25,"RETURN"
41887,43,"REMOVE JP2,"
41930,33,"ADD JP1"
41963,54,"You have beaten the"
42017,51,"highest game to date"
42068,28,"PLAYER "
42096,25," HAS "
42121,46,"EXTRA BALLS LEFT"
42167,43,"EXTRA BALL LEFT"
42210,17,"MATCH"
42227,56,"CONTROL BOARD ERROR"
42283,62,"U1 MUST BE A 65C02"
42345,49,"Enter Initials"
42394,28,"Player "
42422,56,"LOW BATTERY or"
42478,51,"BAD U3 or U6"
42529,44,"FREE PLAY = "
42573,55,"GAME FEATURES = "
42628,53,"SPECIAL/REPLAY = "
42681,31,"EXTRA BALL = "
42712,70,"CLOSE DOOR TO BEGIN PLAY"
42782,21,"SWITCH:"
42803,41,"COIN CHUTES:"
42844,10,"(A1P4-"
42854,28,") to (A6P1-"
42882,5,")"
42887,17,"LAMP:","Lamp Matrix test"
42904,29,"SOLENOID:","Solenoid test"
42933,20,"DRIVER:","AUX Driver Test"
42953,46,"BOOKKEEPING"
42999,57,"GAME ADJUSTMENTS"
43056,43,"SELF-TEST"
43099,36,"UTILITIES"
43135,60,"PRINTER SET-UP"
43195,27,"PRINT"
43222,43,"ID NUMBERS"
43265,40,"BURN-IN"
43305,25,"EXIT"
43330,45,"PRINTER TYPE: "
43375,52,"BAUD RATE: "
43427,43,"DATA BITS: "
43470,32,"PARITY: "
43502,25,"EXIT"
43527,12,"NSM DATA"
43539,16,"SERIAL"
43555,38,"REPLAY AT"
43593,49,"EXTRA BALL AT"
43642,37,"TICKETS AT"
43679,10,", ID #"
43689,66,"ENTER GAME ID NUMBER"
43755,65,"USE FLIPPERS TO CHANGE"
43820,66,"CREDIT BUTTON TO ENTER"
43886,37,"BOOKKEEPING"
43923,58,"SHORT BOOKKEEPING"
43981,25,"EXIT"
44006,27,"PRINT"
44033,52,"MEMORY DUMP"
44085,25,"EXIT"
44110,65,"ENTER ARCADE ID NUMBER"
44175,65,"USE FLIPPERS TO CHANGE"
44240,66,"CREDIT BUTTON TO ENTER"
44306,35,"ARCADE ID"
44341,37,"GAME ID"
44378,25,"EXIT"
44403,34,"TEST MODE"
44437,51,"BOOKKEEPING"
44488,57,"GAME ADJUSTMENTS"
44545,43,"SELF-TEST"
44588,40,"BURN-IN"
44628,64,"PUSH RIGHT FLIPPER"
44692,68,"USE FLIPPERS TO RESET"
44760,70,"FLASHES ALL CONTROLLED"
44830,56,"LAMPS AND FLASH LAMPS"
44886,67,"INOPERATIVE SWITCHES","TestMode 0"
44953,42,"MEMORY TEST","TestMode 1"
44995,44,"LAMP CHECK","TestMode 2"
45039,58,"LAMP MATRIX TEST","TestMode 3"
45097,64,"RELAY & SOLENOID TEST","TestMode 4"
45161,58,"SWITCH MATRIX TEST","TestMode 5"
45219,44,"DISPLAY TEST","TestMenu 6"
45263,31,"SOUND TEST","TestMenu 7"
45294,57,"FRONT DOOR TEST","TestMode 1"
45351,53,"AUX DRIVER TEST","TestMode 9"
45404,29,"SEPARATE","MenuString 0"
45433,23,"SAME","MenuString 1"
45456,15,"OFF","MenuString 2"
45471,14,"ON","MenuString 3"
45485,21,"NONE","MenuString 4"
45506,42,"1 PER PLAYER","MenuString 5"
45548,27,"SAVE","MenuString 6"
45575,27,"ERASE","MenuString 7"
45602,38,"VERY EASY","MenuString 8"
45640,22,"EASY","MenuString 9"
45662,23,"MEDIUM","MenuString 10"
45685,25,"HARD","MenuString 11"
45710,40,"VERY HARD","MenuString 12"
45750,25,"FINE-TUNE","MenuString 13"
45775,27,"REPLAY","MenuString 14, GameMode 0"
45802,36,"REPLAY & TICKETS","MenuString 15, GameMode 1"
45838,33,"TICKETS ONLY","MenuString 16, GameMode 2"
45871,32,"ADD A BALL","MenuString 17, GameMode 3"
45903,11,"NOVELTY","MenuString 18, GameMode 4"
45914,28,"ENGLISH","MenuString 19, Language 0"
45942,27,"GERMAN","MenuString 20, Language 1"
45969,32,"FRENCH","MenuString 21, Language 2"
46001,38,"EXTRA BALL","MenuString 22"
46039,45,"(NOT USED)","MenuString 23"
46084,20,"IN","MenuString 24"
46104,27,"OUT","MenuString 25"
46131,10,"NORMAL","MenuString 26"
46141,31,"TOURNAMENT","MenuString 27"
46172,17,"POINTS","MenuString 28"
46189,20,"EVEN","MenuString 29"
46209,23,"ODD","MenuString 30"
46232,15,"Australia 1"
46247,23,"1/3x20›, 2/$1, 5/$2"
46270,15,"Australia 2"
46285,23,"1/5x20›, 1/$1, 3/$2"
46308,15,"Australia 3"
46323,23,"1/5x20›, 1/$1, 2/$2"
46346,11,"Belgium"
46357,26,"1/20Fr, 2/40Fr, 3/50Fr"
46383,10,"Canada"
46393,22,"1/50›, 2/75›, 3/$1"
46415,18,"Canary Islands"
46433,17,"1/25P, 4/100P"
46450,11,"Denmark"
46461,19,"1/3x1Kr, 4/10Kr"
46480,11,"Finland"
46491,23,"1/3x1 Mka, 2/5 Mkaa"
46514,12,"France 1"
46526,26,"1/3x1Fr, 2/5Fr, 5/10Fr"
46552,12,"France 2"
46564,25,"2/5Fr, 4/10Fr, 9/20Fr"
46589,12,"France 3"
46601,25,"1/5Fr, 3/10Fr, 7/20Fr"
46626,13,"Germany 1"
46639,23,"1/1DM, 2/2DM, 6/5DM"
46662,13,"Germany 2"
46675,27,"1/2DM,2/3DM,3/4DM,5/5DM"
46702,13,"Germany 3"
46715,16,"1/2DM, 3/5DM"
46731,9,"Italy"
46740,22,"1/2x500L, 3/4x500L"
46762,9,"Japan"
46771,26,"1/100 Yen, 3/2x100 Yen"
46797,15,"New Zealand"
46812,14,"1/$1, 3/$2"
46826,10,"Norway"
46836,17,"1/5Kr, 2/10Kr"
46853,9,"Spain"
46862,18,"1/100P, 6/500P"
46880,10,"Sweden"
46890,17,"1/5Kr, 2/10Kr"
46907,15,"Switzerland"
46922,23,"1/1Fr, 3/2Fr, 7/5Fr"
46945,20,"United Kingdom 1"
46965,21,"1/30P, 2/50P, 4/œ"
46986,20,"United Kingdom 2"
47006,14,"1/50P, 3/œ"
47020,13,"Universal"
47033,12,"1/1 coin"
47045,17,"United States"
47062,22,"1/50›, 2/75›, 3/$1"
47084,40,"CUSTOM"
47124,5," "
47129,43,"TOTAL EARNINGS","Bookkeeoing 1"
47172,50,"TOTAL PLAYS","Bookkeeoing 2"
47222,53,"BALL TIME","Bookkeeoing 3"
47275,54,"GAME TIME","Bookkeeoing 4"
47329,59,"TOTAL EXTRA BALLS","Bookkeeoing 5"
47388,53,"PERCENT EXTRA BALLS","Bookkeeoing 6"
47441,53,"TOTAL REPLAYS","Bookkeeoing 7"
47494,59,"PERCENT REPLAYS","Bookkeeoing 8"
47553,45,"PLAYFIELD SPECIALS","Bookkeeoing 9"
47598,58,"SCORE LEVEL REPLAYS","Bookkeeoing 10"
47656,54,"HIGH GAME REPLAYS","Bookkeeoing 11"
47710,42,"MATCH REPLAYS","Bookkeeoing 12"
47752,41,"TOTAL TILTS","Bookkeeoing 13"
47793,45,"TILT WARNINGS","Bookkeeoing 14"
47838,56,"SERVICE CREDITS","Bookkeeoing 15"
47894,58,"TOTAL PLAYS PAID","Bookkeeoing 16"
47952,61,"CHUTE 1 COINS (L)","Bookkeeoing 17"
48013,60,"CHUTE 2 COINS (R)","Bookkeeoing 18"
48073,62,"CHUTE 3 COINS (C)","Bookkeeoing 19"
48135,44,"CHUTE 4 COINS","Bookkeeoing 20"
48179,60,"INCOMPLETE GAMES","Bookkeeoing 21"
48239,63," 0.0- 24.9M SCORES","Bookkeeoing 22"
48302,63," 25.0- 49.9M SCORES","Bookkeeoing 23"
48365,63," 50.0- 69.9M SCORES","Bookkeeoing 24"
48428,63," 70.0- 79.9M SCORES","Bookkeeoing 25"
48491,63," 80.0- 89.9M SCORES","Bookkeeoing 26"
48554,63," 90.0- 99.9M SCORES","Bookkeeoing 27"
48617,63,"100.0-124.9M SCORES","Bookkeeoing 28"
48680,63,"125.0-149.9M SCORES","Bookkeeoing 29"
48743,63,"150.0-199.9M SCORES","Bookkeeoing 30"
48806,63,"200.0-299.9M SCORES","Bookkeeoing 31"
48869,63,"300.0-399.9M SCORES","Bookkeeoing 32"
48932,48,"400.0M+ SCORES","Bookkeeoing 33"
48980,57,"FIRST REPLAY LEVEL","Bookkeeoing 34"
49037,63,"HIGHEST GAME TO DATE","Bookkeeoing 35"
49152,61,"LOWEST GAME TO DATE","Bookkeeoing 36"
49213,66," 1-15 SEC. BALL TIME","Bookkeeoing 37"
49279,67,"16-30 SEC. BALL TIME","Bookkeeoing 38"
49346,67,"31-45 SEC. BALL TIME","Bookkeeoing 39"
49413,67,"46-60 SEC. BALL TIME","Bookkeeoing 40"
49480,62,"61+ SEC. BALL TIME","Bookkeeoing 41"
49542,61,"% L OUTLANE DRAINS","Bookkeeoing 42"
49603,61,"% R OUTLANE DRAINS","Bookkeeoing 43"
49664,57,"FIRST REPLAY LEVEL","GameSetting 1"
49721,59,"SECOND REPLAY LEVEL","GameSetting 2"
49780,58,"THIRD REPLAY LEVEL","GameSetting 3"
49838,63,"HIGHEST GAME TO DATE","GameSetting 4"
49901,62,"HIGH GAME TO DATE 2","GameSetting 5"
49963,62,"HIGH GAME TO DATE 3","GameSetting 6"
50025,62,"HIGH GAME TO DATE 4","GameSetting 7"
50087,62,"HIGH GAME TO DATE 5","GameSetting 8"
50149,47,"GAME PRICING","GameSetting 9"
50196,63,"(L) CHUTE 1 UNITS","GameSetting 10"
50259,63,"(R) CHUTE 2 UNITS","GameSetting 11"
50322,63,"(C) CHUTE 3 UNITS","GameSetting 12"
50385,52,"CHUTE 4 UNITS","GameSetting 13"
50437,50,"UNITS/CREDIT","GameSetting 14"
50487,61,"UNITS/BONUS CREDIT","GameSetting 15"
50548,44,"BONUS CREDITS","GameSetting 16"
50592,50,"MINIMUM UNITS","GameSetting 17"
50642,44,"COIN METER","GameSetting 18"
50686,40,"CHUTE 1 PULSES = ","GameSetting 19"
50726,40,"CHUTE 2 PULSES = ","GameSetting 20"
50766,40,"CHUTE 3 PULSES = ","GameSetting 21"
50806,40,"CHUTE 4 PULSES = ","GameSetting 22"
50846,51,"COIN DOOR TYPE","GameSetting 23"
50897,40,"COLLECTION TEXT","GameSetting 24"
50937,46,"CHUTE 1 VALUE","GameSetting 25"
50983,46,"CHUTE 2 VALUE","GameSetting 26"
51029,46,"CHUTE 3 VALUE","GameSetting 27"
51075,46,"CHUTE 4 VALUE","GameSetting 28"
51121,58,"1 COIN BUY-IN BONUS","GameSetting 29"
51179,61,"GAME PERCENT PAYOUT","GameSetting 30"
51240,52,"MATCH PERCENT PAYOUT","GameSetting 31"
51292,62,"HIGH GAME REPLAYS","GameSetting 32"
51354,55,"MAXIMUM CREDITS","GameSetting 33"
51409,46,"TILT WARNINGS","GameSetting 34"
51455,53,"BALLS PER GAME","GameSetting 35"
51508,35,"GAME MODE","GameSetting 36"
51543,28,"TICKETS TO AWARD","GameSetting 37"
51571,20,"LANGUAGE","GameSetting 38"
51591,47,"AUTO PERCENTAGING","GameSetting 39"
51638,51,"REPLAY LIMIT","GameSetting 40"
51689,55,"HIGH GAMES 2-5","GameSetting 41"
51744,48,"ATTRACT SOUND","GameSetting 42"
51792,47,"ATTRACT MESSAGE","GameSetting 43"
51839,67,"RIGHT BOOK AUTO-RESET","GameSetting 44"
51906,55,"PLAYFIELD SPECIAL","GameSetting 45"
51961,44,"REPLAY LEVEL BOOST","GameSetting 46"
52005,13,"Australia","CountryCode 0"
52018,11,"Belgium","CountryCode 1"
52029,10,"Canada","CountryCode 2"
52039,18,"Canary Islands","CountryCode 3"
52057,11,"Denmark","CountryCode 4"
52068,11,"Finland","CountryCode 5"
52079,10,"France","CountryCode 6"
52089,11,"Germany","CountryCode 7"
52100,9,"Italy","CountryCode 8"
52109,9,"Japan","CountryCode 9"
52118,15,"New Zealand","CountryCode 10"
52133,10,"Norway","CountryCode 11"
52143,9,"Spain","CountryCode 12"
52152,10,"Sweden","CountryCode 13"
52162,15,"Switzerland","CountryCode 14"
52177,18,"United Kingdom","CountryCode 15"
52195,13,"Universal","CountryCode 16"
52208,17,"United States","CountryCode 17"
52225,30,"CUSTOM","CountryCode 18"
52255,11,"Dollars"
52266,10,"Kronor"
52276,12,"Guilders"
52288,11,"Pesetas"
52299,10,"Kroner"
52309,11,"Markkaa"
52320,10,"Francs"
52330,17,"Deutsche Mark"
52347,8,"Lire"
52355,7,"Yen"
52362,9,"Cents"
52371,6,"Fl"
52377,5,"D"
52382,9,"Pesos"
52391,14,"Schillings"
52405,10,"Pounds"
52415,16,"Coins"
52431,10,"Tokens"
52441,63,"Use flipper to"
52504,54,"smash the car!"
52558,81,"You are the new MASTER!"
52639,44,"Licensed from"
52683,24,"MULTIBALL"
52707,52,"SHOOT THE BALL"
52759,50,"BALL STUCK"
52809,61,"CALL SERVICEPERSON"
52870,27,"EARLY"
52897,27,"LATE"
52924,84,"Defeat next opponent to"
53008,78,"enter Champion Challenge"
53086,12,"Champion"
53098,13,"Challenge"
53111,80,"Defeat all opponents for"
53191,54,"500 MILLION"
53245,33,"Defeated "
53278,63,"You have defeated "
53341,62," Opponents remaining"
53403,59,"1 Opponent remaining"
53462,68,"HIT BRACELET TARGET FOR"
53530,31,"Torpedo Total"
53561,31,"Torpedo Bonus"
53592,36,"THE MASTER"
53628,34,"Car Crunch Bonus"
53662,24,"FIGHTER "
53686,27,"Shoot now"
53713,19,"SET"
53732,27,"READY"
53759,70,"CHOOSE WITH FLIPPERS"
53829,73,"COMPLETE FOR EXTRA BALL"
53902,74,"COMPLETE FOR 50 MILLION"
53976,47,"NEXT SHOT - "
54023,45," MIL PER LOOP"
54068,56,"NEXT CHUN-LI - "
54124,22," MILLION"
54146,75,"COMPLETE FOR MULTIBALL"
54221,11,"BLANKA-"
54232,54,"CAR CRUSH AT "
54286,32," Million"
54318,64,"KICK ALL BARRELS"
54382,45,"Roaming Ninjas Bonus"
54427,24,"HIT"
54451,54,"STROBING SHOTS"
54505,47,"NEXT HIT = "
54552,15,"1 - 2 Punch"
54567,79,"SHOOT BLANKA FOR 'EXTRA'"
54646,82,"SHOOT BLANKA FOR 25 MILLION"
54728,67,"SHOOT KEN FOR 'BALL'"
54795,78,"SHOOT KEN FOR 50 MILLION"
54873,42,"Double Round"
54915,73,"COMPLETE ALL 4 SHOTS TO"
54988,69,"DOUBLE ENTIRE SCORE"
55057,48,"NEXT SHOT = "
55105,10,"DOUBLE"
55115,81,"STROBING HOLE FOR BONUS"
55196,64,"Every Target adds"
55260,55,"to Torpedo Bonus"
55315,24,"MULTIBALL"
55339,64,"EVERY STROBING SHOT"
55403,55,"COLLECTS JACKPOT"
55458,14,"JACKPOT = "
55472,11,"JACKPOT"
55483,9,"GUILE","OpponentHint 0"
55492,83,"Each shot adds a letter","OpponentHint 0"
55575,79,"Complete for EXTRA BALL","OpponentHint 0"
55654,13,"KEN & RYU","OpponentHint 1"
55667,84,"Each shot scores 1 Million","OpponentHint 1"
55751,79,"per loop times shot number","OpponentHint 1"
55830,11,"CHUN-LI","OpponentHint 2"
55841,88,"Each shot scores 5 Million","OpponentHint 2"
55929,70,"more, up to 20 Million","OpponentHint 2"
55999,11,"ZANGIEF","OpponentHint 3"
56010,56,"Scores 3 Million","OpponentHint 3"
56066,5," ","OpponentHint 3"
56071,21,"E.HONDA & M.BISON","OpponentHint 4"
56092,79,"Each shot adds a letter","OpponentHint 4"
56171,71,"to T-O-R-P-E-D-O","OpponentHint 4"
56242,10,"BLANKA","OpponentHint 5"
56252,76,"Shoot multiple times","OpponentHint 5"
56328,63,"for car crush round","OpponentHint 5"
56391,11,"DHALSIM","OpponentHint 6"
56402,56,"Scores 2 Million","OpponentHint 6"
56458,5," ","OpponentHint 6"
56463,10,"BALROG","OpponentHint 7"
56473,84,"Each shot scores 1 Million","OpponentHint 7"
56557,60,"times shot number","OpponentHint 7"
56617,8,"VEGA","OpponentHint 8"
56625,61,"Shoot VEGA for","OpponentHint 8"
56686,38,"MYSTERY award","OpponentHint 8"
56724,9,"SAGAT","OpponentHint 9"
56733,68,"Smash all barrels","OpponentHint 9"
56801,59,"for MULTIBALL","OpponentHint 9"
56860,7,"Ryu","Opponent 0"
56867,7,"Ken","Opponent 1"
56874,9,"Guile","Opponent 2"
56883,11,"Chun-li","Opponent 3"
56894,10,"Blanka","Opponent 4"
56904,8,"Vega","Opponent 5"
56912,11,"Zangief","Opponent 6"
56923,11,"Dhalsim","Opponent 7"
56934,9,"Sagat","Opponent 8"
56943,10,"Balrog","Opponent 9"
56953,11,"E.Honda","Opponent 10"
56964,11,"M.Bison","Opponent 11"
56975,7,"RYU","Opponent 0"
56982,7,"KEN","Opponent 1"
56989,9,"GUILE","Opponent 2"
56998,11,"CHUN-LI","Opponent 3"
57009,10,"BLANKA","Opponent 4"
57019,8,"VEGA","Opponent 5"
57027,11,"ZANGIEF","Opponent 6"
57038,11,"DHALSIM","Opponent 7"
57049,9,"SAGAT","Opponent 8"
57058,10,"BALROG","Opponent 9"
57068,11,"E.HONDA","Opponent 10"
57079,11,"M.BISON","Opponent 11"
57090,10,"Brazil"
57100,9,"China"
57109,9,"India"
57118,9,"Japan"
57127,9,"Spain"
57136,12,"Thailand"
57148,10,"U.S.A."
57158,12,"U.S.S.R."
57170,5,"?"
57175,36,"3 Million","RewardLeft 0"
57211,36,"5 Million","RewardLeft 1"
57247,39,"10 Million","RewardLeft 2"
57286,17,"Hurry-up E.B.","RewardLeft 3"
57303,59,"Complete FIGHTER","RewardLeft 4"
57362,49,"Add 2 to GUILE","RewardLeft 5"
57411,55,"Add 3 to TORPEDO","RewardLeft 6"
57466,22,"Car Crunch","RewardRight 0"
57488,24,"Multiball","RewardRight 1"
57512,66,"Roaming Ninjas Round","RewardRight 2"
57578,21,"Count-Up","RewardRight 3"
57599,13,"1-2 Punch","RewardRight 4"
57612,29,"DOUBLE Round","RewardRight 5"
57641,30,"Add 2 to GUILE","MysteryReward 0"
57671,71,"Start Mystery Special","MysteryReward 1"
57742,14,"Extra Ball","MysteryReward 2"
57756,39,"10 Million","MysteryReward 3"
57795,39,"20 Million","MysteryReward 4"
57834,55,"Add 2 to TORPEDO","MysteryReward 5"
57889,55,"Add 1 to FIGHTER","MysteryReward 6"
57944,55,"Add 2 to FIGHTER","MysteryReward 7"
57999,50,"Advance Chun-li","MysteryReward 8"
58049,48,"Count-up Round","MysteryReward 9"
58097,40,"Bracelet Countdown","MysteryReward 10"
58137,43,"Instant Multiball","MysteryReward 11"
58180,63,"Instant Torpedo Ball","MysteryReward 12"
58243,39,"15 Million","MysteryReward 13"
#!/usr/bin/python3
import os
import csv
romPath = 'ROMs/dsprom.rom'
csvPath = 'dsprom.csv'
with open(romPath, 'rb') as file:
output = open(csvPath, 'w')
output.write(f'offset,length,original,comment,alternate\n');
offset = 0
index = 0
while True:
if index == 0:
offset = 0x2a00
if index == 251:
offset = 0x4000
if index == 288:
offset = 0x98e4
if index == 564:
offset = 0xC000
if index == 808:
break
file.seek(offset, 0)
offsets = file.read(3)
offsetEN = offsets[0]
offsetDE = offsets[1]
offsetFR = offsets[2]
result = bytearray()
while (byte := file.read(1)) and byte != b'\x00':
result.extend(byte)
maxLength = offsetEN + len(result) + 1
string = result.decode('latin-1')
if offsetDE != offsetEN:
result = bytearray()
while (byte := file.read(1)) and byte != b'\x00':
result.extend(byte)
maxLength = max(maxLength, offsetDE + len(result) + 1)
if offsetFR != offsetEN:
result = bytearray()
while (byte := file.read(1)) and byte != b'\x00':
result.extend(byte)
maxLength = max(maxLength, offsetFR + len(result) + 1)
csvstring = string.replace('"', '""')
print(f'{index},{offset},{maxLength},{string}')
output.write(f'{offset},{maxLength},"{csvstring}"\n')
offset += maxLength
index += 1
#!/usr/bin/python3
import os
import csv
csvPath = 'dsprom.csv'
romPath = 'ROMsPatched/dsprom.rom'
with open(csvPath, 'r', newline='\n') as csvfile:
with open(romPath, 'rb+') as output:
reader = csv.DictReader(csvfile, delimiter=',', quotechar='"')
for row in reader:
string = row['alternate']
if string == None:
continue
offset = int(row['offset'])
availableLength = int(row['length'])
data = string.encode('latin-1')
actualLength = 3 + len(data) + 1
if actualLength > availableLength:
print(f'ERROR: {offset} {availableLength} {actualLength} {data}')
continue
# The data structure looks like this
# offsetEN,offsetDE,offsetFR,stringEN,\0,[stringDE,\0],[stringFR,\0]
# Sometimes not all languages are specified, the offsets are identical
# The first offset is always b'3'
# This scripts only supports a single language.
# All offsets will be the same.
# But this gives you more wiggle room for longer strings.
output.seek(offset, 0)
output.write(bytes([ 3, 3, 3 ]))
output.write(data)
output.write(bytes([ 0 ] * (1 + availableLength - actualLength)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment