3 unstable releases
0.3.0 | Feb 1, 2021 |
---|---|
0.2.1 | Dec 2, 2020 |
0.2.0 | Nov 28, 2020 |
#217 in #emulator
26KB
311 lines
tms9918a_emu
Texas Instruments TMS9918A VDP emulator library for Rust
GitHub | crates.io | API Documentation
tms9918a_emu emulates a Texas Instruments TMS9918A video display processor and provides a basic framebuffer as Vec<u32>
which can be used with other creates, such as minifb, to create a window.
High-level functions are provided as well as low-level functions, making it easy to control the VDP without needing to use the control and data ports.
This emulator is a work-in-progress and currently only supports the Graphics I and Text video modes, and sprites are unsupported in all modes. In its current state, this emulator is more of a TMS9918 (non-A variant) emulator.
Example
This is a small example program which uses Text mode to display a hello world message in a minifb window, showing how to use the high-level functions:
A similar example program is available which shows how to use the low-level functions to display the same hello world message.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~1.4–2MB
~36K SLoC