Commit Graph

8 Commits

Author SHA1 Message Date
transistor 9ff431ebc6 Split clocks into `femtos` crate 2024-02-24 13:02:09 -08:00
transistor 3471eb4e8c Removed WindowUpdater and BlitableSurface 2023-05-03 22:42:24 -07:00
transistor 69c94fa3af Removed cpu timer and moved audio wave generators to libraries 2023-04-23 19:52:19 -07:00
transistor 86eb73f78a Added clock argument to addressable operations 2023-04-23 18:49:40 -07:00
transistor 07a675fab5 Added new clock types similar to Duration 2023-04-23 15:46:47 -07:00
transistor 941c793523 Added pixel encoding, requested by frontend
The hope was that this would reduce the amount of copying and bit
shifting required by the frontend to get the data on screen, but
it doesn't seem to offer much advantage, surprisingly.  I'll leave
it in though.  There are a few other minor tweaks included here to
try to improve the performance a bit
2023-03-25 10:51:46 -07:00
transistor 2d6044084d Modified how frames are updated
It turns out to not be too much of a performance issue to allocate
a new frame each time one is produced, so to reduce lock contention
I added a queue where frames are added to and taken from without
locking the frame for the whole update.  I'm hoping this will give
more flexibility to frontend implementations, which can simply
skip or repeat frames if needed.
2022-10-01 12:12:25 -07:00
transistor 083f3607ba Major reorganization into crates
I wanted to make this a bit more modular, so it's easier in theory to
write external crates that can reuse bits, and selectively compile in
bits, such as adding new systems or new cpu implementations
2022-09-24 23:14:03 -07:00