Jump to content
IGNORED

Stella 2.8 released


stephena

Recommended Posts

OK, I promised that the next major release would be 3.0, but there's a few things in the pipeline that I wanted to push out sooner. So here is 2.8 :) Major changes in this release are the CRT Simulation effects mentioned in several other threads. Also, there are some nice debugger improvements and bugfixes, as follows:

 

  * Added CRT simulation effects as described in the AtariAge posting
'CRT emulation for Stella'.  For now, this requires OpenGL 2.0 or
greater with support for GLSL (GL Shading Language).  This code
will be expanded on and optimized in future releases.

 * Adding editing of extended RAM in the debugger RAM UI.  The RAM
'spreadsheet' now shows the entire address space of RAM in the
system, in 128 byte increments.  The first bank shown is zero-page,
with the others following in consecutive order.  The UI takes care
of read vs. write port differences, so you don't have to worry
about the offsets.  For now, all SuperChip based ROMs (EFSC, F4SC,
F6SC, F8SC) as well as 3E, CV, E7 and FASC are supported.

 * All ROMs which include SC extended RAM will now have memory erased if
you attempt to read from the write port.  Related to this,
entering/exiting the debugger will no longer erase the extended RAM.

 * Patching of ROM for bankswitch types 0840, SB, UA and X07 is now
implemented, but hasn't been extensively tested.

 * Visual improvements to the CPU register UI in the debugger; the
SP/A/X/Y registers now have separate decimal and binary views.

 * Tweaked paddle control so that all positions are reachable in game
4 of Activision Casino in both NTSC and PAL versions.

 * SuperCharger/AR ROMs now start with a random value in the CPU
accumulator.  This should fix issues with Dragonstomper always
starting in exactly the same state.

 * Auto-detection for '3F' bankswitching improved; several ROMs
previously detected as 'F8' now work correctly.

 * Updated internal ROM properties database to ROM-Hunter version 5
(thanks go to RomHunter for his tireless research in this area).

 * Added '-exitlauncher' commandline argument and associated UI item,
to specify what happens when you exit a ROM.  Normally, exiting a
ROM brings up the ROM launcher, but this can be disabled for those
using an external frontend (in which case exiting a ROM also exits
from Stella).

 * Re-added '-fastscbios' commandline argument, and added an associated
UI item.  When enabled, the SuperCharger load bars are now completely
removed (and not just sped up as in previous releases).

 * The '-listrominfo' commandline argument now shows all ROM
information built in to the internal database, taking into account
any information in 'personal' stella.pro files.

As usual, the latest release of Stella can be downloaded here. Please report all bugs in this thread or directly by PM.

 

I just wanted to add that this is the first version of the CRT simulation effects, and as such, the code hasn't received a wide assortment of testing. Please provide constructive criticism and feedback for this. As well, I'm still working on the KrokCart cross-platform app, and will hopefully have the first version available soon. After that, I may look for someone to take over as maintainer for the KrokCom software.

 

Finally, now that the big stuff is out of the way in this release, I can finally move to working on 3.0, which will include the updated TIA emulation and built-in disassembler. I expect the next release to be done before the end of this summer.

Link to comment
Share on other sites

Firstly - great job! Congratulations to stephana and all involved with this great new feature!

 

OK - down to the critique :^)

 

I love the pixel texturing effect (particularly the 'staggered' effect - looks just like an old TV I used to use my 2600 on) however, the pixel pattern seems to get corrupted when using 'GL FS Stretch' (I'm running Stella at 1920 x 1200 and there's some strange bars showing up in the pixel pattern).

 

TV Color Bleed is nice but the medium setting feels a little too low and the high setting too high (if you get my meaning).

 

Likewise, TV Image Noise feels like the 'low' setting isn't low enough - could do with it being a little more subtle.

 

What does TV Phosphor Burn-off do? Haven't noticed any real difference with it either on or off...

 

Lastly, two things - the gamma changes quite drastically using these new filters - it'd be nice if that were controllable. Also, the 'glow' effect is a little strong for my taste - it'd be nice if this was adjustable too. OK - one last one - the glow seems quite low-res as well - looks kinda blocky.

 

This is off to a great start though - really looking forward to seeing how it develops!

Link to comment
Share on other sites

Fantastic! The CRT effects are very cool - and useful. By disabling the normal phosphor effect, then enabling TV Color Bleed (low) and Phosphor Burn-off, you get a really good representation of real-world flicker.

 

For some examples check Stellar Track, Lady Bug, Pac-Man, Gingerbread Man and the title screen for Juno First (which even shows the vertical banding in the title).

 

Nicely done!

Link to comment
Share on other sites

I like the TV filters a lot. My 2 cents:

1. Color texture looks good, but I think the Color bleeding and Image noise effects should be scaled together with the screen resolution. For example, when I set the screen to 1024x768, the Color bleeding is far less noticeable than in the standard 640x480 resolution.

2. Color bleeding is when chrominance signal becomes shifted with relation to luminance signal (due to the former having lower resolution than the latter, or due to a TV set's deficiency). What yuou called "color bleeding" is in fact a kind of "glow" effect, which is an entirely different thing.

Link to comment
Share on other sites

If you don't have OpenGL support, or (more likely) the drivers say you have OpenGL support when you really don't, then Stella will fail to start the next time. For now, you'll have to edit the config file and manually delete the line 'video=gl'. The problem with adding a 'fallback to software mode' setting is the latter case, where your operating system reports to have OpenGL when it really doesn't. From the Stella POV, it can't know that OpenGL isn't working when the OS specifically said it was.

 

Also, the requirements are OpenGL 2.0 or greater with GLSL, and 'gl_texrect' must be turned off. If either of these isn't met, the UI for TV effects will be disabled, and you won't be able to use them. Furthermore, I suggest downloading the most recent drivers for your video card, which should include OpenGL drivers. Worst case scenario is you have to manually edit the config file again and delete the aforementioned line. As per the documentation, the config file is $HOME/.stella/stellarc for Linux, and %My Documents%\Stella\stella.ini for Windows (OSX probably won't have any issues, as it supports OpenGL out of the box).

Link to comment
Share on other sites

Also, the requirements are OpenGL 2.0 or greater with GLSL, and 'gl_texrect' must be turned off. If either of these isn't met, the UI for TV effects will be disabled, and you won't be able to use them. Furthermore, I suggest downloading the most recent drivers for your video card, which should include OpenGL drivers.

I go the latest drivers for my rather old Ati Radeon 9200.

 

How do I find out which OpenGL I have and if I have GLSL? Does Stella have some debug output?

 

EDIT: It seems that the Radeon 9200 doesn't support GLSL in hardware. :sad:

 

stdout.txt:

Video rendering: OpenGL mode

Vendor: ATI Technologies Inc.

Renderer: RADEON 9250/9200 Series DDR x86/MMX/3DNow!/SSE

Version: 1.3.1072 WinXP Release

Color: 32 bit, 8-8-8-8

Filter: GL_NEAREST

Extensions: None

 

Joystick devices found:

No joysticks present.

Edited by Thomas Jentzsch
Link to comment
Share on other sites

Also, the requirements are OpenGL 2.0 or greater with GLSL, and 'gl_texrect' must be turned off. If either of these isn't met, the UI for TV effects will be disabled, and you won't be able to use them. Furthermore, I suggest downloading the most recent drivers for your video card, which should include OpenGL drivers.

I go the latest drivers for my rather old Ati Radeon 9200.

 

How do I find out which OpenGL I have and if I have GLSL? Does Stella have some debug output?

If you add '-showinfo 1' to the commandline when you launch it, there should be files generated named stderr.txt and stdout.txt. The info will be in one of those. I think the main requirement is OpenGL 2.0+. The GLSL stuff comes by default in versions >= 2.0.

Link to comment
Share on other sites

Why does Stella need to put a folder in "My Documents"? It really bothers me... At least with the older versions we could use "disable_profiles.txt" but that doesn't work anymore. :sad:

 

Anyways, Thanks for all the hard work you put into this. Once I figure out OpenGl, I look forward to seeing the CRT effects. :)

Link to comment
Share on other sites

Ok, fixed it.

 

Where do I download the latest OpenGl version?

 

It seems that most links lead to the old 1.1 version.

 

8)

I think there's some misunderstanding.

 

You do not download OpenGL; it's not a program, it's a specification of some standard. You can however download drivers for your graphics card, that support OpenGL specification. However if your graphic card's manufacturer says that your card supports only OpenGL 1.1 and not 2.0, and releases drivers that only support 1.1, you're simply out of luck.

Edited by Kr0tki
Link to comment
Share on other sites

Why does Stella need to put a folder in "My Documents"? It really bothers me... At least with the older versions we could use "disable_profiles.txt" but that doesn't work anymore. :sad:

 

Anyways, Thanks for all the hard work you put into this. Once I figure out OpenGl, I look forward to seeing the CRT effects. :)

There is a new option to specify the base directory for storing all Stella-related info (similar to how disable_profiles.txt worked). I'll refer you to the manual to see exactly how to do it. As for why it's done, Stella config files have to go somewhere. And that 'somewhere' has to be a place that the user can see, since they may have to manually edit config files, or view saved snapshots, etc. This isn't a problem in Linux or OSX, since they have well-defined places to put user data; $HOME/.stella. For most of its history, Windows hasn't had such a place, no doubt a relic of its single-user origins. So most people simply run as Administrator, placing their user data directly with the applications, and having it spread all over the filesystem. And running as Admin all the time is probably the number one reason why Windows can be so virus-ridden.

 

Anyway, sorry if this comes off as a rant, but I'm trying to follow the proper guidelines (laid down by Microsoft only recently, but on other systems for years) that user data shouldn't be mixed with application data, and you shouldn't need to run as Administrator to properly use Windows. The amount of complaints from Windows users convinced me to add functionality to override this, but I strongly recommend that you do not override it. You really shouldn't be running as Admin.

Link to comment
Share on other sites

Ok, fixed it.

 

Where do I download the latest OpenGl version?

 

It seems that most links lead to the old 1.1 version.

 

8)

I think there's some misunderstanding.

 

You do not download OpenGL; it's not a program, it's a specification of some standard. You can however download drivers for your graphics card, that support OpenGL specification. However if your graphic card's manufacturer says that your card supports only OpenGL 1.1 and not 2.0, and releases drivers that only support 1.1, you're simply out of luck.

Yes, this basically sums everything up. Go to webpage of the manufacturer of your video card (ATI, Intel, Nvidia, etc) and download/install the most recent drivers available. If it still doesn't work, then your card doesn't support GLSL, and you won't be able to use the new TV effects.

Link to comment
Share on other sites

Why does Stella need to put a folder in "My Documents"? It really bothers me... At least with the older versions we could use "disable_profiles.txt" but that doesn't work anymore. :sad:

 

Anyways, Thanks for all the hard work you put into this. Once I figure out OpenGl, I look forward to seeing the CRT effects. :)

There is a new option to specify the base directory for storing all Stella-related info (similar to how disable_profiles.txt worked). I'll refer you to the manual to see exactly how to do it. As for why it's done, Stella config files have to go somewhere. And that 'somewhere' has to be a place that the user can see, since they may have to manually edit config files, or view saved snapshots, etc. This isn't a problem in Linux or OSX, since they have well-defined places to put user data; $HOME/.stella. For most of its history, Windows hasn't had such a place, no doubt a relic of its single-user origins. So most people simply run as Administrator, placing their user data directly with the applications, and having it spread all over the filesystem. And running as Admin all the time is probably the number one reason why Windows can be so virus-ridden.

 

Anyway, sorry if this comes off as a rant, but I'm trying to follow the proper guidelines (laid down by Microsoft only recently, but on other systems for years) that user data shouldn't be mixed with application data, and you shouldn't need to run as Administrator to properly use Windows. The amount of complaints from Windows users convinced me to add functionality to override this, but I strongly recommend that you do not override it. You really shouldn't be running as Admin.

 

 

Thanks for the reply. I will be checking out the manual. And don't worry, I didn't see a rant, you just stated your case. In my opinion, I use "My Documents" as a place for my documents (my personal files) it is not a "Random Program Crap" file. The funny thing is I left the "Documents and Settings" file (that comes with XP) and made another "My Documents" because I hated XP putting stuff into it. But a few programs (Acrobat, Stella, DVDfab,...) try to use my new "My Documents" anyways.....

 

Thanks again for everything. ;)

Link to comment
Share on other sites

Ok, fixed it.

 

Where do I download the latest OpenGl version?

 

It seems that most links lead to the old 1.1 version.

 

8)

I think there's some misunderstanding.

 

You do not download OpenGL; it's not a program, it's a specification of some standard. You can however download drivers for your graphics card, that support OpenGL specification. However if your graphic card's manufacturer says that your card supports only OpenGL 1.1 and not 2.0, and releases drivers that only support 1.1, you're simply out of luck.

Yes, this basically sums everything up. Go to webpage of the manufacturer of your video card (ATI, Intel, Nvidia, etc) and download/install the most recent drivers available. If it still doesn't work, then your card doesn't support GLSL, and you won't be able to use the new TV effects.

Ok, I understand now.

 

My computer uses ATI's Radeon X800 SE, which should support OpenGL 2.0.

 

8)

Edited by Rom Hunter
Link to comment
Share on other sites

It seems that the Radeon 9200 doesn't support GLSL in hardware. :sad:

 

 

Yeah, I'm in the same boat Thomas. I got an old Radeon 9200SE.

 

 

@Stephena, I really love what you did with the debugger. I fired up Dig Dug, scrolled down the extended ram and there it was. :) I also did find that search function. Never knew it was there before, and actually I was looking for it in the prompt tab.

 

 

Would you be able to make the prompt tab not case sensitive? Also I found that easy to use "fill to scanline" breakpoint the other day, but I don't seem able to disable it. I read you have to do that through the prompt tab, but when I type "delbreakif 0" nothing happens. I also tried entering the cbp value "delbreakif _scanline==#157" and that didn't work either.

Link to comment
Share on other sites

@Stephena, I really love what you did with the debugger. I fired up Dig Dug, scrolled down the extended ram and there it was. :) I also did find that search function. Never knew it was there before, and actually I was looking for it in the prompt tab.

Yes, this was something I planned for quite some time, but never got around to it. I was fixing some other extended RAM bugs reported in another thread, and I figured I may as well complete the extended RAM debugger stuff entirely. Currently unsupported are the AR, DPC and 4A50 bankswitching schemes. Perhaps in the next release ...

Would you be able to make the prompt tab not case sensitive? Also I found that easy to use "fill to scanline" breakpoint the other day, but I don't seem able to disable it. I read you have to do that through the prompt tab, but when I type "delbreakif 0" nothing happens. I also tried entering the cbp value "delbreakif _scanline==#157" and that didn't work either.

I'll consider the case-sensitive thing, but I guess my UNIX/Linux preferences are showing through again (all commandline stuff in Linux and OSX is case-sensitive). As for the conditional breaks, this is an area that could use improvement; it's on my internal TODO list to add a UI for adding/removing breakpoints, so that you don't have to use the prompt if you don't want to. Currently, you add a scanline BP as you've done, or with the right mouse button on the TIA display in the debugger. The command 'listbreaks' will show which are currently active, and 'delbreakif X' (where X is a number shown in 'listbreaks') will remove them. Basically, what I'll be adding in a future release is a point-n-click of doing what you currently have to type out.

Link to comment
Share on other sites

I'll consider the case-sensitive thing, but I guess my UNIX/Linux preferences are showing through again (all commandline stuff in Linux and OSX is case-sensitive).

That's be great. This always seems to bite me when I'm flipping back and forth making a .cfg file for Distella.

 

As for the conditional breaks, this is an area that could use improvement; it's on my internal TODO list to add a UI for adding/removing breakpoints, so that you don't have to use the prompt if you don't want to. Currently, you add a scanline BP as you've done, or with the right mouse button on the TIA display in the debugger. The command 'listbreaks' will show which are currently active, and 'delbreakif X' (where X is a number shown in 'listbreaks') will remove them. Basically, what I'll be adding in a future release is a point-n-click of doing what you currently have to type out.

 

This sounds sweet, and much easier to use. I just used list breaks, and the conditional BP was there as 00. However it still won't let undo it with delbreakif X. delbreakif X works for me with the breakifs I type in the prompt, but doesn't seem to work for this fill to scanline CBP.

 

EDIT: now it seems to be working??? Maybe I was typing something wrong.

 

 

 

Also good job on showing the values in decimal and binary.

Edited by Omegamatrix
Link to comment
Share on other sites

My nvidia card (with nvidia drivers) has OpenGL < 2.0 but that was not a problem with Stella 2.7.7, I could enable the OpenGL renderer in the UI no problem. Now with version 2.8 every time I enable "opengl" instead of "software" I get an error when I reopen stella, even tough I have not enabled the new TV filters (to be honest, I am not interested, the sharper the picture the better IMO) and gl_texrect = false was set from the start when the config file is created. I think it is unfair to require all users to have OpenGL 2.0 or higher, why not simply disable in the UI those features that require it? I get the following error when opening stella with video = gl:

 

ERROR: Couldn't initialize video subsystem

ERROR: Couldn't create launcher

 

I downloaded the tar file and compiled (gcc 4.2.2) both 2.7.7 and 2.8.

 

As a side comment, would't it be more appropriate instead of saving the config files in "MyDocuments" to save them in %USER%\AppData\Local\Stella ? Just a thought.

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