Jump to content
NHL'94 Forums

Drezz

Members
  • Posts

    154
  • Joined

  • Last visited

  • Days Won

    32

Posts posted by Drezz


  1. *** UPDATED V1.1 below ***
    What started as a quick and dirty little project to scratch the itch for modding NHL 94 into a Hockey Night in Canada themed ROM, became a full scale experimental playground.

    This is the first release of...

    Splash-Screen.jpg

     

    Based on the 1990 - 1991 season, this mod recreates the league from opening day: October 4th, 1990.
    Using the famed "Hockey Night in Canada" branding from the late 80s, this ROM features a number of new innovations.

    Title-Screen.jpg

    A completely revamped intro theme, using the iconic HNIC theme instead of the traditional NHL94 theme.

     

    Last-Year-Cup-Final.jpg

    A completely custom main menu screen (featuring the 89-90 cup finalists)

     

    Bob-Cole.jpg

    Team and player introductions by the famed PBP commentator, Bob Cole
    (on a completely customized late 80s powder blue HNIC themed background!)

     

    Pre-Game-Scoreboard.jpg

    In-game menu screen edits
    (timekeepers, Zamboni & scoreboard branding, team banners, fonts)

     

    Line-Edit.jpg

    In-game menu changes - HNIC branded custom backgrounds, colours and fonts

     

    Player-Cards.jpg

    Player Cards brought to you by EA Sports  (in conjunction with the NHL and PRO SET trading cards)

     

    EDM-Centre-Ice.jpg

    Era specific centre ice logos
    (shown here: Northlands Coliseum logo in Edmonton)

     

    MTL-HFD.jpg

    Player sprite modifications for more colour variation and uniform accuracy
    (shown here: MTL blue helmets, no shoulder stripe tied to arm/sock stripe colours)

     

    Goal-Screen.jpg

    Cleaned up large heading font (GOAL!) and HNIC/CBC branded scoreboard (bottom left)

     

    3-stars.jpg

    Molson 3 Stars of the Game
    (Molson was a HNIC title sponsor in the 80s-90s)

     

    belfour-vs-vernon.jpg

    The hot-shot rookie goaltender takes on the tried and tested former cup champion.
    (over 500 original old-school player portraits ingame, as close to the 1990-91 season as possible)

     

    Belfour.jpgVernon.jpg

    Modified goaltender graphics (pads, trapper and NEW masks)

     

    ...and many more tweaks and graphic surprises and ideas based on the great work of folks like
    @clockwise @Jkline3 @AdamCatalyst @Sean@kingraph @smozoma and more...

     

    Screenshot 2023-03-11 210357.png

    Included in the package:
    A custom updated version of NOSE 1.2c beta with additional options to properly change colours in any "Drezz" sprite hacked ROM.

    ----------

     

    Some quick notes about this ROM: 

    - This is version 1.0 of the mod. There are bound to be some weird glitches in there somewhere. If at any point you encounter them, please report them to me and I'll see if they can be rectified or improved upon in subsequent patched releases.

    - The rosters are based on THE BEGINNING of the 1990-1991 season. Trades and Free Agent Signings were valid up until the 4th of October, 1990. A playoff edition featuring player re-assignments to NEW teams will be released next.

    - Team strengths and player overalls/stats were based on the results of the END of the 1989-90 campaign. If you are disappointed at the rating given to X player, please note that ratings were based on how players ended the previous season. Rookies will have lower ratings, regardless of historical significance (Jagr, Blake, etc).

    There is a good chance the same player will have accurately expected ratings according to their effort in the 1990-1991 campaign in the followup PLAYOFF EDITION version. 

    - There are a large number of hacks to this ROM.

    The intro theme.
    Custom background and splash screens.
    In-game sprite overhaul
    Player portraits for ALL 500+ players
    Team banners
    Fonts

    The ROM was modded to create the illusion of playing Hockey Night in Canada from the early 90s as opposed to being a crummy ROM hack of NHL 94 with HNIC graphics. I hope it transports you back in time to a period before modern expansion, the rise of salary caps and the glory days of hockey's heroes like Lemieux and Gretzky.

    Enjoy.
    - Drezz

     

     

     

     

    HNIC 90-91 Season v1.1 (NHL 94).zip

    • Love 6
    • Thanks 5
    • Like 3
    • Wow 1
  2. An additional thing I was chatting with @von Ozbourne about the other night.

    The dark border around the black text-boxes for the headings is the same blue used for the rink palette and banner graphics. On a mod that uses the standard blue/dk blue combo, it's fine. But I went and changed the whole colour scheme to that 80s HNIC powder blue, and it clashes. I think for this current release I will keep it as is until I can find out where those specific graphics are compressed and give them their own palette.

  3. That's because I'm the man. LOL

    It's not the easiest thing to do, honestly. There was a lot of trial and error, and happy accidents. I had to mod smoz' script to work with the midi I created because for some reason the tempo and timing wouldn't work. I would suggest following smoz' suggestion and try a team organ first so you get the hang of it. Then you can go off-roading and explore how to fake getting more channels in there.

    The only other people I know of who actually changed the intro was Sean and CPLANAS. And they used stock intro music from other EA games.

  4. If you read my original post about editing the background tile (found here) you can see how we can finally have our own branded backgrounds for custom ROMs. The issue I found though, was that it didn't work for the backgrounds in the game menu (Edit Lines, etc). I have now figured how to get them to display correctly. It takes a couple of steps, but now YOU can have your very own custom background tile for your modding pleasure.

    STEP ONE:
    Complete the first part of the background tile tutorial. Follow the EASY WAY if you don't care how it's done and you just want it done. (LOL) Then come back here for the next stages.

    STEP TWO:
    There are 6 instances where the tile data is accessed. We already changed one in the first part. Here are the remaining 5.

    0x9C53 - Edit Lines Screen
    0x9C85 - Game/Player Stats, Crowd Meter, League Records etc 
    0x173D9 - Playoff Tree
    0xFB0EB - Record Holders (?)
    0xFC99D - ?

    I'm not 100% certain on some of them, but when I changed the offsets from the old to the new background tiles it worked. So do this:

    Navigate to each of those offsets, and where it says 054E24, CHANGE that to 1EC070 (if that is where your new graphic was placed).
     
    STEP THREE:
    Go to offset 055B7E. This is part of the OLD tile data structure which I believe contains some kind of return function and will render the background properly. I copied 64 bytes (including the FFs) and pasted that at the end of the new data we created in Part One - you paste it right after the tile layout data (see the example below - 003B is the last tile in the layout)
    image.png

    STEP FOUR:
    Now, speaking of tile layout data... we need to copy this NEW tile layout data and overwrite the OLD data for this hack to work. Scroll up to offset 1EC8FE . This is where the tile layout data starts (if you placed your tile in the same location as the Part One tutorial). You'll know you're in the right place if you see 0028 001C. That is the area that the tiles will cover (40 x 32) and is the equivalent of a full screen, so we know we're in the correct spot.
    image.png

    Copy all of the data starting after 001C until you hit the spot with the data with those FFs you pasted in earlier.

    image.png

    You have now copied the tile layout. Now we're going to PASTE that in the old location and finish up.

    STEP FIVE:
    Go to offset 0552BE. If you see 0028 001C before it, you've come to the right place, my friend.

    Paste your tile layout data here. It should be the EXACT same number of bytes. Save a BACKUP... in case you missed a step.

    Fire it up in an emulator and go through the menus to see if your new tile showed up. It should look something like this.

    image.png

    image.png

    image.png

    image.png

    (disregard the playoff matchups, it's still a WIP hahaha)

    And there you have it, folks. The elusive background tile mystery has been solved. Now get out there and make some custom ROMs.

    • Love 2
    • Thanks 2
  5. I recall having a similar issue when I started as well.

    There's a palette editing program called HivePal that let's you see palettes in ROMs. Open up the ROM and navigate to that specific offset (you'll have to convert from decimal to hex) then view the palettes with the browse function. You'll see the proper palette close to the area listed in wboy's tutorial cheat sheet. Make a note of that hex offset.

    Convert that to decimal and plug that number into the dialog box in Tile Molester and see if that works.

  6. I've often wondered if you could jam all the palette data at the end like the banners...Then you could have one continuous strip of players. But that would require messing with the header too and making it absurdly large.

    I just labeled all my portraits by team, then according to the order listed in Nose from 0-26, followed by their name. I could see how a contact sheet might work, but that's a fair bit of setup in itself.

    I hate the portraits. They're so tedious!

     

    • Thanks 1
  7. 2 hours ago, The Dopefish said:

    The only decompile projects I've seen are the ones you've mentioned, and none of them have been Sega games.  I would think that if anyone had seriously tried they would have done so first on Sonic 1, as a proof of concept principally but to spearhead the movement on Genesis games.

    Coincidentally that doesn't mean it couldn't be tried on the SNES version, which seems to be where the majority of the effort is being placed.

    I think there is a fair amount of decomp in Sonic games, but they choose to just keep it on emulators instead. There's a whole site that lists each hex command so you have an idea of what's happening. It's not a proper decomp but it's been broken down to understand things better.

    Abdul @bcrt2000 has been working on a homebrew port of NHL95PC for modern systems, which is similar to NHL 94, just with a season mode and more bells and whistles.

     

     

  8. I'm assuming that the folks at Empty Clip have a basic decomp going. We could theoretically have one based on all the info we have scattered about here. Wboy's 30-team provides some interesting data points to look into and with a number of the things modders have figured out here, we should compile the info and start mapping out the structure. I know smoz had mentioned it a few times in the past, but it's a big-ass thankless job. LOL

    I am interested though.

    Didn't 77 have a basic decomp done by MarkyJester at one point?

  9. 20 minutes ago, von Ozbourne said:

    Okay, have to say it, this is fantastic information that I will reference later when I have had more time to learn how to do this.

    But now I do have a question. If I cannot find a midi of a song I like, but I do have an NSF, SPC or VGZ version, do I need to convert it first?

    Yeah, it's a bit of work. It depends on the synthesizer used to make the track. If it is a rip that used midi instrumentation, you may be able to convert it. Otherwise, you're stuck having to transcribe it yourself. hat's what I had to do with the first half of the HNIC theme as there is no sheet music or midi samples available for it. It's long and tedious.

  10. 56 minutes ago, smozoma said:

    Nice!

    There's an instrument map here: http://www.music.mcgill.ca/~ich/classes/mumt306/StandardMIDIfileformat.html#BMA1_4

    Assuming it matches MIDI instruments definitions...

    0B = Music Box (Chromatic Percussion)
    08 = Clavinet (piano)
    04 = Honky-tonk Piano

    I don't suppose you can locate the instrument map used for the on-ice organ songs somewhere..? I don't think it's in the song itself, I think it's set up in common before loading the organ songs.

    Interestingly enough... part of the reason why it took me so long to go from the first post to this follow-up was this exact thing - trying to map out the midi instrument map. 

    I believe EA used a proprietary sound bank and the Genesis soundchip (Yamaha?) creates its own map based on a limited set of sounds. They remapped a bunch of the instruments so there are more organ/brass/percussion sounds and less breathy instruments and/fx wave sounds. Apparently it was a common thing for sound engineers to do so they could add custom sounds to a bank and not follow a traditional midi instrument map. I literally went one-by-one to figure out the tones, and they were all over the map. It seems like the instruments are custom as well - a lot of saw and sine type sounds that warp based on tone and tempo. I didn't delve TOO far into it as it would take me forever, but if you start at 00 hex you get a celesta/glockenspiel/viraphone type tone... but once you hit the 10s to 19 hex, it's percussion (according to the midi map, percussion is in the 100 range) and the sounds aren't like midi sounds. It's weird. I compared it to other VGMs which follow a proper instrument map, and they actually sound like the instruments.

    If you go further down the list you get a lot of similar sounding tones with a less/more modulation in the frequency but roughly the same type of sound. I feel like it was a small bank of sounds in a region that were modified.

    Oddly enough... the further you go with the numbers 77, 78, 79 etc you start hearing what sounds like "ughs" and "oofs" from bodychecks! That led me to believe it's gotta be a custom soundbank we may need to map out one of these days.

    I do think we'll be able to find the instrument map for the arenas. Assuming it uses individual channels, the organ sounds often start with a 0, so they're probably 08, 09, 0A etc. The common percussive snare hit is like 14-15 I think.

    • Love 1
    • Thanks 1
  11. So I messed around with this a bit further and figured out a few things. I managed to edit together 2 midi tracks to make a custom HNIC theme from the 90s. I used MixPad and altered notes etc to sound similar to the track, then I went to work changing the notes to a single instrument. From there, I exported a midi track and ran it using smoz' python script.

    Because there were multiple notes playing at the same time throughout the track (like chords), THAT is how you can cheat and have multiple instruments at once. The thing is, trying to separate them according to tone is super difficult. The EASY way to do it is to simply assign an instrument to a pitch range. It's not 100% foolproof but it's pretty good.

    image.png

    As you can see in the image above, any note played in the '40' range from column D was assigned channel 0 (90/80). Every pitch with values in the 50s got channel 1 (91/81) and so on and so forth. I ended up with 6 channels and used 3 instruments.

    Instruments.png

    Channel 0 = 0B
    Channel 1 = 08
    Channel 2 = 04
    Channel 3 = 0B
    Channel 6 = 08
    Channel 7 = 0B

    I wanted more of a brassy sound because of the horns in the actual track and the 0B chorus synth worked fairly well, with 08 having some decent single sound reverb.  

    If you notice, I figured out how to get the song to loop. At the end of the original NHL94 theme is a 10 byte footer(?) that I pasted at the end of the midi information I put in from smoz' script. It looks like this:

    offset46D82.png

    If you copy the highlighted part and slap it at the end of your track, it should loop, regardless of what comes after it.

    We're getting there... the sound barrier has been breached LOL

    • Love 4
    • Thanks 1
    • Wow 2
  12. So further to @Asher413 original findings and @smozoma handiwork with the python script and video, I did some additional sleuthing and came up with a few things on my own by poking around.

    In the image below, you see the start block of the NHL94 Theme (4507A) and in the highlighted area seems to be the initial "control" for the song output.

    00 C0 0B 01: where,

    C0 = channel
    0B = "instrument"

    image.png

    If you use Smoz' python script on a midi file, it only allows you to output data from ONE channel.

    So I thought to myself. What would happen if you combine notes from 2-3 channels together on different octaves and output that? It worked fine... but the interesting thing that occurred was, in the output csv, the separate channels were still there - but the instruction from the script had them playing from the single "90" channel. (see 36 on one channel, 55 on one channel, 60 on one channel) and all playing under 90 or the "0" channel.

    image.png

    So I went and located every single instance of "55" in that column and highlighted it. The corresponding "90" in the midi instruction to play the note was changed from 90 to 91. I did the same thing for every instance of "60" and made that 92. If you look at the original pic I pasted you'll see the channel numbers.

    C0 C1 C2 C3 C6 and C7

    You essentially have 6 channels to assign notes to. Looking at the output from the csv in Smoz' script, I went to work and placed notes in certain channels.

    image.png

     

    Once I had placed enough notes in 2-3 channels, I tried it out, and it worked. Here's a sneak peak of my HNIC mod using two new sounds (brass electric and what I think is a brass synth).

    You can hear the tail end of the NHL94 theme when the HNIC theme cuts out, and it uses that brass synth since it was set up in the channels.

     

    SO.

    If Smoz can figure out how to get 4-6 channels to output into ONE csv from a midi file, and figure out individual channels in the output (90, 91, 92 etc) We should be able to have multiple instruments playing a lot easier than hacking away at a csv a row at a time LOL 

     

    • Thanks 1
    • Wow 4
  13. 8 hours ago, von Ozbourne said:

    Soon you you may find yourself at that stage where you have changed everything, except the style of the player sprites [because seriously that is so much work, who wants to do that....] and those two things that there is no way to change.
    And it will annoy the hell out of you.

    I already changed the damn sprites... LOL

    You'll see.

    • Like 2
  14. 11 hours ago, seamor said:

    Hello all!

    Just wanted to share an update (one I am very excited about) on this project.

    drumroll... I have figured out how to really take advantage of Smozoma's midi2nhl94 converter and have begun work sweeping through my mental rolodex of stadium songs and pep band classics to create a more modern (yet still classy 16-bit) music experience.

    Take a listen to my rendition of You Should Be Dancing by The Beegees (better known as the "Gino Time" song here in Boston though!), along with the Bill Walsh College Football Theme, The Hockey Song by Stompin' Tom Connors, and Sirius by The Alan Parsons Project snuck in elsewhere.

    You can also grab a preview of the new audience, ice layout, and menu designs in action there.

    There is no ETA for this because I am not stupid enough to put one again knowing I'll miss it!

    what-the-fuck-wtf.gif

    how-do-you-even-do-that-tell-me.gif

    So here I am thinking to myself, "just release the 90s HNIC mod and be done with it" knowing that there's little niggling things like fonts, and text edits and things for branding etc. The last thing on my to-do list was checking out songs etc.

    And now... looks like I'm going back to work. Thanks Sean. LOL

     

    c0cb7a2c-8449-40c0-8aa6-25ec07b4e88b_text.gif

  15. We were just taking about this on the discord.

    ROM Hacks are often lifted by folks looking to make a quick buck off of repro carts. We figured you wouldn't have tried to on your own (but if you did, that would be impressive). But what tipped me off was the listing text (bad grammar and the use of Comic Sans LOL) and that a small SEGA cart was used instead of the EA specific cart. I know you're all about authenticity, so there's no way you'd ever do a repro without trying to get an EA yellow tab styled cart.

    • Haha 1
×
×
  • Create New...