ares-openbsd/ares/fc/expansion
Adrian Siekierka c27f369e31
fc: Initial EPSM implementation. (#1274)
More information:
https://www.nesdev.org/wiki/Expansion_Port_Sound_Module

While this is a homebrew device, it has already shipped to consumers in
this manner.

TODO (I'm not sure how to fix these issues myself):

- [x] Switching from EPSM back to another peripheral (None or Family
Keyboard) unloads not just the additional EPSM-provided audio streams,
but seems to break *all* audio from the NES core.
- [x] NES 2.0 cartridges can declare that they wish to have the EPSM
peripheral installed by default (Extended Console Type 0x04), but I'm
not sure how to hook this nicely from the pak data to the expansion port
node.
- [ ] Missing serialization, but this affects the Family Keyboard to
some limited extent already, so...

Not urgent at all. It has shipped to consumers, but the amount of
software using it is still lacking.

---------

Co-authored-by: Luke Usher <luke@usher.cc>
2023-11-07 12:09:15 +00:00
..
epsm fc: Initial EPSM implementation. (#1274) 2023-11-07 12:09:15 +00:00
family-keyboard fc: Initial EPSM implementation. (#1274) 2023-11-07 12:09:15 +00:00
expansion.cpp fc: Initial EPSM implementation. (#1274) 2023-11-07 12:09:15 +00:00
expansion.hpp fc: Initial EPSM implementation. (#1274) 2023-11-07 12:09:15 +00:00
port.cpp fc: Initial EPSM implementation. (#1274) 2023-11-07 12:09:15 +00:00
port.hpp fc: Initial EPSM implementation. (#1274) 2023-11-07 12:09:15 +00:00