📄 sdrv_deallcmpara.s01
字号:
NAME sdrv_deallcmpara(16)
RSEG UI_RCODE(0)
EXTERN AsciiSelect
EXTERN BufPage
EXTERN DisplayBuffer
EXTERN PutCharErrFlag
PUBLIC Sdrv_DispBufSelect
PUBLIC Sdrv_GetDCStatus
PUBLIC Sdrv_GetDisplayBufAddr
PUBLIC Sdrv_GetOutPutErr
PUBLIC Sdrv_GetTextPos
PUBLIC Sdrv_SetAsciiFont
PUBLIC Sdrv_SetBackgdColor
PUBLIC Sdrv_SetPenColor
PUBLIC Sdrv_SetTextOutMode
PUBLIC Sdrv_SetTextPos
PUBLIC Sdrv_SetTranMode
EXTERN TranMode
EXTERN charclarity
EXTERN charinvflag
EXTERN dc
EXTERN region
EXTERN ?CLZ80L_4_04_L00
RSEG UI_RCODE
Sdrv_SetAsciiFont:
; 1. /*
; 2. ********************************************************************************
; 3. * ACTOS
; 4. * ui dirver show picture
; 5. *
; 6. * (c) Copyright 2002-2003, Actions Co,Ld.
; 7. * All Right Reserved
; 8. *
; 9. * File : UI_DealLCMPara.c
; 10. * By : Rcmai
; 11. * Version: 1> v1.00 first version 10/17/2003 10:46PM
; 12. ********************************************************************************
; 13. */
; 14. #include "display.h"
; 15. #include "Drv_S6B33B0A.h"
; 16.
; 17. #pragma codeseg(UI_RCODE)
; 18.
; 19. /* [函数表]
; 20. non_banked void Sdrv_SetAsciiFont(unsigned char FontID)
; 21. non_banked void Sdrv_SetTranMode(char Mode)
; 22. non_banked void Sdrv_SetTextPos(unsigned char x,unsigned char y)//设置屏幕坐标
; 23. non_banked void Sdrv_DispBufSelect(unsigned char rampage)//选择buffer在zram哪个Page。USB专用函数。
; 24. non_banked char *Sdrv_GetDisplayBufAddr(void)//取得显示Buffer地址。
; 25. non_banked char Sdrv_GetOutPutErr(void)
; 26. non_banked void Sdrv_GetTextPos(unsigned char *x,unsigned char *y)//取屏幕坐标
; 27. non_banked void Sdrv_GetDCStatus(PDC pdcforap)
; 28. non_banked void Sdrv_SetTextOutMode (unsigned char mode)//
; 29. non_banked void Sdrv_SetPenColor(COLORREF color)
; 30. non_banked void Sdrv_SetBackgdColor(COLORREF color)
; 31. */
; 32. ////*******************************************************************************/
; 33. ///*
; 34. //** FUNCTION: SetAsciiFont
; 35. //**
; 36. //** Description: 设置Ascii字型
; 37. //**
; 38. //** input
; 39. //** FontID: ascii的字型
; 40. //**
; 41. //** output
; 42. //** none
; 43. //********************************************************************************/
; 44.
; 45. non_banked void Sdrv_SetAsciiFont(unsigned char FontID)
; 46. {
; 47. AsciiSelect = FontID;
LD A,E
LD (AsciiSelect),A
; 48. return;
; 49. }
RET
Sdrv_SetTranMode:
; 50.
; 51.
; 52. non_banked void Sdrv_SetTranMode(char Mode)
; 53. {
; 54. TranMode = Mode;
LD A,E
LD (TranMode),A
; 55. }
RET
Sdrv_SetTextPos:
; 56.
; 57. ////*******************************************************************************/
; 58. ///*
; 59. //** FUNCTION: Sdrv_SetTextPos
; 60. //**
; 61. //** Description: 设置当前坐标
; 62. //**
; 63. //** input
; 64. //** x: x轴坐标
; 65. //** y: y轴坐标
; 66. //**
; 67. //** output
; 68. //** none
; 69. //********************************************************************************/
; 70. non_banked void Sdrv_SetTextPos(unsigned char x,unsigned char y)//设置屏幕坐标
; 71. {
PUSH DE
LD D,C
; 72. //判断坐标是否超出范围
; 73. if (x >= Displaylength)
LD A,E
CP 160
JR NC,?0004
?0000:
; 74. {
; 75. return;
; 76. }
?0001:
; 77. if (y >= Displayhight)
LD A,D
CP 128
JR NC,?0004
?0002:
; 78. {
; 79. return;
; 80. }
?0003:
; 81.
; 82. //
; 83. region.x = x;
LD A,E
LD (region),A
; 84. region.y = y;
LD A,D
LD (region+1),A
; 85. return;
; 86. }
?0004:
POP HL
RET
Sdrv_DispBufSelect:
; 87. //********************************************************************************/
; 88.
; 89. //********************************************************/
; 90. /*
; 91. ** FUNCTION:
; 92. **
; 93. ** DESCRIPTION: 设置Ascii码字型
; 94. **
; 95. ** PARAMETERS:
; 96. ** input
; 97. ** e=Buffer Page选择
; 98. ** 00:ipml 01:ipmm 02:ipmh 03:reserved
; 99. ** 04:idml 05:idmm 06:idmh 07:zram2 08:zram
; 100. ** output
; 101. ** none
; 102. //********************************************************/
; 103.
; 104. non_banked void Sdrv_DispBufSelect(unsigned char rampage)//选择buffer在zram哪个Page。USB专用函数。
; 105. {
; 106. /*
; 107. sfr IOP_05H = 0x05;
; 108. unsigned char IOP05H_BAK;
; 109.
; 110. IOP05H_BAK = IOP_05H; //备份05口
; 111. BufPage = rampage;
; 112. IOP_05H = rampage | 0xf0;
; 113. IOP05H_BAK = IOP_05H; //恢复05口
; 114. */
; 115. BufPage = rampage;
LD A,E
LD (BufPage),A
; 116. return;
; 117. }
RET
Sdrv_GetDisplayBufAddr:
; 118.
; 119. non_banked char *Sdrv_GetDisplayBufAddr(void)//取得显示Buffer地址。
; 120. {
; 121. return DisplayBuffer;
LD HL,DisplayBuffer
; 122. }
RET
Sdrv_GetOutPutErr:
; 123.
; 124. non_banked char Sdrv_GetOutPutErr(void)
; 125. {
; 126. return PutCharErrFlag;
LD A,(PutCharErrFlag)
; 127. }
RET
Sdrv_GetTextPos:
; 128.
; 129. non_banked void Sdrv_GetTextPos(unsigned char *x,unsigned char *y)//取屏幕坐标
; 130. {
PUSH BC
PUSH DE
; 131. *x = region.x;
LD A,(region)
PUSH AF
LD L,E
LD H,D
POP AF
LD (HL),A
; 132. *y = region.y;
LD A,(region+1)
PUSH AF
LD L,C
LD H,B
POP AF
LD (HL),A
; 133. return;
; 134. }
POP HL
POP HL
RET
Sdrv_GetDCStatus:
; 135.
; 136. non_banked void Sdrv_GetDCStatus(PDC pdcforap)
; 137. {
PUSH BC
PUSH DE
LD HL,dc
LD BC,8
LDIR
; 138. *pdcforap = dc;
; 139. return;
; 140. }
POP HL
POP BC
RET
Sdrv_SetTextOutMode:
; 141.
; 142. non_banked void Sdrv_SetTextOutMode (unsigned char mode)//
; 143. {
PUSH DE
; 144. charclarity = mode & 0x0f;
LD A,E
AND 15
LD (charclarity),A
; 145. charinvflag = mode & 0x0f0;
LD A,E
AND 240
LD (charinvflag),A
; 146. return;
; 147. }
POP HL
RET
Sdrv_SetPenColor:
; 148.
; 149. non_banked void Sdrv_SetPenColor(COLORREF color)
; 150. {
PUSH BC
PUSH DE
; 151. dc.PenColor = color;
EX DE,HL
LD (dc),HL
LD (dc+2),BC
; 152. return;
; 153. }
POP HL
POP HL
RET
Sdrv_SetBackgdColor:
; 154.
; 155. non_banked void Sdrv_SetBackgdColor(COLORREF color)
; 156. {
PUSH BC
PUSH DE
; 157. dc.BackgdColor = color;
EX DE,HL
LD (dc+4),HL
LD (dc+6),BC
; 158. return;
; 159. }
POP HL
POP HL
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -