--- xinu/h/disk.h 2018/04/24 17:39:02 1.1.1.1 +++ xinu/h/disk.h 2018/04/24 17:39:12 1.1.1.2 @@ -1,10 +1,10 @@ /* disk.h - dssync, dsdirec */ #include /* disk controller constants */ -#include /* disk interface constants */ +#include /* disk interface constants */ -typedef unsigned DBADDR; /* disk data block addresses */ -#define DBNULL (DBADDR)0177777 /* null disk block address */ +typedef unsigned short DBADDR; /* disk data block addresses */ +#define DBNULL (DBADDR) 0xffff /* null disk block address */ struct dsblk { /* disk driver control block */ struct dtc *dcsr; /* disk interface csr address */ @@ -43,6 +43,12 @@ struct dreq { /* node in list of reque #define DSEEK XOSEEK /* seek " */ #define DSYNC XOTDR /* sync " (test-disk-ready) */ +#ifdef mc68000 +#define BUS_COM (0x000000) +#define BUS_BUF (0x000000+sizeof(struct xbdcb)) +#define MULTI(address) (address + 0x100000) +#endif + extern int dskrbp; /* disk request node buffer pool*/ extern int dskdbp; /* disk data block buffer pool */ @@ -51,4 +57,4 @@ extern int dskdbp; /* disk data block #define DSKSYNC 0 /* synchronize (flush all I/O) */ #define dssync(ddev) control((ddev),DSKSYNC); -#define dsdirec(ddev) ((struct dir *)devtab[ddev].dvioblk->ddir) +#define dsdirec(ddev) (struct dir *) (((struct dsblk *)devtab[ddev].dvioblk)->ddir)