Sakrac / IceBroLite

External Debugger for VICE 3.5 and higher
55 stars 7 forks source link

Action Replay - cheat #37

Closed BacchusFLT closed 1 year ago

BacchusFLT commented 1 year ago

In many ways, IceBro will work as a substitute to the freezer in cartridges and one feature that would be quite cool to see implemented in IceBro would be a "trainer hunter".

In Action Replay you freeze and select the option to hunt for trainers. You enter the number of lives you currently have and then restart the game. After you lose a life, you freeze again and select the option.

AR now looks for addresses that went from the initially entered value to one less. Then it will look for instructions that decreases it.

Here IceBro could also allow you to implement the trainer and resume or validate the trainer, by not implementing the trainer and instead resume and letting you lose another life and see if that made the game decrease properly.

Sakrac commented 1 year ago

Added a few commands to the console, pretty easy to extend in the future:

  1. poke addr,byte addr and byte can be expressions so can use 'POKE \<symbol>,\<symbol>' or a basic 'POKE 53280,0'. Vice does not need to be in break mode to use this command.
  2. remember \<byte>[-\<byte>] [\<addr> \<addr>] 'remember $03-$04 $300 $8000', finds and remembers all memory locations matching the byte range within the address range. can also just type 'remember 3', Vice does not need to be in break mode to use this command.
  3. match \<byte>[-\<byte>] [\<addr> \<addr>] [T[RACE]] [W[ATCH]] finds matching byte values in the remembered set of addresses, optionally within a sub-range of addresses. Add a T or W at the end to automatically assign TracePoints or WatchPoints to the matches/ , Vice does not need to be in break mode to use this command.
  4. forget (clears the remembered addresses)
BacchusFLT commented 1 year ago

Would need to test if it works of course before I say anything. I would suggest having the options available via the console as suggested, but possibly also using a more user friendly GUI option, similar to the one Action Replay itself uses.

/Pontus Berg Bergatrollet AB CEO & Owner Tel/SMS: +46 735 082860 www.bergatrollet.se

Den fre 6 jan. 2023 kl 13:38 skrev Carl-Henrik Skårstedt < @.***>:

Added a few commands to the console, pretty easy to extend in the future:

  1. poke addr,byte addr and byte can be expressions so can use 'POKE ,' or a basic 'POKE 53280,0'. Vice does not need to be in break mode to use this command.
  2. remember [-] [ ] 'remember $03-$04 $300 $8000', finds and remembers all memory locations matching the byte range within the address range. can also just type 'remember 3', Vice does not need to be in break mode to use this command.
  3. match [-] [ ] [T[RACE]] [W[ATCH]] finds matching byte values in the remembered set of addresses, optionally within a sub-range of addresses. Add a T or W at the end to automatically assign TracePoints or WatchPoints to the matches/ , Vice does not need to be in break mode to use this command.
  4. forget (clears the remembered addresses)

— Reply to this email directly, view it on GitHub https://github.com/Sakrac/IceBroLite/issues/37#issuecomment-1373572282, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGZWZSXDXYVCXJIHCEENYZDWRAG37ANCNFSM6AAAAAATR6MH4Q . You are receiving this because you authored the thread.Message ID: @.***>

Sakrac commented 1 year ago

Commands have been added to the console view to handle this in the latest release (v1.12). For more details: https://sakrac.github.io/IceBroLite/ice_console.html for additional improvements it is probably better to create new issues to make it easier to track.