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,19 @@
1
+ /* Z Kit - formats/data model/I16LP32.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_formats_data_model_I16LP32_H_
9
+ #define _Z_formats_data_model_I16LP32_H_
10
+
11
+ #define Z_I16LP32_BITS_CHAR 8
12
+ #define Z_I16LP32_BITS_SHORT 16
13
+ #define Z_I16LP32_BITS_INT 16
14
+ #define Z_I16LP32_BITS_LONG 32
15
+ #define Z_I16LP32_BITS_LLONG 32
16
+ #define Z_I16LP32_BITS_SIZE 32
17
+ #define Z_I16LP32_BITS_POINTER 32
18
+
19
+ #endif /* _Z_formats_data_model_I16LP32_H_ */
@@ -0,0 +1,19 @@
1
+ /* Z Kit - formats/data model/ILP32.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_formats_data_model_ILP32_H_
9
+ #define _Z_formats_data_model_ILP32_H_
10
+
11
+ #define Z_ILP32_BITS_CHAR 8
12
+ #define Z_ILP32_BITS_SHORT 16
13
+ #define Z_ILP32_BITS_INT 32
14
+ #define Z_ILP32_BITS_LONG 32
15
+ #define Z_ILP32_BITS_LLONG 64
16
+ #define Z_ILP32_BITS_SIZE 32
17
+ #define Z_ILP32_BITS_POINTER 32
18
+
19
+ #endif /* _Z_formats_data_model_ILP32_H_ */
@@ -0,0 +1,19 @@
1
+ /* Z Kit - formats/data model/ILP64.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_formats_data_model_ILP64_H_
9
+ #define _Z_formats_data_model_ILP64_H_
10
+
11
+ #define Z_ILP64_BITS_CHAR 8
12
+ #define Z_ILP64_BITS_SHORT 16
13
+ #define Z_ILP64_BITS_INT 64
14
+ #define Z_ILP64_BITS_LONG 64
15
+ #define Z_ILP64_BITS_LLONG 64
16
+ #define Z_ILP64_BITS_SIZE 64
17
+ #define Z_ILP64_BITS_POINTER 64
18
+
19
+ #endif /* _Z_formats_data_model_ILP64_H_ */
@@ -0,0 +1,19 @@
1
+ /* Z Kit - formats/data model/IP16L32.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_formats_data_model_IP16L32_H_
9
+ #define _Z_formats_data_model_IP16L32_H_
10
+
11
+ #define Z_IP16L32_BITS_CHAR 8
12
+ #define Z_IP16L32_BITS_SHORT 16
13
+ #define Z_IP16L32_BITS_INT 16
14
+ #define Z_IP16L32_BITS_LONG 32
15
+ #define Z_IP16L32_BITS_LLONG 32
16
+ #define Z_IP16L32_BITS_SIZE 16
17
+ #define Z_IP16L32_BITS_POINTER 16
18
+
19
+ #endif /* _Z_formats_data_model_IP16L32_H_ */
@@ -0,0 +1,19 @@
1
+ /* Z Kit - formats/data model/LLP64.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_formats_data_model_LLP64_H_
9
+ #define _Z_formats_data_model_LLP64_H_
10
+
11
+ #define Z_LLP64_BITS_CHAR 8
12
+ #define Z_LLP64_BITS_SHORT 16
13
+ #define Z_LLP64_BITS_INT 32
14
+ #define Z_LLP64_BITS_LONG 32
15
+ #define Z_LLP64_BITS_LLONG 64
16
+ #define Z_LLP64_BITS_SIZE 64
17
+ #define Z_LLP64_BITS_POINTER 64
18
+
19
+ #endif /* _Z_formats_data_model_LLP64_H_ */
@@ -0,0 +1,19 @@
1
+ /* Z Kit - formats/data model/LP32.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_formats_data_model_LP32_H_
9
+ #define _Z_formats_data_model_LP32_H_
10
+
11
+ #define Z_LP32_BITS_CHAR 8
12
+ #define Z_LP32_BITS_SHORT 16
13
+ #define Z_LP32_BITS_INT 16
14
+ #define Z_LP32_BITS_LONG 32
15
+ #define Z_LP32_BITS_LLONG 64
16
+ #define Z_LP32_BITS_SIZE 32
17
+ #define Z_LP32_BITS_POINTER 32
18
+
19
+ #endif /* _Z_formats_data_model_LP32_H_ */
@@ -0,0 +1,19 @@
1
+ /* Z Kit - formats/data model/LP64.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_formats_data_model_LP64_H_
9
+ #define _Z_formats_data_model_LP64_H_
10
+
11
+ #define Z_LP64_BITS_CHAR 8
12
+ #define Z_LP64_BITS_SHORT 16
13
+ #define Z_LP64_BITS_INT 32
14
+ #define Z_LP64_BITS_LONG 64
15
+ #define Z_LP64_BITS_LLONG 64
16
+ #define Z_LP64_BITS_SIZE 64
17
+ #define Z_LP64_BITS_POINTER 64
18
+
19
+ #endif /* _Z_formats_data_model_LP64_H_ */
@@ -0,0 +1,19 @@
1
+ /* Z Kit - formats/data model/SILP64.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_formats_data_model_SILP64_H_
9
+ #define _Z_formats_data_model_SILP64_H_
10
+
11
+ #define Z_SILP64_BITS_CHAR 8
12
+ #define Z_SILP64_BITS_SHORT 64
13
+ #define Z_SILP64_BITS_INT 64
14
+ #define Z_SILP64_BITS_LONG 64
15
+ #define Z_SILP64_BITS_LLONG 64
16
+ #define Z_SILP64_BITS_SIZE 64
17
+ #define Z_SILP64_BITS_POINTER 64
18
+
19
+ #endif /* _Z_formats_data_model_SILP64_H_ */
@@ -0,0 +1,61 @@
1
+ /* Z Kit - formats/file system/FAT12.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_formats_file_system_FAT12_H_
9
+ #define _Z_formats_file_system_FAT12_H_
10
+
11
+ #include <Z/types/base.h>
12
+
13
+ Z_DEFINE_STRICT_STRUCTURE (
14
+ zuint8 ignored_0[11];
15
+ zuint16 bytes_per_sector;
16
+ zuint8 sectors_per_cluster;
17
+ zuint16 reserved_sector_count;
18
+ zuint8 fat_count;
19
+ zuint16 directory_entry_maximum;
20
+ zuint16 total_sector_count;
21
+ zuint8 ignored_1;
22
+ zuint16 sectors_per_fat;
23
+ zuint16 sectors_per_track;
24
+ zuint16 head_count;
25
+ zuint8 ignored_2[4];
26
+ zuint32 fat32_total_sector_count;
27
+ zuint8 ignored_3[2];
28
+ zuint8 boot_signature;
29
+ zuint32 volume_id;
30
+ zuint8 volume_label[11];
31
+ zuint8 file_system_type[8];
32
+ ) ZFAT12BootSector;
33
+
34
+ #define Z_FAT_12_DEFAULT_VOLUME_LABEL "NO NAME "
35
+ #define Z_FAT_12_FILE_SYSTEM_TYPE_FAT_12 "FAT12 "
36
+ #define Z_FAT_12_FILE_SYSTEM_TYPE_FAT_16 "FAT16 "
37
+ #define Z_FAT_12_FILE_SYSTEM_TYPE_FAT "FAT "
38
+
39
+ Z_DEFINE_STRICT_STRUCTURE (
40
+ zuint8 file_name[8];
41
+ zuint8 extension[3];
42
+ zuint8 attributes;
43
+ zuint8 reserved[2];
44
+ zuint16 creation_time;
45
+ zuint16 creation_date;
46
+ zuint16 last_access_date;
47
+ zuint8 ignored[2];
48
+ zuint16 last_write_time;
49
+ zuint16 last_write_date;
50
+ zuint16 first_logical_cluster;
51
+ zuint32 file_size;
52
+ ) ZFAT12DirectoryEntry;
53
+
54
+ #define Z_FAT_12_FILE_ATTRIBUTE_READ_ONLY 1
55
+ #define Z_FAT_12_FILE_ATTRIBUTE_HIDDEN 2
56
+ #define Z_FAT_12_FILE_ATTRIBUTE_SYSTEM 4
57
+ #define Z_FAT_12_FILE_ATTRIBUTE_VOLUME_LABEL 8
58
+ #define Z_FAT_12_FILE_ATTRIBUTE_SUBDIRECTORY 16
59
+ #define Z_FAT_12_FILE_ATTRIBUTE_ARCHIVE 32
60
+
61
+ #endif /* _Z_formats_file_system_FAT12_H_ */
@@ -0,0 +1,141 @@
1
+ /* Z Kit - formats/floating-point/IEEE 754.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_formats_floating_point_IEEE_754_H_
9
+ #define _Z_formats_floating_point_IEEE_754_H_
10
+
11
+ /* MARK: - binary16 */
12
+
13
+ #define Z_IEEE_754_BINARY16_BITS 16 /* OK */
14
+ #define Z_IEEE_754_BINARY16_BIAS 15 /* OK */
15
+ #define Z_IEEE_754_BINARY16_EPSILON 0.00097656 /* OK */
16
+ #define Z_IEEE_754_BINARY16_MINIMUM 5.96046448e-08 /* OK */
17
+ #define Z_IEEE_754_BINARY16_MAXIMUM 65504.0 /* OK */
18
+ #define Z_IEEE_754_BINARY16_NORMALIZED_MINIMUM 6.10351562e-05 /* OK */
19
+ #define Z_IEEE_754_BINARY16_DECIMAL_DIGITS 3
20
+ #define Z_IEEE_754_BINARY16_SIGNIFICAND_OFFSET 0 /* OK */
21
+ #define Z_IEEE_754_BINARY16_SIGNIFICAND_BITS 10 /* OK */
22
+ #define Z_IEEE_754_BINARY16_SIGNIFICAND_DIGITS 11 /* OK */
23
+ #define Z_IEEE_754_BINARY16_EXPONENT_OFFSET 10 /* OK */
24
+ #define Z_IEEE_754_BINARY16_EXPONENT_BITS 5 /* OK */
25
+ #define Z_IEEE_754_BINARY16_EXPONENT_RADIX 2 /* OK */
26
+ #define Z_IEEE_754_BINARY16_EXPONENT_MINIMUM -14
27
+ #define Z_IEEE_754_BINARY16_EXPONENT_MAXIMUM 15 /* OK */
28
+ #define Z_IEEE_754_BINARY16_EXPONENT_10_MINIMUM -4
29
+ #define Z_IEEE_754_BINARY16_EXPONENT_10_MAXIMUM 4
30
+ #define Z_IEEE_754_BINARY16_SIGN_OFFSET 15 /* OK */
31
+ #define Z_IEEE_754_BINARY16_SIGN_BITS 1 /* OK */
32
+
33
+ /* MARK: - binary32 */
34
+
35
+ #define Z_IEEE_754_BINARY32_BITS 32 /* OK */
36
+ #define Z_IEEE_754_BINARY32_BIAS 127 /* OK */
37
+ #define Z_IEEE_754_BINARY32_EPSILON 1.192092896e-07 /* OK */
38
+ #define Z_IEEE_754_BINARY32_MINIMUM 1.175494351e-38 /* OK */
39
+ #define Z_IEEE_754_BINARY32_MAXIMUM 3.402823466e+38 /* OK */
40
+ #define Z_IEEE_754_BINARY32_DECIMAL_DIGITS 6 /* OK */
41
+ #define Z_IEEE_754_BINARY32_SIGNIFICAND_OFFSET 0 /* OK */
42
+ #define Z_IEEE_754_BINARY32_SIGNIFICAND_BITS 23 /* OK */
43
+ #define Z_IEEE_754_BINARY32_SIGNIFICAND_DIGITS 24 /* OK */
44
+ #define Z_IEEE_754_BINARY32_EXPONENT_OFFSET 23 /* OK */
45
+ #define Z_IEEE_754_BINARY32_EXPONENT_BITS 8 /* OK */
46
+ #define Z_IEEE_754_BINARY32_EXPONENT_RADIX 2 /* OK */
47
+ #define Z_IEEE_754_BINARY32_EXPONENT_MINIMUM -125 /* OK */
48
+ #define Z_IEEE_754_BINARY32_EXPONENT_MAXIMUM 128 /* OK */
49
+ #define Z_IEEE_754_BINARY32_EXPONENT_10_MINIMUM -37 /* OK */
50
+ #define Z_IEEE_754_BINARY32_EXPONENT_10_MAXIMUM 38 /* OK */
51
+ #define Z_IEEE_754_BINARY32_SIGN_OFFSET 31 /* OK */
52
+ #define Z_IEEE_754_BINARY32_SIGN_BITS 1 /* OK */
53
+
54
+ /* MARK: - binary64 */
55
+
56
+ #define Z_IEEE_754_BINARY64_BITS 64 /* OK */
57
+ #define Z_IEEE_754_BINARY64_BIAS 1023 /* OK */
58
+ #define Z_IEEE_754_BINARY64_EPSILON 2.2204460492503131e-16 /* OK */
59
+ #define Z_IEEE_754_BINARY64_MINIMUM 2.2250738585072014e-308 /* OK */
60
+ #define Z_IEEE_754_BINARY64_MAXIMUM 1.7976931348623158e+308 /* OK */
61
+ #define Z_IEEE_754_BINARY64_DECIMAL_DIGITS 15 /* OK */
62
+ #define Z_IEEE_754_BINARY64_SIGNIFICAND_OFFSET 0 /* OK */
63
+ #define Z_IEEE_754_BINARY64_SIGNIFICAND_BITS 52 /* OK */
64
+ #define Z_IEEE_754_BINARY64_SIGNIFICAND_DIGITS 53 /* OK */
65
+ #define Z_IEEE_754_BINARY64_EXPONENT_OFFSET 52 /* OK */
66
+ #define Z_IEEE_754_BINARY64_EXPONENT_BITS 11 /* OK */
67
+ #define Z_IEEE_754_BINARY64_EXPONENT_RADIX 2 /* OK */
68
+ #define Z_IEEE_754_BINARY64_EXPONENT_MINIMUM -1021 /* OK */
69
+ #define Z_IEEE_754_BINARY64_EXPONENT_MAXIMUM 1024 /* OK */
70
+ #define Z_IEEE_754_BINARY64_EXPONENT_10_MINIMUM -307 /* OK */
71
+ #define Z_IEEE_754_BINARY64_EXPONENT_10_MAXIMUM 308 /* OK */
72
+ #define Z_IEEE_754_BINARY64_SIGN_OFFSET 63 /* OK */
73
+ #define Z_IEEE_754_BINARY64_SIGN_BITS 1 /* OK */
74
+
75
+ /* MARK: - binary128 */
76
+
77
+ #define Z_IEEE_754_BINARY128_BITS 128 /* OK */
78
+ #define Z_IEEE_754_BINARY128_BIAS 16383 /* OK */
79
+ #define Z_IEEE_754_BINARY128_EPSILON 1.92592994438723585305597794258492732e-34
80
+ /*1.925929944387235853055977942584927319e-34*/
81
+ #define Z_IEEE_754_BINARY128_MINIMUM 3.36210314311209350626267781732175260e-4932
82
+ /*3.362103143112093506262677817321752603e-4932 */
83
+ #define Z_IEEE_754_BINARY128_MAXIMUM 1.18973149535723176508575932662800702e+4932
84
+ /*1.189731495357231765085759326628007016e+4932*/
85
+ #define Z_IEEE_754_BINARY128_DECIMAL_DIGITS 33 /* OK */
86
+ #define Z_IEEE_754_BINARY128_SIGNIFICAND_OFFSET 0 /* OK */
87
+ #define Z_IEEE_754_BINARY128_SIGNIFICAND_BITS 112 /* OK */
88
+ #define Z_IEEE_754_BINARY128_SIGNIFICAND_DIGITS 113 /* OK */
89
+ #define Z_IEEE_754_BINARY128_EXPONENT_OFFSET 112 /* OK */
90
+ #define Z_IEEE_754_BINARY128_EXPONENT_BITS 15 /* OK */
91
+ #define Z_IEEE_754_BINARY128_EXPONENT_RADIX 2 /* OK */
92
+ #define Z_IEEE_754_BINARY128_EXPONENT_MINIMUM -16381 /* OK */
93
+ #define Z_IEEE_754_BINARY128_EXPONENT_MAXIMUM 16384 /* OK */
94
+ #define Z_IEEE_754_BINARY128_EXPONENT_10_MINIMUM -4931 /* OK */
95
+ #define Z_IEEE_754_BINARY128_EXPONENT_10_MAXIMUM 4932 /* OK */
96
+ #define Z_IEEE_754_BINARY128_SIGN_OFFSET 127 /* OK */
97
+ #define Z_IEEE_754_BINARY128_SIGN_BITS 1 /* OK */
98
+
99
+ /* MARK: - decimal32 */
100
+
101
+ #define Z_IEEE_754_DECIMAL32_BITS 32 /* OK */
102
+ #define Z_IEEE_754_DECIMAL32_BIAS 101 /* OK */
103
+ #define Z_IEEE_754_DECIMAL32_EPSILON 1e-6
104
+ #define Z_IEEE_754_DECIMAL32_MINIMUM_POSITIVE 1e-95
105
+ #define Z_IEEE_754_DECIMAL32_MINIMUM_POSITIVE_DENORMALIZED 0.000001e-95
106
+ #define Z_IEEE_754_DECIMAL32_MAXIMUM 9.999999e+96
107
+ #define Z_IEEE_754_DECIMAL32_SIGNIFICAND_DIGITS 7 /* OK */
108
+ #define Z_IEEE_754_DECIMAL32_EXPONENT_MINIMUM -95
109
+ #define Z_IEEE_754_DECIMAL32_EXPONENT_MAXIMUM 96
110
+ #define Z_IEEE_754_DECIMAL32_SIGN_OFFSET 31
111
+ #define Z_IEEE_754_DECIMAL32_SIGN_BITS 1 /* OK */
112
+
113
+ /* MARK: - decimal64 */
114
+
115
+ #define Z_IEEE_754_DECIMAL64_BITS 64 /* OK */
116
+ #define Z_IEEE_754_DECIMAL64_BIAS 398 /* OK */
117
+ #define Z_IEEE_754_DECIMAL64_EPSILON 1e-15
118
+ #define Z_IEEE_754_DECIMAL64_MINIMUM_POSITIVE 1e-383
119
+ #define Z_IEEE_754_DECIMAL64_MINIMUM_POSITIVE_DENORMALIZED 0.000000000000001e-383
120
+ #define Z_IEEE_754_DECIMAL64_MAXIMUM 9.999999999999999e+384
121
+ #define Z_IEEE_754_DECIMAL64_SIGNIFICAND_DIGITS 16 /* OK */
122
+ #define Z_IEEE_754_DECIMAL64_EXPONENT_MINIMUM -383
123
+ #define Z_IEEE_754_DECIMAL64_EXPONENT_MAXIMUM 384
124
+ #define Z_IEEE_754_DECIMAL64_SIGN_OFFSET 63 /* OK */
125
+ #define Z_IEEE_754_DECIMAL64_SIGN_BITS 1 /* OK */
126
+
127
+ /* MARK: - decimal128 */
128
+
129
+ #define Z_IEEE_754_DECIMAL128_BITS 128 /* OK */
130
+ #define Z_IEEE_754_DECIMAL128_BIAS 6176 /* OK */
131
+ #define Z_IEEE_754_DECIMAL128_EPSILON 1e-33
132
+ #define Z_IEEE_754_DECIMAL128_MINIMUM_POSITIVE 1e-6143
133
+ #define Z_IEEE_754_DECIMAL128_MINIMUM_POSITIVE_DENORMALIZED 0.000000000000000000000000000000001e-6143
134
+ #define Z_IEEE_754_DECIMAL128_MAXIMUM 9.999999999999999999999999999999999e+6144
135
+ #define Z_IEEE_754_DECIMAL128_SIGNIFICAND_DIGITS 34 /* OK */
136
+ #define Z_IEEE_754_DECIMAL128_EXPONENT_MINIMUM -6143
137
+ #define Z_IEEE_754_DECIMAL128_EXPONENT_MAXIMUM 6144
138
+ #define Z_IEEE_754_DECIMAL128_SIGN_OFFSET 127 /* OK */
139
+ #define Z_IEEE_754_DECIMAL128_SIGN_BITS 1 /* OK */
140
+
141
+ #endif /* _Z_formats_floating_point_IEEE_754_H_ */
@@ -0,0 +1,74 @@
1
+ /* Z Kit - formats/floating-point/x87.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_formats_floating_point_x87_H_
9
+ #define _Z_formats_floating_point_x87_H_
10
+
11
+ /* MARK: - binary80 */
12
+
13
+ #define Z_X87_BINARY80_BITS 80
14
+ #define Z_X87_BINARY80_BIAS 16383
15
+ #define Z_X87_BINARY80_EPSILON 1.0842021724855044340075e-19
16
+ #define Z_X87_BINARY80_MINIMUM 3.3621031431120935062627e-4932
17
+ #define Z_X87_BINARY80_MAXIMUM 1.1897314953572317650213e+4932
18
+ #define Z_X87_BINARY80_DECIMAL_DIGITS 18
19
+ #define Z_X87_BINARY80_SIGNIFICAND_OFFSET 0
20
+ #define Z_X87_BINARY80_SIGNIFICAND_BITS 64
21
+ #define Z_X87_BINARY80_SIGNIFICAND_DIGITS 64
22
+ #define Z_X87_BINARY80_EXPONENT_OFFSET 64
23
+ #define Z_X87_BINARY80_EXPONENT_BITS 15
24
+ #define Z_X87_BINARY80_EXPONENT_RADIX 2
25
+ #define Z_X87_BINARY80_EXPONENT_MINIMUM -16381
26
+ #define Z_X87_BINARY80_EXPONENT_MAXIMUM 16384
27
+ #define Z_X87_BINARY80_EXPONENT_10_MINIMUM -4931
28
+ #define Z_X87_BINARY80_EXPONENT_10_MAXIMUM 4932
29
+ #define Z_X87_BINARY80_SIGN_OFFSET 79
30
+ #define Z_X87_BINARY80_SIGN_BITS 1
31
+
32
+ /* MARK: - binary96 */
33
+
34
+ #define Z_X87_BINARY96_BITS 96
35
+ #define Z_X87_BINARY96_BIAS Z_X87_BINARY80_BIAS
36
+ #define Z_X87_BINARY96_EPSILON Z_X87_BINARY80_EPSILON
37
+ #define Z_X87_BINARY96_MINIMUM Z_X87_BINARY80_MINIMUM
38
+ #define Z_X87_BINARY96_MAXIMUM Z_X87_BINARY80_MAXIMUM
39
+ #define Z_X87_BINARY96_DECIMAL_DIGITS Z_X87_BINARY80_DECIMAL_DIGITS
40
+ #define Z_X87_BINARY96_SIGNIFICAND_OFFSET Z_X87_BINARY80_SIGNIFICAND_OFFSET
41
+ #define Z_X87_BINARY96_SIGNIFICAND_BITS Z_X87_BINARY80_SIGNIFICAND_BITS
42
+ #define Z_X87_BINARY96_SIGNIFICAND_DIGITS Z_X87_BINARY80_SIGNIFICAND_DIGITS
43
+ #define Z_X87_BINARY96_EXPONENT_OFFSET Z_X87_BINARY80_EXPONENT_OFFSET
44
+ #define Z_X87_BINARY96_EXPONENT_BITS Z_X87_BINARY80_EXPONENT_BITS
45
+ #define Z_X87_BINARY96_EXPONENT_RADIX Z_X87_BINARY80_EXPONENT_RADIX
46
+ #define Z_X87_BINARY96_EXPONENT_MINIMUM Z_X87_BINARY80_EXPONENT_MINIMUM
47
+ #define Z_X87_BINARY96_EXPONENT_MAXIMUM Z_X87_BINARY80_EXPONENT_MAXIMUM
48
+ #define Z_X87_BINARY96_EXPONENT_10_MINIMUM Z_X87_BINARY80_EXPONENT_10_MINIMUM
49
+ #define Z_X87_BINARY96_EXPONENT_10_MAXIMUM Z_X87_BINARY80_EXPONENT_10_MAXIMUM
50
+ #define Z_X87_BINARY96_SIGN_OFFSET Z_X87_BINARY80_SIGN_OFFSET
51
+ #define Z_X87_BINARY96_SIGN_BITS Z_X87_BINARY80_SIGN_BITS
52
+
53
+ /* MARK: - binary128 */
54
+
55
+ #define Z_X87_BINARY128_BITS 128
56
+ #define Z_X87_BINARY128_BIAS Z_X87_BINARY80_BIAS
57
+ #define Z_X87_BINARY128_EPSILON Z_X87_BINARY80_EPSILON
58
+ #define Z_X87_BINARY128_MINIMUM Z_X87_BINARY80_MINIMUM
59
+ #define Z_X87_BINARY128_MAXIMUM Z_X87_BINARY80_MAXIMUM
60
+ #define Z_X87_BINARY128_DECIMAL_DIGITS Z_X87_BINARY80_DECIMAL_DIGITS
61
+ #define Z_X87_BINARY128_SIGNIFICAND_OFFSET Z_X87_BINARY80_SIGNIFICAND_OFFSET
62
+ #define Z_X87_BINARY128_SIGNIFICAND_BITS Z_X87_BINARY80_SIGNIFICAND_BITS
63
+ #define Z_X87_BINARY128_SIGNIFICAND_DIGITS Z_X87_BINARY80_SIGNIFICAND_DIGITS
64
+ #define Z_X87_BINARY128_EXPONENT_OFFSET Z_X87_BINARY80_EXPONENT_OFFSET
65
+ #define Z_X87_BINARY128_EXPONENT_BITS Z_X87_BINARY80_EXPONENT_BITS
66
+ #define Z_X87_BINARY128_EXPONENT_RADIX Z_X87_BINARY80_EXPONENT_RADIX
67
+ #define Z_X87_BINARY128_EXPONENT_MINIMUM Z_X87_BINARY80_EXPONENT_MINIMUM
68
+ #define Z_X87_BINARY128_EXPONENT_MAXIMUM Z_X87_BINARY80_EXPONENT_MAXIMUM
69
+ #define Z_X87_BINARY128_EXPONENT_10_MINIMUM Z_X87_BINARY80_EXPONENT_10_MINIMUM
70
+ #define Z_X87_BINARY128_EXPONENT_10_MAXIMUM Z_X87_BINARY80_EXPONENT_10_MAXIMUM
71
+ #define Z_X87_BINARY128_SIGN_OFFSET Z_X87_BINARY80_SIGN_OFFSET
72
+ #define Z_X87_BINARY128_SIGN_BITS Z_X87_BINARY80_SIGN_BITS
73
+
74
+ #endif /* _Z_formats_floating_point_Intel_H_ */
@@ -0,0 +1,39 @@
1
+ /* Z Kit - formats/image/ICNS.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Released under the terms of the GNU Lesser General Public License v3. */
7
+
8
+ #ifndef _Z_formats_image_ICNS_H_
9
+ #define _Z_formats_image_ICNS_H_
10
+
11
+ #include <Z/types/base.h>
12
+
13
+ Z_DEFINE_STRICT_STRUCTURE (
14
+ zuint32 type;
15
+ zuint32 size;
16
+ ) ZICNSEntry;
17
+
18
+ Z_DEFINE_STRICT_STRUCTURE (
19
+ zuint32 signature; /* 'icns' */
20
+ zuint32 total_size;
21
+ zuint32 toc_signature; /* 'TOC ' */
22
+ zuint32 toc_size;
23
+ Z_FLEXIBLE_ARRAY_MEMBER(ZICNSEntry toc_entries[];)
24
+ ) ZICNSHeader;
25
+
26
+ #if Z_CPU_INTEGER_ENDIANNESS(32BIT) == Z_ENDIANNESS_BIG
27
+
28
+ # define Z_ICNS_ENTRY_TYPE_16X16_32BIT 'is32'
29
+ # define Z_ICNS_ENTRY_TYPE_32X32_32BIT 'il32'
30
+ # define Z_ICNS_ENTRY_TYPE_64X64_32BIT
31
+ # define Z_ICNS_ENTRY_TYPE_128X128_32BIT
32
+ # define Z_ICNS_ENTRY_TYPE_256X256_32BIT
33
+ # define Z_ICNS_ENTRY_TYPE_512X512_32BIT
34
+
35
+ #if Z_CPU_INTEGER_ENDIANNESS(32BIT) == Z_ENDIANNESS_LITTLE
36
+
37
+ #endif
38
+
39
+ #endif /* _Z_formats_image_ICNS_H_ */