@wasm-gaming/fbneo-wasm 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +10 -1
  2. package/dist/fbneo/app/app.js +1 -1
  3. package/dist/fbneo/fbneo.js +1 -1
  4. package/dist/fbneo/fbneo.options.d.ts +6 -0
  5. package/dist/fbneo/fbneo.options.d.ts.map +1 -1
  6. package/dist/fbneo/fbneo.options.js +6 -0
  7. package/dist/fbneo/fbneo.options.js.map +1 -1
  8. package/dist/fbneo/fbneo.sdk.d.ts +21 -1
  9. package/dist/fbneo/fbneo.sdk.d.ts.map +1 -1
  10. package/dist/fbneo/fbneo.sdk.js +57 -1
  11. package/dist/fbneo/fbneo.sdk.js.map +1 -1
  12. package/dist/fbneo/fbneo.wasm +2 -2
  13. package/dist/fbneo/romset.d.ts +0 -0
  14. package/dist/fbneo/romset.d.ts.map +1 -1
  15. package/dist/fbneo/romset.js.map +1 -1
  16. package/dist/fbneo/romsets/atari.json +5036 -118
  17. package/dist/fbneo/romsets/capcom.json +3392 -848
  18. package/dist/fbneo/romsets/cave.json +460 -115
  19. package/dist/fbneo/romsets/channelf.json +200 -50
  20. package/dist/fbneo/romsets/coleco.json +2650 -658
  21. package/dist/fbneo/romsets/cps3.json +240 -60
  22. package/dist/fbneo/romsets/dataeast.json +1352 -338
  23. package/dist/fbneo/romsets/galaxian.json +1192 -298
  24. package/dist/fbneo/romsets/gba.json +197 -0
  25. package/dist/fbneo/romsets/index.json +16 -12
  26. package/dist/fbneo/romsets/irem.json +796 -199
  27. package/dist/fbneo/romsets/konami.json +1644 -411
  28. package/dist/fbneo/romsets/megadrive.json +11899 -2926
  29. package/dist/fbneo/romsets/midway.json +560 -140
  30. package/dist/fbneo/romsets/msx.json +7204 -1798
  31. package/dist/fbneo/romsets/neogeo.json +2704 -614
  32. package/dist/fbneo/romsets/nes.json +12815 -3155
  33. package/dist/fbneo/romsets/pce.json +1952 -488
  34. package/dist/fbneo/romsets/pgm.json +796 -199
  35. package/dist/fbneo/romsets/pgm2.json +32 -8
  36. package/dist/fbneo/romsets/pre90s.json +10002 -2084
  37. package/dist/fbneo/romsets/psikyo.json +160 -40
  38. package/dist/fbneo/romsets/pst90s.json +6400 -1597
  39. package/dist/fbneo/romsets/sega.json +2756 -658
  40. package/dist/fbneo/romsets/sg1000.json +1032 -255
  41. package/dist/fbneo/romsets/sms.json +6012 -1503
  42. package/dist/fbneo/romsets/snes.json +10991 -2816
  43. package/dist/fbneo/romsets/spectrum.json +13579 -3361
  44. package/dist/fbneo/romsets/taito.json +2496 -624
  45. package/dist/fbneo/romsets/toaplan.json +576 -144
  46. package/package.json +1 -1
  47. package/src/app/app.js +1 -1
  48. package/src/fbneo.options.ts +12 -0
  49. package/src/fbneo.sdk.ts +70 -1
  50. package/src/romset.ts +0 -0
package/README.md CHANGED
@@ -41,7 +41,7 @@ await play.destroy(); // saves flushed, loop stopped, audio closed
41
41
  | payload | keys |
42
42
  | --- | --- |
43
43
  | `config` | `renderFilter` (`pixelated` \| `smooth`, live), `jsUrl`, `wasmUrl` |
44
- | `options` | `driver` (FBNeo short name), `romFileName` (its stem is the driver when `driver` is empty) |
44
+ | `options` | `driver` (FBNeo short name), `romFileName` (its stem is the driver when `driver` is empty), `neogeo` (`mvs` \| `aes`) |
45
45
  | `assets` | `rom` (`.zip`/`.7z`, required), `bios` (`.zip`, e.g. `neogeo.zip`) |
46
46
  | `storage` | `namespace` (default `default`), `persist` (`'opfs'` \| `null`) |
47
47
 
@@ -51,6 +51,15 @@ never matters once the driver is known.
51
51
 
52
52
  Events: the contract's `start`, `error`, `exit`, `pause`, `resume`, plus `saves`.
53
53
 
54
+ ## Neo Geo as the AES
55
+
56
+ FBNeo boots Neo Geo sets as the **MVS** (the arcade board: coins, credits). `options({ neogeo: 'aes' })`
57
+ boots them as the **AES**, the home console: once the set runs, the SDK picks the BIOS from the
58
+ `bios` zip — the real AES World BIOS (`neo-epo.bin`) when it is there, else Universe BIOS 4.0 in its
59
+ AES mode (MAME's `neogeo.zip` has it) — sets FBNeo's BIOS settings, inserts the game's **memory
60
+ card** (`<driver>.card` in the save folder, so in OPFS) and resets. `play.neogeo` says what was used
61
+ (`{ mode: 'aes', bios: 'aes' | 'unibios', card }`). The app takes the option from `host.options`.
62
+
54
63
  ## The engine's own app
55
64
 
56
65
  A host that would rather not draw menus mounts the app shipped next to the SDK
@@ -619,7 +619,7 @@ export async function mount(target, host) {
619
619
  render();
620
620
  play = await new FbneoSDK()
621
621
  .mount(stage)
622
- .options({ driver })
622
+ .options({ driver, ...(host.options?.neogeo ? { neogeo: host.options.neogeo } : {}) })
623
623
  .assets({ ...host.assets, rom })
624
624
  .storage(host.storage)
625
625
  .on('error', ({ detail }) => console.error('[fbneo app]', detail))