AdamCatalyst Posted January 3 Report Posted January 3 (edited) How to: Wide Display Mode in '94 (Patches) v3.0 (2025 03 20) Above: The Original ROM and WWF Survivor Shoot-Out patched for Wide Display mode. Here is a couple patches that you can use on Sega Genesis/Mega Drive NHL ’94 ROMs to switch the gameplay view from 256 pixels wide to 320 pixels wide. These are entirely new patches built from the ground up to make the man comprehensive stable, and minimal intrusive to the game's original code as possible. Furthermore, two different versions of the patch are included, one for the original 28-team ROM, and another for the 32-Team ROM hack. And as an added bonus, two optional patches allow you to limit the amount of horizontal camera movement. Without further ado, here are the patches! Please let me know if you encounter any errors. cheers, -Adam NHL 94 - Patches - Display Mode - Wide - v3.0.zip Version Notes v3.0 Completely re-written from the ground up for better optimization. v2.2 Fixed misaligned Arrow Indicators for Off-Screen players, and removed Gameplay overlays from Instant Replay view. v2.1 Fixed Injury & Shoot-Out Overlays. v2.0 Initial Public Release. Known Issues In Instant Replay View, there are two garbage video tiles on the lower let side. (Any advice on how to fix this?) Potential Issues When applying this to existing ROM hacks, there may be compatibility issues, as it is impossible to prepare a patch that will work with every single ROM hack variant. If you are having difficulties, you may wish to manually modify the ROM with my notes below, or to ask that ROM hack creator for help. Just about everything they need to know is included in the next post below. Edited March 20 by AdamCatalyst Updated for v3.0 Quote
AdamCatalyst Posted January 3 Author Report Posted January 3 (edited) How to: Wide Display Mode in '94 (Manual Methods) So, you're a masochist, eh? Who am I to judge… Every change made by this patch is listed below. Feel free to critique and suggest improvements. Hopefully this will be useful for others looking to enhance the existing wide mode patches for other versions of the game. v3.0 (2025 03 20) 1. Remove Checksum 0x300 4E B9 00 0F FA C0 Revised 4E 71 4E 71 4E 71 2. Instant Replay Reverse View Display Mode 0x9D02 317C 8C00 0004 31FC 0005 B00E Revised 317C 8C81 0004 31FC 0006 B00E For some reason the Instant Replay Reverse view has a manual video mode refresh in it. This changes the settings used from 32-Column / Window Map #5 to 40-Column / Window Map #6. 3. Instant Replay Window Clearing Bytes 0x9FF2 0400 Revised 06E8 This is the minimal value that clears the entire Window in IR mode. 4. Camera / Viewport Horizontal Pan Maximums Decreased 4.1 Pan Maximum RIGHT Side - 1/2 (Instant Replay) 0x0A641 003C > 001C (Original Camera Movement Range) 003C > 0010 (Less Camera Movement) 003C > 0000 (No Camera Movement) 4.2 Pan Maximum RIGHT Side - 2/2 (Instant Replay) 0xA649 003C > 001C (Original Camera Movement Range) 003C > 0010 (Less Camera Movement) 003C > 0000 (No Camera Movement) 4.3 Pan Maximum LEFT Side - 1/2 (Instant Replay) 0xA64D FFC4 > FFE4 (Original Camera Movement Range) FFC4 > FFF0 (Less Camera Movement) FFC4 > 0000 (No Camera Movement) 4.4 Horizontal Pan Maximum - LEFT Side - 2/2 (Instant Replay) 0xA655 FFC4 > FFE4 (Original Camera Movement Range) FFC4 > FFF0 (Less Camera Movement) FFC4 > 0000 (No Camera Movement) 4.5 Camera Horizontal Pan Maximum - LEFT Side - Mid-Ice (In-Play) 0xB0AB FFC4 > FFE4 (Original Camera Movement Range) FFC4 > FFF0 (Less Camera Movement) FFC4 > 0000 (No Camera Movement) 4.6 Horizontal Pan Maximum - LEFT Side - Against Boards (In-Play) 0xB0B3 FFC4 > FFE4 (Original Camera Movement Range) FFC4 > FFF0 (Less Camera Movement) FFC4 > 0000 (No Camera Movement) 4.7 Pan Maximum RIGHT Side - Mid-Ice (In-Play) 0xB0C9 003C > 001C (Original Camera Movement Range) 003C > 0010 (Less Camera Movement) 003C > 0000 (No Camera Movement) 4.8 Pan Maximum RIGHT Side - Against Boards (In-Play) 0x0B0D1 003C > 001C (Original Camera Movement Range) 003C > 0010 (Less Camera Movement) 003C > 0000 (No Camera Movement) 5. Line Change Overlays Relocation 0x0B9E5 16 > 1F 6. Face-Off Overlays Relocation Thanks to @McMarkis 6.1 Face-Off Overlays Left Side X-Position 0xFB5F 36 > 3E 6.2 Right Side Face-Off Overlays X-Position 0xFB6B BE > F6 7. Clear Screen Box for Penalty Shot & Shoot-Out Relocation & Resizing 0x01203D 03 02 00 70 1B Revised 05 02 00 70 1D 8. Patch Vertical Mode to 40-Columns (320 pixels wide) 0x12B44 08B8 0007 C2EC Replace with Jump to Patch (28-Team / 32-Team) 4EB9 000F FAF2 / 4EB9 001F FA32 Patch @ 0x0FFAF2 / 0x1FFA32 08B8 0007 C2EC 08B8 0001 BF78 33FC 8C81 00C0 0004 31FC 0006 B00E 4E75 After the view mode flag is set to Vertical, this patch sets the display mode flag to 40 columns, the video mode to 320 pixels wide, and the Window to Map #6. 9. Clear Screen Box for Games set to 40-Columns (320 pixels wide) 0x12B7F 20 > 28 This properly clears overlays. 10. Patch Horizontal Mode (Sideboards View) to 32-Columns (256 pixels wide) 0x12B98 08F8 0007 C2EC Replace with Jump to Patch (28-Team / 32-Team) 4EB9 000F FAC0 / 4EB9 001F FA00 Patch @ 0xFFAC0 / 0x1FFA00 08F8 0007 C2EC 08F8 0001 BF78 33FC 8C00 00C0 0004 31FC 0005 B00E 4E75 After the view mode flag is set to Horizontal, this patch sets the display mode flag to 32 columns, the video mode to 256 pixels wide, and the Window to Map #5. 11. Score Clock Relocation 11.1 Score Clock position 0x012C7B 17 > 1F 11.2 Home Team Name 0x012C8D 18 > 20 11.3 Visitor Team Name 0x012C9F 18 > 20 11.4 Score position 0x012D1F 1C > 24 12. Rink Background X-position Revised 0x015F3F C0 > E0 13. Sideboards Crowd Animation X-position Revised 0x0161F7 C0 > E0 14. Crowd Animation Events X-position Revised 14.1 0x016281 C0 > E0 14.2 0x016287 90 > D0 15. Arrows Indicating Off-Screen Players From what I can tell, the system takes the players positions on the ice, and then rescales them to a smaller overlay. 0x16592 indicates $0100, or 256 pixels wide, the original viewport. $0120 changes the overlay to 320 pixels wide for wide mode, so it doesn't draw each arrow 20% too far to the left. The thresholds for when the arrows appear has been adjusted, and the middle arrow have been re-positioned offscreen. 15.1 Horizontal Arrow RIGHT Side THRESHOLD @ 0x16540 Original 0074 Revised 0084 15.2 Horizontal Arrow LEFT Side THRESHOLD @ 0x1654C Original FF8C Revised FF7C 15.3 Arrow Map Width @ 0x16592 Original (256) 0100 Revised (320) 0120 15.4 Diagonal Arrow RIGHT side Offsets @ 0x165C4 / 0x165CC / 0x165D4 Original 0074 / 0074 / 0074 (116) Revised 007C / 017C / 0054 Custom 007C / 017C / 005C Top Right / Middle Right / Bottom Right 15.5 Arrow Offsets LEFT side @ 0x165E4 / 0x165EC / 0x165F4 Original FF8C / FF8C / FF8C (-116) Revised FFAC / FE84 / FF84 Bottom Left / Middle Left / Top Left 16. Rink Player Sprite Draw Distance 16.1 Rink Player Visibility Right Side 0x016941 90 > B0 16.2 Rink Player Sprite Draw Distance West 0x016949 70 > 50 17. Offset the Position of Players in the Rink and Sideboards to Match Gameplay Display X-Position 0x01694E 0640 0100 D242 Replace with Jump to Patch (28-Team / 32-Team) 4EB9 000F FADC / 4EB9 001F FA1C Patch @ 0xFFADC / 0x1FFA1C 0640 0120 0838 0007 C2EC 6700 0006 0640 FFDF D242 4E75 Changes default gameplay X-Offset from 256 to 288, to centre gameplay in wider viewport. If in horizontal mode, it changes the offset back to 256. 18. Stars of the Game Overlay Relocated 18.1 Box for Stars of the Game 0x18541 02 > 06 18.2 Text: Stars of the Game 0x18553 09 > 0D 18.3 Graphic: Stars of the Game Sponsor Icon (unused by default) 0x18567 03 > 07 18.4 Text: Player Team 0x1859D 1A > 1E 18.5 Text: Player Number & Name 0x185B9 03 > 07 19. Injury Overlays Relocation 19.1 Injury Text Box @ 0x018727 0B > 13 19.2 Text: “Injury to:” (PERIOD) @ 0x018743 0C > 14 19.3 Text: “Out for period” @ 0x018750 0C > 14 19.4 Text: Injured Player Name (PERIOD) @ 0x018761 0C > 14 19.5 Text: “Injury to:” (GAME) @ 0x01876F 0C > 14 19.6 Text: “Out for game” @ 0x01877C 0C > 14 19.7 Injured Player Name (GAME) @ 0x01878B 0C > 14 20. Penalty Shot Overlay Relocation 20.1 Penalty Shot Overlay Box 0x0187E3 03 02 00 70 1B Revised 06 02 00 70 1C 20.2 Heading Text: “PENALTY SHOT!” 0x018887 04 > 08 20.3 Infraction Name 0x01882D 04 > 08 20.4 Infracting Player Number & Name 0x018858 04 > 08 20.5 Shooter Number & Name 0x018897 04 > 08 21. Goal Overlays (Goal, PP Goal, Hat Trick) Relocation 21.1 “Goal!” Box 0x188D1 0B > 13 21.2 Goal Scorer 0x1897D 0C > 14 21.3 Text Heading “Assist by:” 0x189C1 0E > 16 21.4 Assist #1 0x189CE 0C > 14 21.5 Assist #2 0x189F3 0C > 14 21.6 Text Heading “GOALl!” 0x18A17 0F > 17 21.7 TBD: May Be Unnecessary / Unwanted 0x18A1F 0C > 14 21.8 Text Heading “HAT TRICK!” (1/2) 0x18A25 0C > 14 21.9 TBD: May Be Unnecessary / Unwanted 0x18A32 0C > 14 21.10 Text Heading “PP GOALl!” 0x18A37 0D > 15 21.11 TBD: May Be Unnecessary / Unwanted 0x18A42 0C > 14 21.12 Text Heading “HAT TRICK!” (2/2) 0x18A47 0C > 14 21.13 TBD: May Be Unnecessary / Unwanted 0x18A54 0C > 14 21.14 Overtime Goal Clear Box 0x18A5D 0B 02 00 70 13 > 13 02 00 70 1B 22. Shoot-Out Overlays Relocation 22.1 Shoot-Out Overlay Box 0x0FC337 03 > 06 22.2 Second Player Name Position 0x0FC38F 04 > 07 22.3 First Team (Home) Name & Score 0x0FC3CF 04 > 07 22.4 First Team (Home) Score Position 0x0FC3E9 15 > 18 22.5 Second Team (Visitor) Name & Score Position 0x0FC409 04 > 07 22.6 Second Team (Visitor) Score Position 0x0FC423 15 > 18 22.7 Round Number Position 0x0FC443 04 > 07 22.8 Heading Text: “SHOOTOUT MODE” 0x0FC469 04 > 07 22.9 First Player Name Position 0x0FC479 04 > 07 22.10 End of Shoot-Out Box Position 0x0FC5BB 01 > 05 22.11 End of Shoot-Out Text “SHOOTOUT WON BY” 0x0FC5D5 02 > 06 22.12 End of Shoot-Out Text: Winning Team Name Position (X-Axis) 0x0FC611 02 > 06 23. Bench & Crowd Animation Relocation 23.1 0x0FD81D C0 > E0 23.2 0x0FD823 90 > D0 And that's it. Note on Patch Code Insertion You can put the patch codes I include above anywhere that you have enough unused space. If you don’t use my recommended addresses, be sure to update the addresses used in the redirects listed with the patches. Edited March 20 by AdamCatalyst Updated for v3.0 1 Quote
von Ozbourne Posted January 5 Report Posted January 5 First? That's what the leet innerwebs kids say right? Just have to say that at risk of sounding like a plant and a cheerleader, this patch amazing and worked perfectly. Except for the fact that it didn't compensate for the four letter names I used in my WWF mod. 0/10. But since you were nice enough to include all of the offsets for manual editing, I didn't need to track those down in my notes and was able to quickly edit the hex value to move the score numbers over by one tile, thus redeeming yourself. A/7 I also liked that you included an add-on for less lateral camera movement. Haven't tried "minimal", but "less" seemed just right compared to the default of "lots". Þ/π 1 Quote
AdamCatalyst Posted March 16 Author Report Posted March 16 FYI, to anyone using this patch, there is a new version with more fixes. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.