Pruning of ~6 years of useless EXTSYMs *whew*. Better code in zstate.c, should fix the 'dash issue'.

This commit is contained in:
grinvader
2005-04-10 04:32:59 +00:00
parent 71ca16557d
commit 7a706dcd65
71 changed files with 857 additions and 1960 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
;*******************************************************

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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]

View File

@@ -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)

View File

@@ -20,11 +20,6 @@
;*******************************************************
; InitReg Initializes Registers
;*******************************************************
@@ -101,5 +96,3 @@
mov al,bl
.ny7
%endmacro

View File

@@ -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

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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