• Please review our updated Terms and Rules here

Looking for someone w/ a KIM-1 to try something, testing the 6530 RRIOT

gcoville

Member
Joined
Oct 28, 2008
Messages
43
Location
Davis, CA, US
Background:

I have a KIM-1 that does not have either of the MOS 6530 RRIOTs. I have been able to get the board working by constructing an external circuit with a 6532 RIOT, an EPROM, glue logic, etc. I even have it running the exact KIM-1 ROM binaries encoded into my EPROM.

I'm now ready to move to the next step to create two daughter cards. Each one will go into a 40-pin socket where its corresponding RRIOT would be. It's pretty straight-forward. I can do it with the 6532 RIOTs, or even with a different 6530 that I've picked up on ebay.

Most everyone knows that 6530s have 1K mask ROM built into them, thus a 6530 for one application is not going to work as a drop-in replacement somewhere else. However, what many (but not all) people don't realize is that the 6530 also has some other configuration that is mask programmed. This information determines whether 2 pins are chip selects or I/O, whether there's a pull-up on one of the I/O pins, and also some of the address decoding for internal functions. This is quite obvious once you look at a KIM-1 schematic and see that the K5 decoding signal feeds the CS1 of both the 6530-002 and 6530-003 parts, yet different functions within those parts are enabled depending on lower-order address lines. There is an order form at the end of the 6530 datasheets that lists all the variables.

I'm now trying to determine exactly what the configuration is inside the KIM-1's 6530-002 and a 6530-003. Using published information about where the RAM and I/O show up and where they don't show up (ie. occupied by the other 6530), I've been able to narrow down the information to just a few unknowns. However, I need someone to try a test on an actual KIM-1 to determine the last few bits.

The official address of 6530-002 RAM is 17C0-17FF. (03C0-03CF from the viewpoint of the chip itself. K5 selects 1400-17ff). The unknowns are whether A9 and A8 are required to be "1", or if they're don't-cares. If they're don't-cares, then the RAM will also appear at 14c0, 15c0, and 16c0. My information gap is the same for A8 and A9 status for the 6530-002 IO, 6530-003 RAM, and 6530-003 IO. I'm going to assume that the designers specified A8 and A9 behavior uniformly throughout, so I only need to test 6530-002 RAM.

The task:

I would like someone to power up their KIM-1, enter some values into 6530-002 RAM, and then see if this is viewable at three other locations. This needs to occur on a real KIM-1 with a real 6530-002, ie. not on a Micro-KIM.

Code:
[RS]                    ; reset board
[AD] [1] [7] [C] [0]    ; select 6530-002's first ram location at 17C0h
[DA] [2] [2]            ; change 17C0h to 22h
[+] [5] [5]             ; change 17C1h to 55h
[AD]                    ; change back to address-entry mode 
 
[1] [4] [C] [0]         ; select first possible alternate address 14C0h
Please note the data value at 14C0.
[+]
Please note the data value at 14C1.

[1] [5] [C] [0]         ; select second possible alternate address 15C0h
Please note the data value at 15C0.
[+]
Please note the data value at 15C1.

[1] [6] [C] [0]         ; select third possible alternate address 16C0h
Please note the data value at 16C0.
[+]
Please note the data value at 16C1.

I expect one of two possible outcomes:
1) 14C0&14C1, 15C0&15C1, and 16C0&16C1 have the values 22 and 55 in them, in which case A8 & A9 are don't-cares.
2) these addresses don't have anything decoded to them, and probably return values of 14h, 15h, 16h, in which case A8 and A9 must be "1" in the 6530-002 to engage the RAM.

If there is some other result, I'll have to devise a new experiment or figure out a way to get some hands-on time with a real KIM-1.

Thanks in advance for your help,
Gilbert
 
Last edited:
Hi

Just tested... believe not too late :)

14C0 14
14C1 14
15C0 15
15C1 15
16C0 16
16C1 16

Hope that helps

Thank you
 
That helps tremendously. Thank you! I am now able to fill in the last pieces of this puzzle.

Back in the day, a designer ordering a custom 6530 would have to specify certain parameters in addition to the ROM contents. During my KIM-1 restoration effort, I found a datasheet for the Synertek version of the part. The datasheet has quite a bit of information describing how to provide the ROM contents. There is also a form for "Additional Pattern Information" (tables to describe the desired chip-select and addressing information). They look like this:

Chip Select Code
(Check one square in each block)

CS1
PB6
CS2
PB5
Pull-up on PB7
YES
NO
ROM/RAM/I-O SELECTS (Specify H or L or N (don't care) in each box.)

RSCS1CS2A9A8A7A6
ROM SelectNNNN
RAM Select
I/O Select

As best as I can determine, the designers of the KIM-1 filled out the tables for the RRIOTs like so:

6530-002:
CS1X
PB6
CS2
PB5X
Pull-up on PB7
YES
NOX
RSCS1CS2A9A8A7A6
ROM SelectLHNNNNN
RAM SelectHLNHHHH
I/O SelectHLNHHLH

6530-003:
CS1X
PB6
CS2
PB5X
Pull-up on PB7
YES
NOX
RSCS1CS2A9A8A7A6
ROM SelectLHNNNNN
RAM SelectHLNHHHL
I/O SelectHLNHHLL

In a KIM-1, K5 is asserted low by addresses 1400-17FF. It is connected to the CS1 lines of both the 6530-002 and 6530-003. A9 and A8 need to be 1 for all I/O and RAM, and A6 and A7 determine which chip and I/O or RAM you get:

0001 0111 00XX XXXX = 1700 - 173F = 6530-003 I/O
0001 0111 01XX XXXX = 1740 - 177F = 6530-002 I/O
0001 0111 10XX XXXX = 1780 - 17BF = 6530-003 RAM
0001 0111 11XX XXXX = 17C0 - 17FF = 6530-002 RAM

The RS lines are connected to different select lines, K6 for 6530-003 and K7 for 6530-002, this gives:
0001 10XX XXXX XXXX = 1800 - 1BFF = 6530-003 ROM (1k)
0001 11XX XXXX XXXX = 1C00 - 1FFF = 6530-002 ROM (1k)

All these values agree with the KIM-1 memory map documentation. Yay!
 
Back
Top