Page 1 of 1

Interface 1 LAN

Posted: Sat Nov 02, 2019 9:29 pm
by jpnz
This has been on my list of things to do for quite some time now and I've finally stood up a simple Interface 1 network:

Image

The setup consists of a toast-rack and a Spectrum+ (with composite mod) both fitted with an IF1 v2 linked together.

In the middle is a vDrive connected to the Spectrum+

I wanted to know if the LAN worked, if it was any good and could I get transfers to be audible

Bruce Lee seems to be flavour of the month so have been using that for testing.

Testing is a client/server scenario - the game and a BASIC bootstrap are loaded from the vDrive on the Spectrum+

The toast-rack is configured to load via a network broadcast and a key-press on the Spectrum+ initiates the transfer of the bootstrap and game

Does it work? Is it audible?

https://youtu.be/G_cVoF6KO9k

Yup!

I'll be posting some more about the topic later on

Re: Interface 1 LAN

Posted: Sat Nov 02, 2019 10:11 pm
by Ast A. Moore
Excellent! Your Toastrack needs a simple mod to eliminate (well, greatly reduce) the alternating dark and bright vertical bars. I did it to mine and tamed them down noticeably:

Image

What I did was the following:

1. Replaced C28 on the ULA’s 5V rail with a 47 µF capacitor (the original was 22 µF, and still measured fine; didn’t measure the ESR, though).
2. Replaced C25 in the resistor/diode logic that mixes the brightness signal with RGB before feeding the into the TEA2000 with the same value (100 µF). Probably unnecessary, but it sits close to the ULA and the color signal tracks. The original capacitor measures fine, so I might put it back in.
3. Replaced C8 and C7 22 nF ceramic decoupling capacitors next to RAM IC13 and IC12, respectively, with 1 µF multilayer ceramic ones.

Re: Interface 1 LAN

Posted: Sun Nov 03, 2019 1:09 am
by jpnz
Ast A. Moore wrote: Sat Nov 02, 2019 10:11 pm Excellent! Your Toastrack needs a simple mod to eliminate (well, greatly reduce) the alternating dark and bright vertical bars...
Thanks for the tip, the display looks really clean. Not that simple for me, so will put that on the list of things to do...

Re: Interface 1 LAN

Posted: Sun Nov 03, 2019 1:41 am
by jpnz
jpnz wrote: Sat Nov 02, 2019 9:29 pm ...I'll be posting some more about the topic later on...
I'd been reading about the LAN speed in a couple of books,

Andrew Pennell writes in Master Your ZX Microdrive:
Networking is a method by which many computers can be linked together so that they communicate quickly between each other.
On the Spectrum this speed is over 3K bytes per second, which is much faster than the greatest RS232 baud rate of 19200.
However, Dr. Ian Logan observes in [the] Spectrum Microdrive Book:
The Spectrum Local Area Network (just network from now on) allows for a number of Spectrums (and computers of other makes) to be joined so that 'high speed' communications can be made from one Station to another. The rate at which data is sent over the network is indeed fast, as compared to a RS232 link, and may nominally be considered to be 5K bytes/second (each byte having 8 bits).
[Station - a computer presently joined to the network]

He further notes:
A program sent as a 'broadcast' is handled at a much slower rate (about four times slower) than a program sent to a specific IRIS
[IRIS - the station with which the user is communicating]

My previous test was a broadcast so I wondered if a station to station session was indeed faster?

https://youtu.be/DrGASPTOoOA

Yup!

Re: Interface 1 LAN

Posted: Sun Nov 03, 2019 7:05 am
by zxbruno
Always wanted to see this in action!

Things I'd like to see one day:

-A Battleship-kind game, where each player has his own Spectrum and display
-Turn-based games, where each player has his own Spectrum and display
-2-player games, where the game runs on one Spectrum and one display, and the second Spectrum is only used as a keyboard to control the second character. Beat-em-ups come to mind
-A Spectrum playing chess against another Spectrum

Re: Interface 1 LAN

Posted: Sun Nov 03, 2019 8:13 am
by jpnz
zxbruno wrote: Sun Nov 03, 2019 7:05 am Always wanted to see this in action!

Things I'd like to see one day:

-A Battleship-kind game, where each player has his own Spectrum and display
-Turn-based games, where each player has his own Spectrum and display
-2-player games, where the game runs on one Spectrum and one display, and the second Spectrum is only used as a keyboard to control the second character. Beat-em-ups come to mind
-A Spectrum playing chess against another Spectrum
Hehe, yeah - me too!

There are some existing games that support the IF1 LAN but I really didn't get a chance to test them out

[EDIT] - corrected my badly linked URL :/

Re: Interface 1 LAN

Posted: Sun Nov 03, 2019 9:17 am
by 8BitAG
When I first went to my local comprehensive school, while I was still at primary school, they had a whole room full of networked Spectrums (and maybe even some QLs), all mounted on wood with the wires threading around the room... at least, that's what I presume the setup was as sadly it was replaced by a suite of BBC Masters before I enrolled.

Re: Interface 1 LAN

Posted: Sat Nov 09, 2019 9:51 pm
by jpnz
Thanks for all the comments.

I wanted to add a few more notes about the setup

I got the LAN cable from RWAP Software in either 2007 or 2008 and that's an indicator of how long I've been meaning to do this!

I'm unsure if the cables are still available, but the regular Sinclair cassette leads (with the black/grey sleeves) should also work.

One quirk I did see, especially when broadcasting, was a number of CODE error(s) generated by the IF1:

Image

This tended to happen when the toast-rack was sending or receiving in it's native 128K mode.

These errors were mitigated by switching the toast-rack to 48 BASIC via the menu option, or via USR 0.

As for the game, it's a Hrust2 compressed version of the Erbe release of Bruce Lee, with MAC's new loading screen on a microdrive cartridge.

I was also able take a Multiface snapshot to microdrive of the toast-rack after it had received a station to station transmission (but not a broadcast) so the system variables can be inspected at a later date.

Both microdrive images I used for testing are here

Re: Interface 1 LAN

Posted: Mon Oct 26, 2020 3:32 pm
by Alone Coder
Are there network games for this? Or for other British setups? I found only 10 network games so far, all of them are from Russia. Most of them are for CDOS/Vicomm, two others for AY 3-wire connection, one of them was also adapted and one more written for ZXNetUSB.

Re: Interface 1 LAN

Posted: Mon Oct 26, 2020 4:06 pm
by p13z
Alone Coder wrote: Mon Oct 26, 2020 3:32 pm Are there network games for this? Or for other British setups?
There is Spectank for Spectranet.

Re: Interface 1 LAN

Posted: Mon Oct 26, 2020 8:16 pm
by Hedge1970
Funny how battleships was mentioned the Protek game poll that is currently running includes Hunter Killer a submarine game that supports LAN and allows 2 players to pit themselves against each other. Only problem is finding someone else who is into 1980s Spectrum games :-)

viewtopic.php?f=21&t=3589

Re: Interface 1 LAN

Posted: Sat Jan 15, 2022 9:56 am
by jpnz
I've had a couple of questions recently pop up on the YouTube video and wanted to reply here as this thread has the most context
QUESTION 1 How do you get the speccy with the Bruce Lee Program on it into broadcast mode whilst also having the Bruce lee program loaded
- or do the second machine Load commands just "pull in" the load without you having to do any broadcast commands on the sending machine?
In this post is a download link to the microdrive images I was using

The imaginatively named file IMG2.MDR has a bootstrap, that when RUN on the sending machine, will present a list of programs that can be selected:

Image

Selecting either the 'broadcast' or 'station' programs will setup the transmitting machine for that mode and once the program has loaded, get the receiving machine ready, then press a key to transmit

To get the receiving machine ready,

If you wish to receive via a broadcast enter LOAD *"n';0

If you wish to receive via a station enter LOAD *"n";1

Station 1 is the power on default for the Interface 1 and the transmitting 'station' program has been hard coded to send to station 1
QUESTION 2 -Not sure (from what I have read so far) if I can load from a microdrive in Spectrum 1 into Spectrum 2,
or if I have to have the program first loaded in machine 1 before I can transfer as you have done? So sharing a single microdrive between 2 spectrums using the network link?
This is pretty much a demonstration of a Spectrum 'server' loading from microdrive and then transmitting back to the Spectrum 'client'

Imagine a network of 64x Spectrums - perhaps, for example dedicated game servers - it is possible to have the servers present you with a list of games that can be loaded from any of it's 8x microdrives and then transmit that back to you!