Jump to content
IGNORED

jzIntv Emulated RAM Monitoring


Zendocon

Recommended Posts

2 hours ago, Zendocon said:

Does anybody know if there is a way to set up jzIntv to make the emulated memory addresses viewable to an external program?

You can have the debugger dump the memory to STDOUT (using the "m" command), and redirect STDOUT to a file or pipe I. The emulator command-line.

 

   dZ.

  • Like 1
Link to comment
Share on other sites

7 hours ago, Zendocon said:

That's what I figured.  What I was hoping for was to monitor the emulated RAM in real-time.  If not, I'll just go with piping to a temp file.

 

I think you should be able to run jzIntv in "GUI mode," which allows it to receive commands via STDIN and output via STDOUT, so you could pipe it or run it as a secondary process within another application.

 

     -dZ.

  • Like 1
Link to comment
Share on other sites

  • 11 months later...
On 1/6/2023 at 4:56 AM, DZ-Jay said:

 

I think you should be able to run jzIntv in "GUI mode," which allows it to receive commands via STDIN and output via STDOUT, so you could pipe it or run it as a secondary process within another application.

 

     -dZ.

 

I set up a BASH script to pipe the stdout of my other application to the stdin of jzIntv using --gui-mode:

 

projects/otherprog/otherprog.py | jzintv --gui-mode game.rom > deleteme.txt

 

It works only when I send "q" to quit.  Unfortunately, nothing else seems to work.  When I send the command "m 100 f0\n" and open deleteme.txt, I just get this:

 

Quote

AVI: 1.000 1.000 1.000

!!!!!!!!.

 

What's worse, when using --gui-mode, the contents of deleteme.txt become available only after I close jzIntv.  The deleteme.txt file has what I want whenever I don't use --gui-mode, and the contents are immediately accessible.  So perhaps there's another workaround.  If jzIntv allows for macros to be defined in the keyboard hackfile, I could then pipe jzIntv into another program and not use --gui-mode at all.

 

I'm out of ideas at the moment.  All I can do now is read through the doc/ subfolder of jzIntv and see if there is some workaround here.

Link to comment
Share on other sites

Maybe there is an escape sequence that need to be sent to commit a command, instead of just a newline.  That could be why the output shows up when you quit.  I do t know, I haven't tried gui-mode myself, but there must be some way because there are GUI solutions out there that do not rely on recompiling jzIntv.

 

    dZ.

Link to comment
Share on other sites

I read through the doc folder.  There is the "cheat" feature, which lets the user bind a keystroke to a macro to poke values into RAM.  Unfortunately, poking values is all you can do.  If I could extend the Cheat logic to also allow the debugger's "m" command, I could go that route to do memory dumps, and pipe that out to another GUI.

 

There wasn't any documentation about GUI mode and what commands it supports.  I was expecting that all the debugger commands would just be available.  Nope.

 

I'll have to dive into the jzIntv source code at this point and see if I can find out what it's listening for in stdin.  What are the other GUI solutions out there that you know of?  I could also look to see what they are doing.

Link to comment
Share on other sites

6 hours ago, DZ-Jay said:

Here's the link to that one.

 

    -dZ.

 

I read through the entire thread.  GUIntv is just a front-end to launch jzIntv, same as what my program PIDEjL does.  I don't see any functionality to tell jzIntv to perform memory dumps and receive that data.

 

Today I modified cheat.c and added "M" to the list of accepted commands at line 121, and recompiled jzIntv.  That was on my phone's PIDE.  For some reason, jzIntv keeps throwing an error at startup about being unable to parse the cheat string because there's no whitespace, which is false.  Using Cheat worked fine on my tablet's PIDE last night, and when I compared the two cheat strings, they were the same.  Maybe I'll try modifying and recompiling jzIntv on my tablet.

 

Of course I had the presence of mind to keep a backup copy of the jzIntv binary target, just in case something magical were to happen.  Funny thing is, the backup copy threw the same error.

 

More digging tonight.  I didn't find anything pertaining to GUI Mode yet, but I'm not giving up that quickly.  Where there's a will, there's a way.

Link to comment
Share on other sites

  • 2 weeks later...

Despite not getting everything I want, I'd say this is an acceptable compromise.

 

I still haven't found out how to determine the color of the eye murals or the gates, as you can see, nor what kind of doorways there are from the outer hallways or between quadrants.  The map only refreshes upon request, and it's a bit of a manual process, but I'm happy with the result so far.

 

Screenshot_20231226-175526_AVNC.thumb.png.c2559ff3922b141ebbb8de8ea6cad0f3.png

  • Like 3
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...