VOGONS


First post, by Kidrash

User metadata
Rank Newbie
Rank
Newbie

Greetings to everyone.
I'm having troubles resurrecting an Olivetti M290s with motherboard M203.
It simply not boot up, nothing on screen, no beeps.
The powersupply was in bad shape, capacitors leaked so the whole power board has been cleaned, neutralized and the capacitors replaced.
Now the voltages are stable but the board still not boot up.
The bios's chips seems to work as they have been read on multiprogrammer and compared with the bios in the collection found here.
The isa diagnostic card show "----", the processor warms up, power is on all the chips on the board.
There is some activity on the board. With a logic proble i tested some lines and there is "traffic" plus with a logic analizer i sniffed some data.
I made an adapter to read the eprom addresses and output (not at the same time, the analizer it's only 16 channel) and the first address i see it's fff0.
It's a bios parted in two chips, high and low, so i don't know exactly how to handle it yet.
Address line seems to be shared with both chips, but not the output. No continuity on the O lines between the 2 chips.
Still with the analizer i tried to sniff some data on the processor and what concern me it's the reset line wich is high almost all the time.
There are some "sparks" of low value in the first 1-2 seconds from powering on but if i read the line after a while it's stable to high.
The reset pin it's connected to chipset TACS82301pb , i can't find any datasheet.
http://www.dosdays.co.uk/topics/Manufacturers/ti.php it's the only information i get googling.
As tools i have a multimeter, the logic probe, the 16ch logic analizer and solder.
What else i can try?

Thanks anyone for any help.

Attachments

  • Chipset-small.jpg
    Filename
    Chipset-small.jpg
    File size
    663.83 KiB
    Views
    977 views
    File license
    Public domain
  • Bios-small.jpg
    Filename
    Bios-small.jpg
    File size
    527.05 KiB
    Views
    977 views
    File license
    Public domain

Reply 1 of 16, by SSTV2

User metadata
Rank Oldbie
Rank
Oldbie

If the RESET signal is constantly HIGH, you won't get any signs of life from that motherboard, CPU is simply not fetching and executing any instructions from BIOS. You should check +5V Power Good (PG) signal coming from the PSU and all traces/circuitry related to it, as too low or absent PG will force chipset to halt CPU. System's clock generator could be at fault also.

Reply 2 of 16, by Kidrash

User metadata
Rank Newbie
Rank
Newbie

For sure i will check again the PG again and all the voltages. I will do a custom connector and test with a different psu.
So if i get data on the Rom address lines means that the board does something and the reset goes down. I will check again with the logic probe and the logic analyzer.
Yesterday evening i "sniffed" again the rom, the LOW one, and on the address lines i captured some coerent data. The first address was FFF8. I'm a bit puzzled about that. Everywhere i read about reset vector talks about FFF0
If i open the bin file for the lower rom at that location (FFF8)i find the jump instruction., but in standard reset vector it's at FFF0.
I still have to understand well how a bios works when it's on 2 chips, one for low and one for high bits.
I'm having troubles to get the data on output lines, but the chips seems to be good cause the programmer can read them. I will work on the O lines to get some realiable data.
The system clock is the 14.something crystal i presume. If yes, it's connected directly to a tact chip of wich i can't find any datasheet. On the motherboard, where i can test the system clock? ISA bus? i simply hookup the logic analizer to the pins of the crystal?

Reply 3 of 16, by Kidrash

User metadata
Rank Newbie
Rank
Newbie

After a good suggestion, i connected the logic analizer to the parallel port as this machine has a prescreen post and i grabbed some data.
0.205887750,(129)(0x81)
0.205937300,(131)(0x83)
0.205965600,(133)(0x85)
0.359668550,(135)(0x87)
0.523224100,(137)(0x89)
0.574552100,(139)(0x8B)
0.616640950,(141)(0x8D)
Time 0 is the reset line going down. I have no idea of what the codes refers to. Someone has a list that can share? Otherwise i have to learn how to disassembly a bios.

Reply 4 of 16, by SSTV2

User metadata
Rank Oldbie
Rank
Oldbie

From "Questions about Bios in low and high files" post (don't split the thread please, it makes difficult to track your progress).

Hello, i'm trying to understand how a bios parted in 2 chips is used by the CPU. I'm trying to disassembly a bios to understand […]
Show full quote

Hello,
i'm trying to understand how a bios parted in 2 chips is used by the CPU.
I'm trying to disassembly a bios to understand some post codes sent to the LPT1 (Olivetti M290S does that) but i'm having troubles wit IDA.
First, let's say i know nothing about disassembly, machine code and such but i'm reading and watching some tutorial to get some ideas.
I load the 2 .bin files into IDA and at FFF0 (reset vector) i don't have the jump intruction EA.
The first EA instruction it's at FFF8, the same address i get with logic analyzer hooked to the Eprom on the motherboard.
With Winhex i can merge the files, first low and then high one and i get something better to read. And now at the bottom i get the "magical" sequence EA 5B E0 00 F0
(jump to f000:e05b) but..... it's at location 1FFFF cause the files have been merged togheter.
So in some ways the chipset translate the FFF0 address from the CPU to FFF8 in the rom and send the data back in the correct order.
In IDA when i use "Makecode" to see the commnad often i get something with the unk in the description, red coxe xref and i think it's IDA's way to tell me that was expecting something in the first 64K but they are in the 2nd slice.
How i can tell IDA to take in charge the fact the bios has been slipt into two?

So there is some activity going on and CPU is not being halted by RESET anymore? You delve way too deep with the BIOS disassembly and I strongly reccomend you to not waste a single minute trying to disassmeble it, it's pointless at this moment.

If CPU now fetches data from BIOS, you should make sure that it's not corrupted (your MB uses Signetics OTP ROMs which are susceptible to bit rot, unlike mask ROMs) and RAM is in a perfect order as some BIOS tend not to report RAM related errors and remain silend during POST.

Have you tried booting MB with other BIOS images found here? You could also try the Landmark diagnostic ROMs for IBM AT found here, just double the size of both ODD/EVEN images, so that the last 16 bytes of ROM chip (starting at FFF0) would contain the long jump instruction.

Reply 5 of 16, by Kidrash

User metadata
Rank Newbie
Rank
Newbie

Ok, i will keep posting just here.
I have extracted the chips some day ago, compared with the files found on the website and they match. I can test it again just to be sure nothing changed it the meanwhile.
I will order a couple of new 27c512 (uv erasable)cause i have no spares and then i will test with the original bios and the diagnostic.
The chips will arrive next week. It will cost me more in shipping than the chips itself so i opted for the economical shipping.

Still about the odd and even files, i opened the diagnostic files and the long jump it's at 7FF8. I'm still having problems to undertand how that works but if for the MB it's ok, it's ok also for me 😁 I will learn that later.

Reply 6 of 16, by SSTV2

User metadata
Rank Oldbie
Rank
Oldbie

For the diagnostic ROMs you can use the 27256 series chips (32KB) if you happen to have them, it's important to double the image size only if you have twice as large ROM chip. The idea is that image must be at the very bottom of the larger capacity ROM chip, because the first 16 bytes that x86 CPU reads are in the very last address of the memory address space (real mode) or the very top of 1MB (looking at the memory map of IBM PC), which happens to be at F000:FFF0 (segment:offset) or at FFFF0 (physical address).

I'd recommend you the electrically erasable ROMs (eg. W27E512) which are 100% compatible with old UV-EPROMs and are easy to erase and reprogram.

Here's a un-shuffled image of 5170 diag ROM (ODD and EVEN bytes are in the correct order), long jump instruction is now at the right place for the 64KB image. Hope this clears some things up.

Filename
5170_ODD+EVEN.zip
File size
14.76 KiB
Downloads
31 downloads
File license
Public domain

By the way, you might test your BIOS images using PCem, I'm not too familiar with this software, but you should give it a try.

Reply 7 of 16, by Kidrash

User metadata
Rank Newbie
Rank
Newbie

I will try with some W27E257-12 i have around, but i don't understand how it can work with a smaller rom.
The CPU reads FFFO (1111111111110000). The chip set set right pins to HIGH but since the rom is smaller, the pin 15 don't count? How it's the address sent to the Rom?
A15 to A4 = 1 and A3 to A0=0? In that case if a smaller rom get the same address it will be 7FF0, A14 to A4 =1 and A3 to A0 = 0? If yes i think i see a finally a little of logic.

Reply 8 of 16, by Kidrash

User metadata
Rank Newbie
Rank
Newbie

I'm trying the diagnostic. At screen i see nothing but the speaker works. Tick tick tick tick, very low volume but quick and long time. Then it makes high and low beep, 1 each still for a long time. The low beep, with a little pause for another long time. The 1 high, 1 low, 1 short. And falls silent.

Reply 9 of 16, by SSTV2

User metadata
Rank Oldbie
Rank
Oldbie
Kidrash wrote on 2020-10-25, 20:19:

The chip set set right pins to HIGH but since the rom is smaller, the pin 15 don't count? How it's the address sent to the Rom?
A15 to A4 = 1 and A3 to A0=0? In that case if a smaller rom get the same address it will be 7FF0, A14 to A4 =1 and A3 to A0 = 0? If yes i think i see a finally a little of logic.

You think correctly. The 2KB ROM chip would work the same way with just 11 address lines by ignoring the most significant address bits. The first read address would still be 7FF - F = 7F0 hex or x111 1111 0000 bin.

Congrats! Your motherboard is not completely dead 😀. Landmark diagnostics won't be 100% compatible with your chipset, so don't expect much accuracy from it, some reported errors might be false, but at least now you know that the CPU is alive, ROMs are being read and the chipset is somewhat functional (the 8254 timer is for sure).

According to diag ROM manual's pg. 40, 1 high, 1 low and 1 short beep for an AT system means "CPU registers and logic error", I've never stumbled uppon this one, I wonder if it's even true in your case, does it mean that the CPU is going south?

Reply 10 of 16, by Kidrash

User metadata
Rank Newbie
Rank
Newbie

Ehmm, what means "CPU is going south"? (Probably i know that but i don't want to ear it)
When i heard the sound and checked the manual i felt a bit sad. All this work for probably a faulty CPU?
Today i will dig in an old 5160 IBM frankestein pc. IBM's case, powersupply(dead) but unknown 486 motherboard (Varta leaked and i had to resolder some track but now works), 486DX2 66, 16MB of ram, MFM HDD 20MB and probably an MDA card with it's monitor. I will put the MDA in the M290s and see if i get something on screen.
I will also try the diag roms in an Olivetti M380 XP1 (386) and see if i get some sounds from that board too.

Reply 11 of 16, by SSTV2

User metadata
Rank Oldbie
Rank
Oldbie

Doubt it, it's more likely that some general instability or diag. incompatibility with MB cause that error, it will be more clear what's happening when you'll test known good BIOS images. In the mean time, make a good visual inspection of every trace, expansion slot, chipset pin, logic IC and jumpers for possible damage, short or corrosion, reseat every component that just allows it.

You should definitely test BIOS that user "CMB75" had uploaded here, both images are 32KB in size and are meant for Ti TACT82300 chipset, there is a high chance that your MB will show signs of life or even POST with it.

Reply 13 of 16, by Kidrash

User metadata
Rank Newbie
Rank
Newbie

I tried the CMB75's bios. No boot but at least some error beeps. 3 short beeps. According to ami bios, it's the first 64Kb of ram.
Now i have to find wich chip is/are and even to find a replacements. Memory chips are labeled 81c4256-80, 8 0f them. I will check all the tracks on the MB and see if there are some open lines.

Reply 14 of 16, by SSTV2

User metadata
Rank Oldbie
Rank
Oldbie

I would not be surprised, a bad DRAM IC is much more common, than a bad CPU. If you have 8x 4 bit wide DRAM ICs onboard (soldered?), it would mean that there are two memory banks used (BANK0 and BANK1). If you get the "failure in the first 64K of RAM" error, it means that either you have a common connection fault somewhere with the BANK0 or there is at least 1 bad DRAM IC in that bank. BANK1 can be ignored entirely, unless chipset demands strict jumper settings, regarding memory size.

Does it say on the MB's silkscreen where BANK0 is?

Reply 15 of 16, by Kidrash

User metadata
Rank Newbie
Rank
Newbie

I'm not disappeared, but work has been crazy the past days. In this weekend i will try to test the tracks and chips. Unfortunately, there is no info on the board about memory banks. Also i have to find some way to test the chips and i don't know where to find some substitutes. I will keep you updated.

Reply 16 of 16, by Kidrash

User metadata
Rank Newbie
Rank
Newbie

I have to put the project on hold for a bit for 2 main reasons. I don't have any chip to substitute and also they are SOJ and to do a good job i need an hot air gun for proper desoldering. Once i have both i will change the chips one by one and see what happens