VOGONS


First post, by uscleo

User metadata
Rank Newbie
Rank
Newbie

Hi Guys,

So I'm trying to mod a Compaq Portable 386 and squeeze as much performance out of it as possible.

I've also been lucky and been able to get my hands on a TI486 SXL-40 and a TI486 SXL2-50, both PGA 132 (386 pin out)

Currently I have installed a TI486 SXL-40 with 4 MB of onboard RAM, 4 MB of slow ISA RAM, and a Tseng ET 4000 w32/i for VGA output

I was hoping to get some advice on installing a TI486 SXL2-50 - and swapping out the 40 mhz crystal to a 50 mhz one - in particular, I want to know if I even should attempt this, as in, is it theoretically possible for this setup to work, what the risks are, how I can mitigate the risks to damaging my hardware etc.

The bottleneck on this setup is the lack of RAM - or more specifically, the lack of 32-bit RAM (the onboard 32-bit RAM is limited to 4 MB unless I can find an ultra rare memory expansion card, and the ISA RAM card runs at 16-bit)

Also, I want to see if anyone has any ideas about the overclocking - would swapping out the crystal oscillator still allow for the internal clock doubling of the TI486 SXL2-50 to still be enabled, and the L1 cache to be enabled as well? (See here about clock doubling the TI486 SXL-40 and TI486 SXL2-50 http://www.uncreativelabs.net/phpBB2/viewtopic.php?t=922)

Any advice would be really helpful.

Thanks!!

Reply 1 of 24, by feipoa

User metadata
Rank l33t++
Rank
l33t++

The most you will get out of a SXL2-50 is 55 MHz. 60 MHz was not stable. I tried two different SXL2-50 chips and both maxed out at 55 MHz.

You can desolder the existing 40 MHz crystal oscillator and install a machine pin male-to-female socket. You should practice on junk PCB's first if you are not familiar with desoldering.

Plan your life wisely, you'll be dead before you know it.

Reply 2 of 24, by uscleo

User metadata
Rank Newbie
Rank
Newbie

Thanks for the advice - I bought a bunch of crystals to try out, from 40-50mhz - hopefully the 50mhz works so I can enable clock doubling. Any idea on where to find the sockets for the crystals? Couldn’t seem to find them on eBay.

Reply 3 of 24, by kixs

User metadata
Rank l33t
Rank
l33t

Clock doubling means whatever is the base clock times 2. 40MHz oscillator means the base clock is 20MHz. You can try with faster oscillators like 66 or 80MHz to get SXL-40 running at 33 or 40MHz. Not sure if the motherboard will like it. It's always better to have a faster base system over double clocking the cpu.

You can set L1 and X2 clock via a small DOS program.

Requests are also possible... /msg kixs

Reply 4 of 24, by feipoa

User metadata
Rank l33t++
Rank
l33t++

What I have discovered upon probing the CLK2 coming into the CPU is that "clock doubling" really means, "not clock halving". It seems that every 386 CPU is really passing the incoming clock frequency through some sort of PLL divisor of 2. What is interesting is that I think it passes though another PLL to then multiply the clock by 2 when "doubling". I say this because when you use try to, for example, click double on a SXL-40 above a running speed of 40 MHz, it won't let you.

So, say, you have a SXL-40 installed. Say you have a 40 MHz crystal installed. The CPU will run at 20 MHz by default. You can then tell it via software to clock double, and it will run at 40 MHz. However, if you have a 50 MHz crystal installed, the CPU will run at 25 MHz by default. If you tell it to clock double, it won't. It will keep running at 25 MHz. If the clock doubling feature was merely to "not clock halve", the CPU would try to run at 50 MHz and crash, but it doesn't, it stays at 25 MHz.

Without a scope, you can witness some of this oddness by studying 386/486 hybrid motherboards. 386 chips all halve the incoming clock frequency. 486 chips pass the incoming clock frequency through.

I've found some male-to-female machine pins on eBay or Digikey. I just don't have the energy to dig though my past invoices to find out exactly here I found it.

Plan your life wisely, you'll be dead before you know it.

Reply 5 of 24, by uscleo

User metadata
Rank Newbie
Rank
Newbie

Yep that’s what I had figured out already about the clock doubling - that it doesn’t work unless the base speed is 1/2 of the final clock doubled speed. I had picked out the TI 486 sxl2-50 cause I didn’t want to push the base speed too far out of spec as I need the ISA bus to keep working so I can use my RAM expansion cards and VGA card. There is no way to set the ISA speed on this very old motherboard (it doesnt even have a bios, only a config utility that is booted from diskette) Anyway, hopefully going from 20 to 25 MHz on the base (swapping the 40 MHz crystal to 50 MHz will work and allow me enable clock doubling and will still play nice with the motherboard.

Reply 8 of 24, by ph4nt0m

User metadata
Rank Member
Rank
Member

The TI486SXL2 is a 3.3V part actually. TI offered it as 3.3V only, 3.3V with 5V tolerant I/O and 5V only. Clock speeds were the same and the manufacturing process was also the same, so it was down to their marketing dept what label to put on. Although 5V made for the power consumption almost 3 times higher. Therefore no good overclocking.

The Compaq Portable 386 was sold with the Intel 386DX-20. I doubt it can go much higher on the system bus, so the TI486SXL-40 is out of question most likely. I suggest to install a TI486SXL2-50 with a heat spreader and try various oscillators to see how far it can go.

My Active Sales on CPU-World

Reply 9 of 24, by nforce4max

User metadata
Rank l33t
Rank
l33t

I wouldn't overclock something like this given how hard it can be to replace, cool cpu to have but I remember reading around where the L1 can die if the clocks are pushed too much.

On a far away planet reading your posts in the year 10,191.

Reply 10 of 24, by uscleo

User metadata
Rank Newbie
Rank
Newbie
ph4nt0m wrote:

The TI486SXL2 is a 3.3V part actually. TI offered it as 3.3V only, 3.3V with 5V tolerant I/O and 5V only. Clock speeds were the same and the manufacturing process was also the same, so it was down to their marketing dept what label to put on. Although 5V made for the power consumption almost 3 times higher. Therefore no good overclocking.

The Compaq Portable 386 was sold with the Intel 386DX-20. I doubt it can go much higher on the system bus, so the TI486SXL-40 is out of question most likely. I suggest to install a TI486SXL2-50 with a heat spreader and try various oscillators to see how far it can go.

Actually I've been running the compaq portable III with the clock doubled TI486SXL-40 and the 8KB L1 cache enabled also, on the stock 40mhz crystal (20mhz CPU speed) - did not notice anything bad except that in Windows the VGA graphics card driver did not like the clock doubling (to 40 mhz) and was corrupting the image slightly (black spaces when drop down menus are closed, etc), but other than that no problems at all.

When I get all the other parts, and crystals I'll do alot of benchmarking to compare all the different setups and settings.

Reply 11 of 24, by feipoa

User metadata
Rank l33t++
Rank
l33t++

The PGA-132 native variant of the SXL2 is 5V.

Your VGA issues may be related to 0 WS. Can you sent "no 0 WS". They may also be related to how you setup the SXL. You may need to set it so that it doesn't cache 1 MB boundaries, e.g. cyrix.exe -m-

Plan your life wisely, you'll be dead before you know it.

Reply 12 of 24, by uscleo

User metadata
Rank Newbie
Rank
Newbie
feipoa wrote:

The PGA-132 native variant of the SXL2 is 5V.

Your VGA issues may be related to 0 WS. Can you sent "no 0 WS". They may also be related to how you setup the SXL. You may need to set it so that it doesn't cache 1 MB boundaries, e.g. cyrix.exe -m-

Feipoa, Yeah it looks like operating at 5V should be alright, reading the text here (https://archive.org/stream/bitsavers_tiTI4861 … _Guide_djvu.txt)

Either way, I''ll make sure to keep it cool when I test it, maybe I will add a peltier cooler on it for extra cooling measure, powered externally for the test. 😎

Regarding the settings of 0 wait states - i'm not entirely sure how to set that - would that be through the cx486.cfg file? I can't edit the file through cx486.exe as the program hangs with a TI branded chip in there, and I can only use it to modify the cx486.cfg file if I have a Cryrix chip in there - I could swap the Ti486Sxl-40 that's in there now for a Cyrix 386DRx2 and to make the necessary edits, but would you happen to know which settings in particular to set it to zero wait states, or for it to not cache the 1MB boundary? Thanks!!

Reply 13 of 24, by feipoa

User metadata
Rank l33t++
Rank
l33t++

uscleo, download the SXL control utility I use (attached), then check out this thread: Register settings for various CPUs

Attachments

  • Filename
    SXL_Control_Util.zip
    File size
    119.24 KiB
    Downloads
    112 downloads
    File license
    Fair use/fair dealing exception

Plan your life wisely, you'll be dead before you know it.

Reply 14 of 24, by uscleo

User metadata
Rank Newbie
Rank
Newbie
feipoa wrote:

uscleo, download the SXL control utility I use (attached), then check out this thread: Register settings for various CPUs

Hey Feipoa - I had the CX486.exe setup so I tried your utility out and I got the same benchmark in TopBench using CX486.exe - score of 86. Surprisingly though with this computer being one of the first 386's the FLUSH command worked (no need to use BARB) - I did read all the files in there and tried out the DRAM hack - and managed to get a TopBench score of 90 😎 😎 With the Dram hack enabled, I could run Doom comfortably at "max" (not full screen, still showing the status bar at the bottom) reasonably well at high detail.

The one thing I was unable to enable try was to enable pipelining on the CPU - it's an option in the CX486.exe utility but it doesn't seem to make a difference when using your utility that does not have an option for pipelining. Does this mean the TI486 SXL - 40 / SXL2 - 50 have pipelining enabled by default?

Also, none of the settings helped to fix the black 'shadows' left by using menu's in Windows when using the driver for my Tseng Labs ET 4000 w/32i - only changing the driver to the much slower "Super VGA" generic driver for windows solves the problem.

Reply 15 of 24, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I have never witnessed any performance improvement with pipelining. I think I used CTCHIP34 to enable pipelining.

The cyrix.exe utility has a lot more easy to enable/disable features than the other programs. So you ran Cyrix.exe -m- and it did nothing? Can you run Cyrix.exe and display your currently enabled settings? Also, try to disable FLUSH and enable BARB just to see if it does anything. Try also cyrix.exe -r

Note that in cyrix.exe, when using an SXL, the command to enable doubling is cyrix.exe -cd. The readme is for a DLC chip, so the -c and -cd is to set the cache type, but only on the DLC. On the SXL, it changes the multiplier.

Does your BIOS have any option to set a wait state for the 16-bit ISA bus? Try this. But I thought the ET4000 w32i had a jumper to set "no 0 ws"?

Yeah, the DRAM utility is useful if your motherboard doesn't support slow refresh. On my AMI Mark V Baby Screamer, I run DRAM 40. That was a good compromise. If I set the refresh too infrequent, the floppy access speed drops.

Plan your life wisely, you'll be dead before you know it.

Reply 16 of 24, by ph4nt0m

User metadata
Rank Member
Rank
Member
uscleo wrote:
ph4nt0m wrote:

The TI486SXL2 is a 3.3V part actually. TI offered it as 3.3V only, 3.3V with 5V tolerant I/O and 5V only. Clock speeds were the same and the manufacturing process was also the same, so it was down to their marketing dept what label to put on. Although 5V made for the power consumption almost 3 times higher. Therefore no good overclocking.

The Compaq Portable 386 was sold with the Intel 386DX-20. I doubt it can go much higher on the system bus, so the TI486SXL-40 is out of question most likely. I suggest to install a TI486SXL2-50 with a heat spreader and try various oscillators to see how far it can go.

Actually I've been running the compaq portable III with the clock doubled TI486SXL-40 and the 8KB L1 cache enabled also, on the stock 40mhz crystal (20mhz CPU speed) - did not notice anything bad except that in Windows the VGA graphics card driver did not like the clock doubling (to 40 mhz) and was corrupting the image slightly (black spaces when drop down menus are closed, etc), but other than that no problems at all.

When I get all the other parts, and crystals I'll do alot of benchmarking to compare all the different setups and settings.

Sure your TI486SXL-40 can run in clock doubled mode. I have meant your notebook has no chance of running the system bus at 40MHz. Otherwise TI486SXL-40 and TI486SXL2-50 are the same thing as both support clock doubling in fact.

My Active Sales on CPU-World

Reply 17 of 24, by uscleo

User metadata
Rank Newbie
Rank
Newbie
feipoa wrote:
I have never witnessed any performance improvement with pipelining. I think I used CTCHIP34 to enable pipelining. […]
Show full quote

I have never witnessed any performance improvement with pipelining. I think I used CTCHIP34 to enable pipelining.

The cyrix.exe utility has a lot more easy to enable/disable features than the other programs. So you ran Cyrix.exe -m- and it did nothing? Can you run Cyrix.exe and display your currently enabled settings? Also, try to disable FLUSH and enable BARB just to see if it does anything. Try also cyrix.exe -r

Note that in cyrix.exe, when using an SXL, the command to enable doubling is cyrix.exe -cd. The readme is for a DLC chip, so the -c and -cd is to set the cache type, but only on the DLC. On the SXL, it changes the multiplier.

Does your BIOS have any option to set a wait state for the 16-bit ISA bus? Try this. But I thought the ET4000 w32i had a jumper to set "no 0 ws"?

Yeah, the DRAM utility is useful if your motherboard doesn't support slow refresh. On my AMI Mark V Baby Screamer, I run DRAM 40. That was a good compromise. If I set the refresh too infrequent, the floppy access speed drops.

Whoops... sorry about that Feipoa... - so I redid last night's testing (as I had a couple beers after work while doing it and this time I wrote it down as I went) it was NOT the clock doubling causing the graphical errors in Windows. It seems kick in with any option the resulting speed increase. I've also checked - the jumper on the Tseng board and it is set to WS0 = DIS. (Wait State zero = disable) I also tried the jumper in the other position, as well as the IRQ jumper, but all arrangements resulted in distortions if the computer was performing at high speed.

For example:
- enabling doubling and inhibit region this combination automatically enables FLUSH and I get a high Topbench score of 85, but I get the errors (-cd -f -i1 -m- )
- enabling clock doubling only only, and not using -i1 I get a much lower Topbench score (around 40) but no distortions (-cd -f -m- )
- using BARB without -i1 also gets a low Topbench score (around 40) but the distortions go away (-b -f- -cd -m-)
- using BARB with -i1 also gets a average Topbench score (around 45) and no distortions, (-b -f- -cd -m- -i1) and here is the interesting part... using the DRAM speed setting, I can generate the distortions in the graphics: DRAM 200 - no distortions, DRAM 400 - mild distortions, clicking on a drop down menu and then closing it results in pixelated icons from the window underneath. Any higher settings, the distortions just turn to black patches where the menus once were. The distortions only occur when I click or drag on an item.

Here's my autoexec.bat
autoexec.jpg

Here's a shot with the setup running at 90 or so at top bench
distortsome.jpg

Here's a shot using BARB and -i1 and doubling, with DRAM 400
littledistort.jpg

Anyone have any ideas about why this distortion is occurring? I haven't overclocked by swapping out the crystal or made any other physical changes yet, so in theory the bus is operating at the default speed. Also, this only occurs in Windows (I'm using WfW 3.11), and not at all in any dos games / other programs.

Also about the BIOS - this thing doesn't have anything like that - The Compaq Portable 386 is setup through a floppy disk setup utility. If I remove the memory for the ROM, it won't boot without the utility. Inside the utility, there's not much to set, just drives, time, floppy type, hard disk type, etc.
Setup.jpg

Reply 18 of 24, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie
uscleo wrote:

The bottleneck on this setup is the lack of RAM - or more specifically, the lack of 32-bit RAM (the onboard 32-bit RAM is limited to 4 MB unless I can find an ultra rare memory expansion card, and the ISA RAM card runs at 16-bit)

What about bypassing the problem? I don't know how your portable 386 IDE is physically configured, but if you could replace the whatever hard drive with one or two IDE-to-SD (or to CF) adapters and adding one or two fast SD (or CF) cards, partitioned for only 512 MB, setting Windows (I guess 3.xx) for having a fixed size swap file, it should run smoothly on the virtual RAM when the limited physical RAM runs out, without slowing down too much.

Am I right guys?

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you

Reply 19 of 24, by feipoa

User metadata
Rank l33t++
Rank
l33t++

For these tests, do not use DRAM. Play with DRAM after we get the corruption taken care of.

I think your issues are related to caching conventional memory in Windows. You cannot do this with the SXL in Windows.

Please try this on a fresh boot, in this order. Please run all 3 lines right after the other, then test in Windows.

cyrix.exe -e -i1 -b -f- -m-
cyrix.exe -xA000,128 -xC000,256
cyrix.exe -cd

Run cyrix.exe -q and provide a screenshot before and after running this series of commands. Now check for Window corruption. If there is still corruption, try:

cyrix.exe -e -i1 -b -f- -m-
cyrix.exe -r
cyrix.exe -cd

Plan your life wisely, you'll be dead before you know it.