Even if by pest control you mean programming robot mice, the MPF-1 should fit the bill. John Dawson reviews.
The Micro-Professor must be one of the machines offering the best value for money in single-board computers available in this country at present. For less than £90 you can acquire a Z-80-based computer with keyboard and display on one board, a powerful monitor program, space to wire additional circuits on the main card and as much expandability as you can handle.
Before I received the Micro-Professor for review I had read only one previous article in which the author moaned continually about the inappropriateness of teaching computing at machine-code level. He said that what the younger generation needed was a broad appreciation of computing based, where necessary, on the use of high-level languages and that machine code was irrelevant except to a very few systems engineers.
This black-box approach to computers and their application is adequate — so far as it goes. If the machine you use runs much faster than you need and if you have the resources to purchase all the modules that you need, and if you never need to stretch the high-level language you use, then all will be well. If, on the other hand, you want to explore, and if you want to use a computer for a new purpose, something beyond other people’s experience, then you must understand more about how the black box is constructed and how it functions. You may not use machine code in your new application, but you are more likely to be successful if you understand something of the highways and byways of microprocessors.
The construction of a program in machine code is strictly comparable to using an ordinary Microsoft Basic. Both languages have facilities for taking information into the computer, processing data using conditional jumps, calls to subroutines, comparison and mathematical operators, and displaying the results in a form that is intelligible to the user.
The Micro-Professor computer is 6.2in. wide, 8.8in. deep from front to back, and just under 0.75in. thick. A 2.25in. loudspeaker is mounted on the board with the diaphragm at the rear. There are 36 hard plastic keys on the keyboard and the keys travel about 2mm, when they are depressed. The keyboard appears to be well-made and is pleasant to use with adequate inter-key spacing.
Information is displayed on six 0.5in. seven-segment Light Emiiting Diode — LED — displays and the character set that can be achieved using seven segments is shown in figure 1. At the rear, right side of the board are two 3.5mm. jack sockets for connection to a cassette-tape recorder and a power-input socket.
A 7805 IC regulator is fitted on a heatsink and the manual says that the input voltage may be between 7 and 24V. A 230V mains power supply unit — PSU — is provided with generous leads about 6ft. long, and this provides 9V DC at about 500 mA.
The PSU was supplied with a 13A plug already connected. The PSU became cool-to-warm when the machine ran for several hours in the course of the review while the 7805 regulator heatsink became too hot to touch. The manual states that this will happen and explains that it is not a matter for concern.
In front of the power regulator is a bread-board area that may be used to hand-wire your own circuits. There is room for approximately eight 16-pin ICs or a mixture of the wider 24-pin packages with some 14- or E6-pin ICs and discrete components. 5V and ground rails are distributed throughout the breadboard area with convenient holes for a smoothing capacitor.
The Z-80 Central Processor Unit – CPU – is located at the rear left side of the Micro-Professor board and there are three 24-pin sockets for the Erasable Programmable Read Only Memory — EPROM — containing the fundamental operating program — the monitor, the RAM supplied with the machine, and one socket that may be used for either additional RAM or another EPR0M.
Like the Apple computer, a number of jumper connections are available on the board. These must be either cut, or connected to alter the configuration to suit each of the various chips that may be plugged into the spare socket.
Unlike many other cheap — and not so cheap — computers, there is no need to fiddle about trying to connect wires to odd pins of other components — the options on the Micro-Professor board have been well thought out.
An 8255 Programmable Peripheral Interface — PPI — chip is used to drive the LED display and the keyboard. Two sockets are provided for a Parallel Input/Output — PI/O — chip and a Counter Timer Circuit — CTC — IC.
Finally, and very important they are too, there are two standard, properly-designed, sockets on the extreme left-of the board that carry all the connections to the Z-80 CPU and the signal lines from the PI/O and CTC chips.
The connections to the Z-80 form a bus that will, in theory, allow you to expand the Micro-Professor computer to a full 64K, twin floppy-disc, business-orientated system.
If you want to expand the computers however, you will have to increase the drive capacity of the Z-80 bus. The data and address lines are not buffered on the main board. System buffering is carried out on the EPROM programmer board.
The printed-circuit board is well made with gold-plated connections, a green solder-resist on both sides and the component locations, and values silk-screened on to the top surface.
Two versions of the Micro-Professor computer have been marketed in this country. The original computer — MPF-1 — had a 2K monitor only and this was extended in the MPF-1B to include a 2K Tiny Basic. The MPF-1B is now the only version that is available and this costs £75 plus VAT. The 20 monitor commands represent a reasonably comprehensive set of facilities for entering, examining, running and correcting machine-code programs. In addition to the ability to enter data into a particular memory address you may load the Z-80 registers, and the alternative register set, with data before starting to run a program.
The SBR and CBR commands SET and CLEAR a single break-point to allow you to stop a program at a specified address to examine the status of the Z-80 CPU. The MOVE command is intelligent in the sense that the monitor calculates for itself in which direction data should be moved to avoid corrupting the memory. Other monitors of my acquaintance are not so smart.
The DELETE and INSERT commands will move the data in the memory down or up one byte. The DELETE command removes the data at the address for which the command was entered and the INSERT command enters a no-operation instruction — 00 Hex — at the address from which the instruction was entered.
Relative jumps can be calculated using the RELA command. The monitor assumes that the current address is the start of the jump, unless you enter a different number, and then asks for the jump destination. The relative offset is calculated and inserted into the location following the jump instruction. If the jump is outside the range that the Z-80 can handle an error message is displayed. There is no consistent wav of recovering from errors except to reset the computer; this is acceptable in the Micro-Professor as the Reset key does not destroy existing programs or data.
The tape READ and WRITE commands are easy to use and the method of setting the start and end addresses for the block you wish to save is consistent with other block commands in the monitor.
The level control for the tape recorder is excellent; there is either sufficient signal from the tape recorder or not enough. When the output level from the tape recorder is high enough, a Schmitt trigger in the computer operates and the input signal can be heard on the loudspeaker. When the volume is low, the trigger does not operate and there is no sound and no input to the computer memory.
Programs that you save on tape may have file names consisting of a number between 0 and 255, and the monitor will search through a tape until it finds the correct program. When you have loaded a tape file you simply press GO and the computer executes the program.
The monitor is easy to use and allows good access to the Z-80 flags and registers. For example, most of the other computers I have used print the CPU flag register as a hexadecimal value — E5 would be typical.
The Micro-Professor presents information about the flags in exactly the form you want it — in binary — 01100010 – so that you can tell whether a flag is SET or RESET.
The Basic is pretty basic. I understand that it was added to the monitor EPROM in order to counter criticism about the machine-code programming for young people. Well, it does that and it has two instructions that make it very useful for controlling the PIO and CTC chips.
Two variables are reserved to access the Z-80 ports and RAM locations:
LET M 3477=750
stores the value 750 at the decimal address 3477. The instruction works the other way in this form:
LET A3=M 3991
which will get the value stored at RAM location 3991 decimal and store it in variable A3.
There are similar instructions for the P variable which relate to the Z-80 port addresses. The Micro-Professor instruction is only a convenient DEEK and DOKE alternative but the P instruction is an original and useful idea.
When you are programming in Basic the machine takes a single keystroke as the input tor a whole instruction. The keywords are printed on to a template which slips over the original keyboard.
There are three manuals for the Micro-Professor computer and a fourth which describes the Tiny Basic. The Micro-Professor manuals total 300 pages of information about the hardware, the software, and a series of experiments and other programs. What is there left to say about Oriental English?
The Micro-Professor manuals are no worse than many others and it is usually possible to figure out what the author intended to say. They are unsuitable for a first-time user who needs the constant reassurance of accurate documentation if she or he is to cope with unfamiliar and complex concepts.
The monitor listing is a fully-commented source listing and it would be very easy to modify the monitor by changing bytes here and there before “blowing” it into another EPROM.
The listing takes 51 pages for 2K and most of ihe useful subroutines start with a description of the function of the routine, a note of the input that is required, the output in various conditions, which of the Z-80 registers are corrupted and which other subroutines are called. The monitor and its documentation is up to the standard of one of the original Intel evaluation kits — very good.
The Experiment Manual covers the software and hardware and includes a full description of the CTC chip and its use. The Japanese English is much less severe in this book and I think that large sections have been written for native English speakers. The Users’ Manual includes a full set of circuit diagrams for the computer and an adequate and reasonably well set-out explanation for each of the monitor commands.
One of the options for the Micro-Professor computer is an EPROM programmer board. The board is constructed to the same high standards as the main computer. A 40-way flat cable connects the EPROM board to the Micro-Professor and there is an extension socket on the second board to allow the Z-80 bus, now fully buffered, to be connected to additional equipment. The EPROM programmer will handle six types of EPROM and changes to the pin functions are made by the software — there are no “customising” plugs to lose. Clearly, once you have written and debugged your program, you can fix it in an EPROM and plug that into the spare socket on the main board. The programmer has a separate PSU for both the ordinary 5V supply and the 25V used for programming the EPROM chip.
- The Micro-Professor hardware is excellent, provided you can manage with the single-location, six-character display.
- The Z-80 CPU is a good microprocessor to program in machine code as the high-level instructions for Block Move and Compare operations, and the 16-bit register operations, allow more productive programming than the 6502.
- The plug connecting the 5V supply to the board became intermittent a couple of times and I would want to replace that with something more solid. With that exception I have nothing but praise for the hardware.
- Someone must be writing a Tiny Forth for the Micro-Professor. Rather than attempt to fit a limited and elementary Basic into the remaining space in the monitor I would like a series of useful subroutines — delays, PI/O control, printer interface, interrupt-driven timers working in the CTC, simple maths operators using RPN, and so on — which could be linked to form more complex modules within a user’s programs.
- The Micro-Professor is both a serious tool and a lot of fun for anyone with an interest in low-level, real computing. I hope to buy a Micro-Professor and use it, battery-operated, on my commuter train.