VLSI Solution Oy VS1103 VLSI Solution Karaoke, MIDI and ADPCM Player Source Code Documentation

Main Page | Class List | File List | Class Members | File Members | Related Pages

vs10xx.h

Go to the documentation of this file.
00001 
00007 #ifndef VS10XX_H
00008 #define VS10XX_H
00009 
00010 #include "board.h"
00011 #include "ui.h"
00012 
00013 #define USE_512_BYTE_DREQ 1
00014 
00015 
00017 #define VS_WRITE_COMMAND 0x02
00018 
00020 #define VS_READ_COMMAND 0x03
00021 
00022 
00023 #define SCI_MODE        0x0   
00024 #define SCI_STATUS      0x1   
00025 #define SCI_BASS        0x2   
00026 #define SCI_CLOCKF      0x3   
00027 #define SCI_DECODE_TIME 0x4   
00028 #define SCI_AUDATA      0x5   
00029 #define SCI_WRAM        0x6   
00030 #define SCI_WRAMADDR    0x7   
00031 #define SCI_IN0 0x8
00032 #define SCI_IN1 0x9
00033 #define SCI_AIADDR      0xa   
00034 #define SCI_VOL         0xb   
00035 #define SCI_MIXERVOL    0xc   
00036 #define SCI_ADPCMRECCTL 0xd   
00037 #define SCI_AICTRL2     0xe   
00038 #define SCI_AICTRL3     0xf   
00041 // SCI_MODE register low byte
00042 
00043 #define SM_DIFF         0x01   
00044 #define SM_RECORD_MIXER 0x02   
00045 #define SM_RESET        0x04   
00046 #define SM_OUTOFMIDI    0x08   
00047 #define SM_OUTOFWAV     0x08   
00049 #define SM_PDOWN        0x10   
00050 #define SM_TESTS        0x20   
00051 #define SM_SDI_ADPCM    0x40   
00052 #define SM_RT_MIDI      0x80   
00054 // SCI_MODE register high byte
00055 
00056 #define SM_DACT         0x01   
00057 #define SM_SDIORD       0x02   
00058 #define SM_SDISHARE     0x04   
00059 #define SM_SDINEW       0x08   
00061 #define SM_EARSPK_0     0x00
00062 #define SM_EARSPK_1     0x10 
00063 #define SM_EARSPK_2     0x20
00064 #define SM_EARSPK_3     0x30
00065 
00066 #define SM_LINE_IN      0x40
00067 #define SM_RECORD_ADPCM 0x80
00068 
00069 
00071 extern xdata unsigned char playingState;
00072 
00073 void Vs1103SetMode();
00074 
00075 
00076 
00077 extern bit vs1103_recording_active; 
00078 extern bit vs1103_record_mixer;
00079 extern bit vs1103_use_line_input;
00080 extern bit vs1103_do_reset;
00081 extern bit vs1103_mono_output;
00082 extern bit vs1103_terminate;
00083 extern bit vs1103_earSpkHi;
00084 extern bit vs1103_earSpkLo;
00085 extern bit vs1103_real_time_midi;
00086 
00087 
00088 
00090 void VsSineTest();
00091 
00092 void Mp3Reset();
00093 
00095 void Mp3SoftReset();
00096 
00097 
00098 
00100 #define Mp3WriteRegister(addressbyte,highbyte,lowbyte){ \
00101  Mp3SelectControl(); \
00102  SPIPutCharWithoutWaiting(VS_WRITE_COMMAND); \
00103  SPIPutChar((addressbyte)); \
00104  SPIPutChar((highbyte)); \
00105  SPIPutChar((lowbyte)); \
00106  SPIWait(); \
00107  Mp3DeselectControl();}
00108 
00110 #define Mp3SetVolume(leftchannel,rightchannel){\
00111  Mp3WriteRegister(11,(leftchannel),(rightchannel));}
00112 
00114 #define Mp3Wait() {while(!MP3_DREQ);}
00115 
00116 void Mp3SetMixerVolume(unsigned char midiVolume, 
00117                        unsigned char waveVolume, 
00118                        unsigned char micVolume);
00119 
00120 
00122 unsigned int Mp3ReadRegister (unsigned char addressbyte);
00123 
00125 void SendZerosToVS10xx();
00126 
00128 unsigned char PlayDiskSectors (unsigned int nSectorsToPlay);
00129 
00130 
00131 
00132 void AvailableProcessorTime();
00133 
00135 void Vs1103B_SetMidiTranspose(int transpose);
00136 
00138 void Vs1103B_SetChannelMask(unsigned int newMask);
00139 
00141 void Vs1103SetMicGain(unsigned char gain);
00142 
00144 void Vs1103CancelWave();
00145 
00147 void Vs1103CancelMidi();
00148 
00149 
00150 #endif

All software copyright 2000-2004 VLSI Solution OY. Redistribution of these software modules is limited to VLSI Solution Oy chip promotional use only. Free or commercial use of these software modules in MP3 players is ok if the product includes chip(s) from VLSI. You can request the complete (compilable) package from mp3@vlsi.fi. This exampe code is provided with good faith to assist You in code development, but under no circumstances will VLSI offer any guarantees on the usability or functionality of any example software or its fitness for any purpose.