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

📄 system.s

📁 这是由文曲星的开发者LEE写的汇编游戏末日传说.rar代码
💻 S
字号:
	include	h/mori.h	public	set_get_buf	public	wait_key	public	rpg_proc_key	public	delay	public	proc_sys_event	extrn	mspeed4	extrn	speed7	;------------------------------------------------------------------;无闪烁精确延时(但不省电);延时X*0.002秒,X=0时延时0.512秒;------------------------------------------------------------------delay:	php	sei	jsr	proc_sys_event	ldy	#0delay1:	rept	12	nop	endr	iny	bne	delay1	dex	bne	delay1	plp	rts;------------------------------------------------------------------;Input:	Key;Output:Areg;------------------------------------------------------------------wait_key:	lda	put_key	beq	wait_key1	lm	put_key,#0	lda	key	bmi	wait_key2wait_key1:	lm	key,#0	jsr	mspeed4wkey:	jsr	proc_sys_event	lda	key		;check if 	bpl	wkeywkey0:	jsr	speed7	lda	keywait_key2:		and	#7fh	sta	key	rtsproc_sys_event:	lm	watch_dog_timer_flag,#0	sta	idlesec	rts	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	;在ram 切BANK 获得数据公用例程; Input:	bank_no		数据所在的bank号(相对于game_bank);		bank_data_ptr	数据表地址; Output:	data_read_buf	数据; Destory:	None;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	set_get_buf:	ldy	#0set_get_buf0:	lda	set_get_buf1,y	sta	ram_get256,y	iny	bne	set_get_buf0	rtsset_get_buf1:	jmp	ram_program	jmp	set_get_2-set_get_buf1+ram_get256	push	io_bank_switch	lda	game_bank	clc	adc	bank_no	sta	io_bank_switch	ldy	#0set_get_buf2:	lda	(bank_data_ptr),y	sta	data_read_buf,y	iny	bne	set_get_buf2	pull	io_bank_switch	rtsset_get_2:	push	io_bank_switch	lda	game_bank	clc	adc	bank_no	sta	io_bank_switch	ldy	#0	lda	(bank_data_ptr),y	tax	iny	lda	(bank_data_ptr),y	tay	pull	io_bank_switch	rts;-----------------------------------------------;	as proc_key; input: Xreg Yreg a1; output: cy Yreg;-----------------------------------------------rpg_proc_key:	tya	pha	txa	deyProcKeyLoop:	cmp	(a1),y	beq	ProcLegalKey	dbpl	y,ProcKeyLoop	pla	txa	clc	rtsProcLegalKey:	pla	adda2	a1	txa	pha			; backup key value	tya	asl	a	tay	lda	(a1),y	tax	iny	lda	(a1),y	sta	a1h	stx	a1	;------- set index	dey	tya	lsr	a	tay	;------- set index	pla			; restore key value	tax	jsr	JmpKeyProc	sec	rtsJmpKeyProc:	jmp	(a1)	;in: Areg Yreg(index)	end

⌨️ 快捷键说明

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