The Tube interface was intended to enable the addition of what was known as a Second Processor. Although this was something of a misnomer as the additional processor became the main CPU of the system and the base BBC Micro became an I/O controller.
When running, the second processor's memory was addressed from &00000000
upwards, and the I/O processor's memory was identified by being addressed as &FFFF0000
upwards.
As other answers have said, the Tube was a fast FIFO buffer enabling communication between the two processors. The data was passed via the I/O processor's memory location &FFFFFEE5
. The 6502 second processor was far and away the most commonly used. It would run the same code as the main processor, effectively providing much more memory to the running program as all the I/O buffers remained in the I/O processor.
From the I/O processor you had the following OSBYTE (or *FX) calls in the OS.
157 Write a single byte
234 Test for presence of second processor
Other OS calls affected the Tube
124 Clear escape state
125 Set escape state
142 Reset language ROM - copies language to second processor if present
247/8/9 Set Break intercept code
Within the second processor, you had OSWORD() calls:
5 Read I/O processor memory
6 Write I/O processor memory
These were used to transfer blocks of memory, not just single bytes.
If writing a language ROM for the BBC, it was assumed that the 6502 second processor would run the language if fitted. You had to encode the second processor relocation address in the ROM header. The language ROM's initialization routine would be called at startup with two extra entries, &FF
and &FE
which informed the ROM that it was running in the second processor.
Similarly, Filing Systems had to be Tube-aware.
Was there any software? Yes.
Some specific applications, like the BBC's Domesday Project, required the second 6502 processor. Torch Computers manufactured a 68000 second processor that came with Torch Unix. This was used in industry as a means of getting a cheap Unix box.
For home users, second processors were quite rare. The additional costs being not really worth the effort for a hobbyist. In education, they were more common, but not widely used. Their main use was in higher education, where the extra memory and wider variety of languages was of more use. They were seen in universities.
The more powerful second processors - 16032, 68000 etc. were quite short lived in industrial use. Technology overtook them quite quickly and cheaper, more accessible systems became available after only a couple of years of the Tube's existence.