VOGONS


First post, by kingcake

User metadata
Rank Member
Rank
Member

Packard Bell 486 Motherboard will occasionally spit out an invalid opcode message while running any software.

INVALID OPCODE 3BE3 7290 7292 0016 3F40 5CEF 1C0D 90D8 8A89 0012 0010 0014 0019

How can I begin to decode/debug this?

Reply 1 of 21, by kdr

User metadata
Rank Member
Rank
Member

The hex numbers look like they are (16 bit) register values. The last four -- 0012 0010 0014 0019 -- look like they're 16-bit selector values for CS/SS/DS/ES segments.

Are you loading EMM386.EXE in your CONFIG.SYS? That error message looks like it could come from EMM386's exception/fault handler. What happens if you boot without EMM386 enabled, do you still get errors?

Reply 2 of 21, by kingcake

User metadata
Rank Member
Rank
Member
kdr wrote on 2021-04-21, 11:34:

The hex numbers look like they are (16 bit) register values. The last four -- 0012 0010 0014 0019 -- look like they're 16-bit selector values for CS/SS/DS/ES segments.

Are you loading EMM386.EXE in your CONFIG.SYS? That error message looks like it could come from EMM386's exception/fault handler. What happens if you boot without EMM386 enabled, do you still get errors?

Nope. FreeDOS with only himemx loaded and nothing else. Real barebones boot disk.

Reply 3 of 21, by mr.cat

User metadata
Rank Member
Rank
Member

I'm not familiar with this issue, but I found this comment... have you checked "Legacy IDE" in BIOS?
https://sourceforge.net/p/freedos/bugs/212/#1af3

EDIT: no AHCI or Legacy IDE on a 486 🤣
Thanks weedeewee, somehow I totally missed that 486 bit...

Last edited by mr.cat on 2021-04-21, 21:26. Edited 1 time in total.

Reply 4 of 21, by weedeewee

User metadata
Rank Oldbie
Rank
Oldbie
mr.cat wrote on 2021-04-21, 18:49:

I'm not familiar with this issue, but I found this comment... have you checked "Legacy IDE" in BIOS?
https://sourceforge.net/p/freedos/bugs/212/#1af3

on a 486 ....

that counts as a bad example 😀

Reply 5 of 21, by mkarcher

User metadata
Rank Member
Rank
Member

If you invalid opcode messages running any kind of software, I suspect your computer has a stability problem, possibly caused by broken memory or cache RAM. You might want to run memtest86+, Version 4.1 or earlier (later versions crash on 486 processors), with L2 cache enabled and with L2 cache disabled. If you get errors only with L2 cache enabled, it is extremely likely that the cache (or the mainboard) is bad. If you get errors with or without L2 enabled, likely the RAM is bad, but it might also be due to the mainboard or the processor.

If your 486 processor runs at 66MHz or faster, make sure that you provide adequate cooling (at least a heat sink). If your processor is a 5x86 at 133MHz or more, you should also should have a fan. This is the bare minimum for stable operation. Please don't take the statement as "you are fine to run a 486DX4/100 without a fan". Intel recommends a fan on those processor for a good reason. But you can often get away for some time without - especially if ambient temperature isn't too high.

Reply 6 of 21, by kingcake

User metadata
Rank Member
Rank
Member
mkarcher wrote on 2021-04-21, 19:45:

If you invalid opcode messages running any kind of software, I suspect your computer has a stability problem, possibly caused by broken memory or cache RAM. You might want to run memtest86+, Version 4.1 or earlier (later versions crash on 486 processors), with L2 cache enabled and with L2 cache disabled. If you get errors only with L2 cache enabled, it is extremely likely that the cache (or the mainboard) is bad. If you get errors with or without L2 enabled, likely the RAM is bad, but it might also be due to the mainboard or the processor.

If your 486 processor runs at 66MHz or faster, make sure that you provide adequate cooling (at least a heat sink). If your processor is a 5x86 at 133MHz or more, you should also should have a fan. This is the bare minimum for stable operation. Please don't take the statement as "you are fine to run a 486DX4/100 without a fan". Intel recommends a fan on those processor for a good reason. But you can often get away for some time without - especially if ambient temperature isn't too high.

No L2 cache installed on the mobo. Hmm I have gotten a few "base 64K memory failure" messages on post. I didn't know opcode errors could be ram related. Sounds like RAM in bank 0 is the problem.

Reply 7 of 21, by pentiumspeed

User metadata
Rank Oldbie
Rank
Oldbie

Replace memory. If more than one (72 pin), take one out and rearrange. Or four (30 pin), you will have to change as a set.

Cheers,

Great Northern aka Canada.

Reply 11 of 21, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

I've had a *very* similar issue on one of my 286 motherboards when I was testing overclocking on it (like *way* out of spec). I would get a similar message on the BIOS screen as well as in DOS... so I suspect it is a ROM BIOS error trap that is being raised, rather than something from Himem, emm386 or DOS itself.

Suspect it was either the address or data bus going out of spec in my case.

Reply 12 of 21, by kingcake

User metadata
Rank Member
Rank
Member
Ez67hJVXsAUaHdK.jpg
Filename
Ez67hJVXsAUaHdK.jpg
File size
106.02 KiB
Views
223 views
File license
Public domain
Ez67hJUWQAYnmTM.jpg
Filename
Ez67hJUWQAYnmTM.jpg
File size
271.8 KiB
Views
223 views
File license
Public domain

oof I was so focused on bad RAM I totally missed this board has some leaking caps and corrosion from them. Time to recap the board and clean it up.

Reply 13 of 21, by kingcake

User metadata
Rank Member
Rank
Member

Got the 30-pin sockets installed. Managed to find low profile ones. Which is what PB uses from that factory on bank 0. Prevents interference with the bottom ISA card.

IMG_3619.jpg
Filename
IMG_3619.jpg
File size
598.19 KiB
Views
193 views
File license
Public domain

Reply 15 of 21, by kingcake

User metadata
Rank Member
Rank
Member

Some of the through holes on this board just will not clear. Tried wick, hot air, vacuum gun, solder sucker, compressed air. Nothing would melt whatever was stuck in there even with stuff set at 400C.

So I had to get out the 0.5mm pcb drill bits. That cleared them out by god.

E0Gdh3GXsAsMXYx.jpg
Filename
E0Gdh3GXsAsMXYx.jpg
File size
345.09 KiB
Views
148 views
File license
Public domain

Reply 16 of 21, by kingcake

User metadata
Rank Member
Rank
Member

Well, 200 solder joints later and...It's fixed! It passes a memory test now! No freezing up or opcode errors. New ram in two new 30 pin sockets and 20 new low esr electrolytic capacitors.

It even picks up the L2 cache now. Before it wouldn't. I'm guessing the bad ram freaked out the chipset or something.

IMG_3624.jpeg
Filename
IMG_3624.jpeg
File size
1.06 MiB
Views
120 views
File license
Public domain
IMG_3628.jpeg
Filename
IMG_3628.jpeg
File size
1.4 MiB
Views
120 views
File license
Public domain
IMG_3625.jpeg
Filename
IMG_3625.jpeg
File size
1.23 MiB
Views
120 views
File license
Public domain

Reply 18 of 21, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

Well done! That's a pretty mammoth job - I bet you were seeing solder points in your sleep afterwards! 😁

At some point I have to revisit a homebrew Z80 backplane that I foolishly soldered several of the connectors on 180 degrees out of alignment... each one is a 96-pin DIN 41612 connector. I did 3 of them the wrong way around before I realised my mistake....

Reply 19 of 21, by Eep386

User metadata
Rank Member
Rank
Member

Good job!
Now find a 64Kx1 SRAM to put in that one smaller, vacant DIP socket next to the rest of the cache chips. That will enable write-back caching and give you a little boost.

Life isn't long enough to re-enable every hidden option in every BIOS on every board... 🙁