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,350 @@
1
+ /* Z Kit - hardware/machine/platform/console/Nintendo Entertainment System.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
+ | Vendor: Nintendo |
10
+ | Released: 1983-07-15 (JP) |
11
+ | 1985-10-18 (KR - North America) |
12
+ | 1986-09-01 (Europe) |
13
+ | 1986 (CA) |
14
+ | 1987 (Australasia) |
15
+ '-------------------------------------------'
16
+
17
+
18
+ Front view
19
+ ___ __________________________________ ______ ______
20
+ | | |______| |
21
+ | | Nintendo® | | |
22
+ | | ENTERTAINMENT SYSTEM™ | | |
23
+ | |__________________________________|______| |
24
+ |______________________________________|______|______|
25
+ | | _____ _____ | | 1 2 | |
26
+ \ | o [POWER] [RESET] | ||\ |\ | /
27
+ \ |___________________| ||_||_|| /
28
+ \___________________________________|______|___/
29
+
30
+
31
+ Back view
32
+ ______ ______ ______________________________________
33
+ | |______| |
34
+ | | | |
35
+ | | | |
36
+ | |______| |
37
+ |______|______|______________________________________|
38
+ | | o [] O | |
39
+ \ |___________| /
40
+ \ | AC CH RF | __ /
41
+ \|___________|_______________/__\______________/
42
+
43
+
44
+ Top view
45
+ ______________________________________ ______ ______
46
+ | | | |
47
+ | |______| |
48
+ | | | |
49
+ | |======| |
50
+ | |======| |
51
+ | |======| |
52
+ | |======| |
53
+ | |======| |
54
+ | |======| |
55
+ | |======| |
56
+ | |======| |
57
+ | |======| |
58
+ | |======| |
59
+ | |======| |
60
+ | |======| |
61
+ | |======| |
62
+ | __________________________________|======|______|
63
+ | | | | |
64
+ | | |______| |
65
+ | | | | |
66
+ '___|__________________________________'______'______'
67
+
68
+
69
+ Bottom view
70
+ ____________________________________________________
71
+ | O | O | | O |
72
+ | | _ ________________ | | _ | |
73
+ | | (_) | | | | (_) | |
74
+ | | | | | | | |
75
+ | |===== | | | | | |
76
+ | |===== |________________| | | | |
77
+ | | | | | |
78
+ | | | | | |
79
+ | | | | | |
80
+ | | | | | |
81
+ | |===== ______| |_____ =====| |
82
+ | |===== |.-------------.| =====| |
83
+ | |===== || _______ || =====| |
84
+ | --------------------- | |_______| |'-------- |
85
+ | _____________________ |_____________||________ |
86
+ | | |_______________| | |
87
+ | | | |
88
+ | | _ _ | |
89
+ | | (_) (_) | |
90
+ | | ______ O | |
91
+ '___O____|_o__o_|________________________________O___'
92
+
93
+
94
+ Controller | | Controller Connector
95
+ ________________|_|_________________________________ .---.
96
+ | | GND ->| O \
97
+ | ________________________________________________ | CLK ->| O O |<- +5V
98
+ | | |_____________| | | OUT ->| O O |<- D3
99
+ | | ___ _____________ | | D0 ->| O O |<- D4
100
+ | | | | |_____________| Nintendo® | | '-----'
101
+ | | ___| | |___ _____________ | |
102
+ | | | __ ,-. __ | |SELECT__START| ___ ___ | |
103
+ | | |___ `-' ___| _____________ |,-.| |,-.| | |
104
+ | | | | | |_(___)_(___)_| |._,| |._,| | |
105
+ | | |___| _____________ '---B '---A | |
106
+ | |_________________|_____________|________________| |
107
+ '____________________________________________________' */
108
+
109
+
110
+ #ifndef _Z_hardware_machine_platform_console_Nintendo_Entertainment_System_H_
111
+ #define _Z_hardware_machine_platform_console_Nintendo_Entertainment_System_H_
112
+
113
+ #include <Z/types/base.h>
114
+
115
+ /* MARK: - Memory map
116
+ .---------------------------------------------------------------.
117
+ | Location | Size | Type| Content |
118
+ |-------------+------+-----+------------------------------------|
119
+ | 2000 | 1 | MMR | PPU register: Control |
120
+ | 2001 | 1 | MMR | PPU register: Mask |
121
+ | 2002 | 1 | MMR | PPU register: Status |
122
+ | 2003 | 1 | MMR | PPU register: OAM address |
123
+ | 2004 | 1 | MMR | PPU register: OAM data |
124
+ | 2005 | 1 | MMR | PPU register: Scroll |
125
+ | 2006 | 1 | MMR | PPU register: Address |
126
+ | 2007 | 1 | MMR | PPU register: Data |
127
+ |-------------+------+-----+------------------------------------|
128
+ | 4000 | 1 | MMR | APU register: APU square wave #0 A |
129
+ | 4001 | 1 | MMR | APU register: APU square wave #0 B |
130
+ | 4002 | 1 | MMR | APU register: APU square wave #0 C |
131
+ | 4003 | 1 | MMR | APU register: APU square wave #0 D |
132
+ | 4004 | 1 | MMR | APU register: APU square wave #1 A |
133
+ | 4005 | 1 | MMR | APU register: APU square wave #1 B |
134
+ | 4006 | 1 | MMR | APU register: APU square wave #1 c |
135
+ | 4007 | 1 | MMR | APU register: APU square wave #1 D |
136
+ | 4008 | 1 | MMR | APU register: APU triangle wave A |
137
+ | 4009 | 1 | MMR | APU register: APU triangle wave B |
138
+ | 400A | 1 | MMR | APU register: APU triangle wave C |
139
+ | 400B | 1 | MMR | APU register: APU triangle wave D |
140
+ | 400C | 1 | MMR | APU register: APU noise A |
141
+ | 400D | 1 | MMR | APU register: APU noise B |
142
+ | 400E | 1 | MMR | APU register: APU noise C |
143
+ | 400F | 1 | MMR | APU register: APU noise D |
144
+ |-------------+------+-----+------------------------------------|
145
+ | 4014 | 1 | I/O | DMA |
146
+ | 4016 | 1 | I/O | Joystick 1 |
147
+ | 4017 | 1 | I/O | Joystick 2 |
148
+ |-------------+------+-----+------------------------------------|
149
+ | 5000 | | | Expansion modules |
150
+ |-------------+------+-----+------------------------------------|
151
+ | 6000 | | RAM | Cartridge RAM |
152
+ |-------------+------+-----+------------------------------------|
153
+ | 8000 | | ROM | Lower Bank of Cartridge ROM |
154
+ | C000 | | ROM | Upper Bank of Cartridge ROM |
155
+ '--------------------------------------------------------------*/
156
+
157
+ #define Z_NES_ADDRESS_PPU_PATTERN_TABLE_0 0x0000
158
+ #define Z_NES_ADDRESS_PPU_PATTERN_TABLE_1 0x1000
159
+ #define Z_NES_ADDRESS_PPU_UNIVERSAL_BACKGROUND_COLOR 0x3F00
160
+ #define Z_NES_ADDRESS_PPU_BACKGROUND_PALETTE_0
161
+ #define Z_NES_ADDRESS_PPU_BACKGROUND_PALETTE_1
162
+ #define Z_NES_ADDRESS_PPU_BACKGROUND_PALETTE_2
163
+ #define Z_NES_ADDRESS_PPU_BACKGROUND_PALETTE_3
164
+ #define Z_NES_ADDRESS_PPU_SPRITE_PALETTE_0
165
+ #define Z_NES_ADDRESS_PPU_SPRITE_PALETTE_1
166
+ #define Z_NES_ADDRESS_PPU_SPRITE_PALETTE_2
167
+ #define Z_NES_ADDRESS_PPU_SPRITE_PALETTE_3
168
+
169
+ #define Z_NES_MMR_PPU_CONTROL 0x2000 /* Write */
170
+ #define Z_NES_MMR_PPU_MASK 0x2001 /* Write */
171
+ #define Z_NES_MMR_PPU_STATUS 0x2002 /* Read */
172
+ #define Z_NES_MMR_PPU_OAM_ADDRESS 0x2003 /* Write */
173
+ #define Z_NES_MMR_PPU_OAM_DATA 0x2004 /* Read / Write */
174
+ #define Z_NES_MMR_PPU_SCROLL 0x2005 /* Write */
175
+ #define Z_NES_MMR_PPU_ADDRESS 0x2006 /* Write */
176
+ #define Z_NES_MMR_PPU_DATA 0x2007 /* Read / Write */
177
+ #define Z_NES_MMR_APU_SQUARE_WAVE_0A 0x4000
178
+ #define Z_NES_MMR_APU_SQUARE_WAVE_0B 0x4001
179
+ #define Z_NES_MMR_APU_SQUARE_WAVE_0C 0x4002
180
+ #define Z_NES_MMR_APU_SQUARE_WAVE_0D 0x4003
181
+ #define Z_NES_MMR_APU_SQUARE_WAVE_1A 0x4004
182
+ #define Z_NES_MMR_APU_SQUARE_WAVE_1B 0x4005
183
+ #define Z_NES_MMR_APU_SQUARE_WAVE_1C 0x4006
184
+ #define Z_NES_MMR_APU_SQUARE_WAVE_1D 0x4007
185
+ #define Z_NES_MMR_APU_TRIANGLE_WAVE_A 0x4008
186
+ #define Z_NES_MMR_APU_TRIANGLE_WAVE_B 0x4009
187
+ #define Z_NES_MMR_APU_TRIANGLE_WAVE_C 0x400A
188
+ #define Z_NES_MMR_APU_TRIANGLE_WAVE_D 0x400B
189
+ #define Z_NES_MMR_APU_NOISE_A 0x400C
190
+ #define Z_NES_MMR_APU_NOISE_B 0x400D
191
+ #define Z_NES_MMR_APU_NOISE_C 0x400E
192
+ #define Z_NES_MMR_APU_NOISE_D 0x400F
193
+ #define Z_NES_MMR_DMA 0x4014
194
+ #define Z_NES_MMR_JOYSTICK_1 0x4016 /* Read / Write */
195
+ #define Z_NES_MMR_JOYSTICK_2 0x4017 /* Read / Write */
196
+
197
+ /* MARK: - Video */
198
+
199
+ #define Z_NES_PPU_GREYSCALE_MODE_NORMAL_COLOR 0
200
+ #define Z_NES_PPU_GREYSCALE_MODE_AND_ALL_COLORS 1
201
+
202
+ /* MARK: - Input */
203
+
204
+ #define Z_NES_CONTROLLER_BUTTON_A 0x01
205
+ #define Z_NES_CONTROLLER_BUTTON_B 0x02
206
+ #define Z_NES_CONTROLLER_BUTTON_SELECT 0x04
207
+ #define Z_NES_CONTROLLER_BUTTON_START 0x08
208
+ #define Z_NES_CONTROLLER_BUTTON_UP 0x10
209
+ #define Z_NES_CONTROLLER_BUTTON_DOWN 0x20
210
+ #define Z_NES_CONTROLLER_BUTTON_LEFT 0x40
211
+ #define Z_NES_CONTROLLER_BUTTON_RIGHT 0x80
212
+
213
+ /* MARK: - Screen */
214
+
215
+ #define Z_NES_SCREEN_WIDTH 256
216
+ #define Z_NES_SCREEN_HEIGHT 240
217
+
218
+ /* PPU (Picture Processing Unit) */
219
+
220
+
221
+ /*typedef Z_8BIT_FIELD_WITH_8_MEMBERS (
222
+
223
+ ) ZNESSquareWaveRegisterA;*/
224
+
225
+
226
+ /*
227
+ */
228
+
229
+
230
+ /* Square Wave Register A
231
+ .-----------------.
232
+ | 7 6 5 4 3 2 1 0 |
233
+ '-\_/-|-|-\_____/-'
234
+ | | | '----> Volume / Envelope decay rate
235
+ | | '---------> Envelope decay disable
236
+ | '-----------> Length counter clock disable / Envelope decay looping enable
237
+ '--------------> Duty cycle type (Unused on noise channel) */
238
+
239
+ Z_DEFINE_STRICT_STRUCTURE (Z_BIT_FIELD(8, 4) (
240
+ zuint8 duty_cycle_type :2,
241
+ zuint8 envelope_decay_disable :1,
242
+ zuint8 length_counter_clock_disable :1,
243
+ zuint8 volume :4
244
+ )) ZNESSquareWaveA;
245
+
246
+ /* Square Wave Register B
247
+ .-----------------.
248
+ | 7 6 5 4 3 2 1 0 |
249
+ '-|-\___/-|-\___/-'
250
+ | | | '---> Right shift amount
251
+ | | '-------> Decrease / Increase (1/0) wavelength
252
+ | '-----------> Sweep update rate
253
+ '---------------> Sweep enable */
254
+
255
+ Z_DEFINE_STRICT_STRUCTURE (Z_BIT_FIELD(8, 4) (
256
+ zuint8 sweep_enable :1,
257
+ zuint8 sweep_update_rate :3,
258
+ zuint8 decrease_or_increase_wavelength :1,
259
+ zuint8 right_shift_amount :3
260
+ )) ZNESSquareWaveB;
261
+
262
+ /* Square Wave Register C */
263
+
264
+ typedef zuint8 ZNESSquareWaveC;
265
+
266
+ /* Square Wave Register D
267
+ .-----------------.
268
+ | 7 6 5 4 3 2 1 0 |
269
+ '-\_______/-\___/-'
270
+ | '---> 3 MSB of wavelength (Unused on noise channel)
271
+ '-----------> Length counter load register */
272
+
273
+ Z_DEFINE_STRICT_STRUCTURE (
274
+ ) ZNESSquareWaveD;
275
+
276
+ /* Triangle Wave Register A
277
+ .-----------------.
278
+ | 7 6 5 4 3 2 1 0 |
279
+ '-|-\___________/-'
280
+ | '-------> Linear counter load register
281
+ '---------------> Length counter clock disable / Linear counter start */
282
+
283
+ Z_DEFINE_STRICT_STRUCTURE (
284
+ ) ZNESTriangleWaveA;
285
+
286
+ /* Triangle Wave Register B
287
+ .-----------------.
288
+ | 7 6 5 4 3 2 1 0 | Unused
289
+ '-----------------'
290
+ */
291
+
292
+ /* Triangle Wave Register C
293
+ .-----------------.
294
+ | 7 6 5 4 3 2 1 0 | Eight LSB of wavelength
295
+ '-----------------'
296
+ */
297
+
298
+ typedef zuint8 ZNESTriangleWaveC;
299
+
300
+ /* Triangle Wave Register D
301
+ .-----------------.
302
+ | 7 6 5 4 3 2 1 0 |
303
+ '-\_______/-\___/-'
304
+ | '---> 3 MSB of wavelength (Unused on noise channel)
305
+ '-----------> Length counter load register */
306
+
307
+ Z_DEFINE_STRICT_STRUCTURE (
308
+ ) ZNESTriangleWaveD;
309
+
310
+ /* Noise Register A
311
+ .-----------------.
312
+ | 7 6 5 4 3 2 1 0 |
313
+ '-\_/-|-|-\_____/-'
314
+ | | | '----> Volume / Envelope decay rate
315
+ | | '---------> Envelope decay disable
316
+ | '-----------> Length counter clock disable / Envelope decay looping enable
317
+ '--------------> Duty cycle type (Unused on noise channel) */
318
+
319
+ Z_DEFINE_STRICT_STRUCTURE (
320
+ ) ZNESNoiseA;
321
+
322
+ /* Noise Register B
323
+ .-----------------.
324
+ | 7 6 5 4 3 2 1 0 |
325
+ '-----------------'
326
+ Unused
327
+ */
328
+
329
+ /* Noise Register C
330
+ .-----------------.
331
+ | 7 6 5 4 3 2 1 0 |
332
+ '-|-\___/-\_____/-'
333
+ | | '----> Playback sample rate
334
+ | '-----------> Unused
335
+ '---------------> random number type generation */
336
+
337
+ Z_DEFINE_STRICT_STRUCTURE (
338
+ ) ZNESNoiseC;
339
+
340
+ /* Noise Register D
341
+ .-----------------.
342
+ | 7 6 5 4 3 2 1 0 |
343
+ '-\_______/-\___/-'
344
+ | '---> 3 MSB of wavelength (Unused on noise channel)
345
+ '-----------> Length counter load register */
346
+
347
+ Z_DEFINE_STRICT_STRUCTURE (
348
+ ) ZNESNoiseD;
349
+
350
+ #endif /* _Z_hardware_machine_platform_console_Nintendo_Entertainment_System_H_ */
@@ -0,0 +1,238 @@
1
+ /* Z Kit - hardware/storage medium/ROM cartridge/SNES Game Pak.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_hardware_storage_medium_ROM_cartridge_SNES_Game_Pak_H_
9
+ #define _Z_hardware_storage_medium_ROM_cartridge_SNES_Game_Pak_H_
10
+
11
+ #include <Z/types/base.h>
12
+
13
+ Z_DEFINE_STRICT_STRUCTURE (
14
+ zuint8 name[21];
15
+ zuint8 layout;
16
+ zuint8 type;
17
+ zuint8 rom_size;
18
+ zuint8 ram_size;
19
+ zuint8 region;
20
+ zuint8 license;
21
+ zuint8 version;
22
+ zuint16 checksum;
23
+ zuint16 snes_checksum;
24
+ zuint8 unknown1[4];
25
+ zuint8 native_cop_interrupt_rutine_pointer;
26
+ zuint8 native_brk_interrupt_rutine_pointer;
27
+ zuint8 native_abort_interrupt_rutine_pointer;
28
+ zuint8 native_unused;
29
+ zuint8 native_irq_interrupt_rutine_pointer;
30
+ zuint8 unknown2[4];
31
+ zuint8 emulation_cop_interrupt_rutine_pointer;
32
+ zuint8 emulation_unused;
33
+ zuint8 emulation_abort_interrupt_rutine_pointer;
34
+ zuint8 emulation_nmi_interrupt_rutine_pointer;
35
+ zuint8 emulation_reset_interrupt_rutine_pointer;
36
+ zuint8 emulation_irq_or_brk_interrupt_rutine_pointer;
37
+ ) ZSNESGamePakHeader;
38
+
39
+ #define Z_SNES_GAME_PAK_LAYOUT_LO_ROM 0x20
40
+ #define Z_SNES_GAME_PAK_LAYOUT_HI_ROM 0x21
41
+ #define Z_SNES_GAME_PAK_LAYOUT_LO_ROM_FAST 0x30
42
+ #define Z_SNES_GAME_PAK_LAYOUT_HI_ROM_FAST 0x31
43
+
44
+ #define Z_SNES_GAME_PAK_TYPE_ROM_ONLY 0x00
45
+ #define Z_SNES_GAME_PAK_TYPE_ROM_AND_RAM 0x01
46
+ #define Z_SNES_GAME_PAK_TYPE_ROM_AND_SAVE_RAM 0x02
47
+ #define Z_SNES_GAME_PAK_TYPE_ROM_AND_SUPER_FX_A 0x13
48
+ #define Z_SNES_GAME_PAK_TYPE_ROM_AND_SUPER_FX_B 0x14
49
+ #define Z_SNES_GAME_PAK_TYPE_ROM_SAVE_RAM_AND_SUPER_FX_A 0x15
50
+ #define Z_SNES_GAME_PAK_TYPE_ROM_SAVE_RAM_AND_SUPER_FX_B 0x1A
51
+ #define Z_SNES_GAME_PAK_TYPE_ROM_AND_SA_1_A 0x34
52
+ #define Z_SNES_GAME_PAK_TYPE_ROM_AND_SA_1_B 0x35
53
+
54
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_0 0x00
55
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_2_KIB 0x01
56
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_4_KIB 0x02
57
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_8_KIB 0x03
58
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_16_KIB 0x04
59
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_32_KIB 0x05
60
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_64_KIB 0x06
61
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_128_KIB 0x07
62
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_256_KIB 0x08
63
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_512_KIB 0x09
64
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_1_MIB 0x0A
65
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_2_MIB 0x0B
66
+ #define Z_SNES_GAME_PAK_MEMORY_SIZE_4_MIB 0x0C
67
+
68
+ #define Z_SNES_GAME_PAK_REGION_JP 0
69
+ #define Z_SNES_GAME_PAK_REGION_US 1
70
+ #define Z_SNES_GAME_PAK_REGION_AU_EU_OC_AND_AS 2
71
+ #define Z_SNES_GAME_PAK_REGION_SE 3
72
+ #define Z_SNES_GAME_PAK_REGION_FI 4
73
+ #define Z_SNES_GAME_PAK_REGION_DK 5
74
+ #define Z_SNES_GAME_PAK_REGION_FR 6
75
+ #define Z_SNES_GAME_PAK_REGION_NL 7
76
+ #define Z_SNES_GAME_PAK_REGION_ES 8
77
+ #define Z_SNES_GAME_PAK_REGION_DE_AT_AND_CH 9
78
+ #define Z_SNES_GAME_PAK_REGION_IT 10
79
+ #define Z_SNES_GAME_PAK_REGION_HK_AND_CN 11
80
+ #define Z_SNES_GAME_PAK_REGION_ID 12
81
+ #define Z_SNES_GAME_PAK_REGION_KR 13
82
+
83
+ #define Z_SNES_GAME_PAK_LICENSE_NINTENDO 1
84
+ #define Z_SNES_GAME_PAK_LICENSE_IMAGINEER_ZOOM 3
85
+ #define Z_SNES_GAME_PAK_LICENSE_ZAMUSE 5
86
+ #define Z_SNES_GAME_PAK_LICENSE_FALCOM 6
87
+ #define Z_SNES_GAME_PAK_LICENSE_CAPCOM 8
88
+ #define Z_SNES_GAME_PAK_LICENSE_HOT_B 9
89
+ #define Z_SNES_GAME_PAK_LICENSE_JALECO 10
90
+ #define Z_SNES_GAME_PAK_LICENSE_COCONUTS 11
91
+ #define Z_SNES_GAME_PAK_LICENSE_RAGE_SOFTWARE 12
92
+ #define Z_SNES_GAME_PAK_LICENSE_TECHNOS 14
93
+ #define Z_SNES_GAME_PAK_LICENSE_MEBIO_SOFTWARE 15
94
+ #define Z_SNES_GAME_PAK_LICENSE_GREMLIN_GRAPHICS 18
95
+ #define Z_SNES_GAME_PAK_LICENSE_ELECTRONIC_ARTS 19
96
+ #define Z_SNES_GAME_PAK_LICENSE_COBRA_TEAM 21
97
+ #define Z_SNES_GAME_PAK_LICENSE_HUMAN_FIELD 22
98
+ #define Z_SNES_GAME_PAK_LICENSE_KOEI 23
99
+ #define Z_SNES_GAME_PAK_LICENSE_HUDSON_SOFT 24
100
+ #define Z_SNES_GAME_PAK_LICENSE_YANOMAN 26
101
+ #define Z_SNES_GAME_PAK_LICENSE_TECMO 28
102
+ #define Z_SNES_GAME_PAK_LICENSE_OPEN_SYSTEM 30
103
+ #define Z_SNES_GAME_PAK_LICENSE_VIRGIN_GAMES 31
104
+ #define Z_SNES_GAME_PAK_LICENSE_KSS 32
105
+ #define Z_SNES_GAME_PAK_LICENSE_SUNSOFT 33
106
+ #define Z_SNES_GAME_PAK_LICENSE_POW 34
107
+ #define Z_SNES_GAME_PAK_LICENSE_MICRO_WORLD 35
108
+ #define Z_SNES_GAME_PAK_LICENSE_ENIX 38
109
+ #define Z_SNES_GAME_PAK_LICENSE_LORICIEL_ELECTRO_BRAIN 39
110
+ #define Z_SNES_GAME_PAK_LICENSE_KEMCO 40
111
+ #define Z_SNES_GAME_PAK_LICENSE_SETA 41
112
+ #define Z_SNES_GAME_PAK_LICENSE_VISIT 45
113
+ #define Z_SNES_GAME_PAK_LICENSE_CARROZZERIA 49
114
+ #define Z_SNES_GAME_PAK_LICENSE_DYNAMIC 50
115
+ #define Z_SNES_GAME_PAK_LICENSE_NINTENDO 51
116
+ #define Z_SNES_GAME_PAK_LICENSE_MAGIFACT 52
117
+ #define Z_SNES_GAME_PAK_LICENSE_HECT 53
118
+ #define Z_SNES_GAME_PAK_LICENSE_EMPIRE_SOFTWARE 60
119
+ #define Z_SNES_GAME_PAK_LICENSE_LORICIEL 61
120
+ #define Z_SNES_GAME_PAK_LICENSE_SEIKA 64
121
+ #define Z_SNES_GAME_PAK_LICENSE_UBI_SOFT 65
122
+ #define Z_SNES_GAME_PAK_LICENSE_SYSTEM_3 70
123
+ #define Z_SNES_GAME_PAK_LICENSE_SPECTRUM_HOLOBYTE 71
124
+ #define Z_SNES_GAME_PAK_LICENSE_IREM 73
125
+ #define Z_SNES_GAME_PAK_LICENSE_RAYA_SYSTEMS_SCULPTURED_SOFTWARE 75
126
+ #define Z_SNES_GAME_PAK_LICENSE_RENOVATION_PRODUCTS 76
127
+ #define Z_SNES_GAME_PAK_LICENSE_MALIBU_GAMES_BLACK_PEARL 77
128
+ #define Z_SNES_GAME_PAK_LICENSE_US_GOLD 79
129
+ #define Z_SNES_GAME_PAK_LICENSE_ABSOLUTE_ENTERTAINMENT 80
130
+ #define Z_SNES_GAME_PAK_LICENSE_ACCLAIM 81
131
+ #define Z_SNES_GAME_PAK_LICENSE_ACTIVISION 82
132
+ #define Z_SNES_GAME_PAK_LICENSE_AMERICAN_SAMMY 83
133
+ #define Z_SNES_GAME_PAK_LICENSE_GAMETEK 84
134
+ #define Z_SNES_GAME_PAK_LICENSE_HI_TECH_EXPRESSIONS 85
135
+ #define Z_SNES_GAME_PAK_LICENSE_LJN_TOYS 86
136
+ #define Z_SNES_GAME_PAK_LICENSE_MINDSCAPE 90
137
+ #define Z_SNES_GAME_PAK_LICENSE_TRADEWEST 93
138
+ #define Z_SNES_GAME_PAK_LICENSE_AMERICAN_SOFTWORKS 95
139
+ #define Z_SNES_GAME_PAK_LICENSE_TITUS 96
140
+ #define Z_SNES_GAME_PAK_LICENSE_VIRGIN_INTERACTIVE_ENTERTAINMENT 97
141
+ #define Z_SNES_GAME_PAK_LICENSE_MAXIS 98
142
+ #define Z_SNES_GAME_PAK_LICENSE_OCEAN 103
143
+ #define Z_SNES_GAME_PAK_LICENSE_ELECTRONIC_ARTS 105
144
+ #define Z_SNES_GAME_PAK_LICENSE_LASER_BEAM 107
145
+ #define Z_SNES_GAME_PAK_LICENSE_ELITE 110
146
+ #define Z_SNES_GAME_PAK_LICENSE_ELECTRO_BRAIN 111
147
+ #define Z_SNES_GAME_PAK_LICENSE_INFOGRAMES 112
148
+ #define Z_SNES_GAME_PAK_LICENSE_INTERPLAY 113
149
+ #define Z_SNES_GAME_PAK_LICENSE_LUCASARTS 114
150
+ #define Z_SNES_GAME_PAK_LICENSE_PARKER_BROTHERS 115
151
+ #define Z_SNES_GAME_PAK_LICENSE_STORM 117
152
+ #define Z_SNES_GAME_PAK_LICENSE_THZ_SOFTWARE 120
153
+ #define Z_SNES_GAME_PAK_LICENSE_ACCOLADE 121
154
+ #define Z_SNES_GAME_PAK_LICENSE_TRIFFIX_ENTERTAINMENT 122
155
+ #define Z_SNES_GAME_PAK_LICENSE_MICROPROSE 124
156
+ #define Z_SNES_GAME_PAK_LICENSE_KEMCO 127
157
+ #define Z_SNES_GAME_PAK_LICENSE_MISAWA 128
158
+ #define Z_SNES_GAME_PAK_LICENSE_TEICHIO 129
159
+ #define Z_SNES_GAME_PAK_LICENSE_NAMCO 130
160
+ #define Z_SNES_GAME_PAK_LICENSE_LOZC 131
161
+ #define Z_SNES_GAME_PAK_LICENSE_KOEI 132
162
+ #define Z_SNES_GAME_PAK_LICENSE_TOKUMA_SHOTEN_INTERMEDIA 134
163
+ #define Z_SNES_GAME_PAK_LICENSE_DATAM_POLYSTAR 136
164
+ #define Z_SNES_GAME_PAK_LICENSE_BULLET_PROOF_SOFTWARE 139
165
+ #define Z_SNES_GAME_PAK_LICENSE_VIC_TOKAI 140
166
+ #define Z_SNES_GAME_PAK_LICENSE_CHARACTER_SOFT 142
167
+ #define Z_SNES_GAME_PAK_LICENSE_I_MAX 143
168
+ #define Z_SNES_GAME_PAK_LICENSE_TAKARA 144
169
+ #define Z_SNES_GAME_PAK_LICENSE_CHUN_SOFT 145
170
+ #define Z_SNES_GAME_PAK_LICENSE_VIDEO_SYSTEM 146
171
+ #define Z_SNES_GAME_PAK_LICENSE_BEC 147
172
+ #define Z_SNES_GAME_PAK_LICENSE_VARIE 149
173
+ #define Z_SNES_GAME_PAK_LICENSE_KANECO 151
174
+ #define Z_SNES_GAME_PAK_LICENSE_PACK_IN_VIDEO 153
175
+ #define Z_SNES_GAME_PAK_LICENSE_NICHIBUTSU 154
176
+ #define Z_SNES_GAME_PAK_LICENSE_TECMO 155
177
+ #define Z_SNES_GAME_PAK_LICENSE_IMAGINEER 156
178
+ #define Z_SNES_GAME_PAK_LICENSE_TELENET 160
179
+ #define Z_SNES_GAME_PAK_LICENSE_KONAMI 164
180
+ #define Z_SNES_GAME_PAK_LICENSE_K_AMUSEMENT_LEASING 165
181
+ #define Z_SNES_GAME_PAK_LICENSE_TAKARA 167
182
+ #define Z_SNES_GAME_PAK_LICENSE_TECHNOS_JAPAN 169
183
+ #define Z_SNES_GAME_PAK_LICENSE_JVC 170
184
+ #define Z_SNES_GAME_PAK_LICENSE_TOEI_ANIMATION 172
185
+ #define Z_SNES_GAME_PAK_LICENSE_TOHO 173
186
+ #define Z_SNES_GAME_PAK_LICENSE_NAMCO 175
187
+ #define Z_SNES_GAME_PAK_LICENSE_ASCII_ACTIVISON 177
188
+ #define Z_SNES_GAME_PAK_LICENSE_BANDAI_AMERICA 178
189
+ #define Z_SNES_GAME_PAK_LICENSE_ENIX 180
190
+ #define Z_SNES_GAME_PAK_LICENSE_HALKEN 182
191
+ #define Z_SNES_GAME_PAK_LICENSE_CULTURE_BRAIN 186
192
+ #define Z_SNES_GAME_PAK_LICENSE_SUNSOFT 187
193
+ #define Z_SNES_GAME_PAK_LICENSE_TOSHIBA_EMI 188
194
+ #define Z_SNES_GAME_PAK_LICENSE_SONY_IMAGESOFT 189
195
+ #define Z_SNES_GAME_PAK_LICENSE_SAMMY 191
196
+ #define Z_SNES_GAME_PAK_LICENSE_TAITO 192
197
+ #define Z_SNES_GAME_PAK_LICENSE_KEMCO 194
198
+ #define Z_SNES_GAME_PAK_LICENSE_SQUARE 195
199
+ #define Z_SNES_GAME_PAK_LICENSE_TOKUMA_SOFT 196
200
+ #define Z_SNES_GAME_PAK_LICENSE_DATA_EAST 197
201
+ #define Z_SNES_GAME_PAK_LICENSE_TONKIN_HOUSE 198
202
+ #define Z_SNES_GAME_PAK_LICENSE_KOEI 200
203
+ #define Z_SNES_GAME_PAK_LICENSE_KONAMI_USA 202
204
+ #define Z_SNES_GAME_PAK_LICENSE_NTVIC 203
205
+ #define Z_SNES_GAME_PAK_LICENSE_MELDAC 205
206
+ #define Z_SNES_GAME_PAK_LICENSE_PONY_CANYON 206
207
+ #define Z_SNES_GAME_PAK_LICENSE_SOTSU_AGENCY_SUNRISE 207
208
+ #define Z_SNES_GAME_PAK_LICENSE_DISCO_TAITO 208
209
+ #define Z_SNES_GAME_PAK_LICENSE_SOFEL 209
210
+ #define Z_SNES_GAME_PAK_LICENSE_QUEST 210
211
+ #define Z_SNES_GAME_PAK_LICENSE_SIGMA 211
212
+ #define Z_SNES_GAME_PAK_LICENSE_NAXAT 214
213
+ #define Z_SNES_GAME_PAK_LICENSE_CAPCOM 216
214
+ #define Z_SNES_GAME_PAK_LICENSE_BANPRESTO 217
215
+ #define Z_SNES_GAME_PAK_LICENSE_TOMY 218
216
+ #define Z_SNES_GAME_PAK_LICENSE_ACCLAIM 219
217
+ #define Z_SNES_GAME_PAK_LICENSE_NCS 221
218
+ #define Z_SNES_GAME_PAK_LICENSE_HUMAN_ENTERTAINMENT 222
219
+ #define Z_SNES_GAME_PAK_LICENSE_ALTRON 223
220
+ #define Z_SNES_GAME_PAK_LICENSE_JALECO 224
221
+ #define Z_SNES_GAME_PAK_LICENSE_YUTAKA 226
222
+ #define Z_SNES_GAME_PAK_LICENSE_T_AND_ESOFT 228
223
+ #define Z_SNES_GAME_PAK_LICENSE_EPOCH 229
224
+ #define Z_SNES_GAME_PAK_LICENSE_ATHENA 231
225
+ #define Z_SNES_GAME_PAK_LICENSE_ASMIK 232
226
+ #define Z_SNES_GAME_PAK_LICENSE_NATSUME 233
227
+ #define Z_SNES_GAME_PAK_LICENSE_KING_RECORDS 234
228
+ #define Z_SNES_GAME_PAK_LICENSE_ATLUS 235
229
+ #define Z_SNES_GAME_PAK_LICENSE_SONY_MUSIC_ENTERTAINMENT 236
230
+ #define Z_SNES_GAME_PAK_LICENSE_IGS 238
231
+ #define Z_SNES_GAME_PAK_LICENSE_MOTOWN_SOFTWARE 241
232
+ #define Z_SNES_GAME_PAK_LICENSE_LEFT_FIELD_ENTERTAINMENT 242
233
+ #define Z_SNES_GAME_PAK_LICENSE_BEAM_SOFTWARE 243
234
+ #define Z_SNES_GAME_PAK_LICENSE_TEC_MAGIK 244
235
+ #define Z_SNES_GAME_PAK_LICENSE_CYBERSOFT 249
236
+ #define Z_SNES_GAME_PAK_LICENSE_HUDSON_SOFT 255
237
+
238
+ #endif /* _Z_hardware_storage_medium_ROM_cartridge_SNES_Game_Pak_H_ */