[Prev][Next][Index][Thread]
A92: New TI-92 OS! (Update & Anouncement)
I've had a lot of fun so far on this project for my Operating Systems
Project class. I'm writing a multitasking operating system for the TI-92.
It's fully compatable with the TI-OS and Fargo (it uses fargo as a program
interface actually). Now that the semester is half over I wanted to let
everyone know what the project is about.
An operating system called Xinu was written by professor Douglas Comer for
his students and documented in a book called "Operating System Design : The
XINU approach". I have ported this system to the TI-92 platform and am in the
process of optimizing the data structures and writing interface modules
callable from Fargo assembly.
Xinu '92 will support dynamically allocated blocks of static memory (they
don't move at TI-92's will) which allow programs and libraries to make absolute
references and complex data structures, while still allowing the TI-92 memory
system to work unhindered. The kernel will support preemptive multitasking
with priority, mutual-exclusion through semaphores, process sleeping, message
passing (and possibly ports), and a library mechanism to add further
functionality.
Sound too good to be true? It's already working! (hey, it better be, it's
due at the end of the semester!!) The kernel functionality is finished and
tested, and I've been adding library support and the fargo interface most
recently. User Level processes are proving to be a bit of a challenge though.
The whole project fits in about 8K of code/data space, and requires Fargo to
be installed as a front-end. The project is written in C, using my C4Fargo
kit, with some assembly support. (for anyone who does not know, the C4Fargo
kit runs in the Metrowerks CodeWarrior Pro 2 environment for Mac or PC)
I will be releasing fully commented source code at the end of the semester
and a demo program to show off the multitasking power of YOUR TI-92 calculator.
Watch as floating palettes and bouncing sprites dazzle your eyes while the
calculator plots a 3D graph in the background (it's really neat). There will
also be several design documents (from the class) available, and the reference
book which this system is based on.
Hope this sparks some interesting conversation, or ideas, etc.. I won't
have time to support the OS after completion, but I'll answer any questions
about it in my usual detailed fasion.
--Bryan
bcturner@eos.ncsu.edu
Follow-Ups:
References: