Dosbox-staging: Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Telnet для ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ² softmodem

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 28 Π°Π²Π³. 2020  Β·  9ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: dosbox-staging/dosbox-staging

МСня часто ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π»ΠΈ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ DOS Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ с BBS ΠΏΡ€ΠΈ использовании DOSBox (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ использовании Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ / ΠΌΠΎΠ΄Π΅ΠΌΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ XMODEM, YMODEM, ZMODEM). Π― Π²ΠΈΠ΄Π΅Π», ΠΊΠ°ΠΊ ΠΎΠ½ сообщил ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡ€Ρ‚ "serialX" настроСн Π² DOSBox .conf ΠΊΠ°ΠΊ устройство Ρ‚ΠΈΠΏΠ° "ΠΌΠΎΠ΄Π΅ΠΌ", ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Telnet. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Telnet, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ сСрвСрам Telnet, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ символы ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ IAC, Π½Π΅ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ символы IAC, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Telnet. Π’ΠΈΠΏ устройства Β«nullmodemΒ» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β« telnet: 1 Β» для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Telnet, Π½ΠΎ это Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ пытаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρ‹ DOS для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Telnet BBS Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

Π― просмотрСл DOSBox Wiki ΠΈ руководство ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ нашСл ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Telnet для ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… устройств "ΠΌΠΎΠ΄Π΅ΠΌ" (softmodem). Π˜Ρ‚Π°ΠΊ, я просмотрСл исходный ΠΊΠΎΠ΄ DOSBox ΠΈ нашСл этот нСбольшой Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° Π² softmodem.cpp:

else if (strstr(cmdbuf,"NET1")) {
                telnetmode = true;
                SendRes(ResOK);
                return;
        }

Π’ΠΎΡ‚ Ρ‚Π°ΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ интСрСсный ΠΊΠΎΠ΄. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли 4 символа Β«NET1Β» появятся _anywhere_ Π²

Π’Π°ΠΊ...

  1. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ATNET0 / 1 (1 для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Telnet, 0 для Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ссли ΠΎΠ½Π° Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π°).
  2. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ синтаксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ AT-ΠΊΠΎΠΌΠ°Π½Π΄: strstr() ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.
  3. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ Β« telnet: 1 Β» Π² Ρ„Π°ΠΉΠ»Π΅ .conf, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ telnet для Β«ΠΌΠΎΠ΄Π΅ΠΌΠ½Ρ‹Ρ…Β» устройств ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π Π°Π΄ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ дальшС,

Бпасибо, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ BBS ΠΈ сисопы, спасибо.

ВсС 9 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Бпасибо Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅ΠΌΠ° @rswindell.

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ATNET0 / 1

ΠœΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ NET1 Π² README (см. НиТС), ΠΎΠ΄Π½Π°ΠΊΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ.

Π’ github Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Β«Ρ„ΠΎΡ€ΠΊΠ½ΡƒΡ‚ΡŒ этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Β», ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ README прямо Π² вашСй Π²ΠΈΠ»ΠΊΠ΅ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Π΅Π±-Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Github), Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π°ΠΌ свои измСнСния. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ Π·Π° Π²Π°ΡˆΡƒ ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ этого!

BBS Gaming
----------
DOSBox's serial interface can emulate a telephone modem, which allows original
DOS terminal applications to either dial or host a BBS on the Internet 
via the Telnet protocol.

First, configure DOSBox with a serial port emulating a modem:

   [serial]
   serial1 = modem listenport:2323

Next, launch your favorite DOS terminal or BBS hosting software and configure
its corresponding serial port with default settings, as follows:

  COM1:
    - COM port 1
    - 8N1 data-bits, stop-bits, and parity
    - 57600 baud
    - 03F8 address
    - IRQ4 interrupt
    - 16550 fifo enabled
    - Software flow control (Xon/Xoff) enabled
    - Hardware flow control (CTS/RTS) enabled
    - Hardware flow control (DSR/DTR) disabled

To dial BBSes on the Internet:

  1) Set your dialing prefix to: ATNET1^MATDT to ensure file-transfers
     and command mode transitions and handled properly.

  2) Set the phone number of the BBS to its hostname or IP, optionally
     followed by the Telnet port number, for example:

      - Phone number on non-standard port: remote.bbs.com:2323
      - Phone number on standard port 23: remote.bbs.com

To host a DOS-based BBS:

 1) Configure your DOSBox serial port to listen on a Telnet port greater
    than 1024. This allows you to run DOSbox with normal user privileges
    as opposed to granting it root or administrator privileges, for example:

    [serial]
    serial1 = modem listenport:2323

 2) Configure your DOSBox machine to use a static IP address or be assigned
    a static IP via DHCP, which can typically be configured in your router.

 3) If your DOSBox machine is behind a router/firewall, add a port-
    fowarding entry to listen on TCP port 23 and pass it through to
    port 2323 to your DOSBox machine's IP address.  This allows Internet
    users to "dial" your BBS using the default Telnet port.

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ синтаксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ AT-ΠΊΠΎΠΌΠ°Π½Π΄: strstr () ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ являСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ strstr() Π½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ эту подстроку Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ° (char*) ?

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ Β« telnet: 1 Β» Π² Ρ„Π°ΠΉΠ»Π΅ .conf, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ telnet для Β«ΠΌΠΎΠ΄Π΅ΠΌΠ½Ρ‹Ρ…Β» устройств ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π—Π½Π°Ρ‡ΠΈΡ‚, это Π±ΡƒΠ΄Π΅Ρ‚ "ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ" устройство, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ NET1 Π±Ρ‹Π»ΠΎ установлСно с самого Π½Π°Ρ‡Π°Π»Π°?

Π§Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ strstr () Π½Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ этой подстроки Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ° (char *)?

Команда синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° АВ слСдуСт слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС (multple ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Β«ATΒ» ΠΈ Β«\ Π³Β»). Как сСгодня написан синтаксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ AT-ΠΊΠΎΠΌΠ°Π½Π΄ Π² DOSbox, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π½ΠΈ хоста с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«net0Β» ΠΈΠ»ΠΈ Β«net1Β» Π³Π΄Π΅-Π»ΠΈΠ±ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ. Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ATD net1.vert.synchro.netΒ» обрабатываСтся Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π±Ρ‹Π» просто Β«ATNET1Β», Ρ‡Ρ‚ΠΎ явно Π½Π΅Π²Π΅Ρ€Π½ΠΎ (ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π΄ΠΎΠ·Π²ΠΎΠ½Π° / ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ выполняСтся). Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· простой Π·Π°ΠΌΠ΅Π½Ρ‹ strstr () Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π—Π½Π°Ρ‡ΠΈΡ‚, это Π±ΡƒΠ΄Π΅Ρ‚ "ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ" устройство, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ NET1 Π±Ρ‹Π»Π° установлСна ​​с самого Π½Π°Ρ‡Π°Π»Π°?

Π—Π΄Π΅ΡΡŒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: Ссли ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β« telnet: 1 Β» присутствуСт Π² Ρ„Π°ΠΉΠ»Π΅ .conf, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄Π΅ΠΌ DOSbox Π±ΡƒΠ΄Π΅Ρ‚ вСсти сСбя Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ AT-ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«NET1Β» Π±Ρ‹Π»Π° установлСна ​​с самого Π½Π°Ρ‡Π°Π»Π°.

Π’ настоящСС врСмя опция Β« telnet: 1 Β» поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΈΠΏΠ° устройств Β«nullmodemΒ».

Когда ΠΌΠΎΠ΄Π΅ΠΌ, совмСстимый с Hayes, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ 'D', всС, Ρ‡Ρ‚ΠΎ находится послС (ΠΈ Π΄ΠΎ '\ r'), рассматриваСтся ΠΊΠ°ΠΊ шаблон Π½Π°Π±ΠΎΡ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, IP-адрСс, имя хоста). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с использованиСм strstr () Π² этом случаС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ пропускаСт (ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚) всС, Ρ‡Ρ‚ΠΎ находится ΠΏΠ΅Ρ€Π΅Π΄ шаблоном, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅, поэтому Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, Π±Ρ‹Π» Π»ΠΈ шаблон Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ»ΠΈ самой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. БинтаксичСскому Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π° "AT", Π² порядкС (слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ), ΠΈ для Π»ΡŽΠ±Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ синтаксичСский Π°Π½Π°Π»ΠΈΠ· (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠΌΠ°Π½Π΄Π° 'D'), Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ послС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ синтаксичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ Β«NET0Β» ΠΈΠ»ΠΈ Β«NET1Β» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² DOSbox, Π½Π΅ являСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«DΒ», я просто использовал это Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. Π›ΡŽΠ±Ρ‹Π΅ AT-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈΠ΄ΡƒΡ‰ΠΈΠ΅ Π΄ΠΎ ΠΈΠ»ΠΈ послС Β«NET0Β» ΠΈΠ»ΠΈ Β«NET1Β» Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.

МодСм, совмСстимый с Hayes, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠ°ΠΊ "AT & F & C1 & D2S95 = 3Ddial-pattern \ r". ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ процСссор AT-ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅ΠΌΠ° DOSbox Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² Ρ‚Ρƒ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку, Ρ‡Ρ‚ΠΎ ΠΈ Β«NET0Β» ΠΈΠ»ΠΈ Β«NET1Β», ΠΈ, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ Ρ…ΡƒΠΆΠ΅, Ссли эти строки ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, dial -pattern ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ 'D'), синтаксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ строку ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ "AT Dnet1.vert.synchro.net" Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Бпасибо Π·Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ объяснСниС @rswindell!

@rswindell ,

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ исправлСния находятся Π² PR https://github.com/dosbox-staging/dosbox-staging/pull/582.

CI GitHub Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ здСсь Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ (Ссли Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· исходников):

@rswindell , ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, скомпилируйтС ΠΈ протСстируйтС Π²Π΅Ρ‚ΠΊΡƒ kc/modem-toggles-1 ΠΈΠ»ΠΈ протСстируйтС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π΄Π°ΠΉΡ‚Π΅ Π½Π°ΠΌ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅.

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ telnet-Ρ€Π΅ΠΆΠΈΠΌ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅ΠΌΠ° Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π»Π°Π³ telnet:1 .

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π΅ΠΆΠΈΠΌ Telnet ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AT-ΠΊΠΎΠΌΠ°Π½Π΄: +NET1 ΠΈ +NET0 .

Π Π΅ΠΆΠΈΠΌ Telnet сохраняСтся ΠΏΡ€ΠΈ сбросах (ATZ) ΠΈ остаСтся Π² Ρ‚ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π΅Π³ΠΎ установили. Π’Ρ‹Π²ΠΎΠ΄ консоли Dosbox сообщит ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° telnet.

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠ° telnet Π²ΠΎ врСмя выполнСния с использованиСм +NET1 (ΠΈΠ»ΠΈ 0) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄ multi-AT, ΠΈ это Π½Π΅ повлияСт Π½Π° строку Π½Π°Π±ΠΎΡ€Π°.
НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ATI3+NET1Dmyhost.NET0test.org

Π€Π°ΠΉΠ» README ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½; Π΄Π°ΠΉΡ‚Π΅ Π½Π°ΠΌ Π·Π½Π°Ρ‚ΡŒ, Ссли ΠΎΠ½ выглядит Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ слСдуСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ описаниС.

Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ это Ρƒ вас Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ оТидалось!

@rswindell Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ спасибо Π·Π° ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎΠ± ошибкС ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ объяснСния :) ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΡ€Ρ‹Π»Π°ΡΡŒ автоматичСски, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ я объСдинил # 582 Π² master.

Когда Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠΈΠ½ΡƒΡ‚ΠΊΠ°, поТалуйста, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΈ сообщитС Π½Π°ΠΌ, всС Π»ΠΈ сСйчас Π² порядкС :) Если Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π½Π΅ΠΈΡΠΏΡ€Π°Π²Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ отсутствуСт - просто ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ здСсь, ΠΈ я снова ΠΎΡ‚ΠΊΡ€ΠΎΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ (ΠΈΠ»ΠΈ просто создам Π½ΠΎΠ²ΡƒΡŽ) .

Π­Ρ‚Π° функция Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ вСрсии 0.76.0, Π½ΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π°ΡˆΠΈΡ… сборках для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: ссылка Π½Π° новСйшиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ находится здСсь: https://dosbox-staging.github.io/downloads/devel/

Бпасибо, рСбята, Π·Π° быстрый ΠΈ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

БСгодня я протСстировал Π²Π΅Ρ€ΡΠΈΡŽ dosbox-staging v0.76.0-alpha-690-g21a5, ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, опция Β« telnet: 1 Β» Π² Ρ„Π°ΠΉΠ»Π΅ .conf Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ AT Β«+ NET1Β» ΠΈ Β«+ NET0Β» Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

Волько ΠΎΠ΄Π½ΠΎ наблюдСниС, ΠΈ я Π½Π΅ знаю, ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΈ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° самом Π΄Π΅Π»Π΅, Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«AT +Β» ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΡƒ Β«AT + [слово] = [Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅]Β» - поэтому, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ этому синтаксису, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ telnet DOSbox Π±ΡƒΠ΄ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Β«AT + NET = 0Β» ΠΈΠ»ΠΈ Β«AT + NET = 1Β». Π­Ρ‚ΠΎ, вСроятно, Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, Π½ΠΎ я просто ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ упомяну ΠΎΠ± этом.

ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°, рСбята!

Бпасибо Π·Π° тСсты @rswindell!

Π’ самом Π΄Π΅Π»Π΅ ... Π― Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΡƒΠΌΠ°Π» ΠΎ = (Π²ΠΈΠ΄Π΅Π» Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹), Π½ΠΎ Ρ…ΠΎΡ‚Π΅Π» ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ синтаксиса (ΠΈ ΠΊΠΎΠ΄Π°), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого, Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅, Ρ‡Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ принято Π² восходящСм Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Если всС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ DOSBox ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ этот ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ, это обСспСчит Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ