Things still to do

This is the list of known outstanding tasks.

  • Audio drivers. The audio chip is a NVIDIA nForce, which apparently supports AC97. The catch is that I need some basic routines to access the chip at a low level.
  • Network drivers. The chip that provides the networking capabilities is the NVIDIA nForce and, like the audio, I need low level routines to manipulate the chip. I have been considering using the LWIP TCP/IP network stack, but am open to suggestions
  • External USB device support (other than XBOX controllers)
  • fork() support. There is a kernel API to create a new thread, however, it expects to launch a new function, rather than continuing from the current location (as per fork). Not sure what to do about this…
  • Test XRenameFile(), XCreateDirectory(), XDeleteFile(), XDeleteDirectory(). I wrote these but haven’t got around to testing them yet.
  • Support multiple video modes in the graphics APIs.
  • Fix freopen(stdout) so that it overwrites the file if already there
  • Wrap debugPrint() from bottom of page to top
  • Currently alloca() is not implemented. I have tried several incantations, but none of them work very well.
  • The times() function currently returns the time since the XBOX was turned on (which is fine if you are just checking to see how long things take. ie. comparing the result from subsequent times() incantations), but is no good if you need to know the current time.
  • Create <dirent.h> functions such as opendir(), readdir(), et al