Just a sample of the Echomail archive
Cooperative anarchy at its finest, still active today. Darkrealms is the Zone 1 Hub.
|    RENEGADE_BBS    |    Renegade Software Discussion Area    |    510 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 172 of 510    |
|    Ozz Nixon to Nick Andre    |
|    Re: Renegade and IEMSI    |
|    18 Feb 19 18:18:57    |
   
   On 2019-02-18 06:40:08 +0000, Nick Andre -> Ozz Nixon said:   
      
   > On 17 Feb 19 11:10:48, Ozz Nixon said the following to All:   
   >   
   > ON> A couple nights ago, I was testing my terminal program, went to the   
   Telnet   
   > ON> Guide, and worked my way through different BBS packages.   
   > ON>   
   > ON> However, when I got to the Renegade 3 listings, two of them send the   
   wrong   
   > ON> handshake string.   
   > ON>   
   > ON> It is supposed to be (based upon FTSC) **EMSI_REQ#### and I reply back   
   > ON> **EMSI_INQ####. Instead these two BBSes sent **EMSI_INQ#### ... is this   
   a B   
   > ON> or is the FTSC wrong?   
   >   
   > Good question. This is the code from Renegade Y2KA2 for EMSI.   
   >   
   >   
   > write('Attempting IEMSI negotiation ... ');   
   > EMSI_IRQ := '**EMSI_IRQ8E08'^M^L;   
   > com_flush_rx;   
   > SerialOut(EMSI_IRQ);   
   > if (pos('**EMSI_ICI', s) > 0) then   
   > begin   
   > delete(s, 1, pos('EMSI_ICI',s) - 1);   
   >   
   > ISI := '{Renegade,'+ver+'}{'+General.BBSName+   
   }{'+u.citystate+   
   > '}{'+General.SysOpName+'}{'+Hex(getpackdatetime, 8)+   
   > '}{Live free or die!}{}{Everything!}';   
   > ISI := 'EMSI_ISI'+Hex(length(ISI), 4) + ISI;   
   > ISI := ISI + Hex(UpdateCRC32($FFFFFFFF, ISI[1],   
   length(ISI)),   
   > 8);   
   > ISI := '**' + ISI + ^M;   
   > com_flush_rx;   
   > SerialOut(ISI);   
      
   Looks like it is setup correctly, but every EMSI sample I find from the 90's   
   flow like, client to BBS->   
      
   begin   
    { Assumes connection has been made at this point }   
      
    Tries := 0;   
    Repeat   
    Write2Port(EMSI_INQ); <---- just like rg's code - so they both INQ and   
   wait for REQ   
    Delay(1000);   
    Inc(Tries);   
    Until (Get_EMSI_REQ = True) or (Tries = 5);   
      
    If Tries = 5 then   
    begin   
    Writeln('Host system failed to acknowledge the inquiry sequence.');   
    Hangup;   
    Halt;   
    end;   
      
    { Used For debugging }   
    Writeln('Boss has acknowledged receipt of EMSI_INQ');   
      
    Send_EMSI_DAT;   
      
    Tries := 0;   
    Repeat   
    Inc(Tries);   
    Until (Get_EMSI_ACK = True) or (Tries = 5);   
      
      
   Now looking at the specs from JoHo:   
   http://ftsc.org/docs/fsc-0056.001   
      
   PART II - Electronic Mail Standard Idenfitication   
      
    Connecting two EMSI capable systems   
    =====================================================================   
    This assumes that the two systems are connected and that no data   
    has been transmitted by the Caller.   
      
    It should be mentioned that sending/monitoring for the "YooHoo",   
    "TSYNC", and other protocol start characters is optional and not   
    required for a strict EMSI implementation.   
      
    STEP 1, EMSI INIT   
      
    Calling system Answering system   
    +-+-------------------------------+----------------------------------+   
    :1: Send
|
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca