• Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by smozoma

  1. NHL'95 Expanded ROM Project

    Forgot to mention... If the game uses *all* of the SRAM (aka saved ram, battery memory) for the season data, that could be problematic... Although since it's an emulator, maybe you can just tell it there is more sram that it can use :).
  2. NHL'95 Expanded ROM Project

    Here is how I would figure this out: (since you will be doing stuff in the game menu, which is currently crashing for you, you can either use an un-expanded ROM, or just pause/unpause the game as necessary to avoid it crashing) Load the game. Go to the menu. If necessary, pause the emulator with ESC. Use the RAM Search feature in the emulator. Set it for "1 byte," "unsigned." Click the "Reset" button in the RAM search. Unpause the game (if necessary), and change the home team right/up one team, then pause again. This probably increases a variable in the game. So in the RAM search, set it to "Greater Than" and "Previous Value", and then click the "Search" button. That will clear a lot of the values in the list, the ones that didn't increase. In the game again, change to the team right/up by 1 again. Click search again. Do this process several times, and there will probably only be one or several values left in the list. Then, (without using the "Search" button), try changing the team both left and right, and loop around the end of the team list... one of the values should stick out as the 'correct' value, or maybe there will be a couple values that are always the same. Then you use that address (hopefully there is just one) for the "Hook RAM" trace. Also do a "Trace" at the same time. The RAM trace will tell you which line of code was modifying that address in the RAM. And then you look it up in the code trace, and each time it tries to increment the value, it will do a comparison against some value (probably 001C) to see if it needs to loop back to the 0th team. Then you find that line of code in the ROM and change the value. Try changing it to a lower value to verify that it works, that the game now ignores a team. After that's done, then you also need to try all that for the Away team, and then you also need to do it in playoffs mode and perhaps season mode, as it might (or might not) use a different value/address for the comparison. Note: the address listed in the code trace may be 2 lower than in the RAM trace. For example, it might be 01:A248 in the RAM trace, but 01:A246 in the code trace.
  3. NHL'95 Expanded ROM Project

    I think this is an issue that can be found and fixed using the debugger and tracing, quite easily. It allows you to specify address ranges to record accesses to. So you use the expanded area and then see what instructions write or read there. Tony H's tutorial explains how to do this. Let me know if it gives you any trouble. Once the instructions are found, you could either try remapping to 0x400000, or just "NOP" the instructions by overwrting it with a bunch of bytes with values 4E71 (NOP instruction means "no operation", it does nothing)
  4. NHL'95 Expanded ROM Project

    Awesome. If I may suggest: don't stop at 34 teams unless there is a technical reason to do so. Make as many as possible. One thing found out recently: the music was actually broken in the 30-team NHL94 ROM but it just coincidentally kept working anyway. It broke down in the 32-team ROM and had to be fixed. So you may run into that issue. I think player cards can indeed be colour, but it's probably set up to all share 1 palette, so you'd have problems with shirt/sweater colours. The palette may be only 8 colours, as well. I'm not familiar with adding/expanding palettes, so I can't be of help in solving that limitation. If you get stuck on anything in particular I can try looking into it, but I may be slow. Wish I could help more.
  5. How to Make Game Movies UPDATE: Get the new recording emulator, gens re-recording ( The screenshots in this tutorial show an older version (Gens Movie 9.5b), but they are similar. This tutorial teaches you how to record a game played online and turn it into an AVI movie file. You can then upload the AVI file to YouTube if you want. How to add voice commentary may some day be covered. I've broken it down into a few sections: Download and Install Necessary Programs Record a Game to a KREC File Convert the KREC File to a GMV File Convert the GMV file to an AVI Movie Fix the Audio Sync Problem Edit the Movie Add Instant Replays Record Commentary to WAV File Add Commentary to the Video Compress AVI Down to Nice Size (~100MB) Upload to YouTube Download and Install Necessary Programs In this section, you download and install a version of Gens that can record to AVI, a couple video codecs, and a simple free video editor. Get Gens Re-recording from ( You can get an older version of this, called "Gens Movie", attached at the end of this post, but you might as well get the above version. [*]Unzip to a location of your choice. [*]You need to copy the kaillera DLL into the movie emulator's directory. Download it here: (it'll be called gens_11b.exe now) [*]Get and install the Lagarith video codec. [*]Get and install the x264 codec. Above the table, it'll say, "Looking for the latest version? Download x264vfw_(blahblahblah)". Click that! (If your operating system is 64-bit, you could click "x264vfw64", and download the 64-bit version instead. It'll run faster) Install [*]Get VirtualDub Download the Release Build (you'll be redirected, then the file should start downloading) Unzip to a location of your choice. [*]LAME MP3 Encoder Follow the instructions here: Don't worry about the last step about verifying the codec. It probably installed fine. Record a Game to a KREC File This section tells you how to record a game to a KREC file so that it can later be played back and converted into a movie. This assumes you're using Gens or Gens-netplay and are familiar with how to use the p2p Kaillera. To familiarize yourself with the p2p Kaillera see this thread: Onwards! You need the p2p Kaillera installed, though you can still record games playing on a server. Get it from the "Download and Install Necessary Programs" section of this guide, above. Put it in with the emulator .exe file: [*]Find someone to play against! [*]Load up Gens and start Netplay. [*]Start up a game, and remember to put a checkmark next to "Record Game" [*]Play your game, then shut down Gens as usual when the game is done. The game is recorded into a .krec file. The file might be in one of two places (it is inconsistent -- one game might be in the first place, the next might be in the other!). They will be in a directory called "records" that is either in the directory the ROM is in or the emulator's directory. My ROMs are in "G:\Games\Emulators\Sega\Games\nhl94" and my emulator is in "G:\Games\Emulators\Sega\gens214", so the saves will be in a folder called "records" in either of those directories. Usually it's under the ROMs directory, but sometimes it's under the emulator directory. The file will be named something like 47916BE3_gdlseason3.krec. That hexadecimal number (47916BE3) at the start of the filename represents the number of seconds passed since midnight January 1st, 1970, so the most recently-recorded game will appear at the end of the list of files. You can rename the files and they will still work, as long as you keep the .krec extension. The KREC file is not a video file. It is basically just a recording of the controller button presses that were sent to Gens by you and your opponent while you were playing. You can't play it in a media player. Convert the KREC File to a GMV File We have to do a non-intuitive step here. Gens Re-Recording can't convert the KREC file (created by Kaillera) directly into an AVI, so we need to first convert the KREC file into a GMV file. To do this, we replay the game from the KREC file, and get Gens ReRecording to record the game to a GMV file. Later, we'll turn the GMV into an AVI movie file. Run gens_11b.exe Load the ROM you are going to use (so it knows where to look for the ROM and recorded files later). Start Netplay from the File menu (if Netplay isn't there, you need to put the Kaillera.dll file in the same directory as gens_11b.exe) Change the mode to "3. Playback" (instead of "1. P2P" or "2. Client"). [*]Select one of the videos, and click "Play." The recording will start playing. [*]Click on the screen, and press the Escape key in order to pause the playback. [*]Go to Tools->Movie->"Record New Movie" Name the Movie File as you see fit (important if you're going to keep more than one GMV file). [*]IMPORTANT: Put a checkmark next to "Record from now and make a savestate" [*]Click OK. [*]You will be asked to save a GST (state) file. Set the name appropriately (important if you are going to keep more than one GMV file) and click Save (or "OK" or whatever it says). [*]Unpause the game by pressing escape. The game will start playing back from the KREC file! Once the game is done, hit ESC again to pause. Go to Tools->Movie->"Stop Movie" Go to File->Close ROM Close the Kaillera/Netplay windows. In the Gens ReRecording folder, you should have your .gmv and .gst files. Convert the GMV file to an AVI Movie In this section, we use Gens ReRecording to convert the GMV game file to a lossless "perfect copy" AVI file. The AVI file will be really big (about 50 MB per minute or 500-600 MB for a 11-minute game), but later on, we'll edit out the boring bits and compress it down to a reasonable size. Load the ROM in Gens ReRecording. IMPORTANT: Go to Sound->Rate->44100. If you are not at 44100, your audio and video will not be in synch. Go to Tools->Movie->"Play Movie/Resume record from savestate" Use the "..." buttons to select the .gmv and .gst files you created previously. Ignore the "inconsistent" warning. Click "Play Movie" to start playing the movie. If nothing is happening, then maybe the emulator is paused... Hit the ESC key to unpause it! Ensure Tools->AVI Options->"Add Sound to AVI" so it has a checkmark. Go to Tools->AVI Options->"Start AVI Dump" You'll be asked to enter an AVI file name. You'll be shown a "Video Compression" window that allows you to select a video codec. [*]You can make it record as fast as it can by going to Graphics-> Frame Skip->0. On my computer (P4 2.8GHz from 2006), it takes about 5 minutes to record a 10-minute video. [*]When the game is over, go to Tools->AVI Options->"Stop AVI Dump" As just said, don't worry if the video is slow or fast or if the audio is choppy. The video will turn out to be the expected 60 frames per second with clean sound. Fix the Audio Sync Problem If your audio is out of sync (this happens if you record to AVI when your Sound->Rate is set to 22050 instead of 44100), there are are 2 ways to fix this: 1) change the video frame rate 2) stretch the audio. I'll just explain how to fix the video frame rate, since it's easier. Use VirtualDub to change the framerate: Go to Video->Frame rate... Look at the value at the end of the 3rd option, "Change so video and audio durations match (59.9xx)" Write that number value into the 2nd option, "Change to _____ frames per second." You might ask: Why not just use the 3rd option? The answer is: because if you use the third option and then you try to insert highlight clips, you'll have a hard time getting the frame rates to match because the 3rd option uses more decimal places than it shows. Enable Video->Direct stream copy save If you want to insert highlight clips, then also change their framerates to the same value you used for this video. Because your highlight clips are going to be short, it doesn't matter if their own audio/video sync is perfect – you need the clips to all have the same frame rate. (I haven't tried it this way yet, but I think it should work…) Edit the Movie [not done] Convert to 30 frames-per-second, 640x480 Open your video with VirtualDub.exe. If you have multiple parts, you can use File->Append AVI Segment to add other files to the end of the video. It'll try to load multiple files if they're numbered consecutively. Gens ReRecording records in 60 frames-per-second, so to bring it down to 30fps by eliminating every other frame, go Video->Frame Rate->"Process every other frame (decimate by 2)" We want to resize the video to 640x480. Video->Filters->Add...->resize. Aspect ratio: Disabled New size: Absolute, 640 x 480 Filter mode: Lanczos3. [*]Next, we want to crop a bit of the video so it looks better. Click on the "resize" filter you just added to the list, and then click the "Cropping..." button. X1 offset: 16. X2 offset: 16. Leave the others at 0. Click OK. [*]Set the compression to Lagarith: Video->Compression..., find Lagarith lossless codec in the list and click OK. [*]Save as a new file: File->Save as AVI.... I usually call it something like "game1.30fps.avi". Since we increased the resolution, the file will be about 1.7GB! Cut out boring sections Now, if there are boring parts you want to delete (long pause when your cat knocked your drink over?), here's how: Open the file you just saved (or do this before saving it) Search to the end of the segment you want to delete. Then, press the right arrow key to go one frame extra. Press the "End" key to mark this as the "after the last frame to delete" frame. This frame will still be in the video, but not the rest that you mark to delete. Search to the start of the segment you want to delete. Press the "Home" key to mark this as the first frame to delete. Press "Delete" If you are editing a file you already saved to 640x480: Select Video->Direct stream copy to avoid doing the compression over again. Go into Video->Frame Rate and make sure it's set to "Process all frames" so you don't end up with 15fps! Save to a new file. IMPORTANT: You should only do this kind of editing with Lagarith-compressed video. If you try later to edit x264-compressed video, you'll have problems because you can only cut starting on "key frames." Add Instant Replays [not done] When replaying the games from GMV, you can use the F5, F6, and F7 keys (Quick Save, Next Save Slot, Previous Save Slot) to save up to 10 instant replays. You can later load those saves, and then record yourself controlling the instant replays directly to AVI. Then, you can insert those AVI clips into your video (Note: you can only join video clips using the same compressor (i.e. Lagarith). Record Commentary to WAV File [not done] This is where you get a microphone and record youself doing the commentary for the game. Later on, the commentary can be mixed in with the audio of the video, so you get the sirens, etc. Add Commentary to the Video [not done] Export audio from the movie using VirtualDub (to WAV file). Use an audio tool to combine the WAV files. Compress AVI Down to Nice Size (~100MB) [not done] Uploading a 500+MB file to YouTube could be problematic, so here we use the x264 codec to shrink the movie down. (Plus, I doubt YouTube supports Lagarith). x264 looks way, way better than DivX or XviD when compressing NHL94. Open the video in VirtualDub. Video->Compression... Click on x264vfw - H.264/MPEG-4 AVC codec, then click the Configure button There are a couple options you need to use for VirtualDub: [*]Select Single pass - bitrate-based (ABR) in the dropdown and set Average bitrate (kbit/s) to 1280 if you want the video to be about 100MB for 10 minutes, or 2560 if you want it to be about 200MB. [*]Compress the audio to MP3: Audio->Full Processing Mode Audio->Compression... In the left list, find and click on Lame MP3. In the right list, find and click on 44100 Hz, 128 kbps CBR, Stereo. OK. [*]Save as a new file. Upload to YouTube [not done] Zero Latency: checked (in the Basic area) VirtualDub Hack: checked (in the output area) Find "Lagarith lossless codec" in the Compressor list. Click OK to start recording the video! Don't be alarmed if the video is slow or the audio is choppy, the AVI file will turn out fine! I don't bother, but maybe you could save it in the format "GDL3 - DAL 4 @ QUE 3 OT (2008-01-15).gmv"
  6. You need a hex editor (download HxD). NOSE can be helpful but is not required. Notation guide: "@" indicates an offset to go to in the hex editor. It is in hexadecimal. Introduction If you use NOSE, you can see the "Offset Hex" of each team: (click to enlarge) These values tells you where in the ROM the data for each team is located. Now, the nice thing is, you don't need to re-order all the team data to change the team order. There is a list of these offset values in the ROM, and you just need to re-order the list. A list of offsets is often called a "pointer table," so you need to re-order the team pointer table (a table of offsets that points you to the location of the data for each team). The Hack The location of the team pointer table is: NHLPA 93: @0314 (same for original or 30-team ROM) NHL 94: @030E (thanks SabreFan1) NHL 95: @0772 (thanks KingRaph) NHL 96, 97, 98: someone please post the addresses below if you know them (can be found by searching for the first offset value seen in NOSE) For example, if you go to offset @0314 in NHLP93, the first few values you see are 000008B8 (Boston) 00000B70 (Buffalo) 00000E32 (Calgary) 000010D8 (Chicago) 00001398 (Detroit) In NOSE (and the screenshot above), you can see which team goes with which value. So, just re-order the values to re-order the teams. Limitations This WILL NOT REORDER THE TEAM GRAPHICS (logos, banners..) Warnings Make sure you keep the pointer table values properly aligned, and don't change the number of pointers.
  7. Had a great time, it was well organized, and the jets were cool if a little dangerous to the cranium (a bunch of my friends are aerospace engineers, and I used to test aerospace software). Congrats to Tex on the win, he played great. I was able to grind out a win in the first finals game in OT (Mario with a sneaky short side goal), but I couldn't keep up after that. Honestly everyone I played was pretty good. The single elimination is pretty nerve wracking but fun. Wish I'd had the chance to hang out more. I think we'll have more spare time in Vegas. Might post more later. Heading out to explore NYC.
  8. Made this NHL 94 Image

  9. Hotel Rooms Discount Link

    I just booked. Thursday-Sunday. I think the resort fee was successfully waived, because it doesn't mention it in the confirmation email (although you do see it while you're trying to book, which is worrying, but you pay when you're there so in theory you could fight it if they tried to add it then). I liked seeing the "NHL94" signup option on the hotel form: Resort fee listed while booking was a bit concerning but it wasn't listed in the confirmation email, like they said.
  10. Hotel Rooms Discount Link

    Whoops, my fault (I wrote that "Food and alcohol will be available" bit), I figured it went without saying it was available for purchase, not available for free. Should have been "Food and alcohol are available for purchase on the hotel premises" or something like that.
  11. King of 94 II - Who's going?

    I've got: Sega Genesis: 2 SNES: 1 (plus a buddy said I could borrow his, so I have 2 available) RetroTRIO: 1 (plays Genesis, SNES, and NES games) NHL 94 Genesis: 4 NHL 94 SNES: 2 CRT TVs: just 1, a bit on the large side Blurry Pixel is where I was thinking. Level One looks nice, too (they also have a copy of SNES 94). House of Targ didn't really seem set up for it? Wherever it is I'm hoping they can supply 2 of each of the consoles to round it out to 4 each, with the RetroTRIO as a backup. I'm thinking October or November? Just some time before it gets all snowy. Have to make sure they would let us stream (I know Blurry Pixel would) There would be guaranteed 'rookie' prizes so we online players don't rip them off.
  12. Saskatchewan NHL 94 licence plate

    Gonna end up with quite the travelling circus of '94 players living in that winnebago
  13. King of 94 II - Who's going?

    Flight booked for Thursday (Vegas Golden Knights pre-season game). SNES acquired for practice (and use in eventual Ottawa tourney).
  14. Maybe PIT vs HFD and NJ? PIT is hard to rate, especially with the CB check. Could WPG maybe get a couple tougher matchups? I definitely defer to your opinion, though, just a couple thoughts.
  15. NHL '94 SNES 72 - 0 using Twin Galaxies criteria

    Bump.. maybe someone can help Dan get his TwinGalaxies registration working so he can get his record verified.
  16. Yes, scoring with only one-timers is a fairly common way to play against the CPU :). runs official video game records. There are particular settings to use (such as 10-minute periods) and it looks like the current record is a 58-goal differential: Here is someone's 72-0 (10 minute periods) game, I guess they haven't submitted it properly / yet:
  17. Just booked my flight, see you guys in 3 weeks!
  18. NHL'97 How do you edit the checksum

    Three is a good free hex editor called "HxD" (for windows), if you don't want to use that trial software or online editor. (One small issue with hxd is you need to read the options carefully when doing a search as it tends to default to searching as text, not hex, and I think the "go to address" defaults to decimal not hex.. Which just aren't the defaults I would expect)
  19. He was 94 (years old)
  20. RIP Jacques Ysaye, composer of "Brass Bonanza"

    I thought you had that figured out already And there's no reason not to post this
  21. NHL 2017 by naples39

    Gotta say, that Matthews splash screen is perfect. The simple blue/black/white colours convert really well to the available 16-colour palette.
  22. This post contains links to the various other posts in the "Editing the Game" that contain actual information about editing the Genesis version of NHL 94. If you want to learn how to hack, there is an excellent tutorial post by TonyH at the end of this list. Various Guides - Editing Programs NOSE (NHL Old-School Editor) - wboy's ROM editing tool can change rosters, lines, team names, etc, and colours of some things (ice colour, for example) EARE (EA ROM Editor) - smozoma's ROM editing tool that can do a few things that NOSE can't (created because NOSE hasn't been updated in a long time) HxD - a free hex editor Game Options and Team/Player Attributes: playoff matchups- (May 21 2005) - wboy Number of forwards and defense on a team - (May 29 2005) - wboy Team Order in startup menu - (May 30 2005) - McRae, wboy main menu default values (teams, period length, etc) - (May 31 2005) - wboy Team Overall Ratings - (Apr 20 2006) - wboy, smozoma (more by Evan) Team Home/Away/PP/PK (dis)advantages - (May 28 2006) - soccer1, wboy - a bit more about team attributes - home/away/PP/PK (dis)advantages - (May 5 2007) - wboy - and even more about home/away/pp/pk - (Oct 7, 2008) - metzgerism show 30 (or fewer) teams in game select screen - (Jan 14 2007) - wboy How to Edit the Player Overall Rating Formula - (April 16, 2009) - smozoma How to Change Team Selection Order - (March 1, 2012) - smozoma How to allow all players for every position (F play D, D play F..) - (Jan 25 2013) - TheTome Game Behaviour and Bug Fixes: Interesting AI behaviour hacks (really need more exploring!) - (Jul 13 2005) - McRae Reading controller inputs - (Feb 21 2007) - Scribe99 - trying to make "A" button on defense select goalie player energy (line changes fatigue/recovery rates) - (May 19 2007) - wboy speed boost (C button) - (May 19 2007) - wboy stopping and turning rates - (May 19 2007) - wboy fewer players on the ice (1on1 roms etc) - (Oct 22, 2007) - clockwise Weight Bug Fix - (Jul 19 2008) - smozoma Missing Second Assist Bug Fix - (Sept 19 2008) - smozoma Disable or lengthen the Goalie play stoppage whistle - (Feb 6 2010) - clockwise, smozoma Let the goalie roam farther with and without the puck - (Feb 7 2010) - smozoma Prevent game from crashing when Editing Lines in 2-on-2 ROMs - (Mar 19 2010) - smozoma Make the edit lines ratings match the actual on-ice ratings - (July 19 2010) - smozoma Fix the C-B check bug that made it possible to check anyone - (July 6 2014) - smozoma Real-Time Clock - (Jan 11, 2017) - Brodeur30 Graphics: Edit Player Sprites - Nov 1 2005 - wboy Player Card Tutorial - (Nov 25 2005) - wboy - (direct ZIP file download) Tile Molester graphics offset bookmarks - (Nov 25 2005) - wboy Add another centre ice logo - (Mar 11 2006) - wboy Make Gretzky's head bleed - (Aug 8 2006) - BurnXTC Tile Molester graphics offsets reference - (Jan 21 2007) - wboy Edit the Scoreboard (switch home/away) - (Jan 27 2007) - wboy Edit Ron Barr text - (Apr 27 2007) - mack Stick Tape Patch - (May 30 2007) - clockwise - also some info about no helmets! NHL94 Rink Tile Layout reference - (Feb 9 2009) - wboy Modern rink style (new faceoff dots, trapezoid behind net..) + stick tape patch - (Apr 30 2008) - clockwise Altering The Net Tiles And Palette (proper red goal posts + team coloured puck dots) - (Mar 29 2010) - clockwise Add Sponsor Logo to Scoreboard & 3 Stars (Pro Set from NHLPA'93) - (Dec 30 2016) - kingraph Audio and Music: Change and View NHL '94 Sound Effects and Music - (Jan 7 2010) - swos Game Genie codes: By TonyH http://forum.nhl94.c...?showtopic=3428 http://www.angelfire...games2/codehut/ Learn How to Hack: TonyH's NHL94 ROM Hacking School - (May 29 2007) - TonyH Another "Hacking School" thread, but by smozoma General Hacking Info: Kaneda's site - very knowledgeable Genesis hacker (also creator of the goalie button hack) SpritesMind forums - Kaneda's forum.. IDA Pro tutorials (not Genesis-specific) Assembly Code Manuals Google "68000 manual" results ( result is the official manual) Google "68000 tutorial" results
  23. Added a link to TheTome's hack allowing you to put F on D and D on F