diff --git a/zsnes/src/chips/dsp1proc.asm b/zsnes/src/chips/dsp1proc.asm index 8e1d9210..60207d93 100644 --- a/zsnes/src/chips/dsp1proc.asm +++ b/zsnes/src/chips/dsp1proc.asm @@ -18,14 +18,13 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" EXTSYM regaccessbankr8,regaccessbankr16,regaccessbankw8,regaccessbankw16 -EXTSYM DSPOp0A,Op0AA,Op0AB,Op0AC,Op0AD,Op0AVS,DSPOp10 -EXTSYM debstop -EXTSYM DSPOp00,Op00Multiplicand,Op00Multiplier -EXTSYM Op00Result -EXTSYM DSPOp0F,Op0FPass +EXTSYM DSPOp0A,Op0AA,Op0AB,Op0AC,Op0AD,Op0AVS,DSPOp10,DSPOp00,Op00Multiplicand +EXTSYM Op00Multiplier,Op00Result,DSPOp0F,Op0FPass EXTSYM DSPOp04,Op04Angle,Op04Cos,Op04Radius,Op04Sin EXTSYM DSPOp28,Op28R,Op28X,Op28Y,Op28Z EXTSYM DSPOp0C,Op0CA,Op0CX1,Op0CX2,Op0CY1,Op0CY2 @@ -882,6 +881,3 @@ DSP1_14: ; 3D angle rotation mov byte[DSP1RLeft],3 pop eax ret - - - diff --git a/zsnes/src/chips/dsp2proc.asm b/zsnes/src/chips/dsp2proc.asm index 28ad8cff..cd7d39bb 100644 --- a/zsnes/src/chips/dsp2proc.asm +++ b/zsnes/src/chips/dsp2proc.asm @@ -28,9 +28,9 @@ ; Command 05h fixed. ; when you got the magic missile damage such as fireball, DSP2 support in prior version entered halt state. -%include "macros.mac" -EXTSYM regaccessbankr8,regaccessbankr16,regaccessbankw8,regaccessbankw16 + +%include "macros.mac" DSP2F_HALT equ 1 DSP2F_AUTO_BUFFER_SHIFT equ 2 @@ -133,7 +133,7 @@ db 1, 1, 1, 1, 2, 2, 2, 2 SECTION .text ;******************************************************* -; +; ;******************************************************* %macro CommandJmp 2 cmp al,%1 @@ -166,7 +166,7 @@ SECTION .text %endmacro ;******************************************************* -; +; ;******************************************************* NEWSYM InitDSP2 @@ -180,7 +180,7 @@ NEWSYM InitDSP2 ret ;******************************************************* -; +; ;******************************************************* NEWSYM DSP2Read8b @@ -218,7 +218,7 @@ NEWSYM DSP2Read16b ret ;******************************************************* -; +; ;******************************************************* NEWSYM _DSP2Add2Queue @@ -609,5 +609,3 @@ NEWSYM DSP2Write16b xor eax,eax .leave ret - - diff --git a/zsnes/src/chips/fxtable.asm b/zsnes/src/chips/fxtable.asm index 86064e71..00cee15e 100644 --- a/zsnes/src/chips/fxtable.asm +++ b/zsnes/src/chips/fxtable.asm @@ -193,8 +193,7 @@ EXTSYM FxOpd4C1284b,FxOpd4C1284bz,FxOpd4C1284bd,FxOpd4C1284bzd EXTSYM FxOpd4C1282b,FxOpd4C1282bz,FxOpd4C1282bd,FxOpd4C1282bzd EXTSYM FxOpd4C1288b,FxOpd4C1288bz,FxOpd4C1288bd,FxOpd4C1288bzd EXTSYM FxOpd4C1288bl,FxOpd4C1288bzl,FxOpd4C1288bdl,FxOpd4C1288bzdl -EXTSYM fxxand,fxbit01,fxbit23,fxbit45,fxbit67 - +EXTSYM fxxand,fxbit01 SECTION .bss NEWSYM sfx128lineloc, resd 1 @@ -203,17 +202,8 @@ NEWSYM sfx192lineloc, resd 1 NEWSYM sfxobjlineloc, resd 1 SECTION .text - NEWSYM InitFxTables -; cmp al,0 -; je near .colors4 -; cmp al,3 -; je near .colors256 -; test byte[SfxPOR],01h -; jz .zerocheck -; test byte[SfxPOR],02h -; jz .nodither4b ; Initiate PLOT jump tables xor ebx,ebx mov ecx,64 @@ -821,7 +811,7 @@ NEWSYM InitFxTables mov dword [FxTable+9Dh*4],FxOp9D mov dword [FxTable+9Eh*4],FxOp9E mov dword [FxTable+9Fh*4],FxOp9F - + mov dword [FxTable+0A0h*4],FxOpA0 mov dword [FxTable+0A1h*4],FxOpA1 mov dword [FxTable+0A2h*4],FxOpA2 @@ -988,11 +978,11 @@ NEWSYM InitFxTables mov dword [FxTableA1+39h*4],FxOp39A1 mov dword [FxTableA1+3Ah*4],FxOp3AA1 mov dword [FxTableA1+3Bh*4],FxOp3BA1 - mov dword [FxTableA1+3Ch*4],FxOp3C - mov dword [FxTableA1+3Dh*4],FxOp3D - mov dword [FxTableA1+3Eh*4],FxOp3E - mov dword [FxTableA1+3Fh*4],FxOp3F - + mov dword [FxTableA1+3Ch*4],FxOp3C + mov dword [FxTableA1+3Dh*4],FxOp3D + mov dword [FxTableA1+3Eh*4],FxOp3E + mov dword [FxTableA1+3Fh*4],FxOp3F + mov dword [FxTableA1+40h*4],FxOp40A1 mov dword [FxTableA1+41h*4],FxOp41A1 mov dword [FxTableA1+42h*4],FxOp42A1 @@ -1077,7 +1067,7 @@ NEWSYM InitFxTables mov dword [FxTableA1+8Dh*4],FxOp8DA1 mov dword [FxTableA1+8Eh*4],FxOp8EA1 mov dword [FxTableA1+8Fh*4],FxOp8FA1 - + mov dword [FxTableA1+90h*4],FxOp90 mov dword [FxTableA1+91h*4],FxOp91 mov dword [FxTableA1+92h*4],FxOp92 @@ -1094,7 +1084,7 @@ NEWSYM InitFxTables mov dword [FxTableA1+9Dh*4],FxOp9DA1 mov dword [FxTableA1+9Eh*4],FxOp9E mov dword [FxTableA1+9Fh*4],FxOp9FA1 - + mov dword [FxTableA1+0A0h*4],FxOpA0A1 mov dword [FxTableA1+0A1h*4],FxOpA1A1 mov dword [FxTableA1+0A2h*4],FxOpA2A1 @@ -1129,7 +1119,7 @@ NEWSYM InitFxTables mov dword [FxTableA1+0BEh*4],FxOpBE mov dword [FxTableA1+0BFh*4],FxOpBF - mov dword [FxTableA1+0C0h*4],FxOpC0 + mov dword [FxTableA1+0C0h*4],FxOpC0 mov dword [FxTableA1+0C1h*4],FxOpC1A1 mov dword [FxTableA1+0C2h*4],FxOpC2A1 mov dword [FxTableA1+0C3h*4],FxOpC3A1 @@ -1350,7 +1340,7 @@ NEWSYM InitFxTables mov dword [FxTableA2+8Dh*4],FxOp8DA2 mov dword [FxTableA2+8Eh*4],FxOp8EA2 mov dword [FxTableA2+8Fh*4],FxOp8FA2 - + mov dword [FxTableA2+90h*4],FxOp90 mov dword [FxTableA2+91h*4],FxOp91 mov dword [FxTableA2+92h*4],FxOp92 @@ -1367,7 +1357,7 @@ NEWSYM InitFxTables mov dword [FxTableA2+9Dh*4],FxOp9D mov dword [FxTableA2+9Eh*4],FxOp9E mov dword [FxTableA2+9Fh*4],FxOp9F - + mov dword [FxTableA2+0A0h*4],FxOpA0A2 mov dword [FxTableA2+0A1h*4],FxOpA1A2 mov dword [FxTableA2+0A2h*4],FxOpA2A2 @@ -1639,7 +1629,7 @@ NEWSYM InitFxTables mov dword [FxTableA3+9Dh*4],FxOp9D mov dword [FxTableA3+9Eh*4],FxOp9E mov dword [FxTableA3+9Fh*4],FxOp9F - + mov dword [FxTableA3+0A0h*4],FxOpA0 mov dword [FxTableA3+0A1h*4],FxOpA1 mov dword [FxTableA3+0A2h*4],FxOpA2 @@ -1826,9 +1816,9 @@ NEWSYM InitFxTables mov dword [FxTablebA1+1Dh*4],FxOpb1D mov dword [FxTablebA1+1Eh*4],FxOpb1E mov dword [FxTablebA1+1Fh*4],FxOpb1F - mov dword [FxTablebA1+3Dh*4],FxOpb3D - mov dword [FxTablebA1+3Eh*4],FxOpb3E - mov dword [FxTablebA1+3Fh*4],FxOpb3F + mov dword [FxTablebA1+3Dh*4],FxOpb3D + mov dword [FxTablebA1+3Eh*4],FxOpb3E + mov dword [FxTablebA1+3Fh*4],FxOpb3F mov dword [FxTablebA1+0B0h*4],FxOpbB0 mov dword [FxTablebA1+0B1h*4],FxOpbB1 mov dword [FxTablebA1+0B2h*4],FxOpbB2 @@ -2297,7 +2287,7 @@ NEWSYM InitFxTables mov dword [FxTabled+9Dh*4],FxOpd9D mov dword [FxTabled+9Eh*4],FxOpd9E mov dword [FxTabled+9Fh*4],FxOpd9F - + mov dword [FxTabled+0A0h*4],FxOpdA0 mov dword [FxTabled+0A1h*4],FxOpdA1 mov dword [FxTabled+0A2h*4],FxOpdA2 @@ -2464,11 +2454,11 @@ NEWSYM InitFxTables mov dword [FxTabledA1+39h*4],FxOpd39A1 mov dword [FxTabledA1+3Ah*4],FxOpd3AA1 mov dword [FxTabledA1+3Bh*4],FxOpd3BA1 - mov dword [FxTabledA1+3Ch*4],FxOpd3C - mov dword [FxTabledA1+3Dh*4],FxOpd3D - mov dword [FxTabledA1+3Eh*4],FxOpd3E - mov dword [FxTabledA1+3Fh*4],FxOpd3F - + mov dword [FxTabledA1+3Ch*4],FxOpd3C + mov dword [FxTabledA1+3Dh*4],FxOpd3D + mov dword [FxTabledA1+3Eh*4],FxOpd3E + mov dword [FxTabledA1+3Fh*4],FxOpd3F + mov dword [FxTabledA1+40h*4],FxOpd40A1 mov dword [FxTabledA1+41h*4],FxOpd41A1 mov dword [FxTabledA1+42h*4],FxOpd42A1 @@ -2553,7 +2543,7 @@ NEWSYM InitFxTables mov dword [FxTabledA1+8Dh*4],FxOpd8DA1 mov dword [FxTabledA1+8Eh*4],FxOpd8EA1 mov dword [FxTabledA1+8Fh*4],FxOpd8FA1 - + mov dword [FxTabledA1+90h*4],FxOpd90 mov dword [FxTabledA1+91h*4],FxOpd91 mov dword [FxTabledA1+92h*4],FxOpd92 @@ -2570,7 +2560,7 @@ NEWSYM InitFxTables mov dword [FxTabledA1+9Dh*4],FxOpd9DA1 mov dword [FxTabledA1+9Eh*4],FxOpd9E mov dword [FxTabledA1+9Fh*4],FxOpd9FA1 - + mov dword [FxTabledA1+0A0h*4],FxOpdA0A1 mov dword [FxTabledA1+0A1h*4],FxOpdA1A1 mov dword [FxTabledA1+0A2h*4],FxOpdA2A1 @@ -2605,7 +2595,7 @@ NEWSYM InitFxTables mov dword [FxTabledA1+0BEh*4],FxOpdBE mov dword [FxTabledA1+0BFh*4],FxOpdBF - mov dword [FxTabledA1+0C0h*4],FxOpdC0 + mov dword [FxTabledA1+0C0h*4],FxOpdC0 mov dword [FxTabledA1+0C1h*4],FxOpdC1A1 mov dword [FxTabledA1+0C2h*4],FxOpdC2A1 mov dword [FxTabledA1+0C3h*4],FxOpdC3A1 @@ -2826,7 +2816,7 @@ NEWSYM InitFxTables mov dword [FxTabledA2+8Dh*4],FxOpd8DA2 mov dword [FxTabledA2+8Eh*4],FxOpd8EA2 mov dword [FxTabledA2+8Fh*4],FxOpd8FA2 - + mov dword [FxTabledA2+90h*4],FxOpd90 mov dword [FxTabledA2+91h*4],FxOpd91 mov dword [FxTabledA2+92h*4],FxOpd92 @@ -2843,7 +2833,7 @@ NEWSYM InitFxTables mov dword [FxTabledA2+9Dh*4],FxOpd9D mov dword [FxTabledA2+9Eh*4],FxOpd9E mov dword [FxTabledA2+9Fh*4],FxOpd9F - + mov dword [FxTabledA2+0A0h*4],FxOpdA0A2 mov dword [FxTabledA2+0A1h*4],FxOpdA1A2 mov dword [FxTabledA2+0A2h*4],FxOpdA2A2 @@ -3115,7 +3105,7 @@ NEWSYM InitFxTables mov dword [FxTabledA3+9Dh*4],FxOpd9D mov dword [FxTabledA3+9Eh*4],FxOpd9E mov dword [FxTabledA3+9Fh*4],FxOpd9F - + mov dword [FxTabledA3+0A0h*4],FxOpdA0 mov dword [FxTabledA3+0A1h*4],FxOpdA1 mov dword [FxTabledA3+0A2h*4],FxOpdA2 diff --git a/zsnes/src/chips/sa1proc.asm b/zsnes/src/chips/sa1proc.asm index ce008533..b0c1a8d6 100644 --- a/zsnes/src/chips/sa1proc.asm +++ b/zsnes/src/chips/sa1proc.asm @@ -18,16 +18,15 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM xa,xx,xy,xd,xdb,xpb,xs,xe,initaddrl,UpdateDPage,wramdata,IRAM,cycpbl,SA1DoIRQ -EXTSYM spcnumread,spchalted,SA1IRQEn,nextopcodesa1,debugds -EXTSYM SNSRegP,SNSRegE,SNSRegPCS,SA1Ptr,SNSPtr,nmiv,irqv,nmiv2,irqv2,snesmap2,SA1tablead -EXTSYM SA1xpb,SA1RegP,wramdataa,SA1TimerVal,debuggeron -EXTSYM SA1RegE,SA1RegPCS,SA1BWPtr,SNSBWPtr,CurBWPtr,SA1NMIV,SA1IRQV,debstop,tablead -EXTSYM membank0w8,romdata,SA1LBound,SA1UBound,SA1SH,SA1SHb -EXTSYM stackor,stackand,snesmmap,SA1xs,SA1IRQExec -EXTSYM SA1Message,Sflagnz,Sflagc,Sflago +EXTSYM initaddrl,wramdata,IRAM,SA1DoIRQ,nextopcodesa1,debugds,SNSRegP,SNSRegPCS +EXTSYM SA1Ptr,SNSPtr,snesmap2,SA1tablead,SA1xpb,SA1RegP,wramdataa,SA1TimerVal +EXTSYM debuggeron,SA1RegPCS,SA1BWPtr,SNSBWPtr,CurBWPtr,SA1NMIV,SA1IRQV +EXTSYM membank0w8,SA1LBound,SA1UBound,SA1SH,SA1SHb,stackor,stackand,snesmmap +EXTSYM SA1xs,SA1IRQExec,SA1Message,Sflagnz,Sflagc,Sflago ; In exec loop, jump to execloop if SA1Status != 0 ; *** Disable spc700 if possible *** @@ -364,6 +363,3 @@ NEWSYM SA1switchtovirq mov [initaddrl],esi add esi,eax ret - - - diff --git a/zsnes/src/chips/sa1regs.asm b/zsnes/src/chips/sa1regs.asm index 406497cc..0aa0428a 100644 --- a/zsnes/src/chips/sa1regs.asm +++ b/zsnes/src/chips/sa1regs.asm @@ -40,21 +40,14 @@ ; I forgot which part. + %include "macros.mac" -EXTSYM regptr,regptw,romdata,SA1Status,debstop4,SDD1BankA,curromsize -EXTSYM debuggeron -EXTSYM Get_Time,Get_TimeDate -EXTSYM spc7110romptr,SPC7110Entries -EXTSYM SPC7110IndexSize,SPC7110nfname,SPC7110filep -EXTSYM SPC7_Convert_Upper,SPC7_Convert_Lower -EXTSYM Open_File,Close_File,Read_File,File_Seek -; EXTSYM Msgptr,MessageOn -EXTSYM irqv2,irqv,nmiv2,nmiv -EXTSYM snesmmap,snesmap2 -EXTSYM curypos,CurrentExecSA1 -EXTSYM debstop3 -EXTSYM memaccessbankr8sdd1,memtabler8,AddrNoIncr +EXTSYM regptr,regptw,romdata,SA1Status,debstop4,SDD1BankA,curromsize,debuggeron +EXTSYM Get_Time,Get_TimeDate,spc7110romptr,SPC7110Entries,SPC7110IndexSize +EXTSYM SPC7110nfname,SPC7110filep,SPC7_Convert_Upper,SPC7_Convert_Lower +EXTSYM Open_File,Close_File,Read_File,File_Seek,irqv2,irqv,nmiv2,nmiv,snesmmap +EXTSYM snesmap2,curypos,CurrentExecSA1,memaccessbankr8sdd1,memtabler8,AddrNoIncr EXTSYM NumofBanks %include "cpu/regs.mac" @@ -773,7 +766,7 @@ SPC4806w: mov [SPC7110TempPosition],eax mov eax,[edx+8] mov [SPC7110TempLength],eax - + mov edx,dword[SPC7110filep] mov eax,[SPCCompPtr] and eax,0FFFFFFh @@ -1064,7 +1057,7 @@ SPC4818w: ;||||| 1 - signed calculation for $4816 ;|||||_____ : 0 - unsigned calculation for $4814 ;|||| 1 - signed calculation for $4814 -;||||______ : 0 - offset increment gets added to $4811/2/3 +;||||______ : 0 - offset increment gets added to $4811/2/3 ;||| 1 - offset increment gets added to $4814/5 ;| \_______ : 00 - disable offset addition ;| : 01 - 8 bit offset addition using $4814, immediately after writing to $4814/5 @@ -2651,5 +2644,3 @@ NEWSYM sdd14801w pop ebx pop eax ret - - diff --git a/zsnes/src/cpu/65816d.inc b/zsnes/src/cpu/65816d.inc index d8d83b82..409acad2 100644 --- a/zsnes/src/cpu/65816d.inc +++ b/zsnes/src/cpu/65816d.inc @@ -19,13 +19,8 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTSYM flagnz, flago, flagc, execloopdeb -EXTSYM Sjoinflags,Ssplitflags,SA1RegP - - - - +EXTSYM flagnz,flago,flagc,execloopdeb,Sjoinflags,Ssplitflags,SA1RegP ;******************************************************* ; Flag Setting Macros @@ -1348,7 +1343,7 @@ COPemulmode xor eax,eax call membank0r8 mov [xpc+1],al - + inc cx and cx,word[stackand] xor eax,eax @@ -1468,7 +1463,7 @@ emulRTI xor eax,eax call membank0r8 mov [xpc+1],al - + inc cx and cx,word[stackand] xor eax,eax diff --git a/zsnes/src/cpu/65816db.inc b/zsnes/src/cpu/65816db.inc index b2a54dad..a216807b 100644 --- a/zsnes/src/cpu/65816db.inc +++ b/zsnes/src/cpu/65816db.inc @@ -19,13 +19,8 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTSYM flagnz, flago, flagc, cpucycle, doirqnext -EXTSYM dmadata - - - - +EXTSYM flagnz,flago,flagc,cpucycle,doirqnext,dmadata ;******************************************************* ; Flag Setting Macros @@ -1348,7 +1343,7 @@ COPemulmode xor eax,eax call membank0r8 mov [xpc+1],al - + inc cx and cx,word[stackand] xor eax,eax @@ -1469,7 +1464,7 @@ emulRTI xor eax,eax call membank0r8 mov [xpc+1],al - + inc cx and cx,word[stackand] xor eax,eax diff --git a/zsnes/src/cpu/65816dc.inc b/zsnes/src/cpu/65816dc.inc index 31bede6a..72e839ec 100644 --- a/zsnes/src/cpu/65816dc.inc +++ b/zsnes/src/cpu/65816dc.inc @@ -19,13 +19,8 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTSYM flagnz, flago, flagc, cpucycle, cycpbl, cycpblt, opcjmptab, doirqnext -EXTSYM dmadata - - - - +EXTSYM flagnz,flago,flagc,cpucycle,cycpbl,cycpblt,opcjmptab,doirqnext,dmadata ;******************************************************* ; Flag Setting Macros @@ -1362,7 +1357,7 @@ COPemulmode xor eax,eax call membank0r8 mov [xpc+1],al - + inc cx and cx,word[stackand] xor eax,eax @@ -1483,7 +1478,7 @@ emulRTI xor eax,eax call membank0r8 mov [xpc+1],al - + inc cx and cx,word[stackand] xor eax,eax diff --git a/zsnes/src/cpu/address.inc b/zsnes/src/cpu/address.inc index 5ecf7458..4cd0a667 100644 --- a/zsnes/src/cpu/address.inc +++ b/zsnes/src/cpu/address.inc @@ -18,11 +18,6 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTSYM membank0w8ram - - - - ;******************************************************* diff --git a/zsnes/src/cpu/dma.asm b/zsnes/src/cpu/dma.asm index 4c799b3e..c7983998 100644 --- a/zsnes/src/cpu/dma.asm +++ b/zsnes/src/cpu/dma.asm @@ -20,16 +20,9 @@ %include "macros.mac" -EXTSYM memtabler8,regptw,snesmap2,snesmmap,debstop3 -;EXTSYM soundcycleft,pexecs2 -EXTSYM memtablew8,regptr -EXTSYM dmadata -EXTSYM hdmatype -EXTSYM nexthdma +EXTSYM memtabler8,regptw,snesmap2,snesmmap,memtablew8,regptr,memtabler16 +EXTSYM dmadata,hdmatype,nexthdma,resolutn EXTSYM curhdma,curypos,disablehdma,hdmadata,hdmadelay,hdmaearlstart -EXTSYM resolutn -EXTSYM memtabler16 - ;******************************************************* ; Transfer DMA Inits & Transfers DMA @@ -1174,7 +1167,7 @@ NEWSYM hdmatype2indirect cmp dword [ewj2hack],1 jne near .notend cmp byte [esi+1],40h ; Writing to spc - jne near .notend + jne near .notend cmp byte [esi+10],0DAh ; first transfer jne near .notend ; EWJ2 HACK diff --git a/zsnes/src/cpu/dsp.asm b/zsnes/src/cpu/dsp.asm index 8a46d323..b624f741 100644 --- a/zsnes/src/cpu/dsp.asm +++ b/zsnes/src/cpu/dsp.asm @@ -20,25 +20,21 @@ %include "macros.mac" -EXTSYM BRRPlace0,BRRPlace1,BRRPlace2,BRRPlace3,BRRPlace4,BRRPlace5,BRRPlace6 -EXTSYM BRRPlace7,Decrease,DecreaseRateExp,EchoFB,EchoRate,EchoVL,EchoVR +EXTSYM Decrease,DecreaseRateExp,EchoFB,EchoRate,EchoVL,EchoVR EXTSYM FIRTAPVal0,FIRTAPVal1,FIRTAPVal2,FIRTAPVal3,FIRTAPVal4,FIRTAPVal5 -EXTSYM FIRTAPVal6,FIRTAPVal7,GlobalVL,GlobalVR,Increase,IncreaseBent -EXTSYM MaxEcho,MusicVol,NoiseInc,NoiseSpeeds,dspPAdj,Voice0End,Voice0EnvInc -EXTSYM Voice0IncNumber,Voice0Loop,Voice0Noise,Voice0Prev0,Voice0Prev1 -EXTSYM Voice0Start,Voice0State,Voice0Status,Voice0Time,Voice1End,Voice1Noise -EXTSYM Voice1Prev0,Voice1Prev1,Voice1Start,Voice2End,Voice2Noise,Voice2Prev0 -EXTSYM Voice2Prev1,Voice2Start,Voice3End,Voice3Noise,Voice3Prev0,Voice3Prev1 -EXTSYM Voice3Start,Voice4End,Voice4Noise,Voice4Prev0,Voice4Prev1,Voice4Start -EXTSYM Voice5End,Voice5Noise,Voice5Prev0,Voice5Prev1,Voice5Start,Voice6End -EXTSYM Voice6Noise,Voice6Prev0,Voice6Prev1,Voice6Start,Voice7End,Voice7Noise -EXTSYM Voice7Prev0,Voice7Prev1,Voice7Start,VolumeConvTable,VolumeTableb,keyonsn -EXTSYM RevStereo,Voice1Status,Voice2Status,Voice3Status,Voice4Status,Voice5Status -EXTSYM Voice6Status,Voice7Status +EXTSYM FIRTAPVal6,FIRTAPVal7,GlobalVL,GlobalVR,Increase +EXTSYM MaxEcho,MusicVol,NoiseInc,NoiseSpeeds,dspPAdj,Voice0EnvInc +EXTSYM Voice0IncNumber,Voice0State,Voice0Time +EXTSYM Voice0Start,Voice1Start,Voice2Start,Voice3Start +EXTSYM Voice4Start,Voice5Start,Voice6Start,Voice7Start +EXTSYM Voice0Noise,Voice1Noise,Voice2Noise,Voice3Noise +EXTSYM Voice4Noise,Voice5Noise,Voice6Noise,Voice7Noise +EXTSYM VolumeConvTable,VolumeTableb,keyonsn +EXTSYM Voice0Status,Voice1Status,Voice2Status,Voice3Status +EXTSYM Voice4Status,Voice5Status,Voice6Status,Voice7Status EXTSYM GainDecBendDataPos,GainDecBendDataTime,GainDecBendDataDat EXTSYM AdsrSustLevLoc,AdsrBlocksLeft,AdsrNextTimeDepth -EXTSYM MuteVoiceF,VoiceStarter -EXTSYM DecayRate,SustainRate,SustainValue +EXTSYM MuteVoiceF,VoiceStarter,DecayRate,SustainRate EXTSYM KeyOnStA,KeyOnStB,SoundTest @@ -1542,20 +1538,14 @@ NEWSYM RDSPRegFF ; ;Write DSP Registers functions NEWSYM WDSPReg00 ; Voice 0 Volume Left -; cmp byte[RevStereo],1 -; je .rev mov [DSPMem+00h],al ret -.rev mov [DSPMem+01h],al ret NEWSYM WDSPReg01 ; Voice 0 Volume Right -; cmp byte[RevStereo],1 -; je .rev mov [DSPMem+01h],al ret -.rev mov [DSPMem+00h],al ret diff --git a/zsnes/src/cpu/dspproc.asm b/zsnes/src/cpu/dspproc.asm index 3bf922f1..5496486b 100644 --- a/zsnes/src/cpu/dspproc.asm +++ b/zsnes/src/cpu/dspproc.asm @@ -20,10 +20,8 @@ %include "macros.mac" -EXTSYM spcRam, spcPCRam, spcRamDP, spcS, spcX, MovieProcessing -EXTSYM soundon, RevStereo -EXTSYM PitchModEn,SoundNoiseDis -EXTSYM DosExit,Invalidopcode,RSPCRegF0,RSPCRegF1,RSPCRegF2,RSPCRegF3 +EXTSYM spcRam,spcPCRam,spcRamDP,spcS,spcX,RevStereo +EXTSYM Invalidopcode,RSPCRegF0,RSPCRegF1,RSPCRegF2,RSPCRegF3 EXTSYM RSPCRegF4,RSPCRegF5,RSPCRegF6,RSPCRegF7,RSPCRegF8,RSPCRegF9 EXTSYM RSPCRegFA,RSPCRegFB,RSPCRegFC,RSPCRegFD,RSPCRegFE,RSPCRegFF EXTSYM SPCRegF0,SPCRegF1,SPCRegF2,SPCRegF3,SPCRegF4,SPCRegF5,SPCRegF6 @@ -124,15 +122,9 @@ EXTSYM WDSPRegE0,WDSPRegE1,WDSPRegE2,WDSPRegE3,WDSPRegE4,WDSPRegE5,WDSPRegE6 EXTSYM WDSPRegE7,WDSPRegE8,WDSPRegE9,WDSPRegEA,WDSPRegEB,WDSPRegEC,WDSPRegED EXTSYM WDSPRegEE,WDSPRegEF,WDSPRegF0,WDSPRegF1,WDSPRegF2,WDSPRegF3,WDSPRegF4 EXTSYM WDSPRegF5,WDSPRegF6,WDSPRegF7,WDSPRegF8,WDSPRegF9,WDSPRegFA,WDSPRegFB -EXTSYM WDSPRegFC,WDSPRegFD,WDSPRegFE,WDSPRegFF,RaisePitch -EXTSYM delay -EXTSYM spcBuffera -EXTSYM DSPMem -EXTSYM SoundInterpType -EXTSYM NoiseData,Voice0Disable,csounddisable,spcRamcmp -EXTSYM cfgecho,Surround,SoundBufEn -EXTSYM echobuf,ENVDisable -EXTSYM LowPassFilterType +EXTSYM WDSPRegFC,WDSPRegFD,WDSPRegFE,WDSPRegFF +EXTSYM spcBuffera,DSPMem,SoundInterpType,NoiseData,Voice0Disable +EXTSYM cfgecho,Surround,echobuf,ENVDisable,LowPassFilterType %ifdef __MSDOS__ EXTSYM SB_alloc_dma,SB_quality_limiter,vibracard @@ -390,7 +382,7 @@ SECTION .bss NEWSYM spcWptr, resd 16 ; SPC Write pointers (point to their own functions) NEWSYM spcRptr, resd 16 ; SPC Read pointers (point to their own functions) -; +; SECTION .data NEWSYM SoundQuality, dd 2 NEWSYM StereoSound, db 0 @@ -597,7 +589,7 @@ NEWSYM AdjustFrequency .fir_mmx mov ebx, DSPInterpolate_8 - + .notgaussian mov [DSPInterpolate],ebx @@ -630,15 +622,6 @@ NEWSYM AdjustFrequency mov eax,dword [SBToSPCSpeeds2+ecx*4] .not16bit %endif -; cmp byte[RaisePitch],0 -; jne .nopitchmodify -; ; *1000/1024 -; mov ebx,1024 -; mul ebx -; xor edx,edx -; mov ebx,1000 -; div ebx -;.nopitchmodify mov [SBToSPC],eax mov [SBRateb],eax @@ -2053,7 +2036,7 @@ sampleleft dd 0 ; 8 bytes/sample lastbl dd 0 ; Last block if = 1 loopbl dd 0 ; Loop if = 1 usenoisedata dd 0 - + VolumeTableD @@ -2198,7 +2181,7 @@ NEWSYM Voice6Pitch, resw 1 ; Previous Pitch for Voice 6 NEWSYM Voice7Pitch, resw 1 ; Previous Pitch for Voice 7 NEWSYM Voice0Status, resb 1 ; 0=Not Playing 1=Playing -NEWSYM Voice1Status, resb 1 +NEWSYM Voice1Status, resb 1 NEWSYM Voice2Status, resb 1 NEWSYM Voice3Status, resb 1 NEWSYM Voice4Status, resb 1 @@ -2234,22 +2217,22 @@ NEWSYM Voice7BufPtr, resd 1 ; Ptr to Buffer Block to be played NEWSYM SoundCounter, resd 1 ; Counter used for sound generation NEWSYM SoundCounter2, resd 1 ; Counter used for sound generation -NEWSYM Voice0Prev0, resd 1 -NEWSYM Voice1Prev0, resd 1 -NEWSYM Voice2Prev0, resd 1 -NEWSYM Voice3Prev0, resd 1 -NEWSYM Voice4Prev0, resd 1 -NEWSYM Voice5Prev0, resd 1 -NEWSYM Voice6Prev0, resd 1 -NEWSYM Voice7Prev0, resd 1 -NEWSYM Voice0Prev1, resd 1 -NEWSYM Voice1Prev1, resd 1 -NEWSYM Voice2Prev1, resd 1 -NEWSYM Voice3Prev1, resd 1 -NEWSYM Voice4Prev1, resd 1 -NEWSYM Voice5Prev1, resd 1 -NEWSYM Voice6Prev1, resd 1 -NEWSYM Voice7Prev1, resd 1 +NEWSYM Voice0Prev0, resd 1 +NEWSYM Voice1Prev0, resd 1 +NEWSYM Voice2Prev0, resd 1 +NEWSYM Voice3Prev0, resd 1 +NEWSYM Voice4Prev0, resd 1 +NEWSYM Voice5Prev0, resd 1 +NEWSYM Voice6Prev0, resd 1 +NEWSYM Voice7Prev0, resd 1 +NEWSYM Voice0Prev1, resd 1 +NEWSYM Voice1Prev1, resd 1 +NEWSYM Voice2Prev1, resd 1 +NEWSYM Voice3Prev1, resd 1 +NEWSYM Voice4Prev1, resd 1 +NEWSYM Voice5Prev1, resd 1 +NEWSYM Voice6Prev1, resd 1 +NEWSYM Voice7Prev1, resd 1 NEWSYM Voice0Loop, resb 1 NEWSYM Voice1Loop, resb 1 @@ -2629,7 +2612,7 @@ ALIGN32 NEWSYM MaxEcho, dd 172 ; |AR Time 0 to 1|DR|Time 1 to SL|SL|Ratio| SR Time 1to 1/10| -;--------------------------------------------------------------------- +;--------------------------------------------------------------------- ; |0 | 4.1 sec | 0| 1.2 sec | 0| 1/8 | 0| INF |10|1.2 sec ; |1 | 2.6 | 1| 740 msec | 1| 2/8 | 1| 38 |11|880 msec ; |2 | 1.5 | 2| 440 | 2| 3/8 | 2| 28 |12|740 @@ -2754,7 +2737,7 @@ SECTION .text ; Check if adsr or gain test byte[DSPMem+05h+%1*10h],80h jz near .gain - + ; Calculate attack rate xor eax,eax mov al,[DSPMem+05h+%1*10h] @@ -4639,11 +4622,6 @@ NEWSYM EchoStereo %endif ; added jmp %%NotUnique %%Uniquepm -; cmp byte[PitchModEn],0 -; je %%NotUnique -; mov al,%1 ; -; cmp al,0 ; commented out -; je %%NotUnique ; %%Unique mov byte [UniqueSoundv],1 %%NotUnique @@ -5415,7 +5393,7 @@ NEWSYM LPFexit ; add [esi],edx ; add [esi+4],edx - + add esi,8 dec ecx jnz .loop diff --git a/zsnes/src/cpu/e65816.inc b/zsnes/src/cpu/e65816.inc index fa6e0658..5916debd 100644 --- a/zsnes/src/cpu/e65816.inc +++ b/zsnes/src/cpu/e65816.inc @@ -19,26 +19,21 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTSYM brkv,brkv8,copv,copv8,curexecstate,curnmi,execloop -EXTSYM initaddrl,membank0r16,membank0r8 -EXTSYM membank0w16,membank0w8,memtabler16,memtabler8,memtablew16,memtablew8 + +EXTSYM brkv,brkv8,copv,copv8,curexecstate,curnmi,initaddrl +EXTSYM membank0r16,membank0r8,membank0w16,membank0w8 +EXTSYM memtabler16,memtabler8,memtablew16,memtablew8 EXTSYM nmistatus,regaccessbankr8,snesmap2,snesmmap,stackand,stackor,tablead EXTSYM wramdata,xa,xd,xdb,xe,xirqb,xpb,xpc,xs,xx,xy -EXTSYM switchtovirq,intrset,UpdateDPage -EXTSYM switchtovirqret -EXTSYM debstop3,romdata - - +EXTSYM intrset,UpdateDPage,switchtovirqret NEWSYM E65816IncStart - ; B = ( or ) ; C = , ; L = [ or ] ; I = # - COp61m8nd: ; ADC(d,x) addr_BdCxB_8br ADCMacro8bnd diff --git a/zsnes/src/cpu/e65816b.inc b/zsnes/src/cpu/e65816b.inc index 27f6dc1b..eb7cfe20 100644 --- a/zsnes/src/cpu/e65816b.inc +++ b/zsnes/src/cpu/e65816b.inc @@ -19,24 +19,19 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTSYM brkv,brkv8,copv,copv8,curexecstate,curnmi,execloop -EXTSYM initaddrl,membank0r16,membank0r8 -EXTSYM membank0w16,membank0w8,memtabler16,memtabler8,memtablew16,memtablew8 + +EXTSYM brkv,brkv8,copv,copv8,curexecstate,curnmi,initaddrl +EXTSYM membank0r16,membank0r8,membank0w16,membank0w8 +EXTSYM memtabler16,memtabler8,memtablew16,memtablew8 EXTSYM nmistatus,regaccessbankr8,snesmap2,snesmmap,stackand,stackor EXTSYM wramdata,xa,xd,xdb,xe,xirqb,xpb,xpc,xs,xx,xy -EXTSYM switchtovirq,intrset,UpdateDPage -EXTSYM DPageR8,DPageW8,DPageR16,DPageW16 - - - - +EXTSYM intrset,UpdateDPage,DPageR8,DPageW8,DPageR16,DPageW16 ; B = ( or ) ; C = , ; L = [ or ] ; I = # - COp61m8nd: ; ADC(d,x) addr_BdCxB_8br ADCMacro8bnd diff --git a/zsnes/src/cpu/e65816c.inc b/zsnes/src/cpu/e65816c.inc index 85d5bc8f..e36615f2 100644 --- a/zsnes/src/cpu/e65816c.inc +++ b/zsnes/src/cpu/e65816c.inc @@ -19,24 +19,19 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTSYM brkv,brkv8,copv,copv8,curexecstate,curnmi,execloop -EXTSYM initaddrl,intrset,membank0r16,membank0r8 -EXTSYM membank0w16,membank0w8,memtabler16,memtabler8,memtablew16,memtablew8 + +EXTSYM brkv,brkv8,copv,copv8,curexecstate,curnmi,initaddrl,intrset +EXTSYM membank0r16,membank0r8,membank0w16,membank0w8 +EXTSYM memtabler16,memtabler8,memtablew16,memtablew8 EXTSYM nmistatus,regaccessbankr8,snesmap2,snesmmap,stackand,stackor EXTSYM wramdata,xa,xd,xdb,xe,xirqb,xpb,xpc,xs,xx,xy -EXTSYM switchtovirq,UpdateDPage -EXTSYM DPageR8,DPageW8,DPageR16,DPageW16 - - - - +EXTSYM UpdateDPage,DPageR8,DPageW8,DPageR16,DPageW16 ; B = ( or ) ; C = , ; L = [ or ] ; I = # - COp61m8nd: ; ADC(d,x) addr_BdCxB_8br ADCMacro8bnd diff --git a/zsnes/src/cpu/execute.asm b/zsnes/src/cpu/execute.asm index d97cc7e9..713cd466 100644 --- a/zsnes/src/cpu/execute.asm +++ b/zsnes/src/cpu/execute.asm @@ -20,83 +20,42 @@ %include "macros.mac" -EXTSYM StringLength,Get_Time,objhipr,KeyRewind,statesaver -EXTSYM xa,timer2upd,prevoamptr -EXTSYM prevedi,SA1xpc,SA1RAMArea,sa1dmaptr -EXTSYM DSP1COp,C4WFXVal,C41FXVal,Op00Multiplicand,Op10Coefficient,Op04Angle -EXTSYM Op08X,Op18X,Op28X,Op0CA,Op02FX,Op0AVS,Op06X,Op0DX,Op03F,Op14Zr -EXTSYM Op0EH,DSP1Type,Op01m -EXTSYM Voice0Status,UpdateDPage -EXTSYM MessageOn,MsgCount,Msgptr,StartGUI,cbitmode,debuggeron,romdata -EXTSYM frameskip,initvideo,newgfx16b,soundon,cvidmode -EXTSYM vidbuffer,vidbufferofsa,vidbufferofsb,disable65816sh,GUISaveVars,virqnodisable -EXTSYM KeySaveState,KeyLoadState,KeyQuickExit,KeyQuickLoad,KeyQuickRst,GUIDoReset, GUIReset -EXTSYM KeyOnStA,KeyOnStB,ProcessKeyOn,printnum,sramsavedis,DSPDisable,C4Enable -EXTSYM KeyQuickClock,KeyQuickSaveSPC,TimerEnable,AutoIncSaveSlot -EXTSYM IRQHack,HIRQLoc,Offby1line,splitflags,joinflags,KeyQuickSnapShot -EXTSYM csounddisable,videotroub,Open_File,Close_File,Read_File,ResetTripleBuf -EXTSYM Write_File,Output_Text,Create_File,Check_Key,Get_Key,Change_Dir,InitPreGame -; EXTSYM tempblah,romdata -EXTSYM Curtableaddr,curcyc,debugdisble,dmadata,guioff,memtabler8,SetupPreGame -EXTSYM memtablew8,regaccessbankr8,showmenu,snesmap2,snesmmap,DeInitPostGame -EXTSYM spcPCRam,startdebugger,xp,xpb,xpc,tablead,tableadb,tableadc -; EXTSYM oamram -EXTSYM SA1UpdateDPage,Makemode7Table -EXTSYM memtabler16,memaccessbankr848mb,memaccessbankr1648mb -EXTSYM nextmenupopup,MovieProcessing,PrintStr -EXTSYM OSExit,DosExit,InitDir,InitDrive,createnewcfg,fnames,gotoroot,previdmode -EXTSYM ramsize,sfxramdata,setaramdata,SETAEnable,sram,SRAMChdir -; EXTSYM tempstore -EXTSYM printhex -EXTSYM deinitvideo -EXTSYM BRRBuffer,DSPMem,PrepareSaveState,ResetState,SFXEnable,PHdspsave -EXTSYM fnamest,sndrot,spcRam,spcRamDP,tableA,vram,wramdata -EXTSYM PHnum2writesfxreg,SfxR0,PHspcsave -EXTSYM C4Ram,SPC7110Enable,SDD1Enable -EXTSYM SA1Mode,PHnum2writesa1reg,SaveSA1,RestoreSA1,UpdateBanksSDD1 -EXTSYM CapturePicture,PrevPicture,NoPictureSave -EXTSYM BRRPlace0,SfxCPB,SfxCROM,SfxLastRamAdr,SfxMemTable -EXTSYM SfxRAMBR,SfxRAMMem,SfxROMBR,SfxRomBuffer,Voice0Freq -EXTSYM cycpbl,cycpbl2,cycpblt,cycpblt2,irqon,nexthdma -EXTSYM repackfunct,spcnumread,spchalted,spcon,headerhack,initpitch -EXTSYM SPCMultA,PHnum2writespc7110reg -EXTSYM multchange,procexecloop,vidmemch2 -EXTSYM romispal -EXTSYM scrndis,sprlefttot,sprleftpr,processsprites,cachesprites -EXTSYM NextLineStart,FlipWait,LastLineStart -EXTSYM opcjmptab -EXTSYM cpuoverptr -EXTSYM CheatOn,INTEnab,JoyAPos,JoyBPos,JoyCRead,NMIEnab,NumCheats,CurrentExecSA1 -EXTSYM ReadInputDevice,StartDrawNewGfx,VIRQLoc,cachevideo,cfield -EXTSYM cheatdata,curblank,curnmi,curypos,cycpl,doirqnext,drawline -EXTSYM exechdma,hdmadelay,intrset,newengen,oamaddr -EXTSYM oamaddrs,processmouse,resolutn,showvideo,snesmouse,starthdma -EXTSYM switchtonmi,switchtovirq,totlines,updatetimer,SA1Swap,SA1DoIRQ -EXTSYM JoyAOrig,JoyANow,JoyBOrig,JoyBNow,JoyCOrig,JoyCNow,JoyDOrig,JoyDNow -EXTSYM JoyEOrig,JoyENow,chaton,chatstrL,chatRTL,chatstrR,SA1Message -EXTSYM MultiTapStat,idledetectspc,SA1Control,SA1Enable,SA1IRQEnable -EXTSYM SPC700read,SPC700write,numspcvblleft,spc700idle,SA1Status,SA1IRQExec -EXTSYM ForceNewGfxOff,LethEnData,C4Pause,GUIQuit -EXTSYM IRAM,SA1Ptr,SA1BWPtr -EXTSYM scrnon,scaddset -EXTSYM outofmemfix,yesoutofmemory -EXTSYM ProcessMovies,MovieStop -EXTSYM ioportval,ppustatus -EXTSYM C4VBlank,dsp1teststuff -EXTSYM ReturnFromSPCStall,SPCStallSetting,cycpb268,cycpb358,HIRQSkip,scanlines -EXTSYM smallscreenon,ScreenScale -EXTSYM MainLoop,NumberOfOpcodes,SfxCLSR,SfxSCMR,SfxPOR -EXTSYM sfx128lineloc,sfx160lineloc,sfx192lineloc,sfxobjlineloc,sfxclineloc -EXTSYM PLOTJmpa,PLOTJmpb,FxTable,FxTableb,FxTablec,FxTabled -EXTSYM SfxPBR,SCBRrel,SfxSCBR,SfxCOLR,hdmaearlstart,SFXCounter -EXTSYM fxbit01,fxbit01pcal,fxbit23,fxbit23pcal,fxbit45,fxbit45pcal,fxbit67,fxbit67pcal -EXTSYM SfxSFR,nosprincr -EXTSYM cpucycle,debstop,switchtovirqdeb,debstop3,switchtonmideb -EXTSYM MovieSeekBehind -EXTSYM statefileloc,CHIPBATT,SaveSramData,BackupCVFrame,RestoreCVFrame,loadstate -EXTSYM KeyInsrtChap,KeyNextChap,KeyPrevChap,MovieInsertChapter,MovieSeekAhead,ResetDuringMovie -EXTSYM EMUPauseKey,INCRFrameKey,MovieWaiting,NoInputRead -EXTSYM copyvid +EXTSYM KeyRewind,statesaver,timer2upd,Voice0Status,UpdateDPage,MessageOn +EXTSYM MsgCount,Msgptr,StartGUI,cbitmode,debuggeron,romdata,initvideo,newgfx16b +EXTSYM cvidmode,vidbuffer,vidbufferofsa,disable65816sh,GUISaveVars,virqnodisable +EXTSYM KeySaveState,KeyLoadState,KeyQuickExit,KeyQuickLoad,KeyQuickRst +EXTSYM GUIDoReset,GUIReset,KeyOnStA,KeyOnStB,ProcessKeyOn,C4Enable,KeyQuickClock +EXTSYM KeyQuickSaveSPC,TimerEnable,IRQHack,HIRQLoc,splitflags,joinflags +EXTSYM KeyQuickSnapShot,csounddisable,videotroub,Close_File,ResetTripleBuf +EXTSYM Write_File,Output_Text,Create_File,Check_Key,Get_Key,Change_Dir +EXTSYM InitPreGame,Curtableaddr,curcyc,debugdisble,dmadata,guioff,memtabler8 +EXTSYM SetupPreGame,memtablew8,regaccessbankr8,showmenu,snesmap2,snesmmap +EXTSYM DeInitPostGame,spcPCRam,startdebugger,xp,xpb,xpc,tablead,tableadb +EXTSYM tableadc,SA1UpdateDPage,Makemode7Table,nextmenupopup,MovieProcessing +EXTSYM OSExit,DosExit,InitDir,InitDrive,createnewcfg,sfxramdata,deinitvideo +EXTSYM SFXEnable,wramdata,cycpbl,cycpblt,irqon,spcnumread,spchalted,spcon +EXTSYM multchange,vidmemch2,romispal,scrndis,sprlefttot,sprleftpr,processsprites +EXTSYM cachesprites,NextLineStart,FlipWait,LastLineStart,opcjmptab,CheatOn +EXTSYM INTEnab,JoyCRead,NMIEnab,NumCheats,CurrentExecSA1,ReadInputDevice +EXTSYM StartDrawNewGfx,VIRQLoc,cachevideo,cfield,cheatdata,curblank,curnmi +EXTSYM curypos,cycpl,doirqnext,drawline,exechdma,hdmadelay,intrset,newengen +EXTSYM oamaddr,oamaddrs,resolutn,showvideo,snesmouse,starthdma,switchtonmi +EXTSYM switchtovirq,totlines,updatetimer,SA1Swap,SA1DoIRQ,JoyAOrig,JoyANow +EXTSYM JoyBOrig,JoyBNow,JoyCOrig,JoyCNow,JoyDOrig,JoyDNow,JoyEOrig,JoyENow +EXTSYM SA1Message,MultiTapStat,idledetectspc,SA1Control,SA1Enable,SA1IRQEnable +EXTSYM SPC700read,SPC700write,numspcvblleft,spc700idle,SA1IRQExec,ForceNewGfxOff +EXTSYM LethEnData,GUIQuit,IRAM,SA1Ptr,SA1BWPtr,scrnon,scaddset,outofmemfix +EXTSYM yesoutofmemory,ProcessMovies,MovieStop,ppustatus,C4VBlank,copyvid +EXTSYM ReturnFromSPCStall,scanlines,smallscreenon,ScreenScale,MainLoop +EXTSYM NumberOfOpcodes,SfxCLSR,SfxSCMR,SfxPOR,sfx128lineloc,sfx160lineloc +EXTSYM sfx192lineloc,sfxobjlineloc,sfxclineloc,PLOTJmpa,PLOTJmpb,FxTable +EXTSYM FxTableb,FxTablec,FxTabled,SfxPBR,SCBRrel,SfxSCBR,SfxCOLR,SFXCounter +EXTSYM fxbit01,fxbit01pcal,fxbit23,fxbit23pcal,fxbit45,fxbit45pcal,fxbit67 +EXTSYM fxbit67pcal,SfxSFR,nosprincr,cpucycle,switchtovirqdeb,switchtonmideb +EXTSYM MovieSeekBehind,SaveSramData,BackupCVFrame,RestoreCVFrame,loadstate +EXTSYM KeyInsrtChap,KeyNextChap,KeyPrevChap,MovieInsertChapter,MovieSeekAhead +EXTSYM ResetDuringMovie,EMUPauseKey,INCRFrameKey,MovieWaiting,NoInputRead + %ifdef __MSDOS__ EXTSYM dssel @@ -433,13 +392,9 @@ NEWSYM start65816 mov ecx,37518 xor eax,eax rep stosd -; mov edi,[vidbufferofsb] -; mov ecx,37518 -; xor eax,eax -; rep stosd cmp byte[romloadskip],1 je near StartGUI - + NEWSYM continueprog ; clear keyboard presses mov esi,pressed @@ -498,7 +453,7 @@ NEWSYM reexecuteb inc esi dec ecx jnz .loopa -%endif +%endif reexecuteb2: cmp byte[NoSoundReinit],1 je .skippregame @@ -614,15 +569,6 @@ reexecuteb2: jne .yeskeys .nokeys -; mov edi,memtabler8+40h*4 -; mov ecx,30h -; mov eax,memaccessbankr848mb -; rep stosd -; mov edi,memtabler16+40h*4 -; mov ecx,30h -; mov eax,memaccessbankr1648mb -; rep stosd - cmp byte[nextmenupopup],1 je near showmenu cmp byte[ReturnFromSPCStall],1 @@ -688,9 +634,9 @@ reexecuteb2: jne .nomovierecording call ResetDuringMovie jmp .movieendif -.nomovierecording +.nomovierecording call GUIDoReset -.movieendif +.movieendif popad mov byte[ReturnFromSPCStall],0 jmp continueprog @@ -705,11 +651,6 @@ reexecuteb2: NEWSYM endprog call deinitvideo -; mov eax,[opcd] -; mov eax,[numinst] ;Temporary -; mov eax,[NumBRRconv] -; call printnum - call SaveSramData call createnewcfg call GUISaveVars @@ -1143,16 +1084,6 @@ NEWSYM EMUPause, db 0 NEWSYM INCRFrame, db 0 SECTION .text - -%macro C4Paused 0 -; cmp byte[C4Pause],0 -; je %%notpaused -; inc esi -; xor dh,dh -; jmp cpuover -;%%notpaused -%endmacro - NEWSYM cpuover dec esi cmp byte[HIRQNextExe],0 @@ -1383,7 +1314,6 @@ NEWSYM cpuover ; mov ax,[resolutn] ; cmp [curypos],ax ; jb .drawline - C4Paused xor ebx,ebx mov bl,[esi] inc esi @@ -1463,7 +1393,6 @@ NEWSYM cpuover jne .yesexec xor dh,dh .yesexec - C4Paused xor ebx,ebx mov bl,[esi] inc esi @@ -1541,7 +1470,7 @@ NEWSYM cpuover jz .noincrframekey xor byte[INCRFrame],1 mov byte[pressed+eax],2 -.noincrframekey +.noincrframekey test byte[pressed+1],01h jnz near exitloop test byte[pressed+59],01h @@ -1591,7 +1520,7 @@ NEWSYM cpuover jne .noframeincr xor byte[INCRFrame],1 jmp .noemupause -.noframeincr +.noframeincr cmp byte[EMUPause],1 jne .noemupause pushad @@ -1611,14 +1540,14 @@ NEWSYM cpuover mov eax,[KeyQuickRst] mov byte[pressed+eax],01h jmp near exitloop -.notreset +.notreset cmp byte[MovieProcessing],0 jne .noprocmovie cmp byte[ZMVZClose],1 jne .noprocmovie jmp OSExit -.noprocmovie - +.noprocmovie + call UpdateRewind cmp byte[snesmouse],4 @@ -1668,7 +1597,6 @@ NEWSYM cpuover mov [oamaddr],ax mov byte[nosprincr],0 call showvideo -; call dsp1teststuff xor ebx,ebx mov byte[NMIEnab],81h test byte[INTEnab],80h @@ -1696,7 +1624,6 @@ NEWSYM cpuover mov dword[nmiprevaddrh],0 mov byte[nmirept],1 mov byte[doirqnext],0 - C4Paused jmp switchtonmi .nocheck cmp byte[nmirept],10 @@ -1710,7 +1637,6 @@ NEWSYM cpuover mov [nmiprevaddrh],esi .notgreater inc byte[nmirept] - C4Paused jmp switchtonmi .nextcheck mov eax,[nmiprevaddrh] @@ -1722,14 +1648,12 @@ NEWSYM cpuover cmp esi,[nmiprevaddrh] ja .failcheck mov byte[doirqnext],0 - C4Paused jmp switchtonmi .failcheck mov byte[nmirept],0 mov dword[nmiprevaddrl],0FFFFFFFFh mov dword[nmiprevaddrh],0 mov byte[doirqnext],0 - C4Paused jmp switchtonmi .nonmi cmp byte[intrset],1 @@ -1743,7 +1667,6 @@ NEWSYM cpuover jz .nowai or byte[INTEnab],80h .nowai - C4Paused xor ebx,ebx xor ecx,ecx mov bl,[esi] @@ -1802,30 +1725,17 @@ NEWSYM cpuover mov dword[SPC700read],0 mov dword[spc700read],0 .novblch - mov byte[NMIEnab],01h - -; call cachevideo call starthdma -; cmp byte[Offby1line],1 -; je .noirqhack -; cmp byte[IRQHack],0 -; je .noirqhack -; call exechdma .noirqhack - - ; check for VIRQ/HIRQ/NMI ProcessIRQStuff - - C4Paused xor ebx,ebx mov bl,[esi] inc esi jmp execloop.startagain .virq - C4Paused test byte[INTEnab],10h jz .skiphirq cmp word[HIRQLoc],0 @@ -1885,7 +1795,6 @@ NEWSYM cpuover jmp switchtovirq .hirq - C4Paused mov byte[HIRQNextExe],0 test byte[INTEnab],10h jz .hirqnotokay @@ -2092,8 +2001,6 @@ NEWSYM UpdateSFX call UpdateCLSR ret -EXTSYM SfxAC - NEWSYM StartSFX push edx push esi @@ -2312,21 +2219,6 @@ NEWSYM execsingle jmp dword near [edi+ebx*4] .cpuover -; cmp byte[SA1Enable],0 -; je .nosa1 -; test byte[SA1Control],60h -; jnz .nosa1 -; dec esi -; call SA1Swap -; mov bl,[esi] -; inc esi -; cmp byte[SA1Status],0 -; je near .nosa1 -; mov [pdh],dh -; xor dh,dh -; jmp cpuover -;.nosa1 - cmp byte[SA1Enable],0 je near .nosa1 mov byte[cycpl],150 @@ -2470,7 +2362,6 @@ NEWSYM execsingle jne .nointrset mov byte[intrset],2 .nointrset -; mov byte[debstop3],1 jmp switchtonmideb .nonmi cmp byte[intrset],1 @@ -2527,7 +2418,6 @@ NEWSYM execsingle jne .nointrset2 mov byte[intrset],2 .nointrset2 -; mov byte[debstop3],1 jmp switchtovirqdeb diff --git a/zsnes/src/cpu/irq.asm b/zsnes/src/cpu/irq.asm index 00dd685b..90499e08 100644 --- a/zsnes/src/cpu/irq.asm +++ b/zsnes/src/cpu/irq.asm @@ -18,17 +18,13 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM flagnz,flago,flagc -EXTSYM SfxSCMR,curnmi,execloop,initaddrl,nmiv,snesmap2 -EXTSYM snesmmap,stackand,stackor,wramdata -EXTSYM xe,xirqb,xpb,xpc,xs -EXTSYM irqon,irqv -EXTSYM irqv8 -EXTSYM execloopdeb -EXTSYM nmiv8 -EXTSYM membank0r8,membank0w8 +EXTSYM flagnz,flago,flagc,SfxSCMR,curnmi,execloop,initaddrl,nmiv,snesmap2 +EXTSYM snesmmap,stackand,stackor,xe,xirqb,xpb,xpc,xs,irqon,irqv,irqv8 +EXTSYM execloopdeb,nmiv8,membank0w8 ; NMI Hardware 00FFFA,B 00FFEA,B 3 -> 000108 ; RES Hardware 00FFFC.D 00FFFC,D 1 @@ -552,6 +548,3 @@ NEWSYM NMIemulmodedeb mov [initaddrl],esi add esi,eax jmp execloopdeb - - - diff --git a/zsnes/src/cpu/memory.asm b/zsnes/src/cpu/memory.asm index 0c8eebde..a808354f 100644 --- a/zsnes/src/cpu/memory.asm +++ b/zsnes/src/cpu/memory.asm @@ -24,10 +24,9 @@ EXTSYM romdata,sramb4save,pressed,vidbuffer,oamram EXTSYM C4TransfWireFrame2 EXTSYM C4WFXVal,C4WFYVal,C4WFX2Val,C4WFY2Val,C4CalcWireFrame EXTSYM C4WFDist,C4WFScale,C4TransfWireFrame,C4WFZVal -EXTSYM debstop3 EXTSYM C41FXVal,C41FYVal,C41FAngleRes,C41FDist,C4Op1F,C4Op15 EXTSYM C41FDistVal,C4Op0D,C4Op22,SinTable,CosTable -EXTSYM SFXEnable,regptra,sfxramdata,snesmmap,wramdataa,debstop,C4Ram,C4Enable +EXTSYM SFXEnable,regptra,sfxramdata,snesmmap,wramdataa,C4Ram,C4Enable EXTSYM C4RamR,C4RamW,snesmap2,SPC7110Enable EXTSYM DSP1Read16b EXTSYM DSP1Write8b,regptwa,writeon @@ -42,7 +41,6 @@ EXTSYM DosExit,invalid,invopcd,previdmode,printhex8 EXTSYM SA1Status,IRAM,CurBWPtr,SA1RAMArea EXTSYM SA1Overflow,OBCEnable EXTSYM Sdd1Mode,Sdd1Bank,Sdd1Addr,Sdd1NewAddr,memtabler8,AddrNoIncr,SDD1BankA -EXTSYM SPC7110Entries,spc7110romptr ; C4SprScale @@ -2065,7 +2063,7 @@ C4activate: call C4Op22 popad ret - + .propulsion pushad ; 81 = 5B, 83 = 0x300 @@ -2129,7 +2127,6 @@ C4activate: popad ret .dosprites -; mov byte[debstop3],0 push eax mov eax,[C4Ram] cmp byte[eax+1F4Dh],0 @@ -2161,7 +2158,6 @@ C4activate: pop eax ret .dolines -; mov byte[debstop3],0 ret .bitmap call C4BitPlaneWave @@ -2210,7 +2206,6 @@ C4activate: ret .transform ; 7F81,4,7,9,A,B,0,1,D -; mov byte[debstop3],0 pushad ; mov eax,[C4Ram] call C4Transform @@ -2224,7 +2219,7 @@ C4activate: mov eax,[esi+1F80h] and eax,0FFFFFFh mov ebx,[esi+1F83h] - and ebx,0FFFFFFh + and ebx,0FFFFFFh imul eax,ebx mov [esi+1F80h],eax popad @@ -2235,7 +2230,7 @@ C4activate: xor ebx,ebx mov esi,[C4Ram] mov ecx,800h -.sumloop +.sumloop mov bl,byte[esi] inc esi add ax,bx @@ -2410,8 +2405,8 @@ C4RegFunction: je near C4activate ret - ;well, when 7f47 is written, copy the number of bytes specified in - ;$7f43-4 from the address at $7f40-2 to the address at $7f45-6 + ;well, when 7f47 is written, copy the number of bytes specified in + ;$7f43-4 from the address at $7f40-2 to the address at $7f45-6 ;(which is presumably in the $6000-$7fff range) NEWSYM C4ReadReg @@ -2439,7 +2434,7 @@ NEWSYM C4WriteReg mov ebx,[C4Ram] and edx,01FFFh add ebx,edx -.c4movloop +.c4movloop mov dl,byte[eax] mov [ebx],dl inc eax @@ -2860,7 +2855,7 @@ NEWSYM regaccessbankr8mp ; enter : BL = bank number, CX = address location ; leave : AL = value read -EXTSYM BWShift,BWAndAddr,BWAnd,BWRAnd,SA1BWPtr +EXTSYM BWShift,SA1BWPtr %macro BWCheck 0 cmp byte[BWShift],0 @@ -2877,7 +2872,6 @@ section .text .shift cmp byte[SA1Status],0 je .nosa1 -; mov byte[debstop3],1 ; value of 8Fh test byte[SA1Overflow+1],80h jnz .2bit @@ -3920,7 +3914,6 @@ NEWSYM memaccessspc7110r8 inc word[CurDecompSize] ret -; mov byte[debstop3],1 mov ebx,[romdata] add ebx,510000h mov al,[ebx+ecx] @@ -3935,7 +3928,6 @@ NEWSYM memaccessspc7110r8 xor ebx,ebx ret NEWSYM memaccessspc7110r16 -; mov byte[debstop3],1 mov ebx,[romdata] add ebx,510000h mov ax,[ebx+ecx] @@ -4714,14 +4706,14 @@ NEWSYM memaccessbankr8sdd1 push edx push eax push ecx - + and ecx,0FFFFh xor eax,eax - GetBankLog al + GetBankLog al shl eax, 20 mov edx, [Sdd1Bank] and edx, 0Fh - shl edx, 16 + shl edx, 16 add eax, edx add eax, [romdata] add eax, ecx @@ -4731,11 +4723,11 @@ NEWSYM memaccessbankr8sdd1 call SDD1_init pop eax popad - + pop ecx pop eax pop edx - + .decompress cmp [Sdd1Bank],ebx jne .nomoredec @@ -4757,7 +4749,7 @@ NEWSYM memaccessbankr8sdd1 ret .yesdec pushad - call SDD1_get_byte + call SDD1_get_byte mov [.tmpbyte], al popad mov al, [.tmpbyte] diff --git a/zsnes/src/cpu/regs.inc b/zsnes/src/cpu/regs.inc index ea73dc6f..c2fc511d 100644 --- a/zsnes/src/cpu/regs.inc +++ b/zsnes/src/cpu/regs.inc @@ -19,23 +19,12 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + EXTSYM SFXEnable,regptr,initsfxregsr,initSA1regs,SA1Enable,initSDD1regs -EXTSYM SPC7110Enable,initSPC7110regs,RTCEnable,RTCReset -EXTSYM curypos,cycpl,debuggeron,pdh -EXTSYM vram -EXTSYM romispal -EXTSYM reg1read,spcnumread,spchalted,spcon -EXTSYM reg2read -EXTSYM reg3read -EXTSYM reg4read -EXTSYM JoyEOrig,JoyENow -EXTSYM snesmouse -EXTSYM cycphb,joycontren,totlines -EXTSYM DosExit,invalid,numinst,previdmode,printhex,printnum - - - - +EXTSYM SPC7110Enable,initSPC7110regs,RTCEnable,RTCReset,curypos,cycpl +EXTSYM debuggeron,pdh,vram,romispal,reg1read,spcnumread,spcon,reg2read,reg3read +EXTSYM reg4read,JoyEOrig,JoyENow,snesmouse,cycphb,joycontren,totlines,DosExit +EXTSYM invalid,numinst,previdmode,printhex,printnum NEWSYM initregr ; Fill register pointer with invalid register accesses @@ -723,13 +712,13 @@ reg213Dr: ret .highv mov al,byte[latchy] - and al,0FEh + and al,0FEh or al,byte[latchy+1] mov byte[latchyr],0 ret .noreset mov al,byte[latchy] - and al,0FEh + and al,0FEh or al,byte[latchy+1] ret ; PPU Status Flag & Version number (OBJ over flags) diff --git a/zsnes/src/cpu/regs.mac b/zsnes/src/cpu/regs.mac index 2fc3879c..a37c01ba 100644 --- a/zsnes/src/cpu/regs.mac +++ b/zsnes/src/cpu/regs.mac @@ -20,11 +20,6 @@ - - - - - ;******************************************************* ; InitReg Initializes Registers ;******************************************************* @@ -101,5 +96,3 @@ mov al,bl .ny7 %endmacro - - diff --git a/zsnes/src/cpu/regsw.inc b/zsnes/src/cpu/regsw.inc index 84fc23d9..5d2139b2 100644 --- a/zsnes/src/cpu/regsw.inc +++ b/zsnes/src/cpu/regsw.inc @@ -19,25 +19,12 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + EXTSYM initsfxregsw,reg420Bw,reg420Cw,regptw,initSA1regsw,SDD1Reset -EXTSYM SPC7110Reset,RTCReset2 -EXTSYM xat,xdbt,xdt,xpbt,xst,xxt,xyt -EXTSYM DSPMem,WDSPReg0C,WDSPReg0D,WDSPReg0F,WDSPReg1C,WDSPReg1F -EXTSYM WDSPReg2C,WDSPReg2F,WDSPReg3C,WDSPReg3D,WDSPReg3F,WDSPReg4F -EXTSYM WDSPReg5F,WDSPReg6C,WDSPReg6F,WDSPReg7D,WDSPReg7F -EXTSYM debstop -EXTSYM cachesprites,curblank,processsprites,sprleftpr,sprlefttot,NextLineCache -EXTSYM vidmemch2,vidmemch4,vidmemch8,vrama -EXTSYM nmirept,sndwrit,spcRam -EXTSYM HIRQCycNext,HIRQNextExe,HIRQSkip -EXTSYM cycpb268,cycpb358,cycpbl,cycpblt,opexec268,opexec268cph -EXTSYM opexec358,opexec358cph -EXTSYM hdmarestart -EXTSYM printhex8 - - - - +EXTSYM SPC7110Reset,RTCReset2,debstop,NextLineCache,vidmemch2,vidmemch4 +EXTSYM vidmemch8,vrama,nmirept,sndwrit,spcRam,HIRQCycNext,HIRQNextExe,HIRQSkip +EXTSYM cycpb268,cycpb358,cycpbl,cycpblt,opexec268,opexec268cph,opexec358 +EXTSYM opexec358cph,hdmarestart,printhex8 SECTION .bss NEWSYM testgfxv1, resb 1 @@ -545,7 +532,7 @@ reg2108w: add word[bg2ptrd],1800h mov dword[bg2ptrx],800h mov dword[bg2ptry],1000h -.skipc +.skipc ret ; BG3 VRAM location register @@ -1184,7 +1171,7 @@ reg212Fw: ; Fixed color addition or screen addition register reg2130w: - mov [scaddset],al + mov [scaddset],al ret ; Addition/subtraction for screens, BGs, & OBJs @@ -1751,5 +1738,3 @@ SECTION .bss .invbank resb 1 .invaddr resb 1 SECTION .text - - diff --git a/zsnes/src/cpu/regsw.mac b/zsnes/src/cpu/regsw.mac index 6c7259fa..277978b4 100644 --- a/zsnes/src/cpu/regsw.mac +++ b/zsnes/src/cpu/regsw.mac @@ -19,14 +19,9 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + EXTSYM tableadc - - - - - - ;******************************************************* ; InitRegW Initializes Write Registers ;******************************************************* @@ -52,5 +47,3 @@ EXTSYM tableadc mov eax,%2 mov [edi],eax %endmacro - - diff --git a/zsnes/src/cpu/se65816.inc b/zsnes/src/cpu/se65816.inc index 64efafa9..7e58c48d 100644 --- a/zsnes/src/cpu/se65816.inc +++ b/zsnes/src/cpu/se65816.inc @@ -19,12 +19,12 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTSYM brkv,brkv8,copv,copv8,curexecstate,curnmi -EXTSYM initaddrl,membank0r16,membank0r8 -EXTSYM membank0w16,membank0w8,memtabler16,memtabler8,memtablew16,memtablew8 -EXTSYM nmistatus,regaccessbankr8,snesmap2,snesmmap,stackand,stackor +EXTSYM brkv,brkv8,copv,copv8,curexecstate,curnmi,initaddrl +EXTSYM membank0r16,membank0r8,membank0w16,membank0w8 +EXTSYM memtabler16,memtabler8,memtablew16,memtablew8 +EXTSYM regaccessbankr8,snesmap2,snesmmap,stackand,stackor EXTSYM wramdata,SA1xa,SA1xd,SA1xdb,xe,xirqb,SA1xpb,xpc,SA1xs,SA1xx,SA1xy -EXTSYM switchtovirq,cpuoverptr,debstop4,SA1RegP,nextopcode,debugsa1,skipdebugsa1 +EXTSYM debstop4,SA1RegP,nextopcode,debugsa1,skipdebugsa1 sa1debug: diff --git a/zsnes/src/cpu/spc700.asm b/zsnes/src/cpu/spc700.asm index d070f7e6..5f014936 100644 --- a/zsnes/src/cpu/spc700.asm +++ b/zsnes/src/cpu/spc700.asm @@ -18,20 +18,17 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM DSPMem,spcWptr,debstop,disablespcclr,SPCSkipXtraROM,SPC700sh -EXTSYM cycpbl,spcRptr -EXTSYM spc700read -EXTSYM dspWptr -EXTSYM curexecstate,SA1Enable,tableadb +EXTSYM DSPMem,spcWptr,disablespcclr,SPCSkipXtraROM,SPC700sh,cycpbl,spcRptr +EXTSYM spc700read,dspWptr,curexecstate,tableadb %include "cpu/regsw.mac" %include "cpu/spcdef.inc" %include "cpu/spcaddr.inc" - - ; SPC 700 Emulation by _Demo_ ; Version 2.0 @@ -95,7 +92,7 @@ NEWSYM spcNZ, ;spcCF db 0 ; The Carry Flag 1 or 254 NEWSYM spcS, dd 1FFh ; The stack pointer (always from 100 to 1FF) (added Ram) -NEWSYM spcRamDP, dd 0 ; The direct page pointer +NEWSYM spcRamDP, dd 0 ; The direct page pointer NEWSYM spcCycle, dd 0 ; The Cycle Counter NEWSYM reg1read, db 0 ; read from 65816 NEWSYM reg2read, db 0 ; read from 65816 @@ -678,7 +675,7 @@ SECTION .text mov byte [spcNZ],1 jo .setoverflowflag and byte [spcP],0BFh - jmp .skipflags + jmp .skipflags .setsignflag mov byte [spcNZ],80h jo .setoverflowflag @@ -711,7 +708,7 @@ ret mov byte [spcNZ],1 jo .setoverflowflag and byte [spcP],0BFh - jmp .skipflags + jmp .skipflags .setsignflag mov byte [spcNZ],80h jo .setoverflowflag @@ -799,7 +796,7 @@ NEWSYM Op2F ; BRA rel branch always ... ;************************************************ ; Clear/Set Flag bits ;************************************************ -; CLRP 20 1 2 clear direct page flag ..0..... +; CLRP 20 1 2 clear direct page flag ..0..... NEWSYM Op20 ; CLRP Clear direct page flag and byte [spcP],11011111b mov dword [spcRamDP],spcRam @@ -811,15 +808,15 @@ NEWSYM Op40 ; SETP Set Direct Page Flag (Also clear interupt flag?) mov dword [spcRamDP],spcRam add dword [spcRamDP],100h ret -; CLRC 60 1 2 clear carry flag .......0 +; CLRC 60 1 2 clear carry flag .......0 NEWSYM Op60 ; CLRC Clear carry flag and byte [spcP],11111110b ret -; SETC 80 1 2 set carry flag .......1 +; SETC 80 1 2 set carry flag .......1 NEWSYM Op80 ; SETC Set carry flag or byte [spcP],00000001b ret -; EI A0 1 3 set interrup enable flag .....1.. +; EI A0 1 3 set interrup enable flag .....1.. NEWSYM OpA0 ; EI set interrupt flag or byte [spcP],00000100b ret @@ -827,12 +824,12 @@ NEWSYM OpA0 ; EI set interrupt flag NEWSYM OpC0 ; DI clear interrupt flag and byte [spcP],11111011b ret -; CLRV E0 1 2 clear V and H .0..0... +; CLRV E0 1 2 clear V and H .0..0... NEWSYM OpE0 ; CLRV clear V and H and byte [spcP],10110111b ret -; NOTC ED 1 3 complement carry flag .......C -NEWSYM OpED ; NOTC complement carry flag .......C +; NOTC ED 1 3 complement carry flag .......C +NEWSYM OpED ; NOTC complement carry flag .......C xor byte [spcP],00000001b ret @@ -876,7 +873,7 @@ NEWSYM OpF1 ; TCALL F ; SET1 instructions (Verified) ;************************************************ NEWSYM Op02 ; SET1 direct page bit 0 - set1 1 + set1 1 NEWSYM Op22 ; SET1 direct page bit 1 set1 2 NEWSYM Op42 ; SET1 direct page bit 2 @@ -1366,7 +1363,7 @@ NEWSYM Op59 ; EOR (X),(Y) (X) <- (X) EOR (Y) N......Z. mov [spcNZ],al WriteByte ret - + NEWSYM Op79 ; CMP (X),(Y) (X)-(Y) N......ZC spcaddrDPbXb_bYb Op79b: cmp al, ah @@ -1657,7 +1654,7 @@ NEWSYM OpBF ; MOV A,(X)+ A <- (X) with auto inc N......Z mov byte [spcA],al mov [spcNZ],al ret - + ;************************************************ ; CMP instructions (Verified) @@ -2411,7 +2408,7 @@ NEWSYM Op4D ; PUSH X push X to stack ......... dec byte [spcS] mov [spcRam+eax],bl ret - + NEWSYM Op6D ; PUSH Y push Y to stack ......... mov eax,[spcS] mov bl,[spcY] @@ -2559,7 +2556,7 @@ NEWSYM OpFE ; DBNZ Y,rel decrement Y then JNZ ... ; Jump/Subroutine Instructions ;************************************************ -NEWSYM Op0F ; BRK software interrupt ...1.0.. +NEWSYM Op0F ; BRK software interrupt ...1.0.. inc dword[spc700read] dec ebp ret @@ -2592,7 +2589,7 @@ NEWSYM Op3F ; CALL labs subroutine call ........ xor ecx,ecx ret -NEWSYM Op4F ; PCALL upage upage call ........ +NEWSYM Op4F ; PCALL upage upage call ........ ; calculate PC mov ecx,ebp inc ecx @@ -2644,7 +2641,7 @@ NEWSYM Op7F ; ret1 return from interrupt (Restored) mov [spcP],cl test byte [spcP],80h jz .NoNeg - or byte [spcNZ],80h + or byte [spcNZ],80h .NoNeg test byte [spcP],2 jz .NoZero diff --git a/zsnes/src/cpu/stable.asm b/zsnes/src/cpu/stable.asm index 7ae6d603..a3087793 100644 --- a/zsnes/src/cpu/stable.asm +++ b/zsnes/src/cpu/stable.asm @@ -22,7 +22,7 @@ EXTSYM SA1tableA,SA1tableB,SA1tableC,SA1tableD,SA1tableE EXTSYM SA1tableF,SA1tableG,SA1tableH,SA1tablead -EXTSYM cpucycle, SA1UpdateDPage, intrset +EXTSYM cpucycle,SA1UpdateDPage,intrset %include "cpu/s65816d.inc" %include "cpu/saddress.inc" @@ -419,7 +419,7 @@ NEWSYM SA1settables mov dword[edi+0FDh*4],SA1COpFDm8nd mov dword[edi+0FEh*4],SA1COpFEm8 mov dword[edi+0FFh*4],SA1COpFFm8nd - ret + ret NEWSYM SA1settablem16 mov dword[edi+01h*4],SA1COp01m16 diff --git a/zsnes/src/cpu/tableb.asm b/zsnes/src/cpu/tableb.asm index 60ee4262..9b5a3ee3 100644 --- a/zsnes/src/cpu/tableb.asm +++ b/zsnes/src/cpu/tableb.asm @@ -18,20 +18,11 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM eramaccessbankr16,eramaccessbankr8,eramaccessbankw16 -EXTSYM eramaccessbankw8,memaccessbankr16,memaccessbankr8 -EXTSYM memaccessbankw16,memaccessbankw8 -EXTSYM mosjmptab,mosdraw10,mosdraw11,mosdraw12,mosdraw13 -EXTSYM mosdraw14,mosdraw15,mosdraw16,mosdraw2,mosdraw3 -EXTSYM mosdraw4,mosdraw5,mosdraw6,mosdraw7,mosdraw8 -EXTSYM mosdraw9,ngpalcon2b,ngpalcon4b -EXTSYM regaccessbankr16,regaccessbankw16,regaccessbankw8 -EXTSYM sramaccessbankr16,sramaccessbankr8,sramaccessbankw16 -EXTSYM sramaccessbankw8,tableAb,tableBb,tableCb,tableDb,tableEb -EXTSYM tableFb,tableGb,tableHb,wramaccessbankr16 -EXTSYM wramaccessbankr8,wramaccessbankw16,wramaccessbankw8,tableadb +EXTSYM tableAb,tableBb,tableCb,tableDb,tableEb,tableFb,tableGb,tableHb,tableadb %include "cpu/65816db.inc" %include "cpu/address.inc" @@ -443,7 +434,7 @@ settables: mov dword[edi+0FDh*4],COpFDm8nd mov dword[edi+0FEh*4],COpFEm8 mov dword[edi+0FFh*4],COpFFm8nd - ret + ret settablem16: mov dword[edi+01h*4],COp01m16 diff --git a/zsnes/src/cpu/tablec.asm b/zsnes/src/cpu/tablec.asm index 4b05fce2..bc1303b5 100644 --- a/zsnes/src/cpu/tablec.asm +++ b/zsnes/src/cpu/tablec.asm @@ -18,20 +18,12 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM eramaccessbankr16,eramaccessbankr8,eramaccessbankw16 -EXTSYM eramaccessbankw8,memaccessbankr16,memaccessbankr8 -EXTSYM memaccessbankw16,memaccessbankw8 -EXTSYM mosjmptab,mosdraw10,mosdraw11,mosdraw12,mosdraw13 -EXTSYM mosdraw14,mosdraw15,mosdraw16,mosdraw2,mosdraw3 -EXTSYM mosdraw4,mosdraw5,mosdraw6,mosdraw7,mosdraw8 -EXTSYM mosdraw9,ngpalcon2b,ngpalcon4b -EXTSYM regaccessbankr16,regaccessbankw16,regaccessbankw8 -EXTSYM sramaccessbankr16,sramaccessbankr8,sramaccessbankw16 -EXTSYM sramaccessbankw8,tableAc,tableBc,tableCc,tableDc,tableEc -EXTSYM tableFc,tableGc,tableHc,wramaccessbankr16 -EXTSYM wramaccessbankr8,wramaccessbankw16,wramaccessbankw8,tableadc +EXTSYM tableAc,tableBc,tableCc,tableDc,tableEc +EXTSYM tableFc,tableGc,tableHc,tableadc %include "cpu/65816dc.inc" %include "cpu/address.inc" @@ -443,7 +435,7 @@ settables: mov dword[edi+0FDh*4],COpFDm8nd mov dword[edi+0FEh*4],COpFEm8 mov dword[edi+0FFh*4],COpFFm8nd - ret + ret settablem16: mov dword[edi+01h*4],COp01m16 diff --git a/zsnes/src/dos/debug.asm b/zsnes/src/dos/debug.asm index 73ec64e2..76abd356 100644 --- a/zsnes/src/dos/debug.asm +++ b/zsnes/src/dos/debug.asm @@ -18,44 +18,24 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM DosExit,curblank,previdmode,start65816,wramdata,C4Ram,cnetplaybuf -EXTSYM UpdateDPage,SA1Enable,splitflags,joinflags,delay -EXTSYM Open_File,Read_File,Create_File,Write_File,Close_File,romdata -EXTSYM Check_Key,Get_Key -EXTSYM LastLog -EXTSYM fulladdtab -EXTSYM DecompArray,DecompAPtr -EXTSYM endprog -EXTSYM printhex -EXTSYM vesa2_rpos,vesa2_rfull,vesa2_rtrcl,vesa2_rtrcla -EXTSYM vesa2_gpos,vesa2_gfull,vesa2_gtrcl,vesa2_gtrcla -EXTSYM vesa2_bpos,vesa2_bfull,vesa2_btrcl,vesa2_btrcla -EXTSYM BRRBuffer,DSPMem,ResetState,PHdspsave,printnum,PHspcsave -EXTSYM ssdatst,timeron,timincr0,timincr1,timincr2,timinl0 -EXTSYM timinl1,timinl2,vram -EXTSYM spcnumread -EXTSYM Curtableaddr,fnamest,procexecloop,stateloader,tableA -EXTSYM vidmemch2 -EXTSYM statesaver -EXTSYM memtablew8,printhex8,writeon -EXTSYM curcyc,dmadata,execsingle,initaddrl,memtabler8,pdh -EXTSYM regaccessbankr8,selcB800,snesmap2,snesmmap -EXTSYM ram7f -EXTSYM StringLength -EXTSYM exiter -EXTSYM SA1Status,CurrentCPU,SA1RegP -EXTSYM curypos,xa,xd,xdb,xe,xp,xpb,xpc,xs,xx,xy -EXTSYM SA1xpb,SA1xpc,SA1xa,SA1xx,SA1xy,SA1xd,SA1xdb,SA1xs -EXTSYM cycpbl,debugbuf,soundon,spcA,spcNZ,spcP,spcPCRam -EXTSYM spcRam,spcRamDP,spcS,spcX,spcY -EXTSYM CurPtrVal,SPC7110Enable -EXTSYM debugloadstate +EXTSYM DosExit,curblank,start65816,UpdateDPage,splitflags,joinflags,delay +EXTSYM Open_File,Read_File,Create_File,Write_File,Close_File,Check_Key,Get_Key +EXTSYM LastLog,endprog,printhex,vesa2_rfull,vesa2_rtrcl,vesa2_gfull,vesa2_gtrcl +EXTSYM vesa2_bfull,vesa2_btrcl,BRRBuffer,DSPMem,ResetState,PHdspsave,printnum +EXTSYM PHspcsave,ssdatst,timeron,timincr0,timincr1,timincr2,timinl0,timinl1 +EXTSYM timinl2,vram,spcnumread,Curtableaddr,statesaver,memtablew8,printhex8 +EXTSYM writeon,curcyc,dmadata,execsingle,initaddrl,memtabler8,pdh,debugloadstate +EXTSYM regaccessbankr8,selcB800,snesmap2,snesmmap,ram7f,StringLength,exiter +EXTSYM CurrentCPU,SA1RegP,curypos,xa,xd,xdb,xe,xp,xpb,xpc,xs,xx,xy,SA1xpb,SA1xpc +EXTSYM SA1xa,SA1xx,SA1xy,SA1xd,SA1xdb,SA1xs,cycpbl,debugbuf,soundon,spcA,spcNZ +EXTSYM spcP,spcPCRam,spcRam,spcS,spcX,spcY ; debstop at regsw.asm 2118/2119 - NEWSYM startdebugger mov byte[curblank],40h mov byte[debuggeron],1 @@ -683,7 +663,7 @@ NEWSYM modify shl dx,4 mov al,[numstr+ebx] inc ebx - call converthex2num + call converthex2num add dx,ax dec cl jnz .nextnum @@ -860,7 +840,7 @@ NEWSYM SPCmodify shl dx,4 mov al,[numstr+ebx] inc ebx - call converthex2num + call converthex2num add dx,ax dec cl jnz .nextnum @@ -1005,7 +985,7 @@ NEWSYM SPCbreakpoint shl dx,4 mov al,[numstr+ebx] inc ebx - call converthex2num + call converthex2num add dx,ax dec cl jnz .nextnum @@ -1129,7 +1109,7 @@ NEWSYM breakpoint shl dx,4 mov al,[numstr+ebx] inc ebx - call converthex2num + call converthex2num add dx,ax dec cl jnz .nextnum @@ -2182,7 +2162,7 @@ NEWSYM startdisplay mov ah,al sub ah,40 jmp .loopprint -.doneprint +.doneprint ret SECTION .data @@ -2628,7 +2608,7 @@ SECTION .text cmp ah,19 jne .check20 jmp .out19 -.check20 +.check20 cmp ah,20 jne .check21 jmp .out20 @@ -2679,7 +2659,7 @@ SECTION .text %%usedbr %endmacro -.out0 ; +.out0 ; mov al,' ' mov ecx,19 rep stosb @@ -4354,5 +4334,3 @@ NEWSYM ArgumentTable ; F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF db 14,01,02,03,15,16,17,18,35,64,09,65,31,66,67,00 SECTION .text - - diff --git a/zsnes/src/dos/dosintrf.asm b/zsnes/src/dos/dosintrf.asm index 4d3fa2f0..68ad771d 100644 --- a/zsnes/src/dos/dosintrf.asm +++ b/zsnes/src/dos/dosintrf.asm @@ -18,62 +18,30 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM selcA000,selcB800,selc0040,previdmode,DosExit,ZFileSystemInit -EXTSYM getcmdline,GUIRestoreVars,getcfg,obtaindir,ConvertJoyMap,tparms -EXTSYM preparedir,getblaster,Force8b,SBHDMA -EXTSYM ccmdline -EXTSYM InitDir,InitDrive -EXTSYM DOScreatenewcfg,ExecGUISaveVars -EXTSYM allocptr -EXTSYM ZOpenFile,ZOpenMode,CurrentHandle,ZFileSeek,ZOpenFileName,ZFileSeekMode -EXTSYM ZFileSeekPos,ZFileSeekHandle -EXTSYM ZFileWriteHandle,ZFileWriteSize,ZFileWriteBlock,ZFileWrite -EXTSYM ZFileReadHandle,ZFileReadSize,ZFileReadBlock,ZFileRead -EXTSYM ZFileDelFName,ZFileDelete -EXTSYM ZCloseFileHandle,ZCloseFile -EXTSYM ZFileTellHandle,ZFileTell -EXTSYM GetTime -EXTSYM GetDate -EXTSYM ZFFTimeFName,ZFTime,ZFDate,ZFileGetFTime -EXTSYM pressed -EXTSYM ZFileMKDir,ZFileCHDir,ZFileRMDir,CHPath,MKPath,RMPath -EXTSYM ZFileGetDir,DriveNumber,DirName -EXTSYM DTALoc,DTALocPos,ZFileFindATTRIB,ZFileFindFirst,ZFileFindNext,ZFileFindPATH -EXTSYM oldhand9s,oldhand9o,interror,oldhand8s,oldhand8o,oldhandSBs,oldhandSBo -EXTSYM NoSoundReinit,soundon,DSPDisable,SBInt,NoSoundReinit,PICMaskP,SBIrq -EXTSYM SBHandler,InitSB,handler8h,handler9h,init60hz,Interror,init18_2hz,DeInitSPC -EXTSYM GUIinit36_4hz,GUIoldhand9s,GUIoldhand9o,GUIoldhand8s,GUIoldhand8o -EXTSYM GUIhandler9h,GUIhandler8h,GUIinit18_2hz -EXTSYM dosmakepal -EXTSYM doschangepal -EXTSYM dosinitvideo, dosinitvideo2 -EXTSYM DosDrawScreen,dosvidpastecopyscr,cvidmode,vidbuffer,GUICPC,DosDrawScreenB -EXTSYM DOSClearScreen -EXTSYM DosUpdateDevices -EXTSYM DOSJoyRead -EXTSYM pl1contrl,pl2contrl,pl3contrl,pl4contrl,pl5contrl -EXTSYM BufferSizeW,BufferSizeB,ProcessSoundBuffer -EXTSYM TCPIPPortNum -EXTSYM V8Mode,GrayscaleMode -; EXTSYM InitTCP -; EXTSYM StartServer -; EXTSYM InitTCP -EXTSYM TCPIPAddress -; EXTSYM ConnectServer -; EXTSYM SendData -; EXTSYM GetData -; EXTSYM DeInitTCP -; EXTSYM StopServer -; EXTSYM Disconnect - - - - - - - +EXTSYM selcA000,selcB800,selc0040,previdmode,DosExit,ZFileSystemInit,getcmdline +EXTSYM GUIRestoreVars,getcfg,obtaindir,ConvertJoyMap,tparms,preparedir,V8Mode +EXTSYM getblaster,Force8b,SBHDMA,ccmdline,InitDir,InitDrive,DOScreatenewcfg +EXTSYM ExecGUISaveVars,allocptr,ZOpenFile,ZOpenMode,CurrentHandle,ZFileSeek +EXTSYM ZOpenFileName,ZFileSeekMode,ZFileSeekPos,ZFileSeekHandle,ZFileWriteHandle +EXTSYM ZFileWriteSize,ZFileWriteBlock,ZFileWrite,ZFileReadHandle,ZFileReadSize +EXTSYM ZFileReadBlock,ZFileRead,ZFileDelFName,ZFileDelete,ZCloseFileHandle +EXTSYM ZCloseFile,ZFileTellHandle,ZFileTell,GetTime,GetDate,ZFFTimeFName,ZFTime +EXTSYM ZFDate,ZFileGetFTime,ZFileMKDir,ZFileCHDir,ZFileRMDir,CHPath,MKPath +EXTSYM RMPath,ZFileGetDir,DirName,pressed,DTALoc,DTALocPos,ZFileFindATTRIB +EXTSYM ZFileFindFirst,ZFileFindNext,ZFileFindPATH,oldhand9s,oldhand9o,interror +EXTSYM oldhand8s,oldhand8o,oldhandSBs,oldhandSBo,NoSoundReinit,soundon +EXTSYM DSPDisable,SBInt,NoSoundReinit,PICMaskP,SBIrq,SBHandler,InitSB,handler8h +EXTSYM handler9h,init60hz,Interror,init18_2hz,DeInitSPC,GUIinit36_4hz +EXTSYM GUIoldhand9s,GUIoldhand9o,GUIoldhand8s,GUIoldhand8o,GUIhandler9h +EXTSYM GUIhandler8h,GUIinit18_2hz,dosmakepal,doschangepal,dosinitvideo +EXTSYM dosinitvideo2,DosDrawScreen,cvidmode,vidbuffer,GUICPC,DosDrawScreenB +EXTSYM DOSClearScreen,DosUpdateDevices,DOSJoyRead,pl1contrl,pl2contrl,pl3contrl +EXTSYM pl4contrl,pl5contrl,BufferSizeW,BufferSizeB,ProcessSoundBuffer +EXTSYM GrayscaleMode ; NOTE: For timing, Game60hzcall should be called at 50hz or 60hz (depending ; on romispal) after a call to InitPreGame and before DeInitPostGame are @@ -678,7 +646,7 @@ NEWSYM Output_Text ; Output character (ah=02h) or string (ah=09h) ; Delay for CX/65536 of a second NEWSYM delay - in al,61h + in al,61h and al,10h mov ah,al .loopa @@ -1809,5 +1777,3 @@ NEWSYM GetTimeInSeconds div ebx pop es ret - - diff --git a/zsnes/src/dos/initvid.asm b/zsnes/src/dos/initvid.asm index 2986d8dc..7138d166 100644 --- a/zsnes/src/dos/initvid.asm +++ b/zsnes/src/dos/initvid.asm @@ -18,12 +18,12 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM AddSub256,InitVesa2,cbitmode,cvidmode,makepal -EXTSYM scanlines,selcA000,vesa2_bits,vesa2_bpos,vesa2_clbit -EXTSYM vesa2_gpos,vesa2_rpos,vesa2_usbit,vesa2_x,vesa2_y -EXTSYM vesa2selec,InitVesa12,videotroub +EXTSYM InitVesa2,cbitmode,cvidmode,makepal,scanlines,selcA000,vesa2_bits +EXTSYM vesa2_x,vesa2_y,vesa2selec,InitVesa12,videotroub %ifdef __MSDOS__ EXTSYM cscopymodeq,cscopymodex @@ -131,10 +131,10 @@ NEWSYM dosinitvideo cmp byte[scanlines],1 je near .scanlines SetVGAMode .Mode256x256c - jmp .done + jmp .done .scanlines SetVGAMode .Mode256x256cs - jmp .done + jmp .done .done call cscopymodeq %endif @@ -175,7 +175,7 @@ NEWSYM dosinitvideo cmp byte[scanlines],1 je near .scanlines2 SetVGAMode .Mode320x256 - jmp .done2 + jmp .done2 .scanlines2 SetVGAMode .Mode320x256s jmp .done2 @@ -558,7 +558,7 @@ NEWSYM dosinitvideo mov ebx,9 xor edx,edx .loopbanks - + xor edi,edi mov ecx,16384 .loopi @@ -572,5 +572,3 @@ NEWSYM dosinitvideo mov ecx,6144 pop es ret - - diff --git a/zsnes/src/dos/joy.asm b/zsnes/src/dos/joy.asm index 49ccc97d..4844d646 100644 --- a/zsnes/src/dos/joy.asm +++ b/zsnes/src/dos/joy.asm @@ -18,20 +18,14 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM JoyAC,JoyBC,JoyLC,JoyRC,JoySelec,JoyStart,JoyXC,JoyYC,WhichSW,_SW1 -EXTSYM _SW2,_readSideWinder,delay,numjoy,pl1Ak,pl1Bk,pl1Lk,pl1Rk,pl1Xk -EXTSYM pl1Yk,pl1contrl,pl1downk,pl1leftk,pl1rightk,pl1selk,pl1startk -EXTSYM pl1upk,pl2Ak,pl2Bk,pl2Lk,pl2Rk,pl2Xk,pl2Yk,pl2contrl,pl2downk -EXTSYM pl2leftk,pl2rightk,pl2selk,pl2startk,pl2upk,_SWCount,_SW3,_SW4 -EXTSYM pl3Ak,pl3Bk,pl3Lk,pl3Rk,pl3Xk,pl1p209,pl2p209,pl3p209,pl4p209 -EXTSYM pl3Yk,pl3contrl,pl3downk,pl3leftk,pl3rightk,pl3selk,pl3startk -EXTSYM pl3upk,pl4Ak,pl4Bk,pl4Lk,pl4Rk,pl4Xk,pl4Yk,pl4contrl,pl4downk -EXTSYM pl4leftk,pl4rightk,pl4selk,pl4startk,pl4upk,pressed,read_gpp -EXTSYM pl5contrl,pl5p209 -EXTSYM CalibXmin, CalibYmin, CalibXmax, CalibYmax, CalibXmin209 -EXTSYM CalibYmin209, CalibXmax209, CalibYmax209 +EXTSYM WhichSW,_SW1,_SW2,_readSideWinder,_SWCount,_SW3,_SW4,delay,pl1contrl +EXTSYM pl2contrl,pl1p209,pl2p209,pl3p209,pl4p209,pl3contrl,pl4contrl,pressed +EXTSYM read_gpp,pl5contrl,pl5p209,CalibXmin,CalibYmin,CalibXmax,CalibYmax +EXTSYM CalibXmin209,CalibYmin209,CalibXmax209,CalibYmax209 SECTION .data NEWSYM JoyAltrn2, db 2 @@ -1678,7 +1672,5 @@ NEWSYM SetInputDevice209 mov dword[eax+44],1cBh ret .nopp5 - .exit ret - diff --git a/zsnes/src/dos/modemrtn.asm b/zsnes/src/dos/modemrtn.asm index 24219f6d..48f7bc8e 100644 --- a/zsnes/src/dos/modemrtn.asm +++ b/zsnes/src/dos/modemrtn.asm @@ -18,13 +18,11 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM ComNum, ComIRQ, BaudRate -EXTSYM FossilUse -EXTSYM GUIinit18_2hz,GUIinit36_4hz -EXTSYM GUIMenuItem -EXTSYM delay +EXTSYM ComNum,ComIRQ,BaudRate,FossilUse,delay %ifdef __MSDOS__ EXTSYM dssel @@ -453,5 +451,3 @@ NEWSYM DeInitModemC out dx,al sti ret - - diff --git a/zsnes/src/dos/vesa12.asm b/zsnes/src/dos/vesa12.asm index 42da997e..1615d403 100644 --- a/zsnes/src/dos/vesa12.asm +++ b/zsnes/src/dos/vesa12.asm @@ -18,18 +18,16 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" EXTSYM vesa2_usbit,vesa2_clbit,vesa2_clbitng,vesa2_clbitng2,vesa2_clbitng3 -EXTSYM vesa2_x,vesa2_y,vesa2selec,vesa2_bits,vesa2_rpos,vesa2_gpos,vesa2_bpos -EXTSYM vesa2_rposng,vesa2_gposng,vesa2_bposng,vesa2_rtrcl,vesa2_rtrcla,vesa2_rfull +EXTSYM vesa2_x,vesa2_y,vesa2_bits,vesa2_rpos,vesa2_gpos,vesa2_bpos,vesa2_rposng +EXTSYM vesa2_gposng,vesa2_bposng,vesa2_rtrcl,vesa2_rtrcla,vesa2_rfull,InitDrive EXTSYM vesa2_gtrcl,vesa2_gtrcla,vesa2_gfull,vesa2_btrcl,vesa2_btrcla,vesa2_bfull -EXTSYM vesa2red10,dcolortab,videotroub,Change_Dir -EXTSYM genfulladdtab,genfulladdtabng,DosExit -EXTSYM InitDrive,gotoroot,InitDir,fulladdtab -; EXTSYM printnum,DosExit -EXTSYM LFBpointer,noblocks,bytesperscanline,vesamode,VESAmodelist - +EXTSYM vesa2red10,videotroub,Change_Dir,genfulladdtab,DosExit,InitDir,noblocks +EXTSYM bytesperscanline,vesamode,VESAmodelist ; add 0214h video mode @@ -93,7 +91,7 @@ NEWSYM InitVesa12 mov edi,RMREGS mov dword[fs:0],'VBE1' ; Request VBE 2.0 info mov dword[RMREGS.eax],4f00h - mov word[RMREGS.es],ax ; Real mode segment of DOS + mov word[RMREGS.es],ax ; Real mode segment of DOS ; buffer mov dword[RMREGS.edi],0 @@ -534,7 +532,7 @@ RMREGS .eax resd 1 .flags resw 1 .es resw 1 -.ds resw 1 +.ds resw 1 .fs resw 1 .gs resw 1 .ip resw 1 @@ -542,5 +540,3 @@ RMREGS .sp resw 1 .ss resw 1 .spare times 20 resd 1 - - diff --git a/zsnes/src/dos/vesa2.asm b/zsnes/src/dos/vesa2.asm index 158b68ca..5094a274 100644 --- a/zsnes/src/dos/vesa2.asm +++ b/zsnes/src/dos/vesa2.asm @@ -18,18 +18,13 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM printnum -EXTSYM DosExit,ZSNESBase,Change_Dir,PrintStr,newengen -EXTSYM HalfTransB,HalfTransC -EXTSYM InitDrive,gotoroot,InitDir,fulladdtab -; EXTSYM printhex -; EXTSYM printhex -EXTSYM UnusedBit,HalfTrans,UnusedBitXor,ngrposng,nggposng,ngbposng -; EXTSYM printhex - -EXTSYM Init_2xSaIMMX +EXTSYM DosExit,ZSNESBase,Change_Dir,PrintStr,newengen,HalfTransB,HalfTransC +EXTSYM InitDrive,InitDir,fulladdtab,UnusedBit,HalfTrans,UnusedBitXor +EXTSYM ngrposng,nggposng,ngbposng,Init_2xSaIMMX SECTION .data ; add 0214h video mode @@ -197,7 +192,7 @@ NEWSYM InitVesa2 mov edi,RMREGS mov dword[fs:0],'VBE2' ; Request VBE 2.0 info mov dword[RMREGS.eax],4f00h - mov word[RMREGS.es],ax ; Real mode segment of DOS + mov word[RMREGS.es],ax ; Real mode segment of DOS ; buffer mov dword[RMREGS.edi],0 @@ -213,7 +208,7 @@ NEWSYM InitVesa2 jnc .int1ok mov edx,.noint1message jmp VESA2EXITTODOS - + .int1ok ; Real mode int successful!!! mov eax,[RMREGS.eax] @@ -227,7 +222,7 @@ NEWSYM InitVesa2 jz .vesadetected ; Check for presence of vesa mov edx,.novesamessage jmp VESA2EXITTODOS - + .vesadetected cmp word[fs:0004],200h @@ -324,27 +319,6 @@ NEWSYM InitVesa2 test word[fs:0000h],1b jz near .loopcheckmodes ; If mode is not available -; -; xor eax,eax -; mov ax,[fs:12h] -; call printnum -; mov ah,02h -; mov dl,'x' -; int 21h -; mov ax,[fs:14h] -; call printnum -; mov ah,02h -; mov dl,'x' -; int 21h -; xor ah,ah -; mov al,[fs:19h] -; call printnum -; mov ah,02h -; mov dl,13 -; int 21h -; mov dl,10 -; int 21h - mov eax,[vesa2_x] cmp [fs:12h],ax ; Check that the height matches jnz near .loopcheckmodes @@ -355,29 +329,13 @@ NEWSYM InitVesa2 cmp [fs:19h],al ; Check bits/pixel for match jnz near .loopcheckmodes -; mov ax,3 -; int 10h -; xor eax,eax -; mov ax,[fs:0h] -; call printnum -; jmp DosExit - mov byte[TripBufAvail],1 test word[fs:0000h],400h jz .notbuf mov byte[TripBufAvail],1 .notbuf - -; jz .notvesa3 -; xor eax,eax -; mov ax,[fs:0000h] -; call printhex -; jmp DosExit .notvesa3 -; mov ah,07h -; int 21h - ; D0 = Window supported ; 0 = Window is not supported ; 1 = Window is supported @@ -407,43 +365,39 @@ NEWSYM InitVesa2 mov ax,[ebp] mov [vesamode],ax ; Store vesa 2 mode number -; call printhex -; jmp DosExit - - mov ax,[fs:10h] - mov byte[vesa2red10],0 - mov byte[vesa2_rposng],11 - mov byte[vesa2_gposng],6 - mov byte[vesa2_bposng],0 - mov dword[vesa2_clbitng],1111011111011110b - mov dword[vesa2_clbitng2],11110111110111101111011111011110b - mov dword[vesa2_clbitng2+4],11110111110111101111011111011110b - mov dword[vesa2_clbitng3],0111101111101111b - mov [bytesperscanline],ax ; Store bytes per scan line - cmp byte[fs:20h],10 - jne near .nored10 - mov byte[fs:20h],11 - mov byte[vesa2red10],1 - mov byte[vesa2_rposng],10 - mov byte[vesa2_gposng],5 - mov dword[vesa2_clbitng],0111101111011110b - mov dword[vesa2_clbitng2],01111011110111100111101111011110b - mov dword[vesa2_clbitng2+4],01111011110111100111101111011110b - mov dword[vesa2_clbitng3],0011110111101111b - - mov dword[UnusedBit], 10000000000000001000000000000000b - mov dword[HalfTrans], 01111011110111100111101111011110b - mov dword[UnusedBitXor], 01111111111111110111111111111111b - mov dword[UnusedBit+4], 10000000000000001000000000000000b - mov dword[HalfTrans+4], 01111011110111100111101111011110b - mov dword[UnusedBitXor+4],01111111111111110111111111111111b - mov dword[HalfTransB], 00000100001000010000010000100001b - mov dword[HalfTransB+4], 00000100001000010000010000100001b - mov dword[HalfTransC], 01111011110111100111101111011110b - mov dword[HalfTransC+4], 01111011110111100111101111011110b - mov dword[ngrposng],10 - mov dword[nggposng],5 - mov dword[ngbposng],0 + mov ax,[fs:10h] + mov byte[vesa2red10],0 + mov byte[vesa2_rposng],11 + mov byte[vesa2_gposng],6 + mov byte[vesa2_bposng],0 + mov dword[vesa2_clbitng],1111011111011110b + mov dword[vesa2_clbitng2],11110111110111101111011111011110b + mov dword[vesa2_clbitng2+4],11110111110111101111011111011110b + mov dword[vesa2_clbitng3],0111101111101111b + mov [bytesperscanline],ax ; Store bytes per scan line + cmp byte[fs:20h],10 + jne near .nored10 + mov byte[fs:20h],11 + mov byte[vesa2red10],1 + mov byte[vesa2_rposng],10 + mov byte[vesa2_gposng],5 + mov dword[vesa2_clbitng],0111101111011110b + mov dword[vesa2_clbitng2],01111011110111100111101111011110b + mov dword[vesa2_clbitng2+4],01111011110111100111101111011110b + mov dword[vesa2_clbitng3],0011110111101111b + mov dword[UnusedBit], 10000000000000001000000000000000b + mov dword[HalfTrans], 01111011110111100111101111011110b + mov dword[UnusedBitXor], 01111111111111110111111111111111b + mov dword[UnusedBit+4], 10000000000000001000000000000000b + mov dword[HalfTrans+4], 01111011110111100111101111011110b + mov dword[UnusedBitXor+4],01111111111111110111111111111111b + mov dword[HalfTransB], 00000100001000010000010000100001b + mov dword[HalfTransB+4], 00000100001000010000010000100001b + mov dword[HalfTransC], 01111011110111100111101111011110b + mov dword[HalfTransC+4], 01111011110111100111101111011110b + mov dword[ngrposng],10 + mov dword[nggposng],5 + mov dword[ngbposng],0 .nored10 ; fix up bit lengths @@ -654,7 +608,7 @@ NEWSYM InitVesa2 jz .modesetok mov edx,.unableset jmp VESA2EXITTODOS ; Failure!!! - + .modesetok ;******************************* EXTRA BIT **************************** @@ -796,7 +750,7 @@ NEWSYM RMREGS .flags resw 1 .es resw 1 -.ds resw 1 +.ds resw 1 .fs resw 1 .gs resw 1 .ip resw 1 diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index fc1e46a6..9c60dc0f 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -67,122 +67,55 @@ %include "macros.mac" -EXTSYM curblank,vidpastecopyscr,frameskip,newengen,vsyncon -EXTSYM cvidmode,antienab, smallscreenon, smallscreence -EXTSYM soundon,StereoSound,SoundQuality,MusicRelVol -EXTSYM endprog,continueprog,spcBuffera,spcRamcmp,cbitmode,makepal -EXTSYM t1cc,LoadDir,LoadDrive,SRAMDir,SRAMChdir,SRAMDirCurDir,initsnes -EXTSYM fname,makeextension,sram,loadfileGUI,GUIloadfailed,romloadskip -EXTSYM SetupROM,romdata,ForcePal,ramsize,ramsizeand,curromsize -EXTSYM romispal,totlines,cfgloadsdir,init65816,procexecloop -EXTSYM spcRam,spcPCRam,spcS,spcRamDP,spcA,spcX,spcY,spcP,spcNZ -EXTSYM Voice0Status,Voice1Status,Voice2Status,Voice3Status,Voice4Status -EXTSYM Voice5Status,Voice6Status,Voice7Status,romtype -EXTSYM ClearScreen,statesaver,loadstate2,vidbuffer,ASCII2Font,hirestiledat -EXTSYM showallext,ROMTypeNOTFound,scanlines,statefileloc,pl1selk,pl2selk -EXTSYM fnamest,sprlefttot,spritetablea,fnames,CHIPBATT,sfxramdata,setaramdata,SETAEnable,cgram,srama -EXTSYM tempco0,prevbright,maxbr,prevpal,coladdr,coladdg,coladdb -EXTSYM scaddtype,ScreenScale,vesa2red10,initvideo2,initvideo,pressed,UpdateDevices -EXTSYM memtabler8,memtablew8,writeon,pl1contrl,pl2contrl,JoyRead,SetInputDevice -EXTSYM SetInputDevice209,FPSOn,RevStereo,WDSPReg0C,WDSPReg1C,WDSPReg2C -EXTSYM WDSPReg3C,pl12s34,resolutn,delay,chaton,chatstrL,chatLpos,chatstrR,chatRTL -EXTSYM InitDrive,InitDir,createnewcfg,Makemode7Table,SnowOn -EXTSYM vidbufferofsb,ZipSupport,wramdata,bgfixer,cfgnewgfx -EXTSYM cfgdontsave,videotroub,Open_File,Read_File,Close_File,Write_File,Create_File -EXTSYM File_Seek,File_Seek_End,Open_File_Write,Get_Date,Check_Key,Get_Key -EXTSYM Change_Drive,Change_Single_Dir,Change_Dir,Get_Dir,Get_First_Entry -EXTSYM Get_Next_Entry,Set_DTA_Address,timer2upd,curexecstate,TripBufAvail -EXTSYM nmiprevaddrl,nmiprevaddrh,nmirept,nmiprevline,nmistatus,spcnumread,spchalted -EXTSYM versionNumber -EXTSYM NextLineCache,VidStartDraw,ResetTripleBuf,GUINGVID -EXTSYM ScanCodeListing,AdjustFrequency,GUISaveVars,Init_Mouse -EXTSYM Get_MouseData,Set_MouseXMax,Set_MouseYMax,Set_MousePosition,Get_MousePositionDisplacement -EXTSYM GUIInit,GUIDeInit,SpecialLine -EXTSYM DrawWater,DrawBurn,RemoteDisconnect,loadstate3 -EXTSYM SA1Enable,SA1RAMArea -EXTSYM GUIFName,GUICName -EXTSYM printnum -EXTSYM MMXCheck -EXTSYM SaveCombFile -EXTSYM valuea -EXTSYM showinfogui -EXTSYM BackupCVFrame, tempedx, tempesi, tempedi, tempebp -EXTSYM Wait1SecWin,ClearUDPStuff -EXTSYM DisableSUDPPacket,EnableSUDPPacket -EXTSYM BackStateSize -EXTSYM ResetExecStuff -EXTSYM RestoreCVFrame -EXTSYM clearSPCRAM -EXTSYM CurRecv,BackState,CBackupPos,PBackupPos,PPValue,DPValue -EXTSYM LatencyV -EXTSYM LatencyRecvPtr,LatencySendPtr -EXTSYM NumofBanks -EXTSYM WinErrorA,WinErrorB,WinErrorC -EXTSYM ErrorPointer -EXTSYM MessageOn,Msgptr,MsgCount -EXTSYM PJoyAOrig,PJoyBOrig,PJoyCOrig,PJoyDOrig,PJoyEOrig -EXTSYM GetHostName,GetTime -EXTSYM vramaddr,curypos,ClearRegs,vram,sndrot,regsbackup -EXTSYM GetScreen,GUITBWVID -EXTSYM Clear2xSaIBuffer -EXTSYM MouseWindow -EXTSYM GotoHomepage -EXTSYM cfgcvidmode, ExitFromGUI -EXTSYM GUIWFVID -EXTSYM cfgvsync,newgfx16b -EXTSYM cfgscanline,cfginterp -EXTSYM NumVideoModes -EXTSYM cfgvolume, MusicVol, DSPMem -EXTSYM NumInputDevices,GUIInputNames -EXTSYM GUIVideoModeNames -EXTSYM GUISLVID,GUIINVID,GUIEAVID,GUIIEVID,GUIFSVID,GUIWSVID -EXTSYM GUISSVID,GUITBVID,GUIHSVID,GUI2xVID,GUII2VID,GUIM7VID -EXTSYM cfgsoundon,cfgSoundQuality,cfgStereoSound,cfgforce8b -EXTSYM Force8b,convertnum,converthex -EXTSYM per2exec -EXTSYM hostname -EXTSYM UDPConfig -EXTSYM snesmouse -EXTSYM pl1upk,pl1downk,pl1leftk,pl1rightk,pl1Lk,pl1Rk,pl1Ak,pl1Bk -EXTSYM outofmemfix,yesoutofmemory -EXTSYM JoyX,JoyY,JoyMinX,JoyMinY,JoyMaxX,JoyMaxY,JoyMinX209,JoyMaxX209 -EXTSYM JoyMinY209,JoyMaxY209,GetCoords,GetCoords3 -EXTSYM MultiTap,SFXEnable -EXTSYM RestoreSystemVars -EXTSYM TCPIPStartServer -EXTSYM TCPIPInitConnectToServer -EXTSYM TCPIPWaitForConnection -EXTSYM tcperr -EXTSYM TCPIPConnectToServer -EXTSYM TCPIPConnectToServerW -EXTSYM selc0040 -EXTSYM TCPIPPreparePacket -EXTSYM TCPIPSendPacket,TCPIPSendPacketUDP -EXTSYM TCPIPDisconnect,TCPIPStatus -EXTSYM TCPIPStoreByte -EXTSYM TCPIPGetByte,GUIBIFIL -EXTSYM GUIHQ2X -EXTSYM GUIHQ3X -EXTSYM GUIHQ4X -EXTSYM firstsaveinc -EXTSYM nssdip1,nssdip2,nssdip3,nssdip4,nssdip5,nssdip6 -EXTSYM SkipMovie,MovieStop,MoviePlay,MovieRecord,MovieInsertChapter -EXTSYM MovieSeekAhead,MovieSeekBehind,ResetDuringMovie +EXTSYM curblank,vidpastecopyscr,frameskip,newengen,vsyncon,cvidmode,antienab +EXTSYM smallscreenon,soundon,StereoSound,SoundQuality,MusicRelVol,endprog +EXTSYM continueprog,spcBuffera,spcRamcmp,cbitmode,makepal,t1cc,LoadDir,LoadDrive +EXTSYM SRAMDir,SRAMChdir,SRAMDirCurDir,initsnes,fname,makeextension,sram +EXTSYM loadfileGUI,GUIloadfailed,romloadskip,SetupROM,romdata,ramsize +EXTSYM cfgloadsdir,init65816,procexecloop,spcRam,spcPCRam,spcS,spcRamDP,spcA +EXTSYM spcX,spcY,spcP,spcNZ,Voice0Status,Voice1Status,Voice2Status,Voice3Status +EXTSYM Voice4Status,Voice5Status,Voice6Status,Voice7Status,ClearScreen +EXTSYM statesaver,loadstate2,vidbuffer,ASCII2Font,hirestiledat,showallext +EXTSYM scanlines,statefileloc,pl1selk,pl2selk,fnamest,sprlefttot,spritetablea +EXTSYM fnames,CHIPBATT,sfxramdata,setaramdata,SETAEnable,cgram,srama,tempco0 +EXTSYM prevbright,maxbr,prevpal,coladdr,coladdg,coladdb,scaddtype,ScreenScale +EXTSYM vesa2red10,initvideo2,initvideo,pressed,UpdateDevices,memtabler8 +EXTSYM memtablew8,writeon,pl1contrl,pl2contrl,JoyRead,SetInputDevice,delay +EXTSYM SetInputDevice209,FPSOn,RevStereo,WDSPReg0C,WDSPReg1C,pl12s34,resolutn +EXTSYM InitDrive,InitDir,createnewcfg,Makemode7Table,vidbufferofsb,ZipSupport +EXTSYM wramdata,bgfixer,cfgnewgfx,cfgdontsave,videotroub,Open_File,Read_File +EXTSYM Close_File,Write_File,Create_File,File_Seek,File_Seek_End,Get_Date +EXTSYM Check_Key,Get_Key,Change_Drive,Change_Single_Dir,Change_Dir,Get_Dir +EXTSYM Get_First_Entry,Get_Next_Entry,Set_DTA_Address,curexecstate,TripBufAvail +EXTSYM nmiprevaddrl,nmiprevaddrh,nmirept,nmiprevline,nmistatus,spcnumread +EXTSYM spchalted,NextLineCache,ResetTripleBuf,GUINGVID,ScanCodeListing +EXTSYM AdjustFrequency,GUISaveVars,Init_Mouse,Get_MouseData,Set_MouseXMax +EXTSYM Set_MouseYMax,Set_MousePosition,Get_MousePositionDisplacement,GUIInit +EXTSYM GUIDeInit,SpecialLine,DrawWater,DrawBurn,SA1Enable,SA1RAMArea,GUIFName +EXTSYM GUICName,MMXCheck,SaveCombFile,showinfogui,WinErrorA,WinErrorB +EXTSYM ErrorPointer,MessageOn,GetHostName,GetTime,sndrot,regsbackup,GetScreen +EXTSYM GUITBWVID,Clear2xSaIBuffer,MouseWindow,GotoHomepage,cfgcvidmode +EXTSYM ExitFromGUI,GUIWFVID,cfgvsync,newgfx16b,cfgscanline,cfginterp +EXTSYM NumVideoModes,cfgvolume,MusicVol,DSPMem,NumInputDevices,GUIInputNames +EXTSYM GUIVideoModeNames,GUISLVID,GUIINVID,GUIEAVID,GUIIEVID,GUIFSVID,GUIWSVID +EXTSYM GUISSVID,GUITBVID,GUIHSVID,GUI2xVID,GUII2VID,GUIM7VID,cfgsoundon +EXTSYM cfgSoundQuality,cfgStereoSound,cfgforce8b,convertnum,converthex,snesmouse +EXTSYM pl1upk,pl1downk,pl1leftk,pl1rightk,pl1Lk,pl1Rk,pl1Ak,pl1Bk,outofmemfix +EXTSYM yesoutofmemory,JoyX,JoyY,JoyMinX,JoyMinY,JoyMaxX,JoyMaxY,JoyMinX209 +EXTSYM JoyMaxX209,JoyMinY209,JoyMaxY209,GetCoords,GetCoords3,MultiTap,SFXEnable +EXTSYM RestoreSystemVars,GUIBIFIL,GUIHQ2X,GUIHQ3X,GUIHQ4X,firstsaveinc,nssdip1 +EXTSYM nssdip2,nssdip3,nssdip4,nssdip5,nssdip6,SkipMovie,MovieStop,MoviePlay +EXTSYM MovieRecord,MovieInsertChapter,MovieSeekAhead,MovieSeekBehind +EXTSYM ResetDuringMovie %ifdef __LINUX__ EXTSYM numlockptr %endif %ifdef __WIN32__ -EXTSYM initDirectDraw -EXTSYM reInitSound +EXTSYM initDirectDraw,reInitSound %endif - %ifdef __MSDOS__ -EXTSYM dssel, cantinitmodem, ModemClearBuffer, ModemGetChar -EXTSYM InitModem, DeInitModem, ModemCheckRing, ModemCheckDCD -EXTSYM DeInitModemC, ModemSendChar, UartType -EXTSYM deinitipx, IPXSearchval, ipxlookforconnect, initipx -EXTSYM PreparePacketIPX,SendPacketIPX,ipxgetchar,ipxsendchar +EXTSYM dssel %endif %include "gui/guitools.inc" @@ -195,8 +128,6 @@ EXTSYM PreparePacketIPX,SendPacketIPX,ipxgetchar,ipxsendchar %include "gui/guicombo.inc" %include "gui/guiload.inc" - - SECTION .data NEWSYM WaterOn, db 1 diff --git a/zsnes/src/gui/menu.asm b/zsnes/src/gui/menu.asm index d0d669ed..88896f2e 100644 --- a/zsnes/src/gui/menu.asm +++ b/zsnes/src/gui/menu.asm @@ -18,25 +18,23 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" EXTSYM DSPMem,FPSOn,Makemode7Table,MessageOn,vesa2red10,scanlines,smallscreenon -EXTSYM MsgCount,Msgptr,OutputGraphicString,OutputGraphicString16b -EXTSYM PrepareSaveState,ResetState,breakatsignb,breakatsignc,cvidmode -EXTSYM cbitmode,copyvid,curblank,drawhline,drawhline16b,drawvline -EXTSYM drawvline16b,fnames,frameskip,mode7tab,pressed,spcA -EXTSYM spcBuffera,spcNZ,spcP,spcPCRam,spcRam,spcRamDP,spcS,spcX,spcY -EXTSYM spcon,vesa2_bpos,vesa2_clbit,vesa2_gpos,vesa2_rpos,vesa2selec -EXTSYM vidbuffer,spritetablea,sprlefttot,newengen,spcextraram,resolutn -EXTSYM Open_File,Close_File,Read_File,Write_File,Create_File,Get_Key,Get_Date -EXTSYM continueprognokeys,ForceNonTransp,GUIOn,Check_Key,JoyRead -EXTSYM GetScreen,SSKeyPressed,SPCKeyPressed,StopSound,StartSound -EXTSYM ExecExitOkay,t1cc -EXTSYM Clear2xSaIBuffer -EXTSYM romdata,romtype,ScreenShotFormat -EXTSYM Voice0Disable,Voice1Disable,Voice2Disable,Voice3Disable -EXTSYM Voice4Disable,Voice5Disable,Voice6Disable,Voice7Disable -EXTSYM SRAMChdir, SPCPath, SnapPath, Change_Dir, CHPath, ZFileCHDir +EXTSYM MsgCount,Msgptr,OutputGraphicString,OutputGraphicString16b,vidbuffer +EXTSYM PrepareSaveState,ResetState,breakatsignb,cvidmode,cbitmode,copyvid +EXTSYM curblank,drawhline,drawhline16b,drawvline,drawvline16b,fnames,frameskip +EXTSYM mode7tab,pressed,spcA,spcBuffera,spcNZ,spcP,spcPCRam,spcRam,spcS,spcX +EXTSYM spcY,spcon,vesa2_bpos,vesa2_clbit,vesa2_gpos,vesa2_rpos,vesa2selec +EXTSYM spritetablea,sprlefttot,newengen,spcextraram,resolutn,Open_File +EXTSYM Close_File,Write_File,Create_File,Get_Key,Get_Date,continueprognokeys +EXTSYM ForceNonTransp,GUIOn,Check_Key,JoyRead,GetScreen,SSKeyPressed +EXTSYM SPCKeyPressed,StopSound,StartSound,ExecExitOkay,t1cc,Clear2xSaIBuffer +EXTSYM romdata,romtype,ScreenShotFormat,Voice0Disable,Voice1Disable +EXTSYM Voice2Disable,Voice3Disable,Voice4Disable,Voice5Disable,Voice6Disable +EXTSYM Voice7Disable,SRAMChdir,SPCPath,SnapPath,CHPath,ZFileCHDir %ifndef NO_PNG EXTSYM Grab_PNG_Data %endif @@ -384,25 +382,13 @@ NEWSYM showmenu .start_dump %endif -; cmp byte[newengen],1 -; je .unablespc mov dword[Msgptr],.search mov eax,[MsgCount] mov [MessageOn],eax -; mov al,[newengen] -; mov byte[newengen],0 -; push eax call copyvid -; pop eax -; mov [newengen],al -; call breakatsignc -; cmp byte[prbreak],1 -; je .yesesc mov byte[SPCSave],1 call breakatsignb mov byte[SPCSave],0 -; cmp byte[prbreak],1 -; je .yesesc call savespcdata mov byte[curblank],40h @@ -1617,4 +1603,3 @@ restore16b: mov byte[vesa2_gpos],6 .nored ret - diff --git a/zsnes/src/init.asm b/zsnes/src/init.asm index 53896b8e..bb8ac4cc 100644 --- a/zsnes/src/init.asm +++ b/zsnes/src/init.asm @@ -18,84 +18,45 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM DosExit,UpdateDevices,InitSPC,Makemode7Table,MusicRelVol,MusicVol -EXTSYM makesprprtable,romloadskip,start65816,startdebugger,SfxR0 -EXTSYM showinfogui -EXTSYM filefound,inittable,SA1inittable -EXTSYM MessageOn,Msgptr,MsgCount,sndrot,SnowTimer -EXTSYM inittableb,inittablec,newgfx16b,cfgreinittime -EXTSYM Open_File,Read_File,Write_File,Close_File,Output_Text,Get_Key -EXTSYM Delete_File,Get_First_Entry,Get_Next_Entry,Change_Dir,InitDSP -EXTSYM Remove_Dir,Change_Single_Dir,Create_Dir,Get_Memfree,Create_File -EXTSYM SPCDisable,osm2dis,CurRecv,BackupSystemVars -EXTSYM SnowData,SnowVelDist -EXTSYM cvidmode,newengen,cfgnewgfx,GUI16VID,NewEngEnForce -EXTSYM PrintChar,TextFile -EXTSYM Setper2exec,per2exec -EXTSYM JoyRead,JoyReadControl,joy4218,joy4219,joy421A,joy421B,pressed -EXTSYM pl3Ak,pl3Bk,pl3Lk,pl3Rk,pl3Xk,pl1p209,pl2p209,pl3p209,pl4p209 -EXTSYM pl3Yk,pl3contrl,pl3downk,pl3leftk,pl3rightk,pl3selk,pl3startk -EXTSYM pl3upk,pl4Ak,pl4Bk,pl4Lk,pl4Rk,pl4Xk,pl4Yk,pl4contrl,pl4downk -EXTSYM pl4leftk,pl4rightk,pl4selk,pl4startk,pl4upk,mousebuttons,mousexdir -EXTSYM pl5Ak,pl5Bk,pl5Lk,pl5Rk,pl5Xk,pl5Yk,pl5contrl,pl5downk -EXTSYM pl5leftk,pl5rightk,pl5selk,pl5startk,pl5upk -EXTSYM mouseydir,mousexpos,mouseypos,snesmouse,processmouse,ssautosw -EXTSYM GUIDelayB,pl12s34 -EXTSYM pl1Xtk,pl1Ytk,pl1Atk,pl1Btk,pl2Xtk,pl2Ytk,pl2Atk,pl2Btk -EXTSYM pl3Xtk,pl3Ytk,pl3Atk,pl3Btk,pl4Xtk,pl4Ytk,pl4Atk,pl4Btk -EXTSYM pl1ULk,pl1URk,pl1DLk,pl1DRk,pl2ULk,pl2URk,pl2DLk,pl2DRk -EXTSYM pl3ULk,pl3URk,pl3DLk,pl3DRk,pl4ULk,pl4URk,pl4DLk,pl4DRk -EXTSYM pl5ULk,pl5URk,pl5DLk,pl5DRk,pl5Xtk,pl5Ytk,pl5Atk,pl5Btk -EXTSYM pl1Ltk,pl1Rtk,pl2Ltk,pl2Rtk,pl3Ltk,pl3Rtk,pl4Ltk,pl4Rtk,pl5Ltk,pl5Rtk -EXTSYM Turbo30hz -EXTSYM NumComboLocl,ComboBlHeader,ComboHeader,CombinDataLocl -EXTSYM CombinDataGlob,NumCombo,GUIComboGameSpec -EXTSYM mousexloc,mouseyloc -EXTSYM extlatch,BackState -EXTSYM FIRTAPVal0,FIRTAPVal1,FIRTAPVal2,FIRTAPVal3,FIRTAPVal4 -EXTSYM FIRTAPVal5,FIRTAPVal6,FIRTAPVal7,INTEnab,JoyAPos,JoyBPos -EXTSYM NMIEnab,SPCROM,VIRQLoc,coladdb,coladdg,coladdr,doirqnext -EXTSYM forceblnk,nmiprevaddrh,nmiprevaddrl,nmiprevline -EXTSYM nmirept,nmistatus,opexec268,opexec268b,opexec268cph -EXTSYM opexec268cphb,opexec358,opexec358b,opexec358cph,spcextraram -EXTSYM opexec358cphb,prevoamptr,reg1read,reg2read,reg3read -EXTSYM reg4read,resolutn,romdata,scrndis,spcP,spcRam -EXTSYM spcnumread,spchalted,tableD,timeron,vidbright,OldGfxMode2 -EXTSYM SPC700read,SPC700write,GUIDoReset,spc700read,GUIReset -EXTSYM InitC4,SA1Reset,SetAddressingModesSA1,SDD1BankA -EXTSYM SPC7110init,RTCinit,InitOBC -EXTSYM memaccessspc7110r8,memaccessspc7110r16 -EXTSYM memaccessspc7110w8,memaccessspc7110w16 -EXTSYM ram7f,snesmap2,snesmmap,sram,MultiTap -EXTSYM memaccessbankr848mb,memaccessbankr1648mb -EXTSYM cpuover,execloop,procexecloop,curexecstate,debugdisble,vidbuffer -EXTSYM Sup16mbit,Sup48mbit,debugbufa,pal16b,pal16bcl,pal16bclha -EXTSYM pal16bxcl,ram7fa,regptra,regptwa,srama,vidmemch2,vidmemch4 -EXTSYM vidmemch8,vcache2b,vcache4b,vcache8b,vram,wramdata,wramdataa -EXTSYM fname,fnames,GetCurDir,GUIcurrentdir,PrintStr -;STUB DDOI -;EXTSYM GUIcurrentdir,PrintStr -EXTSYM DTALoc,spc7110romptr,allocspc7110 -EXTSYM SRAMChdir,cfgloadsdir,fnamest,statefileloc,frameskip -EXTSYM ForcePal,ForceROMTiming,ForceHiLoROM,InitDir,InitDrive,enterpress -EXTSYM maxromspace,curromspace,infoloc,patchfile -EXTSYM gotoroot,headdata,printnum,romispal -EXTSYM InitFxTables,SfxR1,SfxR2,SfxSCMR,SfxSFR,finterleave -EXTSYM initregr,initregw,memtabler16,DSP1Read16b3F,memaccessbankr16 -EXTSYM memtabler8,DSP1Read8b3F,memaccessbankr8,memtablew16,DSP1Write16b -EXTSYM memaccessbankw16,memtablew8,DSP1Write8b,memaccessbankw8,DSP1Write16b3F -EXTSYM regaccessbankr16,regaccessbankr8,regaccessbankw16,regaccessbankw8 -EXTSYM sfxaccessbankr16,sfxaccessbankr16b,sfxaccessbankr16c,DSP1Write8b3F -EXTSYM sfxaccessbankr16d,sfxaccessbankr8,sfxaccessbankr8b,sfxaccessbankr8c -EXTSYM sfxaccessbankr8d,sfxaccessbankw16,sfxaccessbankw16b,sfxaccessbankw16c -EXTSYM sfxaccessbankw16d,sfxaccessbankw8,sfxaccessbankw8b,sfxaccessbankw8c -EXTSYM sfxaccessbankw8d,sfxramdata -EXTSYM sramaccessbankr16,sramaccessbankr16s,sramaccessbankr8,sramaccessbankr8s -EXTSYM sramaccessbankw16,sramaccessbankw16s,sramaccessbankw8,sramaccessbankw8s -EXTSYM ScrDispl,wramreadptr,wramwriteptr -EXTSYM loadstate2,CMovieExt,MoviePlay +EXTSYM DosExit,UpdateDevices,Makemode7Table,MusicRelVol,MusicVol,makesprprtable +EXTSYM romloadskip,start65816,startdebugger,SfxR0,showinfogui,inittable +EXTSYM SA1inittable,MessageOn,Msgptr,MsgCount,sndrot,SnowTimer,inittableb +EXTSYM inittablec,newgfx16b,cfgreinittime,Open_File,Read_File,Write_File +EXTSYM Close_File,Output_Text,Change_Dir,Create_File,SPCDisable,osm2dis +EXTSYM BackupSystemVars,SnowData,SnowVelDist,cvidmode,newengen,cfgnewgfx +EXTSYM GUI16VID,NewEngEnForce,TextFile,Setper2exec,JoyRead,pressed,pl3Ak,pl3Bk +EXTSYM pl3Lk,pl3Rk,pl3Xk,pl3Yk,pl3contrl,pl3downk,pl3leftk,pl3rightk,pl3selk +EXTSYM pl3startk,pl3upk,pl4Ak,pl4Bk,pl4Lk,pl4Rk,pl4Xk,pl4Yk,pl4contrl,pl4downk +EXTSYM pl4leftk,pl4rightk,pl4selk,pl4startk,pl4upk,mousebuttons,mousexdir,pl5Ak +EXTSYM pl5Bk,pl5Lk,pl5Rk,pl5Xk,pl5Yk,pl5contrl,pl5downk,pl5leftk,pl5rightk +EXTSYM pl5selk,pl5startk,pl5upk,mouseydir,mousexpos,mouseypos,snesmouse,sram +EXTSYM processmouse,ssautosw,GUIDelayB,pl12s34,pl1Xtk,pl1Ytk,pl1Atk,pl1Btk +EXTSYM pl2Xtk,pl2Ytk,pl2Atk,pl2Btk,pl3Xtk,pl3Ytk,pl3Atk,pl3Btk,pl4Xtk,pl4Ytk +EXTSYM pl4Atk,pl4Btk,pl1ULk,pl1URk,pl1DLk,pl1DRk,pl2ULk,pl2URk,pl2DLk,pl2DRk +EXTSYM pl3ULk,pl3URk,pl3DLk,pl3DRk,pl4ULk,pl4URk,pl4DLk,pl4DRk,pl5ULk,pl5URk +EXTSYM pl5DLk,pl5DRk,pl5Xtk,pl5Ytk,pl5Atk,pl5Btk,pl1Ltk,pl1Rtk,pl2Ltk,pl2Rtk +EXTSYM pl3Ltk,pl3Rtk,pl4Ltk,pl4Rtk,pl5Ltk,pl5Rtk,Turbo30hz,NumComboLocl +EXTSYM ComboBlHeader,ComboHeader,CombinDataLocl,CombinDataGlob,NumCombo +EXTSYM GUIComboGameSpec,mousexloc,mouseyloc,extlatch,FIRTAPVal0,FIRTAPVal1 +EXTSYM FIRTAPVal2,FIRTAPVal3,FIRTAPVal4,FIRTAPVal5,FIRTAPVal6,FIRTAPVal7,INTEnab +EXTSYM JoyAPos,JoyBPos,NMIEnab,SPCROM,VIRQLoc,coladdb,coladdg,coladdr,doirqnext +EXTSYM forceblnk,nmiprevaddrh,nmiprevaddrl,nmiprevline,nmirept,nmistatus +EXTSYM opexec268,opexec268b,opexec268cph,opexec268cphb,opexec358,opexec358b +EXTSYM opexec358cph,spcextraram,opexec358cphb,prevoamptr,reg1read,reg2read +EXTSYM reg3read,reg4read,resolutn,romdata,scrndis,spcP,spcRam,spcnumread +EXTSYM spchalted,tableD,timeron,vidbright,SPC700read,SPC700write,spc700read +EXTSYM GUIReset,InitC4,SA1Reset,SetAddressingModesSA1,SDD1BankA,SPC7110init +EXTSYM RTCinit,InitOBC,memaccessspc7110r8,memaccessspc7110r16,memaccessspc7110w8 +EXTSYM memaccessspc7110w16,ram7f,snesmap2,snesmmap,MultiTap,memaccessbankr848mb +EXTSYM memaccessbankr1648mb,procexecloop,ram7fa,wramdata,wramdataa,fname,fnames +EXTSYM GetCurDir,SRAMChdir,cfgloadsdir,fnamest,statefileloc,InitDir,InitDrive +EXTSYM curromspace,infoloc,patchfile,romispal,initregr,initregw,memtabler16 +EXTSYM memtabler8,memtablew16,memtablew8,sfxramdata,ScrDispl,wramreadptr +EXTSYM wramwriteptr,loadstate2,CMovieExt,MoviePlay ;initc.c EXTSYM clearmem,clearSPCRAM,PatchUsingIPS,ZOpenFileName,loadROM,SPC7110IndexSize diff --git a/zsnes/src/linux/copyvwin.asm b/zsnes/src/linux/copyvwin.asm index 3da20816..2d667c76 100644 --- a/zsnes/src/linux/copyvwin.asm +++ b/zsnes/src/linux/copyvwin.asm @@ -18,18 +18,16 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -ALIGN 32 + %include "macros.mac" -EXTSYM vesa2selec,vidbuffer,GUIOn,MMXSupport,resolutn,En2xSaI,antienab,scanlines -EXTSYM hirestiledat,res512switch,curblank,spritetablea -EXTSYM lineleft,_2xSaILineW,_2xSaISuperEagleLineW, _2xSaISuper2xSaILineW -EXTSYM newengen,cfield,HalfTrans -EXTSYM GUIOn2,FilteredGUI -EXTSYM SpecialLine -EXTSYM vidbufferofsb -EXTSYM HalfTransB,HalfTransC +EXTSYM vidbuffer,GUIOn,MMXSupport,resolutn,En2xSaI,antienab,scanlines +EXTSYM hirestiledat,res512switch,curblank,spritetablea,lineleft,_2xSaILineW +EXTSYM _2xSaISuperEagleLineW, _2xSaISuper2xSaILineW,newengen,cfield,HalfTrans +EXTSYM GUIOn2,FilteredGUI,SpecialLine,vidbufferofsb,HalfTransB,HalfTransC + +ALIGN32 SECTION .bss NEWSYM AddEndBytes, resd 1 ; Number of bytes between each line @@ -1563,5 +1561,4 @@ NEWSYM interpolate640x480x16bwin SECTION .data InterPtr dd 0 - - +SECTION .text diff --git a/zsnes/src/linux/sdlintrf.asm b/zsnes/src/linux/sdlintrf.asm index 808ec5a1..0f439ba5 100644 --- a/zsnes/src/linux/sdlintrf.asm +++ b/zsnes/src/linux/sdlintrf.asm @@ -20,109 +20,33 @@ %include "macros.mac" -EXTSYM DosExit,ZFileSystemInit -EXTSYM getcmdline,GUIRestoreVars,getcfg,obtaindir,ConvertJoyMap,tparms -EXTSYM SBHDMA -EXTSYM ccmdline -EXTSYM FilenameStart -EXTSYM spcon -EXTSYM cfgsoundon -EXTSYM cfgcvidmode -EXTSYM pl1contrl,pl2contrl -EXTSYM InitDir,InitDrive,SRAMChdir -EXTSYM DOScreatenewcfg,ExecGUISaveVars -EXTSYM allocptr -EXTSYM putchar -EXTSYM getchar -EXTSYM exit -EXTSYM ZOpenFile,ZOpenMode,CurrentHandle,ZFileSeek,ZOpenFileName,ZFileSeekMode -EXTSYM ZFileSeekPos,ZFileSeekHandle -EXTSYM ZFileWriteHandle,ZFileWriteSize,ZFileWriteBlock,ZFileWrite -EXTSYM ZFileReadHandle,ZFileReadSize,ZFileReadBlock,ZFileRead -EXTSYM ZFileDelFName,ZFileDelete -EXTSYM ZCloseFileHandle,ZCloseFile -EXTSYM ZFileTellHandle,ZFileTell -EXTSYM ZFFTimeFName,ZFTime,ZFDate,ZFileGetFTime -EXTSYM GetTime -EXTSYM GetDate -EXTSYM GUIkeydelay2 -EXTSYM ZFileMKDir,ZFileCHDir,ZFileRMDir,CHPath,MKPath,RMPath -EXTSYM ZFileGetDir,DriveNumber,DirName -EXTSYM DTALoc,DTALocPos,ZFileFindATTRIB,ZFileFindFirst,ZFileFindNext,ZFileFindPATH -EXTSYM oldhand9s,oldhand9o,interror,oldhand8s,oldhand8o -EXTSYM NoSoundReinit,soundon,DSPDisable,NoSoundReinit -EXTSYM SBHandler,InitSB,handler8h,handler9h,init60hz,Interror,init18_2hz,DeInitSPC -EXTSYM Start60HZ -EXTSYM pressed -EXTSYM RaisePitch,AdjustFrequency -EXTSYM vidbufferofsb,vidbuffer -EXTSYM clearwin -EXTSYM Stop60HZ -EXTSYM initwinvideo -EXTSYM vesa2_rpos -EXTSYM vesa2_gpos -EXTSYM vesa2_bpos -EXTSYM vesa2_rposng -EXTSYM vesa2_gposng -EXTSYM vesa2_bposng -EXTSYM vesa2_usbit -EXTSYM vesa2_clbit -EXTSYM vesa2_clbitng -EXTSYM vesa2_clbitng2 -EXTSYM vesa2_clbitng3 -EXTSYM genfulladdtabng -EXTSYM vesa2red10 -EXTSYM res640 -EXTSYM res480 -EXTSYM AddSub256,InitVesa2,cbitmode,cvidmode -EXTSYM scanlines,vesa2_bits -EXTSYM vesa2_x,vesa2_y -EXTSYM vesa2selec,InitVesa12,videotroub -EXTSYM genfulladdtab -EXTSYM GUICPC -EXTSYM drawscreenwin -EXTSYM ConvertToAFormat -EXTSYM UnusedBit,HalfTrans,UnusedBitXor,UnusedBit,UnusedBitXor -EXTSYM ngrposng,nggposng,ngbposng,HalfTransB,HalfTransC -EXTSYM UpdateVFrame -EXTSYM GetMouseX -EXTSYM GetMouseY -EXTSYM GetMouseMoveX -EXTSYM GetMouseMoveY -EXTSYM GetMouseButton -EXTSYM SetMouseMinX,SetMouseMaxX -EXTSYM SetMouseMinY,SetMouseMaxY -EXTSYM SetMouseX,SetMouseY -EXTSYM T36HZEnabled -EXTSYM MouseButton -EXTSYM Start36HZ -EXTSYM Stop36HZ -EXTSYM BufferSizeW,BufferSizeB,ProcessSoundBuffer -EXTSYM CheckTimers -EXTSYM vesa2_rfull,vesa2_rtrcl,vesa2_rtrcla -EXTSYM vesa2_gfull,vesa2_gtrcl,vesa2_gtrcla -EXTSYM vesa2_bfull,vesa2_btrcl,vesa2_btrcla -EXTSYM Init_2xSaIMMXW -EXTSYM TCPIPPortNum -EXTSYM InitTCP -EXTSYM StartServerCycle -EXTSYM ServerCheckNewClient -EXTSYM acceptzuser -EXTSYM TCPIPAddress -EXTSYM ConnectServer -EXTSYM WaitForServer -EXTSYM SendDataNop -EXTSYM SendDataUDPNop -EXTSYM GetDataNop -EXTSYM DeInitTCP -EXTSYM StopServer -EXTSYM Disconnect -EXTSYM UDPDisableMode,UDPEnableMode,UDPClearVars,UDPWait1Sec -EXTSYM WinErrorA2,WinErrorB2,WinErrorC2 -EXTSYM GetLocalTime -EXTSYM V8Mode,GrayscaleMode -EXTSYM PrevWinMode,PrevFSMode -EXTSYM sem_sleep,ZsnesPage +EXTSYM DosExit,ZFileSystemInit,getcmdline,GUIRestoreVars,getcfg,obtaindir +EXTSYM ConvertJoyMap,tparms,SBHDMA,spcon,cfgsoundon,cfgcvidmode,InitDir +EXTSYM InitDrive,SRAMChdir,DOScreatenewcfg,ExecGUISaveVars,allocptr,putchar +EXTSYM getchar,ZOpenFile,ZOpenMode,ZFileSeek,ZOpenFileName,ZFileSeekMode +EXTSYM ZFileSeekPos,ZFileSeekHandle,ZFileWriteHandle,ZFileWriteSize +EXTSYM ZFileWriteBlock,ZFileWrite,ZFileReadHandle,ZFileReadSize,ZFileReadBlock +EXTSYM ZFileRead,ZFileDelFName,ZFileDelete,ZCloseFileHandle,ZCloseFile +EXTSYM ZFileTellHandle,ZFileTell,ZFFTimeFName,ZFTime,ZFDate,ZFileGetFTime +EXTSYM GetTime,GetDate,GUIkeydelay2,ZFileMKDir,ZFileCHDir,ZFileRMDir,CHPath +EXTSYM MKPath,RMPath,ZFileGetDir,DirName,DTALoc,DTALocPos,ZFileFindATTRIB +EXTSYM ZFileFindFirst,ZFileFindNext,ZFileFindPATH,soundon,DSPDisable,Start60HZ +EXTSYM pressed,RaisePitch,AdjustFrequency,vidbufferofsb,vidbuffer,clearwin +EXTSYM Stop60HZ,initwinvideo,vesa2_rpos,vesa2_gpos,vesa2_bpos,vesa2_rposng +EXTSYM vesa2_gposng,vesa2_bposng,vesa2_usbit,vesa2_clbit,vesa2_clbitng +EXTSYM vesa2_clbitng2,vesa2_clbitng3,vesa2red10,res640,res480,cbitmode,cvidmode +EXTSYM vesa2_bits,vesa2_x,vesa2_y,genfulladdtab,GUICPC,drawscreenwin +EXTSYM ConvertToAFormat,UnusedBit,HalfTrans,UnusedBitXor,UnusedBit,UnusedBitXor +EXTSYM ngrposng,nggposng,ngbposng,HalfTransB,HalfTransC,UpdateVFrame,GetMouseX +EXTSYM GetMouseY,GetMouseMoveX,GetMouseMoveY,GetMouseButton,T36HZEnabled +EXTSYM MouseButton,Start36HZ,Stop36HZ,BufferSizeW,BufferSizeB,ProcessSoundBuffer +EXTSYM CheckTimers,vesa2_rfull,vesa2_rtrcl,vesa2_rtrcla,vesa2_gfull,vesa2_gtrcl +EXTSYM vesa2_gtrcla,vesa2_bfull,vesa2_btrcl,vesa2_btrcla,Init_2xSaIMMXW,InitTCP +EXTSYM StartServerCycle,ServerCheckNewClient,acceptzuser,ConnectServer +EXTSYM WaitForServer,SendDataNop,SendDataUDPNop,GetDataNop,DeInitTCP,StopServer +EXTSYM Disconnect,UDPDisableMode,UDPEnableMode,UDPClearVars,UDPWait1Sec +EXTSYM WinErrorA2,WinErrorB2,WinErrorC2,GetLocalTime,V8Mode,GrayscaleMode +EXTSYM PrevWinMode,PrevFSMode,sem_sleep,ZsnesPage ; NOTE: For timing, Game60hzcall should be called at 50hz or 60hz (depending ; on romispal) after a call to InitPreGame and before DeInitPostGame are @@ -1741,5 +1665,3 @@ NEWSYM GetTimeInSeconds movzx ebx,word[SystemTimewSecond] add eax,ebx ret - - diff --git a/zsnes/src/ui.asm b/zsnes/src/ui.asm index b0dbc3e7..b7614a3f 100644 --- a/zsnes/src/ui.asm +++ b/zsnes/src/ui.asm @@ -18,36 +18,22 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM getcfg,SBHDMA,StereoSound,init,GUIRestoreVars,GUIClick,MouseDis -EXTSYM ConvertJoyMap,ConvertJoyMap1,ConvertJoyMap2,printhex -EXTSYM StartUp,PrintStr,WaitForKey,PrintChar,ZFileSystemInit -EXTSYM SystemInit,allocmem -EXTSYM cfgsoundon -EXTSYM xa -EXTSYM ram7fa,wramdataa -EXTSYM malloc,free -EXTSYM MMXSupport,MMXextSupport,ScreenScale,SoundQuality -EXTSYM debugger,pl1contrl,pl2contrl,romtype,smallscreence -EXTSYM smallscreenon,spcon -EXTSYM statefileloc,LatestSave,firstsaveinc -EXTSYM Create_File,Delete_File,Open_File,Get_File_Date,Close_File,Change_Dir,Get_Dir -EXTSYM romloadskip -EXTSYM cfgloadgdir,cfgloadsdir -EXTSYM init18_2hz -EXTSYM OSExit,GUIOn2 -EXTSYM SRAMDirCurDir,SRAMChdir,SRAMChdirFail -EXTSYM frameskip,BitConv32Ptr,spcBuffera,spritetablea,vcache2bs -EXTSYM vcache4bs,vcache8bs,RGBtoYUVPtr,newgfx16b,vidbuffer,vidbufferofsa -EXTSYM vidbufferofsmos,ngwinptr,vidbufferofsb,headdata,romdata,sfxramdata -EXTSYM setaramdata,wramdata,ram7f,vram,sram,debugbuf,regptr,regptw,vcache2b -EXTSYM vcache4b,vcache8b,fname,fnames,fnamest,filefound,vidbufferofsc -EXTSYM Sup48mbit,Sup16mbit,guioff +EXTSYM PrintStr,WaitForKey,PrintChar,ram7fa,wramdataa,malloc,free,MMXSupport +EXTSYM MMXextSupport,statefileloc,LatestSave,firstsaveinc,Open_File +EXTSYM Get_File_Date,Close_File,Change_Dir,Get_Dir,romloadskip,cfgloadgdir +EXTSYM cfgloadsdir,init18_2hz,OSExit,SRAMDirCurDir,SRAMChdir,SRAMChdirFail +EXTSYM BitConv32Ptr,spcBuffera,spritetablea,vcache2bs,vcache4bs,vcache8bs +EXTSYM RGBtoYUVPtr,newgfx16b,vidbuffer,vidbufferofsa,vidbufferofsmos,ngwinptr +EXTSYM vidbufferofsb,headdata,romdata,sfxramdata,setaramdata,wramdata,ram7f,vram +EXTSYM sram,debugbuf,regptr,regptw,vcache2b,vcache4b,vcache8b,fname,fnames +EXTSYM fnamest,filefound,vidbufferofsc,Sup48mbit,Sup16mbit,guioff %ifdef __LINUX__ -EXTSYM LinuxExit -EXTSYM GetFilename +EXTSYM LinuxExit,GetFilename %endif ; Function 0501h @@ -312,7 +298,7 @@ SECTION .bss ;ALIGN32 NEWSYM vrama, resb 65536 -NEWSYM mode7tab, resb 65536 +NEWSYM mode7tab, resb 65536 NEWSYM srama, resb 65536*2 NEWSYM debugbufa, resb 10000 NEWSYM wramreadptr, resd 1 @@ -339,9 +325,9 @@ NEWSYM NoiseData, resb 32768 ; makevid.asm ; makevid.asm -NEWSYM vcache2ba, resb 262144+256 -NEWSYM vcache4ba, resb 131072+256 -NEWSYM vcache8ba, resb 65536+256 +NEWSYM vcache2ba, resb 262144+256 +NEWSYM vcache4ba, resb 131072+256 +NEWSYM vcache8ba, resb 65536+256 ZSNESBase resd 1 BlockSize resd 1 ; Set before calling @@ -882,7 +868,7 @@ NEWSYM preparedir popad cmp byte[SRAMChdirFail],0 je .yessdrive - + mov dl,[InitDrive] mov ebx,InitDir call Change_Dir @@ -1002,5 +988,3 @@ NEWSYM MMXCheck .noprintstr .nommx ret - - diff --git a/zsnes/src/vcache.asm b/zsnes/src/vcache.asm index 44469b97..502450d4 100644 --- a/zsnes/src/vcache.asm +++ b/zsnes/src/vcache.asm @@ -18,6 +18,8 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" EXTSYM MessageOn,MsgCount,Msgptr,Voice0Disable,Voice0Status,Voice1Disable @@ -27,36 +29,27 @@ EXTSYM Voice6Status,Voice7Disable,Voice7Status,bgcmsung,bgmode,cbackofsaddr EXTSYM cbitmode,cgmod,debuggeron,disableeffects,frameskip,frskipper,newgfxerror2 EXTSYM maxbr,modeused,mousexloc,mouseyloc,newengen,newgfx16b,newgfxerror EXTSYM nextdrawallng,oamaddr,pal16b,pal16bxcl,pressed,prevbright,prevpal -EXTSYM scaddsngb,scaddtngb,scaddtngbx,scfbl,scrndis,snesmouse,sprprdrn -EXTSYM t1cc,vidbright,vidbuffer,vidbufferm,vidbufferofsa,vidbufferofsb -EXTSYM vidmemch2,statefileloc,fnamest,GUIClick,MousePRClick,ngmsdraw,cvidmode +EXTSYM scaddsngb,scaddtngb,scaddtngbx,scfbl,scrndis,snesmouse,sprprdrn,t1cc +EXTSYM vidbright,vidbuffer,vidbufferm,vidbufferofsa,vidbufferofsb,vidmemch2 +EXTSYM statefileloc,fnamest,GUIClick,MousePRClick,ngmsdraw,cvidmode EXTSYM KeyDisableSC0,KeyDisableSC1,KeyDisableSC2,KeyDisableSC3,KeyDisableSC4 EXTSYM KeyDisableSC5,KeyDisableSC6,KeyDisableSC7,KeyFastFrwrd,SRAMSave5Sec EXTSYM KeyBGDisble0,KeyBGDisble1,KeyBGDisble2,KeyBGDisble3,KeySprDisble EXTSYM KeyResetAll,KeyExtraEnab,KeyWinDisble,KeyNewGfxSwt,KeyOffsetMSw EXTSYM KeyStateSlc0,KeyStateSlc1,KeyStateSlc2,KeyStateSlc3,KeyStateSlc4 EXTSYM KeyStateSlc5,KeyStateSlc6,KeyStateSlc7,KeyStateSlc8,KeyStateSlc9 -EXTSYM KeyIncStateSlot,KeyDecStateSlot,KeyUsePlayer1234 -EXTSYM maxskip,DSPMem,SprValAdd,dsp1ptr,dsp1array,FastFwdToggle,SaveSramData -EXTSYM ngextbg,Mode7HiRes,Check60hz,Get_MouseData,Get_MousePositionDisplacement -EXTSYM WindowDisables,scanlines,romispal -EXTSYM MusicRelVol,MusicVol,WDSPReg0C,WDSPReg1C -EXTSYM DSPOp02,Op02AAS,Op02AZS,Op02CX,Op02CY,Op02FX,Op02FY -EXTSYM Op02FZ,Op02LES,Op02LFE,Op02VOF,Op02VVA -EXTSYM KeySlowDown -EXTSYM genfulladdtab -EXTSYM KeyFRateDown,KeyFRateUp,KeyVolUp,KeyVolDown,KeyDisplayFPS,FPSOn,pl12s34 -EXTSYM bg1ptr,bg2ptr,bg3ptr,bg4ptr,cachebg1,resolutn -EXTSYM curypos,oamram,objhipr,objptr,objptrn,objsize1,objsize2 -EXTSYM spritetablea,sprleftpr,sprlefttot,vcache4b -EXTSYM objadds1,objadds2,objmovs1,objmovs2,tltype4b,vidmemch4,vram -EXTSYM bgptr,bgptrc,bgptrd,curtileptr,vcache2b -EXTSYM vcache8b,vidmemch8 -EXTSYM offsetmshl,NextLineCache -EXTSYM tltype2b -EXTSYM tltype8b,objwlrpos -EXTSYM snesinputdefault,cycleinputdevice -EXTSYM Change_Dir,LoadDrive,LoadDir +EXTSYM KeyIncStateSlot,KeyDecStateSlot,KeyUsePlayer1234,maxskip,DSPMem,dsp1ptr +EXTSYM dsp1array,FastFwdToggle,SaveSramData,ngextbg,Mode7HiRes,Check60hz +EXTSYM Get_MouseData,Get_MousePositionDisplacement,WindowDisables,scanlines +EXTSYM romispal,MusicRelVol,MusicVol,WDSPReg0C,WDSPReg1C,Op02AAS,Op02AZS,Op02CX +EXTSYM Op02CY,Op02FX,Op02FY,Op02FZ,Op02LES,Op02LFE,Op02VOF,Op02VVA,KeySlowDown +EXTSYM genfulladdtab,KeyFRateDown,KeyFRateUp,KeyVolUp,KeyVolDown,KeyDisplayFPS +EXTSYM FPSOn,pl12s34,bg1ptr,bg2ptr,bg3ptr,bg4ptr,cachebg1,resolutn,curypos +EXTSYM oamram,objhipr,objptr,objptrn,objsize1,objsize2,spritetablea,sprleftpr +EXTSYM sprlefttot,vcache4b,objadds1,objadds2,objmovs1,objmovs2,tltype4b +EXTSYM vidmemch4,vram,bgptr,bgptrc,bgptrd,curtileptr,vcache2b,vcache8b,vidmemch8 +EXTSYM offsetmshl,NextLineCache,tltype2b,tltype8b,objwlrpos,snesinputdefault +EXTSYM cycleinputdevice,Change_Dir,LoadDrive,LoadDir ; Process stuff & Cache sprites @@ -79,7 +72,7 @@ NEWSYM cmovietimeint, dd 0 NEWSYM overalltimer, dd 0 mousecheck db 0 -section .text +SECTION .text @@ -305,7 +298,7 @@ NEWSYM cachevideo mov dl,[LoadDrive] mov ebx,LoadDir call Change_Dir - popad + popad jmp .nofocussave .nofocussaveb mov dword[sramb4save],0 @@ -1037,8 +1030,8 @@ NEWSYM processsprites jne .64dot2 mov ebx,.process32x32sprite mov [.size2ptr],ebx - jmp .fin2 -.64dot2 + jmp .fin2 +.64dot2 mov ebx,.process64x64sprite mov [.size2ptr],ebx .fin2 @@ -1710,8 +1703,8 @@ NEWSYM processspritesb jne .64dot2 mov ebx,.process32x32sprite mov [.size2ptr],ebx - jmp .fin2 -.64dot2 + jmp .fin2 +.64dot2 mov ebx,.process64x64sprite mov [.size2ptr],ebx .fin2 @@ -3893,5 +3886,3 @@ NEWSYM cachesingle8bng pop edi pop esi ret - - diff --git a/zsnes/src/video/hq2x16.asm b/zsnes/src/video/hq2x16.asm index 2c5f0fe8..44af1063 100644 --- a/zsnes/src/video/hq2x16.asm +++ b/zsnes/src/video/hq2x16.asm @@ -23,17 +23,13 @@ ; Copyright (C) 2003 MaxSt ( maxst@hiend3d.com ) ;---------------------------------------------------------- + + %include "macros.mac" -EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2, -EXTSYM vidbufferofsb -EXTSYM FilteredGUI,resolutn,lineleft,cfield -EXTSYM hirestiledat,newengen,SpecialLine,HalfTrans -EXTSYM hqFilter -EXTSYM AddEndBytes -EXTSYM NumBytesPerLine -EXTSYM WinVidMemStart -EXTSYM BitConv32Ptr +EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2,vidbufferofsb,FilteredGUI +EXTSYM resolutn,lineleft,cfield,hirestiledat,newengen,SpecialLine,HalfTrans +EXTSYM hqFilter,AddEndBytes,NumBytesPerLine,WinVidMemStart,BitConv32Ptr EXTSYM RGBtoYUVPtr SECTION .bss @@ -41,7 +37,7 @@ NEWSYM prevline, resd 1 NEWSYM nextline, resd 1 NEWSYM deltaptr, resd 1 NEWSYM xcounter, resd 1 -NEWSYM w1, resd 1 +NEWSYM w1, resd 1 NEWSYM w2, resd 1 NEWSYM w3, resd 1 NEWSYM w4, resd 1 @@ -2165,5 +2161,3 @@ FuncTable2 SECTION .bss InterPtr resd 1 SECTION .text - - diff --git a/zsnes/src/video/hq2x32.asm b/zsnes/src/video/hq2x32.asm index 013e655a..44601a77 100644 --- a/zsnes/src/video/hq2x32.asm +++ b/zsnes/src/video/hq2x32.asm @@ -19,25 +19,19 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ;---------------------------------------------------------- -;hq2x filter +;hq2x filter ;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com ) ;---------------------------------------------------------- + + %include "macros.mac" -EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2, -EXTSYM vidbufferofsb -EXTSYM FilteredGUI,resolutn,lineleft,cfield -EXTSYM hirestiledat,newengen,SpecialLine -EXTSYM hqFilter -EXTSYM AddEndBytes -EXTSYM NumBytesPerLine -EXTSYM WinVidMemStart -EXTSYM BitConv32Ptr -EXTSYM RGBtoYUVPtr -EXTSYM prevline, nextline, deltaptr, xcounter -EXTSYM w1, w2, w3, w4, w5, w6, w7, w8, w9 -EXTSYM reg_blank, const3, const5, const6, const14, cross, threshold +EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2,vidbufferofsb,FilteredGUI +EXTSYM resolutn,lineleft,cfield,hirestiledat,newengen,SpecialLine,hqFilter +EXTSYM AddEndBytes,NumBytesPerLine,WinVidMemStart,BitConv32Ptr,RGBtoYUVPtr +EXTSYM prevline,nextline,deltaptr,xcounter,w1,w2,w3,w4,w5,w6,w7,w8,w9 +EXTSYM reg_blank,const3,const5,const6,const14,cross,threshold SECTION .bss NEWSYM c1, resd 1 @@ -1956,19 +1950,19 @@ hq2x: psrlq mm7,32 movd eax,mm5 mov [edx+ecx-2],eax - movzx edx,ax + movzx edx,ax mov [w1],edx shr eax,16 mov [w2],eax mov [w3],eax movd eax,mm6 - movzx edx,ax + movzx edx,ax mov [w4],edx shr eax,16 mov [w5],eax mov [w6],eax movd eax,mm7 - movzx edx,ax + movzx edx,ax mov [w7],edx shr eax,16 mov [w8],eax @@ -1979,7 +1973,7 @@ hq2x: .nexty add esi,64 add dword[deltaptr],64 - add edi,[AddEndBytes] + add edi,[AddEndBytes] add edi,ebx mov ebx,[InterPtr] inc ebx @@ -2138,5 +2132,3 @@ FuncTable2 SECTION .bss InterPtr resd 1 SECTION .text - - diff --git a/zsnes/src/video/hq3x16.asm b/zsnes/src/video/hq3x16.asm index fb671b43..c6d66823 100644 --- a/zsnes/src/video/hq3x16.asm +++ b/zsnes/src/video/hq3x16.asm @@ -23,21 +23,15 @@ ; Copyright (C) 2003 MaxSt ( maxst@hiend3d.com ) ;---------------------------------------------------------- + + %include "macros.mac" -EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2, -EXTSYM vidbufferofsb -EXTSYM FilteredGUI,resolutn,lineleft,cfield -EXTSYM hirestiledat,newengen,SpecialLine,HalfTrans -EXTSYM hqFilter -EXTSYM AddEndBytes -EXTSYM NumBytesPerLine -EXTSYM WinVidMemStart -EXTSYM BitConv32Ptr -EXTSYM RGBtoYUVPtr -EXTSYM prevline, nextline, deltaptr, xcounter -EXTSYM w1, w2, w3, w4, w5, w6, w7, w8, w9 -EXTSYM reg_blank, const7, cross, threshold +EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2,vidbufferofsb,FilteredGUI +EXTSYM resolutn,lineleft,cfield,hirestiledat,newengen,SpecialLine,HalfTrans +EXTSYM hqFilter,AddEndBytes,NumBytesPerLine,WinVidMemStart,BitConv32Ptr +EXTSYM RGBtoYUVPtr,prevline,nextline,deltaptr,xcounter,w1,w2,w3,w4,w5,w6,w7,w8 +EXTSYM w9,reg_blank,const7,cross,threshold SECTION .text @@ -2754,5 +2748,3 @@ FuncTable2 SECTION .bss InterPtr resd 1 SECTION .text - - diff --git a/zsnes/src/video/hq3x32.asm b/zsnes/src/video/hq3x32.asm index ec84b7bb..a1133615 100644 --- a/zsnes/src/video/hq3x32.asm +++ b/zsnes/src/video/hq3x32.asm @@ -19,26 +19,19 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ;---------------------------------------------------------- -;hq3x filter +;hq3x filter ;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com ) ;---------------------------------------------------------- + + %include "macros.mac" -EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2, -EXTSYM vidbufferofsb -EXTSYM FilteredGUI,resolutn,lineleft,cfield -EXTSYM hirestiledat,newengen,SpecialLine -EXTSYM hqFilter -EXTSYM AddEndBytes -EXTSYM NumBytesPerLine -EXTSYM WinVidMemStart -EXTSYM BitConv32Ptr -EXTSYM RGBtoYUVPtr -EXTSYM prevline, nextline, deltaptr, xcounter -EXTSYM w1, w2, w3, w4, w5, w6, w7, w8, w9 -EXTSYM c1, c2, c3, c4, c5, c6, c7, c8, c9 -EXTSYM reg_blank, const7, cross, threshold +EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2,vidbufferofsb,FilteredGUI +EXTSYM resolutn,lineleft,cfield,hirestiledat,newengen,SpecialLine,hqFilter +EXTSYM AddEndBytes,NumBytesPerLine,WinVidMemStart,BitConv32Ptr,RGBtoYUVPtr +EXTSYM prevline,nextline,deltaptr,xcounter,w1,w2,w3,w4,w5,w6,w7,w8,w9,c1,c2,c3 +EXTSYM c4,c6,c7,c8,c9,reg_blank,const7,cross,threshold SECTION .text @@ -2587,19 +2580,19 @@ hq3x: psrlq mm7,32 movd eax,mm5 mov [edx+ecx-2],eax - movzx edx,ax + movzx edx,ax mov [w1],edx shr eax,16 mov [w2],eax mov [w3],eax movd eax,mm6 - movzx edx,ax + movzx edx,ax mov [w4],edx shr eax,16 mov [w5],eax mov [w6],eax movd eax,mm7 - movzx edx,ax + movzx edx,ax mov [w7],edx shr eax,16 mov [w8],eax @@ -2610,7 +2603,7 @@ hq3x: .nexty add esi,64 add dword[deltaptr],64 - add edi,[AddEndBytes] + add edi,[AddEndBytes] add edi,ebx add edi,ebx mov ebx,[InterPtr] @@ -2817,5 +2810,3 @@ FuncTable2 SECTION .bss InterPtr resd 1 SECTION .text - - diff --git a/zsnes/src/video/hq4x16.asm b/zsnes/src/video/hq4x16.asm index 046f71e5..88062945 100644 --- a/zsnes/src/video/hq4x16.asm +++ b/zsnes/src/video/hq4x16.asm @@ -23,21 +23,15 @@ ; Copyright (C) 2003 MaxSt ( maxst@hiend3d.com ) ;---------------------------------------------------------- + + %include "macros.mac" -EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2, -EXTSYM vidbufferofsb -EXTSYM FilteredGUI,resolutn,lineleft,cfield -EXTSYM hirestiledat,newengen,SpecialLine,HalfTrans -EXTSYM hqFilter -EXTSYM AddEndBytes -EXTSYM NumBytesPerLine -EXTSYM WinVidMemStart -EXTSYM BitConv32Ptr -EXTSYM RGBtoYUVPtr -EXTSYM prevline, nextline, deltaptr, xcounter -EXTSYM w1, w2, w3, w4, w5, w6, w7, w8, w9 -EXTSYM reg_blank, const3, const5, const6, const7, cross, threshold +EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2,vidbufferofsb,FilteredGUI +EXTSYM resolutn,lineleft,cfield,hirestiledat,newengen,SpecialLine,HalfTrans +EXTSYM hqFilter,AddEndBytes,NumBytesPerLine,WinVidMemStart,BitConv32Ptr +EXTSYM RGBtoYUVPtr,prevline,nextline,deltaptr,xcounter,w1,w2,w3,w4,w5,w6,w7,w8 +EXTSYM w9,reg_blank,const3,const5,const6,const7,cross,threshold SECTION .text @@ -4281,5 +4275,3 @@ FuncTable SECTION .bss InterPtr resd 1 SECTION .text - - diff --git a/zsnes/src/video/hq4x32.asm b/zsnes/src/video/hq4x32.asm index ad0eeb39..e9f6b110 100644 --- a/zsnes/src/video/hq4x32.asm +++ b/zsnes/src/video/hq4x32.asm @@ -19,26 +19,19 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ;---------------------------------------------------------- -;hq4x filter +;hq4x filter ;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com ) ;---------------------------------------------------------- + + %include "macros.mac" -EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2, -EXTSYM vidbufferofsb -EXTSYM FilteredGUI,resolutn,lineleft,cfield -EXTSYM hirestiledat,newengen,SpecialLine -EXTSYM hqFilter -EXTSYM AddEndBytes -EXTSYM NumBytesPerLine -EXTSYM WinVidMemStart -EXTSYM BitConv32Ptr -EXTSYM RGBtoYUVPtr -EXTSYM prevline, nextline, deltaptr, xcounter -EXTSYM w1, w2, w3, w4, w5, w6, w7, w8, w9 -EXTSYM c1, c2, c3, c4, c5, c6, c7, c8, c9 -EXTSYM reg_blank, const3, const5, const6, const7, cross, threshold +EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2,vidbufferofsb,FilteredGUI +EXTSYM resolutn,lineleft,cfield,hirestiledat,newengen,SpecialLine,hqFilter +EXTSYM AddEndBytes,NumBytesPerLine,WinVidMemStart,BitConv32Ptr,RGBtoYUVPtr +EXTSYM prevline,nextline,deltaptr,xcounter,w1,w2,w3,w4,w5,w6,w7,w8,w9,c1,c2,c3 +EXTSYM c4,c6,c7,c8,c9,reg_blank,const3,const5,const6,const7,cross,threshold SECTION .text @@ -3955,19 +3948,19 @@ hq4x: psrlq mm7,32 movd eax,mm5 mov [edx+ecx-2],eax - movzx edx,ax + movzx edx,ax mov [w1],edx shr eax,16 mov [w2],eax mov [w3],eax movd eax,mm6 - movzx edx,ax + movzx edx,ax mov [w4],edx shr eax,16 mov [w5],eax mov [w6],eax movd eax,mm7 - movzx edx,ax + movzx edx,ax mov [w7],edx shr eax,16 mov [w8],eax @@ -3978,7 +3971,7 @@ hq4x: .nexty add esi,64 add dword[deltaptr],64 - add edi,[AddEndBytes] + add edi,[AddEndBytes] add edi,ebx add edi,ebx add edi,ebx @@ -4205,6 +4198,3 @@ FuncTable SECTION .bss InterPtr resd 1 SECTION .text - - - diff --git a/zsnes/src/video/m716text.asm b/zsnes/src/video/m716text.asm index 1978f026..d605847f 100644 --- a/zsnes/src/video/m716text.asm +++ b/zsnes/src/video/m716text.asm @@ -18,14 +18,14 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM coladdr,curmosaicsz,curvidoffset,domosaic16b,mode7A,drawmode7dcolor -EXTSYM mode7B,mode7C,mode7D,mode7X0,mode7Y0,mode7set,mode7tab -EXTSYM pal16b,pal16bcl,pal16bxcl,scaddtype,scrnon,transpbuf -EXTSYM vesa2_clbit,vram,vrama,winon,xtravbuf,winptrref,scaddset -EXTSYM fulladdtab -EXTSYM cwinptr +EXTSYM coladdr,curmosaicsz,curvidoffset,domosaic16b,mode7A,mode7B,mode7C,mode7D +EXTSYM mode7X0,mode7Y0,mode7set,mode7tab,pal16b,pal16bcl,pal16bxcl,scaddtype +EXTSYM scrnon,transpbuf,vesa2_clbit,vram,vrama,winon,xtravbuf,winptrref +EXTSYM fulladdtab,cwinptr ;******************************************************* ; Processes & Draws Mode 7 @@ -187,7 +187,7 @@ EXTSYM cwinptr and bx,0001111111111111b ; 13 -> 16 bit signed value test bx,0001000000000000b jz .nonega - or bx,1110000000000000b + or bx,1110000000000000b .nonega mov [.cxloc],bx mov bx,dx @@ -996,6 +996,3 @@ extbg2sub: cmp dh,1 jne near domosaic16b ret - - - diff --git a/zsnes/src/video/makev16b.asm b/zsnes/src/video/makev16b.asm index 51c53188..45d5e11c 100644 --- a/zsnes/src/video/makev16b.asm +++ b/zsnes/src/video/makev16b.asm @@ -18,48 +18,31 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM cursprloc,curypos,scrndis,scrnon,winon,winonsp,drawmode716extbg,drawmode716extbg2,SA1Enable -EXTSYM alreadydrawn,bg1cachloc,bg1tdabloc,bg1tdatloc,bg1vbufloc,bg1xposloc -EXTSYM bg1yaddval,bgcoloradder,bgmode,bgtilesz,curbgnum,drawn,makewindow -EXTSYM winbg1en,winenabs -EXTSYM mosaicon,winenabm -EXTSYM vidbuffer -EXTSYM bg3high2,colormodedef,colormodeofs,curbgpr,curblank -EXTSYM currentobjptr,curvidoffset,cwinenabm,drawline16t,forceblnk -EXTSYM makewindowsp,maxbr,newengen,newengine16b,preparesprpr -EXTSYM procbackgrnd,scaddset,scaddtype,spritetablea,sprleftpr,ForceNewGfxOff -EXTSYM bg1scrolx,bg1scroly,drawmode716b,mode7set,mosaicsz,sprleftpr1 -EXTSYM sprleftpr2,sprleftpr3,sprlefttot,sprprifix,interlval -EXTSYM extbgdone -EXTSYM FPUZero,coladdb,coladdg,coladdr,pal16b,vesa2_bpos -EXTSYM V8Mode,doveg,pal16bcl,pal16bxcl,prevbright,prevpal,vesa2_clbit -EXTSYM vesa2_gpos,vesa2_rpos,vesa2_usbit,vidbright -EXTSYM cgmod,cgram,gammalevel16b,dovegrest -EXTSYM winspdata -EXTSYM csprbit,csprprlft,sprclprio,sprsingle,sprpriodata -EXTSYM bgofwptr,bgsubby,bshifter,curmosaicsz,cwinptr,osm2dis,temp -EXTSYM tempcach,temptile,winptrref,vcache2b,vcache4b,vcache8b -EXTSYM xtravbuf,yadder,yrevadder -EXTSYM vcache2ba,vcache4ba,vcache8ba -EXTSYM hirestiledat,res512switch -EXTSYM numwin,windowdata -EXTSYM bg1objptr,bg1ptr,bg1ptrc,bg3ptr,bg3scrolx,bg3scroly,cachesingle -EXTSYM colormoded2,offsetenab,offsetmclr,offsetmcol,offsetmodeptr -EXTSYM offsetmptr,offsetmshl,offsetmtst,offsetptra,offsetptrb,posyscroll -EXTSYM prevoffsetdat,prevtempcache,tempoffset,vidmemch2,vidmemch4 -EXTSYM vidmemch8,vram -EXTSYM ofsmcptr,ofsmady,ofsmadx,yposng,yposngom,flipyposng,flipyposngom -EXTSYM ofsmtptr,ofsmmptr,ofsmcyps,bgtxadd,bg1ptrx,bg1ptry -EXTSYM a16x16xinc,a16x16yinc +EXTSYM cursprloc,curypos,scrndis,scrnon,winon,winonsp,drawmode716extbg +EXTSYM drawmode716extbg2,SA1Enable,alreadydrawn,bg1cachloc,bg1tdabloc,bg1tdatloc +EXTSYM bg1vbufloc,bg1xposloc,bg1yaddval,bgcoloradder,bgmode,bgtilesz,curbgnum +EXTSYM drawn,makewindow,winbg1en,winenabs,mosaicon,winenabm,vidbuffer,bg3high2 +EXTSYM colormodedef,colormodeofs,curbgpr,curblank,currentobjptr,curvidoffset +EXTSYM cwinenabm,drawline16t,forceblnk,makewindowsp,maxbr,newengen,newengine16b +EXTSYM preparesprpr,procbackgrnd,scaddset,scaddtype,spritetablea,sprleftpr +EXTSYM ForceNewGfxOff,bg1scrolx,bg1scroly,drawmode716b,mode7set,mosaicsz +EXTSYM sprleftpr1,sprleftpr2,sprleftpr3,sprlefttot,sprprifix,interlval,extbgdone +EXTSYM coladdb,coladdg,coladdr,pal16b,vesa2_bpos,V8Mode,doveg,pal16bcl,pal16bxcl +EXTSYM prevbright,prevpal,vesa2_clbit,vesa2_gpos,vesa2_rpos,vidbright,cgmod +EXTSYM cgram,gammalevel16b,dovegrest,winspdata,csprbit,csprprlft,sprclprio +EXTSYM sprsingle,sprpriodata,bgofwptr,bgsubby,bshifter,curmosaicsz,cwinptr +EXTSYM osm2dis,temp,tempcach,temptile,winptrref,xtravbuf,yadder,yrevadder +EXTSYM vcache2ba,vcache4ba,vcache8ba,hirestiledat,res512switch,numwin,windowdata +EXTSYM bg1objptr,bg1ptr,bg3ptr,bg3scrolx,bg3scroly,vidmemch4,vram,ofsmcptr +EXTSYM ofsmady,ofsmadx,yposngom,flipyposngom,ofsmtptr,ofsmmptr,ofsmcyps,bgtxadd +EXTSYM bg1ptrx,bg1ptry,a16x16xinc,a16x16yinc %include "video/vidmacro.mac" - - - - ;drawspritesprio SECTION .bss @@ -1171,7 +1154,7 @@ NEWSYM drawsprites16b jz .skipc add al,ch mov edx,[pal16b+eax*4] - mov [edi+ebx-12],dx + mov [edi+ebx-12],dx .skipc mov al,[esi+3] test al,0Fh @@ -3087,6 +3070,3 @@ draw16x1616bwinon: cmp dh,1 jne near domosaic16b ret - - - diff --git a/zsnes/src/video/makev16t.asm b/zsnes/src/video/makev16t.asm index 4c22a291..38bd2ae4 100644 --- a/zsnes/src/video/makev16t.asm +++ b/zsnes/src/video/makev16t.asm @@ -18,50 +18,32 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + + %include "macros.mac" EXTSYM cwinptr,dualstartprocess,dualwinbg,dualwinsp,dwinptrproc,pwinbgenab EXTSYM pwinbgtype,pwinspenab,pwinsptype,winbgdata,winlogicb,winonbtype -EXTSYM winonstype,winspdata,interlval,MMXSupport -EXTSYM bg1scrolx,bg1scroly,curmosaicsz,curypos,drawmode716t,makewindow -EXTSYM mode7set,mosaicon,mosaicsz,scrnon,winbg1en,winenabm -EXTSYM drawmode716textbg,drawmode716textbg2 -EXTSYM extbgdone -EXTSYM drawmode716tb,drawmode716b,drawmode716extbg,drawmode716extbg2 -EXTSYM cursprloc,drawsprites16b,scrndis,sprprifix,winonsp,bgfixer,bgfixer2 -EXTSYM scaddtype +EXTSYM winonstype,winspdata,interlval,MMXSupport,bg1scrolx,bg1scroly,curmosaicsz +EXTSYM curypos,drawmode716t,makewindow,mode7set,mosaicon,mosaicsz,scrnon +EXTSYM winbg1en,winenabm,drawmode716textbg,drawmode716textbg2,extbgdone +EXTSYM drawmode716tb,drawmode716b,drawmode716extbg,drawmode716extbg2,cursprloc +EXTSYM drawsprites16b,scrndis,sprprifix,winonsp,bgfixer,bgfixer2,scaddtype EXTSYM alreadydrawn,bg1cachloc,bg1tdabloc,bg1tdatloc,bg1vbufloc,bg1xposloc EXTSYM bg1yaddval,bgcoloradder,bgmode,bgtilesz,colormodeofs,curbgnum -EXTSYM draw16x1616b,draw8x816b,drawn,winenabs -EXTSYM curbgpr,draw16x1616tms,draw8x816tms -EXTSYM bg3high2,currentobjptr,curvidoffset,cwinenabm,makewindowsp -EXTSYM preparesprpr,procbackgrnd,setpalette16b,spritetablea -EXTSYM sprleftpr,sprlefttot -EXTSYM numwin,scaddset,wincolen,windowdata,winl1,winl2 -EXTSYM winon,winr1,winr2 -EXTSYM vidbuffer -EXTSYM FPUZero,coladdb,coladdg,coladdr,vesa2_bpos,vesa2_gpos,vesa2_rpos -EXTSYM vidbright -EXTSYM winptrref -EXTSYM fulladdtab,pal16b,vesa2_clbit -EXTSYM csprbit -EXTSYM sprclprio -EXTSYM csprprlft,sprsingle,sprpriodata -EXTSYM pal16bcl,pal16bxcl -EXTSYM bgofwptr,bgsubby,bshifter,domosaic16b,temp,tempcach,temptile -EXTSYM tileleft16b,xtravbuf,yadder -EXTSYM yrevadder,vcache2b,vcache4b,vcache8b -EXTSYM vcache2ba,vcache4ba,vcache8ba,draw8x816boffset -EXTSYM osm2dis,draw16x816 -EXTSYM hirestiledat,res512switch -EXTSYM bg1objptr,bg1ptr,bg1ptrc,bg3ptr,bg3scrolx,bg3scroly,cachesingle -EXTSYM colormoded2,offsetenab,offsetmclr,offsetmcol,offsetmodeptr -EXTSYM offsetmptr,offsetmshl,offsetmtst,offsetptra,offsetptrb,posyscroll -EXTSYM prevoffsetdat,prevtempcache,tempoffset,vidmemch2,vidmemch4 -EXTSYM vidmemch8,vram -EXTSYM ofsmcptr,ofsmady,ofsmadx,yposng,yposngom,flipyposng,flipyposngom -EXTSYM ofsmtptr,ofsmmptr,ofsmcyps,bgtxadd,bg1ptrx,bg1ptry -EXTSYM a16x16xinc,a16x16yinc +EXTSYM draw16x1616b,draw8x816b,drawn,winenabs,curbgpr,draw16x1616tms +EXTSYM draw8x816tms,bg3high2,currentobjptr,curvidoffset,cwinenabm,makewindowsp +EXTSYM preparesprpr,procbackgrnd,setpalette16b,spritetablea,sprleftpr,sprlefttot +EXTSYM numwin,scaddset,wincolen,windowdata,winl1,winl2,winon,winr1,winr2 +EXTSYM vidbuffer,coladdb,coladdg,coladdr,vesa2_bpos,vesa2_gpos,vesa2_rpos +EXTSYM vidbright,winptrref,fulladdtab,pal16b,vesa2_clbit,csprbit,sprclprio +EXTSYM csprprlft,sprsingle,sprpriodata,pal16bcl,pal16bxcl,bgofwptr,bgsubby +EXTSYM bshifter,domosaic16b,temp,tempcach,temptile,tileleft16b,xtravbuf,yadder +EXTSYM yrevadder,vcache2ba,vcache4ba,vcache8ba,draw8x816boffset,osm2dis +EXTSYM hirestiledat,res512switch,bg1objptr,bg1ptr,bg3ptr,bg3scrolx,bg3scroly +EXTSYM vidmemch4,vram,ofsmcptr,ofsmady,ofsmadx,yposngom,flipyposngom,ofsmtptr +EXTSYM ofsmmptr,ofsmcyps,bgtxadd,bg1ptrx,bg1ptry,a16x16xinc,a16x16yinc %include "video/vidmacro.mac" @@ -5320,5 +5302,3 @@ NEWSYM draw16x1616tswinon dec byte[tileleft16b] jnz near .loopa ret - - diff --git a/zsnes/src/video/makevid.asm b/zsnes/src/video/makevid.asm index 6810dd50..df463655 100644 --- a/zsnes/src/video/makevid.asm +++ b/zsnes/src/video/makevid.asm @@ -18,38 +18,26 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM disableeffects,winl1,winl2,winbgdata,winr1,winr2,winspdata -EXTSYM winlogica -EXTSYM winenabm,winobjen -EXTSYM winlogicb -EXTSYM scrndis,scrnon -EXTSYM bgmode,bgtilesz,winbg1en,winenabs -EXTSYM bg1objptr,bg1ptr,bg1ptrb,bg1ptrc,bg1ptrd,bg1scrolx,bg1scroly -EXTSYM cachebg1,curbgofs1,curcolbg1,vcache2b,vcache4b,vcache8b -EXTSYM vcache2ba,vcache4ba,vcache8ba -EXTSYM vidbuffer -EXTSYM bg3highst,cbitmode,colormodedef,colormodeofs,drawline16b -EXTSYM forceblnk,newengine8b,preparesprpr,scaddset,spritetablea -EXTSYM sprleftpr,vidbright,ForceNewGfxOff -EXTSYM curypos,drawmode7,mode7set,mosaicon,mosaicsz,sprleftpr1,sprleftpr2 -EXTSYM sprleftpr3,sprlefttot,sprprifix,drawmode7extbg,interlval,drawmode7extbg2 -EXTSYM sprclprio,sprpriodata,sprsingle -EXTSYM cachetile2b,cachetile4b,cachetile8b,vram,CacheCheckSkip -EXTSYM cachetile2b16x16,cachetile4b16x16,cachetile8b16x16 -EXTSYM osm2dis,xtravbuf -EXTSYM bg3ptr,bg3scrolx,bg3scroly,cachesingle,colormoded2 -EXTSYM tempoffset,vidmemch2,vidmemch4,vidmemch8 -EXTSYM ofsmcptr,ofsmady,ofsmadx,yposng,yposngom,flipyposng,flipyposngom -EXTSYM ofsmtptr,ofsmmptr,ofsmcyps,bgtxadd,bg1ptrx,bg1ptry +EXTSYM disableeffects,winl1,winl2,winbgdata,winr1,winr2,winspdata,winlogica +EXTSYM winenabm,winobjen,winlogicb,scrndis,scrnon,bgmode,bgtilesz,winbg1en +EXTSYM winenabs,bg1objptr,bg1ptr,bg1ptrb,bg1ptrc,bg1ptrd,bg1scrolx,bg1scroly +EXTSYM cachebg1,curbgofs1,curcolbg1,vcache2b,vcache4b,vcache8b,vcache2ba +EXTSYM vcache4ba,vcache8ba,vidbuffer,bg3highst,cbitmode,colormodedef +EXTSYM colormodeofs,drawline16b,forceblnk,newengine8b,preparesprpr,scaddset +EXTSYM spritetablea,sprleftpr,vidbright,ForceNewGfxOff,curypos,drawmode7 +EXTSYM mode7set,mosaicon,mosaicsz,sprleftpr1,sprleftpr2,sprleftpr3,sprlefttot +EXTSYM sprprifix,drawmode7extbg,interlval,drawmode7extbg2,sprclprio,sprpriodata +EXTSYM sprsingle,cachetile2b,cachetile4b,cachetile8b,vram,CacheCheckSkip +EXTSYM cachetile2b16x16,cachetile4b16x16,cachetile8b16x16,osm2dis,xtravbuf +EXTSYM bg3ptr,bg3scrolx,bg3scroly,vidmemch4,ofsmcptr,ofsmady,ofsmadx,yposngom +EXTSYM flipyposngom,ofsmtptr,ofsmmptr,ofsmcyps,bgtxadd,bg1ptrx,bg1ptry %include "video/vidmacro.mac" - - - - ;drawspritesprio SECTION .bss @@ -3109,7 +3097,7 @@ NEWSYM draw16x8 drawpixel8b8x8 ah, .loopd1d, 3 mov eax,[ebx+2] drawpixel8b8x8 ah, .loopd3d, 2 -.skiploop1d +.skiploop1d mov eax,[ebx+4] or eax,eax je .skiploop2d @@ -3246,7 +3234,7 @@ NEWSYM draw16x8b drawpixel8b8x8 al, .loopd1d, 3 mov eax,[ebx+2] drawpixel8b8x8 al, .loopd3d, 2 -.skiploop1d +.skiploop1d mov eax,[ebx+4] or eax,eax je .skiploop2d @@ -3379,7 +3367,7 @@ NEWSYM draw16x8winon drawpixel8b8x8win ah, .loopd1d, 3 mov eax,[ebx+2] drawpixel8b8x8win ah, .loopd3d, 2 -.skiploop1d +.skiploop1d mov eax,[ebx+4] or eax,eax je .skiploop2d @@ -3505,7 +3493,7 @@ NEWSYM draw16x8bwinon drawpixel8b8x8win al, .loopd1d, 3 mov eax,[ebx+2] drawpixel8b8x8win al, .loopd3d, 2 -.skiploop1d +.skiploop1d mov eax,[ebx+4] or eax,eax je .skiploop2d @@ -4412,6 +4400,4 @@ NEWSYM temp, resb 1 NEWSYM bshifter, resb 1 NEWSYM a16x16xinc, resb 1 NEWSYM a16x16yinc, resb 1 - - - +SECTION .text diff --git a/zsnes/src/video/mode7.asm b/zsnes/src/video/mode7.asm index be9938b8..b3e4dc71 100644 --- a/zsnes/src/video/mode7.asm +++ b/zsnes/src/video/mode7.asm @@ -18,23 +18,17 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM mode7tab,winptrref,nglogicval,winlogicaval -EXTSYM curmosaicsz,curvidoffset,cwinptr,domosaic,mode7A,mode7B -EXTSYM mode7C,mode7D,mode7X0,mode7Y0,mode7set,vram,vrama,winon,xtravbuf -EXTSYM ngwinen, winbg1enval, BuildWindow, ngwintable, ngcwinptr, domosaicng -EXTSYM pesimpng -EXTSYM mode7hr -EXTSYM BGMA, mode7ab, mode7cd, BG1SYl, BG1SXl, mosenng, mosszng +EXTSYM mode7tab,winptrref,nglogicval,winlogicaval,curmosaicsz,curvidoffset +EXTSYM cwinptr,domosaic,mode7A,mode7B,mode7C,mode7D,mode7X0,mode7Y0,mode7set +EXTSYM vram,vrama,winon,xtravbuf,ngwinen,winbg1enval,BuildWindow,ngwintable +EXTSYM ngcwinptr,domosaicng,pesimpng,mode7hr,BGMA,mode7ab,mode7cd,BG1SYl,BG1SXl %include "video/mode7.mac" - - - - - ;******************************************************* ; Processes & Draws Mode 7 ;******************************************************* @@ -826,5 +820,3 @@ NEWSYM processmode7hires pop esi .nogo ret - - diff --git a/zsnes/src/video/mode716.asm b/zsnes/src/video/mode716.asm index a9e733f0..8a08f4a0 100644 --- a/zsnes/src/video/mode716.asm +++ b/zsnes/src/video/mode716.asm @@ -18,19 +18,15 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM mode7tab,winptrref,nglogicval,winlogicaval -EXTSYM curmosaicsz,curvidoffset,cwinptr,domosaic,mode7A,mode7B -EXTSYM mode7C,mode7D,mode7X0,mode7Y0,mode7set,vram,vrama,winon,xtravbuf -EXTSYM ngwleft,ngwleftb,mode7xpos,mode7ypos,mode7xrpos,mode7yrpos -EXTSYM mode7xadder,mode7yadder,mode7hr,drawmode7winhr,dcolortab -EXTSYM UnusedBitXor,UnusedBit -EXTSYM scrndis -EXTSYM vidbright,prevbrightdc,Gendcolortable -EXTSYM mode7ab,mode7cd,BGMA -EXTSYM BG1SXl,BG1SYl -EXTSYM processmode7hires +EXTSYM mode7tab,winptrref,nglogicval,winlogicaval,curmosaicsz,curvidoffset +EXTSYM cwinptr,mode7A,mode7B,mode7C,mode7D,mode7X0,mode7Y0,mode7set,vram,vrama +EXTSYM xtravbuf,ngwleft,ngwleftb,mode7xpos,mode7ypos,mode7xrpos,mode7yrpos +EXTSYM mode7xadder,mode7yadder,mode7hr,dcolortab,UnusedBitXor,UnusedBit,scrndis +EXTSYM vidbright,prevbrightdc,Gendcolortable,mode7ab,mode7cd,BGMA,BG1SXl,BG1SYl %include "video/mode716.mac" @@ -687,5 +683,3 @@ NEWSYM processmode7hires16bd pop esi .nogo ret - - diff --git a/zsnes/src/video/mode716d.asm b/zsnes/src/video/mode716d.asm index 06eed212..d6824aa0 100644 --- a/zsnes/src/video/mode716d.asm +++ b/zsnes/src/video/mode716d.asm @@ -20,9 +20,9 @@ %include "macros.mac" -EXTSYM curmosaicsz,curvidoffset,domosaic16b,winptrref,scaddset -EXTSYM mode7A,mode7B,mode7C,mode7D,mode7X0,mode7Y0,mode7set,cwinptr -EXTSYM pal16b,vram,vrama,winon,mode7tab,xtravbuf,dcolortab,vidbright +EXTSYM curmosaicsz,curvidoffset,domosaic16b,winptrref,mode7A,mode7B,mode7C +EXTSYM mode7D,mode7X0,mode7Y0,mode7set,cwinptr,vram,vrama,winon,mode7tab +EXTSYM xtravbuf,dcolortab,vidbright %include "video/mode7.mac" @@ -232,5 +232,3 @@ SECTION .text Mode7Process Mode7Window, domosaic16b, 2 .nextval3w Mode7ProcessB Mode7Window, domosaic16b, 2 - - diff --git a/zsnes/src/video/mode716e.asm b/zsnes/src/video/mode716e.asm index 0aeb743a..da95095c 100644 --- a/zsnes/src/video/mode716e.asm +++ b/zsnes/src/video/mode716e.asm @@ -18,12 +18,13 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM curmosaicsz,curvidoffset,domosaic16b,winptrref,scaddset -EXTSYM mode7A,mode7B,mode7C,mode7D,mode7X0,mode7Y0,mode7set -EXTSYM pal16b,vram,vrama,winon,mode7tab,xtravbuf,drawmode7dcolor -EXTSYM cwinptr +EXTSYM curmosaicsz,curvidoffset,domosaic16b,winptrref,mode7A,mode7B,mode7C +EXTSYM mode7D,mode7X0,mode7Y0,mode7set,pal16b,vram,vrama,winon,mode7tab,xtravbuf +EXTSYM cwinptr ;******************************************************* ; Processes & Draws Mode 7 @@ -50,7 +51,7 @@ NEWSYM drawmode716extbg and bx,0001111111111111b ; 13 -> 16 bit signed value test bx,0001000000000000b jz .nonega - or bx,1110000000000000b + or bx,1110000000000000b .nonega mov [.cxloc],bx mov bx,dx @@ -631,7 +632,7 @@ NEWSYM drawmode716bwinonextbg and bx,0001111111111111b ; 13 -> 16 bit signed value test bx,0001000000000000b jz .nonega - or bx,1110000000000000b + or bx,1110000000000000b .nonega mov [.cxloc],bx mov bx,dx @@ -1262,5 +1263,3 @@ NEWSYM drawmode716extbg2 cmp dh,1 jne near domosaic16b ret - - diff --git a/zsnes/src/video/mv16tms.asm b/zsnes/src/video/mv16tms.asm index b93fe178..e284fc75 100644 --- a/zsnes/src/video/mv16tms.asm +++ b/zsnes/src/video/mv16tms.asm @@ -18,25 +18,18 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM bgcoloradder,bgofwptr,bgsubby,bshifter,curbgpr,curmosaicsz -EXTSYM curvidoffset,cwinptr,domosaic16b,drawn,pal16b,scaddtype -EXTSYM scrnon,temp,tempcach,temptile,tileleft16b,transpbuf,vcache2b -EXTSYM vcache4b,vcache8b,winon,winptrref,xtravbuf,yadd,yadder -EXTSYM yrevadder,draw16x816t,bgmode -EXTSYM vcache2ba,vcache4ba,vcache8ba -EXTSYM fulladdtab,pal16bcl -EXTSYM pal16bxcl -EXTSYM coadder16 -EXTSYM a16x16xinc,a16x16yinc,curypos,yflipadd +EXTSYM bgcoloradder,bgofwptr,bgsubby,bshifter,curbgpr,curmosaicsz,curvidoffset +EXTSYM cwinptr,domosaic16b,drawn,pal16b,scaddtype,scrnon,temp,tempcach,temptile +EXTSYM tileleft16b,transpbuf,winon,winptrref,xtravbuf,yadd,yadder,yrevadder +EXTSYM draw16x816t,bgmode,vcache2ba,vcache4ba,vcache8ba,fulladdtab,pal16bcl +EXTSYM pal16bxcl,coadder16,a16x16xinc,a16x16yinc,curypos,yflipadd %include "video/vidmacro.mac" - - - - ;******************************************************* ; Processes & Draws 8x8 tiles in 2, 4, & 8 bit mode ;******************************************************* @@ -1502,5 +1495,3 @@ NEWSYM draw16x1616tswinonms dec byte[tileleft16b] jnz near .loopa ret - - diff --git a/zsnes/src/video/newg162.asm b/zsnes/src/video/newg162.asm index f2e1041d..87e0ff23 100644 --- a/zsnes/src/video/newg162.asm +++ b/zsnes/src/video/newg162.asm @@ -18,35 +18,26 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM ngwintable,ngwinen,ngcwinptr,ngcpixleft,ngcwinmode -EXTSYM tleftn, ng16bprval, vrama, bg1drwng, ng16bbgval, bg1totng -EXTSYM bgtxadd, taddnfy16x16, taddfy16x16, switch16x16, curmosaicsz, domosaicng16b -EXTSYM vidmemch4,vidmemch2,vidmemch8,mode0add,vcache4b,vcache2b,vcache8b -EXTSYM cachesingle2bng,cachesingle8bng,ngpalcon4b,ngpalcon8b -EXTSYM ngpalcon2b,tleftnb,tltype2b,tltype4b,tltype8b,yposng,flipyposng -EXTSYM ofsmcptr,ofsmtptr,ofsmmptr,ofsmcyps,ofsmady,ofsmadx,FillSubScr,UnusedBitXor -EXTSYM yposngom,flipyposngom,cbgval,ofsmval,ofsmvalh,vram,CPalPtrng,BGMS1,scadtng -EXTSYM CMainWinScr,CSubWinScr,UnusedBit,res640,mosclineval,mostranspval -EXTSYM vcache2bs,vcache4bs,vcache8bs -EXTSYM vidmemch2s,vidmemch4s,vidmemch8s -EXTSYM cpalval,bgtxadd2 -EXTSYM SpecialLine +EXTSYM ngwintable,ngwinen,ngcwinptr,ngcpixleft,ngcwinmode,tleftn,ng16bprval +EXTSYM vrama,bg1drwng,ng16bbgval,bg1totng,bgtxadd,taddnfy16x16,taddfy16x16 +EXTSYM switch16x16,curmosaicsz,domosaicng16b,vidmemch2,vidmemch4,vidmemch8 +EXTSYM mode0add,vcache4b,vcache2b,vcache8b,cachesingle2bng,cachesingle8bng +EXTSYM ngpalcon4b,ngpalcon8b,ngpalcon2b,tleftnb,tltype2b,tltype4b,tltype8b +EXTSYM yposng,flipyposng,ofsmcptr,ofsmtptr,ofsmmptr,ofsmcyps,ofsmady,ofsmadx +EXTSYM FillSubScr,UnusedBitXor,yposngom,flipyposngom,cbgval,ofsmval,ofsmvalh +EXTSYM vram,CPalPtrng,BGMS1,scadtng,CMainWinScr,CSubWinScr,UnusedBit,res640 +EXTSYM mosclineval,mostranspval,vcache2bs,vcache4bs,vcache8bs,vidmemch2s +EXTSYM vidmemch4s,vidmemch8s,cpalval,bgtxadd2,SpecialLine %include "video/vidmacro.mac" %include "video/newg162.mac" %include "video/newgfx16.mac" %include "video/newg16wn.mac" - - - - - - - - ;****************************************** ; 16bitng caching functions ;****************************************** @@ -578,7 +569,7 @@ drawtileng4b16bms16x16: jz near drawtileng4b16bmsnt16x16 DetermineWindow drawtileng4b16bmstmsw16x16, drawtileng4b16bmstmw16x16, drawtileng4b16bmstsw16x16 drawtile16b16x16 tltype4b, preparet4batile, cachesingle4bng,ngpalcon4b,test4ba,0Fh,vidmemch4s,cache4b16b,tilenormalmst,tilenormalbmst -drawtileng4b16bmstmsw16x16: +drawtileng4b16bmstmsw16x16: drawtile16bw16x16 tltype4b, preparet4batile, cachesingle4bng,ngpalcon4b,test4ba,0Fh,vidmemch4s,cache4b16b,tilenormalmst,tilenormalbmst,tilenormalwmst,tilenormalwbmst drawtileng4b16bmstmw16x16: drawtile16bw216x16 tltype4b, preparet4batile, cachesingle4bng,ngpalcon4b,test4ba,0Fh,vidmemch4s,cache4b16b,tilenormalmst,tilenormalbmst,tilenormalwsmt,tilenormalwbsmt,tilenormals,tilenormalbs @@ -1403,5 +1394,3 @@ drawlineng4b16bmsom16x16: drawline16bmacroom16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmst,procpixelstmst drawlineng4b16bmsntom16x16 drawline16bmacroom16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmsnt,procpixelstmsnt - - diff --git a/zsnes/src/video/newg162.mac b/zsnes/src/video/newg162.mac index 23f10c88..1e8ede43 100644 --- a/zsnes/src/video/newg162.mac +++ b/zsnes/src/video/newg162.mac @@ -19,6 +19,7 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + ; Finish up parttile %macro procpixels16x8 3 @@ -887,5 +888,3 @@ add word[ofsmtptr],bx jmp %%nextb %endmacro - - diff --git a/zsnes/src/video/newg16wn.mac b/zsnes/src/video/newg16wn.mac index d916f059..db022be6 100644 --- a/zsnes/src/video/newg16wn.mac +++ b/zsnes/src/video/newg16wn.mac @@ -20,12 +20,6 @@ - - - - - - %macro procpixelstw 3 dec dword[ngcpixleft] jnz %%notzero @@ -1191,5 +1185,3 @@ Nextwinmode: add word[ofsmtptr],bx jmp %%next %endmacro - - diff --git a/zsnes/src/video/newgfx.asm b/zsnes/src/video/newgfx.asm index 8bbc5dfb..0b9facfd 100644 --- a/zsnes/src/video/newgfx.asm +++ b/zsnes/src/video/newgfx.asm @@ -18,46 +18,39 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM BG116x16t,BG1SXl,BG1SYl,BG216x16t,BG2SXl,BG2SYl,BG316x16t,BG3PRI -EXTSYM BG3SXl,BG3SYl,BG416x16t,BG4SXl,BG4SYl,BGFB,BGMA,BGMS1,BGOPT1,BGOPT2 -EXTSYM BGOPT3,BGOPT4,BGPT1,BGPT1X,BGPT1Y,BGPT2,BGPT2X,BGPT2Y,BGPT3,BGPT3X -EXTSYM BGPT3Y,BGPT4,BGPT4X,BGPT4Y,StartDrawNewGfx16b,bg1objptr,bg1ptr -EXTSYM bg1ptrx,bg1ptry,bg1scrolx,bg1scroly,bg2objptr,bg2ptr,bg2ptrx -EXTSYM bg2ptry,bg2scrolx,bg2scroly,bg3highst,bg3objptr,bg3ptr,bg3ptrx -EXTSYM bg3ptry,bg3scrolx,bg3scroly,bg4objptr,bg4ptr,bg4ptrx,bg4ptry -EXTSYM bg4scrolx,bg4scroly,bgmode,bgtxad,cachesingle2bng +EXTSYM BG116x16t,BG1SXl,BG1SYl,BG216x16t,BG2SXl,BG2SYl,BG316x16t,BG3PRI,BG3SXl +EXTSYM BG3SYl,BG416x16t,BG4SXl,BG4SYl,BGFB,BGMA,BGMS1,BGOPT1,BGOPT2,BGOPT3 +EXTSYM BGOPT4,BGPT1,BGPT1X,BGPT1Y,BGPT2,BGPT2X,BGPT2Y,BGPT3,BGPT3X,BGPT3Y,BGPT4 +EXTSYM BGPT4X,BGPT4Y,StartDrawNewGfx16b,bg1objptr,bg1ptr,bg1ptrx,bg1ptry +EXTSYM bg1scrolx,bg1scroly,bg2objptr,bg2ptr,bg2ptrx,bg2ptry,bg2scrolx,bg2scroly +EXTSYM bg3highst,bg3objptr,bg3ptr,bg3ptrx,bg3ptry,bg3scrolx,bg3scroly,bg4objptr +EXTSYM bg4ptr,bg4ptrx,bg4ptry,bg4scrolx,bg4scroly,bgmode,bgtxad,cachesingle2bng EXTSYM cachesingle8bng,cbitmode,cfield,colormodedef,csprbit,curmosaicsz EXTSYM curvidoffset,curypos,drawmode716b,forceblnk,interlval,intrlng,mode7A -EXTSYM mode7C,mode7X0,mode7ab,mode7cd,mode7set,mode7st,mode7xy,mosaicon -EXTSYM mosaicsz,mosenng,mosszng,ngceax,ngcedi,ngpalcon2b,ngpalcon4b -EXTSYM ngpalcon8b,ngptrdat,prdata,prdatb,prdatc,res640,resolutn,scrndis -EXTSYM scrnon,spritetablea,sprleftpr,sprlefttot,sprpriodata,sprtbng,sprtlng -EXTSYM t16x161,t16x162,t16x163,t16x164,tltype2b,tltype4b,tltype8b,vcache2b -EXTSYM vcache4b,vcache8b,vidbuffer,vidmemch2,vidmemch4,vidmemch8,vram,vrama -EXTSYM winon,xtravbuf,ng16bbgval,ng16bprval,bgwinchange,res480 -EXTSYM drawtileng2b,drawtileng4b,drawtileng8b,drawmode7win,hdmaearlstart -EXTSYM drawtileng16x162b,drawtileng16x164b,drawtileng16x168b,osm2dis -EXTSYM drawlineng2b,drawlineng4b,drawlineng8b,processmode7hires -EXTSYM drawlineng16x162b,drawlineng16x164b,drawlineng16x168b,mode7hr -EXTSYM winboundary,winbg1enval,winbg2enval,winbg3enval,winbg4enval -EXTSYM winbgobjenval,winlogicaval,disableeffects,winenabs,scanlines -EXTSYM winl1,winbg1en,winbg2en,winbg3en,winbg4en,winobjen,winlogica,winenabm -EXTSYM bgallchange,bg1change,bg2change,bg3change,bg4change,hiresstuff -EXTSYM drawlineng16x84b,drawlineng16x82b,drawlinengom4b,WindowDisables -EXTSYM winlogicb -EXTSYM ngwinptr,objwlrpos,objwen,objclineptr,CSprWinPtr -EXTSYM WindowRedraw +EXTSYM mode7C,mode7X0,mode7ab,mode7cd,mode7set,mode7st,mode7xy,mosaicon,mosaicsz +EXTSYM mosenng,mosszng,ngceax,ngcedi,ngpalcon2b,ngpalcon8b,ngptrdat,prdata +EXTSYM prdatb,prdatc,res640,resolutn,scrndis,scrnon,spritetablea,sprleftpr +EXTSYM sprlefttot,sprpriodata,sprtbng,sprtlng,t16x161,t16x162,t16x163,t16x164 +EXTSYM tltype2b,tltype8b,vcache2b,vcache4b,vcache8b,vidbuffer,vidmemch2 +EXTSYM vidmemch4,vidmemch8,vram,vrama,winon,xtravbuf,ng16bbgval,ng16bprval +EXTSYM bgwinchange,res480,drawtileng2b,drawtileng4b,drawtileng8b,drawmode7win +EXTSYM hdmaearlstart,drawtileng16x162b,drawtileng16x164b,drawtileng16x168b +EXTSYM osm2dis,drawlineng2b,drawlineng4b,drawlineng8b,processmode7hires +EXTSYM drawlineng16x162b,drawlineng16x164b,drawlineng16x168b,winboundary +EXTSYM winbg1enval,winbg2enval,winbg3enval,winbg4enval,winbgobjenval +EXTSYM winlogicaval,disableeffects,winenabs,scanlines,winl1,winbg1en,winobjen +EXTSYM winlogica,winenabm,bgallchange,bg1change,bg2change,bg3change,bg4change +EXTSYM hiresstuff,drawlineng16x84b,drawlineng16x82b,drawlinengom4b,WindowRedraw +EXTSYM WindowDisables,winlogicb,ngwinptr,objwlrpos,objwen,objclineptr,CSprWinPtr %include "video/vidmacro.mac" %include "video/newgfx2.mac" %include "video/newgfx.mac" - - - - ; vidbufferofsmos pointer to mosaic buffer %macro WinBGCheck 1 @@ -2354,5 +2347,4 @@ NEWSYM preparesprpr SECTION .bss NEWSYM sprclprio, resd 1 NEWSYM sprsingle, resd 1 - - +SECTION .text diff --git a/zsnes/src/video/newgfx.mac b/zsnes/src/video/newgfx.mac index a5c8b5b8..61a8cf72 100644 --- a/zsnes/src/video/newgfx.mac +++ b/zsnes/src/video/newgfx.mac @@ -19,15 +19,9 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTSYM mode7B, mode7D + EXTSYM drawmode7ngextbg,drawmode7ngextbg2 - - - - - - %macro Procbgpr0 5 ; Draw BG 2 ; Start line by line drawing/check @@ -3373,5 +3367,3 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2 pop ebx ret %endmacro - - diff --git a/zsnes/src/video/newgfx16.asm b/zsnes/src/video/newgfx16.asm index 9f0ca715..ba274a64 100644 --- a/zsnes/src/video/newgfx16.asm +++ b/zsnes/src/video/newgfx16.asm @@ -18,66 +18,50 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM BG116x16t,BG1SXl,BG1SYl,BG216x16t,BG2SXl,BG2SYl,BG316x16t,BG3PRI -EXTSYM BG3SXl,BG3SYl,BG416x16t,BG4SXl,BG4SYl,BGFB,BGMA,BGMS1,BGOPT1 -EXTSYM BGOPT2,BGOPT3,BGOPT4,BGPT1,BGPT1X,BGPT1Y,BGPT2,BGPT2X,BGPT2Y,BGPT3 -EXTSYM BGPT3X,BGPT3Y,BGPT4,BGPT4X,BGPT4Y,bg1drwng,bg1objptr,bg1ptr,bg1ptrx -EXTSYM bg1ptry,bg1scrolx,bg1scroly,bg1totng,bg2drwng,bg2objptr,bg2ptr -EXTSYM bg2ptrx,bg2ptry,bg2scrolx,bg2scroly,bg2totng,bg3drwng,bg3highst -EXTSYM bg3objptr,bg3ptr,bg3ptrx,bg3ptry,bg3scrolx,bg3scroly,bg3totng -EXTSYM bg4drwng,bg4objptr,bg4ptr,bg4ptrx,bg4ptry,bg4scrolx,bg4scroly -EXTSYM bg4totng,bgcmsung,bgmode,bgtxad,bgtxadd,cachesingle2bng -EXTSYM cachesingle8bng,cfieldad,cgfxmod,cgmod,cgram,coladdb -EXTSYM coladdg,coladdr,colleft16b,colormodedef,cpalval,csprbit,csprival -EXTSYM curmosaicsz,curvidoffset,curypos,firstdrawn -EXTSYM flipyposng,forceblnk,interlval,intrlng,maxbr,mode0add,mode0ads,mode7A -EXTSYM mode7C,mode7X0,mode7ab,mode7cd,mode7set,mode7st,mode7xy,modeused -EXTSYM mosaicon,mosaicsz,mosenng,mosszng,ngceax,ngcedi,ngpalcon2b,ngpalcon4b -EXTSYM ngpalcon8b,ngptrdat,pesimpng,prdata,prdatb,prdatc,prevbright -;EXTSYM ngpalcon8b,pesimpng,prdata,prdatb,prdatc,prevbright -EXTSYM prevpal,reslbyl,resolutn,scaddset,scaddtype,scadsng,scadtng,scbcong -EXTSYM scfbl,scrndis,scrnon,spritetablea,sprleftpr,sprlefttot,sprprdrn -EXTSYM sprpriodata,sprtbng,sprtlng,switch16x16,t16x161,t16x162,t16x163 -EXTSYM t16x164,taddfy16x16,taddnfy16x16,tleftn,tleftnb,tltype2b,tltype4b -EXTSYM tltype8b,vcache2b,vcache4b,vcache8b,vesa2_bposng,vesa2_clbitng,vesa2_gposng -EXTSYM vesa2_rposng,vidbright,vidbuffer,vidmemch2,vidmemch4,drawsprng -EXTSYM vidmemch8,vrama,winon,xtravbuf,yposng,vbufdptr,preparesprpr -EXTSYM drawtileng2b16b,drawtileng4b16b,drawtileng8b16b -EXTSYM drawtileng16x162b16b,drawtileng16x164b16b,drawtileng16x168b16b -EXTSYM drawlineng2b16b,drawlineng4b16b,drawlineng8b16b,BuildWindow -EXTSYM drawlineng16x162b16b,drawlineng16x164b16b,drawlineng16x168b16b -EXTSYM ngextbg,bgwinchange,disableeffects,winbg1en,winenabs,winenabm -EXTSYM winl1,winbg1enval,winbg1envalm -EXTSYM winlogica,winlogicaval,winboundary,winobjen,winlogicb,nglogicval -EXTSYM ngwintable,winbg2enval,winbg3enval,winbg4enval,winbgobjenval -EXTSYM Mode7HiRes16b,res640,hiresstuff,Mode7BackA,Mode7BackC,Mode7BackX0 -EXTSYM Mode7BackSet,drawmode7win16b,processmode7hires,ngwinen -EXTSYM drawlineng16x84b16b,drawlineng16x82b16b,ofsmcyps,vram,ofsmcptr -EXTSYM ofsmady,ofsmadx,ofsmtptr,yposngom,flipyposngom,ofsmmptr -EXTSYM ofsmval,ofsmvalh,hdmaearlstart,ofsmvalh,cbgval,drawlinengom4b16b -EXTSYM drawsprngw,ignor512,winbg1envals,FillSubScr,scanlines -EXTSYM drawmode7win16bd,SpecialLine,vidmemch2s -EXTSYM smallscreenon,ScreenScale,SA1Enable,drawlinengom16x164b16b -EXTSYM doveg,V8Mode,dovegrest -EXTSYM bgallchange,bg1change,bg2change,bg3change,bg4change -EXTSYM ngwinptr,objwlrpos,objwen,objclineptr,CSprWinPtr -EXTSYM BuildWindow2 -EXTSYM NGNumSpr -EXTSYM fulladdtab -EXTSYM MMXSupport,bgtxadd2 +EXTSYM BG116x16t,BG1SXl,BG1SYl,BG216x16t,BG2SXl,BG2SYl,BG316x16t,BG3PRI,BG3SXl +EXTSYM BG3SYl,BG416x16t,BG4SXl,BG4SYl,BGFB,BGMA,BGMS1,BGOPT1,BGOPT2,BGOPT3 +EXTSYM BGOPT4,BGPT1,BGPT1X,BGPT1Y,BGPT2,BGPT2X,BGPT2Y,BGPT3,BGPT3X,BGPT3Y,BGPT4 +EXTSYM BGPT4X,BGPT4Y,bg1drwng,bg1objptr,bg1ptr,bg1ptrx,bg1ptry,bg1scrolx +EXTSYM bg1scroly,bg1totng,bg2drwng,bg2objptr,bg2ptr,bg2ptrx,bg2ptry,bg2scrolx +EXTSYM bg2scroly,bg2totng,bg3drwng,bg3highst,bg3objptr,bg3ptr,bg3ptrx,bg3ptry +EXTSYM bg3scrolx,bg3scroly,bg3totng,bg4drwng,bg4objptr,bg4ptr,bg4ptrx,bg4ptry +EXTSYM bg4scrolx,bg4scroly,bg4totng,bgcmsung,bgmode,bgtxad,bgtxadd,ngextbg +EXTSYM cachesingle2bng,cachesingle8bng,cfieldad,cgmod,cgram,coladdb,coladdg +EXTSYM coladdr,colleft16b,colormodedef,cpalval,csprbit,csprival,curmosaicsz +EXTSYM curvidoffset,curypos,firstdrawn,flipyposng,forceblnk,interlval,intrlng +EXTSYM mode0add,mode0ads,mode7A,mode7C,mode7X0,mode7ab,mode7cd,mode7set,mode7st +EXTSYM mode7xy,modeused,mosaicon,mosaicsz,mosenng,mosszng,ngceax,ngcedi +EXTSYM ngpalcon2b,ngpalcon8b,ngptrdat,pesimpng,prdata,prdatb,prdatc,prevbright +EXTSYM reslbyl,resolutn,scaddset,scaddtype,scadsng,scadtng,scfbl,scrndis,scrnon +EXTSYM spritetablea,sprleftpr,sprlefttot,sprprdrn,sprpriodata,sprtbng,sprtlng +EXTSYM switch16x16,t16x161,t16x162,t16x163,t16x164,taddfy16x16,taddnfy16x16 +EXTSYM tleftn,tleftnb,tltype2b,tltype8b,vcache2b,vcache4b,vcache8b,vidbright +EXTSYM vidbuffer,vidmemch2,vidmemch4,vidmemch8,vrama,winon,xtravbuf,yposng +EXTSYM vbufdptr,drawtileng2b16b,drawtileng4b16b,drawtileng8b16b,bgwinchange +EXTSYM drawtileng16x162b16b,drawtileng16x164b16b,drawtileng16x168b16b,winbg1en +EXTSYM drawlineng2b16b,drawlineng4b16b,drawlineng8b16b,BuildWindow,winenabs +EXTSYM drawlineng16x162b16b,drawlineng16x164b16b,drawlineng16x168b16b,winenabm +EXTSYM disableeffects,winl1,winbg1enval,winbg1envalm,winlogica,winlogicaval +EXTSYM winboundary,winobjen,winlogicb,nglogicval,ngwintable,winbg2enval,doveg +EXTSYM winbg3enval,winbg4enval,winbgobjenval,Mode7HiRes16b,res640,hiresstuff +EXTSYM Mode7BackA,Mode7BackC,Mode7BackX0,Mode7BackSet,drawmode7win16b,ngwinen +EXTSYM drawlineng16x84b16b,drawlineng16x82b16b,ofsmcyps,vram,ofsmcptr,ofsmady +EXTSYM ofsmadx,ofsmtptr,yposngom,flipyposngom,ofsmmptr,ofsmval,ofsmvalh,V8Mode +EXTSYM hdmaearlstart,ofsmvalh,cbgval,drawlinengom4b16b,ignor512,winbg1envals +EXTSYM FillSubScr,scanlines,drawmode7win16bd,SpecialLine,vidmemch2s,dovegrest +EXTSYM smallscreenon,ScreenScale,SA1Enable,drawlinengom16x164b16b,bgallchange +EXTSYM bg1change,bg2change,bg3change,bg4change,ngwinptr,objwlrpos,objwen +EXTSYM objclineptr,CSprWinPtr,BuildWindow2,NGNumSpr,fulladdtab,MMXSupport +EXTSYM bgtxadd2 %include "video/vidmacro.mac" %include "video/newgfx16.mac" %include "video/newg162.mac" - - - - -; mov ebp,[cpalval+ebx*4] -; 75036*2 ; Different routines for: ; Normal (just one screen) ; Transparency @@ -89,9 +73,6 @@ EXTSYM MMXSupport,bgtxadd2 ; Sub+MainWin ; SubWin+Main - - - ; cgfxmod : ; 0 = No addition whatsoever ; 1 = Addition in the back area only @@ -923,7 +904,7 @@ NEWSYM newengine16b ;NEWSYM winlogicb, 0 ; Window logic type for Sprites and Backarea ;NEWSYM winenabm, 0 ; Window logic enable for main screen ;NEWSYM winenabs, 0 ; Window logic enable for sub screen - + mov byte[bgwinchange+eax],0 cmp byte[disableeffects],1 je near .finishwin @@ -3624,7 +3605,3 @@ MainScreenClip: SubScreenClip: ScreenClip SCSubA,SCSubB,SCSubC,SCSubD ret - - - - diff --git a/zsnes/src/video/newgfx16.mac b/zsnes/src/video/newgfx16.mac index c780bb2d..92535170 100644 --- a/zsnes/src/video/newgfx16.mac +++ b/zsnes/src/video/newgfx16.mac @@ -19,14 +19,9 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTSYM mode7B, mode7D, processmode7hires16b, processmode7hires16bd -EXTSYM drawmode7ngextbg16b,drawmode7ngextbg216b -EXTSYM osm2dis - - - - +EXTSYM processmode7hires16b,processmode7hires16bd,drawmode7ngextbg16b +EXTSYM drawmode7ngextbg216b,osm2dis ; drawtileng16b @@ -3831,5 +3826,3 @@ EXTSYM osm2dis pop ebx ret %endmacro - - diff --git a/zsnes/src/video/newgfx2.mac b/zsnes/src/video/newgfx2.mac index acbba6cb..0b44baa8 100644 --- a/zsnes/src/video/newgfx2.mac +++ b/zsnes/src/video/newgfx2.mac @@ -20,11 +20,6 @@ - - - - - ; Finish up parttile %macro drawlineng16x8 8 @@ -1013,6 +1008,3 @@ add word[ofsmtptr],bx jmp %%next %endmacro - - - diff --git a/zsnes/src/video/procvid.asm b/zsnes/src/video/procvid.asm index 03231bf5..12222734 100644 --- a/zsnes/src/video/procvid.asm +++ b/zsnes/src/video/procvid.asm @@ -18,56 +18,29 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM BGMA,DSPMem,INTEnab,V8Mode,antienab,cacheud,cbitmode -EXTSYM ccud,cfield,cgfxmod,cgram,coladdb,coladdg,coladdr,cpalval,curblank -EXTSYM curfps,cvidmode,delay,draw16bnng,extlatch,fnamest,fulladdtab,En2xSaI +EXTSYM BGMA,V8Mode,antienab,cacheud,cbitmode,ccud,cfield,cgram,coladdb,coladdg +EXTSYM coladdr,curblank,curfps,cvidmode,delay,extlatch,fnamest,En2xSaI EXTSYM gammalevel,hirestiledat,ignor512,latchx,latchy,maxbr,ForceNewGfxOff -EXTSYM newengen,nextframe,objptr,pressed,prevpal,res512switch,res640 -EXTSYM resolutn,romispal,scaddtype,scadtng,scanlines -EXTSYM scbcong,selcA000,snesmouse,t1cc,vcache4b,vesa2_bpos,spritetablea -EXTSYM vesa2_clbit,vesa2_gpos,vesa2_rpos,vesa2red10,vesa2selec,vidbuffer -EXTSYM vram,vsyncon,vbufdptr,KeyStateSelct,forceblnk,soundon -EXTSYM Open_File,Read_File,Close_File,Create_File,Write_File,Get_File_Date -EXTSYM Triplebufen,makepal,changepal,saveselectpal,displayfpspal,superscopepal -EXTSYM DrawScreen,MMXSupport -EXTSYM Get_MouseData,Get_MousePositionDisplacement -EXTSYM GUIEnableTransp -EXTSYM GUIFontData -EXTSYM StopSound,StartSound -EXTSYM PrevPicture,File_Seek,File_Seek_End,nggposng -EXTSYM Palette0 -EXTSYM GetTimeInSeconds -EXTSYM scaddset,scrnon,spcRam,nmiprevline,bgmode,ofsmcptr -EXTSYM interlval,bg3ptr,bg3scroly,bg3scrolx,C4Ram,SprValAdd,SA1IRQEn,SA1IRQV -EXTSYM winbg1en,winlogica,wincolen,winlogicb,dsp1ptr,dsp1array,bg3objptr -EXTSYM cnetptrhead,cnetptrtail,JoyBOrig,pl2neten,Voice6Ptr,HIRQLoc,SA1DoIRQ -EXTSYM mode7A,mode7B,mode7C,mode7D,mode7set,winbg3en,winl1,winr1,SA1DMAInfo -EXTSYM winl2,winr2,VIRQLoc,SA1Enable,mode7X0,mode7Y0,SA1Temp -EXTSYM SA1IRQTemp,SA1IRQEnable,SA1DMADest,SA1DMAChar,SA1DMASource,SA1DMACount -EXTSYM objptrn,nglogicval,bgtilesz,C4values -EXTSYM curexecstate,TempVidInfo,LatestBank,C4ObjSelec -EXTSYM BGMS1,scadsng,winenabm,winenabs,vidbright -EXTSYM genfulladdtab,genfulladdtabng -EXTSYM TimerEnable,ShowTimer -EXTSYM ClearScreenSkip,debugdisble,cmovietimeint -EXTSYM StringLength -EXTSYM GUIOn,FilteredGUI,HalfTrans -EXTSYM SmallMsgText -EXTSYM ClearScreen -EXTSYM Mode7HiRes,mosenng,mosszng,intrlng,mode7hr ;,VESAAddr -EXTSYM GUICPC, newgfx16b -EXTSYM vesa2_clbitng,vesa2_clbitng2,vesa2_clbitng3 -EXTSYM granadd,CSStatus,CSStatus2,CSStatus3 -EXTSYM SpecialLine -EXTSYM Clear2xSaIBuffer,vidbufferofsb -;EXTSYM Super2xSaI -EXTSYM HalfTransB,HalfTransC - -EXTSYM cur_zst_size,old_zst_size -EXTSYM MovieProcessing,mzt_chdir,UpChdir -EXTSYM MovieFrameStr,GetMovieFrameStr,MovieDisplayFrame +EXTSYM newengen,nextframe,objptr,pressed,prevpal,res512switch,res640,resolutn +EXTSYM romispal,scaddtype,scanlines,selcA000,snesmouse,t1cc,vcache4b,vesa2_bpos +EXTSYM spritetablea,vesa2_clbit,vesa2_gpos,vesa2_rpos,vesa2red10,vesa2selec +EXTSYM vidbuffer,vram,vsyncon,KeyStateSelct,soundon,Open_File,Read_File +EXTSYM Close_File,Create_File,Write_File,Get_File_Date,Triplebufen,makepal +EXTSYM changepal,saveselectpal,displayfpspal,superscopepal,DrawScreen,MMXSupport +EXTSYM Get_MouseData,Get_MousePositionDisplacement,GUIEnableTransp,GUIFontData +EXTSYM StopSound,StartSound,PrevPicture,File_Seek,File_Seek_End,nggposng +EXTSYM Palette0,GetTimeInSeconds,bg3ptr,bg3scroly,bg3scrolx,C4Ram,dsp1array +EXTSYM genfulladdtab,genfulladdtabng,TimerEnable,ShowTimer,debugdisble,GUIOn +EXTSYM FilteredGUI,HalfTrans,SmallMsgText,ClearScreen,Mode7HiRes,mosenng,mosszng +EXTSYM intrlng,mode7hr,newgfx16b,vesa2_clbitng,vesa2_clbitng2,granadd,CSStatus +EXTSYM CSStatus2,CSStatus3,SpecialLine,Clear2xSaIBuffer,vidbufferofsb,bg1scroly +EXTSYM bg1objptr,DecompAPtr,HalfTransB,HalfTransC,cur_zst_size,old_zst_size +EXTSYM MovieProcessing,mzt_chdir,UpChdir,MovieFrameStr,GetMovieFrameStr +EXTSYM MovieDisplayFrame %ifdef __MSDOS__ EXTSYM SB_blank @@ -3049,9 +3022,6 @@ NEWSYM hextestoutput mov esi,216*288+32 add esi,[vidbuffer] xor eax,eax - EXTSYM Op14Zr,Op14Xr,Op14Yr,Op14U,Op14F,Op14L - EXTSYM Op02CX,Op02CY,bg1scrolx,bg1scroly - EXTSYM TValDebug,TValDebug2,curhdma,bg1ptr,bg1objptr,DecompAPtr ; 4F00h mov ebx,[C4Ram] mov ebx,[vram] @@ -3468,5 +3438,3 @@ db 0,0,0,0,0,1,1,0,0,1,0,0,1,1,0,0,0,0,0,0 db 0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - - diff --git a/zsnes/src/video/sw_draw.asm b/zsnes/src/video/sw_draw.asm index 69bd7350..0bcb5d23 100644 --- a/zsnes/src/video/sw_draw.asm +++ b/zsnes/src/video/sw_draw.asm @@ -20,16 +20,15 @@ ; This file compiles to zero if not OpenBSD, thus it can be ; left in the Makefile. + + + %include "macros.mac" -ALIGN 32 +EXTSYM SurfaceX,SurfaceY,ScreenPtr,SurfBufD,pitch,MMXSupport,resolutn,copymaskRB +EXTSYM copymaskG,copymagic -EXTSYM SurfaceX,SurfaceY -EXTSYM ScreenPtr,SurfBufD -EXTSYM pitch,MMXSupport,resolutn -%ifdef __WIN32__ -EXTSYM BitConv32Ptr -%endif +ALIGN32 SECTION .text @@ -38,7 +37,7 @@ NEWSYM ClearWin16 mov edi, [SurfBufD] xor eax,eax xor ebx,ebx -.Blank2: +.Blank2: mov ecx, [SurfaceX] rep stosw mov edx, [SurfaceX] @@ -82,9 +81,9 @@ NEWSYM DrawWin256x224x16 xor eax,eax movsx edx, word[resolutn] sub edx,2 -.Copying3: +.Copying3: mov ecx,32 -.CopyLoop: +.CopyLoop: movq mm0,[esi] movq mm1,[esi+8] movq [edi],mm0 @@ -120,7 +119,7 @@ NEWSYM DrawWin256x224x16 .Copying: mov ecx,128 rep movsd - inc eax + inc eax add edi, [pitch] sub edi,512 sub esi,512 @@ -137,8 +136,6 @@ NEWSYM DrawWin256x224x16 popad ret -EXTSYM copymaskRB,copymaskG,copymagic,coef - NEWSYM DrawWin256x224x32 pushad mov ax,ds @@ -195,7 +192,7 @@ NEWSYM DrawWin320x240x16 xor ebx,ebx mov esi, [ScreenPtr] mov edi, [SurfBufD] -.Blank1MMX: +.Blank1MMX: mov ecx,160 rep stosd sub edi,160 @@ -205,16 +202,16 @@ NEWSYM DrawWin320x240x16 jne .Blank1MMX xor ebx,ebx pxor mm0,mm0 -.Copying2MMX: +.Copying2MMX: mov ecx,4 -.MMXLoopA: +.MMXLoopA: movq [edi+0],mm0 movq [edi+8],mm0 add edi,16 dec ecx jnz .MMXLoopA mov ecx,32 -.MMXLoopB: +.MMXLoopB: movq mm1,[esi+0] movq mm2,[esi+8] movq [edi+0],mm1 @@ -224,7 +221,7 @@ NEWSYM DrawWin320x240x16 dec ecx jnz .MMXLoopB mov ecx,4 -.MMXLoopC: +.MMXLoopC: movq [edi+0],mm0 movq [edi+8],mm0 add edi,16 @@ -285,5 +282,3 @@ NEWSYM DrawWin320x240x16 rep stosd popad ret - - diff --git a/zsnes/src/video/vidmacrb.mac b/zsnes/src/video/vidmacrb.mac index 0931c832..6245d421 100644 --- a/zsnes/src/video/vidmacrb.mac +++ b/zsnes/src/video/vidmacrb.mac @@ -19,14 +19,10 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + EXTSYM OMBGTestVal,ngptrdat2,cachesingle4bng,ofshvaladd,ofsmtptrs,ofsmcptr2 EXTSYM Testval - - - - - ; makev16t macros %macro procwindowback 0 @@ -1759,5 +1755,3 @@ EXTSYM Testval %%nocache pop ecx %endmacro - - diff --git a/zsnes/src/video/vidmacro.mac b/zsnes/src/video/vidmacro.mac index 6acb944f..8690edbd 100644 --- a/zsnes/src/video/vidmacro.mac +++ b/zsnes/src/video/vidmacro.mac @@ -19,14 +19,10 @@ ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + EXTSYM OMBGTestVal,ngptrdat2,cachesingle4bng,ofshvaladd,ofsmtptrs,ofsmcptr2 EXTSYM Testval - - - - - ; makev16t macros %macro procwindowback 0 @@ -1791,5 +1787,3 @@ EXTSYM Testval %%nocache pop ecx %endmacro - - diff --git a/zsnes/src/win/copyvwin.asm b/zsnes/src/win/copyvwin.asm index 9cf79831..08bccfca 100644 --- a/zsnes/src/win/copyvwin.asm +++ b/zsnes/src/win/copyvwin.asm @@ -18,16 +18,14 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM vesa2selec,vidbuffer,GUIOn,MMXSupport,resolutn,En2xSaI,antienab,scanlines -EXTSYM hirestiledat,res512switch,curblank,spritetablea -EXTSYM lineleft,_2xSaILineW,_2xSaISuperEagleLineW, _2xSaISuper2xSaILineW -EXTSYM newengen,cfield,HalfTrans -EXTSYM GUIOn2,FilteredGUI -EXTSYM SpecialLine -EXTSYM vidbufferofsb -EXTSYM HalfTransB,HalfTransC +EXTSYM vidbuffer,GUIOn,MMXSupport,resolutn,En2xSaI,antienab,scanlines +EXTSYM hirestiledat,res512switch,curblank,spritetablea,lineleft,_2xSaILineW +EXTSYM _2xSaISuperEagleLineW, _2xSaISuper2xSaILineW,newengen,cfield,HalfTrans +EXTSYM GUIOn2,FilteredGUI,SpecialLine,vidbufferofsb,HalfTransB,HalfTransC SECTION .bss NEWSYM AddEndBytes, resd 1 ; Number of bytes between each line @@ -1552,5 +1550,3 @@ NEWSYM interpolate640x480x16bwin SECTION .data InterPtr dd 0 SECTION .text - - diff --git a/zsnes/src/win/winintrf.asm b/zsnes/src/win/winintrf.asm index bc5c83bb..61e0f508 100644 --- a/zsnes/src/win/winintrf.asm +++ b/zsnes/src/win/winintrf.asm @@ -18,126 +18,40 @@ ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + %include "macros.mac" -EXTSYM previdmode,DosExit,ZFileSystemInit -EXTSYM getcmdline,GUIRestoreVars,getcfg,obtaindir,ConvertJoyMap,tparms -EXTSYM preparedir,SBHDMA -EXTSYM ccmdline -EXTSYM FilenameStart -EXTSYM spcon -EXTSYM cfgsoundon -EXTSYM cfgcvidmode -EXTSYM pl1contrl,pl2contrl -EXTSYM InitDir,InitDrive -EXTSYM DOScreatenewcfg,ExecGUISaveVars -EXTSYM allocptr -extsym putchar -EXTSYM getch -EXTSYM exit -EXTSYM ZOpenFile,ZOpenMode,CurrentHandle,ZFileSeek,ZOpenFileName,ZFileSeekMode -EXTSYM ZFileSeekPos,ZFileSeekHandle -EXTSYM ZFileWriteHandle,ZFileWriteSize,ZFileWriteBlock,ZFileWrite -EXTSYM ZFileReadHandle,ZFileReadSize,ZFileReadBlock,ZFileRead -EXTSYM ZFileDelFName,ZFileDelete -EXTSYM ZCloseFileHandle,ZCloseFile -EXTSYM ZFileTellHandle,ZFileTell -EXTSYM ZFFTimeFName,ZFTime,ZFDate,ZFileGetFTime -EXTSYM GetTime -EXTSYM GetDate -extsym kbhit -extsym GUIkeydelay2 -;extsym _kbhit -;EXTSYM _getch -extsym _chdrive -EXTSYM ZFileMKDir,ZFileCHDir,ZFileRMDir,CHPath,MKPath,RMPath -EXTSYM ZFileGetDir,DriveNumber,DirName -EXTSYM _getdrive -EXTSYM DTALoc,DTALocPos,ZFileFindATTRIB,ZFileFindFirst,ZFileFindNext,ZFileFindPATH -EXTSYM NoSoundReinit,soundon,DSPDisable,NoSoundReinit -EXTSYM init60hz,init18_2hz -EXTSYM Start60HZ -EXTSYM pressed -EXTSYM RaisePitch,AdjustFrequency -EXTSYM vidbufferofsb,vidbuffer -EXTSYM clearwin -EXTSYM Stop60HZ -EXTSYM dosmakepal -EXTSYM doschangepal -EXTSYM dosinitvideo,dosinitvideo2 -EXTSYM initwinvideo -EXTSYM vesa2_rpos -EXTSYM vesa2_gpos -EXTSYM vesa2_bpos -EXTSYM vesa2_rposng -EXTSYM vesa2_gposng -EXTSYM vesa2_bposng -EXTSYM vesa2_usbit -EXTSYM vesa2_clbit -EXTSYM vesa2_clbitng -EXTSYM vesa2_clbitng2 -EXTSYM vesa2_clbitng3 -EXTSYM genfulladdtabng -EXTSYM vesa2red10 -EXTSYM res640 -EXTSYM res480 -EXTSYM AddSub256,InitVesa2,cbitmode,cvidmode -EXTSYM scanlines,vesa2_bits -EXTSYM vesa2_x,vesa2_y -EXTSYM vesa2selec,videotroub -EXTSYM genfulladdtab -EXTSYM GUICPC -EXTSYM drawscreenwin -EXTSYM ConvertToAFormat -EXTSYM UnusedBit,HalfTrans,UnusedBitXor,UnusedBit,UnusedBitXor -EXTSYM ngrposng,nggposng,ngbposng,HalfTransB,HalfTransC -EXTSYM DosUpdateDevices -EXTSYM WinUpdateDevices -EXTSYM DOSJoyRead -EXTSYM UpdateVFrame -EXTSYM GetMouseX -EXTSYM GetMouseY -EXTSYM GetMouseMoveX -EXTSYM GetMouseMoveY -EXTSYM GetMouseButton -EXTSYM SetMouseMinX,SetMouseMaxX -EXTSYM SetMouseMinY,SetMouseMaxY -EXTSYM SetMouseX,SetMouseY -EXTSYM T36HZEnabled -EXTSYM MouseButton -EXTSYM GUIinit36_4hz,GUIoldhand9s,GUIoldhand9o,GUIoldhand8s,GUIoldhand8o -EXTSYM GUIinit18_2hz -EXTSYM Start36HZ -EXTSYM Stop36HZ -EXTSYM BufferSizeW,BufferSizeB,ProcessSoundBuffer -EXTSYM CheckTimers -EXTSYM vesa2_rfull,vesa2_rtrcl,vesa2_rtrcla -EXTSYM vesa2_gfull,vesa2_gtrcl,vesa2_gtrcla -EXTSYM vesa2_bfull,vesa2_btrcl,vesa2_btrcla -EXTSYM Init_2xSaIMMXW -EXTSYM TCPIPPortNum -EXTSYM InitTCP -EXTSYM StartServerCycle -EXTSYM ServerCheckNewClient -EXTSYM acceptzuser -EXTSYM TCPIPAddress -EXTSYM ConnectServer -EXTSYM WaitForServer -EXTSYM SendDataNop -EXTSYM SendDataUDPNop -EXTSYM GetDataNop -EXTSYM DeInitTCP -EXTSYM StopServer -EXTSYM Disconnect -EXTSYM UDPDisableMode,UDPEnableMode,UDPClearVars,UDPWait1Sec -EXTSYM WinErrorA2,WinErrorB2,WinErrorC2 -EXTSYM ZsnesPage -EXTSYM V8Mode,GrayscaleMode -EXTSYM PrevWinMode,PrevFSMode +EXTSYM DosExit,ZFileSystemInit,getcmdline,GUIRestoreVars,getcfg,obtaindir +EXTSYM ConvertJoyMap,tparms,preparedir,SBHDMA,ccmdline,spcon,cfgsoundon +EXTSYM cfgcvidmode,InitDir,InitDrive,DOScreatenewcfg,ExecGUISaveVars,allocptr +EXTSYM putchar,getch,exit,ZOpenFile,ZOpenMode,ZFileSeek,ZOpenFileName +EXTSYM ZFileSeekMode,ZFileSeekPos,ZFileSeekHandle,ZFileWriteHandle +EXTSYM ZFileWriteSize,ZFileWriteBlock,ZFileWrite,ZFileReadHandle,ZFileReadSize +EXTSYM ZFileReadBlock,ZFileRead,ZFileDelFName,ZFileDelete,ZCloseFileHandle +EXTSYM ZCloseFile,ZFileTellHandle,ZFileTell,ZFFTimeFName,ZFTime,ZFDate +EXTSYM ZFileGetFTime,GetTime,GetDate,GUIkeydelay2,_chdrive,ZFileMKDir,ZFileCHDir +EXTSYM ZFileRMDir,CHPath,MKPath,RMPath,ZFileGetDir,DirName,_getdrive,DTALoc +EXTSYM DTALocPos,ZFileFindATTRIB,ZFileFindFirst,ZFileFindNext,ZFileFindPATH +EXTSYM soundon,DSPDisable,Start60HZ,pressed,RaisePitch,AdjustFrequency +EXTSYM vidbufferofsb,vidbuffer,clearwin,Stop60HZ,initwinvideo,vesa2_rpos +EXTSYM vesa2_gpos,vesa2_bpos,vesa2_rposng,vesa2_gposng,vesa2_bposng,vesa2_usbit +EXTSYM vesa2_clbit,vesa2_clbitng,vesa2_clbitng2,vesa2_clbitng3,vesa2red10,res640 +EXTSYM res480,cbitmode,cvidmode,vesa2_bits,vesa2_x,vesa2_y,genfulladdtab,GUICPC +EXTSYM drawscreenwin,ConvertToAFormat,UnusedBit,HalfTrans,UnusedBitXor,UnusedBit +EXTSYM UnusedBitXor,ngrposng,nggposng,ngbposng,HalfTransB,HalfTransC +EXTSYM WinUpdateDevices,UpdateVFrame,GetMouseX,GetMouseY,InitTCP,GetMouseMoveX +EXTSYM GetMouseMoveY,GetMouseButton,SetMouseMinX,SetMouseMaxX,SetMouseMinY +EXTSYM SetMouseMaxY,SetMouseX,SetMouseY,T36HZEnabled,MouseButton,Start36HZ +EXTSYM Stop36HZ,BufferSizeW,BufferSizeB,ProcessSoundBuffer,CheckTimers +EXTSYM vesa2_rfull,vesa2_rtrcl,vesa2_rtrcla,vesa2_gfull,vesa2_gtrcl,vesa2_gtrcla +EXTSYM vesa2_bfull,vesa2_btrcl,vesa2_btrcla,Init_2xSaIMMXW,StartServerCycle +EXTSYM ServerCheckNewClient,acceptzuser,ConnectServer,WaitForServer,SendDataNop +EXTSYM SendDataUDPNop,GetDataNop,DeInitTCP,StopServer,Disconnect,UDPDisableMode +EXTSYM UDPEnableMode,UDPClearVars,UDPWait1Sec,WinErrorA2,WinErrorB2,WinErrorC2 +EXTSYM ZsnesPage,V8Mode,GrayscaleMode,PrevWinMode,PrevFSMode,FrameSemaphore EXTSYM _imp__GetLocalTime@4 -EXTSYM FrameSemaphore - ; NOTE: For timing, Game60hzcall should be called at 50hz or 60hz (depending ; on romispal) after a call to InitPreGame and before DeInitPostGame are ; made. GUI36hzcall should be called at 36hz after a call GUIInit and @@ -230,7 +144,7 @@ NEWSYM allocmem NEWSYM PrintChar ret ; print character at dl, push all modified registers - pushad + pushad push eax push edx call putchar @@ -238,7 +152,7 @@ NEWSYM PrintChar ; mov ah,02h ; int 21h pop eax - popad + popad ret NEWSYM PrintStr ; Print ASCIIZ string @@ -342,7 +256,7 @@ NEWSYM Open_File_Write NEWSYM Create_File pushad mov dword[ZOpenMode],1 - mov dword[ZOpenFileName],edx + mov dword[ZOpenFileName],edx call ZOpenFile cmp eax,0FFFFFFFFh je .error @@ -483,14 +397,14 @@ NEWSYM Get_Date popad mov eax,[TempVarSeek] movzx edx,al ;Move day into edx, day is in BCD - shr edx,4 ;Chop off the second digit + shr edx,4 ;Chop off the second digit imul edx,10 ;Multiply first digit by 10, since we want decimal and al,0xF ;Remove first BCD digit add dl,al ;Add second digit to first*10 mov dh,ah ;Copy month ;Year still isn't done yet, although I don't think we use it anywhere -Nach ret - + NEWSYM Get_File_Date mov [ZFFTimeFName],edx pushad @@ -598,7 +512,6 @@ NEWSYM Check_Key ret ; returns 0 if there are no keys in the keyboard buffer, 0xFF otherwise pushad -; call kbhit call RefreshKeybBuffer mov byte[wfkey],0 mov al,[Keybhead] @@ -662,7 +575,7 @@ NEWSYM Get_Key SECTION .data KeyConvTable db 255,27 ,'1','2','3','4','5','6' ; 00h - db '7','8','9','0','-','=',8 ,9 + db '7','8','9','0','-','=',8 ,9 db 'Q','W','E','R','T','Y','U','I' ; 10h db 'O','P','[',']',13 ,255,'A','S' db 'D','F','G','H','J','K','L',';' ; 20h @@ -674,7 +587,7 @@ KeyConvTable db 208,209,210,211,255,255,255,255 ; 50h KeyConvTableS db 255,27 ,'!','@','#','$','%','^' ; 00h - db '&','*','(',')','_','+',8 ,9 + db '&','*','(',')','_','+',8 ,9 db 'Q','W','E','R','T','Y','U','I' ; 10h db 'O','P','{','}',13 ,255,'A','S' db 'D','F','G','H','J','K','L',':' ; 20h @@ -900,7 +813,7 @@ NEWSYM Get_Memfree ret NEWSYM Output_Text ; Output character (ah=02h) or string (ah=09h) - pushad + pushad ; This function usually displays an error message on-screen cmp ah,02h @@ -981,96 +894,19 @@ NEWSYM DeInitPostGame ; Called after game is ended ; ** Palette Functions ** NEWSYM makepal ; 8-bit palette set ret -; jmp dosmakepal + NEWSYM changepal ; 8-bit palette set (changes only) ret -; jmp doschangepal + NEWSYM displayfpspal ret -; mov al,128 -; mov dx,03C8h -; out dx,al -; inc dx -; mov al,63 -; out dx,al -; out dx,al -; out dx,al -; mov al,128+64 -; mov dx,03C8h -; out dx,al -; inc dx -; mov al,0 -; out dx,al -; out dx,al -; out dx,al -; ret - NEWSYM superscopepal ret -; mov al,128+16 -; mov dx,03C8h -; out dx,al -; inc dx -; mov al,63 -; out dx,al -; xor al,al -; out dx,al -; out dx,al -; ret - NEWSYM saveselectpal ret - ; set palette of colors 128,144, and 160 to white, blue, and red -; mov al,128 -; mov dx,03C8h -; out dx,al -; inc dx -; mov al,63 -; out dx,al -; out dx,al -; out dx,al -; mov al,144 -; mov dx,03C8h -; out dx,al -; inc dx -; xor al,al -; out dx,al -; out dx,al -; mov al,50 -; out dx,al -; mov al,160 -; mov dx,03C8h -; out dx,al -; inc dx -; mov al,45 -; out dx,al -; xor al,al -; out dx,al -; out dx,al -; mov al,176 -; mov dx,03C8h -; out dx,al -; inc dx -; mov al,47 -; out dx,al -; xor al,al -; out dx,al -; out dx,al -; mov al,208 -; mov dx,03C8h -; out dx,al -; inc dx -; mov al,50 -; out dx,al -; mov al,25 -; out dx,al -; xor al,al -; out dx,al -; ret - ; ** init video mode functions ** SECTION .data NEWSYM firstvideo, dd 1 @@ -1123,21 +959,12 @@ NEWSYM initvideo ; Returns 1 in videotroub if trouble occurs pushad call InitializeGfxStuff popad - ret - -; pushad -; call genfulladdtabng -; popad -; jmp dosinitvideo NEWSYM initvideo2 ; ModeQ scanline re-init (Keep blank on non-dos ports) ret -; jmp dosinitvideo2 + NEWSYM deinitvideo -; mov al,[previdmode] -; mov ah,0 -; int 10h ret ; ** copy video mode functions ** @@ -1308,7 +1135,7 @@ SECTION .text ; convert it back when writing to it back. NEWSYM UpdateDevices ; One-time input device init - call WinUpdateDevices + call WinUpdateDevices ; call DosUpdateDevices ret @@ -1371,7 +1198,7 @@ NEWSYM ScanCodeListing db 'A0H','A1H','A2H','A3H','A4H','A5H','A6H','A7H' ; A0h db 'A8H','A9H','AAH','ABH','ACH','ADH','AEH','AFH' db 'B0H','B1H','B2H','B3H','B4H','B5H','B6H','B7H' ; B0h - db 'B8H','B9H','BAH','BBH','BCH','BDH','BEH','BFH' + db 'B8H','B9H','BAH','BBH','BCH','BDH','BEH','BFH' db 'C0H','C1H','C2H','C3H','C4H','C5H','C6H','C7H' ; C0h db 'C8H','C9H','CAH','CBH','CCH','CDH','CEH','CFH' db 'D0H','D1H','D2H','D3H','D4H','D5H','D6H','D7H' ; D0h @@ -1544,7 +1371,7 @@ NEWSYM SoundProcess ; This function is called ~60 times/s at full speed popad ; DSPBuffer should contain the processed buffer in the specified size ; You will have to convert/clip it to 16-bit for actual sound process -.nosound +.nosound ret NEWSYM delay @@ -1559,7 +1386,7 @@ NEWSYM Check60hz ret SECTION .data -BitPosR db 11 +BitPosR db 11 BitPosG db 5 BitPosB db 0 BitSizeR db 5 @@ -2131,4 +1958,3 @@ NEWSYM fastblur ret %endif - diff --git a/zsnes/src/zstate.c b/zsnes/src/zstate.c index fb01264f..d78e6c58 100755 --- a/zsnes/src/zstate.c +++ b/zsnes/src/zstate.c @@ -567,30 +567,21 @@ void statesaver() if ((fhandle = fopen(fnamest+1,"wb"))) { - zst_save(fhandle, (cbitmode && !NoPictureSave) ? true : false); - + zst_save(fhandle, (bool)(cbitmode && !NoPictureSave)); fclose(fhandle); - //Display message on the screen, 'STATE X SAVED.' - if (fnamest[statefileloc] == 't') - { - txtsavemsg[6]='0'; - } - else - { - txtsavemsg[6]=fnamest[statefileloc]; - } - + //Display message onscreen, 'STATE X SAVED.' + txtsavemsg[6] = (fnamest[statefileloc] == 't') ? '0' : fnamest[statefileloc]; Msgptr = txtsavemsg; - MessageOn = MsgCount; } else { - //Display message on the screen, 'UNABLE TO SAVE.' + //Display message onscreen, 'UNABLE TO SAVE.' Msgptr = txtsavemsgfail; - MessageOn = MsgCount; } + MessageOn = MsgCount; + stim(); } @@ -611,10 +602,12 @@ bool zst_load(FILE *fp) zst_version = 0; Totalbyteloaded += fread(zst_header_check, 1, sizeof(zst_header_check), fp); + if (!memcmp(zst_header_check, zst_header_cur, sizeof(zst_header_check)-2)) { zst_version = 143; //v1.43+ } + if (!memcmp(zst_header_check, zst_header_old, sizeof(zst_header_check)-2)) { zst_version = 60; //v0.60 - v1.42 @@ -626,7 +619,7 @@ bool zst_load(FILE *fp) fhandle = fp; //Set global file handle copy_state_data(0, read_save_state_data, true); Totalbyteloaded += load_save_size; - + if (SFXEnable) { SfxCPB = SfxMemTable[(SfxPBR & 0xFF)]; @@ -652,17 +645,16 @@ bool zst_load(FILE *fp) memset(vidmemch4, 1, sizeof(vidmemch4)); memset(vidmemch8, 1, sizeof(vidmemch8)); - if (zst_version == 60) //Set new vars which old states did not have - { + if (zst_version == 60) //Set new vars which old states did not have + { prevoamptr = 0xFF; ioportval = 0xFF; spcnumread = 0; spchalted = 0xFFFFFFFF; nexthdma = 0; } - - repackfunct(); + repackfunct(); initpitch(); ResetOffset(); ResetState(); @@ -698,27 +690,15 @@ void stateloader (unsigned char *statename, unsigned char keycheck, unsigned cha if (keycheck) { - unsigned char statevalue; - pressed[1] = 0; pressed[KeyLoadState] = 2; multchange = 1; - - //Get the state number - if (fnamest[statefileloc] == 't') - { - statevalue = '0'; - } - else - { - statevalue = fnamest[statefileloc]; - } - - txtloadmsg[6] = statevalue; - txtconvmsg[6] = statevalue; - txtnfndmsg[21] = statevalue; + MessageOn = MsgCount; } + //Get the state number + txtloadmsg[6] = txtconvmsg[6] = txtnfndmsg[21] = (fnamest[statefileloc] == 't') ? '0' : fnamest[statefileloc]; + switch (MovieProcessing) { bool mzt_load(char *, bool); @@ -730,7 +710,6 @@ void stateloader (unsigned char *statename, unsigned char keycheck, unsigned cha MessageOn = MsgCount; } return; - case 2: if (mzt_load(statename, false)) { @@ -743,19 +722,12 @@ void stateloader (unsigned char *statename, unsigned char keycheck, unsigned cha clim(); //Actual state loading code - if ((fhandle = fopen(statename,"rb")) != NULL) + if ((fhandle = fopen(statename,"rb"))) { - if (xfercheck) { Totalbyteloaded = 0; } - - if (zst_load(fhandle)) - { - Msgptr = txtloadmsg; // 'STATE X LOADED.' - } - else - { - Msgptr = txtconvmsg; // 'STATE X TOO OLD.' - } + if (xfercheck) { Totalbyteloaded = 0; } + Msgptr = (zst_load(fhandle)) ? txtloadmsg : txtconvmsg; + // 'STATE X LOADED.' or 'STATE X TOO OLD.' fclose(fhandle); } else @@ -764,11 +736,6 @@ void stateloader (unsigned char *statename, unsigned char keycheck, unsigned cha } stim(); - - if (keycheck) - { - MessageOn = MsgCount; - } } void debugloadstate()