Skip to content

Commit

Permalink
Millennium support - readme/changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
JHRobotics committed Jun 7, 2022
1 parent 21c62b5 commit 028f757
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 3 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
0.6.23
- (untested) Windows Millennium Edition support (with -millennium argument)
- some minor fixes for copy/backup/patch files operations
- fixed processing W4 files (DS compressions/decompressions bugs)

0.6.13
- more testing and stability
- fixed memory leaks
Expand Down
14 changes: 12 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,27 @@
# Patch for Windows 98 to fix TLB invalidation bug
# Patch for Windows 98/Me to fix TLB invalidation bug

MS Windows 98 won't run on newer CPU (even in virtual machine) due to "TLB invalidation bug".
The Bug is described there: https://blog.stuffedcow.net/2015/08/win9x-tlb-invalidation-bug/

![Bug animation on Windows 98](/doc/shell32.gif)

If you want run Virtual Machine without restriction with Windows 98 on AMD Zen 2 and newer (Ryzen 3000+)
or Intel Core 11th generation and newer (code names Rocket Lake, Tiger Lake) you probably need this patch.

## Requirements

This patch only works for Windows 98 / Windows 98 SE. Windows 95 probably hasn't this bug, but has another named
"CPU speed limit", there is patch for it: [Windows 95 patch](http://www.tmeeco.eu/9X4EVER/GOODIES/FIX95CPU_V3_FINAL.ZIP).
Windows 98 FE (First Edition) and Windows 98 Beta releases has same bug as Windows 95 too.

Windows ME has this bug in code, but from my observation, the system call this code very rarely.
Windows Me has this bug in code, but from my observation, the system call this code very rarely.
But testing code for Windows Me is present, if you want test it, call program with `-millennium` argument.
```
patcher9x -millennium
```

Some Millennium updates installs new VMM.VXD file - KB 296773 (ME296773.exe). Patch is compatible with this update, but
after updating you need to install the patch again.

## Download

Expand Down
7 changes: 6 additions & 1 deletion patcher9x.c
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,12 @@ static int read_arg(options_t *options, int argc, char **argv)
{
options->no_backup = 1;
}
else if(istrcmp(arg, "-millennium") == 0)
else if(istrcmp(arg, "-millennium") == 0
/* for idiots like me, who cannot write "millennium" correctly */
|| istrcmp(arg, "-milenium") == 0
|| istrcmp(arg, "-millenium") == 0
|| istrcmp(arg, "-milennium") == 0
)
{
options->millennium = 1;
}
Expand Down

0 comments on commit 028f757

Please sign in to comment.