H-DMA fix
This commit is contained in:
@@ -23,7 +23,7 @@ EXTSYM memtablew8,regptr
|
||||
EXTSYM dmadata
|
||||
EXTSYM hdmatype
|
||||
EXTSYM nexthdma
|
||||
EXTSYM curhdma,curypos,disablehdma,hdmadata,hdmadelay,hdmaearlstart
|
||||
EXTSYM curhdma,curypos,hdmadata,hdmadelay,hdmaearlstart
|
||||
EXTSYM resolutn
|
||||
EXTSYM memtabler16
|
||||
|
||||
@@ -771,6 +771,7 @@ NEWSYM setuphdma2
|
||||
|
||||
NEWSYM hdmastartsc, db 0
|
||||
NEWSYM hdmarestart, db 0
|
||||
NEWSYM hdmaoff, db 0
|
||||
|
||||
NEWSYM reg420Cw
|
||||
|
||||
@@ -778,8 +779,8 @@ NEWSYM reg420Cw
|
||||
mov bx,[resolutn]
|
||||
cmp word[curypos],bx
|
||||
jae near .nohdma
|
||||
cmp byte[disablehdma],0
|
||||
jne near .nohdma
|
||||
cmp byte[hdmaoff],1
|
||||
je near .nohdma
|
||||
; jmp starthdma
|
||||
mov al,[curhdma]
|
||||
mov [nexthdma],al
|
||||
@@ -855,6 +856,7 @@ NEWSYM reg420Cw
|
||||
pop ebx
|
||||
; call exechdma
|
||||
; call exechdma
|
||||
mov byte[hdmaoff],1
|
||||
.nohdma
|
||||
mov byte[hdmarestart],0
|
||||
ret
|
||||
|
||||
@@ -69,7 +69,7 @@ EXTSYM reg4read,resolutn,romdata,scrndis,spcBuffera,spcP,spcRam
|
||||
EXTSYM spcnumread,tableD,timeron,vidbright,DSPMem,OldGfxMode2
|
||||
EXTSYM SPC700read,SPC700write,GUIDoReset,spc700read
|
||||
EXTSYM InitC4,SA1Reset,SetAddressingModesSA1,SetAddressingModes,SDD1BankA,SPC7110init
|
||||
EXTSYM RTCinit,InitOBC
|
||||
EXTSYM RTCinit,InitOBC,hdmaoff
|
||||
EXTSYM memaccessspc7110r8,memaccessspc7110r16,memaccessspc7110w8
|
||||
EXTSYM memaccessspc7110w16
|
||||
EXTSYM ram7f,snesmap2,snesmmap,sram,MultiTap
|
||||
@@ -1321,7 +1321,6 @@ NEWSYM StoreBuffer, times 128*32 db 0
|
||||
|
||||
SECTION .data
|
||||
NEWSYM execatzerovirq, db 0
|
||||
NEWSYM disablehdma, db 0
|
||||
NEWSYM disableeffects, db 0
|
||||
NEWSYM hdmaearlstart, db 0
|
||||
NEWSYM hdmadelay, db 0
|
||||
@@ -1454,7 +1453,6 @@ headerhack2:
|
||||
.mmx2head db 50,58,56,62,50,62,49,95,39,77,95,95,95,95,95,95,95,95,95,95
|
||||
|
||||
NEWSYM headerhack
|
||||
mov byte[disablehdma],0
|
||||
mov byte[Offby1line],0
|
||||
mov byte[CacheCheckSkip],0
|
||||
mov word[IRQHack],0
|
||||
@@ -1618,30 +1616,6 @@ NEWSYM headerhack
|
||||
mov byte[opexec358],187
|
||||
.notds9
|
||||
|
||||
mov esi,[romdata]
|
||||
add esi,0FFC0h
|
||||
cmp dword[esi],'Baha'
|
||||
jne .notbahamutlagoon
|
||||
cmp dword[esi+4],'mut '
|
||||
jne .notbahamutlagoon
|
||||
cmp dword[esi+8],'Lago'
|
||||
jne .notbahamutlagoon
|
||||
mov byte[disablehdma],1
|
||||
.notbahamutlagoon
|
||||
|
||||
mov esi,[romdata]
|
||||
add esi,07FC0h
|
||||
cmp dword[esi],'MORT'
|
||||
jne .notmk
|
||||
cmp dword[esi+4],'AL K'
|
||||
jne .notmk
|
||||
cmp dword[esi+8],'OMBA'
|
||||
jne .notmk
|
||||
cmp dword[esi+12],'T '
|
||||
jne .notmk
|
||||
mov byte[disablehdma],1
|
||||
.notmk
|
||||
|
||||
mov esi,[romdata]
|
||||
add esi,0FFC0h
|
||||
cmp dword[esi],'CLOC'
|
||||
@@ -1690,11 +1664,6 @@ NEWSYM headerhack
|
||||
mov byte[cycpblt],75
|
||||
.nottuffenuff
|
||||
|
||||
cmp byte[DSP1Type],0
|
||||
je .notdis
|
||||
mov byte[disablehdma],1
|
||||
.notdis
|
||||
|
||||
; Here are the individual game hacks. Some of these probably can
|
||||
; be removed since many of them were created very early in ZSNES
|
||||
; development.
|
||||
@@ -1821,16 +1790,6 @@ NEWSYM headerhack
|
||||
mov byte[opexec358cph],44
|
||||
.noromhead5
|
||||
|
||||
; PunchOut - Disable HDMA start in middle of screen
|
||||
mov esi,[romdata]
|
||||
add esi,07FC0h
|
||||
mov edi,.pouthead
|
||||
call Checkheadersame
|
||||
cmp al,0
|
||||
jne .noromhead7
|
||||
mov byte[disablehdma],1
|
||||
.noromhead7
|
||||
|
||||
; Front Mission - -p 140
|
||||
mov esi,[romdata]
|
||||
add esi,0FFC0h
|
||||
@@ -2121,7 +2080,6 @@ NEWSYM init65816
|
||||
|
||||
mov byte[prevoamptr],0FFh
|
||||
mov byte[execatzerovirq],0
|
||||
mov byte[disablehdma],0
|
||||
mov byte[disableeffects],0
|
||||
mov byte[dracxhack],0
|
||||
mov al,[opexec268b]
|
||||
@@ -2170,6 +2128,7 @@ NEWSYM init65816
|
||||
mov byte[NMIEnab],1
|
||||
mov word[VIRQLoc],0
|
||||
mov byte[doirqnext],0
|
||||
mov byte[hdmaoff],0
|
||||
mov dword[reg1read],0
|
||||
mov word[resolutn],224
|
||||
mov byte[vidbright],0
|
||||
|
||||
Reference in New Issue
Block a user