You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tracelog file import and, separately, tracelog capture (bsnes --> Diz over a socket) work and are well tested for the main SNES CPU, but not really implemented for the other CPUs (like SA-1)
For SA-1, we'd need to verify that it's capturing the same data, or build an SA-1 specific parser (should be pretty easy)
That parser is populating a ModificationData object (it's one object per line in the tracelog). The only thing that would need to be changed is adding the Architecture enum in there and marking it as from SA-1 like this:
// something like...
modData.arch =CPU_SA1;// add the 'arch' field there, set it to the new enum
That's pretty straightforward though there's a little bit of extra checking/etc to pay attention to since ModificationData is heavily optimized for doing the tracelog network capturing.
UI: Probably add a new option to the Import menu so it has separate items for 'import SA1 tracelog' vs 'import 65816 main cpu tracelog'. If we wanted to get fancier we could setup a dialog box that has some nicer looking options. eh, later.
Somewhere on the BSNES tracelog import class is where we can stash which type of byte we're capturing.
It can all be traced pretty easily by looking at the on click handler in importBsnesTracelogText_Click()
I haven't tested Diz when it has different architectures in there. theoretically should be OK, but, might be worth doing some CPU step operations, mark operations, etc especially on boundaries of bytes where things go from one CPU into another.
The text was updated successfully, but these errors were encountered:
tracelog file import and, separately, tracelog capture (bsnes --> Diz over a socket) work and are well tested for the main SNES CPU, but not really implemented for the other CPUs (like SA-1)
Here's what we'd need to do to fix that:
Add the SA-1 CPU to the list of CPUs in the
Architecture
enum here:https://github.com/Dotsarecool/DiztinGUIsh/blob/master/Diz.Core/model/Enums.cs#L61
Each line of a tracelog file is parsed by BsnesTraceLogImporte.ParseLine()
https://github.com/Dotsarecool/DiztinGUIsh/blob/master/Diz.Core/import/BsnesTraceLogImporter.Parsers.cs#L55
For SA-1, we'd need to verify that it's capturing the same data, or build an SA-1 specific parser (should be pretty easy)
That parser is populating a
ModificationData
object (it's one object per line in the tracelog). The only thing that would need to be changed is adding theArchitecture
enum in there and marking it as from SA-1 like this:That 'arch' field would need to be added here:
https://github.com/Dotsarecool/DiztinGUIsh/blob/master/Diz.Core/import/BsnesTraceLogImporter.ModificationsList.cs#L15
That's pretty straightforward though there's a little bit of extra checking/etc to pay attention to since ModificationData is heavily optimized for doing the tracelog network capturing.
unit tests
If anything's different, grab a couple lines from a tracelog from SA-1, and write a unit test or two to cover it:
https://github.com/Dotsarecool/DiztinGUIsh/blob/862e32f93d27bf9c545f147b4ed0c43c3a38bc81/Diz.Test/Tests/TracelogTests/TraceLogTests.cs#L8
UI: Probably add a new option to the Import menu so it has separate items for 'import SA1 tracelog' vs 'import 65816 main cpu tracelog'. If we wanted to get fancier we could setup a dialog box that has some nicer looking options. eh, later.
Somewhere on the BSNES tracelog import class is where we can stash which type of byte we're capturing.
It can all be traced pretty easily by looking at the on click handler in
importBsnesTracelogText_Click()
https://github.com/Dotsarecool/DiztinGUIsh/blob/master/DiztinGUIsh/window/MainWindow.MainTable.cs#L228
That function takes a (hardcoded...woof) column number and the index of the row (i.e. the snes byte address).
You can get to the arch like this:
I haven't tested Diz when it has different architectures in there. theoretically should be OK, but, might be worth doing some CPU step operations, mark operations, etc especially on boundaries of bytes where things go from one CPU into another.
The text was updated successfully, but these errors were encountered: