The Stack Overflow podcast is back! Listen to an interview with our new CEO.
454

This is because of a flaw in the way Windows 95 generates events, and the fact that many applications are event driven. Windows 95 applications often use asynchronous I/O, that is they ask for some file operation like a copy to be performed and then tell the OS that they can be put to sleep until that operation finishes. By sleeping they allow other ...


97

Yes, it's a real effect resulting in causing a measurable speed up and can be reproduced at will: Try opening a large file with Notepad on a contemporary machine. The window must not be full screen. When loaded, mark all text using the mouse (the keyboard works as well, it just needs more manual skill). While still holding the button down (and marking) move ...


35

It wasn't just Windows 95, but Windows 3.x as well, even though they work very differently. Other answers talk about pre-emptive multitasking, so let's first clarify this: Window 3.x was using cooperative multitasking where each app would release the cpu for the other apps to use it. Windows 95 uses pre-emptive multitasking where each app is allocated a ...


34

The Meltdown attack is about figuring out what's in protected memory (typically, kernel memory) by arranging for it to be speculatively read, and then looking for residual side effects after the speculative read is discarded. MS-DOS is immune to Meltdown because it doesn't do memory protection. If you want to figure out what's in RAM, you can simply look. ...


24

I have not tried any of these, not having a Windows 98 system, but a bit of research reveals: Internet Explorer 6 SP1 was the last IE, in 2001. Firefox 2 was the last Firefox in 2006. Netscape 8 (2005) or Netscape 9 (2007) are available here. Opera 10 (2009) seems to be the last available, here. Safari and Chrome never supported Windows 98. Browsers ...


24

At that point, Setup executes WALIGN.EXE. Some information could be found back then at Microsoft's Knowledge Base (*1): Winalign.exe and Walign.exe (*2) optimize programs by rewriting a program's file headers, creating a new section table, and then writing file sections, each of which starts on a 4-kilobyte (KB) boundary. The new section table is then ...


23

That latest web browser I am able to find is K-Meleon 74 Windows 9x Edition. It was created in 2014, when the Pale Moon engine (Goanna) was backported for Windows 2000. It requires KernelEx (and the latest updates) and a rather beefy old machine to run. You could also experiment with other later browser versions on top of KernelEx, as it adds NT support to ...


20

A Duron of this era is a cut-down version of a Thunderbird Athlon, and is broadly comparable to a Coppermine (Pentium III) Celeron. Paired with the right audio/video hardware, it's absolutely capable of playing most 1990s DOS games, although a few (and an even larger number of 1980s games) may have trouble with it running too fast. It will also run Windows ...


20

The very first step of an attack is to probe the target for platform. Pentesting applications such as metasploit have much more numerous and varied techniques to breach Windows 98 as opposed to the newer Windows versions. By extension, most malware in the wild will also check for platform. In fact, much of that malware has its origins in Metasploit, ...


20

The reason is because of how WM_TIMER is limited to 15.6ms intervals by default. If you call SetTimer() with a 1ms interval it will still be called in 15.6ms intervals. WM_TIMER drives a lot of stuff in Win32 applications like network packet processing and such. Moving the mouse causes WM_TIMER events to fire more often on Win95. So some applications will ...


18

I might have found a stable way to limit Windows 98 to use only 1Gb of RAM with HimemX: Install Windows 98 with 1Gb of RAM or less; Download himemxfrom https://sourceforge.net/projects/himemx/; Extract himemx.zip and copy himemx.exe to C:\Windows\ under Windows 98; Open the Run dialog box (Windows + R), type sysedit and press Enter; Open the file C:\CONFIG....


17

The Windows 98 memory manager only supports a maximum of 1GB. This amount of memory was considered beyond huge for the time, and by the time people commonly had that much or more memory, Microsoft expected people to be using either newer versions of Windows 9x, or Windows NT. From Raymond Chen's blog The Old New Thing: Windows 98 bumped the limit to 1GB ...


17

There are three basic ways: a) Get a LAN card and setup a workgroup with all drives shared and access whatever needs to be backuped to your new machine. This is quite dependant on installed software. But chances are good that some NE2000 compatible card driver is already installed. You have to check what I/O bus system is used and buy the apropriate card. ...


17

Raymond Chen from Microsoft has a great answer on his blog: One danger of the MsgWaitForMultipleObjects function is calling it when there are already messages waiting to be processed, because MsgWaitForMultipleObjects returns only when there is a new event in the queue. His blog is a great read!


15

For the most part you're correct. Neither MS-DOS nor Windows 95/98/ME implemented a security model that would not be impacted by the Meltdown or Spectre vulnerabilities. MS-DOS didn't protect memory at all, Windows 9x's separation of user and "kernel" memory was just to protect against user processes accidentally from modifying memory outside of their ...


14

Presuming a totally fresh installation of everything and access to all the needed installation media. Also, presuming that the Shuttle X PC can read the SD card through the SD to IDE adapter. Planning Partition Sizes The size of the SD is likely to cause the most problems. Windows XP system requirements is for at least 1.5GB of available hard disk space. ...


13

It very much depends on what you're trying to do - Lynx's latest release is from 2018, runs on Win95, and is very lightweight, but, you know, lacks graphics. I also use Dillo on old machines when I just need Wikipedia. (Yeah, it does not have nice prebuilt Win binaries as far as I can tell.) // would've like to comment, but I lack the reputation!


12

(The question How could one say that older operating systems are more vulnerable? on Security Stack Exchange (linked by Stephen Kitt in the comments) provides a more in-depth answer, but I will try to provide a high-level answer here as well.) Yes and no, mostly no. Yes in the sense Windows 9x is vulnerable to most of the exploits patched by the various ...


11

Mostly no. Pre-XP versions of Windows are certainly vulnerable to targeted attacks, such as you'd see from Metasploit -- if you're the sort of high-value target that attracts such attacks, don't run Windows 98. However, most malware isn't that flexible. Instead, it's programmed to run on popular versions of Windows (typically XP or newer) and nothing else:...


11

Arguably, this is a common bug in early software based on an event-processing loop rather than a Windows bug: if some DD-paths of the loop only process a single event, then every time when two events are generated simultaneously, only one is processed and the other gets stuck. Moving the mouse generates more incoming events and restarts the loop. "Mouse move"...


10

File System Windows 98 typically uses FAT32, whereas later versions of Windows support NTFS. While it should recognize a flash drive at the low-level hardware no matter what file system is installed, it will likely not show it 100% correctly if it is using NTFS instead of FAT32. My advice is to format the flash drive on a newer computer/OS using FAT32 (...


9

Articles Q190355 and Q195737 previously available on microsoft.com provided a little documentation about the .scf script file format: Example 1: Show Desktop (from Q190355): [Shell] Command=2 IconFile=explorer.exe,3 [Taskbar] Command=ToggleDesktop Example 2: View Channels (from Q195737): [Shell] Command=3 IconFile=shdocvw.dll,-118 [IE] Command=Channels ...


8

SCF files are just another form of shortcuts to access various system functions with syntax identical to *.ini files. They are handled by shell32.dll. Parameter 'Command' determines how is the file handled. Possible values: Posts internal message to windows main process (systray.exe). At a glance it doesn't seem like message with this ID (0x4C8) is handled ...


8

Windows 95 and 98 require an x86-type CPU (and more generally, a PC, with BIOS, etc.), so they can't run on PowerPC G3-based computers without an emulation layer of some sort.


8

This flaw does not affect MS-DOS because there is no kernel protection to subvert. It affects any protected mode Windows of any era that has a speculative CPU. However, nothing before the Pentium Pro speculatively executed so a regular Pentium or below does not exhibit the bug. Therefore it is unlikely to affect a substantial number of real machines. ...


8

You will generally find that the all ones method works for Microsoft software released before 2001-2003. Microsoft's 25-character product keys (which were alpha-numeric and cryptographic in nature) first appeared in the Windows XP and Office XP. Of course, not all of Microsoft's products switched to the 25-character product key approach right away, but as ...


8

In short, Windows aligns application code on 4kb memory boundaries to load applications faster from disk or memory cache. This works well for large applications like office, internet browsers, graphic editors... A good detailed explanation can be found here: https://www.techrepublic.com/article/speed-up-windows-98-applications-with-winalign/


7

You are probably not linking to the winsock library. Depending on the winsock version you are targetting, you should use either ws2_32.lib for Winsock 2 (which you seem to be using), or wsock32.lib for Winsock 1.1


7

This is a rather broad question, but the answers are inter-related so here goes. Should I build a Win95 or Win98 computer in order to also play DOS games (System Shock, Teranova...)? This was common in the late 90s: PCs mostly ran Windows 95 or 98 then, but still ran DOS games too. I know some DOS games plays too fast on systems that are too powefull, ...


7

Your best option is probably to skip Windows entirely. A Linux livecd will be able to read your filesystem, and has the drivers to use your USB ports built-in. My personal preference would be for System Rescue CD - it requires a Pentium or newer, but other than that, should support almost any hardware.


Only top voted, non community-wiki answers of a minimum length are eligible