diff -upr a/src/s3m.cpp b/src/s3m.cpp
--- a/src/s3m.cpp 2006-07-02 00:27:00.000000000 -0500
+++ b/src/s3m.cpp 2016-03-07 23:20:56.039017533 -0600
@@ -25,7 +25,7 @@
#include <cstring>
#include "s3m.h"
-const char Cs3mPlayer::chnresolv[] = // S3M -> adlib channel conversion
+const signed char Cs3mPlayer::chnresolv[] = // S3M -> adlib channel conversion
{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,-1,-1,-1,-1,-1,-1,-1};
const unsigned short Cs3mPlayer::notetable[12] = // S3M adlib note table
--- a/src/s3m.h 2006-05-13 00:36:42.000000000 -0500
+++ b/src/s3m.h 2016-03-08 00:56:07.953972552 -0600
@@ -90,7 +90,7 @@ class Cs3mPlayer: public CPlayer
unsigned char crow,ord,speed,tempo,del,songend,loopstart,loopcnt;
private:
- static const char chnresolv[];
+ static const signed char chnresolv[];
static const unsigned short notetable[12];
static const unsigned char vibratotab[32];