VOGONS


386SX pin-compatible upgrades

Topic actions

First post, by megatron-uk

User metadata
Rank l33t
Rank
l33t

I have been offered a lovely little Olivetti PCS 11 desktop... it looks to a very small LPX implementation, barely taller than a 3.5" floppy and single slot ISA card.

It appears to be in really nice condition except a broken power supply. However, it's the absolute bottom of the barrel 386SX-16 model.

I'm interested in desoldering the QFP processor and replacing it with something a bit better; I could do a 386SX-25, which the board was equipped to handle, but I'm thinking about possibly one of the available QFP-100 format upgrades - I think it comes down to the following options:

- Cx486SLC / Tx486SLC: 1KB cache, 5v tolerant, 20 to 40MHz parts.
- Tx486SXLC: 8KB cache, up to 40MHz.
- Tx486SXLC2: 8KB cache, clock doubling (20, 25, 33MHz input) for 40 to 66MHz parts.
- IBM 486SLC: 16KB cache, 33MHz.
- IBM 486SLC2: 16KB cache, clock doubling (25, 33MHz inputs) for 50 and 66MHz parts.

My understanding is that the Cyrix and Ti cores are identical, just like the DLC versions, but that the IBM SLC core is entirely different and derived from Intel. However, that's almost entirely irrelevant as the availability of IBM SLC processors appears to be virtually non existent, whereas the SXLC and SXLC2 processors are much more common - though finding 5v rated parts is a little harder.

Are all the above options pin compatible with the 386SX? Anyone have a success story to share relating to swapping out a surface mount 386SX with one of them?

I did buy one of those old stock Kingston 486 Now! IBM PS/2 model 50 upgrade cards many years ago and never found a use for it - it has a 50G6950 marked 486SLC2 on it, but I've had a hard job finding specs on it. That's a possible option....

My collection database and technical wiki:
https://www.target-earth.net

Reply 1 of 25, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I beleive it's the Cyrix SLC you want for direct replacement https://en.wikipedia.org/wiki/Cyrix_Cx486SLC in the 90s I had an a 386sx25 and 486SLC25 version of the same machine open on the bench and I couldn't see a single trace or capacitor difference .

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 2 of 25, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

maybe try overclocking the sx16 to 20 or 25 before you go to all the effort to yank it?

Reply 3 of 25, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie
maxtherabbit wrote on 2021-06-10, 22:28:

maybe try overclocking the sx16 to 20 or 25 before you go to all the effort to yank it?

I had a small 40mhz board with an sx16 onboard, just had to peel a sticker to see the real chip

Reply 4 of 25, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

IBM chips have the pinout 100% identical to 386SX but the cache control signals are different than Cyrix/Ti. Good luck finding any info on that, or any code to set up the control registers. Possibly IBM needs a chipset that actually works with cache and doesn't have the built-in workaround that Cyrix has. Also, IBMs are all 3V3 with 5V tolerant I/O, at least as far as I know.

Cyrix/Ti also comes with 3V3 models, those usually have letter V in the chip designation somewhere. I am running two 3V3 SXLC2-G50 chips on 5V but I can't guarantee how long these will last. These particular ones seem to able to take it, but they do run hot (well that's true in general for all of these).

Also, SXL(C) = SXL(C)2, they all have clock doublers. So you can pick a 33 or 40MHz variant and run it on 16MHz bus with clock doubling, that way you do not need to overclock the whole chipset (and by quite a lot, too). Without BIOS support you will need to run a configuration program in AUTOEXEC but that's still acceptable solution.

EDIT: Forgot to add, good luck finding a 5V SXLC, those are rare and pricey. Cyrix SLC is easier to find but lacks clock doubler. 8 vs 1 KiB cache is not that much of a difference until you enable the doubler.

Reply 5 of 25, by megatron-uk

User metadata
Rank l33t
Rank
l33t
Deunan wrote on 2021-06-10, 22:54:
IBM chips have the pinout 100% identical to 386SX but the cache control signals are different than Cyrix/Ti. Good luck finding a […]
Show full quote

IBM chips have the pinout 100% identical to 386SX but the cache control signals are different than Cyrix/Ti. Good luck finding any info on that, or any code to set up the control registers. Possibly IBM needs a chipset that actually works with cache and doesn't have the built-in workaround that Cyrix has. Also, IBMs are all 3V3 with 5V tolerant I/O, at least as far as I know.

Cyrix/Ti also comes with 3V3 models, those usually have letter V in the chip designation somewhere. I am running two 3V3 SXLC2-G50 chips on 5V but I can't guarantee how long these will last. These particular ones seem to able to take it, but they do run hot (well that's true in general for all of these).

Also, SXL(C) = SXL(C)2, they all have clock doublers. So you can pick a 33 or 40MHz variant and run it on 16MHz bus with clock doubling, that way you do not need to overclock the whole chipset (and by quite a lot, too). Without BIOS support you will need to run a configuration program in AUTOEXEC but that's still acceptable solution.

EDIT: Forgot to add, good luck finding a 5V SXLC, those are rare and pricey. Cyrix SLC is easier to find but lacks clock doubler. 8 vs 1 KiB cache is not that much of a difference until you enable the doubler.

Yes, I've noticed that there is quite a lot of availability of SXLC2 chips, but almost all are those Tx486SXLC2-G rated parts, which are those 3.3/5v designs you mention, I'm not sure I like the idea of putting 5v through one of those continuously. Pure 5v rated parts like the Tx486SXLC2-0 are much less common - and pricier, as you say!

Sounds like the IBM 486SLC isn't really an option. Pity, they seem to have a really good reputation (and I wish I had a way to use that Kingston module - none of my generic 286 boards work with it).

My collection database and technical wiki:
https://www.target-earth.net

Reply 6 of 25, by keropi

User metadata
Rank l33t++
Rank
l33t++

Having tried to upgrade some 386sx systems in the past in my opinion do not bother with exotic upgrades in the realm of the cyrix 486slc/slc2. (the IBM etc parts that are truly beefier are not just a drop-in replacement).
Just replace the stock 16mhz part with the 25mhz one and do what mobo changes need to be done so 25mhz is supported.
The classic 486slc and slc2 upgrades offer so little performance gain it is not worth it. I have done this upgrade on the 386sx amstrad megapc motherboard and used a bios that offers direct support for the 486slc , if you look at the end of this post Re: Amstrad Mega PC you will see this conclusion - this is 25mhz 386sx Vs. 486slc

So... how does it compare to a 386sx system?
386sx -> 486slc
Sysinfo: 18.1 -> 33.8
Landmark: 34.15 -> 92.76
Wolf3d: 14.1 -> 14.4 fps
3Dbench: 7.8 -> 8.4

there is significant benchmark difference but real-life difference? not even 0.5 frame in Wolfenstein3d. 🤣

🎵 🎧 MK1869, PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 7 of 25, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

Not all systems can take even a small overclock of the CPU bus, and while 25MHz seems still low, it's a huge 56% step up from 16MHz. In general I agree that the upgrade will not make a world of difference but it might just make some games or programs more responsive. I did it mostly for the fun of it, and because of curiosity about the clock doubler.

Also, not all code with benefit equally. First, the small L1 is mostly meant to help with memory-spilled registers - something that 16-bit x86 code is really doing a lot of - and tight loops. But a typical optimization for 286 and 386 is to unroll loops so it goes against the small cache. Cyrix CPUs excel at multiplication, their 486 cores (DLC/SLC including) are way faster at it then even Intel 486. This makes the poorly optimized code that uses loops and often multiplication for address calculation way faster, while a hand-crafted assembly for 286/386 that uses shitfs, LEAs, etc instead might not see a lot of improvement.

If the mobo can handle 25MHz then I would look hard for 5V 50MHz SXLC(2) part (or try yet another 3V3 one, but that's me). A 25MHz SLC should more or less match 33MHz 386SX (if cache is enabled, without it there's maybe 5-10% improvement from faster CPU pipeline but it'll be 100% code fetch bound). A clock-doubled 50MHz should get between 33 and 40 MHz 486, that would be significant - if still bus limited.

Reply 8 of 25, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

I would like to provide also some real benchmark results regarding the topic here:

1. 386SX at 30 MHz
- 1. NU SI: 23,6
- 2. 3dmark: 10,6
- 3. Doom low: 17fps
2. CX486SRX2 40@45MHz
- 1. NU SI: 66,5
- 2. 3dmark: 17,6
- 3. Doom low: 19,6fps

Derive your own opinion out of it. My one is:
- damn why didnt I bench w95 (wintach, nw bandwidth, HDD bandwidth)
- NU SI: is measuring in 0,5s pure CPU capabilities while benefiting from 1kb l1 cache
- Doom: really stresses the whole system. The 16bit bus is clearly limiting as it has to put 32bit commands/variables onto 16bit on the SX. it might be very optimized for straight 32bit executions w/o l1 use advantages
- 3dbench: uses 16bit integers only and is therefor benefiting. At least from the increase of MHz. Not really the 486 instruction set nor the 1kb l1 Cache. So somewhere in the middle of both above

Summary: a 386sx/30 don’t need performance boost for std 16bit games/apps. Where it was slow (dos4gw) the increase due to a Cx486srx is close to nothing even despite the MHz increase.

Remark:
- L1 was enabled and verified by benchmarks.
- Pipeline mode was enabled. Without 3dbench was 14,6

Lessons learned. Case closed. 😀 but I’m very open for different views.

1) VLSI SCAMP 311 | 386SX25@TI486SXLC2-50@60 | 16MB | CL-GD5428 | CT2830| SCC-1 | MT32 | Fast-SCSI AHA 1542CF + BlueSCSI v2/15k U320
2) SIS486 | 486DX/2 66(@80) | 32MB | TGUI9440 | LAPC-I

Reply 9 of 25, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Yah, I really think you feel the memory performance deficits on SX platforms. So unless you are stuck at say 20mhz, you will not find 2x CPU much good at all when you have to drop the speed for them. But sx20 vs srx2-40 would show difference. Depending on application though, it might not work as well as just using SX33.

In 386SX land, 25mhz is about what starts to feel "sufficient" for 386 era stuff, going from 16mhz, it should feel much nicer. If you can get a board all the way up to 40Mhz, then SX40 can feel like low end 486, may even run stuff that merely states "486" as a requirement, with a reasonably fast graphics card and well tuned memory. (i.e. 60ns with no extra wait states, vs 80ns or slower)

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 10 of 25, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Indeed. Furthermore I also noted that due to the lower cpuclk (20MHz for CX20/40) the memory bandwidth decreases compared to a pure 30MHz system. This is also limiting the added value.

This is why I will test a TI486 which can run at much higher base clock speed when you don’t do doubleclock via software

1) VLSI SCAMP 311 | 386SX25@TI486SXLC2-50@60 | 16MB | CL-GD5428 | CT2830| SCC-1 | MT32 | Fast-SCSI AHA 1542CF + BlueSCSI v2/15k U320
2) SIS486 | 486DX/2 66(@80) | 32MB | TGUI9440 | LAPC-I

Reply 11 of 25, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie
BitWrangler wrote on 2025-03-15, 13:31:

Yah, I really think you feel the memory performance deficits on SX platforms. So unless you are stuck at say 20mhz, you will not find 2x CPU much good at all when you have to drop the speed for them. But sx20 vs srx2-40 would show difference. Depending on application though, it might not work as well as just using SX33.

In 386SX land, 25mhz is about what starts to feel "sufficient" for 386 era stuff, going from 16mhz, it should feel much nicer. If you can get a board all the way up to 40Mhz, then SX40 can feel like low end 486, may even run stuff that merely states "486" as a requirement, with a reasonably fast graphics card and well tuned memory. (i.e. 60ns with no extra wait states, vs 80ns or slower)

Something I’ve long wondered is the older 386sx25 systems even with 70ns ram usually wouldn’t post at zero waitstates but 40mhz systems I could almost always set to zero wait states.

Did the definition or timing of zero waitstates change between the antique 386sx25 and the newer sx40 systems?

Reply 12 of 25, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Probably a lot dependant on chipset. And some of them used interleave to be "virtual zero wait state" which means they like 2 banks of RAM minimum. Earlier sx16/20 more likely to be on crappy 286 chipset, whereas later and faster might be on something more optimal.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 13 of 25, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

I have to revise all what I stated here before. I soldered in a tx486sxlc2 50 with 8kb cache.

Results @ 60MHz:
NU SI: 88,2
3Dbench: 31,2
Doom low: 45,4 fps
Doom high: 14,5 fps
Wolf3d: 45,5
PCPBench VGA: 8,2

I have to admin that I am flashed a bit 😀

Edit: updated numbers

Last edited by Marco on 2025-04-12, 13:55. Edited 5 times in total.

1) VLSI SCAMP 311 | 386SX25@TI486SXLC2-50@60 | 16MB | CL-GD5428 | CT2830| SCC-1 | MT32 | Fast-SCSI AHA 1542CF + BlueSCSI v2/15k U320
2) SIS486 | 486DX/2 66(@80) | 32MB | TGUI9440 | LAPC-I

Reply 14 of 25, by keropi

User metadata
Rank l33t++
Rank
l33t++
Marco wrote on 2025-04-12, 10:39:
I have to revise all what I stated here before. I soldered in a tx486sxlc2 50 with 8kb cache. […]
Show full quote

I have to revise all what I stated here before. I soldered in a tx486sxlc2 50 with 8kb cache.

Results @ 60MHz:
NU SI: 88,2
3Dbench: 37,2
Doom low: 31,3 fps
Wolf3d: 67fps

I have to admin that I am flashed a bit 😀

these are some pretty nice results! nice 😁
you state 60mhz, this is 30*2 right?
what mobo did you test this on?

🎵 🎧 MK1869, PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 15 of 25, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Yes 30x2. See my signature vlsi scamp 311 all bios optimizations enabled.

Ps. I also updated the numbers based on screenshots. Learn: don’t trust your old brain only 😀

1) VLSI SCAMP 311 | 386SX25@TI486SXLC2-50@60 | 16MB | CL-GD5428 | CT2830| SCC-1 | MT32 | Fast-SCSI AHA 1542CF + BlueSCSI v2/15k U320
2) SIS486 | 486DX/2 66(@80) | 32MB | TGUI9440 | LAPC-I

Reply 16 of 25, by keropi

User metadata
Rank l33t++
Rank
l33t++

so this was a cacheless 386sx right?
still good results!

edit: I have also tested a SXLC2 upgrade , I did it on this mobo: https://theretroweb.com/motherboards/s/ecs-wh386sx-d-5-isa
that came with a Cyrix 486slc and also 64k of cache, bios and mobo with proper L1/L2 support and I used an ISA CL-5434/2MB vga
bios options though are very limited, at best I could change ISA timings , no cache/dram control

486slc/33 -> SXLC2/66
wolf3d: 20.5 -> 47fps
3dbench: 13 -> 33fps
doom: 14 -> 23.5fps

🎵 🎧 MK1869, PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 17 of 25, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Very nice. If you interpolate my results to 66mhz it looks like l2 cache doesn’t matter too much - or it is chipset/timing related. Not quite sure about your doom fps though.
Note that my Isa is at 13MHz

1) VLSI SCAMP 311 | 386SX25@TI486SXLC2-50@60 | 16MB | CL-GD5428 | CT2830| SCC-1 | MT32 | Fast-SCSI AHA 1542CF + BlueSCSI v2/15k U320
2) SIS486 | 486DX/2 66(@80) | 32MB | TGUI9440 | LAPC-I

Reply 19 of 25, by MikeSG

User metadata
Rank Member
Rank
Member

There's delays or extra clocks added once the BIOS recognises the 486SLC chip, from what I can tell.

This Chips 82C836 board had fast memory speed with a 386sx@25Mhz 0WS, but now need to run the system clock all the way up to 40-50Mhz to get similar speeds again. ~20-22MB/s.

The ALI M1217 board automatically set memory speed to max, no matter which CPU was installed.

Chips 82C836B-25, 50Mhz system (100Mhz XTAL), CL-GD5429, 20Mhz ISA:
NU SI: 81.6
3Dbench: 29.4
Doom low: 21.8
Doom high: 14.4
PCPBench VGA: 7.1

ALI M1217 A1, 33Mhz system/66Mhz CPU, CL-GD5429, 16Mhz ISA, 60ns FP RAM:
3Dbench: 29.2

I couldn't find anything fancy in the manual for the VLSI SCAMP 311 except for a "FASTSX" option which sets Page Miss to 2WS or 3WS (default 2WS). The Chips 82C836 is always 3WS. And FCLKDIV/SCLKDIV division of the bus clock... FCLKCDIV = Video card only. SCLKDIV = system.

L2 cache matters a lot if memory speeds are maxed because the CPU can still receive read hits. The ALI M1217 actually supports EDO RAM so it can have higher memory speeds w/o cache, but the Winbond 311/312 would be as fast/faster with only higher clocks.