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
    107 views
    File license
    Public domain
  • Bios-small.jpg
    Filename
    Bios-small.jpg
    File size
    527.05 KiB
    Views
    107 views
    File license
    Public domain

Reply 1 of 5, by SSTV2

User metadata
Rank Member
Rank
Member

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 5, 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 5, 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 5, by SSTV2

User metadata
Rank Member
Rank
Member

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 5, 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.