OK, I managed to mess up the network settings on my Vocore. Oh well, it happens. It's not too bad... the device was still booting up and running... but was not accessible by Wi-Fi or by plugging in a network cable. So it's back to a good old serial connection. This is what I have done:
I've used a USB to Serial 3.3v TTL cable that I already had, and then just poked some jumper wires into the right places. Surprisingly it seems good enough. Anyway, in case I need to do this again, I thought that it would be worth taking a photo. I'm using PuTTY on a Windows box as the terminal. The settings I'm using are:
- Speed: 57600
- Data bits: 8
- Stop bits: 1
- Parity: None
- Flow control: XON/XOFF
I connected the USB-to-serial cable first, then opened the connection using PuTTY. You then have a blank terminal screen. Then I connect the power to the Vocore, and you get to see all the logging information as the device boots. After a couple of minutes I press enter in the terminal and end up with the usual OpenWrt startup screen. After that you can use the console like normal. Anyway, it's handy to have that written down somewhere, because I'll probably break it again at some point. But I can report that I was able to fix the network config and things are back to normal now. Phew.
Click below to download the application:
My previous work on Z88 serial communications was OK, but you need to use the Z88 and Windows at the same time – meaning that you need about 4 hands. You can also only send one file at a time. However, it does work with an out-of-the box, unexpanded Z88 without any additional EPROMs, which is why I wrote it.
But ... a lot of Z88’s have a PCLink2 or EasyLink EPROM installed. This makes the Z88 act as a server, meaning that all the work could be done from the PC (with some client software). So ... I’ve decided to have a go at developing a modern Client for that - one that will work on current versions of Windows. After speaking to Vic from Rakewell we decided that it would be good to have the Z88 act like a memory stick ... to simply appear as a new drive in Windows. You can then just use Explorer to access your Z88. But can that be done over a serial connection? Well I think so ... with the help of a library like Dokan.
So this is my proof-of-concept. I have tried it on Windows 7 (both 64 and 32 bit versions). It only uses the PCLink2 protocol, which should work with both PCLink2 and EasyLink EPROMS, but has limitations - it cannot create directories on the Z88 for example. It works with the ‘official’ Z88 serial link cable. When the client is running it puts a Z88 icon into your system tray. Right clicking this icon allows you to browse to the Z88 or exit the client program.
You must connect the Z88 and run PCLink or EasyLink before starting my Windows client software.
There is a Z88.ini file which allows you to set the COM port and the protocol used (at the moment only the PCLink2 protocol is supported). But you’ll need to edit the Port= setting in the .ini file if you’re using a COM port other than COM1.
WARNING!! this is a proof-of-concept and is very experimental. It could crash your PC or corrupt the files on your Z88. I’m only putting it here in case some brave people would like to test it and let me know if they find any problems.
To make it work, you will need to install the following components on your Windows machine:
.Net Framework 3.5
Dokan Library (download and install Dokan-0.6.0)
I have been meaning to make a blog entry about this for ages, but haven't gotten round to it yet. This is part 2 of my work on establishing serial communications with the Cambridge Z88. In the first part I described how to install a small Basic program on the Z88 ... this part completes the process by running a matching program on Windows. This allows data to be sent back and forth, but only a single file at a time. It uses my own protocol, and allows binary files (like Basic programs) to be sent.
This is program needs .Net Framework v2 (click here for the for the x86 version), so that needs to be installed first, but you've probably got it already. I've only tried it on Windows 7, although I don't see why it shouldn't work on Windows XP or Vista.
If you have installed the Basic program on your Z88, you can now use this program on Windows. Just copy the files to a folder and run the .exe file.
NOTE: anything above 9600 baud might work; but I have not found it reliable. This program works with the genuine Z88 transfer cable, since it uses hardware handshaking to prevent the buffer from filling up. The serial settings on the Z88 will be set up using the normal Panel settings. I’ve been using these settings - Transmit baud: 9600, Receive baud: 9600, Parity: None and Xon/Xoff: No.
Sending from the PC
Run the Basic program on the Z88. Press ‘R’ and <Enter> to say that you’d like to receive a file. Then enter the name of the file, the name that will be used on the Z88 and press <Enter>. The Z88 will wait for the file to arrive. Now on the Windows program select ‘Send’ along with the COM port settings you’re using. Click the ‘...’ button to browse for the file on your PC. Finally, when you have selected the file click ‘Transfer’ and you should see the file being transmitted.
Sending from the Z88
In the Windows program select ‘Receive’ along with the COM port settings. Click the ‘...’ button and select the file name and the folder where the file should be saved. Then click the ‘Transfer’ button. The PC will wait for the file to arrive. Now, run the Basic program on the Z88. Press ‘S’ and <Enter> to say that you’d like to send a file. Then enter the name of the file on the Z88 that needs to be transmitted and press <Enter>. The Z88 will now transmit the file to the PC.
When I got my Z88 I had problems backing up my Basic programs. The Import/Export program on the Z88 does not like binary files, including basic programs, so I decided to write my own solution. Here are some instructions on how to transfer my own Basic communication program to the Cambridge Z88:
Firstly, on the Z88 you need to configure the communication settings, by going into Panel. You’ll need to set both the Baud Rates to 9600 and the Parity to None. Make sure that Xon/Xoff is set to No (because I haven’t gotten that to work any other way yet). When that is done, go into Basic. Connect your serial cable between the Z88 and the PC.
We’re going to get the serial port to type a Basic program into the Z88, rather than typing it in manually via the keyboard. So enter the following command in Basic on the Z88:
This will tell the Z88 to get input from the serial port instead of the keyboard. So if we send stuff out of the serial port of the PC it will appear as if it has been typed into Basic on the Z88.
All we need to do now is send this file. I normally use Tera Term Pro, with serial port settings like this:
...for most reliable results I give a 10ms delay when transmitting bytes and lines. Note the flow control is set to Hardware, and all the other settings are as we configured them on the Z88. Make sure the Port is wherever you have the cable plugged in. EDIT: recently I've re-visited this procedure on a different PC and could not get it to work with the 10ms delay. But I encreased both delay settings to 50ms and it worked perfectly. So if you have problems, try increasing the transmit delays, it might help.
Now we can send the file. From the File menu in Tera Term Pro, select “Send File...” and browse for the CLI file we’re sending. I normally tick the Binary option, to make sure the bytes sent are exactly as given in the file.
Click Open and wait. The file should start sending (sometimes the transfer takes a minute to get going, be patient). You should see the program being typed into Basic on the Z88.
When the program is finished on the Z88, you need to hold down [Shift] and press [Escape] on the Z88 keyboard. This tells the Z88 to use the keyboard again instead of the serial port. You should save the file in Basic by typing SAVE "Z88SERIAL.BAS". Next, if you type RUN and press [Enter] on the Z88 the new transfer program should start up. And from now on, transferring files should get easier. We have the software on the Z88, all you need now is the PC side ... that will be in my next post.
UPDATE: Part 2 can be found here.
One of the things that was good about retro computers was the User Manuals. In my Z88 manual, it describes how to make an RS232 cable that will work with its serial port (the port on the Z88 has a non-standard pinout). So I made one:
It was made from bits that I had lying around (as you can tell). Mostly stuff salvaged from old PCs in fact. Note the USB adaptor on the end. It's clunky ... but it works. I could easily make a better one (one not made from junk perhaps).
I've bought one of these WiFly modules from coolcomponents.co.uk. It's great! I'm in the middle of documenting my set up and test procedure, so that life will be easier the next time I set one up. I have had it acting as a web server (serving up simple pages that were sent to it via RS232). I have also got it to read other websites and send back the html source over RS232. Not bad, my next step will be to connect it to an ATmega168 and have some code running on the web without the need for a computer.
So ... I'll post more about that later.