Coder Social home page Coder Social logo

Comments (18)

cxd4 avatar cxd4 commented on July 28, 2024 1

The only one I remember is when draining the Kakariko well by learning the Song of Storms in the windmill. There is another way to get it to crash when not using Protect Memory, but it depends which self-mod code you are using so is not consistently describable.

from project64.

cxd4 avatar cxd4 commented on July 28, 2024

Also, Super Smash Bros does not work with Angrylion's or Shunyuan's plugin, with protect memory and cpu recompiler enabled.

Wouldn't it fail with LLE graphics plugins in general and not just angrylion's then?

from project64.

cxd4 avatar cxd4 commented on July 28, 2024

Try testing with 8 MB expansion pak emulated.
That exception might be triggered off of an access violation when doing DMA, which could go up to a 16 MB address.

from project64.

LegendOfDragoon avatar LegendOfDragoon commented on July 28, 2024

For Super Smash Bros, z64gl and Jabo 1.7 both work. When I try running Angrylion's for Super Smash Bros, I get an error message saying "Breakpoint found at N64 System\Mips\Memory Virtual Mem.cpp 1692".

Just tried 8mb and that didn't fix the problem either, for Jet Force Gemini.

from project64.

LegendOfDragoon avatar LegendOfDragoon commented on July 28, 2024

This is also a problem in Zelda OOT.

from project64.

cxd4 avatar cxd4 commented on July 28, 2024

^ That would be unfortunate since Zelda OOT actually requires memory protect.
There are self-mod method combos that make it "playable" without protect memory, but it may and very well can crash at some point or another.

from project64.

purplemarshmallow avatar purplemarshmallow commented on July 28, 2024

I investigated the crash during the intro cutscene in Jet Force Gemini with GLideN64 and the recompiler. It only crashes with the PJ64 recompiler, the interpreter works. With other emulators there's no crash. If I disable protect memory and use savestates I can get past the point where the emulator crashes.

If protect memory is enabled PJ64 gives GLideN64 the command to fill RDRAM but with completely wrong values. GLideN64 does this and the emulator crashes

from project64.

LegendOfDragoon avatar LegendOfDragoon commented on July 28, 2024

When I debugged that game with GlideN64, I noticed that for some reason, GlideN64 has a problem with exception handling. The plugin doesn't work on my computer, so I have to debug it on a remote machine 😞 . If you can help me with getting it to compile for zilmar spec, I'd be willing to debug it again.

from project64.

purplemarshmallow avatar purplemarshmallow commented on July 28, 2024

There's a guide here: https://github.com/gonetz/GLideN64/wiki/Build-From-Source-(Windows)
If you don't want to build qt you can download GLideNUI.lib here: https://drive.google.com/file/d/0B0YqMPjGo3B2Y1lfVi1yOENBV3M/view?usp=sharing
You can put it in src/GLideNUI/release. I've built the release build with debug information and used it for debugging because I didn't want to deal with Qt

The plugin doesn't work on my computer, so I have to debug it on a remote machine 😞

I think it should be possible to make the plugin compatible with older hardware. It's based on glN64 and this plugin used to work on every gpu. On older GPUs some new features might need to be disabled. But the combiner can be problematic because it has been rewritten using GLSL 3.30.

from project64.

LegendOfDragoon avatar LegendOfDragoon commented on July 28, 2024

But the combiner can be problematic because it has been rewritten using GLSL 3.30.

That probably explains the strange colors I'm seeing. Anyway, I'll see about testing JFG with GLideN64 when I can.

from project64.

project64 avatar project64 commented on July 28, 2024

if a game has code in a block (4kb) the memory is protected against writes. If there is a write then you will get a crash yes, but the exception handler of pj64 should handle this, clear the recompiled code at this address and write to the memory.

So the exception handler in what ever plugin needs to let the crash happen, so pj64 can handle it.

from project64.

LegendOfDragoon avatar LegendOfDragoon commented on July 28, 2024

If there is a write then you will get a crash yes, but the exception handler of pj64 should handle this, clear the recompiled code at this address and write to the memory.

The issue is that you exception handler doesn't handle certain x86 instructions. Although I don't know what GLideN64 is doing, so it is possible that it's doing something wrong for JFG. I just remember that when using Angrylion's RDP in Super Smash Bros with Protect Memory, it used to crash. I haven't enabled Protect Memory for that game in a long time, so I don't know if it's still an issue, but I'm fairly certain it never got fixed.

Maybe if I get around to testing, I'll let you know what the instruction was.

from project64.

project64 avatar project64 commented on July 28, 2024

if it is an unhanded x86 that should be easy enough to add in

from project64.

LegendOfDragoon avatar LegendOfDragoon commented on July 28, 2024

Easy, but time consuming πŸ˜„ . Anyway, I just tried using SHunyuan's and it crashed with this instruction
mov word ptr [eax+ecx*2],si

There's a lot more instructions to support though. Maybe I can review some of the stuff I wrote down a while back, if you're interested in adding more instructions.

from project64.

LegendOfDragoon avatar LegendOfDragoon commented on July 28, 2024

I can't seem to get Zelda OOT to work anymore, on Protect Memory. Anyone else able to get it working? I was going to try fixing the debugger crash, but I can't even boot this game lol.

from project64.

LegendOfDragoon avatar LegendOfDragoon commented on July 28, 2024

I would like to look into figuring out a good way to do self modifying code detection. Does anyone know where crashes happen in Zelda OOT when not using Protect Memory?

from project64.

LegendOfDragoon avatar LegendOfDragoon commented on July 28, 2024

Thanks πŸ˜ƒ . I'll try testing that out.

from project64.

gonetz avatar gonetz commented on July 28, 2024

@project64 please take a look: gonetz/GLideN64#764

from project64.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.