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,362 @@
1
+ /* Z Kit - inspection/data model.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_data_model_H_
9
+ #define _Z_inspection_data_model_H_
10
+
11
+ #include <Z/keys/data model.h>
12
+ #include <Z/keys/value.h>
13
+ #include <Z/inspection/language.h>
14
+ #include <Z/macros/pasting.h>
15
+
16
+ #ifndef Z_DATA_MODEL /* UDC */
17
+
18
+ # ifdef Z_COMPILER_DATA_MODEL
19
+ # define Z_DATA_MODEL Z_COMPILER_DATA_MODEL
20
+ # else
21
+ # include <Z/inspection/data model/detection.h>
22
+
23
+ # ifndef Z_DATA_MODEL
24
+ # include <Z/inspection/data model/deduction.h>
25
+ # endif
26
+ # endif
27
+
28
+ #endif
29
+
30
+ #if Z_DATA_MODEL == Z_DATA_MODEL_IP16L32
31
+
32
+ # include <Z/formats/data model/IP16L32.h>
33
+
34
+ # define Z_APPEND_DATA_MODEL(to) to##IP16L32
35
+ # define Z_APPEND_data_model(to) to##ip16l32
36
+ # define Z_INSERT_DATA_MODEL(left, right) left##IP16L32##right
37
+ # define Z_INSERT_data_model(left, right) left##ip16l32##right
38
+
39
+ #elif Z_DATA_MODEL == Z_DATA_MODEL_I16LP32
40
+
41
+ # include <Z/formats/data model/I16LP32.h>
42
+
43
+ # define Z_APPEND_DATA_MODEL(to) to##I16LP32
44
+ # define Z_APPEND_data_model(to) to##i16lp32
45
+ # define Z_INSERT_DATA_MODEL(left, right) left##I16LP32##right
46
+ # define Z_INSERT_data_model(left, right) left##i16lp32##right
47
+
48
+ #elif Z_DATA_MODEL == Z_DATA_MODEL_ILP32
49
+
50
+ # include <Z/formats/data model/ILP32.h>
51
+
52
+ # define Z_APPEND_DATA_MODEL(to) to##ILP32
53
+ # define Z_APPEND_data_model(to) to##ilp32
54
+ # define Z_INSERT_DATA_MODEL(left, right) left##ILP32##right
55
+ # define Z_INSERT_data_model(left, right) left##ilp32##right
56
+
57
+ #elif Z_DATA_MODEL == Z_DATA_MODEL_ILP64
58
+
59
+ # include <Z/formats/data model/ILP64.h>
60
+
61
+ # define Z_APPEND_DATA_MODEL(to) to##ILP64
62
+ # define Z_APPEND_data_model(to) to##ilp64
63
+ # define Z_INSERT_DATA_MODEL(left, right) left##ILP64##right
64
+ # define Z_INSERT_data_model(left, right) left##ilp64##right
65
+
66
+ #elif Z_DATA_MODEL == Z_DATA_MODEL_LLP64
67
+
68
+ # include <Z/formats/data model/LLP64.h>
69
+
70
+ # define Z_APPEND_DATA_MODEL(to) to##LLP64
71
+ # define Z_APPEND_data_model(to) to##llp64
72
+ # define Z_INSERT_DATA_MODEL(left, right) left##LLP64##right
73
+ # define Z_INSERT_data_model(left, right) left##llp64##right
74
+
75
+ #elif Z_DATA_MODEL == Z_DATA_MODEL_LP32
76
+
77
+ # include <Z/formats/data model/LP32.h>
78
+
79
+ # define Z_APPEND_DATA_MODEL(to) to##LP32
80
+ # define Z_APPEND_data_model(to) to##lp32
81
+ # define Z_INSERT_DATA_MODEL(left, right) left##LP32##right
82
+ # define Z_INSERT_data_model(left, right) left##lp32##right
83
+
84
+ #elif Z_DATA_MODEL == Z_DATA_MODEL_LP64
85
+
86
+ # include <Z/formats/data model/LP64.h>
87
+
88
+ # define Z_APPEND_DATA_MODEL(to) to##LP64
89
+ # define Z_APPEND_data_model(to) to##lp64
90
+ # define Z_INSERT_DATA_MODEL(left, right) left##LP64##right
91
+ # define Z_INSERT_data_model(left, right) left##lp64##right
92
+
93
+ #elif Z_DATA_MODEL == Z_DATA_MODEL_SILP64
94
+
95
+ # include <Z/formats/data model/SILP64.h>
96
+
97
+ # define Z_APPEND_DATA_MODEL(to) to##SILP64
98
+ # define Z_APPEND_data_model(to) to##silp64
99
+ # define Z_INSERT_DATA_MODEL(left, right) left##SILP64##right
100
+ # define Z_INSERT_data_model(left, right) left##silp64##right
101
+
102
+ #endif
103
+
104
+ #define Z_DATA_MODEL_STRING Z_APPEND_DATA_MODEL(Z_DATA_MODEL_STRING_)
105
+ #define Z_DATA_MODEL_BITS( TYPE) Z_INSERT_DATA_MODEL(Z_, _BITS_##TYPE)
106
+ #define Z_DATA_MODEL_HAS_TYPE( TYPE) Z_DATA_MODEL_HAS_TYPE_##TYPE
107
+ #define Z_DATA_MODEL_HAS_LITERAL(TYPE) Z_DATA_MODEL_HAS_LITERAL_##TYPE
108
+ #define Z_DATA_MODEL_LITERAL( TYPE) Z_DATA_MODEL_LITERAL_##TYPE
109
+ #define Z_DATA_MODEL_TYPE( TYPE) Z_DATA_MODEL_TYPE_##TYPE
110
+ #define Z_DATA_MODEL_VALUE_TYPE( TYPE) Z_DATA_MODEL_VALUE_TYPE_##TYPE
111
+
112
+ /* MARK: - 8-bit */
113
+
114
+ #if Z_DATA_MODEL_BITS(CHAR) == 8
115
+
116
+ # define Z_DATA_MODEL_LITERAL_UINT8 Z_SUFFIX_U
117
+ # define Z_DATA_MODEL_TYPE_UINT8 unsigned char
118
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT8 Z_VALUE_TYPE_UCHAR
119
+
120
+ # define Z_DATA_MODEL_LITERAL_SINT8 Z_SAME
121
+ # define Z_DATA_MODEL_TYPE_SINT8 signed char
122
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT8 Z_VALUE_TYPE_SCHAR
123
+
124
+ #elif Z_DATA_MODEL_BITS(SHORT) == 8
125
+
126
+ # define Z_DATA_MODEL_LITERAL_UINT8 Z_SUFFIX_U
127
+ # define Z_DATA_MODEL_TYPE_UINT8 unsigned short int
128
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT8 Z_VALUE_TYPE_USHORT
129
+
130
+ # define Z_DATA_MODEL_LITERAL_SINT8 Z_SAME
131
+ # define Z_DATA_MODEL_TYPE_SINT8 signed short int
132
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT8 Z_VALUE_TYPE_SSHORT
133
+
134
+ #else
135
+
136
+ # if Z_COMPILER_HAS_LITERAL(UINT8)
137
+ # define Z_DATA_MODEL_LITERAL_UINT8 Z_COMPILER_LITERAL(UINT8)
138
+ # else
139
+ # define Z_DATA_MODEL_LITERAL_UINT8 Z_SUFFIX_U
140
+ # endif
141
+
142
+ # define Z_DATA_MODEL_TYPE_UINT8 Z_COMPILER_TYPE(UINT8)
143
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT8 Z_VALUE_TYPE_UINT8
144
+
145
+ # if Z_COMPILER_HAS_LITERAL(SINT8)
146
+ # define Z_DATA_MODEL_LITERAL_SINT8 Z_COMPILER_LITERAL(SINT8)
147
+ # else
148
+ # define Z_DATA_MODEL_LITERAL_SINT8 Z_SAME
149
+ # endif
150
+
151
+ # define Z_DATA_MODEL_TYPE_SINT8 Z_COMPILER_TYPE(SINT8)
152
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT8 Z_VALUE_TYPE_SINT8
153
+
154
+ #endif
155
+
156
+ /* MARK: - 16-bit */
157
+
158
+ #if Z_DATA_MODEL_BITS(CHAR) == 16
159
+
160
+ # define Z_DATA_MODEL_LITERAL_UINT16 Z_SUFFIX_U
161
+ # define Z_DATA_MODEL_TYPE_UINT16 unsigned char
162
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT16 Z_VALUE_TYPE_UCHAR
163
+
164
+ # define Z_DATA_MODEL_LITERAL_SINT16 Z_SAME
165
+ # define Z_DATA_MODEL_TYPE_SINT16 signed char
166
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT16 Z_VALUE_TYPE_SCHAR
167
+
168
+ #elif Z_DATA_MODEL_BITS(SHORT) == 16
169
+
170
+ # define Z_DATA_MODEL_LITERAL_UINT16 Z_SUFFIX_U
171
+ # define Z_DATA_MODEL_TYPE_UINT16 unsigned short int
172
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT16 Z_VALUE_TYPE_USHORT
173
+
174
+ # define Z_DATA_MODEL_LITERAL_SINT16 Z_SAME
175
+ # define Z_DATA_MODEL_TYPE_SINT16 signed short int
176
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT16 Z_VALUE_TYPE_SSHORT
177
+
178
+ #elif Z_DATA_MODEL_BITS(INT) == 16
179
+
180
+ # define Z_DATA_MODEL_LITERAL_UINT16 Z_SUFFIX_U
181
+ # define Z_DATA_MODEL_TYPE_UINT16 unsigned int
182
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT16 Z_VALUE_TYPE_UINT
183
+
184
+ # define Z_DATA_MODEL_LITERAL_SINT16 Z_SAME
185
+ # define Z_DATA_MODEL_TYPE_SINT16 signed int
186
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT16 Z_VALUE_TYPE_SINT
187
+
188
+ #else
189
+
190
+ # if Z_COMPILER_HAS_LITERAL(UINT16)
191
+ # define Z_DATA_MODEL_LITERAL_UINT16 Z_COMPILER_LITERAL(UINT16)
192
+ # else
193
+ # define Z_DATA_MODEL_LITERAL_UINT16 Z_SUFFIX_U
194
+ # endif
195
+
196
+ # define Z_DATA_MODEL_TYPE_UINT16 Z_COMPILER_TYPE(UINT16)
197
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT16 Z_VALUE_TYPE_UINT16
198
+
199
+ # if Z_COMPILER_HAS_LITERAL(SINT16)
200
+ # define Z_DATA_MODEL_LITERAL_SINT16 Z_COMPILER_LITERAL(SINT16)
201
+ # else
202
+ # define Z_DATA_MODEL_LITERAL_SINT16 Z_SAME
203
+ # endif
204
+
205
+ # define Z_DATA_MODEL_TYPE_SINT16 Z_COMPILER_TYPE(SINT16)
206
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT16 Z_VALUE_TYPE_SINT16
207
+
208
+ #endif
209
+
210
+ /* MARK: - 32-bit */
211
+
212
+ #if Z_DATA_MODEL_BITS(SHORT) == 32
213
+
214
+ # define Z_DATA_MODEL_LITERAL_UINT32 Z_SUFFIX_U
215
+ # define Z_DATA_MODEL_TYPE_UINT32 unsigned short int
216
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT32 Z_VALUE_TYPE_USHORT
217
+
218
+ # define Z_DATA_MODEL_LITERAL_SINT32 Z_SAME
219
+ # define Z_DATA_MODEL_TYPE_SINT32 signed short int
220
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT32 Z_VALUE_TYPE_SSHORT
221
+
222
+ #elif Z_DATA_MODEL_BITS(INT) == 32
223
+
224
+ # define Z_DATA_MODEL_LITERAL_UINT32 Z_SUFFIX_U
225
+ # define Z_DATA_MODEL_TYPE_UINT32 unsigned int
226
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT32 Z_VALUE_TYPE_UINT
227
+
228
+ # define Z_DATA_MODEL_LITERAL_SINT32 Z_SAME
229
+ # define Z_DATA_MODEL_TYPE_SINT32 signed int
230
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT32 Z_VALUE_TYPE_SINT
231
+
232
+ #elif Z_DATA_MODEL_BITS(LONG) == 32
233
+
234
+ # define Z_DATA_MODEL_LITERAL_UINT32 Z_SUFFIX_UL
235
+ # define Z_DATA_MODEL_TYPE_UINT32 unsigned long int
236
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT32 Z_VALUE_TYPE_ULONG
237
+
238
+ # define Z_DATA_MODEL_LITERAL_SINT32 Z_SUFFIX_L
239
+ # define Z_DATA_MODEL_TYPE_SINT32 signed long int
240
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT32 Z_VALUE_TYPE_SLONG
241
+
242
+ #else
243
+
244
+ # if Z_COMPILER_HAS_LITERAL(UINT32)
245
+ # define Z_DATA_MODEL_LITERAL_UINT32 Z_COMPILER_LITERAL(UINT32)
246
+ # else
247
+ # define Z_DATA_MODEL_LITERAL_UINT32 Z_SUFFIX_U
248
+ # endif
249
+
250
+ # define Z_DATA_MODEL_TYPE_UINT32 Z_COMPILER_TYPE(UINT32)
251
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT32 Z_VALUE_TYPE_UINT32
252
+
253
+ # if Z_COMPILER_HAS_LITERAL(SINT32)
254
+ # define Z_DATA_MODEL_LITERAL_SINT32 Z_COMPILER_LITERAL(SINT32)
255
+ # else
256
+ # define Z_DATA_MODEL_LITERAL_SINT32 Z_SAME
257
+ # endif
258
+
259
+ # define Z_DATA_MODEL_TYPE_SINT32 Z_COMPILER_TYPE(SINT32)
260
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT32 Z_VALUE_TYPE_SINT32
261
+
262
+ #endif
263
+
264
+ /* MARK: - 64-bit */
265
+
266
+ #if Z_DATA_MODEL_BITS(INT) == 64
267
+
268
+ # define Z_DATA_MODEL_LITERAL_UINT64 Z_SUFFIX_U
269
+ # define Z_DATA_MODEL_TYPE_UINT64 unsigned int
270
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT64 Z_VALUE_TYPE_UINT
271
+
272
+ # define Z_DATA_MODEL_LITERAL_SINT64 Z_SAME
273
+ # define Z_DATA_MODEL_TYPE_SINT64 signed int
274
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT64 Z_VALUE_TYPE_SINT
275
+
276
+ #elif Z_DATA_MODEL_BITS(LONG) == 64
277
+
278
+ # define Z_DATA_MODEL_LITERAL_UINT64 Z_SUFFIX_UL
279
+ # define Z_DATA_MODEL_TYPE_UINT64 unsigned long int
280
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT64 Z_VALUE_TYPE_ULONG
281
+
282
+ # define Z_DATA_MODEL_LITERAL_SINT64 Z_SUFFIX_L
283
+ # define Z_DATA_MODEL_TYPE_SINT64 signed long int
284
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT64 Z_VALUE_TYPE_SLONG
285
+
286
+ #elif Z_DATA_MODEL_BITS(LLONG) == 64 && (Z_LANGUAGE_HAS_TYPE(C, LLONG) || Z_LANGUAGE_HAS_TYPE(CPP, LLONG))
287
+
288
+ # define Z_DATA_MODEL_LITERAL_UINT64 Z_SUFFIX_ULL
289
+ # define Z_DATA_MODEL_TYPE_UINT64 unsigned long long int
290
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT64 Z_VALUE_TYPE_ULLONG
291
+
292
+ # define Z_DATA_MODEL_LITERAL_SINT64 Z_SUFFIX_LL
293
+ # define Z_DATA_MODEL_TYPE_SINT64 signed long long int
294
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT64 Z_VALUE_TYPE_SLLONG
295
+
296
+ #else
297
+
298
+ # if Z_COMPILER_HAS_TYPE(UINT64)
299
+
300
+ # if Z_COMPILER_HAS_LITERAL(UINT64)
301
+ # define Z_DATA_MODEL_LITERAL_UINT64 Z_COMPILER_LITERAL(UINT64)
302
+ # endif
303
+
304
+ # define Z_DATA_MODEL_TYPE_UINT64 Z_COMPILER_TYPE(UINT64)
305
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT64 Z_VALUE_TYPE_UINT64
306
+
307
+ # endif
308
+
309
+ # if Z_COMPILER_HAS_TYPE(SINT64)
310
+
311
+ # if Z_COMPILER_HAS_LITERAL(SINT64)
312
+ # define Z_DATA_MODEL_LITERAL_SINT64 Z_COMPILER_LITERAL(SINT64)
313
+ # endif
314
+
315
+ # define Z_DATA_MODEL_TYPE_SINT64 Z_COMPILER_TYPE(SINT64)
316
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT64 Z_VALUE_TYPE_SINT64
317
+
318
+ # endif
319
+
320
+ #endif
321
+
322
+ /* MARK: - 128-bit */
323
+
324
+ #if Z_DATA_MODEL_BITS(LLONG) == 128 && (Z_LANGUAGE_HAS_TYPE(C, LLONG) || Z_LANGUAGE_HAS_TYPE(CPP, LLONG))
325
+
326
+ # define Z_DATA_MODEL_LITERAL_UINT128 Z_SUFFIX_ULL
327
+ # define Z_DATA_MODEL_TYPE_UINT128 unsigned long long int
328
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT128 Z_VALUE_TYPE_ULLONG
329
+
330
+ # define Z_DATA_MODEL_LITERAL_SINT128 Z_SUFFIX_LL
331
+ # define Z_DATA_MODEL_TYPE_SINT128 signed long long int
332
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT128 Z_VALUE_TYPE_SLLONG
333
+
334
+ #else
335
+
336
+ # if Z_COMPILER_HAS_TYPE(UINT128)
337
+
338
+ # if Z_COMPILER_HAS_LITERAL(UINT128)
339
+ # define Z_DATA_MODEL_LITERAL_UINT128 Z_COMPILER_LITERAL(UINT128)
340
+ # endif
341
+
342
+ # define Z_DATA_MODEL_TYPE_UINT128 Z_COMPILER_TYPE(UINT128)
343
+ # define Z_DATA_MODEL_VALUE_TYPE_UINT128 Z_VALUE_TYPE_UINT128
344
+
345
+ # endif
346
+
347
+ # if Z_COMPILER_HAS_TYPE(SINT128)
348
+
349
+ # if Z_COMPILER_HAS_LITERAL(SINT128)
350
+ # define Z_DATA_MODEL_LITERAL_SINT128 Z_COMPILER_LITERAL(SINT128)
351
+ # endif
352
+
353
+ # define Z_DATA_MODEL_TYPE_SINT128 Z_COMPILER_TYPE(SINT128)
354
+ # define Z_DATA_MODEL_VALUE_TYPE_SINT128 Z_VALUE_TYPE_SINT128
355
+
356
+ # endif
357
+
358
+ #endif
359
+
360
+ #include <Z/inspection/data model/completion.h>
361
+
362
+ #endif /* _Z_inspection_data_model_H_ */
@@ -0,0 +1,50 @@
1
+ /* Z Kit - inspection/floating-point/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
+ #ifdef Z_FLOATING_POINT_TYPE_FLOAT16
9
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT16 TRUE
10
+ #else
11
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT16 FALSE
12
+ #endif
13
+
14
+ #ifdef Z_FLOATING_POINT_TYPE_FLOAT32
15
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT32 TRUE
16
+ #else
17
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT32 FALSE
18
+ #endif
19
+
20
+ #ifdef Z_FLOATING_POINT_TYPE_FLOAT64
21
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT64 TRUE
22
+ #else
23
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT64 FALSE
24
+ #endif
25
+
26
+ #ifdef Z_FLOATING_POINT_TYPE_FLOAT128
27
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT128 TRUE
28
+ #else
29
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT128 FALSE
30
+ #endif
31
+
32
+ #ifdef Z_FLOATING_POINT_TYPE_FLOAT80_X87
33
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT80_X87 TRUE
34
+ #else
35
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT80_X87 FALSE
36
+ #endif
37
+
38
+ #ifdef Z_FLOATING_POINT_TYPE_FLOAT96_X87
39
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT96_X87 TRUE
40
+ #else
41
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT96_X87 FALSE
42
+ #endif
43
+
44
+ #ifdef Z_FLOATING_POINT_TYPE_FLOAT128_X87
45
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT128_X87 TRUE
46
+ #else
47
+ # define Z_FLOATING_POINT_HAS_TYPE_FLOAT128_X87 FALSE
48
+ #endif
49
+
50
+ /* inspection/floating-point/completion.h EOF */