changeset 557:acec5464fa1e

Rename x86_backend.h and x86_backend.c to backend.h and backend.c respectively
author Mike Pavone <pavone@retrodev.com>
date Mon, 24 Feb 2014 00:50:15 -0800
parents 34dfa9b24c7b
children dc9f178085a0
files Makefile backend.c backend.h m68k_to_x86.c m68k_to_x86.h x86_backend.c x86_backend.h z80_to_x86.h
diffstat 8 files changed, 150 insertions(+), 150 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Mon Feb 24 00:40:32 2014 -0800
+++ b/Makefile	Mon Feb 24 00:50:15 2014 -0800
@@ -24,7 +24,7 @@
 
 
 
-TRANSOBJS=gen_x86.o x86_backend.o mem.o
+TRANSOBJS=gen_x86.o backend.o mem.o
 M68KOBJS=68kinst.o m68k_to_x86.o
 ifeq ($(CPU),x86_64)
 M68KOBJS+= runtime.o
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/backend.c	Mon Feb 24 00:50:15 2014 -0800
@@ -0,0 +1,53 @@
+/*
+ Copyright 2013 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.
+*/
+#include "backend.h"
+#include <stdlib.h>
+
+deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest)
+{
+	deferred_addr * new_head = malloc(sizeof(deferred_addr));
+	new_head->next = old_head;
+	new_head->address = address & 0xFFFFFF;
+	new_head->dest = dest;
+	return new_head;
+}
+
+void remove_deferred_until(deferred_addr **head_ptr, deferred_addr * remove_to)
+{
+	for(deferred_addr *cur = *head_ptr; cur && cur != remove_to; cur = *head_ptr)
+	{
+		*head_ptr = cur->next;
+		free(cur);
+	}
+}
+
+void process_deferred(deferred_addr ** head_ptr, void * context, native_addr_func get_native)
+{
+	deferred_addr * cur = *head_ptr;
+	deferred_addr **last_next = head_ptr;
+	while(cur)
+	{
+		uint8_t * native = get_native(context, cur->address);//get_native_address(opts->native_code_map, cur->address);
+		if (native) {
+			int32_t disp = native - (cur->dest + 4);
+			uint8_t * out = cur->dest;
+			*(out++) = disp;
+			disp >>= 8;
+			*(out++) = disp;
+			disp >>= 8;
+			*(out++) = disp;
+			disp >>= 8;
+			*out = disp;
+			*last_next = cur->next;
+			free(cur);
+			cur = *last_next;
+		} else {
+			last_next = &(cur->next);
+			cur = cur->next;
+		}
+	}
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/backend.h	Mon Feb 24 00:50:15 2014 -0800
@@ -0,0 +1,92 @@
+/*
+ Copyright 2013 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 BACKEND_H_
+#define BACKEND_H_
+
+#include <stdint.h>
+#include <stdio.h>
+
+#define INVALID_OFFSET 0xFFFFFFFF
+#define EXTENSION_WORD 0xFFFFFFFE
+
+typedef struct {
+	int32_t disp;
+	uint8_t mode;
+	uint8_t base;
+	uint8_t index;
+	uint8_t cycles;
+} x86_ea;
+
+typedef struct {
+	uint8_t  *base;
+	int32_t  *offsets;
+} native_map_slot;
+
+typedef struct deferred_addr {
+	struct deferred_addr *next;
+	uint8_t              *dest;
+	uint32_t             address;
+} deferred_addr;
+
+typedef enum {
+	READ_16,
+	READ_8,
+	WRITE_16,
+	WRITE_8
+} ftype;
+
+typedef struct {
+	uint32_t flags;
+	native_map_slot *native_code_map;
+	deferred_addr   *deferred;
+	uint8_t         *cur_code;
+	uint8_t         *code_end;
+	uint8_t         **ram_inst_sizes;
+	FILE            *address_log;
+	uint8_t			*save_context;
+	uint8_t			*load_context;
+	uint8_t         *handle_cycle_limit;
+	uint8_t         *handle_cycle_limit_int;
+	uint8_t			context_reg;
+	uint8_t			scratch1;
+	uint8_t			scratch2;
+} cpu_options;
+
+
+#define MMAP_READ      0x01
+#define MMAP_WRITE     0x02
+#define MMAP_CODE      0x04
+#define MMAP_PTR_IDX   0x08
+#define MMAP_ONLY_ODD  0x10
+#define MMAP_ONLY_EVEN 0x20
+#define MMAP_FUNC_NULL 0x40
+
+typedef uint16_t (*read_16_fun)(uint32_t address, void * context);
+typedef uint8_t (*read_8_fun)(uint32_t address, void * context);
+typedef void * (*write_16_fun)(uint32_t address, void * context, uint16_t value);
+typedef void * (*write_8_fun)(uint32_t address, void * context, uint8_t value);
+
+typedef struct {
+	uint32_t     start;
+	uint32_t     end;
+	uint32_t     mask;
+	uint16_t     ptr_index;
+	uint16_t     flags;
+	void *       buffer;
+	read_16_fun  read_16;
+	write_16_fun write_16;
+	read_8_fun   read_8;
+	write_8_fun  write_8;
+} memmap_chunk;
+
+typedef uint8_t * (*native_addr_func)(void * context, uint32_t address);
+
+deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest);
+void remove_deferred_until(deferred_addr **head_ptr, deferred_addr * remove_to);
+void process_deferred(deferred_addr ** head_ptr, void * context, native_addr_func get_native);
+
+#endif //BACKEND_H_
+
--- a/m68k_to_x86.c	Mon Feb 24 00:40:32 2014 -0800
+++ b/m68k_to_x86.c	Mon Feb 24 00:50:15 2014 -0800
@@ -7,7 +7,7 @@
 #include "m68k_to_x86.h"
 #include "68kinst.h"
 #include "mem.h"
-#include "x86_backend.h"
+#include "backend.h"
 #include <stdio.h>
 #include <stddef.h>
 #include <stdlib.h>
--- a/m68k_to_x86.h	Mon Feb 24 00:40:32 2014 -0800
+++ b/m68k_to_x86.h	Mon Feb 24 00:50:15 2014 -0800
@@ -7,7 +7,7 @@
 #define M68K_TO_X86_H_
 #include <stdint.h>
 #include <stdio.h>
-#include "x86_backend.h"
+#include "backend.h"
 //#include "68kinst.h"
 struct m68kinst;
 
--- a/x86_backend.c	Mon Feb 24 00:40:32 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
- Copyright 2013 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.
-*/
-#include "x86_backend.h"
-#include <stdlib.h>
-
-deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest)
-{
-	deferred_addr * new_head = malloc(sizeof(deferred_addr));
-	new_head->next = old_head;
-	new_head->address = address & 0xFFFFFF;
-	new_head->dest = dest;
-	return new_head;
-}
-
-void remove_deferred_until(deferred_addr **head_ptr, deferred_addr * remove_to)
-{
-	for(deferred_addr *cur = *head_ptr; cur && cur != remove_to; cur = *head_ptr)
-	{
-		*head_ptr = cur->next;
-		free(cur);
-	}
-}
-
-void process_deferred(deferred_addr ** head_ptr, void * context, native_addr_func get_native)
-{
-	deferred_addr * cur = *head_ptr;
-	deferred_addr **last_next = head_ptr;
-	while(cur)
-	{
-		uint8_t * native = get_native(context, cur->address);//get_native_address(opts->native_code_map, cur->address);
-		if (native) {
-			int32_t disp = native - (cur->dest + 4);
-			uint8_t * out = cur->dest;
-			*(out++) = disp;
-			disp >>= 8;
-			*(out++) = disp;
-			disp >>= 8;
-			*(out++) = disp;
-			disp >>= 8;
-			*out = disp;
-			*last_next = cur->next;
-			free(cur);
-			cur = *last_next;
-		} else {
-			last_next = &(cur->next);
-			cur = cur->next;
-		}
-	}
-}
-
--- a/x86_backend.h	Mon Feb 24 00:40:32 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
- Copyright 2013 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 X86_BACKEND_H_
-#define X86_BACKEND_H_
-
-#include <stdint.h>
-#include <stdio.h>
-
-#define INVALID_OFFSET 0xFFFFFFFF
-#define EXTENSION_WORD 0xFFFFFFFE
-
-typedef struct {
-	int32_t disp;
-	uint8_t mode;
-	uint8_t base;
-	uint8_t index;
-	uint8_t cycles;
-} x86_ea;
-
-typedef struct {
-	uint8_t  *base;
-	int32_t  *offsets;
-} native_map_slot;
-
-typedef struct deferred_addr {
-	struct deferred_addr *next;
-	uint8_t              *dest;
-	uint32_t             address;
-} deferred_addr;
-
-typedef enum {
-	READ_16,
-	READ_8,
-	WRITE_16,
-	WRITE_8
-} ftype;
-
-typedef struct {
-	uint32_t flags;
-	native_map_slot *native_code_map;
-	deferred_addr   *deferred;
-	uint8_t         *cur_code;
-	uint8_t         *code_end;
-	uint8_t         **ram_inst_sizes;
-	FILE            *address_log;
-	uint8_t			*save_context;
-	uint8_t			*load_context;
-	uint8_t         *handle_cycle_limit;
-	uint8_t         *handle_cycle_limit_int;
-	uint8_t			context_reg;
-	uint8_t			scratch1;
-	uint8_t			scratch2;
-} cpu_options;
-
-
-#define MMAP_READ      0x01
-#define MMAP_WRITE     0x02
-#define MMAP_CODE      0x04
-#define MMAP_PTR_IDX   0x08
-#define MMAP_ONLY_ODD  0x10
-#define MMAP_ONLY_EVEN 0x20
-#define MMAP_FUNC_NULL 0x40
-
-typedef uint16_t (*read_16_fun)(uint32_t address, void * context);
-typedef uint8_t (*read_8_fun)(uint32_t address, void * context);
-typedef void * (*write_16_fun)(uint32_t address, void * context, uint16_t value);
-typedef void * (*write_8_fun)(uint32_t address, void * context, uint8_t value);
-
-typedef struct {
-	uint32_t     start;
-	uint32_t     end;
-	uint32_t     mask;
-	uint16_t     ptr_index;
-	uint16_t     flags;
-	void *       buffer;
-	read_16_fun  read_16;
-	write_16_fun write_16;
-	read_8_fun   read_8;
-	write_8_fun  write_8;
-} memmap_chunk;
-
-typedef uint8_t * (*native_addr_func)(void * context, uint32_t address);
-
-deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest);
-void remove_deferred_until(deferred_addr **head_ptr, deferred_addr * remove_to);
-void process_deferred(deferred_addr ** head_ptr, void * context, native_addr_func get_native);
-
-#endif //X86_BACKEND_H_
-
--- a/z80_to_x86.h	Mon Feb 24 00:40:32 2014 -0800
+++ b/z80_to_x86.h	Mon Feb 24 00:50:15 2014 -0800
@@ -1,12 +1,12 @@
 /*
  Copyright 2013 Michael Pavone
- This file is part of BlastEm. 
+ 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 Z80_TO_X86_H_
 #define Z80_TO_X86_H_
 #include "z80inst.h"
-#include "x86_backend.h"
+#include "backend.h"
 
 #define ZNUM_MEM_AREAS 4
 #define ZMAX_NATIVE_SIZE 128