The following changes were made to the DLXOS before Project #4. In addition, you'll need the latest version of dlxos.tar.gz to get diskio.c and diskio.h. Also, note that proj2.s from Project #3 and earlier will not work with the latest version of dlxos.tar.gz (Project #4); however, the proj2.s supplied with the latest version of dlxos.tar.gz DOES work with the rest of the most recent DLXOS. ---------- process.c: Add DiskModuleInit (); after ProcessModuleInit (); ---------- traps.c: Add case TRAP_DISK: { DiskFinishIo (); break; } to the big case statement after 'case TRAP_PAGEFAULT:' ---------- traps.h Add #define TRAP_DISK 0x50 // disk trap #define DLX_DISK_REQ 0xfff00400 #define DLX_DISK_STATUS 0xfff00408 somewhere in the file. ---------- filesys.c Fix the following line: return ((fd > 0) && (fd < FS_MAX_OPEN_FILES) && (openfiles[fd].flags != 0)); to return ((fd >= 0) && (fd < FS_MAX_OPEN_FILES) && (openfiles[fd].flags != 0)) around line 34.