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:51] – 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 | ||
Line 38: | Line 55: | ||
- Configure for DJGPP cross-compilation (run ' | - Configure for DJGPP cross-compilation (run ' | ||
- | 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/ |