
In this tool-assisted education video, I demonstrate how to write a S3M player from scratch. S3M is music module format improved from MOD, inferior to IT or XM, introduced in Scream Tracker version 3. You see me type every line. The resulting program supports most of S3M features and special effects, though not all. There might be a bug or two there too, but in most songs I've tested the bugs are well hidden :) Most significant limitations: No AdLib support, and 8-bit mono sound only. It would be easy to change the program to produce 16-bit stereo signal instead, but then the Sound Blaster interfacing code would have been longer. I would have to use DMA; now I was able to just write to the DAC directly. If I wrote this in Linux using ALSA / OSS, it'd be easier, but at the time when I created this video, that was not possible for me. It would be flower picking kind of trivial to add AdLib support, too, but I could not reasonably fit that into this time limit, and it would also have changed this into rather exclusively a DOS program. I wanted to keep this cross-platform, aside from the Sound Blaster driver in the beginning of the code. The only sound in this video is produced by the program that I create in this video. The songs: Axel F by unknown author; Satellite One by Purple Motion. Disclaimer: MS-DOS is not my primary programming platform. Far from it; but DOSBox is a convenient platform to record videos from, so that is why this is a DOS program. Youtube limits the <b>...</b>
c++
dos
live
computer
programming
s3m
scream
tracker
mod
player
example