I like BBC Basic programming on the Z88, but I also wanted to write proper Z88 applications that appear in the main menu. But I didn't really want to have to resort to Assembly Language. This is where Z88dk comes in. It is a C compiler that originally targetted the Z88 specifically. So now I can write applications for the Z88 in C. As a bonus Z88dk also works for many other Z80 based machines.
But rather than copy the resulting files straight to a real Z88; I've also found this rather good emulator:
...which seems a very easy way to test your code before sending to a physical machine. This emulator seems to work fine on Windows 7, even the 64 bit version.
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.