Previous Thread
Next Thread
Print Thread
Page 9 of 9 1 2 3 4 5 6 7 8 9
Joined: Mar 2013
Posts: 81
D
Member
Member
D Online: Content
Joined: Mar 2013
Posts: 81
Originally Posted by Vag
In the Japanese version, you see blood dripping from the SELECT PLAYER letters, and also Ax Battler decapitating an enemy. In the setting, you can select none, one of them, or both. I haven't worked out how the game determines it's the Japanese or the English version yet.

There is a separate ROM set (set 4) for the Japanese version, so perhaps the animations do not exist in the world version?

Joined: Oct 2024
Posts: 42
Likes: 2
V
Vag
Online: Content
Member
Member
V Online: Content
Joined: Oct 2024
Posts: 42
Likes: 2
The graphics exist in all ROM versions. Also, most of the text also exists twice (probably the second instance is for the Japanese version) - which is like a present in romhacking, plenty of unused space for all these modifications ;-)
According to my experience with other games, the code should be there, as well. E.g. in Liquid Kids, the only difference between the three versions is a single byte (the last one, if I'm not wrong), which works as a flag. I've seen it in others, as well. So, I'm hoping I can find out which condition enables the code that shows the blood and the decapitation and use a different condition. Of course, there is a possibility the code is not there, and the graphics are just useless remains. Even in that case, it would be theoretically possible to find that code in the Japanese version and copy it.

I'm planning to work with the songs tonight. I decided to start the songs by writing to address FFECFC, because that works perfectly and he songs can be heard together with the other sounds. I will just have to find out what changes when the song finishes, so I can repeat it or go to the next song or a random song, and generally perfect the code for this. This means that after that, I will have to change the way the sound that was to be heard when the logo is shown is played. I will have to find out exactly how the game does it with the other sound effects.

By the way, I used the bytes that change when the buttons are pressed or the lever is moved, I had to check certain bits. That was for moving the > in the settings submenu and changing the settings' values. After the code was finished, I found out that there are other bytes that are dedicated to each button press, probably to make the condition checking in the game easier. These are not mentioned in the System 16 specs, so probably they have to do with the program. I'm mentioning it, because I suspect the game does the same with the sounds, or maybe even the version flag. So, writing to address FFECFC starts a sound or a song, but also there's another byte for this.

Well, one thing at a time. First, I'll make it play the selected song (or a random song, or all of them), detect when it's finished playing and repeat it. Luckily, I don't have to deal with stopping the song, it stops when you go to the select player screen, or to the service menu :-)
Then, I will have to deal with the other sounds, and after that, with the blood and the decapitation.

Joined: Oct 2024
Posts: 42
Likes: 2
V
Vag
Online: Content
Member
Member
V Online: Content
Joined: Oct 2024
Posts: 42
Likes: 2
I have a small update, the setting for music in attract mode now works as intended :-)
You can select any song you want, or all songs, or a random song (really random).
Some songs just end, some others loop automatically. So, if you select a certain song, there are two cases. If it ends after a while, the program has to repeat it. So I put a kind of a timer, which is the loop iterations. If it's a song that loops, the timer doesn't update, so it keeps playing. If you select to listen to all songs or random songs, then they all need to stop when the timer is zero.
This needs fine-tuning only, I have to determine the best timer values for each song. Also, there are times the code doesn't go in the loop, so the timer halts, I will have to fix this for precision. Finally, I have to reset the timer at certain times, like when you are starting a new game, when you go to service menu, at boot; this is easy.
In the meantime, I just found a real timer the game has, to keep time statistics :-o If I can't achieve good precision with mine, I will change the code, to use the internal timer.
Btw, if you use the DIP switch for attract mode sounds, it mutes the songs too, unfortunately. So, you can have no sound, sound effects only, or sound effects and music - you can't have music only.
I'm pretty sure there isn't a byte in the main memory to detect if a sound has finished playing, I found one in the Z80 memory only, but it wouldn't help with the songs that loop anyway.

Joined: Oct 2024
Posts: 42
Likes: 2
V
Vag
Online: Content
Member
Member
V Online: Content
Joined: Oct 2024
Posts: 42
Likes: 2
I couldn't sleep at night, thinking that the timer wasn't 100% accurate... So I changed the logic, it is updated independently, when the system timer is updated. The routine for the music just checks it now, it doesn't set it. I also have the routine run in any case, because there were times it wouldn't run (like during the screen being revealed, or when the logo is shown). Finding the right times for each song was really time consuming, I spent a whole night listening to the songs repeatedly (I survived). Now there's 100% accuracy in music during attract mode :-)
Also, I managed to exclude the first time the logo is shown. This means it can play a sound when it's shown, without messing with the songs. The music starts afterwards, when the title screen is shown. The other times the logo is shown (by itself), music is playing and I have no other sound. I did that because I'm not sure if I will find a way to have both a sound effect and a song, without one stopping the other. So, even if I won't find it, I can have a "GreekRoms" sound (if I can also find a way to encode NEC ADPCM sounds).
By the way, one of the songs loops, but after the song intro (all the others that loop, go to the beginning). It was hard to find the proper time for the timer for this one, but now everything works perfectly :-)

The next thing I'll try to do, is to find the code that shows the dripping blood and the decapitation (if it's possible) and enable it, depending on the settings :-)

Last edited by Vag; 01/17/25 09:30 PM.
Page 9 of 9 1 2 3 4 5 6 7 8 9

Moderated by  R. Belmont 

Link Copied to Clipboard
Who's Online Now
3 members (AJR, 2 invisible), 84 guests, and 0 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,331
Posts122,199
Members5,077
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Powered by UBB.threads™ PHP Forum Software 8.0.0