You're welcome! I'd gladly do more tests if you give me more instructions.Thanks for posting this! I always find benchmarks interesting, especially since I'm not able to test and benchmark as much as I'd like to do myself.
A lot of people assume that the processor specific builds were created to improve performance for those types of CPU:s. For the most part, that's not true. Most of the time the higher level CPU instructions are just used to optimize for size so that we can save ROM space which allows us to pack more functionality into the BIOS. The biggest exception to this rule is the string I/O instructions available from the V20/V30/188/186 CPU:s which makes a huge difference when doing port I/O.
Is "Enable interrupt" set to Yes for the IDE controller in the 386L build? It is set to Yes by default, so if you haven't changed that you will get lower performance in DOS because polling is faster than using interrupts in a single tasking OS like DOS. The XTPL build on the other hand is always using polling as it doesn't even have MODULE_IRQ included.
You were right about disabling the "Enable interrupt" option. Now the performance is almost the same as the XTPL rom. There's only a very minor difference that I'll highlight in the following chart:
XTIDE | r624 | | |
| | | |
XTPL | | | |
DRAM 2 W.S. | AT CLK 40/4 | 3170.4 K/s | 0.2 ms, 0.2 ms |
DRAM 0 W.S. | AT CLK 40/4 | 3263.7 K/s | 0.1 ms, 0.1 ms |
DRAM 2 W.S. | AT CLK 40/3 | 3698.9 K/s | 0.2 ms, 0.2 ms |
DRAM 0 W.S. | AT CLK 40/3 | 3698.9 K/s | 0.1 ms, 0.1 ms |
386L No interrupt | | | |
DRAM 2 W.S. | AT CLK 40/4 | 3170.4 K/s | 0.2 ms, 0.2 ms |
DRAM 0 W.S. | AT CLK 40/4 | 3263.7 K/s | 0.1 ms, 0.1 ms |
DRAM 2 W.S. | AT CLK 40/3 | 3608.6 K/s | 0.2 ms, 0.2 ms |
DRAM 0 W.S. | AT CLK 40/3 | 3698.9 K/s | 0.1 ms, 0.1 ms |
One further clarification about my tests: I'm always "shadowing" the XTIDE rom to ram.
Is "Enable interrupt" set to Yes for the IDE controller in the 386L build? It is set to Yes by default, so if you haven't changed that you will get lower performance in DOS because polling is faster than using interrupts in a single tasking OS like DOS. The XTPL build on the other hand is always using polling as it doesn't even have MODULE_IRQ included.
So would Windows 95 run better with the 386L with the Interrupt enabled or would the XTPL still be faster? Would you please elaborate more on this? I could try this on a 386 and on a 486 to see if there's any difference but I have never loaded Windows using XTIDE. Are there any incompatibilities with Windows 9x?
Another quick question, is 128GB the size limit for a hard drive with XTIDE?
Cheers!