80-Bus News


July–August 1983, Volume 2, Issue 4

Page 50 of 55

Running (b) resulted in a buffer full of data representing the on/off states of the printer solenoids during a printing pass of the print head. (Every time the print-head solenoids were ‘fired’ by the IMP the N2 picked up the data via an interrupt from the PIO , and stored it in the buffer). Program (c) included an automatic check of the buffer to ensure that the maximum permissable duty cycle of the solenoids hadn’t been exceded (by leaving one on for too long), and also displayed the printed text on the N2 screen using the block graphics characters to represent the ‘dots’ of the printhead. The cursor control keys –> & <– were used to scroll the ‘IMP’ line backwards and forwards across the screen.

So the moral of this tale is don’t forget the interrupt system of your computer – you can do a lot with it, even use it to measure it’s own performance [1]. Some more words on the Z80 interrupt system can be found in [2] and [3].

Printer Interfaces

Driving the IMP (or any printer) requires a suitable software and hardware interface. The IMP uses an RS232 interface, and optionally includes a TTL level handshake line. A handshake line, or printer handshake protocol, allows characters to be transfered to a printer at a rate sufficiently high enough to ensure that the printer is never idle. Various aspects of interfacing printers to Nascoms or Geminis are covered in [4] and [5]. (Don’t be deceived by the title of the latter – it covers both RS232 and Centronics interfaces!).

Printers and Wordstar

Our esteemed book reviewer writes that he finds Wordstar + Epson FX80 slower than Naspen + IMP (there’s that word again), and he’s wondering about looking at Wordstar’s printer drivers to see what’s wrong. If he finds a solution I for one would like to know it. The trouble is Wordstar is a very powerful wordprocessing program. By powerful I mean that it does a great deal. It can handle a variety of printer types, and while printing a file it does some further processing on the line (printing alternate lines backwards for daisy wheel printers, doing incremental spacing, looking for superscript/​subscript toggles, underline markers, etc, etc). It also prints in a spooling mode, the print being a background task, allowing the user to edit another file at the same time. The net result is that the file comes out slowly (I would guess at around 1000 baud equivalent rate). I have little enthusiasm for looking inside a program as large and as complex as Wordstar, and we can only hope that Rory can find a workable solution; mine, is to go off and make a cup of coffee.

By contrast PEN is a straight forward program, and, as it is not trying to do everything under the sun at once, it can zap the file straight out to the printer.


I have received a request for an explanation of what the blocking/​deblocking routines in the CP/M BIOS are up to. First a few words from the BIOS manual: “All CP/M software transfers data to and from the disk in 128-byte ‘chunks’. This is due to the fact that this was the sector size on the machine that CP/M was originally written for, (and is also a widely used IBM standard). It is only now with new technology and increasing packing densities that larger sector sizes become more

Page 50 of 55