Avigo Agora

a · vi · go: (<Latin and English) a cool toy
ag · o · ra: (<Greek) a gathering place

Freeware SDK Developer Info

This page is here to help people get started using the Freeware SDK developed by Gerard Vermeulen. The latest version of the Freeware SDK was just released Nov 15, 1998 and is version 0.92 Beta 1. If you don't have it yet, GET IT!

If you're looking for general information about the Avigo, check out Texas Instruments' official site, and then go to the Avigo Downloads page to see what is really going on. There is also a very active developer-oriented mailing list that you can join at Onelist.

I welcome any and all contributions of freeware code and/or documentation!

Acknowledgements

Thanks to the following folks without whose effort this site would not have been possible: First and foremost Gerard Vermeulen for making the great Freeware SDK; the assembly wunderkind: Hans Pufal, Ray Broniak, and Randy Gill; Ollivier Civiol, the author of the Avigo Disassembler and man who makes the Avigo world go round. Finally thanks to those that have contributed code for "the cause" (attributions below).

What's New

Freeware SDK News and FAQ

Information that might be useful to you.

Tutorials/Help

Info-rich Websites

Known SDK Bugs and Other Tidbits

Sample Code

The sample programs Gerard includes with his Freeware SDK are great -- especially Sokoban -- but the samples simply don't exercise enough of the API. I have been playing around with various functions to see how they work. Most of these samples are the fruit of that labor.

Now allow me one moment to cover my butt: The code provided comes with no guarantees implied or otherwise. Use at your own risk, and always backup the data on your Avigo before installing ANYTHING new. Don't get any mistaken impressions: this stuff is pretty raw, but the idea is to get it out there so people can use it as a starting point for understanding how to code in the Freeware SDK.

Real Programs

Examples of more or less "real" apps complete with code.

BubbleBurst Sam Rauch
Most of the source for the best looking Avigo game out there. Bubble Burst is a clone of the popular arcade game, Puzzle Bobble or Bust-A-Move. If you're not familiar with the game, take a look at some screen shots.
Drobos Jouni Miettunen
If you've seen the game "robots" or "daleks" or "Dr. Who" or "Androids" then you know this game. A classic. (Version 0.2)
IRDraw Thomas Chapman
With IRDraw on two or more Avigos you can scribble notes to each other. Now works with SDK v91b2 (Version 0.3.)
BatteryMeter Thomas Chapman
Monitor the state of your main and backup batteries. Doesn't actually come with source, but Thomas will send it to you if you mail him a postcard. It sounds worth the effort, too. (Version 1.0)

Toy Examples

Complete samples containing all the files necessary to compile with the Freeware SDK. However, being designed to just demonstrate a concept or two, they don't do anything useful.

Dave Page & Bill Baxter
This sample shows how to read the keyboard state directly. No more waiting around for half a second while GetKey() tries to decide if it is going to tell you a key was pressed or not! A must for action game developers. (Version 0.9)
Bill Baxter
This sample shows how to save application preferences. You can store up to 256 bytes of info that you can read back next time you start your app. Now has DeletePref and GetPrefLength functions too! (Version 1.1)
Bill Baxter
This sample lets you browse through the Avigo's system icons. To get icons working in your own apps, just throw the two included files (avicons.c and avicons.h) into your project and start drawing with the REAL system icons today! Some surprising things are drawn with system icons, like the entire tap-tap-tap pen calibration sequence (three separate icons each the size of the entire screen!). Now, thanks to Thomas Chapman, avicons.h has symbolic constans like I_STAMP_CAR that you can use in place of cryptic constants like 168.
Bounce Bill Baxter
The first thing I wrote with the Freeware SDK. It's some text that bounces around the screen. I wrote it to convince my wife that she made the right choice buying me an Avigo. Show it to your wife or significant other and you're sure to get a free hug. (And go ahead -- I won't mind if you tell her you wrote it just for her.)
Bill Baxter
Input test demonstrates how to get input from the pen and from the application buttons.
Bill Baxter
Mask test shows how to use the SetDrawArea API to restrict drawing to a particular region of the screen.
Bill Baxter
Restore test shows how to use the BackupWindow and RestoreWindow APIs to save a region of the screen and bring it back later -- important if you're going to do things like popping up windows.
Bill Baxter
This sample pops up a little dialog with some text in it and an OK button. It is designed to be incorporated into other apps. It now also saves and restores the background. (Version 1.1)

Code Fragments

Bits of code that might be useful.

framedraw.c David Ford
Some drawing code that mimics the look of the standard title bar that appears at the top of most Avigo apps. Now has a menu and uses system icon drawing to get the look just right. (Note: this source relies on the avicons.c and avicons.h files from the icontest sample.)
isamp.c Sam Rauch
Another sample of grabbing input from the pen and buttons.

Future Plans

My current goal is to write a crossword program for the Avigo that allows you to download crossword puzzles off the web and play them at your leisure on the go. The basic game logic and drawing parts are coming along fine, but I still have some missing bits of functionality: If you have free code that implements this or any other useful bit of functionality please send it over! I'll add it to the collection of available Free SDK source code (and of course give you credit).
Bill Baxter (Send mail)
Last updated: 02-Nov-1998