Classic Computer Magazine Archive COMPUTE II ISSUE 1 / APRIL/MAY 1980 / PAGE 56

REVIEW KIMEX-1

PROM, RAM and I/O Expansion for the KIM

Harvey B. Herman

Digital Engineering Associates $139.95
P. O. Box 207 Bethlehem, PA 18016

Those of us who have cut our computer baby teeth on the KIM have longed to have some of the capabilities of SYM (a newer, single-board computer) without, heaven forbid, having to throw out our first love. Digital Engineering Associates has come to our rescue with their product KIMEX-1. They are marketing a single-board add-on module which plugs into the KIM expansion interface and requires 6 wires to be soldered to the KIM application connector. The following features are standard:

  1. Sockets for 4K of RAM (4118) contiguous with KIM's 1K RAM.
  2. A 6522 VIA with I/O lines brought out to a
  3. Sockets for four 2716 5V EPROMs which can be selectively vectored to on power up.

The last item is really neat as this should greatly simplify operation of applications programs in EPROM by users unfamiliar with KIM.

The module appears to my eye very well designed and professionally constructed. It was trivial to connect to a basic KIM (15 minutes or less). For review purposes only, the company provided a clock program on EPROM which is described as an example in their 19-page manual. I turned on power (an extra 300 mamp from the 5V supply is necessary) and I was into the clock program and counting. Their program makes use of the 6522 VIA on board (a data sheet on the 6522 is also included with the manual). I am only just beginning to appreciate the “versatility” of the VIA chip and missed having one on the original KIM. Now's my chance.

The negative points are minor. I believe it may be more difficult and/or expensive to obtain a MOSTEK 4118 (1K × 8) than a 2114 (1K × 4), for example. Furthermore, it might have been helpful in some systems to address the 4K of RAM anywhere in memory. Other than that, I think the module is a pretty good deal for KIM owners who need its features, and I recommend it to them.

Editor's Note: If this review seems familiar to you, you may have read it in Issue 3 of COMPUTE. The blank half page in that issue was supposed to be the company's ad. Hopefully it's in this issue. We're reprinting the review as a service to you and them. My apologies to Edward H. Carlson, author of Fast Tape Read/Write Programs for your OSI (Issue 3, COMPUTE, p. 115). Here, in full, is Listing 3. Oh well… RCL


 10 ;      FAST KC TAPE READ
 20 ; 
 30 LEADER =$0F    LEADER CHARACTER, $0F
 40 SCREEN =$D100  LOCATION ON MONITOR SCREEN
 50 ACIA   =$FC00  6850 ACIA TAPE PORT
 60 START  =$00    HOLDS ADDRESS OF 1ST BYTE OF TEXT
 70 END    =$02    HOLDS ADDRESS OF LAST BYTE OF TEXT
 80 EXECUT =$04    CONTAINS ADDRESS OF PROGRAM START
 90 CURENT =$06    HOLDS ADDRESS OF CURRENT TEXT BYTE
100 CHKSUM =$08    CHECK SUM FROM TAPE STORED HERE
110 COUNT  =$09    COMPUTED CHECK SUM AND OTHER STUFF
120        *=$C700 
130        LDA #'N       READING NOISE BEFORE LEADER
140        STA SCREEN+2 
150 MAIN   LDY #0        READ LEADER, $0F 0F 0F
160        STY COUNT 
170 M1     JSR RT        READ TAPE BYTE
180        STA SCREEN 
190        CMP #LEADER   IS IT A LEADER BYTE?
200        BNE MAIN      NO, READ ANOTHER BYTE
210        INC COUNT     YES, INCREMENT
220        LDA #'L       PRINT L FOR EVERY $0F READ
230        STA SCREEN+4,Y 
240        INY 
250        LDA #3        READ 3 OF THEM?
260        CMP COUNT 
270        BNE M1        NOT YET, READ ANOTHER
280 ADDR   LDY #0        LEADER OVER. READ START,
290        STY COUNT       END, EXECUTE ADDRESSES
300        LDA #'A 
310        STA SCREEN+8 
320 A1     JSR RT 
330        STA START,Y 
340        STA SCREEN 
350        INY 
360        CPY #6 
370        BNE A1        BRANCH TO CONTINUE READING A
380        LDA START     SET INITIAL ADDRESS
390        STA CURENT+1 
400        LDA START+1 
410        STA CURENT 
420 TEXT   LDY #0 
430        STY COUNT     CLEAR FOR CALC. CHECK SUM
440        LDA #'T 
450        STA SCREEN+10 
460 RBT    JSR RT        READ A BYTE OF TEXT
470        STA (CURENT),Y 
480        STA SCREEN 
490        CLC 
500        ADC COUNT     COUNT ACCUMULATES CHECK SUM
510        STA COUNT 
520        LDA CURENT    TEST FOR END OF TEXT, LO
530        CMP END+1 
540        BNE M3        NOT EQUAL, INC AND READ BYTE
550        LDA CURENT+1  LO EQUAL, TEST HI
560        CMP END 
570        BEQ M6        BRANCH IF TEXT IS ALL READ
580 M3     INC CURENT    INCREMENT CURRENT ADDRESS
590        BNE M4 
600        INC CURENT+1 
610 M4     JMP RBT       GO READ NEXT BYTE
620 M6     JSR RT        READ CHECK SUM BYTE
630        STA CHKSUM 
640        CMP COUNT     TEST CHECK SUM
650        BEQ GO        IF OK, BRANCH AND EXECUTE
660        LDA #'E       IF NOT, PRINT ERROR MESSAGE
670        STA SCREEN+12 
680        JSR $CB4B     BELL
690        BRK 
700 GO     LDA EXECUT 
710        STA CURENT+1 
720        LDA EXECUT+1 
730        STA CURENT 
740        JSR $CB4B     BELL
750        JMP (CURENT)  EXECUTE
760 ; 
770 ;                    TAPE READ SUBROUTINE
780 RT     LDA ACIA      READ A BYTE FROM 6850
790        LSR A 
800        BCC RT 
810        LDA ACIA+1 
820        RTS