gbts was designed under contract to Invention City as a way of using a Nintendo Gameboy as a cheap intelligent display for some other system, for example a PC or an intelligent cartridge.
gbts provides on the Gameboy side a way of running primitives like 'Draw image', 'Draw line', 'Set Font', 'Draw proportional text', a way of caching frequently use commands for speed, and an event system that hands up events like 'User pressed button A while at (x,y)', 'Timer expired'. Events can be attached to cached primitives, so for example a timer expiring could draw an image causing animation, or a click in a given box could XOR the area, giving the user immediate feedback while the client decides what to do next.
Communication with a PC is acheived through a custom cartridge. Schematics and PCB design in Protel format are included. The cartridge consists of 64k of flash, a RS232 serial port, and a simple bank switcher that switches the whole of the lower 32k page.
gbts is no longer under active development. For now it is parked up here at sourceforge as a service to the gbdev community. If anyone is interested in modifying or improving gbts, contact Michael Hope for cvs access.
gbts was originally built using a pre 2.1.0 build of gbdk and maccer. It has not been tested with the latest version of gbdk, but this would be an interesting project for someone. The documentation is written in DocBook style sgml. Debian Linux contains pre-built packages that can turn this into something more useful.
See Reiner Ziegler's ReadPlus page for more information.
A few demos were written to show the capabilities of the library. They are all only shells, but show some of what it can do.
Shows polygon, image, line, rotated XORed circle, and proportional text drawing.
Shows the final demo. All icons can be clicked upon. The 'Applications' menu can be clicked upon. The ':' in the time flashes off a timer.