• SVDM: Add configurable CONNECT result speed for DOS BBS software

    From xbit ops@VERT to GitLab issue in main/sbbs on Wed Jun 17 09:55:30 2026
    open https://gitlab.synchro.net/main/sbbs/-/issues/1165

    SVDM: Add configurable CONNECT result speed for DOS BBS software

    I tested SVDM v0.3 with SPITFIRE BBS v3.7 on Windows 10 32-bit as a possible replacement for NetSerial.

    TEST ENVIRONMENT

    - Windows 10 32-bit
    - SPITFIRE BBS v3.7
    - SVDM v0.3
    - SVDM operating in Telnet/listen mode
    - SPITFIRE using direct UART access, not FOSSIL
    - Virtual serial configuration:
    - COM2
    - IRQ 3
    - Base address 02F8
    - TCP listen port: 2323

    SVDM.INI

    Mode=Telnet
    Port=2323
    Listen=true
    Debug=true
    LogLevel=Debug

    [UART]
    Virtualize=true
    ComPort=2
    IRQ=3
    Address=0x2f8

    LAUNCH BATCH

    @ECHO OFF
    CD /D C:\SVDM
    SVDM.EXE C:\SF\SF.BAT

    SPITFIRE MODEM CONFIGURATION

    SPITFIRE successfully initializes SVDM using:

    Pre-initialization: ATZ
    Initialization: AT&C1&D2S95=129
    Answer string: ATA

    SPITFIRE reports:

    Hardware data flow control enabled.
    16550 UART detected.
    Initializing system at 115200 bps.
    OK
    SPITFIRE ready for use.

    This is an excellent result. SVDM successfully emulates the UART and Hayes modem interface well enough for SPITFIRE to initialize and wait for calls.

    INCOMING TELNET RESULT

    An incoming Telnet connection works correctly:

    RING
    ATA
    CONNECT 9600
    Connected at 9600 bps.

    The caller reaches the BBS and can proceed through the login sequence.

    However, SPITFIRE appears to pace its output according to the reported connection speed. The Telnet session therefore displays at approximately old 9600-bps modem speed.

    The same SPITFIRE installation is fast when used with NetSerial, regardless of the BBS modem-speed configuration.

    No SVDM receive-rate limit is configured:

    - No Rate= entry exists in SVDM.INI.
    - No -r option is used on the command line.
    - SPITFIRE itself initializes successfully at 115200 bps.

    SOURCE OBSERVATION

    The current SVDM source appears to return CONNECT 9600 for extended modem result codes:

    return response(modem, modem->ext_results ? CONNECT_9600 : CONNECT);

    REQUEST

    Could the reported modem connection speed be made configurable through SVDM.INI?

    For example:

    ConnectRate=115200

    This would cause SVDM to return:

    CONNECT 115200

    while leaving the underlying TCP connection unrestricted.

    Keeping 9600 as the default would preserve compatibility, while allowing DOS BBS packages that use the modem result speed for output pacing to operate at a higher virtual connection rate.

    Suggested possible values might include:

    9600
    19200
    38400
    57600
    115200

    SPITFIRE has already been tested with its DTE/system baud rate set to 115200 and initializes normally.

    Please let me know if the CONNECT 9600 response serves another purpose or if there is already a supported way to change it that I missed.

    Thank you for creating SVDM. Its kinda awesome to see SPITFIRE v3.7 answering Telnet connections through the Synchronet Virtual DOS Modem :smile:

    ![svdm-connect](https://gitlab.synchro.net/-/project/13/uploads/ffb6def5b069318c1747c5c958bd7146/svdm-connect.png){width=843 height=600}

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From xbit ops@VERT to GitLab note in main/sbbs on Wed Jun 17 10:06:57 2026
    https://gitlab.synchro.net/main/sbbs/-/issues/1165#note_9404

    One additional observation from my production SPITFIRE setup using NetSerial:

    When a caller connects through NetSerial, SPITFIRE displays:

    Error correction modem detected.

    That suggests NetSerial is returning a modem result or extended result code that causes SPITFIRE to recognize the connection as error-corrected, similar to a real high-speed modem.

    With SVDM, SPITFIRE currently receives:

    CONNECT 9600

    and reports:

    Connected at 9600 bps.

    So there may be two related compatibility differences worth considering:

    1. The reported connection speed.
    2. The extended result format or flags used to indicate error correction.

    My exact SPITFIRE initialization string is:

    AT&C1&D2S95=129^M

    NetSerial appears to work with that setup and produces both fast Telnet performance and the “Error correction modem detected” message.

    I’m not sure exactly which result string or modem flag SPITFIRE is keying on, but this may be useful context when comparing SVDM’s response behavior with NetSerial.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net