Open main menu

Difference between revisions of "Small Devices Backend"

(Add more (already existing) modules)
Line 49: Line 49:
various features into several components/modules.
various features into several components/modules.


Candidates for modules are
Possible modules include
* Drawing
* Drawing
* Sound (possibly allow for custom mixer implementations?)
* Sound (possibly allow for custom mixer implementations?)
Line 56: Line 56:
* Mutexes (only used when timers are involved, so could be joint with that)
* Mutexes (only used when timers are involved, so could be joint with that)
* Virtual keyboard
* Virtual keyboard
* Filesystem code (already modular)
* Filesystem code (already modular, see backends/fs/)
* SaveFileManager (already modular)
* SaveFileManager (already modular)
* Native MIDI drivers (already modular)
* Native MIDI drivers (already modular, backends/midi/)
* Scaler code (see common/scaler*) -> we already share some scaler code, but that could probably be done in a better way, and maybe some more generic scalers could be added (e.g. a good & fast downscaler).


Examples for existing "backend modules" (in a sense at least) are
Note: Modularization must be done in such a way that it doesn't hurt porters -- after all it's meant to *help* them. But many ports are rather monolithic, and actually wouldn't benefit much from being modularized (e.g. the PSP, PS2, Dreamcast, etc. ports) compared to the current situation. I.e. it should be relatively pain free to transit to the new system, and not force anybody to reinvent the wheel.
* MIDI/Music drivers (see backends/midi/)
* FilesystemNode code (see backends/fs/)
* Scaler code (see common/scaler*) -> we already share some scaler code, but that could probably be done in a better way, and maybe some more generic scalers could be added (e.g. a good & fast downscaler).
1,079

edits