This section of Techno-Plaza is dedicated to helping you learn how to
use TIGCC to program
compatible and effective programs for the TI-89, 92+, and V200.
The series of lessons that follow are instructions on topics ranging
from basic to advanced. These should prepare you with the basic tools
you need to write good programs, and give you the knowledge you need to
extend from these lessons into making real programs.
Lesson 1: A Classic "Hello, World" Example
Learn the foundations of TIGCC programming with a very simple
example designed to illustrate the foundations of the C programming
language and introduce you to the basic concepts.
Lesson 2: Basic Keyboard Input
Begin to explore the TIOS input handling methods with an exploration
of the keyboard and the various functions used to get input from the
user. This lesson assumes you understand the basic constructs of
TIGCC programming as introduced in lesson 1.
Lesson 3: An Introduction to Graphics
Begin to work with graphics in TIGCC and learn how graphical objects
can be manipulated. Also get an introduction to sprites, what they
are and how to use them in your programs.
Review 1: Text Display, Keyboard Input Handling, and Sprite
Take a review of the first three programming lessons and the
concepts of text display, keyboard input, and sprite graphics. This
review uses a sliding puzzle game to demonstrate how these concepts
can work in tandem to create something useful with only the
knowledge of the first three programming lessons.
Lesson 4: Functions
Begin to work with functions as you define your own and start to
understand the guiding principles behind functions and how they
Lesson 5: Pointers and Arrays
Begin to understand the most powerful concept in C and use them to
make your programs more powerful and efficient. The last lesson you
need to learn before graduating as a novice C programmer to an
advanced C programmer.
Lesson 6: Dynamic Memory Allocation
Work with one of the most fundamental concepts in C, dynamic memory
allocation. Learn to allocate memory on demand instead of reserving
big blocks. Very useful in overcoming the problems of a limited
Review 2: Functions, Pointers, and Dynamic Memory
Take a review of the second three programming lessons and the
concepts of functions, pointers, and dynamic memory allocation.
This review extends the sliding puzzle game from the first review
lesson to demonstrate better design techniques through the use of
the new concepts we have covered in the fourth, fifth, and sixth
Lesson 7: Structures, Unions, and Enumerations
One of the most important concepts in any programming language is
how to build larger structures with only a handful of primitive data
types like integers and characters. Learn to build those very
structures with the C concepts of structures, unions, and
Lesson 8: Bit Manipulation
One of the most powerful operations in C, bit manipulation allows us
to access and manipulate variables at hardware level for maximum
efficiency. Learn how to use bit masks, how unmasked sprites work,
how to do efficient map drawing and collision detection and more all
with these simple processes.
Lesson 9: Advanced Pointers
Learn more about pointers as you complete the journey through the
basics of C and graduate from the status of beginner programming
into real programmer. After this point, everything you learn will be
bonus, not groundwork. This is the last lesson in the foundation
series, and at this point, your C skills should be ready to work
with a program of almost any complexity.
Lesson 10: File I/O
A most sorely needed lesson, learn to deal with files and the AMS
file system. Persistent storage, storing large maps and arrays
outside programs to keep within the memory limits, and maximize
compatibility between AMS versions. File I/O is core in C and a
useful extension of TIGCC programming, especially for games, or any
program that needs to store data from program instantiation
Review 3: Intro to Graduate Programming
A review on all the concepts of beginning programming using the
Nibbles 68k source code. Marks your completion of Programming 101
and begins your journey into more advanced programming skills.