Skip to content
Snippets Groups Projects
  1. May 30, 2022
    • Rob Swindell's avatar
      Store the UART register/settings in a struct for easy re-init · 9266b997
      Rob Swindell authored
      Re-init the UART struct in the init routine to avoid confusion when making .ini file changes with older NTVDMs (including NTVDMx64) which don't re-load the VDDs for every invocation.
      9266b997
    • Rob Swindell's avatar
      Enable experimental sbbsexec modes (e.g. redir DOS I/O) · 1afb6f0c
      Rob Swindell authored
      Added undocumented experimental options -I and -O to enable DOS input and output interception modes in sbbsexec (e.g. to be used possibly with '-h'). Also -M to specify sbbsexec mode value by number (e.g. 3 to enable DOS Input/Output redir).
      
      Added '-n' option to specify node number (probably no real value/need).
      
      Safe string formatting.
      1afb6f0c
    • Rob Swindell's avatar
      Resolve the socket protocol/address family issues with IPv4 vs. IPv6 · a99f0057
      Rob Swindell authored
      When listening, the address family cannot be PF_UNSPEC, so default to PF_INET (IPv4), when not specified.
      Not sure why we're setting ai_flags to PF_UNSPEC (copied from syncterm) - that's just 0, but otherwise the PF_ and AI_ flags are not compatible.
      Don't set the ai_flags to anything here since they don't seem to change the behavior.
      a99f0057
  2. May 28, 2022
  3. May 27, 2022
  4. May 25, 2022
  5. May 24, 2022
  6. May 19, 2022
    • Rob Swindell's avatar
      Fix loop limit (system.stats.total_users != system.lastuser) · 7e2243b0
      Rob Swindell authored
      When looping to highest user number, use system.lastuser, not
      system.stats.total_users.
      
      This explains why not all userbases would be affected by the just-fixed
      issue in js_user.c. If the total_users happens to equal lastuser, then
      you would have hit the issue in js_user.c. If you had at least one
      deleted or inactive user account, then system.stats.total_users would
      be less than system.lastuser and your system would *not* have triggered
      that bug.
      7e2243b0
  7. May 18, 2022
    • Rob Swindell's avatar
      Fix User.number increment beyond lastuser issue · af1ae777
      Rob Swindell authored
      When the 'number' property of an instance of User was incremented beyond the last user, the call to fgetuserdat() on subsequent property 'get' operation would fail and zero-out the user structure (including the user number). This resulted in an infinite loop in load/birthdays.js where the user number would go from lastuser to 1 in one operation (u.number++).
      
      Reported by DesotoFireflite (VALHALLA)
      af1ae777
  8. May 17, 2022
  9. May 16, 2022
  10. May 11, 2022
  11. May 10, 2022
  12. May 09, 2022
    • Rob Swindell's avatar
      Add "Disable Local Display" option for doors, parse DOSXTRN.ERR · 6ed76598
      Rob Swindell authored
      New option to disable local screen display for door programs: sets the 'Screen' value appropriately in door.sys or pcboard.sys drop files and on Windows, doesn't create a new console window.
      
      Also, now parsing the DOSXTRN.ERR file created by the latest/greatest dosxtrn.exe when failing to execute the child/DOS program and log the parsed error details (errno value and description), helpful in debugging the reason why a DOS program may not have been successfully executed by DOSXTRN.
      6ed76598
  13. May 08, 2022
    • Rob Swindell's avatar
      Remember the last 'first_msg' property value after msgbase is closed · b1c5d2da
      Rob Swindell authored
      The other msgbase property values are stored in the smb.status or other private_t members which retain their value when the message base is closed, unlike the 'first_msg' property which required a read of the message base index to get the value (and that doesn't work when the message base is closed, so would return 0).
      
      for deon (ALTERANT)
      b1c5d2da
    • Rob Swindell's avatar
      Synchronet Virtual DOS Modem for Windows · 3ec7fb77
      Rob Swindell authored
      First commit.
      
      Right now it just connects/accepts-connections using raw TCP. As demonstrated in YouTube video:
      https://www.youtube.com/watch?v=fxp38Nde3fg
      3ec7fb77
    • Rob Swindell's avatar
      Improvements to virtual UART driver for Windows · 07f57a86
      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.
      07f57a86
Loading