January 28, 20251 yr comment_208828 6 hours ago, AdamCatalyst said: @chaos Thanks for this! My understanding is admittedly primitive. No, finding that was pretty impressive without looking at the disassembled code! Report
January 28, 20251 yr Author comment_208833 oh, no, I have been looking at the '92 source code! I just don't always interpret it correctly. If you had a few minutes, I would greatly appreciate it if you would look at the last lingering issue I posted about in the Wide Display mode code. EDIT#1. Actually @chaos, are you sure about @AC1D? I'd previously identified this value as the friction level for the puck on the ice, and don't see any effect on the player, only the puck. I've play tested this a fair amount. EDIT #2. Also… do you happen to know what the value at @AC05 does? Haven't been able to figure that one out. Edited January 28, 20251 yr by AdamCatalyst more thoughts. Report
January 28, 20251 yr comment_208837 3 hours ago, AdamCatalyst said: oh, no, I have been looking at the '92 source code! I just don't always interpret it correctly. If you had a few minutes, I would greatly appreciate it if you would look at the last lingering issue I posted about in the Wide Display mode code. EDIT#1. Actually @chaos, are you sure about @AC1D? I'd previously identified this value as the friction level for the puck on the ice, and don't see any effect on the player, only the puck. I've play tested this a fair amount. EDIT #2. Also… do you happen to know what the value at @AC05 does? Haven't been able to figure that one out. #1 - Yes, this code: ROM:0000AC10 7406 moveq #6,d2 ROM:0000AC12 082B 0000 0062 btst #0,$62(a3) ; pfdoff - player deceleration ROM:0000AC18 6700 0004 beq.w _off ROM:0000AC1C 7409 moveq #9,d2 is testing for a flag that is set when the player is assigned to receive a pass. EDIT: They will slow down at a slower rate (9 instead of 6). You can look in 94 source code at the asspassrec subroutine. #2 - So AC05 is a weird one. ROM:0000ABFA 7811 moveq #$11,d4 ROM:0000ABFC 4A78 D06E tst.w (word_FFD06E).w ROM:0000AC00 6700 0004 beq.w _notoside ROM:0000AC04 7816 moveq #$16,d4 So the $11 is used as the factor with the velocity before adding it to the player's position. In the 92 source, it's looking to see if the player is offsides here, and if so, will make them "appear" to skate quicker to get onside, by using $16 instead of $11. 94 has this test of a variable instead. The problem is, this variable is only set on startup (in the Begin subroutine), and the value stored in it is related to the VDP Control. I've never seen a situation yet when it was set, it always seems to be 0. So it will always skip 0xAC04 instruction. 92 does this whole part differently. Report
January 28, 20251 yr Author comment_208838 This is so odd. While I believe you, I can't understand how your tests could yield such different results than mine! Can you confirm, that when you change 0xAC10 to 01 in '94 it does not increase puck deceleration, or if you change it to FF it does not decrease puck friction, but it does affect player deceleration? I've literally play tested this for a month, and never seen this variable affect anything but puck deceleration behaviour. I am so confused. Furthermore, I have never seen anything but higher values reduce the deceleration affect! Any thoughts on how we could be seeing such different results!?!? Report
January 28, 20251 yr comment_208839 5 minutes ago, AdamCatalyst said: This is so odd. While I believe you, I can't understand how your tests could yield such different results than mine! Can you confirm, that when you change 0xAC10 to 01 in '94 it does not increase puck deceleration, or if you change it to FF it does not decrease puck friction, but it does affect player deceleration? I've literally play tested this for a month, and never seen this variable affect anything but puck deceleration behaviour. I am so confused. Furthermore, I have never seen anything but higher values reduce the deceleration affect! Any thoughts on how we could be seeing such different results!?!? I edited my above post. When receiving a pass they will not slow down as much. A higher number means less reduction to velocity. That value at AC10 is being used as a divisor in a way. It's being used to shift the velocity x number of times (in original case, 6 times). Which would divide the velocity by 64 in the case of 6. That result is then subtracted from the velocity and stored as the new velocity. So a lower number, the faster the deceleration, since the result before subtracting is higher. Report
January 28, 20251 yr comment_208841 Here's GIFs. First one is vanilla 94. Second one is with the value at 0xAC11 changed to 03 (from 06) Report
January 28, 20251 yr comment_208842 Here's a GIF with the value at 0xAC1D set to 03 instead of 09. You are right! The puck slows down. Upon further investigation, it seems that the puck always has the flag pfdoff set to ON. So it will always be using this value on deceleration (when it is on the ice. If there is any Z height to the puck it won't decelerate like this). Players will also use this when decelerating for a pass though. Report
January 28, 20251 yr Author comment_208843 14 minutes ago, chaos said: Here's a GIF with the value at 0xAC1D set to 03 instead of 09. You are right! The puck slows down. Upon further investigation, it seems that the puck always has the flag pfdoff set to ON. So it will always be using this value on deceleration (when it is on the ice. If there is any Z height to the puck it won't decelerate like this). Players will also use this when decelerating for a pass though. Hah! So you can see why I defined this as "Puck Friction" when it only occurred with pucks on the ice. Thank-you so much for spelling this all out for me. I hadn't noticed it having any affect on the skating, as the puck effect was so pronounced. Report
August 19, 2025Aug 19 comment_211693 On 1/28/2025 at 11:55 AM, AdamCatalyst said: So you can see why I defined this as "Puck Friction" when it only occurred with pucks on the ice. This is going back a ways, but I'm just looking for some validation in my memory. I seem to recall playing one of the Genesis NHL games back in the day and coming across a weird trick where the puck might be shot in the air but if you pause the game, if halved the velocity of the shot. So Al MacInnis could blast it from the point, but after spamming the start button, the puck would just die in mid air by the face off circle and fall straight down. The thing is that this was obviously on original hardware, and between '92 to '96 I don't recall which game this glitch was in, and I haven't been able to replicate it in emulation. In contrast to the friction along the ice, there doesn't seem to be any friction acting on the puck when airborne and I don't remember this trick having any effect when the puck was on the ice anyway. Not sure if there is any way to track down what would cause this, nor does it have much practical application anyway, but it was just a curiosity that I was reminded of with this statement. Report
August 19, 2025Aug 19 Author comment_211694 I have stumbled across a way to make the puck have high wind resistance, low ice resistance, effectively giving it air brakes. It may very well have been with this variable. if I ever get my next ROM out, I re-wrote the formula for gravity, which noticeably changes things. Simply increasing gravity too high will also give the puck “air brakes”. PM me and I can dig up my notes on gravity. Edited August 19, 2025Aug 19 by AdamCatalyst Report
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.