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

📄 drv_lcd.ps

📁 一款SmartPhone的驱动代码
💻 PS
📖 第 1 页 / 共 3 页
字号:
	.half	171
	.half	255
	.half	254
	.half	0
	.half	0
	.half	0
	.half	0
	.half	0
	.half	0
	.global	pVRAM
	.data
	.align	2
pVRAM:
	.word	VRAM
	.code
	.align	1
	.def	halDelayUS,	val	halDelayUS,	scl	2,	type	0x21,	endef
	.global	halDelayUS

	.loc	30
	.def	ent,	scl	101,	type	0x0,	endef
halDelayUS:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0

	.loc	31
	.def	begin,	scl	100,	type	0x0,	endef
	.def	i,	val	11,	scl	4,	type	0x4,	endef
	.def	j,	val	10,	scl	4,	type	0x4,	endef

	.loc	32
	ld.w	%r11,0x0
	xld.w	%r12,0x000000c7		; 199
	xld.w	%r13,0x000000b3		; 179
__L5:

	.loc	34
	ld.w	%r10,0x0
__L9:

	.loc	35
; APP
	nop
; NO_APP

	.loc	34
	xadd	%r10,%r10,1
	cmp	%r10,%r12
	xjrle	__L9

	.loc	32
	xadd	%r11,%r11,1
	cmp	%r11,%r13
	xjrle	__L5

	.loc	37
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	init_dlcd_hardware,	val	init_dlcd_hardware,	scl	2,	type	0x21,	endef
	.global	init_dlcd_hardware

	.loc	40
	.def	ent,	scl	101,	type	0x0,	endef
init_dlcd_hardware:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0

	.loc	41
	.def	begin,	scl	100,	type	0x0,	endef

	.loc	43
	xld.w	%r11,0x000402dc		; 262876
	xbclr	[%r11],0x5

	.loc	44
	xld.w	%r11,0x000402de		; 262878
	xbset	[%r11],0x5

	.loc	45
	xld.w	%r11,0x000402dd		; 262877
	xbset	[%r11],0x5

	.loc	47
	ld.w	%r12,0x0
	xcall	halInitController

	.loc	50
	xld.w	%r11,0x000402d4		; 262868
	xbclr	[%r11],0x6

	.loc	51
	xld.w	%r11,0x000402d6		; 262870
	xbset	[%r11],0x6

	.loc	52
	xld.w	%r11,0x000402d5		; 262869
	xbclr	[%r11],0x6

	.loc	53
	xbset	[%r11],0x6

	.loc	55
	ld.w	%r12,0x0
	xcall	SetOutputPort

	.loc	57
	ld.w	%r12,0x0
	xcall	SetPanelIfType

	.loc	59
	xld.w	%r12,0x00000004		; 4
	xcall	SetLcdPClkDivide

	.loc	60
	xld.w	%r12,0x00000001		; 1
	xcall	SetRGBPanelClkPol

	.loc	61
	xld.w	%r12,0x00000012		; 18
	xcall	SetRGBPanelDataWidth

	.loc	62
	ld.w	%r12,0x0
	xcall	SetRGBPanelType

	.loc	64
	xld.w	%r12,0x000000d0		; 208
	xld.w	%r13,0x000000fa		; 250
	xcall	SetLcdHVTotal

	.loc	65
	ld.w	%r12,0x0
	xld.w	%r13,0x000000b0		; 176
	xld.w	%r14,0x000000f0		; 240
	xcall	SetLcdHVDispPer

	.loc	66
	xld.w	%r12,0x0000000e		; 14
	xld.w	%r13,0x00000001		; 1
	xcall	SetLcdHVStartPos

	.loc	67
	ld.w	%r12,0x0
	xld.w	%r13,0x0000000a		; 10
	xld.w	%r14,0x0000000e		; 14
	xcall	SetLcdFpline

	.loc	68
	ld.w	%r12,0x0
	xld.w	%r13,0x00000001		; 1
	ld.w	%r14,%r12
	xcall	SetLcdFPFrame

	.loc	69
	xld.w	%r12,0x00000004		; 4
	xcall	SetSerialLcdClkDivide

	.loc	70
	ld.w	%r12,0x0
	xld.w	%r13,0x00000003		; 3
	xcall	SetLcdSif

	.loc	73
	ld.w	%r12,0x0
	xld.w	%r13,0x00000003		; 3
	xcall	InitLut

	.loc	75
	ld.w	%r12,0x0
	xld.w	%r13,0x00000001		; 1
	xcall	SetLutBypassEnable

	.loc	76
	xld.w	%r12,0x00000001		; 1
	ld.w	%r13,%r12
	xcall	SetLutBypassEnable

	.loc	78
	ld.w	%r12,0x0
	xcall	SelectDispMode

	.loc	81
	ld.w	%r12,0x0
	xld.w	%r13,0x00000010		; 16
	xcall	SetDisplayMode

	.loc	84
	xld.w	%r12,0x00000001		; 1
	xcall	SetOutputPort

	.loc	86
	xcall	halDelayUS

	.loc	89
	xld.w	%r12,0x000000c9		; 201
	xcall	Write_lcd_com

	.loc	90
	xld.w	%r12,0x000000f8		; 248
	xcall	Write_lcd_param

	.loc	91
	ld.w	%r12,0x0
	xcall	Write_lcd_param

	.loc	92
	xld.w	%r12,0x000000f0		; 240
	xcall	Write_lcd_param

	.loc	93
	ld.w	%r12,0x0
	xcall	Write_lcd_param

	.loc	94
	xld.w	%r12,0x00000002		; 2
	xcall	Write_lcd_param

	.loc	95
	xcall	halDelayUS

	.loc	97
	xld.w	%r12,0x000000ca		; 202
	xcall	Write_lcd_com

	.loc	98
	xld.w	%r12,0x000000cf		; 207
	xcall	Write_lcd_param

	.loc	99
	xld.w	%r12,0x00000001		; 1
	xcall	Write_lcd_param

	.loc	100
	xld.w	%r12,0x00000006		; 6
	xcall	Write_lcd_param

	.loc	101
	xld.w	%r12,0x00000018		; 24
	xcall	Write_lcd_param

	.loc	102
	xld.w	%r12,0x00000004		; 4
	xcall	Write_lcd_param

	.loc	103
	ld.w	%r12,0x0
	xcall	Write_lcd_param

	.loc	104
	xcall	halDelayUS

	.loc	106
	xld.w	%r12,0x000000cb		; 203
	xcall	Write_lcd_com

	.loc	107
	xld.w	%r12,0x00000020		; 32
	xld.w	%r13,GCP64
	xcall	Write_lcd_param_loop

	.loc	108
	xcall	halDelayUS

	.loc	111
	xld.w	%r12,0x00000094		; 148
	xcall	Write_lcd_com

	.loc	112
	xcall	halDelayUS

	.loc	114
	xld.w	%r12,0x000000af		; 175
	xcall	Write_lcd_com

	.loc	115
	xcall	halDelayUS

	.loc	120
	xcall	init_timer3_8bit

	.loc	121
	xld.w	%r12,VRAM
	xld.w	%r13,0x0000ffff		; 65535
	xld.w	%r14,0x0000a500		; 42240
	xcall	memset

	.loc	122
	xld.w	%r12,VRAM
	xcall	init_hsdma3

	.loc	124
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	Dlcd_Show_Coordinate,	val	Dlcd_Show_Coordinate,	scl	2,	type	0x21,	endef
	.global	Dlcd_Show_Coordinate

	.loc	126
	.def	ent,	scl	101,	type	0x0,	endef
Dlcd_Show_Coordinate:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	x,	val	12,	scl	17,	type	0x5,	endef
	.def	y,	val	13,	scl	17,	type	0x5,	endef
	.def	c,	val	14,	scl	17,	type	0x3,	endef

	.loc	128
	.def	begin,	scl	100,	type	0x0,	endef
	.def	Temp,	val	11,	scl	4,	type	0x3,	endef

	.loc	129
	ld.w	%r11,0x0
	xld.w	%r4,VRAM-1760
	xld.w	%r15,0x000000b0		; 176
__L17:

	.loc	130
	ld.h	%r10,%r11
	add	%r10,%r13
	mlt.w	%r10,%r15
	ld.w	%r10,%alr
	add	%r10,%r12
	xsll	%r10,1
	add	%r10,%r4
	xld.h	[%r10],%r14

	.loc	129
	xadd	%r11,%r11,1
	ld.h	%r10,%r11
	xcmp	%r10,9
	xjrle	__L17

	.loc	131
	ld.w	%r11,0x0
	xld.w	%r15,VRAM-10
	xld.w	%r10,0x000000b0		; 176
	mlt.w	%r13,%r10
	ld.w	%r13,%alr
__L22:

	.loc	132
	ld.h	%r10,%r11
	add	%r10,%r12
	ld.w	%r5,%r13
	add	%r5,%r10
	ld.w	%r10,%r5
	xsll	%r10,1
	add	%r10,%r15
	xld.h	[%r10],%r14

	.loc	131
	xadd	%r11,%r11,1
	ld.h	%r10,%r11
	xcmp	%r10,9
	xjrle	__L22

	.loc	135
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.def	VRAM,	val	VRAM,	scl	2,	dim	42240,	size	84480,	type	0x33,	endef

	.comm	VRAM 84480
	.def	DISCTL_DATA1,	val	DISCTL_DATA1,	scl	2,	dim	5,	size	10,	type	0x3d,	endef
	.def	DISCTL_DATA2,	val	DISCTL_DATA2,	scl	2,	dim	6,	size	12,	type	0x3d,	endef
	.def	GCP64,	val	GCP64,	scl	2,	dim	32,	size	64,	type	0x3d,	endef
	.def	pVRAM,	val	pVRAM,	scl	2,	type	0x13,	endef

	.endfile

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -