MAMEWorld >> News
Previous thread Previous  View all threads Index   Next thread Next   Flat Mode Flat  

ShimaPong
MAME Fan
Reged: 03/12/05
Posts: 783
Send PM
Re: Ok, here we go ... MESS v0.140 released at ...
11/07/10 03:51 AM


I clean up debugger memory search system due to the problem of searching in Hu6280 CPU used by PC-Engine.
Perhaps, it happens in changing main (MAME) core while a few versions. Memory search and cheat require to verify and fix for this CPU.

=== debugsrch.c ===
- Cleand up all codes based on C++ and added constructor/destructor for each classes.
- Moved linked list creator as member function into a class.
- Changed all 'running_machine *machine' argument to 'running_machine &machine' except init and debugger command functions.
- Improved address translation to enable to search RAM in Hu6280 CPU. Now searchable on this CPU but it needs more test in other CPU which has address translation.
- Changed the timing of creating search maps from debugsrch_init(). Especially on Hu6280 CPU, it causes wrong search map creation if done at init phase.
- Fixed value search which has wrong working.
- Changed the argument of 'searchdelete/dsdel' command. Now required 1 argument (tag of search map) and detected '!' header to delete other maps (though no argument means 'delete all search maps')
- Fixed no search result viewer update after do some commands.

Also convert new cheat system to MESS with some new function.

=== cheat.c ===
- Added new cheat entry tag '<function>'.

Quote:



<function desc="name" params="maxparams">
<action>...</action>
...
</function>





If you use it from cheat script, set "call_<function_desc>(...)".
And In a function, arguments is accepted via "paramX" variable and "return" variable is for return value you want.


Quote:



<cheat desc="test">
<script state="run">
<action>temp0 = call_assemble(2, 3)</action>
...
</script>
</cheat>

...

<function desc="assmble" params="2">
<action>return = (param0 + param1) band 0xFF</action>
</function>





In the above case, param0 = 2 and param = 3 then result value is stored into "return".


- Added new script entry tag '<loop>'

Quote:



<loop expression="condition_expresison">
<action> ... </action>
...
</loop>




If 'condition_expression' is TRUE, this repeats sub-scripts.


Quote:



<action>temp0 = 00, temp1 = 01</action>
<loop expression="temp1 lt 0100"> <!-- temp1 < 100 -->
<action>maincpu.pb@(1000 + temp0) = temp1</action>
<action>temp0++</action>
<action>temp1++</action>
</loop>




The above sample code is that filled increased value from $1000 to $1FFF.

This is very useful action but has the high-risk of freeze at the same time.
For example, the following entry causes infinite loop because condition is always TRUE.

Quote:



<action>temp0 = 00, temp1 = FF</action>
<loop expression="temp1 ge 00"> <!-- temp1 >= 00 -->
<action>maincpu.pb@(1000 + temp0) = temp1</action>
<action>temp0++</action>
<action>temp1--</action>
</loop>






"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

Edited by ShimaPong (11/07/10 03:52 AM)






Entire thread
Subject Posted by Posted on
* Ok, here we go ... MESS v0.140 released at ... RetroLover 10/31/10 08:27 PM
. * Re: Ok, here we go ... MESS v0.140 released at ... ShimaPong  11/07/10 03:51 AM
. * Re: Ok, here we go ... MESS v0.140 released at ... ShimaPong  11/04/10 04:28 PM
. * whatsnew.txt ... RetroLover  10/31/10 08:30 PM

Extra information Permissions
Moderator:  John IV, Robbbert, Tafoid 
0 registered and 703 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 2536