{Dummy disk driver} %externalroutinespec pdate %routine bulk move (%integer bytes,from,to) !Assume bytes is multiple of 4 and not more than 256k bytes = bytes>>1-1 {was bytes>>2-1} *move.l from,a0 *move.l to,a1 *move.l bytes,d0 loop: *move.w (a0)+,(a1)+ {was move.l} *dbra d0,loop %end %constinteger dwrite=1,dread=2,dverify=4 %externalroutine show disq status pdate; printstring("Disk status: irrelevant"); newline %end %externalintegermap transfer(%integer f,n,a,%integername m) %owninteger started=0 %owninteger answer %if started=0 %start started = 1 pdate; printstring("Dummy disk driver starting"); newline %finish answer = n %if f&dread#0 %start a = addr(m) m = 0 bulkmove(n-2,a,a+2) %finish %result == answer %end %endoffile