📄 fontgame.asm
字号:
; ***************************************************************************
; * Project : Electronic Dictionary *
; * Date : 2003.9 *
; * File Name : FONTGAME.ASM *
; ***************************************************************************
pw 128
case off
externs on
include st2202.def ;; Include ST2100 I/O define.
include Data.def ;; Data RAM define.
include Keydef.def
include graph.def
include bios.h
include graphics.h
public fontgame_bank
public fontgame_load_yh
public fontgame_load_5000
ds0 .section
;;;yh_menu_string1:
;;; db '8x16新英汉字库',0h
;;;yh_menu_string2:
;;; db '8x8新英汉字库',0
;;;yh_menu_string3:
;;; db '新英汉dj音标',0
;;;yh_menu_string4:
;;; db '新英汉8x16音标',0
;;;yh_menu_string5:
;;; db '新汉字库(前)',0
;;;yh_menu_string6:
;;; db '新汉字库(后)',0
;;;
;;;menu_5000_string1:
;;; db '5000-8x16字库',0
;;;menu_5000_string2:
;;; db '5000-8x12字库',0
;;;menu_5000_string3:
;;; db '5000-8x8字库',0
;;;menu_5000_string4:
;;; db 'djfont-8x8',0
;;;menu_5000_string5:
;;; db '8x16-dj音标',0
;;;menu_string_yh:
;;; db '1.8x16新英汉字库',0dh
;;; db '2.8x8新英汉字库',0dh
;;; db '3.新英汉dj音标',0dh
;;; db '4.新英汉8x16音标',0dh
;;; db '5.新汉字库',0
;;;
;;;menu_string_5000:
;;; db '1.5000-8x16字库1',0dh
;;; db '2.5000-8x12字库',0dh
;;; db '3.5000-8x8字库',0dh
;;; db '4.djfont',0dh
;;; db '5.8x16音标',0
;;;key_define_tab:
;;; db bkey,nkey,mkey,gkey,hkey,80h
;;;function_tab_5000ku:
;;; dw test_5000_8x16-1 ;;00
;;; dw test_5000_8x12-1 ;;01
;;; dw test_5000_8x8-1 ;;02
;;; dw test_djfont-1 ;;03
;;; dw test_dj8x16-1 ;;04
;;;
;;;function_tab_yhku:
;;; dw test_yh_8x16-1 ;;00
;;; dw test_yh_8x8-1 ;;01
;;; dw test_yh_dj-1 ;;02
;;; dw test_yh_8x16dj-1 ;;03
;;; dw test_chinese2-1 ;;04
;;;
;;;LUpdateScreenx macro immediate_data
;;;
;;; jsr LJSR
;;; dw graphics_bank ; #Bank No.
;;; dw UpdateScreen-1
;;; endm
;;;lupdate_all_iconx macro
;;; jsr LJSR
;;; dw graphics_bank ; #Bank No.
;;; dw update_all_icon-1
;;; endm
;;;
ps9 .section
bankno equ fontgame_bank
;;=======================================================
fontgame_load_yh:
smb7 <pd
lset_lcd_contrast
lda #00110000b
sta <IENAb
sta <IENAl
lda #80h
sta <btsr
cli
lda #10000000b
sta event_kill
lda #>reset_ok-1
pha
lda #<reset_ok-1
pha
lda #>biosbank
pha
lda #<biosbank
jmp longgo
;;; cli
;;; lReadOldContrast
;;; lset_lcd_contrast
;;; lsetscreen_to_ds0 1
;;; lprint menu_string_yh
;;; lupdatescreenx
;;;?wait_for_key:
;;; wai
;;; bbr3 <eflag,?wait_for_key
;;; lda <keyno
;;; cmp #esckey
;;; bne ?dssd
;;;
;;; lda #>DS0Bank
;;; sta <DRRh
;;; lda #<DS0Bank
;;; sta <DRRl
;;; lda bios_to_deldata_tab+3
;;; pha
;;; lda bios_to_deldata_tab+2
;;; pha
;;; lda bios_to_deldata_tab+1
;;; pha
;;; lda bios_to_deldata_tab+0
;;; jmp longgo
;;;?dssd:
;;; ldx #0
;;;?1:
;;; lda key_define_tab,x
;;; cmp <keyno
;;; beq ?to_test_ku
;;; inx
;;; cpx #5
;;; bcc ?1
;;; bra ?wait_for_key
;;;;;=================================
;;;?to_test_ku:
;;; txa
;;; asl
;;; tax
;;; lda function_tab_yhku+1,x
;;; pha
;;; lda function_tab_yhku,x
;;; pha
;;; ldx #10h
;;;?gg:
;;; stz <cdata,x
;;; dex
;;; bpl ?gg
;;; lsetscreen 1
;;; lupdatescreenx
;;; lda #0
;;; tax
;;; tay
;;; stz <OX ;; OX & OY =0
;;; lda #16
;;; sta <OY
;;; rts
;;;
;;;test_chinese3:
;;; lda #0a9h
;;; sta <cdata+1
;;; lda #0f1h
;;; sta <cdata+2
;;; sta <cdata+3
;;; lsetscreen_to_ds0 1
;;; lprint yh_menu_string5
;;; lupdatescreenx
;;;
;;; bra test_yh_xxxxxx16
;;;test_chinese1:
;;; lda #0aeh
;;; sta <cdata+1
;;; lda #0a1h
;;; sta <cdata+2
;;; sta <cdata+3
;;; lsetscreen_to_ds0 1
;;; lprint yh_menu_string6
;;; lupdatescreenx
;;;
;;; bra test_yh_xxxxxx16
;;;test_chinese2:
;;; lda #0a1h
;;; sta <cdata+1
;;; lda #0a1h
;;; sta <cdata+2
;;; sta <cdata+3
;;; lsetscreen_to_ds0 1
;;; lprint yh_menu_string5
;;; lupdatescreen
;;;
;;;test_yh_xxxxxx16:
;;; ldx <cdata+1
;;; la2xy
;;; stx textbuffor+16
;;; sty textbuffor+17
;;; ldx <cdata+2
;;; la2xy
;;; stx textbuffor+18
;;; sty textbuffor+19
;;; lupdatescreenx
;;; stz <OX ;; OX & OY =0
;;; lda #16
;;; sta <OY
;;; stz <curx
;;; lda #01
;;; sta <cury
;;; lda #40
;;; sta <cdata+3
;;;?1:
;;; ldx <cdata+1
;;; ldy <cdata+2
;;; jsr ljsr
;;; dw biosbank
;;; dw drawfont-1
;;; lupdate_all_iconx
;;; lda <cdata+2
;;; cmp #0feh
;;; bcc ?ggg
;;; bra ?sleep
;;;?ggg:
;;; lda <cdata+1
;;; cmp #0f9h
;;; bne ?xxx11
;;; lda <cdata+2
;;; cmp #0b0h
;;; bne ?xxx11
;;;;; lda #0f8h
;;;;; sta <cdata+1
;;;;; lda #0feh
;;;;; sta <cdata+2
;;; bra ?sleep
;;;?xxx11:
;;; dec <cdata+3
;;; beq ?sleep
;;; inc <cdata+2
;;; bra ?1
;;;
;;;?sleep:
;;; rmb3 <eflag
;;; wai
;;; bbr3 <eflag,?sleep
;;; lkeytone
;;; lda <keyno
;;; cmp #upkey
;;; beq ?to_sub_data
;;; cmp #downkey
;;; beq ?to_add_data
;;; cmp #esckey
;;; bne ?fsdfdsfdsfddsf
;;; jmp ?to_return_menu
;;;?fsdfdsfdsfddsf:
;;; bra ?sleep
;;;?to_sub_data:
;;; lda <cdata+1
;;; cmp #0f9h
;;; bne ?dsfsdf
;;; lda <cdata+2
;;; cmp #0b0h
;;; bne ?dsfsdf
;;; lda #0f8h
;;; sta <cdata+1
;;; lda #0f1h
;;; sta <cdata+2
;;; jmp test_yh_xxxxxx16
;;;?dsfsdf:
;;; lda <cdata+2
;;; cmp #feh
;;; bne ?ffffx
;;; lda #0c9h
;;; sta <cdata+2
;;;?here:
;;; jmp test_yh_xxxxxx16
;;;?ffffx:
;;; cmp #0c8h
;;; bne ?sdfr
;;; lda <cdata+1
;;; cmp #0a1h
;;; beq ?sleep
;;; cmp #0aeh
;;; bne ?dsfdsafdas
;;; jmp test_chinese3
;;;?dsfdsafdas:
;;; dec <cdata+1
;;; lda #0f1h
;;; sta <cdata+2
;;; bra ?here
;;;?sdfr:
;;; sec
;;; sbc #80-1
;;; sta <cdata+2
;;; jmp ?here
;;;
;;;?to_add_data:
;;; lda <cdata+1
;;; cmp #0f9h
;;; bne ?dsfdsfds1
;;; lda <cdata+2
;;; cmp #0b0h
;;; beq ?sleep
;;;
;;;?dsfdsfds1:
;;; lda <cdata+2
;;; cmp #0feh
;;; bcc ?xxxxxx
;;; lda <cdata+1
;;; cmp #0a9h
;;; bne ?ddfdf
;;; jmp test_chinese1
;;;?ddfdf:
;;; cmp #0f9h
;;; bne ?dsfdsf
;;; jmp ?sleep
;;;?dsfdsf:
;;; lda #0a1h
;;; sta <cdata+2
;;; inc <cdata+1
;;; jmp ?here
;;;?xxxxxx:
;;; clc
;;; lda <cdata+2
;;; adc #1
;;; sta <cdata+2
;;; jmp ?here
;;;?to_return_menu:
;;; rmb0 <eflag
;;; bbr0 <eflag,$
;;; jmp fontgame_load_yh
;;;
;;;
;;;
;;;
;;;
;;;test_yh_8x16dj:
;;; lda #7fh+1h
;;; sta <cdata
;;; lda #51h
;;; sta <cdata+2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -