I have that same chip programmer, I've found it works great for my limited use. Be sure to upload the ROM image to bitsavers! Having the LS120 on IDE should make it easier to hook up your external floppy setup!
That's pretty rotten of that computer to have a fit and damage its own BIOS over an improperly used IDE cable. Perhaps a bug to figure out and prevent.
At least add a dot of white paint or something to show which way up the IDE cable should go. Very interesting, though, that Marc was able to deduce exactly how the BIOS error happened!
The IDE on that motherboard couples directly to the legacy bus that is used to read the flash. Guess what happens when you ground the write enable line and attempt some “reads” :)
Wow, I've never known a reversed IDE cable to cause a BIOS to corrupt.. wonder what is going on for that to happen? could it be specific to this machine or perhaps a bug in that particular bios I wonder..
It's very odd. At first blush it does not make any sense. But I think the BIOS actually writes a block back to the flash during POST, just after disk discovery (maybe to speed up the next discovery?). I suspect this, because I saw localized changes in the disk code area between good BIOSes that should all have been the same, always at the same place. Also, when the BIOS gets corrupted, it's always the same size block, and always nicely aligned on 256 bytes boundaries. So my wild guess (I am speculating, which is always dangerous), is that the BIOS has a block of self-modifying code or data, and that during that write attempt the address or data gets corrupted when the IDE cable is reversed.
Hi, isn't NVram inside the RTC supposed to do that job ? BTW i thought that the bios flash chip is just considered as a ROM unless triggered for an update, this is sick and WTF for my knowledge xD
Depending on the OS, you may be able to use disks larger than 32GB, provided the data required for early boot is all in the first 32GB. Once the OS gets to the point where it can use its own drivers, it won't be impacted by BIOS limitations. In Linux on old machines, I commonly start the disk with a small /boot partition, from which LILO uses the BIOS to read the kernel, soon after which the BIOS goes unused. Plus if you're instead using GRUB2, it's featureful enough to include its own drivers, so BIOS is only needed to load GRUB2, which then can grab the kernel from anywhere, including TFTP.
What an odyssey! With the lotophages of memory corruption left behind and the cyclops (er, disk drives) dealt, it's now up to Aeolus and his bag of operating systems. And, will Circe turn some of those bytes into pigs (again)? Don't miss the next episode… (Homer meets père Dumas) P.S.: As the attentive observer may have noticed, the CD drive cyclops was overcome by actually telling it "nobody" (GND) in the identification process. What an reenactment! :-)
The point of using nor-flash instead of ROM is that you can update it on the spot, without having to remove the IC from the circuit board. Writing a nor-flash memory is very different from writing a RAM (whether static or dynamic) and involves multiple programmed cycles. (A read is done in exactly the same manner however, for ROM, for static RAM, and for nor-flash. /CS=low + R/W=low + OE=high. That is why all three are usable and interchangeable for program execution.)
I don't think anyone is confused on the difference between DRAM and NOR flash in this regard. There's a real possibility of corrupting the flash again, versus the zero possibility of there ever being a legitimate update to the BIOS to flash. Since BIOS corruption likely stops you from flashing 'on-board' -- as it did here -- it seems to be a feature of little worth in the current era. I can understand not wanting to 'neuter' or modify the hardware for various (collector) reasons, but in practical terms I think a R/O switch (I guess by pulling R/W low) would be a cool addition.
You mean pulling R/W high? It is an active low signal. But the risk of accidently program a nor-flash is very low indeed. The error is more likely a fault of the memory chip (or radiation), than anything else. This is the four memory "write" cycles needed to program a single byte on a typical nor-flash chip (like 29F010): First [5555h]:=AAh, then [2AAAh]:=55h, then [5555h]:=A0h, and finally the actual [address]:=data. This is almost impossible to do "by accident". :)
Did you even watch the video? The error occurs when a cable is attached "upside down". It's already happened once. Or are you saying the corruption is likely the happen _even_ if the R/W pin is not enabled? I'm a software guy. To me it seems like if writes are not permitted, then nothing should be able to change the contents of a particular block of flash, whether on purpose or not (ignoring obvious out-of-spec scenarios)
Hi Marc, what an awesome job, I love all your videos Can you release that bios in a git repo, to help whoever might run in the same problem. Thanks a lot, I know i've done nothing and hadn't helped a bit, I shouldn't be asking for that, but in my opinion, this seems like a good way of maintaining old machines. Thanks again and I love your videos !!
I will. I am working on a companion website to this channel so I can post the files, plans, manuals, and all the good stuff I use in my restorations. [Edit: I finally did, it's posted here: www.curiousmarc.com/computing/dolchpac-65]
That could be the ESCD area of the eeprom :) These chips are kinda weird with paged addresses so if you for example want to flip a zero bit to a one the whole page must be erased. Some algorithms are smart enough to check if it's possible to only flip the necessary bits the other way and still get the correct result but usually they're just formatted beforehand to make sure things will succeed. Written my own bootloader for 68k based processors that can handle these chips amongst others. Really fun to play around with :)
Reading a chip was never a problem back in the day. Providing you got the right chip selected.Writing data back was strange sometimes. I don't remember much. I do remember sometimes you would uv light a chip and it would not erase everything. So when you went to write stuff. It would error out. As for sock items. I wish tons of stuff had sockets. I can't tell you how many times a bios chip, keyboard chip, sometimes a clock chip and a few other would go poof for some reason. Yes for instance when a keyboard chip would die and you could not type anything. But that would be the first thing you would try. well after verifying voltage to the chip. Not a guarantee it would solve the problem. But next logical easy step to try. I remember doing a bank of dram chips until finding the bad or bad ones. The place I worked for had a tester thank goodness. Ah yes the good old days. Well not that old. we are talking 8088, 80286, 80386. etc. etc. Some point of time the boards got to the point that when they died. They just died for the most part. I'm sure if I would have known more about board level repair. Some would have been easy fixes.
Could you use a bios overlay boot block on the boot hd to allow disks > 32Gb to be recognized? I once got an 8 Gb drive to be recognized by an old 1990s pc which had a limit of (I think it was) 2Gb in this way.
He will be fine is not a primary machine that is his daily pc. I use cf drives for some of my old PCs I use for vintage games and midi and I do the windows optimization changes to run from flash memory. I can swap cf cards and for single purpose use like unixware or Sco openserver.
Comparing the boot screens from the full copied BIOS (from the other computer) and the patched original BIOS, they are both version 4.51PG. So I wonder what all that extra data is at the end of the original BIOS chip. I can see when you compared the two versions side by side that the corrupted chip shows "Award Software International, Inc. 4.51 PG 05/19/98" at addresses 3A7A6-3A7D8, so I wonder why the copied chip doesn't have that information there. Very strange.
Yes, all numbers would indicate the same version, but obviously they aren't. Actually there is some ASCII in the added portion, so maybe I can link it to the added feature if I take a closer look.
Hi Marc, an even better programmer than the TL866A (my opinion only) is any of the sofi-tech.com programmers...and they keep the chip support up to date too. I'm not sure why they aren't better known.
seems like there should be a way to make the flash chip read only when installed on the motherboard, that way a corrupt bios would be less of a problem.
Thanks, I had not noticed... I added an absolutely awful UA-cam generated blur so I did not have to re-upload. For those who got the address, now you know where to send the gifts :-)
Marc, be careful what you wish for. Next you know, UPS is phoning you up, asking where to park the flat bed truck and if you have a 10-ton crane at your location ;-)
I could only send you Atari and Commodore computers. I do however have a large Sony BVH-2000 1" videotape recorder. It weighs over 200 lbs, but is quite small compared to some of the tape drives you have. :)
That 32 GiB bug isn't too hard to fix if memory serves (I haven't done any BIOS modding in over a decade, and even then nothing fancy)... ah, look here: www.ryston.cz/petr/bios/award.html For unpacking/repacking, I used to employ a tool named AwardMod. I hope all of this stuff is still floating around somewhere. Having a DOS VM may help.
The original IDE cable was an 80 conductor UDMA66 cable, the replacement cable was only a 40 conductor cable. You're not quite done yet, it would be nice to restore the drive to the previous performance level. H̶A̶R̶D̶W̶A̶R̶E̶ ̶I̶S̶ ̶H̶E̶A̶L̶E̶D̶!̶ HARDWARE IS LIMPING!
The cable shown in the first video of this series is an 80 conductor UDMA cable (see timestamped link below). These cable had 40 pins just like a regular IDE cable, but use an 80 conductor cable where every second conductor is ground. The blue connector, yellow cable, and stiffness of the cable, all suggest it's a UDMA66 cable. Further research shows it shouldn't have really been there anyway as the 440BX chipset only supports IDE up to Ultra DMA/33. ua-cam.com/video/AKiuMNJDsmo/v-deo.html
What +Chris Rehor says. It had nothing to do with the "CMOS" settings chip, which people often confuse for the actual BIOS. It's the BIOS ROM code itself that was corrupt. No "reset" for that one.
4 роки тому
Well, with your German you could read Plankalkül or about Rollkugelsteuerung documentation. Not helping with modern stuff, admitted.
You can get around those 32 GB drive limitations with Drive Overlay software. Grab a free copy of Ontrack Disk Manager here: www.philscomputerlab.com/ontrack-disk-manager.html If you have even older machines, give Western Digital's EZ-Drive a shot instead (It works on all drives, not just WD): www.philscomputerlab.com/western-digital.html
10:28 how the hell inverting a IDE cable can cause an overwrite in the BIOS flash memory? This is really intriguing!
It really is. See my earlier response to +Ron Laws.
I have that same chip programmer, I've found it works great for my limited use. Be sure to upload the ROM image to bitsavers! Having the LS120 on IDE should make it easier to hook up your external floppy setup!
What a saga! This has been fascinating to watch. I learn so much watching your videos. Thanks for making them.
I love the little trough for the keyboard cable! Clearly some real thought went in to it’s design.
That's pretty rotten of that computer to have a fit and damage its own BIOS over an improperly used IDE cable. Perhaps a bug to figure out and prevent.
Rotten indeed and adding insult to injury is the oh-no-we-are-all-going-to-die blaring sound ;)
At least add a dot of white paint or something to show which way up the IDE cable should go. Very interesting, though, that Marc was able to deduce exactly how the BIOS error happened!
I've definitely had this happen before... I never used Cable Select or non-directional cables ever again. :)
The IDE on that motherboard couples directly to the legacy bus that is used to read the flash. Guess what happens when you ground the write enable line and attempt some “reads” :)
Wow, I've never known a reversed IDE cable to cause a BIOS to corrupt.. wonder what is going on for that to happen? could it be specific to this machine or perhaps a bug in that particular bios I wonder..
It's very odd. At first blush it does not make any sense. But I think the BIOS actually writes a block back to the flash during POST, just after disk discovery (maybe to speed up the next discovery?). I suspect this, because I saw localized changes in the disk code area between good BIOSes that should all have been the same, always at the same place. Also, when the BIOS gets corrupted, it's always the same size block, and always nicely aligned on 256 bytes boundaries. So my wild guess (I am speculating, which is always dangerous), is that the BIOS has a block of self-modifying code or data, and that during that write attempt the address or data gets corrupted when the IDE cable is reversed.
Hi, isn't NVram inside the RTC supposed to do that job ? BTW i thought that the bios flash chip is just considered as a ROM unless triggered for an update, this is sick and WTF for my knowledge xD
That _is_ an utterly bizarre failure mode! Of course, on the other hand it's good that it didn't irreparably fry something!
Depending on the OS, you may be able to use disks larger than 32GB, provided the data required for early boot is all in the first 32GB. Once the OS gets to the point where it can use its own drivers, it won't be impacted by BIOS limitations. In Linux on old machines, I commonly start the disk with a small /boot partition, from which LILO uses the BIOS to read the kernel, soon after which the BIOS goes unused. Plus if you're instead using GRUB2, it's featureful enough to include its own drivers, so BIOS is only needed to load GRUB2, which then can grab the kernel from anywhere, including TFTP.
What an odyssey!
With the lotophages of memory corruption left behind and the cyclops (er, disk drives) dealt, it's now up to Aeolus and his bag of operating systems. And, will Circe turn some of those bytes into pigs (again)? Don't miss the next episode…
(Homer meets père Dumas)
P.S.: As the attentive observer may have noticed, the CD drive cyclops was overcome by actually telling it "nobody" (GND) in the identification process. What an reenactment! :-)
hopedully you keyed the cable way correctly, or at least labelled it, so you remember for next time!! :P
nice find and repair sir!!
You bet. Orientation for pin1 now painted on the connector.
4:00 Time to write some stupid things in there :-)
It's amazing what you can do with the right tools. :-)
They didn't follow the convention of pin 1 of the IDE cable faces the power connector? That's pretty sneaky of them!
So long ago since I struggled with tech this old, nice job!
At this point I'd probably just cut the write line to the BIOS, if that's a thing you can do.
I can't believe it has it connected in the first place, that's just bizarre! I'd imagine it should just be tied low..
The point of using nor-flash instead of ROM is that you can update it on the spot, without having to remove the IC from the circuit board. Writing a nor-flash memory is very different from writing a RAM (whether static or dynamic) and involves multiple programmed cycles.
(A read is done in exactly the same manner however, for ROM, for static RAM, and for nor-flash. /CS=low + R/W=low + OE=high. That is why all three are usable and interchangeable for program execution.)
I don't think anyone is confused on the difference between DRAM and NOR flash in this regard.
There's a real possibility of corrupting the flash again, versus the zero possibility of there ever being a legitimate update to the BIOS to flash. Since BIOS corruption likely stops you from flashing 'on-board' -- as it did here -- it seems to be a feature of little worth in the current era.
I can understand not wanting to 'neuter' or modify the hardware for various (collector) reasons, but in practical terms I think a R/O switch (I guess by pulling R/W low) would be a cool addition.
You mean pulling R/W high? It is an active low signal. But the risk of accidently program a nor-flash is very low indeed. The error is more likely a fault of the memory chip (or radiation), than anything else.
This is the four memory "write" cycles needed to program a single byte on a typical nor-flash chip (like 29F010): First [5555h]:=AAh, then [2AAAh]:=55h, then [5555h]:=A0h, and finally the actual [address]:=data.
This is almost impossible to do "by accident". :)
Did you even watch the video? The error occurs when a cable is attached "upside down". It's already happened once.
Or are you saying the corruption is likely the happen _even_ if the R/W pin is not enabled?
I'm a software guy. To me it seems like if writes are not permitted, then nothing should be able to change the contents of a particular block of flash, whether on purpose or not (ignoring obvious out-of-spec scenarios)
Hi Marc, what an awesome job, I love all your videos
Can you release that bios in a git repo, to help whoever might run in the same problem. Thanks a lot, I know i've done nothing and hadn't helped a bit, I shouldn't be asking for that, but in my opinion, this seems like a good way of maintaining old machines.
Thanks again and I love your videos !!
I will. I am working on a companion website to this channel so I can post the files, plans, manuals, and all the good stuff I use in my restorations. [Edit: I finally did, it's posted here: www.curiousmarc.com/computing/dolchpac-65]
I can't wait to get them :)
So if you lay your hands on an Alto in a junk shop that nobody wants, you will know how to realign its disc heads ;-)
Oh so that's what you needed to blur out...thought it was some naked girls again lol
I love your videos, thank you Marc. God bless you Sir :)
Matthew, UK.
I use my TL-866 under linux direct and with WINE. works great.
Hey Marc, perhaps you should modify the motherboard a bit to put a switch on the Write Enable pin or something. Should prevent this from happening.
That could be the ESCD area of the eeprom :)
These chips are kinda weird with paged addresses so if you for example want to flip a zero bit to a one the whole page must be erased. Some algorithms are smart enough to check if it's possible to only flip the necessary bits the other way and still get the correct result but usually they're just formatted beforehand to make sure things will succeed. Written my own bootloader for 68k based processors that can handle these chips amongst others. Really fun to play around with :)
Reading a chip was never a problem back in the day. Providing you got the right chip selected.Writing data back was strange sometimes. I don't remember much. I do remember sometimes you would uv light a chip and it would not erase everything. So when you went to write stuff. It would error out. As for sock items. I wish tons of stuff had sockets. I can't tell you how many times a bios chip, keyboard chip, sometimes a clock chip and a few other would go poof for some reason. Yes for instance when a keyboard chip would die and you could not type anything. But that would be the first thing you would try. well after verifying voltage to the chip. Not a guarantee it would solve the problem. But next logical easy step to try. I remember doing a bank of dram chips until finding the bad or bad ones. The place I worked for had a tester thank goodness. Ah yes the good old days. Well not that old. we are talking 8088, 80286, 80386. etc. etc. Some point of time the boards got to the point that when they died. They just died for the most part. I'm sure if I would have known more about board level repair. Some would have been easy fixes.
Could you use a bios overlay boot block on the boot hd to allow disks > 32Gb to be recognized? I once got an 8 Gb drive to be recognized by an old 1990s pc which had a limit of (I think it was) 2Gb in this way.
Marc you should use a compact flash to ide adapter and just swap 32gb cf cards instead of having so many disks
agreed
He will be fine is not a primary machine that is his daily pc. I use cf drives for some of my old PCs I use for vintage games and midi and I do the windows optimization changes to run from flash memory. I can swap cf cards and for single purpose use like unixware or Sco openserver.
I wonder if you could make that BIOS file available somewhere (eg Github) for other Dolch users who run in to the same trouble you had?
Dude, you are charmed! Cool fix!
Did you clear the cmos after you replaced the cmos battery?, my money would be on that causing a mismatch which the bios didn’t like
If the bios won't recognize over 32gb drives, just modify the code so you can read any drive size
Nice save on the computer. Next time you need to switch out drives, go with SD or CF. It will lighten up the weight and performance will improve.
Comparing the boot screens from the full copied BIOS (from the other computer) and the patched original BIOS, they are both version 4.51PG. So I wonder what all that extra data is at the end of the original BIOS chip. I can see when you compared the two versions side by side that the corrupted chip shows "Award Software International, Inc. 4.51 PG 05/19/98" at addresses 3A7A6-3A7D8, so I wonder why the copied chip doesn't have that information there. Very strange.
Yes, all numbers would indicate the same version, but obviously they aren't. Actually there is some ASCII in the added portion, so maybe I can link it to the added feature if I take a closer look.
Hi Marc, an even better programmer than the TL866A (my opinion only) is any of the sofi-tech.com programmers...and they keep the chip support up to date too. I'm not sure why they aren't better known.
seems like there should be a way to make the flash chip read only when installed on the motherboard, that way a corrupt bios would be less of a problem.
Then you wouldn't be able to update the BIOS without an external programmer. That would be a huge pain in the ass!
My original iMac it has a proprietary ata adapter as well. I feel you
the minipro's kick ass
I have the same programmer it works very well I really like it.
Your address is visible on the box and envelope, you might want to blur that and re-upload this vid.
Thanks, I had not noticed... I added an absolutely awful UA-cam generated blur so I did not have to re-upload. For those who got the address, now you know where to send the gifts :-)
Marc, be careful what you wish for. Next you know, UPS is phoning you up, asking where to park the flat bed truck and if you have a 10-ton crane at your location ;-)
I could only send you Atari and Commodore computers. I do however have a large Sony BVH-2000 1" videotape recorder. It weighs over 200 lbs, but is quite small compared to some of the tape drives you have. :)
(c) One Direction "Too Late Apologize" :)
That 32 GiB bug isn't too hard to fix if memory serves (I haven't done any BIOS modding in over a decade, and even then nothing fancy)... ah, look here:
www.ryston.cz/petr/bios/award.html
For unpacking/repacking, I used to employ a tool named AwardMod. I hope all of this stuff is still floating around somewhere. Having a DOS VM may help.
Thanks, I didn't even know! That's quite a scary hack, but since I was rewriting the bios anyhow, I could have tried.
Where is Part II? I can't seem to find it...
Oops, accidentally moved it to private. It's back. Thanks for reporting.
Bravo! :)
nice - have this programmer..
The original IDE cable was an 80 conductor UDMA66 cable, the replacement cable was only a 40 conductor cable. You're not quite done yet, it would be nice to restore the drive to the previous performance level.
H̶A̶R̶D̶W̶A̶R̶E̶ ̶I̶S̶ ̶H̶E̶A̶L̶E̶D̶!̶ HARDWARE IS LIMPING!
All my Dolches came with regular IDE cables.
The cable shown in the first video of this series is an 80 conductor UDMA cable (see timestamped link below). These cable had 40 pins just like a regular IDE cable, but use an 80 conductor cable where every second conductor is ground. The blue connector, yellow cable, and stiffness of the cable, all suggest it's a UDMA66 cable. Further research shows it shouldn't have really been there anyway as the 440BX chipset only supports IDE up to Ultra DMA/33.
ua-cam.com/video/AKiuMNJDsmo/v-deo.html
Oh, that's just a temporary cable which I had on hand, not the original.
The mystery is solved then. :)
This is an old Award BIOS, so it could be easily patched to support larger drives (up to 128GB). Pleas see the www.ryston.cz/petr/bios/award.html
Couldn't you just reset the BIOS settings?
samio pretty hard to reset it when it just beeps and doesn't post
What about the CMOS-Battery or a Jumper-Reset?
What +Chris Rehor says. It had nothing to do with the "CMOS" settings chip, which people often confuse for the actual BIOS. It's the BIOS ROM code itself that was corrupt. No "reset" for that one.
Well, with your German you could read Plankalkül or about Rollkugelsteuerung documentation. Not helping with modern stuff, admitted.
It is never wrong when you learn a bit German... 😁
You can get around those 32 GB drive limitations with Drive Overlay software. Grab a free copy of Ontrack Disk Manager here: www.philscomputerlab.com/ontrack-disk-manager.html
If you have even older machines, give Western Digital's EZ-Drive a shot instead (It works on all drives, not just WD): www.philscomputerlab.com/western-digital.html
Yes I know. I don't even get close to OnTrack. One of the most dangerous piece of software I have ever played with...
Could have just used a sharpie to black out your address instead of the giant blur lmao.
I now see why lmao a box inside a box not used to seeing that lmao ignore me then lmao.
Instead of blur. Use tape :p
Haha, selber schuld. Falsche Sprache gelernt. :p
Jawohl :-)