sub_function2.lst

来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,392 行 · 第 1/5 页

LST
1,392
字号
    171          }
   \   01BD  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   01C0            ?0149:
   \   01C0  110000            LD      DE,g_TagInfoBuf
   \   01C3            ?0148:
   \   01C3  3E00              LD      A,BYTE3 unitochar
   \   01C5  210000            LD      HL,LWRD unitochar
   \   01C8  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   01CB            read_var:
    172          void read_var( void )
    173          {
   \   01CB  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   01CE  C4FF              DEFW    65476
    174              int result;
    175              kval_t kval;
    176              browser_vars_t temp_browser_vars;
    177          
    178              //读出是否刚上电,如是,则要重调时间。
    179              VMRead(& kval, VM_KERNEL, sizeof(kval_t));
   \   01D0  210B00            LD      HL,11
   \   01D3  E5                PUSH    HL
   \   01D4  4C                LD      C,H
   \   01D5  44                LD      B,H
   \   01D6  2E04              LD      L,4
   \   01D8  39                ADD     HL,SP
   \   01D9  EB                EX      DE,HL
   \   01DA  CD0000            CALL    LWRD VMRead
   \   01DD  E1                POP     HL
    180              g_PowerOffFlag = kval.rtcresetflag;
   \   01DE  DD7ED0            LD      A,(IX-48)
   \   01E1  320000            LD      (g_PowerOffFlag),A
    181          
    182              //read comval
    183              result = VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
   \   01E4  212000            LD      HL,32
   \   01E7  E5                PUSH    HL
   \   01E8  010002            LD      BC,512
   \   01EB  110000            LD      DE,g_comval
   \   01EE  CD0000            CALL    LWRD VMRead
   \   01F1  E1                POP     HL
    184              ASSERT(result);
    185          
    186              //check if valid
    187              if (g_comval.magic != MAGIC_COMVAL)
   \   01F2  21ADDE            LD      HL,57005
   \   01F5  ED4B0000          LD      BC,(g_comval)
   \   01F9  A7                AND     A
   \   01FA  ED42              SBC     HL,BC
   \   01FC  2806              JR      Z,?0058
   \   01FE            ?0057:
    188              {
    189                  DUMP_STRING("comval init-ed!");
    190                  GetDefaultComval(&g_comval);
   \   01FE  110000            LD      DE,g_comval
   \   0201  CD0000            CALL    LWRD GetDefaultComval
   \   0204            ?0058:
    191              }
    192          
    193              ap_message_init(& g_comval);
   \   0204  110000            LD      DE,g_comval
   \   0207  3E00              LD      A,BYTE3 ap_message_init
   \   0209  210000            LD      HL,LWRD ap_message_init
   \   020C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    194          
    195              //read ap vars
    196              result = VMRead(& g_music_vars, VM_AP_MUSIC, sizeof(g_music_vars));
   \   020F  215F00            LD      HL,95
   \   0212  E5                PUSH    HL
   \   0213  010010            LD      BC,4096
   \   0216  110000            LD      DE,g_music_vars
   \   0219  CD0000            CALL    LWRD VMRead
   \   021C  E1                POP     HL
    197              ASSERT(result);
    198          
    199              //check if valid
    200              if (g_music_vars.magic != MAGIC_MUSIC)
   \   021D  2A5D00            LD      HL,(g_music_vars+93)
   \   0220  01EFBE            LD      BC,48879
   \   0223  A7                AND     A
   \   0224  ED42              SBC     HL,BC
   \   0226  285C              JR      Z,?0060
   \   0228            ?0059:
    201              {
    202                  BYTE i;
    203          
    204                  DUMP_STRING("vars init-ed!");
    205                  g_music_vars.magic = MAGIC_MUSIC;
   \   0228  ED435D00          LD      (g_music_vars+93),BC
    206                  g_music_vars.volume = 24;
   \   022C  3E18              LD      A,24
   \   022E  320000            LD      (g_music_vars),A
    207                  output8(0x87, 24|0xe0);
   \   0231  3EF8              LD      A,248
   \   0233  D387              OUT     (135),A
    208                  g_music_vars.eq_type = 0;
   \   0235  AF                XOR     A
   \   0236  320200            LD      (g_music_vars+2),A
    209                  g_music_vars.replaytimes = 5;
   \   0239  3E05              LD      A,5
   \   023B  320400            LD      (g_music_vars+4),A
    210                  g_music_vars.replaygap = 1;
   \   023E  3E01              LD      A,1
   \   0240  320500            LD      (g_music_vars+5),A
    211                  g_music_vars.repeat_mode = FSEL_ALL_SEQUENCE;
   \   0243  AF                XOR     A
   \   0244  320100            LD      (g_music_vars+1),A
    212                  g_music_vars.play_rate = 0;
   \   0247  320300            LD      (g_music_vars+3),A
    213                  g_music_vars.location.disk = 'C';
   \   024A  3E43              LD      A,67
   \   024C  320700            LD      (g_music_vars+7),A
    214                  g_music_vars.play_listmod = mlistnor;
   \   024F  3E05              LD      A,5
   \   0251  325000            LD      (g_music_vars+80),A
    215                  g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
   \   0254  AF                XOR     A
   \   0255  325100            LD      (g_music_vars+81),A
    216                  g_music_vars.MusicOpenMod = Nor_open;
   \   0258  320600            LD      (g_music_vars+6),A
    217                  g_music_vars.SRSMod.Wow=8; 
   \   025B  3E08              LD      A,8
   \   025D  325300            LD      (g_music_vars+83),A
    218                  g_music_vars.SRSMod.Bass=8;
   \   0260  325400            LD      (g_music_vars+84),A
    219                  g_music_vars.SRSMod.Srs=4;   
   \   0263  3E04              LD      A,4
   \   0265  325500            LD      (g_music_vars+85),A
    220                  g_music_vars.file_list_type = 0xff;     
   \   0268  3EFF              LD      A,255
   \   026A  325C00            LD      (g_music_vars+92),A
    221                  g_music_vars.file_list_num = 0; 
   \   026D  210000            LD      HL,0
   \   0270  225A00            LD      (g_music_vars+90),HL
    222                  strcpy(g_music_vars.location.path, FS_CD_ROOT);
   \   0273  110700            LD      DE,?0061
   \   0276  211500            LD      HL,g_music_vars+21
   \   0279  CD0000            CALL    LWRD ?STRCPY_L11
    223                  ClearTimePara();
   \   027C  3E00              LD      A,BYTE3 ClearTimePara
   \   027E  21E302            LD      HL,LWRD ClearTimePara
   \   0281  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0284            ?0060:
    224              }
    225              if(g_from_browser)
   \   0284  3A0000            LD      A,(g_from_browser)
   \   0287  B7                OR      A
   \   0288  282D              JR      Z,?0063
   \   028A            ?0062:
    226              {
    227                  VMRead(&temp_browser_vars, VM_AP_BROWSER, sizeof(browser_vars_t));
   \   028A  212D00            LD      HL,45
   \   028D  E5                PUSH    HL
   \   028E  01004C            LD      BC,19456
   \   0291  2E0F              LD      L,15
   \   0293  39                ADD     HL,SP
   \   0294  EB                EX      DE,HL
   \   0295  CD0000            CALL    LWRD VMRead
   \   0298  E1                POP     HL
    228                  memcpy(&g_music_vars.location, &temp_browser_vars.location, sizeof(file_location_t));
   \   0299  012B00            LD      BC,43
   \   029C  110700            LD      DE,g_music_vars+7
   \   029F  210D00            LD      HL,13
   \   02A2  39                ADD     HL,SP
   \   02A3  0E02              LD      C,2
   \   02A5  09                ADD     HL,BC
   \   02A6  0E2B              LD      C,43
   \   02A8  EDB0              LDIR
    229                  g_music_vars.file_list_type = 0xff;     
   \   02AA  3EFF              LD      A,255
   \   02AC  325C00            LD      (g_music_vars+92),A
    230                  ClearTimePara();
   \   02AF  3E00              LD      A,BYTE3 ClearTimePara
   \   02B1  21E302            LD      HL,LWRD ClearTimePara
   \   02B4  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02B7            ?0063:
    231              }
    232              list.string_id = g_comval.langid;
   \   02B7  3A0C00            LD      A,(g_comval+12)
   \   02BA  320800            LD      (list+8),A
    233          }
   \   02BD  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   02C0            openDAC:
    234          
    235          
    236          
    237          void openDAC(void)
    238          {
   \   02C0  D5                PUSH    DE
   \   02C1  F5                PUSH    AF
   \   02C2  F5                PUSH    AF
    239              dac_t dacattr;
    240              sfr IO80_dac = 0x80;
    241              sfr IO8B_dac = 0x8b;
    242              dacattr.dacselect = 0;
   \   02C3  210000            LD      HL,0
   \   02C6  39                ADD     HL,SP
   \   02C7  3600              LD      (HL),0
    243              dacattr.rate = FS_8K;
   \   02C9  23                INC     HL
   \   02CA  3608              LD      (HL),8
    244              EnableDAC(& dacattr);
   \   02CC  2B                DEC     HL
   \   02CD  EB                EX      DE,HL
   \   02CE  CD0000            CALL    LWRD EnableDAC
    245              IO80_dac = IO80_dac | 0x08; //test
   \   02D1  DB80              IN      A,(128)
   \   02D3  F608              OR      8
   \   02D5  D380              OUT     (128),A
    246              IO8B_dac = IO8B_dac | 0x10; //test
   \   02D7  DB8B              IN      A,(139)
   \   02D9  F610              OR      16
   \   02DB  D38B              OUT     (139),A
    247          }
   \   02DD  E1                POP     HL
   \   02DE  E1                POP     HL
   \   02DF  D1                POP     DE
   \   02E0  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   02E3            ClearTimePara:
    248          
    249          void ClearTimePara(void)
    250          {
   \   02E3  C5                PUSH    BC
   \   02E4  D5                PUSH    DE
    251              BYTE i;
    252              g_music_vars.MusicOpenMod = Nor_open;
   \   02E5  AF                XOR     A
   \   02E6  320600            LD      (g_music_vars+6),A
    253              g_music_vars.BreakPTSave.breakPT = 0; //开始断点为0
   \   02E9  4F                LD      C,A
   \   02EA  69                LD      L,C
   \   02EB  47                LD      B,A
   \   02EC  60                LD      H,B
   \   02ED  223200            LD      (g_music_vars+50),HL
   \   02F0  ED433400          LD      (g_music_vars+52),BC
    254              g_music_vars.BreakPTDisTime.hour = 0;
   \   02F4  324D00            LD      (g_music_vars+77),A
    255              g_music_vars.BreakPTDisTime.minute = 0;
   \   02F7  324E00            LD      (g_music_vars+78),A
    256              g_music_vars.BreakPTDisTime.second = 0;
   \   02FA  324F00            LD      (g_music_vars+79),A
    257              g_music_vars.BreakPTSave.ApointSave = 0; //开始断点为0
   \   02FD  223600            LD      (g_music_vars+54),HL
   \   0300  ED433800          LD      (g_music_vars+56),BC
    258              g_music_vars.BreakPTSave.BpointSave = 0; //开始断点为0
   \   0304  223A00            LD      (g_music_vars+58),HL
   \   0307  ED433C00          LD      (g_music_vars+60),BC
    259              for (i = 0; i<12; i++)
   \   030B  1E00              LD      E,0
   \   030D            ?0065:
   \   030D  7B                LD      A,E
   \   030E  FE0C              CP      12
   \   0310  3009              JR      NC,?0064
   \   0312            ?0066:
    260              {                                        //清0时间记录
    261                  g_music_vars.BreakPTSave.breakPTTime[i] = 0;
   \   0312  213E00            LD      HL,g_music_vars+62
   \   0315  4B                LD      C,E
   \   0316  09                ADD     HL,BC
   \   0317  70                LD      (HL),B
   \   0318  1C                INC     E
   \   0319  18F2              JR      ?0065
   \   031B            ?0064:
    262              }
    263              StartIntro(TRUE)//因为时间清0了,所以浏览要从头开始
   \   031B  3E01              LD      A,1
   \   031D  320000            LD      (g_introCntMode),A
   \   0320  3A4F00            LD      A,(g_music_vars+79)
   \   0323  320000            LD      (g_OldSecTempBackup),A
   \   0326  AF                XOR     A
   \   0327  320000            LD      (g_introCNT),A
    264          }
   \   032A  D1                POP     DE
   \   032B  C1                POP     BC
   \   032C  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   032F            ChangeVolume:
    265          
    266          //============改变音量================
    267          int ChangeVolume( void )
    268          {

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?