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,714 @@
1
+ /* Z Kit - inspection/CPU/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
+ | GCC | \
11
+ | Oracle Solaris Studio | \
12
+ '----------------------*/ \
13
+ defined(__amd64) || \
14
+ \
15
+ /*----------------------. \
16
+ | Clang | \
17
+ | GCC | \
18
+ | Oracle Solaris Studio | \
19
+ | PGI C/C++ | \
20
+ '----------------------*/ \
21
+ defined(__amd64__) || \
22
+ \
23
+ /*----------------------. \
24
+ | Clang | \
25
+ | GCC | \
26
+ | Intel C++ | \
27
+ | Oracle Solaris Studio | \
28
+ '----------------------*/ \
29
+ defined(__x86_64) || \
30
+ \
31
+ /*----------------------. \
32
+ | Clang | \
33
+ | GCC | \
34
+ | Intel C++ | \
35
+ | Oracle Solaris Studio | \
36
+ | PGI C/C++ | \
37
+ '----------------------*/ \
38
+ defined(__x86_64__) || \
39
+ \
40
+ /*-----------. \
41
+ | Clang | \
42
+ | Intel C++ | \
43
+ | Visual C++ | \
44
+ '-----------*/ \
45
+ defined(_M_AMD64) || \
46
+ defined(_M_X64 )
47
+
48
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_X86_64
49
+
50
+ #elif /*-----------. \
51
+ | Diab C/C++ | \
52
+ '-----------*/ \
53
+ defined(__386) || \
54
+ \
55
+ /*-------------. \
56
+ | Watcom C/C++ | \
57
+ '-------------*/ \
58
+ defined(__386__) || \
59
+ \
60
+ /*-------------. \
61
+ | Digital Mars | \
62
+ '-------------*/ \
63
+ defined(__I86__) || \
64
+ \
65
+ /*--------------. \
66
+ | Stratus VOS C | \
67
+ '--------------*/ \
68
+ defined(__IA32__) || \
69
+ \
70
+ /*------------. \
71
+ | Clang | \
72
+ | CodeWarrior | \
73
+ '------------*/ \
74
+ defined(__INTEL__) || \
75
+ \
76
+ /*-------------. \
77
+ | IBM XL C/C++ | \
78
+ '-------------*/ \
79
+ defined(__THW_INTEL__) || \
80
+ \
81
+ /*-------------. \
82
+ | Watcom C/C++ | \
83
+ '-------------*/ \
84
+ defined(__X86__ ) || \
85
+ defined(__WINDOWS_386__) || \
86
+ \
87
+ /*--------------. \
88
+ | Clang | \
89
+ | GCC | \
90
+ | Intel C++ | \
91
+ | MinGW | \
92
+ | PGI C/C++ | \
93
+ | Stratus VOS C | \
94
+ | Sun Studio | \
95
+ '--------------*/ \
96
+ defined(__i386) || \
97
+ \
98
+ /*----------. \
99
+ | Clang | \
100
+ | GCC | \
101
+ | Intel C++ | \
102
+ | MinGW | \
103
+ | PGI C/C++ | \
104
+ '----------*/ \
105
+ defined(__i386__) || \
106
+ \
107
+ /*------. \
108
+ | Clang | \
109
+ '------*/ \
110
+ defined(__i486) || \
111
+ \
112
+ /*------. \
113
+ | Clang | \
114
+ | GCC | \
115
+ '------*/ \
116
+ defined(__i486__) || \
117
+ \
118
+ /*------. \
119
+ | Clang | \
120
+ '------*/ \
121
+ defined(__i586) || \
122
+ \
123
+ /*------. \
124
+ | Clang | \
125
+ | GCC | \
126
+ '------*/ \
127
+ defined(__i586__) || \
128
+ \
129
+ /*------. \
130
+ | Clang | \
131
+ '------*/ \
132
+ defined(__i686) || \
133
+ \
134
+ /*------. \
135
+ | Clang | \
136
+ | GCC | \
137
+ '------*/ \
138
+ defined(__i686__) || \
139
+ \
140
+ /*------. \
141
+ | Clang | \
142
+ | MinGW | \
143
+ '------*/ \
144
+ defined(_X86_) || \
145
+ \
146
+ /*-------------. \
147
+ | Watcom C/C++ | \
148
+ '-------------*/ \
149
+ defined(M_I386) || \
150
+ \
151
+ /*----------------------. \
152
+ | Clang | \
153
+ | GCC | \
154
+ | Intel C++ | \
155
+ | MinGW | \
156
+ | Oracle Solaris Studio | \
157
+ | PGI C/C++ | \
158
+ '----------------------*/ \
159
+ defined(i386) || \
160
+ \
161
+ /*-------------. \
162
+ | Clang | \
163
+ | Digital Mars | \
164
+ | Intel C++ | \
165
+ | Visual C++ | \
166
+ | Watcom C/C++ | \
167
+ '-------------*/ \
168
+ (defined(_M_IX86) && !defined(__WATCOMC__))
169
+
170
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_X86_32
171
+
172
+ #elif /*-------------. \
173
+ | Digital Mars | \
174
+ | Visual C++ | \
175
+ | Watcom C/C++ | \
176
+ '-------------*/ \
177
+ defined(_M_I86 ) || \
178
+ \
179
+ /*-------------. \
180
+ | Watcom C/C++ | \
181
+ '-------------*/ \
182
+ defined(_M_IX86)
183
+
184
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_X86_16
185
+
186
+ #elif /*------. \
187
+ | Clang | \
188
+ | GCC | \
189
+ '------*/ \
190
+ defined(__aarch64__) || \
191
+ \
192
+ /*------. \
193
+ | Clang | \
194
+ '------*/ \
195
+ defined(__arm64) || \
196
+ defined(__arm64__) \
197
+ \
198
+ /*--------------------------------------------------------------. \
199
+ | Visual C++ (not implemented yet, found in the Windows 10 SDK) | \
200
+ '--------------------------------------------------------------*/ \
201
+ defined(_M_ARM64)
202
+
203
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_AARCH64
204
+
205
+ #elif /*-------------------. \
206
+ | ARM C/C++ Compiler | \
207
+ '-------------------*/ \
208
+ defined(__TARGET_ARCH_ARM ) || \
209
+ defined(__TARGET_ARCH_THUMB) || \
210
+ \
211
+ /*-------------------. \
212
+ | Clang | \
213
+ | GCC | \
214
+ | ARM C/C++ Compiler | \
215
+ '-------------------*/ \
216
+ defined(__arm__) || \
217
+ \
218
+ /*-----------. \
219
+ | Clang | \
220
+ | Diab C/C++ | \
221
+ '-----------*/ \
222
+ defined(__arm) || \
223
+ \
224
+ /*-------------------. \
225
+ | Clang | \
226
+ | GCC | \
227
+ | ARM C/C++ Compiler | \
228
+ '-------------------*/ \
229
+ defined(__thumb__) || \
230
+ \
231
+ /*-------------. \
232
+ | ImageCraft C | \
233
+ '-------------*/ \
234
+ defined(_ARM) || \
235
+ \
236
+ /*------. \
237
+ | Clang | \
238
+ '------*/ \
239
+ defined(_ARM_) || \
240
+ \
241
+ /*-----------. \
242
+ | Clang | \
243
+ | Visual C++ | \
244
+ '-----------*/ \
245
+ defined(_M_ARM) || \
246
+ \
247
+ /*------. \
248
+ | Clang | \
249
+ '------*/ \
250
+ defined(_M_ARM_NT) || \
251
+ \
252
+ /*-----------. \
253
+ | Clang | \
254
+ | Visual C++ | \
255
+ '-----------*/ \
256
+ defined(_M_ARMT) || \
257
+ \
258
+ /*------. \
259
+ | Clang | \
260
+ '------*/ \
261
+ defined(_M_THUMB)
262
+
263
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_AARCH32
264
+
265
+ #elif /*-----. \
266
+ | cc65 | \
267
+ '-----*/ \
268
+ defined(__APPLE2ENH__ ) || \
269
+ defined(__APPLE2__ ) || \
270
+ defined(__ATARI__ ) || \
271
+ defined(__ATARI2600__ ) || \
272
+ defined(__ATARI5200__ ) || \
273
+ defined(__ATMOS__ ) || \
274
+ defined(__CBM__ ) || \
275
+ defined(__CREATIVISION__) || \
276
+ defined(__GAMATE__ ) || \
277
+ defined(__LYNX__ ) || \
278
+ defined(__NES__ ) || \
279
+ defined(__OSIC1P__ ) || \
280
+ defined(__PCE__ ) || \
281
+ defined(__SUPERVISION__ ) || \
282
+ defined(__TELESTRAT__ ) || \
283
+ (defined(__GEOS__) && defined(__C65__))
284
+
285
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_6502
286
+
287
+ #elif /*----------. \
288
+ | DEC C (?) | \
289
+ '----------*/ \
290
+ defined(__alpha) || \
291
+ \
292
+ /*----. \
293
+ | GCC | \
294
+ '----*/ \
295
+ defined(__alpha__) || \
296
+ \
297
+ /*-----------. \
298
+ | Visual C++ | \
299
+ '-----------*/ \
300
+ defined(_M_ALPHA)
301
+
302
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_ALPHA
303
+
304
+ #elif /*----. \
305
+ | GCC | \
306
+ '----*/ \
307
+ defined(__BFIN__) || \
308
+ defined(__bfin )
309
+
310
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_BLACKFIN
311
+
312
+ #elif /*----. \
313
+ | GCC | \
314
+ '----*/ \
315
+ defined(__convex__)
316
+
317
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_CONVEX
318
+
319
+ #elif /*--. \
320
+ | ? | \
321
+ '--*/ \
322
+ defined(__epiphany__)
323
+
324
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_EPIPHANY
325
+
326
+ #elif /*------. \
327
+ | Clang | \
328
+ '------*/ \
329
+ defined(__HEXAGON_ARCH__) || \
330
+ defined(__QDSP6_ARCH__ ) || \
331
+ defined(__hexagon__ ) || \
332
+ defined(__qdsp6__ )
333
+
334
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_HEXAGON
335
+
336
+ #elif /*----. \
337
+ | GCC | \
338
+ '----*/ \
339
+ defined(__IA64__) || \
340
+ \
341
+ /*----------. \
342
+ | GCC | \
343
+ | Intel C++ | \
344
+ '----------*/ \
345
+ defined(__ia64__) || \
346
+ \
347
+ /*----------. \
348
+ | GCC | \
349
+ | HP aC++ | \
350
+ | Intel C++ | \
351
+ '----------*/ \
352
+ defined(__ia64) || \
353
+ \
354
+ /*----------. \
355
+ | GCC | \
356
+ | Intel C++ | \
357
+ '----------*/ \
358
+ defined(__itanium__) || \
359
+ \
360
+ /*----. \
361
+ | GCC | \
362
+ '----*/ \
363
+ defined(_IA64) || \
364
+ \
365
+ /*-----------. \
366
+ | Intel C++ | \
367
+ | Visual C++ | \
368
+ '-----------*/ \
369
+ defined(_M_IA64) || \
370
+ \
371
+ /*----------. \
372
+ | Indel C++ | \
373
+ '----------*/ \
374
+ defined(ia64)
375
+
376
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_ITANIUM
377
+
378
+ #elif /*------. \
379
+ | Clang | \
380
+ '------*/ \
381
+ defined(__lanai__)
382
+
383
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_LANAI
384
+
385
+ #elif /*--------------. \
386
+ | Stratus VOS C | \
387
+ '--------------*/ \
388
+ defined(__MC68K__) || \
389
+ \
390
+ /*----. \
391
+ | GCC | \
392
+ '----*/ \
393
+ defined(__m68k__) || \
394
+ \
395
+ /*------. \
396
+ | SAS/C | \
397
+ '------*/ \
398
+ defined(M68000)
399
+
400
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_M68K
401
+
402
+ #elif /*------. \
403
+ | Clang | \
404
+ '------*/ \
405
+ defined(__mips64 ) || \
406
+ defined(__mips64__) || \
407
+ \
408
+ /*------------. \
409
+ | Clang | \
410
+ | GCC | \
411
+ | MIPSpro (?) | \
412
+ '------------*/ \
413
+ (defined(__mips) && (__mips == 64 || __mips == 4 || __mips == 3)) || \
414
+ \
415
+ /*--------. \
416
+ | Clang | \
417
+ | MIPSpro | \
418
+ '--------*/ \
419
+ (defined(_MIPS_ISA) && \
420
+ ((defined(_MIPS_ISA_MIPS64) && _MIPS_ISA == _MIPS_ISA_MIPS64) || \
421
+ (defined(_MIPS_ISA_MIPS4 ) && _MIPS_ISA == _MIPS_ISA_MIPS4 ) || \
422
+ (defined(_MIPS_ISA_MIPS3 ) && _MIPS_ISA == _MIPS_ISA_MIPS3 )))
423
+
424
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_MIPS64
425
+
426
+ #elif /*------------. \
427
+ | CodeWarrior | \
428
+ '------------*/ \
429
+ defined(__MIPS__) || \
430
+ \
431
+ /*--------. \
432
+ | Clang | \
433
+ | GCC | \
434
+ | MIPSpro | \
435
+ '--------*/ \
436
+ defined(__mips) || \
437
+ \
438
+ /*------. \
439
+ | Clang | \
440
+ | GCC | \
441
+ '------*/ \
442
+ defined(__mips__) || \
443
+ \
444
+ /*-----------. \
445
+ | Visual C++ | \
446
+ '-----------*/ \
447
+ defined(_M_MRX000) || \
448
+ \
449
+ /*------. \
450
+ | Clang | \
451
+ '------*/ \
452
+ defined(_mips) || \
453
+ \
454
+ /*------. \
455
+ | Clang | \
456
+ | GCC | \
457
+ '------*/ \
458
+ defined(mips)
459
+
460
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_MIPS
461
+
462
+ #elif /*------. \
463
+ | Clang | \
464
+ '------*/ \
465
+ defined(__MSP430__) || \
466
+ defined(MSP430 )
467
+
468
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_MSP430
469
+
470
+ #elif /*-----------------------. \
471
+ | Stratus VOS Standard C | \
472
+ '-----------------------*/ \
473
+ defined(__HPPA20__) || \
474
+ \
475
+ /*-----------------------. \
476
+ | GCC | \
477
+ | Stratus VOS Standard C | \
478
+ '-----------------------*/ \
479
+ defined(_PA_RISC2_0)
480
+
481
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_PA_RISC_2
482
+
483
+ #elif /*-----------------------. \
484
+ | Stratus VOS Standard C | \
485
+ '-----------------------*/ \
486
+ defined(__HPPA__ ) || \
487
+ defined(__HPPA11__) || \
488
+ \
489
+ /*--. \
490
+ | ? | \
491
+ '--*/ \
492
+ defined(__hppa) || \
493
+ \
494
+ /*----. \
495
+ | GCC | \
496
+ '----*/ \
497
+ defined(__hppa__ ) || \
498
+ defined(_PA_RISC1_0) || \
499
+ \
500
+ /*-----------------------. \
501
+ | GCC | \
502
+ | Stratus VOS Standard C | \
503
+ '-----------------------*/ \
504
+ defined(_PA_RISC1_1)
505
+
506
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_PA_RISC
507
+
508
+ #elif /*-------------. \
509
+ | Clang | \
510
+ | GCC | \
511
+ | IBM XL C/C++ | \
512
+ '-------------*/ \
513
+ defined(__PPC64__ ) || \
514
+ defined(__powerpc64__) || \
515
+ \
516
+ /*------. \
517
+ | Clang | \
518
+ | GCC | \
519
+ '------*/ \
520
+ defined(__ppc64__) || \
521
+ \
522
+ /*-----------------. \
523
+ | Clang | \
524
+ | GCC | \
525
+ | IBM XL C/C++ (?) | \
526
+ '-----------------*/ \
527
+ defined(_ARCH_PPC64)
528
+
529
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_POWERPC_64BIT
530
+
531
+ #elif /*------. \
532
+ | Clang | \
533
+ | GCC | \
534
+ '------*/ \
535
+ defined(__POWERPC__) || \
536
+ \
537
+ /*-------------. \
538
+ | IBM XL C/C++ | \
539
+ '-------------*/ \
540
+ defined(__PPC) || \
541
+ \
542
+ /*-------------. \
543
+ | Clang | \
544
+ | GCC | \
545
+ | IBM XL C/C++ | \
546
+ '-------------*/ \
547
+ defined(__PPC__) || \
548
+ \
549
+ /*------------. \
550
+ | CodeWarrior | \
551
+ '------------*/ \
552
+ defined(__PPCBROADWAY__) || \
553
+ defined(__PPCGECKO__ ) || \
554
+ \
555
+ /*-------------. \
556
+ | GCC | \
557
+ | IBM XL C/C++ | \
558
+ '-------------*/ \
559
+ defined(__powerpc) || \
560
+ \
561
+ /*-------------. \
562
+ | Clang | \
563
+ | GCC | \
564
+ | IBM XL C/C++ | \
565
+ '-------------*/ \
566
+ defined(__powerpc__) || \
567
+ \
568
+ /*-----------. \
569
+ | Diab C/C++ | \
570
+ '-----------*/ \
571
+ defined(__ppc) || \
572
+ \
573
+ /*------. \
574
+ | Clang | \
575
+ | GCC | \
576
+ '------*/ \
577
+ defined(__ppc__) || \
578
+ \
579
+ /*-----------------. \
580
+ | Clang | \
581
+ | GCC | \
582
+ | IBM XL C/C++ (?) | \
583
+ '-----------------*/ \
584
+ defined(_ARCH_PPC) || \
585
+ \
586
+ /*-----------. \
587
+ | Visual C++ | \
588
+ '-----------*/ \
589
+ defined(_M_PPC)
590
+
591
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_POWERPC_32BIT
592
+
593
+ #elif /*------. \
594
+ | Clang | \
595
+ '------*/ \
596
+ defined(__riscv_xlen) && __riscv_xlen == 64
597
+
598
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_RV64I
599
+
600
+ #elif /*------. \
601
+ | Clang | \
602
+ '------*/ \
603
+ defined(__riscv_xlen) && __riscv_xlen == 32
604
+
605
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_RV32I
606
+
607
+ #elif /*------. \
608
+ | Clang | \
609
+ '------*/ \
610
+ defined(__arch64__ ) || \
611
+ defined(__sparc_v9__) || \
612
+ \
613
+ /*------. \
614
+ | Clang | \
615
+ | GCC | \
616
+ '------*/ \
617
+ defined(__sparc64__) || \
618
+ \
619
+ /*-----------. \
620
+ | Clang | \
621
+ | Sun Studio | \
622
+ '-----------*/ \
623
+ defined(__sparcv9) || \
624
+ \
625
+ /*------. \
626
+ | Clang | \
627
+ '------*/ \
628
+ defined(__sparcv9__)
629
+
630
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_SPARC_V9
631
+
632
+ #elif /*-----------. \
633
+ | Clang | \
634
+ | GCC | \
635
+ | Sun Studio | \
636
+ '-----------*/ \
637
+ defined(__sparc) || \
638
+ \
639
+ /*------. \
640
+ | Clang | \
641
+ | GCC | \
642
+ '------*/ \
643
+ defined(__sparc__) || \
644
+ \
645
+ /*----. \
646
+ | GCC | \
647
+ '----*/ \
648
+ defined(__sparc_v8__) || \
649
+ \
650
+ /*-----------. \
651
+ | Clang | \
652
+ | Sun Studio | \
653
+ '-----------*/ \
654
+ defined(__sparcv8) || \
655
+ \
656
+ /*------. \
657
+ | Clang | \
658
+ '------*/ \
659
+ defined(__sparcv8__) || \
660
+ defined(sparc )
661
+
662
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_SPARC
663
+
664
+ #elif /*----. \
665
+ | GCC | \
666
+ '----*/ \
667
+ defined(__SH5__) && __SH5__ == 64
668
+
669
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_SUPERH_5
670
+
671
+ #elif /*----. \
672
+ | GCC | \
673
+ '----*/ \
674
+ defined(__sh__)
675
+
676
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_SUPERH
677
+
678
+ #elif /*-------------------. \
679
+ | Dignus Systems/C | \
680
+ | Dignus Systems/C++ | \
681
+ '-------------------*/ \
682
+ defined(__SYSC_ZARCH__) || \
683
+ \
684
+ /*------. \
685
+ | Clang | \
686
+ | GCC | \
687
+ '------*/ \
688
+ defined(__s390x__) || \
689
+ \
690
+ /*------. \
691
+ | Clang | \
692
+ '------*/ \
693
+ defined(__zarch__)
694
+
695
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_Z_ARCHITECTURE
696
+
697
+ #elif /*----. \
698
+ | GCC | \
699
+ '----*/ \
700
+ defined(__s390__)
701
+
702
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_ESA_390
703
+
704
+ #elif /*-------------. \
705
+ | IBM XL C/C++ | \
706
+ '-------------*/ \
707
+ defined(__370__ ) || \
708
+ defined(__THW_370__)
709
+
710
+ # define Z_CPU_ARCHITECTURE Z_CPU_ARCHITECTURE_ESA_370
711
+
712
+ #endif
713
+
714
+ /* inspection/CPU/detection.h EOF */