Jump to content
IGNORED

Need an incompatible 7800


Paul Slocum

Recommended Posts

If your hope is that testing on this console will reveal problems like Marble Craze working on one 2600 but not others, you'll likely be disappointed.

 

I'm guessing the problem you're seeing is the same one I had with the first batch of Cuttle Carts. It has absolutely nothing to due with what causes the 7800's to be incompatible with the Supercharger games and the Activisions games.

 

In other words if your carts work on the 7800, they can still fail on various 2600s.

 

Chad

Link to comment
Share on other sites

Actually I don't have a 7800 at all to test on. And I figure that if I'm going to get one, it would be best to get one that does have the compatibility problem just in case.

 

I already have just about every kind of 2600 there is to test on and I do typically test on all of them. I've even got a Jr. model that doesn't work with Kool Aid Man, a PAL 2600, and a Colecovision 2600 adapter. Once I get a 7800 I think I'll have all the bases covered. :)

 

Do you have any tips on trip-ups I should watch out for?

 

BTW: The Marble Craze problem appears to be due to a missing cap. It causes the bankswithing to be unstable and only work on a few consoles. Unfortunately it did work on Randy's test console. :(

 

-Paul

Link to comment
Share on other sites

From the programmer's point of view, I don't think there is anything to look for between the 7800 and the various 2600 models. It's mostly hardware considerations.

 

It pretty much all stems from the lack of the clock signal on the 2600 cartridge port. This makes everything very timing sensitive and prone to deterimental effects from glitching. There are 2600's which have rather unstable clocks, and it doesn't seem to be unique to any particular model. Additionally they have different setup times, which is likely what killed Marble Craze.

 

The fancier the bankswitching logic, the more all of this becomes a problem. Additional RAM is especially annoying because the end of a write condition must come from the change in address lines, and the hold time on the data and address lines varies from one atari to the next. The faster your bankswitching logic or RAM can respond, the more likely it is to see and respond to a glitch.

 

Chad

Link to comment
Share on other sites

Actually there are some subtle differences in the 7800 that a programmer should know about. For example the undefined bits in the TIA read registers are set differently than on the 2600, so if your game relies on these bits, there will be a problem. You can see this in Mountain King where it is impossible to reach the secret kingdom because of this.

 

Also the timing for the object positioning seems to be a little different on all my PAL 7800s. It's the same problem that some 2600 Jr. have and that Paul mentions in his post above. It affects the score positioning in Kool Aide Man. Since the PAL 7800 came out so late, it might be possible that the earlier NTSC 7800s might not be affected by this though.

 

 

Ciao, Eckhard Stolberg

Link to comment
Share on other sites

One other issue is that (I think) the 7800 scans the cartridge ROM to check for the 7800 encryption before it actually starts the game executing. I believe this is why the menu multicart doesn't work on the 7800. While it's scanning for the key, it triggers the one-shot bankswitching logic which locks in a particular game.

 

-paul

Link to comment
Share on other sites

Eckhard can probably tell you more about the specifics of the scan. I recall some discussion about it checking a single location first, expecting a certain value as the first check for a 2600 cart, and only completing the scan itself if that value is as expected. This allows it to detect most 2600 games without scanning the ROM / computing the key. (There's a format 7800 carts must follow, such as where the signed key is located, and details telling the 7800 how much of the ROM to scan when computing the key, with a minimum of 4K scanned. Part of this format is what's checked for quick 2600 cart detection.) I could be completely wrong on this though.

 

Anyway, there are other issues with the 7800 at startup, which again come down to timing issues because the 7800 runs faster when in 7800 mode. So eproms or logic timed for the 2600 might not be fast enough for the 7800. I don't recall what the circuit was for your 2600 multicart so I won't hazard as guess as to what kills it on the 7800.

 

I ran into a problem with the Cuttle Cart and Eckhard's 7800 Dev System BIOS that was actually related to the timing problem and not the cart scan. This made me leary that other systems migh cause similar problems, so I ended up installing some initializiation logic to enable the Cuttle Cart to deal with all of this. It's basically a lock out / reset mechanism that is activated when the Cuttle Cart BIOS ROM runs. So just about anything that happens before the BIOS ROM actually starts executing will not trip up the Cuttle Cart. (So far so good anyway :))

 

Chad

Link to comment
Share on other sites

During the cartridge test the 7800 first reads the area from $FE00 to $FE7F in two different ways and checks if it get different results. Then it tests if the ROM startup vector is either $0000 or $FFFF. If either of this is true, then the PAL 7800 starts the build-in game, and the NTSC 7800 just switches to 2600 mode.

 

Then the 7800 BIOS checks $FFF8 and $FFF9 for certain bit states. If this test fails both versions of the 7800 go to 2600 mode. If the test is successfull, the PAL 7800 starts the game in 7800 mode, and the NTSC 7800 starts the signature key test. Since $FFF8 and $FFF9 are hotspots for many bankswitching formats, your game should be prepared that either of these addresses can be touched shortly before the game starts in a 7800.

 

 

Ciao, Eckhard Stolberg

Link to comment
Share on other sites

Marble Craze is programmed so it should boot up correctly starting from any bank. Even the broken MC carts boot fine and start playing the title screen. They just won't start the game, which suggests that the bankswitching isn't all working. But as I said, you add the cap and they work fine.

 

However, on MayhemUK's PAL 7800 the game will start, but it crashes consistently near the end of the first level. It could just be a bad EPROM or something. I'll have a NTSC 7800 to try by Monday. Guess I need to get a PAL 7800 at some point.

 

-Paul

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