-
Posts
100 -
Joined
-
Last visited
-
Days Won
34
McMarkis last won the day on March 18
McMarkis had the most liked content!
Profile Information
-
Location
Toronto Ontario Canada
Previous Fields
-
Preferred System
SNES
-
Favorite Way To Score
Slapshot
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
McMarkis's Achievements
-
Hey @von Ozbourne Yeah, I actually hijacked the original routine there so the flashing palette doesn’t hit the logo part of the banner. If you want the full-width highlight back, you can just revert that change and restore the original function. At ROM offset 0x17652, change: 4E F9 00 20 01 80 => (This may be slightly different depending on the size of your rom) to: 48 E7 FF F0 30 7C That should bring it back to the original behaviour -Mark.
-
Hey @von Ozbourne What you’re seeing is actually related to the ROM size impacting the SRAM routines. Once the ROM grows past a certain size, it starts to conflict with the SRAM handling code used for things like User Records, Player Cards, and Continue Playoffs. Chaos put together a proper fix for this (included in his fighting ROM), which relocates/adjusts the SRAM handling so it continues to work even with the larger ROM sizes. I’ve updated the patching tool so that when the 30/32 team option is selected, it also applies the SRAM fix automatically. I gave it a quick test on Adam's 32 team ROM and it resolved the player names not showing during the roll call. All other features were working as well. You can try re-patching the ROMs you mentioned using the updated tool, this should fix the issues you mentioned.
-
Lol. I really just wanted the Mini Logos during game play, but the banners just looked so retro. The issue is that there are simply too many tiles to fit in VDP RAM when a custom background is used along with all of the banners. Good news is, I noticed that in the 30/32-team ROMs they only load the home and away banners into the top portion of VDP memory. I might take a look at what changes were made in those ROMs and try loading only the selected teams’ banners into that same area. If that works, it should free up enough space to make everything fit.
-
McMarkis started following NHL '94: Mini Logos + Banners
-
NHL '94: Mini Logos + Banners v1.1 - Released 2026-03-22 I’ve been working on a patch that brings the classic NHL Hockey ’92 Mini Logos and Banners back to NHL ’94. To make things easier for everyone, I also built a browser-based patcher that lets you apply the Mini Logos and/or Banners to any ROM, no batch files, installs, or setup needed. The web app includes instructions and a quick tutorial. Feedback, suggestions, or bug reports are all welcome! Web App Link: https://mhopkinsinc.github.io/MiniLogos/ Features: Default 28 team support for Mini Logos + Banners. Works with Widescreen Mode ROMs. Tested on the NHL '94 Base ROM and Fighting ROM. Support for 30/32 team ROMs (You may have to edit your own logos and banners). Export and Import functionality for modifying your own Mini Logos + Banners. Default Mini Logos + Banners: For the default version, I created a banner set that closely matches the originals, with minor adjustments to fit the text, match the background colors, and accommodate the additional teams introduced in ’94. DREZZ Styled Mini Logos + Banners: A huge shout-out to @Drezz for designing some amazing custom Mini Logos & Banners for the 28/30/32 team ROMs. The 28/32 team versions are included in the Tile Editor section of the app by selecting the "Drezz" style variant. Known Issues: Any custom ROM that has modified the background on the Team selection screen causes tile corruption. For now you will need to disable the "Team Select Banners" until this is resolved. Some custom ROMs also modify the default palette, which may cause color corruption. In those cases, you may need to create your own custom Mini Logos and Banners with custom palette for those ROMs. All builds were tested with the Genesis Plus GX emulator. If you experience any technical issues, you may want to try running the ROM in that emulator. If you report a problem, please include: The exact emulator version or console you’re using. The ROM you were trying to patch. The patching features you selected. Any custom .aseprite files you used. Technical Notes: Currently, the new code and tiles are inserted at the end of the ROM. If this conflicts with your ROM layout or you need the data placed elsewhere, leave a comment. I can likely extend the tool to allow you to specify the starting ROM address for the inserted data/tiles. I provide this patch (along with several other NHL '94 patches) in my GitHub repository, if you'd like to review the code or apply the patch using a simple batch file with no UI. -Mark
-
Thanks @top shelf Unfortunately I haven’t created any additional tutorials yet, there just hasn’t been a lot of interest in SNES modding. As for the NHL 93 disassembly, the one you’re probably referring to is for the GENS version of the game. If you're looking for SNES information, everything currently available is collected here "SNES - Editing the Game Guide".
-
How to: Add New Menu Items to Game Setup - GENS
McMarkis replied to McMarkis's topic in How-To & Reference
Hey @Brodeur30, Thanks for the kind words! The idea for the patching engine grew out of some earlier work I was doing on the SNES NHL ’94 disassembly using DiztinGUIsh and ASAR, which lets you modify assembly and rebuild the ROM. Then in 2024 when the NHL Hockey (’92) source code surfaced, I spent some time figuring out how to compile it with the SN 68k Genesis compiler so we could better understand how the original game worked. While making a few NHL ’94 Genesis mods, I noticed most patches were still being shared as raw hex edits. Around the same time Chaos was disassembling the 94' ROM in IDA Pro, which made me think it would be much easier if we could apply patches directly in assembly instead of hex. The patching engine grew out of that idea, and I first used it for things like the Fake Shot, menu tweaks, and then to help with Chaos’ fighting patch. The Fake Shot came from an idea someone posted in the discord, I first tired it in the NHL 92 Source code and then ported it over to 94. Anyway, that’s the long answer to a short question and probably more than anyone ever wanted to know about how a fake shot ended up in a 30-year-old hockey game 😄 -
McMarkis started following Fixing the "Handedness" in the Face-Off Insets
-
Still doing it's job 4 years later for SDL. Thanks Chaos.
-
Prototyping adding PC style Sprites to NHL94 on Genesis
McMarkis replied to bcrt2000's topic in Sega Hacking Projects
These look fantastic. -
How to: Add Custom Menu Items to the Game Setup Screen v1.0 (2025 04 29) Info: I've put together a GitHub repo showing how to add custom menu items to the game setup screen in NHL '94. Using this method, I’ve created five example patches, all included in the repo. Fake Shot (New functionality) Weight Bug (Chaos 120 decimal patch) 5 Minutes, 99 Min OT to Period Lengths Fighting - (Coming Soon) Multi Menu, with everything combined You’ll also find a master "multi menu" example that demonstrates how to combine multiple patches into a single ROM. This approach works with custom ROMs too—you'll just need to update the insertion RAM address to match your rom. This is more of an advanced level patch geared towards ROM modders. It allows you to edit the source code of these patches to change the behavior as well. Any questions please drop in the forum and we will keep this updated and make improvements over time. We can probably wrap a User Interface tool around these patches in the future, but I wanted to get it out now so people could start using it, and provide feedback. Patch: I recommend visiting the GitHub repository and checking out the README. It provides details on all the patches I've created using this method. Here is the direct link to download the zip package containing all the examples. Each folder in the zip package has a README.md file with instructions. Version Notes v1.0 Initial Release. Known Issues In Demo Mode, Goalie Control + User Record options are editable, but should not be.
-
Looks fantastic, Speed boosts are insane. Love it.
-
Problem: There is a bug in the SNES code responsible for calculating the Hot/Cold Bonus for every player attribute (Speed, Agility, etc.). The details can be found here. TLDR; As a result, no attribute receives a negative bonus; instead, the attribute is consistently given the maximum boost (100) if the bonus was negative. Solution: This patch will show the true attribute value (100) in Edit Lines when the bug happens. Patch: Download the patch tool to create your own ROM or patch an existing ROM.
-
- 1
-
-
Fixing the "Handedness" in the Face-Off Insets
McMarkis replied to AdamCatalyst's topic in General Questions & Discussion
I agree with Chaos, If your code is working keep that. The AI generated code is overkill and was just there as a reference as a possible way to reduce the number of TST instructions. But it can often be wrong and needs to be iterated through to get the correct answer. -
Fixing the "Handedness" in the Face-Off Insets
McMarkis replied to AdamCatalyst's topic in General Questions & Discussion
I believe @chaos dreams in m68k assembly now, so I would defer to him about assembly sins 😁. Below are a few of my thoughts. I converted you HEX values to assembly code, and made the smallest of changes for the branching. I personally like JSR.L so i can just do RTS commands to return back to the original code. I haven't tested this, but your pattern seems good. Hack-jack existing code Jump to new code and NOP extra instructions Perform New code and return on exit. ;Hijack Old code and call to new code JSR.L $0007FEDC ; Call new subroutine (long) NOP ; No operation NOP ; No operation ;Start of Your new subroutine @7FEDC BTST.B #7,$0062(A3) ; Test bit 7 (bottom) BEQ.S .bottom ; If bottom, branch (short) TST.B $0074(A3) ; Test if hand = RIGHT BEQ.S .exit ; If RIGHT, exit (short) BRA.S .add3 ; Not RIGHT, do add3 (short) .bottom: TST.B $0074(A3) ; Test if hand = RIGHT BNE.S .exit ; If LEFT, exit (short) .add3: ADDQ.W #3,D0 ; Add 3 to D0 .exit: RTS ; Return from subroutine AI Suggestions: My gut was telling me that you can probably simplify the multiple BTST & TST scenarios with some combo statement. So I asked Claude AI to help, and it suggested the following. Break down the problem into a matrix like (Truth) table to help understand the possible combinations. You want to add 3 when the player is Left handed and top position? You want to add 3 when the player is Right handed and bottom position? Position(bit7) Hand EOR Result BTST #7 Add 3? TOP(0) RIGHT(0) 0 0 No TOP(0) LEFT(1) 1 1 Yes <-- Add 3 BOTTOM(1) RIGHT(0) 1 1 Yes <-- Add 3 BOTTOM(1) LEFT(1) 0 0 No Something like this now possibly, I haven't tested this code. JSR.L $0007FEDC ; Call subroutine (long) NOP ; Padding/placeholder NOP ; Padding/placeholder ;Start of Your new subroutine @7FEDC MOVE.W D1,-(SP) ; Save original D1 value since we are overwriting it MOVE.B $0074(A3),D1 ; Get hand orientation EOR.B $0062(A3),D1 ; XOR with position BTST #7,D1 ; Test result BNE.S .add3 ; If NOT equal, add3 BRA.S .exit ; Otherwise exit .add3: ADDQ.W #3,D0 ; Add 3 to D0 .exit: MOVE.W (SP)+,D1 ; Restore D1 RTS I know this is a bit of a brain dump—I went full over-explainer mode here. If anything’s unclear, just holler, and I’ll happily clarify. Honestly, though, I’m being a bit selfish because it’d be amazing to rope in another brave soul into the wonderful, weird world of assembly. Welcome to the dark side—we have opcodes! -
Fixing the "Handedness" in the Face-Off Insets
McMarkis replied to AdamCatalyst's topic in General Questions & Discussion
LOL, @AdamCatalyst, diving into source code assembly and the listing file? You're leveling up fast! I wouldn't be surprised if you're rewriting this entire game next. Just to clarify, this is what I am seeing when I test with Montreal (Home), LA (Away) 1st period. 1st image is Muller (Lefty) Home team (Bottom). 2nd image is Bellows (Righty) Home team (Bottom). 3rd image is Gretzky (Lefty) Away Team (Top) 4th image is Carson (Righty) Away Team (Top) Your saying the stance is wrong? When your a lefty like muller in image 1, it should actually be the 2nd image? where your left hand is on the lower portion of the stick. You can't find the code that controls this? -
Thanks @AdamCatalyst! Glad I was able to help progress your masterpiece. Love the detail you put in all your forum posts, it keeps us all motivated to help out.