romdev-mcp 0.1.1

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 (1247) hide show
  1. package/AGENTS.md +726 -0
  2. package/LICENSE +45 -0
  3. package/NOTICE +86 -0
  4. package/README.md +46 -0
  5. package/examples/README.md +36 -0
  6. package/examples/art-first-workflow/README.md +205 -0
  7. package/examples/atari2600/main.asm +143 -0
  8. package/examples/atari2600/templates/default.asm +183 -0
  9. package/examples/atari2600/templates/mini_invaders.asm +381 -0
  10. package/examples/atari2600/templates/music_demo.asm +322 -0
  11. package/examples/atari2600/templates/paddle.asm +345 -0
  12. package/examples/atari2600/templates/single_screen.asm +242 -0
  13. package/examples/atari7800/main.c +88 -0
  14. package/examples/atari7800/templates/default.c +183 -0
  15. package/examples/atari7800/templates/hello_sprite.c +141 -0
  16. package/examples/atari7800/templates/music_demo.c +123 -0
  17. package/examples/atari7800/templates/platformer.c +159 -0
  18. package/examples/atari7800/templates/puzzle.c +164 -0
  19. package/examples/atari7800/templates/racing.c +139 -0
  20. package/examples/atari7800/templates/shmup.c +148 -0
  21. package/examples/atari7800/templates/sports.c +207 -0
  22. package/examples/c64/main.c +63 -0
  23. package/examples/c64/templates/hello_sprite.c +117 -0
  24. package/examples/c64/templates/music_demo.c +131 -0
  25. package/examples/c64/templates/platformer.c +194 -0
  26. package/examples/c64/templates/puzzle.c +178 -0
  27. package/examples/c64/templates/racing.c +140 -0
  28. package/examples/c64/templates/shmup.c +201 -0
  29. package/examples/c64/templates/sports.c +109 -0
  30. package/examples/c64/templates/tile_engine.c +174 -0
  31. package/examples/gb/main.asm +106 -0
  32. package/examples/gb/main.c +49 -0
  33. package/examples/gb/templates/default.c +58 -0
  34. package/examples/gb/templates/hello_sprite.c +130 -0
  35. package/examples/gb/templates/music_demo.c +52 -0
  36. package/examples/gb/templates/platformer.c +178 -0
  37. package/examples/gb/templates/puzzle.c +217 -0
  38. package/examples/gb/templates/racing.c +158 -0
  39. package/examples/gb/templates/shmup.c +172 -0
  40. package/examples/gb/templates/sports.c +136 -0
  41. package/examples/gb/templates/tile_engine.c +280 -0
  42. package/examples/gba/templates/gba_hello.c +64 -0
  43. package/examples/gba/templates/maxmod_demo.c +105 -0
  44. package/examples/gba/templates/platformer.c +215 -0
  45. package/examples/gba/templates/puzzle.c +237 -0
  46. package/examples/gba/templates/racing.c +175 -0
  47. package/examples/gba/templates/shmup.c +197 -0
  48. package/examples/gba/templates/sports.c +177 -0
  49. package/examples/gba/templates/tonc_hello.c +72 -0
  50. package/examples/gba/templates/tonc_hello_sprite.c +109 -0
  51. package/examples/gbc/main.asm +123 -0
  52. package/examples/gbc/templates/default.c +61 -0
  53. package/examples/gbc/templates/hello_sprite.c +140 -0
  54. package/examples/gbc/templates/music_demo.c +63 -0
  55. package/examples/gbc/templates/platformer.c +181 -0
  56. package/examples/gbc/templates/puzzle.c +217 -0
  57. package/examples/gbc/templates/racing.c +164 -0
  58. package/examples/gbc/templates/shmup.c +188 -0
  59. package/examples/gbc/templates/sports.c +142 -0
  60. package/examples/gbc/templates/tile_engine.c +280 -0
  61. package/examples/genesis/main.s +161 -0
  62. package/examples/genesis/templates/hello_sprite.c +75 -0
  63. package/examples/genesis/templates/platformer.c +166 -0
  64. package/examples/genesis/templates/puzzle.c +240 -0
  65. package/examples/genesis/templates/racing.c +170 -0
  66. package/examples/genesis/templates/sgdk_hello.c +41 -0
  67. package/examples/genesis/templates/shmup.c +188 -0
  68. package/examples/genesis/templates/shmup_2p.c +244 -0
  69. package/examples/genesis/templates/sports.c +172 -0
  70. package/examples/genesis/templates/tile_engine.c +135 -0
  71. package/examples/genesis/templates/xgm2_demo.c +53 -0
  72. package/examples/genesis/templates/xgm2_demo_data.s +27 -0
  73. package/examples/gg/main.c +10 -0
  74. package/examples/gg/templates/default.c +156 -0
  75. package/examples/gg/templates/hello_sprite.c +90 -0
  76. package/examples/gg/templates/music_demo.c +156 -0
  77. package/examples/gg/templates/platformer.c +220 -0
  78. package/examples/gg/templates/puzzle.c +204 -0
  79. package/examples/gg/templates/racing.c +161 -0
  80. package/examples/gg/templates/shmup.c +188 -0
  81. package/examples/gg/templates/sports.c +137 -0
  82. package/examples/gg/templates/tile_engine.c +137 -0
  83. package/examples/lynx/main.c +4 -0
  84. package/examples/lynx/templates/default.c +41 -0
  85. package/examples/lynx/templates/hello_sprite.c +39 -0
  86. package/examples/lynx/templates/music_demo.c +37 -0
  87. package/examples/lynx/templates/platformer.c +72 -0
  88. package/examples/lynx/templates/puzzle.c +142 -0
  89. package/examples/lynx/templates/racing.c +94 -0
  90. package/examples/lynx/templates/shmup.c +132 -0
  91. package/examples/lynx/templates/sports.c +59 -0
  92. package/examples/nes/main.c +143 -0
  93. package/examples/nes/space-shooter/README.md +68 -0
  94. package/examples/nes/space-shooter/main.c +441 -0
  95. package/examples/nes/space-shooter/nes_runtime.c +347 -0
  96. package/examples/nes/space-shooter/nes_runtime.h +141 -0
  97. package/examples/nes/templates/default.c +41 -0
  98. package/examples/nes/templates/hello_sprite.c +104 -0
  99. package/examples/nes/templates/music_demo.c +80 -0
  100. package/examples/nes/templates/platformer.c +171 -0
  101. package/examples/nes/templates/puzzle.c +232 -0
  102. package/examples/nes/templates/racing.c +203 -0
  103. package/examples/nes/templates/shmup.c +228 -0
  104. package/examples/nes/templates/sports.c +205 -0
  105. package/examples/nes/templates/tile_engine.c +224 -0
  106. package/examples/porting-across-platforms/README.md +59 -0
  107. package/examples/sms/main.c +129 -0
  108. package/examples/sms/templates/default.c +110 -0
  109. package/examples/sms/templates/hello_sprite.c +90 -0
  110. package/examples/sms/templates/music_demo.c +151 -0
  111. package/examples/sms/templates/platformer.c +215 -0
  112. package/examples/sms/templates/puzzle.c +204 -0
  113. package/examples/sms/templates/racing.c +161 -0
  114. package/examples/sms/templates/shmup.c +167 -0
  115. package/examples/sms/templates/shmup_2p.c +219 -0
  116. package/examples/sms/templates/sports.c +147 -0
  117. package/examples/sms/templates/tile_engine.c +137 -0
  118. package/examples/snes/main.asm +70 -0
  119. package/examples/snes/templates/c-hello-data.asm +28 -0
  120. package/examples/snes/templates/c-hello.c +71 -0
  121. package/examples/snes/templates/default-data.asm +36 -0
  122. package/examples/snes/templates/default.c +74 -0
  123. package/examples/snes/templates/hello_sprite-data.asm +45 -0
  124. package/examples/snes/templates/hello_sprite.c +76 -0
  125. package/examples/snes/templates/music_demo-data.asm +20 -0
  126. package/examples/snes/templates/music_demo.c +83 -0
  127. package/examples/snes/templates/platformer-data.asm +27 -0
  128. package/examples/snes/templates/platformer.c +142 -0
  129. package/examples/snes/templates/puzzle-data.asm +14 -0
  130. package/examples/snes/templates/puzzle.c +199 -0
  131. package/examples/snes/templates/racing-data.asm +33 -0
  132. package/examples/snes/templates/racing.c +146 -0
  133. package/examples/snes/templates/shmup-data.asm +61 -0
  134. package/examples/snes/templates/shmup.c +199 -0
  135. package/examples/snes/templates/sports-data.asm +28 -0
  136. package/examples/snes/templates/sports.c +144 -0
  137. package/package.json +83 -0
  138. package/src/cli/smoke.js +283 -0
  139. package/src/cores/registry.js +95 -0
  140. package/src/host/LibretroHost.js +502 -0
  141. package/src/host/callbacks.js +444 -0
  142. package/src/host/chafa-render.js +170 -0
  143. package/src/host/coreLoader.js +57 -0
  144. package/src/host/cpu-state.js +422 -0
  145. package/src/host/dsp-state.js +188 -0
  146. package/src/host/framebuffer.js +115 -0
  147. package/src/host/gpgx-state.js +309 -0
  148. package/src/host/index.js +4 -0
  149. package/src/host/retroConstants.js +72 -0
  150. package/src/host/snes9x-state.js +35 -0
  151. package/src/host/types.js +280 -0
  152. package/src/mcp/disclosure.js +250 -0
  153. package/src/mcp/log.js +87 -0
  154. package/src/mcp/server.js +433 -0
  155. package/src/mcp/state.js +83 -0
  156. package/src/mcp/tools/address-to-symbol.js +151 -0
  157. package/src/mcp/tools/art-loaders.js +740 -0
  158. package/src/mcp/tools/assets.js +89 -0
  159. package/src/mcp/tools/audio.js +173 -0
  160. package/src/mcp/tools/cart-parts.js +649 -0
  161. package/src/mcp/tools/diff-roms.js +412 -0
  162. package/src/mcp/tools/disasm.js +980 -0
  163. package/src/mcp/tools/find-references.js +361 -0
  164. package/src/mcp/tools/font-map.js +353 -0
  165. package/src/mcp/tools/frame.js +249 -0
  166. package/src/mcp/tools/free-space.js +95 -0
  167. package/src/mcp/tools/index.js +351 -0
  168. package/src/mcp/tools/input-layout.js +215 -0
  169. package/src/mcp/tools/input.js +142 -0
  170. package/src/mcp/tools/lifecycle.js +110 -0
  171. package/src/mcp/tools/lospec.js +156 -0
  172. package/src/mcp/tools/memory.js +169 -0
  173. package/src/mcp/tools/metasprite-tools.js +261 -0
  174. package/src/mcp/tools/platform-docs.js +102 -0
  175. package/src/mcp/tools/platform-tools.js +1063 -0
  176. package/src/mcp/tools/platforms.js +86 -0
  177. package/src/mcp/tools/playtest.js +280 -0
  178. package/src/mcp/tools/preview-tile.js +360 -0
  179. package/src/mcp/tools/project.js +1885 -0
  180. package/src/mcp/tools/record.js +131 -0
  181. package/src/mcp/tools/rendering-context.js +700 -0
  182. package/src/mcp/tools/rom-id.js +256 -0
  183. package/src/mcp/tools/run-until.js +173 -0
  184. package/src/mcp/tools/snippets.js +235 -0
  185. package/src/mcp/tools/splice-chr.js +215 -0
  186. package/src/mcp/tools/sprite-pipeline.js +614 -0
  187. package/src/mcp/tools/state.js +99 -0
  188. package/src/mcp/tools/symbols.js +277 -0
  189. package/src/mcp/tools/tile-inspect.js +206 -0
  190. package/src/mcp/tools/toolchain.js +680 -0
  191. package/src/mcp/tools/watch-memory.js +212 -0
  192. package/src/mcp/tools/which-tiles.js +193 -0
  193. package/src/mcp/util.js +85 -0
  194. package/src/observer/bus.js +127 -0
  195. package/src/observer/livestream.html +589 -0
  196. package/src/observer/server.js +66 -0
  197. package/src/observer/tool-wrap.js +115 -0
  198. package/src/platforms/atari2600/MENTAL_MODEL.md +185 -0
  199. package/src/platforms/atari2600/TROUBLESHOOTING.md +155 -0
  200. package/src/platforms/atari2600/UPSTREAM_SOURCES.md +49 -0
  201. package/src/platforms/atari2600/lib/README.md +67 -0
  202. package/src/platforms/atari2600/lib/cc65-src/crt0.s +49 -0
  203. package/src/platforms/atari2600/lib/cc65-src/ctype.s +5 -0
  204. package/src/platforms/atari2600/lib/kernel_skeleton.asm +85 -0
  205. package/src/platforms/atari2600/lib/player_kernel.asm +87 -0
  206. package/src/platforms/atari2600/lib/playfield_kernel.asm +63 -0
  207. package/src/platforms/atari2600/lib/read_joystick.asm +76 -0
  208. package/src/platforms/atari2600/lib/score_kernel.asm +141 -0
  209. package/src/platforms/atari2600/lib/vcs_constants.h +97 -0
  210. package/src/platforms/atari2600/lib/vectors.asm +16 -0
  211. package/src/platforms/atari2600/tia.js +355 -0
  212. package/src/platforms/atari7800/MENTAL_MODEL.md +306 -0
  213. package/src/platforms/atari7800/TROUBLESHOOTING.md +195 -0
  214. package/src/platforms/atari7800/UPSTREAM_SOURCES.md +43 -0
  215. package/src/platforms/atari7800/lib/README.md +45 -0
  216. package/src/platforms/atari7800/lib/c/atari7800_music.c +215 -0
  217. package/src/platforms/atari7800/lib/c/atari7800_music.h +33 -0
  218. package/src/platforms/atari7800/lib/c/atari7800_sfx.c +74 -0
  219. package/src/platforms/atari7800/lib/c/atari7800_sfx.h +45 -0
  220. package/src/platforms/atari7800/lib/cc65-src/clock.s +69 -0
  221. package/src/platforms/atari7800/lib/cc65-src/clocks_per_sec.s +34 -0
  222. package/src/platforms/atari7800/lib/cc65-src/clrscr.s +27 -0
  223. package/src/platforms/atari7800/lib/cc65-src/conio.s +226 -0
  224. package/src/platforms/atari7800/lib/cc65-src/conio_font.s +278 -0
  225. package/src/platforms/atari7800/lib/cc65-src/cputc.s +139 -0
  226. package/src/platforms/atari7800/lib/cc65-src/crt0.s +71 -0
  227. package/src/platforms/atari7800/lib/cc65-src/ctype.s +5 -0
  228. package/src/platforms/atari7800/lib/cc65-src/exehdr.s +46 -0
  229. package/src/platforms/atari7800/lib/cc65-src/extra/mono.s +28 -0
  230. package/src/platforms/atari7800/lib/cc65-src/extzp.inc +15 -0
  231. package/src/platforms/atari7800/lib/cc65-src/extzp.s +15 -0
  232. package/src/platforms/atari7800/lib/cc65-src/get_tv.s +65 -0
  233. package/src/platforms/atari7800/lib/cc65-src/irq.s +36 -0
  234. package/src/platforms/atari7800/lib/cc65-src/joy/atari7800-stdjoy.s +197 -0
  235. package/src/platforms/atari7800/lib/cc65-src/joy_stat_stddrv.s +14 -0
  236. package/src/platforms/atari7800/lib/cc65-src/libref.s +8 -0
  237. package/src/platforms/atari7800/lib/cc65-src/mono_clrscr.s +27 -0
  238. package/src/platforms/atari7800/lib/cc65-src/mono_conio.s +231 -0
  239. package/src/platforms/atari7800/lib/cc65-src/mono_cputc.s +102 -0
  240. package/src/platforms/atari7800/lib/cc65-src/mono_font.s +2065 -0
  241. package/src/platforms/atari7800/lib/cc65-src/mono_setcursor.s +214 -0
  242. package/src/platforms/atari7800/lib/cc65-src/setcursor.s +214 -0
  243. package/src/platforms/atari7800/lib/cc65-src/textcolor.s +53 -0
  244. package/src/platforms/atari7800/lib/cc65-src/wherex.s +19 -0
  245. package/src/platforms/atari7800/lib/cc65-src/wherey.s +19 -0
  246. package/src/platforms/atari7800/lib/display_list.asm +53 -0
  247. package/src/platforms/atari7800/lib/maria_init.asm +48 -0
  248. package/src/platforms/atari7800/lib/maria_registers.h +61 -0
  249. package/src/platforms/atari7800/lib/palette_load.asm +53 -0
  250. package/src/platforms/atari7800/lib/read_pad.asm +57 -0
  251. package/src/platforms/atari7800/lib/vblank_wait.asm +16 -0
  252. package/src/platforms/atari7800/maria.js +220 -0
  253. package/src/platforms/c64/MENTAL_MODEL.md +175 -0
  254. package/src/platforms/c64/TROUBLESHOOTING.md +130 -0
  255. package/src/platforms/c64/UPSTREAM_SOURCES.md +35 -0
  256. package/src/platforms/c64/image-to-tilemap.js +190 -0
  257. package/src/platforms/c64/lib/README.md +52 -0
  258. package/src/platforms/c64/lib/basic_stub.s +25 -0
  259. package/src/platforms/c64/lib/c/c64_music.c +248 -0
  260. package/src/platforms/c64/lib/c/c64_music.h +36 -0
  261. package/src/platforms/c64/lib/c/c64_sfx.c +94 -0
  262. package/src/platforms/c64/lib/c/c64_sfx.h +37 -0
  263. package/src/platforms/c64/lib/c64_registers.h +108 -0
  264. package/src/platforms/c64/lib/cc65-src/_scrsize.s +12 -0
  265. package/src/platforms/c64/lib/cc65-src/acc_c128_speed.s +5 -0
  266. package/src/platforms/c64/lib/cc65-src/acc_c64dtv_speed.s +64 -0
  267. package/src/platforms/c64/lib/cc65-src/acc_c65_speed.s +69 -0
  268. package/src/platforms/c64/lib/cc65-src/acc_chameleon_speed.s +100 -0
  269. package/src/platforms/c64/lib/cc65-src/acc_detect_c128.s +33 -0
  270. package/src/platforms/c64/lib/cc65-src/acc_detect_c64dtv.s +44 -0
  271. package/src/platforms/c64/lib/cc65-src/acc_detect_c65.s +55 -0
  272. package/src/platforms/c64/lib/cc65-src/acc_detect_chameleon.s +39 -0
  273. package/src/platforms/c64/lib/cc65-src/acc_detect_scpu.s +34 -0
  274. package/src/platforms/c64/lib/cc65-src/acc_detect_turbomaster.s +45 -0
  275. package/src/platforms/c64/lib/cc65-src/acc_scpu_speed.s +59 -0
  276. package/src/platforms/c64/lib/cc65-src/acc_turbomaster_speed.s +56 -0
  277. package/src/platforms/c64/lib/cc65-src/bordercolor.s +17 -0
  278. package/src/platforms/c64/lib/cc65-src/break.s +108 -0
  279. package/src/platforms/c64/lib/cc65-src/cgetc.s +62 -0
  280. package/src/platforms/c64/lib/cc65-src/clrscr.s +11 -0
  281. package/src/platforms/c64/lib/cc65-src/color.s +24 -0
  282. package/src/platforms/c64/lib/cc65-src/conio.s +10 -0
  283. package/src/platforms/c64/lib/cc65-src/cputc.s +105 -0
  284. package/src/platforms/c64/lib/cc65-src/crt0.s +117 -0
  285. package/src/platforms/c64/lib/cc65-src/devnum.s +7 -0
  286. package/src/platforms/c64/lib/cc65-src/emd/c64-65816.s +377 -0
  287. package/src/platforms/c64/lib/cc65-src/emd/c64-c256k.s +508 -0
  288. package/src/platforms/c64/lib/cc65-src/emd/c64-dqbb.s +447 -0
  289. package/src/platforms/c64/lib/cc65-src/emd/c64-georam.s +355 -0
  290. package/src/platforms/c64/lib/cc65-src/emd/c64-isepic.s +276 -0
  291. package/src/platforms/c64/lib/cc65-src/emd/c64-kerberos.s +281 -0
  292. package/src/platforms/c64/lib/cc65-src/emd/c64-ram.s +270 -0
  293. package/src/platforms/c64/lib/cc65-src/emd/c64-ramcart.s +297 -0
  294. package/src/platforms/c64/lib/cc65-src/emd/c64-reu.s +286 -0
  295. package/src/platforms/c64/lib/cc65-src/emd/c64-rrr.s +363 -0
  296. package/src/platforms/c64/lib/cc65-src/emd/c64-vdc.s +405 -0
  297. package/src/platforms/c64/lib/cc65-src/emd/dtv-himem.s +251 -0
  298. package/src/platforms/c64/lib/cc65-src/extra/soft80.s +71 -0
  299. package/src/platforms/c64/lib/cc65-src/extra/soft80mono.s +74 -0
  300. package/src/platforms/c64/lib/cc65-src/extra/tgimousedata.s +21 -0
  301. package/src/platforms/c64/lib/cc65-src/get_ostype.s +43 -0
  302. package/src/platforms/c64/lib/cc65-src/get_tv.s +20 -0
  303. package/src/platforms/c64/lib/cc65-src/gettime.s +83 -0
  304. package/src/platforms/c64/lib/cc65-src/irq.s +49 -0
  305. package/src/platforms/c64/lib/cc65-src/joy/c64-hitjoy.s +218 -0
  306. package/src/platforms/c64/lib/cc65-src/joy/c64-numpad.s +155 -0
  307. package/src/platforms/c64/lib/cc65-src/joy/c64-ptvjoy.s +146 -0
  308. package/src/platforms/c64/lib/cc65-src/joy/c64-stdjoy.s +111 -0
  309. package/src/platforms/c64/lib/cc65-src/joy_stat_stddrv.s +14 -0
  310. package/src/platforms/c64/lib/cc65-src/joy_stddrv.s +14 -0
  311. package/src/platforms/c64/lib/cc65-src/kbhit.s +23 -0
  312. package/src/platforms/c64/lib/cc65-src/kbrepeat.s +14 -0
  313. package/src/platforms/c64/lib/cc65-src/kernal.s +53 -0
  314. package/src/platforms/c64/lib/cc65-src/kplot.s +22 -0
  315. package/src/platforms/c64/lib/cc65-src/libref.s +16 -0
  316. package/src/platforms/c64/lib/cc65-src/mainargs.s +137 -0
  317. package/src/platforms/c64/lib/cc65-src/mcbdefault.s +146 -0
  318. package/src/platforms/c64/lib/cc65-src/mcbspritedata.s +4 -0
  319. package/src/platforms/c64/lib/cc65-src/mou/c64-1351.s +467 -0
  320. package/src/platforms/c64/lib/cc65-src/mou/c64-inkwell.s +446 -0
  321. package/src/platforms/c64/lib/cc65-src/mou/c64-joy.s +451 -0
  322. package/src/platforms/c64/lib/cc65-src/mou/c64-pot.s +409 -0
  323. package/src/platforms/c64/lib/cc65-src/mouse_stat_stddrv.s +14 -0
  324. package/src/platforms/c64/lib/cc65-src/mouse_stddrv.s +14 -0
  325. package/src/platforms/c64/lib/cc65-src/mouseref.s +23 -0
  326. package/src/platforms/c64/lib/cc65-src/pencalib.c +94 -0
  327. package/src/platforms/c64/lib/cc65-src/randomize.s +18 -0
  328. package/src/platforms/c64/lib/cc65-src/revers.s +27 -0
  329. package/src/platforms/c64/lib/cc65-src/ser/c64-swlink.s +484 -0
  330. package/src/platforms/c64/lib/cc65-src/ser_stat_stddrv.s +14 -0
  331. package/src/platforms/c64/lib/cc65-src/ser_stddrv.s +13 -0
  332. package/src/platforms/c64/lib/cc65-src/settime.s +84 -0
  333. package/src/platforms/c64/lib/cc65-src/soft80.inc +46 -0
  334. package/src/platforms/c64/lib/cc65-src/soft80_cgetc.s +85 -0
  335. package/src/platforms/c64/lib/cc65-src/soft80_charset.s +182 -0
  336. package/src/platforms/c64/lib/cc65-src/soft80_color.s +159 -0
  337. package/src/platforms/c64/lib/cc65-src/soft80_conio.s +157 -0
  338. package/src/platforms/c64/lib/cc65-src/soft80_cpeekc.s +148 -0
  339. package/src/platforms/c64/lib/cc65-src/soft80_cpeekcolor.s +19 -0
  340. package/src/platforms/c64/lib/cc65-src/soft80_cpeekrevers.s +15 -0
  341. package/src/platforms/c64/lib/cc65-src/soft80_cpeeks.s +71 -0
  342. package/src/platforms/c64/lib/cc65-src/soft80_cputc.s +521 -0
  343. package/src/platforms/c64/lib/cc65-src/soft80_kclrscr.s +76 -0
  344. package/src/platforms/c64/lib/cc65-src/soft80_kplot.s +63 -0
  345. package/src/platforms/c64/lib/cc65-src/soft80_scrsize.s +14 -0
  346. package/src/platforms/c64/lib/cc65-src/soft80mono_cgetc.s +67 -0
  347. package/src/platforms/c64/lib/cc65-src/soft80mono_color.s +65 -0
  348. package/src/platforms/c64/lib/cc65-src/soft80mono_conio.s +168 -0
  349. package/src/platforms/c64/lib/cc65-src/soft80mono_cpeekcolor.s +17 -0
  350. package/src/platforms/c64/lib/cc65-src/soft80mono_cputc.s +204 -0
  351. package/src/platforms/c64/lib/cc65-src/soft80mono_kclrscr.s +63 -0
  352. package/src/platforms/c64/lib/cc65-src/soft80mono_kplot.s +52 -0
  353. package/src/platforms/c64/lib/cc65-src/status.s +15 -0
  354. package/src/platforms/c64/lib/cc65-src/sysuname.s +37 -0
  355. package/src/platforms/c64/lib/cc65-src/tgi/c64-hi.s +881 -0
  356. package/src/platforms/c64/lib/cc65-src/tgi_stat_stddrv.s +14 -0
  357. package/src/platforms/c64/lib/cc65-src/tgi_stddrv.s +13 -0
  358. package/src/platforms/c64/lib/cc65-src/tmcommon.s +67 -0
  359. package/src/platforms/c64/lib/cc65-src/waitvsync.s +18 -0
  360. package/src/platforms/c64/lib/read_joystick.s +28 -0
  361. package/src/platforms/c64/lib/sid_play.s +48 -0
  362. package/src/platforms/c64/lib/sprite_table.s +73 -0
  363. package/src/platforms/c64/lib/vic_init.s +47 -0
  364. package/src/platforms/c64/sid.js +128 -0
  365. package/src/platforms/c64/vic.js +273 -0
  366. package/src/platforms/common/default-palette.js +139 -0
  367. package/src/platforms/common/image-to-tiles.js +407 -0
  368. package/src/platforms/common/intent.js +111 -0
  369. package/src/platforms/common/metasprite-adapters.js +279 -0
  370. package/src/platforms/common/metasprite-codegen.js +192 -0
  371. package/src/platforms/common/metasprite-core.js +201 -0
  372. package/src/platforms/common/metasprite.js +89 -0
  373. package/src/platforms/common/platform-palette.js +137 -0
  374. package/src/platforms/common/registers.js +329 -0
  375. package/src/platforms/common/render-tiles.js +86 -0
  376. package/src/platforms/common/screenshot-sprite.js +153 -0
  377. package/src/platforms/common/tile-decode.js +149 -0
  378. package/src/platforms/gb/MENTAL_MODEL.md +252 -0
  379. package/src/platforms/gb/TROUBLESHOOTING.md +221 -0
  380. package/src/platforms/gb/UPSTREAM_SOURCES.md +43 -0
  381. package/src/platforms/gb/image-to-tilemap.js +173 -0
  382. package/src/platforms/gb/lib/README.md +115 -0
  383. package/src/platforms/gb/lib/c/LICENSE-HUGEDRIVER +25 -0
  384. package/src/platforms/gb/lib/c/README.md +120 -0
  385. package/src/platforms/gb/lib/c/SDCC_GOTCHAS.md +189 -0
  386. package/src/platforms/gb/lib/c/gb_crt0.s +163 -0
  387. package/src/platforms/gb/lib/c/gb_hardware.h +113 -0
  388. package/src/platforms/gb/lib/c/gb_runtime.c +284 -0
  389. package/src/platforms/gb/lib/c/gb_runtime.h +145 -0
  390. package/src/platforms/gb/lib/c/hUGEDriver.c +191 -0
  391. package/src/platforms/gb/lib/c/hUGEDriver.h +95 -0
  392. package/src/platforms/gb/lib/c/hUGEDriver.upstream.asm +1908 -0
  393. package/src/platforms/gb/lib/c/lcd_init.c +19 -0
  394. package/src/platforms/gb/lib/c/patch-header.js +154 -0
  395. package/src/platforms/gb/lib/c/song_data.c +88 -0
  396. package/src/platforms/gb/lib/c/unroll.h +52 -0
  397. package/src/platforms/gb/lib/c/wait_vblank.c +14 -0
  398. package/src/platforms/gb/lib/dma_oam.asm +51 -0
  399. package/src/platforms/gb/lib/header.asm +56 -0
  400. package/src/platforms/gb/lib/joypad_read.asm +47 -0
  401. package/src/platforms/gb/lib/lcd_init.asm +44 -0
  402. package/src/platforms/gb/lib/load_palette.asm +25 -0
  403. package/src/platforms/gb/lib/load_tiles.asm +29 -0
  404. package/src/platforms/gb/lib/vblank_wait.asm +31 -0
  405. package/src/platforms/gb/ppu.js +574 -0
  406. package/src/platforms/gba/MENTAL_MODEL.md +203 -0
  407. package/src/platforms/gba/TROUBLESHOOTING.md +250 -0
  408. package/src/platforms/gba/UPSTREAM_SOURCES.md +41 -0
  409. package/src/platforms/gba/lib/arm-archives/libc.a +0 -0
  410. package/src/platforms/gba/lib/arm-archives/libgcc.a +0 -0
  411. package/src/platforms/gba/lib/arm-archives/libnosys.a +0 -0
  412. package/src/platforms/gba/lib/c/gba_sfx.c +81 -0
  413. package/src/platforms/gba/lib/c/gba_sfx.h +48 -0
  414. package/src/platforms/gba/lib/libgba/crtbegin.o +0 -0
  415. package/src/platforms/gba/lib/libgba/crtend.o +0 -0
  416. package/src/platforms/gba/lib/libgba/crti.o +0 -0
  417. package/src/platforms/gba/lib/libgba/crtn.o +0 -0
  418. package/src/platforms/gba/lib/libgba/gba_cart.ld +319 -0
  419. package/src/platforms/gba/lib/libgba/gba_crt0.s +258 -0
  420. package/src/platforms/gba/lib/libgba/include/BoyScout.h +128 -0
  421. package/src/platforms/gba/lib/libgba/include/disc.h +36 -0
  422. package/src/platforms/gba/lib/libgba/include/disc_io.h +64 -0
  423. package/src/platforms/gba/lib/libgba/include/dldi.h +112 -0
  424. package/src/platforms/gba/lib/libgba/include/erapi.h +195 -0
  425. package/src/platforms/gba/lib/libgba/include/fade.h +76 -0
  426. package/src/platforms/gba/lib/libgba/include/gba.h +47 -0
  427. package/src/platforms/gba/lib/libgba/include/gba_affine.h +83 -0
  428. package/src/platforms/gba/lib/libgba/include/gba_base.h +122 -0
  429. package/src/platforms/gba/lib/libgba/include/gba_compression.h +66 -0
  430. package/src/platforms/gba/lib/libgba/include/gba_console.h +55 -0
  431. package/src/platforms/gba/lib/libgba/include/gba_dma.h +100 -0
  432. package/src/platforms/gba/lib/libgba/include/gba_input.h +127 -0
  433. package/src/platforms/gba/lib/libgba/include/gba_interrupt.h +146 -0
  434. package/src/platforms/gba/lib/libgba/include/gba_multiboot.h +72 -0
  435. package/src/platforms/gba/lib/libgba/include/gba_sio.h +124 -0
  436. package/src/platforms/gba/lib/libgba/include/gba_sound.h +356 -0
  437. package/src/platforms/gba/lib/libgba/include/gba_sprites.h +195 -0
  438. package/src/platforms/gba/lib/libgba/include/gba_systemcalls.h +194 -0
  439. package/src/platforms/gba/lib/libgba/include/gba_timers.h +63 -0
  440. package/src/platforms/gba/lib/libgba/include/gba_types.h +60 -0
  441. package/src/platforms/gba/lib/libgba/include/gba_video.h +307 -0
  442. package/src/platforms/gba/lib/libgba/include/mappy.h +72 -0
  443. package/src/platforms/gba/lib/libgba/include/mbv2.h +90 -0
  444. package/src/platforms/gba/lib/libgba/include/xcomms.h +93 -0
  445. package/src/platforms/gba/lib/libgba/include/xcomms_cmd.h +53 -0
  446. package/src/platforms/gba/lib/libgba/libgba.seed.a +0 -0
  447. package/src/platforms/gba/lib/libgba/libgba.seed.hash +1 -0
  448. package/src/platforms/gba/lib/libgba/src/AffineSet.c +42 -0
  449. package/src/platforms/gba/lib/libgba/src/ArcTan.s +41 -0
  450. package/src/platforms/gba/lib/libgba/src/BoyScout/BoyScout.c +1242 -0
  451. package/src/platforms/gba/lib/libgba/src/BoyScout/GBASoundRegs.h +200 -0
  452. package/src/platforms/gba/lib/libgba/src/Compression.c +84 -0
  453. package/src/platforms/gba/lib/libgba/src/CpuSet.c +41 -0
  454. package/src/platforms/gba/lib/libgba/src/Div.s +58 -0
  455. package/src/platforms/gba/lib/libgba/src/DivArm.s +50 -0
  456. package/src/platforms/gba/lib/libgba/src/InterruptDispatcher.s +113 -0
  457. package/src/platforms/gba/lib/libgba/src/IntrWait.c +35 -0
  458. package/src/platforms/gba/lib/libgba/src/MultiBoot.s +33 -0
  459. package/src/platforms/gba/lib/libgba/src/Reset.s +49 -0
  460. package/src/platforms/gba/lib/libgba/src/Sound.s +48 -0
  461. package/src/platforms/gba/lib/libgba/src/Sqrt.s +34 -0
  462. package/src/platforms/gba/lib/libgba/src/disc_io/disc.c +58 -0
  463. package/src/platforms/gba/lib/libgba/src/disc_io/dldi.c +189 -0
  464. package/src/platforms/gba/lib/libgba/src/disc_io/dldi_stub.s +78 -0
  465. package/src/platforms/gba/lib/libgba/src/disc_io/io_cf_common.c +260 -0
  466. package/src/platforms/gba/lib/libgba/src/disc_io/io_cf_common.h +72 -0
  467. package/src/platforms/gba/lib/libgba/src/disc_io/io_m3_common.c +60 -0
  468. package/src/platforms/gba/lib/libgba/src/disc_io/io_m3_common.h +48 -0
  469. package/src/platforms/gba/lib/libgba/src/disc_io/io_m3cf.c +83 -0
  470. package/src/platforms/gba/lib/libgba/src/disc_io/io_m3cf.h +45 -0
  471. package/src/platforms/gba/lib/libgba/src/disc_io/io_m3sd.c +508 -0
  472. package/src/platforms/gba/lib/libgba/src/disc_io/io_m3sd.h +45 -0
  473. package/src/platforms/gba/lib/libgba/src/disc_io/io_mpcf.c +87 -0
  474. package/src/platforms/gba/lib/libgba/src/disc_io/io_mpcf.h +42 -0
  475. package/src/platforms/gba/lib/libgba/src/disc_io/io_sc_common.c +47 -0
  476. package/src/platforms/gba/lib/libgba/src/disc_io/io_sc_common.h +43 -0
  477. package/src/platforms/gba/lib/libgba/src/disc_io/io_sccf.c +83 -0
  478. package/src/platforms/gba/lib/libgba/src/disc_io/io_sccf.h +45 -0
  479. package/src/platforms/gba/lib/libgba/src/disc_io/io_scsd.c +385 -0
  480. package/src/platforms/gba/lib/libgba/src/disc_io/io_scsd.h +48 -0
  481. package/src/platforms/gba/lib/libgba/src/disc_io/io_scsd_s.s +139 -0
  482. package/src/platforms/gba/lib/libgba/src/disc_io/io_sd_common.c +203 -0
  483. package/src/platforms/gba/lib/libgba/src/disc_io/io_sd_common.h +108 -0
  484. package/src/platforms/gba/lib/libgba/src/fade.c +185 -0
  485. package/src/platforms/gba/lib/libgba/src/input.c +127 -0
  486. package/src/platforms/gba/lib/libgba/src/interrupt.c +116 -0
  487. package/src/platforms/gba/lib/libgba/src/mappy_print.c +74 -0
  488. package/src/platforms/gba/lib/libgba/src/mb2print.c +69 -0
  489. package/src/platforms/gba/lib/libgba/src/mbv2.c +230 -0
  490. package/src/platforms/gba/lib/libgba/src/mbv2.txt +119 -0
  491. package/src/platforms/gba/lib/libgba/src/xcomms.c +203 -0
  492. package/src/platforms/gba/lib/libgba/src/xcomms_print.c +56 -0
  493. package/src/platforms/gba/lib/libgba/sysinclude/_ansi.h +82 -0
  494. package/src/platforms/gba/lib/libgba/sysinclude/_newlib_version.h +11 -0
  495. package/src/platforms/gba/lib/libgba/sysinclude/_syslist.h +41 -0
  496. package/src/platforms/gba/lib/libgba/sysinclude/alloca.h +21 -0
  497. package/src/platforms/gba/lib/libgba/sysinclude/ar.h +65 -0
  498. package/src/platforms/gba/lib/libgba/sysinclude/argz.h +33 -0
  499. package/src/platforms/gba/lib/libgba/sysinclude/assert.h +50 -0
  500. package/src/platforms/gba/lib/libgba/sysinclude/complex.h +150 -0
  501. package/src/platforms/gba/lib/libgba/sysinclude/cpio.h +30 -0
  502. package/src/platforms/gba/lib/libgba/sysinclude/ctype.h +183 -0
  503. package/src/platforms/gba/lib/libgba/sysinclude/devctl.h +78 -0
  504. package/src/platforms/gba/lib/libgba/sysinclude/dirent.h +85 -0
  505. package/src/platforms/gba/lib/libgba/sysinclude/elf.h +3147 -0
  506. package/src/platforms/gba/lib/libgba/sysinclude/envlock.h +15 -0
  507. package/src/platforms/gba/lib/libgba/sysinclude/envz.h +16 -0
  508. package/src/platforms/gba/lib/libgba/sysinclude/errno.h +11 -0
  509. package/src/platforms/gba/lib/libgba/sysinclude/fastmath.h +13 -0
  510. package/src/platforms/gba/lib/libgba/sysinclude/fcntl.h +1 -0
  511. package/src/platforms/gba/lib/libgba/sysinclude/fenv.h +42 -0
  512. package/src/platforms/gba/lib/libgba/sysinclude/float.h +631 -0
  513. package/src/platforms/gba/lib/libgba/sysinclude/fnmatch.h +55 -0
  514. package/src/platforms/gba/lib/libgba/sysinclude/ftw.h +66 -0
  515. package/src/platforms/gba/lib/libgba/sysinclude/getopt.h +185 -0
  516. package/src/platforms/gba/lib/libgba/sysinclude/glob.h +90 -0
  517. package/src/platforms/gba/lib/libgba/sysinclude/grp.h +86 -0
  518. package/src/platforms/gba/lib/libgba/sysinclude/iconv.h +63 -0
  519. package/src/platforms/gba/lib/libgba/sysinclude/ieeefp.h +295 -0
  520. package/src/platforms/gba/lib/libgba/sysinclude/inttypes.h +345 -0
  521. package/src/platforms/gba/lib/libgba/sysinclude/iso646.h +45 -0
  522. package/src/platforms/gba/lib/libgba/sysinclude/langinfo.h +332 -0
  523. package/src/platforms/gba/lib/libgba/sysinclude/libgen.h +37 -0
  524. package/src/platforms/gba/lib/libgba/sysinclude/limits.h +168 -0
  525. package/src/platforms/gba/lib/libgba/sysinclude/locale.h +96 -0
  526. package/src/platforms/gba/lib/libgba/sysinclude/machine/_arc4random.h +1 -0
  527. package/src/platforms/gba/lib/libgba/sysinclude/machine/_default_types.h +250 -0
  528. package/src/platforms/gba/lib/libgba/sysinclude/machine/_endian.h +39 -0
  529. package/src/platforms/gba/lib/libgba/sysinclude/machine/_time.h +3 -0
  530. package/src/platforms/gba/lib/libgba/sysinclude/machine/_types.h +8 -0
  531. package/src/platforms/gba/lib/libgba/sysinclude/machine/ansi.h +1 -0
  532. package/src/platforms/gba/lib/libgba/sysinclude/machine/endian.h +69 -0
  533. package/src/platforms/gba/lib/libgba/sysinclude/machine/fastmath.h +98 -0
  534. package/src/platforms/gba/lib/libgba/sysinclude/machine/ieee.h +127 -0
  535. package/src/platforms/gba/lib/libgba/sysinclude/machine/ieeefp.h +533 -0
  536. package/src/platforms/gba/lib/libgba/sysinclude/machine/malloc.h +8 -0
  537. package/src/platforms/gba/lib/libgba/sysinclude/machine/param.h +8 -0
  538. package/src/platforms/gba/lib/libgba/sysinclude/machine/setjmp-dj.h +43 -0
  539. package/src/platforms/gba/lib/libgba/sysinclude/machine/setjmp.h +524 -0
  540. package/src/platforms/gba/lib/libgba/sysinclude/machine/stdlib.h +8 -0
  541. package/src/platforms/gba/lib/libgba/sysinclude/machine/termios.h +1 -0
  542. package/src/platforms/gba/lib/libgba/sysinclude/machine/time.h +15 -0
  543. package/src/platforms/gba/lib/libgba/sysinclude/machine/types.h +13 -0
  544. package/src/platforms/gba/lib/libgba/sysinclude/malloc.h +173 -0
  545. package/src/platforms/gba/lib/libgba/sysinclude/math.h +645 -0
  546. package/src/platforms/gba/lib/libgba/sysinclude/memory.h +4 -0
  547. package/src/platforms/gba/lib/libgba/sysinclude/ndbm.h +91 -0
  548. package/src/platforms/gba/lib/libgba/sysinclude/newlib.h +427 -0
  549. package/src/platforms/gba/lib/libgba/sysinclude/paths.h +9 -0
  550. package/src/platforms/gba/lib/libgba/sysinclude/pthread.h +456 -0
  551. package/src/platforms/gba/lib/libgba/sysinclude/pwd.h +83 -0
  552. package/src/platforms/gba/lib/libgba/sysinclude/reent.h +190 -0
  553. package/src/platforms/gba/lib/libgba/sysinclude/regdef.h +7 -0
  554. package/src/platforms/gba/lib/libgba/sysinclude/regex.h +103 -0
  555. package/src/platforms/gba/lib/libgba/sysinclude/sched.h +112 -0
  556. package/src/platforms/gba/lib/libgba/sysinclude/search.h +64 -0
  557. package/src/platforms/gba/lib/libgba/sysinclude/setjmp.h +25 -0
  558. package/src/platforms/gba/lib/libgba/sysinclude/signal.h +35 -0
  559. package/src/platforms/gba/lib/libgba/sysinclude/spawn.h +111 -0
  560. package/src/platforms/gba/lib/libgba/sysinclude/ssp/ssp.h +76 -0
  561. package/src/platforms/gba/lib/libgba/sysinclude/ssp/stdio.h +101 -0
  562. package/src/platforms/gba/lib/libgba/sysinclude/ssp/stdlib.h +30 -0
  563. package/src/platforms/gba/lib/libgba/sysinclude/ssp/string.h +115 -0
  564. package/src/platforms/gba/lib/libgba/sysinclude/ssp/strings.h +55 -0
  565. package/src/platforms/gba/lib/libgba/sysinclude/ssp/unistd.h +93 -0
  566. package/src/platforms/gba/lib/libgba/sysinclude/ssp/wchar.h +97 -0
  567. package/src/platforms/gba/lib/libgba/sysinclude/stdarg.h +135 -0
  568. package/src/platforms/gba/lib/libgba/sysinclude/stdatomic.h +409 -0
  569. package/src/platforms/gba/lib/libgba/sysinclude/stdbool.h +51 -0
  570. package/src/platforms/gba/lib/libgba/sysinclude/stddef.h +463 -0
  571. package/src/platforms/gba/lib/libgba/sysinclude/stdint.h +466 -0
  572. package/src/platforms/gba/lib/libgba/sysinclude/stdio.h +807 -0
  573. package/src/platforms/gba/lib/libgba/sysinclude/stdio_ext.h +79 -0
  574. package/src/platforms/gba/lib/libgba/sysinclude/stdlib.h +345 -0
  575. package/src/platforms/gba/lib/libgba/sysinclude/string.h +183 -0
  576. package/src/platforms/gba/lib/libgba/sysinclude/strings.h +80 -0
  577. package/src/platforms/gba/lib/libgba/sysinclude/sys/_default_fcntl.h +241 -0
  578. package/src/platforms/gba/lib/libgba/sysinclude/sys/_intsup.h +199 -0
  579. package/src/platforms/gba/lib/libgba/sysinclude/sys/_locale.h +12 -0
  580. package/src/platforms/gba/lib/libgba/sysinclude/sys/_pthreadtypes.h +233 -0
  581. package/src/platforms/gba/lib/libgba/sysinclude/sys/_sigset.h +43 -0
  582. package/src/platforms/gba/lib/libgba/sysinclude/sys/_stdint.h +90 -0
  583. package/src/platforms/gba/lib/libgba/sysinclude/sys/_timespec.h +52 -0
  584. package/src/platforms/gba/lib/libgba/sysinclude/sys/_timeval.h +60 -0
  585. package/src/platforms/gba/lib/libgba/sysinclude/sys/_types.h +228 -0
  586. package/src/platforms/gba/lib/libgba/sysinclude/sys/_tz_structs.h +24 -0
  587. package/src/platforms/gba/lib/libgba/sysinclude/sys/cdefs.h +754 -0
  588. package/src/platforms/gba/lib/libgba/sysinclude/sys/config.h +314 -0
  589. package/src/platforms/gba/lib/libgba/sysinclude/sys/custom_file.h +2 -0
  590. package/src/platforms/gba/lib/libgba/sysinclude/sys/dir.h +10 -0
  591. package/src/platforms/gba/lib/libgba/sysinclude/sys/dirent.h +13 -0
  592. package/src/platforms/gba/lib/libgba/sysinclude/sys/endian.h +207 -0
  593. package/src/platforms/gba/lib/libgba/sysinclude/sys/errno.h +198 -0
  594. package/src/platforms/gba/lib/libgba/sysinclude/sys/fcntl.h +12 -0
  595. package/src/platforms/gba/lib/libgba/sysinclude/sys/features.h +551 -0
  596. package/src/platforms/gba/lib/libgba/sysinclude/sys/fenv.h +90 -0
  597. package/src/platforms/gba/lib/libgba/sysinclude/sys/file.h +2 -0
  598. package/src/platforms/gba/lib/libgba/sysinclude/sys/iconvnls.h +77 -0
  599. package/src/platforms/gba/lib/libgba/sysinclude/sys/iosupport.h +143 -0
  600. package/src/platforms/gba/lib/libgba/sysinclude/sys/lock.h +75 -0
  601. package/src/platforms/gba/lib/libgba/sysinclude/sys/param.h +35 -0
  602. package/src/platforms/gba/lib/libgba/sysinclude/sys/queue.h +919 -0
  603. package/src/platforms/gba/lib/libgba/sysinclude/sys/reent.h +913 -0
  604. package/src/platforms/gba/lib/libgba/sysinclude/sys/resource.h +24 -0
  605. package/src/platforms/gba/lib/libgba/sysinclude/sys/sched.h +69 -0
  606. package/src/platforms/gba/lib/libgba/sysinclude/sys/select.h +94 -0
  607. package/src/platforms/gba/lib/libgba/sysinclude/sys/signal.h +388 -0
  608. package/src/platforms/gba/lib/libgba/sysinclude/sys/stat.h +179 -0
  609. package/src/platforms/gba/lib/libgba/sysinclude/sys/statvfs.h +41 -0
  610. package/src/platforms/gba/lib/libgba/sysinclude/sys/stdio.h +27 -0
  611. package/src/platforms/gba/lib/libgba/sysinclude/sys/string.h +2 -0
  612. package/src/platforms/gba/lib/libgba/sysinclude/sys/syslimits.h +61 -0
  613. package/src/platforms/gba/lib/libgba/sysinclude/sys/time.h +448 -0
  614. package/src/platforms/gba/lib/libgba/sysinclude/sys/timeb.h +40 -0
  615. package/src/platforms/gba/lib/libgba/sysinclude/sys/times.h +32 -0
  616. package/src/platforms/gba/lib/libgba/sysinclude/sys/timespec.h +63 -0
  617. package/src/platforms/gba/lib/libgba/sysinclude/sys/tree.h +864 -0
  618. package/src/platforms/gba/lib/libgba/sysinclude/sys/types.h +228 -0
  619. package/src/platforms/gba/lib/libgba/sysinclude/sys/unistd.h +591 -0
  620. package/src/platforms/gba/lib/libgba/sysinclude/sys/utime.h +22 -0
  621. package/src/platforms/gba/lib/libgba/sysinclude/sys/wait.h +44 -0
  622. package/src/platforms/gba/lib/libgba/sysinclude/tar.h +43 -0
  623. package/src/platforms/gba/lib/libgba/sysinclude/termios.h +7 -0
  624. package/src/platforms/gba/lib/libgba/sysinclude/tgmath.h +127 -0
  625. package/src/platforms/gba/lib/libgba/sysinclude/threads.h +93 -0
  626. package/src/platforms/gba/lib/libgba/sysinclude/time.h +313 -0
  627. package/src/platforms/gba/lib/libgba/sysinclude/unctrl.h +42 -0
  628. package/src/platforms/gba/lib/libgba/sysinclude/unistd.h +6 -0
  629. package/src/platforms/gba/lib/libgba/sysinclude/utime.h +12 -0
  630. package/src/platforms/gba/lib/libgba/sysinclude/utmp.h +8 -0
  631. package/src/platforms/gba/lib/libgba/sysinclude/varargs.h +7 -0
  632. package/src/platforms/gba/lib/libgba/sysinclude/wchar.h +339 -0
  633. package/src/platforms/gba/lib/libgba/sysinclude/wctype.h +74 -0
  634. package/src/platforms/gba/lib/libgba/sysinclude/wordexp.h +53 -0
  635. package/src/platforms/gba/lib/libtonc/crtbegin.o +0 -0
  636. package/src/platforms/gba/lib/libtonc/crtend.o +0 -0
  637. package/src/platforms/gba/lib/libtonc/crti.o +0 -0
  638. package/src/platforms/gba/lib/libtonc/crtn.o +0 -0
  639. package/src/platforms/gba/lib/libtonc/gba_cart.ld +319 -0
  640. package/src/platforms/gba/lib/libtonc/gba_crt0.s +258 -0
  641. package/src/platforms/gba/lib/libtonc/include/tonc.h +72 -0
  642. package/src/platforms/gba/lib/libtonc/include/tonc_asminc.h +132 -0
  643. package/src/platforms/gba/lib/libtonc/include/tonc_bios.h +555 -0
  644. package/src/platforms/gba/lib/libtonc/include/tonc_core.h +573 -0
  645. package/src/platforms/gba/lib/libtonc/include/tonc_input.h +184 -0
  646. package/src/platforms/gba/lib/libtonc/include/tonc_irq.h +121 -0
  647. package/src/platforms/gba/lib/libtonc/include/tonc_legacy.h +481 -0
  648. package/src/platforms/gba/lib/libtonc/include/tonc_libgba.h +537 -0
  649. package/src/platforms/gba/lib/libtonc/include/tonc_math.h +692 -0
  650. package/src/platforms/gba/lib/libtonc/include/tonc_memdef.h +962 -0
  651. package/src/platforms/gba/lib/libtonc/include/tonc_memmap.h +583 -0
  652. package/src/platforms/gba/lib/libtonc/include/tonc_nocash.h +51 -0
  653. package/src/platforms/gba/lib/libtonc/include/tonc_oam.h +186 -0
  654. package/src/platforms/gba/lib/libtonc/include/tonc_surface.h +461 -0
  655. package/src/platforms/gba/lib/libtonc/include/tonc_text.h +270 -0
  656. package/src/platforms/gba/lib/libtonc/include/tonc_tte.h +748 -0
  657. package/src/platforms/gba/lib/libtonc/include/tonc_types.h +376 -0
  658. package/src/platforms/gba/lib/libtonc/include/tonc_video.h +615 -0
  659. package/src/platforms/gba/lib/libtonc/libtonc.seed.a +0 -0
  660. package/src/platforms/gba/lib/libtonc/libtonc.seed.hash +1 -0
  661. package/src/platforms/gba/lib/libtonc/src/asm/clr_blend_fast.s +72 -0
  662. package/src/platforms/gba/lib/libtonc/src/asm/clr_fade_fast.s +74 -0
  663. package/src/platforms/gba/lib/libtonc/src/asm/div_lut.s +54 -0
  664. package/src/platforms/gba/lib/libtonc/src/asm/sin_lut.s +90 -0
  665. package/src/platforms/gba/lib/libtonc/src/asm/tonc_bios.s +289 -0
  666. package/src/platforms/gba/lib/libtonc/src/asm/tonc_bios_ex.s +97 -0
  667. package/src/platforms/gba/lib/libtonc/src/asm/tonc_isr_master.s +92 -0
  668. package/src/platforms/gba/lib/libtonc/src/asm/tonc_isr_nest.s +98 -0
  669. package/src/platforms/gba/lib/libtonc/src/asm/tonc_memcpy.s +126 -0
  670. package/src/platforms/gba/lib/libtonc/src/asm/tonc_memset.s +123 -0
  671. package/src/platforms/gba/lib/libtonc/src/asm/tonc_nocash.s +73 -0
  672. package/src/platforms/gba/lib/libtonc/src/font/sys8.png +0 -0
  673. package/src/platforms/gba/lib/libtonc/src/font/sys8.s +46 -0
  674. package/src/platforms/gba/lib/libtonc/src/font/verdana10.png +0 -0
  675. package/src/platforms/gba/lib/libtonc/src/font/verdana10.s +293 -0
  676. package/src/platforms/gba/lib/libtonc/src/font/verdana9.png +0 -0
  677. package/src/platforms/gba/lib/libtonc/src/font/verdana9.s +167 -0
  678. package/src/platforms/gba/lib/libtonc/src/font/verdana9_b4.png +0 -0
  679. package/src/platforms/gba/lib/libtonc/src/font/verdana9_b4.s +545 -0
  680. package/src/platforms/gba/lib/libtonc/src/font/verdana9b.png +0 -0
  681. package/src/platforms/gba/lib/libtonc/src/font/verdana9b.s +167 -0
  682. package/src/platforms/gba/lib/libtonc/src/font/verdana9i.png +0 -0
  683. package/src/platforms/gba/lib/libtonc/src/font/verdana9i.s +167 -0
  684. package/src/platforms/gba/lib/libtonc/src/pre1.3/tonc_bitmap.c +289 -0
  685. package/src/platforms/gba/lib/libtonc/src/pre1.3/tonc_text.c +81 -0
  686. package/src/platforms/gba/lib/libtonc/src/pre1.3/tonc_text_bm.c +244 -0
  687. package/src/platforms/gba/lib/libtonc/src/pre1.3/tonc_text_map.c +122 -0
  688. package/src/platforms/gba/lib/libtonc/src/pre1.3/tonc_text_oam.c +113 -0
  689. package/src/platforms/gba/lib/libtonc/src/pre1.3/toncfont.s +43 -0
  690. package/src/platforms/gba/lib/libtonc/src/tonc_bg.c +61 -0
  691. package/src/platforms/gba/lib/libtonc/src/tonc_bg_affine.c +112 -0
  692. package/src/platforms/gba/lib/libtonc/src/tonc_bmp16.c +240 -0
  693. package/src/platforms/gba/lib/libtonc/src/tonc_bmp8.c +314 -0
  694. package/src/platforms/gba/lib/libtonc/src/tonc_color.c +368 -0
  695. package/src/platforms/gba/lib/libtonc/src/tonc_core.c +237 -0
  696. package/src/platforms/gba/lib/libtonc/src/tonc_input.c +118 -0
  697. package/src/platforms/gba/lib/libtonc/src/tonc_irq.c +271 -0
  698. package/src/platforms/gba/lib/libtonc/src/tonc_math.c +54 -0
  699. package/src/platforms/gba/lib/libtonc/src/tonc_oam.c +76 -0
  700. package/src/platforms/gba/lib/libtonc/src/tonc_obj_affine.c +146 -0
  701. package/src/platforms/gba/lib/libtonc/src/tonc_sbmp16.c +369 -0
  702. package/src/platforms/gba/lib/libtonc/src/tonc_sbmp8.c +405 -0
  703. package/src/platforms/gba/lib/libtonc/src/tonc_schr4c.c +588 -0
  704. package/src/platforms/gba/lib/libtonc/src/tonc_schr4r.c +462 -0
  705. package/src/platforms/gba/lib/libtonc/src/tonc_surface.c +105 -0
  706. package/src/platforms/gba/lib/libtonc/src/tonc_video.c +33 -0
  707. package/src/platforms/gba/lib/libtonc/src/tte/ase_drawg.c +83 -0
  708. package/src/platforms/gba/lib/libtonc/src/tte/bmp16_drawg.c +72 -0
  709. package/src/platforms/gba/lib/libtonc/src/tte/bmp16_drawg_b1cs.c +92 -0
  710. package/src/platforms/gba/lib/libtonc/src/tte/bmp8_drawg.c +71 -0
  711. package/src/platforms/gba/lib/libtonc/src/tte/bmp8_drawg_b1cs.c +104 -0
  712. package/src/platforms/gba/lib/libtonc/src/tte/bmp8_drawg_b1cts_fast.s +115 -0
  713. package/src/platforms/gba/lib/libtonc/src/tte/chr4c_drawg_b1cts.c +76 -0
  714. package/src/platforms/gba/lib/libtonc/src/tte/chr4c_drawg_b1cts_fast.s +128 -0
  715. package/src/platforms/gba/lib/libtonc/src/tte/chr4c_drawg_b4cts.c +67 -0
  716. package/src/platforms/gba/lib/libtonc/src/tte/chr4c_drawg_b4cts_fast.s +127 -0
  717. package/src/platforms/gba/lib/libtonc/src/tte/chr4r_drawg_b1cts.c +80 -0
  718. package/src/platforms/gba/lib/libtonc/src/tte/chr4r_drawg_b1cts_fast.s +145 -0
  719. package/src/platforms/gba/lib/libtonc/src/tte/obj_drawg.c +61 -0
  720. package/src/platforms/gba/lib/libtonc/src/tte/se_drawg.c +110 -0
  721. package/src/platforms/gba/lib/libtonc/src/tte/tte_init_ase.c +87 -0
  722. package/src/platforms/gba/lib/libtonc/src/tte/tte_init_bmp.c +118 -0
  723. package/src/platforms/gba/lib/libtonc/src/tte/tte_init_chr4c.c +86 -0
  724. package/src/platforms/gba/lib/libtonc/src/tte/tte_init_chr4r.c +87 -0
  725. package/src/platforms/gba/lib/libtonc/src/tte/tte_init_obj.c +84 -0
  726. package/src/platforms/gba/lib/libtonc/src/tte/tte_init_se.c +96 -0
  727. package/src/platforms/gba/lib/libtonc/src/tte/tte_iohook.c +264 -0
  728. package/src/platforms/gba/lib/libtonc/src/tte/tte_main.c +756 -0
  729. package/src/platforms/gba/lib/libtonc/src/tte/tte_types.s +119 -0
  730. package/src/platforms/gba/lib/maxmod/LICENSE-MAXMOD +23 -0
  731. package/src/platforms/gba/lib/maxmod/asm_include/mp_defs.inc +117 -0
  732. package/src/platforms/gba/lib/maxmod/asm_include/mp_format_mas.inc +108 -0
  733. package/src/platforms/gba/lib/maxmod/asm_include/mp_macros.inc +195 -0
  734. package/src/platforms/gba/lib/maxmod/asm_include/mp_mas.inc +40 -0
  735. package/src/platforms/gba/lib/maxmod/asm_include/mp_mas_structs.inc +189 -0
  736. package/src/platforms/gba/lib/maxmod/asm_include/mp_mixer_ds.inc +46 -0
  737. package/src/platforms/gba/lib/maxmod/asm_include/mp_mixer_gba.inc +42 -0
  738. package/src/platforms/gba/lib/maxmod/asm_include/swi_gba.inc +23 -0
  739. package/src/platforms/gba/lib/maxmod/include/maxmod.h +412 -0
  740. package/src/platforms/gba/lib/maxmod/include/mm_types.h +333 -0
  741. package/src/platforms/gba/lib/maxmod/maxmod.seed.a +0 -0
  742. package/src/platforms/gba/lib/maxmod/maxmod.seed.hash +1 -0
  743. package/src/platforms/gba/lib/maxmod/music/chiptune.xm +0 -0
  744. package/src/platforms/gba/lib/maxmod/music/chiptune_soundbank.bin +0 -0
  745. package/src/platforms/gba/lib/maxmod/music/chiptune_soundbank.h +4 -0
  746. package/src/platforms/gba/lib/maxmod/music/make_chiptune_xm.js +203 -0
  747. package/src/platforms/gba/lib/maxmod/source/mm_effect.s +767 -0
  748. package/src/platforms/gba/lib/maxmod/source/mm_main.s +115 -0
  749. package/src/platforms/gba/lib/maxmod/source/mm_mas.s +4990 -0
  750. package/src/platforms/gba/lib/maxmod/source/mm_mas_arm.s +612 -0
  751. package/src/platforms/gba/lib/maxmod/source_gba/mm_init_default.s +98 -0
  752. package/src/platforms/gba/lib/maxmod/source_gba/mm_main_gba.s +292 -0
  753. package/src/platforms/gba/lib/maxmod/source_gba/mm_mixer_gba.s +1367 -0
  754. package/src/platforms/gba/lib/sysbase/gba_iosupport.c +138 -0
  755. package/src/platforms/gbc/MENTAL_MODEL.md +165 -0
  756. package/src/platforms/gbc/TROUBLESHOOTING.md +142 -0
  757. package/src/platforms/gbc/UPSTREAM_SOURCES.md +60 -0
  758. package/src/platforms/gbc/lib/c/LICENSE-HUGEDRIVER +25 -0
  759. package/src/platforms/gbc/lib/c/README.md +120 -0
  760. package/src/platforms/gbc/lib/c/SDCC_GOTCHAS.md +189 -0
  761. package/src/platforms/gbc/lib/c/gb_crt0.s +163 -0
  762. package/src/platforms/gbc/lib/c/gb_hardware.h +113 -0
  763. package/src/platforms/gbc/lib/c/gb_runtime.c +284 -0
  764. package/src/platforms/gbc/lib/c/gb_runtime.h +145 -0
  765. package/src/platforms/gbc/lib/c/hUGEDriver.c +191 -0
  766. package/src/platforms/gbc/lib/c/hUGEDriver.h +95 -0
  767. package/src/platforms/gbc/lib/c/hUGEDriver.upstream.asm +1908 -0
  768. package/src/platforms/gbc/lib/c/lcd_init.c +19 -0
  769. package/src/platforms/gbc/lib/c/patch-header.js +154 -0
  770. package/src/platforms/gbc/lib/c/song_data.c +88 -0
  771. package/src/platforms/gbc/lib/c/unroll.h +52 -0
  772. package/src/platforms/gbc/lib/c/wait_vblank.c +14 -0
  773. package/src/platforms/genesis/MENTAL_MODEL.md +223 -0
  774. package/src/platforms/genesis/TROUBLESHOOTING.md +193 -0
  775. package/src/platforms/genesis/UPSTREAM_SOURCES.md +52 -0
  776. package/src/platforms/genesis/image-to-tilemap.js +333 -0
  777. package/src/platforms/genesis/lib/README.md +157 -0
  778. package/src/platforms/genesis/lib/c/crtbegin.o +0 -0
  779. package/src/platforms/genesis/lib/c/crtend.o +0 -0
  780. package/src/platforms/genesis/lib/c/genesis.ld +44 -0
  781. package/src/platforms/genesis/lib/c/genesis_sfx.c +51 -0
  782. package/src/platforms/genesis/lib/c/genesis_sfx.h +49 -0
  783. package/src/platforms/genesis/lib/c/libc.a +0 -0
  784. package/src/platforms/genesis/lib/c/libgcc.a +0 -0
  785. package/src/platforms/genesis/lib/c/libm.a +0 -0
  786. package/src/platforms/genesis/lib/c/sega.s +71 -0
  787. package/src/platforms/genesis/lib/header.s +96 -0
  788. package/src/platforms/genesis/lib/nmi_safe.s +79 -0
  789. package/src/platforms/genesis/lib/pad_read.s +104 -0
  790. package/src/platforms/genesis/lib/sgdk/COPYING.RUNTIME +73 -0
  791. package/src/platforms/genesis/lib/sgdk/LICENSE +12 -0
  792. package/src/platforms/genesis/lib/sgdk/include/asm.h +52 -0
  793. package/src/platforms/genesis/lib/sgdk/include/asm_mac.i +9 -0
  794. package/src/platforms/genesis/lib/sgdk/include/bmp.h +690 -0
  795. package/src/platforms/genesis/lib/sgdk/include/config.h +208 -0
  796. package/src/platforms/genesis/lib/sgdk/include/dma.h +542 -0
  797. package/src/platforms/genesis/lib/sgdk/include/ext/console.h +387 -0
  798. package/src/platforms/genesis/lib/sgdk/include/ext/everdrive.h +116 -0
  799. package/src/platforms/genesis/lib/sgdk/include/ext/fat16.h +84 -0
  800. package/src/platforms/genesis/lib/sgdk/include/ext/flash-save/flash.h +164 -0
  801. package/src/platforms/genesis/lib/sgdk/include/ext/flash-save/saveman.h +177 -0
  802. package/src/platforms/genesis/lib/sgdk/include/ext/link_cable.h +316 -0
  803. package/src/platforms/genesis/lib/sgdk/include/ext/minimusic/minimus.h +29 -0
  804. package/src/platforms/genesis/lib/sgdk/include/ext/mw/16c550.h +221 -0
  805. package/src/platforms/genesis/lib/sgdk/include/ext/mw/comm.h +93 -0
  806. package/src/platforms/genesis/lib/sgdk/include/ext/mw/gamejolt.h +541 -0
  807. package/src/platforms/genesis/lib/sgdk/include/ext/mw/jsmn.h +471 -0
  808. package/src/platforms/genesis/lib/sgdk/include/ext/mw/json.h +122 -0
  809. package/src/platforms/genesis/lib/sgdk/include/ext/mw/lsd.h +172 -0
  810. package/src/platforms/genesis/lib/sgdk/include/ext/mw/megawifi.h +984 -0
  811. package/src/platforms/genesis/lib/sgdk/include/ext/mw/mw-msg.h +392 -0
  812. package/src/platforms/genesis/lib/sgdk/include/ext/mw/ssf_ed_pro.h +38 -0
  813. package/src/platforms/genesis/lib/sgdk/include/ext/mw/ssf_ed_x7.h +73 -0
  814. package/src/platforms/genesis/lib/sgdk/include/ext/serial/buffer.h +8 -0
  815. package/src/platforms/genesis/lib/sgdk/include/ext/serial/serial.h +133 -0
  816. package/src/platforms/genesis/lib/sgdk/include/ext/stb/stb_sprintf.h +1864 -0
  817. package/src/platforms/genesis/lib/sgdk/include/genesis.h +92 -0
  818. package/src/platforms/genesis/lib/sgdk/include/joy.h +482 -0
  819. package/src/platforms/genesis/lib/sgdk/include/kdebug.h +21 -0
  820. package/src/platforms/genesis/lib/sgdk/include/map.h +409 -0
  821. package/src/platforms/genesis/lib/sgdk/include/mapper.h +186 -0
  822. package/src/platforms/genesis/lib/sgdk/include/maths.h +1071 -0
  823. package/src/platforms/genesis/lib/sgdk/include/maths3D.h +480 -0
  824. package/src/platforms/genesis/lib/sgdk/include/memory.h +346 -0
  825. package/src/platforms/genesis/lib/sgdk/include/memory_base.h +37 -0
  826. package/src/platforms/genesis/lib/sgdk/include/object.h +171 -0
  827. package/src/platforms/genesis/lib/sgdk/include/pal.h +500 -0
  828. package/src/platforms/genesis/lib/sgdk/include/pool.h +171 -0
  829. package/src/platforms/genesis/lib/sgdk/include/psg.h +153 -0
  830. package/src/platforms/genesis/lib/sgdk/include/snd/pcm/snd_dpcm2.h +79 -0
  831. package/src/platforms/genesis/lib/sgdk/include/snd/pcm/snd_pcm.h +98 -0
  832. package/src/platforms/genesis/lib/sgdk/include/snd/pcm/snd_pcm4.h +125 -0
  833. package/src/platforms/genesis/lib/sgdk/include/snd/pcm/tab_vol.h +6 -0
  834. package/src/platforms/genesis/lib/sgdk/include/snd/smp_null.h +6 -0
  835. package/src/platforms/genesis/lib/sgdk/include/snd/smp_null_dpcm.h +6 -0
  836. package/src/platforms/genesis/lib/sgdk/include/snd/sound.h +70 -0
  837. package/src/platforms/genesis/lib/sgdk/include/snd/xgm.h +399 -0
  838. package/src/platforms/genesis/lib/sgdk/include/snd/xgm2.h +389 -0
  839. package/src/platforms/genesis/lib/sgdk/include/snd/z80_def.i80 +41 -0
  840. package/src/platforms/genesis/lib/sgdk/include/snd/z80_fct.i80 +83 -0
  841. package/src/platforms/genesis/lib/sgdk/include/snd/z80_mac.i80 +1476 -0
  842. package/src/platforms/genesis/lib/sgdk/include/sprite_eng.h +1095 -0
  843. package/src/platforms/genesis/lib/sgdk/include/sprite_eng_legacy.h +1030 -0
  844. package/src/platforms/genesis/lib/sgdk/include/sram.h +110 -0
  845. package/src/platforms/genesis/lib/sgdk/include/string.h +349 -0
  846. package/src/platforms/genesis/lib/sgdk/include/sys.h +511 -0
  847. package/src/platforms/genesis/lib/sgdk/include/tab_cnv.h +19 -0
  848. package/src/platforms/genesis/lib/sgdk/include/task.h +77 -0
  849. package/src/platforms/genesis/lib/sgdk/include/task_cst.h +33 -0
  850. package/src/platforms/genesis/lib/sgdk/include/timer.h +132 -0
  851. package/src/platforms/genesis/lib/sgdk/include/tools.h +450 -0
  852. package/src/platforms/genesis/lib/sgdk/include/types.h +320 -0
  853. package/src/platforms/genesis/lib/sgdk/include/vdp.h +1150 -0
  854. package/src/platforms/genesis/lib/sgdk/include/vdp_bg.h +723 -0
  855. package/src/platforms/genesis/lib/sgdk/include/vdp_pal.h +101 -0
  856. package/src/platforms/genesis/lib/sgdk/include/vdp_spr.h +448 -0
  857. package/src/platforms/genesis/lib/sgdk/include/vdp_tile.h +1136 -0
  858. package/src/platforms/genesis/lib/sgdk/include/vram.h +270 -0
  859. package/src/platforms/genesis/lib/sgdk/include/ym2612.h +87 -0
  860. package/src/platforms/genesis/lib/sgdk/include/z80_ctrl.h +420 -0
  861. package/src/platforms/genesis/lib/sgdk/libmd.seed.a +0 -0
  862. package/src/platforms/genesis/lib/sgdk/libmd.seed.hash +1 -0
  863. package/src/platforms/genesis/lib/sgdk/md.ld +120 -0
  864. package/src/platforms/genesis/lib/sgdk/music/demo.vgm +0 -0
  865. package/src/platforms/genesis/lib/sgdk/music/demo.xgc +0 -0
  866. package/src/platforms/genesis/lib/sgdk/music/demo.xgm +0 -0
  867. package/src/platforms/genesis/lib/sgdk/res/image/font_default.png +0 -0
  868. package/src/platforms/genesis/lib/sgdk/res/image/sgdk_logo.png +0 -0
  869. package/src/platforms/genesis/lib/sgdk/res/libres.h +10 -0
  870. package/src/platforms/genesis/lib/sgdk/res/libres.res +5 -0
  871. package/src/platforms/genesis/lib/sgdk/res/libres.s +166 -0
  872. package/src/platforms/genesis/lib/sgdk/res/sound/stop_xgm.bin +0 -0
  873. package/src/platforms/genesis/lib/sgdk/rom_header.c +33 -0
  874. package/src/platforms/genesis/lib/sgdk/sega.preprocessed.s +364 -0
  875. package/src/platforms/genesis/lib/sgdk/sega.s +365 -0
  876. package/src/platforms/genesis/lib/sgdk/src/bmp.c +1539 -0
  877. package/src/platforms/genesis/lib/sgdk/src/bmp_a.s +3477 -0
  878. package/src/platforms/genesis/lib/sgdk/src/boot/rom_header.c +33 -0
  879. package/src/platforms/genesis/lib/sgdk/src/boot/sega.s +365 -0
  880. package/src/platforms/genesis/lib/sgdk/src/dma.c +782 -0
  881. package/src/platforms/genesis/lib/sgdk/src/dma_a.s +23 -0
  882. package/src/platforms/genesis/lib/sgdk/src/error_a.s +376 -0
  883. package/src/platforms/genesis/lib/sgdk/src/ext/console.c +490 -0
  884. package/src/platforms/genesis/lib/sgdk/src/ext/everdrive.c +285 -0
  885. package/src/platforms/genesis/lib/sgdk/src/ext/fat16.c +610 -0
  886. package/src/platforms/genesis/lib/sgdk/src/ext/flash-save/README.md +112 -0
  887. package/src/platforms/genesis/lib/sgdk/src/ext/flash-save/flash.c +300 -0
  888. package/src/platforms/genesis/lib/sgdk/src/ext/flash-save/saveman.c +641 -0
  889. package/src/platforms/genesis/lib/sgdk/src/ext/link_cable.c +1758 -0
  890. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/CHANGELOG.md +31 -0
  891. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/LICENSE.txt +17 -0
  892. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/README.md +18 -0
  893. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/data.z80 +148 -0
  894. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/define.z80 +173 -0
  895. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/doc/api-c.md +80 -0
  896. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/doc/format.md +132 -0
  897. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/doc/teradrive.md +33 -0
  898. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/fm.z80 +363 -0
  899. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/main.z80 +433 -0
  900. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/minimus.c +129 -0
  901. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/minimus_drv.s80 +17 -0
  902. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/psg.z80 +231 -0
  903. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/track.z80 +398 -0
  904. package/src/platforms/genesis/lib/sgdk/src/ext/minimusic/util.z80 +98 -0
  905. package/src/platforms/genesis/lib/sgdk/src/ext/mw/16c550.c +84 -0
  906. package/src/platforms/genesis/lib/sgdk/src/ext/mw/README.md +849 -0
  907. package/src/platforms/genesis/lib/sgdk/src/ext/mw/comm.c +141 -0
  908. package/src/platforms/genesis/lib/sgdk/src/ext/mw/gamejolt.c +758 -0
  909. package/src/platforms/genesis/lib/sgdk/src/ext/mw/json.c +153 -0
  910. package/src/platforms/genesis/lib/sgdk/src/ext/mw/lsd.c +364 -0
  911. package/src/platforms/genesis/lib/sgdk/src/ext/mw/megawifi.c +1501 -0
  912. package/src/platforms/genesis/lib/sgdk/src/ext/mw/ssf_ed_pro.c +98 -0
  913. package/src/platforms/genesis/lib/sgdk/src/ext/mw/ssf_ed_x7.c +67 -0
  914. package/src/platforms/genesis/lib/sgdk/src/ext/serial/buffer.c +69 -0
  915. package/src/platforms/genesis/lib/sgdk/src/ext/serial/serial.c +158 -0
  916. package/src/platforms/genesis/lib/sgdk/src/joy.c +1361 -0
  917. package/src/platforms/genesis/lib/sgdk/src/kdebug.s +109 -0
  918. package/src/platforms/genesis/lib/sgdk/src/map.c +1915 -0
  919. package/src/platforms/genesis/lib/sgdk/src/mapper.c +280 -0
  920. package/src/platforms/genesis/lib/sgdk/src/maths.c +878 -0
  921. package/src/platforms/genesis/lib/sgdk/src/maths3D.c +480 -0
  922. package/src/platforms/genesis/lib/sgdk/src/maths3D_a.s +205 -0
  923. package/src/platforms/genesis/lib/sgdk/src/memory.c +760 -0
  924. package/src/platforms/genesis/lib/sgdk/src/memory_a.s +306 -0
  925. package/src/platforms/genesis/lib/sgdk/src/object.c +111 -0
  926. package/src/platforms/genesis/lib/sgdk/src/pal.c +484 -0
  927. package/src/platforms/genesis/lib/sgdk/src/pool.c +234 -0
  928. package/src/platforms/genesis/lib/sgdk/src/psg.c +82 -0
  929. package/src/platforms/genesis/lib/sgdk/src/snd/drv_null.s80 +27 -0
  930. package/src/platforms/genesis/lib/sgdk/src/snd/drv_xgm.s80 +3037 -0
  931. package/src/platforms/genesis/lib/sgdk/src/snd/pcm/drv_dpcm2.s80 +984 -0
  932. package/src/platforms/genesis/lib/sgdk/src/snd/pcm/drv_pcm.s80 +592 -0
  933. package/src/platforms/genesis/lib/sgdk/src/snd/pcm/drv_pcm4.s80 +699 -0
  934. package/src/platforms/genesis/lib/sgdk/src/snd/pcm/snd_dpcm2.c +172 -0
  935. package/src/platforms/genesis/lib/sgdk/src/snd/pcm/snd_pcm.c +152 -0
  936. package/src/platforms/genesis/lib/sgdk/src/snd/pcm/snd_pcm4.c +213 -0
  937. package/src/platforms/genesis/lib/sgdk/src/snd/pcm/tab_vol.c +277 -0
  938. package/src/platforms/genesis/lib/sgdk/src/snd/smp_null.s +22 -0
  939. package/src/platforms/genesis/lib/sgdk/src/snd/smp_null_dpcm.s +15 -0
  940. package/src/platforms/genesis/lib/sgdk/src/snd/sound.c +33 -0
  941. package/src/platforms/genesis/lib/sgdk/src/snd/xgm.c +683 -0
  942. package/src/platforms/genesis/lib/sgdk/src/snd/xgm2/drv_xgm2.s80 +993 -0
  943. package/src/platforms/genesis/lib/sgdk/src/snd/xgm2/drv_xgm2_fct.i80 +611 -0
  944. package/src/platforms/genesis/lib/sgdk/src/snd/xgm2/drv_xgm2_mac.i80 +133 -0
  945. package/src/platforms/genesis/lib/sgdk/src/snd/xgm2/drv_xgm2_pcm_fct.i80 +114 -0
  946. package/src/platforms/genesis/lib/sgdk/src/snd/xgm2/drv_xgm2_pcm_mac.i80 +1444 -0
  947. package/src/platforms/genesis/lib/sgdk/src/snd/xgm2/drv_xgm2_psg_fct.i80 +491 -0
  948. package/src/platforms/genesis/lib/sgdk/src/snd/xgm2/drv_xgm2_psg_mac.i80 +43 -0
  949. package/src/platforms/genesis/lib/sgdk/src/snd/xgm2/drv_xgm2_ym_fct.i80 +1664 -0
  950. package/src/platforms/genesis/lib/sgdk/src/snd/xgm2/drv_xgm2_ym_mac.i80 +295 -0
  951. package/src/platforms/genesis/lib/sgdk/src/snd/xgm2.c +1083 -0
  952. package/src/platforms/genesis/lib/sgdk/src/sprite_eng.c +2256 -0
  953. package/src/platforms/genesis/lib/sgdk/src/sprite_eng_legacy.c +2309 -0
  954. package/src/platforms/genesis/lib/sgdk/src/sram.c +30 -0
  955. package/src/platforms/genesis/lib/sgdk/src/sram_a.s +41 -0
  956. package/src/platforms/genesis/lib/sgdk/src/string.c +720 -0
  957. package/src/platforms/genesis/lib/sgdk/src/sys.c +1053 -0
  958. package/src/platforms/genesis/lib/sgdk/src/sys_a.s +74 -0
  959. package/src/platforms/genesis/lib/sgdk/src/tab_cnv.c +129 -0
  960. package/src/platforms/genesis/lib/sgdk/src/tab_log10.c +8201 -0
  961. package/src/platforms/genesis/lib/sgdk/src/tab_log2.c +8201 -0
  962. package/src/platforms/genesis/lib/sgdk/src/tab_sin.c +2058 -0
  963. package/src/platforms/genesis/lib/sgdk/src/tab_sqrt.c +8201 -0
  964. package/src/platforms/genesis/lib/sgdk/src/task.s +148 -0
  965. package/src/platforms/genesis/lib/sgdk/src/timer.c +201 -0
  966. package/src/platforms/genesis/lib/sgdk/src/tools.c +1299 -0
  967. package/src/platforms/genesis/lib/sgdk/src/tools_a.s +979 -0
  968. package/src/platforms/genesis/lib/sgdk/src/types.c +18 -0
  969. package/src/platforms/genesis/lib/sgdk/src/vdp.c +1060 -0
  970. package/src/platforms/genesis/lib/sgdk/src/vdp_bg.c +511 -0
  971. package/src/platforms/genesis/lib/sgdk/src/vdp_spr.c +322 -0
  972. package/src/platforms/genesis/lib/sgdk/src/vdp_tile.c +1011 -0
  973. package/src/platforms/genesis/lib/sgdk/src/vdp_tile_a.s +68 -0
  974. package/src/platforms/genesis/lib/sgdk/src/vram.c +273 -0
  975. package/src/platforms/genesis/lib/sgdk/src/ym2612.c +175 -0
  976. package/src/platforms/genesis/lib/sgdk/src/z80_ctrl.c +334 -0
  977. package/src/platforms/genesis/lib/sprite_table.s +129 -0
  978. package/src/platforms/genesis/lib/vblank_wait.s +73 -0
  979. package/src/platforms/genesis/lib/vdp_init.s +85 -0
  980. package/src/platforms/genesis/lib/wram.s +88 -0
  981. package/src/platforms/genesis/lib/z80_bootstrap.s +102 -0
  982. package/src/platforms/genesis/vdp.js +495 -0
  983. package/src/platforms/gg/MENTAL_MODEL.md +155 -0
  984. package/src/platforms/gg/TROUBLESHOOTING.md +91 -0
  985. package/src/platforms/gg/UPSTREAM_SOURCES.md +36 -0
  986. package/src/platforms/gg/lib/c/gg_crt0.s +112 -0
  987. package/src/platforms/gg/lib/c/gg_hw.h +62 -0
  988. package/src/platforms/gg/lib/c/gg_music.c +155 -0
  989. package/src/platforms/gg/lib/c/gg_music.h +89 -0
  990. package/src/platforms/gg/lib/c/gg_sfx.c +82 -0
  991. package/src/platforms/gg/lib/c/gg_sfx.h +40 -0
  992. package/src/platforms/gg/lib/c/joypad_read.c +22 -0
  993. package/src/platforms/gg/lib/c/load_palette.c +20 -0
  994. package/src/platforms/gg/lib/c/load_tiles.c +32 -0
  995. package/src/platforms/gg/lib/c/sprite_table.c +60 -0
  996. package/src/platforms/gg/lib/c/vblank_wait.c +10 -0
  997. package/src/platforms/gg/lib/c/vdp_init.c +58 -0
  998. package/src/platforms/index.js +7 -0
  999. package/src/platforms/lynx/MENTAL_MODEL.md +231 -0
  1000. package/src/platforms/lynx/TROUBLESHOOTING.md +105 -0
  1001. package/src/platforms/lynx/UPSTREAM_SOURCES.md +66 -0
  1002. package/src/platforms/lynx/lib/c/lynx_music.c +63 -0
  1003. package/src/platforms/lynx/lib/c/lynx_music.h +16 -0
  1004. package/src/platforms/lynx/lib/c/lynx_sfx.c +147 -0
  1005. package/src/platforms/lynx/lib/c/lynx_sfx.h +59 -0
  1006. package/src/platforms/lynx/lib/cc65-src/bllhdr.s +18 -0
  1007. package/src/platforms/lynx/lib/cc65-src/bootldr.s +195 -0
  1008. package/src/platforms/lynx/lib/cc65-src/cgetc.s +69 -0
  1009. package/src/platforms/lynx/lib/cc65-src/clock.s +87 -0
  1010. package/src/platforms/lynx/lib/cc65-src/crt0.s +135 -0
  1011. package/src/platforms/lynx/lib/cc65-src/defdir.s +29 -0
  1012. package/src/platforms/lynx/lib/cc65-src/eeprom.s +255 -0
  1013. package/src/platforms/lynx/lib/cc65-src/eeprom46.s +204 -0
  1014. package/src/platforms/lynx/lib/cc65-src/eeprom66.s +227 -0
  1015. package/src/platforms/lynx/lib/cc65-src/eeprom86.s +236 -0
  1016. package/src/platforms/lynx/lib/cc65-src/exec.s +34 -0
  1017. package/src/platforms/lynx/lib/cc65-src/exehdr.s +27 -0
  1018. package/src/platforms/lynx/lib/cc65-src/extzp.inc +23 -0
  1019. package/src/platforms/lynx/lib/cc65-src/extzp.s +30 -0
  1020. package/src/platforms/lynx/lib/cc65-src/irq.s +45 -0
  1021. package/src/platforms/lynx/lib/cc65-src/joy/lynx-stdjoy.s +93 -0
  1022. package/src/platforms/lynx/lib/cc65-src/joy_stat_stddrv.s +14 -0
  1023. package/src/platforms/lynx/lib/cc65-src/kbhit.s +56 -0
  1024. package/src/platforms/lynx/lib/cc65-src/libref.s +9 -0
  1025. package/src/platforms/lynx/lib/cc65-src/load.s +41 -0
  1026. package/src/platforms/lynx/lib/cc65-src/lseek.s +58 -0
  1027. package/src/platforms/lynx/lib/cc65-src/lynx-cart.s +98 -0
  1028. package/src/platforms/lynx/lib/cc65-src/lynx-snd.s +1270 -0
  1029. package/src/platforms/lynx/lib/cc65-src/mainargs.s +24 -0
  1030. package/src/platforms/lynx/lib/cc65-src/open.s +136 -0
  1031. package/src/platforms/lynx/lib/cc65-src/oserror.s +14 -0
  1032. package/src/platforms/lynx/lib/cc65-src/read.s +44 -0
  1033. package/src/platforms/lynx/lib/cc65-src/ser/lynx-comlynx.s +404 -0
  1034. package/src/platforms/lynx/lib/cc65-src/ser_stat_stddrv.s +14 -0
  1035. package/src/platforms/lynx/lib/cc65-src/sysuname.s +39 -0
  1036. package/src/platforms/lynx/lib/cc65-src/tgi/lynx-160-102-16.s +1075 -0
  1037. package/src/platforms/lynx/lib/cc65-src/tgi_colors.s +9 -0
  1038. package/src/platforms/lynx/lib/cc65-src/tgi_irq.s +11 -0
  1039. package/src/platforms/lynx/lib/cc65-src/tgi_stat_stddrv.s +14 -0
  1040. package/src/platforms/lynx/lib/cc65-src/tgi_stddrv.s +13 -0
  1041. package/src/platforms/lynx/lib/cc65-src/uploader.s +81 -0
  1042. package/src/platforms/nes/MENTAL_MODEL.md +301 -0
  1043. package/src/platforms/nes/TROUBLESHOOTING.md +321 -0
  1044. package/src/platforms/nes/UPSTREAM_SOURCES.md +31 -0
  1045. package/src/platforms/nes/image-to-chr.js +195 -0
  1046. package/src/platforms/nes/image-to-tilemap.js +415 -0
  1047. package/src/platforms/nes/lib/README.md +40 -0
  1048. package/src/platforms/nes/lib/asm/LICENSE-FAMITONE +40 -0
  1049. package/src/platforms/nes/lib/asm/chr_ram_header.s +32 -0
  1050. package/src/platforms/nes/lib/asm/famitone2.s +1258 -0
  1051. package/src/platforms/nes/lib/asm/famitone_bridge.s +50 -0
  1052. package/src/platforms/nes/lib/asm/music_data.s +238 -0
  1053. package/src/platforms/nes/lib/c/chr_ram_runtime_hello_sprite.c +81 -0
  1054. package/src/platforms/nes/lib/c/chr_ram_runtime_hud_row.c +101 -0
  1055. package/src/platforms/nes/lib/c/nes_runtime.c +347 -0
  1056. package/src/platforms/nes/lib/c/nes_runtime.h +153 -0
  1057. package/src/platforms/nes/lib/c/nmi_handler.c +51 -0
  1058. package/src/platforms/nes/lib/c/nmi_trampoline.s +25 -0
  1059. package/src/platforms/nes/lib/cc65-src/Makefile.inc +9 -0
  1060. package/src/platforms/nes/lib/cc65-src/_scrsize.s +24 -0
  1061. package/src/platforms/nes/lib/cc65-src/cclear.s +29 -0
  1062. package/src/platforms/nes/lib/cc65-src/chline.s +31 -0
  1063. package/src/platforms/nes/lib/cc65-src/clock.s +31 -0
  1064. package/src/platforms/nes/lib/cc65-src/clrscr.s +72 -0
  1065. package/src/platforms/nes/lib/cc65-src/color.s +68 -0
  1066. package/src/platforms/nes/lib/cc65-src/cpeekc.s +37 -0
  1067. package/src/platforms/nes/lib/cc65-src/cpeekcolor.s +8 -0
  1068. package/src/platforms/nes/lib/cc65-src/cpeekrevers.s +37 -0
  1069. package/src/platforms/nes/lib/cc65-src/cputc.s +95 -0
  1070. package/src/platforms/nes/lib/cc65-src/crt0.s +180 -0
  1071. package/src/platforms/nes/lib/cc65-src/cvline.s +31 -0
  1072. package/src/platforms/nes/lib/cc65-src/get_tv.s +37 -0
  1073. package/src/platforms/nes/lib/cc65-src/gotox.s +21 -0
  1074. package/src/platforms/nes/lib/cc65-src/gotoxy.s +22 -0
  1075. package/src/platforms/nes/lib/cc65-src/gotoy.s +22 -0
  1076. package/src/platforms/nes/lib/cc65-src/irq.s +19 -0
  1077. package/src/platforms/nes/lib/cc65-src/joy/nes-stdjoy.s +102 -0
  1078. package/src/platforms/nes/lib/cc65-src/joy_stat_stddrv.s +14 -0
  1079. package/src/platforms/nes/lib/cc65-src/libref.s +9 -0
  1080. package/src/platforms/nes/lib/cc65-src/mainargs.s +24 -0
  1081. package/src/platforms/nes/lib/cc65-src/neschar.s +4616 -0
  1082. package/src/platforms/nes/lib/cc65-src/ppu.s +158 -0
  1083. package/src/platforms/nes/lib/cc65-src/ppubuf.s +117 -0
  1084. package/src/platforms/nes/lib/cc65-src/randomize.s +18 -0
  1085. package/src/platforms/nes/lib/cc65-src/revers.s +27 -0
  1086. package/src/platforms/nes/lib/cc65-src/setcursor.s +37 -0
  1087. package/src/platforms/nes/lib/cc65-src/sysuname.s +39 -0
  1088. package/src/platforms/nes/lib/cc65-src/tgi/nes-64-56-2.s +480 -0
  1089. package/src/platforms/nes/lib/cc65-src/tgi_stat_stddrv.s +14 -0
  1090. package/src/platforms/nes/lib/cc65-src/tgi_stddrv.s +13 -0
  1091. package/src/platforms/nes/lib/cc65-src/waitvsync.s +18 -0
  1092. package/src/platforms/nes/lib/cc65-src/wherex.s +19 -0
  1093. package/src/platforms/nes/lib/cc65-src/wherey.s +19 -0
  1094. package/src/platforms/nes/lib/clear_nametable.s +38 -0
  1095. package/src/platforms/nes/lib/clear_oam.s +18 -0
  1096. package/src/platforms/nes/lib/load_palette.s +31 -0
  1097. package/src/platforms/nes/lib/nmi_safe.s +65 -0
  1098. package/src/platforms/nes/lib/oam_dma.s +16 -0
  1099. package/src/platforms/nes/lib/read_pad.s +46 -0
  1100. package/src/platforms/nes/lib/reset.s +46 -0
  1101. package/src/platforms/nes/lib/sprite_table_populate.s +75 -0
  1102. package/src/platforms/nes/lib/wait_vblank.s +12 -0
  1103. package/src/platforms/nes/palette.js +39 -0
  1104. package/src/platforms/nes/ppu.js +372 -0
  1105. package/src/platforms/sms/MENTAL_MODEL.md +267 -0
  1106. package/src/platforms/sms/TROUBLESHOOTING.md +124 -0
  1107. package/src/platforms/sms/UPSTREAM_SOURCES.md +29 -0
  1108. package/src/platforms/sms/image-to-tilemap.js +260 -0
  1109. package/src/platforms/sms/lib/README.md +117 -0
  1110. package/src/platforms/sms/lib/c/joypad_read.c +33 -0
  1111. package/src/platforms/sms/lib/c/load_palette.c +24 -0
  1112. package/src/platforms/sms/lib/c/load_tiles.c +32 -0
  1113. package/src/platforms/sms/lib/c/sms_crt0.s +101 -0
  1114. package/src/platforms/sms/lib/c/sms_hw.h +53 -0
  1115. package/src/platforms/sms/lib/c/sms_music.c +178 -0
  1116. package/src/platforms/sms/lib/c/sms_music.h +50 -0
  1117. package/src/platforms/sms/lib/c/sms_sfx.c +82 -0
  1118. package/src/platforms/sms/lib/c/sms_sfx.h +40 -0
  1119. package/src/platforms/sms/lib/c/sprite_table.c +60 -0
  1120. package/src/platforms/sms/lib/c/vblank_wait.c +10 -0
  1121. package/src/platforms/sms/lib/c/vdp_init.c +58 -0
  1122. package/src/platforms/sms/lib/header.s +33 -0
  1123. package/src/platforms/sms/lib/joypad_read.s +40 -0
  1124. package/src/platforms/sms/lib/load_palette.s +30 -0
  1125. package/src/platforms/sms/lib/load_tiles.s +50 -0
  1126. package/src/platforms/sms/lib/sprite_table.s +44 -0
  1127. package/src/platforms/sms/lib/vblank_wait.s +36 -0
  1128. package/src/platforms/sms/lib/vdp_init.s +47 -0
  1129. package/src/platforms/sms/vdp.js +530 -0
  1130. package/src/platforms/snes/MENTAL_MODEL.md +275 -0
  1131. package/src/platforms/snes/TROUBLESHOOTING.md +208 -0
  1132. package/src/platforms/snes/UPSTREAM_SOURCES.md +50 -0
  1133. package/src/platforms/snes/brr.js +208 -0
  1134. package/src/platforms/snes/image-to-tilemap.js +227 -0
  1135. package/src/platforms/snes/lib/audio/apu_blob.asm +228 -0
  1136. package/src/platforms/snes/lib/audio/apu_blob.bin +0 -0
  1137. package/src/platforms/snes/lib/audio/explosion.brr +0 -0
  1138. package/src/platforms/snes/lib/audio/sample_bank.bin +0 -0
  1139. package/src/platforms/snes/lib/audio/shoot.brr +0 -0
  1140. package/src/platforms/snes/lib/audio/spc_driver.asm +241 -0
  1141. package/src/platforms/snes/lib/audio_pipeline.asm +62 -0
  1142. package/src/platforms/snes/lib/c/crt0.asm +125 -0
  1143. package/src/platforms/snes/lib/c/hdr.asm +50 -0
  1144. package/src/platforms/snes/lib/c/snes_sfx.c +116 -0
  1145. package/src/platforms/snes/lib/c/snes_sfx.h +96 -0
  1146. package/src/platforms/snes/lib/c/snes_sfx_data.asm +25 -0
  1147. package/src/platforms/snes/lib/cgram_upload.asm +43 -0
  1148. package/src/platforms/snes/lib/lorom_header.asm +47 -0
  1149. package/src/platforms/snes/lib/lorom_multibank.asm +66 -0
  1150. package/src/platforms/snes/lib/nmi_safe.asm +77 -0
  1151. package/src/platforms/snes/lib/oam_upload.asm +45 -0
  1152. package/src/platforms/snes/lib/pad_read.asm +64 -0
  1153. package/src/platforms/snes/lib/pvsneslib/LICENSE +21 -0
  1154. package/src/platforms/snes/lib/pvsneslib/include/ctype.h +6 -0
  1155. package/src/platforms/snes/lib/pvsneslib/include/float.h +4 -0
  1156. package/src/platforms/snes/lib/pvsneslib/include/hdr.asm +47 -0
  1157. package/src/platforms/snes/lib/pvsneslib/include/limits.h +13 -0
  1158. package/src/platforms/snes/lib/pvsneslib/include/math.h +10 -0
  1159. package/src/platforms/snes/lib/pvsneslib/include/setjmp.h +4 -0
  1160. package/src/platforms/snes/lib/pvsneslib/include/snes/background.h +396 -0
  1161. package/src/platforms/snes/lib/pvsneslib/include/snes/console.h +188 -0
  1162. package/src/platforms/snes/lib/pvsneslib/include/snes/dma.h +381 -0
  1163. package/src/platforms/snes/lib/pvsneslib/include/snes/input.h +289 -0
  1164. package/src/platforms/snes/lib/pvsneslib/include/snes/interrupt.h +264 -0
  1165. package/src/platforms/snes/lib/pvsneslib/include/snes/libversion.h +10 -0
  1166. package/src/platforms/snes/lib/pvsneslib/include/snes/lzss.h +43 -0
  1167. package/src/platforms/snes/lib/pvsneslib/include/snes/map.h +113 -0
  1168. package/src/platforms/snes/lib/pvsneslib/include/snes/object.h +234 -0
  1169. package/src/platforms/snes/lib/pvsneslib/include/snes/pixel.h +53 -0
  1170. package/src/platforms/snes/lib/pvsneslib/include/snes/scores.h +66 -0
  1171. package/src/platforms/snes/lib/pvsneslib/include/snes/snestypes.h +65 -0
  1172. package/src/platforms/snes/lib/pvsneslib/include/snes/sound.h +245 -0
  1173. package/src/platforms/snes/lib/pvsneslib/include/snes/sprite.h +456 -0
  1174. package/src/platforms/snes/lib/pvsneslib/include/snes/video.h +465 -0
  1175. package/src/platforms/snes/lib/pvsneslib/include/snes.h +190 -0
  1176. package/src/platforms/snes/lib/pvsneslib/include/stdarg.h +28 -0
  1177. package/src/platforms/snes/lib/pvsneslib/include/stdbool.h +53 -0
  1178. package/src/platforms/snes/lib/pvsneslib/include/stddef.h +27 -0
  1179. package/src/platforms/snes/lib/pvsneslib/include/stdint.h +7 -0
  1180. package/src/platforms/snes/lib/pvsneslib/include/stdio.h +9 -0
  1181. package/src/platforms/snes/lib/pvsneslib/include/stdlib.h +13 -0
  1182. package/src/platforms/snes/lib/pvsneslib/include/string.h +19 -0
  1183. package/src/platforms/snes/lib/pvsneslib/include/strings.h +5 -0
  1184. package/src/platforms/snes/lib/pvsneslib/source/Makefile +87 -0
  1185. package/src/platforms/snes/lib/pvsneslib/source/backgrounds.asm +834 -0
  1186. package/src/platforms/snes/lib/pvsneslib/source/consoles.asm +1028 -0
  1187. package/src/platforms/snes/lib/pvsneslib/source/crt0_snes.asm +329 -0
  1188. package/src/platforms/snes/lib/pvsneslib/source/dmas.asm +1275 -0
  1189. package/src/platforms/snes/lib/pvsneslib/source/hdr.asm +56 -0
  1190. package/src/platforms/snes/lib/pvsneslib/source/input.asm +445 -0
  1191. package/src/platforms/snes/lib/pvsneslib/source/libc.asm +485 -0
  1192. package/src/platforms/snes/lib/pvsneslib/source/libc_c.c +1214 -0
  1193. package/src/platforms/snes/lib/pvsneslib/source/libm.asm +510 -0
  1194. package/src/platforms/snes/lib/pvsneslib/source/libtcc.asm +374 -0
  1195. package/src/platforms/snes/lib/pvsneslib/source/lzsss.asm +256 -0
  1196. package/src/platforms/snes/lib/pvsneslib/source/maps.asm +1078 -0
  1197. package/src/platforms/snes/lib/pvsneslib/source/objects.asm +2881 -0
  1198. package/src/platforms/snes/lib/pvsneslib/source/scores.asm +226 -0
  1199. package/src/platforms/snes/lib/pvsneslib/source/sm_spc.asm +187 -0
  1200. package/src/platforms/snes/lib/pvsneslib/source/snesmodwla.asm +1186 -0
  1201. package/src/platforms/snes/lib/pvsneslib/source/sounds.asm +273 -0
  1202. package/src/platforms/snes/lib/pvsneslib/source/sprites.asm +3946 -0
  1203. package/src/platforms/snes/lib/pvsneslib/source/vblank.asm +917 -0
  1204. package/src/platforms/snes/lib/pvsneslib/source/videos.asm +1137 -0
  1205. package/src/platforms/snes/lib/reset_init.asm +31 -0
  1206. package/src/platforms/snes/lib/sprite_table_populate.asm +122 -0
  1207. package/src/platforms/snes/lib/vram_dma_upload.asm +42 -0
  1208. package/src/platforms/snes/ppu.js +606 -0
  1209. package/src/playtest/playtest.js +612 -0
  1210. package/src/rom-id/identifier.js +421 -0
  1211. package/src/rom-id/patch.js +217 -0
  1212. package/src/toolchains/_worker/pool.js +253 -0
  1213. package/src/toolchains/_worker/run.js +78 -0
  1214. package/src/toolchains/_worker/wasm-worker.js +233 -0
  1215. package/src/toolchains/arm-none-eabi-gcc/gcc.js +208 -0
  1216. package/src/toolchains/asar/asar.js +542 -0
  1217. package/src/toolchains/assemble-snippet.js +256 -0
  1218. package/src/toolchains/cc65/cc65.js +395 -0
  1219. package/src/toolchains/cc65/da65.js +119 -0
  1220. package/src/toolchains/cc65/dbgparse.js +274 -0
  1221. package/src/toolchains/cc65/preset-resolver.js +59 -0
  1222. package/src/toolchains/cc65/presets/nes/chr-ram-runtime.cfg +79 -0
  1223. package/src/toolchains/cc65/presets/nes/chr-ram-runtime.crt0.s +178 -0
  1224. package/src/toolchains/cc65/presets/nes/chr-ram.cfg +76 -0
  1225. package/src/toolchains/cc65/presets/nes/chr-ram.crt0.s +106 -0
  1226. package/src/toolchains/common/ar.js +121 -0
  1227. package/src/toolchains/common/sdk-cache.js +116 -0
  1228. package/src/toolchains/common/symbols.js +139 -0
  1229. package/src/toolchains/dasm/dasm.js +96 -0
  1230. package/src/toolchains/gba-c/gba-c.js +832 -0
  1231. package/src/toolchains/genesis-c/README.md +61 -0
  1232. package/src/toolchains/genesis-c/genesis-c.js +598 -0
  1233. package/src/toolchains/index.js +727 -0
  1234. package/src/toolchains/m68k-elf-gcc/gcc.js +220 -0
  1235. package/src/toolchains/m68kdasm.js +438 -0
  1236. package/src/toolchains/parse-errors.js +258 -0
  1237. package/src/toolchains/registry.js +67 -0
  1238. package/src/toolchains/rgbds/rgbds.js +144 -0
  1239. package/src/toolchains/sdcc/preflight-lint.js +295 -0
  1240. package/src/toolchains/sdcc/sdcc.js +519 -0
  1241. package/src/toolchains/sjasm/sjasm.js +85 -0
  1242. package/src/toolchains/sm83dasm.js +194 -0
  1243. package/src/toolchains/snes-c/snes-c.js +409 -0
  1244. package/src/toolchains/tcc816/tcc816.js +79 -0
  1245. package/src/toolchains/vasm68k/vasm68k.js +138 -0
  1246. package/src/toolchains/wladx/wladx.js +120 -0
  1247. package/src/toolchains/z80dasm.js +303 -0
@@ -0,0 +1,153 @@
1
+ /**
2
+ * \file psg.h
3
+ * \brief PSG support
4
+ * \author Stephane Dallongeville
5
+ * \date 08/2011
6
+ *
7
+ * This unit provides access to the PSG through the 68000 CPU
8
+ */
9
+
10
+ #ifndef _PSG_H_
11
+ #define _PSG_H_
12
+
13
+ /**
14
+ * \brief
15
+ * PSG port address.
16
+ */
17
+ #define PSG_PORT 0xC00011
18
+
19
+ /**
20
+ * \brief
21
+ * Minimum PSG envelope value.
22
+ */
23
+ #define PSG_ENVELOPE_MIN 15
24
+ /**
25
+ * \brief
26
+ * Maximum PSG envelope value.
27
+ */
28
+ #define PSG_ENVELOPE_MAX 0
29
+
30
+ /**
31
+ * \brief
32
+ * Periodic noise type (like low-frequency tone).
33
+ */
34
+ #define PSG_NOISE_TYPE_PERIODIC 0
35
+ /**
36
+ * \brief
37
+ * White noise type (hiss).
38
+ */
39
+ #define PSG_NOISE_TYPE_WHITE 1
40
+
41
+ /**
42
+ * \brief
43
+ * Noise frequency = PSG clock / 2 (less coarse).
44
+ */
45
+ #define PSG_NOISE_FREQ_CLOCK2 0
46
+ /**
47
+ * \brief
48
+ * Noise frequency = PSG clock / 4.
49
+ */
50
+ #define PSG_NOISE_FREQ_CLOCK4 1
51
+ /**
52
+ * \brief
53
+ * Noise frequency = PSG clock / 8 (more coarse).
54
+ */
55
+ #define PSG_NOISE_FREQ_CLOCK8 2
56
+ /**
57
+ * \brief
58
+ * Noise frequency = Tone generator #3.
59
+ */
60
+ #define PSG_NOISE_FREQ_TONE3 3
61
+
62
+
63
+ /**
64
+ * \deprecated use PSG_reset() instead
65
+ */
66
+ #define PSG_init() _Pragma("GCC error \"This method is deprecated, use PSG_reset() instead.\"")
67
+
68
+ /**
69
+ * \brief
70
+ * Reset PSG chip
71
+ */
72
+ void PSG_reset(void);
73
+
74
+ /**
75
+ * \brief
76
+ * Write to PSG port.
77
+ *
78
+ * \param data
79
+ * value to write to the port.
80
+ *
81
+ * Write the specified value to PSG data port.
82
+ *
83
+ */
84
+ void PSG_write(u8 data);
85
+
86
+ /**
87
+ * \brief
88
+ * Set envelope level.
89
+ *
90
+ * \param channel
91
+ * Channel we want to set envelope (0-3).
92
+ * \param value
93
+ * Envelope level to set (#PSG_ENVELOPE_MIN - #PSG_ENVELOPE_MAX).
94
+ *
95
+ * Set envelope level for the specified PSG channel.
96
+ */
97
+ void PSG_setEnvelope(u8 channel, u8 value);
98
+ /**
99
+ * \brief
100
+ * Set tone.
101
+ *
102
+ * \param channel
103
+ * Channel we want to set tone (0-3).
104
+ * \param value
105
+ * Tone value to set (0-1023).
106
+ *
107
+ * Set direct tone value for the specified PSG channel.
108
+ */
109
+ void PSG_setTone(u8 channel, u16 value);
110
+ /**
111
+ * \brief
112
+ * Partial set tone (low bit only b3-b0).
113
+ *
114
+ * \param channel
115
+ * Channel we want to set tone (0-3).
116
+ * \param value
117
+ * Low bit (b3-b0) of tone value to set (0-15)
118
+ *
119
+ * Set low part of tone value for the specified PSG channel.
120
+ */
121
+ void PSG_setToneLow(u8 channel, u8 value);
122
+ /**
123
+ * \brief
124
+ * Set frequency.
125
+ *
126
+ * \param channel
127
+ * Channel we want to set frequency (0-3).
128
+ * \param value
129
+ * Frequency value to set in Hz (0-4095).
130
+ *
131
+ * Set frequency for the specified PSG channel.<br>
132
+ * This method actually converts the specified frequency value in PSG tone value.
133
+ */
134
+ void PSG_setFrequency(u8 channel, u16 value);
135
+ /**
136
+ * \brief
137
+ * Set noise type and frequency.
138
+ *
139
+ * \param type
140
+ * Noise type, accepted values are:<br>
141
+ * #PSG_NOISE_TYPE_PERIODIC<br>
142
+ * #PSG_NOISE_TYPE_WHITE
143
+ * \param frequency
144
+ * Noise frequency, accepted values are:<br>
145
+ * #PSG_NOISE_FREQ_CLOCK2<br>
146
+ * #PSG_NOISE_FREQ_CLOCK4<br>
147
+ * #PSG_NOISE_FREQ_CLOCK8<br>
148
+ * #PSG_NOISE_FREQ_TONE3
149
+ */
150
+ void PSG_setNoise(u8 type, u8 frequency);
151
+
152
+
153
+ #endif // _PSG_H_
@@ -0,0 +1,79 @@
1
+ /**
2
+ * \file SND_DPCM2.h
3
+ * \brief Z80_DRIVER_DPCM2 sound driver API
4
+ * \author Stephane Dallongeville
5
+ * \date 08/2011
6
+ *
7
+ * This unit provides playback method for the <b>Z80_DRIVER_DPCM2</b> sound driver.<br>
8
+ * Sound driver description:<br>
9
+ * 2 channels 4 bits DPCM sample driver, it can mix up to 2 DCPM samples at a fixed 22050 Hz Khz rate.<br>
10
+ * Address and size of samples have to be 256 bytes boundary.<br>
11
+ *<br>
12
+ * Note that SGDK sound drivers may not fit your needs so it's important to know<br>
13
+ * that some alternatives sound drivers exist (see SGDK readme.md for more info)
14
+ */
15
+
16
+ #ifndef _SND_DPCM2_H_
17
+ #define _SND_DPCM2_H_
18
+
19
+ #define SND_isPlaying_2ADPCM _Pragma("GCC error \"This method is deprecated, use SND_DPCM2_isPlaying instead.\"")
20
+ #define SND_startPlay_2ADPCM _Pragma("GCC error \"This method is deprecated, use SND_DPCM2_startPlay instead.\"")
21
+ #define SND_stopPlay_2ADPCM _Pragma("GCC error \"This method is deprecated, use SND_DPCM2_stopPlay instead.\"")
22
+
23
+ /**
24
+ * \brief
25
+ * Load the Z80_DRIVER_DPCM2 sound driver.
26
+ */
27
+ void SND_DPCM2_loadDriver(const bool waitReady);
28
+
29
+ /**
30
+ * \brief
31
+ * Return play status of specified channel (2 channels ADPCM player driver).
32
+ *
33
+ * \param channel_mask
34
+ * Channel(s) we want to retrieve play state.<br>
35
+ * SOUND_PCM_CH1_MSK = channel 1<br>
36
+ * SOUND_PCM_CH2_MSK = channel 2<br>
37
+ * <br>
38
+ * You can combine mask to retrieve state of severals channels at once:<br>
39
+ * <code>isPlaying_2ADPCM(SOUND_PCM_CH1_MSK | SOUND_PCM_CH2_MSK)</code><br>
40
+ * will actually return play state for channel 1 and channel 2.
41
+ *
42
+ * \return
43
+ * Return TRUE if specified channel(s) is(are) playing.
44
+ */
45
+ bool SND_DPCM2_isPlaying(const u16 channel_mask);
46
+ /**
47
+ * \brief
48
+ * Start playing a sample on specified channel (2 channels ADPCM player driver).<br>
49
+ * If a sample was currently playing on this channel then it's stopped and the new sample is played instead.
50
+ *
51
+ * \param sample
52
+ * Sample address, should be 128 bytes boundary aligned<br>
53
+ * SGDK automatically align resource as needed
54
+ * \param len
55
+ * Size of sample in bytes, should be a multiple of 128<br>
56
+ * SGDK automatically adjust resource size as needed
57
+ * \param channel
58
+ * Channel where we want to play sample, accepted values are:<br>
59
+ * SOUND_PCM_CH_AUTO = auto selection from current channel usage<br>
60
+ * SOUND_PCM_CH1 = channel 1<br>
61
+ * SOUND_PCM_CH2 = channel 2<br>
62
+ * \param loop
63
+ * Loop flag.<br>
64
+ * If TRUE then the sample will be played in loop (else sample is played only once).
65
+ */
66
+ void SND_DPCM2_startPlay(const u8 *sample, const u32 len, const SoundPCMChannel channel, const bool loop);
67
+ /**
68
+ * \brief
69
+ * Stop playing the specified channel (2 channels ADPCM player driver).<br>
70
+ * No effect if no sample was currently playing on this channel.
71
+ *
72
+ * \param channel
73
+ * Channel we want to stop, accepted values are:<br>
74
+ * SOUND_PCM_CH1 = channel 1<br>
75
+ * SOUND_PCM_CH2 = channel 2<br>
76
+ */
77
+ void SND_DPCM2_stopPlay(const SoundPCMChannel channel);
78
+
79
+ #endif // _SND_DPCM2_H_
@@ -0,0 +1,98 @@
1
+ /**
2
+ * \file snd_pcm.h
3
+ * \brief Z80_DRIVER_PCM sound driver API
4
+ * \author Stephane Dallongeville
5
+ * \date 08/2011
6
+ *
7
+ * This unit provides playback method for the <b>Z80_DRIVER_PCM</b> sound driver.<br>
8
+ *<br>
9
+ * Sound driver description:<br>
10
+ * This sound driver allow Single PCM channel 8 bits signed sample driver.<br>
11
+ * It can play a sample (8 bit signed) from 8 Khz up to 32 Khz rate.<br>
12
+ *<br>
13
+ * Note that SGDK sound drivers may not fit your needs so it's important to know<br>
14
+ * that some alternatives sound drivers exist (see SGDK readme.md for more info)
15
+ */
16
+
17
+ #ifndef _SND_PCM_H_
18
+ #define _SND_PCM_H_
19
+
20
+ /**
21
+ * \brief
22
+ * PCM sample rate values
23
+ */
24
+ typedef enum
25
+ {
26
+ SOUND_PCM_RATE_32000, /** Best quality but take lot of rom space */
27
+ SOUND_PCM_RATE_22050,
28
+ SOUND_PCM_RATE_16000,
29
+ SOUND_PCM_RATE_13400,
30
+ SOUND_PCM_RATE_11025,
31
+ SOUND_PCM_RATE_8000 /** Worst quality but take less rom place */
32
+ } SoundPcmSampleRate;
33
+
34
+
35
+ #define SOUND_RATE_32000 _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_32000 instead.\"")
36
+ #define SOUND_RATE_22050 _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_22050 instead.\"")
37
+ #define SOUND_RATE_16000 _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_16000 instead.\"")
38
+ #define SOUND_RATE_13400 _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_13400 instead.\"")
39
+ #define SOUND_RATE_11025 _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_11025 instead.\"")
40
+ #define SOUND_RATE_8000 _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_8000 instead.\"")
41
+
42
+
43
+ #define SND_isPlaying_PCM _Pragma("GCC error \"This method is deprecated, use SND_PCM_isPlaying instead.\"")
44
+ #define SND_startPlay_PCM _Pragma("GCC error \"This method is deprecated, use SND_PCM_startPlay instead.\"")
45
+ #define SND_stopPlay_PCM _Pragma("GCC error \"This method is deprecated, use SND_PCM_stopPlay instead.\"")
46
+
47
+ /**
48
+ * \brief
49
+ * Load the Z80_DRIVER_PCM sound driver.
50
+ */
51
+ void SND_PCM_loadDriver(const bool waitReady);
52
+
53
+ /**
54
+ * \brief
55
+ * Return play status (Single channel PCM player driver).
56
+ *
57
+ * \return
58
+ * Return non zero if PCM player is currently playing a sample
59
+ */
60
+ bool SND_PCM_isPlaying(void);
61
+ /**
62
+ * \brief
63
+ * Start playing a sample (Single channel PCM player driver).<br>
64
+ * If a sample was currently playing then it's stopped and the new sample is played instead.
65
+ *
66
+ * \param sample
67
+ * Sample address, should be 256 bytes boundary aligned<br>
68
+ * SGDK automatically align resource as needed
69
+ * \param len
70
+ * Size of sample in bytes, should be a multiple of 256<br>
71
+ * SGDK automatically adjust resource size as needed
72
+ * \param rate
73
+ * Playback rate :<br>
74
+ * SOUND_PCM_RATE_32000 = 32 Khz (best quality but take lot of rom space)<br>
75
+ * SOUND_PCM_RATE_22050 = 22 Khz<br>
76
+ * SOUND_PCM_RATE_16000 = 16 Khz<br>
77
+ * SOUND_PCM_RATE_13400 = 13.4 Khz<br>
78
+ * SOUND_PCM_RATE_11025 = 11 Khz<br>
79
+ * SOUND_PCM_RATE_8000 = 8 Khz (worst quality but take less rom place)<br>
80
+ * \param pan
81
+ * Panning :<br>
82
+ * SOUND_PAN_NONE = mute<br>
83
+ * SOUND_PAN_LEFT = play on left speaker<br>
84
+ * SOUND_PAN_RIGHT = play on right speaker<br>
85
+ * SOUND_PAN_CENTER = play on both speaker<br>
86
+ * \param loop
87
+ * Loop flag.<br>
88
+ * If TRUE then the sample will be played in loop (else sample is played only once).
89
+ */
90
+ void SND_PCM_startPlay(const u8 *sample, const u32 len, const SoundPcmSampleRate rate, const SoundPanning pan, const bool loop);
91
+ /**
92
+ * \brief
93
+ * Stop playing (Single channel PCM player driver).<br>
94
+ * No effect if no sample was currently playing.
95
+ */
96
+ void SND_PCM_stopPlay(void);
97
+
98
+ #endif // _SND_PCM_H_
@@ -0,0 +1,125 @@
1
+ /**
2
+ * \file snd_pcm4.h
3
+ * \brief Z80_DRIVER_PCM4 sound driver API
4
+ * \author Stephane Dallongeville
5
+ * \date 08/2011
6
+ *
7
+ * This unit provides playback method for the <b>Z80_DRIVER_PCM4</b> sound driver.<br>
8
+ * Sound driver description:<br>
9
+ * 4 channels 8 bits signed sample driver with volume support.<br>
10
+ * It can mix up to 4 samples (8 bit signed) at a fixed 16 Khz rate.<br>
11
+ * with volume support (16 levels du to memory limitation).<br>
12
+ * Address and size of samples have to be 256 bytes boundary.<br>
13
+ * The driver does support "cutoff" when mixing so you can use true 8 bits samples :)<br>
14
+ *<br>
15
+ * Note that SGDK sound drivers may not fit your needs so it's important to know<br>
16
+ * that some alternatives sound drivers exist (see SGDK readme.md for more info)
17
+ */
18
+
19
+ #ifndef _SND_PCM4_H_
20
+ #define _SND_PCM4_H_
21
+
22
+ #define SND_isPlaying_4PCM_ENV _Pragma("GCC error \"This method is deprecated, use SND_PCM4_isPlaying instead.\"")
23
+ #define SND_startPlay_4PCM_ENV _Pragma("GCC error \"This method is deprecated, use SND_PCM4_startPlay instead.\"")
24
+ #define SND_stopPlay_4PCM_ENV _Pragma("GCC error \"This method is deprecated, use SND_PCM4_stopPlay instead.\"")
25
+ #define SND_getVolume_4PCM_ENV _Pragma("GCC error \"This method is deprecated, use SND_PCM4_getVolume instead.\"")
26
+ #define SND_setVolume_4PCM_ENV _Pragma("GCC error \"This method is deprecated, use SND_PCM4_setVolume instead.\"")
27
+
28
+ #define SND_isPlaying_4PCM _Pragma("GCC error \"This method is deprecated, use SND_PCM4_isPlaying instead.\"")
29
+ #define SND_startPlay_4PCM _Pragma("GCC error \"This method is deprecated, use SND_PCM4_startPlay instead.\"")
30
+ #define SND_stopPlay_4PCM _Pragma("GCC error \"This method is deprecated, use SND_PCM4_stopPlay instead.\"")
31
+ #define SND_getVolume_4PCM _Pragma("GCC error \"This method is deprecated, use SND_PCM4_getVolume instead.\"")
32
+ #define SND_setVolume_4PCM _Pragma("GCC error \"This method is deprecated, use SND_PCM4_setVolume instead.\"")
33
+
34
+ /**
35
+ * \brief
36
+ * Load the Z80_DRIVER_PCM4 sound driver.
37
+ */
38
+ void SND_PCM4_loadDriver(const bool waitReady);
39
+
40
+ /**
41
+ * \brief
42
+ * Return play status of specified channel (4 channels PCM player driver).
43
+ *
44
+ * \param channel_mask
45
+ * Channel(s) we want to retrieve play state.<br>
46
+ * SOUND_PCM_CH1_MSK = channel 1<br>
47
+ * SOUND_PCM_CH2_MSK = channel 2<br>
48
+ * SOUND_PCM_CH3_MSK = channel 3<br>
49
+ * SOUND_PCM_CH4_MSK = channel 4<br>
50
+ * <br>
51
+ * You can combine mask to retrieve state of severals channels at once:<br>
52
+ * <code>SND_PCM4_isPlaying(SOUND_PCM_CH1_MSK | SOUND_PCM_CH2_MSK)</code><br>
53
+ * will actually return play state for channel 1 and channel 2.
54
+ *
55
+ * \return
56
+ * Return TRUE if specified channel(s) is(are) playing.
57
+ */
58
+ bool SND_PCM4_isPlaying(const u16 channel_mask);
59
+ /**
60
+ * \brief
61
+ * Start playing a sample on specified channel (4 channels PCM player driver).<br>
62
+ * If a sample was currently playing on this channel then it's stopped and the new sample is played instead.
63
+ *
64
+ * \param sample
65
+ * Sample address, should be 256 bytes boundary aligned<br>
66
+ * SGDK automatically align resource as needed
67
+ * \param len
68
+ * Size of sample in bytes, should be a multiple of 256<br>
69
+ * SGDK automatically adjust resource size as needed
70
+ * \param channel
71
+ * Channel where we want to play sample, accepted values are:<br>
72
+ * SOUND_PCM_CH_AUTO = auto selection from current channel usage<br>
73
+ * SOUND_PCM_CH1 = channel 1<br>
74
+ * SOUND_PCM_CH2 = channel 2<br>
75
+ * SOUND_PCM_CH3 = channel 3<br>
76
+ * SOUND_PCM_CH4 = channel 4<br>
77
+ * \param loop
78
+ * Loop flag.<br>
79
+ * If TRUE then the sample will be played in loop (else sample is played only once).
80
+ */
81
+ void SND_PCM4_startPlay(const u8 *sample, const u32 len, const SoundPCMChannel channel, const bool loop);
82
+ /**
83
+ * \brief
84
+ * Stop playing the specified channel (4 channels PCM player driver).<br>
85
+ * No effect if no sample was currently playing on this channel.
86
+ *
87
+ * \param channel
88
+ * Channel we want to stop, accepted values are:<br>
89
+ * SOUND_PCM_CH1 = channel 1<br>
90
+ * SOUND_PCM_CH2 = channel 2<br>
91
+ * SOUND_PCM_CH3 = channel 3<br>
92
+ * SOUND_PCM_CH4 = channel 4<br>
93
+ */
94
+ void SND_PCM4_stopPlay(const SoundPCMChannel channel);
95
+ /**
96
+ * \brief
97
+ * Change envelop / volume of specified channel (4 channels PCM player driver).
98
+ *
99
+ * \param channel
100
+ * Channel we want to set envelop, accepted values are:<br>
101
+ * SOUND_PCM_CH1 = channel 1<br>
102
+ * SOUND_PCM_CH2 = channel 2<br>
103
+ * SOUND_PCM_CH3 = channel 3<br>
104
+ * SOUND_PCM_CH4 = channel 4<br>
105
+ * \param volume
106
+ * Volume to set: 16 possible level from 0 (minimum) to 15 (maximum).
107
+ */
108
+ void SND_PCM4_setVolume(const SoundPCMChannel channel, const u8 volume);
109
+ /**
110
+ * \brief
111
+ * Return envelop / volume level of specified channel (4 channels PCM player driver).
112
+ *
113
+ * \param channel
114
+ * Channel we want to retrieve envelop level, accepted values are:<br>
115
+ * SOUND_PCM_CH1 = channel 1<br>
116
+ * SOUND_PCM_CH2 = channel 2<br>
117
+ * SOUND_PCM_CH3 = channel 3<br>
118
+ * SOUND_PCM_CH4 = channel 4<br>
119
+ * \return
120
+ * Envelop of specified channel.<br>
121
+ * The returned value is comprised between 0 (quiet) to 15 (loud).
122
+ */
123
+ u8 SND_PCM4_getVolume(const SoundPCMChannel channel);
124
+
125
+ #endif // _SND_PCM4_H_
@@ -0,0 +1,6 @@
1
+ #ifndef _TAB_VOL_H_
2
+ #define _TAB_VOL_H_
3
+
4
+ extern const u8 tab_vol[0x1000];
5
+
6
+ #endif // _TAB_VOL_H_
@@ -0,0 +1,6 @@
1
+ #ifndef _SMP_NULL_H_
2
+ #define _SMP_NULL_H_
3
+
4
+ extern const u8 smp_null[0x100];
5
+
6
+ #endif // _SMP_NULL_H_
@@ -0,0 +1,6 @@
1
+ #ifndef _SMP_NULL_DPCM_H_
2
+ #define _SMP_NULL_DPCM_H_
3
+
4
+ extern const u8 smp_null_dpcm[0x80];
5
+
6
+ #endif // _SMP_NULL_DPCM_H_
@@ -0,0 +1,70 @@
1
+ /**
2
+ * \file sound.h
3
+ * \brief General / shared sound driver definitions
4
+ * \author Stephane Dallongeville
5
+ * \date 08/2011
6
+ *
7
+ * This unit provides basic definitions for sound drivers.<br>
8
+ */
9
+
10
+ #ifndef _SOUND_H_
11
+ #define _SOUND_H_
12
+
13
+ /**
14
+ * \brief
15
+ * Sound PCM channel enum
16
+ */
17
+ typedef enum
18
+ {
19
+ SOUND_PCM_CH_AUTO = -1, // auto-select
20
+ SOUND_PCM_CH1 = 0, // channel 1
21
+ SOUND_PCM_CH2, // channel 2
22
+ SOUND_PCM_CH3, // channel 3
23
+ SOUND_PCM_CH4, // channel 4
24
+ } SoundPCMChannel;
25
+
26
+ /**
27
+ * \brief
28
+ * Sound panning enum
29
+ */
30
+ typedef enum
31
+ {
32
+ SOUND_PAN_NONE = 0x00, // mute
33
+ SOUND_PAN_RIGHT = 0x40, // right speaker only
34
+ SOUND_PAN_LEFT = 0x80, // left speaker only
35
+ SOUND_PAN_CENTER = 0xC0 // center (both speakers)
36
+ } SoundPanning;
37
+
38
+ /**
39
+ * \brief
40
+ * PCM channel 1 (first channel) selection mask.
41
+ */
42
+ #define SOUND_PCM_CH1_MSK (1 << SOUND_PCM_CH1)
43
+ /**
44
+ * \brief
45
+ * PCM channel 2 selection mask.
46
+ */
47
+ #define SOUND_PCM_CH2_MSK (1 << SOUND_PCM_CH2)
48
+ /**
49
+ * \brief
50
+ * PCM channel 3 selection mask.
51
+ */
52
+ #define SOUND_PCM_CH3_MSK (1 << SOUND_PCM_CH3)
53
+ /**
54
+ * \brief
55
+ * PCM channel 4 selection mask.
56
+ */
57
+ #define SOUND_PCM_CH4_MSK (1 << SOUND_PCM_CH4)
58
+
59
+
60
+ #define SOUND_PCM_AUTO _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH_AUTO instead.\"")
61
+
62
+
63
+ /**
64
+ * \brief
65
+ * Load the dummy Z80 driver.
66
+ */
67
+ void SND_NULL_loadDriver(void);
68
+
69
+
70
+ #endif // _SOUND_H_