diff options
author | Michael Pavone <pavone@retrodev.com> | 2014-03-02 16:34:29 -0800 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2014-03-02 16:34:29 -0800 |
commit | 48d6afdd1c9aaafc5b8ce59c584e360d89571a5b (patch) | |
tree | 2974a8819a2c80d7fc0ebc2e71b9a8e1370863fe /m68k_internal.h | |
parent | 8664df5a5d2870c67036666b66ce0d2f9fcdd1eb (diff) |
Initial stab at separating the generic parts of the 68K core from the host-cpu specific parts.
Diffstat (limited to 'm68k_internal.h')
-rw-r--r-- | m68k_internal.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/m68k_internal.h b/m68k_internal.h new file mode 100644 index 0000000..f73db3f --- /dev/null +++ b/m68k_internal.h @@ -0,0 +1,28 @@ +/* + Copyright 2014 Michael Pavone + This file is part of BlastEm. + BlastEm is free software distributed under the terms of the GNU General Public License version 3 or greater. See COPYING for full license text. +*/ +#ifndef M68K_INTERNAL_H_ +#define M68K_INTERNAL_H_ + +#include "68kinst.h" + +//functions implemented in host CPU specfic file +void translate_out_of_bounds(code_info *code); +void check_code_prologue(code_info *code); + +//functions implemented in m68k_core.c +int8_t native_reg(m68k_op_info * op, m68k_options * opts); +size_t reg_offset(m68k_op_info *op); +void print_regs_exit(m68k_context * context); +void m68k_read_size(m68k_options *opts, uint8_t size); +void m68k_write_size(m68k_options *opts, uint8_t size); +code_ptr get_native_address(native_map_slot * native_code_map, uint32_t address); +void map_native_address(m68k_context * context, uint32_t address, code_ptr native_addr, uint8_t size, uint8_t native_size); +uint8_t get_native_inst_size(m68k_options * opts, uint32_t address); +uint8_t m68k_is_terminal(m68kinst * inst); +void m68k_handle_deferred(m68k_context * context); +code_ptr get_native_address_trans(m68k_context * context, uint32_t address); + +#endif //M68K_INTERNAL_H_ |