Jump to content
IGNORED

What is the Atari 2600 capable of being tricked into doing?


K.Michael

Recommended Posts

Hello all, bit of a hardware and software question, forgive me if it sounds stupid, I don't know much but am curious.

We all know that the SNES was capable of doing things it couldn't because of the hardware upgrade of the super FX chip that came in the cartridge itself. I also have a weird plug in that allows you to play NES games on the SNES. To my understanding the plug in (which slots into the cartridge slot, and allows you to slot NES game into it) is basically just an emulator that leaches the power of the console.

 

My question is, could a cartridge with similar upgrades allow the Atari 2600 to achieve things that it shouldn't be able to do in a similar way? Could you ever trick the 2600 into displaying full video or something like that, provided all the extra hardware was in the cartridge itself, simply leaching off of the console? Or is the way the console interacts with the TV too limited?

Edited by K.Michael
Link to comment
Share on other sites

Pitfall2 shows the way: a powerful chip as the brain, inside a "slave" cartridge.

It should be possible to do many things. One can imagine a cartridge that computes realtime 3D, or FMV, or anything, and then generates corresponding 6502 code on the fly; the 2600 then executes this hot code.

One can imagine "Quake on 2600", the same way they do "Quake with ascii display": a powerful-enough core computes the game, then generates a low-fi version of the picture, then the 2600 displays it.

(Take a "Raspberry Pi" and glue it into a 2600 cartridge and...)

  • Like 1
Link to comment
Share on other sites

Hello all, bit of a hardware and software question, forgive me if it sounds stupid, I don't know much but am curious.

We all know that the SNES was capable of doing things it couldn't because of the hardware upgrade of the super FX chip that came in the cartridge itself. I also have a weird plug in that allows you to play NES games on the SNES. To my understanding the plug in (which slots into the cartridge slot, and allows you to slot NES game into it) is basically just an emulator that leaches the power of the console.

 

My question is, could a cartridge with similar upgrades allow the Atari 2600 to achieve things that it shouldn't be able to do in a similar way? Could you ever trick the 2600 into displaying full video or something like that, provided all the extra hardware was in the cartridge itself, simply leaching off of the console? Or is the way the console interacts with the TV too limited?

TIA, the Atari's video chip, is too limited to play games for a different console - but extra hardware in the cartridge was already done back in the day with Pitfall II which had DPC, a coprocessor, that allowed for better graphics, 3 voice music, etc.

 

We've expanded upon that with DPC+ on the Harmony/Melody. DPC+ even allows for the offloading of game logic to the 70 MHz 32-bit ARM chip, quite a bit faster than the 1 MHz 8-bit 6507 in the Atari. The ARM processor does not have access to TIA though, so the 6507 must have control when it's time to generate the visible display.

 

Stay Frosty 2 and Space Rocks were both done using DPC+ with ARM code. I have additional DPC+ w/ARM games are in the pipeline: Draconian, Frantic, Timmy! plus know of one other that's under development but it's not mine to announce. If you're interested in learning more I recently started the new blog series DPC+ ARM Development.

 

Video's possible as well, provided you use a bank switching format that provides you with enough storage. Andrew Davie did some work on it over 10 years ago and figured that a 512KB cartridge could hold about 10 seconds of video with digitized audio.

  • Like 2
Link to comment
Share on other sites

Pitfall2 shows the way: a powerful chip as the brain, inside a "slave" cartridge.

It should be possible to do many things. One can imagine a cartridge that computes realtime 3D, or FMV, or anything, and then generates corresponding 6502 code on the fly; the 2600 then executes this hot code.

One can imagine "Quake on 2600", the same way they do "Quake with ascii display": a powerful-enough core computes the game, then generates a low-fi version of the picture, then the 2600 displays it.

(Take a "Raspberry Pi" and glue it into a 2600 cartridge and...)

 

The VCS must talk to the TIA directly, but it can render a bitmap with some clever programming as some title screens show - combine that with Spice's technique of running the game engine on the ARM chip to modify the bitmap in real time and you could generate a Quake display exactly as you've described in higher resolution than ASCII.

  • Like 1
Link to comment
Share on other sites

I also have a weird plug in that allows you to play NES games on the SNES. To my understanding the plug in (which slots into the cartridge slot, and allows you to slot NES game into it) is basically just an emulator that leaches the power of the console.

It's probably a clone, not an emulator (emulators don't typically read cartridges, and even when they do, like is the case with the Retron 5, the data in the cartridge is dumped once and the cartridge is not accessed during gameplay), but yeah, the SNES only provides the power and controller input. Even the audio and video signals come out from a plug in the cartridge, unlike the Super Game Boy, that sends the video and audio for the SNES to output. The Game Boy had few colors and a small enough screen that everything fit the data bandwidth of the SNES, but NES and Genesis video would require transferring more data than the SNES is capable to in real time, so they went with external cables for these adapters.

 

My question is, could a cartridge with similar upgrades allow the Atari 2600 to achieve things that it shouldn't be able to do in a similar way? Could you ever trick the 2600 into displaying full video or something like that, provided all the extra hardware was in the cartridge itself, simply leaching off of the console? Or is the way the console interacts with the TV too limited?

Like the adapters you mentioned have proved, you can fit entire consoles in a cartridge, but the main issue is getting the video and audio signals to the TV. The cheap way out is to just have these signals go directly from the cartridge to the TV, skipping the console altogether, but that dramatically reduces the authenticity of the whole experience.

 

In theory, you could have a very powerful CPU inside the cart doing all the processing, just feeding color values back to the 2600, resulting in unlimited use of the 128 colors the console can display, generating something similar to Doom or Quake. But in reality, since the cartridge has no direct access to the TIA, it can't change the display color fast enough to generate full-resolution images (i.e. 160x192 pixels). Unfortunately, the color changes must be sent to the console in the form of CPU instructions, and the time necessary to change the color increases by a factor of 9, effectively reducing the resolution to 18x192 pixels, which is too blocky for a game.

 

This means that something more realistic on the 2600 would be to offload most/all of the kernel processing to the super fast CPU in the cartridge, so you could use the features that are already available on the console, but all at the same time because you wouldn't have to juggle CPU time anymore. Things like asymmetric playfields, multicolored players, missiles and ball, automatic sprite multiplexing/flickering, could all be used at once, in full resolution. This would result in games that still look like they're on the 2600, but much more dynamic and fast paced than the typical 2600 game.

  • Like 2
Link to comment
Share on other sites

Yeah, some of the CBS games had the RAM Plus chip.

 

Then there's the Starpath/Arcadia Supercharger too of course, which increases system RAM past 6KB. Allowed for larger/more complex games and higher res graphics.

 

Also have the Spectravideo Compumate, which turns your 2600 into something of a crude computer.

  • Like 1
Link to comment
Share on other sites

It should be possible to do many things. One can imagine a cartridge that computes realtime 3D, or FMV, or anything, and then generates corresponding 6502 code on the fly; the 2600 then executes this hot code.

My old Harmony DPC+ ARM programming example draws a 3D cube on a 96x200 bitmap. The bitmap is updated at 60 fps. Use the left joystick to rotate and zoom in/out. Holding down FIRE will change what the joystick does to the cube.

 

That example runs on a Harmony cart, but not in Stella as DPC+ underwent a number of revisions as we worked out problems with it. That's the same reason the early Stay Frosty 2 builds don't work in Stella. One of these days I'd like to revisit that example, we've learned a lot since then.

  • Like 1
Link to comment
Share on other sites

I've wondered the same thing during development of the 32 character kernel. It has a few alignment issues though, see replies 57 thru 61. It might be possible to use the ball and/or missile to fill in those 3 gaps, of course the missiles are in triplicate mode which might complicate things.

Link to comment
Share on other sites

If the 3 cycles R/W idea works your where talking about recently, then one could update the registers almost as fast (8/9 speed) as the beam is moving. So during 128 pixel, one could do up to 14 or 15 reads and writes. That should allow quite some tricks.

Link to comment
Share on other sites

Thank you for all of your replies! It amazes me that it could in theory work (even if it was with reduced resolution or colours). Also all of the 3D stuff you guys linked kind of blows my mind and makes me dream of a Lylat Wars 2600!

 

It's probably a clone, not an emulator (emulators don't typically read cartridges, and even when they do, like is the case with the Retron 5, the data in the cartridge is dumped once and the cartridge is not accessed during gameplay), but yeah, the SNES only provides the power and controller input. Even the audio and video signals come out from a plug in the cartridge, unlike the Super Game Boy, that sends the video and audio for the SNES to output. The Game Boy had few colors and a small enough screen that everything fit the data bandwidth of the SNES, but NES and Genesis video would require transferring more data than the SNES is capable to in real time, so they went with external cables for these adapters.

Like the adapters you mentioned have proved, you can fit entire consoles in a cartridge, but the main issue is getting the video and audio signals to the TV. The cheap way out is to just have these signals go directly from the cartridge to the TV, skipping the console altogether, but that dramatically reduces the authenticity of the whole experience.

 

I agree, it would be far more authentic for it just to plug and play.

 

In theory, you could have a very powerful CPU inside the cart doing all the processing, just feeding color values back to the 2600, resulting in unlimited use of the 128 colors the console can display, generating something similar to Doom or Quake. But in reality, since the cartridge has no direct access to the TIA, it can't change the display color fast enough to generate full-resolution images (i.e. 160x192 pixels). Unfortunately, the color changes must be sent to the console in the form of CPU instructions, and the time necessary to change the color increases by a factor of 9, effectively reducing the resolution to 18x192 pixels, which is too blocky for a game.

 

The PAL systems plug directly into the aerial ports of the T.V, not sure if the NTSC ones are the same. Does that mean that tv picks up the 2600 pretty much as if it were receiving an analog broadcast through a regular antenna? As you pointed out the SNES/NES converter has the audio and video signal come out of the cartridge and plugs directly into the TV, bypassing the console itself. I wonder if there would be a similar way to hijack the 2600's aerial plug, overpowering the 2600's output or broadcasting it onto another channel setting for the TV to pick up.

 

Forgive me if anything I have said is silly, I'm a gamer and all of the technical side is very new to me, but I am interested in learning!

Edited by K.Michael
Link to comment
Share on other sites

The PAL systems plug directly into the aerial ports of the T.V, not sure if the NTSC ones are the same. Does that mean that tv picks up the 2600 pretty much as if it were receiving an analog broadcast through a regular antenna?

Exactly.

 

As you pointed out the SNES/NES converter has the audio and video signal come out of the cartridge and plugs directly into the TV, bypassing the console itself. I wonder if there would be a similar way to hijack the 2600's aerial plug, overpowering the 2600's output or broadcasting it onto another channel setting for the TV to pick up.

With today's hardware you could put a full fledged computer into a cart. And with its own video processor and signal output, this could work 100% independently from a 2600.

 

But then the 2600 would be no more than an over sized cart holder.

Link to comment
Share on other sites

You probably would have to hand over control to the Atari, let the console check the switches and then return control back to the computer in the cart.

 

This concept is similar to the DPC+ games (Space Rocks, Stay Frosty 2), besides that there the Atari also executes the display kernel and vertical synchronization.

Link to comment
Share on other sites

The 2600 was the epitome of a "dumb" machine. There's no firmware, no ram to speak of beyond 128 bytes for a stack and some data, a "video" chip that you had to code on the fly while you wrote your other code. In other words, it's mostly just a CPU in a box, so if you wanted to program it to control your washing machine, you could get it to do it.

 

Although to realistically answer the question is a resounding "yes". Excluding today's modern systems for cart emulation, I think the best example would be the system tiger vision came up with that allowed up to 512k of whatever ram/rom configuration you wanted in 256 2k banks. Pretty neat trick since the machine was lacking a chip select so that you could write to RAM, but even that limitation was overcome by misusing the system in a way never intended which resulted into tricking the system into writing to RAM on a cartridge. I don't think the tiger vision system was ever used in the early days beyond an 8k configuration, but I believe some modern setups allow for that.

 

Preprocessing video and trying to pipe it to an atari is a lost cause as it doesn't have a frame buffer like every other system around, plus, that's too much cheating as far as I'm concerned. The idea is to come up with a cart that you can make pretty cheaply that gives you that extra power, but retains the internal CPU as the controlling element, just extending the crap out of memory by massive bank switching due to the 8K addressing range of the 6507.

 

The fact that the 2600 lacked so much is part of the reason why it is so extensible, because you can make up for a lot in software. One of the reasons the system was in production for 14 years, and, to this day remains the longest running manufacturing run of any video game system.

  • Like 1
Link to comment
Share on other sites

I think the best example would be the system tiger vision came up with that allowed up to 512k of whatever ram/rom configuration you wanted in 256 2k banks.

That's not impressive at all, it's just a mapper, allowing games to access more memory. Sure that will help improve the graphics and allow games to preserve more state, but the CPU is still a huge bottleneck, as is the primitive video hardware. Improving those is what would give interesting results.

 

that's too much cheating as far as I'm concerned.

Sure it is, but have you noticed the title of this thread? This is all about tricking the 2600 into doing what it wasn't designed to do, so the end result is supposed to look different from what you'd expect from a 2600. Doom doesn't look like something the SNES would be capable of doing, which is why it's so impressive on that platform.

 

Of course that now that video games have such a long history and so many consoles are available to homebrewers, there's little point in designing crazy add-ons to improve a console when you could just develop the game for a more advanced platform if you think that the other one is not capable of doing what you want. But still, it's kinda fun to think about what could have been.

  • Like 1
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...