<?xml version="1.0"?>
<rss version="2.0"><channel><title>Sega Hacking Projects Latest Topics</title><link>https://forum.nhl94.com/index.php?/forum/255-sega-hacking-projects/</link><description>Sega Hacking Projects Latest Topics</description><language>en</language><item><title>NHL94 Season mode (beta version)</title><link>https://forum.nhl94.com/index.php?/topic/37461-nhl94-season-mode-beta-version/</link><description><![CDATA[<p>
	Hi everyone!
</p>

<p>
	I (with lots of help from ai tools) have made a HTML app that runs locally and that basically works as a season mode for NHL94. So it's pretty tech neutral and will run in any browser.
</p>

<p>
	 
</p>

<p>
	The game schedule is the exact same as the real season 1993-94, the rosters are based on the Genesis rosters. 
</p>

<p>
	You just pick a team and start the season, you play the game "for real" on your system and then report it into the app in your browser (goals, assists and penalties). You can also simulate the game. There's a save and export file function as well. I really hope it works. 
</p>

<p>
	I've tested it a lot and I think that the results and player stats should be as realistic as possible.<span> </span>
</p>

<p>
	Also, because the game is just HTML, CSS and JS it is per definition open source. If you find bugs or wanna do improvements go ahead. 
</p>

<p>
	I've been working on a Playoff app as well, but since my experience in coding is limited I've been having trouble with that. Hopefully this can be done soon. 
</p>

<p>
	 
</p>

<p>
	Mind that this is a beta version, so there might be bugs. Please tell me if you find any.<span> </span>
</p>

<p>
	 
</p>

<p>
	<strong>Installation:<span> </span></strong>
</p>

<p>
	Just download the Index.html, Script.js and Styles.css. Put the files in the same folder, run index.html on any browser
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Banjo.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
<p>
<a class="ipsAttachLink" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=38765&amp;key=082c71d8562610f4653d67bde884d72e" data-fileExt='html' data-fileid='38765' data-filekey='082c71d8562610f4653d67bde884d72e'>index.html</a> 
<a class="ipsAttachLink" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=38766&amp;key=99243829b85d72b3e68244969c1d3541" data-fileExt='js' data-fileid='38766' data-filekey='99243829b85d72b3e68244969c1d3541'>script.js</a> 
<a class="ipsAttachLink" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=38767&amp;key=845ba00e0b7ea891d972a53209f996b3" data-fileExt='css' data-fileid='38767' data-filekey='845ba00e0b7ea891d972a53209f996b3'>styles.css</a></p>]]></description><guid isPermaLink="false">37461</guid><pubDate>Wed, 01 Oct 2025 09:57:46 +0000</pubDate></item><item><title>The Overpowered Goalie Problem - Finding a Solution</title><link>https://forum.nhl94.com/index.php?/topic/38219-the-overpowered-goalie-problem-finding-a-solution/</link><description><![CDATA[<p>
	I know this has been discussed in other topics but the problem persists and I think it's important to have a topic about this so that something can be done about it.
</p>

<p>
	The issue is multi-layered, it's primarily how's how fast the goalies are, how even if you lower a goalie's speed to the lowest value, they don't slow down very much, and this affects how easily Goalies can knock down skaters. The main issue that I'm trying to address is the all too common breakaway-skate-into-goalie-fall-down before getting the shot off sequence. Or when a Goalie chases the puck behind the net and as a skater you are trying to get to the puck but the goalie is there, you know if you run into the Goalie collecting it you will instantly fall down. This problems holds back a gameplay element of going hard towards the puck when the goalie is there. Instead we have been conditioned to slow down and not touch the goalie because he's so dangerous. Going hard towards the puck, even if the Goalie is there trying to collect it, is missing, and if I run into him, so be it, I want to fight the Goalie for the puck or at least stay upright while trying. I don't necessarily have to knock the Goalie down as he's collecting it or if he's possessing it, though that would be very satisfying, but even if we could create a skater barrier from the Goalie so easily knocking us down is no longer commonplace, it would really add some realism and depth to the gameplay. As a skater you pretty much have to avoid the Goalie at all costs. It would be so much more fun to run into be able to run into him and not be flattened every time, whether or not interference might be called.
</p>

<p>
	Now some might say that the overpowered goalies are part of the charm of NHL 94 and there's something to be said there, but I'm looking for ways in which we can stay upright when interacting with the goalie, or even to bump into the goalie, like on a breakaway, maybe sometimes you lose the puck but stay upright, maybe sometimes you get wobbled while the goal ie unaffected, this I've seen before, it can happen organically but it's very hard to reproduce it, or maybe you bump into the Goalie and the Goalie loses his balance for a change and you keep the puck and you shoot it by him when he's stunned. I'm looking at this from an animation standpoint to see if we can implement some new animations or a kind of barrier code, for the players, to protect them from the Goalie, or conversely to remove the protection and superpowers that the Goalie has. It would be to lower the Goalie's speed below the lowest attribute limit so he moves even slower. He doesn't need to move as fast as he does to gather the puck in most cases especially with superpowers. And I think part of what causes skaters to go down so easily when they bump the goalie is due to the actual speed that the Goalie moves at. It's like the Goalie speed roster attribute isn't balanced properly. Even at 1 or 0 it's not slow enough. If we could make the goalie speed even slower than the attribute scale minimum, I think it would create more balance when there is a bumping between goalies and skaters.
</p>

<p>
	As I indicated, I have seen certain animations between a breakaway skater and a goalie in which the skater gets bumped by the Goalie but does not go down, instaed he sort of does a dance and loses his balance for a moment. It's the same animation that players who lose a Fight do when they stagger towards the penalty box. Those kinds of animations are in there, and can be triggered and it's a matter of getting those animations to occur more often instead of being knocked down so easily. Part of it would relate to certain attributes, weight of the skater, etc, but I've found that these don't make all that much difference to how often they fall when colliding with goalie. I think the biggest issue is the speed that the Goalie is able to move at. If we can reduce that below its normal limits, I think we would have much better and more balanced interaction between goalies and players and more depth to the gameplay.
</p>
]]></description><guid isPermaLink="false">38219</guid><pubDate>Tue, 03 Feb 2026 20:55:57 +0000</pubDate></item><item><title>Speed of the Game NHL 94 Sega Genesis 16 bit.</title><link>https://forum.nhl94.com/index.php?/topic/19623-speed-of-the-game-nhl-94-sega-genesis-16-bit/</link><description><![CDATA[
<p>
	<span lang="EN-US">Hello:</span>
</p>

<p>
	<span lang="EN-US"> </span>
</p>

<p>
	<span lang="EN-US">I was looking at this website and I wanted to ask you if there is anyway to have the speed of the game edited? I like the stock fastest speed with the precise passing involved and I don't like it when the stock game slows down the and it just drags out and the players are skating real slow and  aren't going after the puck etc.., but when you have a fast game with someone or against the computer and it's fast throughout the whole game, it's great. You can have some really great games. There are a lot of different things I'd like to edit but the first is the speed? Or are there any Roms already created that change this option please?</span>
</p>

<p>
	                                                                                                                                                                                                                                                                                                                                                                 Ktrain
</p>

<p>
	<span lang="EN-US">                                   </span>
</p>

<p>
	<span lang="EN-US"> </span>
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">19623</guid><pubDate>Thu, 30 Jan 2020 10:10:10 +0000</pubDate></item><item><title>Prototyping adding PC style Sprites to NHL94 on Genesis</title><link>https://forum.nhl94.com/index.php?/topic/37058-prototyping-adding-pc-style-sprites-to-nhl94-on-genesis/</link><description><![CDATA[<p>
	I'm making this thread to help me focus this project-- I find writing things down like this brings me some clarity for my direction.
</p>

<p>
	As you may or may not know, the PC version of NHL 94 (aka NHL Hockey) and NHL 95 uses sprites with many more color zones, which allow for much more accurate jerseys.
</p>

<p>
	Comparison:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="38156" data-ratio="79.69" data-unique="ujc3g2uds" width="512" src="https://forum.nhl94.com/uploads/monthly_2025_07/image.png.172e8a896b41ae1561d7d8d384b53a69.png">
</p>

<p>
	Not only is the jersey striping more accurate, but it even includes the crest.
</p>

<p>
	The reason this is possible, is while the Sega Genesis supports only 64 colors (of which 16 colors are dedicated to the home team, and 16 colors are dedicated to the away team; one color has to be dedicated to transparency, so its actually really 15 colors), the PC version of NHL is a 256 color game.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="38157" data-ratio="52.92" data-unique="0k6beinhe" width="992" src="https://forum.nhl94.com/uploads/monthly_2025_07/image.png.1fb37e694f9324fa22cf1945641b7434.png">
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="38158" href="https://forum.nhl94.com/uploads/monthly_2025_07/image.png.decafc98ebb70cd2ebfff84e6274eb55.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="38158" data-ratio="45.00" data-unique="vsivbvrl9" width="1000" src="https://forum.nhl94.com/uploads/monthly_2025_07/image.thumb.png.84fdfd9f5cda67fb2d591a8c1aa71da1.png"></a>
</p>

<p>
	Each team has 64 colors that can be defined for it's palette (although for some reason, the PC version adds 5 colors to the end of the Away Team Palette-- which means you are really limited to 59 colors per team).
</p>

<p>
	So on NHL94 PC, the Home team palette is using 17 colors, and could easily be squashed down to use 15 colors. So why do the PC sprites look so much more detailed? The answer is color zone mapping.
</p>

<p>
	The Genesis sprite has 15 color zones, and you are directly mapping the palette to each color zone.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="38159" data-ratio="87.42" data-unique="1ow6lzo9f" width="755" src="https://forum.nhl94.com/uploads/monthly_2025_07/image.png.952625239d263aacfda9d1b0374695e5.png">
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="38162" data-ratio="87.88" data-unique="8x99wgn4g" width="751" src="https://forum.nhl94.com/uploads/monthly_2025_07/image.png.8639cef0a30163e95b87c55f45c20cf8.png">
</p>

<p>
	There is actually a two step process with palettes on the PC version. One step is defining the palettes, the next step maps the palettes to the 90+ color zones on the sprite
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="38160" data-ratio="80.26" data-unique="zjwos3587" width="760" src="https://forum.nhl94.com/uploads/monthly_2025_07/image.png.d55de7b82ad60f8a2e41e99bde31a853.png">
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="38163" data-ratio="81.15" data-unique="5xiccfvmw" width="748" src="https://forum.nhl94.com/uploads/monthly_2025_07/image.png.e62c128f0255dc755a9c8aa7b61b8e44.png">
</p>

<p>
	If you notice-- in the sprite palette mapping, its dedicating close approximately 100 colors or so to mapping colors to various color zones
</p>

<p>
	Now that being said-- to display a sprite like the PC version doesn't actually require being able to support displaying 100 colors. Here is the sprite above crunched down into 16 colors:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="38166" data-ratio="158.55" data-unique="n8bebb3pz" width="386" src="https://forum.nhl94.com/uploads/monthly_2025_07/image.png.ac48bb0e5b8a7328d4da5f604b98bf86.png">
</p>

<p>
	Maybe could use some tweaking to preserve certain colors over others, but doesn't look half bad, does it? It looks a lot closer to the original PC version than the original Genesis version.
</p>

<p>
	There is a caveat here-- but the above sprite is in 8-bit color. Sega Genesis can only produce 3-bit color, so the above needs to be downcoverted to 3-bit color. I don't have time right now to create a hand-tweaked 3-bit color palette, so I just automated it for now. This resulted in a loss in some color detail that I think with hand-tweaked values could still be preserved a little better. In particular, the darker skin color under the chin doesn't look right, and there's some loss of shadow detail around the shoulders that I think could be kept:
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="38167" data-ratio="158.59" data-unique="k6o00du3v" width="384" src="https://forum.nhl94.com/uploads/monthly_2025_07/image.png.f03424c18fc8a1530aabc94d46760d78.png">
</p>

<p>
	For a better example of this 3-bit down conversion process done better, I did it to the Leafs sprite set earlier:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="38168" href="https://forum.nhl94.com/uploads/monthly_2025_07/image.png.0e79cbd6cac360729dfb410a149b0eae.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="38168" data-ratio="52.50" data-unique="6o5f9cibq" width="1000" src="https://forum.nhl94.com/uploads/monthly_2025_07/image.thumb.png.17ac5ab31d5c829337bca5db133d349b.png"></a>
</p>

<p>
	 
</p>

<p>
	Now theoretically-- this could be done. We could render out every jersey as its own sprite set, put it in the rom, and then when rendering the frame, based on the team, we could point to a different sprite set. The issue with this is size.
</p>

<p>
	Normally a Sega Genesis ROM's maximum size is 4MB.
</p>

<p>
	The NHL94 animation sprites are around 270kb. If we just took this into account for 36 teams (32 + 4 for all star) thats:
</p>

<p>
	36 teams * 2 jerseys = 72 jersey sets * 270 kb = 19.5MB. Which is way bigger than a normal sized Genesis ROM.
</p>

<p>
	However, Sega Genesis supports Bank Switching thanks to Super Street Fighter 2, which used it ship with a 5MB ROM. My understanding is there has since been a home brew game which used Bank Switching to get up to 10MB, and theoretically Bank Switching should support up to 32MB.
</p>

<p>
	So it definitely could fit on a cartridge, but the issue is, it's still very limiting because once you throw in third jerseys, classic jerseys, international teams, etc, that space quickly balloons and gets filled up. And also doesn't leave room for other cool stuff that could be done on the ROM in terms of enhanced sound effects, etc.
</p>

<p>
	There is also the option of using the Sega CD as storage. You could fit 2000+ jersey sets on a CD. However, Sega CD's memory becomes an issue. It only has 512kb of memory, and since the jersey sprites would be on a CD, it would need to be loaded into RAM, and 270kb*2 won't fit into 512kb of memory. Now, maybe there is some trickery you could do where you put the first 256kb of the jersey sprite on the CD, and the remaining 14kb you put on the cart-- that would possibly make it work and still allow a lot more jersey sets than only relying on the Cartridge space.
</p>

<p>
	However, what if instead of rendering out an entire jersey set, we rendered out jersey templates? I will explore this in my next post but just a small teaser: This would involve grouping jerseys into groups of common designs, and rendering jerseys WITHOUT the crest tile, but then dynamically inserting a crest upon rendering the frame.
</p>

<p>
	This would also require having several crest variations stored in the game tiles to work depending on the orientation of the sprite (note: some of these seem like they are unnecessary because they could just be mirrored, but consider the case of a non symmetrical logo, like the Penguins):
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="38169" data-ratio="15.89" data-unique="oeseqpx12" width="579" src="https://forum.nhl94.com/uploads/monthly_2025_07/image.png.35e7e16a086594238ec8be51d84dd1d2.png">
</p>

<p>
	OK that's all I have time for right now! Things that need to be tackled in the future:
</p>

<p>
	- Jersey Templates
</p>

<p>
	- positioning Crest tile correctly on Player sprites
</p>

<p>
	- Getting these sprites in the correct format for importing into Sprites.anim
</p>

<p>
	- Importing the Sprites into Sprites.anim
</p>

<p>
	- Importing Jersey Templates into the game
</p>

<p>
	- Updating the player sprite rendering logic to handle picking the correct jersey template and rendering the crest
</p>
]]></description><guid isPermaLink="false">37058</guid><pubDate>Wed, 23 Jul 2025 13:36:55 +0000</pubDate></item><item><title>[Help me] With Hakchi on my Sega Mega Drive Mini</title><link>https://forum.nhl94.com/index.php?/topic/37267-help-me-with-hakchi-on-my-sega-mega-drive-mini/</link><description><![CDATA[<p style="background-color:#f9fafb; color:#333d42; font-size:14px; text-align:start">
	i hope this is the right place for this thread <span class="ipsEmoji">☺️</span>
</p>

<p style="background-color:#f9fafb; color:#333d42; font-size:14px; text-align:start">
	so i managed to finally get hakchi to work. thank god for my laptop!
</p>

<p style="background-color:#f9fafb; color:#333d42; font-size:14px; text-align:start">
	i began with uninstalling an outdated avira antivirus on my laptop, disabled both windows firewall and antivirus and i also found some included vpn on my windows there, it didnt look active but i unckecked the 2 alternatives it had just to be sure it was really not active. then i downloaded and ran hkachi(version 3.7 because thats the one they use in all guides), plugged in my sega according to the instruction and after some minutes i got the install success icon and the green icon instead of the red one <span class="ipsEmoji">😀</span> 
</p>

<p style="background-color:#f9fafb; color:#333d42; font-size:14px; text-align:start">
	i first tried this on my normal pc and did the exact same thing (disabled antivirus and firewall) but i do have a free vpn installed but it was not on at the time, but maybe its enough that you have an installed vpn on your pc for hkachi to not be able to install? because it didnt work for me.
</p>

<p style="background-color:#f9fafb; color:#333d42; font-size:14px; text-align:start">
	anyway, so i added my roms (nhl and other games) and even retroarch with the sega gx core (or something like that) and those games work fine. i discovered same problem like other people when i played my nhl-games but i followed their advice about using retroarch for these games and that made them work <span class="ipsEmoji">👍</span>
</p>

<p style="background-color:#f9fafb; color:#333d42; font-size:14px; text-align:start">
	the only problem now is that i couldnt download the artwork for my games. "no info found" or something like that.
</p>

<p style="background-color:#f9fafb; color:#333d42; font-size:14px; text-align:start">
	this is an interesting thing: i tried to plug in my sega to my regular pc instead of the laptop.
</p>

<p style="background-color:#f9fafb; color:#333d42; font-size:14px; text-align:start">
	first i got this <a href="https://imgur.com/a/LmlgvFv" ipsnoembed="true" rel="external nofollow">https://imgur.com/a/LmlgvFv</a> i dont know if its safe to do what is says so i skipped it for now, what do you think, can i do that? or can that mess things up? on my pc i have updated to the latest version of hakchi so thats probably why i get this message. couse the games i added using hakchi on my laptop are not there when i use hakchi on the pc. however, i just tried to add another game to it on the hakchi on my pc and the artwork showed up without me searching for it and when i searched for it i got that same message again "no info was found". i didnt add that game.
</p>

<p style="background-color:#f9fafb; color:#333d42; font-size:14px; text-align:start">
	strange things here but i can play my games thats the important thing and i dont wanna mess it up.
</p>

<p style="background-color:#f9fafb; color:#333d42; font-size:14px; text-align:start">
	any suggestions? i really would like google to do the job and find the artwork for my games and i know it should work.
</p>

<p style="background-color:#f9fafb; color:#333d42; font-size:14px; text-align:start">
	 
</p>
]]></description><guid isPermaLink="false">37267</guid><pubDate>Sat, 23 Aug 2025 18:48:35 +0000</pubDate></item><item><title>NHL '94: Wide Display Mode (&#x201C;widescreen&#x201D;) Hack v2.0</title><link>https://forum.nhl94.com/index.php?/topic/34882-nhl-94-wide-display-mode-%E2%80%9Cwidescreen%E2%80%9D-hack-v20/</link><description><![CDATA[<h1>
	NHL '94: Wide Display Mode (“widescreen”) Hack v2.0
</h1>

<hr>
<h2>
	Status: <s>Stuck at ~93% ~94% ~95% ~96% ~99% </s>100? updated 2025 07 26
</h2>

<h3>
	To anyone reading this thread, please note that the content has been superseded by a v3.x hack. Check it out at the link below!
</h3>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="11909" data-embedcontent="" data-embedid="embed4700070670" src="https://forum.nhl94.com/index.php?/topic/35254-how-to-wide-display-mode-in-94-patches-manual-methods/&amp;do=embed" style="overflow: hidden; height: 390px; max-width: 502px;"></iframe>

<p>
	 
</p>

<h3>
	The content below this point is now outdated, and will not be updated.
</h3>

<hr>
<p>
	The existing Wide Display Mode patches change the game to use the 320 pixel wide video mode instead of the 256 pixel wide video mode in most gameplay screens. This causes many cosmetic bugs, and I've been on a quest to try to fix every single last issue myself, for both the original and 32-team ROMS. Alas, I could't quite get it to 100%. You can see my progress my downloading my latest ROM, and using the included Wide Mode patch. It's <em><strong>almost </strong></em>perfect, but there are a few issues I need your help with. If you can help me finish this, I can write up an easy to use tutorial that will work on <strong>every</strong> '94 ROM, as well as output new patches.
</p>

<h3>
	Known Issues
</h3>

<p>
	<strong>#1. Instant Replay View.</strong> Two garbage tiles on the lower right side of the screen.
</p>

<p>
	<strong>#2. Unknown Errors.</strong> I've had some people report memory errors, particularly in long playoff series using teams #29-32. I've not yet been able to recreate these errors.
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="11909" data-embedcontent="" data-embedid="embed4969293685" src="https://forum.nhl94.com/index.php?/topic/34793-nhl-94-2025-edition-by-adam-catalyst/&amp;do=embed" style="overflow: hidden; height: 394px; max-width: 502px;"></iframe>

<p>
	 
</p>

<hr>
<h1>
	Everything I have done
</h1>

<p>
	I've taken this thing as far as I could on my own. Here are <strong>all</strong> my notes and research.<s> I'm hopeful that some folks who're better at this stuff can help me get this project over the finish line! </s>There are three sections separated into three different posts.
</p>

<p>
	<strong>1. Patch v1.2 Analysis &amp; Recommendations</strong>
</p>

<p>
	<strong><a href="https://forum.nhl94.com/index.php?/topic/34882-nhl-94-wide-display-mode-%E2%80%9Cwidescreen%E2%80%9D-hack-v20/#findComment-207711" rel="">2. Wide Mode Patch v1.2 Issues &amp; Fixes</a></strong>
</p>

<p>
	<strong><a href="https://forum.nhl94.com/index.php?/topic/34882-nhl-94-wide-display-mode-%E2%80%9Cwidescreen%E2%80%9D-hack-v20/#findComment-207712" rel="">3. tldr; What do you need to get this to 100%?</a></strong>
</p>

<p>
	 
</p>

<hr>
<p>
	 
</p>

<h2>
	1. Patch v1.2 Analysis &amp; Recommendations
</h2>

<p>
	I tested the existing patch v1.2 by <em>paul294met, </em>and tried to identify every single thing that it was doing. This is what I found.
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="12107" data-embedcontent="" data-embedid="embed5710640061" src="https://forum.nhl94.com/index.php?/topic/25895-genesis-nhl-9495969798-wide-mode-256x224-to-320x224/&amp;do=embed" style="overflow: hidden; height: 394px; max-width: 502px;"></iframe>

<p>
	 
</p>

<hr>
<h3>
	1. Remove Checksum
</h3>

<p>
	@ 0x300
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_22" style=""><span class="pln">4E B9 00 0F FA C0</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_24" style=""><span class="pln">4E 71 4E 71 4E 71</span></pre>

<p>
	Recommendation<br>
	<strong>Use as-is.</strong><br>
	 
</p>

<hr>
<h3>
	2. Clear Screen Y-Axis when exiting Pause / Sideboards View
</h3>

<p>
	@ 0x7D9F
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_26" style=""><span class="pln">00</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_28" style=""><span class="pln">02</span></pre>

<p>
	Recommendation<br>
	<strong>Do not use. Leave with default setting of 0.</strong>
</p>

<p>
	 
</p>

<hr>
<h3>
	3. Fixes Pause Screen to be 256 wide
</h3>

<p>
	@ 0x7DD3
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_30" style=""><span class="pln">0031 7C91 0000 0431 7C92 1C00 04</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_32" style=""><span class="pln">0430 BC91 0030 BC92 1C30 BC8C 00</span></pre>

<p>
	Recommendation<br>
	<strong>Use as-is.</strong>
</p>

<p>
	 
</p>

<hr>
<h3>
	4. Unknown: ???
</h3>

<p>
	@ 0x7E82
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_34" style=""><span class="pln">58 78 B0 28</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_36" style=""><span class="pln">4E 71 4E 71</span></pre>

<p>
	Recommendation<br>
	<strong>Use as-is.</strong>
</p>

<p>
	 
</p>

<hr>
<h3>
	5. Change Address of Referenced Code, to point to new code.
</h3>

<p>
	@ 0xA012 / 0xA5C6 (Instant Replay Regular / Reverse View)
</p>

<pre class="ipsCode" id="ips_uid_8984_9">00 00 A4 48</pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode" id="ips_uid_8984_11">00 0F FA C0</pre>

<p>
	<strong>32-Team Recommendation</strong>
</p>

<pre class="ipsCode" id="ips_uid_4386_9">00 1F FA 00</pre>

<p>
	 
</p>

<hr>
<h3>
	6. Instant Replay
</h3>

<p>
	None of these Instant Replay changes are necessary.
</p>

<h4>
	6.1 Instant Replay Overlay Controls Y-Axis
</h4>

<p>
	@ 0x0A456 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_12" style=""><span class="pln">02</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_14" style=""><span class="pln">03</span></pre>

<p>
	Recommendation<br>
	<strong>Do not use. Keep default value.</strong>
</p>

<p>
	 
</p>

<h4>
	6.2 Instant Replay Overlay Controls CLEAR Y-Axis
</h4>

<p>
	@ 0x0A494 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_12" style=""><span class="pln">02</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_38" style=""><span class="pln">03</span></pre>

<p>
	Recommendation<br>
	<strong>Do not use. Keep default value.</strong>
</p>

<p>
	 
</p>

<h4>
	6.3 Instant Replay Overlay Option/Reverse/Exit Y-Axis
</h4>

<p>
	@ 0x0A4B4
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_42" style=""><span class="pln">00</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_40" style=""><span class="pln">03</span></pre>

<p>
	Recommendation<br>
	<strong>Do not use. Keep default value.</strong>
</p>

<p>
	 
</p>

<h4>
	6.4 Instant Replay Overlay Option/Reverse/Exit CLEAR Y-Axis
</h4>

<p>
	@ 0x0A4E2
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_12" style=""><span class="pln">02</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_46" style=""><span class="pln">03</span></pre>

<p>
	Recommendation<br>
	<strong>Do not use. Keep default value.</strong>
</p>

<p>
	 
</p>

<hr>
<h3>
	7. Camera / Viewport Horizontal Pan Maximums
</h3>

<h4>
	7.1 <b>Horizontal Pan Maximum - RIGHT Side - 1/2 (Instant Replay)</b>
</h4>

<p>
	@ 0x0A641
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_48" style=""><span class="pln">3C</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_50" style=""><span class="pln">20</span></pre>

<p>
	<strong>Recommendation</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_4133_7" style=""><span class="pln">1C</span></pre>

<p>
	 
</p>

<h4>
	7.2<b> Pan Maximum - RIGHT Side - 2/2 (Instant Replay)</b>
</h4>

<p>
	@ 0x0649
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_20" style=""><span class="pln">3C</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_44" style=""><span class="pln">20</span></pre>

<p>
	<strong>Recommendation</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_4133_7" style=""><span class="pln">1C</span></pre>

<p>
	 
</p>

<h4>
	7.3<b> Pan Maximum LEFT Side - 1/2 (Instant Replay)</b>
</h4>

<p>
	@ 0x064D
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_16" style=""><span class="pln">C4</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_18" style=""><span class="pln">E0</span></pre>

<p>
	<strong>Recommendation</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_4133_9" style=""><span class="pln">E4</span></pre>

<p>
	 
</p>

<h4>
	7.4<b> Pan Maximum LEFT Side - 2/2 (Instant Replay)</b>
</h4>

<p>
	@ 0x0655
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_52" style=""><span class="pln">C4</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_54" style=""><span class="pln">E0</span></pre>

<p>
	<strong>Recommendation</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_4133_9" style=""><span class="pln">E4</span></pre>

<p>
	 
</p>

<h4>
	7.5.<b> Pan Maximum LEFT Side - Mid-Ice (In-Play)</b>
</h4>

<p>
	@ 0x0B0AB
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_62" style=""><span class="pln">C4</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_64" style=""><span class="pln">E0</span></pre>

<p>
	<strong>Recommendation</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_4133_9" style=""><span class="pln">E4</span></pre>

<p>
	 
</p>

<h4>
	7.6<b> Pan Maximum LEFT Side - Against Boards (In-Play)</b>
</h4>

<p>
	@ 0x0B0B3
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_66" style=""><span class="pln">C4</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_68" style=""><span class="pln">E0</span></pre>

<p>
	<strong>Recommendation</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_4133_9" style=""><span class="pln">E4</span></pre>

<p>
	 
</p>

<h4>
	7.7<b> Pan Maximum RIGHT Side - Mid-Ice (In-Play)</b>
</h4>

<p>
	@ 0x0B0C9
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_70" style=""><span class="pln">3C</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_72" style=""><span class="pln">20</span></pre>

<p>
	<strong>Recommendation</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_4133_7" style=""><span class="pln">1C</span></pre>

<p>
	 
</p>

<h4>
	7.8<b> Pan Maximum RIGHT Side - Against Boards (In-Play)</b>
</h4>

<p>
	@ 0x0BOD1
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_74" style=""><span class="pln">3C</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_76" style=""><span class="pln">20</span></pre>

<p>
	<strong> Recommendation</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_4133_7" style=""><span class="pln">1C</span></pre>

<p>
	 
</p>

<hr>
<h3>
	8. Unknown: Affects top two block rows
</h3>

<p>
	@ 0x0115C4
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_78" style=""><span class="pln">3F</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_80" style=""><span class="pln">3B</span></pre>

<p>
	Recommendation<br>
	<strong>Do not use, or use with caution.</strong>
</p>

<p>
	 
</p>

<hr>
<h3>
	9. Change Address of Referenced Code, to point to new code.
</h3>

<p>
	This is the main code that changes the gameplay view to 320 pixels wide.<br>
	@ 0x012B5C
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8984_15" style=""><span class="pln">00 01 17 38</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8984_17" style=""><span class="pln">00 0F FA DA</span></pre>

<p>
	<strong>Classic / 32-Team Recommendation</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_3710_13" style=""><span class="pln">00 0F FA DC / 00 1F FA 1C</span></pre>

<p>
	 
</p>

<hr>
<h3>
	10. Score Clock
</h3>

<p>
	<strong>10.1 Score Clock position</strong><br>
	@ 0x012C7B
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_88" style=""><span class="pln">17</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_90" style=""><span class="pln">1F</span></pre>

<p>
	Recommendation<br>
	<strong>Use as-is.</strong>
</p>

<p>
	<br>
	<strong>10.2 Home Team Name / Visitor Team Name</strong><br>
	@ 0x012C8D / @ 0x012C9F
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_92" style=""><span class="pln">18</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_130" style=""><span class="pln">20</span></pre>

<p>
	Recommendation<br>
	<strong>Use as-is.</strong>
</p>

<p>
	<br>
	<strong>10.3 Score position</strong><br>
	@ 0x012D1F
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_94" style=""><span class="pln">1C</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_96" style=""><span class="pln">24</span></pre>

<p>
	Recommendation<br>
	<strong>Use as-is.</strong>
</p>

<p>
	 
</p>

<hr>
<h3>
	11. Rink Background X-position
</h3>

<p>
	@ 0x015F3F
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_98" style=""><span class="pln">C0</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_100" style=""><span class="pln">E0</span></pre>

<p>
	Recommendation<br>
	<strong>Use as-is.</strong><br>
	 
</p>

<hr>
<h3>
	12. <b>Sideboards Crowd Animation X-position</b>
</h3>

<p>
	@ 0x0161F7
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_102" style=""><span class="pln">C0</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_104" style=""><span class="pln">E0</span></pre>

<p>
	Recommendation<br>
	<strong>Use as-is.</strong><br>
	 
</p>

<hr>
<h3>
	13. <b>Rink Crowd Animation X-position</b>
</h3>

<p>
	@ 0x016287
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_106" style=""><span class="pln">90</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_108" style=""><span class="pln">B0</span></pre>

<p>
	<strong>Recommendation</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9331_9" style=""><span class="pln">D0</span></pre>

<p>
	 
</p>

<hr>
<p>
	 
</p>

<h3>
	14. Rink Player Visibility
</h3>

<p>
	This sets the visual range where players sprites should be drawn, otherwise they are invisible.
</p>

<h4>
	14.1 <b>Rink Player Visibility Right Side</b>
</h4>

<p>
	 
</p>

<p>
	@ 0x016941
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_110" style=""><span class="pln">90</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_112" style=""><span class="pln">B0</span></pre>

<p>
	Recommendation<br>
	<strong>Use as-is.</strong>
</p>

<p>
	 
</p>

<h4>
	14.2 <b>Rink Player Visibility Left Side</b>
</h4>

<p>
	@ 0x016949
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_114" style=""><span class="pln">70</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_116" style=""><span class="pln">50</span></pre>

<p>
	Recommendation<br>
	<strong>Use as-is.</strong>
</p>

<p>
	 
</p>

<hr>
<h3>
	15.<b> Gameplay X-position</b>
</h3>

<p>
	@ 0x016950
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_4386_11" style=""><span class="pln">0100</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_4386_13" style=""><span class="pln">0120</span></pre>

<p>
	Recommendation<br>
	<strong>Do NOT use. </strong><br>
	Instead use the revised codes included in the next section.
</p>

<p>
	 
</p>

<hr>
<h3>
	16. Unknown
</h3>

<p>
	@ 0x01695B
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_124" style=""><span class="pln">90</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_122" style=""><span class="pln">B0</span></pre>

<p>
	Recommendation<br>
	<strong>Use with Caution.</strong>
</p>

<p>
	 
</p>

<hr>
<h3>
	17. Unknown
</h3>

<p>
	@ 0x016963
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_120" style=""><span class="pln">70</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_118" style=""><span class="pln">50</span></pre>

<p>
	Recommendation<br>
	<strong>Use with Caution.</strong>
</p>

<p>
	 
</p>

<hr>
<h3>
	18. Patch Code
</h3>

<p>
	@ 0x0FFAC0 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_60" style=""><span class="pln">700091C8223C0003FEB0B0FC018C660458486002D09853816EF00C808AB9F12166024E75287C00C0000438BC8F0238BC800438BC870038BC814438BCC000323C003F33FC000E00C0000051C9FFF660FE</span></pre>

<p>
	<strong>v1.2</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_9226_58" style=""><span class="pln">33FC920E00C0000433FC8C8100C000045278B00E4EF90000A44833FC920200C0000433FC8C8100C000044EF900011738FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</span></pre>

<p>
	Recommendation<br>
	<strong>Do NOT use. </strong><br>
	Instead use the revised codes included in the next section.<br>
	 
</p>

<hr>
<p>
	Continued in the next post…
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">34882</guid><pubDate>Fri, 22 Nov 2024 20:56:44 +0000</pubDate></item><item><title>Prototyping Sega CD MSU-MD mod for NHL 94 via NHL 92</title><link>https://forum.nhl94.com/index.php?/topic/37047-prototyping-sega-cd-msu-md-mod-for-nhl-94-via-nhl-92/</link><description><![CDATA[<p>
	I wanted to do a proof of concept to show that we should be able to mod NHL 94 to use the Sega CD music via an MSU-MD patch. This would make it compatible with specific emulators (such as Retroarch+GenesisPlusGX), real hardware (cartridge+cd) and also flashcarts that have Sega CD support (like the Everdrive Pro).
</p>

<p>
	I was able to put this together today using the NHL 92 source code as a base for convenience since its <a href="https://forum.nhl94.com/index.php?/topic/34797-nhl-hockey-92-source-is-now-compiling/#findComment-211296" rel="">fully disassembled at this point</a> (thats not to say this can't be done in 94 today-- I think we have enough knowledge on the 94 source to do it)
</p>

<p>
	 
</p>

<div class="ipsEmbeddedVideo" contenteditable="false">
	<div>
		<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="150" id="ips_uid_8879_4" referrerpolicy="strict-origin-when-cross-origin" src="https://forum.nhl94.com/applications/core/interface/index.html" title="NHL 92 MSU-MD Sega CD mod prototype" width="200" data-embed-src="https://www.youtube-nocookie.com/embed/9fHoO_XrK-Q?feature=oembed"></iframe>
	</div>
</div>

<p>
	How was it done?
</p>

<p>
	1. Set up file structure to use within Retroarch+GenesisPlusGX. NHL92.md = rom file. NHL92.cue/bin is actually the NHL94 Sega CD game. You need to make sure the .cue file correctly points to the NHL92.bin file. All 3 file names need to match.
</p>

<p>
	2. Include msu driver in code. I believe this is what allows a cartridge game to access the CD without going through the Sega CD bios. This also should work on real hardware as a result.
</p>

<pre class="ipsCode" id="ips_uid_3017_7">Stanleymap
	incbin ..\Extracted\Graphics\Stanley.map.jim
	even
EASNmap
	incbin ..\Extracted\Graphics\EASN.map.jim
	even
MSU_Driver:
	incbin msu-drv.bin</pre>

<p>
	3. After the EA logo I initialize the MSU driver, wait for the CD to be ready, and then play the NHL 94 main menu music. This probably can be done smoother so that the game doesn't pause here. Note, for some reason the title screen does not always show after this and instead a black screen is rendered-- I believe it actually might be an emulator problem as I've seen it happen in Retroarch+GenesisPlusGX even without my mod do that.
</p>

<pre class="ipsCode" id="ips_uid_3017_9">Begin		
	move	#$2700,SR	
	move.l	#Stack,sp	
	move.l	#varstart,a0	;clear out ram
	; Call MSU-MD driver initialization (assuming loaded at MSU_Driver)
    jsr     MSU_Driver

    tst.w   d0
    bne.s   No_MCD          ; If d0 != 0, MCD not detected
; Wait for driver ready
.Wait_Ready
    move.b  $A12020,d0
    cmpi.b  #0,d0
    bne.s   .Wait_Ready

    ; Set volume to max (optional)
    move.b  #$15, $A12010   ; VOL command
    move.b  #255, $A12011   ; Volume 255
    addq.b  #1, $A1201F     ; Execute

    ; Wait ready again
.Wait_Ready2:
    move.b  $A12020,d0
    cmpi.b  #0,d0
    bne.s   .Wait_Ready2

    ; Play track 4 in loop
    move.b  #$12, $A12010   ; PLAY LOOP command
    move.b  #4, $A12011     ; Track 4 (NHL 94 menu music)
    addq.b  #1, $A1201F     ; Execute</pre>

<p>
	4. Play NHL 94 Scouting Report/Intro music on Scouting report screen
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_3017_11" style=""><span class="pln">ScoutingReport
	; Play track 3 in loop
    move.b  #$12, $A12010   ; PLAY LOOP command
    move.b  #3, $A12011     ; Track 3 (NHL 94 scouting report/intro movie music)
    addq.b  #1, $A1201F     ; Execute</span></pre>

<p>
	5. Play Organ music at start of period
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_3017_13" style=""><span class="pln">StartPer
	; Play track 7
    move.b  #$11, $A12010   ; PLAY command
    move.b  #7, $A12011     ; Track 7 (organ music)
    addq.b  #1, $A1201F     ; Execute</span></pre>

<p>
	Next thing would be to detect when the organ music finishes playing so that I could play the ambient crowd track in a loop. It would likely need a check in one of the functions that runs every frame (periodicevents or vblank) I did attempt something but it didn't work. I also thought that maybe it might be easier if I just looked at what the Sega CD version did in it's code and reproduce that logic to manage playing the crowd track.
</p>

<p>
	 
</p>

<p>
	MSU-MD driver is available here: <a href="https://github.com/krikzz/msu-md" ipsnoembed="true" rel="external nofollow">krikzz/msu-md: MegaCD driver for msu-like interfacing with CD hardware</a>
</p>

<p>
	More info on MSU-MD: <a href="https://arcadetv.github.io/msu-md-patches/" ipsnoembed="true" rel="external nofollow">MSU-MD Patches | Adding CD quality sound to MegaDrive/Genesis games.</a>
</p>

<p>
	Sample repositories:
</p>

<p>
	<a href="https://github.com/YLFAndy/MSU-MD" ipsnoembed="true" rel="external nofollow">YLFAndy/MSU-MD: A repository of my MSU-MD patches</a>
</p>

<p>
	<a href="https://github.com/ArcadeTV?tab=repositories&amp;q=msu-md" ipsnoembed="true" rel="external nofollow">ArcadeTV (ArcadeTV) / Repositories</a>
</p>
]]></description><guid isPermaLink="false">37047</guid><pubDate>Mon, 21 Jul 2025 21:20:57 +0000</pubDate></item><item><title>NHL Hockey '92 Source is Now Compiling</title><link>https://forum.nhl94.com/index.php?/topic/34797-nhl-hockey-92-source-is-now-compiling/</link><description><![CDATA[<p style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">
	<span style="font-size:18px"><span style="background-color:#ffffff; color:#353c41; text-align:start"><strong>Compiling 'NHL Hockey' Source Code</strong></span></span>
</p>

<hr style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">
<p style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">
	Happy to share that the '<em>NHL Hockey' (92)</em> source code now compiles successfully. The code is available on my <a href="https://github.com/Mhopkinsinc/NHLHockey" rel="external nofollow">GitHub </a>repository—enjoy exploring and building upon it!
</p>

<p style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">
	Community discoveries and tools are welcome and will be added to the repository for everyone’s benefit. Please feel free to share suggestions, report issues, or submit pull requests!
</p>

<p style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">
	For convenience, you can simply download the <a href="https://github.com/Mhopkinsinc/NHLHockey/archive/refs/heads/main.zip" rel="external nofollow">zip</a> file and run the included <code>build.bat</code> file.
</p>

<p style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">
	<span style="font-size:18px"><span style="background-color:#ffffff; color:#353c41; text-align:start"><strong>Technical Info</strong></span></span>
</p>

<hr style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">
<p>
	For those interested, below is some more detailed info on what was needed to get the code compiling.
</p>

<ul>
	<li>
		The original compiler used to build the source code was not included, so a different compiler ASM68k was used to compile the source.
	</li>
	<li>
		Each compiler is different and makes decisions / optimizations based on the opcode. IE move vs moveq vs move.l specific changes were needed.
	</li>
	<li>
		The included Macros needed to be written differently to work with this compiler.
	</li>
	<li>
		Custom Hex Macro needed to be written.
	</li>
	<li>
		Math: Power of 2 was not supported and needed to be re-written.
	</li>
	<li>
		RSSET was needed to create symbol definitions without generating data. DS. vs RS.
	</li>
	<li>
		Globals weren't needed
	</li>
	<li>
		Parent labels were needed in some instances were calculations were being performed on local labels
	</li>
	<li>
		Used the original symbols file and bin file to compare opcodes and ram locations. 99.91% match now <span><img alt=":)" data-emoticon="true" height="20" loading="lazy" src="https://forum.nhl94.com/uploads/emoticons/default_smile.png" srcset="https://forum.nhl94.com/uploads/emoticons/smile@2x.png 2x" title=":)" width="20"></span>
	</li>
</ul>

<p style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">
	<span style="font-size:18px"><span style="background-color:#ffffff; color:#353c41; text-align:start"><strong>Findings From Source</strong></span></span>
</p>

<hr style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">
<p>
	TBD - Will update with info as it comes in. Such as file formats etc.
</p>

<p>
	 
</p>

<p style="text-align: center;">
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="37379" data-ratio="71.14" data-unique="rowhyq0yo" width="700" src="https://forum.nhl94.com/uploads/monthly_2024_11/image.png.5460e9788750ffcafda04ed525bdf7e3.png">
</p>
]]></description><guid isPermaLink="false">34797</guid><pubDate>Mon, 11 Nov 2024 21:49:30 +0000</pubDate></item><item><title><![CDATA[ROM & RAM Map]]></title><link>https://forum.nhl94.com/index.php?/topic/18366-rom-ram-map/</link><description><![CDATA[
<p>
	I just discovered that ROMHacking.net has wiki-like pages that we can use for sharing our discoveries of the ROM and RAM data (for example, where to find the scores in the RAM, or where the songs are in the ROM).
</p>

<p>
	NHL94 Sega: <a href="https://www.romhacking.net/games/2092/" ipsnoembed="true" rel="external nofollow">https://www.romhacking.net/games/2092/</a>
</p>

<p>
	Example (Sonic): <a href="http://datacrystal.romhacking.net/wiki/Sonic_the_Hedgehog:ROM_map" rel="external nofollow">ROM</a>  <a href="http://datacrystal.romhacking.net/wiki/Sonic_the_Hedgehog:RAM_map" rel="external nofollow">RAM</a> 
</p>

<p>
	I'll start copying some of my notes into these...
</p>
]]></description><guid isPermaLink="false">18366</guid><pubDate>Mon, 05 Mar 2018 20:57:23 +0000</pubDate></item><item><title>[HelpMeHack] Weaken the B-check</title><link>https://forum.nhl94.com/index.php?/topic/16743-helpmehack-weaken-the-b-check/</link><description><![CDATA[
<p><u><strong><span style="font-size:18px;">Intro / What is this?</span></strong></u><br><br><em><strong>In short, someone (or someones) please do the relatively easy Steps 1, 2, 3, and 4 of this hack for me, based on my instructions below.</strong></em><br><br>This begins a series of hack posts where I lay out how to help me with the early parts of discovering how to do a hack.</p>
<p>This series should train up a few guys to be great at investigating the starting stages of hacks to give me the info needed to complete the hack -- or to discover that the hack may not be possible.</p>
<p>Often these steps can be done in 5-30 minutes.<br><br>So I hope people will follow the instructions in these HelpMeHack threads in order to find for me the early parts of hacks.  And then these people will have gained skills in order to be able to look into other hacks more quickly (or even come up with the basis of their own hacks).<br><br>The steps will be rated by difficulty:<br><br>Difficulty levels:<br>1. Total Beginner (anyone can do this)<br>2. Beginner (still easy, but might take some time to find what you're looking for)<br>3. Intermediate<br>4. Mad Skillz<br>5. You are Mark Lesser</p>
<p>For the Total Beginner level, it might take 30 minutes the first time you ever do one of these steps, but after that, it'll feel trivial and you can often do it in 5 minutes.</p>
<p>You can also try out <a data-ipb="nomediaparse" href="https://forum.nhl94.com/index.php/topic/3474-reference-nhl-94-rom-hacking-school/?p=94927" rel="">Part 1 of TonyH's awesome hacking tutorial</a> in order to practice up. It's basically Steps 1-3 from this HelpMeHack, but the 'answers' are already known.<br><br>So here is the first hack!  I have several in mind, but this is as far as I got tonight.<br><br><u><strong><span style="font-size:18px;">Purpose of Hack:</span></strong></u><br>The purpose of this hack is to make it so the B-check no longer automatically trips a player.</p>
<p>The B-check allows any player to knock over any other player.  Technically, it's supposed to be a tripping penalty, but the refs rarely call it. I think it would be interesting to eliminate the B-check.<br><br><br><u><span style="font-size:18px;"><strong>Possible Side-Effects:</strong></span></u><br>If coaches can no longer do the B-check, they may resort to holding instead, and holding is super annoying.<br><br>Maybe if you manage to get the trip to work on a breakaway, there won't be a penalty shot?<br><br><u><strong><span style="font-size:18px;">Basic Plan / Why I think the hack may be possible:</span></strong></u><br>When you play with penalties turned off, the B-check no longer works.  So it should be possible to find the place where the game decides if the B-check trips the player or not based on if penalties are on or off.  Then, hack the game so it thinks penalties are off at the moment a trip is attempted, so the trip doesn't work.<br><br><u><strong><span style="font-size:18px;">Hack Steps:</span></strong></u><br><br><span style="font-size:14px;"><strong><span style="font-size:18px;"><u>Step 0</u></span>: Get the Gens ReRecording emulator</strong></span></p>
<p><span style="font-size:12px;">Expand spoiler to see my guide/tips for doing this.</span></p>
<div class="ipsSpoiler" data-ipsspoiler>
<div class="ipsSpoiler_header"><span></span></div>
<div class="ipsSpoiler_contents"><ul class="bbc bbcol lower-alpha">
<li>Get the <a data-ipb="nomediaparse" href="https://forum.nhl94.com/index.php/topic/16742-tool-gens-rerecording-emulator-for-hacking/" rel="">Gens ReRecording emulator</a> (it's Gens, but with some hacking features added on),</li>
<li>unzip it,</li>
<li>run Gens.exe,</li>
<li>and configure your controller in it.</li>
</ul></div>
</div>
<p><strong><u><span style="font-size:18px;">Step 1</span>: [Difficulty Level 1]</u> To find the address in RAM where the game stores the penalty on/off/no-offsides value:</strong></p>
<p><span style="font-size:12px;">Expand spoiler to see my guide/tips for doing this.</span></p>
<div class="ipsSpoiler" data-ipsspoiler>
<div class="ipsSpoiler_header"><span></span></div>
<div class="ipsSpoiler_contents"><ul class="bbc bbcol lower-alpha">
<li>Run Gens Rerecorder emulator (<strong>Gens.exe</strong>).  (Do not maximize the window)</li>
<li>Load the game ROM</li>
<li>Go to the <strong>team selection screen</strong> of the game</li>
<li>In the emulator, show the RAM Search window using <strong>Tools -&gt; RAM Search</strong> from the menu</li>
<li>I think the best way to find the value is to assume the default value is either 0, 1, or 2.<ul class="bbc bbcol lower-roman">
<li>Select  "<strong>equal to</strong>" and "<strong>specific value</strong>" (enter the value "<strong>0</strong>" beside that) and hit "<strong>Search</strong>" to find all the current 0s in RAM. </li>
<li>then change the penalty setting in the game, and use "<strong>not equal to</strong>" and click "Search" again</li>
<li>then change the penalty setting back to the original value, and use "<strong>equal to</strong>" and click "<strong>Search</strong>" again</li>
<li>if that doesn't narrow the list down to just a handful of address lines, try it again, but using "1" instead of "0".  If it still didn't work, then try "2".  If that still didn't work, then my assumption was wrong, please let me know and I'll try to find it myself or think up a new plan.</li>
</ul>
</li>
<li>Now you should have the list narrowed down to one address that changes between 0,1,2 when you change the penalty setting in the menu.  We will use this address in the next steps.  The address looks like <strong>00FF1234 </strong>(but 1234 will be different… your goal in Step 1 was to figure out what 1234 is actually supposed to be <img src="https://forum.nhl94.com/uploads/emoticons/default_smile.png" alt=":)" srcset="https://forum.nhl94.com/uploads/emoticons/smile@2x.png 2x" width="20" height="20"> )</li>
<li>
<strong>Please post the address you found</strong>, so someone (maybe you) can do the next step.</li>
</ul></div>
</div>
<p><strong><u><span style="font-size:18px;">Step 2</span>. [Difficulty Level 1]</u> To verify that you can "Hook" the address found in Step 1:</strong></p>
<div class="ipsSpoiler" data-ipsspoiler>
<div class="ipsSpoiler_header"><span></span></div>
<div class="ipsSpoiler_contents"><ul class="bbc bbcol lower-alpha">
<li>In the same folder as gens.exe, open <strong>hook_log.txt</strong>
</li>
<li>Change the 6<sup>th</sup> line of the file from "<span style="font-family:'courier new', courier, monospace;"><strong>hook_rd2 0 -1 -1</strong></span>" to "<span style="font-family:'courier new', courier, monospace;"><strong>hook_rd2 0 ff1234 ff1234</strong></span>", but <strong>change 1234</strong> to whatever it was from Step 1 of this hack.<ul class="bbc bbcol lower-roman"><li>"rd" means "read", it tracks when the value in address ff1234 is read and tells you what code in the ROM accessed it.</li></ul>
</li>
<li>Load the game in the emulator</li>
<li>Turn on Hooking using the menu:  <strong>Tools-&gt;Tracing-&gt;Hook RAM</strong>.<ul class="bbc bbcol lower-roman"><li>You'll see text along the bottom of the screen saying "RAM Hook: ON", or something like that.</li></ul>
</li>
<li>In the game's main menu, change the penalty setting a few times.</li>
<li>Turn off Hooking by using the menu again: <strong>Tools-&gt;Tracing-&gt;Hook RAM</strong>.</li>
<li>Find "<strong>hook.txt</strong>" in the folder with gens.exe and open it.</li>
<li>Hook.txt should contain some lines that look something like this: <span style="font-family:'courier new', courier, monospace;">[0F:ABCD] R16 = 0000 [FF1234]</span><ul class="bbc bbcol lower-roman"><li>What these correspond to are times when the game read that address.</li></ul>
</li>
<li>If it only says <span style="font-family:'courier new', courier, monospace;">MEMORY ACCESS LOGGING STARTED</span> and <span style="font-family:'courier new', courier, monospace;">STOPPED</span>, then something didn't work. Let me know and I'll come up with something new.</li>
<li>
<strong>Please post those lines that were in hook.txt</strong> from step h. in the thread so someone (maybe you) can do the next step.</li>
</ul></div>
</div>
<p><strong><u><span style="font-size:18px;">Step 3.</span> [Difficulty Level 1]</u> Hook the address found in Step 1 while doing a B-check.</strong></p>
<div class="ipsSpoiler" data-ipsspoiler>
<div class="ipsSpoiler_header"><span></span></div>
<div class="ipsSpoiler_contents"><ul class="bbc bbcol lower-alpha">
<li>Follow <strong>steps 2a-d</strong> to <strong>enable Hooking</strong>.</li>
<li>In the game menu, turn <strong>ON (no offsides) penalties</strong> in the game and start the game</li>
<li>Play the game and <strong>do a B-check</strong>, knocking a player over.</li>
<li>
<strong>Turn off Hooking</strong> by using the menu again: Tools-&gt;Tracing-&gt;Hook RAM.</li>
<li>Find "<strong>hook.txt</strong>" in the folder with gens.exe and open it.</li>
<li>
<strong>Please post the contents of hook.txt</strong> and that will give me ideas for the next step in making this hack.</li>
</ul></div>
</div>
<p>So at this point, I'll see if the contents of hook.txt look promising for the next steps of the hack.</p>
<p><strong><u><span style="font-size:18px;">Step 4:</span> [Difficulty Level 1]</u> Run a Trace of doing a B-check</strong></p>
<div class="ipsSpoiler" data-ipsspoiler>
<div class="ipsSpoiler_header"><span></span></div>
<div class="ipsSpoiler_contents"><ul class="bbc bbcol lower-alpha">
<li>Add a hook on writing to the check statistic for the Home team. This will help narrow down our search area.  In <strong>hook_log.txt</strong>, set up the line "<strong><span style="font-family:'courier new', courier, monospace;">hook_wr1 0 ffEB56 ffEB57</span></strong>"</li>
<li>Load and run the game in the emulator.  Use the home team.</li>
<li>Play until you have a B-check lined up (but not thrown yet) and press <strong>Esc</strong> key to pause the emulator, then <strong>F5</strong> to make a quicksave.</li>
<li>
<strong>Turn on Hooking</strong> using the menu:  <strong>Tools-&gt;Tracing-&gt;Hook RAM</strong>.</li>
<li>
<strong>Turn on Trace</strong> using the menu:  <strong>Tools-&gt;Tracing-&gt;Trace</strong>.</li>
<li>Press <strong>Esc</strong> key again to unpause the emulator</li>
<li>Do the <strong>B check</strong> you had lined up, so it connects and knocks the player over.<ul><li>(Note that the emulator will play slower if tracing is on.  If you miss the check, keep following these steps)</li></ul>
</li>
<li>Press <strong>Esc</strong> again to pause.</li>
<li>
<strong>Turn off Hooking and Trace</strong> by repeating steps d-e.</li>
<li>If you missed the check, press <strong>F8</strong> to load your quicksave, then go back to <strong>step c</strong>.</li>
<li><strong>Please zip both hook.txt and trace.txt and post them as an attachment</strong></li>
</ul></div>
</div>
<p>I will inspect the trace.txt and the new hook.txt to see if I can figure out the B checking code.</p>
<p><strong>Step 5: [Difficulty Level 3] Inspect the Trace to find how it decides to trip or not based on the penalties setting</strong></p>
<p><strong>Step 6: [Difficulty Level 3 or 4] Hack the code so it thinks penalties are always off when attempting a trip.</strong></p>
]]></description><guid isPermaLink="false">16743</guid><pubDate>Fri, 20 Mar 2015 04:57:05 +0000</pubDate></item><item><title>Hacking Project - Add Back Blood In '94 (Work In Progress)</title><link>https://forum.nhl94.com/index.php?/topic/22843-hacking-project-add-back-blood-in-94-work-in-progress/</link><description><![CDATA[<p>
	I have been thinking about this for a while and decided I should at least start this hack and post on the forums for documentation/progress.
</p>

<p>
	My initial thought process is as follows:
</p>

<ul><li>
		I assume the blood animation is a separate graphic and not an entirely new set of sprites (<span style="color:#27ae60;"><strong>CONFIRMED</strong></span>)
	</li>
	<li>
		Find the blood animation tiles in NHLPA'93 (<strong><span style="color:#27ae60;">DONE</span>, most likely</strong>)
	</li>
	<li>
		Trace and reverse engineer the code on a blood injury in '93 (<span style="color:#e74c3c;">current phase</span>)
	</li>
	<li>
		Bring those elements into '94
	</li>
</ul><p>
	I think the first two bullets I will confirm and get done rather quickly, but the hard work will be understanding and isolating the code in '93.  My starting assumption will be that when an injury for game is triggered, the blood animation sequence is called and overlayed by the sprites head.  Who knows if that's right.  
</p>

<p>
	I'll continue to post updates here as I work on this project.
</p>
]]></description><guid isPermaLink="false">22843</guid><pubDate>Tue, 07 Jun 2022 14:33:01 +0000</pubDate></item><item><title>Real-Time Clock in NHL '94 Genesis</title><link>https://forum.nhl94.com/index.php?/topic/17900-real-time-clock-in-nhl-94-genesis/</link><description><![CDATA[
<p>
	I managed to find out how to adjust the speed of the game clock in NHL '94 on Genesis. Attached is an original NHL '94 genesis bin file. (unedited except for the clock speed / penalty minutes hex adjustments)
</p>

<p>
	Please test this out and provide me your reviews if you like it. It may take some getting used to the longer periods in NHL '94, but I'm hoping that you find this useful. I am trying to learn how to make other aspects of the game more realistic to make the game more playable when using a slower game clock speed.
</p>

<p>
	Here is the hex address to adjust the speed of the clock :
</p>

<p>
	015DEC:0AAA ;
</p>

<p>
	0AAA is the original value, I lowered it to 03AA which slows down the clock to be close to real-time. I may have to fine tune this with the AA part of the code to get it exactly right ... but for now I'm using 03AA which is very close to real seconds. The 0A part of the code didn't appear to affect the game speed, however when I lowered the AA part of the code it appeared to slow down the game somewhat, though I'm not quite sure about that and will have to test this further.
</p>

<p>
	Note : Initially the penalty clock did not slow down when I managed to slow down the game clock to real-time. I tried to find a way to slow down the penalty clock to real-time like I did the game clock, but was unable to really slow it down like I did the game clock. Perhaps that is possible but I haven't found that yet. However I found another way to get 2 minute penalties with the real-time clock by "increasing" the length of a penalty. (from "2 minutes" at triple speed to "6 minutes" at triple speed) So when there is a penalty, it will say each penalty is 6:00 long, but in reality it ends up only 2 minutes long. (2 minutes and about 3 seconds precisely.
</p>

<p>
	From reading through this forum, apparently there are codes that adjust the length of each individual penalty type as well as an overall single code that adjusts the length of all the penalties.
</p>

<p>
	Well I used the code below that adjusts all the penalties from 2 minutes to 6 minutes (at triple speed) to make penalties last 2 minutes in real-time by adjusting 01230C:4880 to 01230C:7406 with "06" being the number of minutes for each penalty that counts down at triple speed. Perhaps there is a way to slow down the speed of the penalties clock as well but for now this method is what I'm using to get essentially 2 minute penalties with the real-time game clock.
</p>

<p>
	<a class="ipsAttachLink" data-fileid="7232" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=7232" rel="">nhl94realtimer_actual2minpenalties.bin</a>
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">17900</guid><pubDate>Wed, 11 Jan 2017 06:15:11 +0000</pubDate></item><item><title>Auto Player Switching Off (Discovery in NHL 94 Genesis)</title><link>https://forum.nhl94.com/index.php?/topic/18482-auto-player-switching-off-discovery-in-nhl-94-genesis/</link><description><![CDATA[
<p>
	I discovered a code that turns the Auto Player Switching Off in NHL 94 on Genesis. With this code enabled, when a teammate gains control of the puck, you no longer are switched to the player with the puck. You remain in control of the player you were controlling while the CPU controls the player with the puck. (If you press the B button, you will then switch to the player who has the puck) This code allows you to control players who don't have the puck and lets you stay in control of a single player for as long as you want. (Until there's a face-off, where control resets back to the Center)
</p>

<p>
	It's been determined that the best way to enable this code is to edit the rom offset at 17FEA, by changing the default 2-byte value of 017FEA:0001 to 017FEA:0004.
</p>

<p>
	To get this code to work, after you hex edit the single-byte at 17FEB to "04" in the bin, when you start up your rom and enter the Main Menu, you shouldn't adjust the "Players" option in the Menu Menu or else it may reset the code. Just leave the "Players" option at the default "One - Home" without changing that selection and when you are ready, proceed into a game. If done correctly, when you enter the game, you'll be in control of the Visitor Team and you will observe that Auto Player Switching will be off.
</p>

<p>
	If you test this out, it will be an adjustment from how you are used to playing NHL 94 because with the auto player switching off, you will now have to rely more on the CPU A.I. of your teammates and you may learn to take on new roles and responsibilities. If you play with Offsides on (which I recommend) you could find yourself in situations where the usual roles are reversed and for a change you will be tasked with having to remain onside when your CPU teammates have the puck and are advancing down the ice.
</p>

<p>
	- - - - - - - - -
</p>

<p>
	When using this code that turns the auto player switching off, there are several changes to that gameplay that you will experience. In addition, there are some issues that I've observed that you should be aware of if you test this code for yourself :
</p>

<p>
	1) This control method only works when controlling the visitor team. (in a 1P game vs a CPU home team) I've yet to discover a way to enable the Auto Player Switching Off while playing as the Home Team. If you have any ideas on how we can control the home team with having the auto player switching off, I am very interested in researching how to make that happen as it would be a great accomplishment. But as of now, it is only possible to play with the auto player switching off while controlling the visitor team.
</p>

<p>
	2) With this code enabled, when the goalie makes a save and gets the puck, it will no longer switch your control to the Goalie. When the goalie gets the puck, you will remain in control of one of the 5 position players, and the CPU will control the goalie. You will have to "get open" with your defensemen or whoever you are controlling and see if the CPU-controlled goalie will pass it out to you. This is something that was a very new experience for me, but it is very satisfying to get open and be rewarded with a pass from the CPU Goalie. With the CPU controlling your team's goalie, to give you enough time to get open before a face-off is called, I suggest using the code "CPU Goalies can hold the puck for 2X as long", which is 01530E:0118 in the rom.
</p>

<p>
	Please note that the auto player switching off code only works without issues when you set Goalies to Auto Control. If you set Goalies to Manual Control, you will encounter an issue if you switch to the Goalie when he has the puck when you try to pass the puck to a teammate. (more information about this issue at the end of the post)
</p>

<p>
	3) With the Auto Player Switching Off code enabled, there is a new phenomenon that occurs with regard to Line Changes. With Line Changes set to On, sometimes the CPU will override your Line Change choice when it prompts you to choose a new line before a face-off. You'll notice this when you try to make a line change before a face off. With this code on, the CPU may select a different line then you selected. This issue doesn't occur when you make a line change on the fly using the A button. (only when prompted to select a line before face-offs) This incentivizes the use of the stamina depletion codes for adjusting the stamina depletion rate of players, since sometimes the CPU will choose a line that is fatigued when you want to select a fresh line.
</p>

<p>
	This occurs when you run the Auto Player Switching Off code and have Line Changes set to On. It works basically like a combination of the "Auto" and "On" Line Change options both working simultaneously. So, you'll notice with Line Changes Set to On that the CPU will still trigger Line Changes on the fly like they do when Line Changes are set to Auto. So be aware that when you test this code with Line Changes set to On, the CPU may override the line that you select before face-offs, which you will observe when you are prompted to select a line change before a face-off and the CPU often will choose a different line than the one you select. I have found a solution to the CPU overriding your line selection problem through the use of hotkeys which is described at the end of the post.
</p>

<p>
	4) One of the adjustments to playing NHL 94 with Auto Player Switching Off is what happens when you pass to a teammate, particularly when in the attacking zone with regard to one-timers. When you are in the attacking zone, you will observe that passing the puck to a CPU teammate will often cause an one-timer to trigger automatically. With the Auto Player Switching off, you no longer are tasked with triggering one-timers yourself when you pass the puck to a teammate, since the game no longer switches you to the player you are passing to. Now the CPU A.I. determines whether to attempt a one-timer, unless of course you are receiving a pass from a CPU teammate or if you manage to switch to the player receiving a pass early enough.
</p>

<p>
	I am currently researching ways to better control when CPU-triggered auto one-timers occur with auto player switching off. You may find that with this code on, your CPU teammates auto-trigger one-timers too often. This is something I am trying to find a remedy for, either by editing player ratings or by finding additional codes that adjust CPU teammate decision-making. If you have any suggestions on how we can better control how often the CPU A.I. triggers one-timers when passing to CPU-controlled teammates in the attacking zone, that's something I'd like to work on.
</p>

<p>
	5) On rare occasions, I have noticed that there are times when a CPU controlled teammate receives the puck and proceeds to stand in place doing endless 360s. This appears to be some kind of a glitch. It doesn't happen very often, but I have observed it. At first, I thought it had something to do with the player having low stamina, or something related to player ratings, but now I'm not exactly sure what is causing this to occur. If it happens when you are testing this code, you can press the B button to gain control of that CPU teammate who is doing the 360s with the puck, and usually the issue is sorted when there's a line change or a whistle. I am trying to isolate why this happens to see if I can find a code or a remedy that stops this glitch from occurring.
</p>

<p>
	- - - - - - - - - -
</p>

<p>
	<u>Additional Notes and Suggestions :</u>
</p>

<p>
	Keep in mind that this discovery is still very much a work-in-progress when it comes to ironing out all the issues with it. I have tried to be as detailed as possible with this topic when it comes to describing what I have experienced when using the code. In this section I have tried to provide solutions that get around some of the issues when using the code.
</p>

<p>
	When you first test the code, I suggest setting Goalies to Auto Control, as you will encounter an issue if you set Goalies to Manual if you switch to the Goalie when he has the puck and you pass the puck to a teammate. It will temporarily cause you to lose control of the player until the next face-off, at which point the player will revert to CPU control once again but the 2P icon will remain visible on that player for the rest of the match. Keeping Goalies set on Auto Control when you use this code prevents this issue from occurring.
</p>

<p>
	With that said, I have developed a way to get around this Manual Goalie Control issue by using a hotkey to switch back and forth between Auto Player Switching On and Off so that when the goalie has the puck, you can switch to him and turn auto player switching back on momentarily, pass it out normally, then turn the auto player switching off again after the goalie passes it out. To create a hotkey to switch back and forth between Auto Player switching on and off on the fly while remaining in control of the visitor team, you'd need to find the single byte value of "04" in RAM and switch that between 02 and 04 with hotkeys during gameplay. That's what I do as I have those values mapped to two additional buttons on my controller for use while playing as the visitor team. FYI : Setting the code to 02 puts you in "normal" control of the visitor team. Setting the code to 01 (which is the default value) puts you in "normal" control of the home team. And Setting the code to 00 puts the game into "demo mode" where pressing a button returns you to the Main Menu.
</p>

<p>
	Using hotkeys to switch the code between 02 and 04 also allows you to solve the problem of the CPU overriding your line change selection before face-offs with line changes on. If you switch the code to "02" before the line change menu pops up prior to a face-off, you will be able to select the line that you want without the CPU making the selection for you. (You can switch the value back to "04" after the line change menu pops up even before making your line selection)
</p>

<p>
	So there is a remedy to both of these issues, which is to find the RAM address for the single-byte code and set up hotkeys giving you two buttons that you can press to turn the auto player switching on and off during gameplay while playing as the visitor team. If you need assistance with setting up the hotkeys, I'd be happy to help you and explain how I set them up.
</p>

<p>
	 
</p>

<p>
	When using the Auto Player Switch Off code, since your team's goalie will now default to being controlled by the CPU when they have the puck, I suggest turning on the "CPU Goalies can hold the puck for 2X as long" code (Game Genie : DBKT-CCAR or 01530E:0118 in the rom) to give your CPU-controlled goalie more time to pass out the puck before a face-off is called since control won't switch to the goalie any longer when he gets the puck. I have found that the value of "0118" at rom offset 01530E is a good balance for relying on the CPU controlled goalies to pass the puck out. If you set that lower, there will be too many goalie face-offs. If you increase it higher, it will cause your goalie to wait a long time before passing it out, even if there are players open. (it seems that CPU goalies will wait to pass it out until right before the time specified at 01530E when the ref will call for a face-off)
</p>

<p>
	- - - - - - - - - -
</p>

<p>
	Through this discovery of turning off auto player switching, I find myself experiencing NHL 94 on a new level. It works like a "player lock" except that it switches you back to the center when there is a face-off. You still retain the ability to switch players with the B button, but since the game no longer switches you automatically when a player on your team gets the puck, you now have more control over which player you are controlling which can be very useful and rewarding.
</p>

<p>
	The challenge of playing NHL 94 this way is that you will have to rely more on the decision making of the CPU A.I. since when they take control of the puck they will make their own decisions. This can take some getting used to, but I think you will find yourself paying more attention to aspects of the CPU A.I. that you weren't paying much attention to before because of the auto player switching. With the hotkey switching method that I have implemented, I find myself switching back and forth between auto player switching on and off throughout a match, which adds some variety and depth to the gameplay.
</p>

<p>
	If you test this out yourself, I am interested in hearing your feedback and observations.
</p>

<p>
	I want to give a special thanks to @kingraph for testing the code and helping me work on this discovery.
</p>
]]></description><guid isPermaLink="false">18482</guid><pubDate>Wed, 06 Jun 2018 00:42:52 +0000</pubDate></item><item><title>Smaller Goal mod</title><link>https://forum.nhl94.com/index.php?/topic/19516-smaller-goal-mod/</link><description><![CDATA[
<p>
	I have been working on a smaller goal mod for NHL 94 on Genesis. I have edited the artwork to work with the code that edits the barrier of the goal posts and of the boards. So this is complete with accurate collision of the goal posts with the puck with updated goal artwork.
</p>

<p>
	There are several different sizes of goals.
</p>

<p>
	Here are some photos of the smallest goal: (updated 11/16/19)
</p>

<p>
	<img alt="smallestupdatetopgoal2.jpeg" class="ipsImage ipsImage_thumbnailed" data-fileid="11448" data-ratio="94.00" data-unique="gmv9etkr2" style="width: 150px; height: auto;" width="374" src="https://forum.nhl94.com/uploads/monthly_2019_11/smallestupdatetopgoal2.jpeg.209241bdcd02b771cb04af1924d0e139.jpeg"><img alt="smallestupdatebotgoal.jpeg" class="ipsImage ipsImage_thumbnailed" data-fileid="11446" data-ratio="92.72" data-unique="4i62od4da" style="width: 151px; height: auto;" width="372" src="https://forum.nhl94.com/uploads/monthly_2019_11/smallestupdatebotgoal.jpeg.ed54c88d6b17d1e6541683bc309ba6a1.jpeg"></p>

<p>
	Playing roms with this goal size produces very low scoring games. One way I have made this goal size more playable is by lowering goalie glove ratings to create more shots that bounce off the goalie.
</p>

<p>
	Smallest Goal v1.1 ROM <span><span>: (released 12/28/19)</span></span>
</p>

<p class="flipthis-highlight">
	<a class="ipsAttachLink" contenteditable="false" data-fileext="bin" data-fileid="11528" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=11528" rel="">smallestgoalFBFF0000v11.bin</a>
</p>

<p class="flipthis-highlight">
	Version 1.1 Notes:
</p>

<p class="flipthis-highlight">
	-Disabled the Auto Goalie Diving Save Angles code used in v1.0 due to it causing all players to be Lefties in-game. In version v1.1 the new Goalie Diving Save Angles are Off by default, though they can be enabled in this version without it causing all players to be Lefties by running 2 RAM codes during gameplay. (see ROM for details)
</p>

<p class="flipthis-highlight">
	-Increased all Goalies Weight ratings by 4 in an effort to reduce cheap goals
</p>

<p class="flipthis-highlight">
	-Made some minor corrections and graphical improvements
</p>

<p>
	Smallest Goal v1.0 ROM <span>:</span>
</p>

<p>
	<a class="ipsAttachLink" contenteditable="false" data-fileext="bin" data-fileid="11489" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=11489" rel="">smallestgoalFBFF0000v1.bin</a>
</p>

<p>
	 
</p>

<p>
	Here are some photos of the medium size goal <span>:</span>
</p>

<p>
	<img alt="mediumalt.jpeg" class="ipsImage ipsImage_thumbnailed" data-fileid="11441" data-ratio="106.71" data-unique="zyfhrvd0k" style="width: 164px; height: auto;" width="378" src="https://forum.nhl94.com/uploads/monthly_2019_11/mediumalt.jpeg.f3f5675f16a47a491619d3f2cbeaebd1.jpeg"><img alt="mediumgoal2.jpeg" class="ipsImage ipsImage_thumbnailed" data-fileid="11438" data-ratio="103.13" data-unique="8mdu9sfxs" style="width: 160px; height: auto;" width="322" src="https://forum.nhl94.com/uploads/monthly_2019_11/mediumgoal2.jpeg.9a3f8bb1c4c741c6aa44728515aeb253.jpeg"></p>

<p>
	The medium version's posts are black while the smaller goal's posts are red because below the size editable in the goal artwork tile you have to choose from predetermined artwork by changing a single-byte vale.
</p>

<p>
	 
</p>

<p>
	Here is the larger version of the goal done from the goal art tiles <span>:</span>
</p>

<p>
	<img alt="largergoal1.jpeg" class="ipsImage ipsImage_thumbnailed" data-fileid="11439" data-ratio="97.14" data-unique="ydjvdbm9l" style="width: 140px; height: auto;" width="364" src="https://forum.nhl94.com/uploads/monthly_2019_11/largergoal1.jpeg.5dc30e66b2a7aafbfddb4bb2fed38173.jpeg"><img alt="largergoal2.jpeg" class="ipsImage ipsImage_thumbnailed" data-fileid="11440" data-ratio="86.71" data-unique="ou4f4dv24" style="width: 158px; height: auto;" width="386" src="https://forum.nhl94.com/uploads/monthly_2019_11/largergoal2.jpeg.33814ab7ebe1825b549146b47a8ca850.jpeg"></p>

<p>
	This one is slightly smaller than the normal goals in NHL 94.
</p>

<p>
	Each version works with a different value for the barriers code and each of these versions provide different challenges with different goal post and board collision values. I have roms for each goal size, and you could start by playing the larger version of the goal then try the smaller versions and see if you can score. You will be blown away by the goal post collisions and when goals miss the goal on shots compared to what you're used to. You can look at this as a way to adjust the accuracy of one-timers and shots. On the smaller goals hitting wide open nets with shots will no longer be automatic. You will now have to place your shots and pay more attention to angles since the goal post barrier code has been tailored to the artwork. If you play on the smallest goal you should expect a lot of 0 - 0 games and if you score it could end up being the winner. Playing on longer periods and real-time clock is essential to this mod since the smaller the goal the longer it will take you to score.
</p>

<p>
	Are you interested in testing NHL 94 with smaller goals with all the goal artwork updated? Will it change your strategy on how you score? Playing with smaller goals will make one-timers more realistic because they no longer will be automatic scores. Now they will hit off the post more or miss the goal completely.
</p>

<p>
	With different versions of goal sizes you can play on the goal size that you want, if the smallest version of the goal is too small and you are getting frustrated at not being able to score goals you can use the medium one. There really aren't too many other goal sizes that are possible than these due to the artwork limitation. Any smaller than the smallest one it's pretty much impossible to score. But be forewarned, after you experience playing NHL 94 with these smaller goals and adjusted collision you may not be able to go back to playing with regular sized goals again because you may find it too easy to score.
</p>

<p>
	Playing on these roms will make your NHL 94 experience more advanced and strategic since scoring becomes more difficult with a smaller target to score.
</p>

<p>
	 
</p>

<p>
	Note : Some of you may want to know more about the Goalie Diving Saves codes that I have put into this mod. I have included this screenshot to illustrate what these codes do. I attempted to put this code into the rom as a ROM code in v1.0 but as you seen, it had the affect of making all players lefties regardless of their handedness rating. So in v1.1 I had to remove it from the rom and offer it as a RAM code that you have the option to use. I want to explain why it was so important that I included this in the rom one way or another, because of what it does. And to better understand what these codes do, I have provided this screenshot <span>:</span>
</p>

<p>
	<img alt="C-button_auto_diving_save_feet_first.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="11549" data-ratio="70.68" data-unique="nlcq62ze2" width="266" src="https://forum.nhl94.com/uploads/monthly_2020_01/C-button_auto_diving_save_feet_first.jpg.5774dc97d35740ad823a002d474bb35c.jpg"></p>

<p>
	You see how the goalie is doing a feet first diving save attempt? These kinds of goalie diving saves don't occur too often if at all unless you have the two codes that I provided in the rom on. One code affects the human/p1 team's goalie the other code affects the cpu/p2 team's goalie. These codes don't seem to affect the goalie when manually controlled by a player, only when the goalie is under Auto-control. So this is in regards to C-button Goalie diving save attempts, but specifically when triggered by the CPU / Auto Goalie. That's what these codes affect and improve.
</p>

<p>
	As you can see from the screenshot, I was controlling the Devils skating right to left then attempted a shot. Normally this action would cause the CPU/Auto goalie to dive left or make the wrong decision and dive right which caused a glitch when the shot is taken : the shot would hit off an invisible wall where the game thinks the goalie is, but the goalie is seen diving to the opposite side. Instead of this situation, with the codes on, in situations like this, the goalie will often dive feet first instead of left or right. And unlike before, the puck now won't hit off an invisible wall when you take a shot, to the open net, or the side that the game thinks that the goalie has dived to, when the goalie is seen diving to the other side. With the codes on, sometimes goalies will still do C-button diving saves to the left or right in situations like this, but in those instances they'll be to the correct side more often and won't have this glitch. It's not that I've 100% solved the glitch from happening, it's that in general through the two codes, I've made auto goalie diving saves look cooler with these new angles and I've increased the accuracy of auto goalies diving to the correct side when they dive left or right which avoids the wrong sided goalie diving save glitch.
</p>
]]></description><guid isPermaLink="false">19516</guid><pubDate>Fri, 15 Nov 2019 13:21:31 +0000</pubDate></item><item><title>Process to Change Palettes on Sprites - My Notes</title><link>https://forum.nhl94.com/index.php?/topic/28310-process-to-change-palettes-on-sprites-my-notes/</link><description><![CDATA[<p>
	Concept you should be familiar with ahead of time:
</p>

<p>
	* Hex values and a Hex Editor<br>
	* Tile Molester<br>
	* Basic Graphics (Tiles, palettes)
</p>

<p>
	There is an issue in NHL Hockey (sometimes referred here as "NHL'92") where the away team's sprite in the penalty box shows the home team colors on their socks.  Essentially, there are two tiles that are using the home team palette but should be using the away team palette.  
</p>

<p>
	The goal was to find out where this information was in the ROM and change it from home palette to away palette.  The following is the process I used, in case this helps out others in the future.
</p>

<p>
	The first step I did was to find the actual tiles in the ROM that had the mistake.  To do this, I used the <a href="https://forum.nhl94.com/index.php?/topic/16742-tool-gens-rerecording-emulator-for-hacking/&amp;do=findComment&amp;comment=179795" rel="">GENS Emulator</a> that has a nice VDP Sprite tool.  Using this tool, I found the socks.  
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="36187" href="https://forum.nhl94.com/uploads/monthly_2023_12/01confirmtilesVDP.png.3b14a1964c8764b36f39d664e26bd261.png" rel=""><img alt="01 confirm tiles VDP.png" class="ipsImage ipsImage_thumbnailed" data-fileid="36187" data-ratio="60.30" data-unique="0qr0095ue" width="1000" src="https://forum.nhl94.com/uploads/monthly_2023_12/01confirmtilesVDP.thumb.png.2949e5b910a5badb5e781d240c6ef078.png"></a>
</p>

<p>
	The useful information here was that it was a 1x2 (08x16) tile, it was using palette ("Pal") 2 (which is really 3 since we start at 0) and that it had a horizontal flip (capital H on the flags).  I dumped the image, which gives me the tile in a bmp format.
</p>

<p>
	So now I knew what the actual tile looked like, and my next step was to find it in the ROM.  I opened up Tile Molester and created a test ROM.  I loaded the Harford palette, which can be found using NOSE.  
</p>

<p>
	<img alt="02 NOSE Palette.png" class="ipsImage ipsImage_thumbnailed" data-fileid="36188" data-ratio="111.18" data-unique="dastlz8ro" width="617" src="https://forum.nhl94.com/uploads/monthly_2023_12/02NOSEPalette.png.84d8561810cdfebe620a4e8ce9b37382.png">
</p>

<p>
	You can browse through and try to eyeball until you find the matching tile.  Instead, I made a copy of the tile in a test ROM by pasting the dumped tiles.  <em>NOTE:  The colors for the white/gray didn't paste exactly right, so I had to double check and manually adjust.</em>
</p>

<p>
	<img alt="03 paste sprite.png" class="ipsImage ipsImage_thumbnailed" data-fileid="36189" data-ratio="60.00" data-unique="6wzpx5don" width="765" src="https://forum.nhl94.com/uploads/monthly_2023_12/03pastesprite.png.9b34e77a342480cb70b24d7db8c9c50b.png">
</p>

<p>
	Once I had the tiles in my test ROM, I opened up the test ROM in HxD (my hex editor) and copied the first tile information.  I then searched for those hex values in the regular ROM, and found the location of the actual tile at 74BDA.
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="36190" href="https://forum.nhl94.com/uploads/monthly_2023_12/04FindTile.png.dd1ae50eb9a7ebef2c84b31589c38374.png" rel=""><img alt="04 Find Tile.png" class="ipsImage ipsImage_thumbnailed" data-fileid="36190" data-ratio="132.04" data-unique="ya5wqx8bx" width="568" src="https://forum.nhl94.com/uploads/monthly_2023_12/04FindTile.thumb.png.742dd4a8b9fc8e4c2d662fe3502c13df.png"></a>
</p>

<p>
	I went back into TM and went to that offset (still using Hartford home palette)
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="36192" href="https://forum.nhl94.com/uploads/monthly_2023_12/05TMtile.png.fc91933364a09bab19982eb97745b9cb.png" rel=""><img alt="05 TM tile.png" class="ipsImage ipsImage_thumbnailed" data-fileid="36192" data-ratio="49.80" data-unique="066rr0ibo" width="1000" src="https://forum.nhl94.com/uploads/monthly_2023_12/05TMtile.thumb.png.5cfc94621edf3c51474be1cdc29230df.png"></a>
</p>

<p>
	This was very useful information to have, especially if I wanted to alter or redraw the sprites.  However, I still needed to find the information in the ROM that instructed the game to use the home palette for these tiles and change that to away.
</p>

<p>
	I used the technique that <a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.nhl94.com/index.php?/profile/11909-adamcatalyst/&amp;do=hovercard" data-mentionid="11909" href="https://forum.nhl94.com/index.php?/profile/11909-adamcatalyst/" rel="">@AdamCatalyst</a> posted <a href="https://forum.nhl94.com/index.php?/topic/26262-how-to-change-the-colour-palette-for-the-puck-and-more%E2%80%A6/" rel="">here</a>
</p>

<p>
	<span id="cke_bm_125S"> </span> 
</p>

<blockquote class="ipsQuote" data-gramm="false" data-ipsquote="" data-ipsquote-contentapp="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="196903" data-ipsquote-contentid="26262" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1682615465" data-ipsquote-userid="11909" data-ipsquote-username="AdamCatalyst">
	<div class="ipsQuote_citation">
		On 4/27/2023 at 1:11 PM, AdamCatalyst said:
	</div>

	<div class="ipsQuote_contents ipsClearfix" data-gramm="false">
		<h2>
			The Journey
		</h2>

		<p>
			<strong>I couldn't stop thinking about this. </strong>I obsessed over the code for a few hours and eventually got too frustrated, so I went for a short walk. When I sat back down I looked at my notes again, and it hit me…
		</p>

		<ol>
			<li>
				Assume, for arguments sake, that the puck tiles are referenced using a 16 column grid, and similar syntax to the other major tile groups.<br>
				 
			</li>
			<li>
				Seeing as the puck tiles are amidst the sprite tiles, let's assume that the very first sprite tile is x000.<br>
				 
			</li>
			<li>
				Counting from this registration point, that would mean that the code that references the puck tiles, would likely be specified as "02F5" to "02FC."<br>
				 
			</li>
			<li>
				Doing a search for "02F5" yields only two results, and the first result is followed by "02F6," six-bytes later, and then "02F7" six-bytes, after that, etc.<br>
				 
			</li>
			<li>
				The next two bytes after these potential tile references are either "0000" or "0800". <a href="https://forum.nhl94.com/index.php?/topic/26232-how-to-edit-the-rink-sideboards-more/" rel="">If you don't know what this means, read this post to understand.</a>
			</li>
		</ol>
	</div>
</blockquote>

<p>
	 
</p>

<p>
	Using this Journey idea, these tiles were 1D and 1E in the tile group that they were located in:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="36193" href="https://forum.nhl94.com/uploads/monthly_2023_12/06tilenumbers.png.86ecb9728d0e346fefe80adf6901667d.png" rel=""><img alt="06 tile numbers.png" class="ipsImage ipsImage_thumbnailed" data-fileid="36193" data-ratio="68.60" data-unique="gq24yb6rt" width="1000" src="https://forum.nhl94.com/uploads/monthly_2023_12/06tilenumbers.thumb.png.430e1971a1dbee199eda5d85c4cb430a.png"></a>
</p>

<p>
	Using the information from above, I knew it was a 1x2 tile group, the starting tile is likely to be 1D, it was using the home palette (4) and it had a horizontal flip (add x8xx).  I decided to look for hex values of "481D".  Read the information in Adam's post earlier if this is unclear.
</p>

<p>
	So doing a search for 481D, I found 6 instances!
</p>

<p>
	<img alt="07 find instances.png" class="ipsImage ipsImage_thumbnailed" data-fileid="36194" data-ratio="56.84" data-unique="k2eaowol6" width="804" src="https://forum.nhl94.com/uploads/monthly_2023_12/07findinstances.png.4152c937d506c0035af3f0c261002c45.png">
</p>

<p>
	Each one was preceded with a 0100, which from my some previous knowledge on <a href="https://forum.nhl94.com/index.php?/topic/18130-nhl95-expanded-rom-project/page/5/#comment-170815" rel="">block sizes</a>, meant a 1x2 block.
</p>

<pre id="ips_uid_2787_8" style="border-bottom-width:1px; border-color:#888888; border-image:initial; border-left-width:4px !important; border-radius:var(--radius-1); border-right-width:1px; border-style:solid; border-top-width:1px; color:#353c41; font-size:14px; padding:2px; text-align:start"><span style="color:#000000">Bytes	Block Size
0F00	4x4
0E00	4x3
0D00	4x2
0C00	4x1
0B00	3x4
0A00	3x3
0900	3x2
0800	3x1
0700	2x4
0600	2x3
0500	2x2
0400	2x1
0300	1x4
0200	1x3
0100	1x2
0000	1x1</span></pre>

<p>
	After that, I changed those bytes from 481D to 681D, ultimately confirming that the first 3 were the away team sprites that had to be changed, and the other 3 were the home team (which was using the correct palette).  
</p>

<p>
	This particular fix put together a few pieces of information found on the forums.  Many thanks to <a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.nhl94.com/index.php?/profile/11-wboy/&amp;do=hovercard" data-mentionid="11" href="https://forum.nhl94.com/index.php?/profile/11-wboy/" id="ips_uid_9698_12" rel="">@wboy</a> and <a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.nhl94.com/index.php?/profile/292-slapshot67/&amp;do=hovercard" data-mentionid="292" href="https://forum.nhl94.com/index.php?/profile/292-slapshot67/" id="ips_uid_9698_13" rel="">@slapshot67</a> for all of their knowledge, and <a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.nhl94.com/index.php?/profile/11909-adamcatalyst/&amp;do=hovercard" data-mentionid="11909" href="https://forum.nhl94.com/index.php?/profile/11909-adamcatalyst/" rel="">@AdamCatalyst</a>'s process that helped me tackle this particular puzzle.  
</p>
]]></description><guid isPermaLink="false">28310</guid><pubDate>Fri, 22 Dec 2023 19:41:11 +0000</pubDate></item><item><title>HELP Genesis Sports Projects</title><link>https://forum.nhl94.com/index.php?/topic/19971-help-genesis-sports-projects/</link><description><![CDATA[<p>
	To Genesis Sports Enthusiasts!!!
</p>

<p>
	I'm aware that NHL94' website is mainly for the NHL series, but with the recent news that Tecmobowl.org is no more (RIP). This is one of the last places people, gamers, modders, and anyone for a debate can go and tickle that itch.
</p>

<p>
	This post / project is to get some help on some of the games that are long over do for a refresh/overhaul.
</p>

<ul><li>
		<span style="color:#2ecc71;"><strong>Triple Play Baseball</strong></span> (I've managed to get it cleaned, and rosters updated, especially without the dreaded "Ghetto City" or Jim's, or Frank's TEAM.) 
	</li>
	<li>
		<span style="color:#8e44ad;"><strong>World Series Baseball </strong></span>(I've updated all the rosters (attributes as well), found the logos. But needing help on main screen, and some other aspects)
	</li>
	<li>
		<span style="color:#c0392b;"><strong>NBA Live 98'</strong></span> (I've updated the rosters last year (all manually), but 96' has an editor which makes things a lot easier, I'm working with the guy who created it to see if we can get one for 98')  
	</li>
	<li>
		<span style="color:#e67e22;"><strong>Tecmo Super Bowl 3</strong></span> (I've updated the rosters (attributes), speed up the game, able to find the logos. but need help on the screens.) I know this probably is a waste of time, since <a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.nhl94.com/index.php?/profile/11680-drunken_1/&amp;do=hovercard" data-mentionid="11680" href="https://forum.nhl94.com/index.php?/profile/11680-drunken_1/" id="ips_uid_5511_4" rel="">@Drunken_1</a>, the master of SNES TSB3 is overhauling that game to be more of original game TSB4!!!
	</li>
	<li>
		<span style="color:#2980b9;"><strong>PrimeTime Football / NFL 98</strong></span> (I've done some modding there, but need some help to get the rosters completed and an overhaul of the helmets)
	</li>
	<li>
		<span style="color:#0099ff;"><strong>Madden 98</strong></span> (I've played with the rosters, but TSB is far better)
	</li>
</ul><p>
	PM or share as this is more to reach out to fellow enthusiasts and try bringing up closer with games we love....and updated features and rosters.<img alt=":dal_skater_hand_grab:" data-emoticon="true" src="https://forum.nhl94.com/uploads/emoticons/default_dal_skater_hand_grab.gif" title=":dal_skater_hand_grab:"></p>

<p>
	Below are the games I've started and would love input or suggestions (I.e. NCAA alternatives). Also, at the very bottom, is the NCAA TSB that I found, can't remember where. But Ill give to @MT Remix and @JstoutLogic as they were the ones I found in the game.
</p>

<p>
	<a class="ipsAttachLink" data-fileext="bin" data-fileid="12572" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=12572" rel="">Bill Walsh College Football '95.bin</a> <a class="ipsAttachLink" data-fileext="bin" data-fileid="12574" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=12574" rel="">Madden NFL 98.bin</a> <a class="ipsAttachLink" data-fileext="gen" data-fileid="12575" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=12575" rel="">NFL 2020.gen</a> <a class="ipsAttachLink" data-fileext="bin" data-fileid="12577" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=12577" rel="">Triple Play Gold 2020.bin</a> <a class="ipsAttachLink" data-fileext="bin" data-fileid="12578" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=12578" rel="">Tecmo Super Bowl 3 '20.bin</a> <a class="ipsAttachLink" data-fileext="smd" data-fileid="12579" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=12579" rel="">World Series Baseball '20 (98).smd</a> <a class="ipsAttachLink" data-fileext="zip" data-fileid="12580" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=12580" rel="">NCAA-TSB 2019.zip</a>
</p>]]></description><guid isPermaLink="false">19971</guid><pubDate>Mon, 03 Aug 2020 21:27:29 +0000</pubDate></item><item><title>FIFA Soccer 95: Help with a couple of things</title><link>https://forum.nhl94.com/index.php?/topic/25202-fifa-soccer-95-help-with-a-couple-of-things/</link><description><![CDATA[<p>
	Hello,<br><br>
	So long, NHL94 forum. I am currently working in another project for brazilian retro gamers which is MSU-MD Futebol 1.0 (I am thinking about to change for another title).<br>
	I have a full excel with relevant information about hacking FIFA Soccer 95 that I completed since 2018<br><br>
	I have seen there is almost nothing pending to find out in NHL94 Sega Genesis Rom. That's my goal for FIFA Soccer 95. I am going to need help finding the following:<br><br>
	1) FIFA Soccer 95 Menu Background. I don't have a clue where to find. As far as I am concerned, this type of menu is based on 4 screens, giving the effect the menu is "flying" in front of the background. This must be compressed and if it's compressed, what type of compression did EA Sports programmers use?<br><br>
	2) Music. There are 5 menu tracks in FIFA Soccer 95. What I could find is the following concerning Music and SFX:<br>
	From 60000 Hex to EB5CF Hex all the samples and SFX are inserted in the game. Every single sample weighs 32kb with the following data:<br>
	Code: Unsigned 8-bit PCM<br>
	Byte Order: Little Endian<br>
	Channels: 1 channel (mono)<br>
	Frequency: 11025hz<br><br>
	The only exception is "Ea Sports - If it's in the game" voice, whose quality is ADPCM and frequency is around 6000hz.<br><br>
	In FIFA Soccer 2020 I could manipulate the SFX and insert new crowd chants and SFX without any kind of trouble.<br><br>
	As you can see in the attached picture, there are five samples that includes music samples (Guitar, drums and effects).<br>
	So, what I am exactly looking for is where is located the music menu in the ROM.<br><br>
	Thanks in advance<br><br><br>
	TA Marcos Translations
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="https://forum.nhl94.com/uploads/monthly_2022_10/FIFA95.png.84d18d2371e59fcb6785cb8a74bdfa44.png" data-fileid="28762" data-fileext="png" rel=""><img alt="FIFA95.png" class="ipsImage ipsImage_thumbnailed" data-fileid="28762" data-ratio="48.43" width="797" src="https://forum.nhl94.com/uploads/monthly_2022_10/FIFA95.png.84d18d2371e59fcb6785cb8a74bdfa44.png"></a>
</p>
]]></description><guid isPermaLink="false">25202</guid><pubDate>Thu, 06 Oct 2022 14:53:23 +0000</pubDate></item><item><title>Team Offsets for NHL94-98</title><link>https://forum.nhl94.com/index.php?/topic/21482-team-offsets-for-nhl94-98/</link><description><![CDATA[<p>
	Hello Fellow Members, 
</p>

<p>
	Ive been doing some digging into future roms, and have located the Team Offsets from NHL96, 97 and 98. Im not sure if these have been found already, but thought to share my findings. Tested the values and found each version of NHl from 93-98 had the players data in HEX editor starting 104 bytes after team-offset. However, 96-98 were all the same and were only a 100 bytes away.
</p>

<p>
	NHL 93 - Team-offset to extract rosters - 314 (thanks to <a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.nhl94.com/index.php?/profile/253-smozoma/&amp;do=hovercard" data-mentionid="253" href="https://forum.nhl94.com/index.php?/profile/253-smozoma/" rel="">@smozoma</a> in his original post 
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="253" data-embedcontent="" data-embedid="embed2345247329" scrolling="no" src="https://forum.nhl94.com/index.php?/topic/14008-how-to-change-team-selection-order/&amp;do=embed&amp;comment=113395&amp;embedComment=113395&amp;embedDo=findComment#comment-113395" style="overflow: hidden; height: 334px; max-width: 502px;"></iframe>

<p>
	 
</p>

<p>
	NHL 94 - Team-offset to extract rosters - 30E (thanks to <a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.nhl94.com/index.php?/profile/167-sabrefan1/&amp;do=hovercard" data-mentionid="167" href="https://forum.nhl94.com/index.php?/profile/167-sabrefan1/" id="ips_uid_5368_5" rel="">@SabreFan1</a>)
</p>

<p>
	NHL 95 - Team-offset to extract rosters - 772 (thanks to <a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.nhl94.com/index.php?/profile/2578-kingraph/&amp;do=hovercard" data-mentionid="2578" href="https://forum.nhl94.com/index.php?/profile/2578-kingraph/" rel="">@kingraph</a>)
</p>

<p>
	NHL 96 - Team-offset to extract rosters - 77E 
</p>

<p>
	NHL 97 - Team-offset to extract rosters - 77E 
</p>

<p>
	NHL 98 - Team-offset to extract rosters - 77E 
</p>

<p>
	I've attached each rom extract below for those interested. In addition, would like to thank <a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.nhl94.com/index.php?/profile/253-smozoma/&amp;do=hovercard" data-mentionid="253" href="https://forum.nhl94.com/index.php?/profile/253-smozoma/" rel="">@smozoma</a> for his fantastic NHL Hockey Roster Tool. And
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="253" data-embedcontent="" data-embedid="embed834494983" scrolling="no" src="https://forum.nhl94.com/index.php?/topic/11779-tool-roster-extracterimporter-tool/&amp;do=embed" style="overflow: hidden; height: 213px; max-width: 502px;"></iframe>

<p>
	 
</p>

<p>
	 
</p>
<p>
<a class="ipsAttachLink" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=21866&amp;key=48698f64b97328c5e5c0e025a4981432" data-fileExt='csv' data-fileid='21866' data-filekey='48698f64b97328c5e5c0e025a4981432'>97.csv</a> 
<a class="ipsAttachLink" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=21867&amp;key=f4f10fd073be6035d8a46da42420114d" data-fileExt='csv' data-fileid='21867' data-filekey='f4f10fd073be6035d8a46da42420114d'>98.csv</a> 
<a class="ipsAttachLink" href="https://forum.nhl94.com/applications/core/interface/file/attachment.php?id=21868&amp;key=605bac6a0955b8f0dd97ddf0577fad2f" data-fileExt='csv' data-fileid='21868' data-filekey='605bac6a0955b8f0dd97ddf0577fad2f'>96.csv</a></p>]]></description><guid isPermaLink="false">21482</guid><pubDate>Sat, 27 Nov 2021 16:17:47 +0000</pubDate></item><item><title>Help with FIFA Soccer 2020 (FIFA 95 Hack) - Assembly</title><link>https://forum.nhl94.com/index.php?/topic/19704-help-with-fifa-soccer-2020-fifa-95-hack-assembly/</link><description><![CDATA[
<p>
	Hi all,
</p>

<p>
	I started the last year a hack of FIFA Soccer 95, that I'm calling FIFA Soccer 2020 because I am updating to 2019-2020 season.<br>
	The first idea was just an update of players, teams, first and second kits, etc. After long time working and analyzing the rom I had more interest in doing something more serious, so I went further, such as insert new audios to the game, music, add new graphics, design banners, add a new intro or header to the game. I can say I am in an intermediate level.<br>
	After this introduction I am going to explain what I would like to correct.<br><br>
	I did a new intro for the game. Instead of showing the classical EA Sports screen, an audio saying "TA Sports - FIFA Soccer 2020" sounds, and after that, the following instruction is a screen of "TA Sports."<br>
	Well, the problem is just there: What I want is the logo with the correspondent colors, but no showing the graphics of the colors.<br>
	What I did for the intro (in Hex):
</p>

<p class="MsoNormal">
	<p></p><span style="color:red">4E B9 </span><span style="color:&#13;
#0070C0">00 05 F5 C4 </span>22 3C <span style="color:#FFC000">00 20 F0 00 </span>24 7C <span style="color:#00B050">00 20 F0 00</span> 30 1A 33 C0 00 C0 00 00 51 C9 FF F6 30 3C 60 00 -&gt; White background of the logo on the top<p></p>
</p>

<p class="MsoNormal">
	<span style="color:red">4E B9 </span><span style="color:&#13;
#0070C0">00 05 F5 C4 </span>22 3C <span style="color:#FFC000">00 00 07 FF </span>24 7C <span style="color:#00B050">00 1F EC 00 </span>30 1A 33 C0 00 C0 00 00 51 C9 FF F6 30 3C 70 00 -&gt; First part of the logo<p></p>
</p>

<p class="MsoNormal">
	<span style="color:red">4E B9 </span><span style="color:&#13;
#0070C0">00 05 F5 C4 </span>22 3C <span style="color:#FFC000">00 00 09 FF </span>24 7C <span style="color:#00B050">00 20 04 00 </span>30 1A 33 C0 00 C0 00 00 51 C9 FF F6 30 3C 84 00 -&gt; Second part of the logo<p></p>
</p>

<p class="MsoNormal">
	<span style="color:red">4E B9 </span><span style="color:&#13;
#0070C0">00 05 F5 C4 </span>22 3C <span style="color:#FFC000">00 00 15 FF </span>24 7C <span style="color:#00B050">00 20 1C 00</span> 30 1A 33 C0 00 C0 00 00 51 C9 FF F6 26 BC C0 00 -&gt; Third part of the logo.
</p>

<p class="MsoNormal">
	00 00 22 3C <span style="color:#FFC000">00 00 00 0F </span>24 7C <span style="color:#00B050">00 10 61 7C </span>30 1A 33 C0 00 C0 00 00 51 C9 FF F6 30 3C FF 80 -&gt; Colors shown in the intro (in green the colors of the intro address)
</p>

<p class="MsoNormal">
	<p>I am going to show a couple of pics in order to be understood clearly.</p>
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="11821" data-ratio="75.51" data-unique="yeyi5yomf" width="637" alt="TA Logo wanted.png" src="https://forum.nhl94.com/uploads/monthly_2020_03/474997987_TALogowanted.png.512ca0cf4e79006f069a0874020422fc.png"><img class="ipsImage ipsImage_thumbnailed" data-fileid="11820" data-ratio="75.51" data-unique="wfu0z6fre" width="637" alt="TA Logo showed.png" src="https://forum.nhl94.com/uploads/monthly_2020_03/236092035_TALogoshowed.png.e81ebcd413ed982ad44fefd365e329f9.png"></p>

<p>
	I know that there is an error in the instructions given in the last part, after the third part logo.<br>
	Anybody who has notions of Assembly (Motorola 68000), what would the correct instructions be in order to get an intro like the first pic?<br><br>
	Thank you so much in advance.<br><br>
	PS: I got some info in this forum (specially from Wboy to start with hacking EA Sports videogames -how to eliminate the checksum routine-), so I credited this forum in this game that is on the point to finish.
</p>
]]></description><guid isPermaLink="false">19704</guid><pubDate>Sat, 28 Mar 2020 01:00:34 +0000</pubDate></item><item><title>Reordering existing teams in a ROM without redoing everything manually</title><link>https://forum.nhl94.com/index.php?/topic/20585-reordering-existing-teams-in-a-rom-without-redoing-everything-manually/</link><description><![CDATA[<p>
	<a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.nhl94.com/index.php?/profile/11681-ultramagnus/&amp;do=hovercard" data-mentionid="11681" href="https://forum.nhl94.com/index.php?/profile/11681-ultramagnus/" rel="">@UltraMagnus</a> is currently putting together a '94 ROM for the EIHL (British league), because he is an absolute legend.  I have sorted the team and player details, along with the kits, and have nicked <a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.nhl94.com/index.php?/profile/11682-monkeyhead/&amp;do=hovercard" data-mentionid="11682" href="https://forum.nhl94.com/index.php?/profile/11682-monkeyhead/" rel="">@MonkeyHead</a>'s ratings from a '95 ROM for the same league.  It seems to be coming along quite nicely.
</p>

<p>
	The ROM is based on the rosters at the end of the 2019/20 season, which featured (as normal) 10 teams.  Due to Covid, a full 20/21 season is not going ahead as normal,<strong> </strong><strong>but... </strong>a massively shortened season / glorified tournament is going ahead with 4(!) teams only.
</p>

<p>
	When the '94 ROM is completed, there will be 10 teams.  Let's call them teams (1) to (10).  In the ROM, they are naturally in alphabetical order.  However, the four teams that will feature in the season / tournament will be, for sake of argument, teams (1), (3), (5) and (7).
</p>

<p>
	If I wanted to have a stab at putting together a further ROM for the shortened season, as the rosters are completely different due to a one-off drafting system that has been put in place to reallocated players from the wider league across the 4 teams, is there a way of essentially reordering the existing teams in a ROM, so that I could make the first 4 (as reordered (1), (3), (5), (7), (2), (4), (6), (8), (9) and (10)) selectable whilst hiding the rest?  This would save me having to redo everything from scratch, especially the graphics (this is what I have needed a lot of help with to date and I don't want to bother anyone by asking for loads of help with this one, as people have done enough for me as it is).
</p>

<p>
	I have had a look in NOSE but nothing leaps out from the main "teams" section, although I could be looking in the wrong place.
</p>

<p>
	Thanks!
</p>]]></description><guid isPermaLink="false">20585</guid><pubDate>Sat, 13 Mar 2021 11:29:42 +0000</pubDate></item><item><title>Limiting the number of teams that show in the play-off brackets in NHL '94</title><link>https://forum.nhl94.com/index.php?/topic/20589-limiting-the-number-of-teams-that-show-in-the-play-off-brackets-in-nhl-94/</link><description><![CDATA[<p>
	Evening all
</p>

<p>
	<a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.nhl94.com/index.php?/profile/11681-ultramagnus/&amp;do=hovercard" data-mentionid="11681" href="https://forum.nhl94.com/index.php?/profile/11681-ultramagnus/" rel="">@UltraMagnus</a> has just finished an <strong>awesome</strong> EIHL version of '94, which I have been putting through its paces this evening.
</p>

<p>
	The EIHL only features 10 teams, so I was wondering whether there is a way to amend the in-game play-off bracket screen so that it only shows the 10 teams in the league, rather than the hidden NHL teams.  The ROM has already been tweaked in EARE so that only the 10 EIHL teams are selectable for a play-off run.
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="16636" data-ratio="70.00" data-unique="x4t3d92j6" width="640" alt="Bracket.png" src="https://forum.nhl94.com/uploads/monthly_2021_03/Bracket.png.7de6da9b8076a7ab11cc2909b0cec9ea.png"></p>

<p>
	I know you can change the brackets in NOSE but I couldn't see anything that allows you to actually <strong>delete</strong> teams from the brackets.  Ignore the names here, as we have padded the ROM with other British teams so that the "EA Hockey Night" score banner does not look too ridiculous by showing, say, Manchester Storm playing the Maple Leafs!
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="https://forum.nhl94.com/uploads/monthly_2021_03/NOSE.png.463a1104d174ee934d7434b370d36916.png" data-fileid="16633" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="16633" data-ratio="46.60" data-unique="5de56wub8" width="1000" alt="NOSE.png" src="https://forum.nhl94.com/uploads/monthly_2021_03/NOSE.thumb.png.30f982d515ea9188ab6a62f1fbc62159.png"></a>
</p>

<p>
	Ideally, the bracket would feature 8 teams, as this is how it works in real life.
</p>

<p>
	Like with every question I seem to ask, I suspect that there probably isn't an easy solution to this but I just wanted to check. 
</p>

<p>
	Thanks!
</p>]]></description><guid isPermaLink="false">20589</guid><pubDate>Sun, 14 Mar 2021 22:47:40 +0000</pubDate></item><item><title><![CDATA[Merging NHL94 & NHL95]]></title><link>https://forum.nhl94.com/index.php?/topic/19983-merging-nhl94-nhl95/</link><description><![CDATA[<p>
	Hello All,
</p>

<p>
	I'm doing something that might have been attempted or not. But thought the conversation may need to be asked.
</p>

<p>
	What are your thoughts of merging NHL94  and NHL95?
</p>

<p>
	Using the players from 94 in 95?
</p>

<p>
	Using end of period/penalties screen from 94 into 95?
</p>]]></description><guid isPermaLink="false">19983</guid><pubDate>Sat, 08 Aug 2020 22:25:14 +0000</pubDate></item><item><title>[Help Me] Finishing the last details of UEFA Champions League 2021 (J-League Pro Striker 2 Hack)</title><link>https://forum.nhl94.com/index.php?/topic/20507-help-me-finishing-the-last-details-of-uefa-champions-league-2021-j-league-pro-striker-2-hack/</link><description><![CDATA[<p>
	Hi all,
</p>

<p>
	I am currently working on my latest project "UEFA Champions League 2021", a hack from J-League Pro Striker 2.<br>
	As many of you know, the original game was released only in Japan, so almost the full game is in Japanese.<br>
	I am having a hard time adapting some screens from original Japanese Kanji to Spanish because of the limitation of characters.<br>
	But this is not the big issue. The main problem that's happening in a couple of screens (maybe three or four), is the "forced" tile orders or tile patterns those Kanji have.<br>
	I understand that because it is pointless to repeat the same tile on and on and it is a good idea to save ROM space.<br><br>
	Below an example:<br><br><a class="ipsAttachLink ipsAttachLink_image" href="https://forum.nhl94.com/uploads/monthly_2021_01/671200561_CiudadesTodos.png.8dc97b2d019f41fd28e66e81171bdbd3.png" data-fileid="16254" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="16254" data-ratio="56.30" data-unique="pkk106s8c" width="1000" alt="Ciudades Todos.png" src="https://forum.nhl94.com/uploads/monthly_2021_01/727319938_CiudadesTodos.thumb.png.9e9a2ff6064fca12008b3de584953e71.png"></a>
</p>

<p>
	 
</p>

<p>
	These tiles belong to the Game's Ending, when every result of your League's matches is displayed before the final credits. As you can see, tiles for the names of the team's cities are all together,<br>
	but if we check the game...
</p>

<p>
	 
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="16255" data-ratio="75.16" data-unique="46ydb4f14" width="636" alt="Resultados Japonés.png" src="https://forum.nhl94.com/uploads/monthly_2021_01/1410532507_ResultadosJapons.png.2f9f1896ce3731a64dee7ed221346add.png"></p>

<p>
	<br>
	ISSUES:
</p>

<p>
	1. Kashima is using the same tiles than Hiroshima because it needs the Shima Kanji.<br>
	2. Yokohama Marinos and Yokohama Flugels are sharing the Yokohama Kanji<br>
	3. The programmed separation (spaces) between Kanji "syllables"<br><br>
	As a consequence, in order to use a tile that isn't used more than once, the result is not very visual and attractive at all:<br><br><img class="ipsImage ipsImage_thumbnailed" data-fileid="16256" data-ratio="74.41" data-unique="51ivm404a" width="641" alt="Resultado Español.png" src="https://forum.nhl94.com/uploads/monthly_2021_01/724458556_ResultadoEspaol.png.59c4fbdcdc7f22a66219be7d8d9c2018.png"><br><br><br>
	With the exception of Real Madrid (Initials R.MAD because Nagoya has three Kanji Syllables with no spaces between), the rest aesthetically is hard to watch (the idea of the initials works somewhere else in the game, but not in this screen).<br>
	BOR- Borussia Dortmund<br>
	RBL- Red Bull Leipzig<br>
	BMG- Borussia Mönchengladbach<br>
	CHE- Chelsea<br>
	FCB- Fútbol Club Barcelona<br>
	BAY- Bayern Munich<br>
	PSG- Paris Saint-Germain<br>
	LIV-  Liverpool<br>
	ATM- Atlético Madrid<br>
	MCI- Manchester City<br><br>
	So that's the question: Is there any way to avoid these orders where these spaces between characters are programmed and manipulate these tile patterns?<br><br>
	By the way, if you are interested in the hack, I share a link:<br>
	 
</p>

<div class="ipsEmbeddedVideo" contenteditable="false">
	<div>
		<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="150" src="https://forum.nhl94.com/applications/core/interface/index.html" width="200" data-embed-src="https://www.youtube.com/embed/taJ_Jw8ucys?feature=oembed"></iframe>
	</div>
</div>

<p>
	<br><br>
	Thanks in advance,<br><br><br><br><br>
	TA Marcos Translations
</p>]]></description><guid isPermaLink="false">20507</guid><pubDate>Sat, 30 Jan 2021 18:05:51 +0000</pubDate></item><item><title>[Help me Hack] FIBA World Cup (NBA Live 97 Hack)</title><link>https://forum.nhl94.com/index.php?/topic/19755-help-me-hack-fiba-world-cup-nba-live-97-hack/</link><description><![CDATA[
<p>
	A few days ago I started a project of hacking <em>NBA Live 97 </em>from Sega Genesis.<br>
	I will convert it into <strong>FIBA World Cup</strong> (no year) with up-to-date rosters <u>based on</u> the event and performances of the<em> 2019 FIBA World Cup in China</em> .<br>
	What I have done until now is modify the names of the teams, insert a few logos and modify three rosters (for Spain, Argentina and Brazil). It is a project I am working slowly and I want it finished before summertime.<br>
	I have to recognise I don't watch too much basketball since 2009. So, what I need for this project is someone who was an expertise on international basketball:<br>
	Must know most of the players.<br>
	Players main attributes.<br>
	Players Strenghts and Weaknesses.<br><br>
	Concerning I want a very realistic game, I want <u>realistic attributes and skills</u> of the players.<br>
	Below there is a list of the national teams that there will be in the hack (ordered by FIBA ranking):<br><br>
	1. USA<br>
	2. <strong>Spain (finished)</strong><br>
	3. Australia<br>
	4. <strong>Argentina</strong> <strong>(finished)</strong><br>
	5. Serbia<br>
	6. France<br>
	7. Greece<br>
	8. Lithuania<br>
	9. Czech Rep.<br>
	10. <strong>Brazil</strong> <strong>(finished)</strong><br>
	11. Russia<br>
	12. Italy<br>
	13. Poland<br>
	14. Croatia<br>
	15. Turkey<br>
	16. Puerto Rico<br>
	17. Slovenia<br>
	18. Germany<br>
	19. Dominican Rep.<br>
	20. Venezuela<br>
	21. Canada<br>
	22. Nigeria<br>
	23. New Zealand<br>
	24. Montenegro<br>
	25. China<br>
	26. Angola<br>
	27. Tunisia<br>
	28. Japan<br>
	29. Ivory Coast<br><br>
	See attached the following screen captures:<br><br><img class="ipsImage ipsImage_thumbnailed" data-fileid="11886" data-ratio="74.53" data-unique="uw99pdq6v" width="640" alt="FIBA1.png" src="https://forum.nhl94.com/uploads/monthly_2020_04/FIBA1.png.2be081b59ea161e675fa31c50421e68d.png"></p>

<p>
	 
</p>

<p>
	<br><img class="ipsImage ipsImage_thumbnailed" data-fileid="11887" data-ratio="70.96" data-unique="q2k4nmcd3" width="637" alt="FIBA2.png" src="https://forum.nhl94.com/uploads/monthly_2020_04/FIBA2.png.9c4268721f2b5e9fcc6c71a5a9ecd21c.png"></p>

<p>
	 
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="11888" data-ratio="69.73" data-unique="ijdiofa4w" width="641" alt="FIBA3.png" src="https://forum.nhl94.com/uploads/monthly_2020_04/FIBA3.png.7e950af5ef15a7ea517292915ae22228.png"></p>

<p>
	 
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="11889" data-ratio="70.38" data-unique="7yr3uek61" width="638" alt="FIBA4.png" src="https://forum.nhl94.com/uploads/monthly_2020_04/FIBA4.png.47c20f84223322b4a38e2d1872af663a.png"></p>

<p>
	Thanks in advance.<br><br>
	Best,<br><br><br>
	TA Marcos
</p>
]]></description><guid isPermaLink="false">19755</guid><pubDate>Sat, 11 Apr 2020 21:57:54 +0000</pubDate></item><item><title>Looking for someone to make me a mighty ducks sega nhl game rom</title><link>https://forum.nhl94.com/index.php?/topic/18898-looking-for-someone-to-make-me-a-mighty-ducks-sega-nhl-game-rom/</link><description><![CDATA[
<p>
	Would anyone like to make me a nhl (anyone version, like the 94one) mighty ducks mod, with teams and roster, etc, possibly pay for work, dont make much but i would like a game like that...
</p>

<p>
	there was one similar on this site, but idk felt like it could have more teams etc
</p>

<p>
	 
</p>

<p>
	email me at Jayteetaylor@gmail.com
</p>

<p>
	if interested
</p>

<p>
	thanks
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">18898</guid><pubDate>Sat, 27 Apr 2019 17:30:59 +0000</pubDate></item></channel></rss>
