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,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 */