📄 zsnesc4.asm
字号:
; Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.;; Super FX assembler emulator code; (c) Copyright 1998, 1999 zsKnight and _Demo_.;; Permission to use, copy, modify and distribute Snes9x in both binary and; source form, for non-commercial purposes, is hereby granted without fee,; providing that this license information and copyright notice appear with; all copies and any derived work.;; This software is provided 'as-is', without any express or implied; warranty. In no event shall the authors be held liable for any damages; arising from the use of this software.;; Snes9x is freeware for PERSONAL USE only. Commercial users should; seek permission of the copyright holders first. Commercial use includes; charging money for Snes9x or software derived from Snes9x.;; The copyright holders request that bug fixes and improvements to the code; should be forwarded to them so everyone can benefit from the modifications; in future versions.;; Super NES and Super Nintendo Entertainment System are trademarks of; Nintendo Co., Limited and its subsidiary companies.;; ZSNES SuperFX emulation code and wrappers; (C) Copyright 1997-8 zsKnight and _Demo_; Used with the kind permission of the copyright holders.;%include "i386/macros.mac"EXTSYM InitC4, C4RegFunction, C4ReadReg, C4WriteRegEXTSYM romdata[BITS 32]SECTION .dataNEWSYM C4Ram, dd 0NEWSYM C4RamR, dd 0NEWSYM C4RamW, dd 0NEWSYM pressed, dd 0 ; used by C4Edit (unused function)NEWSYM vidbuffer,dd 0 ; used by C4EditNEWSYM oamram, times 544 db 0 ; Sprite PPU data used by C4 routines;; Snes9x wrapper functions for the zsnes C4 code; (C) Copyright 2000 Gary HendersonSECTION .data%ifdef __DJGPP__%define ROM _ROM%define RegRAM _RegRAM%define S9xInitC4 _S9xInitC4%define S9xSetC4 _S9xSetC4%define S9xSetC4RAM _S9xSetC4RAM%define S9xGetC4 _S9xGetC4%define S9xGetC4RAM _S9xGetC4RAM%endifEXTERN ROMEXTERN RegRAMSECTION .textNEWSYM S9xInitC4 pushad mov eax,dword[ROM] mov dword[romdata],eax call InitC4; mov eax,dword[RegRAM]; add eax,06000h; mov dword[C4Ram],eax popad retNEWSYM S9xSetC4NEWSYM S9xSetC4RAM mov ecx, dword[esp+8] mov eax, dword[esp+4] and ecx, 0ffffh push ebx push esi push edi push ebp sub ecx, 6000h call C4RegFunction pop ebp pop edi pop esi pop ebx retNEWSYM S9xGetC4NEWSYM S9xGetC4RAM mov ecx, dword[esp+4] xor eax, eax and ecx, 0ffffh sub ecx, 06000h jmp C4ReadReg
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -