📄 sdrv_putchar.lst
字号:
\ 0050 CD0000 CALL BlackCharToColor
65 //把暂时显存区的数据送到LCM
66 Hdrv_BuffDataTrans(DisplayBuffer, ASCII_SMALL_HEIGHT_DEF*ASCII_SMALL_WIDTH_DEF*2);
\ 0053 016000 LD BC,96
\ 0056 CDFD00 CALL ?0014
67 region.x += ASCII_SMALL_WIDTH_DEF;//坐标移到下一个字的左上角
\ 0059 3A0000 LD A,(region)
\ 005C C606 ADD A,6
\ 005E 320000 LD (region),A
68 break;
\ 0061 1876 JR ?0002
\ 0063 ?0004:
\ 0063 FE01 CP 1
\ 0065 2026 JR NZ,?0005
69
70 case CharMode0816://08*16点阵模式(ascii大字体)
71 //设置字模输出的大小//上半个字
72 region.width = ASCII_LARGE_WIDTH_DEF;
\ 0067 3E08 LD A,8
\ 0069 320200 LD (region+2),A
73 region.height = ASCII_LARGE_HEIGHT_DEF/2;
74 Hdrv_SetWindow(®ion);
\ 006C CDEB00 CALL ?0011
75 //把黑白字模转为彩色字模放在Buff中(上区)
76 //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
77 BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF); //change by ybfu
\ 006F 010800 LD BC,CharPointBuffer+8
78 //把暂时显存区的数据送到LCM
79 Hdrv_BuffDataTrans(DisplayBuffer, ASCII_LARGE_WIDTH_DEF*(ASCII_LARGE_HEIGHT_DEF/2)*2);
\ 0072 CDF400 CALL ?0015
80
81 region.y += ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字)
\ 0075 3A0100 LD A,(region+1)
\ 0078 C608 ADD A,8
\ 007A 320100 LD (region+1),A
82 Hdrv_SetWindow(®ion);
\ 007D CDEE00 CALL ?0012
83 //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);
84 BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
\ 0080 010000 LD BC,CharPointBuffer
85 //把暂时显存区的数据送到LCM
86 Hdrv_BuffDataTrans(DisplayBuffer, ASCII_LARGE_WIDTH_DEF*(ASCII_LARGE_HEIGHT_DEF/2)*2);
\ 0083 CDF400 CALL ?0015
87 //坐标移到下一个字的左上角
88 region.x += ASCII_LARGE_WIDTH_DEF;
\ 0086 3A0000 LD A,(region)
\ 0089 C608 ADD A,8
\ 008B 1841 JR ?0009
89 region.y -= ASCII_LARGE_HEIGHT_DEF/2;
90 break;
\ 008D ?0005:
\ 008D FE02 CP 2
\ 008F 2048 JR NZ,?0002
91
92 case CharMode1616://16*16点阵模式(汉字)
93 //上面代码,更新下半个字
94 //设置字模输出的大小(上半个汉字)
95 region.width = CHINESE_WIDTH_DEF1; //16
\ 0091 3E10 LD A,16
96 region.height = CHINESE_HEIGHT_DEF1-8; //16-8=8
97
98 Hdrv_SetWindow(®ion);
\ 0093 CDE600 CALL ?0010
99 //region.y-=4;
100 //把黑白字模转为彩色字模放在Buff中
101 //BlackCharToColor(CHINESE_WIDTH_DEF, CharPointBuffer);
102 putCharChFlag=8;//4
\ 0096 3E08 LD A,8
\ 0098 320000 LD (putCharChFlag),A
103 BlackCharToColor(CHINESE_WIDTH_DEF1, CharPointBuffer + CHINESE_WIDTH_DEF1); //change by ybfu 4 +8
\ 009B 011000 LD BC,CharPointBuffer+16
\ 009E 111000 LD DE,16
\ 00A1 CD0000 CALL BlackCharToColor
104 putCharChFlag=8;
\ 00A4 3E08 LD A,8
\ 00A6 320000 LD (putCharChFlag),A
105 //把暂时显存区的数据送到LCM
106 Hdrv_BuffDataTrans(DisplayBuffer, (CHINESE_HEIGHT_DEF1-8)*CHINESE_WIDTH_DEF1*2);
\ 00A9 010001 LD BC,256
\ 00AC CDFD00 CALL ?0014
107 region.y += CHINESE_HEIGHT_DEF1-8;//Y坐标加8准备输出下区(下半个汉字) 8
\ 00AF 3A0100 LD A,(region+1)
\ 00B2 C608 ADD A,8
\ 00B4 320100 LD (region+1),A
108 region.height = CHINESE_HEIGHT_DEF1-8;//4
109 Hdrv_SetWindow(®ion);
\ 00B7 CDE900 CALL ?0013
110 //BlackCharToColor(CHINESE_WIDTH_DEF, CharPointBuffer + CHINESE_WIDTH_DEF);
111 BlackCharToColor(CHINESE_WIDTH_DEF1, CharPointBuffer);
\ 00BA 010000 LD BC,CharPointBuffer
\ 00BD 111000 LD DE,16
\ 00C0 CD0000 CALL BlackCharToColor
112
113 //把暂时显存区的数据送到LCM
114 Hdrv_BuffDataTrans(DisplayBuffer, (CHINESE_HEIGHT_DEF1-8)*CHINESE_WIDTH_DEF1*2);
\ 00C3 010001 LD BC,256
\ 00C6 CDFD00 CALL ?0014
115
116 //坐标移到下一个字的左上角
117 region.x += CHINESE_WIDTH_DEF1;
\ 00C9 3A0000 LD A,(region)
\ 00CC C610 ADD A,16
\ 00CE ?0009:
\ 00CE 320000 LD (region),A
118 region.y -= CHINESE_HEIGHT_DEF1/2;
\ 00D1 3A0100 LD A,(region+1)
\ 00D4 C6F8 ADD A,248
\ 00D6 320100 LD (region+1),A
119 break;
\ 00D9 ?0006:
120
121 default:
122 break;
\ 00D9 ?0002:
123 }
124 Hdrv_SetDrawMode(DrawModeH_def); //把显示模式设置成横向显示模
\ 00D9 110000 LD DE,0
\ 00DC CD0000 CALL Hdrv_SetDrawMode
125 return TRUE;
\ 00DF 3E01 LD A,1
126 }
\ 00E1 ?0007:
\ 00E1 E1 POP HL
\ 00E2 DDE1 POP IX
\ 00E4 C1 POP BC
\ 00E5 C9 RET
\ 00E6 ?0010:
\ 00E6 320200 LD (region+2),A
\ 00E9 ?0013:
\ 00E9 3E08 LD A,8
\ 00EB ?0011:
\ 00EB 320300 LD (region+3),A
\ 00EE ?0012:
\ 00EE 110000 LD DE,region
\ 00F1 C30000 JP Hdrv_SetWindow
\ 00F4 ?0015:
\ 00F4 110800 LD DE,8
\ 00F7 CD0000 CALL BlackCharToColor
\ 00FA 018000 LD BC,128
\ 00FD ?0014:
\ 00FD 110000 LD DE,DisplayBuffer
\ 0100 C30000 JP Hdrv_BuffDataTrans
\ 0103 END
Errors: none
Warnings: none
Code size: 259
Constant size: 0
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -