Windows 3.00 MDK Version 59

Windows 3.00 MDK Version 59 is an early build of Windows 3.0 with Multimedia Extensions. It was publicly shared on BetaArchive on 19 December 2016.https://www.betaarchive.com/forum/viewtopic.php?t=36518
The operating system is based on Windows 3.00a and implements a series of multimedia features, such as sound drivers, applications, and screen savers. This pre-release version was likely distributed at the Multimedia Developer Conference, held by Microsoft between 27 and 28 November 1990.Keefe, Patricia. Microsoft, Tandy pitch multimedia standard, Computerworld (vol. 24, iss. 46; pp. 145). 12 November 1990.
The build notably includes support for various device drivers such as joystick-to-mouse input translation, Sound Blaster 1.x/2.0 support, and extended display capabilities. It also emphasizes strongly on audiovisual content, as support for the MIDI and Waveform specifications were implemented alongside a dedicated media player application. Certain applications included as part of Windows 3.00a were also overhauled to take advantage of the new multimedia capabilities, and applications now support emitting sound based on specific system events. A new Control Panel application design was also introduced, and screen savers were added to help prevent screen burn-in on CRT monitors.
The build comes with development tooling and code samples that allow developers to work on Multimedia PC-compatible applications.
== New features and changes ==
Most of the new features introduced in this build explicitly require the system be run under Standard or 386 Enhanced Mode, as multimedia capabilities are largely offered by the new MMSYSTEM.DLL core library.
=== Driver support ===
A number of drivers that extend upon various audiovisual capabilities are included as part of this build. Device drivers for Sound Blaster 1.x-/2.0-compatible sound cards (SNDBLST.DRV) are installed by default, in addition to a Joystick-to-Mouse driver (IBMJOY.DRV) that translates gamepad peripheral input into mouse input, as well as support for a wide range of synthesized musical instruments through the addition of configurable MIDI specification support.
Additional display drivers have also been implemented, such as a standard VGA driver supporting a resolution of 320×200px (of up to 256 colors), a grayscale VGA driver, and a 256-color CGA display driver. At this stage in development, GPU drivers such as those targeting the Trident TVGA and S3 Paradise video cards are not yet implemented.
To support the high-precision timing required for audiovisual playback, a new timer API (handled by the VTDAPI.386 library) that reads directly from a programmable interval timer was added to the operating system.
==== Sound support and Media Control Interface ====
Windows now integrates proper sound support rather than simple PC speaker beeps. To prevent the burden of writing additional playback support code for individual sound cards, three unified methods of playback are provided by the operating system:
* the waveOut API calls, which involve directly writing PCM waveform data to the sound card;
* the midiOut API calls, which handle MIDI playback, and;
* the Media Control Interface (MCI), which allows high-level control of different multimedia devices
An application can spawn a special, extensible MCI Window class that allows playback of various multimedia file formats.
==== Device-independent bitmaps ====
This build ships with a system driver that supports plotting device-independent bitmaps (DIB) in a Graphics Device Interface (GDI) device context (DIB.DRV), allowing a software developer to perform GDI operations against the DIB and having the application directly read the result in memory. This is conceptually similar to the CreateDIBSection API call added in Windows 95 and Windows NT 3.5 (and backported through WinG), but as the DIB driver is treated as an additional display adapter, it is not possible to BitBlt between the DIB device contexts and those owned by the real display, since the bitmaps backing them do not allow either context to directly display images.
=== User interface ===
Several applications from Windows 3.00a were updated or rewritten entirely to take advantage of the then-new multimedia capabilities introduced as part of the Multimedia Edition. This includes the addition of a dedicated Media Player application (MPLAYER.EXE) capable of playing audio CDs, MacroMind Director movies, Wave and MIDI streams, a rewritten Clock application (MMCLOCK.EXE) featuring support for (optionally sound-based) alarms (for every quarter-hour, half-hour and hour) and customizable clock faces, and updated versions of the Control Panel and Windows Help user interfaces—both of which later shipped as part of Windows 3.1. An updated Winver application that reports the current MDK build has also been introduced, as MMWINVER.EXE. The operating system (and subsequently the File Manager application) has also been updated to support reading data directly from a CD-ROM drive, provided by a driver loaded via the MSCDEX DOS utility.
Applications are now capable of emitting a wider range of sounds, of which include a system startup sound, as well as performing sound events for information and error dialogs. Elaborate iconography has also been introduced in certain applications to better convey their purposes from a visual standpoint. A total of nine sounds (including one MIDI sheet file) are present inside of the WINDOWS\MMDATA directory.
=== Screen savers ===
Screen savers are a new feature that debuted as part of Windows 3.00 Multimedia Edition, which are decorative, animated applications showing off various visual effects that are used to reduce the chance of screen burn-in on cathode-ray tube (CRT) monitors. These are activated after a period of idle computer activity defined by the user.
The screensavers included in this build are:
* Clock (SSCLOCK.SCR): shows an analog or digital alarm clock on the screen against a black background or in full-screen. Can be configured to play alarms, either jump around in a black screen or be shown in full screen.
* Color Wash (SSCLRWSH.SCR): displays a gradient of two colors. Allows configuring the two colors to be displayed.
* Dimmer (SSDIMMER.SCR): dims the screen to a certain percentage. Allows configuring the amount of dim and how long it takes to fully dim the screen.
* Lissajous Figures (SSLISSJU.SCR): shows trailing lines on the screen. Allows configuring the number of lines on the screen and how long before the figure changes.
* Marquee (SSMARQUE.SCR): displays text that scrolls throughout the screen. Allows configuring the text, its font and color, the background color, and scroll speed and location.
* Melt/Slime Screen (SSMELT.SCR): either shifts portions of the screen down by blocks or gradually adds green blocks to the current display. Ported from the screensaver included in the IdleWild program from the Microsoft Entertainment Pack 1–3. Allows configuring the speed of melt/slime.
* Mystify (SSMYST.SCR): displays wireframe shapes. Allows configuring the shape of the object and the colors to use.
* Raise Desktop (SSRSEDSK.SCR): hides all windows to only display the desktop. No configuration available.
* Rockets (SSROCKET.SCR): launches rockets on a black screen which explodes into fireworks. Allows configuring how fast rockets are launched.
* Show Picture (SSSHWPCT.SCR): displays a picture. Can be configured to cycle colors on the picture.
* Starfield Simulation (SSSTARS.SCR): shows white dots (stars) that zooms in towards the screen.
=== Development tooling and code samples ===
This build was distributed in two CDs:
* an "End-User Environment" disc containing the operating system installation media with MME components added, and;
* a "Development Environment" disc containing special tooling and assets needed to develop Multimedia PC-compliant applications, dubbed the Multimedia Development Kit
File:MDKBeta EndUserEnvironment.png|End-User Environment CD
File:MDKBeta DevEnvironment.png|Development Environment CD
The Development Environment disc features samples for five test applications written in the C programming language, which include:
* Go, an interactive abstract strategy board game that tasks the player with capturing as much territory as possible using black/white stones while also trying to fend off the opponent player 
* a MacroMind Director movie player (MMPLAY)
* a Media Control Interface (MCI) test application (MCITEST)
* an application that plays Wave files in reverse (REVERSE)
* a Sound Blaster device debugger (SBTEST)
Five development tools are present in the latter disc, which include
* BitEdit, a device-independent bitmap (DIB) image editor
* PalEdit, a color palette editor used in conjunction with creating DIBs
* WaveEdit, a tool used to edit audio samples in Wave files
* Convert, which supports converting one file to many audiovisual formats (such as TIFF, CompuServe GIF, MIDI, and Wave)
* FileWalk, a multi-purpose file editor featuring support for hex editing as well as DIB, palette and RIFF/WAVE file modification
Debug and non-debug components as well as C headers and libraries for the Multimedia System Core and related functions are also included as part of the Development Environment disc. It is possible to perform a direct system upgrade from Windows 3.00(a) to this build via the MDK setup application.
The updated Windows Help application in this build includes a small set of stress tooling for the GDI, hidden inside of an unlabeled drop-down menu item.
== Bugs and quirks ==
* Setup does not provide configuration for the Sound Blaster driver, and defaults to I/O port 0x220 and IRQ 3. They can be changed via the Drivers applet in the Control Panel. The user is informed about this after setup finishes.
* The Control Panel application title erroneously changes to "MIDI Mapper" after closing the MIDI Mapper applet.
* There is no valid program association for either Wave or MIDI files at this point in development. They must be manually assigned to via the File Manager or directly opened in the Media Player.
== File differences ==
== Gallery ==
Win3mdkv99bs.png|Boot screen
Win3mdkv99fb.png|Empty desktop
Windows30-MMEBeta-Demo.png|Demo
Win3mdkv99aee.png|Application execution error
Windows30-MMEBeta-About.png|About dialog
Win3mdkv99es.png|End session
==== Applications ====
Win3mdkv99clock3.png|MMClock
Win3mdkv99readme.png|Notepad
Win3mdkv99fm.png|File Manager
Win3mdkv99mplayer.png|Media Player
Win3mdkv99paint.png|Paintbrush
Win3mdkv99help2.png|Windows Help
==== Control Panel ====
Win3mdkv99cp1.png|Control Panel
Win3mdkv99cp12.png|Display settings
Win3mdkv99cp13.png|Installed driver list
Win3mdkv99cp14.png|Joystick configuration
Win3mdkv99cp16.png|MIDI Mapper
Win3mdkv99cp17.png|Sound settings
Win3mdkv99cp18.png|Screen saver settings
==== Screen savers ====
Win3mdkv99cp21.png|Clock
Win3mdkv99cp22.png|Color Wash
Win3mdkv99cp23.png|Dimmer
Win3mdkv99cp24.png|Lissajous Figures 
Win3mdkv99cp25.png|Marquee
Win3mdkv99cp26.png|Melt
Win3mdkv99cp27.png|Mystify
Win3mdkv99cp28.png|Raise Desktop
Win3mdkv99cp29.png|Rockets
Win3mdkv99cp30.png|Show Picture
Win3mdkv99cp31.png|Starfield
=== Setup ===
Win3mdkv99setup1.png|Starting setup
Windows30-MMEBeta-Setup.png|Setup
Windows30-MMEBeta-Setup2.png|Found existing Windows installation
Windows30-MMEBeta-Setup3.png|Upgrade or Complete Install?
Win3mdkv99setup3.png|Directory confirmation (Without existing Windows installation)
Win3mdkv99setup4.png|Config confirmation
Win3mdkv99setup5.png|Copying files
Win3mdkv99setup6.png|GUI Setup
Win3mdkv99setup9.png|File copy phase
Win3mdkv99setup11.png|Config file modification
Win3mdkv99setup12.png|Ditto, commit message
Win3mdkv99setup13.png|Printer settings
Win3mdkv99setup14.png|Application setup
Win3mdkv99setup16.png|Ditto.
Windows30-MMEBeta-Setup4.png|Hardware configuration notice
Win3mdkv99setup19.png|End of setup
== Notes ==
== References ==
Category:Pre-release builds of Windows 3.0
Category:Builds of Windows 3.0 with Multimedia Extensions