/* Hardware constants */ #define LASTPAGE 125 /* Pages of memory 0,1,...LASTPAGE */ #define PAGESIZE 512 /* Page size in bytes */ #define MEMORYSIZE ((LASTPAGE+1)*PAGESIZE - 1) /* Memory size in bytes */ #define TEXTORIGIN PAGESIZE*2 /* Starting address of the code */ /* Top most device number in a class */ #define UPDISK 0 /* disk device numbers 0...UPDISK */ #define UPDRUM 0 /* drum device numbers 0...UPDRUM */ #define UPPRINTER 0 /* printer device numbers 0...UPPRINTER */ #define UPTERM 4 /* terminal device numbers 0...UPTERM */ /* Device capacities */ #define UPAMOUNT 128 /* max no of bytes for printer and terminals */#define UPSECTOR 7 /* disk sector numbers 0...UPSECTOR */ #define UPTRACK 3 /* disk track numbers 0...UPTRACK */ #define UPDRUMSEC 199 /* drum sector numbers 0...UPDRUMSEC */ /* I/O time for each device class (in clock ticks) */ #define TERMTIME 10000 #define PRINTERTIME 10000 #define DISKTIME 100 #define SEEKCONST 100 #define DRUMTIME 100 #define SEEKTIME(x) (SEEKCONST * (unsigned)sqrt(x)) #define UPDEVICES 16+1 /* Max number of devices plus clock */ #define MAXPRIO 8 /* Maximum priority number */