Keith Weisshar Posted October 10, 2010 Share Posted October 10, 2010 (edited) Why does the TV screen jitter when restarting Raiders of the Lost Ark? This effect is seen on YouTube at around 2:14 on the timeline. Edited October 10, 2010 by Keith Weisshar Quote Link to comment Share on other sites More sharing options...
Kiwi Posted October 10, 2010 Share Posted October 10, 2010 (edited) Why does the TV screen jitter when restarting Raiders of the Lost Ark? This effect is seen on YouTube at around 2:14 on the timeline. Because, the Atari 2600 has to resync with the TV. The Atari 2600 has no video memory, so it has to draw the screen every frame. I believe resetting will run the first routine that clear and reset the 128 byte of RAM, skipping the drawing routine since drawing the screen takes 50% of CPU power. Then at the end of the reseting routine, it'll enable the drawing routine which would not sync with the TV right away. Hence, seeing partial image since it ran out of cycles from the previous 2 routine. Next routine would just start the attract mode and the drawing routine should work as intended. Example of games rolling: Mouse Trap rolls screen when it reset the board. Buck Roger rolls the screen when it bankswitch from the landscape mode to UFO mode. The screen rolls with 3D Tic Tac Toe when the CPU is thinking, which the drawing routine is skipped to delicate CPU time to the thinking routine. Edited October 10, 2010 by Kiwi Quote Link to comment Share on other sites More sharing options...
SRG Posted October 10, 2010 Share Posted October 10, 2010 My question is how high are you to actually be playing this game?? I tried and tried to play this back in the day and could never figure anything out now I have seen the videos of it being played and I still think how the hell did they figure that out? Quote Link to comment Share on other sites More sharing options...
Kiwi Posted October 10, 2010 Share Posted October 10, 2010 (edited) My question is how high are you to actually be playing this game?? I tried and tried to play this back in the day and could never figure anything out now I have seen the videos of it being played and I still think how the hell did they figure that out? The game requires 2 controllers. One for movement and using item I think. The other for selecting your inventory and button to drop a item. Most people would get confuse, thinking this game need 1 controller. Edited October 10, 2010 by Kiwi Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted October 10, 2010 Share Posted October 10, 2010 Many games lose sync when resetting. The advantage is that it is a "quick 'n' dirty" solution...it only needs a 3-byte jump (or 2-byte branch) to the cold start address to implement. I don't believe that Atari (the company) had a problem with this method, so long as the running game itself was stable. Quote Link to comment Share on other sites More sharing options...
Keith Weisshar Posted October 11, 2010 Author Share Posted October 11, 2010 Do you have a list of games that uses a cold start method of resetting? Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted October 11, 2010 Share Posted October 11, 2010 Do you have a list of games that uses a cold start method of resetting? The reset does not actually reset the console. It is simply a switch, and it's up to the programmer to write some code to check it. If they did not write this code in the game program then the switch would have no effect at all. So any game that resets from a press of this switch is using the cold start method. In other words, every single Atari game does it. Quote Link to comment Share on other sites More sharing options...
A.J. Franzman Posted October 11, 2010 Share Posted October 11, 2010 But if a programmer wanted to avoid the screen flicker when the reset switch was pressed, it wouldn't take much effort to implement a delay until the appropriate instant before executing a cold start to keep the VSYNC in sync. Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted October 11, 2010 Share Posted October 11, 2010 But if a programmer wanted to avoid the screen flicker when the reset switch was pressed, it wouldn't take much effort to implement a delay until the appropriate instant before executing a cold start to keep the VSYNC in sync. Yes, it is very easy to do. Just set up a bit flag somewhere in ram that can be checked. While reset is being held ignore moving the player, updating the score etc... Once it is released do a cold start at an appropriate scanline so that the scanlines will remain stable, and ensure Vsync gets hit at the right time. I do this with some of my hacks as I really hate jumping screens. Even worse is when the game doesn't kill the audio while reset is being held. That's where you get all the annoying screeching from. Anyhow it costs more rom to do this, so the easiest way is to just jump to reset and not worry about the picture jumping. That's what a lot of old games did. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted October 11, 2010 Share Posted October 11, 2010 The reset does not actually reset the console. It is simply a switch, and it's up to the programmer to write some code to check it. If they did not write this code in the game program then the switch would have no effect at all. Correct. So any game that resets from a press of this switch is using the cold start method. In other words, every single Atari game does it. Incorrect. As you've stated, it's up to the programmer how the switch was implemented. The program (upon detecting a switch press) could jump to the cold start address and start over just as if you turned the machine off and back on (subsequently causing the sync glitch)...or jump to some other point that does not reexecute the routine in the same manner (avoiding the sync glitch)...or jump to some other point that is completely unrelated to machine initialization. As far as a list goes, I don't know the advantage of trying to compile such a list. But if a program causes a sync glitch from a game reset switch press, it's usually due to using that method of resetting a game. Some games feature multiple entry points into the cold start address routine, in order to preserve certian variables (such as which game selection you've chosen). Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted October 11, 2010 Share Posted October 11, 2010 (edited) So any game that resets from a press of this switch is using the cold start method. In other words, every single Atari game does it. Incorrect. As you've stated, it's up to the programmer how the switch was implemented. The program (upon detecting a switch press) could jump to the cold start address and start over just as if you turned the machine off and back on (subsequently causing the sync glitch)...or jump to some other point that does not reexecute the routine in the same manner (avoiding the sync glitch)...or jump to some other point that is completely unrelated to machine initialization. It depends on your definition of cold start. I define a cold start as the program running some routine to restart itself, and a hot start as a hardware related reboot (like a power on/off). Might be incorrect in my interpretation, but the idea that I was shooting for is that the reset switch is not physically restarting the system through any hardware means. Edit: I have hot and cold mixed up. However, the idea I'm shooting for is still the same. Hardware reboot vs software reboot. Edited October 11, 2010 by Omegamatrix Quote Link to comment Share on other sites More sharing options...
Pioneer4x4 Posted October 11, 2010 Share Posted October 11, 2010 Adventure doesn't reset with the switch. You keep playing, but get reincarnated. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted October 11, 2010 Share Posted October 11, 2010 ^^ ...unless the game select screen is shown, or the chalise is already in the yellow castle. If either is true, all objects are returned to preset locations, then scrambled based on the current framecounter "seed" if it's the 3rd game. If the chalise had been in the castle with the tune playing, the kernel uses only 2 of the 3 frames in the display loop...so if game reset is used to redisplay the game select screen, the winning tune plays at a slower rate due to all 3 frames now being displayed. Adventure is a game that never goes back to the routine used for cold start. Besides zeroing all ram, that routine resets the missile sprites to the borders...so if you "fry" the console to begin execution at a random address, the side panels will be in the wrong spots. Quote Link to comment Share on other sites More sharing options...
Herbarius Posted October 11, 2010 Share Posted October 11, 2010 . I define a cold start as the program running some routine to restart itself, and a hot start as a hardware related reboot (like a power on/off). Usually it's the other way 'round and it's called "warm start" instead of "hot"... Cold start is a hardware related reboot (like a power on/off) and a warm start it's some software method. Think of it in terms of an engine that cools if turned off, so if you start it, that's a "cold start" - from the cold state. Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted October 11, 2010 Share Posted October 11, 2010 . I define a cold start as the program running some routine to restart itself, and a hot start as a hardware related reboot (like a power on/off). Usually it's the other way 'round and it's called "warm start" instead of "hot"... Cold start is a hardware related reboot (like a power on/off) and a warm start it's some software method. Think of it in terms of an engine that cools if turned off, so if you start it, that's a "cold start" - from the cold state. Yes I know. I said so in the edit of my post above. 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.