EverDrive Forum

General => EverDrive 64 => Topic started by: Modman on August 26, 2014, 09:34 PM

Title: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on August 26, 2014, 09:34 PM
At this point, we believe it's stable enough for an initial release.

Download: https://s3.amazonaws.com/alt64-builds/alt64-0.1.8.6-cheat.zip
Source code: https://github.com/parasyte/alt64

Nothing has changed in the user interface. Same steps to enable cheats. The biggest difference is that you must convert your cheat-files to YAML. We've included a lot of example YAML cheat files that you can use as a template for formatting.

Happy cheating!

The only known issue so far is Banjo Tooie, but we believe that to be related to the patch that makes the game run, and not the code engine. The game loads with cheats enabled, but no cheats take effect.

For those who aren't familiar with the YAML cheat files, you will need to use an editor like Notepad++ to edit the cheat files. Regular notepad will not work.

It is also worth noting that GameShark codes made in an emulator may *not* work properly on the actual hardware.

rimsky82 from gamehacking.org here...

I added yaml as an export on our site.  That means you can find your game, select the codes you want, and download them as a yaml file for use with this cheat engine.  I have an ED64v2 myself, and tested it.  Quick and easy.

http://gamehacking.org
http://gamehacking.org/?sys=n64
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kerr Avon on August 26, 2014, 09:57 PM
Why does all the good stuff come out when I'm away from home without my N64?  >:( >:( >:(

Modman, is it possible to make it a standalone program, loaded from the ED64's menu like any other .z64 file, so that when loaded it allows you to choose which cheats to use (say from a .txt or YAML file with the same name as the game's .z64 file), and then it loads the game from the SD card? Saturnuu's OS is great, but I prefer the original one somehow.

Anyway, even though I can't yet try this (HATE working away from home) congratulations on doing so much, and in so little time too.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on August 26, 2014, 10:01 PM
The source code location is included in the release, so if Krikzz wants to, he can add it to his menu as well. You might just have to use Alt64 until that happens, if you prefer the other menu. :)

Parasyte definitely did most of the heavy lifting on this project, but it was great to be a part of it!
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on August 26, 2014, 10:37 PM
You can also just rename the OS64.v64 file and start that from the original EverDrive menu. (For the record, I also prefer the original menu.) It needs an empty MEMPAK directory at the root of the SD card, but everything else should be fine.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kyle on August 26, 2014, 10:49 PM
This is amazingly cool. Holding out on the EDV3 but really happy to see this implemented.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: saturnu on August 26, 2014, 11:28 PM
chainload the os should result in broken savegames atm, 'cause the underlaying os tries to set the savetype and filename for alt64. :>
in respect of that even a standalone app might be a bit tricky. ^^
you will have to figure out how krikzz is saving with these bin files in /ED64. :D
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: lee4 on August 27, 2014, 12:39 AM
The only known issue so far is Banjo Tooie, but we believe that to be related to the patch that makes the game run, and not the code engine. The game loads with cheats enabled, but no cheats take effect.
You need correct master code to make codes to work.

It is also worth noting that GameShark codes made in an emulator may *not* work properly on the actual hardware.
because those "emulator made" codes are improper and misaligned.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on August 27, 2014, 12:46 AM
What enable code are you using? Do you have a working one?
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on August 27, 2014, 06:43 AM
Banjo Tooie never had a master code. ;D

The biggest difference between GameShark Pro v3.30+Banjo Tooie and alt64+Banjo Tooie-cracked is that the crack contains a lot of mysterious code in the form of a cracktro and patches to the embedded encryption by LaC. The game itself doesn't intentionally disable cheat devices; it attempts to protect itself from piracy. Even with this apples-to-oranges comparison, we can deduce that the problem with this game most likely lies somewhere within the patch.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on August 27, 2014, 06:47 AM
chainload the os should result in broken savegames atm, 'cause the underlaying os tries to set the savetype and filename for alt64. :>
in respect of that even a standalone app might be a bit tricky. ^^
you will have to figure out how krikzz is saving with these bin files in /ED64. :D

You mean to tell me the save type setting cannot be reset in some way? That evd_unlock() function looks like a good place to start.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: saturnu on August 27, 2014, 09:50 AM
no the save setting isn't the problem at all ^^

i'm pretty sure it's possible, but i don't know how the org. os is storing the information to what rom/save filename to write after reset.
this should be an important information beside the save setting, too. :D

ORG-OS -> ALT64 -> reset -> ORG-OS

-> ORG-OS: sets save type in fpga and stores romname where?
-> ALT64 overrides save type in fpga, stores romname in "/ED64/LASTROM.CFG"
-> ORG-OS reads save setting from fpga and romname from somewhere.
-> ORG-OS saves to the filename of the ALT64 rom.

so you have to find the place where the original os stores the rom filename and alter it in your cheating app, too.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kerr Avon on August 27, 2014, 04:35 PM
You can also just rename the OS64.v64 file and start that from the original EverDrive menu. (For the record, I also prefer the original menu.) It needs an empty MEMPAK directory at the root of the SD card, but everything else should be fine.

Wow! It just sounds better and better! Kodewerx, when I (eventually  :() get home, if I just rename os64.v64 to, say , cheat.z64, then if I load cheat.z64 then I can then load a game from the cheat.z64's menu, and the Gameshark codes will work (providing, of course, that the Gameshark codes are genuine, i.e. they work on a real Gameshark and real N64)?

Can you enable/disable cheats from the menu, or do the .yml files have to be edited (on a PC)?

Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on August 27, 2014, 07:22 PM
I can't speak to how effective chain loading would be at this time, but as to your question about cheats:

At this time, individual cheats can't be enabled/disabled in the menu. The whole code list is either on or off. The individual cheats are set on or off through an editor on a PC when the code list is constructed.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: KRIKzz on August 28, 2014, 12:56 AM
The source code location is included in the release, so if Krikzz wants to, he can add it to his menu as well. You might just have to use Alt64 until that happens, if you prefer the other menu. :)

Parasyte definitely did most of the heavy lifting on this project, but it was great to be a part of it!

Thanks a lot of yours work! I will definitely include this improvements in my OS
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on August 28, 2014, 01:10 AM
On behalf of Parasyte and myself, you are very welcome! :) and I'm glad to hear the cheat engine will be included in future menu releases :)
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on August 28, 2014, 03:10 AM
no the save setting isn't the problem at all ^^

i'm pretty sure it's possible, but i don't know how the org. os is storing the information to what rom/save filename to write after reset.
this should be an important information beside the save setting, too. :D

ORG-OS -> ALT64 -> reset -> ORG-OS

-> ORG-OS: sets save type in fpga and stores romname where?
-> ALT64 overrides save type in fpga, stores romname in "/ED64/LASTROM.CFG"
-> ORG-OS reads save setting from fpga and romname from somewhere.
-> ORG-OS saves to the filename of the ALT64 rom.

so you have to find the place where the original os stores the rom filename and alter it in your cheating app, too.

I see. But now I have a counterpoint. :P

The initial menu (OS64) stores the save within its file system structure on reset, but it also re-loads the same save data when you load the second menu (alt64) again. So to alt64, it should see no difference between an NMI reset and having the extra steps of going through OS64 first.

The point is the second menu does not care about how the initial menu is handling save data; just choose the biggest save type setting to use for booting alt64, and everything should just work. (Disclaimer: I haven't actually tried this.)
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: saturnu on August 28, 2014, 10:12 AM
hm maybe in theory this should work if you force OS64 to use the right save type for the game you want to start through ALT64 every time you start it, 'cause eeprom and sram are stored in the fpga or sdram and you will have to force again and start alt64 after the reset a second time, too. ^^

but nevermind, seems there is no need to write a cheating app anymore ^^
Quote from: Krikzz
Thanks a lot of yours work! I will definitely include this improvements in my OS
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Mezmorize on August 28, 2014, 10:25 AM
Thanks so much Parasyte for your work!
Glad to hear that KRIKzz will implement it into the official OS too.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: lee4 on August 28, 2014, 08:11 PM
hm maybe in theory this should work if you force OS64 to use the right save type for the game you want to start through ALT64 every time you start it, 'cause eeprom and sram are stored in the fpga or sdram and you will have to force again and start alt64 after the reset a second time, too. ^^

but nevermind, seems there is no need to write a cheating app anymore ^^
For Example Resident Evil 2

Parasyte's build of Alt64 does not have saving problem while GS cheating.

As your Alt64 build has save problems while GS cheating.
(http://krikzz.com/forum/index.php?topic=1287.msg12913#msg12913)

For Example Biohazard 2

Parasyte's build of Alt64, force save type to sram32 does work, save and load correctly.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on August 29, 2014, 12:01 PM
 ;D I didn't touch the save stuff at all. Maybe it has something to do with using the CIC boot code, even when cheats are enabled ... In my experience, skipping the CIC boot code is a really bad idea.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on August 30, 2014, 06:00 PM
Here's my problem. I want to use master quest debug gameshark cheats. The game won't load! Is it a slower load time, or what? Can I add this to OS 2.04? If so, how? If I need to be specific, please say so. Thanks!
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: lee4 on August 30, 2014, 11:09 PM
Here's my problem. I want to use master quest debug gameshark cheats. The game won't load! Is it a slower load time, or what? Can I add this to OS 2.04? If so, how? If I need to be specific, please say so. Thanks!
you need use the zelda OOT master code here

Master Code
F10004E4 2400
EE000000 0000

unfortunately official OSv2.04 doesn't support master codes

alt64-0.1.8.6-cheat only support master codes properly

EDIT:
oops

I just tested this "master quest debug" doesnt load at all even cheat option is off

Edit2:
this "master quest debug" might need patch to run real hardware

Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on August 31, 2014, 01:41 AM
LoZ: Ocarina of Time Master Quest was never released directly on the Nintendo 64 as a cartridge, so (correct me if I'm wrong) no codes were ever made for it using an actual GameShark. There are no guarantees that the codes available for it will work properly on the actual Nintendo 64 hardware. It may also need an enable code that was never hacked for the N64 GameShark.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: KRIKzz on August 31, 2014, 04:15 AM
Modman
I tries to compile new GS engine, but by some reasons i can't compile this strings:
"la     $at, %%lo(patcher);"
"la     $v0, %%lo(code_engine_start);"
"la     $v1, %%lo(code_engine_end);

error message says: Error: illegal operands `la $at,%lo(patcher)'
Have you any ideas?
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on August 31, 2014, 05:43 AM
I asked Parasyte, because this is really his area of expertise, and his first thought was that it might be GCC version dependent. Also it will only compile with %%lo as inline assembly statements. For plain assembly, it needs to be %lo

Also, just so all of you are aware, there is a new Enable Code in existence for Legend of Zelda: Majora's Mask, hacked by Parasyte when we were doing our testing, because it was one of the issues we ran into with games that needed special attention. It is included in the sample cheat lists released with our version of Alt64. :)

Legend of Zelda: Ocarina of Time Master Quest with codes loads fine for me (no codes take effect), but here's something you all might be missing: The original Alternate 64 menu has an issue regarding defragmentation. So, what this means for you is as follows: if things start to "break," what you should try first is copying the contents of your SD card to your hard drive, formatting the SD card, and copying the SD card contents back to the SD card. This will probably solve 99.9% of your problems. :) This wasn't an issue Parasyte was focused on fixing; the issue seemed to be rectified using the same setup with Krikzz menu. If sufficiently motivated, perhaps Saturnu will correct the issue. In the mean time, formatting your SD card and copying the contents back to it is a safe bet. :)
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on August 31, 2014, 09:46 AM
Master code for Zelda: Master Quest (Prototype) should be:

Code: [Select]
EE000000 0000
F1009310 2400
Title: Release - Alt64 with stable, fully functional GameShark
Post by: Mickkn on August 31, 2014, 12:14 PM
Will it be possible to activate/deactivate cheats from the menu, in the end of this project?

Would be nice for us with no sd hole in the cartridge :)


Sent from my iPad using Tapatalk HD
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on August 31, 2014, 07:36 PM
I have another problem. I did get master quest debug to load(thank goodness), but (I used satarnu's menu) I tried the cheat function. It said no codes were found! I used the same exact process, I have converted my text documents to YAML using notepad++, and I put the yaml files to where it said cheats. Am I doing something wrong? I'll try to figure out the problem today.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on August 31, 2014, 10:09 PM
You can use a tool like YAMLLint (http://yamllint.com/) or Online YAML Parser (http://yaml-online-parser.appspot.com/) to validate the YAML syntax is correct. (If there is a parser error in the menu, it will say "no cheats found".)

Also, I consider this project "complete", and will not be adding any missing features myself. However, it is hosted on github; please do fork the project and submit pull requests! Any help will gladly be accepted.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on August 31, 2014, 11:47 PM
Modifying one of the prebuilt cheat files for the game you want to use codes with is probably the easiest way to do it for people who haven't mastered the YAML syntax. When you save the cheat file, the name must be identical to the name of your rom. ROM.z64 = ROM.yml. In an editor, the game name is listed again, but as a comment, so that name can be anything you like. That part of the code is ignored by the menu. From there, the name of each code needs to be flush with the left margin and ended with a colon, and the actual codes, entered directly below the name, need to be indented as follows: two spaces followed by a dash followed by a space and the code itself. There must be a space between the first 8 digits of the code and the last 4. I haven't tried entering codes using lower case letters in the actual code, and I don't know if it is actually necessary to use only uppercase letters, but I only use uppercase letters when there are letters in the code, and that works fine for me.

Code: [Select]
---
# Banjo Kazooie v1.0
Enable Code (Must Be On):
  - F10396B0 2402
  - DE000400 0000
Infinite Lives:
  - 80385F8B 0009
Infinite Health:
  - 80385F83 0008
Max Health Available:
  - 80385F87 0008
Infinite Air:
  - 81385F8E 0E10
Infinite Mumbo Tokens:
  - 80385FC7 0063
Infinite Jiggies:
  - 80385FCB 0063
Infinite Notes:
  - 80385F63 0063
Infinite Eggs:
  - 80385F67 0063
Infinite Red Feathers:
  - 80385F6F 0063
Infinite Gold Feathers:
  - 80385F73 0063
Moon Jump:
  - D0281251 0020
  - 8137C4BC 43E0
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on September 01, 2014, 08:54 PM
The indentation doesn't actually matter; as long as each line in the code has the same indentation level (including no indentation) it will be fine. What does matter is that there is AT LEAST ONE space after the hyphen, and that the hyphen is at the logical-start of the line.

White-space is generally ignored, so make use of empty lines if it makes your code lists more readable.

Case on the hex digits is ignored. Any non-hex digit will prevent the parser from working correctly, and will cause the number to be truncated.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kerr Avon on September 02, 2014, 04:37 PM
KRIKzz, when you add the cheat engine to your OS, can you please a feature whereby the user can choose which cheats to use? If allowing the user to choose cheat one by one would be too difficult or N64-demanding, then I think a simpler but still really good feature would be if a cheat file could contain multiple (blocks of) cheats, that the user selects from, similar to how we usd to use multiple config.sys (or was it autoexec.bat?) settings back in the DOS days of the PC.

What I mean is, if the user selects a game to load, then if the game (called, for example) "SMario 64 (U).Z64" does not have a corresponding file called "SMario 64 (U).YML" then the game just loads as normal.

However, if there is a file called "SMario 64 (U)" and it contains;


# Super Mario 64

Infinite Energy/Breath:
  - 8133B21E 08FF

L Button For Moon Jump:
  # With this code, you need to press and hold the 'L' button to rise up in the
  # air, and then let go when you are at your desired height to fall.
  - D033AFA1 0020
  - 8133B1BC 4220
  - D033AFA1 0020
  - 8133B17C 0300
  - D033AFA1 0020
  - 8133B17E 0880

Debug Mode: !off
  - A032D598 0001

Level Select: !off
  - A032D58C 0001

Improved Walk Up Hills: !off
  - 81253BF0 2400
  - 81264BBC 1000






(the blue text is the entirity of the "SMario 64 (U).yml" file)

then the user will get the two option menu:

Start the game without any cheats.
Start the game with cheats.


But if the "SMario 64 (U).yml" file contains the flag ">OPT" then instead your OS can give the user a choice of which block of cheats to use, with each option named in the text file after the ">OPT" flag, i.e.


>OPT Infinite Lives

>OPT All cheats

>OPT Walk Through Walls

so that the above  "SMario 64 (U).yml" file could read:





# Super Mario 64

>OPT Favourite Cheats

Infinite Energy/Breath:
  - 8133B21E 08FF

L Button For Moon Jump:
  # With this code, you need to press and hold the 'L' button to rise up in the
  # air, and then let go when you are at your desired height to fall.
  - D033AFA1 0020
  - 8133B1BC 4220
  - D033AFA1 0020
  - 8133B17C 0300
  - D033AFA1 0020
  - 8133B17E 0880

Debug Mode: !off
  - A032D598 0001

Level Select: !off
  - A032D58C 0001

Improved Walk Up Hills: !off
  - 81253BF0 2400
  - 81264BBC 1000







>OPT Moon Jump

L Button For Moon Jump:
  # With this code, you need to press and hold the 'L' button to rise up in the
  # air, and then let go when you are at your desired height to fall.
  - D033AFA1 0020
  - 8133B1BC 4220
  - D033AFA1 0020
  - 8133B17C 0300
  - D033AFA1 0020
  - 8133B17E 0880


>OPT Debug mode

Debug Mode: !off
  - A032D598 0001

Level Select: !off
  - A032D58C 0001

>OPT Walk Up Hills

Improved Walk Up Hills: !off
  - 81253BF0 2400
  - 81264BBC 1000


>OPT Various Cheats


Debug Mode: !off
  - A032D598 0001

Level Select: !off
  - A032D58C 0001



Improved Walk Up Hills: !off
  - 81253BF0 2400
  - 81264BBC 1000


(I've put the >OPT lines in green, just to make them stand out in this post, of course).

So, if the user tells the Everdrive 64 to load "SMario 64 (U).Z64", then if the file "SMario 64 (U).yml" exists, with the contents that I've listed above, then the Everdrive will give the user the options:

Start the game without any cheats.
Favourite Cheats
Moon Jump
OPT Debug mode
Various Cheats

Two other thing occur to me now; first, if (you do add this feature to the OS, and) the ED64 does encounter a ">OPT" flag, then it ignores any "!off" settings, and treats any cheat in the file after the OPTion that is chosen by the player as viable, and secondly, since some games might need a boot code, then any code placed before the first ">OPT" should be executed before the chosen cheats are executed, so that the code(s) precedding the first ">OPT" statement are always executed, when the user selects an OPTion (a cheat/block of cheats) to be executed, no matter which cheats are chosen.

Please consider implementing this, as it would make things much easier for the player than having to edit the .yml file every time he/she wants to try different cheats, and it would be very very useful when trying new or unproven cheats as even if the cheats don't work, we can add different variations to the .yml file so we can test different values without having to remove the SD card, take it downstairs to the PC, edit the .yml file, go back upstairs, insert the SD card into the N64, etc.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: r00t670 on September 02, 2014, 05:56 PM
Perhaps a cheat list format similar to libcheats could be used: https://github.com/mlafeldt/libcheats (https://github.com/mlafeldt/libcheats). This is the format used by ps2rd (a homebrew cheat device/debugger for PlayStation 2), but a similar implementation would work for the N64. The text format is as simple as it can get, even more so than YML. Here's an example

Code: [Select]
"Super Mario 64"
Infinite Energy/Breath
8133B21E 08FF

L Button For Moon Jump
// With this code, you need to press and hold the 'L' button to rise up in the
// air, and then let go when you are at your desired height to fall.
D033AFA1 0020
8133B1BC 4220
D033AFA1 0020
8133B17C 0300
D033AFA1 0020
8133B17E 0880

Debug Mode !off
A032D598 0001

Level Select !off
A032D58C 0001

Improved Walk Up Hills !off
81253BF0 2400
81264BBC 1000

Cheat files begin with the game's name in double quotes, followed by cheats formatted as a string and one or more code lines. Standard C comments can be used, including multi-line /* */. Cheat titles would be scanned for the !off option and be ignored. IMO, this is more user friendly than YML for what it's used for here. You don't have to use dashes or colons anywhere in the list, making it easy top copy+paste codes from other sites.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on September 02, 2014, 11:04 PM
I looked at libcheats during development, and scoffed! I love misfire, and all. But a proven serialization format makes more sense in the end (and is expected to be extensible). libcheats is very, very basic, and doesn't do much beyond what the original parser provided. It also claims that it does not support 16-bit values, but I haven't tested the validity of that statement...

The two most common serialization formats in use today are JSON and YAML. With YAML you get everything for free; Comments, hash maps, lists, tags. And all without ambiguity or verbosity. So, would you prefer YAML, or this?

Code: [Select]
{
    "Infinite Energy/Breath" : [
        [ 0x8133B21E, 0x08FF ]
    ],

    "L Button For Moon Jump-comment" : "With this code, you need to press and hold the 'L' button to rise up in the air, and then let go when you are at your desired height to fall.",
    "L Button For Moon Jump" : [
        [ 0xD033AFA1, 0x0020 ],
        [ 0x8133B1BC, 0x4220 ],
        [ 0xD033AFA1, 0x0020 ],
        [ 0x8133B17C, 0x0300 ],
        [ 0xD033AFA1, 0x0020 ],
        [ 0x8133B17E, 0x0880 ]
    ],

    "Debug Mode-enabled" : false,
    "Debug Mode" : [
        [ 0xA032D598, 0x0001 ]
    ]

    "Level Select-enabled" : false,
    "Level Select" : [
        [ 0xA032D58C, 0x0001 ]
    ],

    "Improved Walk Up Hills-enabled" : false,
    "Improved Walk Up Hills" : [
        [ 0x81253BF0, 0x2400 ],
        [ 0x81264BBC, 0x1000 ]
    ]
}

... I knew you'd see it my way.

In any case, the storage of the code lists is separate from the code engine. There's nothing tying krikzz to use YAML at all. I just felt it was an appropriate change, and it allowed me to remove over 1,000 lines of C that stuck out like a sore thumb.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on September 02, 2014, 11:15 PM
KRIKzz, when you add the cheat engine to your OS, ... I think a simpler but still really good feature would be if a cheat file could contain multiple (blocks of) cheats, that the user selects from, ...

# Super Mario 64

>OPT Favourite Cheats

Infinite Energy/Breath:
  - 8133B21E 08FF

L Button For Moon Jump:
  # With this code, you need to press and hold the 'L' button to rise up in the
  # air, and then let go when you are at your desired height to fall.
  - D033AFA1 0020
  - 8133B1BC 4220
  - D033AFA1 0020
  - 8133B17C 0300
  - D033AFA1 0020
  - 8133B17E 0880

Debug Mode: !off
  - A032D598 0001

Level Select: !off
  - A032D58C 0001

Improved Walk Up Hills: !off
  - 81253BF0 2400
  - 81264BBC 1000







>OPT Moon Jump

L Button For Moon Jump:
  # With this code, you need to press and hold the 'L' button to rise up in the
  # air, and then let go when you are at your desired height to fall.
  - D033AFA1 0020
  - 8133B1BC 4220
  - D033AFA1 0020
  - 8133B17C 0300
  - D033AFA1 0020
  - 8133B17E 0880


>OPT Debug mode

Debug Mode: !off
  - A032D598 0001

Level Select: !off
  - A032D58C 0001

>OPT Walk Up Hills

Improved Walk Up Hills: !off
  - 81253BF0 2400
  - 81264BBC 1000


>OPT Various Cheats


Debug Mode: !off
  - A032D598 0001

Level Select: !off
  - A032D58C 0001



Improved Walk Up Hills: !off
  - 81253BF0 2400
  - 81264BBC 1000

That isn't YAML. ;) What you can do here instead is just use another level in the tree:


Code: [Select]
---
# Super Mario 64

Favourite Cheats:

  Infinite Energy/Breath:
    - 8133B21E 08FF

  L Button For Moon Jump:
    # With this code, you need to press and hold the 'L' button to rise up in the
    # air, and then let go when you are at your desired height to fall.
    - D033AFA1 0020
    - 8133B1BC 4220
    - D033AFA1 0020
    - 8133B17C 0300
    - D033AFA1 0020
    - 8133B17E 0880

Debug:

  Debug Mode: !off
    - A032D598 0001

  Level Select: !off
    - A032D58C 0001

Various Cheats:

  Improved Walk Up Hills: !off
    - 81253BF0 2400
    - 81264BBC 1000

Now it's valid YAML! And you still get your grouping.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kerr Avon on September 03, 2014, 12:30 AM
Fair enough, mate. I don't mind what format it's in, as long as it allows us to select which cheats to use, to save having to edit the file every time we want to use a different cheat(s).
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on September 03, 2014, 07:01 AM
It's an interesting feature request. But at the end of a day, a menu's a menu. Meaning if a programmer can code one cheat input menu, she can code the other just the same.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kerr Avon on September 03, 2014, 04:41 PM
It's an interesting feature request. But at the end of a day, a menu's a menu. Meaning if a programmer can code one cheat input menu, she can code the other just the same.

True, but we don't want Krikzz to have to do too much work, he's already rather busy with his various Everdrive projects, I imagine.

Of course, if we were paying him to do his work, then we'd be demanding all sorts of features, but since he provides improvements to the OS for free (and how I wish this attitude was more common across the world), then it's hardly fair to expect him to write (and test) too much code.

Mind you, once the OS has this cheat support, fixed (and user editable) saves for games, and whatever else he's incorporated, then the OS will be nearly perfect, so at least he won't be bothered by feature requests for the ED64 (well, not too often - but I'm sure occasionally someone will ask for something new  :)).
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Subroc on September 03, 2014, 08:56 PM
hi guys,

When can we expect the update with the advanced GameShark functions?
It would be really cool if a cheat enabling/disabling menu function would be implented too at one point.

Do you think that it would be possible to implent a in-game trainer too?



I also wonder if it would be possible to use the ED64 somehow with a real Gameshark, Gamebuster and Xploder.
I dont have any clue from the technical point of view, but i prolly have an hypothetical idea for this.

Till now i didnt even try to get the ED64 working with a gameshark because i dont even have one at this moment (but just ordered one today).
And even if i had one, i wouldnt try because i know it doesnt work.

But what if you could autoload games with the ed64? I mean, what if the ED64 would start a game directly without getting in the menu first?
Maybe then you could use a GameShark (or whatever) with the ED64? You could most likely do this with only one game at a time, but that wouldnt matter
at least for me, as long as you can really use a GS with the ED64.

I heard from other Flashcarts (nintendo 3ds flashcart iirc) which can only handle one game at a time. I never tried one,
but i guess it does directly load a game without getting into a menu first, or even without a menu at all.

So i just wondered if that would be also possible with the ED64.

I dont know if this autoload function would be technically possible, but i thought i still can share this idea with people
who have a clue about this kind of stuff.

Obviously my english sucks, but i hope you still did understand my train of thoughts.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on September 04, 2014, 07:05 AM
WAY, WAY off-topic, but... 3DS carts have trouble running a menu due to technical limitations. Not for convenience. ;)

Speaking of convenience, the menu does a lot of things that you won't have to think about, as an end-user. Without it, you would have to configure save type and CIC for each individual game you wanted to "direct boot". Then there are other customizations, like video mode for playing imports, enabling cheats, etc.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on September 07, 2014, 05:48 PM
Why not have krikzz implement an on/off code list similar to the project 64 cheat list? Or is it too much code/what kerr avon is trying to say?
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Mickkn on September 07, 2014, 07:24 PM
Are Gameshark only for NTSC ?
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kerr Avon on September 07, 2014, 07:55 PM
Are Gameshark only for NTSC ?

No, and slightly yes. Gamesharks are only for NTSC, strictly speaking, but there are the same devices, just with a different name, for PAL, called Action Replay. The difference is that the codes are different for each region of game (maybe not always, but two different region games, say Super Mario 64 for PAL and NTSC, usually need different codes to achieve the same effect).

Also, in Britain at least, two more cheat devices were made, that use these codes (for PAL N64 games, obviously), these were the Equaliser, and the Xplorer 64. They were basically Action Replay clones (so were PAL clones of the Gameshark, really), but released by other companies.

For PAL codes, and for information about the Xplorer 64 (also called the Xploder 64), go to:

http://www.kai666.com/

and for information about the Equaliser and the Xplorer 64, see:

http://www.kai666.com/forum/viewtopic.php?f=2&t=55
Title: Release - Alt64 with stable, fully functional GameShark
Post by: Mickkn on September 07, 2014, 08:56 PM
But this ED64 feature works with the Xplorer64 codes from ex. this site? http://www.kai666.com/


Sent from my iPad using Tapatalk HD
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kerr Avon on September 07, 2014, 09:17 PM
But this ED64 feature works with the Xplorer64 codes from ex. this site? http://www.kai666.com/


Sent from my iPad using Tapatalk HD

I don't know (I'm working away from home, without my N64, so I can't check). The codes from that site will work with the cheat engine provided the codes are for the Action Replay, but I don't know if the Xplorer 64 codes will too. Can someone check and confirm if they work or not, please?
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: lee4 on September 08, 2014, 12:03 AM
Official GameShark codes for European N64 games since 1996
http://uk.codejunkies.com/search/codes_search_results.aspx?platval=6&game=&plat=Nintendo%2064
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: IlDucci on September 08, 2014, 01:27 AM
Anyone around here is having trouble with The World Is Not Enough PAL Codes? I can't seem to be able to make Invincibility work.

Here's my file:
Code: [Select]
---
# 007 The World Is Not Enough (PAL)

Invincible:
  - 811147D8 0101

Infinite Time:
  - 81103B82 0000

Infinite Oxygen:
  - 800E25E4 0004
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on September 08, 2014, 09:30 AM
But this ED64 feature works with the Xplorer64 codes from ex. this site? http://www.kai666.com/


Sent from my iPad using Tapatalk HD

This question was answered in the other thread: http://krikzz.com/forum/index.php?topic=1879.msg21427#msg21427
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on September 13, 2014, 11:59 PM
I'm glad everything is in progress! All we need is FULL amounts of gameshark codes WITH the ability to turn on and off INDIVIDUAL gameshark codes and the gameshark support is now complete! Oh, Krikzz is there going to be hex editing support? If not, could you at least add a hex search function that is able to search for hex values or ASCII text?
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Subroc on September 15, 2014, 11:17 PM
Hey Koderwerx,

finally i got a Xploder64  (aka Xplorer64 in North America) again, had it already 15 years ago but sold it with all my other n64 collection.
So a got a Xploder but it had the earlierst version without the Ingame trainer implented. So i bought another one and updated it, you prolly already know that you can update those cartridges if you plug them together, the XPL with the newer version updates the XPL with the older version. But to my suprise the Ingame trainer didnt work at all and i thought i maybe messed up
both cartridges. I also dont have a printer cable, and even if, i dont know if it would work to update the software, because it has already the most (and last) recent version.

But then ive seen a code in the cheat list which is named "Dummy Code for Ingame Trainer", and suddenly it worked after activating that code.
I totally forgot or cant even remember that you need a code to get the ingame trainer to work.


I have some few Questions and it seems that you have much knowledge about those cheat cartridges and gamehacking in general.
I would appreciate it very much if you could answer my questions.


1. Is it maybe possible to convert GS Code into XPL Codes and vice versa? I assume that there is only a lil difference between the Codes for each cartridge.
   Im pretty sure that its possible to convert NTSC Codes into PAL Codes because if i remember correctly, they only differ slightly.
   I thought that Gameshark codes works with the Xploder64, but that doesnt seems to be true. Both have different code types.
   
   The problem is that the most codes you will find are GS Codes.
   I was pretty sure that GS Codes do work on the XPL because i thought ive succesfully used some back in 2000.


2. Is there a possibility to search for codes on the computer with a emulator which would work on the Xploder?
    I wonder how those people found all the codes for the Xploder. Did they use the actual Xploder or did they use a pc and emulator for that?   
   
    I know that you can search for codes on emulators, but i guess its pretty much only for the Gameshark.
    If there is no possibility to search for XPL codes on emulators, then i guess someone prolly would have to make a special programm to find xploder codes via emulators.

    The ingame trainer seems to freeze all the time, so i doubt its very useful to actually search for codes. 


3. Do you have a GameShark or even a Game Shark Pro for the N64? In europe its named Action Replay and Action Replay Pro, and was apparently only released in the UK.
   
    If there is no solution for the questions #1 and #2, would you recommned to get a Action Replay?
    As far as i know only the "Pro" Version has a Ingame Trainer. Is the Ingame Trainer from the Action Replay Pro better and more reliable as the Xploder ingame trainer?
    Ive read that the Action Replay Pro is very buggy, but maybe the Ingame Trainer is more reliable as the XPL one.
   
   But no matter how you look at it, it would prolly be the best to get a ARP, because i could use all the GS codes on it.



   

 
   
   
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Subroc on September 16, 2014, 01:57 AM
Yes!

I just found out that its possible to use GS codes for the Xploder and it works like a charm :)

I was initally looking for interesting Xploder websites to extend my already huge bookmarks library, and not really looking for infos about using GS Codes on the Xploder.
I mean ive obviously looked for a solution few hours before, but without success.
Then i went on your page (@koderwerx) and through that i found the website gamehacking.org.
After looking at the Xploder codes i realised that you can encrypt GS codes to use them as Xploder codes, awesome stuff!


There is only one thing, is the code converter from the website also available as a lil program? That would be very nice though.


And after Krikkz released the new OS with the fully implented GS function then im gonna be the happiest man on earth  8)
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on September 26, 2014, 01:09 AM
I haven't used the alt64 because it won't even LOAD ocarina of time master quest! Plus, all or none codes are REALLY ANNOYING, so hopefully Krikzz adds one with the ability to choose codes! I just use REGULAR OS from now on until there's AT LEAST the ability to change codes on the alt64.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Mattroid on September 26, 2014, 03:19 AM
I haven't used the alt64 because it won't even LOAD ocarina of time master quest! Plus, all or none codes are REALLY ANNOYING, so hopefully Krikzz adds one with the ability to choose codes! I just use REGULAR OS from now on until there's AT LEAST the ability to change codes on the alt64.
You're welcome to make your own menu that does what you want, you know.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on September 26, 2014, 04:42 AM
Yeah, If that's the case, I want to have ONLINE CAPABILITY on my everdrive provided I have the hardware (meaning similar design to the RANDNET capture cartridge) and coding skills necessary to program it. Do you know what programming language the OS uses? I'd love to play SUPER SMASH BROS. online! (Maybe a stupid question if the ONLY hardware with online is 64DD)
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: TheRetromancer on September 26, 2014, 05:36 AM
Yeah, If that's the case, I want to have ONLINE CAPABILITY on my everdrive provided I have the hardware (meaning similar design to the RANDNET capture cartridge) and coding skills necessary to program it. Do you know what programming language the OS uses? I'd love to play SUPER SMASH BROS. online! (Maybe a stupid question if the ONLY hardware with online is 64DD)

...Not sure if you're being serious or sarcastic here...
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: saturnu on September 26, 2014, 07:55 AM
Maybe i should make a new version of alt64.
But atm. i'm busy with snes projects. ^^
let's wait and see how krikzz gs menu will look like :>

some of my ideas are:

- to load the boxart from the cartridge space like jnmartin84 with his doom port.
i think this would allow true boxart browsing. ^^

- internal transfer pak support
- internal edgb preloader
- better controller pak manager with individual save support
- cheatlist browser
- high res option
- font switching

hm, maybe ^^
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: MockyLock on September 26, 2014, 08:13 AM
Maybe i should make a new version of alt64.
But atm. i'm busy with snes projects. ^^
let's wait and see how krikzz gs menu will look like :>

some of my ideas are:

- to load the boxart from the cartridge space like jnmartin84 with his doom port.
i think this would allow true boxart browsing. ^^

- internal transfer pak support
- internal edgb preloader
- better controller pak manager with individual save support
- cheatlist browser
- high res option
- font switching

hm, maybe ^^

And NOT ONLINE GAMING oO !!!
what a shame...
:x
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on September 26, 2014, 08:28 AM
That sounds awesome, Saturnu. If you do decide to do it, I would definitely use it. :) there is also an issue with the way the menu reads data that causes it to mishandle fragmented data. It causes the menu not to boot any games added after a user deletes other files first. It's easy enough to work around it now, but just so you know, that's what's happening. :)

LoL, MockyLock.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kerr Avon on September 26, 2014, 04:13 PM
Saturnu, would you consider making stand-alone programs that can be used with either ED64 OS?

I.e. say a program called 'Cheat.z64' that when loaded, allows you to select a game, then select the individual cheats to active, then load the game, plus a program called 'Controller Pak Management.z64 ' that when loaded gives you the options:

Copy whole controller pak to file
Copy controller pak page(s) to file
Copy whole file to controller pak
Copy pages to controller pak
Format controller pak
Exit

Please have a virtual keyboard for naming the controller pak (or page) files, and  please ask "Are you sure?" before any option that changes anything.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: saturnu on September 26, 2014, 04:47 PM
hm, i think it would be an easy task, if the functions are ready to port it afterwards to a standalone tool, too.

another thing i'm thinking about is a standalone gnuboy64 port, i already have one ready, but i don't want to release it without fixing the sound first.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kerr Avon on September 26, 2014, 05:11 PM
hm, i think it would be an easy task, if the functions are ready to port it afterwards to a standalone tool, too.

That would be *great*  :)




Quote
another thing i'm thinking about is a standalone gnuboy64 port, i already have one ready, but i don't want to release it without fixing the sound first.

Not my thing, personally, but I'm sure quite a few people would like that, specially if it supported game save and load.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: MockyLock on September 26, 2014, 06:26 PM
For sure, standalone versions would be the best. Copy/cut, easy update. Great, great !
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on September 27, 2014, 12:23 AM
Yeah, If that's the case, I want to have ONLINE CAPABILITY on my everdrive provided I have the hardware (meaning similar design to the RANDNET capture cartridge) and coding skills necessary to program it. Do you know what programming language the OS uses? I'd love to play SUPER SMASH BROS. online! (Maybe a stupid question if the ONLY hardware with online is 64DD)

...Not sure if you're being serious or sarcastic here...
Yeah I am SERIOUS! I was thinking kaillera and emulator imperfections when it came to mind!
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: TheRetromancer on September 27, 2014, 01:19 AM
Yeah I am SERIOUS! I was thinking kaillera and emulator imperfections when it came to mind!

I see.  Tell me something, Hexatendo.  How familiar are you with coding in ASM?  In addition, how skilled are you at circuit design?  At web protocol?  Because you'll need an awful lot of skill in those areas (and likely others)if you ever want to make this dream a reality.

I'm not saying it's impossible, because I've seen people do similar things with the NES.  But I am saying that it's nearly impossible, extremely unlikely, and how many games do you really envision are going to be made to take advantage of the feature?  Again, I'm not trying to dissuade you...you just come across as both wildly optimistic and a little naive.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on September 27, 2014, 06:02 AM
That's what I meant by coding
Yeah I am SERIOUS! I was thinking kaillera and emulator imperfections when it came to mind!

I see.  Tell me something, Hexatendo.  How familiar are you with coding in ASM?  In addition, how skilled are you at circuit design?  At web protocol?  Because you'll need an awful lot of skill in those areas (and likely others)if you ever want to make this dream a reality.

I'm not saying it's impossible, because I've seen people do similar things with the NES.  But I am saying that it's nearly impossible, extremely unlikely, and how many games do you really envision are going to be made to take advantage of the feature?  Again, I'm not trying to dissuade you...you just come across as both wildly optimistic and a little naive.

Yeah, what I meant is i need to LEARN how to code, THAT's what I meant. Although, I have LOTS of Ideas, and unfortunately, this idea might be like the most that's forgotten. In other words, an idea, think about it for a couple of days, and then forget. I see that 2.05 is FINALLY out. I JUST downloaded it.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: TheRetromancer on September 27, 2014, 07:04 AM
Alright, then - as long as you are fully aware of what you're putting yourself up for, then I can do nothing but offer you every encouragement.  I don't think you'll be able to manage it.

But I want you to prove me wrong, and then rub it in my face.  In fact, I'll make a bet with you:  If you ever (and I mean EVER, in the span of both of our life-times) get this working in the real world (connecting to the internet, net-based multiplayer, etc), then I promise that I will fly out to your home city, and I will buy you and a friend dinner and drinks.

Go for it!
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: rimsky82 on September 29, 2014, 06:27 PM
rimsky82 from gamehacking.org here...

I added yaml as an export on our site.  That means you can find your game, select the codes you want, and download them as a yaml file for use with this cheat engine.  I have an ED64v2 myself, and tested it.  Quick and easy.

http://gamehacking.org
http://gamehacking.org/?sys=n64

Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Paulweeze on September 29, 2014, 06:39 PM
Thanks Rimsky82! I have not personally tested the alt64 os, but now im encouraged to fiddle with it. Your site is awesome btw.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on September 29, 2014, 07:56 PM
Yeah, thanks! Although I might not use it because I want certain codes at certain times. Alt64 CAN'T do that!
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on September 29, 2014, 10:55 PM
You seem incredibly passionate about that feature, Hexatendo. You'd be the perfect person to add that functionality!
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: rimsky82 on September 30, 2014, 01:21 AM
Yeah, thanks! Although I might not use it because I want certain codes at certain times. Alt64 CAN'T do that!

Well, you can select the codes you want on the site, so you can get a new one at any time with different cheats.  At least there wouldn't be any editing involved!
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on September 30, 2014, 02:21 AM
Thank you, rimsky82, that's an awesome tool that you've made.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kerr Avon on September 30, 2014, 03:53 PM
rimsky82 from gamehacking.org here...

I added yaml as an export on our site.  That means you can find your game, select the codes you want, and download them as a yaml file for use with this cheat engine.  I have an ED64v2 myself, and tested it.  Quick and easy.

http://gamehacking.org
http://gamehacking.org/?sys=n64

That is brilliant, mate! Thanks.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on October 01, 2014, 08:32 PM
Yeah, thanks, rimsky82! This is just perfect(assuming I can hex edit with the modifications)!  By the way, how can you hex edit codes like FF84? I want to enable zelda map select as a hack (like Debug rom), but there are codes like the example. I'm using Lspyro. (Hex editor is one of many mod type apps)
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: rimsky82 on October 03, 2014, 03:12 AM
Yeah, thanks, rimsky82! This is just perfect(assuming I can hex edit with the modifications)!  By the way, how can you hex edit codes like FF84? I want to enable zelda map select as a hack (like Debug rom), but there are codes like the example. I'm using Lspyro. (Hex editor is one of many mod type apps)

I'm not quite sure I follow you, but the .yml files are easier edited with a text editor.

If you mean you want to patch the rom with a certain code, I believe all N64 Gameshark codes modify RAM addresses.  Therefore, you can't directly patch a rom using them... you'd have to use a debugger to modify the ASM writing to the RAM address.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on October 03, 2014, 04:34 AM
No, you misunderstood. See, I want to hack ocarina of time v1.0 to enable map select. I want to use a hex editor. But I can only modify up to 2 digits. I want to apply gameshark codes to a hex editor like for example, 815A265B 4653. I cant modify this code because it only lets 2 digits, not 4.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 03, 2014, 06:11 AM
What is this I don't even

(https://lh5.googleusercontent.com/proxy/WydLWuJm0Sad8-V_-PodxVUOxHcdJ_Y7H5snxYAxIq6i4UEHuDvysuQIUOvVqnEh2J5lfnCvdMrL5rAWMMMkqGIMDydTK7ugmN5oVrZqQ12QmlxVAZQqv2PLDeaf5-7GmRmGxzUSYsXL0PQa37D6Mwi9I67Vg_1oY6ahrIAUG0MuOcLFQctlSZwGzOa4HYP2ShHsiieGhTeWt8PzRCdNzxf7VYRbDkR76Urzop4xNYWUQj1wG4fjMw=w512-h512-nc)
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on October 03, 2014, 07:46 PM
Um, I don't understand your post! My question is: How do i convert gameshark codes to hex values? I want to make an automatic map select hack like the debug rom, but it's for 1.0 instead. Any help? Thanks!
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 03, 2014, 08:53 PM
Yeah, thanks, rimsky82! This is just perfect(assuming I can hex edit with the modifications)!  By the way, how can you hex edit codes like FF84? I want to enable zelda map select as a hack (like Debug rom), but there are codes like the example. I'm using Lspyro. (Hex editor is one of many mod type apps)

I'm not quite sure I follow you, but the .yml files are easier edited with a text editor.

If you mean you want to patch the rom with a certain code, I believe all N64 Gameshark codes modify RAM addresses.  Therefore, you can't directly patch a rom using them... you'd have to use a debugger to modify the ASM writing to the RAM address.

As Rimsky82 said, GameShark codes modify ram values, not Rom code. They can't just be converted into rom hacks. You need to learn assembly, disassemble the rom, trace to the area of the rom you want to modify, and modify it that way.

This thing you want to do is not quick and trivial. You have a long road ahead of you if you really want to see it through.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: TheRetromancer on October 03, 2014, 09:08 PM
No, you misunderstood. See, I want to hack ocarina of time v1.0 to enable map select. I want to use a hex editor. But I can only modify up to 2 digits. I want to apply gameshark codes to a hex editor like for example, 815A265B 4653. I cant modify this code because it only lets 2 digits, not 4.

Sounds like you need a bit of a primer on patching and Gameshark codes.

Those first two digits, 81, mean to write 2 bytes to the address defined by the next 6 digits, in this case 0x5A265B, with value 0x4653.

But you'll need to find the ROM address, which means you'll need to do a bit of subtraction.  So you take 5A265B, subtract 245000, and you get the address of 35D65B.  So you go to offset 0x35D65B and change its value to 4653.

This, however, changes the checksum, which will cause the game not to load, because all of the ROM range between 0x1000 and 0x100000 is checksum protected.  You can either use a checksum recalculator, or you can get rid of the CRC check entirely by NOPing out two instructions in the ROM:

0x066C: BNE A3, T0, 0x800001C8
0x0678: BNE S0, T0, 0x800001C8

https://sites.google.com/site/messiaen64/patching-gameshark-codes (https://sites.google.com/site/messiaen64/patching-gameshark-codes)
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 03, 2014, 09:24 PM
Oh, fair enough. Didn't realize you could trace the location so easily. Guess I need to brush up myself, that wasn't what came to mind for me at all. It has been years since I've touched this stuff, though.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kerr Avon on October 03, 2014, 09:27 PM
Hexatendo, I don't know how to do what you want, but this might help you:

http://krikzz.com/forum/index.php?topic=1620.msg16379
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: rimsky82 on October 04, 2014, 03:56 AM
We were right Modman, but so were they.  Evidently a lot of ASM is copied to certain parts of the RAM, so Gameshark codes that write to those areas can be patched to the ROM.  But not ALL codes, just the ones in the range described by that tutorial listed a couple of posts up.

Edit:  The code in question doesn't appear to be in that range.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 05, 2014, 05:44 AM
So it is what it is. Hexatendo, what you want to do can be done, but not without an extensive and personal look into the game you wish to modify. Just go for it, dude. Turn reliance on everyone else into reliance on yourself.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Shadow on October 07, 2014, 04:37 AM
I'm having issues with the activator codes for San Fransisco Rush 2049.  At first I thought it was krikzz' menu so I tried Alt64 but no change.
I got it paired with max speed so the car goes super fast pressing the R button but then the buttons start pressing randomly like it's spazing out.  I tried different button presses and alternated between the 3 different activator codes with no success.  Anyone have the same issue?

Activator 1   D0037AA4 00??
Activator 2   D0037AA5 00??
Dual Activator   D1037AA4 ????

Speed Modifier2   8114A298 ????
Use these quantities only, and use with activator!
4333 - 146 mph, nice for a good joy ride.
4350 - 170 mph, a little faster, easy to control.
4380 - 210 mph, fast, harder to control.
4393 - 270 mph, INSANELY FAST, only use if you like to crash(BTW, the crashes are hilarious with this)

Activator 1 buttons

          00 - No Buttons
          01 - D-Pad Right
          02 - D-Pad Lefft
          04 - D-Pad Down
          08 - D-Pad Up
          10 - Start
          20 - Z
          40 - B
          80 - A

Activator 2 buttons

          00 - No Buttons
          01 - C-Right
          02 - C-Lefft
          04 - C-Down
          08 - C-Up
          10 - R
          20 - L
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 07, 2014, 05:34 AM
So the codes work in Krikzz's menu and in Alt64? That is, the codes take effect and do what they're supposed to, but the buttons start misbehaving after?

If the codes are working in both menus, and having the same issues in both menus, then it's probably not the GameShark engines. There are completely different implementations in both menus. More likely, there is a bug in the way the menus handle controller interrupts, or a bug with the compatibility of that specific game with the menus.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Shadow on October 07, 2014, 07:19 AM
Ah ok,  dang it.   I did unplug the controller too and it still goes berserk.  You mean the game menus?  If so then I know that it doesn't do this on project 64.

EDIT:  So far with my testing its the only game that does it.  I can't say for the other games except for the ones I've tried.  The moon jump activator code by pressing L works on Mario 64.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 07, 2014, 08:34 AM
Yeah, we did a lot of testing before we released, but we didn't test every code with every game. For example, the Hit Anywhere code for super smash bros works fine on a real GameShark, but doesn't work on Alt64. That's the only legitimate code I know of that doesn't work properly, but there may be more. That being said, if a code isn't working in Alt64, it's not going to work at all. If it's working (doing what it's supposed to), but there are other unintended side affects, like the buttons going crazy, it's probably something unique about the game that just needs to be figured out and patched in an upcoming menu version.

And, no, not the game menus. The menu, as I refer to it, is either Alt64, Alternative ED64 menu, or OS 2.05. Whichever is appropriate in context.

And we are not sure at all why the Hit Anywhere code isn't working in Alt64. By everything we've seen, it should be.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Shadow on October 07, 2014, 09:39 AM
I think I'm going to sit down and test virtually every game with most of the wanted codes and provide you guys a list.  Maybe by that list you can correlate and determine what the issues could be.  I'm not thinking of testing codes that glitch the games like menu freezing and what not but codes that are actually helpful.
Would that help out?
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 07, 2014, 05:42 PM
That would be awesome! Getting codes like Hit Anywhere for Super Smash Bros and the button activators for the game you listed to work may turn out to be a two fold operation requiring both upgrades to the GS engine as well as improvements in game compatibility with the Everdrive menus. Getting an idea of which codes work and any codes that might act up will allow us to zero in on where the issues lie. All of the other codes I've tested for Super Smash Bros, for example, work flawlessly. This could be an issue with the GameShark, but it could also be an issue with some small glitch in the menu.

Just keep in mind that there are codes that don't work properly in Alt64 or on a real N64 GameShark, like the Infinite Eggs as soon as you pick one up code for Yoshi's Story. If I'm not mistaken, that is an example of an assembly hack code that was made in an emulator. The same freeze that happens during gameplay with that code enabled in Alt64 happens on a real GameShark as well.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Shadow on October 08, 2014, 01:04 AM
Ok I'll work on the A's tonight.  I'll post my report every letter as I finish them.  I get my codes from this site. 

http://viper.shadowflareindustries.com/antigsc/?codes&dev=gs&system=n64

But I'm not sure if they list both codes that work on a real gameshark and codes that don't.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 08, 2014, 01:55 AM
Ah, viper is a good friend of mine. It's likely that a lot of his codes are ASM. Just beware of that if you run into codes that freeze the games.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Shadow on October 08, 2014, 06:02 AM
That's cool :)

A little update on my progress here... I didn't take into account how many code lists I had to make haha so I'll spend ~2-3 days making them.  Once I finished I'll load them on here for anyone that wants to use them.  Then I'll do the testing  :D

On a side note I am not including glitchy codes that mess up the game in the lists and any mod codes that require different values will be listed as !off and the values in note form like this

Opponent mod: !off
# 0 Dion 1 Kensuke 2 Akari 3 Ricky 4 Rob 5 Silver 6 Gold 7 Panda
  - 80020215 000?
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 09, 2014, 07:04 AM
With assembly codes, I've noticed that it can take a trigger to freeze the game. That is, the codes may be loaded and the game may play properly for a bit, but the game will inevitably freeze. For Hit Anywhere, the game freezes when you attempt to hit the opponent. Essentially, when you try to use the code in the game. With Yoshi's Story, the assembly code for infinite eggs works properly (gives you infinite eggs), but when you try to enter a flower pot, the game freezes as you exit the pot. Assembly codes can have some very strange effects on the actual hardware.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Shadow on October 11, 2014, 03:43 AM
making code lists takes quite a bit of time.  Dang.  Here's my progress so far.  I just finished quake and was extremely happy with myself until I found that the largest code list for a game is over 30,000!
Sorry guys it's going to take at least a week to do most of these but I will nonetheless :)

Here's what I got so far, Enjoy :)
https://dl.dropboxusercontent.com/u/5992011/yaml%20code%20lists.rar

Once I finish the code lists I'll begin testing
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: devin501 on October 13, 2014, 10:46 AM
Anyone manage to get this to work with the new V3? I get a complete black screen.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 13, 2014, 09:27 PM
Anyone manage to get this to work with the new V3? I get a complete black screen.

Just to clarify, do you have a previous version of the Everdrive that you were successfully running this on, and you attempted to simply migrate that SD card to the V3? Or is this V3 your first attempt ever at using this menu?
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: devin501 on October 14, 2014, 05:06 AM
This is my first ED64, so its a fresh SD card and my first attempt at running Alt64. I have the latest 2.05 OS working flawlessly and have played plenty of ROMs, but can't get this mod to work at all. Just a black screen.

Am I supposed to merge the Alt64 ED64 folder into the official ED64 or remove the official? I've tried both ways with no success.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 14, 2014, 09:03 AM
Ah, that makes more sense. Alt64 requires its own special file directory, but I don't have a V3 everdrive to test it with. If Saturnu's Alternative ED64 menu also doesn't work, then it's likely a bug in the actual menu. If it does work, then it would be a bug specific to Alt64. Or, it could just be an issue with the necessary file directories not being where they need to be.

You can't install the OS 2.05 files and then just replace the specific OS 2.05 file with the one from Alt64, you have to use the directories that came with Alt64. So, if that's what you tried, that would be why you are seeing a black screen.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: saturnu on October 14, 2014, 01:27 PM
alt64 isn't designed to work properly with the ed64v3 at all.
it was programmed in the good old v1 and v2 times. :D
the firmware included in alt64 is for the v2.

for me it seems like since OS2.05, there are three firmware files included in the romfs.

dd skip=44544 count=3847 if=OS64.v64 of=firmware_v2.bin bs=16 //(61K) real v2 firmware
dd skip=48392 count=3921 if=OS64.v64 of=firmware_v3.bin bs=16 //(62K) v3 firmware? - not working
dd skip=52314 count=4385 if=OS64.v64 of=firmware_v3.bin bs=16 //(69K) v3 firmware? - test pending ^^

if you want to add v3 support to alt64 i think you will have to check for the firmware version register.

Code: (c) [Select]
firm = evd_readReg(REG_VER);
if (firm >= 0x0300) { load(firmware_v3.bin); } //0x300 - now confirmed by lee4 :>
else if (firm >= 0x0200) { load(firmware_v2.bin); } //mine is 0x214

but don't quote me on that ^^
it's just a wild guess. :>
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 14, 2014, 05:32 PM
Ah, thank you, Saturnu. :) if krikzz thinks it may still be a while before he implements this gameshark into his menu, I will try to get Alt64 running on the Everdrive V3.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: devin501 on October 14, 2014, 09:12 PM
I figured V3 wasn't supported yet. I tried everything you've mentioned with no luck ;__;
Alt64 was a huge selling point for buying an ED64, especially with the Gameshark implementation. I'll keep an eye on this thread and Saturnu's thread for updates. Thanks.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 14, 2014, 10:08 PM
Rest assured you won't be left hanging. I know Krikzz has been working on migrating Parasyte's Gameshark implementation to his menu, but if he thinks it will be a long time before that happens, updating Alt64 is the solution.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: saturnu on October 15, 2014, 12:23 AM
Modman
I tries to compile new GS engine, but by some reasons i can't compile this strings:
"la     $at, %%lo(patcher);"
"la     $v0, %%lo(code_engine_start);"
"la     $v1, %%lo(code_engine_end);

error message says: Error: illegal operands `la $at,%lo(patcher)'
Have you any ideas?

i think, i managed to pass that error with my limited mips asm skills :D
by splitting up the 'la' pseudo code into two mips instructions

Code: [Select]
        "lui   $at, 0x0000;"
        "ori  $at,$at, %%lo(patcher);"
       
        "lui   $v0, 0x0000;"
        "ori  $v0,$v0, %%lo(code_engine_start);"

        "lui   $v1, 0x0000;"
        "ori  $v1,$v1, %%lo(code_engine_end);"
       
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 15, 2014, 01:07 AM
That is one way to do it. :)

From Parasyte:

It's most likely that Krikzz is using an older version of GCC to compile the menu, and that is causing an issue with the %%() part of the code.

Parasyte is using:

/mips64-elf-gcc --version
mips64-elf-gcc (GCC) 4.8.0

It's also very, very important to compile the GameShark code with optimization disabled.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: saturnu on October 15, 2014, 01:46 AM
i'm using
mips64-elf-gcc (GCC) 4.8.1
and it's not working for me, too :>

but who cares, the gas is converting the pseudo code anyway. ^^

btw. here are two builds of alt64-cheat

v0187b2_font_fix
removes the splash screen and fixes the font transparency

v0187b3_ed64v3_test
checks if (firm >= 0x0300)
additional includes something, that might be the v3 firmware :D
it's totally experimental - i don't own a ed64v3 and can't test it

alt64_font_fix+debug_0187b.zip (http://www38.zippyshare.com/v/74233873/file.html)
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 15, 2014, 02:42 AM
Well, you are awesome, Saturnu. :) thank you! Hopefully Devin will let us know if that worked.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: devin501 on October 15, 2014, 03:21 AM
I'll try it out in the next hour and post results.

-edit-
I formatted my original SD card that I was using with the OS 2.05 and copied the entire contents of v0187b3_ed64v3_test to the root of the card with no luck. I tried a completely different card with a fresh format with no luck either. :( If you have any other ideas on how to get this working I can help you test it. Thanks for trying.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 15, 2014, 07:12 AM
I can confirm that v0187b2_font_fix is working perfectly.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: saturnu on October 15, 2014, 11:18 AM
maybe someone with a v3, can put this OS in his ED64 folder?
it should only print one line to the screen. ^^

fw_printf.zip (http://www17.zippyshare.com/v/40613378/file.html)
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: lee4 on October 15, 2014, 11:51 AM
v0187b3_ed64v3_test
checks if (firm >= 0x0300)
additional includes something, that might be the v3 firmware :D
it's totally experimental - i don't own a ed64v3 and can't test it

alt64_font_fix+debug_0187b.zip (http://www38.zippyshare.com/v/74233873/file.html)
I can confirmed too black screen
maybe someone with a v3, can put this OS in his ED64 folder?
it should only print one line to the screen. ^^

fw_printf.zip (http://www17.zippyshare.com/v/40613378/file.html)
it display this
firmware version: 0x300
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: saturnu on October 15, 2014, 12:24 PM
ah thanks! 0x0300 as i expected. ^^

here is a version that tries to load up that mysterious third firmware file. :>
if this isn't working, then i'm out of ideas. :D

Quote from: saturnu
dd skip=52314 count=4385 if=OS64.v64 of=firmware_v3.bin bs=16 //but what the heck is this 3rd one? ^^

v0187b4_ed64v3_test.zip (http://www26.zippyshare.com/v/40863607/file.html)

Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: lee4 on October 15, 2014, 12:54 PM
ah thanks! 0x0300 as i expected. ^^

here is a version that tries to load up that mysterious third firmware file. :>
if this isn't working, then i'm out of ideas. :D

Quote from: saturnu
dd skip=52314 count=4385 if=OS64.v64 of=firmware_v3.bin bs=16 //but what the heck is this 3rd one? ^^

v0187b4_ed64v3_test.zip (http://www26.zippyshare.com/v/40863607/file.html)
unfortunately still black screen
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: saturnu on October 15, 2014, 01:14 PM
hm ^^
too bad

but maybe the mips workaround still helps krikzz implementing the new gs engine. :D

thanks for testing anyway. :D
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: devin501 on October 15, 2014, 06:53 PM
Dang ;____; I tested both of the files you uploaded with the same results as Lee4
Oh well, I guess this is to be expected as an early adopter of new hardware.


I was really looking forward to GS support and that sexy boxart. :p

-edit-
If someone does manage to get this working for v3 I wouldn't mind donating a bit of money via PayPal.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Hexatendo on October 15, 2014, 11:35 PM
I have yet another problem. I want to activate all debugging features (see tcrf for more information) of Super Mario 64 and it loads, but the codes don't work! I turned cheats on, and it says cheats found, but no effect! (I usually use krikzz's OS, but decided to use this one for gameshark purposes, meaning I have to start a new game) Can anyone please help me? I'll provide more details if necessary.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Modman on October 23, 2014, 12:02 AM
I don't know exactly what to tell you about that, except I've got some new intel that leads me to believe the issues lie in the menu software compatibility with games, and not the GameShark implementation.

Super Smash Bros Hit Anywhere code, previously thought to not work at all, works perfectly in multiplayer, and freezes the game in single player mode. This means the GameShark implementation is trying to do the proper thing with the codes, and is getting interference from some unknown code elsewhere in the menu. That's my theory, anyway. For the most part, the menu works flawlessly in conjunction with the GameShark implementation, but there seem to be some unknown disagreements between the two engines for certain codes in certain games, and only at certain times during gameplay.

Update:

Upon further testing, the GameShark implementation is working perfectly! With Super Smash Bros Hit Anywhere code, anyway. There is something wrong with the controller code somewhere in the menu. Yet to be identified specifically what or where. But, Hit Anywhere works perfectly in all modes as long as controllers are present in slots 1, 2, and 4 before the code is used in game.

This may fix other code issues for other games as well... Plugging controllers into all the ports also allows the Hit Anywhere code to work properly. But, Ports 1, 2, and 4 must be occupied at a minimum.

Second update:

Hit anywhere seems to pick and choose when it wants to work in first player, so you also have to go into vs mode first, attack your opponents with hit anywhere in there, then exit to first player, and hit anywhere will work in first player.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Shadow on November 01, 2014, 12:31 PM
I finally got a gameshark for the N64 and the activator code for Rush 2049 works with the real game and gameshark.  With original hardware the code works.  On both official and alt64 menus it does not.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: Kodewerx on November 10, 2014, 09:53 AM
If it's not too much to ask, saturnu, could you please keep the git repo up-to-date with your changes? You can either fork it, or I'll just transfer the repo to you. Please, just make it easier for other people to collaborate on the software.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: speedruntrainer on November 10, 2014, 12:42 PM
Alright, I have a question.

Will the timer code work for Super Mario 64 (NTSC) and NTSC-J?
I ask this before I switch to the Alt64 Menu.

http://marioruns.com/forum/viewtopic.php?f=9&t=39
There are the codes.

Can anyone confirm if they work? Most importantly, the timer.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: KRIKzz on November 10, 2014, 08:02 PM
alt64 isn't designed to work properly with the ed64v3 at all.
it was programmed in the good old v1 and v2 times. :D
the firmware included in alt64 is for the v2.

for me it seems like since OS2.05, there are three firmware files included in the romfs.

dd skip=44544 count=3847 if=OS64.v64 of=firmware_v2.bin bs=16 //(61K) real v2 firmware
dd skip=48392 count=3921 if=OS64.v64 of=firmware_v3.bin bs=16 //(62K) v3 firmware? - not working
dd skip=52314 count=4385 if=OS64.v64 of=firmware_v3.bin bs=16 //(69K) v3 firmware? - test pending ^^

if you want to add v3 support to alt64 i think you will have to check for the firmware version register.

Code: (c) [Select]
firm = evd_readReg(REG_VER);
if (firm >= 0x0300) { load(firmware_v3.bin); } //0x300 - now confirmed by lee4 :>
else if (firm >= 0x0200) { load(firmware_v2.bin); } //mine is 0x214

but don't quote me on that ^^
it's just a wild guess. :>

Just skip firmware loading if firm not equal to 0x214. ED64 V3 and V2.5 working under default firmware, OS does not load own firmware to FPGA. Bootloader load defaulf firmware from onboard flash at cold start. At the moment no any updates of firmware for v3 and v2.5, so, OS does not load own firmware files.

about firm version:
V2 shoul return 0x214
v2.5: 0x250
v3.0: 0x300
This numbers is a versions of default firmware which flashed to the bios.
Title: Re: Release - Alt64 with stable, fully functional GameShark
Post by: saturnu on November 10, 2014, 11:05 PM
ah ok ^^
makes sense, they are pretty new and there aren't any updates until now.

but i think the idea to search for different firmware files wasn't so bad. the other two binaries are still looking like alternative firmware files. :D