|
Bally Medusa - Would someone knows how to change one thing
|
|
04-22-2012, 01:36 PM
Post: #1
|
|||
|
|||
|
Bally Medusa - Would someone knows how to change one thing
Hi !
I would want to change a rule on the Bally's Medusa rom. The zipper-flippers open after 10 seconds, when no target has been shot down. I would like that they open after 5 seconds. Does someone knows what to modify on the Bally's rom ? Thanks for your answer. |
|||
|
04-22-2012, 02:58 PM
Post: #2
|
|||
|
|||
|
RE: Bally Medusa - Would someone knows how to change one thing
Find the switch matrix table and take a look around the drop targets (all in col #6) - the routines for the drop bank will reset a timer that a routine trips when it reaches zero.
$5c36 is the main routine, you can trap there in pinmame and activate switches to see where the routine goes. All the drop targets go to $1235; someone in there is going to be a routine that closes the zipper flippers and starts the timer going. Dip 8 is the timer setting on/off (resets timer), so use that to narrow down the code. Here is the code snippet: ;drop bank 1235: BD 15 BA jsr $15BA 1238: 26 FA bne $1234 123A: 96 40 lda $40 123C: 94 53 anda $53 123E: 27 F4 beq $1234 1240: C6 12 ldb #$12 1242: D7 4B stb $4B 1244: 43 coma 1245: 94 53 anda $53 1247: 97 53 sta $53 1249: BD 16 00 jsr $1600 124C: C6 5F ldb #$5F 124E: 96 47 lda $47 ;dips 1-8 1250: 2A 0C bpl $125E ;dip 8 off, do not reset timer (time is 5f, in B) 1252: C6 FF ldb #$FF 1254: B6 02 8B lda $028B 1257: 81 AF cmpa #$AF 1259: 22 03 bhi $125E 125B: 16 tab 125C: CB 5F addb #$5F ;looks like this is what adds time. Reduce the 5 to make the time less 125E: F7 02 8B stb $028B 1261: 7C 00 12 inc $0012 Looks like 28b is the zipper flipper timer. Incidentally this code snippet indicates that if you happen to be using a stern mpu200 board for this game it will probably not work correctly without removing the extra 5101 ram chip because there's no checking in the ram read from the $28b area; the lower nibble is not guaranteed to be $F on those boards. Is that enough to get you going? Do you know how to modify the checksum routine already? |
|||
|
04-23-2012, 03:35 AM
Post: #3
|
|||
|
|||
|
RE: Bally Medusa - Would someone knows how to change one thing
This is a great answer ! Thanks a lot RalphButler !
I have read a lot of things, and I think I'll manage to change checksum. Anyway, I'll post the result. Thanks again. |
|||
|
04-23-2012, 04:11 AM
Post: #4
|
|||
|
|||
|
RE: Bally Medusa - Would someone knows how to change one thing
Re-reading the code snippet looks like the initial value put into 28b is $ff, and if the dip is on and 28b is below af, adds 5f. So a couple of things to change there. initial value ff, make it half, so 8f or 7f, then the added time would need to be lessened also. (Or maybe not, since 5f is already less than even the 1/2 time initially set up) Also you'd probably want to hack the af figure too, to not add time over a certain amount.
|
|||
|
04-23-2012, 01:11 PM
Post: #5
|
|||
|
|||
|
RE: Bally Medusa - Would someone knows how to change one thing
Hi !
I wanted to do it by myself, but it seems harder than I hope... ![]() I tried tonight several programs to disassemble the roms that are 845-16_2.732 - U2 for CPU, 2732 [F4FC] 720-53_6.732 - U6 for CPU, 2732 [1EFC] if I'm right. I have tried with W32dasm and Dasmx, but do not obtain what you write on your first post. |
|||
|
04-23-2012, 01:40 PM
Post: #6
|
|||
|
|||
|
RE: Bally Medusa - Would someone knows how to change one thing
Try disassembling with the PinMAME debugger.
|
|||
|
04-24-2012, 01:30 PM
Post: #7
|
|||
|
|||
| RE: Bally Medusa - Would someone knows how to change one thing | |||
|
04-25-2012, 05:18 AM
Post: #8
|
|||
|
|||
|
RE: Bally Medusa - Would someone knows how to change one thing
@Ralph, you are really the king!
@ Manu2 If you read my tutorial for Sys 11 pin, I have written how to disassemble the rom with pinmame debugger. |
|||
|
04-25-2012, 01:05 PM
Post: #9
|
|||
|
|||
|
RE: Bally Medusa - Would someone knows how to change one thing
So tonight, thanks to your help, I've managed to open the medusa's rom in Pinmame.
I've found the famous line, described by Ralphbuttler : I've tried to modify it with the command "R", but it fails. Now, I'm reading more... If you know how to modify it, you would be pleased to tell me how ? The modification of the Medusa's rom would be very instructive for me, as in the future, I would like to modify a Fathom one, in the same manner, and nearly the same thing. |
|||
|
04-25-2012, 01:33 PM
Post: #10
|
|||
|
|||
|
RE: Bally Medusa - Would someone knows how to change one thing
I didn't know Fathom had Zipper Flippers
![]() You can't modify the values in the rom, the R command in pinmame lets you set a register's value. I use a hex editor called FRHED (for FREE HEX EDITOR) to modify the roms. Depending on the # of bytes to change I sometimes disassemble the entire rom and make it recompilable "properly", i.e. all the labels and data are relocatable. I try not to do that for a lot of roms though unless I'm also running through and commenting/understanding EVERYTHING so I don't inadvertently introduce any bugs. Don't forget to modify the checksum routine, too. At $5a81 there's a infinite loop if it fails - for testing purposes you can just replace that command with NOP NOP (opcodes 01, 01) Once you have the rom "working" you should modify the checksum in the gamerom's segment to be correct. Bally checksums their roms every $400 bytes, vs. Stern's just doing the entire rom. |
|||
|
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)






