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,284 @@
1
+ /* Z Kit - formats/keymap/Mac OS.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_keymap_Mac_OS_H_
9
+ #define _Z_formats_keymap_Mac_OS_H_
10
+
11
+ #define Z_MAC_OS_KEY_CODE_ANSI_A 0
12
+ #define Z_MAC_OS_KEY_CODE_ANSI_S 1
13
+ #define Z_MAC_OS_KEY_CODE_ANSI_D 2
14
+ #define Z_MAC_OS_KEY_CODE_ANSI_F 3
15
+ #define Z_MAC_OS_KEY_CODE_ANSI_H 4
16
+ #define Z_MAC_OS_KEY_CODE_ANSI_G 5
17
+ #define Z_MAC_OS_KEY_CODE_ANSI_Z 6
18
+ #define Z_MAC_OS_KEY_CODE_ANSI_X 7
19
+ #define Z_MAC_OS_KEY_CODE_ANSI_C 8
20
+ #define Z_MAC_OS_KEY_CODE_ANSI_V 9
21
+ #define Z_MAC_OS_KEY_CODE_ISO_SECTION 10
22
+ #define Z_MAC_OS_KEY_CODE_ANSI_B 11
23
+ #define Z_MAC_OS_KEY_CODE_ANSI_Q 12
24
+ #define Z_MAC_OS_KEY_CODE_ANSI_W 13
25
+ #define Z_MAC_OS_KEY_CODE_ANSI_E 14
26
+ #define Z_MAC_OS_KEY_CODE_ANSI_R 15
27
+ #define Z_MAC_OS_KEY_CODE_ANSI_Y 16
28
+ #define Z_MAC_OS_KEY_CODE_ANSI_T 17
29
+ #define Z_MAC_OS_KEY_CODE_ANSI_1 18
30
+ #define Z_MAC_OS_KEY_CODE_ANSI_2 19
31
+ #define Z_MAC_OS_KEY_CODE_ANSI_3 20
32
+ #define Z_MAC_OS_KEY_CODE_ANSI_4 21
33
+ #define Z_MAC_OS_KEY_CODE_ANSI_6 22
34
+ #define Z_MAC_OS_KEY_CODE_ANSI_5 23
35
+ #define Z_MAC_OS_KEY_CODE_ANSI_EQUALS_SIGN 24
36
+ #define Z_MAC_OS_KEY_CODE_ANSI_9 25
37
+ #define Z_MAC_OS_KEY_CODE_ANSI_7 26
38
+ #define Z_MAC_OS_KEY_CODE_ANSI_HYPHEN_MINUS 27
39
+ #define Z_MAC_OS_KEY_CODE_ANSI_8 28
40
+ #define Z_MAC_OS_KEY_CODE_ANSI_0 29
41
+ #define Z_MAC_OS_KEY_CODE_ANSI_RIGHT_SQUARE_BRACKET 30
42
+ #define Z_MAC_OS_KEY_CODE_ANSI_O 31
43
+ #define Z_MAC_OS_KEY_CODE_ANSI_U 32
44
+ #define Z_MAC_OS_KEY_CODE_ANSI_LEFT_SQUARE_BRACKET 33
45
+ #define Z_MAC_OS_KEY_CODE_ANSI_I 34
46
+ #define Z_MAC_OS_KEY_CODE_ANSI_P 35
47
+ #define Z_MAC_OS_KEY_CODE_RETURN 36
48
+ #define Z_MAC_OS_KEY_CODE_ANSI_L 37
49
+ #define Z_MAC_OS_KEY_CODE_ANSI_J 38
50
+ #define Z_MAC_OS_KEY_CODE_ANSI_APOSTROPHE 39
51
+ #define Z_MAC_OS_KEY_CODE_ANSI_K 40
52
+ #define Z_MAC_OS_KEY_CODE_ANSI_SEMICOLON 41
53
+ #define Z_MAC_OS_KEY_CODE_ANSI_REVERSE_SOLIDUS 42
54
+ #define Z_MAC_OS_KEY_CODE_ANSI_COMMA 43
55
+ #define Z_MAC_OS_KEY_CODE_ANSI_SOLIDUS 44
56
+ #define Z_MAC_OS_KEY_CODE_ANSI_N 45
57
+ #define Z_MAC_OS_KEY_CODE_ANSI_M 46
58
+ #define Z_MAC_OS_KEY_CODE_ANSI_FULL_STOP 47
59
+ #define Z_MAC_OS_KEY_CODE_TAB 48
60
+ #define Z_MAC_OS_KEY_CODE_SPACE 49
61
+ #define Z_MAC_OS_KEY_CODE_ANSI_GRAVE_ACCENT 50
62
+ #define Z_MAC_OS_KEY_CODE_BACKSPACE 51
63
+ /* 52 - Unused? */
64
+ #define Z_MAC_OS_KEY_CODE_ESCAPE 53
65
+ #define Z_MAC_OS_KEY_CODE_RIGHT_COMMAND 54
66
+ #define Z_MAC_OS_KEY_CODE_LEFT_COMMAND 55
67
+ #define Z_MAC_OS_KEY_CODE_LEFT_SHIFT 56
68
+ #define Z_MAC_OS_KEY_CODE_CAPS_LOCK 57
69
+ #define Z_MAC_OS_KEY_CODE_LEFT_OPTION 58
70
+ #define Z_MAC_OS_KEY_CODE_LEFT_CONTROL 59
71
+ #define Z_MAC_OS_KEY_CODE_RIGHT_SHIFT 60
72
+ #define Z_MAC_OS_KEY_CODE_RIGHT_OPTION 61
73
+ #define Z_MAC_OS_KEY_CODE_RIGHT_CONTROL 62
74
+ #define Z_MAC_OS_KEY_CODE_FUNCTION 63
75
+ #define Z_MAC_OS_KEY_CODE_F17 64
76
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_DECIMAL_SEPARATOR 65
77
+ /* 66 - Unused? */
78
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_ASTERISK 67
79
+ /* 68 - Unused? */
80
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_PLUS_SIGN 69
81
+ /* 70 - Unused? */
82
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_CLEAR 71
83
+ #define Z_MAC_OS_KEY_CODE_VOLUME_UP 72
84
+ #define Z_MAC_OS_KEY_CODE_VOLUME_DOWN 73
85
+ #define Z_MAC_OS_KEY_CODE_MUTE 74
86
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_SOLIDUS 75 /* PC keyboards */
87
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_ENTER 76
88
+ /* 77 - Unused? */
89
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_HYPHEN_MINUS 78
90
+ #define Z_MAC_OS_KEY_CODE_F18 79
91
+ #define Z_MAC_OS_KEY_CODE_F19 80
92
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_EQUALS_SIGN 81
93
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_0 82
94
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_1 83
95
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_2 84
96
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_3 85
97
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_4 86
98
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_5 87
99
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_6 88
100
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_7 89
101
+ #define Z_MAC_OS_KEY_CODE_F20 90
102
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_8 91
103
+ #define Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_9 92
104
+ #define Z_MAC_OS_KEY_CODE_JIS_YEN_SIGN 93
105
+ #define Z_MAC_OS_KEY_CODE_JIS_LOW_LINE 94
106
+ #define Z_MAC_OS_KEY_CODE_JIS_KEYPAD_COMMA 95
107
+ #define Z_MAC_OS_KEY_CODE_F5 96
108
+ #define Z_MAC_OS_KEY_CODE_F6 97
109
+ #define Z_MAC_OS_KEY_CODE_F7 98
110
+ #define Z_MAC_OS_KEY_CODE_F3 99
111
+ #define Z_MAC_OS_KEY_CODE_F8 100
112
+ #define Z_MAC_OS_KEY_CODE_F9 101
113
+ #define Z_MAC_OS_KEY_CODE_JIS_EISU 102 /* Toggles alphanumeric characters */
114
+ #define Z_MAC_OS_KEY_CODE_F11 103
115
+ #define Z_MAC_OS_KEY_CODE_JIS_KANA 104
116
+ #define Z_MAC_OS_KEY_CODE_F13 105
117
+ #define Z_MAC_OS_KEY_CODE_F16 106
118
+ #define Z_MAC_OS_KEY_CODE_F14 107
119
+ /* 108 - Unused? */
120
+ #define Z_MAC_OS_KEY_CODE_F10 109
121
+ #define Z_MAC_OS_KEY_CODE_APPLICATION 110 /* PC/Windows keyboards */
122
+ #define Z_MAC_OS_KEY_CODE_F12 111
123
+ /* 112 - Unused? */
124
+ #define Z_MAC_OS_KEY_CODE_F15 113
125
+ #define Z_MAC_OS_KEY_CODE_HELP 114
126
+ #define Z_MAC_OS_KEY_CODE_HOME 115
127
+ #define Z_MAC_OS_KEY_CODE_PAGE_UP 116
128
+ #define Z_MAC_OS_KEY_CODE_DELETE 117
129
+ #define Z_MAC_OS_KEY_CODE_F4 118
130
+ #define Z_MAC_OS_KEY_CODE_END 119
131
+ #define Z_MAC_OS_KEY_CODE_F2 120
132
+ #define Z_MAC_OS_KEY_CODE_PAGE_DOWN 121
133
+ #define Z_MAC_OS_KEY_CODE_F1 122
134
+ #define Z_MAC_OS_KEY_CODE_LEFT 123
135
+ #define Z_MAC_OS_KEY_CODE_RIGHT 124
136
+ #define Z_MAC_OS_KEY_CODE_DOWN 125
137
+ #define Z_MAC_OS_KEY_CODE_UP 126
138
+ /* 127 - Unused? */
139
+
140
+ #define Z_MAC_OS_KEY_MASK_CAPS_LOCK 0x010000
141
+ #define Z_MAC_OS_KEY_MASK_SHIFT 0x020000
142
+ #define Z_MAC_OS_KEY_MASK_CONTROL 0x040000
143
+ #define Z_MAC_OS_KEY_MASK_COMMAND 0x100000
144
+ #define Z_MAC_OS_KEY_MASK_OPTION 0x080000
145
+ #define Z_MAC_OS_KEY_MASK_LEFT_SHIFT 0x000002
146
+ #define Z_MAC_OS_KEY_MASK_LEFT_CONTROL 0x000001
147
+ #define Z_MAC_OS_KEY_MASK_LEFT_COMMAND 0x000008
148
+ #define Z_MAC_OS_KEY_MASK_LEFT_OPTION 0x000020
149
+ #define Z_MAC_OS_KEY_MASK_RIGHT_OPTION 0x000040
150
+ #define Z_MAC_OS_KEY_MASK_RIGHT_COMMAND 0x000010
151
+ #define Z_MAC_OS_KEY_MASK_RIGHT_CONTROL 0x002000
152
+ #define Z_MAC_OS_KEY_MASK_RIGHT_SHIFT 0x000004
153
+
154
+ #define Z_ARRAY_CONTENT_MAC_OS_KEY_CODE_TO_Z_KEY_CODE \
155
+ Z_KEY_CODE_ANSI_A, /* 0 - Z_MAC_OS_KEY_CODE_ANSI_A */ \
156
+ Z_KEY_CODE_ANSI_S, /* 1 - Z_MAC_OS_KEY_CODE_ANSI_S */ \
157
+ Z_KEY_CODE_ANSI_D, /* 2 - Z_MAC_OS_KEY_CODE_ANSI_D */ \
158
+ Z_KEY_CODE_ANSI_F, /* 3 - Z_MAC_OS_KEY_CODE_ANSI_F */ \
159
+ Z_KEY_CODE_ANSI_H, /* 4 - Z_MAC_OS_KEY_CODE_ANSI_H */ \
160
+ Z_KEY_CODE_ANSI_G, /* 5 - Z_MAC_OS_KEY_CODE_ANSI_G */ \
161
+ Z_KEY_CODE_ANSI_Z, /* 6 - Z_MAC_OS_KEY_CODE_ANSI_Z */ \
162
+ Z_KEY_CODE_ANSI_X, /* 7 - Z_MAC_OS_KEY_CODE_ANSI_X */ \
163
+ Z_KEY_CODE_ANSI_C, /* 8 - Z_MAC_OS_KEY_CODE_ANSI_C */ \
164
+ Z_KEY_CODE_ANSI_V, /* 9 - Z_MAC_OS_KEY_CODE_ANSI_V */ \
165
+ Z_KEY_CODE_ISO_SECTION, /* 10 - Z_MAC_OS_KEY_CODE_ISO_SECTION */ \
166
+ Z_KEY_CODE_ANSI_B, /* 11 - Z_MAC_OS_KEY_CODE_ANSI_B */ \
167
+ Z_KEY_CODE_ANSI_Q, /* 12 - Z_MAC_OS_KEY_CODE_ANSI_Q */ \
168
+ Z_KEY_CODE_ANSI_W, /* 13 - Z_MAC_OS_KEY_CODE_ANSI_W */ \
169
+ Z_KEY_CODE_ANSI_E, /* 14 - Z_MAC_OS_KEY_CODE_ANSI_E */ \
170
+ Z_KEY_CODE_ANSI_R, /* 15 - Z_MAC_OS_KEY_CODE_ANSI_R */ \
171
+ Z_KEY_CODE_ANSI_Y, /* 16 - Z_MAC_OS_KEY_CODE_ANSI_Y */ \
172
+ Z_KEY_CODE_ANSI_T, /* 17 - Z_MAC_OS_KEY_CODE_ANSI_T */ \
173
+ Z_KEY_CODE_ANSI_1, /* 18 - Z_MAC_OS_KEY_CODE_ANSI_1 */ \
174
+ Z_KEY_CODE_ANSI_2, /* 19 - Z_MAC_OS_KEY_CODE_ANSI_2 */ \
175
+ Z_KEY_CODE_ANSI_3, /* 20 - Z_MAC_OS_KEY_CODE_ANSI_3 */ \
176
+ Z_KEY_CODE_ANSI_4, /* 21 - Z_MAC_OS_KEY_CODE_ANSI_4 */ \
177
+ Z_KEY_CODE_ANSI_6, /* 22 - Z_MAC_OS_KEY_CODE_ANSI_6 */ \
178
+ Z_KEY_CODE_ANSI_5, /* 23 - Z_MAC_OS_KEY_CODE_ANSI_5 */ \
179
+ Z_KEY_CODE_ANSI_EQUALS_SIGN, /* 24 - Z_MAC_OS_KEY_CODE_ANSI_EQUALS_SIGN */ \
180
+ Z_KEY_CODE_ANSI_9, /* 25 - Z_MAC_OS_KEY_CODE_ANSI_9 */ \
181
+ Z_KEY_CODE_ANSI_7, /* 26 - Z_MAC_OS_KEY_CODE_ANSI_7 */ \
182
+ Z_KEY_CODE_ANSI_HYPHEN_MINUS, /* 27 - Z_MAC_OS_KEY_CODE_ANSI_HYPHEN_MINUS */ \
183
+ Z_KEY_CODE_ANSI_8, /* 28 - Z_MAC_OS_KEY_CODE_ANSI_8 */ \
184
+ Z_KEY_CODE_ANSI_0, /* 29 - Z_MAC_OS_KEY_CODE_ANSI_0 */ \
185
+ Z_KEY_CODE_ANSI_RIGHT_SQUARE_BRACKET, /* 30 - Z_MAC_OS_KEY_CODE_ANSI_RIGHT_SQUARE_BRACKET */ \
186
+ Z_KEY_CODE_ANSI_O, /* 31 - Z_MAC_OS_KEY_CODE_ANSI_O */ \
187
+ Z_KEY_CODE_ANSI_U, /* 32 - Z_MAC_OS_KEY_CODE_ANSI_U */ \
188
+ Z_KEY_CODE_ANSI_LEFT_SQUARE_BRACKET, /* 33 - Z_MAC_OS_KEY_CODE_ANSI_LEFT_SQUARE_BRACKET */ \
189
+ Z_KEY_CODE_ANSI_I, /* 34 - Z_MAC_OS_KEY_CODE_ANSI_I */ \
190
+ Z_KEY_CODE_ANSI_P, /* 35 - Z_MAC_OS_KEY_CODE_ANSI_P */ \
191
+ Z_KEY_CODE_RETURN, /* 36 - Z_MAC_OS_KEY_CODE_RETURN */ \
192
+ Z_KEY_CODE_ANSI_L, /* 37 - Z_MAC_OS_KEY_CODE_ANSI_L */ \
193
+ Z_KEY_CODE_ANSI_J, /* 38 - Z_MAC_OS_KEY_CODE_ANSI_J */ \
194
+ Z_KEY_CODE_ANSI_APOSTROPHE, /* 39 - Z_MAC_OS_KEY_CODE_ANSI_APOSTROPHE */ \
195
+ Z_KEY_CODE_ANSI_K, /* 40 - Z_MAC_OS_KEY_CODE_ANSI_K */ \
196
+ Z_KEY_CODE_ANSI_SEMICOLON, /* 41 - Z_MAC_OS_KEY_CODE_ANSI_SEMICOLON */ \
197
+ Z_KEY_CODE_ANSI_REVERSE_SOLIDUS, /* 42 - Z_MAC_OS_KEY_CODE_ANSI_REVERSE_SOLIDUS */ \
198
+ Z_KEY_CODE_ANSI_COMMA, /* 43 - Z_MAC_OS_KEY_CODE_ANSI_COMMA */ \
199
+ Z_KEY_CODE_ANSI_SOLIDUS, /* 44 - Z_MAC_OS_KEY_CODE_ANSI_SOLIDUS */ \
200
+ Z_KEY_CODE_ANSI_N, /* 45 - Z_MAC_OS_KEY_CODE_ANSI_N */ \
201
+ Z_KEY_CODE_ANSI_M, /* 46 - Z_MAC_OS_KEY_CODE_ANSI_M */ \
202
+ Z_KEY_CODE_ANSI_FULL_STOP, /* 47 - Z_MAC_OS_KEY_CODE_ANSI_FULL_STOP */ \
203
+ Z_KEY_CODE_TAB, /* 48 - Z_MAC_OS_KEY_CODE_TAB */ \
204
+ Z_KEY_CODE_SPACE, /* 49 - Z_MAC_OS_KEY_CODE_SPACE */ \
205
+ Z_KEY_CODE_ANSI_GRAVE_ACCENT, /* 50 - Z_MAC_OS_KEY_CODE_ANSI_GRAVE_ACCENT */ \
206
+ Z_KEY_CODE_BACKSPACE, /* 51 - Z_MAC_OS_KEY_CODE_BACKSPACE */ \
207
+ Z_KEY_CODE_INVALID, /* 52 */ \
208
+ Z_KEY_CODE_ESCAPE, /* 53 - Z_MAC_OS_KEY_CODE_ESCAPE */ \
209
+ Z_KEY_CODE_RIGHT_COMMAND, /* 54 - Z_MAC_OS_KEY_CODE_RIGHT_COMMAND */ \
210
+ Z_KEY_CODE_LEFT_COMMAND, /* 55 - Z_MAC_OS_KEY_CODE_LEFT_COMMAND */ \
211
+ Z_KEY_CODE_LEFT_SHIFT, /* 56 - Z_MAC_OS_KEY_CODE_LEFT_SHIFT */ \
212
+ Z_KEY_CODE_CAPS_LOCK, /* 57 - Z_MAC_OS_KEY_CODE_CAPS_LOCK */ \
213
+ Z_KEY_CODE_LEFT_OPTION, /* 58 - Z_MAC_OS_KEY_CODE_LEFT_OPTION */ \
214
+ Z_KEY_CODE_LEFT_CONTROL, /* 59 - Z_MAC_OS_KEY_CODE_LEFT_CONTROL */ \
215
+ Z_KEY_CODE_RIGHT_SHIFT, /* 60 - Z_MAC_OS_KEY_CODE_RIGHT_SHIFT */ \
216
+ Z_KEY_CODE_RIGHT_OPTION, /* 61 - Z_MAC_OS_KEY_CODE_RIGHT_OPTION */ \
217
+ Z_KEY_CODE_RIGHT_CONTROL, /* 62 - Z_MAC_OS_KEY_CODE_RIGHT_CONTROL */ \
218
+ Z_KEY_CODE_FUNCTION, /* 63 - Z_MAC_OS_KEY_CODE_FUNCTION */ \
219
+ Z_KEY_CODE_F17, /* 64 - Z_MAC_OS_KEY_CODE_F17 */ \
220
+ Z_KEY_CODE_ANSI_KEYPAD_DECIMAL_SEPARATOR, /* 65 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_DECIMAL_SEPARATOR */ \
221
+ Z_KEY_CODE_INVALID, /* 66 */ \
222
+ Z_KEY_CODE_ANSI_KEYPAD_ASTERISK, /* 67 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_ASTERISK */ \
223
+ Z_KEY_CODE_INVALID, /* 68 */ \
224
+ Z_KEY_CODE_ANSI_KEYPAD_PLUS_SIGN, /* 69 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_PLUS_SIGN */ \
225
+ Z_KEY_CODE_INVALID, /* 70 */ \
226
+ Z_KEY_CODE_ANSI_KEYPAD_NUM_LOCK, /* 71 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_CLEAR */ \
227
+ Z_KEY_CODE_VOLUME_UP, /* 72 - Z_MAC_OS_KEY_CODE_VOLUME_UP */ \
228
+ Z_KEY_CODE_VOLUME_DOWN, /* 73 - Z_MAC_OS_KEY_CODE_VOLUME_DOWN */ \
229
+ Z_KEY_CODE_MUTE, /* 74 - Z_MAC_OS_KEY_CODE_MUTE */ \
230
+ Z_KEY_CODE_ANSI_KEYPAD_SOLIDUS, /* 75 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_SOLIDUS */ \
231
+ Z_KEY_CODE_ANSI_KEYPAD_ENTER, /* 76 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_ENTER */ \
232
+ Z_KEY_CODE_INVALID, /* 77 */ \
233
+ Z_KEY_CODE_ANSI_KEYPAD_HYPHEN_MINUS, /* 78 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_HYPHEN_MINUS */ \
234
+ Z_KEY_CODE_F18, /* 79 - Z_MAC_OS_KEY_CODE_F18 */ \
235
+ Z_KEY_CODE_F19, /* 80 - Z_MAC_OS_KEY_CODE_F19 */ \
236
+ Z_KEY_CODE_APPLE_ANSI_KEYPAD_EQUALS_SIGN, /* 81 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_EQUALS_SIGN */ \
237
+ Z_KEY_CODE_ANSI_KEYPAD_0, /* 82 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_0 */ \
238
+ Z_KEY_CODE_ANSI_KEYPAD_1, /* 83 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_1 */ \
239
+ Z_KEY_CODE_ANSI_KEYPAD_2, /* 84 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_2 */ \
240
+ Z_KEY_CODE_ANSI_KEYPAD_3, /* 85 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_3 */ \
241
+ Z_KEY_CODE_ANSI_KEYPAD_4, /* 86 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_4 */ \
242
+ Z_KEY_CODE_ANSI_KEYPAD_5, /* 87 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_5 */ \
243
+ Z_KEY_CODE_ANSI_KEYPAD_6, /* 88 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_6 */ \
244
+ Z_KEY_CODE_ANSI_KEYPAD_7, /* 89 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_7 */ \
245
+ Z_KEY_CODE_F20, /* 90 - Z_MAC_OS_KEY_CODE_F20 */ \
246
+ Z_KEY_CODE_ANSI_KEYPAD_8, /* 91 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_8 */ \
247
+ Z_KEY_CODE_ANSI_KEYPAD_9, /* 92 - Z_MAC_OS_KEY_CODE_ANSI_KEYPAD_9 */ \
248
+ Z_KEY_CODE_JIS_YEN_SIGN, /* 93 - Z_MAC_OS_KEY_CODE_JIS_YEN_SIGN */ \
249
+ Z_KEY_CODE_JIS_LOW_LINE, /* 94 - Z_MAC_OS_KEY_CODE_JIS_LOW_LINE */ \
250
+ Z_KEY_CODE_JIS_KEYPAD_COMMA, /* 95 - Z_MAC_OS_KEY_CODE_JIS_KEYPAD_COMMA */ \
251
+ Z_KEY_CODE_F5, /* 96 - Z_MAC_OS_KEY_CODE_F5 */ \
252
+ Z_KEY_CODE_F6, /* 97 - Z_MAC_OS_KEY_CODE_F6 */ \
253
+ Z_KEY_CODE_F7, /* 98 - Z_MAC_OS_KEY_CODE_F7 */ \
254
+ Z_KEY_CODE_F3, /* 99 - Z_MAC_OS_KEY_CODE_F3 */ \
255
+ Z_KEY_CODE_F8, /* 100 - Z_MAC_OS_KEY_CODE_F8 */ \
256
+ Z_KEY_CODE_F9, /* 101 - Z_MAC_OS_KEY_CODE_F9 */ \
257
+ Z_KEY_CODE_JIS_EISU, /* 102 - Z_MAC_OS_KEY_CODE_JIS_EISU */ \
258
+ Z_KEY_CODE_F11, /* 103 - Z_MAC_OS_KEY_CODE_F11 */ \
259
+ Z_KEY_CODE_JIS_KANA, /* 104 - Z_MAC_OS_KEY_CODE_JIS_KANA */ \
260
+ Z_KEY_CODE_PRINT_SCREEN, /* 105 - Z_MAC_OS_KEY_CODE_F13 */ \
261
+ Z_KEY_CODE_F16, /* 106 - Z_MAC_OS_KEY_CODE_F16 */ \
262
+ Z_KEY_CODE_SCROLL_LOCK, /* 107 - Z_MAC_OS_KEY_CODE_F14 */ \
263
+ Z_KEY_CODE_INVALID, /* 108 */ \
264
+ Z_KEY_CODE_F10, /* 109 - Z_MAC_OS_KEY_CODE_F10 */ \
265
+ Z_KEY_CODE_APPLICATION, /* 110 - Z_MAC_OS_KEY_CODE_APPLICATION */ \
266
+ Z_KEY_CODE_F12, /* 111 - Z_MAC_OS_KEY_CODE_F12 */ \
267
+ Z_KEY_CODE_INVALID, /* 112 */ \
268
+ Z_KEY_CODE_PAUSE, /* 113 - Z_MAC_OS_KEY_CODE_F15 */ \
269
+ Z_KEY_CODE_INSERT, /* 114 - Z_MAC_OS_KEY_CODE_HELP */ \
270
+ Z_KEY_CODE_HOME, /* 115 - Z_MAC_OS_KEY_CODE_HOME */ \
271
+ Z_KEY_CODE_PAGE_UP, /* 116 - Z_MAC_OS_KEY_CODE_PAGE_UP */ \
272
+ Z_KEY_CODE_DELETE, /* 117 - Z_MAC_OS_KEY_CODE_DELETE */ \
273
+ Z_KEY_CODE_F4, /* 118 - Z_MAC_OS_KEY_CODE_F4 */ \
274
+ Z_KEY_CODE_END, /* 119 - Z_MAC_OS_KEY_CODE_END */ \
275
+ Z_KEY_CODE_F2, /* 120 - Z_MAC_OS_KEY_CODE_F2 */ \
276
+ Z_KEY_CODE_PAGE_DOWN, /* 121 - Z_MAC_OS_KEY_CODE_PAGE_DOWN */ \
277
+ Z_KEY_CODE_F1, /* 122 - Z_MAC_OS_KEY_CODE_F1 */ \
278
+ Z_KEY_CODE_LEFT, /* 123 - Z_MAC_OS_KEY_CODE_LEFT */ \
279
+ Z_KEY_CODE_RIGHT, /* 124 - Z_MAC_OS_KEY_CODE_RIGHT */ \
280
+ Z_KEY_CODE_DOWN, /* 125 - Z_MAC_OS_KEY_CODE_DOWN */ \
281
+ Z_KEY_CODE_UP, /* 126 - Z_MAC_OS_KEY_CODE_UP */ \
282
+ Z_KEY_CODE_INVALID /* 127 */
283
+
284
+ #endif /* _Z_formats_keymap_Mac_OS_H_ */
@@ -0,0 +1,141 @@
1
+ /* Z Kit - formats/keymap/Z.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_keymap_Z_H_
9
+ #define _Z_formats_keymap_Z_H_
10
+
11
+ #define Z_KEY_CODE_UP 0
12
+ #define Z_KEY_CODE_RIGHT 1
13
+ #define Z_KEY_CODE_DOWN 2
14
+ #define Z_KEY_CODE_LEFT 3
15
+ #define Z_KEY_CODE_HOME 4
16
+ #define Z_KEY_CODE_END 5
17
+ #define Z_KEY_CODE_PAGE_UP 6
18
+ #define Z_KEY_CODE_PAGE_DOWN 7
19
+ #define Z_KEY_CODE_BACKSPACE 8 /* Like ASCII */
20
+ #define Z_KEY_CODE_TAB 9 /* Like ASCII */
21
+ #define Z_KEY_CODE_RETURN 10 /* Like ASCII */
22
+ #define Z_KEY_CODE_F1 11
23
+ #define Z_KEY_CODE_F2 12
24
+ #define Z_KEY_CODE_F3 13
25
+ #define Z_KEY_CODE_F4 14
26
+ #define Z_KEY_CODE_F5 15
27
+ #define Z_KEY_CODE_F6 16
28
+ #define Z_KEY_CODE_F7 17
29
+ #define Z_KEY_CODE_F8 18
30
+ #define Z_KEY_CODE_F9 19
31
+ #define Z_KEY_CODE_F10 20
32
+ #define Z_KEY_CODE_F11 21
33
+ #define Z_KEY_CODE_F12 22
34
+ #define Z_KEY_CODE_PRINT_SCREEN 23
35
+ #define Z_KEY_CODE_SCROLL_LOCK 24
36
+ #define Z_KEY_CODE_PAUSE 25
37
+ #define Z_KEY_CODE_CAPS_LOCK 26
38
+ #define Z_KEY_CODE_ESCAPE 27 /* Like ASCII */
39
+ #define Z_KEY_CODE_LEFT_SHIFT 28
40
+ #define Z_KEY_CODE_LEFT_CONTROL 29
41
+ #define Z_KEY_CODE_LEFT_COMMAND 30
42
+ #define Z_KEY_CODE_LEFT_OPTION 31
43
+ #define Z_KEY_CODE_SPACE 32 /* Like ASCII */
44
+ #define Z_KEY_CODE_RIGHT_OPTION 33
45
+ #define Z_KEY_CODE_RIGHT_COMMAND 34
46
+ #define Z_KEY_CODE_APPLICATION 35
47
+ #define Z_KEY_CODE_RIGHT_CONTROL 36
48
+ #define Z_KEY_CODE_RIGHT_SHIFT 37
49
+ #define Z_KEY_CODE_INSERT 38
50
+ #define Z_KEY_CODE_ANSI_APOSTROPHE 39 /* Like ASCII */
51
+ #define Z_KEY_CODE_ANSI_KEYPAD_SOLIDUS 40
52
+ #define Z_KEY_CODE_ANSI_KEYPAD_HYPHEN_MINUS 41
53
+ #define Z_KEY_CODE_ANSI_KEYPAD_ASTERISK 42 /* Like ASCII */
54
+ #define Z_KEY_CODE_ANSI_KEYPAD_PLUS_SIGN 43 /* Like ASCII */
55
+ #define Z_KEY_CODE_ANSI_COMMA 44 /* Like ASCII */
56
+ #define Z_KEY_CODE_ANSI_HYPHEN_MINUS 45 /* Like ASCII */
57
+ #define Z_KEY_CODE_ANSI_FULL_STOP 46 /* Like ASCII */
58
+ #define Z_KEY_CODE_ANSI_SOLIDUS 47 /* Like ASCII */
59
+ #define Z_KEY_CODE_ANSI_0 48 /* Like ASCII */
60
+ #define Z_KEY_CODE_ANSI_1 49 /* Like ASCII */
61
+ #define Z_KEY_CODE_ANSI_2 50 /* Like ASCII */
62
+ #define Z_KEY_CODE_ANSI_3 51 /* Like ASCII */
63
+ #define Z_KEY_CODE_ANSI_4 52 /* Like ASCII */
64
+ #define Z_KEY_CODE_ANSI_5 53 /* Like ASCII */
65
+ #define Z_KEY_CODE_ANSI_6 54 /* Like ASCII */
66
+ #define Z_KEY_CODE_ANSI_7 55 /* Like ASCII */
67
+ #define Z_KEY_CODE_ANSI_8 56 /* Like ASCII */
68
+ #define Z_KEY_CODE_ANSI_9 57 /* Like ASCII */
69
+ #define Z_KEY_CODE_ANSI_KEYPAD_ENTER 58
70
+ #define Z_KEY_CODE_ANSI_SEMICOLON 59 /* Like ASCII */
71
+ #define Z_KEY_CODE_ANSI_KEYPAD_DECIMAL_SEPARATOR 60
72
+ #define Z_KEY_CODE_ANSI_EQUALS_SIGN 61 /* Like ASCII */
73
+ #define Z_KEY_CODE_ANSI_KEYPAD_NUM_LOCK 62
74
+ #define Z_KEY_CODE_ANSI_KEYPAD_0 63
75
+ #define Z_KEY_CODE_ANSI_KEYPAD_1 64
76
+ #define Z_KEY_CODE_ANSI_A 65 /* Like ASCII */
77
+ #define Z_KEY_CODE_ANSI_B 66 /* Like ASCII */
78
+ #define Z_KEY_CODE_ANSI_C 67 /* Like ASCII */
79
+ #define Z_KEY_CODE_ANSI_D 68 /* Like ASCII */
80
+ #define Z_KEY_CODE_ANSI_E 69 /* Like ASCII */
81
+ #define Z_KEY_CODE_ANSI_F 70 /* Like ASCII */
82
+ #define Z_KEY_CODE_ANSI_G 71 /* Like ASCII */
83
+ #define Z_KEY_CODE_ANSI_H 72 /* Like ASCII */
84
+ #define Z_KEY_CODE_ANSI_I 73 /* Like ASCII */
85
+ #define Z_KEY_CODE_ANSI_J 74 /* Like ASCII */
86
+ #define Z_KEY_CODE_ANSI_K 75 /* Like ASCII */
87
+ #define Z_KEY_CODE_ANSI_L 76 /* Like ASCII */
88
+ #define Z_KEY_CODE_ANSI_M 77 /* Like ASCII */
89
+ #define Z_KEY_CODE_ANSI_N 78 /* Like ASCII */
90
+ #define Z_KEY_CODE_ANSI_O 79 /* Like ASCII */
91
+ #define Z_KEY_CODE_ANSI_P 80 /* Like ASCII */
92
+ #define Z_KEY_CODE_ANSI_Q 81 /* Like ASCII */
93
+ #define Z_KEY_CODE_ANSI_R 82 /* Like ASCII */
94
+ #define Z_KEY_CODE_ANSI_S 83 /* Like ASCII */
95
+ #define Z_KEY_CODE_ANSI_T 84 /* Like ASCII */
96
+ #define Z_KEY_CODE_ANSI_U 85 /* Like ASCII */
97
+ #define Z_KEY_CODE_ANSI_V 86 /* Like ASCII */
98
+ #define Z_KEY_CODE_ANSI_W 87 /* Like ASCII */
99
+ #define Z_KEY_CODE_ANSI_X 88 /* Like ASCII */
100
+ #define Z_KEY_CODE_ANSI_Y 89 /* Like ASCII */
101
+ #define Z_KEY_CODE_ANSI_Z 90 /* Like ASCII */
102
+ #define Z_KEY_CODE_ANSI_LEFT_SQUARE_BRACKET 91 /* Like ASCII */
103
+ #define Z_KEY_CODE_ANSI_REVERSE_SOLIDUS 92 /* Like ASCII */
104
+ #define Z_KEY_CODE_ANSI_RIGHT_SQUARE_BRACKET 93 /* Like ASCII */
105
+ #define Z_KEY_CODE_ANSI_KEYPAD_2 94
106
+ #define Z_KEY_CODE_ANSI_KEYPAD_3 95
107
+ #define Z_KEY_CODE_ANSI_GRAVE_ACCENT 96 /* Like ASCII */
108
+ #define Z_KEY_CODE_ANSI_KEYPAD_4 97
109
+ #define Z_KEY_CODE_ANSI_KEYPAD_5 98
110
+ #define Z_KEY_CODE_ANSI_KEYPAD_6 99
111
+ #define Z_KEY_CODE_ANSI_KEYPAD_7 100
112
+ #define Z_KEY_CODE_ANSI_KEYPAD_8 101
113
+ #define Z_KEY_CODE_ANSI_KEYPAD_9 102
114
+ #define Z_KEY_CODE_APPLE_ANSI_KEYPAD_EQUALS_SIGN 103 /* Apple keyboards */
115
+ #define Z_KEY_CODE_F13 104
116
+ #define Z_KEY_CODE_F14 105
117
+ #define Z_KEY_CODE_F15 106
118
+ #define Z_KEY_CODE_F16 107
119
+ #define Z_KEY_CODE_F17 108
120
+ #define Z_KEY_CODE_F18 109
121
+ #define Z_KEY_CODE_F19 110
122
+ #define Z_KEY_CODE_F20 111
123
+ #define Z_KEY_CODE_F21 112
124
+ #define Z_KEY_CODE_F22 113
125
+ #define Z_KEY_CODE_F23 114
126
+ #define Z_KEY_CODE_F24 115
127
+ #define Z_KEY_CODE_JIS_EISU 116 /* Japanese keyboards */
128
+ #define Z_KEY_CODE_JIS_KANA 117 /* Japanese keyboards */
129
+ #define Z_KEY_CODE_JIS_LOW_LINE 118 /* Japanese keyboards */
130
+ #define Z_KEY_CODE_JIS_YEN_SIGN 119 /* Japanese keyboards */
131
+ #define Z_KEY_CODE_JIS_KEYPAD_COMMA 120 /* Japanese keyboards */
132
+ #define Z_KEY_CODE_ISO_SECTION 121 /* ISO keyboards */
133
+ #define Z_KEY_CODE_VOLUME_UP 122
134
+ #define Z_KEY_CODE_VOLUME_DOWN 123
135
+ #define Z_KEY_CODE_MUTE 124
136
+ #define Z_KEY_CODE_UNUSED_0 125
137
+ #define Z_KEY_CODE_FUNCTION 126
138
+ #define Z_KEY_CODE_DELETE 127 /* Similar to ASCII */
139
+ #define Z_KEY_CODE_INVALID Z_KEY_CODE_UNUSED_0
140
+
141
+ #endif /* _Z_formats_keymap_Z_H_ */
@@ -0,0 +1,106 @@
1
+ /* Z Kit - formats/multimedia/Creative Voice.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
+ .---------------------------------.
9
+ | Extensions: voc |
10
+ | Endianness: Little |
11
+ | Created by: Creative Technology |
12
+ '--------------------------------*/
13
+
14
+ #ifndef _Z_formats_multimedia_Creative_Voice_H_
15
+ #define _Z_formats_multimedia_Creative_Voice_H_
16
+
17
+ #include <Z/types/base.h>
18
+
19
+ Z_DEFINE_STRICT_STRUCTURE (
20
+ zuint8 identifier[19]; /* 'Creative Voice File' */
21
+ zuint8 eof; /* 1Ah */
22
+ zuint16 header_size; /* Usually 001Ah */
23
+ zuint8 major_version_number; /* Usually 01h */
24
+ zuint8 minor_version_number; /* Usually 0Ah or 14h */
25
+ zuint8 version_validation; /* must be equal to version + 1234h */
26
+ ) ZCreativeVoiceHeader;
27
+
28
+ Z_DEFINE_STRICT_STRUCTURE (
29
+ zuint8 type;
30
+ zuint16 size;
31
+ ) ZCreativeVoiceBlockHeader;
32
+
33
+ #define Z_CREATIVE_VOICE_BLOCK_ID_TERMINATOR 0x00
34
+ #define Z_CREATIVE_VOICE_BLOCK_ID_SOUND_DATA 0x01
35
+ #define Z_CREATIVE_VOICE_BLOCK_ID_SOUND_DATA_CONTINUATION 0x02
36
+ #define Z_CREATIVE_VOICE_BLOCK_ID_SILENCE 0x03
37
+ #define Z_CREATIVE_VOICE_BLOCK_ID_MARKER 0x04
38
+ #define Z_CREATIVE_VOICE_BLOCK_ID_TEXT 0x05
39
+ #define Z_CREATIVE_VOICE_BLOCK_ID_REPEAT_START 0x06
40
+ #define Z_CREATIVE_VOICE_BLOCK_ID_REPEAT_END 0x07
41
+ #define Z_CREATIVE_VOICE_BLOCK_ID_EXTRA_INFORMATION 0x08
42
+ #define Z_CREATIVE_VOICE_BLOCK_ID_SOUND_DATA_IN_NEW_FORMAT 0x09
43
+
44
+ /* MARK: - ID 0 - Terminator */
45
+
46
+ /* MARK: - ID 1 - Sound Data */
47
+
48
+ Z_DEFINE_STRICT_STRUCTURE (
49
+ zuint8 frequency_divisor;
50
+ zuint8 codec_id;
51
+ Z_FLEXIBLE_ARRAY_MEMBER(zuint8 data[];)
52
+ ) ZCreativeVoiceSoundData;
53
+
54
+ /* MARK: - ID 2 - Sound Data Continuation */
55
+
56
+ Z_DEFINE_STRICT_STRUCTURE (
57
+ Z_FLEXIBLE_ARRAY_MEMBER(zuint8 data[];)
58
+ ) ZCreativeVoiceSoundDataContinuation;
59
+
60
+ /* MARK: - ID 3 - Silence */
61
+
62
+ Z_DEFINE_STRICT_STRUCTURE (
63
+ zuint16 sample_count;
64
+ zuint8 frequency_divisor;
65
+ ) ZCreativeVoiceSilence;
66
+
67
+ /* MARK: - ID 4 - Marker */
68
+
69
+ Z_DEFINE_STRICT_STRUCTURE (
70
+ zuint16 value;
71
+ ) ZCreativeVoiceMarker;
72
+
73
+ /* MARK: - ID 5 - Text */
74
+
75
+ Z_DEFINE_STRICT_STRUCTURE (
76
+ Z_FLEXIBLE_ARRAY_MEMBER(zuint8 content[];) /* 0 terminated string */
77
+ ) ZCreativeVoiceText;
78
+
79
+ /* MARK: - ID 6 - Repeat Start */
80
+
81
+ Z_DEFINE_STRICT_STRUCTURE (
82
+ zuint16 count_minus_1;
83
+ ) ZCreativeVoiceRepeatStart;
84
+
85
+ /* MARK: - ID 7 - Repeat End */
86
+
87
+ /* MARK: - ID 8 - Extra Information */
88
+
89
+ Z_DEFINE_STRICT_STRUCTURE (
90
+ zuint16 frequency_divisor;
91
+ zuint8 codec_id;
92
+ zuint8 channel_count_minus_1;
93
+ ) ZCreativeVoiceExtraInformation;
94
+
95
+ /* MARK: - ID 9 - Sound Data in New Format */
96
+
97
+ Z_DEFINE_STRICT_STRUCTURE (
98
+ zuint16 sample_rate;
99
+ zuint8 bits_per_sample;
100
+ zuint8 channel_Count;
101
+ zuint16 codec_id;
102
+ zuint32 reserved;
103
+ Z_FLEXIBLE_ARRAY_MEMBER(zuint8 data[];)
104
+ ) ZCreativeVoiceSoundDataInNewFormat;
105
+
106
+ #endif /* _Z_formats_multimedia_Creative_Voice_H_ */
@@ -0,0 +1,49 @@
1
+ /* Z Kit - formats/multimedia/Microsoft Wave.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
+ .--------------------------------------------------.
9
+ | Extensions: wav |
10
+ | Endianness: Little (fields), Litte or Big (data) |
11
+ | Created by: Microsoft |
12
+ '-------------------------------------------------*/
13
+
14
+ #ifndef _Z_formats_multimedia_Microsoft_Wave_H_
15
+ #define _Z_formats_multimedia_Microsoft_Wave_H_
16
+
17
+ #include <Z/types/base.h>
18
+
19
+ Z_DEFINE_STRICT_STRUCTURE (
20
+ zuint32 block_id; /* 'RIFF' in big endian (if data is little-endian)
21
+ 'RIFX' in big endian (if data is big-endian) */
22
+ zuint32 block_size; /* The size of the entire file minus 8 bytes */
23
+ zuint32 format; /* 'WAVE' in big-endian */
24
+
25
+ struct {zuint32 subblock_id; /* 'fmt ' in big-endian */
26
+ zuint32 subblock_size;
27
+ zuint16 audio_format;
28
+ zuint16 channel_count;
29
+ zuint32 sample_rate;
30
+ zuint32 byte_rate;
31
+ zuint16 block_alignment;
32
+ zuint16 bits_per_sample;
33
+ } fmt;
34
+
35
+ struct {zuint32 subblock_id; /* 'data' in big-endian */
36
+ zuint32 subblock_size;
37
+ Z_FLEXIBLE_ARRAY_MEMBER(Z_zuint8 samples[];)
38
+ } data;
39
+ ) ZMicrosoftWave;
40
+
41
+ #if Z_UINT32_ENDIANNESS == Z_ENDIANNESS_BIG
42
+ # define Z_MICROSOFT_WAVE_BLOCK_ID 0x52494646
43
+ # define Z_MICROSOFT_WAVE_FORMAT 0x57415645
44
+ #elif Z_UINT32_ENDIANNESS == Z_ENDIANNESS_LITTLE
45
+ # define Z_MICROSOFT_WAVE_BLOCK_ID 0x46464952
46
+ # define Z_MICROSOFT_WAVE_FORMAT 0x45564157
47
+ #endif
48
+
49
+ #endif /* _Z_formats_multimedia_Microsoft_Wave_H_ */
@@ -0,0 +1,44 @@
1
+ /* Z Kit - formats/snapshot/machine/computer/ZX Spectrum/ACH.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
+ .-------------------------------.
9
+ | Extensions: ach, archimedes |
10
+ | Endianness: Little |
11
+ | Created by: Witt, Carsten |
12
+ | Used by: !Speccy [RISC OS] |
13
+ '------------------------------*/
14
+
15
+ #ifndef _Z_formats_snapshot_machine_computer_ZX_Spectrum_ACH_H_
16
+ #define _Z_formats_snapshot_machine_computer_ZX_Spectrum_ACH_H_
17
+
18
+ #include <Z/types/base.h>
19
+
20
+ Z_DEFINE_STRICT_STRUCTURE_BEGIN
21
+ zuint8 a, zero_00[ 3];
22
+ zuint8 f, zero_01[ 3];
23
+ zuint8 b, zero_02[ 3];
24
+ zuint8 c, zero_03[ 3];
25
+ zuint8 d, zero_04[ 3];
26
+ zuint8 e, zero_05[ 3];
27
+ zuint8 h, zero_06[ 3];
28
+ zuint8 l, zero_07[ 3];
29
+ zuint16 pc, zero_08[ 3];
30
+ zuint16 sp, zero_09[53];
31
+ zuint8 r, zero_10[ 7];
32
+ zuint8 border_color, zero_11[ 7];
33
+ zuint8 im, zero_12[25];
34
+ zuint8 i, iff2, zero_13[44];
35
+ zuint8 a_, f_, zero_14[ 2];
36
+ zuint8 b_, c_, zero_15[ 2];
37
+ zuint8 d_, e_;
38
+ zuint8 h_, l_;
39
+ Z16Bit ix, zero_16;
40
+ Z16Bit iy, zero_17;
41
+ zuint8 memory[1024 * 64]; /* Complete ZX Spectrum 48K memory */
42
+ Z_DEFINE_STRICT_STRUCTURE_END ZACH;
43
+
44
+ #endif /* _Z_formats_snapshot_machine_computer_ZX_Spectrum_ACH_H_ */
@@ -0,0 +1,54 @@
1
+ /* Z Kit - formats/snapshot/machine/computer/ZX Spectrum/FRZ.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) Dmitriy Zhivilov.
6
+ Copyright (C) Ian Greenway.
7
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
8
+ Released under the terms of the GNU Lesser General Public License v3.
9
+
10
+ .------------------------------.
11
+ | Extensions: frz |
12
+ | Endianness: Big |
13
+ | Created by: CodeBusters |
14
+ | Used by: CBSpeccy [Amiga] |
15
+ '-----------------------------*/
16
+
17
+ #ifndef _Z_formats_snapshot_machine_computer_ZX_Spectrum_FRZ_H_
18
+ #define _Z_formats_snapshot_machine_computer_ZX_Spectrum_FRZ_H_
19
+
20
+ #include <Z/types/base.h>
21
+
22
+ Z_DEFINE_STRICT_STRUCTURE_BEGIN
23
+ zuint8 zero_0;
24
+ zuint8 port_7ffd_value;
25
+ Z16Bit hl_, hl, de_, de, bc_, bc, af_, af;
26
+ zuint8 disk_and_t_states[7];
27
+ zuint8 r;
28
+ zuint16 pc, sp;
29
+ zuint8 i;
30
+ zuint8 reserved; /* Must be FFh */
31
+ zuint8 zero_1;
32
+ zuint8 im;
33
+ zuint8 zero_2[3];
34
+
35
+ struct {Z_BIT_FIELD(8, 3) (
36
+ zuint8 unused1 :5,
37
+ zuint8 iff1 :1,
38
+ zuint8 unused2 :2
39
+ )} interrupt;
40
+
41
+ Z16Bit iy, ix;
42
+
43
+ struct {zuint8 bank_5[1024 * 16];
44
+ zuint8 bank_2[1024 * 16];
45
+ zuint8 bank_0[1024 * 16];
46
+ zuint8 bank_1[1024 * 16];
47
+ zuint8 bank_3[1024 * 16];
48
+ zuint8 bank_4[1024 * 16];
49
+ zuint8 bank_6[1024 * 16];
50
+ zuint8 bank_7[1024 * 16];
51
+ } ram;
52
+ Z_DEFINE_STRICT_STRUCTURE_END ZFRZ;
53
+
54
+ #endif /* _Z_formats_snapshot_machine_computer_ZX_Spectrum_FRZ_H_ */