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 5VEPROMs 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