Open GoogleCodeExporter opened 8 years ago
Additionally, ram watch should be updated to include a column indicating what
CPU
context the address being watched belongs to, and ram cheats (when implemented)
should also support specifying CPU context.
Original comment by Upth...@gmail.com
on 4 Nov 2008 at 4:04
I liked the tabbed window idea for this. That would be really nice to see this
implemented.
Original comment by andres.d...@gmail.com
on 5 Nov 2008 at 1:10
Since this seems like a major undertaking, maybe it should be pushed off to the
version after the next release? How easy would it be to implement (stopgap)
support
for "add cheat" and memory.register() without this?
Original comment by nitsuja-@hotmail.com
on 8 Feb 2009 at 7:00
The hooks in the core CPU emulation which would be used by the lua
memory.register
and add cheat are already present in corehooks.cpp, it's just the LUA interface
that
needs to be done. Unfortunately every time I've tried to start on the LUA
interface,
I've become lost in how incredibly confusing and unhelpful the LUA<->C interface
reference documentation is.
Add Cheat requires the creation of a whole new UI dialog, but in the past I had
the
functional part, where the cheats behaved more reliably and had variable size,
and
that would be easy enough to recreate.
I made a mockup of the desired dialog, which is visible here:
http://dl.getdropbox.com/u/75343/ChtDlgMock_expln.png but I think you're right
about
knocking it a release and just switching cheats from being applied on
frame-boundary
to being applied immediately, and when the address is written to.
Original comment by Upth...@gmail.com
on 8 Feb 2009 at 11:13
Oh. Since the hooks are already there I put in the Lua side of memory.register
and it
seems to be working well. I used a simpler interface than the one that was
partially
implemented... some of that can be restored later but I'd like to keep it this
simple
for the common case. In particular, adding more specific hooks ideally should
not
change the behavior of the current memory.register/registerread/registerexec
functions in any way.
Original comment by nitsuja-@hotmail.com
on 16 Feb 2009 at 12:29
There's really no reason that the LUA interface should have been as complicated
as I
was making it. qfox has suggested, and I agree, that the call should be
"memory.register(address,func[,processor])" where processor would be a string
identifying the CPU context which should be hooked.
IE: "main", "sub", "sound", "32X", "32Xmain", "32Xsub".
The only thing I was doing differently from how it works in dehacked's is that I
wanted to be sure each script could have multiple functions registered
simultaneously, and it looks like you've taken care of that.
Original comment by Upth...@gmail.com
on 16 Feb 2009 at 1:55
Actually there's something I couldn't get working right that should really be
fixed,
but I've made a separate issue for that (issue 55).
Original comment by nitsuja-@hotmail.com
on 16 Feb 2009 at 3:32
Original issue reported on code.google.com by
Upth...@gmail.com
on 4 Nov 2008 at 4:02