MAI JOLT MICROCOMPUTER SYSTEM
I am interested in acquiring and preserving these early microprocessor and microcomputer systems, including hardware, associated peripherals, manuals and other documentation.
If you have any of this equipment or know where to find it, please send me an e-mail.

You can read more about Computer Rescue attempts here.

The JOLT microcomputer was introduced in 1975 and used a MOS Technology 6502 CPU. It could be ordered from Microcomputer Associates Inc. (MAI) in either kit or assembled form, with several memory and I/O options.

ADVERTISEMENTS
The following advertisement appeared in the October 1975 issue of IEEE Spectrum magazine.


[Medium]   [Large]
 
[Medium]   [Large]

REVIEW
[ From the June 1976 issue of Radio-Electronics magazine. ]

Jolt Microcomputer

Microcomputer Associates JOLT Microcomputer

JOLT is an impressive microcomputer designed for the serious application engineer and yet is a viable learning tool for the beginner. A fully equipped JOLT system can have as much as 32K of RAM and 128 bidirectional input/output lines. JOLT is a modular series of 4.25 X 7 inch (108 X 178 mm) PC boards that can be vertically stacked.

The minimum system configuration consists of a single $159 CPU board. Microcomputer Associates has taken the MOS Technology NMOS MCS6502 μP and surrounded it with a powerful complement of 12 other IC's. The JOLT CPU comes equipped with an R-C timing network that runs the on-the-chip clock oscillator at 750 kHz. A crystal can be mounted on the board for applications that call for that kind of accuracy.

Power up the CPU with a 5-volt supply and hook it to a video or printing terminal, and you have a highly usable system. It is one of the most sensible approaches I have seen so far.

How can a single small uncrowded board do such a superb job? By a rational balance between hardware and firmware. The JOLT CPU takes advantage of the family of 6500 devices. The MCS6530 Interface /Memory chip contains many of the vital system components. Some of its input/output pins are dedicated to the terminal, high-speed tape reader and other system functions, but there are still ten left over for user control. The mask programmed DEMON monitor is located in 1024 words of memory on this same chip. DEMON is allocated the top 1K of the first 32K of memory from 7000 to 73FF. It decodes the serial input from the terminal and controls the entire system operation with a minimum of added switches... no control panel is needed.

Sixty-four words of RAM used as interrupt vector locations are also on the 6530 chip. A programmed timer is the last major element which DEMON uses to time the terminal input pulses so it can automatically operate over a range of data transmission rates.

Then there is the PIA Peripheral Interface IC that adds 16 more input/output lines for a grand total of 26. Any of these can be configured as either inputs or outputs under the guidance of the programmer.

Four NMOS memory chips on the CPU board add 512 words of RAM which is on the whole available for user programs. A small part of this memory is used by DEMON. User RAM is assigned to the first 512 bytes of memory space from 0000 to 01FF. The rest of the IC's are terminal interfacing components and address decoding gates.

This effective hardware-firmware combination is supported by an apparent basic philosophy: Don't make a keyboard-display a standard CPU feature. Most serious users and even the beginner, once beyond the early phases of experimentation, will he using a data terminal. The terminal user is not saddled with the unnecessary expense of an unused feature. All bases will be covered since a keyboard-display hoard is under development for those who want to start out without a terminal.

The terminal interface has been designed to work with virtually any data terminal. Standard 20-mA teletype loops are handled by using an additional -10-volt supply. TTL terminals such as TV typewriters run with the single 5-volt supply. The third option, the one I used, is the EIA interface that requires two additional supplies - +12 and -1O volts. These supplies are low current and in some cases can be tapped off the terminal itself. The only other real requirement is a SPST RESET switch. An additional NMI (Non-Maskable Interrupt) switch and debouncing circuit is a helpful add-on.

I encountered one minor problem when connecting the JOLT to my fairly sophisticated TI ASR733 terminal. I hooked everything up according to directions but the printer would not receive anything. Frankly, I suspected the microcomputer since it was the item I was least familiar with at that point. As it turned out I was missing an interconnect wire! My terminal has a data-carrier detector lead that an external modem uses to disable the printer. When a modem is not used, this pin must be tied to the DSR (Data Set Ready) lead on the JOLT board. As soon as I made this connection, it took right off and worked perfectly.

NAME-CHECK program

Table 1 is an actual printout from my terminal. I had previously written a simple demonstration program called NAME-CHECK. Seven versions later it was finally debugged and running. About 120 words of memory are used for program and variable storage to perform an elementary task, but one that uses some interesting programming techniques. A program loop reads sequential addresses in memory for printout of text messages. Tape, of course, is a tremendous convenience during the program development stage since it eases the job of reentering the program after power interruption or memory wipeout due to faulty program execution. My terminal has a dual tape transport built-in. I was not using an audio cassette option.

I turned on the power, pressed the RESET button and hit the carriage return key producing the first line of printout prefixed by the asterisk. DEMON measures the terminal transmission speed of the carriage return, sets some constants in memory, and echoes and transmits characters at the same rate. It adapts to speeds from 10 to 30 characters per second.

The first four-digit number is the program counter 7052 which is the next address following a BRK (break) instruction. In this case, the printout is caused by a BRK instruction in the monitor ROM at location 7051. The next number is the status condition that shows the settings of the various μP flags such as the carry and interrupt flags. Next are the accumulator, the x and y index registers and the stack pointer. The stack pointer always starts at the top of page zero at FF and decreases as the stack is filled.

The machine then printed out a period that is DEMON's prompting character telling me it is waiting for a command. The command list includes M for list memory, R for list registers, G for go, WH for write hexadecimal, WB for write binary, H for high speed reader, LH for load hexadecimal and a colon ( : ) for alter.

Ready to load my program, I typed LH after which the microcomputer issued a line feed and carriage return. I then started the cassette tape and fed in the next portion of the printout starting with NAME-CHECK7 and ending with the terminator - ;00. The first two-digit number, 18, indicates there are going to be 1816 or 2416 sequential memory entries in that block. The following 0100 is the starting address where the first entry will be made. Excluding the last four characters, the rest of the line are the instructions and data in hexadecimal. The last four characters are the check-sum the computer uses for error checking. Disagreement between the computer's running count during data input and the check-sum at the end of the block causes a ? to be printed pointing out an error.

To make the program self-starting, I have included the starting address of my program on the tape. DEMON stores the program starting address in locations 00F6 and 00F7, hence the 0200E6000100F9. Using the previous format it says enter 00 at 00F6 followed by 0l at 00F7 which is the starting address 0100 in reverse order. Now all I do is type the G command for go and the program prints out PLEASE ENTER YOUR NAME HERE and waits. Anything I type from that point on until the carriage return will be stored in memory within the space limitation I have left. So after I type JACK SPRAT, the program returns with its THANK YOU statement. A simple example that tells that things are really working. On the bottom of Table 1 is the memory printout using the M command to list the program in a more readable format. The first section of the program actually ends with the 01 at location 013E and the final "70" is just what happened to be in that memory word at system powerup. Likewise, the second block is terminated with the OD at location 0069 (the second 2-digit column in the 0068 row). Here the OD and OA in locations 006B and 006C are the results of a previous programming try. Inciden- tally, OD is the hexadecimal notation for a carriage return and that particular pro- gram element causes the carriage return just before the THANK YOU statement.

If the system does not have a cassette tape, the program is entered from the keyboard in an almost identical format to the memory printout. The only difference is that the alter command (:) replaces the M and you do the typing instead of the terminal.

The subroutines in the monitor PROM such as the character write and read, WRT and RDT routines are available to the programmer. For example, the write sub- routine begins at address 72C6. The symbol to be printed is stored in the accumulator by a load accumulator instruction and then a JSR WRT (20 C6 72) prints the character. You can see this sequence in my program at locations 0056, 0057, and 0058 in the listing.

Inserting breakpoints using the break (00) instruction is a powerful debugging method. The break causes interruption of the program at that point followed by a register printout as shown in the first line of Table 1. Memory locations can then be examined with the M command. NAME-CHECK7 has a break instruction at location 013B (the fourth column in line 0138). The break is used to stop the pro- gram but the register printout is the same as if debugging were in progress. It is this instruction that causes the register dump at the end of the program execution starting with the asterisk and the program counter contents 013C.

As with other microcomputer kits, the assembly was straightforward and is mainly mounting IC sockets and bypass capacitors. Molex pins are used for economy. Good soldering technique is required and an experienced kit builder with a small clean iron should have no problems. A beginner should proceed a little cautiously and might seek the help of someone skilled in soldering. After assembly, use a magnifying glass to check for solder bridges, cold solder joints, and shorts between adjacent Molex pins.

One of the real nice things about the JOLT kit is that you are not left in the dark. Plenty of documentation is included in the package. The answer to your particular problem is probably somewhere in the supplied literature. The two-volume MOS Technology manual is a $10 option but one that I heartily recommend. It is a masterpiece. Standard documentation includes a JOLT CPU Assembly Manual, a JOLT CPU Hardware Manual, and a JOLT schematic diagram. JOLT Application Note no. 1 shows how to connect a terminal to the CPU and Application Note no. 2 provides tips on initial powerup and expansion of the system. The DEMON software manual is complete and includes a program listing with programmer's comments.

Interface boards, a power supply, and 4K RAM memories are already available. A single-pass resident assembler was recently announced. Under development are a keyboard/display board with an audio cassette interface and a TV interface board. Boards and complete systems can be purchased as kits or factory assembled.

Write for a JOLT brochure to Phaeco Corporation, JOLT Sales Agents, Microcomputer Associates, Inc.. 1ll Main Street. Los Altos, CA 94022.

JOLT 4K RAM MODULE
[ From the November 1976 issue of Radio-Electronics magazine. ]

Jolt 4K card

I was introduced to the exciting realm of microcomputers and machine language programming through the JOLT CPU hoard, and I continue to have great respect for the system. For some time, I have been eager to expand the system's memory and get on to bigger and better things. And that is what the 4K RAM hoard is all about - a nice large chunk of additional programming space.

Packaged onto the 4.25 x 7-inch JOLT hoard are a total of 36 integrated circuits, of which 32 are the memory devices. The only other components are 18 bypass-capacitors and three jumper wires. Each memory IC is organized as 256 4-bit words. Multiplying 256 by the 32 IC's gives 8192 4-bit words. Converting to the 8-bit word length of the 6502 μP, the number of words is halved to 4096, or 4K for short.

There are 8 input-address leads to each memory IC to address the 28 (256) words, and 4 output lines. The eight least-significant address lines (AO-A8) originating from the CPU card, feed the eight memory-address terminals of all the memory IC's in parallel. CPU address lines A8 through A11 are the inputs for a 74154 4-line to 16-line decoder. Each output from this IC connects to the enable pins on a pair of memory IC's. The four input/output data leads on one of the pair connects to the RAM hoard data lines DO through D3, and the other circuit to D4 through D7.

This leaves the upper four address lines A12 through A15. In the JOLT scheme of things, one-half the total memory space has been reserved for user RAM and the other half for inputs, outputs and other peripheral functions such as the interval timer on the MOS Technology 6530 IC. The A14 input is permanently wired to the chip-enable pins of all the 32 memory circuits, which blocks off two 16K blocks from 400016 to 7FFF16 and C00016 to FFFF16.

Address lines A12, A13, and A15 or their complements are connected to assign the 4K hoard to a segment of the remaining 32K memory space. Two gates of a 7400 quad 2-input NAND gate are wired as a three-input gate that connects to the two enable pins of the 4-to-16 line decoder. As an example, when A12, A13 and A15 are all complemented, and since A14 is permanently complemented, the most significant hex address digit of 0 would enable the decoder and the memory will respond to addressing from 0000 to 0FFF.

The basic CPU hoard comes with 512 words of RAM assigned to 0000 to 01FF. If the 4K hoard is assigned 0000 to 0FFF, the first 512 words would overlap the CPU memory space and the memory on the CPU hoard would have to he removed. Microcomputer Associates recommends that additional memory space he filled starting at 1000. That makes good sense and that is precisely where I wired it by inserting A15 and A13, while using the noninverted A12 lead. Two CMOS circuits (a 4050 non-inverting hex-buffer and a 4049 inverting hex-buffer) buffer these high-order address lines as well as A8 through A11.

Don't get worried by all this: the documentation is excellent and there is a simple chart telling where to connect the three jumpers for all possible memory space allocations.

Also interconnecting the CPU and RAM hoards are the eight D0 through D7 data leads and the RW (read-write) and WRITE signals. The data lines are bi-directional for both reading and writing data. RW is wired to the 32 output-disable pins in parallel. When the signal is at a logical 1 - a read condition - the data lines become high-impedance inputs. The R/W memory IC pins connect to the CPU WRITE lead: when it is low the memory is in its write state. Only the pair of memory IC's selected to write at any time will present a low drive impedance to the data lines.

Construction of this board calls for the same care as all computer hoards. The right tools are a must and should include a first-class soldering iron and a magnifying glass. The 4K memory board can he stacked with the CPU, PIA, power supply, and future options using connectors for the address, data, and control lines, or with simple wire loops.

Typical current drain is 1-amp from a single 5-volt power supply. And typical hoards do exist since our sample took just about 1 amp. The maximum current drain is 1.9 amps. You must evaluate your power-supply situation and may have to beef up its capacity. The standard JOLT supply will support a CPU, 4K RAM, and an I/O card.

Just what does 4K of memory do for you? A mathematical operating system easily fits. I have just finished writing a floating point package that uses a little more than 1K of memory.

The JOLT 4K RAM card sells for $199 in kit form and $249 assembled. It is available from Microcomputer Associates, 2589 Scott Boulevard, Santa Clara, CA 95050. Also available are cards for the Intel 8080A and the Motorola 6800. The Signetics 2650 system is on the drawing hoard.


Comments to Webmaster

Click here for the Computer Rescue page.
Click here for the Home page.
Click here for the Wanted page.

Updated May 22, 2020