ZX-News #26
03 апреля 1997 |
|
Iron - Description of the XTR-modem.
----- ---- IRON Initially we planned to improve VICOMM and make it as cheap. Alas, no half-measures have failed, initial handicap VICOMMa not allowed to implement all ideas, namely: the ability to automatically (no buttons)-hook, call control and Employment line. All this provides unprecedented opportunities, such as: pulse and tone dialing, the ability to dial, caller ID, dialed the phone with a parallel, automatic detection Caller ID (CLI), as well as a modem better service and improving the quality of reception / transmission. I do not do nothing to stop the incidental function of a modem - caller ID, because AON think certainly useful and necessary function in the modem. Therefore software compatibility with VICOMMom was lost, but not completely. When communicating on the network process is as follows: you turn on the machine, load a program, turn off the monitor, Switch the phone off to avoid ringing and go to bed. And in the morning over a cup of tea and a plate of semolina, you are flipping through ascended message. Has an internal modem (it's cheaper structure) - it is stuck in the slot SCORPION / KAY and his connection is not accompanied by heating of the soldering iron. Connecting to other SPECTRUM-compatible machines escort the inclusion of a soldering iron and use thereof according to instructions. The modem is galvanically isolated from line (the breakdown voltage of 1.5 Kv). Decoupling is done by means of optocouplers, and not transformer, as in VICOMMe that it is yet again cheapens the design and reduces its dimensions. Met all the standards for terminal device telephone network (maximum drain 250 mA, maximum voltage - 220 V, maximum current - 100 mA). When the computer is off when the modem do not enjoy, as well as by pressing RESET, modem off line and does not it no effect. The signal of the modem has a frequency bandwidth to transfer more than 20 kHz, at the reception - more than 10 kHz, which is more than enough to share for 3200 baud (if the line and station will allow). Maximum tested speed - 3900 baud, the results are encouraging. An important detail: the implemented hardware support exchange with a modem in the face gating process chosen by kvartsovannoy frequency signal WAIT. The idea of this - the program was written under the clock speed of CPU SPECCY not lower than, say, 3.2 MHz, and all machines with greater frequency retarding to the desired. Unfortunately, there is a limit - no more than 7.0 MHz (typical turbo mode). It is very convenient - the quality of communication does not depend on makeshift machines and do not use the turbo button, everything is working, including CONNECT SCORPION-PENTAGON. Possible to transmit an analogue signal in line with the quantization of the 16 levels by PWM modulation with sampling rates up to 23 kHz (voice capabilities AON RUSS-16 and above, as well as DIGITAL STUDIO). Structurally the hardware components is a printed circuit board size 75 * 70 mm and contains a connector in the form of slots SCORPION / KAY and telephone line jack. Current consumption from the power source SPECCY about 100 mA. +12 V is not required. ----- SOFT ---- While the modem into production, we adapt existing terminal program, as well also write new ones. Already altered MODEM 3.6 and written by Caller ID program. Peredelany MODEM 3.6 can be used for communication XTR-VICOMM. This project is supported and OMEGA GROUP program Macro-Modem will be adapted under the XTR. We are confident that XTR completely supplant All VICOMMy and will become the standard platform ZX-SPECTRUM. ----- ---- WISHES We know that today, except for Peter and Moscow, modems do not have nowhere in sight. A therefore offer - try this product and in your region, you will not regret it. ----- ---- PROGRAMMING For the curious, users report minimum required information. Communicating with The modem is the only port address # B7 (183). IN A, (# B7), if the line is not busy modem Bit7 Bit0 0 0 line is not connected to the modem 0 1 Parallel off the hook. apparatus 1 0 call (possible bugs) January 1st line is free IN A, (# B7), if the line is busy modem Bit7 always 0 Bit0 through it are taken by data OUT (# B7), A Bit0 when the line is busy - passed data when receiving gb = 1 With the release of the line is irrelevant Bit1 1-take line 0-free line Bit4 bits determine the time until which Bit5 hardware stretch interval of time Bit7 Meni between two consecutive commands Bit6 DAMI IN A, (# B7) or OUT (# B7), A Bit7-Bit4 # 00 times .000002 * 16 seconds # 10 times .000002 * 15 seconds ... # E0 .000002 time * 1 sec # F0 asynchronous mode, NO WAIT For the case # F0 did not stretch all done, as the port # FE in emulation mode VICOMM. What are bits of 7.4? example: LD A, #? 0 * OUT (# B7), A * IN A, (# B7)! POP AF IN A, (# B7)! without hardware Support Click Here for instructions marked ", the period of performance is: ticks seconds PENTAGON 11 +10 = 21 .000006 TURBO PENTAGON 11 +10 = 21 * .000004! SCORPION 12 +10 = 22 .0000063 TURBO SCORPION 12 +10 = 22 * .000004! KAY 12 +10 = 22 .0000063 TURBO KAY 12 +12 = 24 .0000034 * Plus WAIT ! priblizitelno For the case of XTR period for all machines equalized, increasing (!) to the value set in bits, 7.4 (except for the values # F0). Same for sprvedlivo OUT (# B7), A and any combination of IN / OUT to port # B7. Primechanie_1: Naturally, the program should be to write under the worst car to the execution of commands on this machine was less than the specified time, to which everything is stretched (or else it will be compression!). primechanie_2: period without stretching does not must be less than .00000229 seconds, (8 bars neTURBO PENTAGONa, 16 cycles TURBO PENTAGONa), or stretching will not occur. Example of a pause in .002 seconds: W002 XOR A OUT (# B7), A; period of 32 uS LD B, 62 W002_1 IN A, (# B7); =. 62 *. 000 032 001 984 DJNZ W002_1 ... On any machine it will be .002 seconds, regardless of the TURBO / neTURBO. Programming Examples: free line OUT (# B7), # F0 take a line OUT (# B7), # F3 Dialing (WAIT ... in seconds): ADRNUM DB "1234567" DIAL OUT (# B7), # 00; reset line WAIT 0.5 OUT (# B7), # 02, take the line LD HL, ADRNUM LD C, 7 DIAL7 WAIT 0.5 LD A, (HL) SUB # 30 JR NZ, DIAL7_0 LD A, 10, for zero-ten DIAL7_0 LD B, A INC HL PUSH HL PUSH BC CALL DIALN; set of numbers POP BC POP HL DEC C JR NZ, DIAL7 WAIT 0.5 OUT (# B7), # 03 RET DIALN OUT (# B7), # 00 WAIT .06 OUT (# B7), # 02 WAIT .04 DJNZ DIALN1 RET Data Transfer (principle VICOMM): OUT (# B7), # F2 WAIT OUT (# B7), # F3 WAIT repeat the algorithm Call Waiting: WTCALL LD DE, # 8180 XOR A OUT (# B7), A WTCL0 LD BC, # FF00 WTCL1 WAIT .002 IN A, (# B7) AND D CP E JR NZ, WTCL2 INC C WTCL2 DJNZ WTCL1 LD A, C CP 30; antiglyuk JR C, WTCL0; no phone call WTCL3 LD B, 0; forward to the end WTCL4 WAIT .002; call IN A, (# B7) AND D CP E JR Z, WTCL3 DJNZ WTCL4 Or you can hold the line RET ! not recommended to hold the line at the time of the call (after all 120 volt !!!), have to wait for a pause between calls (this holds for any terminal device telephone line). __________________________
Other articles:
Similar articles:
В этот день... 21 November