1 0 Ref. C3 - THE DEFI PACKAGE (Ref. C3) + ___ ____ _______ ___ __ 0 Version 2 + _______ _ 0 8 March 1982 + _ _____ ____ 0 P M Girard + _ _ ______ 0 This small package provides access under VM to a CMS- compatible minidisk on a 3350 using 4096-byte blocks. The virtual device address is 201. 0 The module, written in Assembler, contains three entry points as follows: 0 CALL DEFI (DUMMYARG) 0 The argument is not used, and is present only for historical reasons. The routine sets up an RPS sector table for the minidisk, and must be called (once only) before reading or writing can begin. 0 CALL DRIN (DUMMYARG,BLOCNO,DATA) 0 CALL DROUT (DUMMYARG,BLOCNO,DATA) 0 These routines respectively read and write 4096-byte blocks. The first argument is not used. The second argument is the block number relative to the start of the minidisk, counting from 1. The third argument is the address in store of the start of the data area. 0 Execution of the channel program is performed via DIAGNOSE X'18', which operates synchronously. The return code from the DIAGNOSE is stored at an address obtained by means of a V-type address constant V(C$DRIO). This could be a FORTRAN common block named C$DRIO for instance. 0 It would of course be easy to produce variants of this module using a different virtual device address, different type of disc, or different constant block size. 0 It would also no doubt be easy to replace it by code using FSOPEN, etc, but having originally done it this way there is no pressing need to change it. - - - 0 THE DEFI PACKAGE PAGE 1