Jump to content
disjaukifa

A Brand New Atari 2600 Clone Project

Recommended Posts

I remember seeing a PCB someone designed, that shrunk the 2600 into about a 4" x 4" square (I'm not talking about cutting a 4-switch). To me, this sounds like a reasonable way to start. Does anyone have a link to that thread, by any chance? I can't seem to find it.

 

Thanks,

5-11under

Share this post


Link to post
Share on other sites
And what makes you think a hardware clone is going to "act, look, and sound like a real Atari 2600"?

I say clone, but one of my hopes is that 'Atari' will finally allow someone to make a new updated version of the real Atari 2600 or Atari 7800. 'Atari' wouldn't have to do much of anything, just give permission. They might say that someone can make a real Atari, but it can't have the Atari name on it. No problem. As long as the guts work as expected, who cares about the name? (Just no cat names! :lol:)

 

 

 

. . . and after all you are video modding your 2600s to get better pictures out of them than from "a real Atari 2600". Doesn't make sense to me. If you want the real thing, use the real thing.

There is a big difference between emulated video and crisp, clean video from a real modded Atari 2600. There's no law that says you have to play Atari on a TV in fuzzy vision with patterns and wavy lines all over the screen. As long as the games work correctly and sound the way they are supposed to, why not have a crystal clear screen?

 

 

 

Weren't you calling for a brainstorming?

Feel free to brainstorm all you want, just know that emulation is a no-brainer. Of course we could use emulation. Emulation is improving, but it still kind of sucks compared to the real thing. A day will come when emulation will be so much like the real thing that nobody will be able to tell the difference. That day isn't here yet.

Share this post


Link to post
Share on other sites
And what makes you think a hardware clone is going to "act, look, and sound like a real Atari 2600"?

I say clone, but one of my hopes is that 'Atari' will finally allow someone to make a new updated version of the real Atari 2600 or Atari 7800. 'Atari' wouldn't have to do much of anything, just give permission. They might say that someone can make a real Atari, but it can't have the Atari name on it. No problem. As long as the guts work as expected, who cares about the name? (Just no cat names! :lol:)

 

Uh...it's not about names :P

 

The point is, you're putting too much expectation into hardware implementations over software implementations. In the case of sound for instance there are many things that may shape the final sound, including whatever particular chip technology they used to manufacture the TIA. Depending on how it's done (and what's possible, to some extent), you may end up disappointed because you get something that sounds quite but not entirely like the real thing. Hence my question: what makes you think a hardware clone just has to be better than software emulation?

Edited by Tom

Share this post


Link to post
Share on other sites

I remember seeing a PCB someone designed, that shrunk the 2600 into about a 4" x 4" square (I'm not talking about cutting a 4-switch). To me, this sounds like a reasonable way to start. Does anyone have a link to that thread, by any chance? I can't seem to find it.

 

Thanks,

5-11under

 

Yes, Super Genius! (Mark D. L.), I have one.

Share this post


Link to post
Share on other sites
Hence my question: what makes you think a hardware clone just has to be better than software emulation?

What makes me think the new console won't look like a pink dragon? I don't know. It could. The people around here who could make a clone or get permission to make a real Atari usually have standards that are higher than mine. They won't rest until it's as perfect as they can possibly get it.

Share this post


Link to post
Share on other sites

And why are you getting cocky now? Seems to me like the hardware forum is a technically oriented forum, and my question is technically oriented: what are your reasons to believe that a hardware implementation is necessarily superior to software emulation? Can you enlighten me on that?

Share this post


Link to post
Share on other sites
And why are you getting cocky now? Seems to me like the hardware forum is a technically oriented forum, and my question is technically oriented: what are your reasons to believe that a hardware implementation is necessarily superior to software emulation? Can you enlighten me on that?

Have you seen some of the things these people can make? Have you used emulators? If you've said yes to both, you already know the answer. Emulation just isn't good enough yet and there is more of a chance that hardware will work more like it's supposed to. Check out the following post for more info about why emulators aren't good enough yet and why they will be a lot better in the future:

 

http://www.atariage.com/forums/topic/140656-on-the-importance-of-feel/page__view__findpost__p__1702027

Share this post


Link to post
Share on other sites
...and there is more of a chance that hardware will work more like it's supposed to.

 

Even if you go and take the TIA circuit diagrams (which are floating around somewhere) and translate them 1:1 into, say, a VHDL description and synthesized that into a randomly chosen part I'd be totally unsurprised if the result sounded quite good but somehow different from an original TIA.

Share this post


Link to post
Share on other sites
Even if you go and take the TIA circuit diagrams (which are floating around somewhere) and translate them 1:1 into, say, a VHDL description and synthesized that into a randomly chosen part I'd be totally unsurprised if the result sounded quite good but somehow different from an original TIA.

We'll see. Atari 2600 games sound and look a little different on an Atari 7800 too, but it's still better than emulation so far.

Share this post


Link to post
Share on other sites

Just an aside point that any patents on 2600 tech ran out long ago. The only reason anyone would need to approach Atari is to actually use the "atari" brand name or to license their games to include with the console.

Share this post


Link to post
Share on other sites
Just an aside point that any patents on 2600 tech ran out long ago. The only reason anyone would need to approach Atari is to actually use the "atari" brand name or to license their games to include with the console.

Oh, I thought they still had control over everything. That's good news. We don't need the name or games to include.

Share this post


Link to post
Share on other sites
And why are you getting cocky now? Seems to me like the hardware forum is a technically oriented forum, and my question is technically oriented: what are your reasons to believe that a hardware implementation is necessarily superior to software emulation? Can you enlighten me on that?

Have you seen some of the things these people can make? Have you used emulators? If you've said yes to both, you already know the answer. Emulation just isn't good enough yet and there is more of a chance that hardware will work more like it's supposed to. Check out the following post for more info about why emulators aren't good enough yet and why they will be a lot better in the future:

 

http://www.atariage.com/forums/topic/140656-on-the-importance-of-feel/page__view__findpost__p__1702027

Speaking as someone who has used clones of many systems (mostly NES/SNES/Genesis one) and emulation also, I'd have to say, it's not going to be hard at all to think a console 2600 would certainly work a LOT better than any emulator. It's clearly the closest system to working perfect by far, but even the 2600 has it's issues.

Share this post


Link to post
Share on other sites
And what makes you think a hardware clone is going to "act, look, and sound like a real Atari 2600"?

I say clone, but one of my hopes is that 'Atari' will finally allow someone to make a new updated version of the real Atari 2600 or Atari 7800. 'Atari' wouldn't have to do much of anything, just give permission. They might say that someone can make a real Atari, but it can't have the Atari name on it. No problem. As long as the guts work as expected, who cares about the name? (Just no cat names! :lol:)

 

 

 

. . . and after all you are video modding your 2600s to get better pictures out of them than from "a real Atari 2600". Doesn't make sense to me. If you want the real thing, use the real thing.

There is a big difference between emulated video and crisp, clean video from a real modded Atari 2600. There's no law that says you have to play Atari on a TV in fuzzy vision with patterns and wavy lines all over the screen. As long as the games work correctly and sound the way they are supposed to, why not have a crystal clear screen?

 

 

 

Weren't you calling for a brainstorming?

Feel free to brainstorm all you want, just know that emulation is a no-brainer. Of course we could use emulation. Emulation is improving, but it still kind of sucks compared to the real thing. A day will come when emulation will be so much like the real thing that nobody will be able to tell the difference. That day isn't here yet.

 

As I mentioned in another post, utilizing video from the "real thing" is getting to be a harder and harder proposition. For many, it no longer suffices to simply hook up a 2600 to a TV or monitor because video devices these days are implicitly assuming highly compliant NTSC signals. What the TIA throws out is anything but although TVs and monitors from back in the day handled it fine. Anymore, playing the "real thing" also means having a functional vintage monitor to play it with. I suspect normalizing the TIA output in such a way that developer intent is rendered accurately on a monitor display would be a formidable project in it's own right. And I'm not talking about super hi-def output or crazy expansions where you might as well do your gaming on a Nintendo DS or something. I mean a steady picture that plays on a modern LCD or plasma the same way it would on a 25 year old CRT.

 

Take a look at the Flashback 2. It is a highly competent stab at the subject of this topic. Lo and behold, it has the same issues that a composite modded "real thing" has with many modern displays.

 

I'll also note that if you want to be strictly Alan Turing about it that a re-implementation is a re-implementation is a re-implementation whether done in software or hardware. Other than having fewer translation steps for the output and input (which I concede can cause major and problematic issues) hardware re-implementation has no intrinsic property that makes it more accurate. Atariksi may argue plausibly that consumer PCs have properties that necessarily limit emulation accuracy but that doesn't preclude platforms that CAN emulate every bit as well as hardware.

Edited by frogstar_robot

Share this post


Link to post
Share on other sites

Definitely true that emulation is emulation, whether it is in hardware (through an FPGA or ASIC) or software. The gates and such in an FPGA version of a chip are unlikely to have the exact same characteristics as the original.

 

But emulation in hardware happens at a lower level than software - signals, gates, etc. are recreated as faithfully as possible.

 

Emulation in software is necessarily at a higher level because realtime emulation of circuit pathways in software for any complex design just isn't feasible on today's CPUs. Instead you get a higher level state machine which lacks the subtler undocumented characteristics of the original.

 

Regarding video improvements, due to the way the programmer controls much of the 2600 video timing, the only way I see it being fixed for modern TVs is a complete framebuffer approach, where an extra layer of hardware would take the outgoing video as an input and build a frame in memory, and ouput something more accurate to NTSC standards. Doable, but it would be prone to errors too, and I suspect it would add significantly to the cost.

Share this post


Link to post
Share on other sites

Emulators like Stella are practically 100% accurate at emulation. In fact, Stella is more accurate than any hardware-based solution that doesn't use a genuine 650x chip.

 

Take the FB2 for instance. It is missing several undocumented opcodes while Stella is missing none. The FB2 arguably has more TIA limitations than Stella. And most of all, the write timing waveforms on the FB2 are either way off or completely missing, because it doesn't work with any cart containing RAM unless the code is located on one of the onboard chips. The FB2 is the best effort so far and it is still not quite there.

 

I think a console using emulation would be vastly superior to anything anyone could produce with hardware for a reasonable cost, especially as microcontrollers are getting so cheap and powerful, such that one could port an emulator to one and it would easily be better than the best efforts to date with hardware.

Share this post


Link to post
Share on other sites
I think a console using emulation would be vastly superior to anything anyone could produce with hardware for a reasonable cost, especially as microcontrollers are getting so cheap and powerful, such that one could port an emulator to one and it would easily be better than the best efforts to date with hardware.

So what kind of guts would the console need to make sure we won't get slow downs and speed ups like you can get on a PC and the sluggish controls and other things that aren't quite right with emulated games we've played on existing consoles?

 

If the common problems could be eliminated, then there would be no doubt that we could have a pause feature. We could save too, but I don't know how that works if you're playing from a cartridge.

Share this post


Link to post
Share on other sites

Emulators like Stella are practically 100% accurate at emulation. In fact, Stella is more accurate than any hardware-based solution that doesn't use a genuine 650x chip. [...]

Maybe Curt could verify this, but I'd guess that fb2 had a lot less dev time and iterations than stella has seen. With the exception of a few fixable issues, its pretty near perfect itself. I owe its success in such a short dev time to the approach chosen. (And to the implementors, of course)

 

If a vcs emulator is good enough, the someone should just create a usb cart interface and leave the rest to the end-user. People can get a used xbox cheaper nowdays cheaper than we can make a console for, microcontroller or not.

Share this post


Link to post
Share on other sites
If a vcs emulator is good enough, the someone should just create a usb cart interface and leave the rest to the end-user. People can get a used xbox cheaper nowdays cheaper than we can make a console for, microcontroller or not.

If an old Xbox would be good enough, which I doubt, wouldn't people have to hack it or modify it in some way? That's OK for solder-jockeys, but the rest of us who don't want to risk harming our consoles would rather have something better and easier to use.

Share this post


Link to post
Share on other sites

If an old Xbox would be good enough, which I doubt,

It depends on what "good enough" is. It plays Stella as well as I've seen it run on any PC. IMO that's not good enough, but it depends on how high your bar is.

 

wouldn't people have to hack it or modify it in some way? That's OK for solder-jockeys, but the rest of us who don't want to risk harming our consoles would rather have something better and easier to use.

Its soft-moddable, and there are lots of guides.

 

But my point really wasn't about the xbox per se - it was just one example. The point was, if software emulation is good enough then there's not much point in creating a specific platform. The user can readily find one that suits them... Whether its a used xbox, a castaway pc, a used wii, or whatever.

Share this post


Link to post
Share on other sites
The point was, if software emulation is good enough then there's not much point in creating a specific platform. The user can readily find one that suits them... Whether its a used xbox, a castaway pc, a used wii, or whatever.

If any other interested people are like me, they'd be willing to spend up to $100 for an easy-to-use, easy-to-update Stella console that is designed with the Atari 2600 in mind. (And maybe we'd get those 4 controller jacks or at least 4 or more USB ports for USB joysticks and USB paddles.)

 

This new console might be called:

 

Stellacon

Share this post


Link to post
Share on other sites
I think a console using emulation would be vastly superior to anything anyone could produce with hardware for a reasonable cost, especially as microcontrollers are getting so cheap and powerful, such that one could port an emulator to one and it would easily be better than the best efforts to date with hardware.

So what kind of guts would the console need to make sure we won't get slow downs and speed ups like you can get on a PC and the sluggish controls and other things that aren't quite right with emulated games we've played on existing consoles?

 

If the common problems could be eliminated, then there would be no doubt that we could have a pause feature. We could save too, but I don't know how that works if you're playing from a cartridge.

Apparently, a 200 MHz ARM is fast enough for Stella (look at the GP2X handheld for instance.)

 

Similar ARM chips are getting very cheap.

Share this post


Link to post
Share on other sites

Emulators like Stella are practically 100% accurate at emulation. In fact, Stella is more accurate than any hardware-based solution that doesn't use a genuine 650x chip. [...]

Maybe Curt could verify this, but I'd guess that fb2 had a lot less dev time and iterations than stella has seen. With the exception of a few fixable issues, its pretty near perfect itself. I owe its success in such a short dev time to the approach chosen. (And to the implementors, of course)

Stella is a hobby project that has a single maintainer and the FB2 was a commercial project done by a number of full-time hardware engineers. As far as man-hours go, FB2 may have more.

 

Some things may be fixable, like the missing opcodes. Not sure if all the TIA issues can easily be addressed, as there is a lot going on in that chip. I think proper timing waveforms might be a challenge.

 

One thing you didn't consider is that a console should include bankswitching support for all schemes if it's going to have, for example, an SD card port for binaries. The FB2 has a few basic schemes in its custom chips but nothing like Supercharger or Pitfall II, and those are not trivial. With emulation, it's all already here.

If a vcs emulator is good enough, the someone should just create a usb cart interface and leave the rest to the end-user. People can get a used xbox cheaper nowdays cheaper than we can make a console for, microcontroller or not.

True, but a console specifically designed to emulate a 2600 and accept carts would still have sufficient demand, could be produced for less, and the development cycle would be much shorter.

 

An hardware-based solution would be expensive as a hobby project (as powerful FPGAs are) and would require basically starting from scratch as nothing short of the FB2 was ever completed, and obviously we aren't going to get at the source to the FB2 and no other source for any other projects are available.

Share this post


Link to post
Share on other sites

One thing you didn't consider is that a console should include bankswitching support for all schemes if it's going to have, for example, an SD card port for binaries.

In truth I never thought SD card capability was important, seeing that there's already a 2600 SD cart solution. :)

 

An hardware-based solution would be expensive as a hobby project (as powerful FPGAs are) and would require basically starting from scratch as nothing short of the FB2 was ever completed, and obviously we aren't going to get at the source to the FB2 and no other source for any other projects are available.

Curt seemed to express some interest in this thread, so I thought this might go with an updated FB2 core (which Legacy Eng owns AFAIK) and eventually be done with an ASIC.

 

IMO if someone else is going to take a kick at the can with the software emulation route, they might as well take the GP2X approach and emulate multiple platforms (with sd card). No technical reason why it couldn't support 2600/7800/colecovision/etc and even some of the early arcade units.

Edited by RevEng

Share this post


Link to post
Share on other sites

One thing you didn't consider is that a console should include bankswitching support for all schemes if it's going to have, for example, an SD card port for binaries.

In truth I never thought SD card capability was important, seeing that there's already a 2600 SD cart solution. :)

True, but we still need proper write timing waveforms in order for that to work. I don't know how hard that would be to fix.
Curt seemed to express some interest in this thread, so I thought this might go with an updated FB2 core (which Legacy Eng owns AFAIK) and eventually be done with an ASIC.

We'd all love to see a fixed FB2. I could live without the TIA improvements and the opcodes (except for SBX, that one is crucial) if they fixed the write timing signals on the cart port.

 

The Harmony menu does not work on an FB2 because of this. While it might be possible to get the menu working on an FB2 (but not the games using RAM, I don't think that is possible) with a disgusting hack to our code, we haven't felt much desire to do it, given the small number of cart-port modded FB2's out there.

Share this post


Link to post
Share on other sites

I just thought I'd throw my 2 cents into this discussion. It's nice to see that there's quite a lot of interest in a new hardware-based Atari re-creation. I'd personally get one of those too :) And it's just as nice to see that many people respect what's been done with Stella to this point. The latter point makes me especially proud, since while I haven't done everything alone, I'd like to think that I had some significant contributions to getting Stella to where it is now.

 

There are several points mentioned above that I agree with. Whether the Atari is re-created in hardware or software, it's still going to be an emulation of the original. Unless you use the original chip masks and recreate the chips using similar manufacturing techniques, there's no guarantee that you'll emulate every 'bug' in the original design. As for which route is better, I personally agree with Batari in that software emulation running on custom hardware could be brought to market much faster than designing new hardware from scratch.

 

The concerns revolve around the lack of 100% emulation to date. I think this could be relatively easily solved with more manpower and testing/feedback. And having someone (or more than one person) solely dedicated to working on it. That means it would need to a 40hr/week job for someone, not a side thing as Stella is to me right now.

 

There are also perceived problems with 'jittering' video and sluggish controls in Stella. As Random Terrain linked to above (in which I discuss the specifics), this is partly an operating system problem. In making Stella run on general-purpose machines, we get some negative consequences. I won't go into the specifics (see the link above for that), but it basically comes down to an issue of running a real-time system on a non-real-time OS. And as I mentioned in the link, using OpenGL mode and sync'ing to vblank/monitor refresh rate on a 60Hz LCD results in smooth movement, exactly like on the real system. So the Stella codebase is capable of such a feat; it's the operating system you're running on that causes these issues. But if we were using custom hardware, that drawback could be eliminated.

 

Other consequences come from adding extra functionality to Stella. For example, having cheatcodes, a built-in debugger with breakpoints, two separate rendering systems, etc all affect runtime performance. All these things are in the 'fast path', and slow down the emulation somewhat. Now, with the systems most people have today, you're never going to see the performance hit, but it will be there on slower systems. All this stuff could be removed for a dedicated hardware port. Point being, I could make Stella faster and use half as much memory if required. Remember, the code originally ran on a 486. It can again if need be (minus all the extra features people have come to love).

 

I should also add that the actual operating system you use has an effect on the emulation too. Even beyond the real-time issues mentioned above, certain OS's are just better at doing what Stella requires than others are. I don't say this to start a flamewar, but OpenGL and video performance in Windows isn't as good as in Linux and OSX wrt Stella. This is a known problem, and probably won't be improved on unless Microsoft provides better integration of OpenGL. I say this to make the point that you shouldn't judge the emulation performance of Stella based solely on how it works in Windows. It's important to separate emulation issues from platform-specific issues, and with the right dedicated hardware, emulation can perform much better than any current OS.

 

As for whether emulation is considered worse than hardware, consider that one of the most popular hardware releases for 2600 enthusiasts right now (the Harmony Cart) is actually emulating the bankswitch schemes in software. And I haven't seen many (or any) complaints about games not working. If done correctly, emulation can be invisible to the end user.

 

Anyway, I don't mean to enter this thread and say that a hardware-based Atari should be trashed, and you should go with emulation instead. I'd definitely buy one of these devices if it existed, no matter how it was implemented behind the scenes. I just wanted to add information (from my somewhat unique experience) that the issues aren't as clear-cut as it first appears.

 

As well, writing this was a nice distraction from working on the Harmony and KrokCom software ...

 

EDIT: I just wanted to add that the screen sync issues aren't unique to Stella, or even to any operating system. Older computers used to work this way. The C64, Amiga, even DOS had the ability to 'hook' their processing into the system hardware timer. This is what allowed those older (and much slower) systems to have smooth animations that even multi-GHz/core machines can't do today. So I don't feel too bad in not having solved this problem yet; it's something that's much bigger than Stella.

Edited by stephena

Share this post


Link to post
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...