[NTLK] Einstein Monitor improvements on OS X

Matthias Melcher mm at matthiasm.com
Tue Jun 30 01:44:40 EDT 2015


I can't see a difference...


No, LOL, it looks fantastic! Great work!

I love your suggestions. A live debugger with tooltips and commenting function would be fantastic. Then, checking the comments into Einstein, that would be great! We have automatic GIT management, and even not-so-technical users can start wrapping their head around ARM code.

I do not know how many users prefer Linux or Windows. I hope we do not need to backport this ;-)

As for the format, you could either introduce a new file for comments vs. the symbol file, or simply add commands to the existing one, but that would make it incompatible with older versions of Einstein (and Windows and Linux versions).

Thanks,

 Matthias

On Tue Jun 30 2015 07:00:22, Steven Frank wrote:
> 
> I've just committed a change to the master branch of Einstein that dramatically improves the appearance of the Monitor window on the OS X version.
> 
> Before, I was just capturing the output of the console version and displaying it in a text view.  Now it is a completely custom view that we can draw in any way we like.
> 
> To kick things off, I added some real (non-ASCII) separator lines, a bit of color, and made the window resizable.  It also highlights r0-r15 registers that have changed between steps in a brighter color.  See before and after screenshots here:
> 
> http://stevenf.com/gfx/einstein-monitor.png
> 
> Other than the new appearance, it still works exactly the same way as the original console.
> 
> * * *
> 
> This presents us an opportunity to add some features to the Monitor.  For example, click on an address to jump to that address (or view a memory dump).  Mouseover tooltips could show what's at a referenced memory address.  We could view memory as a bitmap.  Etc, etc.  We could make a little mini-IDA tailored just for Einstein.  :)
> 
> What I've done so far hasn't changed the original console Monitor, but to get really fancy, these two versions of the monitor are going to start to diverge, and I wanted to get feedback from the other developers on that.  Is it ok/bad if the Mac Monitor starts growing a bunch of features that the Linux version (for example) doesn't have?
> 
> * * *
> 
> Another thing we could do is make the Monitor window effectively a front-end for editing the symbols/comments file format that we talked about a while ago.  Einstein already loads symbols.txt if it finds it, and symbolicates the disassembly.  
> 
> I'm imagining you could be on a particular line in the Monitor, hit some key (maybe semicolon), type in your comment, and have the symbols/comments file be updated with that new information?  If we then checked that file into the Einstein repository, we'd have our shared ROM comments file.
> 
> One snag here is it looks like Einstein uses a simpler symbols.txt (just two fields: an address and a label), vs. Matthias' version which has type information for function parameters, differentiates between code and data, and so on.  We'd need to settle on exactly what this format is supposed to look like, and then probably write some shared code to read and write it.
> 
> * * *
> 
> As always I am happy to work on other areas of Einstein too, but need directions.  What I want most is to get that MMU emulation out of there, so anything I can do that helps you guys achieve that, even if it's just adding some GUI in the Monitor to make some research process faster, let me know.
> 
> Steven




More information about the NewtonTalk mailing list