feipoa wrote on 2023-04-14, 10:44:
Too bad about the funny business on your board at 40 MHz. Did you determine a proper combination of settings to get the ISA at 10 MHz when FSB=40 MHz?
You mentioned that you get L1:WB if bus is 40 or 50 MHz. Did chkcpu agree with this finding?
Yes, Internal (L1) cache : Enabled in Write-Back mode
Yes for ISA : Also I found for my AT clock weirdness, my board probably set the CLK2 to CLK when setting to 40 (so by setting 40fsb, CLK2 would be 40 instead of the expected 80).
While I don't have a scope, I did benchmark using my 3COM network card, I got the proper upload/download speed back after setting the AT clock to CLK2/4 (Assuming CLK2 is 40Mhz, that would make it 10Mhz).
By default, it's /8 for 33Mhz (8.25Mhz effective) bus and /6 for 40Mhz bus (6.66Mhz effective).
At least, that correlate with the performance of my ISA network card, so /4 (10Mhz) it is.
feipoa wrote on 2023-04-14, 10:44:My board has two hidden settings for L1, namely, […]
Show full quote
My board has two hidden settings for L1, namely,
Int. cache WB/WT Feature - WB/WT
Int. cache below 16M WB/WT - WB/WT
It is defaulted to WT, but I can use AMISETUP to adjust them to WB and save to CMOS RAM. However, when I installed an Am5x86 via a 486HPi Transcomputer module, chkcpu still showed L1 in write-thru mode. How many different CPUs did you check L1:WB functionality in?
I have only one CPU (For now) Looking for a DX4 from Intel or AMD.
I been looking to edit AMI bios to extract the setup table. I finally learned how to do that on AWARD but it seam that most of these ALI board have AMI bios.
Are you willing to dump registers for me? If I can't extract the setup table to get the registers, Then the is the other slow way to get the registers.
I attached my ALI1429 register dump program.
If you have time, you can set both settings to WT.
then you run the program like that : 1429dump > wtwt.txt
Then you change Int. cache WB/WT Feature to WB
1429dump > wbwt.txt
Then you change Int. cache WB/WT Feature back to WT and set Int. cache below 16M WB/WT to WB
1429dump > wtwb.txt
EDIT : Forget about that, I think these use CPU internal register, I found some informations about my Cyrix chip. (and there is a config file for ctchip34)
For Internal cache control, for my Cyrix, I have to unlock NW flag in CR0 register (Index C2h, bit 2)
Then I have to
mov eax,cr0
then using "and" command to mess with eax bits (NW = bit29 (0 = WT, 1 = WB), CD = bit30 (0 = L1 off, 1 = L1 on))
mov cr0,eax
Then I have to re-lock NW flag in CR0 register (Index C2h, bit 2)