News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke


Which control scheme would you prefer for the weak/strong attacks

B for Weak, forward + B for strong
0 (0%)
B for Weak, A for strong (running only available in towns)
0 (0%)
Forward B for weak, B for strong
0 (0%)
B for weak, Y for strong (X used for own menu and X again to change to other characters menu)
0 (0%)
other (please post your suggestion)
0 (0%)

Total Members Voted: 0

Author Topic: Secret Of Mana Gameplay Improvement Hack  (Read 151091 times)


  • Full Member
  • ***
  • Posts: 193
    • View Profile
    • zhaDe's stuff
Re: Secret Of Mana Gameplay Improvement Hack
« Reply #540 on: February 08, 2019, 04:40:02 am »
my keboard is having trouble, ill have to make it short

1) How are options in the [Options] section at the top of the file defined?
I use an assembler I made with multiple asm and def files and others that outputs all that crammed into the zps file. "options" is what I call the different features that can be picked. Looking at the zps of the v0.18 right now I see that theres [options] followed by [end options].. at the top of the file.. the options are defined in project.aps maybe it used to be different i dunno
2) In the block of text that defines the checkboxes, the first number indicates whether the checkbox is visible, the second whether it defaults to on or off (though this seems to not work if the checkbox is visible, only if invisible). What is the third number?
its the how close to being complete/well tested the option is. the patcher doesnt use it tho
3) What assembler syntax is this? I've figured it out well enough to use, but if documentation exists somewhere, it'd be nice to be able to reference. Searching the internet has only yielded 65c816 ASM with fairly different syntax than occurs in your ZPS file.
My assembler has its own syntax, I can help with it if you have questions
4) Do DEF's in the assembly code work? They don't seem to...
they define a replacement , maybe the code in the zps already has the code replaced ?
 like the original code could be :" ;x2(LSR) , which is then interpreted as 2 LSR. because ;x2 has been defined to be replaced by :

(%1 is replaced by 1st argument, in that case LSR)

5) Is ? the only comment character?
6) Does your original ASM have comments that were stripped during ZPS concatenation and that's why there are huge blank areas?
yes, and "?" is used for description of a function, like if you put the mouse over a function youll have a box poping with the description
7) Like RAW and ADR, is there an assembler directive (or pseudo-opcode, or whatever) for ASCII text (or other data not in hex form)?
not really.OP will take an operation and write its coresponding opcode value.
8) In MULTI_gameplayControls(), what were you trying to do with WDM? Those instructions crash the Canoe emulator, so I had to burn some time figuring out why an SNES Classic was imploding after trying to start a New Game. After figuring that out though, your mod works beautifully on it.
I wanted to use WDM which usually do nothing as "start" and "end" and count the cycles in-between with some modification to geiger's snes9x debugger. I must have forgot to remove it
9) Does anything rely on FPS_DEBUG? I'd like to disable it without side-effects, and I'll eventually double check any variables it sets, but figured I'd ask to save myself the trouble.
It should really be off by default actually, and Setting it off should make it do nothing so there should be no side effects
10) What's the purpose of the SRAM Checksum Bypass? With it enabled, any empty saves show garbage (and hang if you try and load one). Disabling it has seemed harmless, but also figured I'd just ask.
At some point I wanted to be able to edit sram in an hex editor but each time I had to update the checksum or the game would be treated as corrupt, so I added a thing that bypass the check when the checksum is set to "ffff". It didnt seem to cause trouble 

anyway, if you want to edit my code or use the zps format to make your own stuff, it would be much easier with the assembler and the original code with comments and all. we should chat on discord so I can send it to you and explain how it works a bit.