The Peterson X05 RS-232 Card on the MZ-80K
Written by Maurice Hawes / SUC/UK
Source: SUC-magazine July 1999, Volume 19, Number 1, p. 10
A member recently asked me if I could find him an RS-232 card for his MZ-80K. As I happened to have such a card surplus to my requirements, I was able to solve his problem ‘at a stroke‘. The card in question was an X05 Bi-directional Serial I/F Card by Peterson Electronics of Forfar in Scotland; and by good fortune I also had, from different sources, Peterson‘s X05 Manual, and an original Peterson tape carrying the relevant MZ-80K software.
Before posting off the items, which I had never used on my own MZ-80K, I decided to look at the software, in case the member ran into problems. The Manual states that the tape carries 3 programs and, without giving any names, explains that the first is in OBJ code and runs from $BB00 to $BF14; the second is a source listing of the OBJ program and may be edited and reassembled using the SHARP EDITOR / ASSEMBLER; and the third changes the printer control routine of SP-5025 to suit the X05 card. But when I looked at the programs on my tape, which as far as I can tell is definitely a Peterson original, I found that things were slightly different.
The first program on my tape, X05 DATTRM OBJ, is a machine-code ‘TYPE 1‘ file with a SIZE of $0414, as given by the Manual; but it LOADS and EXECUTES at $C000 instead of $BB00. So to start this program from Basic you need USR(49152), not USR(47872) as stated.
The second program on my tape, DATTRMSCE, loads as ‘TYPE 4‘. This was no surprise, as this is the filetype used by the ‘ZEN‘ Assembler for its source files; so I expected to find that the DATTRMSCE file had been saved in the way used by ZEN i.e. in one continuous block. But is was not the case; DATTRMSCE is saved in short blocks, with long gaps between ( as in TYPE 3 DATA files ) and after many false starts, I found that the only way I could load the entire tape into memory was via the SHARP EDITOR / ASSEMBLER.
On my Peterson tape there are no more programs i.e. the printer modifier program mentioned in the Manual is missing. As few people ( if any ) use RS-232 printers these days, this is not important.
Overall, this was a useful exercise, as it reminded me that I should never expect any computer instruction manual to be 100% correct. It also revealed that, in this instance at least, and probably in others, Peterson used the SHARP ED / ASS package rather than ZEN to write and assemble their Sharp software; and it also taught me that the SHARP ED / ASS package uses a TYPE 4 tape format of which I was previously unaware. You‘re never too old to learn!
P.S. 1 The name of the OBJ file should, I think, be X05 DATTRM OBJ; I guess that someone in Forfar mis-typed it as X05 DATTRM 0BJ when he was assembling or saving the file to tape ( i.e. 0 <> O ).
P.S. 2 I have tried without success to find the format in which a SHARP ED / ASS ‘TYPE 4‘ source file is saved. The header gives SIZE $1747 LOAD $4B9D EXEC $4B9D, which looks like a continuous file – but if you ‘play‘ it through a tape recorder it is clear that the file is in blocks, and when you load it into ED / ASS it takes a LOT longer than would be needed if it was $1747 bytes in one block. I THINK the blocks are circa $100, but I am still working on it.