comparison m68k_core.h @ 1303:208803173ebc

Implemented M68K trace mode. Some edge cases/SR update paths still need work
author Michael Pavone <pavone@retrodev.com>
date Tue, 28 Mar 2017 00:13:35 -0700
parents d5a47597b61f
children 85a90964b557
comparison
equal deleted inserted replaced
1302:d2cb97ab3cff 1303:208803173ebc
18 18
19 #define M68K_OPT_BROKEN_READ_MODIFY 1 19 #define M68K_OPT_BROKEN_READ_MODIFY 1
20 20
21 #define INT_PENDING_SR_CHANGE 254 21 #define INT_PENDING_SR_CHANGE 254
22 #define INT_PENDING_NONE 255 22 #define INT_PENDING_NONE 255
23
24 #define M68K_STATUS_TRACE 0x80
23 25
24 typedef void (*start_fun)(uint8_t * addr, void * context); 26 typedef void (*start_fun)(uint8_t * addr, void * context);
25 27
26 typedef struct { 28 typedef struct {
27 code_ptr impl; 29 code_ptr impl;
76 code_ptr resume_pc; 78 code_ptr resume_pc;
77 code_ptr reset_handler; 79 code_ptr reset_handler;
78 m68k_options *options; 80 m68k_options *options;
79 void *system; 81 void *system;
80 uint8_t int_pending; 82 uint8_t int_pending;
83 uint8_t trace_pending;
81 uint8_t should_return; 84 uint8_t should_return;
82 uint8_t ram_code_flags[]; 85 uint8_t ram_code_flags[];
83 } m68k_context; 86 } m68k_context;
84 87
85 typedef m68k_context *(*m68k_reset_handler)(m68k_context *context); 88 typedef m68k_context *(*m68k_reset_handler)(m68k_context *context);