Jump to content
Metal Jesus

First Review of RetroN 77

Recommended Posts

Now take for example the FPGA design of the TIA chip in my Atari 2600 device. Since I was working from the actual Atari schematics for the TIA chip, I was able to implement the exact circuits in the FPGA. In this case, it is not circuit emulation. It is in fact a recreation of the TIA chip implemented with contemporary CMOS digital logic, and I will go as far as to say that it is as much a real TIA chip as any of the TIA chips that Atari produced over the years.

Valid point.

 

Which TIA version have you recreated? And have you tested that it behaves in corner cases like the original? After warming up, that is.

 

BTW: How did you recreate the differences between a cold and a warm TIA?

  • Like 1

Share this post


Link to post
Share on other sites

Some of the Youtube commentary remains harsh. Cheap china junk. Incomplete product. Wrong colors for some of the buttons. Doesn't do 7800 games. As an enthusiast I know and understand the limitations. I just hope that R77 doesn't give Stella a bad rap. It's precarious enough as it is now.

 

As a new consumer, I would expect all my cartridges to work, and if they don't, well, it's buggy or incomplete.

Edited by Keatah

Share this post


Link to post
Share on other sites

Now take for example the FPGA design of the TIA chip in my Atari 2600 device. Since I was working from the actual Atari schematics for the TIA chip, I was able to implement the exact circuits in the FPGA. In this case, it is not circuit emulation. It is in fact a recreation of the TIA chip implemented with contemporary CMOS digital logic, and I will go as far as to say that it is as much a real TIA chip as any of the TIA chips that Atari produced over the years.

Unless it is a transistor-exact implementation, there's going to be difference that manifest themselves in corner cases - like the aforementioned thermal issues. And of course there's the differences in rise/fall times of a 42 year old IC and a modern-day simulation of one.

Does your VCS simulation work with bus-stuffing?

 

Edited by Keatah

Share this post


Link to post
Share on other sites

 

R-Pi isn't a good benchmark platform. It's cheap. It's underpowered for the task. It's like a Ferrari with a minispare.

 

 

Oh I agree, I’m not particularly a fan of the Pi for emulation (although it is interesting for other projects). My response was to the “Pi and SNES classic are basically equivalent” comment. As noted, the classic is only 1.3 frames / 22ms behind a real SNES on a CRT in terms of input latency, which is pretty respectable for a cheap out-of-the-box platform. I’m one of those people who is sensitive to lag, which makes low latency a fairly important feature to me.

  • Like 1

Share this post


Link to post
Share on other sites

Some of the Youtube commentary remains harsh. Cheap china junk. Incomplete product. Wrong colors for some of the buttons. Doesn't do 7800 games. As an enthusiast I know and understand the limitations. I just hope that R77 doesn't give Stella a bad rap. It's precarious enough as it is now.

 

As a new consumer, I would expect all my cartridges to work, and if they don't, well, it's buggy or incomplete.

 

I guess I opened a can of worms when I first mentioned my irritation of complaints that an FPGA would be better for the Retron, and the emulation route was crap. TBH, it was the Youtube comments that really got my goat. Not the MetalJesus review, and not the comments here. I guess I should learn to ignore Youtube comments, and comments in general from end-users that really have no idea about technical issues.

  • Like 10

Share this post


Link to post
Share on other sites

I guess I should learn to ignore comments from 98%+ of folks that really have no idea about technical issues.

 

Fixed that for you.

 

Please don't let any of this get you down, Stella is the gold standard for 2600 emulation :)

 

--

 

Also is this a topic about the Retron 77, or is this now a 'FPGA Based Videogame System' level generic dumpster fire?

  • Like 4

Share this post


Link to post
Share on other sites

Oh I agree, I’m not particularly a fan of the Pi for emulation (although it is interesting for other projects). My response was to the “Pi and SNES classic are basically equivalent” comment. As noted, the classic is only 1.3 frames / 22ms behind a real SNES on a CRT in terms of input latency, which is pretty respectable for a cheap out-of-the-box platform. I’m one of those people who is sensitive to lag, which makes low latency a fairly important feature to me.

 

Sorry, but I have to question the findings contained in the thread you mention. I don't know what the source is but a) it sounds heavily biased towards the classic b) I don't know what a "default Pi" is, sorry :) Overall their description of hardware and methods used is rather poor.

 

Their findings point to 2.4 difference but then few sentences later stretch it to 5.4 just by saying that "an average Pi user" might have that. Then later on admit that by using the right settings you can bring it all down to 1 frame difference. Their declarations about the real SNES vs Mini lag are also rather unscientific - one measured on a CRT (by what methods) and other on a Samsung, then the values "taken away"? Sorry, it's just not how you do things. Overall, it's all really just heavily bent to "prove" the Classic/Mini>Pi which makes it hard to take it seriously.

 

Like I mentioned earlier I've done some tests on my Pi recently and measured between 1-3 frames of lag (depending on a game) on SNES. That's on a RPi 3B+ @800 with wired controller and a CRT, with no heavy config tweaks applied. So, there's that.

 

The fact that Pi "is cheap" is completely meaningless. If it does the job, then its price or specifications have no relevance. Of course, there is a problem with the criteria of what constitutes satisfying performance - this will vary wildly between individuals. But, like I said earlier about lag I feel these criteria are often pumped up by people simply caught up in the debate and overall hype. I totally support the drive for "perfect" emulation but there is a level when it is good enough for me to play games on. In my experience Pi does an amazing job here for all the 8-bit and huge chunks of MAME and 16 bit (I'd say most games play full speed, with rare exceptions). Now, is this higan-level? Of course not, but again, do I care that there was some hardly visible glitch or an out of sync beat? No sir, I do not.

 

Problem with these discussions is the inherit bias we all have which comes from variety of sources and informs people's opinions. It's really hard to get rid of that's why all these "comparative" discourses really are kind of pointless. So SNES Mini has a frame or two lag less then Pi (if it does)? Okay, but can it be customized and play zillion other systems for half a price? No. Same goes for FPGA vs emulation, emulation vs original hardware and so on and on. Different strengths and weaknesses, for people with different needs. Like byuu said, we should just try and get along instead of taking endless pot shots at each other.

 

EDIT: I've actually found the source thread later on and I see this is actually the Brunnis/libretro one. So, now it makes much more sense and my comments about "Mini bias" and some parts about methodology were misguided. Context matters! :) Without other bits it was all fairly incomplete.

 

That leaves the fact that my own benchmark disagrees with his, and I was using the same hardware and the frame "advance feature". Not sure if these two methods differ so much since the latter is also recommended by the Retropie/Arch crew. And my average in Super Mario World was 2 frames.

Edited by youxia

Share this post


Link to post
Share on other sites

I guess I opened a can of worms when I first mentioned my irritation of complaints that an FPGA would be better for the Retron, and the emulation route was crap. TBH, it was the Youtube comments that really got my goat. Not the MetalJesus review, and not the comments here. I guess I should learn to ignore Youtube comments, and comments in general from end-users that really have no idea about technical issues.

 

Sure did. But that's alright. Rest assured there are many that appreciate the technical prowess showcased via increasing accuracy and ongoing development of this emu.

Share this post


Link to post
Share on other sites

 

EDIT: I've actually found the source thread later on and I see this is actually the Brunnis/libretro one. So, now it makes much more sense and my comments about "Mini bias" and some parts about methodology were misguided. Context matters! :) Without other bits it was all fairly incomplete.

 

That leaves the fact that my own benchmark disagrees with his, and I was using the same hardware and the frame "advance feature". Not sure if these two methods differ so much since the latter is also recommended by the Retropie/Arch crew. And my average in Super Mario World was 2 frames.

 

 

Well, of course it would have been a bit much to quote the whole thread :). My reply was to a post specifically mentioning that thread, so that was the context.

 

In terms of your results vs Brunnis, I can only say that considering how long he has been at this, how much he has tested and how thorough he has been (not to mention the fact that everything along the way was well documented and open to public commentary/criticism), I personally would tend to trust his results until someone can definitively prove otherwise.

 

At the end of the day, whatever methodology we decide to use, as long as it is applied consistently we really only care about relative differences between platforms, and 1.3 frames more lag than a real SNES is something I can live with (although I am considering a Super NT as well).

Edited by Jstick

Share this post


Link to post
Share on other sites

 

I guess I should learn to ignore Youtube comments

 

 

I would say this is wise life advice for anyone living in the modern age :)

  • Like 1

Share this post


Link to post
Share on other sites

Yeah, that whole thread is quite insane to read it all now and can get confusing. It even messed up my memory of it, thanks again to Jstick fro correcting my incorrect information earlier in this thread. I'm glad I don't use a Pi for emulation, I use a decent gaming PC and a low latency gaming monitor and my RA is tweaked to get as low of input lag as possible (except for the new gimmicky "run ahead" stuff") and I cannot feel any difference from my real hardware on a CRT.

I am hoping they implement the new "beam racing" stuff that gets talked about further down in that thread, that's the stuff that is really interesting.

Edited by Lordmonkus

Share this post


Link to post
Share on other sites

my RA is tweaked to get as low of input lag as possible (except for the new gimmicky "run ahead" stuff") and I cannot feel any difference from my real hardware on a CRT.

I am hoping they implement the new "beam racing" stuff that gets talked about further down in that thread, that's the stuff that is really interesting.

 

 

Yes, the beam racing idea from blur busters does indeed look promising.

 

It’s funny that you called the new emulation run ahead feature “gimmicky”, because that’s exactly how I feel even though I can’t really articulate why. It just seems wrong somehow when compared conceptually to beam racing.

 

Incidentally, this is really off topic from the Metal Jesus Retron ‘77 review, so I should probably stop posting about this stuff in this thread. ;-)

Share this post


Link to post
Share on other sites

 

Incidentally, this is really off topic from the Metal Jesus Retron ‘77 review, so I should probably stop posting about this stuff in this thread. ;-)

 

Agreed, it should have its own thread in the emulation section of the forums.

Share this post


Link to post
Share on other sites

In terms of your results vs Brunnis, I can only say that considering how long he has been at this, how much he has tested and how thorough he has been (not to mention the fact that everything along the way was well documented and open to public commentary/criticism), I personally would tend to trust his results until someone can definitively prove otherwise.

 

I will actually inquire about it on Retropie forum when I have a minute, it's a curious thing. It's not just me by the way. And there's very little room to make any sort of mistake since the whole setup and process are so straightforward. Another thing is that, as somebody from PC benchmarking background I saw countless times results from various "authorities" varying wildly, because of so many factors and methods involved.

 

But the crux of the argument was that the Pi is so much worse that Mini, which is not really the case (even if you ignore my test) since as he says and what you underlined yourself, moderate settings "will put you within a frame of the SNES Mini". Is this really a big difference? :)

 

I find it really amusing, from the armchair psychologist point of view, because these subjects are so, well, subjective. Now, the lag is an indisputable fact of life, but people's tolerance of it varies wildly and is impossible to establish. This is where we enter the "in the mind zone" - nobody can really tell that how much of your alleged "low sensitivity" is caused by the lag itself and how much by reading about it and being generally involved in this topic.

 

It's similar with LordMonkus's "I cannot really feel any difference from my real hardware". I've heard exactly the same from people with inferior systems hooked to inferior displays. So, how do you measure who's "right" here? We could set up some blind tests and all that but even so, it'd be rather silly and most likely inconclusive.

 

Overall there is a very thin line between going in too deep and staying reaonable - I see similar effect in numerous other hobbies of mine, from photography to pro cycling (with PC scene being the worst). People will argue about some only true solutions/ways as if it's a matter of life and death, whereas in reality such things are too often informed by slight discrepancies in perception and heavy bias (especially the one where you spend a lot of dosh on something and then justify it).

Share this post


Link to post
Share on other sites

 

But the crux of the argument was that the Pi is so much worse that Mini, which is not really the case (even if you ignore my test) since as he says and what you underlined yourself, moderate settings "will put you within a frame of the SNES Mini". Is this really a big difference? :)

 

 

Those settings on the Pi come with limitations as pointed out though, namely ‘Using the Dispmanx video driver means you lose the ability to use shaders as well as the on screen text’. Like many, I’m not a fan of raw unfiltered emulation and so that is not a viable option for me (the SNES Classic can display its various screenmodes (scanlines + filter) without any performance penalty). Take that optimization away and the lag gap widens.

 

Even discounting that, almost one frame faster is still almost one frame faster. Especially when you add display lag into the mix, a frame or two can make a big difference, pushing a game that relies heavily on reaction time from borderline playable to unplayable.

 

Ultimately, lag is not something I would care about if I didn’t notice it in the real world, as I’m not a hardcore emulation purist. It’s just something that I experienced first, and then looked into to find a better solution. On a Pi (without the limiting performance tweaks) the lag was very noticeable to me. On a SNES classic, it is still noticeable but I can adapt fairly quickly to it without it being too distracting. Of course, I’m talking about fighting/platform/shooter games I’ve played countless times on real hardware + CRT, with an RPG or strategy game it really doesn’t matter :)

Share this post


Link to post
Share on other sites

 

On a Pi (without the limiting performance tweaks) the lag was very noticeable to me. On a SNES classic, it is still noticeable but I can adapt fairly quickly to it without it being too distracting.

 

Well, just like I was saying - it's a personal call. You say you can adapt quicker on the Mini. For somebody else, Retron or Pi will be just as good. Some of these differences are minuscule, and the only way to prove they really matter would be a series of blind tests, perhaps impossible to conduct. And if you like to use shaders then that's fine, but there would be as many who consider using such inferior filters an anathema. And so it goes, with everybody having different personal preference.

 

Then of course there is the choice of a TV which varies from person to person. How many of those who've heard that Super NT has "zero" lag will then connect it to their supper laggy TV set?

 

I think overall you're misreading me for somebody who's saying that lag is not important, despite me putting enough caveats to the contrary in all my posts. This is not the case, I'm just trying to go a bit deeper and point out that there are numerous psychological factors involved which influence this subject. It reminds me of these audiophile debates or other hobbies I mentioned earlier.

 

And the reason I object in general is because it leads to uninformed, blanket statements such as "Pi is bad for emulation". It's probably same for the Retron here. Because these are "cheap" devices, there's a backlash from those who've spent quite often hundreds (if not thousands) of dollars and need to justify that a little bit. But does it really matter that Retron is not FPGA based? Does it have a poor, very laggy emulation, are any cartridges incompatible? I don't know, but if not, then perhaps it's just "good enough" and for most people there's no need to go the hardcore route.

Share this post


Link to post
Share on other sites

 

I think overall you're misreading me for somebody who's saying that lag is not important

 

 

I think overall you are misreading me as somebody who is debating your myriad of thoughts.

Share this post


Link to post
Share on other sites

Valid point.

 

Which TIA version have you recreated? And have you tested that it behaves in corner cases like the original? After warming up, that is.

 

The schematic is labeled REV E, and is dated Oct. 4, 1982. I don't know how that corresponds to the silicon revision. I expect that tracking down the revision number of the chips manufactured in late 1982 or early 1983 would give us the answer.

 

Without knowing the silicon revision, I am unable to test it against the original chip. The point of my design, though, is to implement the exact original circuit using contemporary technology. Since the tolerances of modern CMOS logic are so tight, there should be no corner cases related to thermal conditions. In my opinion, if a temperature change affects the behavior of a chip, then that chip is defective, so I really wouldn't want my implementation to exhibit that behavior.

 

 

Unless it is a transistor-exact implementation, there's going to be difference that manifest themselves in corner cases - like the aforementioned thermal issues. And of course there's the differences in rise/fall times of a 42 year old IC and a modern-day simulation of one.
Does your VCS simulation work with bus-stuffing?

 

Agreed. But that can be said of any of the TIA chips that Atari produced. The tolerances of the NMOS processes in the late 70s and early 80s were so loose that even identically specified transistors on the same die would exhibit different transconductance characteristics. And then in the later 80s when the chips were manufactured on more modern processes, the transistor characteristics changed radically from those that were in the chips manufactured years earlier. So that raises the question, is there such a thing as a transistor-exact implementation?

 

A more important point though, is that the TIA is designed with synchronous logic. This means that all of the logic state changes are synchronized to a clock. These state changes only occur when the clock transitions, either from low to high, or from high to low, depending on the circuit designer's choice. Exactly how the logic updates in between these clock edges is irrelevant. The only thing that matters is that the logic settles to a stable and correct condition before the next clock edge. And because of this the analog effects of the actual transitors such as propogation delay, rise time, etc., are irrelevent, or more correctly, are relevent only to the chip designer since it's his job to take into account these analog effects, and make sure that the logic is implemented in silicon in such a way that it behaves as intended.
Yes, it works with bus stuffing. You can see it in action here: https://www.youtube.com/watch?v=qrrEQTTcX7U. This was captured directly from the HDMI output using an Elgato HD60 capture box. Be sure to set your browser/player to 1080p @60, or else it won't look correct.
I'm still curious as to the reasoning behind calling my hardware implementation a simulation. That was whole point of my original post, to gain some perspective.
Edited by Crispy
  • Like 2

Share this post


Link to post
Share on other sites

Simply said I see it as a simulation/emulation because it is a new modern-day part acting like a vintage 1977 chip(s). However accurate or inaccurate it may be.

 

---

 

It would be interesting and perhaps beneficial to see a set of replacement electronics for the VCS. I'm assuming that more VCS's are "trashed" because they are unrepairable by the average hobbyist. And not only that. A modern replacement board could provide updated video output standards.

 

---

 

Another question. How long does it take for your system to start up from power application? Instantly? Does it have to load a core from on-board flash/serial rom? And can it "fry" cartridges like an original console?

Share this post


Link to post
Share on other sites

 

I'm still curious as to the reasoning behind calling my hardware implementation a simulation. That was whole point of my original post, to gain some perspective.

 

 

Emulator authors may be envious you recreated the TIA or unaware you built it from the spec sheet.

 

imo the Atari's with the defective TIA's due to cost-cutting redesign constitute hardware emulation for the same reason; the engineers deviated from the spec sheet wishfully thinking they could reverse engineer some of the functionality for a lower cost and retain compatibility.

Share this post


Link to post
Share on other sites

I'm still curious as to the reasoning behind calling my hardware implementation a simulation. That was whole point of my original post, to gain some perspective.

 

 

As for me, my intention was *not* trash-talking your FPGA implementation; I don't even know the specifics of it (apart from the audio code that you kindly donated to Stella --- I have used it in 6502.ts and am currently in the final stages of adding it to Stella, and it is working perfectly ;) ). My point is that an FPGA is not ad hoc more accurate than software emulation --- it is a hardware model, and the result will only be as accurate as the model. If you properly model the TIA at the gate level, the result definitely has the potential of being highly accurate, although I am pretty sure that there are still corner cases where the original hardware behaves differently (for starters, everything where it behaves unstable). You could do a gate level simulation off the TIA in software, too, but the performance would be abysmal.

 

Regarding your FPGA implementation: I really am genuinely curious about the level of accuracy you achieve this way and whether the results could be used as a guideline for improving software emulation. From recreating the TIA in emulation it was my impression (but I am admittedly rather lousy at electronics) that there are several aspects of the chip's behavior that actually depend subtly on phase and shape of different signals in the circuit. In particular, I am curious about the detailed structure of the starfield and the effects of sending HMOVE pulse during the visible part of the line. If you like and find time, could you run the testcases linked on GitHub here (starfield) and here (HMOVE) and post the result?

  • Like 1

Share this post


Link to post
Share on other sites

A confusing post for me..

 

imo the Atari's with the defective TIA's due to cost-cutting redesign constitute hardware emulation for the same reason; the engineers deviated from the spec sheet wishfully thinking they could reverse engineer some of the functionality for a lower cost and retain compatibility.

 

I can't imagine they'd save much by a re-design, elimination of a few gates wouldn't affect the cost of a rather simple IC. Well, simple by today's standards. Unless it was based on an entirely new process.

 

And why wouldn't they just work from the layouts, schematics, and masks?

 

I also don't quite understand why a revised/redesigned TIA would be considered emulation? Nothing about the new version is "programmed" in any language - other than the code to develop the masks and operate the fab.

 

 

Emulator authors may be envious you recreated the TIA or unaware you built it from the spec sheet.

 

I'm not sure that's the case. I think the level of talent needed is about the same for both a TIA simulation in hardware or software. Rather, I see opportunities and room to improve both models via an exchange of ideas and testing.

Edited by Keatah

Share this post


Link to post
Share on other sites

A confusing post for me..

 

 

I can't imagine they'd save much by a re-design, elimination of a few gates wouldn't affect the cost of a rather simple IC. Well, simple by today's standards. Unless it was based on an entirely new process.

 

And why wouldn't they just work from the layouts, schematics, and masks?

 

I also don't quite understand why a revised/redesigned TIA would be considered emulation? Nothing about the new version is "programmed" in any language - other than the code to develop the masks and operate the fab.

 

 

 

I'm not sure that's the case. I think the level of talent needed is about the same for both a TIA simulation in hardware or software. Rather, I see opportunities and room to improve both models via an exchange of ideas and testing.

 

If you're redesigning for cost cutting measures you're necessarily reverse engineering functionality instead of following the spec sheet.

 

Couple of examples - the C64 was redesigned as a cost cutting measure repeatedly, breaking some of the SID's functionality and later Max, the CoCo was redesigned as a cost cutting measure as well losing full compatibility with earlier models graphics modes. Before that it had at least one cost-cutting redesign that was immediately relegated to the trashcan by unit testing after Clowns N' Balloons (Circus Atari) turned from color to black and white.

 

Unfortunately nobody threw those redesigned Atari's that couldn't play Kool-Aid man in the trash as should have been done considering that's one of the best games.

 

The Retron77 and the Flashbacks are excellent Atari consoles that enable a larger audience to enjoy retro gaming and they can both play Kool-Aid Man!

 

I think only the dedicated Atari fans on Atariage would appreciate the perfect recreation of the TIA Crispy has created, like the lost AIC Curt Vendell created for the Flashback II, and we're likely to want all these consoles :)

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