+Lathe26 Posted March 26, 2023 Share Posted March 26, 2023 2 hours ago, DZ-Jay said: The Jargon File and the New Hacker's Dictionary would like to have a word with you. dZ. The context here is retro video game ROMs. Those definitions are for different contexts. If they "had a word with me", they would agree. You know this. For the topic of this thread, a hack is a modification of original source code. Full stop. Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted March 26, 2023 Share Posted March 26, 2023 (edited) 14 minutes ago, vroby said: asm DIS asm EIS I also use jzintv in ntsc mode. we did a lot of tests (ntsc, pal and even secam) and there are some small differences. It's definitely a great emulator. Also keep in mind that I work full with linux Thanks for the details. So you open a critical section and apparently miss the next interrupt, which will cause the blank screen. You see, on every frame you need to actively enable the display by writing (anything) to STIC register $0020. If you fail to do so, the screen will blank for the frame. If you are using IntyBASIC, it will do it for you. Otherwise you need to do it on the ISR (interrupt handler) before the VBLANK 1 period expires (about 2,900 cycles in NTSC). If you disable interrupts, the ISR will not be called, so if you miss a frame, the screen blanks. It seems your critical section runs for too long. That is a design choice, not really a limitation of the hardware. If you shared some code, we could help you perhaps optimize the routine, or find alternative implementations to avoid missing the display handshake. dZ. Edited March 26, 2023 by DZ-Jay Quote Link to comment Share on other sites More sharing options...
Emyxox71 Posted March 26, 2023 Share Posted March 26, 2023 Thank you Inty Home (Dino and Roberto) for taking me back to the 80s. Magnificent work! Well done! VID_20230324_152312.mp4 1 Quote Link to comment Share on other sites More sharing options...
vroby Posted March 26, 2023 Share Posted March 26, 2023 (edited) 25 minutes ago, DZ-Jay said: Thanks for the details. So you open a critical section and apparently miss the next interrupt, which will cause the blank screen. You see, on every frame you need to actively enable the display by writing (anything) to STIC register $0020. If you fail to do so, the screen will blank for the frame. If you are using IntyBASIC, it will do it for you. Otherwise you need to do it on the ISR (interrupt handler) before the VBLANK 1 period expires (about 2,900 cycles in NTSC). If you disable interrupts, the ISR will not be called, so if you miss a frame, the screen blanks. It seems your critical section runs for too long. That is a design choice, not really a limitation of the hardware. If you shared some code, we could help you perhaps optimize the routine, or find alternative implementations to avoid missing the display handshake. dZ. Thanks for the offer but I think I already optimized the code quite a bit. I simply demanded a lot from the inty. In the next programs I will try to squeeze the machine a little less since many people use hdmi converters that deinterlace the video output and I hadn't thought of this. Already the next one that will come out soon despite having an 8-way scroll shouldn't have the problem Edited March 26, 2023 by vroby Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted March 26, 2023 Share Posted March 26, 2023 7 minutes ago, vroby said: Thanks for the offer but I think I already optimized the code quite a bit. I simply demanded a lot from the inty. In the next programs I will try to squeeze the machine a little less since many people use hdmi converters that deinterlace the video output and I hadn't thought of this. Already the next one that will come out soon despite having an 8-way scroll shouldn't have the problem No worries. The reason I mention it is because other games have managed to do more with the same resources. Frankly, I am not convinced that it is "a lot from the inty," not based on what I've seen of the games so far; so perhaps there is a different algorithm, technique, or micro-optimization that could be done. The offer will stand, so feel free to reach out at any time if you'd like. Good luck with your next project. dZ. Quote Link to comment Share on other sites More sharing options...
+cmadruga Posted March 26, 2023 Share Posted March 26, 2023 41 minutes ago, vroby said: Thanks for the offer but I think I already optimized the code quite a bit. I simply demanded a lot from the inty. In the next programs I will try to squeeze the machine a little less since many people use hdmi converters that deinterlace the video output and I hadn't thought of this. Already the next one that will come out soon despite having an 8-way scroll shouldn't have the problem From a technical standpoint, I confess I still don't get what is the benefit of disabling interrupts and then having to worry if the code is running for too long before re-enabling the interrupt. Seems like an unusual way to write the game logic. I also don't get how this game can be demanding so much from the hardware. Just judging by the output. This is not a jab at you, the original was a relatively simple game wouldn't you agree? Or maybe I'm missing something? To be honest when a game is demanding, I'm more used to seeing the framerate slow down a little. I'm not used to seeing the whole screen go black. But that is what disabling the interrupt seems to cause when the game "falls behind". I would think this way of structuring the logic actually makes you work harder. I imaging you are spending a lot of time monitoring and managing performance. Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted March 27, 2023 Share Posted March 27, 2023 3 hours ago, cmadruga said: From a technical standpoint, I confess I still don't get what is the benefit of disabling interrupts and then having to worry if the code is running for too long before re-enabling the interrupt. Seems like an unusual way to write the game logic. I also don't get how this game can be demanding so much from the hardware. Just judging by the output. This is not a jab at you, the original was a relatively simple game wouldn't you agree? Or maybe I'm missing something? To be honest when a game is demanding, I'm more used to seeing the framerate slow down a little. I'm not used to seeing the whole screen go black. But that is what disabling the interrupt seems to cause when the game "falls behind". I would think this way of structuring the logic actually makes you work harder. I imaging you are spending a lot of time monitoring and managing performance. Disabling interrupts for long-running operations can be useful for non-time-critical stages, such as initialization or level set up, etc. However, I agree with you, there is little to gain from doing it during active game-play. You are better off breaking down the processing into various stages, either into multiple frames, or (preferably) outside the context of the ISR. -dZ. Quote Link to comment Share on other sites More sharing options...
Sinjinhawke Posted March 27, 2023 Share Posted March 27, 2023 The Consumer Response Deparment? Oh Parker Brothers!!! 1 Quote Link to comment Share on other sites More sharing options...
ZillaRUSH Posted March 27, 2023 Share Posted March 27, 2023 Was about to spend the bucks to order it...after watching that vid...no thanks. Nothing is worse than incomplete games. For that money it should be ready to go and want you to play more. Looks like someone one day needs to make Super Pro 007. 3 2 Quote Link to comment Share on other sites More sharing options...
+LS650 Posted March 27, 2023 Share Posted March 27, 2023 7 hours ago, ZillaRUSH said: Was about to spend the bucks to order it...after watching that vid...no thanks. Nothing is worse than incomplete games. For that money it should be ready to go and want you to play more. Looks like someone one day needs to make Super Pro 007. I had the same thought when I watched the video: looks more like 003½ than 007. 5 Quote Link to comment Share on other sites More sharing options...
Numan Posted April 9, 2023 Share Posted April 9, 2023 Let’s remember it was a poorly reviewed game when it came out back in the day but the Atari had so many more third party games that you wanted a lot of those games out on Intellivision. 1 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.