> - Where is first parameter? > - Why does param0 recieve second parameter? > - What parameter is recieved by param1 instead of second parameter?
I find problem on debug/express.c:1646
Code:
case TVL_COMMA: if (!token->is_function_separator()) { pop_token_rval(t2); pop_token_rval(t1); push_token(t2); } break;
"pop(t2)->pop(t1)->push(t2)" causes two problems.
- younger stack is overwritten by older stack - stack pointer is different after this sequence.
I guess that it is "swapping younger and older stack" when ',' is found in the expression function and expected sequence is "pop(t2)->pop(t1)->push(t2)->push(t1)". In this way, younger and older stacks are swapped and stack pointer is the same between before and ago.
So I put "push_token(t1)" then try again...
...??? All parameters will be recieved in function entry but still unexptected value. It seems that the order of parameters are completely wrong. Left (and first) parameter value is accepted as param3 instead of param0 and second = param0, third = param1 and forth = param2.
[ATTACHED IMAGE - CLICK FOR FULL SIZE]
"Any company has no power to stop people emulating"
MAME is the emulator of no giving in the pressure from any company even if they don't allow
|