• Rob Swindell's avatar
    Improvements to virtual UART driver for Windows · 7791b698
    Rob Swindell authored
    In the process of creating/testing the new Synchronet Virtual DOS Modem (SVDM) project, I made the following significant improvements:
    
    - Don't default the log level to DEBUG for debug builds
    - Add a "carrier change" event so carrier low to high transitions can be tracked too
    - Replace several lprintf() calls with lputs() for performance reasons
    - Specify 'volatile' storage for pending_interrupts
    - Interrupts are re-asserted if there are any pending interrupts after reading IIR register
    - Emulate FIFO enablement
    - Support RTS flow control signal
    - Remove conditional/configurable yields when polling LSR and MSR register, would just unnecessarily slow down terminal programs
    - Report "DCD change" in MSR correctly
    - Clean-up (e.g. close handles) in VDD_CLOSE handler
    - VDD_LOAD_INI_FILE allows an optional ini filename (instead of directory) as its argument - for loading an ini filename other than sbbsexec.ini (e.g. svdm.ini).
    
    Initialize log level in VDDInitialize(). For versions of Windows/NTVDM that use/call the "init proc" (this function), we just re-initialize global variables here.
    7791b698
uartdefs.h 4.04 KB