VOGONS


Reply 40 of 52, by Rawit

User metadata
Rank Member
Rank
Member

Recently I found another tool to set Cyrix registers with, I attached it here. Currently using it with my GX1 and with success. The GX1/MediaGXm has a different register layout so most tools don't work so well.

Few things I've noticed so far:
- FP_FAST seems to give the biggest increase in performance;
- MMX is disabled by default on my machine (or is extended MMX something different?);
- A lot of registers were already optimal (LSSR, MEM_BYP, DTE_EN);
- BTB seems to work when EMM386 is not loaded. With EMM386 and BTB Blood hangs during demo mode almost always at the same spot. Quake sometimes won't run or crash;
- BTB does do +3 frames extra in Quake with no EMM386 running;
- Need to double check but it seems one of the registers causes the timing in Into The Shadows demo by Triton to be off;

Still need to look at CR0 - NW and CD, as WT1 doesn't seem to have any effect.

Attachments

  • Filename
    set6x86-1.3.zip
    File size
    100.15 KiB
    Downloads
    21 downloads
    File license
    Fair use/fair dealing exception

My build: Speedsys

Reply 41 of 52, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I was about to reply, "I think I've tried set6x86.exe", then I went looking in my files and what I tried is called "6x86set.exe", not "set6x86.exe". I'll have a look at what you attached. The readme mentions that it is for Cyrix 6x86 chips though. I don't think the register layout of the MediaGX is the same as the 6x86 either. Is it closer to the 5x86 or the 6x86?

I had tried BTB on my MediaGX in the past, but it didn't seem stable in Windows. I'm using a GXm chip though, not a GX1. Did you test BTB in Windows with Quake, or just DOS?

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 42 of 52, by Rawit

User metadata
Rank Member
Rank
Member

The set6x86 tool doesn't map things but only gives you the ability to read/write bits through the correct ports/to the correct addresses. MediaGXm seems to have some features of both the 5x86 and the 6x86, but both CTCHIP's 5x86 and 6x86 profiles don't map correctly. GXm and GX1 seem to be the same register wise. With set6x86 it's up to the user to check the datasheet of what does what. set6x86 and get6x86 are the same executable but it behaves differently on filename basis.

I've only checked BTB in a DOS/Win31 environment. I do use the EMM386/Himem from Win98 as they play well with MegaEm. EMM386 puts the CPU in virtual mode and perhaps BTB doesn't like that. Win31/Win9X/ME are using virtual mode as well if I'm not mistaken, which might explain why BTB is unstable in Windows but usable in DOS without EMM386.

Last edited by Rawit on 2019-01-16, 23:05. Edited 1 time in total.

My build: Speedsys

Reply 43 of 52, by feipoa

User metadata
Rank l33t++
Rank
l33t++

It is a bit curious why Cyrix/National Semi couldn't get branch prediction working on these GXm and GX1 CPUs. These chips were manufactured into the 2000's. BTB works on a 6x86 and on a 5x86 with S1R3. For S0R5 Cx5x86 CPUs, I use a batch file to turn on/off branch prediction when in DOS. On S0R5 CPUs, there are some other [unremarkable] features which need to be disabled when using BTB, hence the batch file. You might want to play with that when testing the GX1 with BTB.

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 44 of 52, by Rawit

User metadata
Rank Member
Rank
Member

Some recent discoveries:

Found out that the GX1 does not have LOOP_EN and RSTK_EN. I used the Cyrix GXm databook before, but the AMD GX1 databook shows that those functions were replaced with something else. BTB is also required (0) / off according to this document.

I also discovered that with DOS32A replacing DOS4GW Blood doesn't hang with BTB enabled and EMM386 running.

Last edited by Rawit on 2019-08-03, 18:02. Edited 1 time in total.

My build: Speedsys

Reply 45 of 52, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I forgot about the utility you enclosed and forgot to test it! Hopefully I'll remember now.

According to which document? When I do a search for RSTK in the PDF databooks I have, nothing turns up.

BTB required? Which document? Is BTB enabled by default on your GX1 chip? Btw, I'm now using a GX1-300 chip in my GX system.

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 46 of 52, by Rawit

User metadata
Rank Member
Rank
Member

https://www.amd.com/system/files/TechDocs/goe … tabook-rev5.pdf

BTB is required to be off or 0 according to this. And there is no mention of loop and rstk in it. In your thread for register settings for various Cyrix processors you set those both on ON for the MediaGXm. I thought that was applicable for the GX1 but they seem to differ. Wish I had a NS databook for the GX1.

Last edited by Rawit on 2019-08-03, 15:06. Edited 1 time in total.

My build: Speedsys

Reply 47 of 52, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Wow, rather offensive to see the AMD logo listed on a Cyrix processor's datasheet.

The AMD Geode GX1 databook is probably the same as National's. I've attached it. Only a few pages difference.

Attachments

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 49 of 52, by Rawit

User metadata
Rank Member
Rank
Member
feipoa wrote:
I have done some testing with BTBT, RLML, and AISP (pits 6, 4, and 3, respectively) of the performance control register using a […]
Show full quote

I have done some testing with BTBT, RLML, and AISP (pits 6, 4, and 3, respectively) of the performance control register using a Cyrix MediaGXm-266.

AISP: This is 0 by default. "All instructions stalled to serialise pipeline"
AISP: When enabled (1), decreased Quake frame rate from 36.2 fps to 20.9 fps
AISP: When enabled (1), decreased DOOM frame rate from 103.6 fps to 62.4 fps
This feature, when enabled, will slow the CPU by 40%. However, if L1 is disabled, it reduces the DOOM score by only 6%

RLML = 0 by default. "Reoder of locked misaligned loads"
RLML: no change in Quake score
RLML: no change in DOOM score

BTBT: Doom score did not increase when setting BTBT enabled.
BTBT: DOOM score did not increase when setting BTBT enabled when BTB also enabled.

BTB: increased DOOM frame rate from 103.6 fps to 107.8 fps.
BTB: not stable in Quake, which is curious because BTB works with DOS Quake with Cyrix 5x86 CPUs. BTB maybe is not DOS stable at 266 MHz, but perhaps is OK at 133 MHz (speculation).

FP_FAST: increased Quake frame rate from 33.1 fps to 36.2 fps.
FP_FAST: did not increase DOOM frame rate (DOOM is ALU-only).

LSSER: increased Quake frame rate from 34.0 fps to 36.2 fps
LSSER: increased DOOM frame rate from 101.1 to 103.6 fps

I've been benching my 233 GX1 build with Phil's benchmark suite while toggeling register enhancements but my Doom fps isn't even close to your results:

Doom: 69.8 fps with a Savage4, 71.6 fps with a G200.
Quake: 30.8 fps with a Savage4, 30.9 fps with a G200.

The Quake results can be explained with the 233 - 266 difference, but your Doom results are something else. I've also noticed that AISP is not available on the GX1, it's been replaced with INC_MGN0 (Bit 0 on the PCR0 register) and I can't find RLML either. FP_FAST is enabled and makes the biggest difference together with a dedicated videocard and faster RAM. Quake went from 15fps to 30fps because of that.

Did you see a huge jump in Doom fps with certain registers? Or did already get close to such fps with no register enhancements activated?

Attachments

My build: Speedsys

Reply 50 of 52, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Well, I am now using a Cyrix MediaGX1-300 in this system. I found that by reducing the RAM quantity to just 64 MB, I can still run the memory on its fastest settings and maintain a stable system. Not all GX1-300 chips would run reliably at 300 MHz on this system.

So our systems are growing further apart. I'm using a Voodoo Banshee still. I just ran DOOM and I get 780 realtics, so 95.8 fps (no sound). Using Quake shareware version 1.06, I get 40.2 fps (no sound). I am not using Phil's benchmark pack. Your scores will be a little higher if you use DOOM and QUAKE shareware versions. In DOOM, be sure to first enter the game and hit the + key (the one next to the backspace, not the keybad '+') to reduce the green frame around the screen. Then you can exit and run DOOM from the DOS menu. Just run setup first to ensure sounds are off.

I also re-ran Speedsys (enclosed).

Cyrix_MediaGX1-300.png
Filename
Cyrix_MediaGX1-300.png
File size
22.78 KiB
Views
157 views
File license
Fair use/fair dealing exception
Filename
Cyrix_MediaGX1-300.TXT
File size
6.08 KiB
Downloads
4 downloads
File license
Fair use/fair dealing exception

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 51 of 52, by Rawit

User metadata
Rank Member
Rank
Member

Feipoa, thanks for your detailed response. I have the same experience with RAM as you; 48 MB runs at the fastest settings without issues. 144 MB (16 MB on-board) was unstable with the fastest settings and I tried various sticks of RAM that worked in different systems and were 133 Mhz/CL2. For my DOS setup 48 MB is perfect I think.

Your system with the GX1-300 is clocked 28% faster than mine and this is reflected in the increase in memory speed, memory throughput and the Quake framerate (all +/- 28% faster).

I expected the VESA memory speed to be roughly the same though, but the increase in clock does seem to have effects on the PCI bus... or that Banshee is in an entirely different performance league. Both my Savage4 and G200 max. out around 27000-ish but I've seen Speedsys benchmarks with G200's reaching around 44000, so it's probably the CPU/PCI bus.

I'm going to re-test Doom when I have time. What version of Doom did you use? You run it with screen-size on maximum with Doomguy's face still visible?

My build: Speedsys

Reply 52 of 52, by feipoa

User metadata
Rank l33t++
Rank
l33t++

The Doom Demo version. Is there more than one version? I thought there was just one. I think its v1.9. As for the window sizes, see these images I took.

I'm not sure how much you can trust the VESA speed info from Speedsys. Best to run game benchmarks.

DOOM_window_incorrect.jpg
Filename
DOOM_window_incorrect.jpg
File size
467.85 KiB
Views
110 views
File license
Fair use/fair dealing exception
DOOM_window_correct.jpg
Filename
DOOM_window_correct.jpg
File size
434.58 KiB
Views
110 views
File license
Fair use/fair dealing exception

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486