--------t-144000-----------------------------
INT 14 - I1541 - INSTALLATION CHECK
        AX = 4000h
Return: AX = 1541h
        BH = I1541 major version (BCD)
        BL = I1541 minor version (BCD)
        CX = 0000h
--------t-144001-----------------------------
INT 14 - I1541 - TEST IF 1541 CABLE CONNECTED
        AX = 4001h
Return: CF clear if connected
           BL = LPT number where 1541 cable is connected (1..3)
        CF set if cable not connected
Note:   this procedure scans all the LPT ports searching the adapter cable
--------t-144002-----------------------------
INT 14 - I1541 - SELECT LPT PORT FOR OUTPUT
        AX = 4002h
        BL = LPT number (1..3)
Return: CF clear if successful
        CF set otherwise
Note:   force the input output routines to work on the cable placed on LPT BL
SeeAlso: AX=4001h
--------t-144003-----------------------------
INT 14 - I1541 - RESET ALL DEVICES
        AX = 4003h
Note:   This routine sends a reset pulse of 100ms to all CBM devices.
        It's necessary to wait ~2s after reset before executing other
        instructions.
--------t-144004-----------------------------
INT 14 - I1541 - SEND LISTEN SIGNAL
        AX = 4004h
        BH = device number (0..15)
Return: CF clear if successful
        CF set if error
           AL = error number
               00h : device not present error
               01h : listener not ready error
               02h : missing eoi time-out
               03h : eoi not completed
               04h : data not released
               05h : frame error
SeeAlso: AX=4005h/4006h
--------t-144005-----------------------------
INT 14 - I1541 - SEND SECONDARY ADDRESS FOR LISTEN
        AX = 4005h
        BL = channel number 0..15 (bits 0-3)
             mode (bits 4-7)
               6h : read and write
               Eh : close channel
               Fh : open channel
Return: CF clear if successful
        CF set if error
           AL = error number
               00h : device not present error
               01h : listener not ready error
               02h : missing eoi time-out
               03h : eoi not completed
               04h : data not released
               05h : frame error
SeeAlso: AX=4004h/4006h
--------t-144006-----------------------------
INT 14 - I1541 - SEND UNLISTEN SIGNAL
        AX = 4006h
Return: CF clear if successful
        CF set if error
           AL = error number
               00h : device not present error
               01h : listener not ready error
               02h : missing eoi time-out
               03h : eoi not completed
               04h : data not released
               05h : frame error
SeeAlso: AX=4004h/4005h
--------t-144007-----------------------------
INT 14 - I1541 - SEND TALK SIGNAL
        AX = 4007h
        BH = device number (0..15)
Return: CF clear if successful
        CF set if error
           AL = error number
               00h : device not present error
               01h : listener not ready error
               02h : missing eoi time-out
               03h : eoi not completed
               04h : data not released
               05h : frame error
SeeAlso: AX=4008h/4009h
--------t-144008-----------------------------
INT 14 - I1541 - SEND SECONDARY ADDRESS FOR TALK
        AX = 4008h
        BL = channel number 0..15 (bits 0-3)
             mode (bits 4-7)
               6h : read and write
               Eh : close channel
               Fh : open channel
Return: CF clear if successful
        CF set if error
           AL = error number
               00h : device not present error
               01h : listener not ready error
               02h : missing eoi time-out
               03h : eoi not completed
               04h : data not released
               05h : frame error
               40h : turn around time-out
SeeAlso: AX=4007h/4009h
--------t-144009-----------------------------
INT 14 - I1541 - SEND UNTALK SIGNAL
        AX = 4009h
Return: CF clear if successful
        CF set if error
           AL = error number
               00h : device not present error
               01h : listener not ready error
               02h : missing eoi time-out
               03h : eoi not completed
               04h : data not released
               05h : frame error
SeeAlso: AX=4007h/4008h
--------t-14400A-----------------------------
INT 14 - I1541 - SEND A BYTE TO A DEVICE
        AX = 400Ah
        BL = byte to send
        CL = is the last byte
             00h : if the byte to send is not the last
             01h : if the byte to send is the last
Return: CF clear if successful
        CF set if error
           AL = error number
               00h : device not present error
               01h : listener not ready error
               02h : missing eoi time-out
               03h : eoi not completed
               04h : data not released
               05h : frame error
SeeAlso: AX=400Bh
--------t-14400B-----------------------------
INT 14 - I1541 - RECEIVE A BYTE FROM A DEVICE
        AX = 400Bh
Return: CF clear if successful
           AL = byte received
           CL = is the last byte
                00h : if the received byte is not the last
                01h : if the received byte is the last
        CF set if error
           AL = error number
               80h : eoi response required error
               81h : talker not ready
               82h : clock not set
               83h : clock not released
           CL = 00h
SeeAlso: AX=400Ah
--------t-14400C-----------------------------
INT 14 - I1541 - WAIT
        AX = 400Ch
        CX = number of 838ns ticks (1/1.193180MHz) to wait
             (0 means 65536 (~55ms))
Example: To wait 10us you must set CX=(10us/838ns)=12
--------t-14400D-----------------------------
INT 14 - I1541 - LONGWAIT
        AX = 400Dh
        DX:CX = number of 838ns ticks (1/1.193180MHz) to wait
                (0 means 4294967296 (~1Hour))
Example: To wait 1s you must set DX:CX=(1s/838ns)=1193180
--------t-14400E-----------------------------
INT 14 - I1541 - GET INFO
        AX = 400Eh
Return: AX = LPT port i/o address in use (0 if no cable in use)
        BL = LPT number (1..3) in use (0 if no cable in use)
        CF set if the cable is auto detectable
        CF clear if cable not auto detectable or not present
Note:   The CF set means that the auto detect routine can recognise the
        presence of a cable on the LPT port in use.