⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   019A  CD0000            CALL    LWRD FS_GetName
   \   019D  0600              LD      B,0
    243                      if (result != 0)
   \   019F  B7                OR      A
   \   01A0  2815              JR      Z,?0037
   \   01A2            ?0036:
    244                      {
    245                          unitochar(dir_name, sizeof(dir_name), g_comval.langid);
   \   01A2  210C00            LD      HL,g_comval+12
   \   01A5  4E                LD      C,(HL)
   \   01A6  C5                PUSH    BC
   \   01A7  0E1E              LD      C,30
   \   01A9  110000            LD      DE,dir_name
   \   01AC  3E00              LD      A,BYTE3 unitochar
   \   01AE  210000            LD      HL,LWRD unitochar
   \   01B1  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   01B4  F1                POP     AF
    246                      }
    247                      else
   \   01B5  1810              JR      ?0038
   \   01B7            ?0037:
    248                      {
    249                          memcpy(dir_name, g_record_vars.location.path, 12);
   \   01B7  0E0C              LD      C,12
   \   01B9  110000            LD      DE,dir_name
   \   01BC  213800            LD      HL,g_record_vars+24
   \   01BF  EDB0              LDIR
    250                          dir_name[8]=0;
   \   01C1  320800            LD      (dir_name+8),A
    251                          dir_name[9]=0;
   \   01C4  320900            LD      (dir_name+9),A
   \   01C7            ?0038:
    252                      }
    253                      FS_Restore(Backbuf,FS_RESTORE_DIRINFO,0);//目录项恢复
   \   01C7  210000            LD      HL,0
   \   01CA  E5                PUSH    HL
   \   01CB  0E02              LD      C,2
   \   01CD  23                INC     HL
   \   01CE  23                INC     HL
   \   01CF  39                ADD     HL,SP
   \   01D0  EB                EX      DE,HL
   \   01D1  CD0000            CALL    LWRD FS_Restore
   \   01D4  E1                POP     HL
   \   01D5            ?0035:
    254                  }
    255          }
   \   01D5  212000            LD      HL,32
   \   01D8  39                ADD     HL,SP
   \   01D9  F9                LD      SP,HL
   \   01DA  DDE1              POP     IX
   \   01DC  D1                POP     DE
   \   01DD  C1                POP     BC
   \   01DE  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   01E1            read_var:
    256          void read_var(void)
    257          {
   \   01E1  C5                PUSH    BC
   \   01E2  D5                PUSH    DE
   \   01E3  DDE5              PUSH    IX
    258              int result;
    259              BOOL status;
    260          
    261              //comval
    262              result = VMRead(&g_comval,  VM_SYSTEM, sizeof(g_comval));
   \   01E5  212000            LD      HL,32
   \   01E8  E5                PUSH    HL
   \   01E9  010002            LD      BC,512
   \   01EC  110000            LD      DE,g_comval
   \   01EF  CD0000            CALL    LWRD VMRead
   \   01F2  E1                POP     HL
    263              ASSERT(result);
    264          
    265              if(g_comval.magic != MAGIC_COMVAL)
   \   01F3  21ADDE            LD      HL,57005
   \   01F6  ED4B0000          LD      BC,(g_comval)
   \   01FA  A7                AND     A
   \   01FB  ED42              SBC     HL,BC
   \   01FD  2806              JR      Z,?0040
   \   01FF            ?0039:
    266              {
    267                  DUMP_STRING("comval init-ed!");
    268          
    269                  //COMVAL_INIT(g_comval);
    270                  GetDefaultComval(&g_comval);
   \   01FF  110000            LD      DE,g_comval
   \   0202  CD0000            CALL    LWRD GetDefaultComval
   \   0205            ?0040:
    271              }
    272          
    273              //init message for auto standby
    274              ap_message_init(&g_comval);
   \   0205  110000            LD      DE,g_comval
   \   0208  3E00              LD      A,BYTE3 ap_message_init
   \   020A  210000            LD      HL,LWRD ap_message_init
   \   020D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    275          
    276              //ap var
    277              result = VMRead(&g_record_vars, VM_AP_FMRECORD, sizeof(g_record_vars));
   \   0210  213500            LD      HL,53
   \   0213  E5                PUSH    HL
   \   0214  010038            LD      BC,14336
   \   0217  112000            LD      DE,g_record_vars
   \   021A  CD0000            CALL    LWRD VMRead
   \   021D  E1                POP     HL
    278              ASSERT(result);
    279          
    280              if(g_record_vars.maigc != MAGIC_RECORD)
   \   021E  213D3D            LD      HL,15677
   \   0221  ED4B2000          LD      BC,(g_record_vars)
   \   0225  A7                AND     A
   \   0226  ED42              SBC     HL,BC
   \   0228  2823              JR      Z,?0042
   \   022A            ?0041:
    281              {
    282                  //init vars
    283                  g_record_vars.maigc = MAGIC_RECORD;
   \   022A  213D3D            LD      HL,15677
   \   022D  222000            LD      (g_record_vars),HL
    284                  g_record_vars.Rec_Fsrate=0;
   \   0230  AF                XOR     A
   \   0231  322200            LD      (g_record_vars+2),A
    285                  g_record_vars.rec_bitrate= 1;
   \   0234  3E01              LD      A,1
   \   0236  322300            LD      (g_record_vars+3),A
    286                  g_record_vars.rec_source = 2;
   \   0239  3E02              LD      A,2
   \   023B  322400            LD      (g_record_vars+4),A
    287                  g_record_vars.wav_num = 1;
   \   023E  210100            LD      HL,1
   \   0241  222600            LD      (g_record_vars+6),HL
    288                  g_record_vars.rec_type = 0;
   \   0244  AF                XOR     A
   \   0245  322500            LD      (g_record_vars+5),A
    289                  g_record_vars.location.disk = 'C';
   \   0248  3E43              LD      A,67
   \   024A  322A00            LD      (g_record_vars+10),A
   \   024D            ?0042:
    290              }
    291              //switch the real-time bank,
    292              //注意自己所在的bank code 不能和控件用同一段地址
    293              if(g_record_vars.rec_bitrate % 2 == 0 )
   \   024D  3A2300            LD      A,(g_record_vars+3)
   \   0250  CB47              BIT     0,A
   \   0252  2004              JR      NZ,?0044
   \   0254            ?0043:
    294                  channelnum = SINGLE_CH;
   \   0254  3E01              LD      A,1
   \   0256  1802              JR      ?0128
    295              else
   \   0258            ?0044:
    296                  channelnum = DUAL_CH;
   \   0258  3E02              LD      A,2
   \   025A            ?0128:
   \   025A  320000            LD      (channelnum),A
   \   025D            ?0045:
    297              BankSwitch((ulong)wavrSendCommand >> 16);
   \   025D  1E00              LD      E,BYTE3 wavrSendCommand
   \   025F  CD0000            CALL    LWRD BankSwitch
    298              BankSwitch((ulong)ui_show_a >> 16);
   \   0262  1E00              LD      E,BYTE3 ui_show_a
   \   0264  CD0000            CALL    LWRD BankSwitch
    299          
    300          }
   \   0267  DDE1              POP     IX
   \   0269  D1                POP     DE
   \   026A  C1                POP     BC
   \   026B  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   026E            main:
    301          
    302          
    303          /*
    304          ********************************************************************************
    305          * Description : 主函数
    306          *
    307          * Arguments   :
    308                  param:
    309                      0, 不自动开始录音
    310                      1, 自动开始录音
    311          *
    312          * Returns     : 结果消息或0
    313          *
    314          * Notes       :
    315          *
    316          ********************************************************************************
    317          */
    318          int main(int param)
    319          {
   \   026E  C5                PUSH    BC
   \   026F  FDE5              PUSH    IY
   \   0271  DDE5              PUSH    IX
   \   0273  DD210000          LD      IX,0
   \   0277  DD39              ADD     IX,SP
   \   0279  D5                PUSH    DE
   \   027A  21F6FF            LD      HL,65526
   \   027D  39                ADD     HL,SP
   \   027E  F9                LD      SP,HL
    320              BOOL mc_result;
    321              int result=0;
    322              BOOL disk_ok=TRUE;
    323              BOOL status;
    324              BOOL ReturnToFm=0;
    325              BOOL need_reset_dir=0;
    326              g_DiskStateFlag=0;
   \   027F  AF                XOR     A
   \   0280  322000            LD      (g_DiskStateFlag),A
    327              ASSERT_BANK(wavrSendCommand);
    328          
    329          
    330              ClearScreen(NULL);
   \   0283  5F                LD      E,A
   \   0284  57                LD      D,A
   \   0285  CD0000            CALL    LWRD ClearScreen
    331              //UpdateScreen(NULL);
    332          
    333              mc_result= DRV_ActiveUD(0,MODE_SLOW);
   \   0288  0E01              LD      C,1
   \   028A  1E00              LD      E,0
   \   028C  CD0000            CALL    LWRD DRV_ActiveUD
    334              ASSERT(mc_result);
    335          
    336              //read var from vm
    337              read_var();
   \   028F  3E00              LD      A,BYTE3 read_var
   \   0291  21E101            LD      HL,LWRD read_var
   \   0294  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    338          
    339              //初始化资源文件
    340              res_fp = ResOpen("ui30.res");
   \   0297  110900            LD      DE,?0046
   \   029A  3E00              LD      A,BYTE3 ResOpen
   \   029C  210000            LD      HL,LWRD ResOpen
   \   029F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02A2  220000            LD      (res_fp),HL
    341              ASSERT( res_fp != NULL);
    342          
    343              if (DRV_ActiveDrive('C', MODE_SLOW))
   \   02A5  FD210000          LD      IY,0
   \   02A9  DD36F701          LD      (IX-9),1
   \   02AD  DD36F900          LD      (IX-7),0
   \   02B1  DD36FA00          LD      (IX-6),0
   \   02B5  0E01              LD      C,1
   \   02B7  1E43              LD      E,67
   \   02B9  CD0000            CALL    LWRD DRV_ActiveDrive
   \   02BC  B7                OR      A
   \   02BD  2805              JR      Z,?0048
   \   02BF            ?0047:
    344              {
    345                  g_DiskStateFlag |= SetDiskOKFlag_def;//标志 flash 已格式化
   \   02BF  212000            LD      HL,g_DiskStateFlag
   \   02C2  CBFE              SET     7,(HL)
   \   02C4            ?0048:
    346              }
    347              if ((g_DiskStateFlag & SetDiskOKFlag_def) == 0)
   \   02C4  3A2000            LD      A,(g_DiskStateFlag)
   \   02C7  CB7F              BIT     7,A
   \   02C9  200B              JR      NZ,?0050
   \   02CB            ?0049:
    348              {
    349                  show_error(MREADERR);//显示磁盘错
   \   02CB  11FC01            LD      DE,508
   \   02CE  3E00              LD      A,BYTE3 show_error
   \   02D0  210900            LD      HL,LWRD show_error
   \   02D3  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02D6            ?0050:
    350              }
    351          
    352              if (DRV_DetectUD(1) == 0x20)
   \   02D6  1E01              LD      E,1
   \   02D8  CD0000            CALL    LWRD DRV_DetectUD
   \   02DB  FE20              CP      32
   \   02DD  203D              JR      NZ,?0052
   \   02DF            ?0051:
    353              { //有卡
    354                  DRV_ActiveUD(1,MODE_SLOW);
   \   02DF  0E01              LD      C,1
   \   02E1  59                LD      E,C
   \   02E2  CD0000            CALL    LWRD DRV_ActiveUD
    355                  if (!DRV_ActiveDrive('H', MODE_SLOW))
   \   02E5  0E01              LD      C,1
   \   02E7  1E48              LD      E,72

⌨️ 快捷键说明

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