Move #07
07 июня 1997

C-DOS MODEM - What is the C-DOS? Setting modes. How C-DOS carries out the transmission of data?

<b>C-DOS MODEM</b> - What is the C-DOS? Setting modes.
 How C-DOS carries out the transmission of data?
               C-DOS MODEM

(C) Ars


    In this issue, I keep the description
C-DOS modem. First of all I will say a few words
about the program itself. The very first program
support (as well as the first scheme of C-DOS
modem) belongs to the Moscow firm
"Allegro" (not to be confused with the Minsk ALIBRO).
By the way everyone knows what a C-DOS?
Actually, it stands for
Communication Data Operating System, that
translation itself does not require, however,
as it suggests that the trait in
Reduction CDOS nikchemu. Anyway, with the
a dash of this ...

    Thus, the basic code completion and
Design C-DOS'a did Robert 'Modem'Co
under the wise leadership of KSA. And this
happened, judging by the date of copyright as much in
1994. Since then much water has flowed and
a lot of beer drunk ... I've seen a bunch of versions
C-DOS'a, namely: 2.00, 2.50, 3.00, 3.33,
3.34, 1.05, 1.06, 1.07, 1.10. That's all -
Moscow's version and they said so
say, in order of increasing bloat
(Bugs :-). Describe that for them to
What I will not, this can be read from
Moscow's network of newspapers. I just want to
pay attention to one fact:
navorachivanii or / and / xor obezglyuchivanii
C-DOS'a attended a crowd of people, and
namely: FANTOMASSOFT, KOLOVORAT 'Wolk,
MPR, etc. It was done a lot of useful
things, such as speakerphone, file HISTORY,
resolve the conflict AON'a and modem, etc.
Menu with a copyright that appears
Startup C-DOS'a, could not
accommodate all comers, and therefore it was
prudently expand and stretch. Between
Yet despite all these very useful
innovation has not been made of the elementary
obezglyuchivaniya this is really all
the required files of. Glitches and glyuchki roamed
from one version to another, carefully
preserve and enhance. : (And another thing
observation that can be done
naked eye: All major
Procedure C-DOS'a as in version 2.00, so
and 2.50, 3.00 ,..., shorter in all
others, too, are on one and the
same addresses in memory. What does this mean?
There is one small little idea ... Yes no
Never in my eyes have not seen the source code
Program C-DOS! All of the major improvements
program implemented in the most popular
to date under the assembly
called STS !...;-(

    Generally, it is clear where I'm getting at. If
you really need a new C-DOS, then
deal only in the procedures of interaction with
iron. Shell - a foolish thing, it
can write any encoder. But kopanut
iron is a little deeper, it's excuse will be
complicated. This is not a shell encode
;-) So, I appeal to all 2day real
software 'hardware crackers: that is weakly
lomanut C-DOS'ku?? To date,
to my proposal otklinulas only
Group E-Mage of Grodno, for which she
thank you so much!

    For the seed shall describe how the C-DOS
transmitting data. I cite
here the source of the transfer
obtained by disassembling.
Some teams (unnecessary in my
look?) I took in a comment. Honestly
speaking, I do not think that way
provides an accurate signal duration
in cycles, or provides something like
Payment transients. But can
I do not have rights or not yet
to understand: (

; Procedure Transmit


        DI

        LD HL, (Start); count

        LD DE, (Length); address of the end

        ADD HL, DE; block

        LD (End), HL

        LD B, # 40; top blokaNeader EXX; long piloton

        ; LD A, (IX + # 00)

        CALL Out1

        EXX

        DJNZ Header
Next_N LD HL, (Start); beginning bytes
        CALL Out0; start piloton
Next LD DE, (End)

        ; XOR A

        ; XOR A

        BIT 0, (HL)

        CALL Z, Out0; transfer of the 0-th

        CALL NZ, Out1; bit byte

        ; LD A, (IX + # 00)

        BIT 1, (HL)

        CALL Z, Out0; next bit

        CALL NZ, Out1; bytes

        ; LD A, (IX + # 00)

        BIT 2, (HL)

        CALL Z, Out0; etc.

        CALL NZ, Out1

        ; LD A, (IX + # 00)

        BIT 3, (HL)

        CALL Z, Out0

        CALL NZ, Out1

        ; LD A, (IX + # 00)

        BIT 4, (HL)

        CALL Z, Out0

        CALL NZ, Out1

        ; LD A, (IX + # 00)

        BIT 5, (HL)

        CALL Z, Out0

        CALL NZ, Out1

        LD A, (IX + # 00)

        BIT 6, (HL)

        CALL Z, Out0

        CALL NZ, Out1

        ; LD A, (IX + # 00)

        BIT 7, (HL)

        CALL Z, Out0

        CALL NZ, Out1

        ; LD BC, # 0000

        XOR A

        OR (HL)

        EX DE, HL

        CALL PE, Out0; 9-th bit!

        CALL PO, Out1; parity

        ; LD A, (IX + # 00)

        INC DE

        ; LD BC, # 0000 in the version NormalPilotE NOP; CALL 
Out1 (sawtooth         NOP; tone end bytes)


        NOP

        SBC HL, DE; check endblok

        EX DE, HL; Edition NormalNextJP JP NZ, Next; or JP NZ, 
Next1 

        CALL Out1; end of the block

        RET

Out0; LD BC, # 0000 formation

        LD A, (Sys); meander for

        XOR # 80; signal

        OUT (# EF), A; logic 0

        CALL Out0H; (high frequency)

        XOR # 80

        OUT (# EF), A

        CALL Out0L

        XOR A; setting the Z flag

        RET

Out1 LD A, (Sys); formation

        XOR # 80; meander for

        OUT (# EF), A; signal

        CALL Out1H; logic 1

        XOR # 80; (low frequency)

        OUT (# EF), A

        CALL Out1L

        RET

Out0H LD B, # 2C; conditionally: front

        DJNZ $; wavefront

        ; NOP; for logich.0

        RET
Out0L LD B, # 24, the trailing edge

        DJNZ $; momentum

        ; NOP; logich.0 (polar
        RET; sequence - a contradiction
                        , False)
Out1H LD B, # 5C

        DJNZ $; the leading edge

        ; NOP; momentum

        RET; transfer logic 1
Out1L LD B, # 55

        DJNZ $; trailing edge

        ; NOP; momentum

        RET; transfer logic 1

Start DW 0
Length DW 0
End DW 0
Sys DB # 20, the port status

                        ; Modem


    Now, comments on the procedure. First
just pay attention to how to implement
FM transmission -
procedures Out0 and Out1: logical 0 and 1
transmitted (modulated) in the frequency
send (signal shape - almost
meander), the frequency of the signal
"1" is approximately 2 times smaller than "0". In
Basically here are all similar to the
transfer format on the tape. By telephone
line signal is already in the form
sinusoidal signal. A input
Amplifier modem converts
(Demodulate) the signal again
rectangular.

    Transmission of the information carried
blocks. In establishing konnekta
transferred title to the system
parameters: the type of version, phone number,
password, etc. When the file transfer unit
has a size of 1 sector + 2 bytes
checksum. Beginning of the block is entered
a variable Begin, length - in Length. In
early transfer of power immediately sent to
synchronization piloton (label Header),
representing a particular meander
duration and frequency Relevant to
logic 1. Next is transmitted more
short starter piloton frequency
logic 0. After that he passed
bit-byte, from 0 to 7 th bits. By
completion of the transfer of all 8 bits sent
parity bit: it logich.0 if in byte
even number of bits set or
logich.1 if the number ediniits - odd
Finally sent for final piloton
bytes (logich.1). At the end of the block
sent the same piloton as a sign
end transmission.

    This procedure Transmit
corresponds to the Turbo. In modes
Normal and Turbo2 there are some differences.

    In the Usual, is not compatible with
Turbo, the synchronizing signals are sent
transmission of each byte. In the
Turbo2, compatible with the Turbo, used
automatic adjustment of the duration
fronts in the process of admission, and initial
delays are reduced. In the Turbo2
speed is automatically set to
max for a given line, which, incidentally, very
important when sending large files.

    Block transfer time of 16 kb in
no errors:



          version time


           Usual 1 min. 50.

           Turbo 1 minute. 30.

          Turbo 2 1 min. 08 with.



    In the Turbo2 in establishing
optimal speed is
stepwise reduction in the rate of transmission,
up to the Turbo-version.

    In conclusion, we present a procedure
installation modes (only the portion that
Regarding the procedure Transmit).

; Procedure Set_Version


        LD A, (Vers); version number:

        OR A; 0-Usual

        JP Z, SetV_N; 1-Turbo

        DEC A; 2-Turbo2

        JP Z, SetV_T

SetV_T2 Call SetPil0

        LD BC, # 2220

        LD DE, # 5622; min duration

        CALL SetOut; trailing edge

        . . .

        RET

SetV_T Call SetPil0

        CALL SetOut0

        . . .

        RET

SetV_N LD A, # CD; each byte

        LD HL, Out1; is piloton!

        Call SetPil

        Call SetOut0

        . . .

        RET

SetOut0 LD BC, # 2C24; values ​​of duration
        LD DE, # 5C5F; surface fronts for
SetOut LD A, B; Usual and Turbo

        LD (OutOH +1), A

        LD A, C; We arrange

        LD (OutOL +1), A; constants

        LD A, D; transfer

        LD (Out1H +1), A

        LD A, E

        LD (Out1L +1), A

        RET

SetPil0 XOR A; for Turbo-Version

        LD HL, 0 for no pilotona

        LD DE, Next; each byte
SetPil LD (PilotE), A

        LD (PilotE +1), HL

        LD (NextJP +1), DE

        RET


    At this time being everything, but I hope
that, together, we quickly
understand with C-DOS'om. Your ideas,
proposals and procedures adopted by FTL
BBS files FOR_CDOS - files are NOT
secret.





Other articles:

Letter - Letter from Postman'a in the newspaper.

From the Editor - somnenenie tselessobraznosti in the newspaper.

C-DOS MODEM - What is the C-DOS? Setting modes. How C-DOS carries out the transmission of data?

Musicians - PROFESSIONAL SOUND CREATOR demo realise (E-mage): main eters, hotkeys editor.

CHEAT - Some tips for fans MORTAL COMBAT, STRIP REVERSI.

Advertising - Advertising and announcements.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Interface - The problems of Russian spekovskoy news scene. Review of the modern press.
Iron - Microprocessors Zilog: Z80, 1980, Z8000, Z80000.
Contest - Competition for the best virus continues.
PC and Spectrum - an overview of PC software for ripping and converting Spectrum files.

В этот день...   8 May