📄 sdrv_putchar_latin1.lst
字号:
63 //把黑白字模转为彩色字模放在Buff中
64 BlackCharToColor(ASCII_SMALL_WIDTH_DEF, CharPointBuffer);
\ 0052 010000 LD BC,CharPointBuffer
\ 0055 110600 LD DE,6
\ 0058 CD0000 CALL BlackCharToColor
65 //把暂时显存区的数据送到LCM
66 Hdrv_BuffDataTrans(DisplayBuffer, ASCII_SMALL_HEIGHT_DEF*ASCII_SMALL_WIDTH_DEF*2);
\ 005B 016000 LD BC,96
\ 005E CDFA00 CALL ?0015
67 region.x += ASCII_SMALL_WIDTH_DEF;//坐标移到下一个字的左上角
\ 0061 3A0000 LD A,(region)
\ 0064 C606 ADD A,6
\ 0066 1868 JR ?0011
68 break;
\ 0068 ?0004:
\ 0068 FE01 CP 1
\ 006A 2023 JR NZ,?0005
69
70 case CharMode0816://08*16点阵模式(ascii大字体)
71 //设置字模输出的大小//上半个字
72 region.width = ASCII_LARGE_WIDTH_DEF;
\ 006C 3E08 LD A,8
\ 006E 320200 LD (region+2),A
73 region.height = ASCII_LARGE_HEIGHT_DEF/2;
74
75 region.y += ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字)
76 Hdrv_SetWindow(®ion);
\ 0071 CDE000 CALL ?0013
77 //把黑白字模转为彩色字模放在Buff中(上区)
78 BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF); //change by ybfu
\ 0074 010800 LD BC,CharPointBuffer+8
79 //把暂时显存区的数据送到LCM
80 Hdrv_BuffDataTrans(DisplayBuffer, ASCII_LARGE_WIDTH_DEF*(ASCII_LARGE_HEIGHT_DEF/2)*2);
\ 0077 CDF100 CALL ?0016
81
82 region.y -= ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字)
\ 007A 3A0100 LD A,(region+1)
\ 007D C6F8 ADD A,248
83 Hdrv_SetWindow(®ion);
\ 007F CDE800 CALL ?0014
84 BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
\ 0082 010000 LD BC,CharPointBuffer
85 //把暂时显存区的数据送到LCM
86 Hdrv_BuffDataTrans(DisplayBuffer, ASCII_LARGE_WIDTH_DEF*(ASCII_LARGE_HEIGHT_DEF/2)*2);
\ 0085 CDF100 CALL ?0016
87 //坐标移到下一个字的左上角
88 region.x += ASCII_LARGE_WIDTH_DEF;
\ 0088 3A0000 LD A,(region)
\ 008B C608 ADD A,8
\ 008D 1841 JR ?0011
89 //region.y -= ASCII_LARGE_HEIGHT_DEF/2;
90 break;
\ 008F ?0005:
\ 008F FE02 CP 2
\ 0091 2040 JR NZ,?0002
91
92 case CharMode1616://16*16点阵模式(汉字)
93 //设置字模输出的大小(上半个汉字)
94 region.width = CHINESE_WIDTH_DEF;
\ 0093 3E10 LD A,16
\ 0095 320200 LD (region+2),A
95 region.height = CHINESE_HEIGHT_DEF/2;
\ 0098 3E08 LD A,8
96 region.y += CHINESE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个汉字)
97
98 Hdrv_SetWindow(®ion);
\ 009A CDE000 CALL ?0013
99
100 //把黑白字模转为彩色字模放在Buff中
101 //putCharChFlag=8;
102 BlackCharToColor(CHINESE_WIDTH_DEF, CharPointBuffer + CHINESE_WIDTH_DEF); //change by ybfu
\ 009D 011000 LD BC,CharPointBuffer+16
\ 00A0 111000 LD DE,16
\ 00A3 CD0000 CALL BlackCharToColor
103 //putCharChFlag=8;
104 //把暂时显存区的数据送到LCM
105 Hdrv_BuffDataTrans(DisplayBuffer, (CHINESE_HEIGHT_DEF/2)*CHINESE_WIDTH_DEF*2);
\ 00A6 010001 LD BC,256
\ 00A9 CDFA00 CALL ?0015
106 region.y -= CHINESE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个汉字)
\ 00AC 3A0100 LD A,(region+1)
\ 00AF C6F8 ADD A,248
\ 00B1 320100 LD (region+1),A
107 region.height = CHINESE_HEIGHT_DEF/2;
\ 00B4 3E08 LD A,8
\ 00B6 320300 LD (region+3),A
108 Hdrv_SetWindow(®ion);
\ 00B9 CDEB00 CALL ?0012
109 BlackCharToColor(CHINESE_WIDTH_DEF, CharPointBuffer);
\ 00BC 010000 LD BC,CharPointBuffer
\ 00BF 111000 LD DE,16
\ 00C2 CD0000 CALL BlackCharToColor
110
111 //把暂时显存区的数据送到LCM
112 Hdrv_BuffDataTrans(DisplayBuffer, (CHINESE_HEIGHT_DEF/2)*CHINESE_WIDTH_DEF*2);
\ 00C5 010001 LD BC,256
\ 00C8 CDFA00 CALL ?0015
113
114 //坐标移到下一个字的左上角
115 region.x += CHINESE_WIDTH_DEF;
\ 00CB 3A0000 LD A,(region)
\ 00CE C610 ADD A,16
\ 00D0 ?0011:
\ 00D0 320000 LD (region),A
116 //region.y -= CHINESE_HEIGHT_DEF/2;
117 break;
\ 00D3 ?0006:
118
119
120 default:
121 break;
\ 00D3 ?0002:
122 }
123 Hdrv_SetDrawMode(DrawModeH_def); //把显示模式设置成横向显示模式
\ 00D3 110000 LD DE,0
\ 00D6 CD0000 CALL Hdrv_SetDrawMode
124 return TRUE;
\ 00D9 3E01 LD A,1
125 }
\ 00DB ?0007:
\ 00DB E1 POP HL
\ 00DC DDE1 POP IX
\ 00DE C1 POP BC
\ 00DF C9 RET
\ 00E0 ?0013:
\ 00E0 320300 LD (region+3),A
\ 00E3 3A0100 LD A,(region+1)
\ 00E6 C608 ADD A,8
\ 00E8 ?0014:
\ 00E8 320100 LD (region+1),A
\ 00EB ?0012:
\ 00EB 110000 LD DE,region
\ 00EE C30000 JP Hdrv_SetWindow
\ 00F1 ?0016:
\ 00F1 110800 LD DE,8
\ 00F4 CD0000 CALL BlackCharToColor
\ 00F7 018000 LD BC,128
\ 00FA ?0015:
\ 00FA 110000 LD DE,DisplayBuffer
\ 00FD C30000 JP Hdrv_BuffDataTrans
\ 0100 END
Errors: none
Warnings: none
Code size: 256
Constant size: 0
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -