ZXNet эхоконференция «code.zx»


тема: Tape in/out



от: Kirill Frolov
кому: Sergei Chikalev
дата: 26 Nov 2001
Hемедленно нажми на RESET, Sergei! 25 Nov 01 00:54, Sergei Chikalev wrote to Kirill Frolov: KF>> Реально работала программная эмуляция последовательного KF>> порта (rs232) на 38400. Режим передачи -- полудуплексный. SC> ... и сдесь подробнее пожалуйста?? И с приерами... Здесь есть ошибка позволяющая при определённых обстоятельствах (не проявляющихся при нормальной работе) переполниться приёмному буферу. Заключается ошибка в том, что я забыл проверку на максимальное количество принятых символов. А отключение сигнала RTS по заполнению буфера есть -- потому если используется аппаратный контроль потока ничего и не сглючивает, но опасность есть. Использование аппаратного контроля потока ОБЯЗАТЕЛЬHО. Или будут байты теряться (полудуплекс!), или нужен специальный программный протокол. Hапример X-modem работать будет. Eсли аппаратный контроль потока используется, то лучше соединять 2 таких компутера, чтобы один из них имел АППАРАТHЫЙ ПОРТ. Hапример спек и пц. Если же через такой "эмулятор" соединить два спека, то будет конкуренция наблюдаться (полудуплекс!) -- передача данных будет возможна только если один хочет передавать, а другой слушает, иначе всё тормозит. При передаче большого количества маленьких блоков сильно упадёт скорость. Таким образом для соединения 2-х компутеров типа спека нужно 5 проводов, лучше даже 7 (GND, RTS, CTS, TXD, RXD, DTE, DTR). Вообще можно и по 3-м проводам сделать чтобы буквы не терялись, но это уже будет не rs232. Лучше аппаратный порт ставить. ps: кто не понял -- в викомм-модеме тоже полудуплекс и тоже байты теряются. Т.е. для использования с MMD достаточно и 3-х проводов. ;-------------------------------------- ; RS232 EMULATOR ZX-LINK ; TXPORT EQU #CFF7 RXMAX EQU 270 ZXL_INI LD A,1 JR ZXL_CTL ZXL_OFF XOR A ZXL_CTL ;LD (ZXL_DCD),A AND #01 RLCA RLCA LD (TXMASK),A IN A,(#1F) RLCA RLCA RLCA AND #01 RET ; LINE SCAN BC=SIZE D=SPEED CY=NOTHING LSCAN DI PUSH IX PUSH IY LD HL,RXMAX LD DE,RXBYTE PUSH DE LD IX,(M_BUFF) LD IY,TXMASK LD BC,TXPORT LD A,(TXMASK) OR #20 OUT (C),A RXNEXT LD D,#9F ; TIME RXWAIT IN A,(#FE) RLA RET C IN A,(#FE) ; 25..34 ~40 RLA RET C IN A,(#FE) RLA RET C IN A,(#FE) RLA RET C IN A,(#FE) RLA RET C IN A,(#FE) RLA RET C IN A,(#FE) RLA RET C IN A,(#FE) RLA RET C DEC D JP NZ,RXWAIT ; +14 IN A,(#FE) RLA RET C LD A,(TXMASK) LD E,A ; +17 IN A,(#FE) RLA RET C OUT (C),E ; +12 IN A,(#FE) RLA RET C LD D,#7 ; +7 IN A,(#FE) RLA RET C RXWAIT1 IN A,(#FE) RLA RET C IN A,(#FE) RLA RET C IN A,(#FE) RLA RET C IN A,(#FE) RLA RET C IN A,(#FE) RLA RET C IN A,(#FE) RLA RET C IN A,(#FE) RLA RET C IN A,(#FE) RLA RET C DEC D JP NZ,RXWAIT1 RXEND POP BC EX DE,HL LD HL,RXMAX OR A SBC HL,DE POP IY POP IX JR NZ,RXOK LD BC,#0101 XOR A INC A SCF RET RXOK LD D,LINKSPEED LD B,H LD C,L XOR A INC A RET RXBYTE IN A,(#FE) RLA JR C,RXBYTE1 DEC SP DEC SP JP RXWAIT RXBYTE1 JR $+2 JR $+2 JR $+2 JR $+2 NOP IN A,(#FE) ; B0 RLA RR E DEC HL LD A,H OR L CP 1 SBC A,A CPL AND #20 OR (IY) OUT (C), A IN A,(#FE) ; B1 RLA RR E LD BC,RXBYTE PUSH BC LD BC,TXPORT JR $+2 JR $+2 JR $+2 IN A,(#FE) ; B2 RLA RR E JR $+2 JR $+2 JR $+2 JR $+2 JR $+2 NOP NOP IN A,(#FE) ; B3 RLA RR E JR $+2 JR $+2 JR $+2 JR $+2 JR $+2 NOP NOP IN A,(#FE) ; B4 RLA RR E JR $+2 JR $+2 JR $+2 JR $+2 JR $+2 NOP NOP IN A,(#FE) ; B5 RLA RR E JR $+2 JR $+2 JR $+2 JR $+2 JR $+2 NOP NOP IN A,(#FE) ; B6 RLA RR E JR $+2 JR $+2 JR $+2 JR $+2 JR $+2 NOP NOP IN A,(#FE) ; B7 RLA RR E JR $+2 JR $+2 JR $+2 JR $+2 JR $+2 NOP NOP IN A,(#FE) ; B STOP RLA JR C,RXERR LD A,E CPL LD (IX),A INC IX JP RXNEXT RXERR LD A,(TXMASK) OUT (C),A JP RXEND ; SEND BLOCK IN MDMBUFF BC=SIZE LTRANS DI PUSH IX LD E,C LD D,B LD IX,(M_BUFF) LD BC,TXPORT TXBYTE LD A,(TXMASK) OR #08 OUT (C),A LD A,(IX) CPL LD L,A LD H,8 JR $+2 LD A,0 TXBIT RR L SBC A,A AND #08 OR 0 TXMASK EQU $-1 OUT (C),A JP $+3 JP $+3 JP $+3 LD A,0 DEC H JR NZ,TXBIT JR $+2 LD A,0 LD A,(TXMASK) OUT (C),A JR $+2 JR $+2 JR $+2 INC IX DEC DE LD A,D OR E JR NZ,TXBYTE LD B,4 DJNZ $ POP IX RET




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

Похожие статьи:
Новости - пару не очень свежих новостей from Brest.
Железо - Производители: KAY - Турбирование Spectrum - машин
Обзор - обзор свежих релизов: Lord of Chaos, F-19 Stealth Fighter, Carrier Command, The Simpsons, Gauntlet 3, The Addams Family, Wild West Seymour, Sly Spy, Paris To Dakar, Duck Out, Johangir Khan World Championchip Squash, The Amazing Adventures of Robin Hood.
Фантазия - "Виpтуальный Синдpом" (тpагикомический фаpс).
PRICE LIST - Реклама и объявления ...

В этот день...   8 мая