John Allen's Z88 pages   Z88

Z88Link for the BBC micro

January's edition of The Micro User contained a program for doing simple transfers between your BBC micro and a Z88. Since then we've had utilities to transfer the whole contents of the memory (March), transfer and convert to Wordwise and Mini Office II files (June) and to transfer Basic programs (July). What all of these have in common is that they link up with the Z88's Import/Export Utility. So, in order to use them, it is necessary to set one machine to receive and then the other to send. As even the most careful of us get these operations in the wrong order Cambridge Computer have come up with a rom cartridge for the Z88 which allows another machine to take total control of a transfer. So far the only software to use this rom is PipeDream on the Archimedes and PC and Cambridge Computer's package to connect the Z88 to a PC, PC Link II. As there are no plans for a 'BBC Link II', an easy to use file transfer link between the BBC micro and a Z88, we've done our own, the result is the listing opposite.

After the rom has been inserted into the Z88, it is activated by pressing 'square' L. It works by getting it's instructions from a remote computer at the end of a serial link. Instructions include displaying Z88 devices, directories and file names and sending and receiving files. Used in conjunction with our 'BBC Link II' program transferring files becomes a doddle.

First download the program and save it as LINK. Then run it and activate the rom on the Z88. Provided that everything is OK pressing any key on the BBC micro will make the main LINK menu appear and you're in business. If the menu doesn't appear and you're sure that you have copied the program correctly then there's either something wrong with your lead (for details of how it should be wired see January's The Micro User - plus pins 8 and 9 have to be connected together at the Z88 end) or you've got one of the early versions of the rom (one that's not labelled as the International version) and the baud rates don't match up. If this is the case press ESC on the Z88, select the panel, and set the send and receive rates to 9600 baud, Parity to 'none' and Xon/Xoff to 'no'. Then start again.

To use the main menu, move the blue highlight bar around the options with the cursor keys and press RETURN to select one. Those on the right-hand side are used to transfer a file from the Z88. When started, LINK defaults to transferring from the Z88's root directory of :RAM.0., 'Z88 Device' and 'Z88 dir' allow you to change this. Remember when changing directory that the Z88 follows the MS-DOS conventions, so that selecting "." means to stay in the current directory and ".." will move to the parent directory. 'Z88 File' shows you a list of files in the current directory and device. Choosing one with the highlight bar means that you want to transfer it to the BBC (if you change your mind about a transfer simply press ESCAPE or select Quit). LINK will suggest a valid BBC filename, if it's alright just press RETURN and the file will be sent, or type in another name (this can include a drive and directory) and this will be used.

The other options on the main menu allow you to show a list of BBC files in the current directory and transfer then to the Z88 (the procedure is similar to sending files from the Z88 to the BBC micro), and to enter '*' commands, for example to change the current drive or directory. Be careful not to use '*' commands like *COPY which destroy user memory - if you do the program will be overwritten! The final option is Quit. This allows you to leave LINK, it also tells the Z88 rom that you've finished so the Z88 can revert to it's previous suspended activity. It's worth remembering that while the rom is active on the Z88 the machine will not 'time out', so it's worth Quitting if you're not intending to use the link for a while.

A few things to watch: because the program can only display up to 32 menu options on the screen at a time you may find that not all of the Z88 files, or the whole of an ADFS directory, is shown. Moving the highlight bar down when it's at the bottom of the display will show another page of up to 32 entries. It is possible to move up and down between any number of pages simply by moving the highlight bar over the page boundary. ADFS users will find that the BBC files menu will display directory names amongst those of the files. If you select a directory LINK assumes that you want to move to that directory and will display its contents (rather like Inter-Word). Finally you need to make sure that there is enough space for the file in your selected Z88 device as LINK does not check for the Z88 running out of space. If this were done in Basic, LINK would slow down to about half it's present speed, and pressure of space precludes it's implementation in machine code.

The Menu System

The menuing system can be used as part of other programs. It's contained in PROCmenu and PROCborder. The parameters for PROCmenu are:

  title$       the title of the box
  no%          the number of items to display
  pos%         the item to be initially highlighted
the text items to be displayed should be in the array list$.

Line 1560 needs to be changed to 'CLS' and 1810 becomes just ENDPROC. Lines 1570 and 1580 should be modified to contain your heading. PROCmenu should only be entered in MODE 7 (or MODE 135 on the BBC Master).

A bug in the rom cartridge

The early roms don't transfer the data correctly. They're fine for text but not for Basic programs or data files. The problem is that bytes in the range &10-&1F on the Z88 were transferred to the BBC micro as bytes in the range &20-&2F so if you sent the file back to the Z88 it's not the same as when it went. If you find this problem with your rom you should contact Cambridge Computer who'll exchange it for one that works correctly.

Download Z88LINK (zip file)

© John Allen 2014