Fixing an Iskra Delta Partner Computer From 1987

In the realm of vintage computing, uncovering the secrets behind a faulty machine can be an exhilarating journey. Recently, I had the opportunity to delve into the inner workings of an Iskra Delta Partner (IDP) computer from 1987, which was plagued by random crashes and an endless boot-up loop. In this post, I share my adventure of troubleshooting, measurements, and ultimately, the revival of this fairly unknown and rare computer produced in Slovenia.

IDP exhibiting erratic behavior on boot-up. During the memory-test routine, the computer "jumped" out of its regular code execution course and displayed the boot-up prompt [which failed to receive user input].

To unravel the root cause of the erratic behavior, I opted to examine the EPROM code. Since the normal execution of the code alone couldn't account for the observed output, I began suspecting that interrupts were being triggered, diverting the code from its regular sequence. As I delved deeper into the technicalities, I discovered that the Z80 architecture incorporates two pins, INT and NMI (which receive active-low signals), through which other devices or integrated circuits (ICs) can initiate interrupts.

To identify the source of the problem, I embarked on a meticulous comparison between a functioning machine and the faulty Iskra Delta Partner. Armed with a voltmeter, I measured the INT and NMI CPU inputs. Prior to these measurements, I removed the EPROM and the CTC (Counter/Timer Circuit) from their sockets to minimize the number of variables involved.

A "minimalistic" environment for debugging and fixing an IDP. The primary objective was to get rid of the original monitor and PSU, which were quite weighty at approximately 100 kilograms (well, not exactly, but sure felt like it).

A critical discovery emerged as I observed the voltmeter readings. On the good machine, both NMI and INT exhibited high voltage levels, indicating normal operation. However, on the problematic computer, the INT pin registered consistently low voltage levels. This discrepancy shed light on the potential cause of the computer's malfunctions.

With the INT pin identified as the culprit, I proceeded to analyze the schematics of the Iskra Delta Partner. My objective was to locate any ICs or components that could potentially be responsible for pulling the INT signal down. The overall plan was to methodically remove these components from the board, one by one, in order to observe if the faulty state persisted. Fortunately, this step turned out to be unnecessary.

Upon conducting further measurements, I uncovered that one of the logical gates responsible for transmitting the DMA interrupt signal to the CPU was faulty. It was a logical inverter 74LS04. This IC was incorrectly converting a 4.5V input to a 2.2V output, which should have been much lower, ranging from 0 to 0.4V.

The important part of the schematics. The grayed-out ICs were not present on the board during the readings (CTC was removed, the others were not installed at all). The green readings represent the expected values, while the red ones indicate incorrect values. The 2.2V reading reveals that the inverter (74LS04) is faulty.

With no better alternative in sight, I proceeded to replace the defective IC. Upon doing so, the INT pin on the CPU sprang back to high voltage levels. Filled with hope, I re-inserted the ICs (CTC and EPROM) and eagerly rebooted the board.

IDP works again.

In a moment of sheer joy, the Iskra Delta Partner computer booted up flawlessly. The random crashes and boot loop were but distant memories, replaced by the smooth operation of a fully functional vintage machine. It was a testament to the power of investigation, measurement, and perseverance.

Acknowledgements

This text is (mostly) written by ChatGPT. It kind of sucks, but I rather spend my time fixing/using retro computers than typing these texts. Life is relatively short, you know.