What's new

Sp Dma Read

hsrstud

New member
I am wondering if anyone has found a solution to the SP DMA READ error. I'm about 3/4 finished with DK64 and suddenly this error pops up. I tried the Azimer v0.56 WIP 2 audio plugin, as suggested elsewhere, but the sound becomes choppy and inaudible. Any further suggestions would be greatly appreciated.

Thanks!
 

Clements

Active member
Moderator
DK64 is still is not 100% stable with PJ64 1.6 and the latest RDB updates (greatly improved over 1.5, though). It crashed for me in Crystal Caves without use of cheats, save states etc with a valid image. If you haven't already, download the update pack at pj64.net. If using Jabo's audio, always use the sync option in the audio settings.
 

Iconoclast

New member
It crashed for me in Crystal Caves without use of cheats, save states etc with a valid image.
Did you try making a save state right before the Crystal Caves level, using 1964 to load the unzipped PJ64 save state, and testing 1964's stability with the level?
 

Clements

Active member
Moderator
1964's PJ64 save state loader rarely actually works. Native saves do transfer fine. I don't have enough time to do stability tests under 1964 or any other emulator, but in PJ64 it did crash when entering a minigame barrel after a few hours of play through no fault of my own. I also experienced other core problems such as falling through the ground when climbing vines or trees.

DK64 has been known to have core problems with it since DK64 support was first added, and was only partially fixed by PJ64 1.6. 1964 also had core problems with DK64 that were improved with v0.9.9, and currently it's using CF6 by default to run the game so is very choppy compared to PJ64 which is using CF1.
 
OP
H

hsrstud

New member
To add more info, I had already tried 1964's PJ64 save state loader and the rom froze.

Just to confirm, at this point, it sounds like my adventure in DK64 has come to an end for now?

Is the SP DMA READ error fairly common when playing N64 roms?

Thanks again.
 

Iconoclast

New member
You'll just have to try 1964 and Mupen64 and see if they give you core issues. I predict that Mupen64 will not. Sad to say, I guess 1964's save state reader is just not implemented correctly yet.
1964's PJ64 save state loader rarely actually works. Native saves do transfer fine. I don't have enough time to do stability tests under 1964 or any other emulator, but in PJ64 it did crash when entering a minigame barrel after a few hours of play through no fault of my own. I also experienced other core problems such as falling through the ground when climbing vines or trees.

DK64 has been known to have core problems with it since DK64 support was first added, and was only partially fixed by PJ64 1.6. 1964 also had core problems with DK64 that were improved with v0.9.9, and currently it's using CF6 by default to run the game so is very choppy compared to PJ64 which is using CF1.
The only core issues I'm noticing in DK64 with the other emulators are the intro timing and some timing issues. But, that's the problem: These emulator authors aren't working as a team. There isn't a universal save state format portable between emulators. The native saves won't transfer correctly for me.
 

Clements

Active member
Moderator
I played the game for nearly 20 hours on PJ64 1.6 + latest updates when I was testing the counter factor change from 2 to 1 and its effects on stability a few months ago (I also have over 40 hours logged on the real console). Plenty of time for me to notice the current core bugs.

DK64's native saves do transfer to 1964 0.9.9 for me once renamed - I tested it a few hours ago.

Universal save state formats that work across different emulators are not normally feasible to maintain - as soon as the core of one emulator changes, the save state format inevitably also changes, breaking any cross-compatibility. For example, Snes9x can no longer load ZSNES states from updated builds, ZSNES cannot load old ZSNES state files, and 1964's PJ64 save loading system also fails to work.
 
Last edited:

Iconoclast

New member
I played the game for nearly 20 hours on PJ64 1.6 + latest updates when I was testing the counter factor change from 2 to 1 and its effects on stability a few months ago (I also have over 40 hours logged on the real console). Plenty of time for me to notice the current core bugs.

DK64's native saves do transfer to 1964 0.9.9 for me once renamed - I tested it a few hours ago.
Are you a PJ64 1.7 betatester, or do you just test Project64 1.6 and below versions?

In my documentations, I wrote that Project64 was the best emulator for this game. I feel, perhaps I was mistaken. Perhaps the game-audio sync issues in the other three decent N64 emulators are worth what problems they might fix that Project64 doesn't. For example, the character strectch/geometry issue seems to be a PJ64 core issue. And the crash in Crystal Caves? I think I'm going to tweak around the RDB a little, look into these couple of problems, see which emulators cause this, but it looks like you have the RDB settings for this game already more figured out than I do.

Universal save state formats that work across different emulators are not normally feasible to maintain - as soon as the core of one emulator changes, the save state format inevitably also changes, breaking any cross-compatibility. For example, Snes9x can no longer load ZSNES states from updated builds, ZSNES cannot load old ZSNES state files, and 1964's PJ64 save loading system also fails to work.
I thought that might seem a little difficult. Then, perhaps, an input plugin that can store native saves in the mempak file (somehow so the ROM searches the mempak, not the native, if possible) so it can be read on other emulators?

And that Project64-1964 native save transfer you said would work...I tried it, but right after I copied the save, renamed it to 1964's save file, the next time I tested DK64 on 1964 to see if it would work...I had no control over the game, and it crashed at the title screen. Such luck. I'll look into it for the other games though, but last time I checked, I don't think it worked. Maybe it depends on the game....
 
OP
H

hsrstud

New member
My SP DMA READ problem occurred in Fungi Forest, either when I fight the end boss, or when I ride on the mine cart in one of the bonus stages with DK.
 
OP
H

hsrstud

New member
By the way, is it possible to use the native save feature after loading from a save state?
 

Iconoclast

New member
By the way, is it possible to use the native save feature after loading from a save state?
wtf I don't understand your question.

Anyway, I already said what to do. Try loading your save on 1964 or Mupen64, and see if the issue persists, while I try and test this game on other emulators.
 

Clements

Active member
Moderator
I'll attach my DK64 save here. Haven't had enough time lately to get any further to see if there are crashes later on in the game. Crashes may be random, not certain yet. There are definitely infrequent but still present in PJ64. No cheats, save states etc were used at any point in generating the save as stated before.
 

Iconoclast

New member
The sad part is...the crashes are infrequent, making it difficult for me to fix an issue I can't even find! So far, in Crystal Caves and Fungi Forest, no crash.

If I don't reply to this thread again, that means I never found a crash, but if I do, I will test it as much as possible and try to find a bypass for the issue and certainly reply to this thread. (Hopefully, I won't end up double-posting...just posting this to confirm that I downloaded the save and that I'm not just asking for it so I can steal Clements' progress or something.)

Are there any other instances someone can think of where this game will crash? I'm tired of wandering around Fungi Forest, trying to look for something that will crash my game, so if anyone can remember an instance....
 

uais

New member
Hello,

I know that this thread is very old but I play with (and for) my children who is 6 years old and that is the second time I am blocked with this message first time I was obliged to restart from a previous level and now I make a save at each end of level
I think my problem is that I save too often (using F5) but that is not possible to save by the program because when I restart my emulator the saves are not kept! if someone may help me
last point I have tried to start from the beginning , save after the first banana , end my rom , restart my rom ... and my save is not kept ... is there any reason ?

Best regards,
Loïc
 

squall_leonhart

The Great Gunblade Wielder
using save states is a potential cause of issue. garbage data builds up leading to more chance of an issue occuring.

anyway, the problem lies in the 1.6 core and can't be fixed by simply changing the RDB settings
 

PistolSlap

New member
using save states is a potential cause of issue. garbage data builds up leading to more chance of an issue occuring.

anyway, the problem lies in the 1.6 core and can't be fixed by simply changing the RDB settings

no solution at all? (/_\)
I have logged 24 hours into this game, getting 100% on all levels up to crystal caves, when it first crashed right as lanky was attempting to enter the ice castle. after that it crashed everywhere after about 10 minutes of play.

i have attached my save file for pj64 2.0 : native saves do not work
please tell me there is a solution :(
 

Attachments

  • Donkey Kong 64 (U).pj.zip
    2.4 MB · Views: 61

Iconoclast

New member
My, an old thread! That necrology brought back memories.

It's been quite a while since I'd posted here, but since then I've corrected SP DMA on the RSP interpreter side with some slight changes to vector alignment. Someone reported this DK64 SP DMA failure as a problem within my own RSP dll, and I isolated it to audio microcodes. It was also a problem in the Project64 RSP interpreter by zilmar, since he didn't check wrap-arounds.

So, using an audio plugin like Azimer's HLE with send alists/hle checked in the RSP plugin settings should also fix this crashing. Alternatively, use a more stable RSP interpreter plugin, such as the one I worked on (but haven't finished updating yet).
 

PistolSlap

New member
My, an old thread! That necrology brought back memories.

It's been quite a while since I'd posted here, but since then I've corrected SP DMA on the RSP interpreter side with some slight changes to vector alignment. Someone reported this DK64 SP DMA failure as a problem within my own RSP dll, and I isolated it to audio microcodes. It was also a problem in the Project64 RSP interpreter by zilmar, since he didn't check wrap-arounds.

So, using an audio plugin like Azimer's HLE with send alists/hle checked in the RSP plugin settings should also fix this crashing. Alternatively, use a more stable RSP interpreter plugin, such as the one I worked on (but haven't finished updating yet).

haha i guarantee you i understood essentially none of that. thanks for the reply. are these all settings I can access within some menu within pj64 option settings? will this fix the issue from happening altogether, or just the initial incident? (by initial incident I mean that particular place on the map. however, since then, it has been happening randomly anywhere in the game after about 5 minutes of play -- I read somewhere it was because my save state had been corrupted when the initial incident took place)

thanks for the help!
If I could actually continue playing the game that would be wonderful!
 

Iconoclast

New member
It depends what version of Project64 you're running.

If you're using anything before 1.7, you should turn on audio HLE through the RSP plugin configuration (Options :: RSP Settings... or something to that effect). "Send alists to audio plugin" or whatever.

If you're using Project64 2.1, just check the box for audio HLE in the main options settings.

Either way, you'll need to install an HLE audio plugin. Currently that means Azimer's audio plugin. Check the Apollo section of this board for the latest download. Make sure you switch plugin to that for audio.

As a fallback alternative to the above, if you want more accuracy and less speed (than HLE method), there's another RSP emulator I wrote that should fix the issue with Project64's default sound plugin, if you don't want to change any of those settings I just mentioned. Just replace $Project64/Plugin/rsp.dll (or Plugin/RSP/RSP 1.7.0.9.dll if that exists?) with this RSP emulator here to use that instead of the faulted interpreter that Project64 ships with for RSP.
 

PistolSlap

New member
It depends what version of Project64 you're running.

If you're using anything before 1.7, you should turn on audio HLE through the RSP plugin configuration (Options :: RSP Settings... or something to that effect). "Send alists to audio plugin" or whatever.

If you're using Project64 2.1, just check the box for audio HLE in the main options settings.

Either way, you'll need to install an HLE audio plugin. Currently that means Azimer's audio plugin. Check the Apollo section of this board for the latest download. Make sure you switch plugin to that for audio.

As a fallback alternative to the above, if you want more accuracy and less speed (than HLE method), there's another RSP emulator I wrote that should fix the issue with Project64's default sound plugin, if you don't want to change any of those settings I just mentioned. Just replace $Project64/Plugin/rsp.dll (or Plugin/RSP/RSP 1.7.0.9.dll if that exists?) with this RSP emulator here to use that instead of the faulted interpreter that Project64 ships with for RSP.

Hmm, okay.
I tried the first option. The Azimer's 0.7 wip4 plugin was not detected in pj64 2.0, but v0.6 wip2 that I got elsewhere did. Good news: I am able to play past that point now. Bad news: The audio is 85% static. Further bad news: If I play past that point, then wait until an area of the map that I could previously play in just fine, then quicksave, change the plugin back, then quickload, I get an error message stating "CN64System::RunRSP Unknown memory action Emulation stop". So, now in order to be able to play the game I have to have no audio.

I did try your other alternative, but the download link you provided contained 'bin' and 'src' folders with many files. If I extracted the rsp.dll from the folder and replaced my RSP1.7.dll, I get an error saying "cannot open a rom because plugins have not successfully initialized". If I renamed rsp.dll to RSP1.7.dll and tried again, I get a CMD window saying "RSP Message -- failed to read config." If I exit out of the CMD window the rom boots, with sound, but when I try to load my save I get another CMD window saying "SQV Weird addr."

So I am again stuck -- now I can play it, but without audio. :(
 

Top