I ran this program to test the RAM in my IIc. It came up with an error in th 0A00 range. Is there any way to translate this to a chip so i can replace it? Thanks.
No self-test. I have the original ROM. I tried this because I really don't want to have to upgrade the ROM.
you need to find out which bit is bad. does the program display the expected value and actual value?
Most decent memory tests will indicate which bit is error, so that you can isolate to the chip. I have a 6502 memory test listed on my website that should do the trick, in case the one you have doesn't indicate which bit is error.
I have a 6502 memory test listed on my website that should do the trick,
The bit is 0AB8. Do I just count up 64kbit at a time or is it more involved than that?
the error prints the address, which can be mapped to the bank of ram. I don't know much about the IIc, but a quick web search indicates that the standard version might have had two banks of 64K, so you just have to figure out which bank is accessed by the address in error.
The rest of the error message prints the test number and actual and expected values. The logical bit difference between the actual and expected gives the bit in error and from that you can deduce which chip is having the problem. Note that RAM tests can also fail due to addressing and data bus issues, that have nothing to do with bad RAM chips.
Looking at the IIc reference manual, $0A is used by BASIC, so that has to be the first bank? Is the other 64k used by the virtual 80-column card? Or is it what you are saying is that both banks are addressed separately starting at $00? In that case, how do I determine which bank is being addressed?
we keep asking you for the relevant info, and you keep ignoring us. we need to know what the values following the address are. the address by itself is useless. if you don't supply those values, nobody can help you.
I'm not ignoring anyone. I wasn't directly asked to supply values to anyone, though I would gladly. All I want is to understand what I am being told and attempt to apply it to my predicament. I'm not looking for the easy answer so much as I am looking for more information. My questions seemed relevant to me, and I still want to know how to tell which bank I am reading from. If I am missing something I'm sorry. The output is 00 0AB8 00 40.
Here is a screenshot of the output of the program plus a screen glitch that I think is the result of the memory being bad.
bit 6 is stuck. replace MRD06 (location F-13)
Of the 8 bits in a byte, each chip stores one bit. So one chip in this bank is bad causing a bit to be stuck on. If MRD7 is the least significant bit, then wouldn't MRD5 be the bit that is stuck? Not saying you are wrong! Just asking if I got it right.
MSB is MRD7.