A taste of things to come ...
The idea I started out was very simple: Create an environment in which I could develop programs that would run under Windows. Take the base sources for the program (exluding the development environment), compile/link using gcc and hey! a new TAP.
The best way to start out creating such a development environment is to take some existing TAP programs and try to run them under the emulated environment and that's exactly what I've done. Thus, I've discovered that some Toppy functionality needs to be emulated as well.
The emulated environment handles both ordinary TAP programs as well as TSRs. The development environment properly handles volume change keys (including mute), and the program change keys. I'm in the progress of doing the Info and Guide keys, they will be available probably within a week.
This functionality comes at a cost, and that is how to deal with dynamic information such as time and events. The development environment has a built-in set of channels (a dump of my first 10 channels actually), and will always generated two sample events on these channels; one long and one short. A release version of the development will (should) probably containt a TAP to dump your own channels as well as be able to read xmltv files for events, thus providing a truly dynamic emulated environment. For now you'll just have to take what you get.
The TAP environment will provide a RS233 output screen if you use TAP_Print, and I'll put up a remote keypad when I have the time (or someone else for that matter (hinthint).
I've also had to tweak the provided header files to fit the environment, mainly some #ifdefs separating WIN32 stuff from TAP stuff
The development environment started out as a project in Visual Studio 2005 Beta. I realize that not everyone has access to this, nor want to use it. I am therefore in the progress of converting it to a standard Win32 application using Dev-CPP and MingW, whic incidentially fits together with using gcc as the compiler for TAP applications. I am using straight C, but the header files for the environment is wrapped for being used with c++ if so desired.
The development environment handles most of the TAP API calls, and a more detailed description of the development environment can be found here !
Some screenshots to wet your appetite.
I can be reached at netiness[a]online.no if you would like to get in touch with me,
or would like to assist in development of the environment.
January 2006,
Kjetil Nęss