Here is a (possibly incomplete) list of missing features and limitations:
intro: | What you are reading |
config.h: | Setup parameters, such as table sizes, and the device driver switch table. |
unix.h: | All strcuture declarations, typedefs and defines. |
extern.h: | Declarations of all global variables and tables. |
data.c: | Dummy to source extern.h and devine globals. |
dispatch.c: | System call dispatch table. |
scall1.c: | System calls, mostly file-related. |
scall2.c: | Rest of system calls. |
filesys.c: | Routines for managing file system. |
process.c: | Routines for process management and context switching. Somewhat machine-dependent. |
devio.c: | Generic I/O routines, including queue routines. |
devtty.c: | Simple TTY driver, slightly-machine dependent. |
devwd.c: | Hard disk driver. Very machine-dependent. |
devflop.c: | Floppy disk driver. Very machine-dependent. |
devmisc.c: | Simple device drivers, such as /dev/mem. |
machdep.c: | Machine-dependent code, especially real-time-clock and interrupt handling code. |
extras.c: | Procedures missing from the Q/C compiler's library. |
filler.mac: | Dummy to make linker load UZI at correct address. |
makeunix.sub: | CP/M SUBMIT file to compile everything. |
loadunix.sub: | CP/M SUBMIT file to load everything. |