Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to change Banzai Run sounds
09-10-2011, 02:23 PM
Post: #21
RE: How to change Banzai Run sounds
Wow this is great Mr Glee,
:-)
I dont have time to check this right now,
But I' will cerainly pass the next week doing it!
Find all posts by this user
Quote this message in a reply
09-13-2011, 06:31 AM
Post: #22
RE: How to change Banzai Run sounds
Yep its working perfectly
I just need to figure out how to compile this, and fix the checksum.
I will change the 060 sound with the 001e (the 000d dont work) and the one for the green lanes with the 001f

I think I owe you 100$ Mr Glee
:-)
send me you paypal account via private message

P.S.
How did you figure out where the code go when you hit a switch??
And how did you figure out that the sound was loaded at $D26A

regards
Find all posts by this user
Quote this message in a reply
09-14-2011, 04:34 AM
Post: #23
RE: How to change Banzai Run sounds
(09-13-2011 06:31 AM)Francis Wrote:  Yep its working perfectly
I just need to figure out how to compile this, and fix the checksum.
I will change the 060 sound with the 001e (the 000d dont work) and the one for the green lanes with the 001f

I think I owe you 100$ Mr Glee
:-)
send me you paypal account via private message

P.S.
How did you figure out where the code go when you hit a switch??
And how did you figure out that the sound was loaded at $D26A

regards

Keep us informed with the result !
I would like to see (or to hear) if the game play is better with your improvement. Smile
Find all posts by this user
Quote this message in a reply
09-14-2011, 07:27 AM
Post: #24
RE: How to change Banzai Run sounds
Well ,I Still have a lot of work to do before hearing it on my personal machine.
I didnt choose the sound yet, The sounds that worked and seems fine are:
0012
001e
001f
004b
004c


1. I need to understand how to compile and decompile correctly the code. (I dont truly understand where the U26 and U27 roms begin and stop in the pinmame debugger.)
2. I need to fix the checksum.
3. and then burn it on a real rom.
Also, I dont know what is the difference between a pinmame rom and a real rom.

regards
Francis
Find all posts by this user
Quote this message in a reply
09-14-2011, 06:01 PM
Post: #25
RE: How to change Banzai Run sounds
I don't understand exactly what you mean when you say you want to compile. I've been describing the edits that we'd want to make to modify how the code works. Usually "compile" would means to convert a human-readable source code into machine language, but in this case we are dealing directly with machine language (the content of the ROM) so there is nothing to compile. To help figure out what bytes we want to change I mentioned using the DASM command in pinmame to convert the machine language into a best-guess assembly language equivalent of what all of the bytes in the ROM might mean, however we cannot push a "compile" button somewhere to convert the disassembly back into machine language. The dissassembly is useful for figuring out how it works and for figuring out what bytes to modify in the ROM, but that's about it. If somebody really had a lot of time they could convert the disassembly into human readable code, with annotated data tables and functions. After such an endeavor it would be pretty easy to make any change anywhere in the ROM, and likely in most other system-11 games since they likely have a lot of commonalities.

There is no difference between a "pinmame rom" and a "real rom" other than the fact that a "real rom" has the bytes programmed into a physical chip and pinmame ROM has the bytes in a big file on your computer. Whatever behavior you get in pinmame, you will get on the real game except for cases where a bad ROM edit was made which might cause pinmame behave abnormally, differently than the real game. In the case of changing a single byte to change a sound effect, this point is moot, however if you were adding actual code into a ROM then this would be a concern.

I cannot say exactly what I did to derive the sound hacks I described earlier because I don't recall exactly how I stumbled into the information. I did figure out what part of the code references the "CREDITS" text by finding where "CREDITS" is put into RAM. For example coin-up then immediately hit the '~' button and look for "CREDITS" in the ram window. Then set a breakpoint when the "C" gets written to the particular location and hit the coin switch again, and look at the code that's writing the 'C' to ram. Then backtrace through the function calls to get to where some function made the call that loaded up "CREDITS" and nearby is the call to queue up the coin-up sound effect. After identifying the code that plays the coin-up sound effect I then found similar code that also has to do with enqueuing sound effects, and then I found where the standup-target sound effects gets enqueued. I know this isn't very helpful but I didn't write down every step while doing my investigation.

Also there is probably paging going on to allow the CPU to read the entire ROM contents. In WPC, for example, they have a window at address $4000 - $7FFF which will have different contents depending on the currently selected ROM bank. Also in WPC bytes at $8000 - $FFFF are fixed and never change. It's possible that System-11 has something like this. If the information isn't out there already then you'd need to do lots of investigation and tracing the code. I figured out the WPC system by tracing through the power-up routine, yes, one instruction at a time, and figuring out the CPU checksum routine and watching how it cycles through every single byte in the ROM, by changing the current ROM bank, and adding in the bytes at $4000-$7FFF and so on. This is not a simple project, it is a lot of work and I was lucky in that I had a lot of free time on my hands back in '05.
Find all posts by this user
Quote this message in a reply
09-16-2011, 09:21 AM
Post: #26
RE: How to change Banzai Run sounds
System 11 isn't bank switched. You can actually ignore the checksum routines while you're testing, the game will still boot and run (just with errors) - the checksum routine can be ignored at U27, Fb04, change the 27 to 20 (beq, to bra) [for banzai]

Agree no need to recompile the code - which is difficult anyway as you have to hand test/optimize every byte or risk changing routines that you don't know anything about.

SYSTEM 11 MEMORY MAP

0000-007F 128 BYTE INTERNAL CPU RAM
0080-07FF 2K RAM U25 (BATTERY BACKED - ends higher up but games usually don't go over 7ff for storage)

2000-2003 U9 6821 PIA
2100-2103 U10 6821 PIA
2200 U28 LS374 OCTAL FLIP-FLOP
2400-2403 U34 6821 PIA
2800-2803 U51 6821 PIA
2C00-2C03 U14 6821 PIA

3000-3003 U38 6821 PIA
3400-3403 U42 6821 PIA A:DISPLAYS B:SOUND BOARD

4000-7FFF U26 GAME ROM

8000-FFFF U27 GAME ROM
Find all posts by this user
Quote this message in a reply
09-16-2011, 02:41 PM
Post: #27
RE: How to change Banzai Run sounds
Thanks for the Info, Mr Glee and Ralph Bulter.
For the compilation I think my question was more, wich tool do you use
Finaly I found it its HXD.

I finally successfully change the sound of BR (at least for the target, didnt try the other sound yet)
I still need to fix the checksum
Here is how I do it
After I checked the info from mr glee, and doing a trace on pinmame debug
I finaly found that the value for A was loaded at the adress: $D216
The instruction told to put the data at adress writen on the X register and put it on A
In the case of the target the X register point to adress $5D72 wich is on the U26 Rom ($1D72 with HXD)

So if you change the 60 written there to wathever other sound you want (in my case I didnt choose yet)
The sound or the BR will be change.

Thanks everyone.
Find all posts by this user
Quote this message in a reply
09-16-2011, 03:43 PM
Post: #28
RE: How to change Banzai Run sounds
I also change the sound of the bop bumper and green machine

Those sounds are loaded at $ B1D1 LDA (X +02) (load the value from the adress at register X + 2 into A

For the bop bumper the sound code we need to change is at adress $5B80
and for green machine it is at: $5C43
Find all posts by this user
Quote this message in a reply
09-16-2011, 04:05 PM
Post: #29
RE: How to change Banzai Run sounds
Great information. Thanks Ralph for providing the memory map and for pointing out that System-11 isn't bank switched.

Good job Francis, this sounds like the birth of a System-11 ROM hacker.

I just use the same hex editor I've used for the past 10 years (A.X.E. 2.0).
Find all posts by this user
Quote this message in a reply
09-16-2011, 06:05 PM (This post was last modified: 09-16-2011 06:06 PM by Francis.)
Post: #30
RE: How to change Banzai Run sounds
Thanks Mr Glee
The method of Ralph for ignoring Checksum is working for the Banzai run. (Except that its the adress FB02 that we need to change)
But I was wondering if it was a good thing to ignore the check sum??
Also for the Jet bumper I remak that the sound for wich I change it for seems to be slow to react to the jet bumper being hit
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


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