• Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by wboy

  1. I've finally posted the tutorial on my site. I've packaged it as a download (rather than online pages) as there is a fair bit of other resources I have included to help you with the process of updating player cards. It basically contains: a step-by-step tutorial on updating player cards in Tile Molester, additional pages & documents (pdfs) listing all the offsets & player cards (for both NHL 94 & 95), information about changing the player card to roster player associations, IPS patches to repair player cards with shared tiles, and more... Let me know if you think any sections are unclear or vague (excuse any bad engrish), and I'll update the tutorial appropriately in the near future. Find it here: http://www.hexaddicts.com/nose EDIT: link dead, here is the file: player card tutorial.zip -smozoma Enjoy, wboy. PS: Evan, feel free to use the info & resources as you wish in the editing section of this site.
  2. Now before I start, I will admit I've found this out by using 93, not 94, but as the order of ranking attributes between the two versions appear the same, I am certain this info is also valid to 94. So whats to report.... well I as doing a few edits and comparing the on screen ratings just to confirm the column order of ratings etc. I was interested to find the way the fighting ranking was different percentages to all others. Looking into it further has allowed me to find that the Handedness column also stores the supposed fighting rating of a player. Hex 0 = Righty, 1 = Lefty, Fighting rating = 0 Hex 2 = Righty, 3 = Lefty, Fighting rating = 14 Hex 4 = Righty, 5 = Lefty, Fighting rating = 28 Hex 6 = Righty, 7 = Lefty, Fighting rating = 42 Hex 8 = Righty, 9 = Lefty, Fighting rating = 57 Hex A = Righty, B= Lefty, Fighting rating = 71 Hex C = Righty, D = Lefty, Fighting rating = 85 Hex E = Righty, F = Lefty, Fighting rating = 100 With this, that left the 12th digit not accounted for, being the one item that doesn't show onscreen in 93 (and possibly 94?). After a bit of fooling around, Its appears to be Toughness... or should I say Crunch factor. WIth a team of 140lbs plebs and F set for the 12 digit (use 6 for 94), I managed to put 3 oppositions puck carriers out of the period in with three minutes of game time (with oncoming clean hits). So I reset to start a new game.. and within the first minute of game time, I again crunched the opposing puck carrier out for the period. Interestingly, when I increased my players weights, it became harder to line up opposing players up as I lost some of the agility I had with my big hitting jockey sized players. EDIT: Sorry, just found out that 93 (like 95) uses even numbers for RIght, odd for Left (as shown above), where 94 is switched around... even for left, odd for right.. why.... who really knows other than EA....
  3. The following is a quick guide to completely remove the EA checksum routine used within EA Genesis games. I found this method by comparing NHL98 which has no checksum routine, to all the other ROMs in the series. Noting the differences, a little bit of trial and error has allowed me to find a generic way you can disable the checksum routines for Genesis ROMs published by EA. This is the method used within the upcoming NHL editor. The example/screen shots attached are based on the NHL94 ROM. STEP 1: Open the ROM in your Hex Editor of choice. Search for the Hex value 700091C8. You should find 1 instance. If you find more than one, use the last instance found as the checksum routine typically exists at the end of the ROM game data. Take note of the offset it is found at. In this example, it is 000FFAC0 STEP 2: Search for the Hex value 000FFAC0. Again you should find 1 instance, and it should exist towards the very top of the ROM. In this example, the data resides at Hex 302. STEP 3: At Hex 300, you should find the value 4EB9. Change this to 4E71. Also change the referenced address location that follows, 000FFAC0 to 4E714E71. This basically disables the checksum routine, allowing the game to load successfully even if hacked. STEP 4: While not required (though recommended) go back to ROM offset 000FFAC0 by using the search or goto function. Replace the 7000 with 60FE, bytes seemingly used to signify "End of File/Data". Replace all the following bytes up to and including the last 60FE with FFFF. Save the file and you are basically done. NOTE: Depending on the year the rom was published will depend on where you should find the referenced address location to the beginning of the checksum routine. It typically exists at either Hex 302, Hex 692 or Hex 768. The length of the checksum routine in bytes (starting with 700091C8, ending with 60FE) will also depend on the ROM you are editing. NHL91 to 95 appears to use a simpler routine which does allow being moved. NHL96 to 97 have a slightly longer routine which isn't as friendly to being moved to a different address offset. This is why I have chosen to remove the checksum routine all together and disable it being referenced, as learnt from the NHL98 rom. Remember these steps work in any EA game including the Madden NFL game series, and also other EA games like B. O. B. Interestingly, like NHL98, NFL98 also has it checksum rountine diabled and removed for you. Being the last in the series, maybe the developers purposely left it out to allow the games rosters to be more easily hacked one day in the future? As for the NHL editor, I will be posting some progress news in the next week or so. Hold tight, it'll be worth it!
  4. wboy I need help

    Need to learn that s**t myself... maybe one day. maybe not.... we'll see in time.
  5. wboy I need help

    Very nice work. Well done smozoma! Other than the no organ pipe sounds at the start of a team 31 or 32 home game... I don't think any other crashes have been found?
  6. wboy I need help

    Just a few edits to the NOSE.ini file would happily support a 32 Team ROM.
  7. wboy I need help

    Team 31 or 32 as either Home or Away crashes Genesis Plus GX at both the Team Select and Player Card screens. From the Player Cards it always throws also up the address error 0011DB8 = 000000FF as per one of my earlier post attachments.
  8. nose on linux?

    No probs.... please report any issues or bugs you may find running NOSE via Wine for all. I only did very brief testing within NOSE itself and found those things...
  9. wboy I need help

    Thanks jer_33. Wasn't expecting that quick of a response to that request! Seems the emulation within Gens & Genesis Plus GX is more accurate in that regard (compared to real hardware) than both Kega Fusion & PicoDrive. I just quickly tested accessing the Player Cards in-game menu option using both Lakka/Libretro cores. Like before it causes the game to freeze within Gens Plus GX, but PicoDrive renders the screen and behaves fine with the exception of the bogus Records data that is displayed. This is most probably the clue to fixing this issue as either core has no issue showing just the player cards alone during the match-ups intro screens (where the Records data is not displayed unlike the opening team select menu and player cards screens). *cough* smozoma *cough* 32 Team ROM Player Cards.zip
  10. nose on linux?

    After you've installed Wine on your preferred Linux distribution, simply download and install the Visual Basic 6.0 Service Pack 6 Run-Time also and the Microsoft Visual Basic 6.0 Common Controls (as would also be recommended/required for any Windows based OS). # Tested on Xubuntu 16.04.1 LTS (xenial) - Xfce Desktop Environment. Should also work on any Debian or Ubuntu based distribution including Linux Mint. - Open a Terminal Emulator window. $ sudo apt-get update $ sudo apt-get install -y wine $ winecfg - Click OK when the Wine configuration dialog eventually appears. $ cd Desktop/ $ wget -v https://download.microsoft.com/download/5/a/d/5ad868a0-8ecd-4bb0-a882-fe53eb7ef348/VB6.0-KB290887-X86.exe $ wine VB6.0-KB290887-X86.exe - Click YES and extract it to the user's Desktop folder as seen within Wine (e.g. Z:\home\wboy\Deskop) $ wine vbrun60sp6.exe - Disregard the Visual Basic 6.0 Service Pack 6 Run-Time install errors displayed as most of the files already exist within ~/.wine/drive_c/windows/system32 $ wget -v https://download.microsoft.com/download/3/a/5/3a5925ac-e779-4b1c-bb01-af67dc2f96fc/VisualBasic6-KB896559-v1-ENU.exe $ wine VisualBasic6-KB896559-v1-ENU.exe - Click YES (& YES again) to install the Microsoft Visual Basic 6.0 Common Controls - Copy nose1.2b.zip to the Desktop - Extract nose1.2b.zip to effectively create the folder ~/Desktop/nose1.2b/ - Change to the folder in your terminal window and run NOSE within Wine! $ cd nose1.2b/ $ wine nose.exe - Alternatively just double click the nose.exe from within your file manager. - Probably makes no real performance difference within Wine but you can also decompress the supplied (and upx'ed) nose.exe using: $ sudo apt-get install -y upx-ucl $ mv nose.exe nose_upx.exe $ upx -d nose_upx.exe -onose.exe # Bugs I've noticed so far: - Launching a second instance of NOSE [F9] works, but pressing it again won't bring the other instance back to focus. - You can cut and paste goalies/players/lines etc. within the open ROM, but not between two open instances (clipboard handling within NOSE would need to be simplified I'm guessing). - Wine always presents a Program Error when you close the last instance of NOSE! I haven't yet cared to check the Wine logs exactly why so, as it seems to happily open/edit/save ROMs. # Originally Referenced Download Links: - Service Pack 6 for Visual Basic 6.0: Run-Time Redistribution Pack (vbrun60sp6.exe) [VB6.0-KB290887-X86.SP6.exe] @ https://www.microsoft.com/en-au/download/details.aspx?id=24417 - Microsoft Visual Basic 6.0 Common Controls [VisualBasic6-KB896559-v1-ENU.exe] @ https://www.microsoft.com/en-au/download/details.aspx?id=10019
  11. wboy I need help

    Missing organ pipe music I referred to was just after you "start game" before the first face off. Team 31 at home sound like a body check, 32 starts with the louder body/check boarding(?). That's all I tested with limited time and effort. Would be good to document all that is noticed. e.g. you say team 30 has no goal music. I assume this also affects my original nhl94 30 team rom hack? I'm sure it can probably all be fixed, but again I'm guessing smozoma's talents are probably better suited here. EDIT: can anyone confirm what it does on real hardware via one of those SD Card ROM attachments? e.g. Does it die/freeze or keep going like on Kega Fusion and PicoDrive.
  12. wboy I need help

    I just tested your ROM within Lakka - http://www.lakka.tv/, an awesome way to retrogame on your TV if y'all haven't checked it out it already. It's basically a Playstation 2 like frontend to Libretro - http://www.libretro.com/ Those who have used RetroPie - https://retropie.org.uk/or Recalbox https://www.recalbox.com/are pretty much using the same thing on their Raspberry Pi. Lakka/Libretro offers 2 cores (emulators) for Genesis, Genesis Plus GX and PicoDrive (the now default Genesis emulator for low powers devices like the Pi IIRC). Genesis Plus GX crashes straight after the first player card (also fails to draw the banners) much like old Gens I used to use as I assume it's spawned from the same project/code. PicoDrive seems to work though! (not based of Kega Fusion as that code never got released apparently even though it is now discontinued - http://www.carpeludum.com/forums/topic/kega-fusion-source-code/) Attached are some screenshots that may give some clues on where things are going wrong. It's as if the RAM is only so big and the 31st & 32nd team force other elements of the game to display the wrong data/info. Something I think smozoma may have to get involved in to better understand the issue and fix it much like some of his other similar achievements. The other interesting thing is start the ROM with team 31 & 32, you get a checking sound effect instead of the organ pipe music. This is where someone really needs to play the ROM more even in it's current state within Kega Fusion, PicoDrive & Gens to see if any more such quirks are uncovered (and why I quickly went back to a 30 team ROM which did nothing of the like). 32 Team ROM Snapshots.zip
  13. wboy I need help

    That rings a bell you know... as in I think that's what used happen with my attempt too now that you mention it. So it works in fusion? Only ask as I have none of the old hacking tools and emulators installed on any of my current PCs.
  14. "Show me the money!" NOSE 1.3b (10 year anniversary edition) New: CryptoLocker support - encrypts all your ROM files and make you pay wboy's bitcoin account to get them back!
  15. NOSE 1.2b source code

    Apologies to the community for not posting this (many years) earlier. NOSE 1.2b was coded in Visual Basic 6 (VB6). You would need this installed if you were ever to try recompile nose.exe. To just view the code with color syntax highlighting you can use something like Notepad++. All of the code is within the *.frm (Forms), *.bas (Basic Modules) & *.cls (Classes). Just remember to select Language > V > Visual Basic within Notepad++ after you have opened any of those files. Sorry if some of the code within is shoddy or confusing, but it was somewhat of a learning exercise in both ROM hacking and Visual Basic programming for myself too. Hopefully it’s of some benefit to someone. wboy NOSE_source_1.2b_wboy.zip
  16. NOSE 1.2b source code

    Thanks guys. Nice to hear it still gets used today now 10 years on. Helps me justify the amount of time I probably spent on it back in the day rom hacking and coding NOSE... not that I didn't enjoy it... I did... I only just ran NOSE on my Windows 10 box yesterday and amazed to see it worked even without registering the OCXes.... though it did kick of my Office 2013 setup first time before it launched (not sure wtf that happened). lol @ clockwise!
  17. wboy I need help

    Attached is what appears my last attempts of my 32 team rom (up to stage 8) before I started noticing the games was crashing on me. The stages should relate mostly to what is found in the SG NHL94 - 30 Team ROM.docx as part of the source code zip release, remembering though some of the data pasted within will be bigger thus some different offsets may exit (e.g. two extra banners). 32teamromfail.zip
  18. wboy I need help

    You can try your luck but its been along time away from it. Note I did try with a 32 team ROM initially (before my cutting back to my 30 team releases) but gave up on it as the ROM would crash on me IIRC. I never cared to investigate it further at the time as I wasn't sure I was capable of working out the cause and fix. smozoma and some of his asm work may be of value here too? Within that source code release under #resources/30 Team ROM are also a ms word docx (and pdf version) for all the bytes I moved around to make the 30 team version. Can't remember if I ever posted them before but they may be of some value to you.
  19. Well after some considerable analysis of NHL94 and later rom years (admittedly made a hell of a lot easier using the upcoming editor to test values ), I think I've worked out how ingame displayed ratings work in reference to the Hex 0-6 scaling first used in NHL94, reverting from the original Hex 0-F scales used by NHL93 and earlier roms. I tested this by setting an entire team's players to the same rating... e.g. first all 0's, check the ingame ratings... then change to all 1's... check ingame rating, repeat... etc until Hex 6 reached. Interesting, while all players where in theory the same, they did all potentially show some mild variances in their attribute ratings. These are not always consistent either! A player's overall and individal attributes rating may be "what you expect" for your first game, the higher for the next, then back to "what you expect"/got first game, then lower the following game?!?! To prove this, take the original NHL94 rom. Play a regular game with DETROIT. Before the game starts, go to the team roster and check the starting line's player overall ratings. With some luck, they will match the documented overall ratings as found in the roster section (off the main site) of Evan's NHL94 website. Reset the rom, choose the exact same teams/settings again. Check the roster, and now, the overall rating for the players will most likey be different than before. Reset again, and with some luck, yet another new rating for the same players. It doesn't appear to be completely random. Its as if there is three or four different typical scenarios that you will recieve. Every time you get the same scenario (testing with the same teams), you should also find that it is the same HOT or COLD players. Within the team roster, each player's overall and individual attributes talents will be exact as of the previous time you noticed you've had the same scenario. A predefined random possibly? So why is this, and how come a whole team of players with the same hex attributes can have what appears to be quite different scalings in the same rating? I have a theory that *may* be somewhat right, but for now what I can quite accurately tell you is this. Dependant on the hex rating of a attribute, the following info will give you general indication of what ingame attribute rating you could possibly expect for that player. Hex 0, attribute rating will always range from 25 to 29 (maximum difference of 4) Hex 1, attribute rating will always range from 29 to 38 (maximum difference of 9) Hex 2, attribute rating will always range from 38 to 47 (maximum difference of 9) Hex 3, attribute rating will always range from 47 to 62 (maximum difference of 15) Hex 4, attribute rating will always range from 63 to 80 (maximum difference of 17) Hex 5, attribute rating will always range from 81 to 98 (maximum difference of 17) Hex 6, attribute rating will always be 99 (no possible difference) From this I had the idea that the game possibly uses the Hex 0-6 rating to dynamically assign Hex 0 -F to the players based on potential ranges of the rating scale shown above. This could be done in attempt to simulate players having good (hot) or bad (cold) days and thus potentially creating a more random game. Interestingly NHL95 appears to go by these exact ratings except for the Stick Handling, which is different to NHL94, as it supports Hex 0-F. Checking the ranges of the assigned hex values of the Stick Handling attribute show this: Hex 0, attribute rating will always range from 25 to 29 Hex 1, 2, attribute rating will always range from 29 to 38 Hex 3, 4, 5, attribute rating will always range from 38 to 47 Hex 6, 7, 8, attribute rating will always range from 47 to 62 Hex 9, A, B, attribute rating will always range from 63 to 80 Hex C, D, E, attribute rating will always range from 81 to 98 Hex F, attribute rating will always be 99 While I originally thought this confirmed my theory, unfortunately the ingame displayed ratings didn't seem to match the finding. By that I mean with the stick handling attribute set to Hex E for all players, I expected all the ratings to be within 92 and 98... the top third values of the range expected for Hex E. Unforunately that was not the case, as values ranged from 81 to 98. Either the displayed value may display wrong (highly unlikey), or doesn't make a difference at all if its Hex C, D or E. Going back to NHL94, this may mean that a Hex 5 is a Hex 5, irrespective if the players is Hot and rated 98, verus the other who is Cold, and rated 81 for the same attribute. One attribute that could possible test this theory would be SPEED. If both players are the effectively same, are at different ends of the Hex 5 scale (e.g. hot-98, cold-81), but are as fast as each other ingame, then the whole Hot/Cold rating difference is really more of a misleading attempt by EA to make the game appear more complex that it is? I'll look at hacking a rom soon that could test this theory, and I'll let you know when its done so I few people can test it and give me their thoughts/findings. Doing similar tests with 96, I vaguely remember a scenario where the same "cold" player rated higher than the same opposings teams equivalent player who was normal. Mind you, I will check that again to confirm. If that is the case, the hot/cold rating may really mean noting ingame. Time will hopefully tell. The end.
  20. The linked zip file below contains a collection of screen shot references that should be more than enough to educate yourself on loading and editing the graphics and palettes within the NHL 94 - 30 Team ROM: http://hexaddicts.com/nose/tmr30v1.0.zip EDIT: link dead, here is the file -smozoma tmr30v1.0.zip EDIT: Here is a link to all the images on imgur.com so you don't need to download them: http://imgur.com/a/RqZf3 A few samples have been attached to this post to give you an idea of how they appear and how to work with them. Changing the Genesis palettes within TM can be a bit dicky and inaccurate especially if you are attempting to change an entire palette of 16 etc. Personally, I prefer to enter my palettes directly with a hex editor after determining my palette by using NOSE's color sniper utility, or building it manually with the color gradient square. More advanced stuff (like the optimized importing of title screen backgrounds etc.) may follow in the hopefully not-to-distant future. Happy gfx hax0ring, wboy.
  21. Quick Tech question

    Good point, has been too many years and completely forgot 3bbp it was only it only had 8 color palette. All I remember is back in day when I started to better understad the headers for images, I only then started to find the "hidden rink" graphic tiles etc, and from memory, they where flagged in the image header exactly like the player tiles (as in 03 for 3bbp & 00 for 4bbp as I assumed) forgetting that the rink tiles have a 16 color palette available to it. As you have now highlighted the header byte simply flagged if the Run-Length Encoding was used (also why the occasional player card tiles where shared). My way around that was exporting a Gens screenshot of the VDP(?) memory, cut out the tiles/sprites and then paste them into a new part of the ROM with with Tile Molester and create a header implying 4bpp.
  22. Quick Tech question

    Call it what you will, but it saved space and had no reduction in quality of the imagine being stored and then presented in game. A basic routine/algorithm that offered basic compression no?
  23. Quick Tech question

    Back in the day the co$t of production between a 1MB ROM inside a gaming cartridge vs a 2MB ROM was substantial. Kind of like buying 128GB vs 256GB embedded storage in your smart device of choice these days. The original NHL94 would of probably been a little over the 1MB at best. That alone made it a no brainer that EA store most of all the graphics compressed in 3bpp linear format, and not the 4bpp linear format used by the original and more easily editable EA Hockey & NHL 92. 1 less bbp = 25% saving on all graphic bytes stored that way. The rest of the bytes (teams, rosters and the game engine) are not compressed. When loaded into the memory during game play, the graphics are loaded uncompressed. That fact and understanding the header bytes for graphics is what allowed the editable rink versions of NHL93 and 94 to become a reality.
  24. Details below outline the changes made to permit 30 teams selectable from the menu screens of NHL94. Use this info to limit the selectable team to even less teams where required for your hack. Original NHL94 has 28 teams or 0x1C. 0x1E = 30 Offset 0xF7922 Bytes control the Team 1 & 2 return to 1st team (Anaheim) when ASW is exceeded. Changed 001C001C to 001E001E Offset 0xF7934 Bytes control the Team 1 & 2 return to 1st team (Anaheim) when ASW is exceeded (when game is started with 4 player multitap) Changed 001C001C to 001E001E Offset 0xF79E4 Bytes change the selected team back to expected range if you just changed from Regular Season to Playoff Mode Changed 781A to 781E (where 0x1A = 26, original 94 limit forced to exclude All Star teams). Offset 0x17D36 Bytes control the Team 1 return to 1st team (Anaheim) in the Playoff Team selection mode. Changed 0019 to 001D (yes, 0x19 = 25 not 26, but remember 0 thru 25 is 26 available values) Offset 0x17D3C Bytes control the Team 2 return to 1st team (Anaheim) in the Playoff Team selection mode. Changed 7419 to 741D Playoff Data: Ensure only the teams you are permitting selection to be available in Playoff Mode/Data or expect possible freezes/bugs. Use NOSE to alter playoff data. Known issues/unfound data: If you limit the rom to say 16 teams, the Regular Session game results seen between periods can still use teams after the 16 you apparently permit. Live with it.
  25. Read supplied notes within download for more details. Note this is a alpha, and not a beta. Reasons: - Seems to work but not thoroughly tested. - Does not contain as much uncompressed graphics (e.g. Title screen not editable - disabling animations like glitter etc more tedious that first thought, Ron Barr headshot not editable etc.). - No documentation or reference screen shots supplied. - Not supported by NOSE 1.2b. Easily fixed if you add the following lines to the NOSE application folder's roms\roms.ini file. [GM T-50396 -30] Comments=NHLPA Hockey '93 (UE) (REV01) [!] - 30 Team ROM Hack by wboy OriginalROMProductCode=GM T-50396 -01 Teams=30 Download IPS patch here: 93 IPS 1.0a.zip EDIT: Correction to ini files settings (error on my part). A complete roms.ini is now within the zip distribution which you can simply copy over your existing roms.ini