EPA MICRO 68
[Radio-Electronics, June 1976.]

Micro-68 Electronic Product Associates' answer to microcomputer fever is a self-contained system complete with power supply and a wood and smoked plastic 9 × 12 × 2 inch (229 × 305 × 51 mm) case. Plug it in and you're read to start programming.

The Micro 68 is built around the Motorola M6800 microprocessor. It has a six-digit seven-segment display and a 16-key hexadecimal-input keyboard. The display is seven-segment, not a true hexadeciaml format, so B and D are indicated by lower case representations using the seven segments. The decimal point is lit when "b" is displayed to help distinguish it from a "6".

The system is controlled by the John-Bug PROM monitor, one of the most sophisticated of the keyboard-display kind. In its basic form, the kit is intended as a learning tool or prototyping system for engineers, scientists, and laymen.

The monitor system is contained on four 1K bit PROMs for a total of 4K bits or 512 8-bit words of firmware. The lettered keys on the input keyboard double as control keys for the system. Keys A through F have been assigned the functions AUTO, BACK, CHANGE, DO, EXAMINE, and FORWARD.

To get started, press the one remaining button, the RESET button, and the display lights up with EPA uP... very cute. Pressing EXAMINE lights up dashes in the four leftmost places. Punching in an address puts the address in the first four digits and the two remaining digits, which are slightly separated from the rest, light up with the contents of that memory location in hexadecimal. The FORWARD key increments the address one location each time the button is depressed. BACK is an unusual feature not found in most similar systems. It decrements the address and displays memory contents. It is particularly convenient to have the address displayed simultaneously so you don't have to wrorry about losing your place or getting confused when sequential memory locations are loaded with the same instruction or data.

To load a program or alter something at a particular address, first get to that address using the E, F, and B keys and then press CHANGE. The rightmost display digits are extinguished and become loaded with the new data that is keyed in. Another unusual feature is the A key that automatically enters the data, increments the address and awaits the next entry. By using the AUTO function, you can quickly enter a program by continuously keying in the instructions in hexadecimal without the nuisance of hitting any additional keys. If you hit a wrong key or make a mistake, you can immediately correst it by pressing RESET and using the other functions to backtrack, or you can continue on and go back later. It is probably wise to examine the program when you are finished entering it and make the corrections then.

  0000 DE LDX THREE
  0001 45
  0002 4F CLRA
ZRONBR 0003 A7 STAA NBR,x
  0004 48
  0005 09 DEX
  0006 26 BNE ZRONBR
  0007 FB
NXTCNT 0008 BD JSR CLRDSPY
  0009 F1
  000A BA
  000B DE LDX ONE
  000C 4D
LDTWO 000D A6 LDAA, NBR,x
  000E 48
  000F 44 LSRA
  0010 44 LSRA
  0011 44 LSRA
  0012 44 LSRA
  0013 DF STX STORE
  0014 47
  0015 BD JSR LDDSPY
  0016 F1
  0017 A5
  0018 DE LDX STORE
  0019 47
  001A A6 LDAA NBR,x
  001B 48
  001C 84 ANDA 0F
  001D 0F
  001E BD JSR LDDSPY
  001F F1
  0020 A5
  0021 DE LDX STORE
  0022 47
  0023 08 INX
  0024 9C CPX FOUR
  0025 4F
  0026 26 BNE LDTWO
  0027 E5
  0028 CE LDX 15
  0029 00
  002A 15
LOOP 002B DF STX STORE
  002C 47
  002D BD JSR DSPLY
  002E F1
  002F C7
  0030 DE LDX STORE
  0031 47
  0032 09 DEX
  0033 26 BNE LOOP
  0034 F6
  0035 0C CLC
  0036 DE LDX THREE
  0037 45
ADD 0038 A6 LDAA NBR,x
  0039 48
  003A A9 ADCA INCR,x
  003B 4B
  003C 19 DAA
  003D A7 STAA NBR,x
  003E 48
  003F 09 DEX
  0040 26 BNE ADD
  0041 F6
  0042 7E JMP NXTCNT
  0043 00
  0044 08
THREE 0045 00
  0046 03
STORE 0047 00
  0048 00
NBR+1 0049 00
  004A 00
  004B 00
INCR+1 004C 00
ONE 004D 00
  004E 01
FOUR 004F 00
  0050 04

When the program is entered and ready to go, press D and "do" lights up in the rightmost two digits. Entering the starting address starts the program as soon as the last key is released.

One more feature is the shared function of the "8" key. Next to it is printed RTI (Return To Interrupt). It is very useful for debugging programs by inserting SWI - software interrupt instruction - in your program. Each time the program encounters the instruction, the system is interrupted. The monitor dumps the MPU registers into assigned memory locations that can then be examined as well as any other memory locations. Depressing the RTI key will resume the program from where it left off or from a new condition set up by the programmer. If there is a loop in the program, it ispossible to circle the loop each time the button is pressed and recheck the system status each time around.

As with most ROM or PROM monitor systems, the subroutines in the monitor can be used by the programmer. This is particularly helpful in using the display. The Micro 68 display is multiplexed (the segment lines to the six digits are all in parallel.) The software and the monitor program is used to scan the display. One assigned memory location is used as a digit mask. Setting one of the bits to a logic 1 enables a corresponding display digit. Another memory slot is loaded with the character pattern to be displayed.

I have some suggestions for the programmer, particularly the beginner, when approaching this system. Make a numerically increasing listing of all the M6800 instructions so you can quickly analyze a program and then using the monitor, display its own contents in locations F000 through FFFF. EPA does not include a monitor listing and it will be useful to get an insight into programming techniques and to really understand what is happening when you use the subroutines in the monitor PROM.

Two Motorola/AMI 6820 Peripheral Interface Adapters are wired into the Micro 68 and are sued to scan the keyboard and operate the display. The keyboard input port is wired in parallel to 16 connector pins and are also hooked to pull-up resistors. I haven't tried it, but these can probably be used as external device control outputs or inputs by the user.

If you get serious about this microcomputer, take a good look at my COUNT SIX program listing in Table 1.

The program starts with zeros displayed in all six display digits and then increments the count in steps of 1. The count is stored in the three memory locations starting at 0049, 004A, and 004B. The first eight instructions in the program are a loop that is traversed three times to load these three memory locations with their initial zero values. The bulk of the remaining instructions read these numbers out on the display. The three words consist of two digits each.

The display is set up to being scanning from the left by the CLRDSPY subroutine. The next loop is used three times, once for each 2-digit word. Each time around the loop displays two digits. First the left four bits of the memory words are shifted right and entered into the digit-display memory words by the LDDSPY routine. Then the same number word is recalled and the right four-bits are stored in the next memory word.

Once this procedure is complete, the actual display takes place in the next loop. The initial setting of the x register to 15 in the program determines the number of times around the loop and the rate of the display count. DSPLY does the actual scan of the six digits and includes a loop of its own, so there is a multiplication effect in the time it takes to finish this part of the program.

Finally the last part of the program increments the number by one. It is a multi-word addition that adds the 00 00 01 increment in locations 4C, 4D, and 4E.

I'm sure there are some tricks that can be pulled to shorten this program somewhat, but the display system demands some intricate programming.

As you can see, quite a few steps are taken to perform this simple exercise so the standard memory of 128 words does not go very far. Additional memory will probably be an early consideration.

The Micro 68 documentation includes the Motorola M6800 Systems Reference and Data Sheets Manual and the Micro 68 User's Manual. Edge connectors are provided for memory expansion up to 64K words.

This system is not available as a kit.

The price of the fully assembled system is $430. A maximum of 768 words of RAM can be contained on the main circuit board and goes for $5.50 per 128 words. When you are ready for a data terminal, the Motorola MIK-BUG TTY monitor can be purchased for $28.50. You will also need the $40 TTY/RS-232C adapter in that case. An optional 8K static memory board sells for $270.

Descriptive literature is available from Electronic Product Associates, Inc., 1157 Vega Street, San Diego, CA 92110.


[Computer World, September 5, 1977.]

Electronic Product Associates, Inc. (EPA) is offering its Micro-68 computer in kit form at $385 complete with power supply and cabinet.

The kit includes a 6800 microprocessor, 16-key hexadecimal keyboard and six-digit display.

Memory can be expanded from the 128 words of random-access memory included to 768 words.

The MON-1 keyboard operating system is supplied in programmable read-only memory form.

EPA is at 1157 Vega St., San Diego, Calif. 92110.


Comments to Webmaster

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

Last updated August 11, 2012