Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Basic Question, and pointers..
05-15-2015, 04:22 AM
Post: #1
Basic Question, and pointers..
Hey all -
I essentially have one (extremely) basic question, one that I'm almost embarrassed to ask, and then I'm also open to any pointers. Big Grin

The short: I have pinmame 2.5, as well as a copy of pinmame32 2.5 and mame .160. I can get Mame's debug window open by running it 'mame -debug <rom>', but pinmame doesn't seem to like that - I get the same result with or without the 'debug' option. (Which is to say, I just get the window/full screen emulator.)

The longer: I've done a little stuff in MAME alone (I've gone through this: http://www.paladingrp.com/brianb/rom_hacks/ikari.html and pretty much understood and could operate on my ROM files successfully, and learned a little about Z80 commands (irrelevant here, if course), and got as far as loading up a pin ROM into mame. However, without the additional support, Mame itself is almost useless (due to the fact that no optos are by default active, and switch assignment on the keyboard is way whacked.) I see that (at least this version of) mame supports debugging scripts, which may help, but if I could get the debugging window open in pinmame, that'd be a hell of an easier go.


What I'm looking to do - I'm not going to get into a lot of identifiable details here - due to what happened with the programmer of TZ back in the mid-2000's - as I really don't wanna piss him off. However - I have a version used in the beta for 9.4H, which has some code that was possibly removed from 9.4H. (Either he removed it, or fixed logic so that it was never called.)

My goal is to first - see if the code is still there in the beta vs 9.4H. And then, if it *is*, re-enable it.

The difficult part? Getting it to activate in the first place. In the beta ROM, it required the glass off, and some switch magic to be done in a specific order. Having direct-access to the switch matrix (cols / rows triggers) in pinmame is a LOT better than mame's handling of the switches.

I'm guessing there's a lot of little loops going around on the code (watching switches, handling switch matrix & sound, direct switches, etc.) And since it takes quite a bit of setup to get to the point where this code is executed, anyone have any pointers on how to filter out all the other loops going on to focus on the bit of code that I'm primarily interested in?

Thanks all. I will say that if anyone here is interested in the project, I'd like to do as much of it myself as I can, but would always welcome help and understanding. (Hell, I love learning..) Feel free to PM me if you want, as long as PMs are searchable by the Google-meister, I don't mind talking about it. Big Grin
Find all posts by this user
Quote this message in a reply
07-10-2015, 09:41 PM
Post: #2
RE: Basic Question, and pointers..
It's been a while since I looked into this sort of thing but I suspect that if you know the switch sequence to trigger the special code then what you need to do is identify the switch matrix data table and set a breakpoint at the switch handler for the very last switch in your sequence. Then just trigger the last switch in the sequence and single step through the code. There is probably a state machine that will trigger the special code as long as all of the previous switch sequence has been hit, and since in his example you only hit the one switch and not the correct full sequence, you can try reversing the Boolean jump points and let the code run to see if it then executes the code which you are trying to find. Hope that helps.
Find all posts by this user
Quote this message in a reply
07-13-2015, 09:26 AM
Post: #3
RE: Basic Question, and pointers..
(07-10-2015 09:41 PM)mrglee Wrote:  It's been a while since I looked into this sort of thing but I suspect that if you know the switch sequence to trigger the special code then what you need to do is identify the switch matrix data table and set a breakpoint at the switch handler for the very last switch in your sequence. Then just trigger the last switch in the sequence and single step through the code. There is probably a state machine that will trigger the special code as long as all of the previous switch sequence has been hit, and since in his example you only hit the one switch and not the correct full sequence, you can try reversing the Boolean jump points and let the code run to see if it then executes the code which you are trying to find. Hope that helps.

Thanks!
That will be the plan. (I haven't followed up on this over the last few months because my game has been in parts..!)

My biggest question - where can *debug* versions of PinMama be gotten? Apparently I have a non-debug one I'm running on, and my google-fu is taking me to sites with the non-debug version as well, apparently.
Find all posts by this user
Quote this message in a reply
01-22-2016, 01:10 AM
Post: #4
RE: Basic Question, and pointers..
(07-13-2015 09:26 AM)Coyote Wrote:  
(07-10-2015 09:41 PM)mrglee Wrote:  It's been a while since I looked into this sort of thing but I suspect that if you know the switch sequence to trigger the special code then what you need to do is identify the switch matrix data table and set a breakpoint at the switch handler for the very last switch in your sequence. Then just trigger the last switch in the sequence and single step through the code. There is probably a state machine that will trigger the special code as long as all of the previous switch sequence has been hit, and since in his example you only hit the one switch and not the correct full sequence, you can try reversing the Boolean jump points and let the code run to see if it then executes the code which you are trying to find. Hope that helps.

Thanks!
That will be the plan. (I haven't followed up on this over the last few months because my game has been in parts..!)

My biggest question - where can *debug* versions of PinMama be gotten? Apparently I have a non-debug one I'm running on, and my google-fu is taking me to sites with the non-debug version as well, apparently.

Use the regular PinMAME download. It contains the debug build as well as the regular build. Run the debug build with the arguments "<gamename> -debug".

Please report all findings!
Find all posts by this user
Quote this message in a reply
02-05-2016, 08:39 AM
Post: #5
RE: Basic Question, and pointers..
(01-22-2016 01:10 AM)ViolatedBird Wrote:  Use the regular PinMAME download. It contains the debug build as well as the regular build. Run the debug build with the arguments "<gamename> -debug".

Please report all findings!

I'll give that a shot, thanks! I got the source, and have been messing on and off with trying to compile it with limited success, so I'll try this, first. Big Grin

Thanks!
-Mike
Find all posts by this user
Quote this message in a reply
02-05-2016, 10:12 AM
Post: #6
RE: Basic Question, and pointers..
(02-05-2016 08:39 AM)Coyote Wrote:  
(01-22-2016 01:10 AM)ViolatedBird Wrote:  Use the regular PinMAME download. It contains the debug build as well as the regular build. Run the debug build with the arguments "<gamename> -debug".

Please report all findings!

I'll give that a shot, thanks! I got the source, and have been messing on and off with trying to compile it with limited success, so I'll try this, first. Big Grin

Thanks!
-Mike

If you want, I could also just e-mail you one of the older debug releases that I use myself.
Find all posts by this user
Quote this message in a reply
02-05-2016, 12:22 PM
Post: #7
RE: Basic Question, and pointers..
(02-05-2016 10:12 AM)ViolatedBird Wrote:  If you want, I could also just e-mail you one of the older debug releases that I use myself.

Actually, if you don't mind, that'd be helpful. I just earlier went to look, and the PinMame I got had only one executable in it (no noticeable debug version) and when run with -debug gave me the standard screen.

Thanks!
-Mike
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)