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,768 @@
1
+ /* Z Kit - inspection/OS/detection.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
+ #if /*------. \
9
+ | Clang | \
10
+ '------*/ \
11
+ defined(__ANDROID__)
12
+
13
+ # define Z_OS Z_OS_ANDROID
14
+
15
+ #elif /*-------------. \
16
+ | IBM XL C/C++ | \
17
+ '-------------*/ \
18
+ defined(__TOS_LINUX__) || \
19
+ \
20
+ /*----------------------. \
21
+ | Clang | \
22
+ | GCC | \
23
+ | Intel C++ | \
24
+ | Oracle Solaris Studio | \
25
+ '----------------------*/ \
26
+ defined(__gnu_linux__) || \
27
+ \
28
+ /*----------------------. \
29
+ | Clang | \
30
+ | GCC | \
31
+ | Intel C++ | \
32
+ | Oracle Solaris Studio | \
33
+ | PGI C/C++ | \
34
+ | IBM XL C/C++ | \
35
+ '----------------------*/ \
36
+ defined(__linux ) || \
37
+ defined(__linux__) || \
38
+ \
39
+ /*----------------------. \
40
+ | Clang | \
41
+ | GCC | \
42
+ | Intel C++ | \
43
+ | Oracle Solaris Studio | \
44
+ | PGI C/C++ | \
45
+ '----------------------*/ \
46
+ defined(linux)
47
+
48
+ # define Z_OS Z_OS_LINUX
49
+
50
+ #elif /*-----------. \
51
+ | Apple LLVM | \
52
+ | Clang | \
53
+ '-----------*/ \
54
+ defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)
55
+
56
+ # define Z_OS Z_OS_MAC_OS_X
57
+
58
+ #elif /*-----------. \
59
+ | Apple LLVM | \
60
+ | Clang | \
61
+ '-----------*/ \
62
+ defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__)
63
+
64
+ # define Z_OS Z_OS_IPHONE_OS
65
+
66
+ #elif /*-----------. \
67
+ | Apple LLVM | \
68
+ | Clang | \
69
+ '-----------*/ \
70
+ defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__)
71
+
72
+ # define Z_OS Z_OS_TVOS
73
+
74
+ #elif /*-----------. \
75
+ | Apple LLVM | \
76
+ | Clang | \
77
+ '-----------*/ \
78
+ defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__)
79
+
80
+ # define Z_OS Z_OS_WATCH_OS
81
+
82
+ #elif /*-----------. \
83
+ | Apple LLVM | \
84
+ | Clang | \
85
+ '-----------*/ \
86
+ defined(__APPLE_CC__) || \
87
+ \
88
+ /*--. \
89
+ | ? | \
90
+ '--*/ \
91
+ defined(__APPLE_CPP__) || \
92
+ \
93
+ /*-----------. \
94
+ | Apple LLVM | \
95
+ | Clang | \
96
+ | GCC | \
97
+ | Intel C++ | \
98
+ | PGI C/C++ | \
99
+ '-----------*/ \
100
+ (defined(__APPLE__) && defined(__MACH__))
101
+
102
+ # include <TargetConditionals.h>
103
+
104
+ # if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
105
+
106
+ # if defined(TARGET_OS_TV) && TARGET_OS_TV
107
+ # define Z_OS Z_OS_TVOS
108
+
109
+ # elif defined(TARGET_OS_WATCH) && TARGET_OS_WATCH
110
+ # define Z_OS Z_OS_WATCH_OS
111
+
112
+ # else
113
+ # define Z_OS Z_OS_IPHONE_OS
114
+ # endif
115
+
116
+ # else
117
+ # define Z_OS Z_OS_MAC_OS_X
118
+ # endif
119
+
120
+ #elif /*--. \
121
+ | ? | \
122
+ '--*/ \
123
+ defined(__DOS__) || \
124
+ \
125
+ /*-------------. \
126
+ | Watcom C/C++ | \
127
+ '-------------*/ \
128
+ defined(__MSDOS__) || \
129
+ defined(_MSDOS ) || \
130
+ \
131
+ /*--. \
132
+ | ? | \
133
+ '--*/ \
134
+ defined(MSDOS)
135
+
136
+ # define Z_OS Z_OS_MS_DOS
137
+
138
+ #elif /*-------------. \
139
+ | Watcom C/C++ | \
140
+ '-------------*/ \
141
+ defined(__NT__) || \
142
+ \
143
+ /*-------------. \
144
+ | IBM XL C/C++ | \
145
+ '-------------*/ \
146
+ defined(__TOS_WIN__) || \
147
+ \
148
+ /*----------. \
149
+ | Clang | \
150
+ | GCC | \
151
+ | PGI C/C++ | \
152
+ '----------*/ \
153
+ defined(__WIN32) || \
154
+ \
155
+ /*------------. \
156
+ | Clang | \
157
+ | Borland C++ | \
158
+ | Clang | \
159
+ | GCC | \
160
+ | PGI C/C++ | \
161
+ '------------*/ \
162
+ defined(__WIN32__) || \
163
+ \
164
+ /*----------. \
165
+ | Clang | \
166
+ | GCC | \
167
+ | PGI C/C++ | \
168
+ '----------*/ \
169
+ defined(__WIN64 ) || \
170
+ defined(__WIN64__) || \
171
+ \
172
+ /*-------------. \
173
+ | Watcom C/C++ | \
174
+ '-------------*/ \
175
+ defined(__WINDOWS__ ) || \
176
+ defined(__WINDOWS_386__) || \
177
+ \
178
+ /*------. \
179
+ | Clang | \
180
+ | GCC | \
181
+ '------*/ \
182
+ defined(__WINNT ) || \
183
+ defined(__WINNT__) || \
184
+ \
185
+ /*-----------. \
186
+ | Visual C++ | \
187
+ '-----------*/ \
188
+ defined(_WIN16) || \
189
+ \
190
+ /*-----------. \
191
+ | Clang | \
192
+ | GCC | \
193
+ | Intel C++ | \
194
+ | PGI C/C++ | \
195
+ | Visual C++ | \
196
+ '-----------*/ \
197
+ defined(_WIN32) || \
198
+ defined(_WIN64) || \
199
+ \
200
+ /*------. \
201
+ | Clang | \
202
+ | GCC | \
203
+ '------*/ \
204
+ defined(WIN32) || \
205
+ defined(WIN64) || \
206
+ defined(WINNT)
207
+
208
+ # define Z_OS Z_OS_WINDOWS
209
+
210
+ #elif /*-----------. \
211
+ | Visual C++ | \
212
+ '-----------*/ \
213
+ defined(_WIN32_WCE ) || \
214
+ defined(WIN32_PLATFORM_HPC2000) || \
215
+ defined(WIN32_PLATFORM_HPCPRO ) || \
216
+ defined(WIN32_PLATFORM_PSPC ) || \
217
+ defined(WIN32_PLATFORM_WFSP )
218
+
219
+ # define Z_OS Z_OS_WINDOWS_CE
220
+
221
+ #elif /*--. \
222
+ | ? | \
223
+ '--*/ \
224
+ defined(aegis)
225
+
226
+ # define Z_OS Z_OS_AEGIS
227
+
228
+ #elif /*-------------. \
229
+ | GCC | \
230
+ | IBM XL C/C++ | \
231
+ '-------------*/ \
232
+ defined(_AIX) || \
233
+ \
234
+ /*-------------. \
235
+ | IBM XL C/C++ | \
236
+ '-------------*/ \
237
+ defined(__TOS_AIX__)
238
+
239
+ # define Z_OS Z_OS_AIX
240
+
241
+ #elif /*----. \
242
+ | GCC | \
243
+ '----*/ \
244
+ defined(__amigaos__) || \
245
+ \
246
+ /*--. \
247
+ | ? | \
248
+ '--*/ \
249
+ defined(AMIGA)
250
+
251
+ # define Z_OS Z_OS_AMIGA_OS
252
+
253
+ #elif /*--. \
254
+ | ? | \
255
+ '--*/ \
256
+ defined(__BEOS__)
257
+
258
+ # define Z_OS Z_OS_BE_OS
259
+
260
+ #elif /*------. \
261
+ | Clang | \
262
+ '------*/ \
263
+ defined(__Bitrig__)
264
+
265
+ # define Z_OS Z_OS_BITRIG
266
+
267
+ #elif /*--. \
268
+ | ? | \
269
+ '--*/ \
270
+ defined(__bsdi__)
271
+
272
+ # define Z_OS Z_OS_BSD_386
273
+
274
+ #elif /*------. \
275
+ | Clang | \
276
+ '------*/ \
277
+ defined(__CELLOS_LV2__)
278
+
279
+ # define Z_OS Z_OS_CELL_OS
280
+
281
+ #elif /*-------------. \
282
+ | GCC | \
283
+ | IBM XL C/C++ | \
284
+ '-------------*/ \
285
+ defined(__bg__ ) || \
286
+ defined(__bgp__) || \
287
+ \
288
+ /*--. \
289
+ | ? | \
290
+ '--*/ \
291
+ defined(__bgq__ ) || \
292
+ defined(__blrts ) || \
293
+ defined(__blrts__) || \
294
+ \
295
+ /*-------------. \
296
+ | IBM XL C/C++ | \
297
+ '-------------*/ \
298
+ defined(__THW_BLUEGENE__) || \
299
+ defined(__TOS_BGQ__ ) \
300
+ \
301
+ /*--. \
302
+ | ? | \
303
+ '--*/ \
304
+ defined(__TOS_BGP__ ) || \
305
+ defined(__TOS_BLRTS__)
306
+
307
+ # define Z_OS Z_OS_CNK
308
+
309
+ #elif /*--. \
310
+ | ? | \
311
+ '--*/ \
312
+ defined(__convex__)
313
+
314
+ # define Z_OS Z_OS_CONVEX_UNIX
315
+
316
+ #elif /*------. \
317
+ | Clang | \
318
+ '------*/ \
319
+ defined(__CYGWIN__ ) || \
320
+ defined(__CYGWIN32__) || \
321
+ defined(__CYGWIN64__)
322
+
323
+ # define Z_OS Z_OS_CYGWIN
324
+
325
+ #elif /*--. \
326
+ | ? | \
327
+ '--*/ \
328
+ defined(pyr)
329
+
330
+ # define Z_OS Z_OS_DC_OSX
331
+
332
+ #elif /*--. \
333
+ | ? | \
334
+ '--*/ \
335
+ defined(__dgux__) || \
336
+ defined(__DGUX__) || \
337
+ defined(DGUX )
338
+
339
+ # define Z_OS Z_OS_DG_UX
340
+
341
+ #elif /*--. \
342
+ | ? | \
343
+ '--*/ \
344
+ defined(apollo)
345
+
346
+ # define Z_OS Z_OS_DOMAIN_OS
347
+
348
+ #elif /*------. \
349
+ | Clang | \
350
+ '------*/ \
351
+ defined(__DragonFly__)
352
+
353
+ # define Z_OS Z_OS_DRAGONFLY_BSD
354
+
355
+ #elif /*--. \
356
+ | ? | \
357
+ '--*/ \
358
+ defined(_SEQUENT_) || \
359
+ defined(sequent )
360
+
361
+ # define Z_OS Z_OS_DYNIX_PTX
362
+
363
+ #elif /*--. \
364
+ | ? | \
365
+ '--*/ \
366
+ defined(__ECOS)
367
+
368
+ # define Z_OS Z_OS_ECOS
369
+
370
+ #elif /*------. \
371
+ | Clang | \
372
+ '------*/ \
373
+ !defined(__ORBIS__) && \
374
+ \
375
+ /*------. \
376
+ | Clang | \
377
+ | GCC | \
378
+ '------*/ \
379
+ (defined(__FreeBSD__) || \
380
+ \
381
+ /*------. \
382
+ | Clang | \
383
+ '------*/ \
384
+ defined(__FreeBSD_kernel__))
385
+
386
+ # define Z_OS Z_OS_FREE_BSD
387
+
388
+ #elif /*--. \
389
+ | ? | \
390
+ '--*/ \
391
+ defined(__gnu_hurd__) /*|| defined(__GNU__)*/
392
+
393
+ # define Z_OS Z_OS_GNU_HURD
394
+
395
+ #elif /*------. \
396
+ | Clang | \
397
+ '------*/ \
398
+ defined(__HAIKU__)
399
+
400
+ # define Z_OS Z_OS_HAIKU
401
+
402
+ #elif /*--. \
403
+ | ? | \
404
+ '--*/ \
405
+ defined(__hiuxmpp)
406
+
407
+ # define Z_OS Z_OS_HI_UX_MPP
408
+
409
+ #elif /*----------. \
410
+ | GCC | \
411
+ | HP aC++ | \
412
+ | HP ANSI C | \
413
+ '----------*/ \
414
+ defined(__hpux) || \
415
+ \
416
+ /*-------. \
417
+ | HP UPC | \
418
+ '-------*/ \
419
+ defined(_hpux) || \
420
+ \
421
+ /*----. \
422
+ | GCC | \
423
+ '----*/ \
424
+ defined(hpux)
425
+
426
+ # define Z_OS Z_OS_HP_UX
427
+
428
+ #elif /*--. \
429
+ | ? | \
430
+ '--*/ \
431
+ defined(__INTEGRITY)
432
+
433
+ # define Z_OS Z_OS_INTEGRITY
434
+
435
+ #elif /*--. \
436
+ | ? | \
437
+ '--*/ \
438
+ defined(__sgi) || \
439
+ defined(sgi )
440
+
441
+ # define Z_OS Z_OS_IRIX
442
+
443
+ #elif /*--. \
444
+ | ? | \
445
+ '--*/ \
446
+ defined(__Lynx__)
447
+
448
+ # define Z_OS Z_OS_LYNX_OS
449
+
450
+ #elif /*--. \
451
+ | ? | \
452
+ '--*/ \
453
+ defined(Macintosh) || \
454
+ defined(macintosh)
455
+
456
+ # define Z_OS Z_OS_MAC_OS
457
+
458
+ #elif /*------. \
459
+ | Clang | \
460
+ '------*/ \
461
+ defined(__minix)
462
+
463
+ # define Z_OS Z_OS_MINIX
464
+
465
+ #elif /*--. \
466
+ | ? | \
467
+ '--*/ \
468
+ defined(__MORPHOS__)
469
+
470
+ # define Z_OS Z_OS_MORPH_OS
471
+
472
+ #elif /*--. \
473
+ | ? | \
474
+ '--*/ \
475
+ defined(__mpexl) || \
476
+ defined(mpeix )
477
+
478
+ # define Z_OS Z_OS_MPE_XL
479
+
480
+ #elif /*------. \
481
+ | Clang | \
482
+ | GCC | \
483
+ '------*/ \
484
+ defined(__NetBSD__)
485
+
486
+ # define Z_OS Z_OS_NET_BSD
487
+
488
+ #elif /*----------------------------. \
489
+ | GCC (NetWare coss-compiler) | \
490
+ '----------------------------*/ \
491
+ defined(__netware__) || \
492
+ \
493
+ /*-------------. \
494
+ | Watcom C/C++ | \
495
+ '-------------*/ \
496
+ defined(__NETWARE_386__)
497
+
498
+ # define Z_OS Z_OS_NET_WARE
499
+
500
+ #elif /*--. \
501
+ | ? | \
502
+ '--*/ \
503
+ defined(__TANDEM)
504
+
505
+ # define Z_OS Z_OS_NON_STOP_OS
506
+
507
+ #elif /*--. \
508
+ | ? | \
509
+ '--*/ \
510
+ defined(__nucleus__)
511
+
512
+ # define Z_OS Z_OS_NUCLEUS_RTOS
513
+
514
+ #elif /*------. \
515
+ | Clang | \
516
+ | GCC | \
517
+ '------*/ \
518
+ defined(__OpenBSD__)
519
+
520
+ # define Z_OS Z_OS_OPEN_BSD
521
+
522
+ #elif /*------. \
523
+ | Clang | \
524
+ '------*/ \
525
+ defined(__ORBIS__)
526
+
527
+ # define Z_OS Z_OS_ORBIS_OS
528
+
529
+ #elif /*-------------. \
530
+ | Watcom C/C++ | \
531
+ '-------------*/ \
532
+ defined(__OS2__) || \
533
+ \
534
+ /*--------------. \
535
+ | VisualAge C++ | \
536
+ '--------------*/ \
537
+ defined(__TOS_OS2__) || \
538
+ \
539
+ /*--. \
540
+ | ? | \
541
+ '--*/ \
542
+ defined(_OS2) || \
543
+ defined(OS2 )
544
+
545
+ # define Z_OS Z_OS_OS_2
546
+
547
+ #elif /*---------------. \
548
+ | Ultimate C/C++ | \
549
+ '---------------*/ \
550
+ defined(__OS9000) || \
551
+ defined(_OSK )
552
+
553
+ # define Z_OS Z_OS_OS_9
554
+
555
+ #elif /*--. \
556
+ | ? | \
557
+ '--*/ \
558
+ defined(__OS400__) \
559
+ \
560
+ /*-------------------------. \
561
+ | IBM XL C/C++ (ILE C/C++) | \
562
+ '-------------------------*/ \
563
+ defined(__TOS_OS400__)
564
+
565
+ # define Z_OS Z_OS_OS_400
566
+
567
+ #elif /*--. \
568
+ | ? | \
569
+ '--*/ \
570
+ defined(__osf__) || \
571
+ defined(__osf )
572
+
573
+ # define Z_OS Z_OS_OSF_1
574
+
575
+ #elif /*----. \
576
+ | GCC | \
577
+ '----*/ \
578
+ defined(__palmos__)
579
+
580
+ # define Z_OS Z_OS_PALM_OS
581
+
582
+ #elif /*--. \
583
+ | ? | \
584
+ '--*/ \
585
+ defined(EPLAN9)
586
+
587
+ # define Z_OS Z_OS_PLAN_9
588
+
589
+ #elif /*------. \
590
+ | Clang | \
591
+ '------*/ \
592
+ defined(__psp__) || \
593
+ defined(_PSP ) || \
594
+ defined(PSP )
595
+
596
+ # define Z_OS Z_OS_PSP
597
+
598
+ #elif /*-------------. \
599
+ | Watcom C/C++ | \
600
+ '-------------*/ \
601
+ defined(__QNX__) || \
602
+ \
603
+ /*--. \
604
+ | ? | \
605
+ '--*/ \
606
+ defined(__QNXNTO__)
607
+
608
+ # define Z_OS Z_OS_QNX
609
+
610
+ #elif /*------. \
611
+ | Clang | \
612
+ '------*/ \
613
+ defined(__rtems__)
614
+
615
+ # define Z_OS Z_OS_RTEMS
616
+
617
+ #elif /*--. \
618
+ | ? | \
619
+ '--*/ \
620
+ defined(_SCO_DS) || \
621
+ \
622
+ /*--------. \
623
+ | GCC (?) | \
624
+ '--------*/ \
625
+ defined(M_I386 ) || \
626
+ \
627
+ /*----. \
628
+ | GCC | \
629
+ '----*/ \
630
+ defined(M_XENIX)
631
+
632
+ # define Z_OS Z_OS_SCO_UNIX_SYSTEM_V
633
+
634
+ #elif defined(sinux)
635
+ # define Z_OS Z_OS_SINIX
636
+
637
+ #elif /*----------------------. \
638
+ | Clang | \
639
+ | GCC | \
640
+ | Oracle Solaris Studio | \
641
+ '----------------------*/ \
642
+ defined(__sun) || \
643
+ \
644
+ /*------. \
645
+ | Clang | \
646
+ | GCC | \
647
+ '------*/ \
648
+ defined(__sun__) || \
649
+ \
650
+ /*----------------------. \
651
+ | Oracle Solaris Studio | \
652
+ '----------------------*/ \
653
+ defined(__SunOS) || \
654
+ \
655
+ /*----------------------. \
656
+ | Clang | \
657
+ | GCC | \
658
+ | Oracle Solaris Studio | \
659
+ '----------------------*/ \
660
+ defined(sun)
661
+
662
+ # if /*------. \
663
+ | Clang | \
664
+ | GCC | \
665
+ '------*/ \
666
+ defined(__svr4__) || \
667
+ \
668
+ /*----------------------. \
669
+ | Clang | \
670
+ | GCC | \
671
+ | Oracle Solaris Studio | \
672
+ '----------------------*/ \
673
+ defined(__SVR4)
674
+
675
+ # define Z_OS Z_OS_SOLARIS
676
+ # else
677
+ # define Z_OS Z_OS_SUN_OS
678
+ # endif
679
+
680
+ #elif /*--. \
681
+ | ? | \
682
+ '--*/ \
683
+ defined(__SYLLABLE__)
684
+
685
+ # define Z_OS Z_OS_SYLLABLE
686
+
687
+ #elif /*--. \
688
+ | ? | \
689
+ '--*/ \
690
+ defined(__SYMBIAN32__)
691
+
692
+ # define Z_OS Z_OS_SYMBIAN
693
+
694
+ #elif /*--. \
695
+ | ? | \
696
+ '--*/ \
697
+ defined(__ultrix__) || \
698
+ defined(__ultrix ) || \
699
+ defined(ultrix ) /* "unix & vax"? */
700
+
701
+ # define Z_OS Z_OS_ULTRIX
702
+
703
+ #elif /*--. \
704
+ | ? | \
705
+ '--*/ \
706
+ defined(_UNICOS)
707
+
708
+ # define Z_OS Z_OS_UNICOS
709
+
710
+ #elif /*--. \
711
+ | ? | \
712
+ '--*/ \
713
+ defined(__crayx1) || \
714
+ defined(_CRAY )
715
+
716
+ # define Z_OS Z_OS_UNICOS_MP
717
+
718
+ #elif /*--. \
719
+ | ? | \
720
+ '--*/ \
721
+ defined(_UNIXWARE7) || \
722
+ defined(sco )
723
+
724
+ # define Z_OS Z_OS_UNIX_WARE
725
+
726
+ #elif /*--. \
727
+ | ? | \
728
+ '--*/ \
729
+ defined(UTS)
730
+
731
+ # define Z_OS Z_OS_UTS
732
+
733
+ #elif /*--. \
734
+ | ? | \
735
+ '--*/ \
736
+ defined(__VMS) || \
737
+ defined(VMS )
738
+
739
+ # define Z_OS Z_OS_VMS
740
+
741
+ #elif /*--. \
742
+ | ? | \
743
+ '--*/ \
744
+ defined(__VOS__)
745
+
746
+ # define Z_OS Z_OS_VOS
747
+
748
+ #elif /*-----------. \
749
+ | Diab C/C++ | \
750
+ | GCC | \
751
+ '-----------*/ \
752
+ defined(__vxworks) || \
753
+ defined(__VXWORKS__)
754
+
755
+ # define Z_OS Z_OS_VX_WORKS
756
+
757
+ #elif /*--. \
758
+ | ? | \
759
+ '--*/ \
760
+ defined(__MVS__ ) || \
761
+ defined(__HOS_MVS__) || \
762
+ defined(__TOS_MVS__)
763
+
764
+ # define Z_OS Z_OS_Z_OS
765
+
766
+ #endif
767
+
768
+ /* inspection/OS/detection.h EOF */