ParaJVD : Parabellum's Java Vectrex Debugger

Official Home of ParaJVD ... Or how to turn an emulator into a full debugger!

Sunday, July 13, 2008

Berzerk Video

Here is a video that shows the debugger in action :  Debugging Berzerk on ParaJVD

Nothing fancy, I'm just playing around with some of ParaJVD features, so that you can get a rough idea of the current state of the project, as well as its look and feel.

Labels: ,

Friday, July 11, 2008

Summer WIP

A quick post to show the latest development progress on ParaJVD.

Here is a snapshot of what the current version looks like (each view
can be resized/docked/moved around to match the user preferences).

  • The GUI is not dependent on a particular docking framework anymore (It still makes use of VLDocking at the moment, but it may be changed very easily in the future)

  • Implemented contextual popup menus and actions on each GUI view (Program, Registers, Memory, Console, Breakpoints, Watches, Cycles)

  • Added a Cycles view.

    This view shows an histogram of the CPU cycles elapsed during the last frames. In its top-left corner, there is also a cycles counter (a kind of progress bar) for the current frame, and also a sub-counter (the figure at the right) that displays the number of cycles needed to execute the last debug step.

  • Another new view has been added : the Watches view.

    The user enters Watch Expressions that can either be resolved as values or addresses. If it's an address, then the "content" column shows the bytes at the specified address (these bytes can be edited, just like in the Memory views).
    The "content" column displays the values on a yellow background when it was modified during the last debug step.

    The Watch Expression can be as simple as a single number (for instance "$C800"), or it can be a complex expression involving arithmetic and/or bitwise operators, and register or memory accesses (for instance "X-4*B", "DP<<8|A", "PC-[S]" or "[$C800]")

    The watch view is now roughly working, but there are still a bunch of issues hanging around, so it requires yet more work to be fully completed.

  • Once this is all done I think I'll have to get the "Project Definition" side of ParaJVD done, so that it can be used by someone else than me :-)
    (At the moment, the only way to change the binaries/sources loaded at startup is to modify a couple of ParaJVD source files ... not exactly my definition of user-friendly!).

    After that, the debugger can be released as a preview for the thousands of Vectrex homebrew developers out there.