INMC 80 News


October–December 1981, Issue 5

Page 53 of 71



by R. Beal

Old-time INMC readers may remember some articles which I wrote about the PIO and the “Nascom One-Two”, which were a result of trying to interface a Nascom 1 to my Nascom 2 to act as a “Giant Intelligent Print Buffer”. I am pleased to report that my trusty Nascom 1 (one of the first) sits under my printer waiting for interrupts, and always faithfully responds.

My system seemed complete – until the age of the floppy disk. Unable to resist the compulsion, I soon had a disk system. I never imagined how much I would learn about microcomputing by that move. My first impression of CP/M was that it was crude and unfriendly, but now I have known it for some time I can forgive its faults and enjoy the benefits of the superb software which is available to run under it, such as the Microsoft languages (Basic, Fortran, Cobol) and most importantly the Z80 assembler/​linker, Macro 80. My Nascom now provides quite a powerful software development system, even though I use its abilities only to develop it further.

When I first ran CP/M, an immediate problem arose – I had lost my printer interface software, and there was no obvious way to get it back! The official method is to patch the CP/M image generated by MOVCPM. To be fair, that is quite possible, with patience, but is a poor solution. Also, each different size system would have to be patched separately. The even more official solution, which is restricted to CP/M distributors, is to patch the BIOS module which is part of MOVCPM. I have since learned how to perform this procedure, and it is quite horrible. Even if I had had the official CP/M redistribution disk I wouldn’t have wanted to use that method.

It was then that after much thought SYS was invented. SYS is a special CP/M program which consists of a new BIOS, together with a program which relocates this BIOS automatically for any size CP/M system, and slots it into place where the original BIOS used to be. The BIOS is the part of CP/M which contains all the input and output routines. All that remained was to get SYS to run automatically when CP/M was started up. Originally I solved that problem by using a special boot ROM which pretended to be a keyboard with a person sitting at it typing in “SYS”. In more recent versions of SYS a better method has been used, which requires only a tiny patch to MOVCPM. This runs SYS on a cold boot, but not on a warm boot, which would be pointless. SYS can now be configured in many ways. For example there are four configurations for the Gemini/​Henelec single density disk card. These are for CP/M 1.4 and CP/M 2.2 with or without the Gemini video card.

SYS has developed quite a few features over the generations. Firstly it meets the original intention of supplying good printer support by handling serial printers with optional handshaking and optional automatic page throw, and also Centronics compatible parallel interfaces. My personal version supports an interrupt driven interface to my Nascom 1. Secondly it provides a most unusual feature for CP/M systems – screen editing. Once one is used to screen editing, for example with NAS-SYS, it is very hard to return to the old days. The screen editing works in a similar way to NAS-SYS, except that a key must be pressed once at the start of each line to enter screen edit mode. This also works with the Gemini video card, and it is nice to be able to hop back up the screen and reenter incorrect CP/M commands, or even 80 character long lines of a Basic program. Another feature is screen dump, which means that when you press a certain key, the contents of the screen is printed out.

Page 53 of 71