Library update: All TMS99x8 targets

Post Reply
User avatar
dom
Well known member
Posts: 2072
Joined: Sun Jul 15, 2007 10:01 pm

Library update: All TMS99x8 targets

Post by dom »

Over the past week or so, I've merged a series of improvements to the VDP library. I've not spotted any regressions, in fact there's been several improvements. In summary:

- In the past all the VDP access routines were accessed via <msx.h> which although it made sense when only the MSX was supported, it's a little bit odd when working on, say the Einstein and having to use msx_ prefixed routines. Those routines that affect the VDP are now primarily accessible via <video/tms99x8.h> and are prefixed vdp_ I've kept <msx.h> for compatibility and for non-VDP related routines for the MSX.

- Support for graphics in multicolour mode 3 has been added

- The "undocumented" mangled/1_2 mode can now be used on machines that aren't the MSX.

- The examples in examples/msx have mostly been made more generic and can be compiled and run on other VDP machines

- The library has been restructured, in particular with regard to entering screen modes. The aim here was to make it easy to add support for V9938/58 screen modes in future and simplify the existing routines that need to work in multiple screen modes.

The nice thing about all this work, is that despite adding more features, memory usage has actually gone down! The new modular structure allows screen modes to be disabled at link time via a pragma which can further reduce memory usage. The mode stripping also works for +cpm compilations that target the VDP machines.

For reference, the wiki page is here: https://github.com/z88dk/z88dk/wiki/Classic-TMS9918
stefano
Well known member
Posts: 2137
Joined: Mon Jul 16, 2007 7:39 pm

Re: Library update: All TMS99x8 targets

Post by stefano »

Great work, thank you Dom !
Post Reply