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

📄 getset.s

📁 SFC游戏模拟器 snes9x 1.43 的原代码
💻 S
📖 第 1 页 / 共 2 页
字号:
	cmp/hi r0,r2	mov.l r0,SA1WaitCounter	rotcl r0	rts	mov.b r0,SA1Executing.NoMatch:	rts	mov.b r0,@r3#else	add r2,r3	rts	mov.b r0,@r3#endif	.MEMMAP_MSK175:		.word MEMMAP_MASK.SBSpecial:	mov r4,r2	extu.b r0,r4	mova .SBJmpTable,r0	shll2 r3	add r3,r0	mov.l @r0,r3	jmp @r3	extu.w r2,r5.SBPPU: /* MAP_PPU */#ifdef VAR_CYCLES	mov.b InDMA,r0	tst r0,r0	bf .SBPPU_NOADD	add #6, CYCLES.SBPPU_NOADD:#endif	PUSH_REGISTERS	sts.l pr,@-r15	mov.l .S9xSetPPU,r3	jsr @r3	nop	lds.l @r15+,pr	POP_REGISTERS	rts	nop.SBCPU: /* MAP_CPU */#ifdef VAR_CYCLES	add #6, CYCLES#endif	PUSH_REGISTERS	sts.l pr,@-r15	mov.l .S9xSetCPU,r3	SAVE_CYCLES	jsr @r3	nop	lds.l @r15+,pr	POP_REGISTERS	rts	LOAD_CYCLES.SBDSP: /* MAP_DSP */#ifdef VAR_CYCLES	add #8, CYCLES#endif	PUSH_REGISTERS	sts.l pr,@-r15	mov.l .S9xSetDSP,r3	SAVE_CYCLES	jsr @r3	nop	lds.l @r15+,pr	POP_REGISTERS	rts	LOAD_CYCLES.SBLSRAM: /* MAP_LOROM_SRAM */	mov.l .SRAM2,r3	mov.l @r3,r0	mov.l .SRAMMask2,r5	mov.w @r5,r5	extu.w r5,r5	tst r5,r5	and r5,r2	bt .SBLSRAM_SKIP	mov.b r4,@(r0,r2)//	movb $1, SRAMModified.SBLSRAM_SKIP:	rts#ifdef VAR_CYCLES	add #8, CYCLES#else	nop#endif.SBHSRAM: /* MAP_HIROM_SRAM */	mov.w .n7fff15,r3	and r2,r3	mov.w .n600015,r5	sub r5,r3	mov.l .nf00002,r5	and r5,r2	shlr2 r2	shlr r2	add r2,r3	mov.l .SRAM2,r0	mov.l @r0,r0	mov.l .SRAMMask2,r2	mov.w @r2,r2	extu.w r2,r2	tst r2,r2	and r3,r2	bt .SBHSRAM_SKIP	mov.b r4,@(r0,r2)//	movb $1, SRAMModified.SBHSRAM_SKIP:	rts#ifdef VAR_CYCLES	add #8, CYCLES#else	nop#endif.SBNONE:.SBDEBUG: /* MAP_DEBUG */	rts#ifdef VAR_CYCLES	add #8, CYCLES#else	nop#endif.SBC4: /* MAP_C4 */	PUSH_REGISTERS	sts.l pr,@-r15	mov.l .S9xSetC4,r3	jsr @r3	nop	lds.l @r15+,pr	POP_REGISTERS	rts#ifdef VAR_CYCLES	add #6, CYCLES#else	nop#endif.SBBWRAM: /* MAP_BWRAM */	mov.w .n7fff15,r0	and r2,r0	mov.w .n600015,r2	sub r2,r0	mov.l .BWRAM2,r2	mov.l @r2,r2//	movb $1, SRAMModified	mov.b r4,@(r0,r2)	rts#ifdef VAR_CYCLES	add #8, CYCLES#else	nop#endif.n7fff15:	.word 0x7fff.n600015:	.word 0x6000.globl S9xSetWord_rS9xSetWord_r:#ifdef CPU_SHUTDOWN	mov #0,r3#endif		mov r4,r2#ifdef CPU_SHUTDOWN	mov.l r3,WaitAddress#endif	mov #-MEMMAP_SHIFT,r3	shld r3,r2	mov.w .MEMMAP_MSK19,r3	and r3,r2#ifdef VAR_CYCLES	mov.l .MemorySpeed2,r3	add r2,r3	mov.b @r3,r5#endif	shll2 r2	mov.l .WriteMap0,r3	add r2,r3	mov.l @r3,r3	cmp/pz r3	bt .SWSpecial	extu.w r4,r2#ifdef VAR_CYCLES	add r5, CYCLES	add r5, CYCLES#endif#ifdef CPU_SHUTDOWN	mov.l SA1,r1	add r2,r3	mov.l SA1WaitByteAddress1,r2	mov.b r0,@r3	cmp/eq r2,r3	bt/s .Matched2	shlr8 r0	mov.l SA1WaitByteAddress2,r2	cmp/eq r2,r3	bf .NoMatch2.Matched2:	mov.l SA1Opcodes,r2	mov.b r0,@(1,r3)	mov #0,r0	cmp/hi r0,r2	mov.l r0,SA1WaitCounter	rotcl r0	rts	mov.b r0,SA1Executing.NoMatch2:	rts	mov.b r0,@(1,r3)#else	add r2,r3	mov.b r0,@r3	shlr8 r0	rts	mov.b r0,@(1,r3)#endif	.MEMMAP_MSK19:		.word MEMMAP_MASK.SWSpecial:	mov r4,r2	extu.w r0,r4	mova .SWJmpTable,r0	shll2 r3	add r3,r0	mov.l @r0,r3	jmp @r3	extu.w r2,r5.SWPPU: /* MAP_PPU */#ifdef VAR_CYCLES	mov.b InDMA,r0	tst r0,r0	bf .SWPPU_NOADD	add #12, CYCLES.SWPPU_NOADD:#endif	PUSH_REGISTERS	sts.l pr,@-r15	mov.l .S9xSetPPU,r3	mov.l r4,@-r15	mov.l r5,@-r15	jsr @r3	extu.b r4,r4	mov.l .S9xSetPPU,r3	mov.l @r15+,r5	mov.l @r15+,r4	add #1,r5	shlr8 r4	jsr @r3	extu.w r5,r5	lds.l @r15+,pr	POP_REGISTERS	rts	nop.SWCPU: /* MAP_CPU */#ifdef VAR_CYCLES	add #12, CYCLES#endif	PUSH_REGISTERS	sts.l pr,@-r15	mov.l .S9xSetCPU,r3	mov.l r4,@-r15	SAVE_CYCLES	mov.l r5,@-r15	jsr @r3	extu.b r4,r4	mov.l .S9xSetCPU,r3	mov.l @r15+,r5	mov.l @r15+,r4	add #1,r5	shlr8 r4	jsr @r3	extu.w r5,r5	lds.l @r15+,pr	POP_REGISTERS	rts	LOAD_CYCLES	.SWDSP: /* MAP_DSP */#ifdef VAR_CYCLES	add #16, CYCLES#endif	SAVE_CYCLES	PUSH_REGISTERS	sts.l pr,@-r15	mov.l .S9xSetDSP,r3	mov.l r4,@-r15	mov.l r5,@-r15	jsr @r3	extu.b r4,r4	mov.l .S9xSetDSP,r3	mov.l @r15+,r5	mov.l @r15+,r4	add #1,r5	shlr8 r4	jsr @r3	extu.w r5,r5	lds.l @r15+,pr	POP_REGISTERS	rts	LOAD_CYCLES.SWLSRAM: /* MAP_LOROM_SRAM */	mov.l .SRAM2,r3	mov.l @r3,r0	mov.l .SRAMMask2,r5	mov.w @r5,r5	extu.w r5,r1	tst r1,r1	mov r1,r5	and r2,r1	bt/s .SWLSRAM_SKIP	mov.b r4,@(r0,r1)	add #1,r2	shlr8 r4	and r2,r5//	movb $1, SRAMModified	rts	mov.b r4,@(r0,r5).SWLSRAM_SKIP:	rts#ifdef VAR_CYCLES	add #16, CYCLES#else	nop#endif.SWHSRAM: /* MAP_HIROM_SRAM */	mov.w .n7fff2,r3	and r2,r3	mov.w .n60003,r5	sub r5,r3	mov.l .nf00002,r5	and r5,r2	shlr2 r2	shlr r2	add r2,r3	mov.l .SRAM2,r0	mov.l @r0,r0	mov.l .SRAMMask2,r2	mov.w @r2,r2	extu.w r2,r2	tst r2,r2	and r3,r2	bt .SWHSRAM_SKIP	mov.b r4,@(r0,r2)	add #1,r2	shlr8 r4//	movb $1, SRAMModified	rts	mov.b r4,@(r0,r2).SWHSRAM_SKIP:	rts#ifdef VAR_CYCLES	add #16, CYCLES#else	nop#endif.SWNONE:.SWDEBUG: /* MAP_DEBUG */	rts#ifdef VAR_CYCLES	add #16, CYCLES#else	nop#endif.SWC4: /* MAP_C4 */#ifdef VAR_CYCLES	add #12, CYCLES#endif	PUSH_REGISTERS	sts.l pr,@-r15	mov.l .S9xSetC4,r3	mov.l r4,@-r15	mov.l r5,@-r15	jsr @r3	extu.b r4,r4	mov.l .S9xSetC4,r3	mov.l @r15+,r5	mov.l @r15+,r4	add #1,r5	shlr8 r4	jsr @r3	extu.w r5,r5	lds.l @r15+,pr	POP_REGISTERS	rts	nop.SWBWRAM: /* MAP_BWRAM */#ifdef VAR_CYCLES	add #16, CYCLES#endif	mov.w .n7fff2,r3	and r2,r3	mov.w .n60002,r2	sub r2,r3	mov.l .BWRAM2,r2	mov.l @r2,r0	mov.b r4,@(r0,r3)	add #1,r3	shlr8 r4//	movb $1, SRAMModified	rts	mov.b r4,@(r0,r3)	.globl S9xSetPCBase_rS9xSetPCBase_r:	mov r4,r2	mov #-MEMMAP_SHIFT,r3	shld r3,r2	mov.w .MEMMAP_MSK2,r3	and r3,r2#ifdef VAR_CYCLES	mov.l .MemorySpeed2,r3	add r2,r3	mov.b @r3,r1#endif	shll2 r2	mov.l .Map2,r3	add r2,r3	mov.l @r3,r3	cmp/pz r3	bt .SPCSpecial	extu.w r4,r2#ifdef VAR_CYCLES	mov.l r1,MemSpeed	shll r1	mov.l r1,MemSpeedx2#endif	mov.l r3,PCBase	add r2,r3	rts	mov r3,PC.SPCSpecial:	mova .SPCJmpTable,r0	shll2 r3	add r3,r0	mov.l @r0,r3	jmp @r3	nop	.align 2#ifdef VAR_CYCLES.MemorySpeed2:	.long MemorySpeed#endif.WriteMap0:	.long WriteMap.n7fff2:	.word 0x7fff.n60003:	.word 0x6000.SPCPPU: /* MAP_PPU */#ifdef VAR_CYCLES	mov #6,r1	mov.l r1, MemSpeed	mov #12,r1	mov.l r1, MemSpeedx2#endif	mov.l .FillRAM0,r3	extu.w r4,r2	mov.l @r3,PC	mov.l PC,PCBase	rts	add r2,PC.SPCCPU: /* MAP_CPU */#ifdef VAR_CYCLES	mov #6,r1	mov.l r1, MemSpeed	mov #12,r1	mov.l r1, MemSpeedx2#endif	mov.l .FillRAM0,r3	extu.w r4,r2	mov.l @r3,PC	mov.l PC,PCBase	rts	add r2,PC.SPCDSP: /* MAP_DSP */#ifdef VAR_CYCLES	mov #8,r1	mov.l r1, MemSpeed	mov #16,r1	mov.l r1, MemSpeedx2#endif	mov.l .FillRAM0,r3	extu.w r4,r2	mov.l @r3,PC	mov.l PC,PCBase	rts	add r2,PC.SPCLSRAM: /* MAP_LOROM_SRAM */#ifdef VAR_CYCLES	mov #8,r1	mov.l r1, MemSpeed	mov #16,r1	mov.l r1, MemSpeedx2#endif	mov.l .SRAM2,r3	extu.w r4,r2	mov.l @r3,PC	mov.l PC,PCBase	rts	add r2,PC.SPCHSRAM: /* MAP_HIROM_SRAM */#ifdef VAR_CYCLES	mov #8,r1	mov.l r1, MemSpeed	mov #16,r1	mov.l r1, MemSpeedx2#endif	mov.l .SRAM2,r3	mov.w .n60002,r2	mov.l @r3,PC	add r2,PC	extu.w r4,r2	mov.l PC,PCBase	rts	add r2,PC.SPCNONE:.SPCDEBUG: /* MAP_DEBUG */#ifdef VAR_CYCLES	mov #8,r1	mov.l r1, MemSpeed	mov #16,r1	mov.l r1, MemSpeedx2#endif	mov.l .SRAM2,PC	extu.w r4,r2	mov.l PC,PCBase	rts	add r2,PC.SPCC4: /* MAP_C4 */#ifdef VAR_CYCLES	mov #8,r1	mov.l r1, MemSpeed	mov #16,r1	mov.l r1, MemSpeedx2#endif	mov.l .C4RAM0, r3	mov.w .n60002,r2	mov.l @r3,PC	sub r2,PC	extu.w r4,r2	mov.l PC,PCBase	rts	add r2,PC.SPCBWRAM: /* MAP_BWRAM */#ifdef VAR_CYCLES	mov #8,r1	mov.l r1, MemSpeed	mov #16,r1	mov.l r1, MemSpeedx2#endif	mov.l .SRAM2,r3	mov.w .n60002,r2	add r2,r3	extu.w r4,r2	mov.l @r3,PC	mov.l PC,PCBase	rts	add r2,PC		.align 4.Map2:	.long Map.SBJmpTable:	.long .SBPPU	.long .SBCPU	.long .SBDSP	.long .SBLSRAM	.long .SBHSRAM	.long .SBNONE	.long .SBDEBUG	.long .SBC4	.long .SBBWRAM	.long .SBNONE	.long .SBNONE	.long .SBNONE.SWJmpTable:	.long .SWPPU	.long .SWCPU	.long .SWDSP	.long .SWLSRAM	.long .SWHSRAM	.long .SWNONE	.long .SWDEBUG	.long .SWC4	.long .SWBWRAM	.long .SWNONE	.long .SWNONE	.long .SWNONE.SPCJmpTable:	.long .SPCPPU	.long .SPCCPU	.long .SPCDSP	.long .SPCLSRAM	.long .SPCHSRAM	.long .SPCNONE	.long .SPCDEBUG	.long .SPCC4	.long .SPCBWRAM	.long .SPCNONE	.long .SPCNONE	.long .SPCNONE.S9xSetPPU:	.long _S9xSetPPU.S9xSetCPU:	.long _S9xSetCPU.S9xSetDSP:	.long _S9xSetDSP.S9xSetC4:	.long _S9xSetC4.BWRAM2:	.long BWRAM.SRAM2:	.long SRAM.SRAMMask2:	.long SRAMMask.FillRAM0:	.long FillRAM.C4RAM0:	.long C4RAM.nf00002:	.long 0xf0000.n60002:	.word 0x6000.MEMMAP_MSK2:		.word MEMMAP_MASK

⌨️ 快捷键说明

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