Author Topic: EEVblog #1061 - Data IO Programmer REPAIR - Part 1  (Read 5059 times)

0 Members and 1 Guest are viewing this topic.

Offline EEVblog

  • Administrator
  • *****
  • Posts: 28915
  • Country: au
    • EEVblog
EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« on: March 01, 2018, 12:52:35 pm »
Repairing the Data IO universal programmer.
Will it be a happy ending?

https://theamphour.com/the-amp-hour-99-impavid-ideopraxist-insider/



 

Offline MarginallyStable

  • Contributor
  • Posts: 9
  • Country: us
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #1 on: March 01, 2018, 01:32:09 pm »
I havn't finished watching yet, but I trick I have used successfully to find a short on power rails of large boards is to keep the probes attached to one spot, and go around with freeze spray looking for where the resistance fluctuates the most when sprayed.
 

Offline OzOnE

  • Contributor
  • Posts: 31
  • Country: gb
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #2 on: March 01, 2018, 01:44:43 pm »
Dave - would you possibly be able to dump and upload the ROMs from it?

We could then have a look through the code with IDA Pro etc.

Looks like most (if not all) of the hardware registers at mapped at around the 0xFFXxxx range, from what I saw on the first vid.

Could be interesting to see how the RTOS copes with all of the critical timing stuff, and probably help with diagnosing the self-test routine.


I'm just having a read of the service manual.

Nice to see that old-skool thing of actually telling people how the thing works, instead of hiding everything under layers of APIs and obfuscation. lol


I'm assuming this is the correct manual?
I can't imagine any of their other programmers using the same "shell"?...

http://www.pestingers.net/pdfs/prom-programmers/data-io/unisite/unisite-maint-man-june-91.pdf


OzOnE.
« Last Edit: March 01, 2018, 01:50:27 pm by OzOnE »
 

Offline texaspyro

  • Super Contributor
  • ***
  • Posts: 1252
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #3 on: March 01, 2018, 02:11:17 pm »
I think you need a valid boot floppy (or maybe jusr a FORMATTED 720K floppy) for the self test to complete.

The floppy format on these units is basically MS-DOS, but the bytes are swapped, so a DOS formatted floppy might lock up the self test.

Also, I've seen quite a few bad floppy controller chips on the Unisites and those will lock up the self-test.  The main source of the floppy controller chip these days is replacements for the Atari disk controllers.
 
The following users thanked this post: EEVblog

Online westfw

  • Super Contributor
  • ***
  • Posts: 2898
  • Country: us
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #4 on: March 01, 2018, 02:33:58 pm »
The "Mysteriously Labeled" EPROMs are probably boot/"bios" code provided by a third party.  The actual Data IO software would have been on the floppies.

I wonder if these no-holds-barred programmers actually lasted long enough to justify their creation/purchase?  Sure, for a (short) while there it seemed that every new chip was going to have a new programming voltage and weird waveform requirements (plus pretty weird "normal" power requirements as well, in the early PMOS/NMOS days  (VCC = VBB = +5 V and VDD = VGG = -9 V in Read mode, and with VDD = VGG = -47 V in Programming mode for the original 1702, wikipedia says.)  Probably a lot of "enough different so we don't infringes on the xxx patent" stuff going on as well?

I guess the first EPROMs were available in 1971, and flash wasn't very viable till the mid 1990s, so that's a good 20years...
(Ah!  PTSD flashbacks to Intel's "introduction" of flash memory chips...)
 

Offline Phil Bennett

  • Contributor
  • Posts: 5
  • Country: us
    • PhilWIP
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #5 on: March 01, 2018, 05:16:48 pm »
The 'Power down' terminal message is printed when a power failure interrupt (INT6) occurs. Unfortunately I can't find schematics for the power supply PCB, which is unsurprisingly where the /POWERFAIL signal originates.

I disassembled a good chunk of the boot ROM recently while in the process of adding UniSite support to MESS/MAME :D Ultimately I want to figure out how to create custom device algorithms so I can turn my UniSite into a universal IC tester :)
« Last Edit: March 01, 2018, 05:18:31 pm by Phil Bennett »
 
The following users thanked this post: edavid

Offline Phil Bennett

  • Contributor
  • Posts: 5
  • Country: us
    • PhilWIP
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #6 on: March 01, 2018, 06:09:55 pm »

I'm assuming this is the correct manual?
I can't imagine any of their other programmers using the same "shell"?...

http://www.pestingers.net/pdfs/prom-programmers/data-io/unisite/unisite-maint-man-june-91.pdf


This is the correct service manual and schematic set for Dave's UniSite:

http://www.pestingers.net/pdfs/prom-programmers/data-io/unisite/unisite40-maint-jan87.pdf

His model has the older type of controller board, which uses an expansion RAM board and cannot be upgraded with a Mass-Storage Module and parallel port interface.
« Last Edit: March 01, 2018, 06:13:02 pm by Phil Bennett »
 
The following users thanked this post: OzOnE

Offline OzOnE

  • Contributor
  • Posts: 31
  • Country: gb
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #7 on: March 02, 2018, 01:02:50 am »
Ahh, thanks, Phil. ;)

I say it said "Site 40" on Dave's one, so had a slight suspicion that it wasn't quite the right manual.

OzOnE.
 

Offline TheDane

  • Regular Contributor
  • *
  • Posts: 189
  • Country: dk
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #8 on: March 02, 2018, 01:57:34 am »
 :-+

Nice repair.

Tantalums can actually self heal from shorts, if given enough current.
Quote: "The self-healing effect occurs when a voltage is applied to the capacitor. As the capacitor is charging, current flows through the lower resistance path in the dielectric. As the current continues to penetrate these areas, localized heating occurs, depicted by the arrow in the diagram below, causing oxygen to be released from manganese dioxide (MnO2).
The MnO2 acts as a semiconductor material converting to a lower-order oxide (Mn2O3), with a change to higher resistivity in and around the potential failure site. These lower oxides (Mn2O3) have resistance higher by orders of magnitude than MnO2. Ultimately, due to the oxide reaction, the conductive failure site is blocked and current flow decreases to an acceptable level. The high-resistance manganese oxide material electrically isolates the dielectric defect"
https://www.vishay.com/docs/40110/faq.pdf#%5B%7B%22num%22%3A25%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2Cnull%2Cnull%2Cnull%5D

Also getting the voltages right, prolongs the life of the equipment -
"The most common method for reducing tantalum dielectric stress to improve reliability and guard against catastrophic failure is to reduce the applied voltage so that it is less than the capacitor’s rated voltage (normally a 60 % to 50 % voltage derating is recommended for solid tantalum capacitors"
- so putting in a 50V cap seems like a bit on the high side.
https://www.vishay.com/docs/40110/faq.pdf#%5B%7B%22num%22%3A5%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2Cnull%2Cnull%2Cnull%5D

In your tear down video you mention something about how some of the chips was programmed in the first place. Bootstraping   :scared:
The EPROM's won't keep their info forever, and when you get it up and running again it might be a great idea to replace those aging chips with freshly burned ones - so you don't have to wait for the self test to fail again.

Quote: "EPROMer... can remember their bits for approx. 25-30 years, bringing everything before mid-1990s to danger zone.
Make a backup of the content, in one way or another, so that new EPROMs can be burned if necessary.
The HP3245A I have on the table lost a bit earlier this year but thanks to my backup it was no problem. "
https://translate.google.com/translate?sl=da&tl=en&js=y&prev=_t&hl=da&ie=UTF-8&u=https%3A%2F%2Fing.dk%2Fblog%2Fveteranelektronik-210351&edit-text=

Unfortunately it seems they omitted the CRC info on the label, so there's no way to easily check them for bit corruption.
Caps always go bad, it seems... Challenge is locating them, using great tools  :popcorn:

Looking forward to part 2  :-+


Edit - added: Self healing info added - picture in pdf cut top half
« Last Edit: March 02, 2018, 02:05:45 am by TheDane »
 

Offline Phil Bennett

  • Contributor
  • Posts: 5
  • Country: us
    • PhilWIP
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #9 on: March 02, 2018, 05:22:21 am »
The manual has a few things it self tests. Even the relay boards are tested as well. Might be a good idea to plug everything back in.


I also noticed that the terminal has to be properly connected but the self test light should go off if that is the case

The UniSite will still boot even if all the pin driver cards and programming modules are removed. If anything, it'll boot faster as it will skip most of the self-tests :)

Without a boot disk however, none of the self-tests will run and the most you can hope for is a 'No disk in drive A' or similar message on the terminal. Disk or no disk, figuring out what is causing the power (supply) failure interrupt to trigger should be the next step.
 

Offline Phil Bennett

  • Contributor
  • Posts: 5
  • Country: us
    • PhilWIP
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #10 on: March 02, 2018, 05:30:04 am »
Also, I've seen quite a few bad floppy controller chips on the Unisites and those will lock up the self-test.

Yeah, there doesn't appear to be any timeouts on the FDC polling routines so I'm not surprised.
« Last Edit: March 02, 2018, 05:32:41 am by Phil Bennett »
 

Offline drussell

  • Super Contributor
  • ***
  • Posts: 1047
  • Country: ca
  • Hardcore Geek
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #11 on: March 02, 2018, 06:54:39 am »
Disk or no disk, figuring out what is causing the power (supply) failure interrupt to trigger should be the next step.

Uhhh.... 

I'm pretty sure that the PowerFail interrupt is being caused solely by Dave turning off the power.

Are you expecting some other behavior?   :palm:
 

Offline Phil Bennett

  • Contributor
  • Posts: 5
  • Country: us
    • PhilWIP
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #12 on: March 02, 2018, 07:58:09 am »
Disk or no disk, figuring out what is causing the power (supply) failure interrupt to trigger should be the next step.

Uhhh.... 

I'm pretty sure that the PowerFail interrupt is being caused solely by Dave turning off the power.

Are you expecting some other behavior?   :palm:

Derp, that's what happens when I listen to this stuff in the background. I thought the message had occurred before he powered it off :-[

Didn't help that the '87 service manual indicates that a 'Power down' message occurs when, "UniSite has experienced an error that it cannot recover from; turn UniSite off and reboot the system" (though the '91 manual instead states, "UniSite has experienced a power down condition.") :)
« Last Edit: March 02, 2018, 08:11:00 am by Phil Bennett »
 

Offline bitwelder

  • Frequent Contributor
  • **
  • Posts: 786
  • Country: fi
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #13 on: March 02, 2018, 05:38:27 pm »
Without a boot disk however, none of the self-tests will run and the most you can hope for is a 'No disk in drive A' or similar message on the terminal.
Dave did only briefly say that he tried a (blank?) disk and nothing happened, IIRC. If the unit was looking for a boot disk before any self-test, I guess the drive would have made some noticeable noise when trying to access the disk contents.
 

Offline texaspyro

  • Super Contributor
  • ***
  • Posts: 1252
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #14 on: March 03, 2018, 05:40:48 am »
For the self-test to complete you need a good boot floppy in the drive.  The floppy has the self test code and that turns of the LED when it successfully completes.

Earlier I mentioned that the format was MS-DOS with pairs of bytes swapped.   That was incorrect.  The byte swapped disk format was for the HP-16500A (LIF format?).
 

Offline chickenHeadKnob

  • Frequent Contributor
  • **
  • Posts: 755
  • Country: ca
  • doofus programus semi-retiredae
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #15 on: March 03, 2018, 07:20:45 am »
Small irritation when you say quoting Liebson "VRTX was the first RTOS". Not by a long shot, I think Liebson said "They developed the original commercial RTOS (VRTX) and essentially created the commercial RTOS industry.?  "  - from youtube comments. This may be true if you consider only independent commercial offerings. I was using Intel's iRMX-80 and iRMX-86 before then, both great products. Additionally everyone plus dog was writing there own RTOS's back then to escape royalties or because it was a fun challenge. I wrote my first for the x86 back around 82.
 

Offline jnissen

  • Regular Contributor
  • *
  • Posts: 60
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #16 on: March 03, 2018, 10:23:17 am »
Possible you have a bad floppy disk? If I recall (and it's been years ago when I last used one of these) there had to be certain files on the floppy to come up. Certainly there are users out there that can get you a valid copy of a working disk image.

BTW - From the location of that tantalum, on the back near the high heat devices, it's not all that surprising it failed. Terrible caps those tant's were. I put a nice burn mark on the wall in the lab of my first employer after one of these was installed backwards on a PCB. Looked like a bomb went off with flaming metal finding it's way between the wall and a conduit pipe. Smoldered for about 30 seconds and left a nice black mark on the wall and nearly started the wall on fire!
 

Offline texaspyro

  • Super Contributor
  • ***
  • Posts: 1252
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #17 on: March 03, 2018, 11:17:56 am »
I put a nice burn mark on the wall in the lab of my first employer after one of these was installed backwards on a PCB.

When we were building boards for IBM, they required the use of 3-lead tantalums that could not be installed backwards.   Our board test stations had blast shields when testing boards with tantalums.
 

Offline kc7gr-15

  • Contributor
  • Posts: 22
  • Country: us
    • Blue Feather Technologies
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #18 on: March 03, 2018, 06:03:53 pm »
        Speaking as the owner of a couple of Unisites, as well as a 3980XPi, I believe I can offer some insights.

       On the self-test light and programmer boot-up: Self-test will remain
illuminated forever if the programmer doesn't have a boot diskette to
play with. Self-extracting image files are available to create said diskettes,
but there is an issue: The Unisite's drives and hardware do not recognize
modern 1.44MB floppies or 1.44MB floppy drives. You'll need at least a couple
of 720K-formatted floppies to work with. Formatting 1.44's as 720 does
not work -- They have to be real 720's (with no density hole).

   Upon booting up, the actual self-test, as run by the programmer's OS,
should not take more than 5-6 minutes. Also, the self-test progress will
display itself on whatever terminal you have hooked up to the TERMINAL
serial port. Note the self-test will go much quicker without any of the pin
driver cards or test modules installed, though it will (of course) indicate
failures for the missing pin drivers and modules.

   One thing you should know: From the video, I can say with confidence
that your Unisite has the early-version main board. This means,
unfortunately, you're stuck using floppy disks to run it, and you're
also dependent on the memory-expansion board for 8MB operation. The
early-version boards are not compatible (at the hardware level) with
later-model features, such as the optional hard drive assembly.

   On the pin drivers: You're correct in that each board provides four pin
driver channels. A maxed-out Unisite will have a full complement of 17
pin driver boards for a total of 68 pins. Data I/O got beyond this limit
by doing some switching/multiplexing tricks for devices which have more
than 68 pins. I have some socket adapters for specific Altera FPGA parts
which go to at least 160 pins.

   Here's a link to a site with much info about the Unisite series, as
well as other Data I/O programmers:

http://www.pestingers.net/pages-images/electronics-other/data-io/unisite/data-io-unisite.htm

   Also, if you're interested, there's a Data I/O programmer users group
hosted on groups.io (yes, I'm on there).

   Keep the peace(es).

---
Bruce Lane, ARS KC7GR
'Quando Omni Flunkus Moritati' (Red Green)
 

Offline Halcyon

  • Super Contributor
  • ***
  • Posts: 3506
  • Country: au
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #19 on: March 03, 2018, 06:43:46 pm »
Formatting 1.44's as 720 does not work -- They have to be real 720's (with no density hole).

You could just take a standard high density floppy disk, cover the density detect hole with sticky tape and format it as 720K. The system would not know any better. There was little difference between DD and HD disks apart from the hole and some improvements in the oxide itself. When it came to floppy drives, they couldn't tell the difference.

If the Unisite has 720K floppy drives, then the DD/HD microswitch would be missing wouldn't it? Therefore hole or no hole, it shouldn't make a difference as it can't detect between one or the other.
« Last Edit: March 03, 2018, 06:46:23 pm by Halcyon »
 

Offline texaspyro

  • Super Contributor
  • ***
  • Posts: 1252
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #20 on: March 04, 2018, 05:09:17 am »
720K SD diskettes have a different oxide coercivity than 1.4M DD diskettes.   You can usually write a DD diskette with a SD drive, but not always or it may not be reliable.   I have used modified DD diskettes in a Unisite, but I don't recommend it and don't write to them on the Unisite.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 16938
  • Country: nl
    • NCT Developments
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #21 on: March 04, 2018, 09:41:23 am »
I put a nice burn mark on the wall in the lab of my first employer after one of these was installed backwards on a PCB.

When we were building boards for IBM, they required the use of 3-lead tantalums that could not be installed backwards.   Our board test stations had blast shields when testing boards with tantalums.
Tantalums suck big time. If I didn't wear glasses I would have lost an eye due to a reverse mounted tantalum exploding in my face.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Grapsus

  • Regular Contributor
  • *
  • Posts: 239
  • Country: fr
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #22 on: May 19, 2018, 01:39:11 am »
Any news on that project ? Just saw the video and very curious to see how this crazy machine works.

Dave, maybe just stick a logic analyzer on the floppy interface and see if the thing is trying to access the disk in order to fetch the self-test instructions ? If it does we'll know you're just missing the floppy.
Or maybe there is a "disk present" signal on the floppy interface, so it's not even trying and is just waiting for a disk to be inserted ?
 

Offline Daxxin

  • Regular Contributor
  • *
  • Posts: 198
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #23 on: February 04, 2019, 05:47:32 am »
Just bought from ebay as not working , the problem was main floppy drive TEAC-235-HFA , the drive controller its an WD1772 limited to single and double density.
i have replaced with an ALPS DF-354 moving the solder jumper from DS1 TO DS0 then its working very fine for the moment i have tested without pindriver boards ,
 need boot disk to became operative at start i get Led power and self test on then after 5 minutes reading floppy sel-test led is off and second led near the power led getting on
meaning successful terminal connected , Need DD floppy formatted at true 720 using the diskette images found over internet boot disk plus algo disks 6 or 7 floppy images.
Speaking of Atari they replaced this chip with Ajax chip , very nice programmer if ever a way to modify the hw to connect CF or anything to make it more easy to use.

 

Offline texaspyro

  • Super Contributor
  • ***
  • Posts: 1252
Re: EEVblog #1061 - Data IO Programmer REPAIR - Part 1
« Reply #24 on: February 04, 2019, 06:31:29 am »
Data I/O sold a Mass Storage Module for the Unisite.  It had a 80MB PCMCIA hard drive on it.  It replaced the extended RAM card mounted under the motherboard.

I have found only one 170 MB Sandisk flash drive that would work.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf