summaryrefslogtreecommitdiff
path: root/m68k_to_x86.c
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2012-12-04 19:25:54 -0800
committerMike Pavone <pavone@retrodev.com>2012-12-04 19:25:54 -0800
commit97d78d6e0c9cebc49ccb61b57d7944db7a739df6 (patch)
treef907dd6e55438e10f07e1a51c8419e09f8be0519 /m68k_to_x86.c
parent854a8a9abf29e5cab28871f7a81d0fd1e7474b3d (diff)
Initial support for M68k reset vector, rather than starting at an arbitrary address
Diffstat (limited to 'm68k_to_x86.c')
-rw-r--r--m68k_to_x86.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/m68k_to_x86.c b/m68k_to_x86.c
index ab4d286..296f929 100644
--- a/m68k_to_x86.c
+++ b/m68k_to_x86.c
@@ -786,6 +786,14 @@ void start_68k_context(m68k_context * context, uint32_t address)
m68k_start_context(addr, context);
}
+void m68k_reset(m68k_context * context)
+{
+ //TODO: Make this actually use the normal read functions
+ context->aregs[7] = context->mem_pointers[0][0] << 16 | context->mem_pointers[0][1];
+ uint32_t address = context->mem_pointers[0][2] << 16 | context->mem_pointers[0][3];
+ start_68k_context(context, address);
+}
+
void init_x86_68k_opts(x86_68k_options * opts)
{
opts->flags = 0;