ui_main_for_music.lst

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

LST
717
字号
   \   01B6            ?0005:
    190                  SetTextPos(122, 124);
   \   01B6  1E7A              LD      E,122
   \   01B8  1802              JR      ?0028
    191              else
   \   01BA            ?0006:
    192                  SetTextPos(6, 124);
   \   01BA  1E06              LD      E,6
   \   01BC            ?0028:
   \   01BC  CDE401            CALL    LWRD ?0046
   \   01BF            ?0007:
    193              PutS(string, -1);
    194              SetAsciiFont(FONT_TYPE_DEFAULT);
   \   01BF  1E04              LD      E,4
   \   01C1  CD0000            CALL    LWRD SetAsciiFont
    195              
    196              SetPenColor(oldDC_sav.PenColor);
   \   01C4  DD4EFA            LD      C,(IX-6)
   \   01C7  DD46FB            LD      B,(IX-5)
   \   01CA  DD5EF8            LD      E,(IX-8)
   \   01CD  DD56F9            LD      D,(IX-7)
   \   01D0  CD0000            CALL    LWRD SetPenColor
    197              SetBackgdColor(oldDC_sav.BackgdColor);
   \   01D3  210400            LD      HL,4
   \   01D6  39                ADD     HL,SP
   \   01D7  5E                LD      E,(HL)
   \   01D8  23                INC     HL
   \   01D9  56                LD      D,(HL)
   \   01DA  23                INC     HL
   \   01DB  4E                LD      C,(HL)
   \   01DC  23                INC     HL
   \   01DD  46                LD      B,(HL)
   \   01DE  CD0000            CALL    LWRD SetBackgdColor
    198          }
   \   01E1  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   01E4            ?0046:
   \   01E4  CD0000            CALL    LWRD SetTextPos
   \   01E7  0EFF              LD      C,255
   \   01E9  DD5E02            LD      E,(IX+2)
   \   01EC  DD5603            LD      D,(IX+3)
   \   01EF  CD0000            CALL    LWRD PutS
   \   01F2  C9                RET
   \   01F3            ui_show_f:
    199          
    200          
    201          void ui_show_f(const char *string)                //文件名/滚屏显示
    202          {
   \   01F3  CD0000            CALL    LWRD ?ENT_PARM_DIRECT_L09
    203              SetTextPos(POS_SCROLLSTRAT, POSY_SCROLL);
   \   01F6  0E6E              LD      C,110
   \   01F8            ?0041:
   \   01F8  1E2D              LD      E,45
   \   01FA  CDE401            CALL    LWRD ?0046
    204              PutS(string, -1);
    205          }
   \   01FD  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0200            ui_show_g:
    206          
    207          void ui_show_g(const char *string)         //文件名显示
    208          {
   \   0200  CD0000            CALL    LWRD ?ENT_PARM_DIRECT_L09
    209              SetTextPos(POS_FILENAME, POSY_FILENAME);
   \   0203  0E4F              LD      C,79
   \   0205  C3F801            JP      LWRD ?0041
    210              PutS(string, -1);
    211           }
   \   0208            ui_show_batt:
    212          
    213          
    214          /* event r: reset
    215           * event l: battery empty
    216           * event h: battery full
    217           * event n: nmi, auto standby
    218           * event r1: stop recording point, file < 32M
    219           * event r2: stop recording point, file > 32M
    220           *
    221           * value    voltage        碱性电池    镍氢电池    锂电池
    222           * 0         0.90        r
    223           * 1        0.94
    224           * 2        0.98        n        r
    225           * 3        1.02
    226           * 4        1.06        l,r1        n
    227           * 5        1.10        r2        l,r1
    228           * 6        1.14                r2
    229           * 7        1.18
    230           * 8        1.22
    231           * 9        1.26
    232           * 10        1.30                        n
    233           * 11        1.34                        l,r1
    234           * 12        1.38        h        h        r2
    235           * 13        1.42
    236           * 14        1.46
    237           * 15        1.50                        h
    238           */
    239          //0~15, -1 表示正在充电
    240          void ui_show_batt(int value, char batt_type,bool fmflag)
    241          {
   \   0208  DDE5              PUSH    IX
   \   020A  C5                PUSH    BC
    242              static int cur_value=0;    //当前电量值
    243          
    244              value = input8(0x9c);
   \   020B  DB9C              IN      A,(156)
   \   020D  6F                LD      L,A
   \   020E  2600              LD      H,0
   \   0210  E5                PUSH    HL
   \   0211  DDE1              POP     IX
    245          
    246              if(GetUsbCableStatus()&&(input8(0x9c)<0xe4))
   \   0213  CD0000            CALL    LWRD GetUsbCableStatus
   \   0216  B7                OR      A
   \   0217  281A              JR      Z,?0010
   \   0219  DB9C              IN      A,(156)
   \   021B  FEE4              CP      228
   \   021D  3014              JR      NC,?0010
   \   021F            ?0012:
   \   021F            ?0011:
   \   021F            ?0009:
    247              {
    248                  cur_value++;
   \   021F  2A0000            LD      HL,(?0008)
   \   0222  23                INC     HL
   \   0223  220000            LD      (?0008),HL
    249                  if(cur_value > 8) cur_value = 0;
   \   0226  4D                LD      C,L
   \   0227  44                LD      B,H
   \   0228  210800            LD      HL,8
   \   022B  CD0000            CALL    LWRD ?SS_CMP_L02
   \   022E  3036              JR      NC,?0021
   \   0230            ?0013:
   \   0230  6C                LD      L,H
   \   0231  181F              JR      ?0033
   \   0233            ?0014:
    250              }
    251              else
   \   0233            ?0010:
    252              {
    253                      if(value < 154) cur_value = 0;    //batt empty
   \   0233  019A80            LD      BC,32922
   \   0236  DDE5              PUSH    IX
   \   0238  E1                POP     HL
   \   0239  78                LD      A,B
   \   023A  AC                XOR     H
   \   023B  67                LD      H,A
   \   023C  ED42              SBC     HL,BC
   \   023E  3005              JR      NC,?0017
   \   0240            ?0016:
   \   0240  210000            LD      HL,0
   \   0243  180D              JR      ?0033
   \   0245            ?0017:
    254                      else if(value > 212)cur_value = 8;
   \   0245  DDE5              PUSH    IX
   \   0247  C1                POP     BC
   \   0248  21D400            LD      HL,212
   \   024B  CD0000            CALL    LWRD ?SS_CMP_L02
   \   024E  3007              JR      NC,?0020
   \   0250            ?0019:
   \   0250  2E08              LD      L,8
   \   0252            ?0033:
   \   0252  220000            LD      (?0008),HL
   \   0255  180F              JR      ?0021
   \   0257            ?0020:
    255                      else cur_value = (value - 154) / 8;    //  zxs change
   \   0257  2166FF            LD      HL,65382
   \   025A  09                ADD     HL,BC
   \   025B  EB                EX      DE,HL
   \   025C  010800            LD      BC,8
   \   025F  CD0000            CALL    LWRD ?SS_DIV_L02
   \   0262  ED530000          LD      (?0008),DE
   \   0266            ?0021:
   \   0266            ?0018:
   \   0266            ?0015:
    256              }
    257                if(!fmflag)
   \   0266            ?0022:
    258                 main_ResShowPic(BATTERY1+cur_value, 153,4);
    259                else
   \   0266            ?0023:
    260                 main_ResShowPic(BATTERY1+cur_value, 153,4);
   \   0266  0E04              LD      C,4
   \   0268  C5                PUSH    BC
   \   0269  0E99              LD      C,153
   \   026B  210D00            LD      HL,13
   \   026E  ED5B0000          LD      DE,(?0008)
   \   0272  19                ADD     HL,DE
   \   0273  EB                EX      DE,HL
   \   0274  CD6D01            CALL    LWRD ?0045
   \   0277  F1                POP     AF
   \   0278            ?0024:
    261          }
   \   0278  E1                POP     HL
   \   0279  DDE1              POP     IX
   \   027B  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   027E            ui_show_lock:
    262          
    263          char ui_show_lock(char islock)
    264          {
   \   027E  CD0000            CALL    LWRD ?ENT_PARM_DIRECT_L09
    265              if(islock == 1)
   \   0281  1D                DEC     E
   \   0282  2007              JR      NZ,?0026
   \   0284            ?0025:
    266                                  main_ResShowPic(HOLD,0,0);
   \   0284  4B                LD      C,E
   \   0285  C5                PUSH    BC
   \   0286  119C00            LD      DE,156
   \   0289  1806              JR      ?0036
    267                          else
   \   028B            ?0026:
    268                                  main_ResShowPic(UNHOLD,0,0);
   \   028B  0E00              LD      C,0
   \   028D  C5                PUSH    BC
   \   028E  111501            LD      DE,277
   \   0291            ?0036:
   \   0291  CD6D01            CALL    LWRD ?0045
   \   0294  F1                POP     AF
   \   0295            ?0027:
    269                          //wait 1.5s
    270                          return ap_sleep(3);
   \   0295  110300            LD      DE,3
   \   0298  3E00              LD      A,BYTE3 ap_sleep
   \   029A  210000            LD      HL,LWRD ap_sleep
   \   029D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    271          }
   \   02A0  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0000                    RSEG    IDATA0
   \   0000            ?0008:
   \   0002                    DEFS    2
   \   0000                    RSEG    CDATA0
   \   0000  0000              DEFW    0
   \   0002                    END

Errors: none
Warnings: none
Code size: 675
Constant size: 2
Static variable size: Data(2) Iram(0)

⌨️ 快捷键说明

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