Communication between two Spectrums

ZXNet echo conference «code.zx»

From Grigoriev Valery To All 28 October 2005

Hello, All Has anyone done this? I mean getting the two Spectrums to work together. Here the question flew through the FIDO echo: is it necessary to use an echo tag? I'm there I tried to push to develop the topic, but for some reason the forum complained about the lack right but that's not the question. The question is this - all Spectrums have almost no use (at the moment) tape recorder port - EAR and SPK bits - for input and output. Purely technically it is possible at a sufficiently high speed [for standard ports the speed is known, for tape recorder, of course, it needs to be selected, but it is quite obvious that it will be not low speed, it is quite possible that up to several kilobytes per second, true when both connected stations are fully loaded] connect via these ports (and besides them, there are many specks with parallel and serial ports) two spectra (you can make more, but the implementation is labor-intensive - there is a need for a transaction controller - a separate computing system) - and since their performance is basically the same, then By using a bunch of Spectrums you can double your productivity almost for free. Actually, the freebie is this: let it have 1 spetrum more or less advanced (say, HDD, FDD, AY 256K, etc.) and there is a fairly old one, but functional ZX-48K. And even if it is not there, it is certainly possible either aspick up a gift from someone you know, old but still fully functional ZX-48K (even 16K is enough there in a pinch; even if that’s not there, give it purchase announcement there will be people interested immediately). Then, by connecting one of the ports (tape recorder, parallel/serial) such a “small” Spectrum, you can figure it out two-in-one performance. Why might such performance be needed? For example, to make music on one (full calculation for digital music say) while another computer draws graphics. Or parallelize mathematical calculations (compute complex calculations for 3D demos for example). Well, etc. In the sense that there is something to connect the Spectrums for, it will be found. But practically Has anyone tried to do this? P.S. does not mean that both Spectrums work with the same memory with one screen, etc. This refers to two discrete spectra that operate in cluster, performing the same task in conjunction.

From jtn To All 28 October 2005

Hello,GriV Gri> let it have 1 more or less advanced space (say, HDD, FDD, AY Gri> 256K, etc.) and there is a fairly old but functional ZX-48K. that's exactly what happened. on the first one the program was loaded, magic was pressed and a snapshot was transferred to the second. Well, we also played online games

From Yuri Potapov To All 28 October 2005

Hello,GriV At what speed do you plan to transmit? still not RS 232

From Grigoriev Valery To All 28 October 2005

Hello jtn jtn> that's exactly what happened. on the first one the program was loaded, magic was compressed and jtn> was transferred as a snapshot to the second one. well, we also played online games Gah, great, where was that??? And what does magic have to do with it? meaning interaction according to the client-server model, and here the division is into program level, the same thing you write about is somewhat different.

From ASDT To All 28 October 2005

Hello,GriV "make two Spectrum work together" Why? What could be the task for such a bundle?

From Chunin Roman To All 28 October 2005

Hello,GriV KAI can be connected via LPT!

From Alexander Zan To All 29 October 2005

Hello, CHRV Everything described above is reminiscent of a combination of spec and GS ;) (who would give me a legible photo of GS on both sides). All that remains is to stick to the second SounDrive spec and overclock it a little, and you've got almost GS :D And regular Covox (preferably stereo) it wouldn't look bad anymore :v2_clapp: For complete happiness, all that remains is to correct the ROM so that it automatically accept and run the necessary initial data. And provide for the possibility turning it off so that all memory can be used. In general, the idea is interesting (especially in light of the high cost of new hardware): v2_cheer: But it’s better not to use the gramophone port :v2_scare:

From Grigoriev Valery To All 29 October 2005

Hello ASDT ASD> "make two Spectrums work together" ASD> Why? What could be the task for such a combination? Please read more carefully, everything is written above...

From Kirill Frolov To Chunin Roman 29 October 2005

Press RESET immediately, Chunin Roman! On Fri, 28 Oct 05 21:53:57 +0400, Chunin Roman wrote: CR> KAI can be connected via LPT! Scorpion tozhe mozhno. Tol'ko skorpion prakticheski uzhe imeet programmnyjj RS232.

From Krasheninnikov Alexander To All 29 October 2005

Hello,GriV Gri> resulting in 2 kbytes per second peak capacity Gri> The question remains: has anyone connected 2 Spectrums in this form? This is how I connected 2 Spectrums. I remade the LastBattle game (I can’t post it because... Everything is on floppy disks somewhere, I can hardly find it... damn it). For communication purposes only non-tape ports were used because there are all sorts of chains at the entrance, cutoff frequencies above 5 kHz approximately. The Kempston port of the joystick was used (bit 0 - for input ess) and printer port (also 0 bit for transmission, port number not standard). A speed of about 4 kb/sec was achieved. The transfer was carried out blocks of 256 bytes with checksums with retransmission in case errors (there were versions that reduced the transmission speed in case of repeated errors). It worked very cool, the only thing missing was the protective timers - if the connection breaks (sometimes my wire broke - there was a connection in the middle of the wire Jack 3.5 connectors) somewhere in the middle of a byte transfer, everything freezes. Operating principle: The parties initially know who is the receiver and who is the transmitter on soon. The receiver waits for the start bit from the transmitter. Having received it begins to form the chain 01010101010 at its output. At every shift level, the transmitter sets the next bit of data at its output, and the receiver reads it.Because on the second computer there was no disc grinder as an initial boot a feature was used: the input wire was also connected to the tape input. First, the small loader was loaded using the standard method (on the transmitting side there was a copy of procedure 1218 with a changed port). Then this bootloader was already used the described protocol and loaded the main code of the last battle. P.S. I found some receiver/transmitter sources that seem to be right there used. See attachment (CP866) File: NetwTXT.txt http://zx.pk.ru/attachment.php?attachmentid=1862

From Krasheninnikov Alexander To All 29 October 2005

Hello,GriV Gri> parallelize mathematical calculations (compute complex calculations Gri> for 3D demos, for example). Gri> I think this is only feasible for parallel ports or when using hardware receivers/transmitters. And here's why: Transmission/reception takes up the processor completely and for a long time (I think 1.5 seconds pausing to transmit one screen is not acceptable in a demo/screen). Although maybe there will be craftsmen...

From Grigoriev Valery To All 31 October 2005

Hello Alex Crush Ale> I think this is only feasible for parallel ports or for Ale> using hardware receivers/transmitters. And here's why: Ale> Transmission/reception takes up the entire processor and for a long time (I think 1.5 Ale> a second pause to transfer one screen is unacceptable in Ale> demo/screen). Although there may be craftsmen... I agree, it’s true that they already grilled that two Speck were connected at a speed of 112 kbit, this is of course very cool. But that’s not the point, it’s that this option clustering was not used at all. If we initially take the diagram of a standard Speck, and almost all of them were with Kempston ports, then in the case of complete delegation of functions you can use second (weaker) spectrum as a functional appendage (initially rejecting his active participation in the process - information is simply transferred to him, and he it turns and turns as it should). 5 bits of information are immediately issued to the Kempston port (it’s not entirely clear here, maybe be there we actually use 8 signal lines, however the classic The joystick is adjusted only 5), plus 1 bit along the tape recorder line. Here there are a lot of options, but the speed will be significantly increased compared to the option that I suggested above.About the program that loaded the second computer. Honestly, no way I didn’t think of that, it’s a very good option. I still assumed or sew in ROM control code or use a tape recorder for basic loading.

From Grigoriev Valery To All 31 October 2005

Hello,GriV Gri> I agree, here it’s true that they already grilled that two specks were connected to Gri> with a speed of 112 kbit, this is of course very cool. But that’s not the point, it’s Gri> that this clustering option was not used at all. Gri> If we initially take the scheme of a standard speck, and almost all of them were Gri> with Kempston ports, then in the case of complete delegation of functions it is possible Gri> use the second (weaker) Spectrum as a functional one Gri> appendage (initially rejecting his active participation in the process - on Gri> information is simply transmitted to him, and he twists it and turns it as he does Gri> necessary). Gri> 5 bits of information are immediately issued to the Kempston port (not quite here Gri> clearly, maybe there are actually 8 signal lines used there Gri> however, with a classic joystick, only 5) plus 1 bit are adjusted Gri> along the tape recorder line. There are a lot of options here, but speed Gri> will be increased several times, compared to the version I have Gri> suggested above. Gri> Gri> About the program that loaded the second computer. Honestly, no way Gri> whatever you guessed, it’s a very good option. I still Gri> assumed either to flash the control code into ROM or use Gri> tape recorder for basic loading. It's not good to quote yourself, but still... You can use keyboard ports as a transmission channel, there are a lot of them there just...

From Kirill Frolov To Grigoriev Valery 2 November 2005

Press RESET immediately, Valery Grigoriev! On Mon, 31 Oct 05 17:35:56 +0300, Grigoriev Valery wrote: GV> It’s not good to quote yourself, but still... GV> You can use keyboard ports as a transmission channel, they are there GV> a lot of simple... Can be connected via ZX-BUS. The Z80 can deliver a tire on demand. You can build a circuit to capture the bus of one computer with a processor another. And use someone else's memory. Ehto simply (if only synchronize the clock frequency). Well, the wires, of course, are not 30 centimeters long.

From Boris Krasnoperov To All 2 November 2005

Hello,GriV Gri> It’s not good to quote yourself, but still... Gri> You can use keyboard ports as a transmission channel, their Gri> there’s just a lot... The most correct approach is to solder the RS232 controller by Kamil Karimov There's even a 126-byte buffer.

From Grigoriev Valery To All 3 November 2005

Hello, All Kir> Press RESET immediately, Grigoriev Valery! Kir> Kir> On Mon, 31 Oct 05 17:35:56 +0300, Grigoriev Valery wrote: Kir> Kir> Kir> Can be connected via ZX-BUS. The Z80 can provide a tire upon request. Kir> You can build a circuit to capture the bus of one computer with a processor Kir> another. And use someone else's memory. Ehto simply (if only Kir> synchronize clock frequency). Well, the wires, of course, are not Kir> 30 centimeters long. No, this method won’t work, although it’s certainly an option ;))) I offered non-separable and unconnected Spectrums, which only through external ports collide with each other Regarding 115200 and 38400, I’ll say for sure that this will certainly work, but how You yourself correctly noted, work to the limit - error correction and so on It’s not done on the fly, and it’s quite difficult to link two Spectrums - the lack of buffers, etc. affects Although, of course, I found something new in these algorithms - a way to synchronize for example - along the front.

From Krasheninnikov Alexander To All 10 November 2005

Hello,GriV I think that in the end the issue comes down to speed vs simplicity communication devices :-). If you need high speed and low usage processor - you can also make a DMA controller with a normal RS-232 receiver-transmitter. But it's difficult. In my opinion it is too difficult. The simplest communication method is already built-in - just connect Criss-cross tape connectors of two specs. But it's slow. Too much. The optimal solution is somewhere in the middle. In my opinion, a good method is a shift register, which would convert sent byte into a sequence of bits (and vice versa when receiving). This would reduce the loading of the speck. A sort of LPT->RS232 converter. After all, according to LPT connecting computers is a perversion... what if they are in different rooms? how many wires are there? will need... There were once ideas to make a similar device with a buffer on a microcontroller. I just wanted to connect speccy <-> PC to organize the storage of a large number of screw type data. But this idea suffered the same fate as many others - it remained just an idea. Gri> Although, of course, I found something new in these algorithms - a way Gri> synchronization for example - along the front. So I also have synchronization on the front :-) and at the same time on the decline too