2 Ported to MS-DOS/OpenWatcom by Jonathan Campbell.
7 - The Sound Blaster MP3 player uses the same codebase as the test.exe
8 executable under hw/sndsb, except that some modes have been removed
9 and the code rewritten to decode and play back MP3 data.
11 - If your DOS machine has no sound card, but does have the traditional
12 "PC Speaker", you can use playspkr.exe to play the MP3 through the
13 internal beeper (using the old DPCM trick). However there may be
14 slight audio glitches depending on background processes,
15 interrupts, and disk I/O. Make sure your DOS extender and CPU are
16 fast enough to service interrupts at a high timer tick rate.
17 Playback will also not sound very good if the "PC speaker" is not
18 an actual speaker, such as the piezoelectric ones on laptops.
20 - If you have a Gravis Ultrasound, use the playgus.exe MP3 player.
21 The Sound Blaster version does NOT work with SBOS or MEGA-EM despite
24 - If you have a LPT parallel port, you can use the LPT DAC version,
25 playlpt.exe. Though playback up to 44.1KHz is supported, it may
26 not be possibly depending on whether or not the parallel port
27 delays I/O for compatability reasons, or any other sources of
30 - Experimental: If you have a Covox Sound Master, try playsm.exe.
31 Since I don't actually have a Covox Sound Master, I don't know whether
32 this works on real hardware.
37 - 16-bit real-mode MP3 decoding. Currently, libmad seems to compile properly
38 only for 32-bit flat protected mode. I got it to "sort of" compile for
39 16-bit large memory model builds, but it doesn't work properly and it seems
40 to cause memory corruption as well.
42 Specification for 16-bit real mode: Take libmad, valgrind it under Linux to
43 catch all possible problems, then incorporate the validated code into this
44 source tree. That will be the 32-bit build. Then, take the libmad source
45 code, put it under a separate directory (libmad16), modify it to use
46 14-bit precision and math that favors 16-bit integers (what will fit into
47 real-mode 8086 CPU registers), and incorporate that into /etc/libmad16.
48 Copy over the test programs here and compile them with it, to produce the
49 16-bit real mode builds. Make the makefile for libmad16 so that it only
50 produces binaries for 16-bit real mode builds. If the differences are
51 minimal enough, you could merge the two source trees into one project
52 that can produce a fast high quality decode for 386+ systems, and a faster
53 (less precise) decoder for systems as low as an 8086.