Jump to content

Running Windows 98 in 2020 and beyond...


Recommended Posts

Wunderbar98 wrote:
If anyone knows of a DOS command to start graphic Safe Mode please tell.

Continue self conversation :)

Got it, DOS command to start safe mode is 'win /d:m', that's intuitive.

So the perfect solution will be to add this to the custom DOS menu outlined above, never get locked out of system options.

Link to comment
Share on other sites

The config file in my Windows version of Dillo is watered down. Some options copied from a Linux install work. Additional items that may be relevant for C:\Windows\.dillo\dillorc below. Note:

- Geometry height ~30 pixels less than screen resolution opens full screen.
- The duckduckgo proxy engine doesn't work in Windows 98, commented out.
- Usually not too hard to add additional search engines.
- Didn't test languages or user agent.


# Set the desired initial browser size
# geometry=650x545+0+20


# Show tooltip popups for UI and for HTML title attributes


# Set the URLs used by the web search dialog.
# "%s" is replaced with the search keywords separated by '+'.
# Format: search_url="[ ]"
# You can enable multiple search_url strings at once and select from among
# them at runtime, with the first being the default.
search_url="Wikipedia http://www.wikipedia.org/w/index.php?search=%s&go=Go"
search_url="Free Dictionary http://www.thefreedictionary.com/%s"
search_url="Google http://www.google.com/search?ie=UTF-8&oe=UTF-8&q=%s"

# If set, dillo will ask web servers to send pages in this language.
# This setting does NOT change dillo's user interface.
# Format explained: www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4
# Language-REGION values: www.iana.org/assignments/language-subtag-registry
# (by default, no Accept-Language header is sent)
# http_language="de"
# http_language="pt-BR"
# http_language="vi,de-CH,de;q=0.5,th;q=0.3"

# Set the HTTP User-Agent header.
# This can be useful for privacy and for working around servers who think
# Dillo is less capable than it really is. However, if you pretend to use a
# different browser, servers may send you pages that work with the features
# and bugs of that other browser -- or even disallow access in cases like
# wget or googlebot. Remember this before submitting bug reports.
# See http://zytrax.com/tech/web/browser_ids.htm for a compilation of strings.
# http_user_agent="Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0"
# http_user_agent="Wget/1.12 (linux-gnu)"
#The default is "Dillo/"+current_version_number

Link to comment
Share on other sites

Hi deomsh.

The search engine works but result links route the data through a secure proxy. Don't think its a Dillo issue, rather Windows 98 can't handle the newer security protocols, my vanilla Windows 98 anyway.

Two search engine strings that don't work in dillorc:

Adding a bookmark for below works, just keep it at the top of the bookmark dropdown for quick access:

Startpage doesn't work either.

Another working config for dillorc, although it appears to affect cut/paste , nice scroll option though:

# Mouse middle click by default drives drag-scrolling.
# To paste an URL into the window instead of scrolling, set it to NO.
# Note: You could always paste the URL onto the URL box clear button.

Edited by Wunderbar98
Link to comment
Share on other sites

Playing, my current search engines. Most sites that use a query search box without a log-in can be converted into a Dillo 'search engine'. Just perform a search and review the returned URL, replace your query with %s.

Results vary. For example, i got a good Bing search string in SeaMonkey but it wouldn't work consistently in Dillo. It may be user agent related but i can't be bothered to figure it out. If the site doesn't make it easy, forget about it.

search_url="Bing_Images https://bing.com/images/search?FORM=FDNF&q=%s"
search_url="Free_Dictionary http://www.thefreedictionary.com/%s"
search_url="Google http://www.google.com/search?q=%s"
search_url="IMDB http://www.imdb.com/find?s=all&q=%s"
search_url="Urban_Dictionary http://www.urbandictionary.com/define.php?term=%s"
search_url="Wikipedia http://www.wikipedia.org/w/index.php?search=%s&go=Go"
search_url="Wiktionary https://en.wiktionary.org/wiki/%s"
search_url="Yahoo https://search.yahoo.com/search?p=%s"
search_url="YouTube http://www.youtube.com/results?search_query=%s&search=Search"

Regarding YouTube, it's just a search string, Dillo ain't gonna stream an HTML5 video :)

Other Dillo related. Many sites don't render well, keep your hand close to the page down key or you'll get tendonitis from scrolling. Middle clicking the scroll bar warps to that part of the page. Ctrl-s opens up the search box and, of course, Ctrl-f to find on page. Sometimes toggling Tools -> Use remote CSS or Tools -> Use embedded CSS makes the page more readable.

Downloads can be tricky. In the download dialogue popup, if the file name looks wonky just rename it what you think it should be, eg my_file.zip, and it often works. Also if the download doesn't work with the usual left-click, try right-click -> Save link as.

For me Dillo thus far has been the most functional browser in vanilla Windows 98, why i'm spending extra time on it. Although only a secondary system for legacy applications, it's nice to get online for research without dual-booting for every little thing.

For people used to a full-featured modern browser Dillo won't impress, but still pretty cool what this 20+ year old OS and a simple browser can accomplish.

Link to comment
Share on other sites

Shutdown problems, maybe Windows 98's biggest oops. After applying patches, including disable fast shutdown, still a problem. Only when shutting down with the internet router turned off, hint. No issue when the network adapter was disabled in device manager, bigger hint. Since starting to use the system online, sometimes ethernet is on, sometimes off. When off the system hangs on a black screen after selecting Shut Down, need to use the power switch.

After checking and trying the usual, found something:

Unfortunately my system was using a Realtek 8029AS chipset. Tediously tested 6 driver releases from 1998-2000, working ethernet but no shutdown success. Had 7 old ethernet cards in the basement collecting dust. Installed probably the oldest, a 3Com Fast Etherlink XL 10/100Mb TX (3C905-TX) from about 1996, success on every shutdown even with router off. Amazing how old hardware can suddenly become useful. Spending this much time getting a computer to reliably shut down is inhumane.

Bill Gates retired from MS and spends his time trying to better the world, so won't hold the shutdown issue against his crew. Still would have been nice to get a proper fix. Starting and stopping, pretty basic features. Maybe should blame Realtek, seems like the hardware is awaiting a connection and doesn't release with the shutdown command. If building a retro machine, do not use this Realtek chipset.

The 3Com ethernet card was recognized by Windows 98 without having to hunt for drivers. Only some vendor and 3rd party sites are accessible by SeaMonkey and Dillo on vanilla Windows 98 SE. Probably best to use another OS to get the required drivers beforehand.

If restarting an old machine and don't have the Windows 98 CD, avoid hardware, driver or major configuration changes. The CD is often requested to install helper software.

Due to security concerns some may not want the system online. Just disable the network adapter in Control Panel -> System -> Device Manager to avoid having to use a firewall or unplugging cables.

Another alternative is a little used feature, Control Panel -> System -> Hardware Profiles. This allows setting up different hardware profiles, such as with/without a network adapater, with a menu prompt at every boot.

Link to comment
Share on other sites

Noticed the Yahoo for Dillo 'search engine' mentioned two posts up also caches many web pages. As with Google's cached links, this allows Dillo to view the links that would otherwise not be accessible due to JavaScript or security protocol limitations.

Copied over a Dillo keysrc file from a Linux install that allows modifying default key bindings. Seems to work well. This is the stock file other than my preference added for Ctrl-right and Ctrl-left arrows to move between tabs. Just place it in the Dillo config directory, on my system C:\WINDOWS\.dillo. The file is simply named 'keysrc'.

# keysrc
# Sample dillo key bindings file.
# The format is: "key = action" or "<modifier>key = action".
# Lines that begin with a '#' are comments.
# The commented-out bindings below show the defaults built into Dillo.
# Modifiers recognized: "Shift", "Ctrl", "Alt", "Meta".
# (OS X: Use "Meta" for Command)
# Key names recognized: "Backspace", "Delete", "Down", "End", "Esc",
# "F1" through "F12", "Home", "Insert", "Left", "Menu", "PageDown", "PageUp",
# "Print", "Return", "Right", "Space", "Tab", "Up".
# Multimedia keys: "Back", "Favorites", "Forward", "HomePage", "Mail",
# "MediaNext", "MediaPlay", "MediaPrev", "MediaStop", "Refresh", "Search",
# "Sleep", "Stop", "VolumeDown", "VolumeMute", VolumeUp".
# If Dillo is running under X11, keys whose names are not recognized can
# be specified using their keysym value in hexadecimal. Use xev to get
# the keysym. Example rule: "0x1008ff27 = forward".
# The action "nop" (no operation) can be used to remove a binding.

# "open" lets you browse your local files for one to open.
#<ctrl>o = open
<ctrl>o = open

# "new-window" opens a new browser window.
#<ctrl>n = new-window

# "new-tab" opens a new tab in the current browser window.
#<ctrl>t = new-tab

# "close-tab" closes the current tab.
# Note that this closes the browser window if there is only one tab.
#<ctrl>w = close-tab

# "close-all" closes all tabs/windows and exits.
#<ctrl>q = close-all

# "left-tab" and "right-tab" switch to the left/right of the current tab.
# <ctrl><shift>tab = left-tab
# <ctrl>PageUp = left-tab
# <ctrl>tab = right-tab
# <ctrl>PageDown = right-tab
<ctrl>Right = right-tab
<ctrl>Left = left-tab

# "back" and "forward" move back/forward through the browser history.
#backspace = back
#<shift>backspace = forward
#, = back
#. = forward

# "reload" the current page.
#<ctrl>r = reload

# "home" goes to the homepage that you set in your dillorc.
#<ctrl>h = home

# "find" lets you search for a text string on the current page.
#<ctrl>f = find

# "hide-panels" hides the findbar if present, control panels if not.
#esc = hide-panels

# "websearch" lets you send a text string to the search engine that you
# set in your dillorc.
#<ctrl>s = websearch

# go to your "bookmarks".
#<ctrl>b = bookmarks

# "file-menu" pops up the file menu.
#<alt>f = file-menu

# "view-source" displays the page source.
#<ctrl>u = view-source

# "goto" goes to the location bar at the top of the window.
#<ctrl>l = goto

# "stop" loading the page.
#(stop has no default binding)

# "save" the current page.
#(save has no default binding)


#pageup = screen-up
#b = screen-up

#pagedown = screen-down
#space = screen-down

#(screen-left has no default binding)

#(screen-right has no default binding)

#up = line-up

#down = line-down

#left = left

#right = right

#home = top

#end = bottom

Edited by Wunderbar98
Link to comment
Share on other sites

The keysrc file pasted above does not appear to display properly in this forum. Important key tags are missing, such as for the Ctrl key.

Link to a sample keysrc file:

Note, the linked page does not display properly in vanilla Windows 98 using Dillo. It does, however, format properly in old SeaMonkey v1.1.19.

Edit: Fixed the keysrc file pasted in post above.

Edited by Wunderbar98
Link to comment
Share on other sites

Trying to make old SeaMonkey v1.1.19 a little more productive. It has lots of limitations on the modern web, moreso without JavaScript and avoiding Flash. Clearing popups for new certicates and outdated protocols is fatiguing. Anyone with access to a more modern browser probably would not spend much time using this old SeaMonkey.

Two of the built-in search plugins, dmoz and jeeves, are broken, leaving only Google. Added a few plugins to improve functionality, see below. If desired, paste the contents into a *.src file and place in C:\Program Files\mozilla.org\SeaMonkey\searchplugins. Changing search engines is cumbersome from preferences, it is easier to press F9 and access the search tab from the side bar.

In the above directory, recommend renaming dmoz.src to dmoz.srcDISABLE or similar, same with jeeves.src, so they no longer show in the search engine dropdown. These files may still be useful as templates if wishing to configure additional engines.

Attempted to get some multimedia. Haven't figured out how to access YouTube with the above limitations. In Linux i just use youtube-dl, don't know if something like that is available and working for Windows 98, doubtful. Don't want to access illegal mp3 sites. Best i could find for now is archive.org, which has quite a bit of multimedia, plugin below. Append search terms with keywords like: audio, video, movie, podcast, etc. Multimedia files can be downloaded without JavaScript functionality.

VLC player v0.8.6 is pretty good. IIRC it had issues playing ogg video. Sound stutters during CPU intensive tasks, which doesn't happen with the same hardware on other OS' using either VLC or mplayer. May try a different multimedia player later, just used to this VLC on old Windows.

== internet_archive.src file ==

# Internet Archive plug-in
<input name="query" user>

== duckduckgo.src file ==

# DuckDuckGo HTML plugin
<input name="q" user>

== yahoo.src file ==

# Yahoo no JavaScript plugin
<input name="p" user>
<input name="ei" value="UTF-8">
<input name="nojs" value="1">

Link to comment
Share on other sites

Microsoft RegClean v4.1a is one of my favourites. It often removes additional cruft, even after running other registry cleaners. It does, however, have a known minor issue affecting game controllers.

Most Windows 98 gamers run dxdiag.exe (DirectX Diagnostic Tool) to confirm everything is in working order, such as DirectX, video, sound and game controllers. After installing a controller and running regclean.exe, it may remove a controller registry item. This gets flagged by DirectX Diagnostic Tool, under the Input tab, the notes indicate problems found in the system registry.

This is a minor issue and may not even affect controller functionality. Nonetheless, to patch the issue, create a *.reg file from below, right-click the file and merge it back into the registry. Run dxdiag.exe again to verify a fix.

== DXDIAG_GameControllerKey.reg full fat below ==


@="Game Controllers CPL Shell Extension Default Property Sheets"



@="Game Controllers CPL Handler"

== DXDIAG_GameControllerKey.reg skinny version below ==


; Double click on this file from Explorer to automatically
; undo these deletions or modifications and return the values to the registry.

; - Modified or removed by RegClean 4.1-a (7364.0001)

@="Game Controllers CPL Handler"

Edited by Wunderbar98
Link to comment
Share on other sites

Access YouTube from vanilla Windows 98 in 2019

This is a very cumbersome manual method. Using my GNU/Linux toolbox (Bash, wget, grep, sed, awk) an automated script could be completed in minutes that would accept a YouTube URL, retrieve the video URL for the desired format, download and launch the video. If anyone has the Windows 98 tools and expertise to automate these steps it could be pretty slick, i'm out of my element.

- Full featured web browser, last running SeaMonkey v1.1.19 used below
- Built-in Microsoft WordPad as Notepad can't handle larger HTML files

Not required:
- KernelEx or other OS extensions
- Newer browser supported by KernelEx
- Browser add-ons or plug-ins, YouTube search engine optional
- JavaScript execution
- Adobe Flash or equivalent

Note a formal YouTube search is not required, you just need the YouTube video URL. The video URL can be cut/pasted from other browsers, search engines, articles, etc. For example, the custom Yahoo search engine provided earlier displays the YouTube video URL directly in the search results.

The method below would also work on other sites, it just takes time to review the HTML file to determine the actual video URL. Just like youtube-dl is able to access videos from probably hundreds of different sites. This is, however, a moving target. So i'm not picking on YouTube, it's just an example.

Stock SeaMonkey v1.1.19 no longer displays YouTube, just an out of date browser message. SeaMonkey workaround, enter about:config in URL bar, seek the useragent.extra entry, right-click and modify the general.useragent.extra.seamonkey entry, delete SeaMonkey/1.1.19. This should now be an empty entry. Reload YouTube to access site.

Optionally add the YouTube for SeaMonkey search engine below. Like other SeaMonkey search engines outlined a few posts up, paste this into an empty file, name it youtube.src and move it into C:\Program Files\mozilla.org\SeaMonkey\searchplugins.

# YouTube plug-in
<input name="search_query" user>

Find desired video, Caddy Shack movie trailer example:

Load video URL in browser, will not play the video, you just need the URL loaded to save the HTML page.

In SeaMonkey click File -> Save Page As, default save okay, probably C:\Windows\TEMP\watch.htm.

Right-click watch.htm, send to Wordpad. If a Wordpad shortcut isn't in C:\WINDOWS\SendTo then add one. Ensure the WordPad text option is set for wrap the text to window.

Open watch.htm, Ctrl-F (find) itag\. Jump through the various itag\ entries, these are the available video formats. For example, itag 18 i believe is a 360 x 640 pixel MP4 video, one of the most available formats. Immediately after this is the obfuscated video download URL.

Note the video format URL is very long, it starts after the double-quote of "https and continues until the next encountered double-quote. Below is the download URL for the YouTube address above, format 18.


Convert the URL, change all:

\/ to /

\\u0026 to &

The converted URL from above now looks like:


Paste and enter the converted URL into a new tab, video download should initiate. Set browser preference to auto-play this video type immediately after download. Manually rename the saved file if it doesn't automatically save the proper file extension, for example add .mp4.

For the next video repeat the process. Allow overwriting of any previous watch.htm file to avoid having to rename files. If unsure which watch.htm is being viewed, Ctrl-F for the keyword title to find the video title. Obviously this method needs automation.

Link to comment
Share on other sites

Hi loblo.

Last versions for Windows 98 thread indicated Python v2.5 broken but was able to install official v2.54 (December 2008) from https://www.python.org/downloads/windows/. Tried this plus the two releases you linked.

Not sure Python is the issue. The latest youtube-dl Windows versions apparently have Python built-in but require Microsoft Visual C++ Redistributable package, which only works in WindowsXP and higher.

Older versions of youtube-dl for Windows require Python v2.6 or v2.7, so thanks for the link.

Unfortunately the oldest youtube-dl.exe i could find online was from November 2014 and reportedly requires a newer version of Windows. Not knowing the history, it is unlikely youtube-dl.exe was distributed back in the Windows 98 days.

For now, not sure what else to try, probably move on and enjoy other Windows 98 adventures. I hope to keep this install relatively vanilla, don't want to get too hacky and turn it into an XP type system.

Thanks again for trying to help.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...