Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Libretro
melonDS
Commits
261689d3
Commit
261689d3
authored
Feb 17, 2017
by
StapleButter
Browse files
'FIFO full' hack for SM64DS.
parent
97d76add
Changes
4
Hide whitespace changes
Inline
Side-by-side
GPU3D.cpp
View file @
261689d3
...
...
@@ -841,8 +841,6 @@ void SubmitVertex()
int
logflag
=
0
;
void
CmdFIFOWrite
(
CmdFIFOEntry
&
entry
)
{
if
(
CmdFIFO
->
IsEmpty
()
&&
!
CmdPIPE
->
IsFull
())
...
...
@@ -853,10 +851,17 @@ void CmdFIFOWrite(CmdFIFOEntry& entry)
{
if
(
CmdFIFO
->
IsFull
())
{
if
(
!
logflag
)
printf
(
"!!! GX FIFO FULL
\n
"
);
logflag
=
1
;
//NDS::debug(0);
return
;
//printf("!!! GX FIFO FULL\n");
//return;
// temp. hack
// SM64DS seems to overflow the FIFO occasionally
// either leftover bugs in our implementation, or the game accidentally doing that
// TODO: investigate.
// TODO: implement this behavior properly (freezes the bus until the FIFO isn't full anymore)
while
(
CmdFIFO
->
IsFull
())
ExecuteCommand
();
}
CmdFIFO
->
Write
(
entry
);
...
...
@@ -878,8 +883,6 @@ CmdFIFOEntry CmdFIFORead()
CheckFIFOIRQ
();
}
logflag
=
0
;
return
ret
;
}
...
...
GPU3D.h
View file @
261689d3
...
...
@@ -56,6 +56,8 @@ bool Init();
void
DeInit
();
void
Reset
();
void
ExecuteCommand
();
void
Run
(
s32
cycles
);
void
CheckFIFOIRQ
();
void
CheckFIFODMA
();
...
...
NDS.cpp
View file @
261689d3
...
...
@@ -311,7 +311,7 @@ void Reset()
// test
//LoadROM();
//LoadFirmware();
if
(
NDSCart
::
LoadROM
(
"rom/
n
sm
b
.nds"
))
if
(
NDSCart
::
LoadROM
(
"rom/sm
64ds
.nds"
))
Running
=
true
;
// hax
}
...
...
melonDS.depend
View file @
261689d3
...
...
@@ -146,7 +146,7 @@
"NDS.h"
"NDSCart.h"
1487
287868
c:\documents\sources\melonds\gpu3d.h
1487
356069
c:\documents\sources\melonds\gpu3d.h
1487354054 source:c:\documents\sources\melonds\gpu3d.cpp
<stdio.h>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment