Join Us On:

[To see links please register here]

(June 04, 2022) x

Welcome, Guest
You have to register before you can post on our site.



Search Forums

(Advanced Search)

Forum Statistics
» Members: 176
» Latest member: Satan
» Forum threads: 371
» Forum posts: 1,084

Full Statistics

Online Users
There are currently 21 online users.
» 0 Member(s) | 20 Guest(s)

Latest Threads
Public Releases from 1.3 ...
Forum: Previous Public Releases
Last Post: Gent
01-15-2023, 01:13 PM
» Replies: 0
» Views: 231
Project64 1.6 Files
Forum: Project64 1.6 Public Downloads
Last Post: Gent
01-15-2023, 01:12 PM
» Replies: 0
» Views: 286
Project64 Legacy - 1.6.2 ...
Forum: Project64 Legacy - 1.6.2 (Alpha)
Last Post: Gent
01-15-2023, 12:58 PM
» Replies: 0
» Views: 265
Sub context screenshot
Forum: Project 64 1.6.x Dev
Last Post: NES_Player4Life
12-06-2022, 02:02 AM
» Replies: 0
» Views: 164
Space Invaders (U) [!]
Forum: Cheat Database Related
Last Post: NES_Player4Life
09-23-2022, 05:30 AM
» Replies: 1
» Views: 2,225
Window position problem w...
Forum: Application
Last Post: ToKu
08-29-2022, 10:55 AM
» Replies: 3
» Views: 735
Legacy New Extension File...
Forum: Project 64 1.6.x Dev
Last Post: Gent
08-28-2022, 10:43 PM
» Replies: 11
» Views: 4,393
super weird behaviour of ...
Forum: Project 64 1.6.x Dev
Last Post: Darthkoopa
06-21-2022, 11:50 AM
» Replies: 2
» Views: 1,008
Available Language files
Forum: Project64 Language FIles
Last Post: Gent
06-08-2022, 10:59 AM
» Replies: 0
» Views: 373
Activation Email Issues
Forum: General Discussion
Last Post: Gent
06-07-2022, 03:08 PM
» Replies: 0
» Views: 1,362

  Project64 Legacy - 1.6.2 (Alpha) Inclusive Archive
Posted by: Gent - 01-15-2023, 12:58 PM - Forum: Project64 Legacy - 1.6.2 (Alpha) - No Replies


.zip   Project64 Legacy - 1.6.2 (Alpha).zip (Size: 2.8 MB / Downloads: 70) -  Inclusive Package -  Current Version: 2022/08/29

  • Now supports Rom / Zip Drag and Drop Load
  • Correction to dlist wait hack for Wave Race 64 iQue
  • Use a different method to wait for the emulation thread to exit
  • Fix for debugger window sizes
  • Fix a crash in the memory dumper when not using the recompiler CPU
  • Updated old domain URL's to new domain
There is also a fairly major refactor to the memory viewer. Contextual coloring follows the precedent set by the cheat search, with red indicating a value has decreased, and green indicates an increase. New here are colors for watchpoints, which use an underlined font: Magenta = write, blue = read, violet = read/write. The primary changes are listed below:
  • Disabled column resizing
  • Removed the useless close button
  • Added auto refresh thread to redraw the memory view every 150ms
  • Added support for scrolling with the mouse wheel
  • Added contextual coloring
  • Fixed garbage in the ASCII view
  • Fixed some styling issues
  • Default address is 0x80000000 [parasyte]
  • Fix D1 and D3 code type handling [parasyte]
  • Fixed memory viewer bugs [parasyte]
  • Fixed manufacturer decoding in ROM info
  • Added release version and SDK version to ROM info and Browser
  • Added China to known countries list
  • Draw word separators in the memory viewer
  • Fixed sorting in ROM browser
Add minimize button to dialog windows
  • Cheat Menu
  • r4300i Commands
  • r4300i Registers
  • Breakpoints
  • TLB Entries
Added to Basic Mode:
  • File/Rom Information
  • Options/Configure RSP Plugin
  • Help/About INI Files
  • synched rom browser and main emulation windows.
  • fixed window drift when taskbar is on the top or left. (Jabo D3D and Rice Video still have issues)

Print this item

  Public Releases from 1.3 - 1.5
Posted by: Gent - 01-15-2023, 10:40 AM - Forum: Previous Public Releases - No Replies


.exe   pj64_1_3.exe (Size: 535 KB / Downloads: 12)  -  (Project64 1.3 - Self Extracting) -  Version Release Date: 2001-09-01


.exe   pj64_1_4.exe (Size: 886.5 KB / Downloads: 12)  -  (Project64 1.4 - Self Extracting) -  Version Release Date: 2001-12-25


.exe   pj64_1_5.exe (Size: 973.4 KB / Downloads: 14)  -  (Project64 1.5 Beta - Installer) -  Version Release Date: 2003-08-29

Print this item

  Project64 1.6 Files
Posted by: Gent - 01-15-2023, 09:44 AM - Forum: Project64 1.6 Public Downloads - No Replies


.exe   setup_Project64_1.6.exe (Size: 1.98 MB / Downloads: 25) -  (Main Emulator Application Setup) -  Version Release Date: 2005-04-01

.msp   PJ64_1.6.1_Plugin_Update.msp (Size: 308 KB / Downloads: 10)   -  (PJ64_1.6.1_Plugin_Update) -  Version Release Date: 2011-07-11

.chm   Project64.chm (Size: 342.14 KB / Downloads: 8)   -  (Project64 User Manual) -  Version Release Date: 2005-04-01

.chm   PJgameFAQ.chm (Size: 235.49 KB / Downloads: 8)   -  (Project64 Game FAQ) -  Version Release Date: 2005-04-01

.rdb   Project64.rdb (Size: 340.43 KB / Downloads: 6)   -  (Project64 Rom Database File) -  Version Release Date: 2005-04-01

.rdx   Project64.rdx (Size: 137.56 KB / Downloads: 7)   -  (Project64 Rom Database eXtension File) -  Version Release Date: 2005-04-01

.chm   PJgameFAQ.chm (Size: 235.49 KB / Downloads: 8)   -  (Project64 Cheat File) -  Version Release Date: 2005-04-01

.zip (Size: 504.92 KB / Downloads: 9)   -  (Project64RDB & GameFAQ Update) -  Version Release Date: 2005-04-01

Attached Files
.cdb   Project64.cdb (Size: 1.22 MB / Downloads: 8)
Print this item

  Sub context screenshot
Posted by: NES_Player4Life - 12-06-2022, 02:02 AM - Forum: Project 64 1.6.x Dev - No Replies

Working on a texture pack this evening using HighResEaser and although the script is great it relies on a screenshot to read the positions of textures.
This is great for full-screen textures however there are also smaller areas that I am currently working on; see attached.
Quesgestion is this, is there a way to add an option where a user can define an area on-screen where a screenshot can be snapped from?

[To see links please register here]

Print this item

  Window position problem with moving the taskbar left side.
Posted by: ToKu - 08-25-2022, 10:56 AM - Forum: Application - Replies (3)

I use the Windows taskbar left side, the Window position is wrong in the game.
It is the value of "Main Left" stored in the Project64.apps file.

Reproduction Procedure
- Run the any games.
- Exit PJ64 while game is running. (Exit or click X on top right)

Thank you.

Print this item

  Available Language files
Posted by: Gent - 06-08-2022, 10:59 AM - Forum: Project64 Language FIles - No Replies

Here are Old Project64 1.6 Language files that have been updated to support the latest file formats.

If you are the original author and would like to update these please do.

If you would like to update the files but are not the original author, please make sure you state it is based off of that file and give the original authors name.

If you would like to create a brand new Language file based off of the

[To see links please register here]

please create a new thread and upload it in zip form.

Below are all the available Language file for use in Project64 Legacy.

Attached Files
.zip   Brazilian (Size: 4.53 KB / Downloads: 25)
.zip (Size: 4.8 KB / Downloads: 25)
.zip (Size: 3.72 KB / Downloads: 30)
.zip (Size: 3.74 KB / Downloads: 26)
.zip (Size: 4.81 KB / Downloads: 43)
.zip (Size: 4.5 KB / Downloads: 22)
.zip (Size: 4.28 KB / Downloads: 23)
.zip (Size: 4.14 KB / Downloads: 37)
.zip (Size: 4.39 KB / Downloads: 32)
.zip (Size: 4.55 KB / Downloads: 28)
.zip (Size: 4.69 KB / Downloads: 33)
.zip (Size: 4.51 KB / Downloads: 22)
.zip (Size: 4.55 KB / Downloads: 32)
.zip (Size: 4.74 KB / Downloads: 28)
.zip (Size: 4.41 KB / Downloads: 29)
.zip (Size: 4.87 KB / Downloads: 28)
.zip (Size: 4.88 KB / Downloads: 23)
.zip (Size: 4.52 KB / Downloads: 26)
.zip (Size: 4.78 KB / Downloads: 26)
.zip (Size: 4.47 KB / Downloads: 29)
.zip (Size: 4.29 KB / Downloads: 35)
.zip (Size: 4.68 KB / Downloads: 27)
Print this item

  Activation Email Issues
Posted by: Gent - 06-07-2022, 03:08 PM - Forum: General Discussion - No Replies

If you have signed up and for some reason are still waiting on an Activation Email, Please you the option

[To see links please register here]

Make sure you check your email clients Spam folder just in case.

If you still do not receive an activation email, please visit us on our

[To see links please register here]

& let us know about your issues.

Print this item

  No-intro titles
Posted by: leonv32 - 06-04-2022, 04:27 AM - Forum: Project64 RDS - Replies (3)

I replaced the "Good Names" with the no-intro titles
in the .zip there are some log files of games that were not found and "not-included.txt" were games that were not inlcuded in the search because of dup or nul CRC header.

Attached Files
.zip (Size: 796.8 KB / Downloads: 33)
Print this item

Rainbow Watchpoints
Posted by: Parasyte - 05-24-2022, 11:22 PM - Forum: Cheat Development - No Replies

I added support for watchpoints (aka read/write breakpoints). The UI is pretty scuffed. I decided to reuse what was already there for instruction breakpoints. Some future improvements would be integrating with the memory viewer ... And turning it into a memory editor.

[To see links please register here]

`xrw` flags are shown in the breakpoints list for convenience. These are shorthand for `eXecute`, `Read`, and `Write`.

Known limitations:
  • Only supports exact matches on virtual addresses. Will not trigger when the lsb is written and you are waiting for writes to a word-aligned address.
  • Only triggers on CPU memory access; DMA will not trigger any watchpoints.

Print this item

Lightbulb New code type: Write data block
Posted by: Parasyte - 05-24-2022, 05:47 PM - Forum: Cheat Development - No Replies

Historically, some games have made it difficult to hack assembly codes when they use virtual addresses (the CPU's TLB). Notable games that do this are GoldenEye 007, Star Wars: Battle for Naboo, and Indiana Jones. The shortcoming is from the N64 GS and XP lacking a code type to write to arbitrary virtual addresses.

I sketched out an idea to fix this issue a looooong time ago: 

[To see links please register here]

 It was never implemented in the GS firmware or with any code engine hacks. One of the issues with a code like this is that the virtual address must be mapped (or at least mappable) or writing to the address will throw an exception in the exception handler. On real hardware, support for this code type needs to be carefully crafted.

On an emulator, we have more headroom, and we can just write anywhere at any time. I've implemented a code type based on the linked document. The differences are described here:
40000000 0000
xxxxxxxx yyyy
zzzzzzzz zzzz...

The x's are the address to write to. Importantly, this is a 32-bit address. I.e. it is not limited to writing to virtual addresses in the 0x80000000-0x807fffff range like other code types. The y's provide the number of bytes that will be written (minus 1). The z's are the actual data bytes to write. As many z lines can be used as needed, and the last must be padded (e.g. with zeroes) to a full code line.

Tutorial: GoldenEye 007, Infinite Health

In the linked document, a virtual address is provided for GoldenEye 007: 0x7f089cc0. This address has a write instruction that updates Bond's health when hit. The address is the same on every level. Patching this address allows us to make a code that gives infinite health on every level, instead of using the old per-level codes. The data we want to write to this address is a nop instruction, which is 4 zero bytes.

Fill in the x's with the full virtual address, and fill the y's with the value 4 - 1. Add the 4 zero bytes, and 2 more to pad the final line:
40000000 0000
7F089CC0 0003
00000000 0000

An advantage is that it is significantly smaller than the original Infinite Health for all levels.

Tutorial: Super Mario 64, Jesus Mode

Here's the old Jesus Mode code, for reference: 

[To see links please register here]

81381764 0800
81381766 0024
81000090 3C04
81000092 8034
81000094 8484
81000096 B1E6
81000098 4484
8100009A 3000
810000A0 4680
810000A2 3120
810000A4 4604
810000A6 903C
810000AC 4500
810000AE 0002
810000B4 4600
810000B6 2486
810000B8 080E
810000BA 05DB
810000BC E712

We can make this code significantly smaller by using the block write code type instead of many individual half-word writes.

To start, notice that many of the addresses in this code simply increase by 2. This is a good indicator that a block write will make this shorter. We can also see the assembly in the Enhacklopedia article, but we can ignore that here.

The second thing to notice is that a few addresses are skipped. We can assume that these are zeroes (which they are). This will make it easier to write a contiguous block of data, and will end up making the code even smaller than trying to split it into multiple block writes.

Third, we note that the first two lines do not need to be in a block write. A block write code has a minimum of 3 lines, so 6 bytes is the break-even point. These two lines write 4 bytes, so we will leave them as is.

Starting with the third line, copy-paste each subsequent value into a very long string. I cheated a little and just deleted all of the addresses between each value. Don't forget to fill in zeros where they are needed.

The first part from 0x80000090-0x8000009c is obvious. It should look like this:
3C04 8034 8484 B1E6 4484 3000

Then add the 4 zero bytes:
3C04 8034 8484 B1E6 4484 3000 0000 0000

And copy more bytes up to 0x800000b0:
3C04 8034 8484 B1E6 4484 3000 0000 0000 4680 3120 4604 903C 4500 0002

Then there are 4 more zero bytes:
3C04 8034 8484 B1E6 4484 3000 0000 0000 4680 3120 4604 903C 4500 0002 0000 0000

Followed by the last part:
3C04 8034 8484 B1E6 4484 3000 0000 0000 4680 3120 4604 903C 4500 0002 0000 0000 4600 2486 080E 05DB E712

There is also a nop at the end, but we don't need to write it.

Given this string of bytes, we can remove spaces and add line breaks so that each line contains 6 bytes in the format of a GS code line:
3C048034 8484
B1E64484 3000
00000000 4680
31204604 903C
45000002 0000
00004600 2486
080E05DB E712

This one happens to not require any padding, nice!

To finalize the code, we just need to count the number of bytes that need to be written. You can actually count them out if you like, but I'm going to cheat again and do some math instead. The last address in the code is 0x800000bc; We can add 2 to this address to find the end of the block, then subtract the starting address (0x80000090) to get the total byte count:
0x800000be - 0x80000090 = 0x2e

Don't forget to subtract 1, since the byte count is zero-based:
0x800000be - 0x80000090 - 1 = 0x2d

With that, we can put everything together to see the final code:
81381764 0800
81381766 0024
40000000 0000
80000090 002d
3C048034 8484
B1E64484 3000
00000000 4680
31204604 903C
45000002 0000
00004600 2486
080E05DB E712

That takes the code down from 19 lines to 11 lines. This is a 48% savings in terms of code lines!

Print this item