comparison sms.c @ 2179:9a8dd4ba2753

Implement frame advance debugger command
author Michael Pavone <pavone@retrodev.com>
date Sat, 13 Aug 2022 19:37:17 -0700
parents 9caebcfeac72
children 01ff005b08f6
comparison
equal deleted inserted replaced
2178:f6d5bde4d07f 2179:9a8dd4ba2753
383 { 383 {
384 if (system->delayed_load_slot) { 384 if (system->delayed_load_slot) {
385 load_state(system, system->delayed_load_slot - 1); 385 load_state(system, system->delayed_load_slot - 1);
386 system->delayed_load_slot = 0; 386 system->delayed_load_slot = 0;
387 387
388 }
389 if (sms->vdp->frame != sms->last_frame) {
390 uint32_t elapsed = sms->vdp->frame - sms->last_frame;
391 sms->last_frame = sms->vdp->frame;
392 if (system->enter_debugger_frames) {
393 if (elapsed >= system->enter_debugger_frames) {
394 system->enter_debugger_frames = 0;
395 system->enter_debugger = 1;
396 } else {
397 system->enter_debugger_frames -= elapsed;
398 }
399 }
400
401 if(exit_after){
402 if (elapsed >= exit_after) {
403 exit(0);
404 } else {
405 exit_after -= elapsed;
406 }
407 }
388 } 408 }
389 if (system->enter_debugger && sms->z80->pc) { 409 if (system->enter_debugger && sms->z80->pc) {
390 system->enter_debugger = 0; 410 system->enter_debugger = 0;
391 zdebugger(sms->z80, sms->z80->pc); 411 zdebugger(sms->z80, sms->z80->pc);
392 } 412 }