Jump to content
IGNORED

pause for 2600?


RangerG

Recommended Posts

Hmm... that's a tough one. My first thoughts would be that it would be almost impossible. You see, even if the game is paused, the video chip (TIA) still has to send a signal to the TV, otherwise you'll get no picture... there's a "ready" line on the microprocessor that you can use to have it stop what it's doing, but the TIA uses this, and even if you halt the processor, the TIA will still go on and fill your TV with garbage (Not to mention that when you un-pause, things might get de-synced). My point here is that halting the microprocessor is not the answer.

 

I don't know much about the TIA chip... but if it has a "ready" line like the 6507, then it might be possible to do this. But any pause you get would definitely have to be a black screen.

 

--Zero

Link to comment
Share on other sites

There really isn't a way to add a pause function to the hardware that would also leave the picture on the screen. The processor in the 2600 sends the display data to the TIA line by line, so even if you stopped the processor the display would get messed up. If you didn't care about the display you probably could pause the system by stopping the clock input to the TIA, which in turn provides the clock to the CPU.

 

Dan

Link to comment
Share on other sites

Computer-based emulators can (and, perhaps universally, do) provide this functionality, with the usual tradeoffs of using an emulator. Still, depending on your needs and wishes, an emulator might be a viable option...especially if you managed to output the signal to a real TV and used authentic VCS controllers via an adapter.

 

The 2600-compatible 7800 has a pause button, but it's of no use in this case: in 2600 mode, pressing the pause button is equivalent to toggling the B&W/color switch to B&W, and releasing the button is equivalent to toggling it back to color.

Link to comment
Share on other sites

quote:

Originally posted by wi1ykat:

How about cutting the clock signal? I know it would freeze the whole system but would the system be stable?

 

It's hard to say wether this would work or not without seeing actual schematics of how everything is laid out and interconnected. I'm pretty confident that if you did this in the middle of any form of sound, then the tone would continue until you continued the clock (This would be extremely annoying... and I doubt there's any way to avoid this since it's all internal to the TIA I believe).

 

In the end, I think we'd only be able to get a real answer if we asked someone who worked on the original Atari design.

 

--Zero

Link to comment
Share on other sites

In the 2600 the main clock goes into the TIA chip and is distributed from there to the other two chips in the system. So cutting the clock to the TIA in theory would freeze the system, and then re-enabling the clock should allow it to re-start exactly where it was. As I mentioned about the display would not remain if you did this. The sound would probably also go off (not leave an annoying tone as someone mentioned above) becasue to get sound you need oscillations of the output and without a clock you wouldn't get the oscillations.

 

The pause key on the 7800 takes the place of the B/W switch in the 2600. For the pause to have any effect on a game (2600 or 7800) the game has to be explicitly programmed to recognize it.

 

Dan

Link to comment
Share on other sites

quote:


Originally posted by Scott Stilphen:

How is this done in software? (some games have a pause feature)


 

Hi Scott,

 

Writing a pause in software is relative easy. First, the user hits whatever key/button/switch is necessary to cause the game to Pause. Then it's just a matter of stopping all other processing until the user hits whatever key/button/switch (usually the same one!) is required to unpause the game. You basically just need to stop the main "game loop" from processing until the user unpauses the game. This can be a little tricky, as you first have to get into a state where it's okay to be paused, but it's usually not too difficult.

 

On a 2600 this is made more challenging since it takes precious code space and execution time to manage a pause feature. Not to mention that there's no Pause button or switch. At least with a software pause (as opposed to the hardware solution being described in previous posts), you could still refresh the screen rather than having it go black. You just need to ignore any player input and pause the game logic.

 

..Al

Link to comment
Share on other sites

>>

How is this done in software? (some games have a pause feature)

<<

 

There is nothing about the 2600 that prevents pause from being written into games. It just can't be done very well in hardware, at least not without blanking the screen or something (like the way the pause on the Vec multicart works).

 

A 2600 game manually updates the game state during vertical blank/overscan.

 

To implement pause programmatically, all it has to do is detect the pause trigger (probably color/bw ala the 7800) and immediately loop back to the main kernel without updating the gamestate unless the pause is off.

 

It's not pausing the program at all, just the game state. The game then goes into an infinite loop generating the exact same screen. You'd probably also have to have it turn off the sound.

 

It's not that hard, I don't think, but few 2600 games if any support that. The early games used color/BW for what it was meant to be. Mid era games wouldn't have wasted the resources on it, I don't think. Maybe some of the latter era games do it.

 

I also think pause is a more modern concept that the classic games didn't even consider. The early games were designed mostly with the early arcade games in mind which don't have pause (or continues for that matter).

Link to comment
Share on other sites

I'm looking at the silicon here, and I can answer a few questions. I think.

 

If you cut the clock line to the TIA everything stops. The entire system

is dead. No video...the screen will roll and bounce because there's not even any sync signal being generated. No audio. Whatever the final current at the audio pins was, that's what stays there.

 

If you force the 6507's RDY line, you'll get vertical stripes and annoying sound, because the TIA is still running, but the processor isn't giving it any new infomation.

 

Regarding classic games and pause feature, this was one of the MAJOR selling points of the 5200. I don't know if it was done in hardware, or software (My belief is hardware...any know for sure?)

 

-Chris

 

"Oh, my God...it has a PAUSE button!!!

We have to get one! I *NEEEEED* it, Mom!!!"

Link to comment
Share on other sites

Thanks for the responses. I got the idea because in an earlier discussion about the Radio Shack computer someone posted:

 

Nope. Each game might designate a key as "pause", but there's no hardware pause. It's easy to mod one though. That was the first hardware mod I did in fact...read about it in Rainbow Magazine. I don't remember the details, but you basically put a switch between the "HALT" line in the cart port, and GROUND.

 

I thought you might be able to do a similar thing with the 2600.

 

[ 10-21-2001: Message edited by: RangerG ]

Link to comment
Share on other sites

I know the 7800 has a HALT line somewhere but the 2600 does not. I'm looking at the schematic right now and other than a VCC and GND, there's only 1 line between the oscillator circuit and the rest of the system. Since I'm fizzled out on my Lynx mod, I could do this next. After all I have plenety of 2600 to ruin anyway

 

UPDATE: Didn't work quite well. When I disconnected the clock, the screen went blank and the sound stopped. When I reconnected the clock signal, the 2600 picks up exactly where it was left off... up to an extent. When I leave the clock disconnected for more than about 10 seconds the system becomes unstable and the screen and sound goes haywire. Maybe a filter cap with the switch could be used or maybe it needs to be tied to VCC or ground rather than free floating when disconnected.

 

Any electronic expert here? Any other suggestion? All that's left is to program the game to watch color/B&W switch and put itself into a pause loop when the switch is flipped. I'm suggesting B&W/Color switch because it's hardly used anymore and most newer games don't support it. Why waste a perfectly good switch?

 

[ 10-21-2001: Message edited by: wi1ykat ]

Link to comment
Share on other sites

quote:

Originally posted by wi1ykat:

UPDATE: Didn't work quite well. When I disconnected the clock, the screen went blank and the sound stopped. When I reconnected the clock signal, the 2600 picks up exactly where it was left off... up to an extent. When I leave the clock disconnected for more than about 10 seconds the system becomes unstable and the screen and sound goes haywire. Maybe a filter cap with the switch could be used or maybe it needs to be tied to VCC or ground rather than free floating when disconnected.

 

Here's an idea: Connect in a counter circuit between the oscillator and the clock line of the TIA, with a switch so that it can either route the clock signal straight to the TIA, or through the counter. With this counter in place, you could divide the clock signal by an arbitrary amount (making it longer). With a sufficiently long period, it might look like a pause. However, for a period this long, you might need a pretty big counter....

 

This could also work as a slo-motion dial if you hacked in a few more switches.

 

quote:

Any electronic expert here? Any other suggestion? All that's left is to program the game to watch color/B&W switch and put itself into a pause loop when the switch is flipped. I'm suggesting B&W/Color switch because it's hardly used anymore and most newer games don't support it. Why waste a perfectly good switch?

 

Bad idea. Some games use the B&W/Color switch for other reasons. Games like Space Shuttle would be unplayable I'd imagine, and you wouldn't be able to access some features in games like Ghost Manor. It really wouldn't be all that hard to cut a hole in the side of the Atari and wire a switch into there.

 

--Zero

Link to comment
Share on other sites

quote:

Originally posted by Dan Boris:

The sound would probably also go off (not leave an annoying tone as someone mentioned above) becasue to get sound you need oscillations of the output and without a clock you wouldn't get the oscillations.

 

Not necessarily... It's actually quite easy to make an oscillator that doesn't require a clock. I guess the only way to tell would be to find some schematics... and then spend 5 years trying to understand them because they're probably damn complicated

 

--Zero

Link to comment
Share on other sites

quote:


Originally posted by Ze_ro:

Not necessarily... It's actually quite easy to make an oscillator that doesn't require a clock. I guess the only way to tell would be to find some schematics... and then spend 5 years trying to understand them because they're probably damn complicated


 

Damn complicated? This is the 2600 we're talking about here.

 

..Al

Link to comment
Share on other sites

  • 8 years later...

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...