Author Topic: NeoN64Menu v2.6 beta  (Read 12824 times)

0 Members and 1 Guest are viewing this topic.

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
NeoN64Menu v2.6 beta
« on: June 21, 2012, 12:06:55 PM »
Time for another update... this is a beta since there have been some pretty big changes, and there's still some work to do. The main feature for this release? GameShark cheat codes!
 ;D ~sm-42.gif~ ~sm-76.gif~.gif

While browsing the SD card, if there is a file of cheat codes with the same name (minus the extension, which is .gsc) in the /menu/n64/cheats directory of the SD card, the rom options (right next to the box art - if you don't see box art, press Z to switch to the options mode) now includes a new option: Cheats. If you don't see "Cheats: Off" you don't have a matching cheat file. Make sure the names match except for the extension. Press C-Up or C-Down to move to the Cheat option, then press C-Right or C-Left to change the setting. The settings are Off, Select, and All. When you run with the Off setting, the game loads and runs like normal.

When set to Select, the game loads, then you go to a cheat selection screen. All the cheats in the file are shown; you navigate the cheats using the D-Pad, then use the C-Pad to change the cheat setting. For most cheats, the settings are Off and On. For some, the settings are Off and an integer. The help messages at the bottom tell you what buttons do what in case you forget. B always disables the current cheat.

When set to All, the game loads, then you got to the same cheat selection screen, but all the cheats are preset to On instead of Off.

Once you have selected the cheats you want, press A to run the game.

The second feature for this update is support for the UltraSMS emulator. Copy the emulator to /menu/n64/UltraSMS/ and when navigating Game Gear roms, you can press A to load the emulator, load the rom, and run the game in the emulator (just like NES roms). Another minor update is both NES and Game Gear roms now identify as such in the browser while navigating. Note - UltraSMS only handles GameGear roms, not Master System (despite the name). The UltraSMS.zip archive should be unzipped into the /menu/n64 directory of the SD card. The full path for the emulator is "/menu/n64/UltraSMS/UltraSMS.z64".

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoN64Menu v2.6 beta
« Reply #1 on: June 21, 2012, 12:40:46 PM »
Okay, as an immediate follow up, I want to talk about the cheat files. A good place to get the cheats is:
http://www.gamegenie.com/cheats/gameshark/n64/index.html

Find the game you want. Say, Wave Race. Notice that there are codes for two versions. That's why cheat files match the name of the rom instead of the game ID code. Game IDs are the same for all versions of a game, while the rom name will tell you which version you are playing. Say the name is "Wave Race 64 (U) (V1.1) [!].z64" - this tells us we need the cheats for v1.1.

Code: [Select]
Version 1.1

801C2A67 00FF     Fly Code
801C2C24 FFFF     Automatic Retire
801C2C43 00FF     Lap Counter Stays On-Screen
800DA9D3 00xx     Course Modifier
801C2A67 00xx     Speed Modifier Player 1
801C2A6F 0000     Infinite Misses Player 1
801C2BFE 00FF     Infinite Time In Stunt Mode
801C293F 0000     Always Have 1st Place
811C2AD6 0000     Lap Timer Below 0'00'10
801C2A67 0005     Maximum Power
801C2C23 00FF     Infinite Time Out Of Course
801CB343 0063     99 Points

801C293B 0003     Have No Laps To Race & Always Have 1st Place
801C2C5B 0003

801C2A67 0005
D01CE659 0010     Right Shoulder Turbo Boost
801C2A67 0020

Okay, cut and paste that into a text file and save as "Wave Race 64 (U) (V1.1) [!].gsc" - notice how it exactly matches the rom but for the extension. Now we need to make a couple changes for the rules:

1 - Put a '#' or ';' at the start of the line for a comment. There can be whitespace before them.
2 - Codes are of the format "CCXXYYYY ZZZZ {description}" where the description is optional.
3 - Cheats MUST start with a code with a description. Multiple codes without description may follow.
4 - A '#' or ';' character starting the description field makes it a comment instead of a description.
5 - Blank lines are fine - they are skipped.
6 - Any amount of whitespace is allowed anywhere, but the entire line must be less than 512 characters.

So given those rules, the above cheats is altered like this:

Code: [Select]
# Version 1.1

801C2A67 00FF     Fly Code
801C2C24 FFFF     Automatic Retire
801C2C43 00FF     Lap Counter Stays On-Screen
800DA9D3 00xx     Course Modifier
801C2A67 00xx     Speed Modifier Player 1
801C2A6F 0000     Infinite Misses Player 1
801C2BFE 00FF     Infinite Time In Stunt Mode
801C293F 0000     Always Have 1st Place
811C2AD6 0000     Lap Timer Below 0'00'10
801C2A67 0005     Maximum Power
801C2C23 00FF     Infinite Time Out Of Course
801CB343 0063     99 Points

801C293B 0003     Have No Laps To Race & Always Have 1st Place
801C2C5B 0003

801C2A67 0005     Right Shoulder Turbo Boost
D01CE659 0010
801C2A67 0020

Notice how we put a '#' on the first line to make it a comment. Notice how we moved the description for "Right Shoulder Turbo Boost" to the first code in the block. Remember cheats MUST START with a description.

Currently supported codes are:
80 - this sets a single byte from the second field. The address is the XXYYYY part of the code, and points to ram. The byte is set in the ZZZZ part of the code, and is usually shown as 00ZZ since it must be a byte, not a word.

81 - this sets a word from the second field. It is just like 80, but for a word instead of a byte.

A0 - this is like 80, but sets uncached ram, while 80 sets cached ram.

A1 - this is like 81, but sets uncached ram, while 81 sets cached ram.

D0 - this fetches a byte from ram, compares it to the byte in the 00ZZ field, then does the next GS code if the bytes are equal (or you can think of it as skipping the next GS code if they are not equal).

D1 - this fetches a word from ram, compares it to the word in the ZZZZ field, then does the next GS code if the words are equal (or you can think of it as skipping the next GS code if they are not equal).

D2 - same as D0, but with the condition reversed. It does the next GS code if they are not equal.

D3 - same as D1, but with the condition reversed. It does the next GS code if they are not equal.

F0 - set a byte in the boot segment once at boot time.

F1 - set a word in the boot segment once at boot time.

CC/DD/EE - these all deactivate the expansion ram (if you have it). The GameShark uses three different methods, but at the moment, I just use one for all three.

There is a limitation on 81/A1/D1/D3 - the words should be on an even address. I'm not sure if odd addresses are allowed since that's not mentioned in anything I could find, but a LOT of Mario 64 cheats use odd addresses. I'll fix that in an update.

There are a number of other codes I've seen that aren't explained (again, mostly in the Mario 64 cheat list), like 20/50/58/83/A3/A4/A8/B4/E0. 50 is explained in one place, but the Mario use of it doesn't match the explanation - ditto for 20. Mario 64 doesn't run with from the cheat engine in any case... I'm looking into it.

Now notice a couple line like this:

Code: [Select]
801C2A67 00xx     Speed Modifier Player 1
Notice the 00xx in the ZZZZ field. This is how variable values for different things are done in cheats. If any characters in the ZZZZ field are not valid hexadecimal digits (0 to 9 or A to F), I make that digit variable. So "00xx" or "00??" are both variable bytes (two hex digits). "xxxx" or "?? ??" (with no space - the space is there to make this not a smilie) would be variable hex words. When on the selection screen, each C-Pad button changes a different digit in the variable. Navigate to such a cheat and look at the help lines at the bottom of the screen to see which button changes which character. Note that variable cheat codes MUST BE THE ONLY CHEAT CODE FOR THE CHEAT! I don't have the select screen set up for handling variable codes in multiple code cheats. Multiple cheat code lists are all on or all off, period.
« Last Edit: June 21, 2012, 02:15:44 PM by ChillyWilly »

Offline slothette64

  • Jr. Member
  • **
  • Posts: 75
  • N64-head
Re: NeoN64Menu v2.6 beta
« Reply #2 on: June 29, 2012, 06:17:29 PM »
so far
cheats not working but
i will keep trying becuz it may be my "files"

also

anychance of PAL GG emu??
works but in B&W
and not fullscreen

please remember us PAL N64 owners
_____________________________________________________
\o/_____|o|_____\o/______o______\o/_____|o|_____'o'_____o

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoN64Menu v2.6 beta
« Reply #3 on: June 30, 2012, 06:07:32 AM »
so far
cheats not working but
i will keep trying becuz it may be my "files"

Try Wave Race and Doom - I was able to make most all of their cheats work, but none of Mario 64. Make a list of games that you try that you have issues with.

Quote
also

anychance of PAL GG emu??
works but in B&W
and not fullscreen

please remember us PAL N64 owners

I'll see what I can do.

Offline slothette64

  • Jr. Member
  • **
  • Posts: 75
  • N64-head
Re: NeoN64Menu v2.6 beta
« Reply #4 on: June 30, 2012, 10:51:50 AM »
got some cheats working
castlevania had just legs running around
we busted ourselfs laughing asses off!!   ::sm-05:: ~sm-82.gif~.gif
just legs with a whip flying out

none of the "cheat' cheats work tho
infinite health/jewels

im convinced its PAL issue again
i need gameshark codes for (E) it seems
meantime only some will work with similar codes between regions

love the 2.6 menu and cheat menu is easy to use!!
(U) guys should be happy  ~sm-36.gif~
« Last Edit: June 30, 2012, 11:00:45 AM by slothette64 »
_____________________________________________________
\o/_____|o|_____\o/______o______\o/_____|o|_____'o'_____o

Offline aliss

  • Newbie
  • *
  • Posts: 2
  • NEO newbie
Re: NeoN64Menu v2.6 beta
« Reply #5 on: June 30, 2012, 08:14:21 PM »
first of all i would like to say thanks to chillywilly for his quick responding and supports



second thing i tried alot of cheats for several  games ,only two games works fine with the cheats

my nintendo64 console is PAL
by the way i only choose one cheat to check if the cheats works fine or not,i also dont have controller pak.
games are :

-zelda oot (us) ver (1.0)  (1.1) (1.2): Beta Quest is the only cheat works for a while but then  freezs

-mario kart 64 (us) works fine

-wwf warzone(us) cheats is working but the game runs slower than usual

-castlevania   (us) always freezs after loading any cheat

i hope someone could help to get zelda cheats working
« Last Edit: June 30, 2012, 08:52:22 PM by aliss »

Offline Dr.neo

  • Administrator
  • Hero Member
  • *****
  • Posts: 3823
Re: NeoN64Menu v2.6 beta
« Reply #6 on: July 01, 2012, 05:03:03 AM »
great ob CW  ~sm-66.gif~.gif
just post it on homepage  ~sm-59.gif~.gif
In my world,have 0 and 1 only ......Matrix World......

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoN64Menu v2.6 beta
« Reply #7 on: July 01, 2012, 06:18:02 AM »
Thanks for checking into all these things, guys.  ::sm-09.gif::

I would like to reiterate that the cheats MUST be for the EXACT version of the game you are using... v1.0 for v1.0, European for European, PAL for PAL, etc. Even a shift of one byte will make a cheat from another version not work, and probably hang the game. So yes, PAL folks are probably going to be left out more than US folks... you'll have to hunt more to find the proper cheats... or do like some folks do now and use an NTSC console with a 60Hz compatible TV. Not a great choice, but not one I have any control over.
 :(

Second, this is the very first version of the cheat engine - it does not deal with games that are known to target the GameShark to prevent people from cheating in their games. I'll try to work on that for the next release. It SHOULD work on games that didn't specifically take actions against the GameShark.

Third, there are still some codes I haven't the vaguest idea what they do... I gave a list before, many of them from Mario 64.

Fourth, I did notice in Mario 64 that some of the word codes I do support MIGHT use an odd address, and I don't handle that yet. So if you see a code like 811effc1, that WILL fail on the current cheat engine since it will try to store a word to an odd address (which fails on the MIPS CPU). So if you see a cheat that tries to use words on odd addresses, don't activate those cheats.

Thanks again. We'll get this cheat engine going well with some work. It's not too bad for a first try, but it's certainly not done by any means.
 :D

Offline hartono

  • Newbie
  • *
  • Posts: 25
  • NEO newbie
Re: NeoN64Menu v2.6 beta
« Reply #8 on: July 01, 2012, 11:45:03 AM »

Fourth, I did notice in Mario 64 that some of the word codes I do support MIGHT use an odd address, and I don't handle that yet. So if you see a code like 811effc1, that WILL fail on the current cheat engine since it will try to store a word to an odd address (which fails on the MIPS CPU). So if you see a cheat that tries to use words on odd addresses, don't activate those cheats.

CMIIW, that's a hexadecimal and I believe is very common on computer programming.

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoN64Menu v2.6 beta
« Reply #9 on: July 02, 2012, 06:32:26 AM »
CMIIW, that's a hexadecimal and I believe is very common on computer programming.

GameShark codes are like this:
CCXXYYYY ZZZZ

E.G., 811effc1 2777

The CC is the command, in this case, 81 which is store a word to the ram offset designated by XXYYYY, which is 1effc1 (which is indeed hexadecimal). ZZZZ is the value to store, in the case of the example, 2777, which is also in hexadecimal.

The issue is that the MIPS processor in the N64 cannot store words to odd addresses (or longs to non-long aligned addresses). So the above code won't work unless you break it into two byte stores instead of one word store. You could do this yourself by hand while waiting for me to fix the issue... the above example can be split into two byte stores like this

801effc1 0027
801effc2 0077

Offline Narann

  • Jr. Member
  • **
  • Posts: 57
  • NEOob
Re: NeoN64Menu v2.6 beta
« Reply #10 on: September 26, 2012, 01:13:32 AM »
Thank CW for this!

Seriously you are awesome!

I've tested 2.6b1 PAL with cheats using this files:

https://bitbucket.org/richard42/mupen64plus-core/src/a5698f5f67c1/data/mupen64plus.cht
https://bitbucket.org/richard42/mupen64plus-core/src/a5698f5f67c1/data/mupencheat.txt

And this for help to find good cheat codes for my roms:

https://bitbucket.org/richard42/mupen64plus-core/src/a5698f5f67c1/data/mupen64plus.ini

This are good cheat files. I hope they will help peoples. When I will have time, I will try to generate every "NeoN64Menu compliant" .gsc possible from this files with a little script combining informations. This shouldn't be too hard. :)

I've tested cheat on "Top Gear Rally (E) [!]":

8032690F 00FF Extra Cars & Tracks
8032690C 00FF
8032690D 00FF

And it has worked... ~sm-42.gif~



I have a question for you ChillyWilly:

Is there any plan to support controller pack "emulator" with your menu and save controller pack saved directly on the SD card? This could be great!



I also would like to tell to everybody I've finally find why Neo2 Pro wasn't recognized by Neo2Manager:

Don't push your Neo2Pro into the N64 Myst too high!

If you actually push your Neo2Pro too high in the N64 Myst (until a little "click"), you will have problem with Neo2Manager kernel kit, etc... When you will plug the N64 Myst, the red light will become green 3 times and stop and Neo2Manager will not recognized it.

So the solution is to plug the Neo2Pro in you N64Myst but not too deeply, plug it to your computer using a good usb cable and launch the Neo2Manager in Administrator (Win7 x64). And now everything work!

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoN64Menu v2.6 beta
« Reply #11 on: September 26, 2012, 01:43:11 AM »
Thank CW for this!

Seriously you are awesome!

I've tested 2.6b1 PAL with cheats using this files:

https://bitbucket.org/richard42/mupen64plus-core/src/a5698f5f67c1/data/mupen64plus.cht
https://bitbucket.org/richard42/mupen64plus-core/src/a5698f5f67c1/data/mupencheat.txt

And this for help to find good cheat codes for my roms:

https://bitbucket.org/richard42/mupen64plus-core/src/a5698f5f67c1/data/mupen64plus.ini

This are good cheat files. I hope they will help peoples. When I will have time, I will try to generate every "NeoN64Menu compliant" .gsc possible from this files with a little script combining informations. This shouldn't be too hard. :)

I've tested cheat on "Top Gear Rally (E) [!]":

8032690F 00FF Extra Cars & Tracks
8032690C 00FF
8032690D 00FF

And it has worked... ~sm-42.gif~

I'll look those over... maybe if a specific .gsc file isn't found, I can try looking for one of those and then check if the game is in it. I also need to make an update on the code generator for the cheats.

Quote
I have a question for you ChillyWilly:

Is there any plan to support controller pack "emulator" with your menu and save controller pack saved directly on the SD card? This could be great!

The problem is that this is handled via DMA through the peripheral port. It would be a pain to try to intercept. So at the moment, you have to make due with saving/loading the mempak to/from SD in the save ram manager.

Offline Narann

  • Jr. Member
  • **
  • Posts: 57
  • NEOob
Re: NeoN64Menu v2.6 beta
« Reply #12 on: September 26, 2012, 11:26:34 AM »
I'll look those over... maybe if a specific .gsc file isn't found, I can try looking for one of those and then check if the game is in it. I also need to make an update on the code generator for the cheats.

Thoses are very long files to parse, not sure this would be efficient.

If you have access to the CRC in your menu, it could be interesting to use it instead rom name:

For example:

80F41131-384645F6-C:4A

Which is supposed to be crc for "AeroGauge (J) (V1.1)" could became:

80F41131-384645F6-C_4A.gsc

And provide cheats for this game. :)

So it could work like this:

- First, check for the rom name ("AeroGauge (J) (V1.1).gsc").
- No rom name? Use the CRC ("80F41131-384645F6-C_4A.gsc").

What do you think of this?

With a such system we could provide a database directly with your menu.

The problem is that this is handled via DMA through the peripheral port. It would be a pain to try to intercept. So at the moment, you have to make due with saving/loading the mempak to/from SD in the save ram manager.
I understand. Interception during game is a problem. Maybe a way to copy saves on SD directly from the menu. Don't know if the problem is the same... :(



EDIT (Not test yet): There is two archives:
crc_gsc.zip contain gsc files with CRC as name (just changed ":" character to "_"). Some have very long names and some need descriptions to be understandable.

Example:

Code: [Select]
Cheat Name: VS. Mode\Player 1\Character Modifier
Description: Only put this on after you have alreay Chose your Character on the Main Menu,& Do not use more then 1 Character Modifier at a time.Using this Code This could also result freezing at the end of the Level.
Values: Mario, Fox, etc...

Impossible to understand without description. Maybe the cheat engine could support and display description? ~sm-84.gif~.gif

Hope this will help you ChillyWilly. :)

name_gsc.zip are same gsc files but with rom name. It should be helpfull for peoples who just want to have every possible cheat files.

Enjoy!
« Last Edit: September 26, 2012, 07:08:25 PM by Narann »

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoN64Menu v2.6 beta
« Reply #13 on: September 26, 2012, 08:02:29 PM »
Yeah, trying to search through one huge file would be slow. The CRC named files sounds like a good idea. I downloaded the arcs and will see what I can do with them. Thanks.
 ::sm-09.gif::

Offline Narann

  • Jr. Member
  • **
  • Posts: 57
  • NEOob
Re: NeoN64Menu v2.6 beta
« Reply #14 on: September 27, 2012, 09:06:32 AM »
No, thanks to you CW! :)