• Please review our updated Terms and Rules here

RTC ISA 8 bits (Very Low Profile)

Finally got it to work in my IBM 5155 due to a faulty SPLD!

Finally got it to work in my IBM 5155 due to a faulty SPLD!

I ordered one of these cards to put in my IBM 5155, where I asked for the SPLD to be programmed to port 70h. After further research, it would conflict with port 70h in an IBM, so I should have ordered it as port 240h.

When it arrived, I used my TL866II+ programmer and reprogrammed the SPLD to port 240h from https://github.com/spark2k06/hardware/blob/master/RTC8088/SPLD/RTC8088_240h.jed, with the encrypt bit unchecked, which verified correctly.

Unfortunately, it did not actually work. I ran a continuity test on the PCB, which seemed to be fine. I tried David's Clock utility as above, then I also tried https://github.com/wilco2009/RTC_micro8088 that spark2k06 suggested.

I then spent all day trying to get it work. I reprogrammed it with the port 240h code about 15 times with different voltages. I even swapped the Dallas chip for a DS12887 (the one with a built-in battery), and tried the card in another computer using the port 240h port. I again checked my multimeter for continuity, which passed.

spark2k06 helped me out on a private thread on Tindie. There could be a conflict with port 240h with another card, and don't try using slot 8. Also, don't try to use a DS12887 with a built-in battery, none of them will probably work today. (The one I tried has a batch code of 0523A2 114326 from a 486 motherboard that was still working from 2019.)

Although I did not tell spark2k06 which programmer I used, he has the same as me, which is a TL866II+, where he had no problems with it. He said that if it is the one I use, it is very important to deactivate the "LOCK Bit" checkbox, otherwise nothing works.

2a265e4ff1373a1b9f0eb9a1a5bdb4f7b8101e1e.png

I noticed that the screenshot had a few differences. I updated the Xgpro software and firmware to v10.5, and tried with the lock bit off. I removed all the cards from my IBM, except the CGA, floppy, and XT-IDE, where the XT-IDE operates on 300h. Unfortunately, it still did not work.

I do have a bit of engineering experience, therefore I was able to modify https://github.com/spark2k06/hardware/blob/master/RTC8088/SPLD/RTC8088.pld for 240h, which generated the same output as https://github.com/spark2k06/hardware/blob/master/RTC8088/SPLD/RTC8088_240h.jed. There is no PLD file for 240h on GitHub, so I had to make my own.

GAL16V8 ; Works with GAL16V8B and ATF16V8B
RTC8088 ; RTC 8088, Production version 1

A0 A2 A3 A4 A5 A6 A7 A8 A9 GND
IRQ IOW IOR RTCALE RTCWR RTCRD AEN IRQOUT NC VCC

/IRQOUT = IRQ

/RTCRD = /IOR * A0 * /AEN * /A2 * /A3 * /A4 * /A5 * A6 * /A7 * /A8 * A9

/RTCWR = /IOW * A0 * /AEN * /A2 * /A3 * /A4 * /A5 * A6 * /A7 * /A8 * A9

RTCALE = /IOW * /A0 * /AEN * /A2 * /A3 * /A4 * /A5 * A6 * /A7 * /A8 * A9

DESCRIPTION

This is the logic of decoding the port address and signals used by the RTC based on DS12885.

This PLD file enabled me to create a custom logic test for the on the SPLD, using addresses 70h and 240h, and I think pin 14 RTCALE could be faulty.

b65be631683705bcace48ac701eb25762c996556.png

spark2k06 was pleased with my research above. He would not be surprised if the SPLD was damaged, it had already happened to him with others, but the failure occurred during programming. In my case, the fault was invisible to him because it appeared to program correctly, therefore he would now always do a test as above, and thanked me for sharing my idea.

Further progress had been made.

Because pin 19 of the SPLD is NC, I therefore remapped it to be RTCALE and made pin 14 NC instead. I bridged a wire between the two pins and swapped the pins round in the source.

A0 A2 A3 A4 A5 A6 A7 A8 A9 GND
IRQ IOW IOR NC RTCWR RTCRD AEN IRQOUT RTCALE VCC

I placed it in my full setup IBM 5155 and it works with this workaround, therefore I confirmed that pin 14 is bad! We had both learnt from this, where my case is unique so far. Therefore, spark2k06 gave me a refund for the damaged SPLD.

677ca8bf8ac77827c3cae7b326d78e390fd8e99c_2_690x460.jpeg

On the RTC card, a thin bridge wire between pins 19 and 14 is hidden between the SPLD and IC socket. I also desoldered the Dallas IC socket using ChipQuik and soldered the Dallas IC directly to the PCB, so that it does not interfere with the commonly available CompactFlash IDE bracket that sits directly above it. All slots are in use.

spark2k06 gave me permission to publish my research on this forum. Remember, my case had been unique so far, that it did not fail during programming but the SPLD was still damaged. This is to warn potential future users, especially those who build it on their own, that this can happen.

Therefore, if you build your own board, and that the Xgpro programmer software programmed and verified successfully, but the card does not actually work, do a logic test on your SPLD because it could be faulty!
 
Hi, another satisfied customer here. I agree after trying with my 5160 slot 8 doesn't work for this card. That's expected anyway because it is not advertised to work there, and most other cards don't unless specifically designed for that. Posting just as a warning for other future users.
 
Such as I told you privately, congratulations on the research and very good work ;-)

I ordered one of these cards to put in my IBM 5155, where I asked for the SPLD to be programmed to port 70h. After further research, it would conflict with port 70h in an IBM, so I should have ordered it as port 240h.

When it arrived, I used my TL866II+ programmer and reprogrammed the SPLD to port 240h from https://github.com/spark2k06/hardware/blob/master/RTC8088/SPLD/RTC8088_240h.jed, with the encrypt bit unchecked, which verified correctly.

Unfortunately, it did not actually work. I ran a continuity test on the PCB, which seemed to be fine. I tried David's Clock utility as above, then I also tried https://github.com/wilco2009/RTC_micro8088 that spark2k06 suggested.

I then spent all day trying to get it work. I reprogrammed it with the port 240h code about 15 times with different voltages. I even swapped the Dallas chip for a DS12887 (the one with a built-in battery), and tried the card in another computer using the port 240h port. I again checked my multimeter for continuity, which passed.

spark2k06 helped me out on a private thread on Tindie. There could be a conflict with port 240h with another card, and don't try using slot 8. Also, don't try to use a DS12887 with a built-in battery, none of them will probably work today. (The one I tried has a batch code of 0523A2 114326 from a 486 motherboard that was still working from 2019.)

Although I did not tell spark2k06 which programmer I used, he has the same as me, which is a TL866II+, where he had no problems with it. He said that if it is the one I use, it is very important to deactivate the "LOCK Bit" checkbox, otherwise nothing works.

View attachment 64815

I noticed that the screenshot had a few differences. I updated the Xgpro software and firmware to v10.5, and tried with the lock bit off. I removed all the cards from my IBM, except the CGA, floppy, and XT-IDE, where the XT-IDE operates on 300h. Unfortunately, it still did not work.

I do have a bit of engineering experience, therefore I was able to modify https://github.com/spark2k06/hardware/blob/master/RTC8088/SPLD/RTC8088.pld for 240h, which generated the same output as https://github.com/spark2k06/hardware/blob/master/RTC8088/SPLD/RTC8088_240h.jed. There is no PLD file for 240h on GitHub, so I had to make my own.

GAL16V8 ; Works with GAL16V8B and ATF16V8B
RTC8088 ; RTC 8088, Production version 1

A0 A2 A3 A4 A5 A6 A7 A8 A9 GND
IRQ IOW IOR RTCALE RTCWR RTCRD AEN IRQOUT NC VCC

/IRQOUT = IRQ

/RTCRD = /IOR * A0 * /AEN * /A2 * /A3 * /A4 * /A5 * A6 * /A7 * /A8 * A9

/RTCWR = /IOW * A0 * /AEN * /A2 * /A3 * /A4 * /A5 * A6 * /A7 * /A8 * A9

RTCALE = /IOW * /A0 * /AEN * /A2 * /A3 * /A4 * /A5 * A6 * /A7 * /A8 * A9

DESCRIPTION

This is the logic of decoding the port address and signals used by the RTC based on DS12885.

This PLD file enabled me to create a custom logic test for the on the SPLD, using addresses 70h and 240h, and I think pin 14 RTCALE could be faulty.

View attachment 64816

spark2k06 was pleased with my research above. He would not be surprised if the SPLD was damaged, it had already happened to him with others, but the failure occurred during programming. In my case, the fault was invisible to him because it appeared to program correctly, therefore he would now always do a test as above, and thanked me for sharing my idea.

Further progress had been made.

Because pin 19 of the SPLD is NC, I therefore remapped it to be RTCALE and made pin 14 NC instead. I bridged a wire between the two pins and swapped the pins round in the source.

A0 A2 A3 A4 A5 A6 A7 A8 A9 GND
IRQ IOW IOR NC RTCWR RTCRD AEN IRQOUT RTCALE VCC

I placed it in my full setup IBM 5155 and it works with this workaround, therefore I confirmed that pin 14 is bad! We had both learnt from this, where my case is unique so far. Therefore, spark2k06 gave me a refund for the damaged SPLD.

View attachment 64817

On the RTC card, a thin bridge wire between pins 19 and 14 is hidden between the SPLD and IC socket. I also desoldered the Dallas IC socket using ChipQuik and soldered the Dallas IC directly to the PCB, so that it does not interfere with the commonly available CompactFlash IDE bracket that sits directly above it. All slots are in use.

spark2k06 gave me permission to publish my research on this forum. Remember, my case had been unique so far, that it did not fail during programming but the SPLD was still damaged. This is to warn potential future users, especially those who build it on their own, that this can happen.

Therefore, if you build your own board, and that the Xgpro programmer software programmed and verified successfully, but the card does not actually work, do a logic test on your SPLD because it could be faulty!
 
Are these still available anywhere?
They are not difficult to build if you have some soldering experience. You could order the PCBs from OSHPark or other PCB manufacturers.
The only possible obstacle would be programming the SPLD, which would require a suitable EPROM programmer.

@spark2k06 a possible improvement would be using the otherwise unused pin 19 to select an alternate I/O address. Technically, you could forego decoding of A2 and possibly even A3, and use corresponding pins for I/O address select as well... It seems that no one in IBM PC world cares about decoding I/O addresses at granularity less than 0x10...
Maybe I should make an improved project out of that? :)
 
Back
Top