MathewWi / genplus-gx

Automatically exported from code.google.com/p/genplus-gx
Other
0 stars 1 forks source link

Light Crusader Hacked Save State Issue #392

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.I don't know
2.I don't know
3.IDK.

What is the expected output? What do you see instead?
Black Screen upon loading hacked .GP0 ---- will not load.
Load's the BIN file for Light Crusader fine.
I did this before and you helped before...I need your help again.
What advice do you have?
I believe you pointed me in the direction of using a particular ROM or 
particular save file extension.
It just goes to a black screen, it won't load ANY save states for any game 
alone regardless of being hacked or not.
It won't load any State files I have directly.
Please help.

What version of the emulator are you using (official, SVN revision,...)?
The latest version.

Please provide any additional information below (Emulator settings, Console
setting,...)
Default Settings. Nintendo Wii Gen Plus GX

Original issue reported on code.google.com by martyrpr...@gmail.com on 5 Aug 2014 at 6:05

GoogleCodeExporter commented 9 years ago
1) What do you mean by hacked .GP0 ? hacked how exactly ? 
2) Where do these state files come from ? Who made them ? With which version of 
the emulator ?
3) How do you load them in the emulator ? Just to be sure, you use the save 
manager menu, right, NOT the ROM browser ?
4) Have you tried loading a state file you just created within the emulator 
(from saves manager menu) and see if it loads fine  (save state -> reset game 
-> load state) ?

Generally, do not expect the emulator to be compatible with statefiles from 
previous versions, hacked or not, because internal state of emulation often 
changes between versions so a crash is possible, although normally the emulator 
will detect the version of the state file  and prompt you with anerror message 
(unless you hacked it off course)

You could also upload the state files somewhere so i can look at them.

Original comment by ekeeke31@gmail.com on 5 Aug 2014 at 7:00

GoogleCodeExporter commented 9 years ago
1.) I hex edited certain offsets to give me all the weapons/swords. No crazy 
hacking or something.
2.) I took the .GP0 that Gen Plus Saved...meaning I started fresh on new game 
and then saved the game and the state. It wasn't hacked before this. But then I 
hex edited the file after and it acts as if nothing was done when loading the 
BIN / ROM and when trying to load the .GP0 directly, it just goes to a black 
screen.
3.) When doing it in the save manager it freezes up. Do I load the .BIN first 
right..then the .GP0??? Or .GP0 in ROM selection and then the same...I tried 
both.
Nothing.

4.) This is a recent version and yes the save was created within the emulator, 
then I moved it to my PC and used hex workshop.

I will upload the file hold on.
http://amxworkshop.webs.com/file  <--- Link here.

Original comment by martyrpr...@gmail.com on 5 Aug 2014 at 7:30

GoogleCodeExporter commented 9 years ago
Btw I should add that hex editing states and using them on Fusion works fine - 
but those would be .GS0 and .GSX which doesn't work for Gen Plus.
but I know we got this working along time ago and I can't remember exactly the 
issue or resolution.

Original comment by martyrpr...@gmail.com on 5 Aug 2014 at 7:32

GoogleCodeExporter commented 9 years ago
If you have a hex editor on hand and since you know best. Maybe you can just 
make the save state for me and then give me the file. It's really easy...I just 
need a few things.

At offset 11578 - 1157F = 21 26 27 07 3A 39 1D 1E
11578 = 21
11579 = 26
1157A = 27
1157B = 07
1157C = 3A
1157D = 39
1157E = 1D
1157F = 1E

Those are inventory mods. Always works on fusion.

Then in addition to that ...

115AC  = FF   (ALL)
115AD  = FF (ALL)
115AE  = FF (ALL)

Original comment by martyrpr...@gmail.com on 5 Aug 2014 at 7:41

GoogleCodeExporter commented 9 years ago
 - The format of state files is NOT the same between Fusion and Genesis Plus GX so what you are trying to patch in Fusion .GS0 might not be at the same offset or might not even exist in Genesis Plus GX .GP0 file. What do you want to patch ? Genesis RAM ? How do you know the offsets are correct for Genesis Wplus Gx state format ? At this point you might better use the cheat functionality if you only want to patch RAM and knows the RAM address you need to patch.

 - You seem to completely misunderstand how to use the emulator so I suggest you read the user manual carefully:

 The ROM selection is ONLY for loading the ROM files: if you try to load anything else through the ROM browser that isn't a valid ROM file, it will indeed hang on a black screen so DO NOT LOAD STATE FILE OR SRM FILE FROM THE ROM MENU, it is not meant for that (why would anyone think to do that is beyond me :-/).

   SRAM and State files can ONLY be accessed from SAVE MANAGER menu:  the menu automatically detects existing save files for the currently loaded ROM and gives you the option to load them as well as displaying a screenshot of the saved state in the background.

 - I asked you in 4) to tell me what happen when you save a state in the emulator, reset the game in main menu then reload the saved state (from save manager menu !) but you didn't answered. If a crash occurs when you load a state this way, then make a copy of the exception screen and report the numbers you see. Obviously,  such crash will occurs if the state file was corrupted and you messed with internal state.

Original comment by ekeeke31@gmail.com on 5 Aug 2014 at 9:10

GoogleCodeExporter commented 9 years ago
No I wasn't using a Fusion File. I had just stated that it works fine on Fusion.
The offsets are the SAME in Gen Plus GX and Fusion though. I checked.

I loaded the BIN on Gen Plus...saved it....then moved the newly created save 
file (Gen Plus Save File) .GP0  - onto the PC.
I then edited it on the PC.
This was not over written by a fusion file, I was VERY careful to check that.

I know about loading states and that it has to be done from the Save Manager....

I did that and it FROZE.

Did you download the file I uploaded?
Please check further ...

I appreciate all of your help.

But I guarantee...I saw the offset values and it is the same between .GSX and 
.GP0.

That's not the issue.

Please try yourself or go to my upload...

Again . I started a new game.
Worked fine.
Saved the state ON GEN PLUS for Wii.
Then proceeded to edit the .GP0 state.

http://amxworkshop.webs.com/file  <-- There's the state.

Original comment by martyrpr...@gmail.com on 5 Aug 2014 at 9:17

GoogleCodeExporter commented 9 years ago
To answer #4..If I were to reset and re-load it works fine..but if I edit the 
save state and reload through save menu...it acts like no changes take place 
(aka no weapons changes) just goes with the original.
It FEELS like the SRAM is not registering the .GP0  or there's separate save.

Original comment by martyrpr...@gmail.com on 5 Aug 2014 at 9:20

GoogleCodeExporter commented 9 years ago
OK, I kinda figured now that you meant that loading SRAM did nothing in-game, 
it was not really clear before

The reason is that .GP0 does not hold any SRAM data, it is a STATE file, i.e a 
copy of the internal state of emulation.

SRAM is saved SEPARATELY and is indeed compatible between different emulators.

STATE files are not compatible between emulators so, I repeat, it's NOT 
possible to have same things at the same offset in Fusion .gs0 and Genesis Plus 
GX .gp0 files. You are assuming things wrong if you think that and again, I'm 
curious how you checked the offsets were the same. The reason it crashes when 
you attempt to load the patched .gp0 is that you corrupted it by patching some 
random internal values.

If you want to patch SRAM offset, you need to patch the .SRM file.

You do not need to load SRAM from the Save Manager menu once it has been 
patched, SRAM is automatically loaded by the emulator when you load the game if 
the option "Auto Saves" is set to "SRAM" in Menu Settings, which is default 
configuration. The changes should take place when you  use the in-game function 
to load your game progress.

Original comment by ekeeke31@gmail.com on 5 Aug 2014 at 9:43

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Ok well I'm not sure how to patch the SRAM. But I Solved this issue with Game 
Genie codes instead. I'll figure it out one day.
Thanks again.

Original comment by martyrpr...@gmail.com on 5 Aug 2014 at 10:09

GoogleCodeExporter commented 9 years ago
Scratch that, those offsets are out of bound of SRAM file anyway, I did a bit 
of research and figured myself where you got those offsets from and why you 
think they work in Genesis Plus GX:

http://www.gamefaqs.com/genesis/586289-light-crusader/faqs/41501

Those are offsets for Gens savestates.

Fusion is compatible with Gens savestates.

Genesis Plus GX is not compatible with Gens savestates, this is not the same 
emulator, the name might have confused you but it is slightly different.

If you want to do the same in Genesis Plus GX, you need to figure which part of 
emulated hardware (internal RAM address most likely) is related to these 
offsets  and either calculate new offsets for Genesis Plus GX savestate format 
or more simply use cheat codes to patch the internal RAM.

Original comment by ekeeke31@gmail.com on 5 Aug 2014 at 10:10

GoogleCodeExporter commented 9 years ago
Yeah I figured it out with Game Genie cheats instead; was able to modify 
inventory that way. Thanks again, and thanks for making a great emulator!

Original comment by martyrpr...@gmail.com on 5 Aug 2014 at 10:12

GoogleCodeExporter commented 9 years ago
If I may ask, where does the RAM start in a save file? I know how to use 
calculator for the offsets. 

I asking what 0x offset in the save state does 0xFF0000 start at.

Original comment by 47isc...@gmail.com on 20 Aug 2014 at 10:31

GoogleCodeExporter commented 9 years ago
"If I may ask, where does the RAM start in a save file?"

I meant "save state" not save file.

Original comment by 47isc...@gmail.com on 20 Aug 2014 at 10:31

GoogleCodeExporter commented 9 years ago
see https://code.google.com/p/genplus-gx/source/browse/trunk/core/state.c

68k RAM is the first thing saved so it should be right after the 16-byte 
version header, which means starting at offset 0x10

Original comment by ekeeke31@gmail.com on 21 Aug 2014 at 6:56

GoogleCodeExporter commented 9 years ago
Thanks EE.

Original comment by 47isc...@gmail.com on 21 Aug 2014 at 1:10