102 lines
2.8 KiB
C
102 lines
2.8 KiB
C
|
/*
|
||
|
* This file is subject to the terms of the GFX License. If a copy of
|
||
|
* the license was not distributed with this file, you can obtain one at:
|
||
|
*
|
||
|
* http://ugfx.io/license.html
|
||
|
*/
|
||
|
|
||
|
#ifndef _VS1053_H
|
||
|
#define _VS1053_H
|
||
|
|
||
|
// Registers
|
||
|
#define SCI_MODE 0x00
|
||
|
#define SM_DIFF 0x0001
|
||
|
#define SM_LAYER12 0x0002
|
||
|
#define SM_RESET 0x0004
|
||
|
#define SM_CANCEL 0x0008
|
||
|
#define SM_EARSPEAKER_LO 0x0010
|
||
|
#define SM_TESTS 0x0020
|
||
|
#define SM_STREAM 0x0040
|
||
|
#define SM_EARSPEAKER_HI 0x0080
|
||
|
#define SM_DACT 0x0100
|
||
|
#define SM_SDIORD 0x0200
|
||
|
#define SM_SDISHARE 0x0400
|
||
|
#define SM_SDINEW 0x0800
|
||
|
#define SM_ADPCM 0x1000
|
||
|
#define SM_LINE1 0x4000
|
||
|
#define SM_CLK_RANGE 0x8000
|
||
|
#define SCI_MODE_DEFAULTS (SM_LINE1|SM_SDINEW)
|
||
|
#define SCI_STATUS 0x01
|
||
|
#define SS_DO_NOT_JUMP 0x8000
|
||
|
#define SS_SWING_MASK 0x7000
|
||
|
#define SS_SWING_SHIFT 12
|
||
|
#define SS_VCM_OVERLOAD 0x0800
|
||
|
#define SS_VCM_DISABLE 0x0400
|
||
|
#define SS_VER_MASK 0x00F0
|
||
|
#define SS_VER_SHIFT 4
|
||
|
#define SS_APDOWN2 0x0008
|
||
|
#define SS_APDOWN1 0x0004
|
||
|
#define SS_SS_AD_CLOCK 0x0002
|
||
|
#define SS_REFERENCE_SEL 0x0001
|
||
|
#define SCI_BASS 0x02
|
||
|
#define ST_AMPLITUDE_MASK 0xF000
|
||
|
#define ST_AMPLITUDE_SHIFT 12
|
||
|
#define ST_FREQLIMIT_MASK 0x0F00
|
||
|
#define ST_FREQLIMIT_SHIFT 8
|
||
|
#define SB_AMPLITUDE_MASK 0x00F0
|
||
|
#define SB_AMPLITUDE_SHIFT 4
|
||
|
#define SB_FREQLIMIT_MASK 0x000F
|
||
|
#define SB_FREQLIMIT_SHIFT 0
|
||
|
#define SCI_CLOCKF 0x03
|
||
|
#define SC_MULT_1 0x0000
|
||
|
#define SC_MULT_2 0x2000
|
||
|
#define SC_MULT_2_5 0x4000
|
||
|
#define SC_MULT_3 0x6000
|
||
|
#define SC_MULT_3_5 0x8000
|
||
|
#define SC_MULT_4 0xa000
|
||
|
#define SC_MULT_4_5 0xc000
|
||
|
#define SC_MULT_5 0xe000
|
||
|
#define SC_ADD_NONE 0x0000
|
||
|
#define SC_ADD_1 0x0800
|
||
|
#define SC_ADD_1_5 0x1000
|
||
|
#define SC_ADD_2 0x1800
|
||
|
#define SC_FREQ_MASK 0x07FF
|
||
|
#define SCI_DECODE_TIME 0x04
|
||
|
#define SCI_AUDATA 0x05
|
||
|
#define SR_RATE_MASK 0xFFFE
|
||
|
#define SR_IS_STEREO 0x0001
|
||
|
#define SCI_WRAM 0x06
|
||
|
#define SCI_WRAMADDR 0x07
|
||
|
#define WRAMADDR_XDATA 0x1800
|
||
|
#define WRAMADDR_YDATA 0x5800
|
||
|
#define WRAMADDR_INSTR 0x8040
|
||
|
#define WRAMADDR_IO 0xC000
|
||
|
#define WRAMADDR_EXTRAPARAMS 0x1E02
|
||
|
#define SCI_HDAT0 0x08
|
||
|
#define SCI_HDAT1 0x09
|
||
|
#define HD_FMT_NONE 0x0000
|
||
|
#define HD_FMT_WAV 0x7665
|
||
|
#define HD_FMT_AAC_ADTS 0x4154
|
||
|
#define HD_FMT_AAC_ADIF 0x4144
|
||
|
#define HD_FMT_AAC_M4A 0x4D34
|
||
|
#define HD_FMT_WMA 0x574D
|
||
|
#define HD_FMT_MIDI 0x4D54
|
||
|
#define HD_FMT_OGG 0x4F67
|
||
|
#define HD_FMT_MP3_MIN 0xFFE0
|
||
|
#define HD_FMT_MP3_MAX 0xFFFF
|
||
|
#define SCI_AIADDR 0x0A
|
||
|
#define SCI_VOL 0x0B
|
||
|
#define VOL_LEFT_MASK 0xFF00
|
||
|
#define VOL_LEFT_SHIFT 8
|
||
|
#define VOL_RIGHT_MASK 0x00FF
|
||
|
#define VOL_RIGHT_SHIFT 0
|
||
|
#define VOL_POWERDOWN 0xFFFF
|
||
|
#define VOL_MAX 0x0000
|
||
|
#define VOL_MIN 0xFEFE
|
||
|
#define SCI_AICTRL0 0x0C
|
||
|
#define SCI_AICTRL1 0x0D
|
||
|
#define SCI_AICTRL2 0x0E
|
||
|
#define SCI_AICTRL3 0x0F
|
||
|
|
||
|
#endif /* _VS1053_H */
|