Jump to content
IGNORED

Stella usage by OS and hardware type


stephena

Stella and OS, 32/64-bit usage  

49 members have voted

  1. 1. What version of Stella do people use?

    • Windows 7/8/10 32-bit
    • Windows 7/8/10 64-bit
    • Windows pre-7 32-bit
      0
    • Windows pre-7 64-bit
      0
    • Linux 32-bit
      0
    • Linux 64-bit
    • OSX 64-bit
    • Older version, or not listed above

  • Please sign in to vote in this poll.

Recommended Posts

I can do some testing on Win32. If that makes you feel better. icon_wink.gif

 

If you like, that would be great. But there's also the issue of our ongoing optimization/threading/etc only being done on 64-bit systems. It may be that we'll optimize for 64-bit and hurt 32-bit in some way. Not that I mind too much, since I believe 64-bit is the future. It's just that when we don't actively use/test on a certain system/OS/etc, there will inevitably be bit-rot, and if not many people are using it, not many will see/report it. I try to write code that doesn't assume 32 or 64-bit, but that only goes so far.

Link to comment
Share on other sites

You can run/test Stella 32-bit on Windows 64-bit. I don't think there's any advantage to a 64-bit Stella version unless you plan on Stella using more than 4GB of ram. If people ran Stella 32-bit on Windows 64-bit I doubt they would notice any difference. Linux is a little different as you have to add 32-bit support to Linux 64-bit to run 32-bit programs.

Link to comment
Share on other sites

I feel the sweet time-frame for dropping 32-bit support is about 2 years out. I make that assumption based around anecdotal information and casual conversation. I know folks that are using PCs and OS'es from the mid-2000's.

 

---

 

These old PC's are kept in service as music players, photo archiving systems, email and old MS Office rigs, ebay'ing, buying concert tickets and other utilitarian functions. The owners of these old rigs, however, have moved on to smartphones for social media and that sort of thing. In essence they're using 2 classes of devices.

 

I've seen them put their phone down beside the computer and boot up classic emulators on XP and 7. They like the bigger screen.

Edited by Keatah
Link to comment
Share on other sites

You can run 32-bit Stella in 64-bit Windows, but I don't, since I tend to dogfood my software and I run only 64-bit where possible. And if I don't test it, then I'm not sure if anyone else does either.

 

The advantages of 32/64-bit, and whether everyone should move to 64-bit is actually an ongoing discussion beyond Stella. I personally think we should be moving to 64-bit entirely, and retiring 32-bit completely, even if the app doesn't need more than 4GB RAM (there are other advantages, namely many more registers that allow the program to run faster, etc). OSX has pretty much done it, Linux is well on its way, but Windows is the holdout. But it is changing, in that many games are now being released that are 64-bit only.

 

In the long run, we will have 64-bit everywhere, even where it technically isn't really needed (same as we don't use 16-bit software anymore, even though some apps technically could be). I don't plan to discontinue it in Stella as long as the build environments allow it. But I personally don't use or test 32-bit software at all.

  • Like 2
Link to comment
Share on other sites

If you like, that would be great. But there's also the issue of our ongoing optimization/threading/etc only being done on 64-bit systems. It may be that we'll optimize for 64-bit and hurt 32-bit in some way. Not that I mind too much, since I believe 64-bit is the future. It's just that when we don't actively use/test on a certain system/OS/etc, there will inevitably be bit-rot, and if not many people are using it, not many will see/report it. I try to write code that doesn't assume 32 or 64-bit, but that only goes so far.

Whenever I changed a header file, I regularly switch the build target anyway. Makes no difference, since VS compiles everything from scratch anyway.

 

Wait: Why would threading not work with 32 bit?

Edited by Thomas Jentzsch
Link to comment
Share on other sites

It's not that threading wouldn't work, but that certain assumptions made for 64-bit systems may not hold true for 32-bit. For example, with threading, you typically have a function call for every thread. Function call overhead is higher for 32-bit vs. 64-bit, since with the former parameters are passed on the stack, and with the latter they are typically passed in registers (since there are more registers to handle these things). So something that seems cheap/free on one architecture is not so free on another. And this is the real issue; we're dealing with 2 separate architectures. While 32-bit software can run on 64-bit hardware, because of certain assumptions it may not run optimally.

 

Theoretically, the more we take advantage of 64-bit, the more that it will diverge from 32-bit and treat that platform as a second-class citizen. And that's fine by me, since I think we should be moving to 64-bit anyway. I just wanted to point out that the 32-bit builds may eventually degrade as we diverge from 'their way of doing things'.

Link to comment
Share on other sites

I must admit that I don't see any real-world performance benefit of switching to 64bits entirely. Any performance gains from improved register allocation and funcition dispatch are likely to be completely negligible for Stella. Besides, there is nothing we have to do to enable this: if we build a 64bit binary, we get those things for free.

 

Stopping to test on 32bit systems and stopping to worry about the speed penality of 64bit arithmetics is a whole different game, though, and I am all for it :) In particular, using 64bit integers would open up the road for future code simplifications: we could just count clocks and wouldn't have to care about possible overflows.

Link to comment
Share on other sites

My wife, having gotten into classic gaming via emulation, considers Stella in its current state a rather complete and polished emulator except for a few remaining loose ends. Most are already noted on the issues page @ github.

 

What that has to do with the current 32bit vs 64 bit discussion I have no idea, but she told me to post it, so I did.

Link to comment
Share on other sites

It's not surprising that some people are satisfied with Stella as-is while others consider it incomplete. It really depends on what you use it for. For the end user just wanting to play a game from their youth, then yes, it probably is mostly complete (especially after the new TIA core in 5.0). But for developers and OCD people (like me), it's not yet done, and in fact may never be fully done. And 32 vs. 64-bit falls into that category.

  • Like 2
Link to comment
Share on other sites

Stopping to test on 32bit systems and stopping to worry about the speed penality of 64bit arithmetics is a whole different game, though, and I am all for it :) In particular, using 64bit integers would open up the road for future code simplifications: we could just count clocks and wouldn't have to care about possible overflows.

 

If that's the case, I say we just move to uInt64 in the code for counters and be done with it. It will not hurt 64-bit (where the int is 64-bit anyway), and while it may slow down on 32-bit, it still satisfy Thomas' requirement that we're not intentionally crippling 32-bit.

 

EDIT: Or to put it another way; if we find a way to simplify code or make it faster by moving to 64-bit at the slight expense of 32-bit, I have no problem doing it. One is going to be around for probably the rest of my professional working life, and the other is probably going to disappear in a year or two. So it makes sense what we should optimize for.

Link to comment
Share on other sites

 

I think Kid Vid support falls in the not done yet category.

 

Oh, there are many things that fall in that category (the issue list contains over 60 items). It's just that many people don't realize that it's missing, since they may never have used it on a real system. Kidvid support is actually already there: https://github.com/stella-emu/stella/issues/77

Link to comment
Share on other sites

For the end user just wanting to play a game from their youth, then yes, it probably is mostly complete (especially after the new TIA core in 5.0).

Well, even there we still have things to do, e.g. better Cosmic Ark start effect or AtariVox support without needing the hardware. And quite some smaller fixes

 

Also we have a better sound core in the pipe.

  • Like 2
Link to comment
Share on other sites

  • 1 month later...

I'm clinging on to the iOS (jailbreak) DPC+ capable build that is Ver 3.9.3.

That creator did get to the 4.+ builds on Android, but disappeared Summer 2015.

If I knew how to build the iOS ARM version with his front end, I would compile it myself for my personal use.

 

Blutooth broke on iOS with the Jailbreak with BTstack 1.0-1 with Wii Remotes. I still use the 0.8 build.

And Android broke Wii Remote use with their Bluetooth change in Android 4.1 and higher!

 

Don't cry for me Portland Retrogaming, but

I have to use the last 2016 build of Super Cobra Arcade because Stella 3.9.3 doesn't do CDF Super Cobra or CDF Draconian. :_(

I spent a lot for 2 Wii Remotes and 2 Wii Controller Gamepad attachments! :mad:

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