H-DMA fix

This commit is contained in:
pagefault
2001-09-18 02:25:44 +00:00
parent 5de9f145a1
commit a60960757d
2 changed files with 18 additions and 1 deletions

View File

@@ -23,7 +23,7 @@ EXTSYM memtablew8,regptr
EXTSYM dmadata EXTSYM dmadata
EXTSYM hdmatype EXTSYM hdmatype
EXTSYM nexthdma EXTSYM nexthdma
EXTSYM curhdma,curypos,hdmadata,hdmadelay,hdmaearlstart EXTSYM curhdma,curypos,hdmadata,hdmadelay,hdmaearlstart,nohdmaoff
EXTSYM resolutn EXTSYM resolutn
EXTSYM memtabler16 EXTSYM memtabler16
@@ -856,6 +856,10 @@ NEWSYM reg420Cw
pop ebx pop ebx
; call exechdma ; call exechdma
; call exechdma ; call exechdma
cmp byte[hdmaearlstart],2
je .nohdma
cmp byte[nohdmaoff],1
je .nohdma
mov byte[hdmaoff],1 mov byte[hdmaoff],1
.nohdma .nohdma
mov byte[hdmarestart],0 mov byte[hdmarestart],0

View File

@@ -1339,6 +1339,7 @@ NEWSYM ClearScreenSkip, db 0
NEWSYM hirqmode2, db 0 NEWSYM hirqmode2, db 0
NEWSYM ENVDisable, db 0 NEWSYM ENVDisable, db 0
NEWSYM MMXSRAMFix, db 0 NEWSYM MMXSRAMFix, db 0
NEWSYM nohdmaoff, db 0
SECTION .text SECTION .text
; hacks : ; hacks :
@@ -1462,6 +1463,7 @@ NEWSYM headerhack
mov byte[hirqmode2],0 mov byte[hirqmode2],0
mov byte[ENVDisable],0 mov byte[ENVDisable],0
mov byte[MMXSRAMFix],0 mov byte[MMXSRAMFix],0
mov byte[nohdmaoff],0
mov esi,[romdata] mov esi,[romdata]
add esi,07FC0h add esi,07FC0h
@@ -1604,6 +1606,17 @@ NEWSYM headerhack
mov byte[MMXSRAMFix],1 mov byte[MMXSRAMFix],1
.notmmx .notmmx
mov esi,[romdata]
add esi,0FFC0h
cmp dword[esi],'Stre'
jne .notsf
cmp dword[esi+4],'et F'
jne .notsf
cmp dword[esi+8],'ight'
jne .notsf
mov byte[nohdmaoff],1
.notsf
mov esi,[romdata] mov esi,[romdata]
add esi,07FC0h add esi,07FC0h
cmp dword[esi],'STAR' cmp dword[esi],'STAR'