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

📄 sdrv_deallcmpara.s01

📁 一种彩屏驱动以及画点,填充图片和填充数据的一些程序
💻 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 + -