Jump to content
IGNORED

Scramble - 2600


johnnywc

Recommended Posts

 

The MAZE and BASE level on STANDARD setting should not be that difficult; is anyone else having the same issue? I believe in the cart edition the difficulty is a little less for the first couple of levels and the difficulty ramping is smoother. The smoother scrolling on the NES version should make the navigation through the MAZE a bit easier, but even the coarse scrolling in the 2600 version should be able to be overcome with some practice. Good luck! :)

It takes impeccable timing but I did beat it last weekend. I recently started a full time factory job so very little time to game much less post on forums.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Hello everyone,

 

It's been a while, but I have returned to 2600 homebrew programming and would like to share my latest game - a port of Konami's Scramble.

 

OBJECT

 

For those of you who don't know, Scramble is a side scroller stage-based game, similar to another game I released a while back. Here is the text from the Portland Gaming Expo placard where Scramble was first demo'ed:

 

--------------------------------------------------------------------------

 

How Far Can You Invade Our Scramble System?

 

OBJECTIVE

 

Scramble is a classic arcade game in which the player must navigate their ship across a side-scrolling terrain through six unique stages. Each stage has its own challenges and obstacles, including ground targets, rockets, fuel tanks, flying saucers and meteors. The player must avoid or destroy these hazards while maintaining the ship's limited fuel supply. The objective is to reach the end stage and destroy the enemy's base while trying to get a high score.

 

HOW TO PLAY

 

To play Scramble, use the joystick to navigate your ship over the terrain while avoiding the enemy attacks. Press the fire button to launch missiles and drop bombs (gamepads use button B to fire missiles and button C to drop bombs). Points are scored for travelling a certain distance and destroying enemy installations. Additional fuel is gained by destroying the fuel tanks. A player starts with 3 ships; a bonus ship is awarded at 10,000 points and every 50,000 points. The game ends when all ships have been destroyed. Good luck!

 

--------------------------------------------------------------------------

 

Features:

 

- one player, 3 skill levels (NOVICE, ARCADE, EXPERT)

- one button alternating missiles/bombs or two-button gamepads (Sega Genesis). Gamepad must be plugged in prior to turning on the game since it is auto-detected.

- Stores up 10 hiscores during the game. If you have a SaveKey or AtariVox, it will save your high scores so they will be available the next time you play. To reset the high score table, press the button and move the joystick right on startup.

- Pause a game using the Color/BW switch or Pause button on a 7800. Press the joystick button to resume the game or flip the Color/BW switch (Pause button on 7800)

- While a game is Paused, if the RIGHT DIFFICULTLY is in the A position, you can use the joystick to change the current stage or level (left/right for stage, up/down for level). Score is reset to 0. Unpause to start a new game from the stage/level selected (good for practice and testing)

- 8 increasing levels of difficultly

 

I'd like to thank Nathan for doing all the graphics, Bob for graciously letting me use the sounds (and driver) from his 7800 version of Scramble, and Darrell for helping me get up to speed on the DPC+/ARM. They have all spent many hours testing and giving great suggestions and without their help this game would not have been completed (or even started). I'd also like to thank Al and TJ for their suggestions and game testing; also Al for demo'ing the game at the PRGE and this weekend at the Houston Arcade Expo.

 

Right now I would estimate that the game is 95% complete. Any suggestions are welcomed.

 

Have fun!

 

Thanks,

John

 

**UPDATE**

 

Here are the final NTSC and PAL60 ROMs that are included in the cart versions available from the Atari Age store:

 

NTSC: attachicon.gifscramble_final_NTSC.bin

 

PAL60: attachicon.gifscramble_final_PAL60.bin

 

Older versions:

 

attachicon.gifscramble_20160106.bin

 

attachicon.gifscramble_20160102.bin

 

attachicon.gifscramble_20151117.bin

 

attachicon.gifscramble.bin

Can the two button controllers be recognized by Stella 5.0?

Link to comment
Share on other sites

Can the two button controllers be recognized by Stella 5.0?

 

I just tried to set the controllers to 'Genesis', but the ROM doesn't recognize it. So it must be autodetecting controllers in a way that Stella doesn't (yet) emulate. I'd be interested in hearing from the author and investigating why this is happening.

 

Also, I'd like to get these ROMs added to the Stella ROM properties database. So could the author please include any info they want included?

Link to comment
Share on other sites

 

I just tried to set the controllers to 'Genesis', but the ROM doesn't recognize it. So it must be autodetecting controllers in a way that Stella doesn't (yet) emulate. I'd be interested in hearing from the author and investigating why this is happening.

 

Also, I'd like to get these ROMs added to the Stella ROM properties database. So could the author please include any info they want included?

I'm not sure how Stella would implement it with only one fire button option in the Input Setting, even with controller set to Genesis. I'm not sure how an Atari 2600 or Stella would detect the new pin signal from the second button. It must be using the paddle or driving button.

Link to comment
Share on other sites

The second button on the Genesis controller is emulated with the Booster Grip booster or trigger button (which can be remapped). So it isn't an issue of Stella properly emulating the Genesis controller (it does), but of how the autodetection is happening.

Link to comment
Share on other sites

The second button on the Genesis controller is emulated with the Booster Grip booster or trigger button (which can be remapped). So it isn't an issue of Stella properly emulating the Genesis controller (it does), but of how the autodetection is happening.

I'm pretty sure the detection occurs the same way as in Stay Frosty 2, when the game is first powered on (so if you swap controllers you have to power cycle the console). SF2 shows detected controller so makes testing easy - I just tried this:
  • loaded Stay Frosty 2
  • changed controller to Genesis
  • reloaded game (hit CONTROL-R)
  • I see the game pad on the titlescreen:
post-3056-0-60579000-1503200228.png

 

However, if I now exit the game and then load it from the list of games, the detection fails even though the Genesis controller still shows being plugged in:

post-3056-0-00386300-1503200254.png

 

Same occurs in Scramble.

 

Detection is this in Stay Frosty:

    lda INPT1           ; Bit 7 will be on if genesis controller is plugged in
    and #$80            ; and button C is NOT pressed.  Bit 7 will be off if
    sta MMcontroller    ; standard joystick is plugged in.

I see the same logic in Scramble during it's startup sequence:

post-3056-0-80917400-1503201177.png

 

However, even though the controllers detected after hitting CONTROL-R, I can't figure out how to get that button to work. I think it should be 4 or 5 on the keyboard, though also tried those on the numberpad. In Stay Frosty 2 that should let you throw snowballs on level 4 after collecting the carrot. In Scramble it should drop bombs.

 

The C code for SF2 is:

       throw_held = CONTROLLER ? (INPT1 & 0x80) : (SWCHA & 0x10);
        throw_held = !throw_held;
Link to comment
Share on other sites

I'm pretty sure the detection occurs the same way as in Stay Frosty 2, when the game is first powered on (so if you swap controllers you have to power cycle the console). SF2 shows detected controller so makes testing easy - I just tried this:

  • loaded Stay Frosty 2
  • changed controller to Genesis
  • reloaded game (hit CONTROL-R)
  • I see the game pad on the titlescreen:
attachicon.gifSF2_20131217_RC8_NTSC.png

 

However, if I now exit the game and then load it from the list of games, the detection fails even though the Genesis controller still shows being plugged in:

attachicon.gifSF2_20131217_RC8_NTSC_1.png

 

Same occurs in Scramble.

 

Detection is this in Stay Frosty:

    lda INPT1           ; Bit 7 will be on if genesis controller is plugged in
    and #$80            ; and button C is NOT pressed.  Bit 7 will be off if
    sta MMcontroller    ; standard joystick is plugged in.

I see the same logic in Scramble during it's startup sequence:

attachicon.gifScreen Shot 2017-08-19 at 10.52.29 PM.png

 

However, even though the controllers detected after hitting CONTROL-R, I can't figure out how to get that button to work. I think it should be 4 or 5 on the keyboard, though also tried those on the numberpad. In Stay Frosty 2 that should let you throw snowballs on level 4 after collecting the carrot. In Scramble it should drop bombs.

 

The C code for SF2 is:

       throw_held = CONTROLLER ? (INPT1 & 0x80) : (SWCHA & 0x10);
        throw_held = !throw_held;

On Scramble2600, setting controller to booster grip and setting the second button to booster grip and trigger, I was able to get the first button to only shoot but the second button doesn't drop bombs, so it is detecting the two button controller but the second button isn't communicating yet.

Link to comment
Share on other sites

 

I just tried to set the controllers to 'Genesis', but the ROM doesn't recognize it. So it must be autodetecting controllers in a way that Stella doesn't (yet) emulate. I'd be interested in hearing from the author and investigating why this is happening.

 

Also, I'd like to get these ROMs added to the Stella ROM properties database. So could the author please include any info they want included?

 

I'm not sure how Stella would implement it with only one fire button option in the Input Setting, even with controller set to Genesis. I'm not sure how an Atari 2600 or Stella would detect the new pin signal from the second button. It must be using the paddle or driving button.

 

Basically the Genesis controller has the VCC pin connected to Atari pin 5 (paddle) while Atari VCC (pin 7) supplies to the pin select line on the Genesis controller. Button B maps to pin 6 (Atari FIRE) and button C to pin 9 (other paddle).

 

Homebrew ROMs can check the paddle inputs for a high logic signal to detect paddles and/or Genesis controllers. Harmony thinks paddles are plugged in unless you hold FIRE upon boot. Stelladaptor and 2600daptor do not support Genesis controllers because they auto switch to paddle mode. Sadly there's no peripheral that Stella can use to perfectly emulate the controller port.

 

Anyway paddle pin 9 gets pulled low when button C is pressed, and the game reads this. Stella should simulate this behavior when the controller type is set to Genesis.

Link to comment
Share on other sites

I'm pretty sure the detection occurs the same way as in Stay Frosty 2, when the game is first powered on (so if you swap controllers you have to power cycle the console). SF2 shows detected controller so makes testing easy - I just tried this:

  • loaded Stay Frosty 2
  • changed controller to Genesis
  • reloaded game (hit CONTROL-R)
  • I see the game pad on the titlescreen

 

Confirmed. This bug also happens with Stay Frosty 2. Reported in https://github.com/stella-emu/stella/issues/206. And Spice's analysis suggests a workaround. Start the ROM and immediately do a reload. Then the genesis controller autodetection kicks in, and Fire shoots missiles, and '4' shoots bombs (which can be remapped).

Link to comment
Share on other sites

However, even though the controllers detected after hitting CONTROL-R, I can't figure out how to get that button to work. I think it should be 4 or 5 on the keyboard, though also tried those on the numberpad. In Stay Frosty 2 that should let you throw snowballs on level 4 after collecting the carrot. In Scramble it should drop bombs.

On Scramble2600, setting controller to booster grip and setting the second button to booster grip and trigger, I was able to get the first button to only shoot but the second button doesn't drop bombs, so it is detecting the two button controller but the second button isn't communicating yet.

This morning I realized I was still running 5.0. After updating to 5.0.1 I can now throw snowballs and drop bombs by hitting '4', so it's possible you need to update as well.

 

Autodetect still required a reload by hitting CONTROL-R after loading the game.

Link to comment
Share on other sites

 

Confirmed. This bug also happens with Stay Frosty 2. Reported in https://github.com/stella-emu/stella/issues/206. And Spice's analysis suggests a workaround. Start the ROM and immediately do a reload. Then the genesis controller autodetection kicks in, and Fire shoots missiles, and '4' shoots bombs (which can be remapped).

 

 

 

This morning I realized I was still running 5.0. After updating to 5.0.1 I can now throw snowballs and drop bombs by hitting '4', so it's possible you need to update as well.

 

Autodetect still required a reload by hitting CONTROL-R after loading the game.

 

Hi Can you tell me the setup you are using with this: e.g.

 

Genesis controller, 2600daptor 2 set to 2600, Stella controller set to genesis? Thanks.

Link to comment
Share on other sites

  1. Download the latest version of Stella (http://stella-emu.github.io). Currently this is 5.0.1, but it will be 5.0.2 in about 30 minutes.
  2. Download the ROM you want to play, and start it up.
  3. Go to Options -> Game Properties -> Controller, and select 'Sega Genesis' for the controller in the 'left port'.
  4. Click 'OK', and exit.
  5. When starting up the ROM for the first time, the genesis controller is not recognized. This is a bug we're currently working on. For now, do a ROM reload by pressing Control-r.
  6. Stella will now recognize the genesis controller. Press the fire button (Left control or space on keyboard) to shoot missiles, and the '4' key to shoot bombs. Both of these can be remapped to buttons on your gaming device.

Note that this is with plain Stella and either a normal joystick/gamepad, or just using the keyboard. I don't know if a real Genesis controller works with 2600-daptor (probably not). And hopefully the bug mentioned above and in step (5) will be fixed in Stella soon.

Link to comment
Share on other sites

Genesis controller, 2600daptor 2 set to 2600, Stella controller set to genesis? Thanks.

Per dualcam, who created the 2600-daptor, the Genesis controllers don't work:

 

The Genesis 6 button does not work as it makes the 2600-daptor think paddles are plugged in. You can get some functions (U/D/L/R + button B) with a 2600-daptor II in 7800 mode. Don't have a 3-button, but suspect it would have the same result. SMS works for U/D/L/R and 1st button.

  • Like 1
Link to comment
Share on other sites

 

  1. Download the latest version of Stella (http://stella-emu.github.io). Currently this is 5.0.1, but it will be 5.0.2 in about 30 minutes.
  2. Download the ROM you want to play, and start it up.
  3. Go to Options -> Game Properties -> Controller, and select 'Sega Genesis' for the controller in the 'left port'.
  4. Click 'OK', and exit.
  5. When starting up the ROM for the first time, the genesis controller is not recognized. This is a bug we're currently working on. For now, do a ROM reload by pressing Control-r.
  6. Stella will now recognize the genesis controller. Press the fire button (Left control or space on keyboard) to shoot missiles, and the '4' key to shoot bombs. Both of these can be remapped to buttons on your gaming device.

Note that this is with plain Stella and either a normal joystick/gamepad, or just using the keyboard. I don't know if a real Genesis controller works with 2600-daptor (probably not). And hopefully the bug mentioned above and in step (5) will be fixed in Stella soon.

 

 

 

 

Per dualcam, who created the 2600-daptor, the Genesis controllers don't work:

 

Okay! Got it working. VisionDapter set to Autosense with a 7800 controller. Used Joy-to-Key to to map joystick to keyboard, then mapped Stella 5.01 to keyboard with booster/trigger both set to 4. Both Stay Frosty 2 and Scramble2600 work in 2-button mode.

 

Edit: Can't seem to even get movement doing this with the 2600daptor set to 7800.

 

Thanks for your help!

Link to comment
Share on other sites

Okay! Got it working. VisionDapter set to Autosense with a 7800 controller. Used Joy-to-Key to to map joystick to keyboard, then mapped Stella 5.01 to keyboard with booster/trigger both set to 4. Both Stay Frosty 2 and Scramble2600 work in 2-button mode.

Didn't know about the VisionDapter. Looks like it doesn't support paddle controlers, so it wouldn't get confused by the Genesis controller.

 

 

Edit: Can't seem to even get movement doing this with the 2600daptor set to 7800.

What's going on is the C button on the Genesis controller is wired up to one of the Paddle Input pins on the 2600 & 7800. When the 2600daptor detects that connection it switches to Paddle Mode, which features 2 analog inputs and 2 fire buttons.

 

Thanks for your help!

Your welcome.
  • Like 1
Link to comment
Share on other sites

Didn't know about the VisionDapter. Looks like it doesn't support paddle controlers, so it wouldn't get confused by the Genesis controller.

 

Generally designed for ColecoVision, Intellivision, and Sega controllers, but will still pick up the 2600 and 7800 joystick controllers and a few other basic controllers, but does not "seek" Atari paddles and driving controllers.

Link to comment
Share on other sites

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...