zemu 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. checksums.yaml +7 -0
  2. data/lib/zemu/config.rb +312 -0
  3. data/lib/zemu/instance.rb +179 -0
  4. data/lib/zemu.rb +172 -0
  5. data/src/debug.c +118 -0
  6. data/src/debug.h +30 -0
  7. data/src/external/Z/API/Z/ABIs/generic/allocator.h +36 -0
  8. data/src/external/Z/API/Z/ABIs/generic/cipher.h +47 -0
  9. data/src/external/Z/API/Z/ABIs/generic/data codec.h +33 -0
  10. data/src/external/Z/API/Z/ABIs/generic/emulation.h +103 -0
  11. data/src/external/Z/API/Z/ABIs/generic/hash function.h +33 -0
  12. data/src/external/Z/API/Z/ABIs/generic/module.h +33 -0
  13. data/src/external/Z/API/Z/ABIs/generic/wave codec.h +40 -0
  14. data/src/external/Z/API/Z/classes/base/InitializerList.hpp +34 -0
  15. data/src/external/Z/API/Z/classes/base/OpaqueFunctionPointer.hpp +26 -0
  16. data/src/external/Z/API/Z/classes/base/OpaqueMemberFunctionPointer.hpp +26 -0
  17. data/src/external/Z/API/Z/classes/base/Pair.hpp +46 -0
  18. data/src/external/Z/API/Z/classes/base/Range.hpp +111 -0
  19. data/src/external/Z/API/Z/classes/base/SizedString.hpp +66 -0
  20. data/src/external/Z/API/Z/classes/base/Status.hpp +89 -0
  21. data/src/external/Z/API/Z/classes/base/Symbol.hpp +39 -0
  22. data/src/external/Z/API/Z/classes/base/Tuple.hpp +111 -0
  23. data/src/external/Z/API/Z/classes/base/Value2D.hpp +389 -0
  24. data/src/external/Z/API/Z/classes/base/Value3D.hpp +368 -0
  25. data/src/external/Z/API/Z/classes/buffering/RingBuffer.hpp +93 -0
  26. data/src/external/Z/API/Z/classes/buffering/TripleBuffer.hpp +68 -0
  27. data/src/external/Z/API/Z/classes/functional/Functor.hpp +265 -0
  28. data/src/external/Z/API/Z/classes/functional/MemberFunction.hpp +98 -0
  29. data/src/external/Z/API/Z/classes/functional/ObjectMemberFunction.hpp +172 -0
  30. data/src/external/Z/API/Z/classes/functional/ObjectSelector.hpp +219 -0
  31. data/src/external/Z/API/Z/classes/functional/Selector.hpp +146 -0
  32. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/AABB.hpp +81 -0
  33. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/AABR.hpp +685 -0
  34. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Box.hpp +219 -0
  35. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Circle.hpp +80 -0
  36. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Line2D.hpp +93 -0
  37. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Line3D.hpp +80 -0
  38. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Rectangle.hpp +675 -0
  39. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Sphere.hpp +0 -0
  40. data/src/external/Z/API/Z/classes/memory/Shared.hpp +90 -0
  41. data/src/external/Z/API/Z/constants/base.h +35 -0
  42. data/src/external/Z/API/Z/constants/chemical elements.h +6385 -0
  43. data/src/external/Z/API/Z/constants/numbers.h +963 -0
  44. data/src/external/Z/API/Z/constants/version.h +15 -0
  45. data/src/external/Z/API/Z/formats/character set/ASCII.h +158 -0
  46. data/src/external/Z/API/Z/formats/character set/DOS CP437.h +159 -0
  47. data/src/external/Z/API/Z/formats/character set/DOS CP737.h +159 -0
  48. data/src/external/Z/API/Z/formats/character set/DOS CP775.h +159 -0
  49. data/src/external/Z/API/Z/formats/character set/DOS CP850.h +159 -0
  50. data/src/external/Z/API/Z/formats/character set/DOS CP852.h +159 -0
  51. data/src/external/Z/API/Z/formats/character set/DOS CP855.h +159 -0
  52. data/src/external/Z/API/Z/formats/character set/DOS CP857.h +159 -0
  53. data/src/external/Z/API/Z/formats/character set/DOS CP858.h +159 -0
  54. data/src/external/Z/API/Z/formats/character set/DOS CP860.h +159 -0
  55. data/src/external/Z/API/Z/formats/character set/DOS CP861.h +159 -0
  56. data/src/external/Z/API/Z/formats/character set/DOS CP862.h +159 -0
  57. data/src/external/Z/API/Z/formats/character set/DOS CP863.h +159 -0
  58. data/src/external/Z/API/Z/formats/character set/DOS CP864.h +159 -0
  59. data/src/external/Z/API/Z/formats/character set/DOS CP865.h +159 -0
  60. data/src/external/Z/API/Z/formats/character set/DOS CP866.h +159 -0
  61. data/src/external/Z/API/Z/formats/character set/DOS CP869.h +159 -0
  62. data/src/external/Z/API/Z/formats/character set/DOS CP872.h +159 -0
  63. data/src/external/Z/API/Z/formats/character set/DOS CP874.h +159 -0
  64. data/src/external/Z/API/Z/formats/character set/Unicode.h +30119 -0
  65. data/src/external/Z/API/Z/formats/data model/I16LP32.h +19 -0
  66. data/src/external/Z/API/Z/formats/data model/ILP32.h +19 -0
  67. data/src/external/Z/API/Z/formats/data model/ILP64.h +19 -0
  68. data/src/external/Z/API/Z/formats/data model/IP16L32.h +19 -0
  69. data/src/external/Z/API/Z/formats/data model/LLP64.h +19 -0
  70. data/src/external/Z/API/Z/formats/data model/LP32.h +19 -0
  71. data/src/external/Z/API/Z/formats/data model/LP64.h +19 -0
  72. data/src/external/Z/API/Z/formats/data model/SILP64.h +19 -0
  73. data/src/external/Z/API/Z/formats/file system/FAT12.h +61 -0
  74. data/src/external/Z/API/Z/formats/floating-point/IEEE 754.h +141 -0
  75. data/src/external/Z/API/Z/formats/floating-point/x87.h +74 -0
  76. data/src/external/Z/API/Z/formats/image/ICNS.h +39 -0
  77. data/src/external/Z/API/Z/formats/keymap/Mac OS.h +284 -0
  78. data/src/external/Z/API/Z/formats/keymap/Z.h +141 -0
  79. data/src/external/Z/API/Z/formats/multimedia/Creative Voice.h +106 -0
  80. data/src/external/Z/API/Z/formats/multimedia/Microsoft Wave.h +49 -0
  81. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ACH.h +44 -0
  82. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/FRZ.h +54 -0
  83. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/PRG.h +33 -0
  84. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SEM.h +46 -0
  85. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SIT.h +34 -0
  86. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNA.h +117 -0
  87. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNP.h +37 -0
  88. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SP.h +62 -0
  89. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/Z80.h +117 -0
  90. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX.h +56 -0
  91. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX82.h +70 -0
  92. data/src/external/Z/API/Z/formats/storage medium image/NES Game Pak/UNIF.h +26 -0
  93. data/src/external/Z/API/Z/formats/storage medium image/NES Game Pak/iNES.h +76 -0
  94. data/src/external/Z/API/Z/formats/storage medium image/audio/TAP.h +25 -0
  95. data/src/external/Z/API/Z/formats/storage medium image/audio/TZX.h +1185 -0
  96. data/src/external/Z/API/Z/formats/storage medium image/audio/Warajevo TAP.h +32 -0
  97. data/src/external/Z/API/Z/formats/storage medium image/floppy disk/FDI.h +45 -0
  98. data/src/external/Z/API/Z/functions/base/Z2D.h +583 -0
  99. data/src/external/Z/API/Z/functions/base/Z3D.h +712 -0
  100. data/src/external/Z/API/Z/functions/base/ZRange.h +137 -0
  101. data/src/external/Z/API/Z/functions/base/all.h +16 -0
  102. data/src/external/Z/API/Z/functions/base/casting.hpp +37 -0
  103. data/src/external/Z/API/Z/functions/base/character.h +38 -0
  104. data/src/external/Z/API/Z/functions/base/constructors.h +326 -0
  105. data/src/external/Z/API/Z/functions/base/structure.hpp +26 -0
  106. data/src/external/Z/API/Z/functions/base/type.hpp +60 -0
  107. data/src/external/Z/API/Z/functions/base/value.h +1901 -0
  108. data/src/external/Z/API/Z/functions/base/value.hpp +112 -0
  109. data/src/external/Z/API/Z/functions/buffering/ZRingBuffer.h +85 -0
  110. data/src/external/Z/API/Z/functions/buffering/ZTripleBuffer.h +65 -0
  111. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/Z2DLine.h +179 -0
  112. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/Z3DLine.h +168 -0
  113. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZAABB.h +361 -0
  114. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZAABR.h +1081 -0
  115. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZBox.h +340 -0
  116. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZCircle.h +142 -0
  117. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZRectangle.h +1267 -0
  118. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZSphere.h +156 -0
  119. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/all.h +18 -0
  120. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/constructors.h +620 -0
  121. data/src/external/Z/API/Z/functions/time/date.h +29 -0
  122. data/src/external/Z/API/Z/hardware/CPU/architecture/6502.h +90 -0
  123. data/src/external/Z/API/Z/hardware/CPU/architecture/Z80.h +245 -0
  124. data/src/external/Z/API/Z/hardware/CPU/architecture/i4004.h +37 -0
  125. data/src/external/Z/API/Z/hardware/PSG/General Instrument/AY-3-891x.h +180 -0
  126. data/src/external/Z/API/Z/hardware/VDC/Ricoh/RP2C0x.h +625 -0
  127. data/src/external/Z/API/Z/hardware/bus/AGP.h +24 -0
  128. data/src/external/Z/API/Z/hardware/bus/USB.h +510 -0
  129. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Inves Spectrum +.h +47 -0
  130. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Pentagon.h +13 -0
  131. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Scorpion.h +13 -0
  132. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum + 128K.h +158 -0
  133. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +.h +82 -0
  134. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2.h +13 -0
  135. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2A.h +13 -0
  136. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +3.h +13 -0
  137. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum.h +109 -0
  138. data/src/external/Z/API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (NTSC).h +29 -0
  139. data/src/external/Z/API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (PAL).h +29 -0
  140. data/src/external/Z/API/Z/hardware/machine/platform/computer/ZX Spectrum.h +405 -0
  141. data/src/external/Z/API/Z/hardware/machine/platform/console/Game Boy.h +49 -0
  142. data/src/external/Z/API/Z/hardware/machine/platform/console/Nintendo Entertainment System.h +350 -0
  143. data/src/external/Z/API/Z/hardware/storage medium/ROM cartridge/SNES Game Pak.h +238 -0
  144. data/src/external/Z/API/Z/inspection/C/completion.h +178 -0
  145. data/src/external/Z/API/Z/inspection/C/modules/C11.h +41 -0
  146. data/src/external/Z/API/Z/inspection/C/modules/C18.h +13 -0
  147. data/src/external/Z/API/Z/inspection/C/modules/C89.h +19 -0
  148. data/src/external/Z/API/Z/inspection/C/modules/C90.h +13 -0
  149. data/src/external/Z/API/Z/inspection/C/modules/C94.h +15 -0
  150. data/src/external/Z/API/Z/inspection/C/modules/C99.h +29 -0
  151. data/src/external/Z/API/Z/inspection/C/modules/KR C.h +19 -0
  152. data/src/external/Z/API/Z/inspection/C++/completion.h +512 -0
  153. data/src/external/Z/API/Z/inspection/C++/modules/C++03.h +15 -0
  154. data/src/external/Z/API/Z/inspection/C++/modules/C++11.h +80 -0
  155. data/src/external/Z/API/Z/inspection/C++/modules/C++14.h +26 -0
  156. data/src/external/Z/API/Z/inspection/C++/modules/C++17.h +55 -0
  157. data/src/external/Z/API/Z/inspection/C++/modules/C++85.h +11 -0
  158. data/src/external/Z/API/Z/inspection/C++/modules/C++89.h +13 -0
  159. data/src/external/Z/API/Z/inspection/C++/modules/C++98.h +17 -0
  160. data/src/external/Z/API/Z/inspection/C++.h +78 -0
  161. data/src/external/Z/API/Z/inspection/C.h +79 -0
  162. data/src/external/Z/API/Z/inspection/CPU/completion.h +56 -0
  163. data/src/external/Z/API/Z/inspection/CPU/detection.h +714 -0
  164. data/src/external/Z/API/Z/inspection/CPU/modules/6502.h +25 -0
  165. data/src/external/Z/API/Z/inspection/CPU/modules/AArch32.h +32 -0
  166. data/src/external/Z/API/Z/inspection/CPU/modules/AArch64.h +32 -0
  167. data/src/external/Z/API/Z/inspection/CPU/modules/Z80.h +26 -0
  168. data/src/external/Z/API/Z/inspection/CPU/modules/x86-32.h +31 -0
  169. data/src/external/Z/API/Z/inspection/CPU/modules/x86-64.h +312 -0
  170. data/src/external/Z/API/Z/inspection/CPU.h +209 -0
  171. data/src/external/Z/API/Z/inspection/OS/completion.h +36 -0
  172. data/src/external/Z/API/Z/inspection/OS/detection.h +768 -0
  173. data/src/external/Z/API/Z/inspection/OS/modules/Linux.h +22 -0
  174. data/src/external/Z/API/Z/inspection/OS/modules/MS-DOS.h +16 -0
  175. data/src/external/Z/API/Z/inspection/OS/modules/Mac OS X.h +23 -0
  176. data/src/external/Z/API/Z/inspection/OS/modules/Windows.h +19 -0
  177. data/src/external/Z/API/Z/inspection/OS/modules/iPhone OS.h +23 -0
  178. data/src/external/Z/API/Z/inspection/OS.h +236 -0
  179. data/src/external/Z/API/Z/inspection/Objective-C/completion.h +8 -0
  180. data/src/external/Z/API/Z/inspection/Objective-C/modules/Objective-C v1.0.h +11 -0
  181. data/src/external/Z/API/Z/inspection/Objective-C/modules/Objective-C v2.0.h +15 -0
  182. data/src/external/Z/API/Z/inspection/Objective-C.h +51 -0
  183. data/src/external/Z/API/Z/inspection/Z.h +19 -0
  184. data/src/external/Z/API/Z/inspection/build.h +22 -0
  185. data/src/external/Z/API/Z/inspection/character set.h +66 -0
  186. data/src/external/Z/API/Z/inspection/compiler/completion.h +2885 -0
  187. data/src/external/Z/API/Z/inspection/compiler/modules/Apple LLVM.h +26 -0
  188. data/src/external/Z/API/Z/inspection/compiler/modules/Clang.h +1664 -0
  189. data/src/external/Z/API/Z/inspection/compiler/modules/GCC.h +1366 -0
  190. data/src/external/Z/API/Z/inspection/compiler/modules/SCCZ80.h +473 -0
  191. data/src/external/Z/API/Z/inspection/compiler/modules/Visual C++.h +606 -0
  192. data/src/external/Z/API/Z/inspection/compiler/modules/cc65.h +529 -0
  193. data/src/external/Z/API/Z/inspection/compiler/modules/generic.h +13 -0
  194. data/src/external/Z/API/Z/inspection/compiler/modules/template.h +650 -0
  195. data/src/external/Z/API/Z/inspection/compiler.h +299 -0
  196. data/src/external/Z/API/Z/inspection/data model/completion.h +128 -0
  197. data/src/external/Z/API/Z/inspection/data model/deduction.h +9 -0
  198. data/src/external/Z/API/Z/inspection/data model/detection.h +45 -0
  199. data/src/external/Z/API/Z/inspection/data model.h +362 -0
  200. data/src/external/Z/API/Z/inspection/floating-point/completion.h +50 -0
  201. data/src/external/Z/API/Z/inspection/floating-point.h +324 -0
  202. data/src/external/Z/API/Z/inspection/language.h +163 -0
  203. data/src/external/Z/API/Z/inspection/platform/detection.h +9 -0
  204. data/src/external/Z/API/Z/inspection/platform.h +29 -0
  205. data/src/external/Z/API/Z/keys/C++.h +27 -0
  206. data/src/external/Z/API/Z/keys/C.h +29 -0
  207. data/src/external/Z/API/Z/keys/CPU.h +80 -0
  208. data/src/external/Z/API/Z/keys/OS.h +182 -0
  209. data/src/external/Z/API/Z/keys/Objective-C.h +17 -0
  210. data/src/external/Z/API/Z/keys/chemistry.h +26 -0
  211. data/src/external/Z/API/Z/keys/compiler.h +178 -0
  212. data/src/external/Z/API/Z/keys/data model.h +32 -0
  213. data/src/external/Z/API/Z/keys/endianness.h +24 -0
  214. data/src/external/Z/API/Z/keys/language.h +21 -0
  215. data/src/external/Z/API/Z/keys/layout.h +20 -0
  216. data/src/external/Z/API/Z/keys/mathematics/geometry.h +29 -0
  217. data/src/external/Z/API/Z/keys/mathematics/number.h +21 -0
  218. data/src/external/Z/API/Z/keys/order.h +18 -0
  219. data/src/external/Z/API/Z/keys/platform.h +87 -0
  220. data/src/external/Z/API/Z/keys/program.h +39 -0
  221. data/src/external/Z/API/Z/keys/science/chemical elements.h +200 -0
  222. data/src/external/Z/API/Z/keys/science/electricity.h +18 -0
  223. data/src/external/Z/API/Z/keys/science/magnetism.h +19 -0
  224. data/src/external/Z/API/Z/keys/status.h +69 -0
  225. data/src/external/Z/API/Z/keys/text.h +27 -0
  226. data/src/external/Z/API/Z/keys/value.h +88 -0
  227. data/src/external/Z/API/Z/macros/arguments.h +25 -0
  228. data/src/external/Z/API/Z/macros/casting.h +22 -0
  229. data/src/external/Z/API/Z/macros/character.h +159 -0
  230. data/src/external/Z/API/Z/macros/date.h +14 -0
  231. data/src/external/Z/API/Z/macros/key.h +20 -0
  232. data/src/external/Z/API/Z/macros/language.h +126 -0
  233. data/src/external/Z/API/Z/macros/language.hpp +81 -0
  234. data/src/external/Z/API/Z/macros/members.h +86 -0
  235. data/src/external/Z/API/Z/macros/pasting.h +308 -0
  236. data/src/external/Z/API/Z/macros/pointer.h +33 -0
  237. data/src/external/Z/API/Z/macros/repetition.h +283 -0
  238. data/src/external/Z/API/Z/macros/structure.h +104 -0
  239. data/src/external/Z/API/Z/macros/templating.h +407 -0
  240. data/src/external/Z/API/Z/macros/tokens.h +14 -0
  241. data/src/external/Z/API/Z/macros/type enumeration.h +43 -0
  242. data/src/external/Z/API/Z/macros/type selection.hpp +76 -0
  243. data/src/external/Z/API/Z/macros/value.h +489 -0
  244. data/src/external/Z/API/Z/macros/variadic pasting.h +21 -0
  245. data/src/external/Z/API/Z/macros/variadic selection.h +56 -0
  246. data/src/external/Z/API/Z/macros/variadic.h +46 -0
  247. data/src/external/Z/API/Z/macros/version.h +17 -0
  248. data/src/external/Z/API/Z/network/3/IP.h +36 -0
  249. data/src/external/Z/API/Z/network/4/TCP.h +24 -0
  250. data/src/external/Z/API/Z/network/4/UDP.h +26 -0
  251. data/src/external/Z/API/Z/network/7/ED2K.h +104 -0
  252. data/src/external/Z/API/Z/network/7/HTTP.h +100 -0
  253. data/src/external/Z/API/Z/traits/SelectType.hpp +71 -0
  254. data/src/external/Z/API/Z/traits/TernaryType.hpp +20 -0
  255. data/src/external/Z/API/Z/traits/Type.hpp +4516 -0
  256. data/src/external/Z/API/Z/traits/TypeCount.hpp +52 -0
  257. data/src/external/Z/API/Z/traits/TypeList.hpp +376 -0
  258. data/src/external/Z/API/Z/traits/base.hpp +19 -0
  259. data/src/external/Z/API/Z/traits/filtering.hpp +30 -0
  260. data/src/external/Z/API/Z/traits/mathematics.hpp +48 -0
  261. data/src/external/Z/API/Z/types/arguments.h +19 -0
  262. data/src/external/Z/API/Z/types/base.h +1655 -0
  263. data/src/external/Z/API/Z/types/base.hpp +169 -0
  264. data/src/external/Z/API/Z/types/buffering.h +27 -0
  265. data/src/external/Z/API/Z/types/mathematics.h +135 -0
  266. data/src/external/Z/API/Z/types/time.h +23 -0
  267. data/src/external/Z/COPYING.LESSER +165 -0
  268. data/src/external/Z/development/Qt Creator/Z.pro +253 -0
  269. data/src/external/Z/distribution/CocoaPods/Zeta.podspec +18 -0
  270. data/src/external/Z/distribution/Gentoo Linux/Zeta-0.1.ebuild +22 -0
  271. data/src/external/Z/distribution/Gentoo Linux/metadata.xml +8 -0
  272. data/src/external/Z/distribution/Homebrew/Zeta.rb +11 -0
  273. data/src/external/z80/API/emulation/CPU/Z80.h +201 -0
  274. data/src/external/z80/README.md +229 -0
  275. data/src/external/z80/building/premake4.lua +33 -0
  276. data/src/external/z80/development/Xcode/Z80.xcodeproj/project.pbxproj +520 -0
  277. data/src/external/z80/sources/Z80.c +1660 -0
  278. data/src/interrupt.c +6 -0
  279. data/src/interrupt.h +3 -0
  280. data/src/io.c.erb +115 -0
  281. data/src/io.h.erb +18 -0
  282. data/src/main.c +69 -0
  283. data/src/memory.c.erb +43 -0
  284. data/src/memory.h.erb +9 -0
  285. metadata +329 -0
@@ -0,0 +1,25 @@
1
+ /* Z Kit - inspection/modules/CPU/6502.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_inspection_CPU_modules_6502_H_
9
+ #define _Z_inspection_CPU_modules_6502_H_
10
+
11
+ #define Z_APPEND_CPU_ARCHITECTURE(to) to##6502
12
+ #define Z_APPEND_CPUArchitecture( to) to##6502
13
+ #define Z_APPEND_cpu_architecture(to) to##6502
14
+ #define Z_INSERT_CPU_ARCHITECTURE(left, right) left##6502##right
15
+ #define Z_INSERT_CPUArchitecture( left, right) left##6502##right
16
+ #define Z_INSERT_cpu_architecture(left, right) left##6502##right
17
+
18
+ #define Z_CPU_HAS_INTEGER_8BIT TRUE
19
+
20
+ #define Z_CPU_INTEGER_ENDIANNESS Z_ENDIANNESS_LITTLE
21
+
22
+ #define Z_CPU_BITS_TOP_INTEGER 8
23
+ #define Z_CPU_BITS_ADDRESSING 16
24
+
25
+ #endif /* _Z_inspection_CPU_modules_6502_H_ */
@@ -0,0 +1,32 @@
1
+ /* Z Kit - inspection/modules/CPU/AArch32.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_inspection_CPU_modules_AArch32_H_
9
+ #define _Z_inspection_CPU_modules_AArch32_H_
10
+
11
+ #define Z_APPEND_CPU_ARCHITECTURE(to) to##AARCH32
12
+ #define Z_APPEND_CPUArchitecture( to) to##AArch32
13
+ #define Z_APPEND_cpu_architecture(to) to##aarch32
14
+ #define Z_INSERT_CPU_ARCHITECTURE(left, right) left##AARCH32##right
15
+ #define Z_INSERT_CPUArchitecture( left, right) left##AArch32##right
16
+ #define Z_INSERT_cpu_architecture(left, right) left##aarch32##right
17
+
18
+ #define Z_CPU_HAS_MMU TRUE
19
+ #define Z_CPU_HAS_FPU TRUE
20
+ #define Z_CPU_HAS_INTEGER_8BIT TRUE
21
+ #define Z_CPU_HAS_INTEGER_16BIT TRUE
22
+ #define Z_CPU_HAS_INTEGER_32BIT TRUE
23
+ #define Z_CPU_HAS_INTEGER_64BIT TRUE
24
+ #define Z_CPU_HAS_REAL_IEEE_754_BINARY32 TRUE
25
+ #define Z_CPU_HAS_REAL_IEEE_754_BINARY64 TRUE
26
+
27
+ #define Z_CPU_INTEGER_ENDIANNESS Z_ENDIANNESS_MIXED
28
+
29
+ #define Z_CPU_BITS_TOP_INTEGER 32
30
+ #define Z_CPU_BITS_ADDRESSING 32
31
+
32
+ #endif /* _Z_inspection_CPU_modules_AArch32_H_ */
@@ -0,0 +1,32 @@
1
+ /* Z Kit - inspection/modules/CPU/AArch64.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_inspection_CPU_modules_AArch64_H_
9
+ #define _Z_inspection_CPU_modules_AArch64_H_
10
+
11
+ #define Z_APPEND_CPU_ARCHITECTURE(to) to##AARCH64
12
+ #define Z_APPEND_CPUArchitecture( to) to##AArch64
13
+ #define Z_APPEND_cpu_architecture(to) to##aarch64
14
+ #define Z_INSERT_CPU_ARCHITECTURE(left, right) left##AARCH64##right
15
+ #define Z_INSERT_CPUArchitecture( left, right) left##AArch64##right
16
+ #define Z_INSERT_cpu_architecture(left, right) left##aarch64##right
17
+
18
+ #define Z_CPU_HAS_MMU TRUE
19
+ #define Z_CPU_HAS_FPU TRUE
20
+ #define Z_CPU_HAS_INTEGER_8BIT TRUE
21
+ #define Z_CPU_HAS_INTEGER_16BIT TRUE
22
+ #define Z_CPU_HAS_INTEGER_32BIT TRUE
23
+ #define Z_CPU_HAS_INTEGER_64BIT TRUE
24
+ #define Z_CPU_HAS_REAL_IEEE_754_BINARY32 TRUE
25
+ #define Z_CPU_HAS_REAL_IEEE_754_BINARY64 TRUE
26
+
27
+ #define Z_CPU_INTEGER_ENDIANNESS Z_ENDIANNESS_MIXED
28
+
29
+ #define Z_CPU_BITS_TOP_INTEGER 64
30
+ #define Z_CPU_BITS_ADDRESSING 64
31
+
32
+ #endif /* _Z_inspection_CPU_modules_AArch64_H_ */
@@ -0,0 +1,26 @@
1
+ /* Z Kit - inspection/modules/CPU/Z80.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_inspection_CPU_modules_Z80_H_
9
+ #define _Z_inspection_CPU_modules_Z80_H_
10
+
11
+ #define Z_APPEND_CPU_ARCHITECTURE(to) to##Z80
12
+ #define Z_APPEND_CPUArchitecture( to) to##Z80
13
+ #define Z_APPEND_cpu_architecture(to) to##z80
14
+ #define Z_INSERT_CPU_ARCHITECTURE(left, right) left##Z80##right
15
+ #define Z_INSERT_CPUArchitecture( left, right) left##Z80##right
16
+ #define Z_INSERT_cpu_architecture(left, right) left##z80##right
17
+
18
+ #define Z_CPU_HAS_INTEGER_8BIT TRUE
19
+ #define Z_CPU_HAS_INTEGER_16BIT TRUE
20
+
21
+ #define Z_CPU_INTEGER_ENDIANNESS Z_ENDIANNESS_LITTLE
22
+
23
+ #define Z_CPU_BITS_TOP_INTEGER 16
24
+ #define Z_CPU_BITS_ADDRESSING 16
25
+
26
+ #endif /* _Z_inspection_CPU_modules_Z80_H_ */
@@ -0,0 +1,31 @@
1
+ /* Z Kit - inspection/modules/CPU/x86-32.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_inspection_CPU_modules_x86_32_H_
9
+ #define _Z_inspection_CPU_modules_x86_32_H_
10
+
11
+ #define Z_APPEND_CPU_ARCHITECTURE(to) to##X86_32
12
+ #define Z_APPEND_CPUArchitecture( to) to##X8632
13
+ #define Z_APPEND_cpu_architecture(to) to##x86_32
14
+ #define Z_INSERT_CPU_ARCHITECTURE(left, right) left##X86_32##right
15
+ #define Z_INSERT_CPUArchitecture( left, right) left##X8632##right
16
+ #define Z_INSERT_cpu_architecture(left, right) left##x86_32##right
17
+
18
+ #define Z_CPU_HAS_MMU TRUE
19
+ #define Z_CPU_HAS_FPU TRUE
20
+ #define Z_CPU_HAS_INTEGER_8BIT TRUE
21
+ #define Z_CPU_HAS_INTEGER_16BIT TRUE
22
+ #define Z_CPU_HAS_INTEGER_32BIT TRUE
23
+ #define Z_CPU_HAS_REAL_IEEE_754_BINARY32 TRUE
24
+ #define Z_CPU_HAS_REAL_IEEE_754_BINARY64 TRUE
25
+
26
+ #define Z_CPU_INTEGER_ENDIANNESS Z_ENDIANNESS_LITTLE
27
+
28
+ #define Z_CPU_BITS_TOP_INTEGER 32
29
+ #define Z_CPU_BITS_ADDRESSING 32
30
+
31
+ #endif /* _Z_inspection_CPU_modules_x86_32_H_ */
@@ -0,0 +1,312 @@
1
+ /* Z Kit - inspection/modules/CPU/x86-64.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_inspection_CPU_modules_x86_64_H_
9
+ #define _Z_inspection_CPU_modules_x86_64_H_
10
+
11
+ #define Z_APPEND_CPU_ARCHITECTURE(to) to##X86_64
12
+ #define Z_APPEND_CPUArchitecture( to) to##X8664
13
+ #define Z_APPEND_cpu_architecture(to) to##x86_64
14
+ #define Z_INSERT_CPU_ARCHITECTURE(left, right) left##X86_64##right
15
+ #define Z_INSERT_CPUArchitecture( left, right) left##X8664##right
16
+ #define Z_INSERT_cpu_architecture(left, right) left##x86_64##right
17
+
18
+ #define Z_CPU_HAS_MMU TRUE
19
+ #define Z_CPU_HAS_FPU TRUE
20
+ #define Z_CPU_HAS_INTEGER_8BIT TRUE
21
+ #define Z_CPU_HAS_INTEGER_16BIT TRUE
22
+ #define Z_CPU_HAS_INTEGER_32BIT TRUE
23
+ #define Z_CPU_HAS_INTEGER_64BIT TRUE
24
+ #define Z_CPU_HAS_REAL_IEEE_754_BINARY32 TRUE
25
+ #define Z_CPU_HAS_REAL_IEEE_754_BINARY64 TRUE
26
+
27
+ #define Z_CPU_INTEGER_ENDIANNESS Z_ENDIANNESS_LITTLE
28
+
29
+ #define Z_CPU_BITS_TOP_INTEGER 64
30
+ #define Z_CPU_BITS_ADDRESSING 64
31
+
32
+
33
+ /*#if defined(__3dNOW__)
34
+
35
+ # define Z_CPU_HAS_ISA_3D_NOW TRUE
36
+ #else
37
+ # define Z_CPU_HAS_ISA_3D_NOW FALSE
38
+ #endif
39
+
40
+ #if defined()
41
+
42
+ # define Z_CPU_HAS_ISA_3D_NOW_PLUS TRUE
43
+ #else
44
+ # define Z_CPU_HAS_ISA_3D_NOW_PLUS FALSE
45
+ #endif
46
+
47
+ #if defined()
48
+
49
+ # define Z_CPU_HAS_ISA_8086_8088 TRUE
50
+ #else
51
+ # define Z_CPU_HAS_ISA_8086_8088 FALSE
52
+ #endif
53
+
54
+ #if defined()
55
+
56
+ # define Z_CPU_HAS_ISA_8087 TRUE
57
+ #else
58
+ # define Z_CPU_HAS_ISA_8087 FALSE
59
+ #endif
60
+
61
+ #if defined()
62
+
63
+ # define Z_CPU_HAS_ISA_80186_80188 TRUE
64
+ #else
65
+ # define Z_CPU_HAS_ISA_80186_80188 FALSE
66
+ #endif
67
+
68
+ #if defined()
69
+
70
+ # define Z_CPU_HAS_ISA_80286 TRUE
71
+ #else
72
+ # define Z_CPU_HAS_ISA_80286 FALSE
73
+ #endif
74
+
75
+ #if defined()
76
+
77
+ # define Z_CPU_HAS_ISA_80287 TRUE
78
+ #else
79
+ # define Z_CPU_HAS_ISA_80287 FALSE
80
+ #endif
81
+
82
+ #if defined()
83
+
84
+ # define Z_CPU_HAS_ISA_80386 TRUE
85
+ #else
86
+ # define Z_CPU_HAS_ISA_80386 FALSE
87
+ #endif
88
+
89
+ #if defined()
90
+
91
+ # define Z_CPU_HAS_ISA_80387 TRUE
92
+ #else
93
+ # define Z_CPU_HAS_ISA_80387 FALSE
94
+ #endif
95
+
96
+ #if defined(__i486 ) || \
97
+ defined(__i486__)
98
+
99
+ # define Z_CPU_HAS_ISA_80486 TRUE
100
+ #else
101
+ # define Z_CPU_HAS_ISA_80486 FALSE
102
+ #endif
103
+
104
+ #if defined(__AES__)
105
+
106
+ # define Z_CPU_HAS_ISA_AES TRUE
107
+ #else
108
+ # define Z_CPU_HAS_ISA_AES FALSE
109
+ #endif
110
+
111
+ #if defined()
112
+
113
+ # define Z_CPU_HAS_ISA_AMD TRUE
114
+ #else
115
+ # define Z_CPU_HAS_ISA_AMD FALSE
116
+ #endif
117
+
118
+ #if defined()
119
+
120
+ # define Z_CPU_HAS_ISA_AMD_V TRUE
121
+ #else
122
+ # define Z_CPU_HAS_ISA_AMD_V FALSE
123
+ #endif
124
+
125
+ #if defined(__AVX__)
126
+
127
+ # define Z_CPU_HAS_ISA_AVX TRUE
128
+ #else
129
+ # define Z_CPU_HAS_ISA_AVX FALSE
130
+ #endif
131
+
132
+ #if defined()
133
+
134
+ # define Z_CPU_HAS_ISA_CLMUL TRUE
135
+ #else
136
+ # define Z_CPU_HAS_ISA_CLMUL FALSE
137
+ #endif
138
+
139
+ #if defined()
140
+
141
+ # define Z_CPU_HAS_ISA_CYRIX TRUE
142
+ #else
143
+ # define Z_CPU_HAS_ISA_CYRIX FALSE
144
+ #endif
145
+
146
+ #if defined()
147
+
148
+ # define Z_CPU_HAS_ISA_EMMI TRUE
149
+ #else
150
+ # define Z_CPU_HAS_ISA_EMMI FALSE
151
+ #endif
152
+
153
+ #if defined()
154
+
155
+ # define Z_CPU_HAS_ISA_EMMX TRUE
156
+ #else
157
+ # define Z_CPU_HAS_ISA_EMMX FALSE
158
+ #endif
159
+
160
+ #if defined()
161
+
162
+ # define Z_CPU_HAS_ISA_FMA3 TRUE
163
+ #else
164
+ # define Z_CPU_HAS_ISA_FMA3 FALSE
165
+ #endif
166
+
167
+ #if defined()
168
+
169
+ # define Z_CPU_HAS_ISA_FMA4 TRUE
170
+ #else
171
+ # define Z_CPU_HAS_ISA_FMA4 FALSE
172
+ #endif
173
+
174
+ #if defined()
175
+
176
+ # define Z_CPU_HAS_ISA_GEODE_GX TRUE
177
+ #else
178
+ # define Z_CPU_HAS_ISA_GEODE_GX FALSE
179
+ #endif
180
+
181
+ #if defined()
182
+
183
+ # define Z_CPU_HAS_ISA_MMX_PLUS TRUE
184
+ #else
185
+ # define Z_CPU_HAS_ISA_MMX_PLUS FALSE
186
+ #endif
187
+
188
+ #if defined()
189
+
190
+ # define Z_CPU_HAS_ISA_PAD_LOCK TRUE
191
+ #else
192
+ # define Z_CPU_HAS_ISA_PAD_LOCK FALSE
193
+ #endif
194
+
195
+ #if defined(__i586) || \
196
+ defined(__i586__) || \
197
+ defined(__pentium) || \
198
+ defined(__pentium__)
199
+
200
+ # define Z_CPU_HAS_ISA_PENTIUM TRUE
201
+ #else
202
+ # define Z_CPU_HAS_ISA_PENTIUM FALSE
203
+ #endif
204
+
205
+ #if defined()
206
+
207
+ # define Z_CPU_HAS_ISA_PENTIUM_MMX TRUE
208
+ #else
209
+ # define Z_CPU_HAS_ISA_PENTIUM_MMX FALSE
210
+ #endif
211
+
212
+ #if defined()
213
+
214
+ # define Z_CPU_HAS_ISA_K6_2 TRUE
215
+ #else
216
+ # define Z_CPU_HAS_ISA_K6_2 FALSE
217
+ #endif
218
+
219
+ #if defined(__i686) || \
220
+ defined(__i686__) || \
221
+ defined(__pentiumpro) || \
222
+ defined(__pentiumpro__) || \
223
+
224
+ # define Z_CPU_HAS_ISA_PENTIUM_PRO TRUE
225
+ #else
226
+ # define Z_CPU_HAS_ISA_PENTIUM_PRO FALSE
227
+ #endif
228
+
229
+ #if defined(__SSE__)
230
+
231
+ # define Z_CPU_HAS_ISA_SSE TRUE
232
+ #else
233
+ # define Z_CPU_HAS_ISA_SSE FALSE
234
+ #endif
235
+
236
+ #if defined(__SSE2__)
237
+
238
+ # define Z_CPU_HAS_ISA_SSE2 TRUE
239
+ #else
240
+ # define Z_CPU_HAS_ISA_SSE2 FALSE
241
+ #endif
242
+
243
+ #if defined(__SSE3__)
244
+
245
+ # define Z_CPU_HAS_ISA_SSE3 TRUE
246
+ #else
247
+ # define Z_CPU_HAS_ISA_SSE3 FALSE
248
+ #endif
249
+
250
+ #if defined(__SSSE3__)
251
+
252
+ # define Z_CPU_HAS_ISA_SSSE3 TRUE
253
+ #else
254
+ # define Z_CPU_HAS_ISA_SSSE3 FALSE
255
+ #endif
256
+
257
+ #if defined(__SSE4_1__)
258
+
259
+ # define Z_CPU_HAS_ISA_SSE4_1 TRUE
260
+ #else
261
+ # define Z_CPU_HAS_ISA_SSE4_1 FALSE
262
+ #endif
263
+
264
+ #if defined(__SSE4_2__)
265
+
266
+ # define Z_CPU_HAS_ISA_SSE4_2 TRUE
267
+ #else
268
+ # define Z_CPU_HAS_ISA_SSE4_2 FALSE
269
+ #endif
270
+
271
+ #if defined(__SSE4A__)
272
+
273
+ # define Z_CPU_HAS_ISA_SSE4A TRUE
274
+ #else
275
+ # define Z_CPU_HAS_ISA_SSE4A FALSE
276
+ #endif
277
+
278
+ #if defined()
279
+
280
+ # define Z_CPU_HAS_ISA_SSE5 TRUE
281
+ #else
282
+ # define Z_CPU_HAS_ISA_SSE5 FALSE
283
+ #endif
284
+
285
+ #if defined()
286
+
287
+ # define Z_CPU_HAS_ISA_SSM TRUE
288
+ #else
289
+ # define Z_CPU_HAS_ISA_SSM FALSE
290
+ #endif
291
+
292
+ #if defined()
293
+
294
+ # define Z_CPU_HAS_ISA_SVM TRUE
295
+ #else
296
+ # define Z_CPU_HAS_ISA_SVM FALSE
297
+ #endif
298
+
299
+ #if defined()
300
+
301
+ # define Z_CPU_HAS_ISA_VT_X TRUE
302
+ #else
303
+ # define Z_CPU_HAS_ISA_VT_X FALSE
304
+ #endif
305
+
306
+ #ifndef Z_CPU_HAS_ISA_X86_64
307
+ # define Z_CPU_HAS_ISA_X86_64 TRUE
308
+ #else
309
+ # define Z_CPU_HAS_ISA_X86_64 FALSE
310
+ #endif*/
311
+
312
+ #endif /* _Z_inspection_CPU_modules_x86_64_H_ */
@@ -0,0 +1,209 @@
1
+ /* Z Kit - inspection/CPU.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_inspection_CPU_H_
9
+ #define _Z_inspection_CPU_H_
10
+
11
+ #include <Z/keys/CPU.h>
12
+ #include <Z/keys/endianness.h>
13
+ #include <Z/keys/value.h>
14
+ #include <Z/inspection/compiler.h>
15
+
16
+ #ifndef Z_CPU_ARCHITECTURE /* UDC */
17
+ # ifdef Z_COMPILER_CPU_ARCHITECTURE
18
+ # define Z_CPU_ARCHITECTURE Z_COMPILER_CPU_ARCHITECTURE
19
+ # else
20
+ # include <Z/inspection/CPU/detection.h>
21
+ # endif
22
+ #endif
23
+
24
+ #if !defined(Z_CPU_ARCHITECTURE)
25
+ # error "CPU architecture not defined."
26
+
27
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_6502
28
+ # include <Z/inspection/CPU/modules/6502.h>
29
+
30
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_AARCH32
31
+ # include <Z/inspection/CPU/modules/AArch32.h>
32
+
33
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_AARCH64
34
+ # include <Z/inspection/CPU/modules/AArch64.h>
35
+
36
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_ALPHA
37
+ # include <Z/inspection/CPU/modules/Alpha.h>
38
+
39
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_BLACKFIN
40
+ # include <Z/inspection/CPU/modules/Blackfin.h>
41
+
42
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_CONVEX
43
+ # include <Z/inspection/CPU/modules/Convex.h>
44
+
45
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_EPIPHANY
46
+ # include <Z/inspection/CPU/modules/Epiphany.h>
47
+
48
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_ESA_370
49
+ # include <Z/inspection/CPU/modules/ESA-370.h>
50
+
51
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_ESA_390
52
+ # include <Z/inspection/CPU/modules/ESA-390.h>
53
+
54
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_HEXAGON
55
+ # include <Z/inspection/CPU/modules/Hexagon.h>
56
+
57
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_ITANIUM
58
+ # include <Z/inspection/CPU/modules/Itanium.h>
59
+
60
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_LANAI
61
+ # include <Z/inspection/CPU/modules/Lanai.h>
62
+
63
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_M68K
64
+ # include <Z/inspection/CPU/modules/M68K.h>
65
+
66
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_MIPS
67
+ # include <Z/inspection/CPU/modules/MIPS.h>
68
+
69
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_MIPS64
70
+ # include <Z/inspection/CPU/modules/MIPS64.h>
71
+
72
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_MSP430
73
+ # include <Z/inspection/CPU/modules/MSP430.h>
74
+
75
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_PA_RISC
76
+ # include <Z/inspection/CPU/modules/PA-RISC.h>
77
+
78
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_PA_RISC_2
79
+ # include <Z/inspection/CPU/modules/PA-RISC 2.0.h>
80
+
81
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_POWERPC_32BIT
82
+ # include <Z/inspection/CPU/modules/PowerPC 32-bit.h>
83
+
84
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_POWERPC_64BIT
85
+ # include <Z/inspection/CPU/modules/PowerPC 64-bit.h>
86
+
87
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_RV32E
88
+ # include <Z/inspection/CPU/modules/RV32E.h>
89
+
90
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_RV32I
91
+ # include <Z/inspection/CPU/modules/RV32I.h>
92
+
93
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_RV64I
94
+ # include <Z/inspection/CPU/modules/RV64I.h>
95
+
96
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_RV128I
97
+ # include <Z/inspection/CPU/modules/RV128I.h>
98
+
99
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_SPARC
100
+ # include <Z/inspection/CPU/modules/SPARC.h>
101
+
102
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_SPARC_V9
103
+ # include <Z/inspection/CPU/modules/SPARC V9.h>
104
+
105
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_SUPERH
106
+ # include <Z/inspection/CPU/modules/SuperH.h>
107
+
108
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_SUPERH_5
109
+ # include <Z/inspection/CPU/modules/SuperH 5.h>
110
+
111
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_X86_16
112
+ # include <Z/inspection/CPU/modules/x86-16.h>
113
+
114
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_X86_32
115
+ # include <Z/inspection/CPU/modules/x86-32.h>
116
+
117
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_X86_64
118
+ # include <Z/inspection/CPU/modules/x86-64.h>
119
+
120
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_Z_ARCHITECTURE
121
+ # include <Z/inspection/CPU/modules/z-Architecture.h>
122
+
123
+ #elif Z_CPU_ARCHITECTURE == Z_CPU_ARCHITECTURE_Z80
124
+ # include <Z/inspection/CPU/modules/Z80.h>
125
+
126
+ #else
127
+ # error "CPU architecture not supported."
128
+
129
+ #endif
130
+
131
+ #include <Z/inspection/CPU/completion.h>
132
+
133
+ #if Z_CPU_INTEGER_ENDIANNESS != Z_ENDIANNESS_MIXED
134
+
135
+ # define Z_CPU_INTEGER_ENDIANNESS_16BIT Z_CPU_INTEGER_ENDIANNESS
136
+ # define Z_CPU_INTEGER_ENDIANNESS_32BIT Z_CPU_INTEGER_ENDIANNESS
137
+ # define Z_CPU_INTEGER_ENDIANNESS_64BIT Z_CPU_INTEGER_ENDIANNESS
138
+ # define Z_CPU_INTEGER_ENDIANNESS_128BIT Z_CPU_INTEGER_ENDIANNESS
139
+
140
+ #else
141
+
142
+ # if defined(Z_CPU_INTEGER_ENDIANNESS_16BIT) && Z_CPU_INTEGER_ENDIANNESS_16BIT == Z_ENDIANNESS_MIXED
143
+ # undef Z_CPU_INTEGER_ENDIANNESS_16BIT
144
+ # endif
145
+
146
+ # if !defined(Z_CPU_INTEGER_ENDIANNESS_16BIT) && defined(Z_COMPILER_CPU_INTEGER_ENDIANNESS_16BIT)
147
+ # define Z_CPU_INTEGER_ENDIANNESS_16BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS_16BIT
148
+ # endif
149
+
150
+ # if defined(Z_CPU_INTEGER_ENDIANNESS_32BIT) && Z_CPU_INTEGER_ENDIANNESS_32BIT == Z_ENDIANNESS_MIXED
151
+ # undef Z_CPU_INTEGER_ENDIANNESS_32BIT
152
+ # endif
153
+
154
+ # if !defined(Z_CPU_INTEGER_ENDIANNESS_32BIT) && defined(Z_COMPILER_CPU_INTEGER_ENDIANNESS_32BIT)
155
+ # define Z_CPU_INTEGER_ENDIANNESS_32BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS_32BIT
156
+ # endif
157
+
158
+ # if defined(Z_CPU_INTEGER_ENDIANNESS_64BIT) && Z_CPU_INTEGER_ENDIANNESS_64BIT == Z_ENDIANNESS_MIXED
159
+ # undef Z_CPU_INTEGER_ENDIANNESS_64BIT
160
+ # endif
161
+
162
+ # if !defined(Z_CPU_INTEGER_ENDIANNESS_64BIT) && defined(Z_COMPILER_CPU_INTEGER_ENDIANNESS_64BIT)
163
+ # define Z_CPU_INTEGER_ENDIANNESS_64BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS_64BIT
164
+ # endif
165
+
166
+ # if defined(Z_CPU_INTEGER_ENDIANNESS_128BIT) && Z_CPU_INTEGER_ENDIANNESS_128BIT == Z_ENDIANNESS_MIXED
167
+ # undef Z_CPU_INTEGER_ENDIANNESS_128BIT
168
+ # endif
169
+
170
+ # if !defined(Z_CPU_INTEGER_ENDIANNESS_128BIT) && defined(Z_COMPILER_CPU_INTEGER_ENDIANNESS_128BIT)
171
+ # define Z_CPU_INTEGER_ENDIANNESS_128BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS_128BIT
172
+ # endif
173
+
174
+ #endif
175
+
176
+ #ifdef Z_CPU_INTEGER_FORMAT
177
+
178
+ # if Z_CPU_INTEGER_FORMAT == Z_INTEGER_FORMAT_2S_COMPLEMENT
179
+
180
+ # define Z_CPU_INTEGER_FORMAT_8BIT Z_VALUE_FORMAT_8BIT_2S_COMPLEMENT_INTEGER
181
+ # define Z_CPU_INTEGER_FORMAT_16BIT Z_VALUE_FORMAT_16BIT_2S_COMPLEMENT_INTEGER
182
+ # define Z_CPU_INTEGER_FORMAT_32BIT Z_VALUE_FORMAT_32BIT_2S_COMPLEMENT_INTEGER
183
+ # define Z_CPU_INTEGER_FORMAT_64BIT Z_VALUE_FORMAT_64BIT_2S_COMPLEMENT_INTEGER
184
+ # define Z_CPU_INTEGER_FORMAT_128BIT Z_VALUE_FORMAT_128BIT_2S_COMPLEMENT_INTEGER
185
+
186
+ # elif Z_CPU_INTEGER_FORMAT == Z_INTEGER_FORMAT_1S_COMPLEMENT
187
+
188
+ # define Z_CPU_INTEGER_FORMAT_8BIT Z_VALUE_FORMAT_8BIT_1S_COMPLEMENT_INTEGER
189
+ # define Z_CPU_INTEGER_FORMAT_16BIT Z_VALUE_FORMAT_16BIT_1S_COMPLEMENT_INTEGER
190
+ # define Z_CPU_INTEGER_FORMAT_32BIT Z_VALUE_FORMAT_32BIT_1S_COMPLEMENT_INTEGER
191
+ # define Z_CPU_INTEGER_FORMAT_64BIT Z_VALUE_FORMAT_64BIT_1S_COMPLEMENT_INTEGER
192
+ # define Z_CPU_INTEGER_FORMAT_128BIT Z_VALUE_FORMAT_128BIT_1S_COMPLEMENT_INTEGER
193
+
194
+ # endif
195
+
196
+ #endif
197
+
198
+ #define Z_CPU_ARCHITECTURE_STRING Z_APPEND_CPU_ARCHITECTURE(Z_CPU_ARCHITECTURE_STRING_)
199
+
200
+ #define Z_CPU_HAS( WHAT ) Z_CPU_HAS_##WHAT
201
+ #define Z_CPU_HAS_ISA( WHICH ) Z_CPU_HAS_ISA_##WHICH
202
+ #define Z_CPU_HAS_INTEGER(bits ) Z_CPU_HAS_INTEGER_##bits##BIT
203
+ #define Z_CPU_HAS_REAL( FORMAT) Z_CPY_HAS_REAL_##FORMAT
204
+ #define Z_CPU_BITS( WHAT ) Z_CPU_BITS_##WHAT
205
+
206
+ #define Z_CPU_ENDIANNESS(TYPE, bits) Z_CPU_##TYPE##_ENDIANNESS_##bits##BIT
207
+ #define Z_CPU_FORMAT( TYPE, bits) Z_CPU_##TYPE##_FORMAT_##bits##BIT
208
+
209
+ #endif /* _Z_inspection_CPU_H_ */
@@ -0,0 +1,36 @@
1
+ /* Z Kit - inspection/OS/completion.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef Z_OS_HAS_NETWORKING
9
+ # define Z_OS_HAS_NETWORKING FALSE
10
+ #endif
11
+
12
+ #ifndef Z_OS_HAS_POSIX_THREADING
13
+ # define Z_OS_HAS_POSIX_THREADING FALSE
14
+ #endif
15
+
16
+ #ifndef Z_OS_HAS_TLS
17
+ # define Z_OS_HAS_TLS FALSE
18
+ #endif
19
+
20
+ #ifndef Z_OS_IS_POSIX
21
+ # define Z_OS_IS_POSIX FALSE
22
+ #endif
23
+
24
+ #ifndef Z_OS_IS_POSIX_LIKE
25
+ # define Z_OS_IS_POSIX_LIKE FALSE
26
+ #endif
27
+
28
+ #ifndef Z_OS_IS_UNIX
29
+ # define Z_OS_IS_UNIX FALSE
30
+ #endif
31
+
32
+ #ifndef Z_OS_IS_UNIX_LIKE
33
+ # define Z_OS_IS_UNIX_LIKE FALSE
34
+ #endif
35
+
36
+ /* inspection/OS/completion.h EOF */