• src/sbbs3/dosxtrn/dosxtrn.c

    From Rob Swindell to Git commit to main/sbbs/master on Tuesday, November 23, 2021 21:19:16
    https://gitlab.synchro.net/main/sbbs/-/commit/a87ecd0f174aeefdfd9fd685
    Modified Files:
    src/sbbs3/dosxtrn/dosxtrn.c
    Log Message:
    Implement FOSSIL function 0Dh (Keyboard read without wait)

    As a work around for TradeWars 2 (v11.14 and v11.20) FOSSIL support:
    This door game would never call the FOSSIL "get received character"
    function (02h) . But I did notice that it was calling the "Keyboard
    read" functions. I never implemented the "Keyboard read" functions
    (figured the door game could read the keyboard itself if it wanted to),
    but appparently TW2 won't ever read the COM port (using function 02h)
    unless the Keyboard read function returns AX=0xFFFF (no keyboard data available). So now, I just do that and TW2 works (with FOSSIL I/O).

    Incremented the revision to 26.
    Logging the Git branch/hash and other helpful FOSSIL-debug stuff now.
  • From Rob Swindell to Git commit to main/sbbs/master on Monday, December 13, 2021 18:23:16
    https://gitlab.synchro.net/main/sbbs/-/commit/bdb8fd268401bb90cdad32e7
    Modified Files:
    src/sbbs3/dosxtrn/dosxtrn.c
    Log Message:
    Simplify the enabling of all the optional interrupt counters for debug
  • From Rob Swindell to Git commit to main/sbbs/master on Thursday, April 28, 2022 14:05:48
    https://gitlab.synchro.net/main/sbbs/-/commit/d4024229466dc841c757a561
    Modified Files:
    src/sbbs3/dosxtrn/dosxtrn.c
    Log Message:
    Report CTS status in FOSSIL driver (high when outbuf has some space)

    Some programs (e.g. sbbs.exe v2.30) check for CTS (when configured/enabled for hardware flow control), so reflect the signal (Clear To Send) accurately.
  • From Rob Swindell to Git commit to main/sbbs/master on Sunday, May 08, 2022 00:43:59
    https://gitlab.synchro.net/main/sbbs/-/commit/5e9cc98f6a9b5681487a788b
    Modified Files:
    src/sbbs3/dosxtrn/dosxtrn.c
    Log Message:
    Support an optional ini filename argument, write to DOSXTRN.ERR

    If a 4th optional argument is provided, use that as the ini filename for virtual UART/FOSSIL driver settings instead of "sbbsexec.ini". Using this feature requires an updated sbbsexec.dll that supports an ini-filename argument (instead of a directory) to the VDD_LOAD_INI_FILE command.

    If DOSXTRN fails to execute the passed command-line, _spawnvp() returns -1, log the errno value and description to DOSXTRN.ERR (in the same directory as DOSXTRN.ENV). This will help diagnose issues executing DOS command-lines (e.g. file not found).

    Upon failure to open/create DOSXTRN.RET, don't prematurely terminate as that would skip a lot of important cleanup.