A taste of things to come ...

A little background

To avoid the programming-in-blind syndrome, I decided to start out creating a Topfield TAP environment for Windows so that I could develop TAP applications under Windows. This would ease the debugging process a bit, as well as making the game(s) I want to develop available for Windows as well.

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.

What it is and what it ain't

This is not Topfield emulator. Although I've tried to emulate the API you cannot run compiled TAPs. It is a cross-platform development environment. Also, since all I have to go by is the API manual from Topfield expect API calls not to behave as expected, there are lot of 'bugs' and incorrect documentation to be found there.

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.

What's available ?

o Modified TAP API header files
o Header-files needed for using the devenv
o A zip-file containing the emulated environment as well as needed header files + the simulated disk (unzip to c:\)
o A zip-file containing the emulated environment binaries only (unzip to c:\topfielddisk\datafiles\sdk)
o Samples
o a graphics library (may ease game development)
o Remote control vs. PC keyboard keymap
o TAP_SDK_Demo A demo showing the current version

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