diff --git a/Z80.CPU/v1.0.0/API/C/emulation/CPU/Z80.h b/Z80.CPU/v1.0.0/API/C/emulation/CPU/Z80.h index 17f81d5..c1f9d4d 100644 --- a/Z80.CPU/v1.0.0/API/C/emulation/CPU/Z80.h +++ b/Z80.CPU/v1.0.0/API/C/emulation/CPU/Z80.h @@ -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 diff --git a/Z80.CPU/v1.0.0/development/Xcode/Z80.xcodeproj/project.pbxproj b/Z80.CPU/v1.0.0/development/Xcode/Z80.xcodeproj/project.pbxproj index 57759c3..4dffb09 100644 --- a/Z80.CPU/v1.0.0/development/Xcode/Z80.xcodeproj/project.pbxproj +++ b/Z80.CPU/v1.0.0/development/Xcode/Z80.xcodeproj/project.pbxproj @@ -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 = ""; @@ -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 */; diff --git a/Z80.CPU/v1.0.0/sources/Z80.c b/Z80.CPU/v1.0.0/sources/Z80.c index db6b799..b574972 100644 --- a/Z80.CPU/v1.0.0/sources/Z80.c +++ b/Z80.CPU/v1.0.0/sources/Z80.c @@ -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