7. Applications

7.1
The primary application of the MZB-3 card is the CPU card in a large ISBUS system with up to 64K of Dynamic RAM, supporting the CPM disc operating system with several 5" or 8" floppy disc drives.

The full buffering on the address and data lines means that expansion can proceed without any need for concern for the loading effect as more and more memory or I/O cards are added.

The on-board 'boot-PROM' is specifically arranged for the requirements of a floppy disc system, and therefore should be seriously considered even if the addition of floppy discs is not envisaged in your own system at present. It is possible that a CPU card without these features would have to be discarded entirely when floppy discs are added.

Hence the main application of the MZB-3 card is as the CPM card in an existing system which will eventually support floppy discs at some future date.

7.2
If the expense of floppy discs cannot be justified at present the same techniques can be used by storing all the programs on tape. As with the floppy disc system, there is little or no ROM, and RAM 'begins from location zero. The on board 'boot PROM' in this case will be used to load the program data from tape and then will be switched out of the circuit.

7.3
The recommended type 2516 EPROM for IC11 is 2K x 8 in length, easy to program, and needs only a single 5V power supply. A simple program such as Tiny BASIC could be used as IC11 as a conventional piece of piece of firmware starting at zero, without any of the power-on-jump boot PROM features being used. In this way the expense of separate ROM card could be saved in the early stages to give a very cheap system, without compromising in any way the potential for full expansion later as funds permitted.

7.4
The same remarks as in 7.3 above apply if the chosen firmware was a machine-code monitor program.

7.5.1
Although no work has been carried out on this subject it is likely that the board could be modified to use a 2532 instead of a 2516 EPROM, for IC11.

7.5.2
If this were done it means that the board could carry up to 4K of on-board firmware, which would make it suitable for use in a very small two-card computer for dedicated control or other industrial applications. (The second board, which is not a proposed design at present, would have some RAM and some I/O - at the minimum this could be a single RAM-I/O chip e.g. type INS 8154, but possibly the Z80 PIO would be a more appealing I/O chip).

7.6
The reader will be aware of the limited expansion capabilities of some of the various cheap computers which have been designed with low cost as their primary goal. The MZB-3 card has been designed with performance as its first priority and this is why for example the edge connector is gold-plated and the board is extensively buffered.

7.7
There are two applications where cost is very important. One is in a minimum system where the user is not experienced enough to appreciate the merits of a flexible, expandable design, and he has to make his decisions on the basis of price alone. The other application is, as described in section 7.5 above, where the board is part of a small, dedicated system, probably selling in large numbers so every penny saved counts.

7.8
For these applications it is worth mentioning that several of the features of the board can be removed, to reduce the cost. No work has been done yet on the feasibility of the following suggestions but they might tie of interest if cost is an important factor:

7.9
If the power on jump and PROM disable facility is not needed and partial address decoding is permitted ICs 1, 3, 4, 5, 6, 12 are largely superfluous and with little modification can probably be removed.

7.10
If also the system is small the 4 buffer IC's 7, 8, 13, 17 can be removed and replaced by links straight to the edge connector bus.

7.11
If there is no dynamic RAM, or if data can be lost after RESET, then IC15, 16, C7 and R10 can be removed and replaced by appropriate links.

7.12
If the CPU can be run at a lower speed there is less need for an active pull up and C3, Ql, R4 and R6 can be removed and R5 end 2 connected as a passive pull up to IC9e pin 10, see diagram Page 33.

7.13
Naturally, the suggestions given for cost savings are not recommended whole-heartedly, but they are quoted to show that the MZB-3 board is as suitable for simple cost sensitive applications as it is for large (and expensive) floppy disc based computer applications.

7.14
It is not always true that 'what will do a lot will do a little' but in this case it is clear that the MZB-3 board should not automatically be dismissed as being too good for a particular application - it can be made as bad as the worst computer you know if you try hard enough!

7.15
To use the MZB-3 board as a plain CPU board without the power-on jump, fit links J2, J4, J6, J8 diagram page 35; this leaves the top four addresses unaffected, i.e. the first instruction is fetched from address '0'.

7.16
It is possible to have two pieces of firmware in a system at the same address, if one is installed as IC11 on the MZB-3 board and the other is elsewhere. At switch-on or on resetting the computer, IC11l will appear at the chosen address, but it can be switched out letting the other firmware take over (or RAM), by outputting any data to Port FF (e.g. the ZYMON 1 command 'P FF dd'). Erratic results should of course be expected if the CPU is actually executing code in IC11 when it is switched out!

7.17
If all of the firmware is to be mounted off the board, i.e. IC11 is not to be fitted then the output buffer IC17 must have pin 19 '!BUFFEN' permanently low (Drg. No. 101810 sheet 5 on page 37). '!BUFFEN' is the output pin 12 of IC3a (see Drg. No. 101810 sheet 4 on page 56). Pin 12 of IC3a will be always low if input pin 13 'SEL' is always high. If reference is now made to Drg. No. 101810 sheet 3 on page 35, it will be seen that !'SEL' is one of the outputs of IC6b, taken via one of the through links T1, T2, T3, T4. Thus, to make '!BUFFEN' low, '!SEL' must be kept high; this is fairly easy to achieve by removing IC6 altogether or the links T1,2,3,4 - '!SEL' will then be open-circuit and will float high, having the desired result, but to do the job properly '!SEL' should not be left open but should instead be connected to +5V.