LMMS
Loading...
Searching...
No Matches
cmf.cpp File Reference
#include <stdint.h>
#include <cassert>
#include <math.h>
#include <string.h>
#include "debug.h"
#include "cmf.h"

Macros

#define BASE_CHAR_MULT   0x20
#define BASE_SCAL_LEVL   0x40
#define BASE_ATCK_DCAY   0x60
#define BASE_SUST_RLSE   0x80
#define BASE_FNUM_L   0xA0
#define BASE_KEYON_FREQ   0xB0
#define BASE_RHYTHM   0xBD
#define BASE_WAVE   0xE0
#define BASE_FEED_CONN   0xC0
#define OPLBIT_KEYON   0x20
#define OPLOFFSET(channel)

Variables

uint8_t cDefaultPatches []

Macro Definition Documentation

◆ BASE_ATCK_DCAY

#define BASE_ATCK_DCAY   0x60

◆ BASE_CHAR_MULT

#define BASE_CHAR_MULT   0x20

◆ BASE_FEED_CONN

#define BASE_FEED_CONN   0xC0

◆ BASE_FNUM_L

#define BASE_FNUM_L   0xA0

◆ BASE_KEYON_FREQ

#define BASE_KEYON_FREQ   0xB0

◆ BASE_RHYTHM

#define BASE_RHYTHM   0xBD

◆ BASE_SCAL_LEVL

#define BASE_SCAL_LEVL   0x40

◆ BASE_SUST_RLSE

#define BASE_SUST_RLSE   0x80

◆ BASE_WAVE

#define BASE_WAVE   0xE0

◆ OPLBIT_KEYON

#define OPLBIT_KEYON   0x20

◆ OPLOFFSET

#define OPLOFFSET ( channel)
Value:
(((channel) / 3) * 8 + ((channel) % 3))

Variable Documentation

◆ cDefaultPatches

uint8_t cDefaultPatches[]
Initial value:
=
"\x01\x11\x4F\x00\xF1\xD2\x53\x74\x00\x00\x06"
"\x07\x12\x4F\x00\xF2\xF2\x60\x72\x00\x00\x08"
"\x31\xA1\x1C\x80\x51\x54\x03\x67\x00\x00\x0E"
"\x31\xA1\x1C\x80\x41\x92\x0B\x3B\x00\x00\x0E"
"\x31\x16\x87\x80\xA1\x7D\x11\x43\x00\x00\x08"
"\x30\xB1\xC8\x80\xD5\x61\x19\x1B\x00\x00\x0C"
"\xF1\x21\x01\x00\x97\xF1\x17\x18\x00\x00\x08"
"\x32\x16\x87\x80\xA1\x7D\x10\x33\x00\x00\x08"
"\x01\x12\x4F\x00\x71\x52\x53\x7C\x00\x00\x0A"
"\x02\x03\x8D\x00\xD7\xF5\x37\x18\x00\x00\x04"
"\x21\x21\xD1\x00\xA3\xA4\x46\x25\x00\x00\x0A"
"\x22\x22\x0F\x00\xF6\xF6\x95\x36\x00\x00\x0A"
"\xE1\xE1\x00\x00\x44\x54\x24\x34\x02\x02\x07"
"\xA5\xB1\xD2\x80\x81\xF1\x03\x05\x00\x00\x02"
"\x71\x22\xC5\x00\x6E\x8B\x17\x0E\x00\x00\x02"
"\x32\x21\x16\x80\x73\x75\x24\x57\x00\x00\x0E"