To enter break point, you need to run a m68k program in Macintosh guest OS. The program
executes a new emul_op instruction 0x7138. The program will be provided
in cxmon/utils folder in a separate commit. Once emulation is suspended,
you can enter below new cxmon command to manipluate break points:
ba [address] Add a break point
br [breakpoints#] Remove a break point. If # is 0, remove all break points.
bd [breakpoints#] Disable a break point. If # is 0, disable all break points.
be [breakpoints#] Enable a break point. If # is 0, enable all break points.
bi List all break points
bs "file" Save all break points to a file
bl "file" Load break points from a file
Once emulation PC reach break point address, it automatically suspends
and traps into cxmon.
Signed-off-by: Ricky Zhang <rickyzhang@gmail.com>
- ADBMouseMoved(), ADBMouseDown/Up() and ADBKeyDown/Up() trigger the ADB
interrupt
- ADB mutex is only used for mouse movement (the only input state where it
matters)
- adb.cpp: toggling relative mouse mode resets mouse_x/y
- PrimeTime(0) schedules a timer task with 0 delay time; this is still not
the correct implementation, but it makes MacSyndicate work...
- Unix: pthreads are preferred to POSIX.4 timers for 60Hz ticks because the
timers drift badly under Linux and the thread can compensate for drifting
well enough
- Unix: moved GetTicks_usec() and Delay_usec() to timer_unix.cpp
- video_x.cpp: X mouse acceleration is disabled in relative mouse mode because
MacOS does its own acceleration
- video_x.cpp: palette[].pixel and palette[].flags are always preset
- video_x.cpp: decoupled X event handling from 60Hz video refresh cycle by
using select() with a timeout on the X fd
implemented under Unix
- adb.cpp uses mutexes for thread-safe mouse handling
- video_x.cpp: pressing Ctrl-F5 in windowed mode switches to a "grabbed"
relative mouse mode, useful for some games
- video_x.cpp: fixed some bugs relating to the hotkeys (key releases are no
longer treated as hotkeys)
- new utility functions Mac_memset, Mac2Host_memcpy, Host2Mac_memcpu and
Mac2Mac_memcpy
- extfs.cpp: fixed bug in fs_rename() and fs_cat_move() (auxiliary IOParam
block was not in Mac address space)
- some provisions for using UAE CPU compiler (doesn't work yet)
possible
- rom_patches.cpp: check for double PACK 4 resources; if only one is found,
assume that the ROM requires an FPU and issue a warning if FPU emulation
is turned off
- UAE CPU opcode routines no longer return the cycle count
- main_unix.cpp: pressing Ctrl-C dumps the UAE CPU state before entering mon
- sys_unix.cpp: under Linux, partition sizes are read with BLKGETSIZE instead
of llseek()
- extfs.cpp: fixed bug with fsResolveWDCB in fs_get_wd_info()
- ExtFS: MAX_PATH_LENGTH is global, removed third parameter to
add_path_component()
- rom_patches.cpp: added print_rom_info()
- Unix: added "-rominfo" command line argument
- extfs_unix.cpp: supports finder info and resource forks
- prefs_editor_gtk.cpp: tab widget is no longer scrollable
- moved MemoryDispatch() patch routine from PatchAfterStartup() to
InstallDrivers()
- fixed one place where ROM replaces MemoryDispatch() by unimplemented trap
when no MMU is present
- Unix: ROM breakpoint can now be set with "-break" command line argument
- some changes to configure script, mon is now compiled with readline support