[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

JACE 2012-08-02 build released



https://sites.google.com/site/brendanrobert/projects/jace

+Re-architected underlying memory event handler model to include CPU opcode/operand memory accesses.  This makes it much easier for anyone to extend the emulation by registering events to be triggered by CPU executes to specific addresses.

+New memory heatmap view added to metacheat (press END to activate) -- this lets you see active reads/writes/executes in memory as they happen.  This is a really powerful feature that I hope you folks will enjoy.  This makes is crazy easy to reverse-engineer some programs to see what makes them tick.  I'll update the metacheat doc page on the website with some screenshots and instructions at some later point.  In short, configure metacheat (from config panel).  Press END to activate.  Green = reads.  Red = writes.  Yellow = R/W.  Blue = execute.  Purple = SELF MODIFYING CODE.  Big chunks of green probably indicate lookup tables of some sort.  Big chunks of blue = program code.  Flickering pixels = game variables which may or may not be safe to mess with.

Did I mention that the heatmap also tracks the last instruction that read a byte as well as the last instruction which wrote a byte?  I think the way of looking at this is I started small and then threw in a commercial-grade kitchen sink!

+Fixed graphics glitches in hires mode.  This caused annoying artifacts on the boundary between alternating hi/lo bit bytes in hires modes and I'm very happy to say the darn bug was squished after being prevalent for so long.

+Improved RGB Mode 7 support to auto-detect RGB mode.  This implements the spec as laid out in the Video 7 patent as well as the Apple RGB manual, with the exception that 160-column mode is not implemented and will be treated as a regular 140-column mode.  Reset also causes the RGB mode to flip back to plain 140-column mode again.

+Fixed Disk ][ bug that caused hangups in programs like Apple Desktop ][.  

+Ancient debugger panel (F10) now fixed so that breakpoints happen as the instruction is executed, not afterwards.  This lets you set the breakpoint on an instruction and see what the disassembly of that is, instead of it stopping too late.  Fixing this also empowered me to fix the Disk ][ bug as well as using the heatmap to see where the infinite loop was executing.

This is a very stable release!  I really hope you guys enjoy this.  The only remaining bugs I know about are the incomplete mockingboard emulation, but with the visual heatmap (which works as a visual debugger really) it should make it easier for me to see what is going on.

-B