zemu 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/zemu/config.rb +312 -0
- data/lib/zemu/instance.rb +179 -0
- data/lib/zemu.rb +172 -0
- data/src/debug.c +118 -0
- data/src/debug.h +30 -0
- data/src/external/Z/API/Z/ABIs/generic/allocator.h +36 -0
- data/src/external/Z/API/Z/ABIs/generic/cipher.h +47 -0
- data/src/external/Z/API/Z/ABIs/generic/data codec.h +33 -0
- data/src/external/Z/API/Z/ABIs/generic/emulation.h +103 -0
- data/src/external/Z/API/Z/ABIs/generic/hash function.h +33 -0
- data/src/external/Z/API/Z/ABIs/generic/module.h +33 -0
- data/src/external/Z/API/Z/ABIs/generic/wave codec.h +40 -0
- data/src/external/Z/API/Z/classes/base/InitializerList.hpp +34 -0
- data/src/external/Z/API/Z/classes/base/OpaqueFunctionPointer.hpp +26 -0
- data/src/external/Z/API/Z/classes/base/OpaqueMemberFunctionPointer.hpp +26 -0
- data/src/external/Z/API/Z/classes/base/Pair.hpp +46 -0
- data/src/external/Z/API/Z/classes/base/Range.hpp +111 -0
- data/src/external/Z/API/Z/classes/base/SizedString.hpp +66 -0
- data/src/external/Z/API/Z/classes/base/Status.hpp +89 -0
- data/src/external/Z/API/Z/classes/base/Symbol.hpp +39 -0
- data/src/external/Z/API/Z/classes/base/Tuple.hpp +111 -0
- data/src/external/Z/API/Z/classes/base/Value2D.hpp +389 -0
- data/src/external/Z/API/Z/classes/base/Value3D.hpp +368 -0
- data/src/external/Z/API/Z/classes/buffering/RingBuffer.hpp +93 -0
- data/src/external/Z/API/Z/classes/buffering/TripleBuffer.hpp +68 -0
- data/src/external/Z/API/Z/classes/functional/Functor.hpp +265 -0
- data/src/external/Z/API/Z/classes/functional/MemberFunction.hpp +98 -0
- data/src/external/Z/API/Z/classes/functional/ObjectMemberFunction.hpp +172 -0
- data/src/external/Z/API/Z/classes/functional/ObjectSelector.hpp +219 -0
- data/src/external/Z/API/Z/classes/functional/Selector.hpp +146 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/AABB.hpp +81 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/AABR.hpp +685 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Box.hpp +219 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Circle.hpp +80 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Line2D.hpp +93 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Line3D.hpp +80 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Rectangle.hpp +675 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Sphere.hpp +0 -0
- data/src/external/Z/API/Z/classes/memory/Shared.hpp +90 -0
- data/src/external/Z/API/Z/constants/base.h +35 -0
- data/src/external/Z/API/Z/constants/chemical elements.h +6385 -0
- data/src/external/Z/API/Z/constants/numbers.h +963 -0
- data/src/external/Z/API/Z/constants/version.h +15 -0
- data/src/external/Z/API/Z/formats/character set/ASCII.h +158 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP437.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP737.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP775.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP850.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP852.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP855.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP857.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP858.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP860.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP861.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP862.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP863.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP864.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP865.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP866.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP869.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP872.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP874.h +159 -0
- data/src/external/Z/API/Z/formats/character set/Unicode.h +30119 -0
- data/src/external/Z/API/Z/formats/data model/I16LP32.h +19 -0
- data/src/external/Z/API/Z/formats/data model/ILP32.h +19 -0
- data/src/external/Z/API/Z/formats/data model/ILP64.h +19 -0
- data/src/external/Z/API/Z/formats/data model/IP16L32.h +19 -0
- data/src/external/Z/API/Z/formats/data model/LLP64.h +19 -0
- data/src/external/Z/API/Z/formats/data model/LP32.h +19 -0
- data/src/external/Z/API/Z/formats/data model/LP64.h +19 -0
- data/src/external/Z/API/Z/formats/data model/SILP64.h +19 -0
- data/src/external/Z/API/Z/formats/file system/FAT12.h +61 -0
- data/src/external/Z/API/Z/formats/floating-point/IEEE 754.h +141 -0
- data/src/external/Z/API/Z/formats/floating-point/x87.h +74 -0
- data/src/external/Z/API/Z/formats/image/ICNS.h +39 -0
- data/src/external/Z/API/Z/formats/keymap/Mac OS.h +284 -0
- data/src/external/Z/API/Z/formats/keymap/Z.h +141 -0
- data/src/external/Z/API/Z/formats/multimedia/Creative Voice.h +106 -0
- data/src/external/Z/API/Z/formats/multimedia/Microsoft Wave.h +49 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ACH.h +44 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/FRZ.h +54 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/PRG.h +33 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SEM.h +46 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SIT.h +34 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNA.h +117 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNP.h +37 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SP.h +62 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/Z80.h +117 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX.h +56 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX82.h +70 -0
- data/src/external/Z/API/Z/formats/storage medium image/NES Game Pak/UNIF.h +26 -0
- data/src/external/Z/API/Z/formats/storage medium image/NES Game Pak/iNES.h +76 -0
- data/src/external/Z/API/Z/formats/storage medium image/audio/TAP.h +25 -0
- data/src/external/Z/API/Z/formats/storage medium image/audio/TZX.h +1185 -0
- data/src/external/Z/API/Z/formats/storage medium image/audio/Warajevo TAP.h +32 -0
- data/src/external/Z/API/Z/formats/storage medium image/floppy disk/FDI.h +45 -0
- data/src/external/Z/API/Z/functions/base/Z2D.h +583 -0
- data/src/external/Z/API/Z/functions/base/Z3D.h +712 -0
- data/src/external/Z/API/Z/functions/base/ZRange.h +137 -0
- data/src/external/Z/API/Z/functions/base/all.h +16 -0
- data/src/external/Z/API/Z/functions/base/casting.hpp +37 -0
- data/src/external/Z/API/Z/functions/base/character.h +38 -0
- data/src/external/Z/API/Z/functions/base/constructors.h +326 -0
- data/src/external/Z/API/Z/functions/base/structure.hpp +26 -0
- data/src/external/Z/API/Z/functions/base/type.hpp +60 -0
- data/src/external/Z/API/Z/functions/base/value.h +1901 -0
- data/src/external/Z/API/Z/functions/base/value.hpp +112 -0
- data/src/external/Z/API/Z/functions/buffering/ZRingBuffer.h +85 -0
- data/src/external/Z/API/Z/functions/buffering/ZTripleBuffer.h +65 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/Z2DLine.h +179 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/Z3DLine.h +168 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZAABB.h +361 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZAABR.h +1081 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZBox.h +340 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZCircle.h +142 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZRectangle.h +1267 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZSphere.h +156 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/all.h +18 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/constructors.h +620 -0
- data/src/external/Z/API/Z/functions/time/date.h +29 -0
- data/src/external/Z/API/Z/hardware/CPU/architecture/6502.h +90 -0
- data/src/external/Z/API/Z/hardware/CPU/architecture/Z80.h +245 -0
- data/src/external/Z/API/Z/hardware/CPU/architecture/i4004.h +37 -0
- data/src/external/Z/API/Z/hardware/PSG/General Instrument/AY-3-891x.h +180 -0
- data/src/external/Z/API/Z/hardware/VDC/Ricoh/RP2C0x.h +625 -0
- data/src/external/Z/API/Z/hardware/bus/AGP.h +24 -0
- data/src/external/Z/API/Z/hardware/bus/USB.h +510 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Inves Spectrum +.h +47 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Pentagon.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Scorpion.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum + 128K.h +158 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +.h +82 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2A.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +3.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum.h +109 -0
- data/src/external/Z/API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (NTSC).h +29 -0
- data/src/external/Z/API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (PAL).h +29 -0
- data/src/external/Z/API/Z/hardware/machine/platform/computer/ZX Spectrum.h +405 -0
- data/src/external/Z/API/Z/hardware/machine/platform/console/Game Boy.h +49 -0
- data/src/external/Z/API/Z/hardware/machine/platform/console/Nintendo Entertainment System.h +350 -0
- data/src/external/Z/API/Z/hardware/storage medium/ROM cartridge/SNES Game Pak.h +238 -0
- data/src/external/Z/API/Z/inspection/C/completion.h +178 -0
- data/src/external/Z/API/Z/inspection/C/modules/C11.h +41 -0
- data/src/external/Z/API/Z/inspection/C/modules/C18.h +13 -0
- data/src/external/Z/API/Z/inspection/C/modules/C89.h +19 -0
- data/src/external/Z/API/Z/inspection/C/modules/C90.h +13 -0
- data/src/external/Z/API/Z/inspection/C/modules/C94.h +15 -0
- data/src/external/Z/API/Z/inspection/C/modules/C99.h +29 -0
- data/src/external/Z/API/Z/inspection/C/modules/KR C.h +19 -0
- data/src/external/Z/API/Z/inspection/C++/completion.h +512 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++03.h +15 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++11.h +80 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++14.h +26 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++17.h +55 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++85.h +11 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++89.h +13 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++98.h +17 -0
- data/src/external/Z/API/Z/inspection/C++.h +78 -0
- data/src/external/Z/API/Z/inspection/C.h +79 -0
- data/src/external/Z/API/Z/inspection/CPU/completion.h +56 -0
- data/src/external/Z/API/Z/inspection/CPU/detection.h +714 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/6502.h +25 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/AArch32.h +32 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/AArch64.h +32 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/Z80.h +26 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/x86-32.h +31 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/x86-64.h +312 -0
- data/src/external/Z/API/Z/inspection/CPU.h +209 -0
- data/src/external/Z/API/Z/inspection/OS/completion.h +36 -0
- data/src/external/Z/API/Z/inspection/OS/detection.h +768 -0
- data/src/external/Z/API/Z/inspection/OS/modules/Linux.h +22 -0
- data/src/external/Z/API/Z/inspection/OS/modules/MS-DOS.h +16 -0
- data/src/external/Z/API/Z/inspection/OS/modules/Mac OS X.h +23 -0
- data/src/external/Z/API/Z/inspection/OS/modules/Windows.h +19 -0
- data/src/external/Z/API/Z/inspection/OS/modules/iPhone OS.h +23 -0
- data/src/external/Z/API/Z/inspection/OS.h +236 -0
- data/src/external/Z/API/Z/inspection/Objective-C/completion.h +8 -0
- data/src/external/Z/API/Z/inspection/Objective-C/modules/Objective-C v1.0.h +11 -0
- data/src/external/Z/API/Z/inspection/Objective-C/modules/Objective-C v2.0.h +15 -0
- data/src/external/Z/API/Z/inspection/Objective-C.h +51 -0
- data/src/external/Z/API/Z/inspection/Z.h +19 -0
- data/src/external/Z/API/Z/inspection/build.h +22 -0
- data/src/external/Z/API/Z/inspection/character set.h +66 -0
- data/src/external/Z/API/Z/inspection/compiler/completion.h +2885 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/Apple LLVM.h +26 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/Clang.h +1664 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/GCC.h +1366 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/SCCZ80.h +473 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/Visual C++.h +606 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/cc65.h +529 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/generic.h +13 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/template.h +650 -0
- data/src/external/Z/API/Z/inspection/compiler.h +299 -0
- data/src/external/Z/API/Z/inspection/data model/completion.h +128 -0
- data/src/external/Z/API/Z/inspection/data model/deduction.h +9 -0
- data/src/external/Z/API/Z/inspection/data model/detection.h +45 -0
- data/src/external/Z/API/Z/inspection/data model.h +362 -0
- data/src/external/Z/API/Z/inspection/floating-point/completion.h +50 -0
- data/src/external/Z/API/Z/inspection/floating-point.h +324 -0
- data/src/external/Z/API/Z/inspection/language.h +163 -0
- data/src/external/Z/API/Z/inspection/platform/detection.h +9 -0
- data/src/external/Z/API/Z/inspection/platform.h +29 -0
- data/src/external/Z/API/Z/keys/C++.h +27 -0
- data/src/external/Z/API/Z/keys/C.h +29 -0
- data/src/external/Z/API/Z/keys/CPU.h +80 -0
- data/src/external/Z/API/Z/keys/OS.h +182 -0
- data/src/external/Z/API/Z/keys/Objective-C.h +17 -0
- data/src/external/Z/API/Z/keys/chemistry.h +26 -0
- data/src/external/Z/API/Z/keys/compiler.h +178 -0
- data/src/external/Z/API/Z/keys/data model.h +32 -0
- data/src/external/Z/API/Z/keys/endianness.h +24 -0
- data/src/external/Z/API/Z/keys/language.h +21 -0
- data/src/external/Z/API/Z/keys/layout.h +20 -0
- data/src/external/Z/API/Z/keys/mathematics/geometry.h +29 -0
- data/src/external/Z/API/Z/keys/mathematics/number.h +21 -0
- data/src/external/Z/API/Z/keys/order.h +18 -0
- data/src/external/Z/API/Z/keys/platform.h +87 -0
- data/src/external/Z/API/Z/keys/program.h +39 -0
- data/src/external/Z/API/Z/keys/science/chemical elements.h +200 -0
- data/src/external/Z/API/Z/keys/science/electricity.h +18 -0
- data/src/external/Z/API/Z/keys/science/magnetism.h +19 -0
- data/src/external/Z/API/Z/keys/status.h +69 -0
- data/src/external/Z/API/Z/keys/text.h +27 -0
- data/src/external/Z/API/Z/keys/value.h +88 -0
- data/src/external/Z/API/Z/macros/arguments.h +25 -0
- data/src/external/Z/API/Z/macros/casting.h +22 -0
- data/src/external/Z/API/Z/macros/character.h +159 -0
- data/src/external/Z/API/Z/macros/date.h +14 -0
- data/src/external/Z/API/Z/macros/key.h +20 -0
- data/src/external/Z/API/Z/macros/language.h +126 -0
- data/src/external/Z/API/Z/macros/language.hpp +81 -0
- data/src/external/Z/API/Z/macros/members.h +86 -0
- data/src/external/Z/API/Z/macros/pasting.h +308 -0
- data/src/external/Z/API/Z/macros/pointer.h +33 -0
- data/src/external/Z/API/Z/macros/repetition.h +283 -0
- data/src/external/Z/API/Z/macros/structure.h +104 -0
- data/src/external/Z/API/Z/macros/templating.h +407 -0
- data/src/external/Z/API/Z/macros/tokens.h +14 -0
- data/src/external/Z/API/Z/macros/type enumeration.h +43 -0
- data/src/external/Z/API/Z/macros/type selection.hpp +76 -0
- data/src/external/Z/API/Z/macros/value.h +489 -0
- data/src/external/Z/API/Z/macros/variadic pasting.h +21 -0
- data/src/external/Z/API/Z/macros/variadic selection.h +56 -0
- data/src/external/Z/API/Z/macros/variadic.h +46 -0
- data/src/external/Z/API/Z/macros/version.h +17 -0
- data/src/external/Z/API/Z/network/3/IP.h +36 -0
- data/src/external/Z/API/Z/network/4/TCP.h +24 -0
- data/src/external/Z/API/Z/network/4/UDP.h +26 -0
- data/src/external/Z/API/Z/network/7/ED2K.h +104 -0
- data/src/external/Z/API/Z/network/7/HTTP.h +100 -0
- data/src/external/Z/API/Z/traits/SelectType.hpp +71 -0
- data/src/external/Z/API/Z/traits/TernaryType.hpp +20 -0
- data/src/external/Z/API/Z/traits/Type.hpp +4516 -0
- data/src/external/Z/API/Z/traits/TypeCount.hpp +52 -0
- data/src/external/Z/API/Z/traits/TypeList.hpp +376 -0
- data/src/external/Z/API/Z/traits/base.hpp +19 -0
- data/src/external/Z/API/Z/traits/filtering.hpp +30 -0
- data/src/external/Z/API/Z/traits/mathematics.hpp +48 -0
- data/src/external/Z/API/Z/types/arguments.h +19 -0
- data/src/external/Z/API/Z/types/base.h +1655 -0
- data/src/external/Z/API/Z/types/base.hpp +169 -0
- data/src/external/Z/API/Z/types/buffering.h +27 -0
- data/src/external/Z/API/Z/types/mathematics.h +135 -0
- data/src/external/Z/API/Z/types/time.h +23 -0
- data/src/external/Z/COPYING.LESSER +165 -0
- data/src/external/Z/development/Qt Creator/Z.pro +253 -0
- data/src/external/Z/distribution/CocoaPods/Zeta.podspec +18 -0
- data/src/external/Z/distribution/Gentoo Linux/Zeta-0.1.ebuild +22 -0
- data/src/external/Z/distribution/Gentoo Linux/metadata.xml +8 -0
- data/src/external/Z/distribution/Homebrew/Zeta.rb +11 -0
- data/src/external/z80/API/emulation/CPU/Z80.h +201 -0
- data/src/external/z80/README.md +229 -0
- data/src/external/z80/building/premake4.lua +33 -0
- data/src/external/z80/development/Xcode/Z80.xcodeproj/project.pbxproj +520 -0
- data/src/external/z80/sources/Z80.c +1660 -0
- data/src/interrupt.c +6 -0
- data/src/interrupt.h +3 -0
- data/src/io.c.erb +115 -0
- data/src/io.h.erb +18 -0
- data/src/main.c +69 -0
- data/src/memory.c.erb +43 -0
- data/src/memory.h.erb +9 -0
- metadata +329 -0
@@ -0,0 +1,253 @@
|
|
1
|
+
HEADERS += \
|
2
|
+
"../../API/Z/ABIs/generic/allocation.h" \
|
3
|
+
"../../API/Z/ABIs/generic/cipher.h" \
|
4
|
+
"../../API/Z/ABIs/generic/data codec.h" \
|
5
|
+
"../../API/Z/ABIs/generic/emulation.h" \
|
6
|
+
"../../API/Z/ABIs/generic/hash function.h" \
|
7
|
+
"../../API/Z/ABIs/generic/module.h" \
|
8
|
+
"../../API/Z/ABIs/generic/wave codec.h" \
|
9
|
+
"../../API/Z/classes/base/InitializerList.hpp" \
|
10
|
+
"../../API/Z/classes/base/OpaqueFunctionPointer.hpp" \
|
11
|
+
"../../API/Z/classes/base/OpaqueMemberFunctionPointer.hpp" \
|
12
|
+
"../../API/Z/classes/base/Pair.hpp" \
|
13
|
+
"../../API/Z/classes/base/Range.hpp" \
|
14
|
+
"../../API/Z/classes/base/SizedString.hpp" \
|
15
|
+
"../../API/Z/classes/base/Status.hpp" \
|
16
|
+
"../../API/Z/classes/base/Symbol.hpp" \
|
17
|
+
"../../API/Z/classes/base/Tuple.hpp" \
|
18
|
+
"../../API/Z/classes/base/Value2D.hpp" \
|
19
|
+
"../../API/Z/classes/base/Value3D.hpp" \
|
20
|
+
"../../API/Z/classes/buffering/RingBuffer.hpp" \
|
21
|
+
"../../API/Z/classes/buffering/TripleBuffer.hpp" \
|
22
|
+
"../../API/Z/classes/functional/Functor.hpp" \
|
23
|
+
"../../API/Z/classes/functional/MemberFunction.hpp" \
|
24
|
+
"../../API/Z/classes/functional/ObjectMemberFunction.hpp" \
|
25
|
+
"../../API/Z/classes/functional/ObjectSelector.hpp" \
|
26
|
+
"../../API/Z/classes/functional/Selector.hpp" \
|
27
|
+
"../../API/Z/classes/mathematics/geometry/euclidean/AABB.hpp" \
|
28
|
+
"../../API/Z/classes/mathematics/geometry/euclidean/AABR.hpp" \
|
29
|
+
"../../API/Z/classes/mathematics/geometry/euclidean/Box.hpp" \
|
30
|
+
"../../API/Z/classes/mathematics/geometry/euclidean/Circle.hpp" \
|
31
|
+
"../../API/Z/classes/mathematics/geometry/euclidean/Line2D.hpp" \
|
32
|
+
"../../API/Z/classes/mathematics/geometry/euclidean/Line3D.hpp" \
|
33
|
+
"../../API/Z/classes/mathematics/geometry/euclidean/Rectangle.hpp" \
|
34
|
+
"../../API/Z/classes/mathematics/geometry/euclidean/Sphere.hpp" \
|
35
|
+
"../../API/Z/classes/memory/Shared.hpp" \
|
36
|
+
"../../API/Z/constants/base.h" \
|
37
|
+
"../../API/Z/constants/numbers.h" \
|
38
|
+
"../../API/Z/constants/science/chemical elements.h" \
|
39
|
+
"../../API/Z/constants/version.h" \
|
40
|
+
"../../API/Z/formats/character set/ASCII.h" \
|
41
|
+
"../../API/Z/formats/character set/DOS CP437.h" \
|
42
|
+
"../../API/Z/formats/character set/DOS CP737.h" \
|
43
|
+
"../../API/Z/formats/character set/DOS CP775.h" \
|
44
|
+
"../../API/Z/formats/character set/DOS CP850.h" \
|
45
|
+
"../../API/Z/formats/character set/DOS CP852.h" \
|
46
|
+
"../../API/Z/formats/character set/DOS CP855.h" \
|
47
|
+
"../../API/Z/formats/character set/DOS CP857.h" \
|
48
|
+
"../../API/Z/formats/character set/DOS CP858.h" \
|
49
|
+
"../../API/Z/formats/character set/DOS CP860.h" \
|
50
|
+
"../../API/Z/formats/character set/DOS CP861.h" \
|
51
|
+
"../../API/Z/formats/character set/DOS CP862.h" \
|
52
|
+
"../../API/Z/formats/character set/DOS CP863.h" \
|
53
|
+
"../../API/Z/formats/character set/DOS CP864.h" \
|
54
|
+
"../../API/Z/formats/character set/DOS CP865.h" \
|
55
|
+
"../../API/Z/formats/character set/DOS CP866.h" \
|
56
|
+
"../../API/Z/formats/character set/DOS CP869.h" \
|
57
|
+
"../../API/Z/formats/character set/DOS CP872.h" \
|
58
|
+
"../../API/Z/formats/character set/DOS CP874.h" \
|
59
|
+
"../../API/Z/formats/character set/Unicode.h" \
|
60
|
+
"../../API/Z/formats/data model/I16LP32.h" \
|
61
|
+
"../../API/Z/formats/data model/ILP32.h" \
|
62
|
+
"../../API/Z/formats/data model/ILP64.h" \
|
63
|
+
"../../API/Z/formats/data model/IP16L32.h" \
|
64
|
+
"../../API/Z/formats/data model/LLP64.h" \
|
65
|
+
"../../API/Z/formats/data model/LP32.h" \
|
66
|
+
"../../API/Z/formats/data model/LP64.h" \
|
67
|
+
"../../API/Z/formats/data model/SILP64.h" \
|
68
|
+
"../../API/Z/formats/file system/FAT12.h" \
|
69
|
+
"../../API/Z/formats/floating-point/IEEE 754.h" \
|
70
|
+
"../../API/Z/formats/floating-point/x87.h" \
|
71
|
+
"../../API/Z/formats/image/ICNS.h" \
|
72
|
+
"../../API/Z/formats/keymap/Mac OS.h" \
|
73
|
+
"../../API/Z/formats/keymap/Z.h" \
|
74
|
+
"../../API/Z/formats/multimedia/Creative Voice.h" \
|
75
|
+
"../../API/Z/formats/multimedia/Microsoft Wave.h" \
|
76
|
+
"../../API/Z/formats/snapshot/machine/computer/ZX Spectrum/ACH.h" \
|
77
|
+
"../../API/Z/formats/snapshot/machine/computer/ZX Spectrum/FRZ.h" \
|
78
|
+
"../../API/Z/formats/snapshot/machine/computer/ZX Spectrum/PRG.h" \
|
79
|
+
"../../API/Z/formats/snapshot/machine/computer/ZX Spectrum/SEM.h" \
|
80
|
+
"../../API/Z/formats/snapshot/machine/computer/ZX Spectrum/SIT.h" \
|
81
|
+
"../../API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNA.h" \
|
82
|
+
"../../API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNP.h" \
|
83
|
+
"../../API/Z/formats/snapshot/machine/computer/ZX Spectrum/SP.h" \
|
84
|
+
"../../API/Z/formats/snapshot/machine/computer/ZX Spectrum/Z80.h" \
|
85
|
+
"../../API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX.h" \
|
86
|
+
"../../API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX82.h" \
|
87
|
+
"../../API/Z/formats/storage medium image/NES Game Pak/UNIF.h" \
|
88
|
+
"../../API/Z/formats/storage medium image/NES Game Pak/iNES.h" \
|
89
|
+
"../../API/Z/formats/storage medium image/audio/TAP.h" \
|
90
|
+
"../../API/Z/formats/storage medium image/audio/TZX.h" \
|
91
|
+
"../../API/Z/formats/storage medium image/audio/Warajevo TAP.h" \
|
92
|
+
"../../API/Z/formats/storage medium image/floppy disk/FDI.h" \
|
93
|
+
"../../API/Z/functions/base/Z2D.h" \
|
94
|
+
"../../API/Z/functions/base/Z3D.h" \
|
95
|
+
"../../API/Z/functions/base/ZRange.h" \
|
96
|
+
"../../API/Z/functions/base/all.h" \
|
97
|
+
"../../API/Z/functions/base/character.h" \
|
98
|
+
"../../API/Z/functions/base/constructors.h" \
|
99
|
+
"../../API/Z/functions/base/structure.hpp" \
|
100
|
+
"../../API/Z/functions/base/type.hpp" \
|
101
|
+
"../../API/Z/functions/base/value.h" \
|
102
|
+
"../../API/Z/functions/base/value.hpp" \
|
103
|
+
"../../API/Z/functions/buffering/ZRingBuffer.h" \
|
104
|
+
"../../API/Z/functions/buffering/ZTripleBuffer.h" \
|
105
|
+
"../../API/Z/functions/mathematics/geometry/euclidean/Z2DLine.h" \
|
106
|
+
"../../API/Z/functions/mathematics/geometry/euclidean/Z3DLine.h" \
|
107
|
+
"../../API/Z/functions/mathematics/geometry/euclidean/ZAABB.h" \
|
108
|
+
"../../API/Z/functions/mathematics/geometry/euclidean/ZAABR.h" \
|
109
|
+
"../../API/Z/functions/mathematics/geometry/euclidean/ZBox.h" \
|
110
|
+
"../../API/Z/functions/mathematics/geometry/euclidean/ZCircle.h" \
|
111
|
+
"../../API/Z/functions/mathematics/geometry/euclidean/ZRectangle.h" \
|
112
|
+
"../../API/Z/functions/mathematics/geometry/euclidean/ZSphere.h" \
|
113
|
+
"../../API/Z/functions/mathematics/geometry/euclidean/all.h" \
|
114
|
+
"../../API/Z/functions/mathematics/geometry/euclidean/constructors.h" \
|
115
|
+
"../../API/Z/functions/time/date.h" \
|
116
|
+
"../../API/Z/hardware/BUS/AGP.h" \
|
117
|
+
"../../API/Z/hardware/BUS/USB.h" \
|
118
|
+
"../../API/Z/hardware/CPU/architecture/6502.h" \
|
119
|
+
"../../API/Z/hardware/CPU/architecture/Z80.h" \
|
120
|
+
"../../API/Z/hardware/CPU/architecture/i4004.h" \
|
121
|
+
"../../API/Z/hardware/PSG/General Instrument/AY-3-891x.h" \
|
122
|
+
"../../API/Z/hardware/VDC/Ricoh/RP2C0x.h" \
|
123
|
+
"../../API/Z/hardware/machine/model/computer/ZX Spectrum/Inves Spectrum +.h" \
|
124
|
+
"../../API/Z/hardware/machine/model/computer/ZX Spectrum/Pentagon.h" \
|
125
|
+
"../../API/Z/hardware/machine/model/computer/ZX Spectrum/Scorpion.h" \
|
126
|
+
"../../API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum + 128K.h" \
|
127
|
+
"../../API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +.h" \
|
128
|
+
"../../API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2.h" \
|
129
|
+
"../../API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2A.h" \
|
130
|
+
"../../API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +3.h" \
|
131
|
+
"../../API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum.h" \
|
132
|
+
"../../API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (NTSC).h" \
|
133
|
+
"../../API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (PAL).h" \
|
134
|
+
"../../API/Z/hardware/machine/platform/computer/ZX Spectrum.h" \
|
135
|
+
"../../API/Z/hardware/machine/platform/console/Game Boy.h" \
|
136
|
+
"../../API/Z/hardware/machine/platform/console/Nintendo Entertainment System.h" \
|
137
|
+
"../../API/Z/hardware/storage medium/ROM cartridge/SNES Game Pak.h" \
|
138
|
+
"../../API/Z/inspection/C++.h" \
|
139
|
+
"../../API/Z/inspection/C++/completion.h" \
|
140
|
+
"../../API/Z/inspection/C++/modules/C++03.h" \
|
141
|
+
"../../API/Z/inspection/C++/modules/C++11.h" \
|
142
|
+
"../../API/Z/inspection/C++/modules/C++14.h" \
|
143
|
+
"../../API/Z/inspection/C++/modules/C++17.h" \
|
144
|
+
"../../API/Z/inspection/C++/modules/C++85.h" \
|
145
|
+
"../../API/Z/inspection/C++/modules/C++89.h" \
|
146
|
+
"../../API/Z/inspection/C++/modules/C++98.h" \
|
147
|
+
"../../API/Z/inspection/C.h" \
|
148
|
+
"../../API/Z/inspection/C/completion.h" \
|
149
|
+
"../../API/Z/inspection/C/modules/C11.h" \
|
150
|
+
"../../API/Z/inspection/C/modules/C89.h" \
|
151
|
+
"../../API/Z/inspection/C/modules/C90.h" \
|
152
|
+
"../../API/Z/inspection/C/modules/C94.h" \
|
153
|
+
"../../API/Z/inspection/C/modules/C99.h" \
|
154
|
+
"../../API/Z/inspection/C/modules/KR C.h" \
|
155
|
+
"../../API/Z/inspection/CPU.h" \
|
156
|
+
"../../API/Z/inspection/CPU/completion.h" \
|
157
|
+
"../../API/Z/inspection/CPU/detection.h" \
|
158
|
+
"../../API/Z/inspection/CPU/modules/AArch32.h" \
|
159
|
+
"../../API/Z/inspection/CPU/modules/AArch64.h" \
|
160
|
+
"../../API/Z/inspection/CPU/modules/x86-32.h" \
|
161
|
+
"../../API/Z/inspection/CPU/modules/x86-64.h" \
|
162
|
+
"../../API/Z/inspection/OS.h" \
|
163
|
+
"../../API/Z/inspection/OS/completion.h" \
|
164
|
+
"../../API/Z/inspection/OS/detection.h" \
|
165
|
+
"../../API/Z/inspection/OS/modules/Linux.h" \
|
166
|
+
"../../API/Z/inspection/OS/modules/MS-DOS.h" \
|
167
|
+
"../../API/Z/inspection/OS/modules/Mac OS X.h" \
|
168
|
+
"../../API/Z/inspection/OS/modules/Windows.h" \
|
169
|
+
"../../API/Z/inspection/OS/modules/iPhone OS.h" \
|
170
|
+
"../../API/Z/inspection/Objective-C.h" \
|
171
|
+
"../../API/Z/inspection/Objective-C/completion.h" \
|
172
|
+
"../../API/Z/inspection/Objective-C/modules/Objective-C v1.0.h" \
|
173
|
+
"../../API/Z/inspection/Objective-C/modules/Objective-C v2.0.h" \
|
174
|
+
"../../API/Z/inspection/Z.h" \
|
175
|
+
"../../API/Z/inspection/build.h" \
|
176
|
+
"../../API/Z/inspection/character set.h" \
|
177
|
+
"../../API/Z/inspection/compiler.h" \
|
178
|
+
"../../API/Z/inspection/compiler/completion.h" \
|
179
|
+
"../../API/Z/inspection/compiler/modules/Apple LLVM.h" \
|
180
|
+
"../../API/Z/inspection/compiler/modules/Clang.h" \
|
181
|
+
"../../API/Z/inspection/compiler/modules/GCC.h" \
|
182
|
+
"../../API/Z/inspection/compiler/modules/SCCZ80.h" \
|
183
|
+
"../../API/Z/inspection/compiler/modules/Visual C++.h" \
|
184
|
+
"../../API/Z/inspection/compiler/modules/cc65.h" \
|
185
|
+
"../../API/Z/inspection/compiler/modules/generic.h" \
|
186
|
+
"../../API/Z/inspection/compiler/modules/template.h" \
|
187
|
+
"../../API/Z/inspection/data model.h" \
|
188
|
+
"../../API/Z/inspection/data model/completion.h" \
|
189
|
+
"../../API/Z/inspection/data model/deduction.h" \
|
190
|
+
"../../API/Z/inspection/data model/detection.h" \
|
191
|
+
"../../API/Z/inspection/floating-point.h" \
|
192
|
+
"../../API/Z/inspection/floating-point/completion.h" \
|
193
|
+
"../../API/Z/inspection/language.h" \
|
194
|
+
"../../API/Z/keys/C++.h" \
|
195
|
+
"../../API/Z/keys/C.h" \
|
196
|
+
"../../API/Z/keys/OS.h" \
|
197
|
+
"../../API/Z/keys/Objective-C.h" \
|
198
|
+
"../../API/Z/keys/compiler.h" \
|
199
|
+
"../../API/Z/keys/data model.h" \
|
200
|
+
"../../API/Z/keys/endianness.h" \
|
201
|
+
"../../API/Z/keys/hardware/CPU/architecture.h" \
|
202
|
+
"../../API/Z/keys/language.h" \
|
203
|
+
"../../API/Z/keys/layout.h" \
|
204
|
+
"../../API/Z/keys/mathematics/geometry.h" \
|
205
|
+
"../../API/Z/keys/mathematics/number.h" \
|
206
|
+
"../../API/Z/keys/order.h" \
|
207
|
+
"../../API/Z/keys/program.h" \
|
208
|
+
"../../API/Z/keys/science/chemical elements.h" \
|
209
|
+
"../../API/Z/keys/science/electricity.h" \
|
210
|
+
"../../API/Z/keys/science/magnetism.h" \
|
211
|
+
"../../API/Z/keys/status.h" \
|
212
|
+
"../../API/Z/keys/text.h" \
|
213
|
+
"../../API/Z/keys/value.h" \
|
214
|
+
"../../API/Z/macros/arguments.h" \
|
215
|
+
"../../API/Z/macros/casting.h" \
|
216
|
+
"../../API/Z/macros/character.h" \
|
217
|
+
"../../API/Z/macros/date.h" \
|
218
|
+
"../../API/Z/macros/key.h" \
|
219
|
+
"../../API/Z/macros/language.h" \
|
220
|
+
"../../API/Z/macros/language.hpp" \
|
221
|
+
"../../API/Z/macros/members.h" \
|
222
|
+
"../../API/Z/macros/pasting.h" \
|
223
|
+
"../../API/Z/macros/pointer.h" \
|
224
|
+
"../../API/Z/macros/repetition.h" \
|
225
|
+
"../../API/Z/macros/structure.h" \
|
226
|
+
"../../API/Z/macros/templating.h" \
|
227
|
+
"../../API/Z/macros/tokens.h" \
|
228
|
+
"../../API/Z/macros/type enumeration.h" \
|
229
|
+
"../../API/Z/macros/type selection.hpp" \
|
230
|
+
"../../API/Z/macros/value.h" \
|
231
|
+
"../../API/Z/macros/variadic pasting.h" \
|
232
|
+
"../../API/Z/macros/variadic selection.h" \
|
233
|
+
"../../API/Z/macros/variadic.h" \
|
234
|
+
"../../API/Z/macros/version.h" \
|
235
|
+
"../../API/Z/network/3/IP.h" \
|
236
|
+
"../../API/Z/network/4/TCP.h" \
|
237
|
+
"../../API/Z/network/4/UDP.h" \
|
238
|
+
"../../API/Z/network/7/ED2K.h" \
|
239
|
+
"../../API/Z/network/7/HTTP.h" \
|
240
|
+
"../../API/Z/traits/SelectType.hpp" \
|
241
|
+
"../../API/Z/traits/TernaryType.hpp" \
|
242
|
+
"../../API/Z/traits/Type.hpp" \
|
243
|
+
"../../API/Z/traits/TypeCount.hpp" \
|
244
|
+
"../../API/Z/traits/TypeList.hpp" \
|
245
|
+
"../../API/Z/traits/base.hpp" \
|
246
|
+
"../../API/Z/traits/filtering.hpp" \
|
247
|
+
"../../API/Z/traits/mathematics.hpp" \
|
248
|
+
"../../API/Z/types/arguments.h" \
|
249
|
+
"../../API/Z/types/base.h" \
|
250
|
+
"../../API/Z/types/base.hpp" \
|
251
|
+
"../../API/Z/types/buffering.h" \
|
252
|
+
"../../API/Z/types/mathematics.h" \
|
253
|
+
"../../API/Z/types/time.h"
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Pod::Spec.new do |s|
|
2
|
+
s.name = "Z"
|
3
|
+
s.module_name = "Z"
|
4
|
+
s.version = "0.1.0"
|
5
|
+
s.summary = "Header-only multi-platform base API written in C/C++"
|
6
|
+
s.homepage = "https://github.com/redcode/Z"
|
7
|
+
s.license = {:type => 'LGPLv3', :file => 'COPYING.LESSER'}
|
8
|
+
s.authors = "Manuel Sainz de Baranda y Goñi"
|
9
|
+
s.source = {:git => "https://github.com/redcode/Z.git", :tag => s.version.to_s}
|
10
|
+
s.requires_arc = false
|
11
|
+
s.header_dir = "Z"
|
12
|
+
s.header_mappings_dir = "Z"
|
13
|
+
s.libraries = 'c++'
|
14
|
+
s.source_files = '../../API/**/*.h'
|
15
|
+
s.xcconfig = {'LIBRARY_SEARCH_PATHS' => '$(PODS_ROOT)/API'}
|
16
|
+
s.preserve_paths = 'Z/**/*{.h,.hpp,.inl}'
|
17
|
+
s.public_header_files = 'API/Z/**/*.h'
|
18
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Copyright 1999-2018 Gentoo Foundation
|
2
|
+
# Distributed under the terms of the GNU General Public License v2
|
3
|
+
|
4
|
+
EAPI="6"
|
5
|
+
|
6
|
+
ETYPE="headers"
|
7
|
+
DESCRIPTION="Header-only multi-platform base library written in C/C++"
|
8
|
+
HOMEPAGE="https://zeta.st"
|
9
|
+
SRC_URI="https://zeta.st/downloads/Z-0.1.tar.xz"
|
10
|
+
SLOT="0"
|
11
|
+
|
12
|
+
S="${WORKDIR}/Z"
|
13
|
+
|
14
|
+
src_configure() { :; }
|
15
|
+
src_compile() { :; }
|
16
|
+
src_test() { :; }
|
17
|
+
|
18
|
+
src_install() {
|
19
|
+
insinto /usr/include/Z
|
20
|
+
doins -r API/Z/.
|
21
|
+
dodoc AUTHORS COPYING.LESSER HISTORY INSTALL README
|
22
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
3
|
+
<pkgmetadata>
|
4
|
+
<maintainer type="project">
|
5
|
+
<email>manuel@zeta.st</email>
|
6
|
+
<name>Manuel Sainz de Baranda y Goñi</name>
|
7
|
+
</maintainer>
|
8
|
+
</pkgmetadata>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class Zeta < Formula
|
2
|
+
desc ''
|
3
|
+
homepage 'https://zxe.io/projects/Z'
|
4
|
+
url 'https://zxe.io/downloads/Z%20v0.1.0%20(2018-05-29)(Sainz%20de%20Baranda%20y%20Go%C3%B1i,%20Manuel)(Sources)[!].tar.xz'
|
5
|
+
head 'https://github.com/redcode/Z.git', :branch => 'master'
|
6
|
+
|
7
|
+
|
8
|
+
def install
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
@@ -0,0 +1,201 @@
|
|
1
|
+
/* ______ ______ ______
|
2
|
+
/\___ \ /\ __ \/\ __ \
|
3
|
+
\/__/ /_\ \ __ \ \ \/\ \
|
4
|
+
/\_____\ \_____\ \_____\
|
5
|
+
Zilog \/_____/\/_____/\/_____/ CPU Emulator ----------------------------------
|
6
|
+
Copyright (C) 1999-2018 Manuel Sainz de Baranda y Goñi.
|
7
|
+
|
8
|
+
This emulator is free software: you can redistribute it and/or modify it under
|
9
|
+
the terms of the GNU General Public License as published by the Free Software
|
10
|
+
Foundation, either version 3 of the License, or (at your option) any later
|
11
|
+
version.
|
12
|
+
|
13
|
+
This emulator is distributed in the hope that it will be useful, but WITHOUT
|
14
|
+
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
15
|
+
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
16
|
+
|
17
|
+
You should have received a copy of the GNU General Public License along with
|
18
|
+
this emulator. If not, see <http://www.gnu.org/licenses/>.
|
19
|
+
--------------------------------------------------------------------------- */
|
20
|
+
|
21
|
+
#ifndef _emulation_CPU_Z80_H_
|
22
|
+
#define _emulation_CPU_Z80_H_
|
23
|
+
|
24
|
+
#ifdef CPU_Z80_DEPENDENCIES_H
|
25
|
+
# include CPU_Z80_DEPENDENCIES_H
|
26
|
+
#else
|
27
|
+
# include <Z/hardware/CPU/architecture/Z80.h>
|
28
|
+
#endif
|
29
|
+
|
30
|
+
/** Z80 emulator instance.
|
31
|
+
* @details This structure contains the state of the emulated CPU and callback
|
32
|
+
* pointers necessary to interconnect the emulator with external logic. There
|
33
|
+
* is no constructor function, so, before using an object of this type, some
|
34
|
+
* of its members must be initialized, in particular the following:
|
35
|
+
* @c context, @c read, @c write, @c in, @c out, @c int_data and @c halt. */
|
36
|
+
|
37
|
+
typedef struct {
|
38
|
+
|
39
|
+
/** Number of cycles executed in the current call to @c z80_run.
|
40
|
+
* @details @c z80run sets this variable to @c 0 before starting
|
41
|
+
* to execute instructions and its value persists after returning.
|
42
|
+
* The callbacks can use this variable to know during what cycle
|
43
|
+
* they are being called. */
|
44
|
+
|
45
|
+
zusize cycles;
|
46
|
+
|
47
|
+
/** The value used as the first argument when calling a callback.
|
48
|
+
* @details This variable should be initialized before using the
|
49
|
+
* emulator and can be used to reference the context/instance of
|
50
|
+
* the machine being emulated. */
|
51
|
+
|
52
|
+
void *context;
|
53
|
+
|
54
|
+
/** Callback: Called when the CPU needs to read 8 bits from memory.
|
55
|
+
* @param context The value of the member @c context.
|
56
|
+
* @param address The memory address to read from.
|
57
|
+
* @return The 8 bits read from memory. */
|
58
|
+
|
59
|
+
zuint8 (* read)(void *context, zuint16 address);
|
60
|
+
|
61
|
+
/** Callback: Called when the CPU needs to write 8 bits to memory.
|
62
|
+
* @param context The value of the member @c context.
|
63
|
+
* @param address The memory address to write to.
|
64
|
+
* @param value The value to write. */
|
65
|
+
|
66
|
+
void (* write)(void *context, zuint16 address, zuint8 value);
|
67
|
+
|
68
|
+
/** Callback: Called when the CPU needs to read 8 bits from an I/O port.
|
69
|
+
* @param context The value of the member @c context.
|
70
|
+
* @param port The number of the I/O port to read from.
|
71
|
+
* @return The 8 bits read from the I/O port. */
|
72
|
+
|
73
|
+
zuint8 (* in)(void *context, zuint16 port);
|
74
|
+
|
75
|
+
/** Callback: Called when the CPU needs to write 8 bits to an I/O port.
|
76
|
+
* @param context The value of the member @c context.
|
77
|
+
* @param port The number of the I/O port to write to.
|
78
|
+
* @param value The value to write. */
|
79
|
+
|
80
|
+
void (* out)(void *context, zuint16 port, zuint8 value);
|
81
|
+
|
82
|
+
/** Callback: Called when the CPU needs to read one instruction from
|
83
|
+
* the data bus to service a maskable interrupt (INT) in mode 0.
|
84
|
+
* @param context The value of the member @c context.
|
85
|
+
* @return A 32-bit value containing the bytes of one instruction. The
|
86
|
+
* instruction must begin at the most significant byte (big endian). */
|
87
|
+
|
88
|
+
zuint32 (* int_data)(void *context);
|
89
|
+
|
90
|
+
/** Callback: Called when the CPU enters or exits the halt state.
|
91
|
+
* @param context The value of the member @c context.
|
92
|
+
* @param state @c TRUE if halted; @c FALSE otherwise.
|
93
|
+
* @note This callback is optional and must be set to @c NULL if not
|
94
|
+
* used. */
|
95
|
+
|
96
|
+
void (* halt)(void *context, zboolean state);
|
97
|
+
|
98
|
+
/** CPU registers and internal bits.
|
99
|
+
* @details It contains the state of the registers, as well as the
|
100
|
+
* interrupt flip-flops, variables related to interrupts and other
|
101
|
+
* necessary flags. This is what a debugger should use as its data
|
102
|
+
* source. */
|
103
|
+
|
104
|
+
ZZ80State state;
|
105
|
+
|
106
|
+
/** Backup of the 7th bit of the R register.
|
107
|
+
* @details The value of the R register is incremented as instructions
|
108
|
+
* are executed, but its most significant bit remains unchanged. For
|
109
|
+
* optimization reasons, this bit is saved at the beginning of the
|
110
|
+
* execution of @c z80_run and restored before returning. If an
|
111
|
+
* instruction directly affects the R register, this variable is also
|
112
|
+
* updated accordingly. */
|
113
|
+
|
114
|
+
zuint8 r7;
|
115
|
+
|
116
|
+
/** Temporay IX/IY register for instructions with @c DDh/FDh prefix.
|
117
|
+
* @details Since instructions with prefix @c DDh and @c FDh behave
|
118
|
+
* similarly, differing only in the use of register IX or IY, for
|
119
|
+
* reasons of size optimization, a single register is used that acts
|
120
|
+
* as both. During opcode analysis, the IX or IY register is copied
|
121
|
+
* to this variable and, once the instruction emulation is complete,
|
122
|
+
* its contents are copied back to the appropriate register. */
|
123
|
+
|
124
|
+
Z16Bit xy;
|
125
|
+
|
126
|
+
/** Temporary storage for opcode fetching.
|
127
|
+
* @details This is an internal private variable. */
|
128
|
+
|
129
|
+
Z32Bit data;
|
130
|
+
} Z80;
|
131
|
+
|
132
|
+
Z_C_SYMBOLS_BEGIN
|
133
|
+
|
134
|
+
#ifndef CPU_Z80_API
|
135
|
+
# ifdef CPU_Z80_STATIC
|
136
|
+
# define CPU_Z80_API
|
137
|
+
# else
|
138
|
+
# define CPU_Z80_API Z_API
|
139
|
+
# endif
|
140
|
+
#endif
|
141
|
+
|
142
|
+
/** Changes the CPU power status.
|
143
|
+
* @param object A pointer to a Z80 emulator instance.
|
144
|
+
* @param state @c TRUE = power ON; @c FALSE = power OFF. */
|
145
|
+
|
146
|
+
CPU_Z80_API void z80_power(Z80 *object, zboolean state);
|
147
|
+
|
148
|
+
/** Resets the CPU.
|
149
|
+
* @details This is equivalent to a pulse on the RESET line of a real Z80.
|
150
|
+
* @param object A pointer to a Z80 emulator instance. */
|
151
|
+
|
152
|
+
CPU_Z80_API void z80_reset(Z80 *object);
|
153
|
+
|
154
|
+
/** Runs the CPU for a given number of @p cycles.
|
155
|
+
* @param object A pointer to a Z80 emulator instance.
|
156
|
+
* @param cycles The number of cycles to be executed.
|
157
|
+
* @return The number of cycles executed.
|
158
|
+
* @note Given the fact that one Z80 instruction needs between 4 and 23 cycles
|
159
|
+
* to be executed, it's not always possible to run the CPU the exact number of
|
160
|
+
* @p cycles specfified. */
|
161
|
+
|
162
|
+
CPU_Z80_API zusize z80_run(Z80 *object, zusize cycles);
|
163
|
+
|
164
|
+
/** Performs a non-maskable interrupt (NMI).
|
165
|
+
* @details This is equivalent to a pulse on the NMI line of a real Z80.
|
166
|
+
* @param object A pointer to a Z80 emulator instance. */
|
167
|
+
|
168
|
+
CPU_Z80_API void z80_nmi(Z80 *object);
|
169
|
+
|
170
|
+
/** Changes the state of the maskable interrupt (INT).
|
171
|
+
* @details This is equivalent to a change on the INT line of a real Z80.
|
172
|
+
* @param object A pointer to a Z80 emulator instance.
|
173
|
+
* @param state @c TRUE = line high; @c FALSE = line low. */
|
174
|
+
|
175
|
+
CPU_Z80_API void z80_int(Z80 *object, zboolean state);
|
176
|
+
|
177
|
+
Z_C_SYMBOLS_END
|
178
|
+
|
179
|
+
#ifdef CPU_Z80_WITH_ABI
|
180
|
+
|
181
|
+
# ifndef CPU_Z80_DEPENDENCIES_H
|
182
|
+
# include <Z/ABIs/generic/emulation.h>
|
183
|
+
# endif
|
184
|
+
|
185
|
+
Z_C_SYMBOLS_BEGIN
|
186
|
+
|
187
|
+
# ifndef CPU_Z80_ABI
|
188
|
+
# ifdef CPU_Z80_STATIC
|
189
|
+
# define CPU_Z80_ABI
|
190
|
+
# else
|
191
|
+
# define CPU_Z80_ABI Z_API
|
192
|
+
# endif
|
193
|
+
# endif
|
194
|
+
|
195
|
+
CPU_Z80_ABI extern ZCPUEmulatorABI const abi_emulation_cpu_z80;
|
196
|
+
|
197
|
+
Z_C_SYMBOLS_END
|
198
|
+
|
199
|
+
#endif
|
200
|
+
|
201
|
+
#endif /* _emulation_CPU_Z80_H_ */
|