Jump to content
IGNORED

The future of the Stella emulator


stephena

Recommended Posts

I've been thinking about starting this topic for the past several months, but never got around to actually verbalizing it. But now here it is. The topic is my continued development of Stella, and if so, what form the development should take. Quite a bit of this will probably sound like griping, but please bear with me; I need a place to vent.

 

For some time, my work on Stella has slowed down due to other commitments. Those commitments are now starting to wind down, but there are still other problems. First and foremost is that parts of the codebase are starting to become unwieldy, and the focus is being pulled in too many directions. My main problem is that I want to remove software rendering entirely, and focus on OpenGL hardware-accelerated only. I don't use software mode, it receives little testing, and it's holding the rest of the project back (including the addition of more advanced graphical filters).

 

The next major issue is that of lack of help. I've been working on this project for 10 years now, and while I have received some help in the past, in the last several years I have been completely alone. I do welcome the (little) feedback I get, but it is sometimes not enough. More specifically (and not wanting to start a flamewar) has been the recent revival of z26. That project was basically dead for almost 7 years, and now seems to be active again. I'm wondering why the development effort was put into reviving such an old project was done while Stella is in active development and in need of help. And as soon as it was released, there are people immediately moving to it, saying that it was their preference all along.

 

I'm thinking that the only reason people have used Stella was that it was the only thing available, and now with another emulator available (no matter if it's missing several key features), people will start moving to it. This concerns me somewhat, since I put a sizable amount of work into Stella, but it never seems to be enough. There are always comments on how it is deficient in some way, or that other emulators are always better. Even when reported problems are fixed, it is still deficient in some other area. So I'm wondering if the project is so deficient, and a lot of people prefer alternatives, whether it is even worth my time to continue developing it.

 

I just want to say that my overall outlook has been this way for probably 5 years now. Working on the project has become more work than joy at this point. There are things I want to do with the code that will break some compatibility, but we seemed to be tied to the past. There are an increasing number of people that don't consider Stella worth their time. And most important of all, I continue to develop Stella in isolation while development continues (in parallel) on other projects.

 

In summary, I'm not interested in competing with anyone. This project takes a significant amount of my time, and if people think its time has come and gone, I will gladly move along to some other project. There, that was my rant, something that has been building for years. I'm still not sure what I'm going to do, but any feedback I receive will probably play some part in my decision.

Link to comment
Share on other sites

In my opinion if you aren't happy then its time for you to step away from the project for a while. To me, hobby stuff should be fun. As soon as it stops being fun and you feel obliged to spend time on it then its no surprise that resentment towards it builds up.

 

I say take a break, come back to Stella if you want or start something else entirely. Whatever you do make sure you are having fun doing it.

  • Like 4
Link to comment
Share on other sites

Stephen

 

Have you thought of releasing sources into the public domain, that way those that are interested in seeing future development in 2600 emulation can take the stella emulator in any way they wish to, after all it seems to have happened with GBA emulation (in that the mainstay of gba emulation, visualboy advance is no longer being maintained but various forks of that emulation/emulator like VBA-M are still activity supported and maintained, i guess because the originators of VBA had the foresight to releasing the emulation sources into the PD

 

It would be a sad day indeed if stella was to stop being actively supported or maintained, after all look what happened to atari800win+ since that stopped being maintained, it's now been usurped or over taken by other emulators

 

There again, i have'nt used stella since about version 2.2 or something like that

Link to comment
Share on other sites

Can't speak for anyone else, but as a Mac OS user Stella is absolutely the mainstay of my VCS emulation, and has been for over a dozen years now. I'm incredibly grateful for everything that you've done, particularly since I remember how rough things were when I first started using Stella (half the homebrew ROMs out there would crash!) and how far it's come thanks to your efforts. I'm also very grateful that Stella hasn't abandoned my platform (OS X/PPC/Tiger), unlike so many emulators which seemed to go Intel- and Leopard-only the moment they got the chance.

 

It often seems like people only speak up when there's a problem or complaint, and I hope we users can find more, and more substantive, ways to express our gratitude. We all owe you so many beers. :D

 

BTW, what compatibility-breaking things did you have in mind?

Edited by thegoldenband
  • Like 2
Link to comment
Share on other sites

Stella is the only Atari emulator I use. For a long time I used version 2.4.2 because I didn't want to give up the "non-browse" functionality, but after installing 3.3 on my laptop I liked the pattern matching textbox. I also wanted DPC+ programs to run. So I started weening myself from using the non-browse feature. I now have 3.4 on my main computer and I realize that I no longer need the non-browsing mode.

 

I want you to know that your work on Stella is appreciated, but at the same time I don't expect you to continue working on it if it is no longer fun. When I get burned out on something, I'll forget about it for a while and come back to it later. So do whatever is best for you. If that means there will be no more updates on Stella, I still plan to keep using it unless something better comes along someday.

 

Thanks for giving us this great emulator. :)

Link to comment
Share on other sites

Just to say I think Stella is awesome - from a development point of view the debugger is incredibly useful...I've tried out the other emulators but nothing seems to get as much right as stella. Please, please don't stop working on it, like groovy says maybe consider taking a break. I think it will be a long time before any other emulator has the great features of stella for a developer. The only reason I could see people having any gripes with it is because it is of such a high standard that it's easy to expect perfection. I have found a couple of minor bugs in it recently which I've contacted you about - I think I'll try to download the source and see if I can get anywhere with fixing them myself....

Link to comment
Share on other sites

I have to say that I love Stella. It is a fantastic emulator and I applaud the job you've done with it. It is the only emulator I use for the 2600 as well. It is up to you what you want to do with the project but know that your efforts are appreciated. :thumbsup:

Link to comment
Share on other sites

Have you thought of releasing sources into the public domain, that way those that are interested in seeing future development in 2600 emulation can take the stella emulator in any way they wish to

Stella is released under the GPL/v2, so the source is already out there for anybody to do with as they please. Changing the licence to public domain would be difficult, since I'd have to track down all the original authors, not to mention Brad Mott, which is the original creator of the project itself.

 

I'm also very grateful that Stella hasn't abandoned my platform (OS X/PPC/Tiger), unlike so many emulators which seemed to go Intel- and Leopard-only the moment they got the chance.

I try to keep older platforms supported, but it's getting harder in OSX; Apple really wants to phase out PPC! If I can get an older version of OSX (perhaps 10.4) and Xcode installed in a VM on my Mac, then it will be no problem to keep 10.4/PPC support. There's nothing in the codebase itself that precludes other architectures or compilers; this is strictly a problem that Apple is causing.

 

BTW, what compatibility-breaking things did you have in mind?

The biggest thing I have in mind is moving to OpenGL entirely. OSX users such as yourself won't have a problem, since OpenGL is standard in OSX since at least 10.3 or so. Having to use software rendering in 2011 is just so annoying, and it is really limiting. Not to mention that there are two rendering systems in Stella that have to be maintained, and even more infuriating, things that are easy to accomplish and fast in one render can bring the other to its knees, and vice versa! It's like I can't win :(

 

The other thing is a change to a new version of SDL (2.0) when it's released, that will make things much easier on me. There's quite a bit of code in Stella that was written to fix cross-platform issues in SDL itself. If/when I do this, I can't say for sure what systems will be supported. Certainly newer versions of Linux, OSX and Windows. But older versions of Windows and PPC OSX are still an unknown. Maybe things will be fine, but I can't say for sure yet.

 

I have found a couple of minor bugs in it recently which I've contacted you about - I think I'll try to download the source and see if I can get anywhere with fixing them myself....

I should be clear that my intent wasn't to guilt people into fixing things instead of just reporting them. People that (a) report a bug and (b) follow up on it are worth their weight in gold. What bugs me are the ones that dismiss the project out of hand without providing even a brief explanation of the problems they encounter. I'm usually happy to fix bugs that are reported. Hell, I'm happy to get any constructive feedback at all. So my rant isn't targetted towards those that do give valid feedback.

 

EDIT: I forgot to add another major reason why I want to kill software rendering; I feel it's giving Stella a bad first impression. If you start Stella in its default software mode, it will be jumpy and jerky, stretched wider than on a real system, and will consume more CPU than necessary. Someone will look at this performance and say that emulation is crap. But if we could just use OpenGL and turn on vsync, the updates would be smooth and synchronized with the display, the video width could look more like a real system, and (eventually) video filters could be added that make things look much nicer. Not to mention that performance would be much better. I can run Stella in OpenGL mode on a 2560x1440 monitor at 5-8% CPU time, on a 3.6GHz Core/i7 system that is brought to its knees in software mode (at half the resolution)!

Link to comment
Share on other sites

The z26 release was a big surprise to me. I agree with your sentiment that any perceived deficiencies in Stella are more worthy of effort at this point than improving z26, as it's 7 years behind the curve. The only things z26 seems to do that Stella doesn't is the instruction trace dump (which I suspect would be trivial to add to Stella.)

 

Some say that z26 has better TIA emulation, and that may have been true 7 years ago, but I'm not sure exactly what is better anymore. Does anyone know?

Link to comment
Share on other sites

Some say that z26 has better TIA emulation, and that may have been true 7 years ago, but I'm not sure exactly what is better anymore. Does anyone know?

 

Well it's only one example, but the 32 character demo I did recently doesn't work right in z26, but does in stella....

Edited by eshu
Link to comment
Share on other sites

Before switching to stella, I used z26 and enjoied its accuracy and speed even on slow computers. So, mostly beacuse of the "nostalgia factor", I was glad to see a new version after I thought it was dead. Anyway I think it would be hard to compete with Stella which I consider the best 2600 emulator for both gaming and development available today.

I use it daily and always check the AA forums for the latest version. The emulation is very accurate especially after 3.0 version, and the debugger is an invaluable help for developers. I hope you will continue to work on it and maybe that other programmers could help you in the development.

Whatever you decide to do, I really appreciate all the hard work you put in the project.

 

As for moving to hardware-accelerated graphics entirely, I think that is a reasonable choice. You can just leave the old version for download for people without opengl support. I use stella with Linux on a Pentium IV 1.7 Ghz , 1GB ram and a video card with opengl 1.4 support and it runs perfectly without any slowdown. If future releases will stop working correctly that will be a good reason to upgrade my computer!

Link to comment
Share on other sites

I'll add that Stella has been my 2600 emulator of choice as well and has pretty much gained all or almost all of the emulation accuracy that z26 used to have over it.

 

I'll also note that z26 gets the speed it's hailed for from x86 assembly. On other platforms like phones and and Wii's it won't have any speed advantage over Stella and be more feature poor.

 

I can certainly understand your frustration with negative feedback and no extra hands pitching in so if you leave Stella behind you'll hear no grief from me. Still I would hope someone picks it up. I think it is too easy for gripers with a problem to notice the multitude of non-trivial things that ARE working correctly.

Link to comment
Share on other sites

Hello Stephen,

 

I know exactly how you feel, because I've been there with z26 about seven years ago. The problem really is that love (and that includes the love for a hobby) only lasts five to seven years depending on how you are counting. For about two years you are getting the hormones to make everything feel new and exciting. Then for about three years everything feels nice and harmonic. And then the hormones stop and the love is over. But since the brain likes habits, it takes about another two years before you really can let go. During that time your subconscience is making up more and more reasons why things aren't as nice as they used to be. Judging from your post, that seems to be where you are now. You have just gone through you second period of love for Stella and now your subconscience is making up reasons why you want to quit. That's why you are focusing so much on the few negative comments that you get and why the release of z26 bothers you so much.

 

You'll have to find other aspects of Stella development that make it feel new and exciting for you again. You have to WANT to work on these things no matter what others think about it. I hope that removing the inefficient old code and putting Stella on a new and improved base does that for you, because otherwise I fear that you will be abandoning Stella development soon, like we did with z26 seven years ago.

 

And for z26: There really isn't that much new development. Most of the "new" code is something that we already wrote seven years ago but never released. It's still full of bugs and needs quite a lot of work before it's even at the level of the old assembler core let alone at the same level as Stella. I'm not sure if we are going to put that much work into it. I'm not even sure we are going to put any significant amount of work into z26 anymore. So we are definitely not going to compete with you. Then why did we release a new version? Well, one of the goals we had for porting z26 to C seven years ago was to be able to create a Mac version. I suppose when John decided to buy a Mac, he wanted to see if the code we already had was able to be used for that. And releasing a new version is just John's way of doing a backup. ;)

Link to comment
Share on other sites

As for TIA accuracy, I would say that Stella and z26 are roughly equal at this point. There are several corner cases where Stella doesn't perform as well as z26, and I know them all (and the ROMs which exhibit the behaviour). But there are just as many cases where z26 isn't as accurate as Stella (for different reasons). I will admit that the TIA code in Stella is (a) written in C++, and (b) more complex than z26. Maybe that's why potential developers shy away from extending it.

 

And wrt moving to OpenGL, that doesn't imply one will need a $300 video card. As mentioned above, any card that can do OpenGL 1.4 will be sufficient. Even the slowest OpenGL card with working drivers will be faster than software rendering on any recent system (where recent is up to 4-5 years old). The current CRT effects require OpenGL 2.0, but these effects are probably going to be removed anyway and replaced with Blargg filtering, which doesn't have such high requirements.

 

Overall, the words of support are appreciated. It's just that I'm having a bad 6-months :)

Link to comment
Share on other sites

The next major issue is that of lack of help. I've been working on this project for 10 years now, and while I have received some help in the past, in the last several years I have been completely alone. I do welcome the (little) feedback I get, but it is sometimes not enough.

Except for the AA members with them thar fancy college boy computer skills, the rest of us can't do much except use Stella and alert you when we find bugs.

 

Here's some feedback that's not exactly about Stella, but it's still feedback: When you release a new version, you post the text in a code box and that makes it hard for me to read, especially when the text turns green because an apostrophe was used. So I usually don't even try to read it. Example:

 

I like chicken and pizza. It's the best.
One example of good web design is the pimento shoestring.
Elbow knuckle wax is helpful to initiate the puppy banjo flashlight.
Peanut butter coyote Christmas is often the only time when
jawbone pancake jelly is available.
At no time is abstract doorknob floss to be used since
it could cause morbid granularity.

 

 

 

 

More specifically (and not wanting to start a flamewar) has been the recent revival of z26. That project was basically dead for almost 7 years, and now seems to be active again. I'm wondering why the development effort was put into reviving such an old project was done while Stella is in active development and in need of help. And as soon as it was released, there are people immediately moving to it, saying that it was their preference all along.

I don't see a reason to use it. It doesn't even have a built-in front end. Stella is ready to go right out of the 'box.' And now that I'm slowly understanding how to use Stella's debugger for various purposes, it would be stupid to switch to another emulator.

 

Stella is the default emulator. Everyone should just focus on making Stella the best it can be. I wish more people with skills would help because I'm still hoping Stella will be able record video and maybe even make short animated GIFs of gameplay.

Link to comment
Share on other sites

The only things z26 seems to do that Stella doesn't is the instruction trace dump (which I suspect would be trivial to add to Stella.)

Yes, that's maybe the most important feature I am missing from Stella. I can't get used to the debugger, most likely because my 2600 programming "grew up" with only having the trace available. So I adopted my debugging work completely to it. That doesn't mean the debugger is not good. It is just me who isn't using it for odd reasons.

 

Also I wrote a few tools which analyze the output (e.g some kind of coverage tool).

 

Some say that z26 has better TIA emulation, and that may have been true 7 years ago, but I'm not sure exactly what is better anymore. Does anyone know?

z26 was better for quite a long time in the past. But today I am pretty sure that Stella is the better TIA emulator in almost all, if not all cases.

Link to comment
Share on other sites

First let me say a big "Thank You!" for all the effort you have put (and I hope you will continue doing so) to make Stella such a great emulator.

 

More specifically (and not wanting to start a flamewar) has been the recent revival of z26. That project was basically dead for almost 7 years, and now seems to be active again. I'm wondering why the development effort was put into reviving such an old project was done while Stella is in active development and in need of help. And as soon as it was released, there are people immediately moving to it, saying that it was their preference all along.

I liked to see z26 to get alive again, but I haven't even downloaded the new version yet. There are some old sentiments with this emulator, which reach back more than 10 years now. So this is not me being objective or so. I am just very retro. :)

 

Also my PC is now ~8 years old, so old z26 much better fits to its limited performance. When I buy a new one, this will most likely change my preference.

 

I'm thinking that the only reason people have used Stella was that it was the only thing available, and now with another emulator available (no matter if it's missing several key features), people will start moving to it. This concerns me somewhat, since I put a sizable amount of work into Stella, but it never seems to be enough. There are always comments on how it is deficient in some way, or that other emulators are always better. Even when reported problems are fixed, it is still deficient in some other area. So I'm wondering if the project is so deficient, and a lot of people prefer alternatives, whether it is even worth my time to continue developing it.

Stella seems much more sophisticated than z26. Maybe some people simply prefer the simpleness of z26.

 

At work I am developing Windows applications, dealing with huge, complex tools like Eclipse. And for my hobby I am looking for something different. That's why I program for the 2600 and maybe that's one reason why I still prefer something inferior as z26 over Stella.

 

Regarding the complaints, you should see it differently. Stella is so good that any small deficit contrasts much more than it would on a bad product. :)

 

In summary, I'm not interested in competing with anyone. This project takes a significant amount of my time, and if people think its time has come and gone, I will gladly move along to some other project. There, that was my rant, something that has been building for years. I'm still not sure what I'm going to do, but any feedback I receive will probably play some part in my decision.

IMO you are not competing with anyone. z26 would take several years to catch up, even if you stopped completely now. IMO z26 should stay lightweight and continue to focus on simplicity and good emulation. Anything else will always be compared to current Stella. And in most such cases, z26 would loose.

 

To sum it up: Objectively, Stella is the much better emulator, but some people (like me) do not behave always objective.

Link to comment
Share on other sites

As I mentioned in the z26 thread, all emulators are not equal-- it seems like they each have their own strengths, weaknesses, one-of-a-kind features, peculiarities of use (i.e., command line or GUI idiosyncrasies), personalities, etc. I don't think that's a bad thing, because I don't think they *should* all be the same as each other (else there's no good reason for them all to exist).

 

I probably have about a dozen different 2600 emulators installed on my computer (no joke!), although all but three of them are basically "dead" emulators that haven't been updated in a long, long time, and some of them may not have ever been truly "completed" at all. The three that were completed and that have gone through many updates over the years are PCAE, z26, and Stella. I have the last (as in "final") version of PCAE that was released just a few years ago, but I almost never use it. I have both z26 and Stella set up to work with my IDE of choice, and have been actively using both of them for many years-- I use Stella about 95% of the time (if not more), but I do use z26 every once in a while when I want to use its "interlaced" mode. As I said, different emulators have different things going for them, so I use z26 when I want to use that particular thing that z26 has that Stella doesn't (yet). I've never, ever used z26's trace debugger listing, but I do use Stella's debugger mode daily.

 

To me, Stella is simply the easiest 2600 emulator to use. As I said, I do still use z26 with my IDE of choice, but it's kind of a pain to have to edit the command line to set the specific command switches for whatever bankswitching format I happen to be using in my current project, or whatever other settings need to be tweaked. Sure they can usually be changed while the emulation is running, but Stella automatically remembers them for you.

 

As for the recent update to z26, I think it's a great thing. Or to put it in other words, "It's about time!" But it won't change the percentage of time that I use z26 versus Stella. I'll still be using Stella 95% of the time. But you know what? I don't want John, or Eckhard, or anyone else to get discouraged and give up on updating/improving z26 just because it seems like far more people use Stella most of the time.

 

As far as Stella's updates, I know you've put a lot of work into Stella over the last several years, and I'm grateful you've tried to correct any inaccuracies in the 6502 or TIA or RIOT emulation (e.g., the fixes to the decimal mode, and the fixes to the RIOT timer emulation). As far as I know (I haven't checked yet), any inaccuracies that z26 had in those areas are still there, and I'd love to see them get fixed. Whether or not all emulators have the same bells and whistles and personalities, I do think they should (ideally) be equally accurate as far as their emulation of the chips and hardware. Note, I consider emulation of the NTSC or PAL video display to be a bell and whistle.

 

Anyway, not only do I have great appreciation for all the work you've done with Stella, I also wish I could help in some way, but I am definitely *not* a C programmer. Just tonight I was going over some C code that Adam Wozniak had posted for TIA sound back in the old [stella] mailing list, and I can barely make heads and tails of his code. I'm afraid if I were to try to help with coding Stella, I would do much more harm than good! :) But I would love to help with whatever little things I can, like creating test programs and comparing their results on a 2600 heavy sixer or a 7800, versus what the behavior is in Stella or z26. I know I've said that before, more than once, and I just wish I had more time to test every TIA or RIOT feature-- if only so I'll be more familiar with all the features and ideosyncracies of the real console.

 

I'm sorry you're getting burned out (and burned up), but with as many updates as you've steadily cranked out over the last several years, I doubt if anyone will complain if you take some time to step back and take a break to unwind and regroup.

 

Michael

 

 

 

Link to comment
Share on other sites

I always considered Stella the reference emulator. Especially the last 5 years. Perhaps z26 and pcae and the action-packs from activision were better in their day and age, but, well, now.. hahhaha!

 

I looked at the z26 recent release 3.01, and it's chock full of bugs left and right. So bad that Combat doesn't work correctly! A lot of inconsistencies and the menu interface is beyond tediousness. A lot of dick'n around with the bankswitching options through the command line, strange controller conventions - having to disable some of them to get the paddles to work. I don't really see what the gushing over z26 is all about - half the games aren't working right to begin with.

 

I certainly hope that Stella will be continued for a long long time. I only nitpick stella's 'deficiencies' in hopes of perfecting the top emu to become the absolute best it can possibly be. It is so easy to nitpick a good product - "if only this", "It doesn't do that".. blahh blahh. We do indeed take all the good things for granted. Same thing applies to a computer that blasts through a complex problem in 5 seconds, as soon as something is added and that problem now takes 6 seconds, the computer and software are perceived as buggy and slow. But if that same computer took 20 minutes and you tacked on 1 more minute, no one would ever notice! The closer you get to perfection, the easier it is to see defects.

 

I don't think most folks completely appreciate the fine details of the menu structure and conventions in most programs. They only complain about when they have to struggle with something.

 

Another thing, emulators are difficult and tedious to work on. And *I* personally believe we don't need more than one or two for any give system. It would be nice to see folks working on and improving and doing things to existing emulators that are already established rather than splitting up efforts and building a whole new emu from the ground up. Or pulling something out of the grave. It went to the grave in the first place, for a reason, let it be!

 

It really pisses me off that z26 has been released without so much as basic testing. I wouldn't waste anymore time messing with it till it has been properly tested and has a few shakedown cruises. IMHO z26 is so bad right now, any improvements would be welcome. Sorry..

Edited by Keatah
Link to comment
Share on other sites

It really pisses me off that z26 has been released without so much as basic testing. I wouldn't waste anymore time messing with it till it has been properly tested and has a few shakedown cruises. IMHO z26 is so bad right now, any improvements would be welcome. Sorry..

Sounds like something got severely broken. Thanks, that will save me some time.

Link to comment
Share on other sites

Well for what it's worth the latest versions of Stella impressed me enough to seriously consider porting it over to the Xbox (based on the performance of the Wii version). Only two things that keep me from doing that is time (way to many other things to do atm) and I dug up some Z26 modifications to fix the TIA sound issue that bugged the heck out of me. But those modifications were ASM so they took a bit of tinkering to get to work. The other ones I saw is regards to a more consistent screen size output (also ASM). But regardless I've been itching to tinkering with stella.. just too much other stuff on my plate atm.

 

I'd say just take a small little break and do other things for a while. I myself ended up taking an almost 5 month break from fooling with xbox emulators.

 

Anyways about these blargg filters. Does he have some all ready to go for the Atari 2600?

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