Jump to content

Photo

Stella 5.0 released

stella new tia debugger

118 replies to this topic

#101 stephena OFFLINE  

stephena

    River Patroller

  • Topic Starter
  • 2,978 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Fri Aug 18, 2017 9:45 AM

Hey Stella Team: :)

 

1) Is there a way to dump ram to a text file? I tried dump and it shows in the debugger. I would like to be able to export it or at least be able to copy paste it.

2) Stella recently caught a bug for me where I had a cmp ($F7,X) command reading an somewhere that must have had some undefined bits. I am thankful for that, but it was extremely hard to pin down that one line of code. The problem was I once I saw it happen in the debbuger I would rewind and go forward again scanline by scanline, but the undefined value would not be the same when I hit that line of code so it would work. I had the same issue with trying to locate it with savestates.

3) It looks like strobes are now working in the debugger, thank you very much!

4) I made use of "X" and "Y" in the terminal command set by using a breakif statement for pc==address and y==some value. The listing in the debugger seems to imply to me that X an Y can only be used to set a value, but obviously and to our benefit that is not the case. Can this info please be updated to be more clearer?

5) I ran into glitch in Stella with a rom that changes from a splash screen to instruction screen. The first few frames of instruction screen the bottom line of text is unchanged, but as soon after it rises up a few lines. Looking in the debugger the scanline those graphics appear on is the same. I am just taking a guess, but maybe this is some code that automatically adjusts the Y pos start of the display? Something that has been tweeked so that Stella can handle games that change the display count (i.e. PAL --> NTSC) on the fly with a menu?

 

I will PM the rom to you stephena and DirtyHairy.

 

Thanks again for all the hardwork. I know that I am listing a lot of problems here, but I only want to make Stella better.

 

I will address each point in turn:

  • There is no way to save RAM to text file currently.  I have created an issue for it: https://github.com/s...ella/issues/202.  BTW, this is now the preferred way to report bugs and or request enhancements; create an issue on Github.  Also, each issue should be for one specific thing.
  • Rewind outside the debugger is https://github.com/s...tella/issues/71.  There is no ETA for this yet.  As for the undefined value changing, this was because the random data wasn't being saved to the state file; this is now fixed.
  • Good that strobes are working.  In addition to a completely new TIA implementation, the debugger got a huge overhaul in 5.0 too.
  • I'm not sure what you mean.  The 'X' and 'Y' commands can indeed only be used to set the registers; try just typing the command itself, and it will request you to enter more data.  The fact that the registers can be used in conditional breakpoints has nothing to do with the 'X' and 'Y' commands.  In fact, all registers can be used in conditional breakpoints.
  • This is being looked into.


#102 Keatah ONLINE  

Keatah

    Quadrunner

  • 18,338 posts

Posted Fri Aug 18, 2017 12:00 PM

These are the settings I used. Screenshot is from older stella, but the settings are the same. I'm looking to get more bloom and smear in the vertical direction. Not sure that's possible with these settings.

 

Anyways. Does the team plan ever plan on making additions or changes to the Blargg library? Is that realistic? It's pretty good. But it's also dated. 10 years of hardware advancements and progress in OpenGL surely allow for more capability.

Attached Thumbnails

  • 64931656.png


#103 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,725 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Fri Aug 18, 2017 12:23 PM

Blargg is very efficiently coded, with preference to speed. And it mostly concentrates on horizontal effects. The code is very difficulty to maintain, we were lucky to get some minor fixes into it. So no major changes from us to be expected there.

 

We lately looked for other libraries, but we have not decided anything. Most other filter libraries are used for scaling etc. which is not what we want. OpenEmu has a library called CRT which looks promising, but maybe has less flexibility. We would have to find the time to investigate. If you want to help, you are more than welcome to evaluate the various existing filters in other emulators and make suggestions.

 

BTW: What would be the benefits you are expecting? Do you really want to play emulating a very bad CRT?



#104 Keatah ONLINE  

Keatah

    Quadrunner

  • 18,338 posts

Posted Fri Aug 18, 2017 12:40 PM

BTW: What would be the benefits you are expecting? Do you really want to play emulating a very bad CRT?

 

I suppose I'm looking for something with a little more bloom and spill over. Not necessarily a bad CRT.  Maybe get some crystal-like scintillation (sparkle) going. More depth and vibrancy. Get rid of the flat feel - which comes from the display technology.

 

Well my immediate solution is to place a piece of glass in front of the LCD and turn up the saturation/brightness. Provides for an interesting look. A glass feel.

 

Anyways. It's all just ideas and things to think about for the future.


Edited by Keatah, Fri Aug 18, 2017 12:41 PM.


#105 Omegamatrix OFFLINE  

Omegamatrix

    Quadrunner

  • 6,125 posts
  • Location:Canada

Posted Fri Aug 18, 2017 3:20 PM

BTW, this is now the preferred way to report bugs and or request enhancements; create an issue on Github.  Also, each issue should be for one specific thing.

I'll about making a Github account to report issues.
 

I'm not sure what you mean.  The 'X' and 'Y' commands can indeed only be used to set the registers; try just typing the command itself, and it will request you to enter more data.  The fact that the registers can be used in conditional breakpoints has nothing to do with the 'X' and 'Y' commands.  In fact, all registers can be used in conditional breakpoints.

When I was thinking about using 'y' in a breakif statement, the first thing I did was use help to see if it could. The listing for 'y' says:

y - Set Y register to value xx
 

That led me to tunnel thinking that 'y' could only be use to set values, not read them. Now I know different, but it was a little misleading to me.



#106 stephena OFFLINE  

stephena

    River Patroller

  • Topic Starter
  • 2,978 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Fri Aug 18, 2017 3:30 PM

I'll about making a Github account to report issues.

 

In the process, make sure to quickly look over the already reported issues, so that you don't report something that is already there.



#107 stephena OFFLINE  

stephena

    River Patroller

  • Topic Starter
  • 2,978 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Fri Aug 18, 2017 5:17 PM

I'll about making a Github account to report issues.

 

Also, please consider when creating an issue to subscribe to it, so that if I follow up with any questions/further clarification, you will see it.  Basically, I'm trying to move all discussion to Github for bugs/enhancements.  They can be mentioned here, but for anything more in-depth, the discussion should happen there (so it's all in one place, and all relevant developers can see it).

 

EDIT:  For example, I need clarification on saving to RAM.  Please see https://github.com/s...ella/issues/202 for more info.



#108 stephena OFFLINE  

stephena

    River Patroller

  • Topic Starter
  • 2,978 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sun Aug 20, 2017 1:18 PM

Stella 5.0.2 is now released, with fixes for some of the issues mentioned in this thread (the others are still in Github tracker, and will be looked at soon).  As usual, downloads are at https://stella-emu.g.../downloads.html, and donations would be appreciated at https://stella-emu.g.../donations.html.

 

Changes are as follows:

  • Improved emulation of Trakball controller, eliminating bias in left/right directions.  Thanks to Thomas Jentzsch for the idea and code. Related to this, added 'tsense' commandline argument and associated UI item, to allow changing sensitivity of mouse trackball emulation.
  • Added preliminary support for multi-threading in the Blargg TV effects code.  This is still a WIP; more improvements are coming.  Related to this, further optimized the TIA rendering code.  Also added 'threads' commandline argument and associated UI item to enable/disable multi-threading.  Thanks to Thomas Jentzsch for the bulk of the work in this area.
  • Blargg TV effects now no longer cut off the right side of the image (by several pixels) in certain cases.
  • Updated CDF scheme to latest version from Spiceware.  In addition, this scheme now supports versioning, so older and newer ROMs will continue to work.
  • Fixed an annoying bug in Linux, where Alt-Tab'ing out of a window and then back again would pass a 'Tab' key event to the app, which in most cases would navigate to the next UI element.
  • Fixed potential issue with state file saving and the debugger; under certain circumstances a rewind would give a different state than before (note that the state file format has changed because of this).
  • Fixed lockups when entering the debugger under certain circumstances.
  • The debugger 'listtraps' command now shows all traps set, not just the first one(s).
  • Reverted joystick changes for Decathlon ROMs from last release, as it was added by mistake.

Finally, while bugs can be reported and briefly discussed here, the main method of reporting bugs is now to create an issue in the Stella github tracker: https://github.com/s...u/stella/issues



#109 Buzbard OFFLINE  

Buzbard

    Chopper Commander

  • 224 posts
  • Rhindle & Grundle go to White Castle.
  • Location:Washington State

Posted Mon Aug 21, 2017 9:02 AM

Had a helluva time just downloading 5.0.2, Norton Antivirus would delete it before I could do anything with it.

Kept reporting a "Heur.AdvMLC" virus, turns out it's just low reputation because there's not much community usage yet.

I got it sorted and working fine.

 

Thanks for all the hard work on this release, very much appreciated! :)


Edited by Buzbard, Mon Aug 21, 2017 9:03 AM.


#110 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,725 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Mon Aug 21, 2017 10:50 AM

Norton used to be good. ;)



#111 Buzbard OFFLINE  

Buzbard

    Chopper Commander

  • 224 posts
  • Rhindle & Grundle go to White Castle.
  • Location:Washington State

Posted Mon Aug 21, 2017 11:36 AM

Norton used to be good. ;)

For me it still is, kinda, my ISP provides it for free. So, I guess I can't really complain.



#112 Omnituens OFFLINE  

Omnituens

    Combat Commando

  • 2 posts

Posted Wed Aug 23, 2017 4:27 AM

I've been using Stella for a while now, and it just keeps getting better and better! I'm in the middle of writing my own emulator as a challenge in a scripting language, and the debugging tools in Stella have proved invaluable! Is there currently a way to set the initial value of INTIM? At the moment I've got the CPU done and I'm moving on to the timer stuff (basically adding features as the test rom needs them) and it would be nice to always have the same value used on boot rather than random.

 

I'm not looking forward to trying to get an actual picture out of it though :(



#113 DirtyHairy OFFLINE  

DirtyHairy

    Chopper Commander

  • 214 posts
  • Location:Germany

Posted Wed Aug 23, 2017 6:27 AM

I'm in the middle of writing my own emulator as a challenge in a scripting language, and the debugging tools in Stella have proved invaluable!

 

If you're looking for inspiration, you can also take a peek at 6502.ts :) It is a VCS emulator for the browser written in Typescript (a typed superset of Javascript), and the TIA is identical to Stella (the Stella core started as a port of the 6502.ts core, and they evolved in sync after that). There's also a debugging console which, however, is much less sophisticated and does not provide any VCS specific functionality (just CPU stuff like stepping, breaking and tracing).


Edited by DirtyHairy, Wed Aug 23, 2017 6:28 AM.


#114 Omnituens OFFLINE  

Omnituens

    Combat Commando

  • 2 posts

Posted Wed Aug 23, 2017 7:02 AM

 

If you're looking for inspiration, you can also take a peek at 6502.ts :) It is a VCS emulator for the browser written in Typescript (a typed superset of Javascript), and the TIA is identical to Stella (the Stella core started as a port of the 6502.ts core, and they evolved in sync after that). There's also a debugging console which, however, is much less sophisticated and does not provide any VCS specific functionality (just CPU stuff like stepping, breaking and tracing).

 

Thanks! I have gone though many emulators and documentation to get the CPU working (It's not fully tested... it's mainly the memory address methods that may be bugged, especially on the illegal opcodes). Sadly I'd never be able to release what I've done due to the scripting language being proprietary to where I work, I'm just doing this for fun and to prove what can be done with a limited language that is most certainly not designed for this. Getting the TIA functional is going to be the hardest part by far, but for now I just need to master the timers. Like, I think Stella deals with this by increment the machine clock on every peek? Maybe? and extra based on same page checks? Anyway, this is not the place for such discussion. If there is a good place to chat about such things, like a discord or something, that would be great. I am just happy that Stella continues to get better and better!


Edited by Omnituens, Wed Aug 23, 2017 7:03 AM.


#115 DirtyHairy OFFLINE  

DirtyHairy

    Chopper Commander

  • 214 posts
  • Location:Germany

Posted Wed Aug 23, 2017 4:04 PM

 

Anyway, this is not the place for such discussion. If there is a good place to chat about such things, like a discord or something, that would be great.

 

Just open another thread if you'd like to continue discussing emulation details without derailing this thread ;)



#116 stephena OFFLINE  

stephena

    River Patroller

  • Topic Starter
  • 2,978 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Fri Sep 8, 2017 7:05 PM

 

 

I will address each point in turn:

  • There is no way to save RAM to text file currently.  I have created an issue for it: https://github.com/s...ella/issues/202.  BTW, this is now the preferred way to report bugs and or request enhancements; create an issue on Github.  Also, each issue should be for one specific thing.
  • Rewind outside the debugger is https://github.com/s...tella/issues/71.  There is no ETA for this yet.  As for the undefined value changing, this was because the random data wasn't being saved to the state file; this is now fixed.
  • Good that strobes are working.  In addition to a completely new TIA implementation, the debugger got a huge overhaul in 5.0 too.
  • I'm not sure what you mean.  The 'X' and 'Y' commands can indeed only be used to set the registers; try just typing the command itself, and it will request you to enter more data.  The fact that the registers can be used in conditional breakpoints has nothing to do with the 'X' and 'Y' commands.  In fact, all registers can be used in conditional breakpoints.
  • This is being looked into.

 

Current progress in Git on these items:

  • The first issue is addressed by allowing 'dump' to take a second argument, indicating the end of the data range to use.  And 'saveses' can be used to save the output.  This will have to be sufficient until copy/paste is complete.
  • I am working on rewind outside the debugger, which will (finally, after many years of requests) be present in the next release.
  • The last issue (screen jumping) is fixed.


#117 Keatah ONLINE  

Keatah

    Quadrunner

  • 18,338 posts

Posted Thu Sep 14, 2017 8:01 PM

Possible bug: Maze repeats itself after the second one is generated. Don't know if it's a Stella bug or problem with the ROM. 1st maze is always unique. 2nd maze and subsequent mazes are the same, even after exiting and restarting the emulator. The dev of the ROM claims he isn't having that issue.

 

http://atariage.com/...maze-generator/



#118 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,725 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany, Europe, Earth

Posted Fri Sep 15, 2017 1:53 AM

No bug, happens on real hardware too.



#119 Keatah ONLINE  

Keatah

    Quadrunner

  • 18,338 posts

Posted Fri Sep 15, 2017 2:02 AM

Thanks for checking.







Also tagged with one or more of these keywords: stella, new tia, debugger

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users