ZXPC

ZXNet echo conference «hardware.zx»

From Aleksandr Majorov To Kirill Frolov 20 July 2002

Hello Kirill! 20 Jul 02 00:06, Kirill Frolov -> Aleksandr Majorov: AM>> I see only one problem - direct access to ports under NT AM>> a little bit later: install the direct access driver and that’s it. KF> Driver from Microsoft? No? To the garden. What don't you like about a non-M$ driver? Or did _all_ drivers for everything you have cost from M$? [skipped] AM>> Have you checked the impossibility of working or are you just talking? [skipped] KF> Yes, even in Windows this program only worked normally for me KF> when it is an “active application”, and in the background everything is comatose. You will probably be surprised, but on my server there is a link to life in the background! And the active one is usually TMyl, or Remote Admin. And the link works without problems! Moreover, if I climbed onto the server via RA (at the same time loading the stone very large!!!), then the link still works normally! KF>>> And so that 100% of the people don’t eat? AM>> Let it not eat 100%. [skipped] KF> He eats 100% of his data. In reality it means ~90%. This means that my Windows does not know that there is some application It consumes all resources and the entire system must slow down. So it has been working without brakes for several years now. :) KF>>> And under Linux, BeOS, BSD of different versions and SCO with Solaris? AM>> Come on, describe the problems with these OS. AM>> What, there is no LPT port, or it suddenly moves to a different one AM>> port? KF> There is no access to it, Yes ny? KF> the link with other programs will be distorted, etc. And if you put a link on the COM port, then it will he fight with anyone? Nu-nu. KF> There is /dev/ports somewhere, KF> somewhere there is ioperm and port address KF> must be calculated via /proc and Is this so problematic? KF> for Windows, by the way, there are also similar problems. What do you mean? [Windows killed] AM>> Tell us how LPT differs from sequential in this regard AM>> port? KF> Using operating systems, it most often works only for output. And entering information from _inputs_ is like “end of paper”, "Printer ready" like why is it not needed? :) KF> C designed for KF> interface is not at all compatible with the link. What, the serial port is specially designed to an interface compatible with the link? ;) AM>> And at the same time, tell us how the serial port will help AM>> for you with “non-standard hardware, laptop, and all sorts AM>> there are Amigos and Macs." KF> The serial port is opened as a file Everywhere? Under all systems? All controls are absolutely the same and you won’t have to rewrite anything? KF> adjust the speed and work. All questions why and how it is KF> works, what ports, interruptions and conflicts are taken care of by the axis. KF> CPU load is less than a percentage. Uh-huh, what should be put on Speck’s side? Something like BB51 with harness? [skipped] AM>> Why aren’t they interested? AM>> They work and what else is needed? KF> As soon as I installed OS/2, the adventures began. There is no need to install any OS :)) KF> Ended with a link via the serial interface Schemes, program, description, sources to the studio? Alexand

From Andrey Tihanov To All 21 July 2002

Hello All! Back in 1995, I had a link working through a converted tape port to Spectrum, with COM port on PC. Just 3 wires and easy conversion Spectrum, mainly for galvanic isolation. On ZX software driver, simple terminal on PC. Normally held 4800 with a lace length of 5m, I tried 9600, but it only worked on a cord no longer than 0.5m. Via the same port my robotron 6329.02 worked via RS232 with the xon/xof protocol right up to the purchase of a PC in 1997 P.S. 4800 speed is certainly not that great, but with the file size on the Spectrum being 20-50kb, IMHO is quite normal. Goodbye, Andrey.

From Kirill Frolov To All 22 July 2002

Press RESET immediately, All! 21 Jul 02 00:28, Andrey Tihanov wrote to All: AT> Back in 1995, my link worked through a converted tape recorder AT> port on the Spectrum, with a COM port on the PC. Only 3 wires and simple AT> rework in Spectrum, mainly for galvanic isolation. With normal input/output buffers in the 38400 spec without errors, the wire was about 3 meters long. All this without turbo mode. Driver piece: ATTENTION! There is an error in the given code fragment that, if FAILED SERIAL INTERFACE CONTROLLER IN THE CONNECTED COMPUTER or when using an interface WITHOUT HARDWARE FLOW CONTROL SIGNALS can lead to MODEM BUFFER OVERFLOW and all sorts of other sad consequences. Cause of error: when the buffer is full, the signal is reset CTS what blocks the transmitter in the connected computer, program hopes that the transmitter will be guaranteed to be blocked and does not stop reception before a pause occurs in the bit stream. Turbo mode must be disabled. Z80 at 3.5Mhz, without WAIT or WAIT only on odd-clock instructions (I don’t remember exactly). Connection diagram partially corresponds to the scorpion circuit: TX taken from 1FFD (tx serial printer), RX is connected to the BUSY port of the printer (rx, that is, dtr from the printerbusy with Vicomm modem), I don’t remember where the rest of the signals go. ;--------------------------------------- ; RS232 EMULATOR ZX-LINK ; TXPORT EQU #1FFD RXMAX EQU 270 ZXL_INI LD A,1 ; initialization JR ZXL_CTL ZXL_OFF XOR A ; shutdown ZXL_CTL ;LD (ZXL_DCD),A ; installation of DCD for PC 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; receiving data from PC. 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) R.L.A. RET C IN A,(#FE) ; 25..34 ~40 R.L.A. RET C IN A,(#FE) R.L.A. RET C IN A,(#FE) R.L.A. RET C IN A,(#FE) R.L.A. RET C IN A,(#FE) R.L.A. RET C IN A,(#FE) R.L.A. RET C IN A,(#FE) R.L.A. RET C DEC D JP NZ,RXWAIT ; +14 IN A,(#FE) R.L.A. RET C LD A,(TXMASK) LD E,A ; +17 IN A,(#FE) R.L.A. RET C OUT (C),E ; +12 IN A,(#FE) R.L.A. 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 EM A,(#FE); B3 RLA RR E JR$+2 JR$+2 JR$+2 JR$+2 JR$+2 NOP NOP EM A,(#FE); B4 RLA RR E JR$+2 JR$+2 JR$+2 JR$+2 JR$+2 NOP NOP EM A,(#FE); B5 RLA RR E JR$+2 JR$+2 JR$+2 JR$+2 JR$+2 NOP NOP EM A,(#FE); B6 RLA RR E JR$+2 JR$+2 JR$+2 JR$+2 JR$+2 NOP NOP EM A,(#FE); B7 RLA RR E JR$+2 JR$+2 JR$+2 JR$+2 JR$+2 NOP NOP EM 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 0TXMASK 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