Remove hint.html and index.html
As per discussions on GitHub the index.html and hint.html files should be deleted in favour of README.md files (from any .text/.txt/.markdown/.md files which will be turned into README.md in an upcoming commit).
This commit is contained in:
1 parent
ee8a36310f
commit
77fb0f11a2
143 files changed
-28606
No files matched your search
@@ -1,187 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta name="GENERATOR" content="mkd2html 2.1.3 DL=DISCOUNT">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
|
||||
<link rel="stylesheet"
|
||||
type="text/css"
|
||||
href="../hint.css">
|
||||
<title>Most sound</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Most sound</h1>
|
||||
|
||||
<p>Daniel Vik<br>
|
||||
802 Durshire Way<br>
|
||||
Sunnyvale, Ca 94087<br>
|
||||
<a href="mailto:daniel@vik.cc">daniel@vik.cc</a><br>
|
||||
<a href="http://www.danielvik.com">http://www.danielvik.com</a></p>
|
||||
|
||||
<h2>Judges' comments:</h2>
|
||||
|
||||
<h3>To build:</h3>
|
||||
|
||||
<pre><code>make vik
|
||||
</code></pre>
|
||||
|
||||
<h3>To run:</h3>
|
||||
|
||||
<pre><code>./vik file.mod > audio_file.raw
|
||||
</code></pre>
|
||||
|
||||
<h3>Try:</h3>
|
||||
|
||||
<pre><code>./vik randowan.mod | mplayer -demuxer rawaudio -
|
||||
./vik mad_world.mod | mplayer -demuxer rawaudio -
|
||||
</code></pre>
|
||||
|
||||
<p>Alternatively, you can use</p>
|
||||
|
||||
<pre><code>./vik file.mod > file.raw; ./raw2wav file.raw > file.wav
|
||||
</code></pre>
|
||||
|
||||
<p>It is possible to download a number of Mod files from <a href="http://modarchive.org">The Mod Archive</a>.</p>
|
||||
|
||||
<p>The randowan.mod and mad_world.mod files were created by
|
||||
<a href="http://www.translucentboy.com">Henrik Bertilsson</a> and
|
||||
are included with his permission.</p>
|
||||
|
||||
<h3>Selected Judges Remarks:</h3>
|
||||
|
||||
<p>This entry converts .MOD audio files to a playable stream
|
||||
in a most pleasing manner if you don’t like tremolo or vibrato.</p>
|
||||
|
||||
<p>Also it abuses the C compiler and/or assembler with a partially
|
||||
initialized 32 MByte array. Can you tell what is that partial
|
||||
initilzation for?</p>
|
||||
|
||||
<p>Does it take your system a long time to compile? You may want to do try:</p>
|
||||
|
||||
<pre><code> cc -S vik.c
|
||||
</code></pre>
|
||||
|
||||
<p>and to examine the resulting assembly file vik.s. On some platforms
|
||||
the assembly file is about 128 MBytes in size!</p>
|
||||
|
||||
<h2>Author’s comments:</h2>
|
||||
|
||||
<h1>Introduction</h1>
|
||||
|
||||
<p>In 1987, Karsten Obarski changed the way music was handled in games and
|
||||
demos with the introducton of the MOD file format on Commodore Amiga.</p>
|
||||
|
||||
<p>A MOD file contains a set of samples, a number of patterns indicating
|
||||
how and when the samples are to be played, a list of what patterns to
|
||||
play in what order, and a number of effects.</p>
|
||||
|
||||
<h1>Features</h1>
|
||||
|
||||
<p>This program converts MOD files created with the standard trackers for
|
||||
Amiga, e.g. Pro Tracker, Noise Tracker and Sound Tracker to raw 16 bit
|
||||
44.1kHz stereo audio. The program supports MOD music with 4, 6, and 8
|
||||
channels MOD files with up to 31 samples.</p>
|
||||
|
||||
<p>The MOD format includes many effects for each audio channel and this
|
||||
program supports most of them, including:</p>
|
||||
|
||||
<ul>
|
||||
<li>Arpeggio</li>
|
||||
<li>Slide and fine slide up/down/to note</li>
|
||||
<li>Set sample offset</li>
|
||||
<li>Volume slide</li>
|
||||
<li>Pattern break</li>
|
||||
<li>Filter on/off</li>
|
||||
<li>Set volume</li>
|
||||
<li>Cut sample</li>
|
||||
<li>Delay sample</li>
|
||||
<li>Delay pattern</li>
|
||||
<li>Set speed</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<p>Due to size constraints tremolo and vibrato is not supported. Also, to
|
||||
avoid infinite long songs, the position jump feature is ignored.</p>
|
||||
|
||||
<h1>Songs</h1>
|
||||
|
||||
<p>With his permission, the package incldues two songs composed by Henrik
|
||||
Bertilsson, also known as Deelite:</p>
|
||||
|
||||
<ol>
|
||||
<li> Mad World</li>
|
||||
<li> Randowan</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<h1>Build</h1>
|
||||
|
||||
<p>Compiling for *nix systems (including cygwin) is straight forward:</p>
|
||||
|
||||
<pre><code>$ gcc -o vik vik.c
|
||||
</code></pre>
|
||||
|
||||
<h1>Usage</h1>
|
||||
|
||||
<h3>Convert MOD file to raw 44.1kHz stereo audio file</h3>
|
||||
|
||||
<pre><code>$ ./vik mad_world.mod > audio_file.raw
|
||||
</code></pre>
|
||||
|
||||
<h3>Listen to the MOD file (streaming to mplayer)</h3>
|
||||
|
||||
<pre><code>$ ./vik randowan.mod | mplayer -demuxer rawaudio -
|
||||
</code></pre>
|
||||
|
||||
<p>(Don’t forget the last ‘-’ as it makes mplayer read from stdin.)</p>
|
||||
|
||||
<h1>Obfuscation</h1>
|
||||
|
||||
<p>The IOCCC rules did not put a limit on the entropy of the source code,
|
||||
and it appears that the general entropy rules doesn’t apply. An estimate
|
||||
is that the code density entropy of this entry is ~1.2 which means that
|
||||
there are around 2500 characters of code carrying information, yet there
|
||||
are only 2037 IOCCC characters of actual code. Most of the additional
|
||||
characters are encoded with non-counting characters in the frequency
|
||||
table. But there are also ~50 or so white space characters spread out
|
||||
through the source code that carry information.</p>
|
||||
|
||||
<p>The use of macros certainly adds to the obfuscation but the reason for
|
||||
using them is mainly to fit as many features as possible within the size
|
||||
limits. So please excuse the use of them.</p>
|
||||
|
||||
<p>Once the preprocessor is run, the code gets more interesting. The MOD
|
||||
player is basically a register based state machine and all the magic is
|
||||
hidden in a fog of short statements. Many of the register updates are
|
||||
conditional and the program uses the ? operator (sigh) mainly to save
|
||||
space, but also to leverage the comma operator and precedence more
|
||||
efficiently.</p>
|
||||
|
||||
<h1>Portability</h1>
|
||||
|
||||
<p>The progam is portable to most platforms. The only system dependency is
|
||||
that the program relies on writing binary data to stdout.</p>
|
||||
|
||||
<p>Microsoft compilers adds a carriges return to newlines, and to compile
|
||||
the program with this platform, the following line can be added after
|
||||
the main declaration in order for the program to run correctly:</p>
|
||||
|
||||
<pre><code>_setmode(_fileno(stdout), 0x8000);
|
||||
</code></pre>
|
||||
|
||||
<h1>Limitations</h1>
|
||||
|
||||
<p>The program only runs when a valid MOD file is passed as argument. If
|
||||
no argument is passed, the program crashes.</p>
|
||||
|
||||
<hr />
|
||||
|
||||
<TABLE><TR>
|
||||
<TD><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" /></a></TD>
|
||||
<TD><P>© Copyright 1984-2012,
|
||||
<A HREF="/judges.html">Leo Broukhis, Simon Cooper, Landon Curt Noll</A>
|
||||
- All rights reserved<BR>
|
||||
This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.</P></TD>
|
||||
<TD> <!--<a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>--></TD>
|
||||
</TR></TABLE>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user