📄 fxtable.asm
字号:
inc ebx add eax,4 dec ecx jnz near .ploop2 ; Initiate AND and bit tables mov eax,fxxand mov ecx,256 xor ebx,ebx.loopat push ecx mov ecx,ebx and ecx,07h xor ecx,07h mov edx,0101h shl edx,cl xor edx,0FFFFFFFFh pop ecx mov [eax],edx inc ebx add eax,4 dec ecx jnz .loopat ; bit tables mov eax,fxbit01 mov ecx,256 xor ebx,ebx.loopb01 xor edx,edx test ebx,01h jz .nob0 or edx,0FFh.nob0 test ebx,02h jz .nob1 or edx,0FF00h.nob1 mov [eax],edx xor edx,edx test ebx,04h jz .nob2 or edx,0FFh.nob2 test ebx,08h jz .nob3 or edx,0FF00h.nob3 mov [eax+256*4],edx xor edx,edx test ebx,10h jz .nob4 or edx,0FFh.nob4 test ebx,20h jz .nob5 or edx,0FF00h.nob5 mov [eax+256*8],edx xor edx,edx test ebx,40h jz .nob6 or edx,0FFh.nob6 test ebx,80h jz .nob7 or edx,0FF00h.nob7 mov [eax+256*12],edx add eax,4 inc ebx dec ecx jnz near .loopb01 ; Initialize PLOT tables mov esi,[sfxramdata] add esi,1024*1024 ; Create 4 * 256k plot tables ; 128 line mode mov [sfx128lineloc],esi xor eax,eax xor ebx,ebx.nexty.nextx cmp eax,128 jae .over push eax push ebx shr eax,3 shr ebx,3 shl ebx,4 add ebx,eax mov [esi],ebx add esi,4 pop ebx pop eax jmp .notover.over mov dword[esi],0FFFFFFFFh add esi,4.notover inc al jnz .nextx inc bl jnz .nexty ; 160 line mode mov [sfx160lineloc],esi.nexty2.nextx2 cmp eax,160 jae .over2 push eax push ebx shr eax,3 shr ebx,3 mov edx,ebx shl ebx,4 shl edx,2 add ebx,eax add ebx,edx mov [esi],ebx add esi,4 pop ebx pop eax jmp .notover2.over2 mov dword[esi],0FFFFFFFFh add esi,4.notover2 inc al jnz .nextx2 inc bl jnz .nexty2 ; 192 line mode mov [sfx192lineloc],esi.nexty3.nextx3 cmp eax,192 jae .over3 push eax push ebx shr eax,3 shr ebx,3 mov edx,ebx shl ebx,4 shl edx,3 add ebx,eax add ebx,edx mov [esi],ebx add esi,4 pop ebx pop eax jmp .notover3.over3 mov dword[esi],0FFFFFFFFh add esi,4.notover3 inc al jnz .nextx3 inc bl jnz .nexty3 ; obj mode mov [sfxobjlineloc],esi.nexty4.nextx4 push eax push ebx and ebx,80h and eax,80h shl ebx,1 shl eax,2 add ebx,eax mov edx,ebx pop ebx pop eax push eax push ebx and ebx,78h and eax,78h shr ebx,3 shl eax,1 add ebx,eax add edx,ebx pop ebx pop eax mov [esi],edx add esi,4 inc al jnz .nextx4 inc bl jnz .nexty4 mov eax,[romdata] xor ebx,ebx mov ecx,256.loopc mov [SfxMemTable+ebx*4],eax inc ebx dec ecx jnz .loopc mov eax,[romdata]; sub eax,32768 xor ebx,ebx mov ecx,64.loop mov [SfxMemTable+ebx*4],eax add eax,65536 inc ebx dec ecx jnz .loop mov eax,[romdata] add eax,32768 mov ecx,32.loop2 mov [SfxMemTable+ebx*4],eax add eax,65536*2 inc ebx dec ecx jnz .loop2 mov eax,[sfxramdata] mov [SfxMemTable+70h*4],eax add eax,65536 mov [SfxMemTable+71h*4],eax add eax,65536 mov [SfxMemTable+72h*4],eax add eax,65536 mov [SfxMemTable+73h*4],eax mov eax,[romdata]; sub eax,32768 xor ebx,ebx mov ebx,80h mov ecx,64.loops mov [SfxMemTable+ebx*4],eax add eax,65536 inc ebx dec ecx jnz .loops mov eax,[romdata] add eax,32768 mov ecx,32.loop2s mov [SfxMemTable+ebx*4],eax add eax,65536*2 inc ebx dec ecx jnz .loop2s mov eax,[sfxramdata] mov [SfxMemTable+0F0h*4],eax add eax,65536 mov [SfxMemTable+0F1h*4],eax add eax,65536 mov [SfxMemTable+0F2h*4],eax add eax,65536 mov [SfxMemTable+0F3h*4],eax mov dword[FxTable+00h*4],FxOp00 mov dword[FxTable+01h*4],FxOp01 mov dword[FxTable+02h*4],FxOp02 mov dword[FxTable+03h*4],FxOp03 mov dword[FxTable+04h*4],FxOp04 mov dword[FxTable+05h*4],FxOp05 mov dword[FxTable+06h*4],FxOp06 mov dword[FxTable+07h*4],FxOp07 mov dword[FxTable+08h*4],FxOp08 mov dword[FxTable+09h*4],FxOp09 mov dword[FxTable+0Ah*4],FxOp0A mov dword[FxTable+0Bh*4],FxOp0B mov dword[FxTable+0Ch*4],FxOp0C mov dword[FxTable+0Dh*4],FxOp0D mov dword[FxTable+0Eh*4],FxOp0E mov dword[FxTable+0Fh*4],FxOp0F mov dword[FxTable+10h*4],FxOp10 mov dword[FxTable+11h*4],FxOp11 mov dword[FxTable+12h*4],FxOp12 mov dword[FxTable+13h*4],FxOp13 mov dword[FxTable+14h*4],FxOp14 mov dword[FxTable+15h*4],FxOp15 mov dword[FxTable+16h*4],FxOp16 mov dword[FxTable+17h*4],FxOp17 mov dword[FxTable+18h*4],FxOp18 mov dword[FxTable+19h*4],FxOp19 mov dword[FxTable+1Ah*4],FxOp1A mov dword[FxTable+1Bh*4],FxOp1B mov dword[FxTable+1Ch*4],FxOp1C mov dword[FxTable+1Dh*4],FxOp1D mov dword[FxTable+1Eh*4],FxOp1E mov dword[FxTable+1Fh*4],FxOp1F mov dword[FxTable+20h*4],FxOp20 mov dword[FxTable+21h*4],FxOp21 mov dword[FxTable+22h*4],FxOp22 mov dword[FxTable+23h*4],FxOp23 mov dword[FxTable+24h*4],FxOp24 mov dword[FxTable+25h*4],FxOp25 mov dword[FxTable+26h*4],FxOp26 mov dword[FxTable+27h*4],FxOp27 mov dword[FxTable+28h*4],FxOp28 mov dword[FxTable+29h*4],FxOp29 mov dword[FxTable+2Ah*4],FxOp2A mov dword[FxTable+2Bh*4],FxOp2B mov dword[FxTable+2Ch*4],FxOp2C mov dword[FxTable+2Dh*4],FxOp2D mov dword[FxTable+2Eh*4],FxOp2E mov dword[FxTable+2Fh*4],FxOp2F mov dword[FxTable+30h*4],FxOp30 mov dword[FxTable+31h*4],FxOp31 mov dword[FxTable+32h*4],FxOp32 mov dword[FxTable+33h*4],FxOp33 mov dword[FxTable+34h*4],FxOp34 mov dword[FxTable+35h*4],FxOp35 mov dword[FxTable+36h*4],FxOp36 mov dword[FxTable+37h*4],FxOp37 mov dword[FxTable+38h*4],FxOp38 mov dword[FxTable+39h*4],FxOp39 mov dword[FxTable+3Ah*4],FxOp3A mov dword[FxTable+3Bh*4],FxOp3B mov dword[FxTable+3Ch*4],FxOp3C mov dword[FxTable+3Dh*4],FxOp3D mov dword[FxTable+3Eh*4],FxOp3E mov dword[FxTable+3Fh*4],FxOp3F mov dword[FxTable+40h*4],FxOp40 mov dword[FxTable+41h*4],FxOp41 mov dword[FxTable+42h*4],FxOp42 mov dword[FxTable+43h*4],FxOp43 mov dword[FxTable+44h*4],FxOp44 mov dword[FxTable+45h*4],FxOp45 mov dword[FxTable+46h*4],FxOp46 mov dword[FxTable+47h*4],FxOp47 mov dword[FxTable+48h*4],FxOp48 mov dword[FxTable+49h*4],FxOp49 mov dword[FxTable+4Ah*4],FxOp4A mov dword[FxTable+4Bh*4],FxOp4B mov dword[FxTable+4Ch*4],FxOp4C mov dword[FxTable+4Dh*4],FxOp4D mov dword[FxTable+4Eh*4],FxOp4E mov dword[FxTable+4Fh*4],FxOp4F mov dword[FxTable+50h*4],FxOp50 mov dword[FxTable+51h*4],FxOp51 mov dword[FxTable+52h*4],FxOp52 mov dword[FxTable+53h*4],FxOp53 mov dword[FxTable+54h*4],FxOp54 mov dword[FxTable+55h*4],FxOp55 mov dword[FxTable+56h*4],FxOp56 mov dword[FxTable+57h*4],FxOp57 mov dword[FxTable+58h*4],FxOp58 mov dword[FxTable+59h*4],FxOp59 mov dword[FxTable+5Ah*4],FxOp5A mov dword[FxTable+5Bh*4],FxOp5B mov dword[FxTable+5Ch*4],FxOp5C mov dword[FxTable+5Dh*4],FxOp5D mov dword[FxTable+5Eh*4],FxOp5E mov dword[FxTable+5Fh*4],FxOp5F mov dword[FxTable+60h*4],FxOp60 mov dword[FxTable+61h*4],FxOp61 mov dword[FxTable+62h*4],FxOp62 mov dword[FxTable+63h*4],FxOp63 mov dword[FxTable+64h*4],FxOp64 mov dword[FxTable+65h*4],FxOp65 mov dword[FxTable+66h*4],FxOp66 mov dword[FxTable+67h*4],FxOp67 mov dword[FxTable+68h*4],FxOp68 mov dword[FxTable+69h*4],FxOp69 mov dword[FxTable+6Ah*4],FxOp6A mov dword[FxTable+6Bh*4],FxOp6B mov dword[FxTable+6Ch*4],FxOp6C mov dword[FxTable+6Dh*4],FxOp6D mov dword[FxTable+6Eh*4],FxOp6E mov dword[FxTable+6Fh*4],FxOp6F mov dword[FxTable+70h*4],FxOp70 mov dword[FxTable+71h*4],FxOp71 mov dword[FxTable+72h*4],FxOp72 mov dword[FxTable+73h*4],FxOp73
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -