Sync with MESS, including OG's fix for exiting with debugger active (no whatsnew)

This commit is contained in:
Miodrag Milanovic 2012-01-26 10:28:50 +00:00
parent 7c58c635f0
commit 960b0edc75
5 changed files with 15 additions and 11 deletions

View File

@ -221,8 +221,10 @@ static CPU_INIT( m4510 )
} }
else else
{ {
devcb_write8 nullcb = DEVCB_NULL; devcb_read8 nullrcb = DEVCB_NULL;
cpustate->out_port_func.resolve(nullcb, *device); devcb_write8 nullwcb = DEVCB_NULL;
cpustate->in_port_func.resolve(nullrcb, *device);
cpustate->out_port_func.resolve(nullwcb, *device);
} }
} }

View File

@ -390,11 +390,6 @@ void debug_command_init(running_machine &machine)
static void debug_command_exit(running_machine &machine) static void debug_command_exit(running_machine &machine)
{ {
/* turn off all traces */
device_iterator iter(machine.root_device());
for (device_t *device = iter.first(); device != NULL; device = iter.next())
device->debug()->trace(NULL, 0, NULL);
if (cheat.length) if (cheat.length)
auto_free(machine, cheat.cheatmap); auto_free(machine, cheat.cheatmap);
} }

View File

@ -1674,6 +1674,8 @@ device_debug::device_debug(device_t &device)
memset(m_pc_history, 0, sizeof(m_pc_history)); memset(m_pc_history, 0, sizeof(m_pc_history));
memset(m_wplist, 0, sizeof(m_wplist)); memset(m_wplist, 0, sizeof(m_wplist));
m_comment_change = 0;
// find out which interfaces we have to work with // find out which interfaces we have to work with
device.interface(m_exec); device.interface(m_exec);
device.interface(m_memory); device.interface(m_memory);
@ -1726,6 +1728,8 @@ device_debug::device_debug(device_t &device)
device_debug::~device_debug() device_debug::~device_debug()
{ {
auto_free(m_device.machine(), m_trace);
// free breakpoints and watchpoints // free breakpoints and watchpoints
breakpoint_clear_all(); breakpoint_clear_all();
watchpoint_clear_all(); watchpoint_clear_all();

View File

@ -750,10 +750,10 @@ device_t *floppy_get_device_by_type(running_machine &machine,int ftype,int drive
int floppy_get_drive(device_t *image) int floppy_get_drive(device_t *image)
{ {
int drive =0; int drive =0;
if (strcmp(image->tag(), FLOPPY_0) == 0) drive = 0; if (strcmp(image->tag(), ":" FLOPPY_0) == 0) drive = 0;
if (strcmp(image->tag(), FLOPPY_1) == 0) drive = 1; if (strcmp(image->tag(), ":" FLOPPY_1) == 0) drive = 1;
if (strcmp(image->tag(), FLOPPY_2) == 0) drive = 2; if (strcmp(image->tag(), ":" FLOPPY_2) == 0) drive = 2;
if (strcmp(image->tag(), FLOPPY_3) == 0) drive = 3; if (strcmp(image->tag(), ":" FLOPPY_3) == 0) drive = 3;
return drive; return drive;
} }

View File

@ -206,6 +206,9 @@ static VIDEO_RESET( vga );
void pc_video_start(running_machine &machine) void pc_video_start(running_machine &machine)
{ {
// ... // ...
// Avoid an infinite loop when displaying. 0 is not possible anyway.
vga.crtc.maximum_scan_line = 1;
} }
static void vga_vh_text(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect) static void vga_vh_text(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect)