This commit is contained in:
redcode
2016-05-01 17:04:16 +02:00
parent d49528c126
commit f93ddc5bcb
3 changed files with 41 additions and 109 deletions

View File

@@ -48,7 +48,7 @@ typedef struct {
Z_C_SYMBOLS_BEGIN
#ifndef CPU_Z80_ABI
# ifdef CPU_Z80_AS_STATIC
# ifdef CPU_Z80_STATIC
# define CPU_Z80_ABI
# else
# define CPU_Z80_ABI Z_API
@@ -58,7 +58,7 @@ Z_C_SYMBOLS_BEGIN
CPU_Z80_ABI extern ZCPUEmulatorABI const abi_emulation_cpu_z80;
#ifndef CPU_Z80_API
# ifdef CPU_Z80_AS_STATIC
# ifdef CPU_Z80_STATIC
# define CPU_Z80_API
# else
# define CPU_Z80_API Z_API

View File

@@ -8,14 +8,12 @@
/* Begin PBXBuildFile section */
6428A5751AAFC6DF00634F5D /* Z80.h in Headers */ = {isa = PBXBuildFile; fileRef = 6428A5741AAFC6DF00634F5D /* Z80.h */; settings = {ATTRIBUTES = (Public, ); }; };
6428A5771AAFC72900634F5D /* Z80.c in Sources */ = {isa = PBXBuildFile; fileRef = 6428A5761AAFC72900634F5D /* Z80.c */; settings = {COMPILER_FLAGS = "-DCPU_Z80_AS_DYNAMIC"; }; };
6428A5771AAFC72900634F5D /* Z80.c in Sources */ = {isa = PBXBuildFile; fileRef = 6428A5761AAFC72900634F5D /* Z80.c */; settings = {COMPILER_FLAGS = "-DCPU_Z80_DYNAMIC"; }; };
6428A5801AAFEF1D00634F5D /* Z80.c in Sources */ = {isa = PBXBuildFile; fileRef = 6428A5761AAFC72900634F5D /* Z80.c */; };
648C13AF1CCDFA8D00C8DCE1 /* Z80.c in Sources */ = {isa = PBXBuildFile; fileRef = 6428A5761AAFC72900634F5D /* Z80.c */; settings = {COMPILER_FLAGS = "-DCPU_Z80_AS_DYNAMIC -DCPU_Z80_BUILD_MODULE_ABI"; }; };
648C13AF1CCDFA8D00C8DCE1 /* Z80.c in Sources */ = {isa = PBXBuildFile; fileRef = 6428A5761AAFC72900634F5D /* Z80.c */; settings = {COMPILER_FLAGS = "-DCPU_Z80_DYNAMIC -DCPU_Z80_BUILD_MODULE_ABI -DCPU_Z80_USE_SLOTS"; }; };
648C13B21CCDFA8D00C8DCE1 /* Z80.h in Headers */ = {isa = PBXBuildFile; fileRef = 6428A5741AAFC6DF00634F5D /* Z80.h */; settings = {ATTRIBUTES = (Public, ); }; };
648C13C31CCDFBEF00C8DCE1 /* Z80.c in Sources */ = {isa = PBXBuildFile; fileRef = 6428A5761AAFC72900634F5D /* Z80.c */; settings = {COMPILER_FLAGS = "-DCPU_Z80_BUILD_ABI"; }; };
648C13CC1CCDFC7700C8DCE1 /* Z80.c in Sources */ = {isa = PBXBuildFile; fileRef = 6428A5761AAFC72900634F5D /* Z80.c */; settings = {COMPILER_FLAGS = "-DCPU_Z80_BUILD_ABI -DCPU_Z80_HIDE_API"; }; };
648C13D51CCE11CE00C8DCE1 /* Z80.c in Sources */ = {isa = PBXBuildFile; fileRef = 6428A5761AAFC72900634F5D /* Z80.c */; settings = {COMPILER_FLAGS = "-DCPU_Z80_AS_DYNAMIC -DCPU_Z80_BUILD_ABI"; }; };
648C13D81CCE11CE00C8DCE1 /* Z80.h in Headers */ = {isa = PBXBuildFile; fileRef = 6428A5741AAFC6DF00634F5D /* Z80.h */; settings = {ATTRIBUTES = (Public, ); }; };
648C13C31CCDFBEF00C8DCE1 /* Z80.c in Sources */ = {isa = PBXBuildFile; fileRef = 6428A5761AAFC72900634F5D /* Z80.c */; settings = {COMPILER_FLAGS = "-DCPU_Z80_BUILD_ABI -DCPU_Z80_USE_SLOTS"; }; };
648C13CC1CCDFC7700C8DCE1 /* Z80.c in Sources */ = {isa = PBXBuildFile; fileRef = 6428A5761AAFC72900634F5D /* Z80.c */; settings = {COMPILER_FLAGS = "-DCPU_Z80_BUILD_ABI -DCPU_Z80_HIDE_API -DCPU_Z80_USE_SLOTS"; }; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -26,7 +24,6 @@
648C13B61CCDFA8D00C8DCE1 /* Z80.CPU */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = Z80.CPU; sourceTree = BUILT_PRODUCTS_DIR; };
648C13C91CCDFBEF00C8DCE1 /* libZ80.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libZ80.a; sourceTree = BUILT_PRODUCTS_DIR; };
648C13D21CCDFC7700C8DCE1 /* libZ80.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libZ80.a; sourceTree = BUILT_PRODUCTS_DIR; };
648C13DC1CCE11CE00C8DCE1 /* libZ80.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libZ80.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -65,13 +62,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
648C13D61CCE11CE00C8DCE1 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@@ -92,7 +82,6 @@
648C13B61CCDFA8D00C8DCE1 /* Z80.CPU */,
648C13C91CCDFBEF00C8DCE1 /* libZ80.a */,
648C13D21CCDFC7700C8DCE1 /* libZ80.a */,
648C13DC1CCE11CE00C8DCE1 /* libZ80.dylib */,
);
name = Products;
sourceTree = "<group>";
@@ -155,14 +144,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
648C13D71CCE11CE00C8DCE1 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
648C13D81CCE11CE00C8DCE1 /* Z80.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
@@ -251,23 +232,6 @@
productReference = 648C13D21CCDFC7700C8DCE1 /* libZ80.a */;
productType = "com.apple.product-type.library.static";
};
648C13D31CCE11CE00C8DCE1 /* Z80 (dynamic +ABI) */ = {
isa = PBXNativeTarget;
buildConfigurationList = 648C13D91CCE11CE00C8DCE1 /* Build configuration list for PBXNativeTarget "Z80 (dynamic +ABI)" */;
buildPhases = (
648C13D41CCE11CE00C8DCE1 /* Sources */,
648C13D61CCE11CE00C8DCE1 /* Frameworks */,
648C13D71CCE11CE00C8DCE1 /* Headers */,
);
buildRules = (
);
dependencies = (
);
name = "Z80 (dynamic +ABI)";
productName = Z80;
productReference = 648C13DC1CCE11CE00C8DCE1 /* libZ80.dylib */;
productType = "com.apple.product-type.library.dynamic";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -298,7 +262,6 @@
projectRoot = "";
targets = (
6428A5681AAFC68700634F5D /* Z80 (dynamic) */,
648C13D31CCE11CE00C8DCE1 /* Z80 (dynamic +ABI) */,
648C13AD1CCDFA8D00C8DCE1 /* Z80 (module) */,
6428A57B1AAFEDED00634F5D /* Z80 (static) */,
648C13C11CCDFBEF00C8DCE1 /* Z80 (static +ABI) */,
@@ -348,14 +311,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
648C13D41CCE11CE00C8DCE1 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
648C13D51CCE11CE00C8DCE1 /* Z80.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
@@ -363,6 +318,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
@@ -403,6 +359,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
@@ -458,6 +415,7 @@
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = Z80;
PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/emulation/CPU;
};
name = Debug;
};
@@ -465,6 +423,7 @@
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = Z80;
PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/emulation/CPU;
};
name = Release;
};
@@ -500,6 +459,7 @@
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = Z80;
PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/emulation/CPU;
};
name = Debug;
};
@@ -507,6 +467,7 @@
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = Z80;
PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/emulation/CPU;
};
name = Release;
};
@@ -514,6 +475,7 @@
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = Z80;
PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/emulation/CPU;
};
name = Debug;
};
@@ -521,27 +483,6 @@
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = Z80;
};
name = Release;
};
648C13DA1CCE11CE00C8DCE1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1.0.0;
EXECUTABLE_PREFIX = lib;
PRODUCT_NAME = Z80;
PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/emulation/CPU;
};
name = Debug;
};
648C13DB1CCE11CE00C8DCE1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1.0.0;
EXECUTABLE_PREFIX = lib;
PRODUCT_NAME = Z80;
PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/emulation/CPU;
};
name = Release;
@@ -603,15 +544,6 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
648C13D91CCE11CE00C8DCE1 /* Build configuration list for PBXNativeTarget "Z80 (dynamic +ABI)" */ = {
isa = XCConfigurationList;
buildConfigurations = (
648C13DA1CCE11CE00C8DCE1 /* Debug */,
648C13DB1CCE11CE00C8DCE1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 6428A5611AAFC68700634F5D /* Project object */;

View File

@@ -12,7 +12,7 @@ Released under the terms of the GNU General Public License v3. */
#if defined(CPU_Z80_HIDE_API)
# define CPU_Z80_API static
#elif defined(CPU_Z80_AS_DYNAMIC)
#elif defined(CPU_Z80_DYNAMIC)
# define CPU_Z80_API Z_API_EXPORT
#else
# define CPU_Z80_API
@@ -20,7 +20,7 @@ Released under the terms of the GNU General Public License v3. */
#if defined(CPU_Z80_HIDE_ABI)
# define CPU_Z80_ABI static
#elif defined(CPU_Z80_AS_DYNAMIC)
#elif defined(CPU_Z80_DYNAMIC)
# define CPU_Z80_ABI Z_API_EXPORT
#else
# define CPU_Z80_ABI
@@ -1602,37 +1602,37 @@ CPU_Z80_API void z80_irq(Z80 *object, zboolean state) {INT = state;}
static void will_read_state(Z80 *object) {R = R_ALL;}
static void did_write_state(Z80 *object) {R7 = R; }
static ZEmulatorFunctionExport const exports[7] = {
{Z_EMULATOR_ACTION_POWER, (ZEmulatorFunction)z80_power },
{Z_EMULATOR_ACTION_RESET, (ZEmulatorFunction)z80_reset },
{Z_EMULATOR_ACTION_RUN, (ZEmulatorFunction)z80_run },
{Z_EMULATOR_ACTION_WILL_READ_STATE, (ZEmulatorFunction)will_read_state},
{Z_EMULATOR_ACTION_DID_WRITE_STATE, (ZEmulatorFunction)did_write_state},
{Z_EMULATOR_ACTION_NMI, (ZEmulatorFunction)z80_nmi },
{Z_EMULATOR_ACTION_INT, (ZEmulatorFunction)z80_irq }
static ZCPUEmulatorExport const exports[7] = {
{Z_EMULATOR_FUNCTION_POWER, (ZEmulatorFunction)z80_power },
{Z_EMULATOR_FUNCTION_RESET, (ZEmulatorFunction)z80_reset },
{Z_EMULATOR_FUNCTION_RUN, (ZEmulatorFunction)z80_run },
{Z_EMULATOR_FUNCTION_WILL_READ_STATE, (ZEmulatorFunction)will_read_state},
{Z_EMULATOR_FUNCTION_DID_WRITE_STATE, (ZEmulatorFunction)did_write_state},
{Z_EMULATOR_FUNCTION_NMI, (ZEmulatorFunction)z80_nmi },
{Z_EMULATOR_FUNCTION_INT, (ZEmulatorFunction)z80_irq }
};
# define SLOT_OFFSET(name) Z_OFFSET_OF(Z80, cb.name)
static ZEmulatorSlotLinkage const slot_linkages[6] = {
{Z_EMULATOR_OBJECT_MEMORY, Z_EMULATOR_ACTION_READ_8BIT, SLOT_OFFSET(read )},
{Z_EMULATOR_OBJECT_MEMORY, Z_EMULATOR_ACTION_WRITE_8BIT, SLOT_OFFSET(write )},
{Z_EMULATOR_OBJECT_IO, Z_EMULATOR_ACTION_IN_8BIT, SLOT_OFFSET(in )},
{Z_EMULATOR_OBJECT_IO, Z_EMULATOR_ACTION_OUT_8BIT, SLOT_OFFSET(out )},
{Z_EMULATOR_OBJECT_MACHINE, Z_EMULATOR_ACTION_INT_DATA, SLOT_OFFSET(int_data)},
{Z_EMULATOR_OBJECT_MACHINE, Z_EMULATOR_ACTION_HALT, SLOT_OFFSET(halt )}
static ZCPUEmulatorInstanceImport const instance_imports[6] = {
{Z_EMULATOR_FUNCTION_READ_8BIT, SLOT_OFFSET(read )},
{Z_EMULATOR_FUNCTION_WRITE_8BIT, SLOT_OFFSET(write )},
{Z_EMULATOR_FUNCTION_IN_8BIT, SLOT_OFFSET(in )},
{Z_EMULATOR_FUNCTION_OUT_8BIT, SLOT_OFFSET(out )},
{Z_EMULATOR_FUNCTION_INT_DATA, SLOT_OFFSET(int_data)},
{Z_EMULATOR_FUNCTION_HALT, SLOT_OFFSET(halt )}
};
CPU_Z80_ABI ZCPUEmulatorABI const abi_emulation_cpu_z80 = {
/* dependency_count */ 0,
/* dependencies */ NULL,
/* function_export_count */ 7,
/* function_exports */ exports,
/* instance_size */ sizeof(Z80),
/* instance_state_offset */ Z_OFFSET_OF(Z80, state),
/* instance_state_size */ sizeof(ZZ80State),
/* instance_slot_linkage_count */ 6,
/* instance_slot_linkages */ slot_linkages
/* dependency_count */ 0,
/* dependencies */ NULL,
/* export_count */ 7,
/* exports */ exports,
/* instance_size */ sizeof(Z80),
/* instance_state_offset */ Z_OFFSET_OF(Z80, state),
/* instance_state_size */ sizeof(ZZ80State),
/* instance_import_count */ 6,
/* instance_imports */ instance_imports
};
#endif
@@ -1645,8 +1645,8 @@ CPU_Z80_API void z80_irq(Z80 *object, zboolean state) {INT = state;}
"C1999-2016 Manuel Sainz de Baranda y Goñi\n"
"LLGPLv3";
static ZModuleUnit const unit = {"Z80", Z_VERSION(1, 0, 0), information, &abi_emulation_cpu_z80};
static ZModuleDomain const domain = {"emulation/CPU", Z_VERSION(1, 0, 0), 1, &unit};
static ZModuleUnit const unit = {"Z80", "Z80", Z_VERSION(1, 0, 0), information, &abi_emulation_cpu_z80};
static ZModuleDomain const domain = {"Emulation.CPU", Z_VERSION(1, 0, 0), 1, &unit};
Z_API_WEAK_EXPORT ZModuleABI const __module_abi__ = {1, &domain};
#endif