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

📄 call_lib.asm

📁 C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        iny
        cpy     #2
        beq     ?_show_exit
        pla
        bra     ?_show_a                 
        
?_show_exit:
        plx
        rts
        ENDMOD
;.EFUNC ;API_LcmShowNumber2B

;***************************************************************************
;* Func:        API_LcmStringSkipMode
;* Input:       skip_pix_mode : 1 enable
;                               0 disbale
;* Output:      none
;*
;* Description: enable/disable string skip mode
;*
;***************************************************************************
        ;extern void  API_LcmStringSkipMode(uint8 SkipPixMode);
        MODULE  API_LcmStringSkipMode
        PUBLIC  API_LcmStringSkipMode
        RSEG    APP
        DEFFN   API_LcmStringSkipMode(0,0,0,0,32768,0,1,0)
API_LcmStringSkipMode:      
        sta     str_skip_pix_onoff
        rts
        ENDMOD
;.EFUNC ;API_LcmStringSkipMode

;***************************************************************************
;* Func:        API_LcmSetStringSkipPIX
;* Input:       skip_pix
;* Output:      none
;*
;* Description: set string skip pix
;*
;***************************************************************************
        ;extern void  API_LcmSetStringSkipPIX(uint8 SkipPIX);
        MODULE  API_LcmSetStringSkipPIX
        PUBLIC  API_LcmSetStringSkipPIX
        RSEG    APP
        DEFFN   API_LcmSetStringSkipPIX(0,0,0,0,32768,0,1,0)
API_LcmSetStringSkipPIX:      
        sta     str_skip_pix
        rts
        ENDMOD
;.EFUNC ;API_LcmSetStringSkipPIX

;***************************************************************************
;* Func:        API_LcmShowString
;* Input:       ptr, pos_x, pos_y
;* Output:      none
;*
;* Description: lcm show string
;*
;***************************************************************************
        ;extern void  API_LcmShowString(uint8 *pStr,uint16 PosX,uint16 PosY);
        MODULE  API_LcmShowString
        PUBLIC  API_LcmShowString
        RSEG    APP
        DEFFN   API_LcmShowString(0,0,0,0,32768,0,6,0)
API_LcmShowString:      
        php
        
        lda     np:PRMBN API_LcmShowString+0
        sta     str_ptrl
        lda     np:PRMBN API_LcmShowString+1
        sta     str_ptrh
        lda     np:PRMBN API_LcmShowString+2
        sta     pos_x_l
        lda     np:PRMBN API_LcmShowString+3
        sta     pos_x_h
        lda     np:PRMBN API_LcmShowString+4
        sta     pos_y_l
        lda     np:PRMBN API_LcmShowString+5
        sta     pos_y_h
        
        phx
        phy
        jsr     lcm_char_puts
        tya
        ply
        plx
        plp
        rts
        ENDMOD
;.EFUNC ;lcd_show_str_


;***************************************************************************
;* Func:        API_LcmShowStringEx
;* Input:       ptr, pos_x, pos_y, ch_fs, ch_cs, fg_clrl, bg_clrl
;* Output:      none
;*
;* Description: extern lcm show string
;*
;***************************************************************************
        ;extern void  API_LcmShowStringEx(uint8 *pStr,uint16 PosX,uint16 PosY, uint8 CharFs, uint8 CharLag, uint16 FGClrl, uint16 BGClrl, uint8 StrLen);
        MODULE  API_LcmShowStringEx
        PUBLIC  API_LcmShowStringEx
        RSEG    APP
        DEFFN   API_LcmShowStringEx(0,0,0,0,32768,0,13,0)
API_LcmShowStringEx:    
        ;php
        sei
        
        lda     np:PRMBN API_LcmShowStringEx+0
        sta     str_ptrl
        lda     np:PRMBN API_LcmShowStringEx+1
        sta     str_ptrh
        lda     np:PRMBN API_LcmShowStringEx+2
        sta     pos_x_l
        lda     np:PRMBN API_LcmShowStringEx+3
        sta     pos_x_h
        lda     np:PRMBN API_LcmShowStringEx+4
        sta     pos_y_l
        lda     np:PRMBN API_LcmShowStringEx+5
        sta     pos_y_h
        lda     np:PRMBN API_LcmShowStringEx+6
        sta     ch_fs
        lda     np:PRMBN API_LcmShowStringEx+7
        sta     ch_cs
        lda     np:PRMBN API_LcmShowStringEx+8
        sta     fg_clrll
        lda     np:PRMBN API_LcmShowStringEx+9
        sta     fg_clrlh
        lda     np:PRMBN API_LcmShowStringEx+10
        sta     bg_clrll
        lda     np:PRMBN API_LcmShowStringEx+11
        sta     bg_clrlh        
        lda     np:PRMBN API_LcmShowStringEx+12
        sta     str_len         
        
        phx
        jsr     lcm_char_puts
        tya
        plx
        
        ;plp
        rts
        ENDMOD
;.EFUNC ;API_LcmShowStringEx

;***************************************************************************
;* Func:        API_LcmPutSysImage
;* Input:       img_idx_l,img_idx_h,pos_x_l,pos_x_h,pos_y_l,pos_y_h
;* Output:      none
;*
;* Description: API_LcmPutSysImage
;*
;***************************************************************************
        ;extern void  API_LcmPutSysImage(uint16 ImgIdx, uint16 PosX, uint16 PosY);
        ;lcm_put_sysimg:
        MODULE  API_LcmPutSysImage
        PUBLIC  API_LcmPutSysImage
        RSEG    APP
        DEFFN   API_LcmPutSysImage(0,0,0,0,32768,0,6,0) 
API_LcmPutSysImage:
        
        lda     np:PRMBN API_LcmPutSysImage+0
        sta     img_idx_l
        lda     np:PRMBN API_LcmPutSysImage+1
        sta     img_idx_h
        lda     np:PRMBN API_LcmPutSysImage+2
        sta     pos_x_l
        lda     np:PRMBN API_LcmPutSysImage+3
        sta     pos_x_h
        lda     np:PRMBN API_LcmPutSysImage+4
        sta     pos_y_l
        lda     np:PRMBN API_LcmPutSysImage+5
        sta     pos_y_h
        

        phx
        jsr     lcm_put_sysimg
        plx

        rts
        ENDMOD
;.EFUNC ;API_LcmPutSysImage


;***************************************************************************
;* Func:        API_LcmFillRectangle
;* Input:       pos_x_l,pos_x_h,pos_y_l,pos_y_h,reg_w_l,reg_w_h,reg_h_l,reg_h_h,fg_clrll,fg_clrlh
;* Output:      none
;*
;* Description: API_LcmFillRectangle
;*
;***************************************************************************
        ;extern void  API_LcmFillRectangle(uint16 PosX, uint16 PosY,uint16 Width,uint16 High,uint16 FGClrl);
        ;API_LcmFillRectangle:
        MODULE  API_LcmFillRectangle
        PUBLIC  API_LcmFillRectangle
        RSEG    APP
        DEFFN   API_LcmFillRectangle(0,0,0,0,32768,0,10,0)      
API_LcmFillRectangle:
        phx
        
        SETB    pos_x_l,np:PRMBN API_LcmFillRectangle+0
        SETB    pos_x_h,np:PRMBN API_LcmFillRectangle+1
        
        SETB    pos_y_l,np:PRMBN API_LcmFillRectangle+2
        SETB    pos_y_h,np:PRMBN API_LcmFillRectangle+3
        
        SETB    reg_w_l,np:PRMBN API_LcmFillRectangle+4
        SETB    reg_w_h,np:PRMBN API_LcmFillRectangle+5
        
        SETB    reg_h_l,np:PRMBN API_LcmFillRectangle+6
        SETB    reg_h_h,np:PRMBN API_LcmFillRectangle+7
        
        SETB    fg_clrll,np:PRMBN API_LcmFillRectangle+8
        SETB    fg_clrlh,np:PRMBN API_LcmFillRectangle+9
        
        JSR     lcm_fill_region
        plx
        rts
        
        ENDMOD
;.EFUNC ;API_LcmFillRectangle

;***************************************************************************
;* Func:        API_LcmEnableKeepBackGround
;* Input:       
;* Output:      
;*
;* Description: 
;*
;***************************************************************************
        ;extern void API_LcmEnableKeepBackGround(void);
        MODULE  API_LcmEnableKeepBackGround
        PUBLIC  API_LcmEnableKeepBackGround
        RSEG    APP
        DEFFN   API_LcmEnableKeepBackGround(0,0,0,0,32768,0,0,0)
API_LcmEnableKeepBackGround:
        SETB    char_mode,#1 ;keep background
        rts
        ENDMOD
;.EFUNC ;API_LcmEnableKeepBackGround    
        
;***************************************************************************
;* Func:        API_LcmDisableKeepBackGround
;* Input:       
;* Output:      
;*
;* Description: 
;*
;***************************************************************************
        ;extern void API_LcmDisableKeepBackGround;
        MODULE  API_LcmDisableKeepBackGround
        PUBLIC  API_LcmDisableKeepBackGround
        RSEG    APP
        DEFFN   API_LcmDisableKeepBackGround(0,0,0,0,32768,0,0,0)
API_LcmDisableKeepBackGround:
        stz     char_mode ;clean background
        rts
        ENDMOD
;.EFUNC ;API_LcmDisableKeepBackGround


;***************************************************************************
;* Func:        API_LcmGetBackLight
;* Input:       
;* Output:      BackLight(0~31) 
;*
;* Description: get backlight level (0~31)
;*
;***************************************************************************
        ;extern uint8 API_LcmGetBackLight(Bl);
        MODULE  API_LcmGetBackLight
        PUBLIC  API_LcmGetBackLight
        RSEG    APP
        DEFFN   API_LcmGetBackLight(0,0,0,0,32768,0,0,0)
API_LcmGetBackLight:
        phx
        jsr     get_backlight_level
        plx
        rts
        ENDMOD
;.EFUNC ;API_LcmGetBackLight


;***************************************************************************
;* Func:        API_LcmSetBackLight
;* Input:       BackLight(0~31) 
;* Output:      
;*
;* Description: set backlight level (0~31)
;*
;***************************************************************************
        ;extern void  API_LcmSetBackLight(uint8 bl);
        MODULE  API_LcmSetBackLight
        PUBLIC  API_LcmSetBackLight
        RSEG    APP
        DEFFN   API_LcmSetBackLight(0,0,0,0,32768,0,1,0)
API_LcmSetBackLight:
        phx
        jsr     set_backlight_level
        plx
        rts
        ENDMOD
;.EFUNC ;API_LcmSetBackLight


;***************************************************************************
;* Func:        API_LcmGetScreenWH
;* Input:       pWidth : a pointer to Width
;*              pHigh : a pointer to High
;* Output:      none

;*
;* Description: get screen width, high
;*
;***************************************************************************
        ;extern void  API_LcmGetScreenWH(uint16 *pWidth, uint16 *pHigh);
        MODULE  API_LcmGetScreenWH
        PUBLIC  API_LcmGetScreenWH
        RSEG    APP
        DEFFN   API_LcmGetScreenWH(0,0,0,0,32768,0,8,0)    
API_LcmGetScreenWH:
        .EXTERN  ?DP0_L00
        
        PHA
        LDA     zp:?DP0_L00+1
        PHA
        LDA     zp:?DP0_L00
        PHA
                
;       SETB    file_filter,np:PRMBN API_PhotoGetWH
;       SETB    file_filter_grp,np:PRMBN API_PhotoGetWH+1
;       
;       SETB    fileIdxL,np:PRMBN API_PhotoGetWH+2
;       SETB    fileIdxH,np:PRMBN API_PhotoGetWH+3
;       
;       phx
;       ;jsr    API_get_jpg_wh
;       ;_pre_photo_open
;       _LOAD_API       _SA_FFGP_PRE_ENS,API_ID_FF_GP
;       _LOAD_API       _SA_PPP_PPO,API_ID_PRE_PHOTO_PLAY
;       _LOAD_API       SUBID_NONE,API_ID_GET_JPG_WH            
;       
;       plx
;       sta     np:PRMBN API_PhotoGetWH  ;backup result
;       cmp     #0
;       beq     ?end    
        
        ;load width
        LDA     np:PRMBN API_LcmGetScreenWH+0
        STA     zp:?DP0_L00
        LDA     np:PRMBN API_LcmGetScreenWH+1
        STA     zp:?DP0_L00+1
        LDY     #0
        LDA     lcm_width_l
        STA     (zp:?DP0_L00),Y
        INY
        LDA     lcm_width_h
        STA     (zp:?DP0_L00),Y 

        ;load high
        LDA     np:PRMBN API_LcmGetScreenWH+2
        STA     zp:?DP0_L00
        LDA     np:PRMBN API_LcmGetScreenWH+3
        STA     zp:?DP0_L00+1
        LDY     #0
        LDA     lcm_height_l
        STA     (zp:?DP0_L00),Y
        INY
        LDA     lcm_height_h
        STA     (zp:?DP0_L00),Y 
 
        
 ?end:       
        PLA
        STA     zp:?DP0_L00
        PLA
        STA     zp:?DP0_L00+1
        PLA     
        
        rts
        ENDMOD
;.EFUNC ;API_PhotoGetWH

;***************************************************************************
;* Func:        API_LcmWriteImage
;* Input:       pos_x          - start x
;*              pos_y          - start y
;*              reg_w          - width
;*              reg_h          - height
;*              reg_npx(l:h)   - number of pixels
;*              img_adr(ll-lh) - image address (format 565)
;* Output:      
;*
;* Description: 
;*
;***************************************************************************
        ;extern void API_LcmWriteImage(uint16 PosX, uint16 PosY, uint16 Width, uint16 High ,uint16 PixNum, uint16 *pImgData);
        MODULE  API_LcmWriteImage
        PUBLIC  API_LcmWriteImage
        RSEG    APP
        DEFFN   API_LcmWriteImage(0,0,0,0,32768,0,12,0)
API_LcmWriteImage:
        
        SETB    pos_x_l,np:PRMBN API_LcmWriteImage+0
        SETB    pos_x_h,np:PRMBN API_LcmWriteImage+1

        SETB    pos_y_l,np:PRMBN API_LcmWriteImage+2
        SETB    pos_y_h,np:PRMBN API_LcmWriteImage+3

        SETB    reg_w_l,np:PRMBN API_LcmWriteImage+4
        SETB    reg_w_h,np:PRMBN API_LcmWriteImage+5

        SETB    reg_h_l,np:PRMBN API_LcmWriteImage+6
        SETB    reg_h_h,np:PRMBN API_LcmWriteImage+7
        
        SETB    reg_npxl,np:PRMBN API_LcmWriteImage+8
        SETB    reg_npxh,np:PRMBN API_LcmWriteImage+9
        
        SETB    img_adrll,np:PRMBN API_LcmWriteImage+10
        SETB    img_adrlh,np:PRMBN API_LcmWriteImage+11
        
        phx
        jsr     lcm_img_put_bitmap
        plx             
        
        rts
        ENDMOD
;.EFUNC ;API_LcmWriteImage


;***************************************************************************
;* Func:        API_LcmReadImage
;* Input:       pos_x          - start x
;*              pos_y          - start y
;*              reg_w          - width
;*              reg_h          - height
;*              reg_npx(l:h)   - number of pixels
;*              img_adr(ll-lh) - image address (format 565)
;* Output:      
;*
;* Description: 
;*
;***************************************************************************
        ;extern void API_LcmReadImage(uint16 PosX, uint16 PosY, uint16 Width, uint16 H

⌨️ 快捷键说明

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