КР1818ВГ93 используется также и в КНГМД Э-85.

Возможно, что исходник драйвера DZ окажется неплохой отправной точкой.

Код:
.MCALL	.MODULE
.MODULE	DZ,VERSION=20,COMMENT=<RX50 Mini-Floppy Disk Handler>,AUDIT=YES

.SBTTL	General Comments

;+
; This handler serves as the standard RT-PC RX50 device handler.  It
; is both the system and non-system handler.  It also provides two
; special function capabilities to support physical I/O on the floppy
; as a foreign volume.  The special functions are:
;
;	Code	Action
;
;	 377	Absolute sector read.
;		WCNT=TRACK, BLK=SECTOR, BUFFER=256 word buffer
;	 376	Absolute sector write.  Arguments same as code 377.
;
; In standard RT-PC mode, a 2:1 interleave is used on a single track and
; a 2 sector skew is used across tracks.
;-

.SBTTL	DEFINITIONS

.MCALL	.DRDEF, .ASSUME, .BR, .ADDR

	.DRDEF	DZ,52,FILST$!SPFUN$,800.,0,0
	.DRPTR	FETCH=DZLOAD,LOAD=DZLOAD
	.DREST	CLASS=DVC.DK
	.DRSPF	<377>		; Read Absolute
	.DRSPF	<376>		; Write Absolute

.SBTTL	Constants and defaults

.IIF NDF DZ.CMA, DZ.CMA = 173206 ;Interrupt A command register
.IIF NDF DZ.CMB, DZ.CMB = 173212 ;Interrupt B command register
.IIF NDF DZ.IEN, DZ.IEN = 1	 ;Bit number of interrupt enable bit

DZ$CS0	= 4			;Offset from RX5ID to RX5CS0

SPFUNC	= 100000		;Special functions flag in command word
SYSPTR	= 54			;Pointer to base of RMON
		P1EXT	= 432	;Offset from $RMON to external routine
		GETVEC	= 436	;Offset from $RMON to $GTVEC routine
	
; RX50 Controller defaults

PC$CSR	= 174000	;Base device address of PC option modules
PC$VEC	= 300		;Base interrupt vector address for PC options
PC$IC1	= 173206	;PC interrupt controller 1 CSR address
PC$IC2	= 173212	;PC interrupt controller 2 CSR address
MMUSR0	= 177572	;Memory management unit SR0
MMUSR3	= 172516	;Memory management unit SR3
.IRPC	X <01234567>
KISAR'X	= 172340+<2*X>	;Kernel Instruction PAR'X
KISDR'X	= 172300+<2*X>	;Kernel Instruction PDR'X
.ENDR
  AP$ACF= 077406	;4KW page with no trap/abort
PROCFG	= 37776		;PAR1 biased address of start of PRO3xx CONFIG table
  CTI	= -10.		;Offset to number of option slots
  SLOT0	= -14.		;Option slot 0 ID
DZ$ID	= 2004		;Hardware device id # for RX50 controller

; Control and status register bit definitions

DZ.ID	= -4			;Offset to RX5ID from RX5CS0

;+
;Offset and command mode bit definitions of RX5CS0.
;-

DZ.CS0	= 0			;RX5CS0

  C0.DSK = 002		;Disk select
  C0.DRV = 004		;Drive select
  C0.MTO = 010		;Extended motor timeout
  C0.FN0 = 020		;Mask bit for FUNTION BIT 0
  C0.FN1 = 040		;Mask bit for FUNTION BIT 1
  C0.FN2 = 100		;Mask bit for FUNTION BIT 2

    C0.STA = 000		;Read status function

    C0.RSD = 040		;Restore drive function
    C0.RSS = 060		;Restore subsystem function (RX INIT)
    C0.RED = 100		;Read sector function
    C0.RER = 120		;Read sector with retries function (EXTENDED)
    C0.RAD = 140		;Read address function
    C0.WRT = 160		;Write sector

C0.DON	= 10			;Done bit

;+
;These offsets are relative to the RX5CS0 register (X04).
;-

DZ.CS1	= 2			;Offset to RX5CS1 from RX5CS0
DZ.CS2	= 4			;Offset to RX5CS2 from RX5CS0
DZ.CS3	= 6			;Offset to RXCS3 from RXCS0
DZ.DB	= 14			;Offset to RX5DB from RX5CS0
DZ.CA	= 16			;Offset to RXCA from RXCS0
DZ.GO	= 20			;Offset to RX5GO from RX5CS0

DZMTRK	= 79.			;Highest track

; Error and status register bit definitions

RETRY	= 8.			;Max number of retries (write function only)
DZNREG	= 7.			;Number of registers for error log

; Miscellaneous hardware definitions

KISAR1	= 172342		;KT-11 PAR for mapping user buffer