gcoville
Member
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.
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
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: