#emulator #video #tms9918a

tms9918a_emu

TMS9918A VDP emulator library

3 unstable releases

0.3.0 Feb 1, 2021
0.2.1 Dec 2, 2020
0.2.0 Nov 28, 2020

#217 in #emulator

MIT/Apache

26KB
311 lines

tms9918a_emu

Texas Instruments TMS9918A VDP emulator library for Rust

GitHub | crates.io | API Documentation

TMS9918A

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: High-level Text mode example

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

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