
Work is currently going in three more-or-less independent directions:
1. System stuff - drivers, memory management, multitasking...
2. Persistent Storage - object addressing, etc.
3. Languages - Forth, Scheme, Assembler...

There is some interdependence, namely: Persistent Storage affects memory
management and language compilers.


Things to do
------------

See kernel/Notes.txt

Current programming work:
 * Revamp the floppy driver, make sure it reads reliably
 * Install on hard disk, with GRUB or LILO
 * Work on I/O, interrupts, process management, consoles,
   interprocess communications (BC's idea..)

MM/PS/GC:
 * Memory manager: alloc & free
 * REAL persistent storage (w/ disk support)
	MMURTL: ftp.cygnus.com:/pub/embedded
	LSDDL: http://members.tripod.com/~ladsoft/oindex.htm
 * Garbage Collection, Consistency, Distributed Computation...
	see Tunes review project for references
 * FORTH interface to the Store

Adapt FORTH to be the Tunes LLL (some changes for I/O and defining words) ?
FORTH->syntree parser? (current FORTH compiler is of the "traditional" variety)

Code generator (syntree->machine-code translator)

Scheme (a simplified version of LISP, in case you wondered):
First write a Scheme interpeter (in Forth?)
Make a blend of Scheme and Forth? (a step toward flexible-syntax language)

LISP/Scheme implementation:
* Online stuff:
Henry Baker's articles
	ftp://ftp.netcom.com/pub/hb/hbaker/home.html
Rscheme docs
	http://www.rscheme.org
CMUCL docs
	http://www.cons.org/cmucl
docs for lots of other LISP and Scheme systems (also see ML)
	http://www.tunes.org/Review/Languages.html#LISP
* Books:
LiSP in Small Pieces by Christian Queinnec
	ftp://ftp.inria.fr/INRIA/Projects/icsla/WWW/LiSP.html
Topics in Advanced Language Implementation, edited by Peter Lee
	???

Unicode (www.unicode.org)
1) What is it?
	ISO/IEC 10646 std. - 16-bit multilingual character code
	Unicode is UCS-2 (2-octet); there's also UCS-4 (4 octet)
	UTF-8 - ASCII w/ escape codes
	UTF-16 - extension to support ~1 million characters
	(all these are convertible without lossage)
2) Is it any good?
	Good question :)
	At a glance, it looks reasonable.
3) Does it have some room set aside for extended keycodes?
	Yes - 6400 characters reserved for private use
4) Does anyone use it?  Will it replace ASCII as the dominant standard?


XCOM object format

XCOM/RDF --> Native format (Persistent Store) converter?
Maybe a program to access the Store from Unix?

Fix "disk error" dump in bootsector, so it tells some useful information.

Nag core@suntech.com about it

Communications: Serial (in progress), TCP/IP, PPP, telnet...


Requests!
---------

GRUB (www.uruk.org), LILO, LOADLIN support

Implement Tril's typesystem (or some sort of typesystem)


Graphics
--------

I'm really looking forward to graphics... for games, user interfaces,
mathematical visualization, etc... First things: pixel, hline, vline, line,
circle, blit, triangle, shaded triangle, S-buffer (a 3D depth-sorting
algorithm)... some linear algebra... then routines for rendering curved
surfaces as triangle meshes (I like that method.. it's fast, flexible, and
looks nice).  Oh yeah, also lightsourcing.  We can use the Retro object
system for managing 3D objects.  Anyway, I've written a lot of this stuff
before... it's mostly a matter of translating and improving it.

Example: '3dkit' or 'threeDKit' by Paul Sheer, included as an example in
SVGAlib for Linux.  It's a good start...

GGI (www.ggi-project.org)

Graphics editing program: bitmaps, vectors (including CAD).. later to
incorporate word processing and database functions, to become an extendable
"all-around editing environment".


Games
-----

Text adventures - Not just for fun, also for experimenting with object
systems & organization (especially non-hierarchical), user interface, etc.

Genetic algorithm game: similar to Corewar, but high-level and reflective
(to allow more efficient self-modification and more complex programs). 
Corewar GA's can create some pretty good programs.. can't wait to see this.

A 3D multiplayer game would be cool.  It should be fun, but small enough to
download quickly.  Not the usual "doom" cliche... I'd rather borrow from an
imaginative sci-fi novel.. maybe Ringworld... or maybe one of Walter Jon
Williams' novels..


---------------------------------------------------------------------------

"Hofstadter's Law:  It always takes longer than you expected, even when you
take into account Hofstadter's Law."

					-- Douglas Hofstadter
