IRF Posted April 5, 2017 Report Share Posted April 5, 2017 (edited) By the additional JR, I presume you are referring to the jump forward (on occasions when you're not copying the attributes) to the INC L and then the jump back to LOOP? (Whereas in your previous code, if it wasn't time to copy the attributes, you jumped straight back to LOOP.) Aside from that drawback, you could have implemented the above in the version with the XOR A command, thereby saving a further two bytes (no need to do the DEC L and INC L in order to set the Zero Flag at the end of the final iteration of the drawing loop)? Edited April 5, 2017 by IRF Quote Link to comment Share on other sites More sharing options...
IRF Posted April 5, 2017 Report Share Posted April 5, 2017 (edited) Thanks for the latest code, Norman. I've tweaked and replaced the 'Norman' file attached to my post from last night (the one with three files attached for 'compare and contrast' purposes: unfixed, Ian's fix and Norman's fix). EDIT: In implementing your latest tweak, this time I have left the two additional spare bytes at the end of the screen-drawing code (instead of bothering to consolidate it with the six spare bytes at the start). They might be useful for some other purpose (such as adding an AND #80 prior to the nearby check of the internal 'ticker' [see #8A50], which has the effect of doubling the speed of the digital clock on the status bar). Edited April 5, 2017 by IRF Spider, jetsetdanny and Metalmickey 3 Quote Link to comment Share on other sites More sharing options...
jetsetdanny Posted April 12, 2017 Report Share Posted April 12, 2017 Danny, I've removed the files for now, so I can carry out further tweaking, and then re-upload a (hopefully) new and improved version. That'll save you from looking at various iterations, with slight improvements each time - it would be better for you to see the final article, and observe the greatest 'Before vs After' contrast in one hit! Thanks, Ian. I've had a look at the fixes created by Norman Sword and Ian, and I have to say the improvement is very visible :) . There is a particularly dramatic improvement with the arrows in The Swimming Pool - great difference. Congratulations, Gentlemen! :D One thing I noticed - please note this is not criticism, only feedback since it's been asked for - is that while Willy is manoeuvring on the ramp in West Wing very small parts of him - one of his outermost bits, so to speak - occasionally seem to flicker in red. I'm not sure why it's red, to be honest, but that's what I see (in SPIN). If this really happens (and is not an illusion of mine), it makes me think of cleaning up old music using digital filters. In some cases it eliminates the hiss beautifully, but produces tiny little artifacts here and there which you can hear, something that wasn't in the original recording. So the overall result is definitely much better than the original, but there is just a tiny little bit of new "contamination". Still, this is just something that seems to have caught my attention. On the whole, the improvement is very big :) . So I would just have a couple of questions at this point: - Is there a definitive fix already? If so, which of the above code is it? - Are you both OK with the code being used in "third party" projects, with due credit given, of course? Spider 1 Quote Link to comment Share on other sites More sharing options...
IRF Posted April 12, 2017 Report Share Posted April 12, 2017 (edited) Danny, in relation to the flickering in red in the West Wing, I think that in the 'patched' test files I changed the Air INK setting in that room to red, to illustrate the 'delayed attributes' effect. I intended to do the same for the 'unpatched' test file, to allow a direct comparison. But I can see that I omitted to do that. That explains the discrepancy you noticed. (My apologies for the confusion!) In the corrected 'unpatched' file attached here, I have changed the Air INK to red in West Wing. Hopefully you will agree that rather than creating the the glitch you can observe, the patch actually improves it. But the 'patched' files illustrate the point that the glitch is mostly, but not entirely, eliminated. There will always be an infinitesimal delay between the graphic bytes being drawn and the associated attributes being copied - the program cannot do both things at precisely the same time. But the final patch minimises the delay (and hence the glitch) as much as is physically possible. JF&DA_Bugs unfixed_Red INK in West Wing.z80 Edited April 12, 2017 by IRF jetsetdanny 1 Quote Link to comment Share on other sites More sharing options...
IRF Posted April 12, 2017 Report Share Posted April 12, 2017 (edited) - Is there a definitive fix already? If so, which of the above code is it? - Are you both OK with the code being used in "third party" projects, with due credit given, of course? In terms of the definitive fix, I would go with Norman's code in post #40 of this thread. I have no problem with it being used in third party projects. :) Edited April 12, 2017 by IRF Spider and jetsetdanny 2 Quote Link to comment Share on other sites More sharing options...
jetsetdanny Posted April 12, 2017 Report Share Posted April 12, 2017 Thanks for the additional file, Ian - indeed the flickering is much more visible when the fix is not in place. Quote Link to comment Share on other sites More sharing options...
IRF Posted April 12, 2017 Report Share Posted April 12, 2017 (edited) Thanks for the additional file, Ian - indeed the flickering is much more visible when the fix is not in place. I should add that in the original JSW, with the 'JF&DA' patch not in place and the Air INK and PAPER in West Wing both set to black, if the glitch does occasionally present itself, it would be manifested as a few pixels of Willy's sprite disappearing for a microsecond (i.e. rendered in black on black, as he crosses a cell-boundary). But that would be virtually imperceptible to the human eye - it's only when the Air's INK and PAPER settings are distinct (and in starkly contrasting colours) that you can briefly detect it. (I think 'Entrance to Hades' is the best example of that in the original game.) Edited April 12, 2017 by IRF jetsetdanny and Spider 2 Quote Link to comment Share on other sites More sharing options...
IRF Posted April 14, 2017 Report Share Posted April 14, 2017 (edited) Just to report that there is an error in the files that I uploaded earlier in this thread to demonstrate the patch in action; at #8A30 I put '7E' LD A, (HL) when I should have put '77' LD (HL), A. However, this only affects the code which causes Willy to run at double speed during the toilet dash (the error means that he just automatically proceeds leftwards at the normal speed after reaching the bed). It doesn't diminish the ability to use the files to compare the 'before vs after' effect of the patch on the Jagged Finger and Delayed Attribute Effects. Edited April 14, 2017 by IRF jetsetdanny, Metalmickey and Spider 3 Quote Link to comment Share on other sites More sharing options...
IRF Posted April 15, 2017 Report Share Posted April 15, 2017 Although having said that, perhaps the Jagged Finger effect is particularly pronounced as Willy runs down the ramp in Master Bedroom during the toilet dash? And if you made the Air INK red in one of the rooms that he runs through en route to the toilet, then the Delayed Attribute effect might be very noticeable (in the unpatched file) during the end sequence? Quote Link to comment Share on other sites More sharing options...
Metalmickey Posted April 15, 2017 Report Share Posted April 15, 2017 I put this code into my AMI version and playtested to completion, i can confirm that there is no (visible) red flickering what i noticed and indeed there is a very big improvement in Willy's animation, particularly in very bright rooms like The Front Door and Entrance to Hades. Spider, IRF and jetsetdanny 3 Quote Link to comment Share on other sites More sharing options...
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.
Note: Your post will require moderator approval before it will be visible.