- printf("Testprogram for stand-alone hp or up driver\n");
-askunit:
- printf("Enter disk name [ type(adapter,unit), e.g, hp(1,3) ] > ");
- gets(buf);
- unit = (*(buf+3) - '0')*8 + *(buf+5)-'0';
- diskname[0] = *buf;
- diskname[1] = *(buf+1);
- diskname[3] = '0' + unit/10;
- diskname[4] = '0' + unit%10;
- if ((fd=open(diskname,0)) < 0) {
- goto askunit;
+ printf("Testprogram for stand-alone driver\n\n");
+again:
+ cp = prompt("Enable debugging (1=bse, 2=ecc, 3=bse+ecc)? ");
+ debug = atoi(cp);
+ if (debug < 0)
+ debug = 0;
+ fd = getdevice();
+ ioctl(fd, SAIODEVDATA, (char *)&st);
+ printf("Device data: #cylinders=%d, #tracks=%d, #sectors=%d\n",
+ st.ncyl, st.ntrak, st.nsect);
+ ioctl(fd, SAIODEBUG, (char *)debug);
+ tracksize = st.nsect * SECTSIZ;
+ bp = malloc(tracksize);
+ printf("Reading in %d byte records\n", tracksize);
+ printf("Start ...make sure drive is on-line\n");
+ lseek(fd, 0, 0);
+ lastsector = st.ncyl * st.nspc;
+ for (sector = 0; sector < lastsector; sector += st.nsect) {
+ if (sector && (sector % (st.nspc * 10)) == 0)
+ printf("cylinder %d\n", sector/st.nspc);
+ read(fd, bp, tracksize);