3 releases (breaking)
Uses new Rust 2024
| 0.3.0 | Apr 4, 2026 |
|---|---|
| 0.2.0 | Mar 14, 2026 |
| 0.1.0 | Jul 19, 2025 |
#90 in #mouse
Used in 3 crates
280KB
8K
SLoC
Design
The raven-varvara crate is independent of any specific GUI / windowing
implementation. Instead, the application using the crate is responsible for
running the event loop, sending keyboard / mouse state, and drawing the returned
frames. This makes the library very flexible!
Devices
Console
Limitations
Output streams are buffered and printing is delegated to the caller. For example, a program that prints many lines before halting will run to completion, then the caller is responsible for printing those lines
Audio
Implementation notes
The reference implementation
is very different from the
specification;
raven-varvara attempt to match the behavior of the reference implementation.
Controller
Implementation notes
The key port must be cleared after the vector is called. Otherwise,
button handling is broken in some ROMs.
File
Implementation notes
The directory output format must be zero-terminated; otherwise, the Potato ROM prints junk data left in memory.
Datetime
Limitations
The IS_DST bit always returns 0
(see chrono#1562)
Dependencies
~1.5–2.4MB
~38K SLoC