"Color/B&W" switch on the 2600 = "Pause" switch on the 7800. How the switch is read by software is exactly the same (bit3 of SWCHB). If, when, and how a program implements the switch is entirely up to the program in question.

If a 2600 game switches to a B&W palette when using the switch on a 2600...the same effect will happen using the game with a 7800's "pause" switch. However...on the 7800, the switch itself will spring back to it's original position the same way that Select and Reset do (so you would need some way of keeping the switch pressed down if the game was not coded with this "springy action" in mind).

Beany Bopper, for example, uses the switch to pause the game on a 2600. This does not work correctly on the 7800...since the switch automatically springs back and unpauses the game.

Some modern homebrews and hacks are written to detect which console the game is being run on (and include decision branches to handle either case), so an assigned function will work for either platform.

Does anyone know what should be done in a batari Basic program to handle either case?

If I was doing it only for the Atari 2600, I'd have the program look at the position of the switch just before the game starts, then the opposite position would pause the game. That way the game would never be paused from the start.

If I was doing it only for the Atari 2600, I'd have the program look at the position of the switch just before the game starts, then the opposite position would pause the game. That way the game would never be paused from the start.

That wouldn't work on the Atari 7800.

I sent you a more complex PM but could you use the fire button on the right controller as pause and the fire button on the left controller as unpause?

I sent you a more complex PM but could you use the fire button on the right controller as pause and the fire button on the left controller as unpause?

I could do something like that, but some people don't even have a second joystick plugged in. And some people hate games that use two controllers for any reason.

If somebody with a bigger brain comes along with the info I'm looking for, it would probably be a good idea to stick with the COLOR/BW switch since that's what the Atari 7800 already uses as a pause button.

Can't you just increment a counter every frame the pause is pressed/toggled? If it's pressed more than 10 frames on a 7800 then pause. If it's a 2600 then this will happen as well.

The black and white switch doesn't bounce back on an Atari 2600 and we have to remember that a player could hold in the pause button on an Atari 7800, so a counter will not work unless we can start the counter after they let go of the pause button..

The 7800 has a bios that it runs and that leaves the memory in a predictable state. Before it clears the ram, the bB startup code checks a few ram locations to see if it was started by a 7800, and sets temp1 accordingly.

The 7800 has a bios that it runs and that leaves the memory in a predictable state. Before it clears the ram, the bB startup code checks a few ram locations to see if it was started by a 7800, and sets temp1 accordingly.

Also, it's worth mentioning that the 7800 detection won't work with Harmony in menu mode, since the menu program changes these memory locations. There was a request to have this fixed in the Harmony firmware, but even if that goes in it appears they're using values that differ from the ones bB looks for.

Also, it's worth mentioning that the 7800 detection won't work with Harmony in menu mode, since the menu program changes these memory locations. There was a request to have this fixed in the Harmony firmware, but even if that goes in it appears they're using values that differ from the ones bB looks for.

Is it possible to have a pause work for a game by having the game recognize the fire button being rapidly pushed a number of times in a few seconds? For an example, 10 times in 3 seconds is pause.

Or is it possible to make a game treat switching from color to bw and back to color again as pause? So, on the 2600 you switch twice to copy the action of the 7800 pause button? And maybe even treat the position the switch is in as color at the start of the game, so it doesn't start in pause?

Also, it's worth mentioning that the 7800 detection won't work with Harmony in menu mode, since the menu program changes these memory locations. There was a request to have this fixed in the Harmony firmware, but even if that goes in it appears they're using values that differ from the ones bB looks for.

If I was doing it only for the Atari 2600, I'd have the program look at the position of the switch just before the game starts, then the opposite position would pause the game. That way the game would never be paused from the start.

Holy cow! I think I just had an idea based on what I said above that might work on the Atari 2600 and Atari 7800, but lets you un-pause using the fire button.

What would happen if I did this:

Before the game starts, the program checks the position of the COLOR/BW switch and stores that info in a bit. _

During the game, the program checks to see if the position of the COLOR/BW switch has changed by seeing if it's different from the stored bit. _

If the position is different than the stored bit, the program immediately jumps to the pause section. _

If the player presses the fire button while in the pause section, the program checks the position of the COLOR/BW switch and stores that info in the same bit as before, then returns to the game.

Unless I'm forgetting something or overlooking something, that should work on the Atari 7800 and let Atari 2600 users pause by flipping the COLOR/BW switch (whether it's on Color or BW).

I don't know where my Atari 7800 is right now, so I can't test it on there until I find the box I put it in. If anyone has a Harmony cart and an Atari 7800, please test the .bin file above and let me know if hitting the pause button works.

Thanks for testing. That's great news. Now I can have pause on the Atari 7800 and the type of pause I want on the Atari 2600 where the position of the COLOR/BW switch doesn't matter (just flipping it in the opposite direction is all you need to do).

I just tested it with my modified Colecovision Expansion Module. It worked no matter which way I had the switch when turning it on. Is there a way to do the same thing but make it that pushing pause again or flipping the switch again would work as well as the fire button? It is a minor problem but someone might be an idiot, think the game froze, and not even think to try the fire button.

I just tested it with my modified Colecovision Expansion Module. It worked no matter which way I had the switch when turning it on. Is there a way to do the same thing but make it that pushing pause again or flipping the switch again would work as well as the fire button? It is a minor problem but someone might be an idiot, think the game froze, and not even think to try the fire button.

I can try it. It may not work on my first try, though. I'll go and adjust the code right now.

I just tested it with my modified Colecovision Expansion Module. It worked no matter which way I had the switch when turning it on. Is there a way to do the same thing but make it that pushing pause again or flipping the switch again would work as well as the fire button? It is a minor problem but someone might be an idiot, think the game froze, and not even think to try the fire button.

I can try it. It may not work on my first try, though. I'll go and adjust the code right now.

I spent all this time trying to do it, but the only reason why it works is because I activate pause with the COLOR/BW switch or pause button and un-pause with the fire button. Trying to use the same switch brings us back to the need for atari7800=temp1&1 which doesn't work from the SD card.

If players in the future with no manual pause the game and can't figure out that they should press the fire button to unpause, I'm sure they'll be able to find help on the Internet. Or if they have a grabby pet monkey in the room, the fire button will get pressed sooner or later