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

📄 graphics.h

📁 辞典 dict3.asm.grammar.asm,newword.asm 学习 learn.asm 名片 userinf.asm 备忘 userinf.asm 提醒 userinf
💻 H
📖 第 1 页 / 共 4 页
字号:
; Output argument : OY+=y , OX+=x.
;[M]-----------------------------------------------[M]
LEraseBlock  macro _patw,_path
        ifma    2
          ldx   #_patw
          ldy   #_path
        endif

        if      graphics_bank=BankNo
          jsr     EraseBlock
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      EraseBlock-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       Go to next text line
;
;        Function : Go to next text line
;     Description : Text cursor 移到下一行开头.
;  Input argument :
; Output argument : CurY+=1 , CurX=0.
;[M]-----------------------------------------------[M]
LCRLF   macro
        if      graphics_bank=BankNo
          jsr     CRLF
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      CRLF-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       Go to next text line
;
;        Function : Go to next text line
;     Description : 如果CurX != 0 ,
;                   then text cursor 移到下一行开头.
;  Input argument :
; Output argument :
;[M]-----------------------------------------------[M]
LCheckCRLF   macro
        if      graphics_bank=BankNo
          jsr     CheckCRLF
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      CheckCRLF-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       ReStart character input mode.
;
;        Function : 重新起始字元输入mode.
;     Description :
;  Input argument :
; Output argument :
;[M]-----------------------------------------------[M]
LInitScanF  macro
        if      graphics_bank=BankNo
            jsr myInitScanF
        else
            jsr     LJSR
            dw      graphics_bank    ; #Bank No.
            dw      myInitScanF-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       Start character input mode.
;
;        Function : 设定为字元输入mode.
;     Description :
;  Input argument :
; Output argument :
;[M]-----------------------------------------------[M]
LScanF  macro   _ScanVal
        if      graphics_bank=BankNo
          ifma    1
            lda #_ScanVal
            jsr myScanFU
          else
            jsr myScanF
          endif
        else
          ifma    1
            lda #_ScanVal
            jsr     LJSR
            dw      graphics_bank    ; #Bank No.
            dw      myScanFU-1
          else
            jsr     LJSR
            dw      graphics_bank    ; #Bank No.
            dw      myScanF-1
          endif
        endif
        endm

;[M]-----------------------------------------------[M]
;       Start character input mode.
;
;        Function : 设定为字元输入mode(不改变初始状态).
;     Description :
;  Input argument :
; Output argument :
;[M]-----------------------------------------------[M]
LScanFU macro
        if      graphics_bank=BankNo
          jsr     myScanFU
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      myScanFU-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       Exit character input mode.
;
;        Function : 跳出字元输入mode.
;     Description :
;  Input argument :
; Output argument :
;[M]-----------------------------------------------[M]
LExitScanF macro
;        if      graphics_bank=BankNo
;          jsr     ExitScanF
;        else
;          jsr     LJSR
;          dw      graphics_bank    ; #Bank No.
;          dw      ExitScanF-1
;        endif
        if      graphics_bank=BankNo
          jsr     myExitScanF

        else

        stz     <ScanFF         ; Clear ScanF falg.
        rmb5    <SysF           ; Set cursor off.
        endif

        endm

;[M]-----------------------------------------------[M]
;       Clear row #1 of text mode.
;
;        Function : 清除文字列(row)#0.
;     Description :
;  Input argument :
; Output argument :
;[M]-----------------------------------------------[M]
LClrRow0 macro
        if      graphics_bank=BankNo
          jsr     ClrRow0
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      ClrRow0-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       Clear row #1 of text mode.
;
;        Function : 清除文字列(row)#1.
;     Description :
;  Input argument :
; Output argument :
;[M]-----------------------------------------------[M]
LClrRow1 macro
        if      graphics_bank=BankNo
          jsr     ClrRow1
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      ClrRow1-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       Clear row #2 of text mode.
;
;        Function : 清除文字列(row)#2.
;     Description :
;  Input argument :
; Output argument :
;[M]-----------------------------------------------[M]
LClrRow2 macro
        if      graphics_bank=BankNo
          jsr     ClrRow2
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      ClrRow2-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       Clear row #3 of text mode.
;
;        Function : 清除文字列(row)#3.
;     Description :
;  Input argument :
; Output argument :
;[M]-----------------------------------------------[M]
LClrRow3 macro
        if      graphics_bank=BankNo
          jsr     ClrRow3
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      ClrRow3-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       Clear row #4 of text mode.
;
;        Function : 清除文字列(row)#4.
;     Description :
;  Input argument :
; Output argument :
;[M]-----------------------------------------------[M]
LClrRow4 macro
        if      graphics_bank=BankNo
          jsr     ClrRow4
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      ClrRow4-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       Clear row #5 of text mode.
;
;        Function : 清除文字列(row)#5.
;     Description :
;  Input argument :
; Output argument :
;[M]-----------------------------------------------[M]
LClrRow5 macro
        if      graphics_bank=BankNo
          jsr     ClrRow5
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      ClrRow5-1
        endif
        endm

LClrRow6 macro
        if      graphics_bank=BankNo
          jsr     ClrRow6
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      ClrRow6-1
        endif
        endm

LClrRow7 macro
        if      graphics_bank=BankNo
          jsr     ClrRow7
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      ClrRow7-1
        endif
        endm

LClrRow8 macro
        if      graphics_bank=BankNo
          jsr     ClrRow8
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      ClrRow8-1
        endif
        endm

LClrRow9 macro
        if      graphics_bank=BankNo
          jsr     ClrRow9
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      ClrRow9-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       Clear row #n of text mode.
;
;        Function : 清除文字列(row)#x.
;     Description : x : row number.
;  Input argument :
; Output argument :
;[M]-----------------------------------------------[M]
LClrRow  macro  _rowno
        ifma    1
          ldx     #_rowno*16
        endif

        if      graphics_bank=BankNo
          jsr     ClrRow
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      ClrRow-1
        endif
        endm

;;;[M]-----------------------------------------------[M]
;;;       Dot invert
;;;
;;;        Function : Graphic block invert.
;;;     Description : 将一块图形区块反向(以点为单位:黑变白,白变黑)
;;;  Input argument : OX : 图形区块开始X座标.
;;;                   OY : 图形区块开始Y座标.
;;;                    x : 图形区块宽度.
;;;                    y : 图形区块高度.
;;; Output argument : OY+=y , OX+=x.
;;;[M]-----------------------------------------------[M]
;;LDotInvert  macro  _dotx,_doty
;;        ifma    1
;;          ldx     #_dotx
;;        endif
;;
;;        ifma    2
;;          ldy     #_doty
;;        endif
;;
;;        if      graphics_bank=BankNo
;;          jsr     DotInvert
;;        else
;;          jsr     LJSR
;;          dw      graphics_bank    ; #Bank No.
;;          dw      DotInvert-1
;;        endif
;;        endm
;;
;;;[M]-----------------------------------------------[M]
;;;       Draw dot.
;;;
;;;        Function : Draw a dot.
;;;     Description : 点亮一个LCD点.
;;;  Input argument : OX:LCD点X座标。
;;;                   OY:LCD点Y座标。
;;; Output argument :
;;;[M]-----------------------------------------------[M]
;;LDrawDot  macro
;;        if      graphics_bank=BankNo
;;          jsr     DrawDot
;;        else
;;          jsr     LJSR
;;          dw      graphics_bank    ; #Bank No.
;;          dw      DrawDot-1
;;        endif
;;        endm
;;
;;;[M]-----------------------------------------------[M]
;;;       Erase dot.
;;;
;;;        Function : Erase a dot.
;;;     Description : 关掉一个LCD点.
;;;  Input argument : OX:LCD点X座标。
;;;                   OY:LCD点Y座标。
;;; Output argument :
;;;[M]-----------------------------------------------[M]
;;LEraseDot   macro
;;        if      graphics_bank=BankNo
;;          jsr     EraseDot
;;        else
;;          jsr     LJSR
;;          dw      graphics_bank    ; #Bank No.
;;          dw      EraseDot-1
;;        endif
;;        endm
;;

ClearAllIcon    macro
        lda     #0
        sta     ICON_1
        endm

lset_lcd_contrast_to_default  MACRO
 if     graphics_bank=BankNo
        jsr     set_lcd_contrast_to_default
 else
        jsr     ljsr
        dw      graphics_bank
        dw      set_lcd_contrast_to_default-1
 endif

        ENDM

lset_lcd_contrast  MACRO
 if     graphics_bank=BankNo
        jsr     set_lcd_contrast
 else
        jsr     ljsr
        dw      graphics_bank
        dw      set_lcd_contrast-1
 endif

        ENDM

lclear_device   MACRO
 if     graphics_bank=BankNo
        jsr     clear_device
 else
        jsr     ljsr
        dw      graphics_bank
        dw      clear_device-1
 endif

        ENDM

lTranBinDec macro
        if        BankNo=SciBank
          jsr     TranBinDec
        else
          jsr     LJSR
          dw      SciBank         ; Banck No.
          dw      TranBinDec-1
        endif
        endm
lfive_to_inc_1_1 macro
        if        BankNo=ChangeBank
          jsr     five_to_inc_1_1
        else
          jsr     LJSR
          dw      ChangeBank      ; Banck No.
          dw      five_to_inc_1_1-1
        endif
        endm
lCutTail1 macro
        if        BankNo=ChangeBank
          jsr     CutTail1
        else
          jsr     LJSR
          dw      ChangeBank      ; Banck No.
          dw      CutTail1-1
        endif
        endm
ladd_little_dot1 macro
        if        BankNo=ChangeBank
          jsr     add_little_dot1
        else
          jsr     LJSR
          dw      ChangeBank      ; Banck No.
          dw      add_little_dot1-1
        endif
        endm
lRandomOff   macro
         rmb4    <SysF
        endm
;[M]-----------------------------------------------[M]
LRandomOn macro
         smb4    <SysF

        endm

;;==============================================================
;;==============================================================
;;==============================================================
LTestNum macro x,y,num
        ifma 3
                lda     #x
                sta     <Lcd_ox
                lda     #y
                sta     <Lcd_oy
                ldx     #num
        elseif
        ifma    1
          ldx     #x
        endif
        endif
         jsr     Ljsr
         dw      graphics_bank       ; Banck No.
         dw      TestNum-1
        endm

LDrawNum macro x,y,num
        ifma 3
                lda     #x
                sta     <ox
                lda     #y
                sta     <oy
                ldx     #num
        elseif
        ifma    1
          ldx     #x
        endif
        endif
         jsr     Ljsr
         dw      updatesc_bank       ; Banck No.
         dw      DrawNumS_bug-1

⌨️ 快捷键说明

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