zemu 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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 */