VOGONS


First post, by 1ST1

User metadata
Rank Newbie
Rank
Newbie

Hello, I have a Cyrix CX486DLC in my 386-33 PC. It has also a Soundblaster Pro soundcard. This soundcard works just fine on this configuration inside Windows 3.11 as long as I don't enable the special features / enahced cache of the Cyrix CPU. As soon as I do this with the Cyrix tool and then start Windows, the machine still works, and it does like playing sound, but the speaker stays silent.

Anybody here knows to disable which feature setting in the Cyrix tool to fix this? Or is there a better driver for the soundcard for Windows 3.11 which can fix that?

With games, modplayer, demos, etc. there is no difference in sound if the Cyrix features are enabled or disabled.

Reply 2 of 13, by 1ST1

User metadata
Rank Newbie
Rank
Newbie

To enable

cx486.exe q cx486.cfg
cx486_cd q

to disable

no_cache

I think it has to do with the cfg file. The cfg file can be modified by starting cx486.exe without parameters. In the cfg file the settings are, read wit cx486.exe:

cache config register 0 

0=1 NC0
1=1 NC1
2=0 A20M
3=0 KEN
4=1 FLUSH
5=0 BARB
6=0 CO
7=0 SUSPEND
cache config register 1

0=0 RPL
1=0 SMI
2=0 SMAC
3=0 MMAC
4=0 WP1
5=0 WP2
6=0 WP3
7=0 WP4
Configuration Register 3

0=1 reserved
1=1 reserved
2=0 reserved
3=0 Pipe:
4=0 reserved
5=0 reserved
6=1 reserved
7=1 reserved
Adrdress Region Registers
ARR1 to ARR4 starting Adress = 0 Size: Disabled Type: NCR

Defice ID Registers
DIR0= FF
DIR1= FF
Stepping FFh (7:4) = F
Rev. of Stepping FFh (3:0) = F
Cyrix Control Registers Summary

Cache-Config CCR0 C0h = 13
Cache-Config CCR1 C1h = 00
Cache-Config CCR3 C3h = C3
Adress Regh 1 ARR1 index c4 c5 c6
data 00 00 00
Adress Regh 21 ARR2 index c7 c8 c9
data 00 00 00
Adress Regh 3 ARR3 index ca cb cc
data 00 00 00
Adress Regh 4 ARR4 index cd ce cf
data 00 00 00
Dev.Identyfication Register 0 FEh DIR0 = FF
Dev.Identyfication Register 1 FFh DIR1 = FF

These are the default setting, I haven't changed anything as I don't know what these settings are doing.

Reply 3 of 13, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

At the very least, you're going to have to make sure BARB is enabled. You'll likely have to set some non cacheable regions too.

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 6 of 13, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

Yes, it is one of the things you have to do to "make it work". You need to use either BARB or FLUSH# method.
There are several scenarios.
If you board is really old and doesn't support hidden refresh, you're going to have to wire up a FLUSH# circuit.
If your board is kind of old and supports hidden refresh, you can use BARB and bypass hardware modifications.
If your board later, it probably already has FLUSH# wired up and you are (for the most part) good to go.
You need to be aware of what your motherboard supports, because if you are using the wrong cache coherency scheme, stuff that uses DMA (ie, soundcards) will fack things up.
FLUSH# is generally the way to go as it supposedly yields better performance, but BARB is usually easier as most 386 boards seem to fall into the second scenario.

I'm less familiar with the non cacheable areas. What I do know is that sometimes you need to avoid caching the UMB area if you have certain devices installed. Then there's also an option to set the (first?) 64kb of every 1MB boundary as non-cacheable. I'm not really clear on what this accomplishes. Maybe it has to do with extended memory. Feipoa has already published his findings on the syntax of the cyrix.exe register control utility. You should try to dig that thread up.

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 7 of 13, by 1ST1

User metadata
Rank Newbie
Rank
Newbie

The board is old, it is from arround 1987, it is an Olivetti M380XP9, in the US maybe available as some version of the AT&T 6386 (there has been at least 8386, 8386E, 6386 WGS, 6386E WGS).

How to detect hidden refresh? As flush# was eneabled I disabled it without any change i result.

Reply 8 of 13, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

Normally hidden refresh would be an option you can toggle in the BIOS setup. 1987 is really old for a 386...one of the very first ones. If you can provide photos of the motherboard, maybe we can determine which chipset it uses and if it supports hidden refresh. Given the age of the system, I'm going to say it's highly unlikely to support it. You're almost certainly going to have to wire up a flush circuit. The details of that in the Cyrix DLC databook.

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 9 of 13, by Zerthimon

User metadata
Rank Member
Rank
Member
1ST1 wrote on 2021-12-11, 22:19:
[…]
Show full quote
cx486.exe q cx486.cfg
cx486_cd q

Is that from a Cx486DRx.ZIP package ?
The Cx486DRx.ZIP is the official utilities package, created specifically for the Cx486DRx CPU. You say you have a Cx486DLC CPU. This utility may or may not be compatible with your CPU.
May be you will have better results with the unofficial utility from the cyrix100.zip package, that was written for the DLC.
Attaching...

Filename
cyrix100.zip
File size
119.61 KiB
Downloads
53 downloads
File license
Fair use/fair dealing exception

Reply 10 of 13, by 1ST1

User metadata
Rank Newbie
Rank
Newbie

I will try your file, thank you. I have the Cx486DRx.ZIP in two versions but I am not sure if the tools I use are out of this. I only can see that the Cyrix chip without cache enabled is already 5% faster than the original i386 and with cache enabled about +15-20%, but still far away from a real i486-33.

Reply 11 of 13, by Zerthimon

User metadata
Rank Member
Rank
Member

Perhaps, turning on the caches somehow messes up the DMA transfers, which the sound card uses. Do floppy drives work after you enable the cache ? Floppy drives also use DMA.

Reply 12 of 13, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

The DRx software should work just fine on any of the DLC type chips.

It this your motherboard?
http://www.supervinx.com/OnlineMuseum/Olivett … 00-IMG_5669.JPG

Looks like Olivetti tried to hide the identity of the chipset. It *might* be a C&T chipset, but who really knows.

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 13 of 13, by 1ST1

User metadata
Rank Newbie
Rank
Newbie
Zerthimon wrote on 2021-12-13, 13:53:

Perhaps, turning on the caches somehow messes up the DMA transfers, which the sound card uses. Do floppy drives work after you enable the cache ? Floppy drives also use DMA.

Floppydrives are working fine, even raw floppy access software like IMD, Anadisk, etc, is working fine, I even was able to read/image diskettes from a early 1980's office typewriter using single density FM modulation lowlevel format. Also the Soundblaster works fine in most games, soundtracker and demos, there is only one game with strange sound, but that I haven't tested that one yet with Cyrix tuning off. It's only completely silent in Windows 3.11 if the Cyrix features are on. (The MIDI file playback also works with Cyrix features on)