J.League Dynamite Soccer 64 USA Localization Patch

Introduction:
  There was a bit of contention after J.League Live 64 if I had translated the worst or penworst football game on the platform.  With this, the matter can be laid to rest.

  A predominatly sprite-based game, unoriginal and already inferior by 4th generation console standards, "J.League Dynamite Soccer 64" is a strong contender for the worst N64 football title.  It is, however, easy to play with simple to pick up, arcade-style controls.
  Based off the older Excite Stage codebase, it was developed simultaneously with an unreleased PSX version, a fair amount of which was accidentally compiled into this one.  This is the only Dynamite title to exclusively use Japanese clubs; later PSX releases use generic international teams and rework most of the UI, gameplay, and, frankly, everything else.

  A Controller Pak is required to save game data.  You will need 1 Note and 21 Pages.
  Like many early N64 titles, the game gets rather confused when it looks for a mempak and finds something else.  If you receive a vague Controller Pak error and have anything other than a mempak inserted, remove it.
  Also like many early N64 titles, all saved data (except team formations) is read from and saved to only controller 1.  Other players can import team formations and delete saved data via the options menu, but only the first controller is used for transfered players and league progress.


Patching:
  The patch will only apply to a ROM in native byte order (big-endian).  Attempting to patch something else will result in a completely unhelpful checksum error.  Xdelta patches can be applied with the aptly-named xdelta patcher, predictably, from xdelta.org.

Common Name:
J.League Dynamite Soccer 64 (Japan).n64
Internal Checksum:
87766747 91C27165
MD5:
1247B093E0FD6CCFD50D15DE59301076
SHA512:
662CF8F000EA045B3E8FC24A1A971997AB18BAFB3BCA50566E7FDD08B63FAF1FC20729AD132B61469F14C221CDCC7A0DCC993FE5C68F659AAF24135DF5B0654A

Patched MD5:
370ECC8FD86D6D5FD938B0550EBEC9A4
Patched SHA512:
05101749566088B98A436BBA27180F92AF412B663599B292166B1D942C5D8757A5EC2B9D256487C700E4C70A6EEB51FFB16E87193FBE1738FA03ACD836597B34


Notes:
  The command line option buffer has been relocated to 0x18 in the header, since the only valid option is '-d' and this works better with my setup.
  Apologies to CRT users.  The stadium and prefecture names will be well-nigh illegible on your sets (they were on mine).  It didn't have to be this way; anything with less density would have worked, but playtesting this even one more time is too much for this weary soul.
  All club and stadium names are those used at the time of release, as best as I can tell.  Since then these clubs have combined, moved, or fizzled.  Stadiums are the same case, most notably the National Stadium which was replaced (a second time) for the Olympics.
  For family name collisions the first couple letters of their given name is used, with the exception of "Takeda Nobuhiro (武田 亘弘)" and "Takeda Nobuhiro (武田 修宏)".  This kind of nonsense is part of the reason they tell you how to read their name during an introduction.  In this case defered to what wikipedia editors ultimately did: "武田亘弘" is now "Takeda '65".  For space, only the most significant part of a Korean player's name is given.
  Names, by the way, are stored as a list of tile assembly commands, not sensible strings.  There really needs to be a wider space between the two names, but everything's slightly overrunning as it is.
  Older string tables recycled from Excite Stage '95 refer to 14 teams, not 16.  In 1994 the J.League Cup had only 14 teams and in 1995 it wasn't held.  1996 follows the rules used in this game: 16 teams, two games (one home, another away), and the highest point earners entered the final single-elimination stage.  As it so happens 20 teams competed in '97--the year of this title's release.
  An unfortunate number of smooshisms were used.  For example, "Season" is more accurate than "Round", but it's longer and when contracted to "S" too easy to mistake for the numeral following it.  Things like "1st/2nd Stage Seasonal Matches" (the group & knockout stages) get away with the bare minimum.
  The key for the J-League results page is:
    [W]inning Goals.  These points determine placement in the knockout round.
    [GF] Goals For, or number of goals you've made.
    [GA] Goals Against / Given Away.  How many goals other teams made on you.
    [D]ifference (GF-GA).  This appears in cyan if negative.

Credits Transliteration Notes:
  Credits were transliterated to the best of my ability and matched, when possible, to other known credited works.  If they're wrong, apologies, and I'd suggest checking your credit in Mobygames database because it's likely wrong there too.
  Due to tile restrictions they aren't all as clear (or consistently spaced) as they should be, so I'd like to present them here--especially if some are in error.
  Staff from several companies were pulled together.  Not all their other credits will be noted, but I'd like to acknowledge their careers as much as possible.

天野　亮司	Amano Ryouji
	Programming, Planning, Producer, & Executive Producer (though this credit may be in error)
	Human: producer, programmer, & planning on Super Soccer & F1 Pole Position.
清野　光敏	Kiyono Mitsutoshi
	Programming
	Human: programmer on Super Soccer.
嶺岸　覚　	Minegishi Satoru
	Programming, Planning, Director
	Human: director, programmer, & planning on Super Soccer & F1 Pole Position.
畑　朗宏　	Hata Akihiro
	Graphics, Art Director
	Graphic artist, worked for many companies over the years.
平沢　道也	Hirasawa Michiya
	Sound
	Mint Corp.: Sound Programmer; also worked on Wonder Project J2.
茶木　佐知子	Chaki Sachiko
	Sound
	Mint Corp.: Sound Programmer; also worked on Harvest Moon 64.
飯田　就平	Iida Shuuhei
	Chief Manager
	Imagineer: general manager for MRC, Zool, Quest64.
桜井　甲一郎	Sakurai Kouichiro
	Publicity Manager
	Imagineer: producer and publicist for Zool, Fighter's Destiny, Quest64, etc.
堀切　禎史	Horikiri Tadashi
	Publicity Staff
	Imagineer: publicist for MRC, Fighter's Destiny, etc.
大野木　義浩	Oonogi Yoshihiro
	Publicity Staff
	Imagineer: publicity for MRC, Fighter's Destiny.
澄岡　和憲	Sumioka Kazunori
	Publicity Staff
	Imagineer: publicity for MRC, Fighter's Destiny.
光澤　嘉一朗	Mitsuzawa Kaichiro
	Sales Staff
	Imagineer: sales for Zool, Fighter's Destiny, MRC.
山内　貴志	Yamauchi Takashi
	Sales Staff
	Imagineer: publicity and sales staff throughout this era.
浦本　昌宏	Uramoto Masahiro
	Assistant Director
	Imagineer; director on Zool, various other roles.
大須賀　篤	Oosuga Atsushi
	Assistant Director
	Imagineer: primarily director, occasionally marketing manager.
本間　一郎	Honma Ichirō
	Assistant Director
	Imagineer: Quest64 director, MRC & Fighter's Destiny assistant.
岡　比呂志	Oka Hiroshi
	Assistant Director
	Long-time Imagineer employee, various roles over the years.
松本　准一	Matsumoto Junichi
	Assistant Director
	Imagineer: publicist for MRC, Fighter's Destiny.
河村　直哉	Kawamura Naoya
	Assistant Director
	Imagineer: Director on Big Mountain 2000, assistant on all their other projects.
森　裕子　	Mori Yuuko
	Assistant Director
	Imagineer: worked on the GB cameras.
武田　厚樹	Takeda Atsuki
	Testing Staff
	Imagineer QA, debugged virtually all their N64 titles.
長井　正吉	Nagai Masayoshi
	Testing Staff
	Imagineer QA, tested all their N64 titles.
英　孝則　	Hanabusa Takanori
	Testing Staff
	Imagineer QA; subset of titles in this era though.
大堀　淳子	Oohori Junko
	Testing Staff
	Imagineer QA, also worked on PROYAKYUKING.
後藤　久　	Gotou Hisashi
	Testing Staff
	Imagineer: debugged Quest64 & MRC.
酒井　誠二	Sakai Seiji
	Testing Staff
	Not certain their resume.  Possibly an Atlas employee?
神谷　竜弥	Best guess is Kamiya Tatsuya
	Testing Staff
	No other known accreditation.  Any details or corrections would be appreciated.
五十嵐　英信	Best guess is Igarashi Hidenobu
	Testing Staff
	No other known accreditation.  Any details or corrections would be appreciated.
矢込　大輔	Best guess is Yagome Daisuke
	Testing Staff
	No other known accreditation.  Any details or corrections would be appreciated.
飯田　祥一	Iida Shouichi
	Supervisor
	Imagineer: producer/supervisor for many 90's era titles.
田代　成治	Tashiro Seiji
	Supervisor
	Imagineer: supervisor Zool, MRC, Quest64, Fighter's Destiny.
久次　周一	Hisatsugu Shuuichi
	Supervisor
	Imagineer: supervisor Zool, Big Mountain, Quest64.
定永　昭紀	Sadanaga Akinori
	Supervisor
	One of their many supervisors; also presuming this is the same fellow with the patent "Virtual team organizing game system by internet".
神藏　孝之	Kamikura Takayuki
	Executive Producer
	President, now Chairman/Founder, Imagineer Co. Ltd.
中村　忠　	Best guess is Nakamura Takashi
	Special Thanks
	If Nakamura Takashi, has worked from 1996 to the present.  May also be Okamura Takashi, animation checker for Double Dragon II (HuCD) and thanked in Rez (2001).
増田　厚　	Masuda Atsushi
	Special Thanks
	Concept Design on Farland Story (Technical Group Laboratory, Inc.).
(有)清野ソフト	Probably Kiyonosoft Ltd., credited as キヨノソフト in Star Ocean Blue Sphere.
	Unsure this company's history or specialization.  Any information would be appreciated.
(株)ミント	Mint Corp.
	Acoustic guns-for-hire, also credited in Wonder Project J2 for audio work.
(株)セミック	Cemic Corp.
	Copyright management & VG commercialization for the J.League (and JGTO, baseball, etc.), now celebrating their 30th anniversary.  If anyone sues me it will be these people.


Unresolved Issues:
  No effort was made to fix existing bugs, with one exception.  One became more obvious in the translation: the tile layout overrun on the team's J-League victory screen.  These images are 256x218 but laid out as 256x256 as 64x64 tiles, displaying the next image in memory as an artifact at the bottom of the screen.  Before, these were placeholder boxes but now they're credits text.  By sacrificing the top-most line, the layout could be changed to include all but two without overrunning.
  The camera setting will disappear from the options menu when certain save data is deleted.  Exit and re-enter the menu to correct this.  This may be an existing bug, not an introduced one.
  Scores on the J-League ladder page now overrun text if they enter double-digits.  They're formed from tile arrays and bound by their alignment and rules, so arbitrary placement isn't possible.  In addition, each side of the team names grew by three tiles.  A 4-pixel tileset would be necessary but unsettable without exploiting 8-pixel placement, requiring the overhead of additional fontsets, managers, and memory in addition to a new/revised number generator function.  No fix is planned.
  Arrows on the Score Ranking page now flicker due to an intentional datatype union to exceed original memory use limitations.  A workaround is probably possible but implementing it was convoluted and deemed unnecessary.
  The greatest unresolved issue is this is not just a sports title, but a fairly lousy one at that.  No one will ever play it or its translation, so any further problems will go unreported.

You'd Think You Wouldn't Need to Say This...
  Please report if swapping names through transfer edit causes display errors.  I'll need to know which team, and its entire lineup of transferred members.  Tile layouts are display-order dependant and the single longest waste of time when debugging.  In-game and in-menu are handled completely different, so please specify!
  None of the PSX text/images have been touched.  This means there may be untranslated images that didn't trigger during testing so please, actually report these so they can be fixed.
  Please, please report display errors.  Tile glitches on console were not being replicated on emulators, even under highly-accurate pure LLE (which doesn't run on my toaster, so don't bother asking the setup).

-Zoinkity
