Auxpnext      dd 0ffff0000h
Auxdevattr    dw 1000000000000100b 
Auxstrategy   dw offset aux_strategy
Auxinterrupt  dw offset aux_interrupt
Aux_device    db 'AUX     ' ; Blank-padded device (or 10-byte block device sub-unit number)
; Jump table 
auxtable      db 9
              dw cs:aux_init    ; 0 - initialize driver
              dw cs:aux_err     ; 1 - media change check 
              dw cs:aux_err     ; 2 - build BPB
              dw cs:aux_err     ; 3 - IOCTL string output
              dw cs:aux_input   ; 4 - input
              dw cs:aux_input   ; 5 - nondestructive input
              dw cs:aux_err     ; 6 - input status
              dw cs:aux_input   ; 7 - input flush
              dw cs:aux_output  ; 8 - output
              dw cs:aux_output  ; 9 - output w/ verify
AUX:

aux_init proc far

;        _output Aux_device, 8, 1

         ret
aux_init endp

aux_err  proc far

         ret
aux_err  endp

aux_input proc far
    ; AUX IN = AL = CHAR
    ; fetch character (waits for) from the Standard Auxilary Input
    ; Device, COM1, or AUX, return character in AL
    ; Input is not buffered and must be polled (not interrupt driven)
    ; When DOS starts up, the AUX port (COM1) is initialized to:
    ; COM1:2400Bd,No Parity, 1 Stop Bit, 8-Bit Word
    ; The DOS MODE Command can be used to initialize various settings
    xor al, al
    ; int sft_idx = get_sft_idx(STDAUX);
    ; AL = read_char(sft_idx, sft_idx, TRUE);
         ret
aux_input endp

aux_output proc far
    ; AUX OUT = DL = CHAR
    ; Sends the character in DL to the Standard Auxilary Device,
    ; COM1 or AUX
    xor al, al
    ; write_char(lr.DL, get_sft_idx(STDAUX));
         ret
aux_output endp

aux_strategy proc far

         ret
aux_strategy endp

aux_interrupt proc far

         ret
aux_interrupt endp

AUX_IN proc far
    call aux_input
    ret
AUX_IN endp

AUX_OUT proc far
    call aux_output
    ret
AUX_OUT endp
