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

📄 graphics.h

📁 辞典 dict3.asm.grammar.asm,newword.asm 学习 learn.asm 名片 userinf.asm 备忘 userinf.asm 提醒 userinf
💻 H
📖 第 1 页 / 共 4 页
字号:
        endm
LDrawNumS 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
        endm

LClrNum 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      ClrNum-1
        endm

LClrNumS 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      ClrNumS-1
        endm

; ***************************************************************************
lupdate_all_icon     macro
        if      updatesc_bank=BankNo
          jsr     update_all_icon_bug
        else
          jsr     LJSR
          dw      updatesc_bank    ; #Bank No.
          dw      update_all_icon_bug-1
        endif

        endm

; ***************************************************************************

lupdate_all_icon_in_test     macro
        if      graphics_bank=BankNo
          jsr     update_all_icon_in_test
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      update_all_icon_in_test-1
        endif

        endm

;[M]-----------------------------------------------[M]
;       Screen Update for text mode.
;
;        Function : 更新文字画面(更新文字画面被异动的部)
;     Description :
;  Input argument :
; Output argument :
;
;[M]-----------------------------------------------[M]
LUpdateScreen macro   immediate_data

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

Lupdatescreen_no1 macro   immediate_data
        if      graphics_bank=BankNo
          jsr     screenupdate_no1_bug
        else
          jsr     LJSR
          dw      updatesc_bank    ; #Bank No.
          dw      screenupdate_no1_bug-1
        endif
        endm

Lupdatescreen_no2 macro   immediate_data
        if      graphics_bank=BankNo
          jsr     screenupdate_no2_bug
        else
          jsr     LJSR
          dw      updatesc_bank    ; #Bank No.
          dw      screenupdate_no2_bug-1
        endif
        endm

Lupdatescreen_no3 macro   immediate_data
        if      graphics_bank=BankNo
          jsr     screenupdate_no3_bug
        else
          jsr     LJSR
          dw      updatesc_bank    ; #Bank No.
          dw      screenupdate_no3_bug-1
        endif
        endm

Lupdatescreen_no4 macro   immediate_data
        if      graphics_bank=BankNo
          jsr     screenupdate_no4_bug
        else
          jsr     LJSR
          dw      updatesc_bank    ; #Bank No.
          dw      screenupdate_no4_bug-1
        endif
        endm

Lupdatescreen_no5 macro   immediate_data
        if      graphics_bank=BankNo
          jsr     screenupdate_no5_bug
        else
          jsr     LJSR
          dw      updatesc_bank    ; #Bank No.
          dw      screenupdate_no5_bug-1
        endif
        endm

Lupdatescreen_no2345 macro   immediate_data
        if      graphics_bank=BankNo
          jsr     screenupdate_no2345_bug
        else
          jsr     LJSR
          dw      updatesc_bank    ; #Bank No.
          dw      screenupdate_no2345_bug-1
        endif
        endm

;除掉最前面的两个字符,其余部分均刷新(基本上同:Lupdatescreen)
Lupdatescreen_except2 macro   immediate_data
        if      graphics_bank=BankNo
          jsr     Lupdatescreen_except2_bug
        else
          jsr     LJSR
          dw      updatesc_bank    ; #Bank No.
          dw      Lupdatescreen_except2_bug-1
        endif
        endm
;[M]-----------------------------------------------[M]
;       Draw text string to graphic screen.
;       [ 15 x 16 or 8 x 16 字型]
;        Function : 画出(中文/英文/数字)字串到图形画面.
;     Description : 1. 将 x,y 所指定的字串画到图形画面.
;                   2. 字串以0当结尾.
;                   3. 字串所在的位置请放置在ROM data区段(8000h~ffffh).
;  Input argument : x,y : 字串所在address.
;                   x : high byte of string address.
; Output argument :
;
;[M]-----------------------------------------------[M]
LDrawText macro _drawtextaddress
        ifma    1
          ldx     #>_drawtextaddress
          ldy     #<_drawtextaddress
        endif

        if updatesc_bank=BankNo
          jsr     DrawText_WX
        else
          jsr     LJSR
          dw      updatesc_bank    ; #Bank No.
          dw      DrawText_WX-1
        endif

        endm

;[M]-----------------------------------------------[M]
;       Draw text string to graphic screen.
;       [ 8 x 8  字型]
;        Function : 画出(英文/数字)字串到图形画面.
;     Description : 1. 将 x,y 所指定的字串画到图形画面.
;                   2. 字串以0当结尾.
;                   3. 字串所在的位置请放置在ROM data区段(8000h~ffffh).
;  Input argument : x,y : 字串所在address.
;                   x : high byte of string address.
; Output argument :
;[M]-----------------------------------------------[M]
LDrawText8 macro _drawtextaddress
        ifma    1
          ldx     #>_drawtextaddress
          ldy     #<_drawtextaddress
        endif

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

;[M]-----------------------------------------------[M]
;       Draw phonetic symbol string to graphic screen.
;       [ 8 x 8  字型]
;        Function : 画出(英文/数字)字串到图形画面.
;     Description : 1. 将 x,y 所指定的字串画到图形画面.
;                   2. 字串以0当结尾.
;                   3. 字串所在的位置请放置在ROM data区段(8000h~ffffh).
;  Input argument : x,y : 字串所在address.
;                   x : high byte of string address.
; Output argument :
;[M]-----------------------------------------------[M]
LDrawPhoneticText macro _drawtextaddress
        ifma    1
          ldx     #>_drawtextaddress
          ldy     #<_drawtextaddress
        endif

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

;[M]-----------------------------------------------[M]
;       Draw one character to graphin screen.
;       [ 15 x 16 or 8 x 16 字型]
;        Function : 画出一个字元(中文/英文/数字)到图形画面.
;     Description : 将 x ,(y) 字形画到图形画面.
;                   * 如果 x < 80h 则代表是一个英文或数字,
;                     则仅将 x 输出.
;                   * 如果 x >= 80h 则代表是一个中文,
;                     则连代将 y 一起输出.
;  Input argument : x , (y) : 字元码.
; Output argument :
;[M]-----------------------------------------------[M]
LDrawChar_to_textbuffor macro _drawcharH,_drawcharL
        ifma    1
          ldx     #_drawcharH
        endif

        ifma    2
          ldy     #_drawcharL
        endif

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

; ***************************************************************************
LDrawChar macro _drawcharH,_drawcharL
        ifma    1
          ldx     #_drawcharH
        endif

        ifma    2
          ldy     #_drawcharL
        endif

        if      updatesc_bank=BankNo
          jsr     DrawChar_WX
        else
          jsr     LJSR
          dw      updatesc_bank    ; #Bank No.
          dw      DrawChar_WX-1
        endif
        endm
; ***************************************************************************

;[M]-----------------------------------------------[M]
;       Draw character 8.
;       [ 8 x 8 字型]
;        Function : 画出一个字元(英文/数字)到图形画面.
;     Description : 将 x  字形画到图形画面.
;  Input argument : x  : 字元码.
; Output argument :
;[M]-----------------------------------------------[M]
LDrawChar8 macro _drawchar
        ifma    1
          ldx     #_drawchar
        endif

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

;[M]-----------------------------------------------[M]
;       Draw character 12.
;       [ 12 x 12 字型]
;        Function : 画出一个字元(英文/数字)到图形画面.
;     Description : 将 x  字形画到图形画面.
;  Input argument : x  : 字元码.
; Output argument :
;[M]-----------------------------------------------[M]
lDraw8x16Phonetic  macro

        if        updatesc_bank=BankNo
          jsr     Draw8x16Phonetic_bug
        else
          jsr     LJSR
          dw      updatesc_bank
          dw      Draw8x16Phonetic_bug-1
        endif
        endm

LDrawChar12_to_ram macro _drawchar
        ifma    1
          ldx     #_drawchar
        endif

        if      graphics_bank=BankNo
          jsr     DrawChar12_to_ram
        else
          jsr     LJSR
          dw      graphics_bank
          dw      DrawChar12_to_ram-1
        endif
        endm

LDrawChar12 macro _drawchar
        ifma    1
          ldx     #_drawchar
        endif

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

;[M]-----------------------------------------------[M]
;       Draw phonetic symbol character to graphic screen.
;       [ 音标字型]
;        Function : 画出一个音标字元到图形画面.
;     Description : 将 x  字形画到图形画面.
;  Input argument : x  : 字元码.
; Output argument :
;[M]-----------------------------------------------[M]
LDrawPhoneticChar macro _drawchar
        ifma    1
          ldx     #_drawchar
        endif

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

;[M]-----------------------------------------------[M]
;       Draw 8 x 16 dots block.
;
;        Function : Draw 8(宽) x 16(高) dots block.
;     Description : 画出一个 8(宽) x 16(高)点的图形方块.
;  Input argument : x , y : 图形方块的 address.
;                   OX:方块左上角X座标。
;                   OY:方块左上角Y座标(除8)。
;                   DrawMode 绘图方式
;                   注意!图形方块请放置在ROM data区段(8000h~ffffh).
;                   图形方块结构请叁阅Graphic.asm中的 "Draw"
;                   subroutine.
;
; Output argument : OX+=8, OY+=2
;[M]-----------------------------------------------[M]
LDraw816 macro  _draw816address
        ifma    1
          ldx     #>_draw816address
          ldy     #<_draw816address
        endif

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

;[M]-----------------------------------------------[M]
;       Draw 13 x 16 dots block.
;
;        Function : Draw 13(宽) x 16(高) dots block.
;     Description : 画出一个 13(宽) x 16(高)点的图形方块.
;  Input argument : x , y : 图形方块的 address.
;                   OX:方块左上角X座标。
;                   OY:方块左上角Y座标(除8)。
;                   DrawMode 绘图方式
;                   注意!图形方块请放置在ROM data区段(8000h~ffffh).
;                   图形方块结构请叁阅Graphic.asm中的 "Draw"
;                   subroutine.
;
; Output argument : OX+=13, OY+=2
;[M]-----------------------------------------------[M]
LDraw1316 macro
        if      graphics_bank=BankNo
          jsr     Draw1316
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      Draw1316-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       Draw 23 x 32 dots block.
;
;        Function : Draw 23(宽) x 32(高) dots block.
;     Description : 画出一个 23(宽) x 32(高)点的图形方块.
;  Input argument : x , y : 图形方块的 address.
;                   OX:方块左上角X座标。
;                   OY:方块左上角Y座标(除8)。
;                   DrawMode 绘图方式
;                   注意!图形方块请放置在ROM data区段(8000h~ffffh).
;                   图形方块结构请叁阅Graphic.asm中的 "Draw"
;                   subroutine.
;
; Output argument : OX+=23, OY+=32
;[M]-----------------------------------------------[M]
LDraw2332 macro
        if      graphics_bank=BankNo
          jsr     Draw2332
        else
          jsr     LJSR
          dw      graphics_bank    ; #Bank No.
          dw      Draw2332-1
        endif
        endm

;[M]-----------------------------------------------[M]
;       Draw a graphic block.
;
;        Function : Draw a graphic block.
;     Description : 画出一个图形方块.
;  Input argument : x , y : 图形方块的 address.
;                   OX:方块左上角X座标。
;                   OY:方块左上角Y座标(除8)。
;                   DrawMode 绘图方式
;                   注意!图形方块请放置在ROM data区段(8000h~ffffh).
;                   图形方块结构请叁阅Graphic.asm中的 "Draw"
;                   subroutine.
;
; Output argument : OX+=方块图案宽度, OY+=方块图案高度.
;[M]-----------------------------------------------[M]
LDraw   macro   _drawaddress
        ifma    1
          ldx     #>_drawaddress
          ldy     #<_drawaddress
        endif

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

;[M]-----------------------------------------------[M]
;       Draw a dots block.

⌨️ 快捷键说明

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