summaryrefslogtreecommitdiff
path: root/m68k_internal.h
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2014-03-02 16:34:29 -0800
committerMichael Pavone <pavone@retrodev.com>2014-03-02 16:34:29 -0800
commit48d6afdd1c9aaafc5b8ce59c584e360d89571a5b (patch)
tree2974a8819a2c80d7fc0ebc2e71b9a8e1370863fe /m68k_internal.h
parent8664df5a5d2870c67036666b66ce0d2f9fcdd1eb (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.h28
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_