Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| blog:pcdevtools [2022/12/23 16:50] – [DOS SDK's & Libraries] john | blog:pcdevtools [2023/01/15 13:54] (current) – [Audio Only] john | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== DOS - Modern Development Tools ====== | ====== DOS - Modern Development Tools ====== | ||
| - | ==== 16bit & 32bit Tools ==== | + | This is my page which collects links/ |
| + | ===== 16bit & 32bit Tools ===== | ||
| - | * Homepage | + | === OpenWatcom === |
| - | * Documentation | + | |
| + | * Homepage: https:// | ||
| + | * Documentation: https:// | ||
| * Sample makefiles | * Sample makefiles | ||
| * 286 / Real mode target | * 286 / Real mode target | ||
| * 386 / Protected mode target | * 386 / Protected mode target | ||
| - | OpenWatcom | + | |
| + | OpenWatcom | ||
| + | |||
| + | The syntax of the OpenWatcom compilers and make utilities are a little ' | ||
| ==== 32bit Only Tools ==== | ==== 32bit Only Tools ==== | ||
| + | |||
| + | |||
| + | === DJGPP / GCC === | ||
| * Homepage | * Homepage | ||
| Line 16: | Line 25: | ||
| * Sample makefile | * Sample makefile | ||
| - | DJGPP / GCC | ||
| - | ==== DOS SDK's & Libraries ==== | + | |
| + | ===== DOS SDK's & Libraries | ||
| + | |||
| + | ==== Audio & Video ==== | ||
| === Allegro 4 === | === Allegro 4 === | ||
| Line 27: | Line 38: | ||
| * [[https:// | * [[https:// | ||
| * Downloads | * Downloads | ||
| - | * {{: | + | * {{: |
| * The above includes Allegro 4.2.3.1 built and patched for DJGPP, with all example code, normal, debug and profile library versions and html docs. This unpacks to **/ | * The above includes Allegro 4.2.3.1 built and patched for DJGPP, with all example code, normal, debug and profile library versions and html docs. This unpacks to **/ | ||
| * CWSDPMI.EXE (at the [[http:// | * CWSDPMI.EXE (at the [[http:// | ||
| * You need cwsdpmi.exe, | * You need cwsdpmi.exe, | ||
| - | How to build on modern compilers. | + | Allegro was basically [[https:// |
| + | |||
| + | How to build on modern compilers? Well, first of all **don' | ||
| + | |||
| + | I can only guess that Watcom/Open Watcom was not fully tested at the point the last release of Allegro for DOS was released in 2009. My experience tells me that it is not a fully working combination. Stick with **DJGPP**. | ||
| + | |||
| + | The outline process is simple: | ||
| - Download 4.2.3.1 source | - Download 4.2.3.1 source | ||
| - Unpack | - Unpack | ||
| - | - Configure for DJGPP cross-compilation (run < | + | - Configure for DJGPP cross-compilation (run '**fix.sh djgpp**') |
| - | Next you have to edit **xmake.sh** to pick up your DJGPP install. In my case it was setting the two variables **XC_PATH** and **XPREFIX** to the following: | + | But as always, the devil is in the details. If you want to use a modern version of GCC/DJGPP (and you *really* do), you have to make a few changes. First you have to edit **xmake.sh** to pick up your DJGPP install. In my case it was setting the two variables **XC_PATH** and **XPREFIX** to the following: |
| **xmake.sh** | **xmake.sh** | ||
| Line 89: | Line 106: | ||
| </ | </ | ||
| - | However, the examples don't get built via the cross compile process, so they need to be built manually: | + | However, the examples |
| < | < | ||
| Line 97: | Line 114: | ||
| i586-pc-msdosdjgpp-gcc -I/ | i586-pc-msdosdjgpp-gcc -I/ | ||
| done | done | ||
| + | cd .. | ||
| + | cd setup | ||
| + | i586-pc-msdosdjgpp-gcc -I/ | ||
| + | i586-pc-msdosdjgpp-gcc -I/ | ||
| </ | </ | ||
| + | |||
| + | .. you'll want to copy the following to the application/ | ||
| + | |||
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | |||
| + | There are some more hoops to jump through in order to build documentation, | ||
| + | |||
| + | Most of the DOS binaries (.exe files) in my archive have been compressed with **upx**, if you build from source you will want to install and use upx, as otherwise you'll find that even the tiniest Allegro tool will be 700-800KBytes in size (you pretty much end up with an entire copy of the Allegro library embedded in each one due to the limitations of the linker/ | ||
| + | |||
| + | ==== Audio Only ==== | ||
| + | |||
| + | === Apogee Sound System === | ||
| + | |||
| + | | ||
| + | |||
| + | The historic Apogee Sound System, as used on many Apogee software titles in the early 1990' | ||
| + | |||
| + | No specific documentation other than what is in the source code itself. | ||
| + | |||
| + | --- | ||
| === Judas Sound Library === | === Judas Sound Library === | ||
| - | * Homepage | + | |
| - | * Documentation | + | |
| * Downloads | * Downloads | ||
| - | * OpenWatcom | + | |
| - | | + | |
| + | * Both archives unpack to **/ | ||
| + | |||
| + | The Judas audio library is a small lightweight sound library capable of playing back multi-channel tracker modules (.mod, .xm, .s3m formats) as well as digital samples on DOS. It supports a small number of soundcards, including the following common models (and compatibles): | ||
| + | |||
| + | * SoundBlaster (original mono, non-Pro models) | ||
| + | * SoundBlaster Pro | ||
| + | * SoundBlaster 16 | ||
| + | * Gravis Ultrasound | ||
| + | |||
| + | Judas will compile and build on both Open Watcom as well as DJGPP. I've provided pre-built archives above, for both toolchains, ready to link in and use. Full documentation on including Judas in your DOS application is in the [[https:// | ||
| + | |||
| + | As an example of the performance, | ||
| + | |||
| + | --- | ||
| + | |||
| + | === Miles Sound System === | ||
| + | |||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | Used in [[https:// | ||
| - | Short description. | + | Do note that there were many, many updates to the drivers used in the Miles Sound System over the years, and some games/ |