Closed ale-79 closed 1 year ago
The log file was very flexible, but IMO most things are covered in Stella already.
The main things missing are frame rewinds and late WSYNCs.
While in general I'm not opposed to the idea, I think that if the same functionality is already in Stella, I wouldn't want to waste valuable development time on redundant features. And if the same functionality isn't already present, perhaps it can be done differently/better than the old approach.
EDIT: IOW, we need to analyze what advantages the trace file gives over the current functionality in Stella, and perhaps extend Stella to fix those deficiencies (not necessarily by implementing the trace file, but not necessarily against the idea either).
Good points. Implementing #71, #169 (and maybe #203) would probably cover the few cases where I think the trace log currently has some advantages over the debugger.
I am sure we cannot cover everything 1:1, but for most we sure can offer alternatives. And all other languages only need a debugger too. :)
Here is what I used z26.log for, which is not covered in Stella yet (I opened some issue for those in the past):
Maybe we could do something like a conditional logging in Stella, e.g. instead of a break or breakif, log the info (registers, flags etc.). That would work also with traps and maybe more.
Creating a savestate instead of break/trap/log would also be cool.
Revisiting some older issues. Is this one still valid? Now that we have rewind fully working, have we finally duplicated all the functionality of a trace file?
Bump on this; is this one still valid??
Prio 3 or close. I will leave that up to you.
If you're satisfied that Stella does everything you need (as a developer), then I guess we're done with this one. I don't develop 2600 games, so I have no idea what a typical developer needs. I guess it is sufficient as-is (wrt this, of course there are many improvements to be made in other areas).
This has been brought up up a few times in the past so maybe it's worth checking if developers are still interested in such feature (maybe a thread on AA would get more visibility). It has the advantage of showing info about several frames all in one place (the downside being that the filesize tends to became HUGE in a few seconds...)
z26 trace log file example:
There could be additional information added next to each line, for example queued writes, dummy reads (when using indexed addressing modes), bankswitch triggering, etc. If there's enough interest in implementing it, I think there's no need for an UI item, just a command to toggle it ON or OFF from the debugger prompt. (maybe it should print a warning about filesize)