Asher413

Members
  • Content Count

    24
  • Joined

  • Last visited

  • Days Won

    2

Asher413 last won the day on August 18

Asher413 had the most liked content!

Community Reputation

27 Excellent

1 Follower

About Asher413

  • Rank
    Sophomore

Previous Fields

  • Preferred System
    Genesis
  • Favorite Way To Score
    Right side deke

Recent Profile Visitors

310 profile views
  1. Awesome news! I had a random theory when driving to work today: Elitserien '95 may be a key. They have a season with smaller teams, fewer playoff teams, but in theory the same engine, so the changes between the roms should be fewer. Here's what I found: The Elitserien schedule is found at 00006977 (and ends at 00006C46). It does conform to the format listed in the first post (win!). This also means the "end of season" routine can be compared between the two (maybe unlocking information). The first difference in bytes is Elitserien has FF 23 FC 00 00 6D 44 while 'NHL has FF 23 FC 00 00 98 1E. If those last digits are pointers, both point to nearly identical bytes (For "82" bytes) There, Elitserien has 36 4E 4E B9 00 08 7D B0 while NHL has 63 90 4E B9 00 08 A5 D8. That's as far as the first rabbit hole went for me, and I didn't find anything I *really* wanted to be different (08 vs 10). I figured the thought of using Elitserien was worth capturing for others to potentially use it! (And I'm hopeful it may help unlock the player stats issue I found when simulating when comparing the team data)
  2. Some more random work tonight- in both '95 and '97, there appears to be a pointer to the divisions just before they are listed (in '95 it's at 00091908). Playing with '95- if I redo the divisions listed at 91918 and also change the pointers, divisions of different sizes seemed to work until playoff seeding. Come playoff seeding, even with 14 teams listed in the two divisions in the west, and they showed in the standings properly, the 13th and 14th teams actually were in the playoffs for the east. The seeding was correct on the first 12 western teams, and correct if the last two west teams were in the east. So somewhere in the rom is the coding of 12 west teams, 14 east teams that still needs to be found. **I only tested one configuration through a season tonight, 7, 7, 7, 5 for division sizes, with the teams in order 00, 01, ...** Graphically, the game didn't like divisions of 8 or 5. (With 8, it kept the team over the Up/Down for conference, and with 5 it was keeping the 6th team from the last division you looked at on the screen) I did basic testing tonight with '96, the divisions were listed the way I pasted in above. A similar graphical glitch jumped in when going to the end of a season as I got when I edited the schedule too short. The game locked up if I worked my way to game 84, but before that, the standings were displaying properly, minus the 5 team division.
  3. The bytes are there, but i'm not sure if they impact anything.
  4. These are two beta versions of NHL '95 roms for the '94-'95 season. These roms are 'ports' if you will from my NHLPA '93 rom for the same season. Since '94-'95 was much lower in scoring (thanks New Jersey) compared to the early '90s, it does show in the player ratings being lower. I built the roms in the style of season replays from Strat o Matic- meaning end of season injured players are in the lineup, players who missed most of the season on the bench (ala Lemieux in '93-'94 is not in the three lines). This does mean that players are based off how their stats that one season, not how good they really are. I also built it with line changes in mind, using the top three lines according to Strat-o-matic (SOM Lines/Rosters), and the NLC lines were based on Point Shares on hockey reference. I also edited some colors of jerseys to my preferences. Ratings were based on the original formulas for NHL '93, and physical stats from NHL '96 (which means Thibault gets crazy ratings...). Fighting ratings for the first couple of Roms came as much from dropyourgloves.com as the wayback machine allowed. There are two versions here: The "A" version is includes the actual lockout schedule of 48 games, and the "B" version has the 'planned' '94-'95 schedule (copied from NHL '96). Yes, the dates are off, but the schedule is otherwise accurate as far as I can tell. Outside of schedules, the two versions are identical. Why "beta"? I want to do more work on season simulation, as the team and player stats do not seem accurate with the new ratings. However, I am a teacher, and with one more day before in-services, I don't foresee solving that problem in a timely fashion, so I wanted to get the work out now. Enjoy, and stay safe in this wonderful 2020! Asher413 94-95 Replay Version 0.9B.bin Asher413 94-95 Replay Version 0.9A.bin
  5. More randomness (I try to capture it for others to use in their works!) I have not yet found what impacts the player stats in simulating a season. I've been able to identify every byte but one within a team/player data (where you can edit players, uniforms, etc- most of which is done in nose). I am 95% certain it is coded somewhere based on a roster spot- (you can give the player in Ray Bourque's spot all 0 ratings, and he will still put up 100+ points in a season when simulating games), but I'm not sure how or where it is. I'm fairly confident it is not attached to bytes of player ratings and name. But the classic example for me is Gretzky- I've traded him a lot (as a kid) moved him around now while editing, and there is no way he'd be programmed to get 35 points in a season (or even 10 once!). You could build a rom where you place the best players in the right spots or catalog the spots, but I'm running into unrealistic numbers (you could have a perfect player on Anaheim and they probably won't break 70 points, or a player on Detroit will always go Fedorov level crazy...) Where the offense/defense/home/away bytes are found in '92-'94 doesn't feel like it impacts season simulation at a notable level. In my rom, Quebec, Pittsburgh and Detroit all have 6 offenses, and Detroit tends to score a goal a game more over a season than the other two, while 0 offense teams regularly outscore Quebec. I'm unsure where to look for the simulation values outside of those places.
  6. I have made a small breakthrough today (which will need more exploring): I was able to create a functional season of 48 games with the 1994-95 schedule, that did NOT require any ending of the season early. The key was to move the 'empty' days from the end of the season to the front of the season. I also copied the next few lines of code to the end of the schedule as well, then filled in the gap with FF's. I'm not sure how much code is needed to move. This does lead to a longer time period to set up a season, and the game was auto-simulating the 80 or so empty days of lockout when the season is created. This was disappointing in the fact I can't use the correct dates, and the 15th of the last month *must* be the last day of scheduled games, but a step forward none-the-less.
  7. I guess I should clarify- I've only tested two schedules in NHL '95- a full 84 game schedule (copy and paste from NHL '96) and a 48 game schedule (I transcribed the actual schedule from the lockout '94-'95 season), but I feel good that it would work on a shorter schedule. In NHL '96 I wasn't able to get a modified schedule to work (I think I only tested a 48 game one.)
  8. I'll have to look at my notes- I looked at '95, '96 and '97, and I'm not sure which was which. One had a listing for conferences and divisions, with the number in front of both of those (if you search for the pacific division by team numbers, it happens 2 or 3 times in each rom, so it's easy to find.) @UltraMagnus Since that last post (and I have a rom IP so that's why my research stopped for now), I have been able to edit the full schedule and move teams with only one issues in full season mode (I'm working on a '94-'95 replay, and '95 has no issues unless you sim to the day past when all the teams finish game #48, but if you hit end season after today on the last day, it's works just fine.) IIRC copying the schedule from '96 to '95 worked just fine (as a side note, the schedule in '96 is a mirror image swapping home and away teams to the original '94-'95 schedule with a couple of games moved (I think a 10/10 game was the one I found in October). '96 didn't like having anything but 84 games, but season mode has been questionable to emulate for me with the base rom. I only tried once then focused on '95. @segathon So from that, I think you could make a tourney schedule pretty easy, check my original post on the format to put in the schedule. I don't know what the game does with the teams not playing games when it comes to playoffs. (At risk of diverging, once I get the rosters fully updated for my rom, then I'll mess more with schedules. When I finish the '94-'95 rom I can shift focus back toward changing the size of divisions to convert my other '93 roms to '95.) This reminds me of waaaayyy back in the day when Tecmo Super Bowl had multiple roms for a year because the game hadn't been cracked enough for expansion. Sadly my skill level is reading spreadsheets, so parts of the code that look/work like spreadsheets make sense to me, but that's it.
  9. Is this going to end up being a dated name like the Toronto Raptors?
  10. Season Schedule notes: The schedule is found in the following places for NHL '95-98: '95: 00008DD9-00009720 '96: 00013559-00013E9F '97: 000176BB-00017FCE '98: 00017A9D-000183AD The schedules for '95, through '98 appear to be in the following format: 1 byte to say the number of games on a day (including the 00's for the all start break), 2 bytes for each game, home team, then away team (Team bytes are in alphabetical order, from 00 for Anaheim to 19 for Winnipeg. Dallas is in alphabetical order, not the Minnesota slot). Editing the schedule works in '95 as long as you either: A. End the season on byte 9720, or B. copy the "end of season" code after 9720 to the end of your custom schedule (I haven't tested how much, but it works in my '94-'95 replay rom with about 64 bytes copied at the end). I copied the schedule from '97 to '95 successfully, adding some empty bytes at the end. A simulated season of 82 games went off just fine! I've had mixed results in '96. Division notes: The divisions are found in two places, and it appears both need edited to stick (in '95). At 0009D648 ('95), 00014286 ('96) and 000183B6 ('97) the teams are listed in alphabetical order from the Pacific, Central, Northeast and Atlantic (In '97 the teams aren't all in alphabetical order- Colorado is tagged on the end of the Pacific, and Phoenix is still at the end as if it was Winnipeg). At 00091918 ('95), 0001D9D58 ('96), 0001D0443 ('97) you find the # of teams in the Pacific, followed by the teams, the # of teams in the Central followed by the teams, etc. for each division. In '96 and '97, then, the # of teams in the Western conference, followed by the teams, and # of teams in the Eastern Conference, followed by the teams. It is was possible to swap team bytes in BOTH places to move teams around in '95. I could not change the size of the divisions without errors and a lockup. In '96 the standings screen would lock up with a straight switch (QUE/ANA), but display oddly if you only changed the lists at 0001D9D58. Other season notes: In '95: The month names on the "Games Today" screen is text that can be found in the ROM (Just look for "October"), and edited easily. However, the month on the team's schedule is a graphic, so the text change doesn't impact that. I have not yet found what impacts the player stats in simulating a season. I've been able to identify every byte but one within a team/player data (where you can edit players, uniforms, etc- most of which is done in nose). I am 95% certain it is coded somewhere based on a roster spot- (you can give the player in Ray Bourque's spot all 0 ratings, and he will still put up 100+ points in a season when simulating games), but I'm not sure how or where it is. I'm fairly confident it is not attached to bytes of player ratings and name. Where the offense/defense/home/away bytes are found in '92-'94 doesn't feel like it impacts season simulation at a notable level.
  11. Kingraph- I'll see when/if I get stuck. I don't really do well with coding (basic was the last language I understood), so I'm trying to break it down a way I understand instead of the coding I've found from Google. Today was a little less, but more information to be taken down on the next steps: The bytes between the FF's and the start of the notes I have a stronger grasp on (someone hinted piece of these on the boards here as well). The C# bytes I believe are setting the channel of the instrument, and the next byte I believe is the instruments. The organ songs didn't load multiple instruments often, but the opening song is clearly a number of instruments loaded. I found (at least in NHL '94, I haven't tested '93 or others) there appears to be instruments loaded/preset/available in the rom between 00 and 1F. It's hard to place what all are supposed to be, but my notes on what they sounded like to me include three organ sounds, a sitar (18), and my favorite- my wife called it "Finger plucking a rubber band" (14). I'm leaning toward thinking organ's 03 and 04 sound better than the OB that appears to be the one they used, but YMMV. Corresponding with that- the 90's that I think are on switches earlier, I think also correspond to the channel numbers. If you are using the instrument in channel 0 (CO), you put a 90 in those bytes. Channel 1 (C1) is 91, etc. The 80's appear to work the same on turning off tones. So now starting from the start of a 'song', I'm looking to ID the third bytes after the channel, the second/third bytes after the 80/90 command, then I think I've found what makes the sounds and manipulates the sounds. When all this is done, I'll clean this all up into one more clear post, but I'm posting as I go for personal notes, and just in case I give up on the project tomorrow, there's a starting for someone else not to go through the same steps.
  12. This is a short and sweet one- I was correct on the note length. If put in a value of 50 (32), then cut it in half on the next note at 25 (20), the notes are twice and half as long. They could be calibrated to a metronome I suppose, but I'd guess if you're creating music you'd find out how long you want a quarter note to be by trial and error perhaps? On the downside- with my emulator, computer and tuner app on my phone, I am consistently getting notes that are *in between* steps (almost exactly just sharp enough or flat enough that it wants to jump between F and F# for example). Almost exactly, as I move the pitches up and down. But- 36 is an F I'll call it (my phone picked it up around 187 Hz, FYI), 34 was an E flat. It's a start, and I guess if you're out of tune on every note in relation... it works? Next step: Explore instrumentation/effects- I'm not sure if I'll focus on the 23 bytes or the 80/90's. I may try and find other songs in the ROM that aren't organ and see what differences I notice. I feel like I have the basics for making an organ ditty down now enough to do it though, and I may try that as well. Lot's of new branches in this project. A side thought I had today- maybe it could be possible to combine the real songs on organs with an attempt to match the goal horn sounds for "modern" ROM's. It may be a pipe dream, but I think the songs part is very possible,and horns would require instrument or effect work. I also know the lengths would need love, as someone would have to manage the pointer table or make the songs the same length as the time currently available.---- Edit- I played with this a bit tonight and was able to get a weak sounding first line of "Sweetness" for Florida's horn. I need to learn more about tone to get a meatier organ, but I'm making real progress and can make any song with sheet music at a basic level now.
  13. Hi all, This is mostly to capture my thinking, as I do hope to come back to this another day, but I cannot spend any more time listening to my computer play version of "Go fight win!"... And in case anyone else has started the work or has an interest, here's some information for you! Objective: Determine where/what the note pitches are in the NHL '94 code Background: To be able to edit or add new music, somehow those bytes need to be translated out of code into music- then new pieces can be translated from music into code. I'll start with "Go, Fight, Win!" (The song at offset 00184052 in DEC) Why? It's first, and it's a simple song in '94 with only a couple of chords. Some background (trying not to get too music geek here)- Go Fight win is quarter notes for the first 3 notes, and the first measure's tones are 1-3-4-4#-5 on a scale. In half steps from the root, they are 0-4-5-6-7 (So the last three notes are chromatic). It's tempo in NHL '94 is around 90 BPM. Process: So I'll copy the code from this song in small parts to the start of song 02 (Start of game when Boston is the home team, so it's easy to access in the game) to see if I can ID the first measure's code. The first 64 bytes are close (the last note of the measure is cut short, but it's enough to work with) Two patterns stick out to me in those bytes- 27-2B-2C-2D and 33-37-38-39. 27-2B might be too far of a jump, but it might be that what I'm hearing as a single note might be two notes together. For notes- I'm looking at decimal 184996 onward. So these are the chunks I'm looking at: (underlined the sets of 90 for clarity) 90 27 23 00 90 33 23 14 80 27 37 03 80 33 41 0E 90 37 23 00 90 2B 23 14 80 2B 48 03 80 37 47 10 90 38 23 00 90 2C 23 13 80 2C 16 01 80 38 2E 06 90 39 23 00 90 2D 23 1A 80 2D 50 02 80 39 50 01 From my experiments I believe: 80/90 have to do with the instrument. Changing all the 90's to 80 met me with silence. I think you can think of 90 as an on switch and 80 as an off swtich. But I can't see why you'd have values after a 'off' instrument (3703, 410E for example) so I'm not sure here. I didn't experiment with changing the 90's to different values, as my goal today was simply the pitch. I'm certain the second set of bytes are pitches. If you change the on and off pitches together, you can move around the pitch of the notes. (SUCCESS!) I can't figure out the third set, and any attempts to change them ended inconclusively. It might be a note style? I thought the 4th set was note length, but I'm struggling with the 00 values. Changing the 14's up and down made the notes longer and shorter. Maybe it loads all the notes then plays them for that length? Again, I can't figure out the off notes bytes there. Conclusion: I believe I found the pitches, which was my goal for today. When I get a better grasp on note length, I can probably make the note long enough to calibrate the pitches with a tuner, which means note length will be the next project.
  14. I believe it is 000146A4 in an unmodified NHLPA 93. Thanks so much for this discovery!
  15. I haven't had the time/desire to do any quality control since I finished it last week, so no promises that I've found all the errors- but here is my '94-'95 rom. Asher413 94-95 replay.bin