Jump to content
IGNORED

Stella 6.2 released


stephena

Recommended Posts

13 hours ago, Thomas Jentzsch said:

There is no such option in Stella and I am not sure if the SDL framework supports it. It might be better to solve the problem using the OS, not sure. What you describe seems OS specific.


On the Mac there's a global setting for all programs, which individual programs can override such as here in FaceTime:

 

Audio.thumb.jpeg.ef71808ddb1639b9d4b93e9d4b0ebf59.jpeg

 

Looks like Stella's using this to open up the audio device:

  myDevice = SDL_OpenAudioDevice(nullptr, 0, &desired, &myHardwareSpec,
                                 SDL_AUDIO_ALLOW_FREQUENCY_CHANGE);

 

Per SDL Wiki that nullptr can be replaced with a device name.

SDL_AudioDeviceID SDL_OpenAudioDevice(const char*          device,
                                      int                  iscapture,
                                      const SDL_AudioSpec* desired,
                                      SDL_AudioSpec*       obtained,
                                      int                  allowed_changes)

 

device

a UTF-8 string reported by SDL_GetAudioDeviceName();

 

int i, count = SDL_GetNumAudioDevices(0);

for (i = 0; i < count; ++i) {
    SDL_Log("Audio device %d: %s", i, SDL_GetAudioDeviceName(i, 0));
}

 

  • Like 1
Link to comment
Share on other sites

Encountered a silent crash condition while working on the next entry for the CDFJ tutorial.  By silent I mean the macOS application crash dialog did not appear, though I did find this not-so-helpful ReportCrash in Console:

 

1341209312_ScreenShot2020-07-04at12_17_53PM.thumb.png.2646f461c88b5290f0a61ed0c6a9fcde.png

 

Here's the ROM:

collect3.bin

 

After loading it I entered the Debugger and clicked on to the Cartridge RAM tab. I then scrolled down to 0CA8 and clicked on the cell - this is when Stella silently crashed.

 

I then reloaded it and again entered the Debugger.  This time Stella silently crashed as soon as I clicked on the Cartridge RAM tab. I tried this a few times and it crashed every time.

 

I don't recall what size the Debugger window was set to, but the sliders where almost all the way to the left.  I increased them and the crashing appears to have stopped.

 

I then decreased them all the way to 1160 and 770 and the crashes returned, but it doesn't always crash (so it's possible the larger window didn't really fix it, hence my use of "appears").

 

Here's a successful sequence with a larger debugger window. After loading Collect 3 and starting the game you'll see this:

 

554339147_ScreenShot2020-07-04at12_10_36PM.thumb.png.0974879922f461b4134ce9923abe3d21.png

 

After entering the debugger and changing Cartridge RAM 0CA8 to F0:

 

2120717107_ScreenShot2020-07-04at12_10_51PM.thumb.png.0126243cdc8a2bb0db4ee4008e059ed0.png

 

You'll now see some red playfield pixels at the top-left:

 

1525511144_ScreenShot2020-07-04at12_10_55PM.thumb.png.03bb95ff99ddb90564d96df432784bab.png

Link to comment
Share on other sites

Stella requires g++6 and C++14 support.  Over the next year or so, the minimum requirements will move to g++7 and C++17.  For Linux, I'm using KDE Neon 18.04 (based on Ubuntu 18.04), soon to be moving to 20.04.  So it's likely that Xenial (which is 16.04 I think?) is too old.

Link to comment
Share on other sites

Yes, so this is the point. Ubuntu 16.04 has g++ 5.3.1, so I should build it on newer version. However, Stella 6.0.1 in Retropie builds just fine and even the Ubuntu provided Stella 4.7 is not so bad, so it is not a problem. Seems that Finally I found a way how to run Stella fast on my Banana Pi.

Link to comment
Share on other sites

Stella 6.0.1 may build fine with older versions of g++, but I'm referring to the most recent release: 6.2.1.  That's the one that requires g++6 and C++14.  See https://stella-emu.github.io/development.html for a description of what is required.  This will be updated as we move to newer version of the compiler and C++ standard.

Link to comment
Share on other sites

Sorry to bring this up again, but I'm going to again request being able to have a 1x gameplay window with no interpolation/effects/etc.

 

Time Machine is a good tool, but it has a few shortcomings from my non-developer's point-of-view. Unless I'm doing this wrong (which is entirely possible).

 

Here's what I'm doing:

  • I play a game with Time Machine running, set at 1 frame intervals. Buffer size 1000 states, horizon 60 minutes.
  • I enter the Time Machine UI and save the states to disk.
  • Rewind/Unwind and scrubbing controls work fine. But I can't step forwards or backwards in single-frame increments throughout the entire recording (the recordings can be quite long). I have to enter the debugger to do that.
  • In Time Machine when I hit "Continue" the emulation starts from that point without using any of the save states past that point. So if I do that, I have to reload the states again. Yes - I get that this is the way it's designed to work, because you're continuing the emulation, not save state playback. But it's incredibly frustrating having something that in appearance looks like a media player, but doesn't behave that way. A "Continue" icon would be more appropriate (see below) than a "Play" icon. Also, a true playback button where it continues the playback using all of the save states would be incredibly useful for watching playback in real time within Time Machine.
  • I can't save screenshots from the Time Machine UI directly. Or maybe I just can't figure out how to do it. A save screenshot button there would be helpful.
  • To save screenshots, I have to enter the debugger. But the debugger doesn't have the Time Machine playback controls in it. I can move backwards in time there, but I can't move forwards - it ignores save states beyond the point in time where I entered the debugger. So I have to again enter the Time Machine UI, reload the save states, move to the point I want to capture frames from, move back to the debugger, and save the screenshots from there, while only moving backwards to do so.

And this is just to capture screenshots at 1x.

 

The other problem, is that this still isn't going to work with capturing video. When I capture the videos for AtariAge's YouTube channel, they need to be scaled up to HD (so YouTube doesn't do it badly). The problem is, Stella is now applying its own interpolation, which is going to be interpolated a second time when scaling in video editing software. The end results are far cleaner if I only have to interpolate the video once. I can't get rid of the artifacts from Stella's interpolation. Hence, the need for 1x capture. Plus, it solves the screenshots problem, since I can easily go through and just lift the screenshots I need from the captured video. I'd prefer to use the newest version of Stella because the emulation is more accurate, but I find myself having to stick with an older version right now. I appreciate the desire and effort to accurately mimic the appearance of TV aspect ratios. But I really have a need to be able to shut it off.

 

Thanks for listening.

 

Example of a continue icon: continue-icon.gif.05c8d6cddee0a4cb3f5b1424bce84852.gif

Link to comment
Share on other sites

4 hours ago, Nathan Strum said:

Sorry to bring this up again, but I'm going to again request being able to have a 1x gameplay window with no interpolation/effects/etc.

First let me say, that I can understand your request. However a 1x window will require to disable large parts of UI (dialogs, messages), because these are tailored to a minimum size of 2x. This has been requested before, but it is not an easy task. A 2x window without scaling would be much simpler to implement. If that works for you.

 

4 hours ago, Nathan Strum said:
  • I play a game with Time Machine running, set at 1 frame intervals. Buffer size 1000 states, horizon 60 minutes.

How large do you choose the uncompressed buffer size? 

 

4 hours ago, Nathan Strum said:
  • I enter the Time Machine UI and save the states to disk.
  • Rewind/Unwind and scrubbing controls work fine. But I can't step forwards or backwards in single-frame increments throughout the entire recording (the recordings can be quite long). I have to enter the debugger to do that.

That's correct. 60 minutes of a 60 Hz game have 216,000 frames (for BoulderDash, 1,000 states require 179 MB, with 216,000 states we would be at 39 GB!). So older states have to be compressed by removing more and more intermediate states. Only the states within the uncompressed range are saved completely.

 

4 hours ago, Nathan Strum said:
  • In Time Machine when I hit "Continue" the emulation starts from that point without using any of the save states past that point. So if I do that, I have to reload the states again. Yes - I get that this is the way it's designed to work, because you're continuing the emulation, not save state playback. But it's incredibly frustrating having something that in appearance looks like a media player, but doesn't behave that way. A "Continue" icon would be more appropriate (see below) than a "Play" icon. Also, a true playback button where it continues the playback using all of the save states would be incredibly useful for watching playback in real time within Time Machine.

Good point, I will look into this. However, due to the compression, the playback would run at different speeds. Alternatively a state in the compressed range could be displayed as long as the interval to the next compressed state (which can be several seconds). What would you prefer?

 

4 hours ago, Nathan Strum said:
  • I can't save screenshots from the Time Machine UI directly. Or maybe I just can't figure out how to do it. A save screenshot button there would be helpful.

Hm, IIRC some hotkeys (incl. save screenshot used to work). I will double check.

 

4 hours ago, Nathan Strum said:
  • To save screenshots, I have to enter the debugger. But the debugger doesn't have the Time Machine playback controls in it. I can move backwards in time there, but I can't move forwards - it ignores save states beyond the point in time where I entered the debugger. So I have to again enter the Time Machine UI, reload the save states, move to the point I want to capture frames from, move back to the debugger, and save the screenshots from there, while only moving backwards to do so.

I just tested what you describe. I can move forward within the debugger (either by using the buttons or the hotkeys). Can you double check this please?

 

4 hours ago, Nathan Strum said:

And this is just to capture screenshots at 1x.

 

The other problem, is that this still isn't going to work with capturing video. When I capture the videos for AtariAge's YouTube channel, they need to be scaled up to HD (so YouTube doesn't do it badly). The problem is, Stella is now applying its own interpolation, which is going to be interpolated a second time when scaling in video editing software. The end results are far cleaner if I only have to interpolate the video once.

The interpolation is required to have the correct aspect ratio. I figure that in your case you would prefer to do that on your own, correct? Personally I wouldn't want to expose such a functionality to the normal users, but maybe we could add a command line switch which disables the scaling. Would that work for you?

 

4 hours ago, Nathan Strum said:

I can't get rid of the artifacts from Stella's interpolation. Hence, the need for 1x capture. Plus, it solves the screenshots problem, since I can easily go through and just lift the screenshots I need from the captured video. I'd prefer to use the newest version of Stella because the emulation is more accurate, but I find myself having to stick with an older version right now. I appreciate the desire and effort to accurately mimic the appearance of TV aspect ratios. But I really have a need to be able to shut it off.

Understood.

 

4 hours ago, Nathan Strum said:

Example of a continue icon: continue-icon.gif.05c8d6cddee0a4cb3f5b1424bce84852.gif

Thanks. It looks good, but at least for me its meaning is not obvious. Maybe a simple exit button would work better? Also, where should we put that button? Besides the play button? Probably the play button should be moved into the middle of the navigation buttons. And the exit/continue button where the current play button is. Thoughts?

Link to comment
Share on other sites

2 hours ago, Thomas Jentzsch said:

First let me say, that I can understand your request. However a 1x window will require to disable large parts of UI (dialogs, messages), because these are tailored to a minimum size of 2x. This has been requested before, but it is not an easy task. A 2x window without scaling would be much simpler to implement. If that works for you.

2x would be perfectly fine, without interpolated scaling. This is typically what I capture in with earlier Stella versions anyway. (I referred to 1x only because that's how getting clean screenshots had been referred to elsewhere in this thread - and that seemed to be the path forward.)

2 hours ago, Thomas Jentzsch said:

How large do you choose the uncompressed buffer size?

Not sure - probably the default. I don't have the current version of Stella on this computer.

2 hours ago, Thomas Jentzsch said:

That's correct. 60 minutes of a 60 Hz game have 216,000 frames (for BoulderDash, 1,000 states require 179 MB, with 216,000 states we would be at 39 GB!). So older states have to be compressed by removing more and more intermediate states. Only the states within the uncompressed range are saved completely.

That's what I gathered from the documentation (which I do try to read before posting these sorts of things ;) ).

2 hours ago, Thomas Jentzsch said:

Good point, I will look into this. However, due to the compression, the playback would run at different speeds. Alternatively a state in the compressed range could be displayed as long as the interval to the next compressed state (which can be several seconds). What would you prefer?

If I'm understanding correctly, that would basically shift the per-frame accessibility to the present state you were in, based on where you were in the timeline? Sort of like a sliding window of finer control? That would be pretty handy I would think. But I don't know if that works best for developers.

2 hours ago, Thomas Jentzsch said:

Hm, IIRC some hotkeys (incl. save screenshot used to work). I will double check.

I tried the screenshot hotkey from the Time Machine UI - nothing showed up in the Snapshots folder.

2 hours ago, Thomas Jentzsch said:

I just tested what you describe. I can move forward within the debugger (either by using the buttons or the hotkeys). Can you double check this please?

As I recall, if I rewound a bit, then exited Time Machine directly to the debugger, it wouldn't step ahead from that point. I could go backwards and then forwards - but not past the point where I exited the Time Machine. The step ahead (unwind?) button was greyed out at times, and I wasn't at the end of the recorded save states.

2 hours ago, Thomas Jentzsch said:

The interpolation is required to have the correct aspect ratio. I figure that in your case you would prefer to do that on your own, correct? Personally I wouldn't want to expose such a functionality to the normal users, but maybe we could add a command line switch which disables the scaling. Would that work for you?

If I can access it on a Mac, that would be perfect! You're correct - I want to set the aspect ratio during video editing or after capturing screenshots from the video.

2 hours ago, Thomas Jentzsch said:

Thanks. It looks good, but at least for me its meaning is not obvious. Maybe a simple exit button would work better? Also, where should we put that button? Besides the play button? Probably the play button should be moved into the middle of the navigation buttons. And the exit/continue button where the current play button is. Thoughts?

I'll admit, I had to Google the Continue icon, and it's not 100% universal. Exit (or Return) might be better than Continue. Continue implied to me that the playback was going to continue.

 

Thanks for considering this. I do appreciate it (and all of the work everyone puts into Stella!).

Link to comment
Share on other sites

1 hour ago, Nathan Strum said:

That's what I gathered from the documentation (which I do try to read before posting these sorts of things ;) ).

One of the very few. :) 

 

1 hour ago, Nathan Strum said:

If I'm understanding correctly, that would basically shift the per-frame accessibility to the present state you were in, based on where you were in the timeline? Sort of like a sliding window of finer control? That would be pretty handy I would think. But I don't know if that works best for developers.

Not sure what you mean. But most likely not what I meant. :) 

 

I was wondering how long the frames resulting from a saved state should be displayed if you replay the states. Especially for the compressed states.

 

1 hour ago, Nathan Strum said:

I tried the screenshot hotkey from the Time Machine UI - nothing showed up in the Snapshots folder.

You were right. But I have added that function now.

 

1 hour ago, Nathan Strum said:

As I recall, if I rewound a bit, then exited Time Machine directly to the debugger, it wouldn't step ahead from that point. I could go backwards and then forwards - but not past the point where I exited the Time Machine. The step ahead (unwind?) button was greyed out at times, and I wasn't at the end of the recorded save states.

Please double check. On my machine this works.

 

1 hour ago, Nathan Strum said:

Thanks for considering this. I do appreciate it (and all of the work everyone puts into Stella!).

You're welcome.

Link to comment
Share on other sites

Two small requests for Stella:

 

1) Is there any way to prevent Stella from toggling Pause when the window loses focus (on Linux with XFCE)?    When developing, I often slow down the emulation and use Pause to pinpoint the exact frame containing an issue.   The I click on the editor window, and annoyingly the emulator un-pauses and the issue is lost!

 

2) It would be great if the emulation speed could be controlled via keypresses, so that you can easily speed up/slow down the emulation.   I am aware of the turbo mode, which is handy in some situations, but more fine control would be very useful.

 

Thanks,

Chris

Link to comment
Share on other sites

12 minutes ago, stephena said:

For feature requests, please create an issue at https://github.com/stella-emu/stella/issues.

The first has specific code that does that.  So I guess we'd need an option to not do it.  Seems easy enough.

The second requires a little more work, but also seems doable.

Will do - thanks for the fast response Stephen!

 

Chris

Link to comment
Share on other sites

For me personally, I can almost definitely say never.  I don't have time to work on another large project.  In fact, my time on Stella has been limited over the past year or so.

 

As for starting a new emulator project for the 7800, there are already many out there.  They just need more manpower to take them to completion.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

On 7/14/2020 at 5:15 PM, Karl G said:

I noticed that the right part of snapshots are chopped off when taking screenshots from fullscreen mode under Mac OS, but the snapshots look normal when taken from windowed mode.  I submitted an issue for this.

This is now fixed, and will be in the next release.

  • Like 1
Link to comment
Share on other sites

On 7/22/2020 at 11:43 PM, cd-w said:

2) It would be great if the emulation speed could be controlled via keypresses, so that you can easily speed up/slow down the emulation.   I am aware of the turbo mode, which is handy in some situations, but more fine control would be very useful.

I just implemented this one. :) 

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