Page 3 of 3
Posted: Sat Nov 23, 2013 9:23 pm
by r57shell
Stef wrote:Gens is not maintained since a long time now but as far i remember there are methods which allow you to get the "live" odometer
Yes, but it's not working from inside asm loop. I mean for example, from exec hook. Wait, again, I mean, it's working, but it returns incorrect value.
Stef wrote:Anyway the base code was even more buggy so and my fix was enough to make games working, i guess it's why i never noticed it :p
That's why I don't even try to fix StarScream, because it's making me SCREAM.

Posted: Sat Nov 23, 2013 11:17 pm
by Stef
r57shell wrote:
Yes, but it's not working from inside asm loop. I mean for example, from exec hook. Wait, again, I mean, it's working, but it returns incorrect value.
Did you look how i was doing in HV counter or Z80 synchronization ? as i needed it at some point so i probably had a pseudo working solution :p
That's why I don't even try to fix StarScream, because it's making me SCREAM.

true... it's why i ended by writing my own core (for the new but incomplete and never released Gens).
Posted: Sat Nov 23, 2013 11:22 pm
by Nemesis
r57shell wrote:Hmm Interesting. (about Gens standard debug)
But, you need to make new ROM with such chunk, and calculate yourself.
There is no simple way to break in particular point in Dissasembly.
Sure you can get a breakpoint in Gens
Go to 'File->Game Genie". Enter a pro action replay code of the form XXXXXX:60FE where XXXXXX is the location of the breakpoint, and activate it. This'll inject an opcode that'll define an infinite loop on itself. Just run until the program freezes, and open the debugger. Now deactivate the pro action replay code, and step through in the debugger using "T" on the keyboard. I relied on this heavily when debugging my own 68000 core back in the early days of Exodus.
Posted: Sun Nov 24, 2013 4:24 am
by r57shell
Very nice trick! But, this is not obvious

And not simple.
I want more simple approach.
Posted: Sun Nov 24, 2013 10:49 am
by Stef
Nemesis wrote:r57shell wrote:Hmm Interesting. (about Gens standard debug)
But, you need to make new ROM with such chunk, and calculate yourself.
There is no simple way to break in particular point in Dissasembly.
Sure you can get a breakpoint in Gens
Go to 'File->Game Genie". Enter a pro action replay code of the form XXXXXX:60FE where XXXXXX is the location of the breakpoint, and activate it. This'll inject an opcode that'll define an infinite loop on itself. Just run until the program freezes, and open the debugger. Now deactivate the pro action replay code, and step through in the debugger using "T" on the keyboard. I relied on this heavily when debugging my own 68000 core back in the early days of Exodus.
Hehe exactly what i do when i want to test some part of my 68000 asm code, just put an infinite loop somewhere then use the Gens debugger.
Still to bypass an instruction you have to use 'N' key (which increase PC address by 2).
Posted: Mon Nov 25, 2013 1:30 pm
by r57shell
But, it is still long way. I want some more powerful method.
Posted: Mon Nov 25, 2013 1:56 pm
by MintyTheCat
r57shell wrote:But, it is still long way. I want some more powerful method.
Try UMDK:
http://www.makestuff.eu/wordpress/categ ... ts/umdkv2/
That will give you many Services such as single-stepping.