First post, by Oerg866
Hello everyone,
as a result from my earlier inquiry (Writing DOS device drivers in C), I would like to share with you what I am working on.
This is K6INIT, a initialization driver for MS-DOS that enables some features of the AMD K6-2/2+/3/3+ processors (Write Allocate, Write Combine). This is similar to FASTVID on Pentium systems.
It is designed to work around the limitations of SetK6 and K6DOS.SYS. The former requires that you have no memory manager installed, the latter does not work on Chomper Extended (CXT) K6-2 chips, is a bit buggy from what I saw when disassembling it and too unflexible for me.
So, compared to other tools, this can be loaded from CONFIG.SYS, works even with a memory manager installed and supports K6-2 (CXT) CPUs..
What it does without any parameters:
- Queries VESA Bios for LFB address(es) and size
- Sets MTRR register for Write combining for the LFB
- Detects system memory size and presence of 15-16M Hole
- Enables Write Allocate for the entire system memory range
- Enables Write Ordering for all memory regions except uncacheable / write-combined regions.
This configuration sequence can be altered and overridden with many command line parameters.
Other features
- Allow setting of multiplier on supported CPUs (K6-2+/K6-III+)
- Allow setting of custom Write Combining regions
- Allow setting of Write Ordering mode
- Allow setting of custom Write Allocate settings
You can load it in CONFIG.SYS (do this before loading a memory manager):
DEVICE=K6INIT.EXE <parameters>
Or, if running a supported (e.g. JemmEx) or NO memory manager, on a prompt:
K6INIT.EXE <parameters>
The parameters are OPTIONAL. A detailed list with examples of them can be found here: https://github.com/oerg866/k6init#command-line-parameters
Screenshot:
Source code available here: http://github.com/oerg866/k6init
Latest version 0.91 available here: https://github.com/oerg866/k6init/releases/tag/v0.91
It's probably not even good code (my first time dancing with low level DOS stuff), but it gets the job done (I hope).
Any feedback is appreciated.
Please like comment subscribe and follow me on instagram *shot*
Best regards,
Eric