Windows 3.0 with Multimedia Extensions 1.0
Build of Windows 3.0 | |
![]() | |
OS family | 16-bit Windows |
---|---|
Version number | 3.00a |
Architecture | x86 (IBM PC/AT, NEC PC-98, Fujitsu FM TOWNS) |
About dialog | |
Windows 3.0 with Multimedia Extensions 1.0 (also called Multimedia Windows by some sources) is a special, multimedia-centric release of Windows 3.0, exclusively released on 20 October 1991 to various original equipment manufacturers (OEMs). Currently available releases include a vanilla SDK release for IBM PC in English, a Tandy release for the PC in English and German, an English release for the PC by Creative Labs, and Japanese releases for NEC PC-98 and Fujitsu FM TOWNS. This was Microsoft's first serious attempt to address the multimedia market on Windows.
It is the first version of Windows to support sound output and includes new programs for audio and video playback, including the first version of Media Player, new drivers for CD-ROM drives, sound cards, displays and joysticks and screensavers, as well an updated Control Panel. Most of these changes were later incorporated into Windows 3.1. Although the operating system supports running in real mode, the new changes are only available in the Standard and 386 Enhanced modes.
Information from antitrust documents[edit | edit source]
An internal Microsoft document released during the Comes v. Microsoft antitrust hearings details the initial development plan for a "Multimedia Windows" release.[1] According to the document, the alpha release was shipped to 35 external testing groups on 15 June 1990, with 25-30 additional sites to receive it on 1 August 1990. The beta release was to be released in mid-October 1990 and the final OEM Adaptation Kit (OAK) in December 1990.
Tandy is mentioned as the first OEM to launch their multimedia-capable PC-compatibles with Multimedia Windows. IBM, Fujitsu, Sharp, Olivetti, Zenith, Sony and Intel are listed as potential candidates for release. Microsoft Works for Windows with Multimedia extensions is mentioned as one of the apps to tie in with new features of Multimedia Windows.
New features[edit | edit source]
Windows with Multimedia Extensions comes with a wide array of features, most of which require the system to run in Standard Mode or Enhanced Mode, and most of which are provided through the MMSYSTEM.DLL file.
MCI & Sound Support[edit | edit source]
For the first time, Windows now integrates proper sound support rather than simple PC speaker beeps. To prevent application writers from having to add support for the myriad of available sound cards, Microsoft provides three main ways to support sound on Windows with Multimedia Extensions: the waveOut API calls, which involve directly writing PCM waveform data to the sound card, the midiOut API calls, which cause MIDI playback, and the MCI (Multimedia Control Interface) APIs, which allows high-level control of many different multimedia devices. An application could even create an "MCI Window", a special window class that allowed playback of many different kinds of multimedia files, and could even be extended.
The Media Player application is merely a shell for an MCI Window. Video for Windows extended the MCI technology to add the ability for MCI to control AVI playback.
High-Resolution Timers[edit | edit source]
To support the high-precision timing required for sound, video, and animation playback, Windows with Multimedia Extensions adds a timer API, featuring API calls such as timeGetTime, which reads directly from the PIT's interrupt timer.
Joystick Support[edit | edit source]
Windows with Multimedia Extensions integrates support for basic two-button two-axis joysticks through the joyGetPos API.
DISPDIB.DLL & DIB.DRV[edit | edit source]
Windows with Multimedia Extensions ships with a system driver named DIB
, allowing a software developer to create a GDI device context around a device-independent-bitmap in memory, thus allowing one to perform GDI operations onto the DIB and then have the application directly read the result out of the bits. This is conceptually similar to the CreateDIBSection
API call added in Windows 95 and NT 3.5 (and backported through WinG), but since DIB.DRV is treated as an additional display adapter, you cannot BitBlt between DIB.DRV device contexts and those owned by the real display, since the bitmaps backing them (ostensibly "device-dependent" bitmaps, really just stored in the format of the driver which is a DIB for DIB.DRV and an arbitrary format for the main display driver), so it doesn't allow one to directly display the DIB onto the screen.
However, Windows with Multimedia Extensions also ships with a DLL called DISPDIB.DLL
, which allows one to suspend GDI and directly access the VGA (Mode 13h; 320x200x256) framebuffer at 0xA0000 (accessed through a selector exported by KERNEL) for high-speed display of graphics and animations. In concert with DIB.DRV, this enables the Windows desktop to run in VGA Mode 13h, since DIB.DRV provides GDI operations onto the DIB surface, and DISPDIB can draw them, allowing for the 320x200 VGA driver that comes with Windows with Multimedia Extensions. Some applications targeting Windows versions 1.0, 2.x, and 3.0 had already bypassed requiring GDI calls by directly accessing the video card, but as VGA slowly became a widely-adopted standard for new computers, Microsoft formalized the arrangement.
New applications[edit | edit source]
Tandy OEM[edit | edit source]
Windows Help[edit | edit source]
Windows Help in this release is version 3.07. The About dialog also states "Version 3.1.061d", which is caused because SHELL.DLL
from Windows 3.1 build 061d is included.
Control Panel[edit | edit source]
About dialog says "Control Panel for Windows graphical environment with Multimedia Extensions 1.0" and "Version 1.0".
Auto Install[edit | edit source]
A Tandy OEM application for installing other applications from removable media. Version 1.0.
Welcome[edit | edit source]
A fullscreen, run-once Tandy OEM application that says, "Tandy presents the world of multimedia".
Multimedia Main Menu[edit | edit source]
A Tandy OEM application for easy access to various multimedia demos, applications, and the Program Manager.
Reset Tandy Demo[edit | edit source]
A Tandy OEM application which resets the default shell back to FindCD.
FindCD[edit | edit source]
A Tandy OEM application that offers a tutorial and sound test. When finished, it first starts the Welcome application and then the Multimedia Main Menu.
Creative Labs OEM[edit | edit source]
The Creative Labs OEM notably includes utilities from the Sound Blaster driver kit, including the Sound Blaster Pro Mixer.
Problems and fixes[edit | edit source]
Startup fix (Tandy OEM)[edit | edit source]
On the Tandy version, the default shell is set to FindCD (see above). This requires the user to insert the installation CD, but the application often hangs at the start (possibly due to bad soundcard configuration), preventing the user from booting into Windows itself without changing the shell back to Program Manager in SYSTEM.INI
.
To do this you must open the file SYSTEM.INI
in the installation directory, find the [boot]
section and change the line shell=findcd.exe
to shell=progman.exe
. Windows will now start Program Manager on startup.
This doesn't apply to the non-Tandy versions since they set the shell to PROGMAN.EXE
by default.
VGA cards in 386 Enhanced Mode[edit | edit source]
Some VGA cards may not work or detected properly under 386 Enhanced Mode with this version unless a certain EMMExclude
setting is set in SYSTEM.INI
.[2] This issue is also known to affect Virtual PC 2004 and 2007.[3]
Other[edit | edit source]
Both Tandy and non-Tandy versions include special video drivers, including a 320×200×256 color driver; with special fonts, it works on any virtualization software that emulates a VGA card. It can also be used on later versions of Windows (up to Windows 95) by upgrading from this version.
File differences[edit | edit source]
The following files have been introduced or removed compared to Windows 3.00 MDK Version 59:
Name | Description | Version |
---|---|---|
ALARMCLK.EXE | ||
ALARMCLK.HLP | ||
ALMONDS.MID | ||
CALC.HLP | ||
CALENDAR.HLP | ||
CANYON.MID | ||
CARDFILE.HLP | ||
CDISC.BMP | ||
CLIPBRD.HLP | ||
CONTROL.CPL | ||
CONTROL.HLP | ||
CONTROL3.EXE | ||
CPL.HLP | ||
DISPDIB.DLL | ||
GONG.WAV | ||
HYPER.ICO | ||
METBLAST.MID | ||
MIDI.BMP | ||
MIDIMAP.CFG | ||
MMCBOX.EXE | ||
MMDLG.DLL | ||
MMJBOX.EXE | ||
MMSETUP.EXE | ||
MMSETUP.INF | ||
MPLAYER.HLP | ||
MSD.EXE | ||
MUSICBOX.EXE | ||
MUSICBOX.HLP | ||
NOTEPAD.HLP | ||
PASSPORT.MID | ||
PBRUSH.HLP | ||
PIFEDIT.HLP | ||
PRINTMAN.HLP | ||
PROGMAN.HLP | ||
RECORDER.HLP | ||
REVERSI.HLP | ||
SAMPLE.MMM | ||
SB15SND.DRV | ||
SBFM.DRV | ||
SBPMIXER.EXE | ||
SBPR.BMP | ||
SCRNSAVE.SCR | ||
SIREN.WAV | ||
SOL.HLP | ||
SOUNDREC.EXE | ||
SOUNDREC.HLP | ||
STOMP.MID | ||
SYSINI4.TXT | ||
T1024.DRV | ||
TERMINAL.HLP | ||
VADMAD.386 | ||
VERINFO.EXE | ||
VGA.DRV | ||
VGAGRAY.DRV | ||
VGAPAL.DRV | ||
VSBD.386 | ||
WATER.WAV | ||
WAVELINE.FON | ||
WINBLA.BMP | ||
WINFILE.HLP | ||
WINHELP.INI | ||
WININI3.TXT | ||
WRITE.HLP | ||
WUGNET.TXT |
Name | Description | Version |
---|---|---|
ADLIB.DRV | ||
CLAVIER.MID | ||
CPL.EXE | ||
DOOR.WAV | ||
MCIPIONR.DRV | ||
MEDBITS.MMH | ||
MIDIMAP.INI | ||
MMCLOCK.EXE | ||
MMCPL.CPL | ||
MMWINVER.EXE | ||
MPU401.DRV | ||
SNDBLST.DRV | ||
SSCLOCK.SCR | ||
SSCLRWSH.SCR | ||
SSDIMMER.SCR | ||
SSROCKET.SCR | ||
SSRSEDSK.SCR | ||
SSSHWPCT.SCR | ||
T1024C.DRV | ||
TRAIN.WAV | ||
VGAGREY.DRV | ||
WINFILE.INI |
Gallery[edit | edit source]
OEM versions[edit | edit source]
Fujitsu FM TOWNS OEM[edit | edit source]
NEC PC-98 OEM[edit | edit source]
References[edit | edit source]
- ↑ Iowa District Court for Polk County. Plaintiff's Exhibit #7531, Comes v. Microsoft.
- ↑ Troubleshooting Unsupported VGA Cards with Windows 3.0
- ↑ Windows 3.0 386 Enhanced mode in VPC - BetaArchive