Toy Story MSU1

Page 2 of 3 Previous  1, 2, 3  Next

Go down

20180119

Post 

Toy Story MSU1






After some more play testing, I found another bug. Minor, but hopefully, solvable soon.

1. MSU replays stage1 music when restarting from a checkpoint (stage3).

PepilloPEV/Conn's patch v1.0b5:
https://www.dropbox.com/sh/sla9pc2n0c7cjqy/AABWRBh3KTkzvvVkYhiYDUz_a?dl=0

enmet's PC RedBook Audio v2 and Sega Genesis PCM set:
https://app.box.com/s/bhmhhwhb0oqe9kmpgawxlxp293dzos0s


Last edited by pepillopev on Wed 24 Jan 2018 - 21:36; edited 45 times in total

pepillopev



Since : 2017-10-16

Back to top Go down

Share this post on: diggdeliciousredditstumbleuponslashdotyahoogooglelive

Toy Story MSU1 :: Comments

Post on Tue 23 Jan 2018 - 11:28 by darthvaderx

Yes, I have downloaded translations and hacks for over fifteen years and and I know how it works, usually when a patch does not work in a rom correctly, I get another from a different site or even add or remove the header with SNEStuff, usually works out.
But in this case all the roms without header presented flaws in the soundtracks while the roms with header has perfect sound but with black screen starting from the first stage. That rare case, I'll keep trying here.

Back to top Go down

Post on Tue 23 Jan 2018 - 11:34 by pepillopev

Did you re-download the patch? Just a guess, I'm wondering if you have an earlier build of the IPS/BPS files contained in the zip file you downloaded. If the fresh download does fix the issue, then I will know the IPS/BPS patch files that you were using were tainted.

No offense, only saying this because, Conn said he applied the IPS/BPS patch on a clean rom and had no issues with Snes9x. Just, humor me, and do this. If the issue persists, I can remake the IPS/BPS patches from the ASM that I know works (just tested on Snes9x with no issues).

As a reminder, I coded this patch with a non-header ROM template. I'm trying to help. So, please, do not take offense. Your last comment sounded kind of snippy:

darthvaderx wrote:Yes, I have downloaded translations and hacks for over fifteen years and and I know how it works...

It is not my intention to make anyone angry. I'm just trying to help, that is all. No hard feelings.

Back to top Go down

Post on Tue 23 Jan 2018 - 11:50 by darthvaderx

pepillopev wrote:It is not my intention to make anyone angry. I'm just trying to help, that is all. No hard feelings.

Oppsss...
It was not my intention to respond that way, I'm sorry for the misplaced words. in fact much to the contrary I would like to thank for all the attention given to my questions, Ok?
And as I said before I'll keep trying here.

Back to top Go down

avatar

Post on Tue 23 Jan 2018 - 12:43 by Conn

I sent you a version via pm that works for me. Such stuff are usually "stupid things", like header or you used the Europe version or such. Let us know whether it works Wink

As said the patch works on both Pev's and my side, so I'd guess the problem is somewhere at your side...

Back to top Go down

avatar

Post on Tue 23 Jan 2018 - 12:46 by qwertymodo

If you use FloatingIPS with .bps patches, you won't ever have header problems, because it transparently removes headers, both when creating and applying patches, so the patches are *always* headerless, to avoid exactly that particular headache.

Back to top Go down

Post on Tue 23 Jan 2018 - 12:47 by pepillopev

I too, retested both the IPS and BPS files and they work fine on my end too (using Bsnes and Snes9x).

Last edited by pepillopev on Tue 23 Jan 2018 - 12:52; edited 1 time in total

Back to top Go down

Post on Tue 23 Jan 2018 - 12:47 by pepillopev

qwertymodo wrote:If you use FloatingIPS with .bps patches ... so the patches are *always* headerless, to avoid exactly that particular headache.

I always supply both for that same reason too.

Back to top Go down

Post on Tue 23 Jan 2018 - 12:58 by darthvaderx

Still the same problem, I'll test on older versions of Snes9x and Windows Seven (W10 here) or another computer.

Back to top Go down

avatar

Post on Tue 23 Jan 2018 - 14:52 by Conn

Small question, which problem?
You reported that it crashes. Guess this isn't the case anymore, since you have a patched non headered rom now. Your bugged headered Rom surely played spc, which you might consider "clear". So my assumption is that the pcm are indeed played, but you consider them so bad that you think they are corrupted. My advice: rename pcm from another game and try whether they are played with issues.

Also a video surely would help in this specific case if you're able to provide one.

Back to top Go down

Post on Tue 23 Jan 2018 - 17:06 by Shiryu

Video up!

Back to top Go down

Post on Tue 23 Jan 2018 - 22:35 by darthvaderx

Gameplay vídeos (smv):

(No header):

https://www.dropbox.com/s/kxqf5o21qdhtmda/ts-msu1%28noheader%29.smv?dl=0

(With header):

https://www.dropbox.com/s/sibgexhcdnjxhps/ts-msu1%28withheader%29.smv?dl=0

(No header and SMW+ tracks):

https://www.dropbox.com/s/uhs5758r296rgsa/ts-msu1%28noheader%20%26smwtracks%29.smv?dl=0

Actually I should say crack or clipping rather than crash, I have the same problem with UN Squadron:

https://www.dropbox.com/s/0v6cwaco5evgobe/U.N.%20Squadron%20MSU1.smv?dl=0

I'm going to test on another computer with Windows 7 to see if the problem is with my OS.

Back to top Go down

Post on Wed 24 Jan 2018 - 5:16 by Relikk

Clipping makes more sense, yes. I tried the U.N. Squadron file and the sound effects are distorted/clipping.

This doesn't happen on BSNES or Higan.

Back to top Go down

avatar

Post on Wed 24 Jan 2018 - 6:16 by Conn

How to play these smv files?
I'd guess then this is a weird problem with snes9x if it doesn't occur on higan/bsnes (can you confirm it works on bsnes, darthvaderx). There have been some snes9x 1.55 builds as far I remember, do you use the latest? It's strange that some have these problems then and some not...

Back to top Go down

Post on Wed 24 Jan 2018 - 6:23 by Relikk

Conn wrote:How to play these smv files?

Load the ROM in SNES9X then load the relevant SMV file. It's not really necessary as it's just playback of an input recording, and the ROM you have rather than the ROM darthvaderx has (as you know). So, just testing your own ROM with the latest PCM's will give you the same result.

If you remember I had to balance the PCM's with the sound effects on this game a few times as it's much louder than your average SNES game. Maybe the overall, combined volume of the PCM's and effects are driving the sound too hard and causing the effects to clip and distort. But yeah, it seems it's not a problem with the ROM, rather a problem with SNES9X.

Back to top Go down

avatar

Post on Wed 24 Jan 2018 - 7:15 by Conn

Checking the asm, I found some possible bug sources:


hirom

; hook area: hook addresses go here
; --------------------------------------------------------------------
org $99d739
JSR codeArea ; mute all spc music
NOP

org $97D9DA
JSL pauseGame ; mute msu music when game paused
NOP
NOP
NOP

org $97DA35
JSL resumeGame ; resume msu music when game unpaused
NOP

org $989B45 ; restart msu music when Woody respawns
JSL respawnMusic
NOP
NOP

; code area: patch code goes here, free space $00F400 thru $00FFAF
; --------------------------------------------------------------------
org $99FA00
codeArea:
PHA
LDA $2002
CMP #$53
BEQ sMsu
PLA
STA $2140; before it was 002140; could lead to store to 7e2140 instead register
RTS
sMsu:
PLA
JSR muteGameOver15
JSR muteGameOver95
JSR muteMSU
JSR playTitle
JSR playStage1
JSR playStage2
JSR playStage3
JSR playStage4
JSR playStage5
JSR playStage6
JSR playStage7
JSR playStage8
JSR playStage9
JSR playStage10
JSR playStage11
JSR playStage12
JSR playStage13
JSR playStage14
JSR playStage15
JSR playStage16
JSR playStage17
JSR spcMute
STA $002140 ; native code
RTS

pauseGame:
;LDA #$0100 evil, you load a value in 16 bit and go to 8bit
SEP #$20 ; enable A-1byte read/write
PHA
LDA $2007
STA $0001C0
can you really read a msu register?
PLA
REP #$20 ; enable A-2byte read/write
STZ $2007
RTL
; here's my suggestion:
pauseGame:
STZ $2007
LDA #$0100
STA $7EFFAE; you've forgotten this
RTL    
 

resumeGame:
LDA #$0001
STA $EC
       PHP ; save processor status
SEP #$20 ; enable A-1byte read/write
PHA
LDA #$03; you can only pause in looping tracks
STA $2007
PLA
PLP; restore processor status is better than rep #$20
RTL

respawnMusic:
LDA #$0004 ; native code
STA $001C ; native code
PHA
STZ $2007
LDA #$0000
STA $7FEF00
PLA
RTL

; game over mute (even stages?)
muteGameOver95:
CMP #$95
BNE outMGO95
STZ $2007
outMGO95:
STA $2140 ; native code
RTS

; game over mute (odd stages?)
muteGameOver15:
CMP #$15
BNE outMGO15
; CPY #$0024
; BNE outMGO
; CPY #$000C
; BNE outMGO
STZ $2007
outMGO15:
STA $2140 ; native code
RTS

; play msu on stages
playStage17:
CMP #$08
BNE out1fix3
CPX #$1E00
BNE out1fix3
PHA
LDA #$12 ; ts-msu1-18.pcm, Stage-17 [Rocket Man]
JMP hijack
playStage16:
CMP #$88
BNE out1fix3
CPX #$2003
BNE out1fix3
PHA
LDA #$11 ; ts-msu1-17.pcm, Stage-16 [Light My Fire]
JMP hijack
playStage15:
CMP #$88
BNE out1fix2
CPX #$2010
BNE out1fix2
PHA
LDA #$10 ; ts-msu1-16.pcm, Stage-15 [Roller Bob]
JMP hijack
out1fix3: ; needed to avoid out of bounds error
JMP out1
playStage14:
CMP #$08
BNE out1fix2
CPX #$2000
BNE out1fix2
PHA
LDA #$0F ; ts-msu1-15.pcm, Stage-14 [Battle of the Mutant Toys]
JMP hijack
playStage13:
CMP #$88
BNE out1fix2
CPX #$180B
BNE out1fix2
PHA
LDA #$0E ; ts-msu1-14.pcm, Stage-13 [Sid's Workbench]
JMP hijack
playStage12:
CMP #$88
BNE out1fix2
CPX #$0020
BNE out1fix2
PHA
LDA #$0D ; ts-msu1-13.pcm, Stage-12 [The Claw!]
JMP hijack
playStage11:
CMP #$90
BNE out1fix2
CPX #$02D0
BNE out1fix2
PHA
LDA #$0C ; ts-msu1-12.pcm, Stage-11 [Really Inside the Claw Machine]
JMP hijack
playStage10:
CMP #$08
BNE out1fix
CPY #$0010
BNE out1fix
PHA
LDA #$0B ; ts-msu1-11.pcm, Stage-10 [Inside the Claw Machine]
JMP hijack
playStage9:
CMP #$08
BNE out1fix
CPY #$009B
BNE out1fix
PHA
LDA #$0A ; ts-msu1-10.pcm, Stage-9 [Food and Drink]
JMP hijack
playStage8:
CMP #$88
BNE out1fix
CPX #$000E
BNE out1fix
PHA
LDA #$09 ; ts-msu1-9.pcm, Stage-8 [Buzz Battle]
JMP hijack
out1fix2: ; needed to avoid out of bounds error
JMP out1
playStage7:
CMP #$08
BNE out1
CPY #$00B0
BNE out1
PHA
LDA #$08 ; ts-msu1-8.pcm, Stage-7 [Run Rex, Run!]
JMP hijack
playStage6:
CMP #$08
BNE out1
CPY #$002A
BNE out1
PHA
LDA #$07 ; ts-msu1-7.pcm, Stage-6 [Revenge of the Toys]
JMP hijack
playStage5:
CMP #$08
BNE out1
CPY #$0000
BNE out1
PHA
LDA #$06 ; ts-msu1-6.pcm, Stage-5 [A Buzz Clip]
JMP hijack
playStage4:
CMP #$08
BNE out1
CPY #$003c
BNE out1
PHA
LDA #$05 ; ts-msu1-5.pcm, Stage-4 [Nightmare Buzz]
JMP hijack
playStage3:
CMP #$88
BNE out1
CPY #$003D
BNE out1
PHA
LDA #$04 ; ts-msu1-4.pcm, Stage-3 [Ego Check]
JMP hijack
out1fix: ; needed to avoid out of bounds error
JMP out1
playStage2:
CMP #$08
BNE out1
CPY #$00C0
BNE out1
PHA
LDA #$03 ; ts-msu1-3.pcm, Stage-2 [Red Alert!]
JMP hijack
playStage1:
CMP #$88
BNE out1
CPX #$0000
BNE out1
PHA
LDA #$02 ; ts-msu1-2.pcm, Stage-1 [That Old Army Game]
JMP hijack
playTitle:
CMP #$88
BNE out1
CPX #$046C
BNE out1
PHA
LDA #$01 ; ts-msu1-1.pcm, Title Screen
hijack:
JSR msuPlay
; LDA $00001E
; LDA $004370
LDA #$03
JSR msuLoop
PLA
out1:
STA $2140 ; native code
RTS

; mute spc music
spcMute:
CMP #$04 ; if this value, mute spc audio
BEQ mutes
RTS
mutes:
LDA #$16 ; mute spc audio value, 16 is good too
RTS

; mute msu music and play some others (title and stage clear)
muteMSU:
PHA
LDA $004370
CMP #$01
BNE outMM
LDA $004371
CMP #$18
BNE outMM
LDA $004372
CMP #$81
BNE outNextTest
muteHere:
STZ $2007
outMM:
PLA
STA $2140
RTS
outNextTest:
CMP #$ED
BEQ muteHere
CMP #$23
BEQ outMM
outPSC:
PLA
STA $2140
RTS

; msu1 routine
msuPlay:
PHA
CMP $7fef00; check if track already playing? Conn's fix 01.19.18
BEQ noplay ; used to avoid msu restarts, Conn's fix 01.19.18
STZ $2006 ; Conn's recommendation
STA $2004
STA $7fef00 ; copy the track number on free ram, Conn's fix 01.19.18
STZ $2005
loopTitle:
BIT $2000
BVS loopTitle ; track not ready
LDA #$FF ; max volume
STA $2006
noplay: ; new branch point, Conn's fix 01.19.18
PLA
RTS
msuLoop:
STA $2007
RTS

I'm not sure about sta $002140, we have the xml in bsnes to write it to register, but I remember that I have an issue that it was written to 7e2140, ram. I also know that this is the native code. Ah well, darthvaderx, attached is the asm (for Pev if he likes) and a compiled ips with above changes to test on non-headered US version to see whether your problems still persist...

Also it seems I have an outdated xkas version, so I needed to change your hooks from
org $99d739
to D-bank to compile it correctly
org $D9d739
I'd be happy if you give me your xkas Wink

Darthvaderx, please try attached ips on NON-header US version:
Attachments
ts-msu1_conn.zip You don't have permission to download attachments.(3 Kb) Downloaded 3 times

Back to top Go down

Post on Wed 24 Jan 2018 - 7:30 by darthvaderx

It continues with the same problem, applied in Toy Story (USA).sfc

Conn wrote:I'd be happy if you give me your xkas Wink

Pardon?

Back to top Go down

avatar

Post on Wed 24 Jan 2018 - 8:08 by Conn

Then I'm sorry, the rest of the code looks ok to me.
I can only suggest you try bsnes/higan - maybe also other snes9x 1.55 builds.
It's strange that you seem to be the only person having this problem...

You said that the former version v3 worked fine, maybe Pev has it somewhere so you can restest.

   I'd be happy if you give me your xkas Wink


Pardon?
Ah that was a request to PEV. There are different xkas versions, and mine seem to not address special hirom banks correctly (as in this game).

Back to top Go down

Post on Wed 24 Jan 2018 - 8:47 by pepillopev

I use ASAR, always have issues with XKAS. I may have v3. But in reality, all that was changed since that version was the addition of the additional fixes. If I find it in my garbage folders, I'll pass it on.

Sent from Topic'it App

Back to top Go down

avatar

Post on Wed 24 Jan 2018 - 10:09 by Conn

I neither can imagine that the difference between v3 and v4 did these bugs, and if, above bugfix should have fixed this.

Back to top Go down

Post on Wed 24 Jan 2018 - 10:23 by pepillopev

Ok, I found beta3, you can get it from the same link. For now, I will keep all changes (beta3 and onward) until these bugs are truly ironed out.

Conn, I implemented your most current fixes and brought the asm up to 1.0beta5. Again, I am not having any issues with either Bsnes+073+3a and Snes9x1.55 (played up to stage 3 to ensure stability on both emus).

Back to top Go down

Post on Wed 24 Jan 2018 - 10:25 by pepillopev

Conn wrote:I neither can imagine that the difference between v3 and v4 did these bugs, and if, above bugfix should have fixed this.

Conn, I agree. That was really only difference between v3 versus the others. And again, only Darth is seeing this problem. You and I are able to run the game fine. Maybe, we should ask Shiryu, Relikk, and Kurrono and see if they are seeing the same problem?

The Snes9x I am using was the last one Qwerty posted (one he announced in the general forum area).

Back to top Go down

Post on Wed 24 Jan 2018 - 10:43 by pepillopev

Relikk wrote:Clipping makes more sense, yes. I tried the U.N. Squadron file and the sound effects are distorted/clipping.

This doesn't happen on BSNES or Higan.

I too have this problem with any msu game on my machine when using Snes9x. Even tried DirectSound and alternate audio drivers with different settings, and nothing seems to help Snes9x's audio clipping issue. That is why I now use Bsnes (never have those audio issues on this emu). I can see the clipping being a major annoyance to some. I myself, just dealt with it prior to Bsnes.

Back to top Go down

avatar

Post on Wed 24 Jan 2018 - 11:51 by Conn

Well, in this case it is clearly an emulator issue; guess sort of incompatibilty with your sound card or whatever.
Maybe qwertymodo is the right person to address this problem? Still it would be interesting whether DVX has the reported problems on bsnes.

Back to top Go down

avatar

Post on Wed 24 Jan 2018 - 15:32 by Enmet

Relikk wrote:If you remember I had to balance the PCM's with the sound effects on this game a few times as it's much louder than your average SNES game. Maybe the overall, combined volume of the PCM's and effects are driving the sound too hard and causing the effects to clip and distort. But yeah, it seems it's not a problem with the ROM, rather a problem with SNES9X.

The PCM volume has been addressed, I was calibrating the audio using an incorrect reference. I ordered a CD of the PC version just to get the music so I just made a new PCM set, this time the audio is lossless and balanced however. In fact, I didn't alter the audio this time as the volume balance was just right anyway.

I've experienced emulation inaccuracies on Snes9x (one of them is Woody shouting YEEHA multiple times among other audio quirks), so I try to stay away from it. I typically recommend anyone to use anything-BSNES (Higan, Retroarch, Bizhawk, BSNES+, etc) because there's really no reason these days to not use it, even the performance core is good enough. For MSU-1, I use BSNES+ myself.

I haven't been able to do a lot of testing recently but I noticed that Food and Drink and Sid's Workbench didn't not loop for some reason, maybe it just happened on that one occassion, but it's easily fixed by pausing and unpausing.

After beating the game and watching the credits roll, the SPC Main Menu music will play along with PCM A Buzz Clip at the very same time.

PCM set v2

Back to top Go down

Post on Wed 24 Jan 2018 - 17:15 by darthvaderx

I just tested the game on another computer (with Windows Seven) and gave the same result, I just did not test in BSnes / Higan because they are not my favorite emulators, anyway I give up.
Thank you all for your dedication.

Back to top Go down

Post  by Sponsored content

Back to top Go down

Page 2 of 3 Previous  1, 2, 3  Next

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum