PDA

View Full Version : IBM 5160 XT and XT-CF detection issue



paperinik77pk
March 10th, 2017, 06:58 AM
Hi all,

I just completed to restore an IBM 5160 XT, repairing the motherboard, cleaning the floppy drive, putting a 130W power supply and fitting all original IBM cards in it.

It started as a 068 model (256kb, MDA, one 360k FDD and IBM 5151) and has been modified to be a 086 submodel (256kb, CGA, one 360k FDD and IBM 5153, plus the Original ST412 disk i got in the meantime). MDA and 5151 will be part of my 5150 project in the future.

The ST412 disk NEVER worked, I found it in a flea market and it is aesthetically nice. I've the original Xebec controller, but since the disk is not turning at all, obviously I cannot get it to work.

So I kept the front panel of the ST412 and I thought to add an XT-CF (assembled by Pearce, rev2 - smallest version), connecting the panel led to the led connector on the board just to keep the "original" HDD blinking light).

XT-CF works fine on my Olivetti M24, it is fitted with a 16MB CF (fdisked to 10MB as the ST412), it is updated to R580 Bios...but...

...the XT does not detectit at all during POST. It performs the floppy seek, then it goes straight to Basic.
I was expecting the XTIDE menu as usual...but NOTHING. I removed all cards keeping CGA card only.

I tried to boot a floppy with xtidecfg.com in order to see if bios can be loaded by eeprom. NOTHING again.
I changed the starting address flashing an already modified bios (567 - CC00h), I tried to modify the I/O port from 300 to 280/290/310/320/330...no results.

At this point I'm beginning to get a bit confused.

I searched a bit on Internet, on this forum...but it seems the main issues happen when the XT-IDE bios is already detected (MBR - conflicting addresses and so on)

Dou you have some suggestions (even a link to an existing thread, so we can close this one)?
Thank you in advance!

Davide

Malc
March 10th, 2017, 12:10 PM
You can not use XTIDECFG.COM to flash the EEPROM on the Lo-Tech cards, Use XTIDECFG.COM to configure and save the bios, Then use the lo-tech flash utility to flash the EEPROM, See this page (https://www.lo-tech.co.uk/wiki/Lo-tech_ISA_CompactFlash_Adapter_revision_2b) for info and the FAQ linked to at the bottom of the page.

paperinik77pk
March 10th, 2017, 11:18 PM
Thank you, I always use the FLASH tool, I use xtidecfg only for viewing and modifying parameters.

paperinik77pk
March 17th, 2017, 05:57 AM
After a few trials, I noticed that in Sysinfo 6.0 the extra rom at C800h is not detected at all.
The same XT-CF card, with the very same setting...is found and shown in Sysinfo on other 8088/V20 machines I have.

My BIOS revision is Nov'82.

I'm beginning to think the scan is not correctly performed by the machine itself.
Could some (broken) electrical component or chip be responsible of the scan failure?

It seems strange also to me since CGA adapter ,Parallel, and Async card are correctly working.
Thank you!
Davide

David_M
March 17th, 2017, 06:11 AM
Have you tried the xebec controller to see if its BIOS detected?


After a few trials, I noticed that in Sysinfo 6.0 the extra rom at C800h is not detected at all.
The same XT-CF card, with the very same setting...is found and shown in Sysinfo on other 8088/V20 machines I have.

My BIOS revision is Nov'82.

I'm beginning to think the scan is not correctly performed by the machine itself.
Could some (broken) electrical component or chip be responsible of the scan failure?

It seems strange also to me since CGA adapter ,Parallel, and Async card are correctly working.
Thank you!
Davide

hargle
March 17th, 2017, 07:41 AM
you can do your own ROM scan using debug.exe too.
After starting debug.exe, at the - prompt, type:
d c800:0

and the block of data debug spits out should start with 55 AA - that's the ROM signature that tells the mainboard BIOS something is there to execute.

If you see only 00's or FF's or perhaps random data, then the ROM is not decoding at C800. A screen capture of the output may be useful.

paperinik77pk
March 17th, 2017, 09:19 AM
Have you tried the xebec controller to see if its BIOS detected?

Sincerely after the first tests I abandoned the XEBEC, but I can try and see what Sysinfo says :)

keenerb
March 17th, 2017, 09:21 AM
Do you still have the original hard drive controller installed?

Didn't some xt drive controllers use the C800 address? Maybe you're seeing a conflict.

*edit* Ah, never mind, you're trying with ONLY the CGA card installed. */edit*

ibmapc
March 17th, 2017, 09:48 AM
which slot is it plugged into? It won't work in slot 8.

Malc
March 17th, 2017, 11:42 AM
Should work in slot 8, That is of course it has all the SMT components fitted and is set up properly, Did you buy the card assembled from Lo-Tech or someone else on ebah.

paperinik77pk
March 17th, 2017, 01:18 PM
Hi all, first of all thank you for your help. I'm a newbie on debug and I'm not so smart with all hex, bynaries and so on. But I like to understand how things work...so I use a trial and error approach, at least for now :)

So...right now the 5160 is opened and ready for action. Floppy drive controller installed in order to have debug command available, and CGA.
No XT-CF installed at the moment.

DEBUG
-d c800:0

well...it seems something is already there...
C800:0000 02 34 01 A2 FC 02...

So I've tried the other common XT-CF address D800:
D800:0000 02 34 01 A2 FC 02

...the same from the beginning to the end (is it normal?)

At CC00 (I saw a BIOS set at this segment - maybe R566?) I have other numbers
CC00:0000 56 69 6A...

Also CA00 is full.

At this point...ok, it seems the XT-CF is not detected because there is something else where its BIOS usually starts.

So, back at documentation - I started from this XT5160 memory map:
http://www.minuszerodegrees.net/5160/misc/5160%20-%20Memory%20Map%20of%20the%20640%20KB%20to%201%20M B%20Area.jpg

I tried to find other free(?) places...like E0000, D0000 and F0000 (all filled with E8 E8 E8 E8...)
From what I see on the monitor they are to be filled with $$$$$$ - I do not know if it is a kind of initialization value.

Maybe pointing The XT-CF bios to E000 could be a good trial?
:D:D:D

paperinik77pk
March 17th, 2017, 01:23 PM
Should work in slot 8, That is of course it has all the SMT components fitted and is set up properly, Did you buy the card assembled from Lo-Tech or someone else on ebah.

I both have an original James Pearce XT-CF and other 3 cards bought on Ebay.
JP card has all components for slot 8, the other one does not provide slot 8 compatibility.
By the way, even with JP card on slot 8 - no detection at all. Now JP card lives inside my M24.

Since I have an original ASYNC board, I use it inside slot 8 (properly jumpered as manual suggests).
:D

modem7
March 17th, 2017, 01:43 PM
At CC00 (I saw a BIOS set at this segment - maybe R566?) I have other numbers
CC00:0000 56 69 6A...
A BIOS expansion ROM looks like what is pictured in the diagram at [here (http://minuszerodegrees.net/rom/misc/ROM%20-%20BIOS%20expansion%20ROM.jpg)]. The first two bytes are 55h then AAh. Then is the size byte. After that, the content varies from BIOS expansion ROM to BIOS expansion ROM.

modem7
March 17th, 2017, 01:52 PM
I tried to find other free(?) places...like E0000, D0000 and F0000 (all filled with E8 E8 E8 E8...)
I think that E8 E8 E8 E8... covering large area is a good indicator of 'no RAM at these addresses'. With my 5160 motherboards, one reads back FC at an unused address, another reads back FE, and another reads back FF.


From what I see on the monitor they are to be filled with $$$$$$ - I do not know if it is a kind of initialization value.
The power-on self test of the 5160 does not set anything in the Upper Memory Area (http://www.minuszerodegrees.net/5160/misc/5160%20-%20Memory%20Map%20of%20the%20640%20KB%20to%201%20M B%20Area.jpg) to a particular default value.

paperinik77pk
March 17th, 2017, 02:04 PM
A BIOS expansion ROM looks like what is pictured in the diagram at [here (http://minuszerodegrees.net/rom/misc/ROM%20-%20BIOS%20expansion%20ROM.jpg)]. The first two bytes are 55h then AAh. Then is the size byte. After that, the content varies from BIOS expansion ROM to BIOS expansion ROM.

Exactly the picture I was trying to find (I read it some days ago and I could not find it anymore)!
On my Olivetti PC1, the debug command at C800:0 (with the same XT-CF card I'd like to use on 5160XT) shows 55 AA 10 E9...and to the right side I can find a quite clear "XTIDE BIOS 2.0.0b3..." so it is how it the card works on an XT(well, sort of) where it is properly detected.

On XT5160, the C800:0000 segment is "dirty" even without any expansion cards fitted, so something is using it.
I removed the floppy card and I mounted the XT-CF. No way (tried C800 and D800). So the last suspect is the CGA? It should start under C000:0 so it seems very strange to me.

paperinik77pk
March 17th, 2017, 02:13 PM
I think that E8 E8 E8 E8... covering large area is a good indicator of 'no RAM at these addresses'. With my 5160 motherboards, one reads back FC at an unused address, another reads back FE, and another reads back FF.


The power-on self test of the 5160 does not set anything in the Upper Memory Area (http://www.minuszerodegrees.net/5160/misc/5160%20-%20Memory%20Map%20of%20the%20640%20KB%20to%201%20M B%20Area.jpg) to a particular default value.

Ok, so D000 could be a good candidate.
Is there any tool I can use to prepare an XTIDE bios rom to point that specific address - or maybe an already prepared bios binary I could use? :rolleyes:

keenerb
March 17th, 2017, 03:05 PM
Ok, so D000 could be a good candidate.
Is there any tool I can use to prepare an XTIDE bios rom to point that specific address - or maybe an already prepared bios binary I could use? :rolleyes:

There was a Tandy 1000SL or RL custom version that was offset in the ROM image and showed up at D000...

Have you checked with Norton SYsinfo? It'll show you installed roms and addresses...

Ah here it is.

https://www.lo-tech.co.uk/downloads/XT-IDE/lo-tech-isa-compactflash-adapter/offr566.zip

It's offset at CC00h, check if you have ROM data there with debug.

Malc
March 17th, 2017, 03:10 PM
Can you post a good Photo of the actual card you are trying to get working, Solder side and Component side. There has been a few people selling these cards on ebah in the past and i remember one seller was selling an old revision of the card, The older revision was fixed at Rom address C800 and the later cards are configurable C800 or D800 Rom address, Though to use D800, A SMT resistor must be fitted IIRC.

modem7
March 17th, 2017, 04:07 PM
Is there any tool I can use to prepare an XTIDE bios rom to point that specific address - or maybe an already prepared bios binary I could use?
The XTIDE Universal BIOS is 'portable'. The hosting card controls which address range that the ROM appears at - the XTIDE Universal BIOS adapts automatically.

BTW: The time that XTIDE Universal BIOS does need to be reconfigured, is when the I/O port range at which the IDE interface sits at, has been changed.


On XT5160, the C800:0000 segment is "dirty" even without any expansion cards fitted, so something is using it.
I removed the floppy card and I mounted the XT-CF. No way (tried C800 and D800). So the last suspect is the CGA? It should start under C000:0 so it seems very strange to me.
CGA should be going nowhere near C8000. (Some VGA cards do extend into the C8000 area.)
If you are curious, post us a photo of the DEBUG screen. That may help us identify the source.

But it sounds like D0000 is what you should be aiming for (if the card can be reconfigured for that).

paperinik77pk
March 18th, 2017, 12:18 AM
3705737058

Good morning everyone :D.
Here it is the card, I already flashed it once to CC00. Currently it is a R590 with boot menu. It works fine on other xt-class machines.

pearce_jj
March 18th, 2017, 12:29 AM
If you have competing ROMs between C800 and CFFFh there is a trick that can be used to put the XTIDE UB on the card, despite it having a fixed C800h base address, provided there is at least 8K physically available in the machine.

With the card removed (or at least the ROM disabled), use DEBUG to dump C800-CFFFh. Next inspect with a HEX editor to find the start address of an 8KB free area. Then cut the file there, APPEND the configured XTIDE-UB at that point, and finally APPEND anything else that was in the memory area after the 8KB free zone.

Next save the file and, using a different machine, write the whole thing back to the card.

What you end up with is two devices driving the same data at currently in use addresses, and the card's flash chip only driving the bus for calls to the free area.

Hope that helps.

paperinik77pk
March 18th, 2017, 12:34 AM
3705937060

and here the results of debug without xt-cf :grin:

paperinik77pk
March 18th, 2017, 12:48 AM
Thank you James, this afternoon I will familiarize a bit with debug and try what you just suggested me :grin:

pearce_jj
March 18th, 2017, 02:31 AM
Can we take a step back on this - is this a vanilla 5160 with just a CGA and FDD adapter installed?

paperinik77pk
March 18th, 2017, 03:42 AM
Can we take a step back on this - is this a vanilla 5160 with just a CGA and FDD adapter installed?

For sure we can :D :D :D

It is an original XT5160, 64-256kb Motherboard, 256kb of ram , 2 floppy version at the moment - bought as submodel 068 with only one floppy and no HDD.

The tests I performed used the XT-CF card I posted before and one original XT-CF I bought from you some time ago, which also works perfectly.

This are all the configurations I tried:
- with CGA
- with only one floppy
- without floppies
- without floppy interface
- with async card
- without async card
- with async card in slot 8
- with parallel card
- without parallel card
- with Hercules HGC+ and 5151, all the above
- with MDA and 5151, all the above
- with XEBEC controller (which should be c800h/320h)

All components are genuine IBM, apart the Hercules HGC+ and power supply (which is more powerful and was taken from a clone XT.)

Standard Nov. '82 bios (I tried also to swap the bios chip with another one I have on a spare 5160 motherboard - same result) :)
Unfortunately the other 5160 Board appears to be dead and needs capacitor repair (which I did not perform yet).

I was reading around to understand how to modify and assemble a rom to start at D000h :o

Stone
March 18th, 2017, 04:13 AM
Unfortunately the other 5160 Board appears to be dead and needs capacitor repair (which I did not perform yet).FWIW, if that cap is the tantalum on one of the 12V rails you can just remove it from service (for now) and replace it when you have the part and time. The board will work without it as opposed to it won't work if it's still installed and short.

pearce_jj
March 18th, 2017, 04:20 AM
Personally I think there is a gremlin in the board. Those memory areas should be returning FFh is there are no option ROMs. You need to figure out whether the erroneous data is coming from the system BIOS, in which case perhaps that address decoder is to blame, or from the graphics card. I'd start by swapping the graphics card.

Simplify the machine as much as possible, strip it back to the bones.

paperinik77pk
March 18th, 2017, 05:14 AM
I already tried all possible configurations, also with CGA only, HGC only and MDA only. I always do like that to troubleshoot. :)
But...now that you told me to recheck installed cards...I went to read again the IBM tech. reference manual, starting from the beginning.

A question...is there a specific order to mount cards inside the 7 sockets (let's leave slot 8 alone)?
I see the graphic card in the manual is placed in slot 1 and FDD controller is in slot 3.

My cga is in slot 2 and fdd controller in slot 4.

Maybe this can create issues in address decoding?

pearce_jj
March 18th, 2017, 06:31 AM
It doesn't matter, just don't use slot 8 for anything. Have the minimum possible cards, i.e. Just the FDD and display. Try debug at c800 and see what you get. If there is data there, swap the cga for mda and try again. If there is still data there, we need to work out whether the spurious data is coming from RAM or from ROM.

The fact the data repeats leads me to suspect and address decoder is playing up. Try dumping F800 and comparing it.

paperinik77pk
March 18th, 2017, 02:15 PM
3707237073

some screenshots...

paperinik77pk
March 18th, 2017, 02:22 PM
Sorry, the pics are inverted (I sent them from the tablet).
By the way, I think James has got the point.

F800 and C800 and D800 = same pattern in CGA and MDA.

Plus, MDA card is not properly detected anymore (three long beeps) but it works, even if the text is blinking.

When CGA is installed, memory from B8000 is used. When MDA is installed, B8000 is empty (and B000 to BBFFF is used) - It seems correct to me, so the problem is not in the video card nor in the floppy controller (I tried 3 of them, 2 original IBM and another one)

So...is that address decoder a chip I can find on the Motherboard?
http://www.minuszerodegrees.net/5150/misc/5150%20-%20Memory%20Map%20of%20the%20640%20KB%20to%201%20M B%20Area.jpg

according to the map it should be one of these U29/U30/U31/U32 , but it's only an idea :grin:

paperinik77pk
March 18th, 2017, 02:54 PM
FWIW, if that cap is the tantalum on one of the 12V rails you can just remove it from service (for now) and replace it when you have the part and time. The board will work without it as opposed to it won't work if it's still installed and short.

Thanks, I will try to identify and remove it. I have parts, only time lacks a bit :)

paperinik77pk
March 18th, 2017, 02:57 PM
Ah another thing...D000 is always free with any configuration. :o

alecv
March 18th, 2017, 03:25 PM
So...is that address decoder a chip I can find on the Motherboard?


5160: http://minuszerodegrees.net/manuals/IBM_5155_5160_Technical_Reference_6280089_MAR86.pd f
Page 1-37 U43

paperinik77pk
March 18th, 2017, 04:07 PM
5160: http://minuszerodegrees.net/manuals/IBM_5155_5160_Technical_Reference_6280089_MAR86.pd f
Page 1-37 U43

Thanks! It seems simple to replace, I can also put a socket :grin:. I just ordered the replacement chip.
Only for my curiosity...is this kind of failure a common problem?

Malc
March 18th, 2017, 11:48 PM
Don't know if it's a 'common' problem, I see no mention of it [ Here (http://www.minuszerodegrees.net/vcf_motherboard_failure_history.htm) ], The problems i've had with these boards have either been memory or shorted tants. FWIW i ran debug on my XT 5160, 256-640Kb mobo and get a mixture of 'E8' 'EA' 'EE' when dumping C800. Only Video and floppy cards installed.

paperinik77pk
March 19th, 2017, 01:51 AM
Thanks for your effort, it could be a new entry in the issues list :grin:
Now I'll try to repair the second motherboard I have so I can do a fast "debug" on it and see if C800 and D800 addresses are empty as it should be.

pearce_jj
March 19th, 2017, 02:27 AM
If changing U43 doesn't cure it, working backwards from XA12..19 to AA12..19, try changing U14, then U7, then of course the CPU itself. Might be worth checking for any shorts around these chips too i.e. single strand of wire etc that's come free from somewhere.

paperinik77pk
March 19th, 2017, 10:11 AM
Hi all, I've just finished to repair my spare 5160 Motherboard, which had problems with a very bad-made "repair" soldering (creating a 12v short), two 12v tantalum capacitors and some bad 4164 chips. It works and it has detected the XT-CF card immediately. C800:0 shows correctly the 55 AA pattern, and D800:0 / CC00:0 are all set to E8.
Now I've mounted the new mobo inside the chassis and finally the 5160 is complete.

Now, about the old Motherboard...while inspecting it I saw a pair of TMS4256 among all 4164 chips. Plus, a 4164 was seated in U84 slot (why?).
I've never noticed these things before. I removed the 4256 chips and replaced them with good 4164. U84 is now unpopulated.

Now I just mounted a very fast setup with Hercules, MOBO and XT-CF...it worked! C800 now is good.
What a strange thing...maybe this board once was (badly) hacked to 640KB? E1 has some soldering around it...anyway it works and this is the only important thing.

By the way I'd like to thank you all for your help! :grin::grin::grin::grin::grin::grin::grin:

Malc
March 19th, 2017, 10:31 AM
Congrats on the fix, Now upgrade the XUB to R591 :-)

Lots of info on the motherboard memory [ Here (http://www.minuszerodegrees.net/5160/ram/5160_ram.htm) ]

paperinik77pk
March 19th, 2017, 11:01 AM
Thanks! It is a good site...It surely will be useful for my next project - 5150 restoration! :eek::eek::eek::eek::eek::eek: