AdamCatalyst Posted November 22 Report Posted November 22 (edited) NHL '94: Wide Display Mode (“widescreen”) Hack v2.0 Status: Stuck at ~93% ~96% ~98% ~99% completion The existing Wide Display Mode patches change the game to use the 320 pixel wide video mode instead of the 256 pixel wide video mode in most gameplay screens. This causes many cosmetic bugs, and I've been on a quest to try to fix every single last issue myself, for both the original and 32-team ROMS. Alas, I could't quite get it to 100%. You can see my progress my downloading my latest ROM, and using the included Wide Mode patch. It's almost perfect, but there are a few issues I need your help with. If you can help me finish this, I can write up an easy to use tutorial that will work on every '94 ROM, as well as output new patches. Everything I have done I've taken this thing as far as I could on my own. Here are all my notes and research. I'm hopeful that some folks who're better at this stuff can help me get this project over the finish line! There are three sections separated into three different posts. 1. Patch v1.2 Analysis & Recommendations 2. Wide Mode Patch v1.2 Issues & Fixes 3. tldr; What do you need to get this to 100%? 1. Patch v1.2 Analysis & Recommendations I tested the existing patch v1.2 by paul294met, and tried to identify every single thing that it was doing. This is what I found. 1. Remove Checksum @ 0x300 4E B9 00 0F FA C0 v1.2 4E 71 4E 71 4E 71 2. Unknown: ??? @ 0x7D9F 00 v1.2 02 32-Team Recommendation Use with caution, or do not use. 3. Fixes Pause Screen to be 256 wide @ 0x7DD3 0031 7C91 0000 0431 7C92 1C00 04 v1.2 0430 BC91 0030 BC92 1C30 BC8C 00 32-Team Recommendation Use as-is. 4. Unknown: ??? @ 0x7E82 58 78 B0 28 v1.2 4E 71 4E 71 32-Team Recommendation Use with caution, or do not use. 5. Change Address of Referenced Code, to point to new code. @ 0x0A13 / 0xA5C7 00 A4 48 v1.2 0F FA C0 32-Team Recommendation 1F FA C0 6. Unknown: ??? @ 0x0A456 02 v1.2 03 32-Team Recommendation Use with caution, or do not use. 7. Unknown: ??? @ 0x0A494 02 v1.2 03 32-Team Recommendation Use with caution, or do not use. 8. Unknown: ??? @ 0x0A4B4 00 v1.2 03 32-Team Recommendation Use with caution, or do not use. 9. Unknown: ??? @ 0x0A4E2 02 v1.2 03 32-Team Recommendation Use with caution, or do not use. 10. Unknown: Affects Rink width (Rightmost 4 block columns) @ 0x0A641 3C v1.2 20 32-Team Recommendation Use as-is. 11. Unknown: Affects Rink width (Rightmost 4 block columns) @ 0x0649 3C v1.2 20 32-Team Recommendation Use as-is. 12. Unknown: Affects Rink width (Leftmost 4 block columns) @ 0x064D C4 v1.2 E0 32-Team Recommendation Use as-is. 13. Unknown: Affects Rink width (Leftmost 4 block columns) @ 0x0655 C4 v1.2 E0 32-Team Recommendation Use as-is. 14. Unknown: Affects Rink width (Leftmost 4 block columns) @ 0x0B0AB C4 v1.2 E0 32-Team Recommendation Use as-is. 15. Unknown: Affects Rink width (Leftmost 4 block columns) @ 0x0B0B3 C4 v1.2 E0 32-Team Recommendation Use as-is. 16. Unknown: Affects Rink width (Rightmost 4 block columns) @ 0x0B0C9 3C v1.2 20 32-Team Recommendation Use as-is. 17. Unknown: Affects Rink width (Rightmost 4 block columns) @ 0x0BOD1 3C v1.2 20 32-Team Recommendation Use as-is. 18. Unknown: Affects top two block rows @ 0x0115C4 3F v1.2 3B 32-Team Recommendation Use with caution, or do not use. 19. Change Address of Referenced Code, to point to new code. This is the main code that changes the gameplay view to 320 pixels wide. @ 0x012B5D 01 17 38 v1.2 0F FA DA 32-Team Recommendation 1F FA DA 20. Cosmetic: Score Clock Score Clock position @ 0x012C7B 17 v1.2 1F Home Team Name / Visitor Team Name @ 0x012C8D / @ 0x012C9F 18 v1.2 20 Score position @ 0x012D1F 1C v1.2 24 21. Rink Background X-position @ 0x015F3F C0 v1.2 E0 22. Crowd Animation X-position? @ 0x0161F7 C0 v1.2 E0 23. Cosmetic: Crowd Animation position @ 0x016287 90 v1.2 B0 24. Unknown @ 0x016941 90 v1.2 B0 32-Team Recommendation Use as-is. 25. Unknown @ 0x016949 70 v1.2 50 32-Team Recommendation Use as-is. 26. Rink Background position? @ 0x016951 00 v1.2 20 32-Team Recommendation Use as-is. 27. Unknown @ 0x01695B 90 v1.2 B0 32-Team Recommendation Use as-is. 28. Unknown @ 0x016963 70 v1.2 50 32-Team Recommendation Use as-is. 29. Unknown @ 0x0FFAC0 700091C8223C0003FEB0B0FC018C660458486002D09853816EF00C808AB9F12166024E75287C00C0000438BC8F0238BC800438BC870038BC814438BCC000323C003F33FC000E00C0000051C9FFF660FE v1.2 33FC920E00C0000433FC8C8100C000045278B00E4EF90000A44833FC920200C0000433FC8C8100C000044EF900011738FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 32-Team Recommendation Do NOT make the alteration listed above. Instead use the revised code included at the end of the next section. Continued in the next post… Edited Monday at 03:59 PM by AdamCatalyst Progress update Quote
AdamCatalyst Posted November 22 Author Report Posted November 22 (edited) 2. Wide Mode Patch v1.2 Issues & Fixes Status: Fixed Issue: End of file / No-op not indicated. Status: Fixed. See method below. Issue: Face-Off Overlays display in wrong spot. Status: Fixed. See method in subsequent post. Issue: Crowd Animation events (such as during face-offs) do not display on right side of the Rink. Status: Fixed. See method below. Issue: Bench & Crowd Animation events display in wrong position & size. Status: Fixed. See method below. Issue: Clear Screen. Only part of the screen is cleared / refreshed after displaying graphical overlays. Status: Fixed. See method below. Issue: Line Change Overlays appear in the wrong spot. Status: Fixed. See method below. Issue: Ref needs to be moved 3 tiles / 24 pixels to the right OR Goal etc. overlays need to be moved the same. Status: In-Progress. Issue: Penalty Call Sideboards view incorrectly displays in 320 pixel mode. Status: Fixed. See method in subsequent post. Issue: Injury Overlays appear in wrong spot. Status: Fixed. See method below. Issue: Penalty Shot Overlays no longer appears centred. Status: Fixed. See method below. Issue: Shoot-Out Overlays no longer appears centred. Status: Fixed. See method below. Issue: Goal Overlays (Goal, PP Goal, Hat Trick) appear in the wrong spot. Status: Fixed. See method below. Issue: Stars of the Game overlay no longer appears centred. Status: Fixed. See method below. Issue: Does not work with 30/32 team ROMs, only showing 256 wide properly, with 3 rows of video garbage at the top. Status: Fixed. Status: Unknown Issue: CPU Players sometimes suddenly appear or disappear on far left side of the ice, when puck is on far right side of the ice. Status: Failing to reproduce. Likely inadvertently fixed. Issue: End of file / No-op not indicated. Fix @ 0x0FFAF0 FFFF to 60FE Issue: Crowd Animation events (such as during face-offs) do not display on right side of the Rink Fix 1/2@ 0x016281 C0 to E0 Fix 2/2 @ 0x016287 90 to D0 Issue: Bench & Crowd Animation events display in wrong position & size. Fix 1/2 @ 0x0FD81D C0 to D0 Fix 2/2 @ 0x0FD823 90 to B0 Issue: Clear Screen. Only part of the screen is cleared / refreshed after displaying graphical overlays. This change is essential for most of the following fixes to work properly. Furthermore, code written by the v1.2 Wide Mode patch itself needs to be modified. Clear Screen Box @ 0x12B7F 20 to 28 Updated Wide Mode patch code @ TBD: Please see the most up-to-date patch code at the bottom of this post. Issue: Line Change overlays appear in the wrong spot. Fix @ 0x0B9E5 16 to IE Issue: Injury Overlays appear in the wrong spot. Fixes as follows. Injury Text Box @ 0x018727 0B to 11 Text: “Injury to:” (PERIOD) @ 0x018743 0C to 12 Text: “Out for period” @ 0x018750 0C to 12 Text: Injured Player Name (PERIOD) @ 0x018761 0C to 12 Text: “Injury to:” (GAME) @ 0x01876F 0C to 12 Text: “Out for game” @ 0x01877C 0C to 12 Injured Player Name (GAME) @ 0x01878B 0C to 12 Issue: Penalty Shot Overlay no longer appears centred Fixes as follows: Clear Box for Penalty Shot & Shoot-Out @ 0x01203D 030200701B to 050200701C Penalty Shot Overlay Box @ 0x0187E3 030200701B to 060200701C Heading Text: “PENALTY SHOT!” @ 0x018887 04 to 08 Infraction Name @ 0x01882D 04 to 08 Infracting Player Number & Name @ 0x018858 04 to 08 Shooter Number & Name @ 0x018897 04 to 08 Issue: Shoot-Out Overlays no longer appear centred. Fixes as follows: Clear Box for Penalty Shot & Shoot-Out @ 0x01203D 030200701B to 050200701D Shoot-Out Overlay Box @ 0x0FC337 03 to 06 Second Player Name Position @ 0x0FC38F 04 to 07 First Team (Home) Name & Score @ 0x0FC3CF 04 to 07 First Team (Home) Score Position @ 0x0FC3E9 15 to 18 Second Team (Visitor) Name & Score Position @ 0x0FC409 04 to 07 Second Team (Visitor) Score Position @ 0x0FC423 15 to 18 Round Number Position @ 0x0FC443 04 to 07 Heading Text: “SHOOTOUT MODE” @ 0x0FC469 04 to 07 First Player Name Position @ 0x0FC479 04 to 07 End of Shoot-Out Box Position @ 0x0FC5BB 01 to 05 End of Shoot-Out Text “SHOOTOUT WON BY” @ 0x0FC5D5 02 to 06 End of Shoot-Out Text: Winning Team Name Position (X-Axis) @ 0x0FC611 02 to 06 Issue: Goal Overlays (Goal, PP Goal, Hat Trick) appear in the wrong spot. Fixes as follows: “Goal!” Box @ 0x188D1 0B to 10 Goal Scorer @ 0x1897D 0C to 11 Text Heading “Assist by:” @ 0x189C1 0E to 13 Assist #1 @ 0x189CE 0C to 11 Assist #2 @ 0x189F3 0C to 11 Text Heading “GOALl!” @ 0x18A17 0F to 14 0x18A1F (may be unnecessary) 0C to 11 Text Heading “HAT TRICK!” (1/2) 0x18A25 0C to 11 0x18A32 (may be unnecessary) 0C to 11 Text Heading “PP GOALl!” @ 0x18A37 0D to 12 0x18A42 (may be unnecessary) 0C to 11 ? Text Heading “HAT TRICK!” (2/2) @ 0x18A47 0C to 11 0x18A54 (may be unnecessary) 0C to 11 Overtime Goal Clear Box @ 0x18A5D 0B02007013 to 1002007018 Issue: Stars of the Game Overlay no longer appears centred Fixes as follows: Box for Stars of the Game @ 0x18541 02 to 06 Text: Stars of the Game @ 0x18553 09 to 0D Graphic: Stars of the Game Sponsor Icon (invisible) @ 0x18567 03 to 07 Text: Player Team @ 0x1859D 1A to 1E Text: Player Number & Name @ 0x185B9 03 to 07 Appendix: Recommended Patch Code This is the most recent version of the Patch code. You can put it anywhere that you have 72 bytes of unused space, however you will need to update references if you do not put it at my recommend location: @ 0x1FFAC0 33FC 920E 00C0 0004 33FC 8C81 00C0 0004 5278 B00E 4EF9 0000 A448 33FC 9200 00C0 0004 33FC 8C81 00C0 0004 4EF9 0001 1738 4E75 247C 0005 CF6C 33FC 8C00 00C0 0004 4EF9 0001 20D6 4E75 Continued in the next post… Edited Monday at 04:00 PM by AdamCatalyst updates 1 Quote
AdamCatalyst Posted November 22 Author Report Posted November 22 (edited) 3. tldr; What do you need to get this to 100%? UPDATE: I believe I have everything I need. Now I jsut need some time to test and optimize. Will be released for everyone over the Christmas break. There are three (known) issues that are preventing me from getting this patch to 100%, and writing a corresponding how-to for any '94 ROM. Highest Priority: Sideboards view incorrectly shows up in 320 pixel mode when displaying a penalty call. There is already code included that changes the Sideboards view to use the 256 wide mode whenever the game is paused. However, I cannot even find where in the code it initiates the Penalty Call Sideboards view. If you can find the right section of the code for me, I might be able to insert a patch that does what we need. Can you help me find where the Penalty Call Sideboards view is initiated? FOUND by @McMarkis! Medium Priority. Face-Off overlay (right side) appears in the wrong spot. It is too far to the left, while arguably the face-off overlay on the left should also be moved a little closer to the centre. I have gotten close to finding where in the code this happens, but I was never able to figure it out. Can you help me find where the X & Y positions are set for the face-off overlays? FOUND by @McMarkis! Lowest Priority. The Ref overlay is also in the wrong spot. It needs to be moved 3 tiles / 24 pixels to the right OR the Goal etc. overlays need to be moved the same. This might not be obvious to you as an error, but this adjustment needs to be made in order to get the patch to be a perfect wide screen representation of the proportions of the original. Can you please find how to move the X position of the ref overlay? To kick things off, I've posted my previous research on this matter in this thread here: That's it. That's everything. Any and all help is greatly appreciated. Edited Monday at 04:01 PM by AdamCatalyst update. 2 Quote
McMarkis Posted November 24 Report Posted November 24 (edited) Can you help me find where the Penalty Call Sideboards view is initiated? Try location 120C8 in your Wide mode rom. I know this line of code calls the Set Horizontal method when a penalty is called. Feel free to message me on discord as well to discuss. -Mark. Edited November 24 by McMarkis 1 Quote
Sean Posted November 24 Report Posted November 24 I’m so happy that you’ve decided to make your hobby hacking NHL 94 instead of becoming an evil villain or something like that. This is amazing. 1 Quote
AdamCatalyst Posted November 24 Author Report Posted November 24 3 hours ago, McMarkis said: Can you help me find where the Penalty Call Sideboards view is initiated? Try location 120C8 in your Wide mode rom. I know this line of code calls the Set Horizontal method when a penalty is called. Feel free to message me on discord as well to discuss. -Mark. Thanks so much for this! I tried, but couldn't figure this out. Will chase you up on Discord later. Quote
AdamCatalyst Posted November 29 Author Report Posted November 29 (edited) EDIT: After writing all this out, the solution came to me. HUGE thanks to @McMarkis! Just two more smaller fixes, and we'll have this patch at 100%. OK, this is all going over my head. Please bear in mind, I mostly work from pattern recognition. I'm a hack, not a hacker. Using Rhombus to look at this code, it looks like @0120C8 (1st image), it references a subroutine @012B94 (2nd image). When I compare the code at both of these spots to the Original ROM (3rd image) where it imitates the Pause Screen, and the difference in the Widescreen ROM (4th image), I'm not recognizing any clear enough patterns that I can try and exploit. The WS like it was re-written to take up less space by setting a variable differently, than injecting an instruction, probably the one we need. Perhaps someone with more skills can take a look, and give me a hint. I'm still committed to working on this, but it really is over my head at this point. Edited November 29 by AdamCatalyst figured it out 1 Quote
AdamCatalyst Posted November 29 Author Report Posted November 29 (edited) OK, a potential solution to the Penalty Call Sideboards problem: @0120D0 Original Code 247C 0005 CF6C Proposed Redirect to Hack 4EF9 001F FAF2 @1FFAF2 Original FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF Proposed Hack 247C 0005 CF6C 33FC 8C00 00C0 0004 4EF9 0001 20D6 4E75 I have no idea if this is an ideal way to do this, but it seems to work… Edited November 29 by AdamCatalyst typo Quote
McMarkis Posted November 29 Report Posted November 29 Looks good, you hijack the original code, point to new code, run the original code + the hack. Looks like the hack is setting the VDP to change the screen resolution. I'm no expert either, just started picking on the gens side of things. 33FC 8C00 00C0 0004 4EF9 0001 20D6 4E75 1 Quote
AdamCatalyst Posted November 29 Author Report Posted November 29 3 minutes ago, McMarkis said: Looks good, you hijack the original code, point to new code, run the original code + the hack. Looks like the hack is setting the VDP to change the screen resolution. I'm no expert either, just started picking on the gens side of things. 33FC 8C00 00C0 0004 4EF9 0001 20D6 4E75 Really and truly, I wasn't ever going to find where the code initiated that view. So despite your self-professed lack of "expert" status, your expertise was utterly essential to figuring this out. Quote
McMarkis Posted November 29 Report Posted November 29 For item 2: Medium Priority. Face-Off overlay (right side) appears in the wrong spot. Could you point out where in the code you think this is happening? I can then review the '92 source code, make some adjustments, and test how they affect it, with the goal of mapping it to '94 so you can fix this. Quote
AdamCatalyst Posted November 29 Author Report Posted November 29 The two posts have all the best clues that I've found. Quote
McMarkis Posted November 29 Report Posted November 29 I found it in the 92 code, I can move the whole faceoff window over. The bad news is it just adds to x, so it will always push it right. Is that what you wanted? I still have to map it to the 94 code where its happening. But progress 1 Quote
AdamCatalyst Posted November 29 Author Report Posted November 29 Yasss!!! Even if all you do is let me know where the value is for ‘92 I can go digging from there. Will need to specifically move the face off overlay when it appears in the right side of the screen, but I’m hopeful I can figure that out once I’m pointed to the right area of code. 1 Quote
chaos Posted November 30 Report Posted November 30 4 hours ago, McMarkis said: I found it in the 92 code, I can move the whole faceoff window over. The bad news is it just adds to x, so it will always push it right. Is that what you wanted? I still have to map it to the 94 code where its happening. But progress Where is this in the 92 code? I can find it in the 94 code Quote
McMarkis Posted November 30 Report Posted November 30 (edited) In your Wide Mode ROM at location FB5E, the instruction currently sets the X position for when the faceoff window is on the left side. The current calculation is #8 + 46, d0 (Left side). By changing 70 36 to 70 40, it modifies the calculation to #8 + 46 + 10, which moves the window 10 units to the right. Similarly, at location FB68, the X position is set for when the faceoff window is on the right side. The current calculation is #(18 * 8 ) + 46, d0 (Right side). Changing 303C 00BE to 303C 00B4 adjusts the calculation to #(18 * 8 ) + 46 - 10, shifting the window 10 units to the left. That should allow you to move the window around anywhere you want in any direction. For reference, if anyone else comes across this, the routine is located in the 92 source code under puckfaceoff2, which is part of logic.asm Edited Monday at 06:52 PM by McMarkis Added 92 source code reference 1 1 Quote
chaos Posted November 30 Report Posted November 30 14 hours ago, AdamCatalyst said: EDIT: After writing all this out, the solution came to me. HUGE thanks to @McMarkis! Just two more smaller fixes, and we'll have this patch at 100%. OK, this is all going over my head. Please bear in mind, I mostly work from pattern recognition. I'm a hack, not a hacker. Using Rhombus to look at this code, it looks like @0120C8 (1st image), it references a subroutine @012B94 (2nd image). When I compare the code at both of these spots to the Original ROM (3rd image) where it imitates the Pause Screen, and the difference in the Widescreen ROM (4th image), I'm not recognizing any clear enough patterns that I can try and exploit. The WS like it was re-written to take up less space by setting a variable differently, than injecting an instruction, probably the one we need. Perhaps someone with more skills can take a look, and give me a hint. I'm still committed to working on this, but it really is over my head at this point. Looking at my code, it looks like at 120B6 is where it sets the flag for horizontal mode for penalties (in the "chkprogress" subroutine). Then at 120C8 is where "SetHor" is called to enter it. There is a flag that is set to enter 32 column mode (256 vertical resolution). This is bit 1 of RAM location FFBF78 ("disflags" in 92 source). The game is always in 32 column mode except for title screen, options menu (game setup menu), and any of the aux screens chosen from the pause menu. Instead of forcing the VDP register, you can just set or clear the display 32 column bit and let the code do the work for you. 1 1 Quote
AdamCatalyst Posted Saturday at 02:53 PM Author Report Posted Saturday at 02:53 PM 9 hours ago, chaos said: Looking at my code, it looks like at 120B6 is where it sets the flag for horizontal mode for penalties (in the "chkprogress" subroutine). Then at 120C8 is where "SetHor" is called to enter it. There is a flag that is set to enter 32 column mode (256 vertical resolution). This is bit 1 of RAM location FFBF78 ("disflags" in 92 source). The game is always in 32 column mode except for title screen, options menu (game setup menu), and any of the aux screens chosen from the pause menu. Instead of forcing the VDP register, you can just set or clear the display 32 column bit and let the code do the work for you. I wish I had the knowledge to be able to turn what you said into practical information for me. If you had time, I’d greatly appreciate if you could point me in the direction as to how I might make use of this. I really have no clue how to flip a bit in RAM like that. Quote
chaos Posted Saturday at 03:37 PM Report Posted Saturday at 03:37 PM 25 minutes ago, AdamCatalyst said: I wish I had the knowledge to be able to turn what you said into practical information for me. If you had time, I’d greatly appreciate if you could point me in the direction as to how I might make use of this. I really have no clue how to flip a bit in RAM like that. Sure. Keep your jump in the same spot. The assembly command would be bset #1, ($FFFFBF78).w to set the bit 1 in the disflags. Opcode would be 08F8 0001 BF78 So in your jump spot, try 247C 0005 CF6C 08F8 0001 BF78 4E75 I don't think you have to add the jump back, the rts should take care of that Quote
AdamCatalyst Posted Saturday at 05:24 PM Author Report Posted Saturday at 05:24 PM (edited) OK, a proposed set of adjustments for the Face-Off overlays in 320 pixel wide mode: @FB5F Original 36 Proposed Revision 3E @FB6B Original BE Proposed Revision F6 I have included screen caps of what this does. I'm not aiming for 100% numerical proportional equivalency, aiming for what "feels" like it probably would have looked like if originally conceived in 320 pixel wide mode. If anyone is reading this, please let me know if this "feels" right to you. Edited Saturday at 05:29 PM by AdamCatalyst fixed mistakes. 1 Quote
AdamCatalyst Posted Saturday at 05:49 PM Author Report Posted Saturday at 05:49 PM 2 hours ago, chaos said: 247C 0005 CF6C 08F8 0001 BF78 4E75 I don't think you have to add the jump back, the rts should take care of that Thanks so much! I tried, with and without the jump back, no luck. Without the jump back it just shows a black screen on penalties, with the jump back it is still in 256 pixel mode. Happy to keep pursuing this, but also happy to just let the current solution stand, not seen a crash or glitch yet. Quote
chaos Posted Saturday at 06:22 PM Report Posted Saturday at 06:22 PM 30 minutes ago, AdamCatalyst said: Thanks so much! I tried, with and without the jump back, no luck. Without the jump back it just shows a black screen on penalties, with the jump back it is still in 256 pixel mode. Happy to keep pursuing this, but also happy to just let the current solution stand, not seen a crash or glitch yet. OK, I'm confused, you want it to show the side in 256 pixel mode right? Is it not switching back to 320 when it goes back to vertical mode? Quote
AdamCatalyst Posted Sunday at 01:50 PM Author Report Posted Sunday at 01:50 PM YES, want it to go to 256. With cited code as-is, when it initiates Sideboards view it goes all black, and then doesn't draw anything until the face-off view, at 320px. When I added the Jump back-in, it displays Sideboards view for a penalty call, the face-off view as expected, but stays at 320px the whole time. No 256 switch. Quote
chaos Posted Sunday at 04:53 PM Report Posted Sunday at 04:53 PM 3 hours ago, AdamCatalyst said: YES, want it to go to 256. With cited code as-is, when it initiates Sideboards view it goes all black, and then doesn't draw anything until the face-off view, at 320px. When I added the Jump back-in, it displays Sideboards view for a penalty call, the face-off view as expected, but stays at 320px the whole time. No 256 switch. OK, just leave it how you have it. It looks like if you set that flag you also need to call another subroutine, which is basically doing what you are doing. 1 Quote
McMarkis Posted Monday at 03:37 AM Report Posted Monday at 03:37 AM In your Wide Mode ROM @ Location 1601A if you modify 54 40 to 56 40, this will move the ref window to the right. The original 68k instruction is adding decimal value 2 to the D0 register. So changing the 54 to 56 adds #3 to D0 etc. add #2,d0 I think the text overlay may be a little more tricky. Still looking into that. For reference, if anyone else comes across this, the routine is located in the 92 source code under showref, which is part of video.asm @chaos Quote
chaos Posted Monday at 03:41 AM Report Posted Monday at 03:41 AM 2 minutes ago, McMarkis said: In your Wide Mode ROM @ Location 1601A if you modify 54 40 to 56 40, this will move the ref window to the right. The original 68k instruction is adding decimal value 2 to the D0 register. So changing the 54 to 56 adds #3 to D0 etc. add #2,d0 I think the text overlay may be a little more tricky. Still looking into that. For reference, if anyone else comes across this, the routine is located in the 92 source code under showref, which is part of video.asm @chaos Hahaha, nice find. I was 2 minutes away from finding this today, but ended up having to do house stuff. Quote
AdamCatalyst Posted Monday at 03:16 PM Author Report Posted Monday at 03:16 PM (edited) @McMarkis Hah! Guess what? Yesterday I figured this out: Ref Call Text Box Position @ 0x127AE Ref Call Text Box Display Duration @ 0x12795 I *think* that's it then! Guys, thank-you so much for your help. Please don't ever hesitate to let me know if there is something I can help you with. 1. I'm going to get this all working with my ROM, post that. 2. Next I'm going to get it refined for the OG, post that. 3. Then I will write out an easier to use set of instructions and patch for the 32-team ROM, and compatibility with other patches. Will get #2 & #3 done over Christmas break. I can't tell you how many hours I poured into this with my brute force methods. I really appreciate you sharing your time and expertise on this. Edited Monday at 03:58 PM by AdamCatalyst 1 Quote
77 Posted Monday at 04:24 PM Report Posted Monday at 04:24 PM WIDE MODE FOR EVERY BASE ROM!!!! 😃 1 Quote
Sean Posted Wednesday at 01:20 AM Report Posted Wednesday at 01:20 AM Have you noticed any "artifacts" like this during face-offs(presumably items that would render off-screen), specifically after a penalty? Messing around with the patch included in your last ROM on a definitely not WJC project, and obviously we're working from different templates so there's a decent probability I messed something up when cleaning up other things, but figured I'd throw it you way in case you've seen it before and/or I'm just missing it on this thread. Quote
AdamCatalyst Posted Wednesday at 02:05 AM Author Report Posted Wednesday at 02:05 AM (edited) During development I saw stuff like that, but no more. Please send me your WIP! I need a few “third party” ROMs to test it on, as I work out an easy to use set of universal instructions. It would be good to have one of yours in that process. My goal is to get patches and instructions out for everyone as a Christmas gift. Just getting my own wrapped up first. Edited Wednesday at 02:06 AM by AdamCatalyst 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.