Project64MM v2.1 (Memory Mod) - More RDRAM for your SM64 Hacks
Users browsing this thread: 1 Guest(s)

Project64MM (Memory Mod) v2.1 - OMGZ MOAR RAMz!?
Because Origami is very tolerant to emulator modifications, unlike shitty, old, toxic SMWCentral, I decided to release my PJ64 modification. I had to re-write lots of stuff to get it working and here it is. Basically it allows more RDRAM (up to 32MB). Theoretically we could go even further, nearly up to 62 or 63MB, but as of now I'm not 100% sure on this and 32MB RDRAM are more than enough, to be honest.

Where could this be useful?
  • Bigger Levels (like a 300k poly level)
  • Better, more detailed models.
  • Better, more detailed textures?
  • Longer and better music. Maybe make use of .WAV formats to get real, normal music into game.
  • Bigger codes and more freedom (you don't have to worry that some freespace is being used by Skelux, the skeleton)
  • Spawning more objects. (By using ArchangelGabriels Object Chain patch)

To get some code working, you basically use a DmaCopy to copy the code from ROM to RAM.

Download-Link:
Size: 4.81 MB / Downloads: 789 .zip   Project64MM (Memory Mod) v2.1.zip



Spoiler: Addresses
4MB RDRAM
0x80000000 - 0x803FFFFF (Used by the game already)

8MB RDRAM
0x80400000 - 0x807FFFFF (Majority used by Skelux's Level Importer)

12MB RDRAM
0x80800000 - 0x80BFFFFF (Unused)

16MB RDRAM
0x80C00000 - 0x80FFFFFF (Unused)

20MB RDRAM
0x81000000 - 0x813FFFFF (Unused)

24MB RDRAM
0x81400000 - 0x817FFFFF (Unused)

28MB RDRAM
0x81800000 - 0x81BFFFFF (Unused)

32MB RDRAM
0x81C00000 - 0x81FFFFFF (Unused)

Spoiler: How to setup?
I'm going to give a little ASM peek on how you possibly could use the extended RAM. We're going to write a small printXY code, which prints out "Hello World" but the code being DMA'd somewhere far in the 32MB RDRAM area. From above, (addresses tab) you can look where each RAM ranges from.

This is our print code, (print.asm) which contains our print function and is the actual thing which prints the colorful "Hello World" text to your screen.
[Image: b0e0ee6ca1ae079996136937d9db4331.png]

Now we still need a code which DMA's the code from ROM to our extended RAM part. Theoretically we could write it all into one asm file, but I did it in two separate files, so I can keep it more structured.

[Image: c69f0d4309ab061dd78abcb97756f27e.png]

The above will now DMA copy from ROM Address 0x1205000 to 0x1205200 into RAM Address 0x81C00000. If you now start your ROM, set the RDRAM to 32MB (under Config: SUPER MARIO 64) and eventually re-start the ROM or re-start PJ64 and try to get in-game, you should see this:

[Image: de77e93a21de66e3d9deac9c2254fe06.png]

You can download the test code for RDRAM:
Size: 1.2 KB / Downloads: 116 .zip   RDRAM-Test.zip



CajeASM v6.02 can be found here..

Have fun,
[Image: 9c9e2a04e7af44136eee22e44be92b4c.png]
(This post was last modified: 28-02-2015, 09:23 PM by Tarek701.)
R.I.P Tarek701. 2005-2016

Very wow and
>300k poly level
Are you joking? It's hard to tell from the composition of this thread, unsure if 30k is even importable.
(This post was last modified: 25-02-2015, 04:28 AM by Nutta.)
Gone for a while.

you would DMA the polys into the extended RAM and use segmented address 00800000 as the start of extended RAM. there's about 20 times as much space as the importer uses right now.

UDPATE(28/02/2015) - Recompiler for extended RDRAM works now! WOO!
So, I fixed the recompiler error. You can now read/write from extended RDRAM in recompiler mode. I also made some default configurations so it's working good and fast enough for you. Download above.

Have fun.
(This post was last modified: 28-02-2015, 09:27 PM by Tarek701.)
R.I.P Tarek701. 2005-2016

Plans for Future:
Because some little children had been complaining about PJ64 being too shitty (more than 4 people), I've decided to add more RDRAM support for the most known emulators which are open-source. This includes:

- Mupen64Plus
- CEN64.
- More coming soon.

You can give me some suggestions for other known open-source emulators which should get extended 32MB RDRAM support. I do not accept any low-quality emulators, because they're not used anyway.
R.I.P Tarek701. 2005-2016

What if we need more RAM for a project? Would it be possible to allow 128 MB?

Look at the OP's signature. He probably will never answer.
This is my signature

Project64MM v2.1 (Memory Mod) - More RDRAM for your SM64 Hacks
Users browsing this thread: 1 Guest(s)


  EN ・日本語