Killer Instinct MSU-1

Page 2 of 3 Previous  1, 2, 3  Next

Go down

20180216

Post 

Killer Instinct MSU-1





It has some arcade tracks, some from Killer Cuts and some Graeme Norgate remastered.
https://graemenorgate.bandcamp.com/album/remastered-rare-and-remxied

Apply on headerless rom US 1.1

IPS patch v2:
http://bszelda.zeldalegends.net/stuff/Con/KI_msu1.zip

Now works at sd2snes.

PCM tracks:
https://1drv.ms/f/s!Ah8ksmUOX0QQiERhDlDHZ_wcVDnc


A big thanks to Mattrizzle for explaining the dkc2 patch.
Thanks to Conn for helping for the sd2snes code.


Msu patch v2.0
What i would like to add in later versions (but i don't know if i can) from easiest to harder:
*Character portraits on char select screen, taken from arcade.
*Transparent cinder
*Co-co-co-co-co-combo breaker sfx instead of Co-co-co-co-combo breaker (like the arcade. Spc hacking. Sfx is 26
*One "combo breaker" sfx on vs screen (like the arcade).
*Heartbeat sound from spc every second decrease, like the arcade. Spc hacking.
*Different fatality sound for each character depending on fatality, like the arcade.
*Shadow position like the arcade.
*Slower end credits screen (to match the arcade duration).
*Black background for end credits like the arcade. Ki logo (bg1) appear when the guitar loop begins
*End credits add fmv to bg layer (like https://youtu.be/GUacmSQvaNA)
*Intro fmv with ultra64 logo etc taken from the arcade.
*Ending videos.
*Character bio videos.
*Vs screen videos.
*Character select 360 sprites from arcade (stream tilemaps with msu-1).
*Press start at character ladder, skips vs screen (like the arcade)
*Show the "enter initials screen" without fade out the current, even we don't have framebuffer (like the arcade)

Optional mini patches from the above list:
https://1drv.ms/f/s!Ah8ksmUOX0QQiHSDg2jevDlWo1yz

Various WIP screenshots included in this folder.
*Press a key on character ladder skips to battle, like the arcade. (not arcade perfect result yet)
*Skip fade in and fade out at character select/ladder screen, like the arcade.
*Upgraded end credits to look more arcade.
*Better combo breaker sfx in battle mimic the arcade.
*Eyedol bridge stage has Cinder music (like the arcade).
*Character select the p1 square is Red and p2 is green (like the arcade). Also
char selection start from TJ combo instead of jago (like the arcade).


This hack took me 3 years and countless hours after midnight (because of dayjob) watching other ips patches and trying to learn assembly. If you like it you can donate any tip you want, even $1 at paypal gizaha1@gmail.com


Last edited by gizaha on Mon 26 Mar 2018 - 17:13; edited 20 times in total

gizaha



Since : 2015-05-13

Back to top Go down

Share this post on: diggdeliciousredditstumbleuponslashdotyahoogooglelive

Killer Instinct MSU-1 :: Comments

Post on Tue 20 Feb 2018 - 18:12 by gizaha

Your CRCs are right. There is probably some difference in sd2snes than makes incompatible my code. Do you have DKC2 working on sd2snes? Or tell me for sure a patch that works on sd2snes to check it.

Back to top Go down

Post on Tue 20 Feb 2018 - 18:17 by gizaha

I think that it's might be related that i did not tell it to wait for msu ready. Or it thinks that track is missing, thus the msu mute.

Back to top Go down

avatar

Post on Tue 20 Feb 2018 - 18:58 by Conn

I don't want to mix in your code (have plenty of other issues on the run anyways Very Happy ) but for the sake of curiousity, can somebody try this patch on sd2snes?

It changes:
Rep #$20
loop:
LDA $2000
and #$0040
BNE loop
(I think, this is the code in asm, looked into hex only)

to the usual sd2snes load routine how I implement it since aeons:
loop:
BIT $2000
BVS loop
REP #$20
nop
nop
nop

Back to top Go down

avatar

Post on Tue 20 Feb 2018 - 23:28 by kurrono

Conn i tried still not msu1 music playing

Back to top Go down

Post on Wed 21 Feb 2018 - 3:55 by gizaha

Is there any chance that you replaced my pcm tracks with something else?
The patched rom works ok on an emulator?
The sd is sure ok?
Tell me other games you have on your sd2snes and they work.
Can an another user confirm that the patch works or not at sd2snes?
I'm at work now, i will return home at night and check it.

Back to top Go down

avatar

Post on Wed 21 Feb 2018 - 4:15 by kurrono

Ur pcms are perfect as they re not replacement Gizaha..

Back to top Go down

avatar

Post on Wed 21 Feb 2018 - 5:30 by Conn

Conn i tried still not msu1 music playing

I may have found the culprit:
$81/F5A2 A9 30 00    LDA #$0030              
$81/F5A5 8D 06 20    STA $2006  [$80:2006]
Here you store a zero to $2007 (because the cpu is in 16 bit), and 2 opcodes further down you store a loop value to $2007, this, the sd2snes cannot handle.

What I did:
wrote
PHP
SEP $20
...made these stuff in 8 bit
... and set the cpu to 16 bit again with a
PLP

It's not elegant coded, but please try again, K.
Attachments
ki_sd2snestest_v2.zip You don't have permission to download attachments.(1 Kb) Downloaded 3 times

Back to top Go down

avatar

Post on Wed 21 Feb 2018 - 7:30 by alex_tenjo

I can confirm that the sound is now working with your last version, Conn (at least on my SD2SNES unit). I have made a ten minutes test and not a single mute so far.
Maybe it could occur a strange volume variation issue (in middle of combat) but I need more intensive test to confirm it or not (it also could be my SD2SNES, so I can't be sure of anything right now).

Back to top Go down

Post on Wed 21 Feb 2018 - 13:19 by gizaha

[quote="Conn"]

Here you store a zero to $2007
You mean $2006?

[quote="Conn"]

and 2 opcodes further down you store a loop value to $2007, this, the sd2snes cannot handle.
You mean if i write 0030 to 2006, the 00 part goes to 2007?

Back to top Go down

avatar

Post on Wed 21 Feb 2018 - 13:37 by Conn

You mean if i write 0030 to 2006, the 00 part goes to 2007?
Yes, of course this happens. And the sd2snes can't handle short following writings to 2007 (there must be some delay between).

If you want to fix your code in a clean way... (in my test fix above my coding was sloopy, so best don't use it):

Code:

af 00 f1 7f   ;lda 7ff100   load track id
1a            ;inc a        because jago track is 0 and jago pcm is ki-01.pcm
8d 04 20      ;sta 2004
9c 05 20      ;stz 2005
c2 20         ;bit 2000
ad 00 20      ;lda 0020
29 40 00      ;and 0040
d0 f8         ;bne          ;msu busy
a9 30 00      ;lda 30       volume=30
8d 06 20      ;sta 2006    
af 00 f1 7f   ;lda 7ff100   load track id (it's already +1)
c9 1f 00      ;cmp 1f       track id>1f, sets loop to 03 (no loop)
10 05         ;bpl          if plus skip the next 2 lines
a9 03 00      ;lda 0003     no loop
80 03         ;bra 03       skip the next line
a9 01 00      ;lda 0001     with loop
8d 07 20      ;sta 2007     set loop state

change this to:


08 ;PHP processor status on stack
E2 20 ;SEP #$20; , set M to 8bit

af 00 f1 7f   ;lda 7ff100   load track id
1a            ;inc a        because jago track is 0 and jago pcm is ki-01.pcm
9C 06 20   ; stz $2006 ; prevent buzz on sd2snes
8d 04 20      ;sta 2004
9c 05 20      ;stz 2005
2c 00 20      ;bit 0020; bit instead of lda
70 fb         ;bvs          ;msu busy, better than the code before with and #$40
a9 30      ;lda 30       volume=30 in 8 bit

8d 06 20      ;sta 2006    
af 00 f1 7f   ;lda 7ff100   load track id (it's already +1)
c9 1f      ;cmp 1f       track id>1f, sets loop to 03 (no loop), 8 bit
10 04         ;bpl          if plus skip the next 2 lines, only 4 bytes
a9 03      ;lda 03     no loop; 8 bit
80 02         ;bra 02       skip the next line; 2 bytes
a9 01      ;lda 01     with loop, 2 bytes

8d 07 20      ;sta 2007     set loop state
28 ; PLP ; restore processor status

Back to top Go down

Post on Wed 21 Feb 2018 - 14:02 by gizaha

Perfect, i learn 3 new things today. (16 bit addresses, prevent buzz and php). I will adapt my code in the future in these settings, didn't knew sd2snes specialities.
I think you made a mistake, bit 20 is "10 0000" thus it's not audio busy, but audio repeat flag. Maybe you meant bit 40 "100 0000"? Or am i mistaken?

Back to top Go down

avatar

Post on Wed 21 Feb 2018 - 14:14 by Conn

Ah, that's only a typo in your original asm text.
Correct is
2c 00 20 ;bit $2000
But the hex code was correct Smile

Let me know when you're done, I'll also update the bszelda server link immediately Wink if you want - you can also set an own server link. Only attachment to a post isn't a good idea since only registered users can access them and we don't want to force users to register here Very Happy

Back to top Go down

Post on Wed 21 Feb 2018 - 14:21 by gizaha

You're right for the attachment.
It's almost ready.
However i want to explain me the bit 2000, i did not get it.
Aren't we suppose to check for audio busy, thus only the seventh bit from the right (100 0000)?

Back to top Go down

avatar

Post on Wed 21 Feb 2018 - 14:27 by Conn

You caught me. I do not exactly know what's going on here, but I got this directly from ikari and it works this way in every hack I've done so far flawlessly Smile
It's test and set bit. Then it checks if the overflow flag is set (data still streaming). If you want to know details you need to consult people with greater asm knowledge than I have Wink
I can only give you word that it will work this way ^^

Back to top Go down

Post on Wed 21 Feb 2018 - 14:44 by gizaha

Open the windows calculator in programmer mode and in hex. Type the number 20 and you will see it in binary. All these bits are ons and offs.
That's why 01 means no loop "01 binary" and 03 is "11 binary".
The right bit is playing bit and the left one is repeat bit.
However with bit 40 i have infinite loop, so i keep it bit 20 and i will learn the reason another time.

Back to top Go down

avatar

Post on Wed 21 Feb 2018 - 14:50 by Conn

I think here's a misunderstanding going on, bit $2000 checks the register address $2000, not byte #$20,40 or whatever.
It should be the same as your lda $2000, and #$40 bne... just shorter.

Back to top Go down

avatar

Post on Wed 21 Feb 2018 - 18:36 by Conn

ok, the patch should now be 100% sd2snes compatible, anybody can confirm, please?


IPS patch v2:
http://bszelda.zeldalegends.net/stuff/Con/KI_msu1.zip
Now works at sd2snes.

Back to top Go down

avatar

Post on Thu 22 Feb 2018 - 0:14 by kurrono

Hey Conn Amazing.. u got it working on sd2snes awesome hehe
Very Happy

Back to top Go down

Post on Fri 23 Feb 2018 - 16:28 by gizaha

New optional patch, project end credits.
Very good i like the result.
In the future i will upgrade it more.

Back to top Go down

Post on Sat 3 Mar 2018 - 23:40 by *ka

Como eu adiciono isso ?

How do I add this?
*End credits add fmv to bg layer (like https://youtu.be/GUacmSQvaNA)
*Intro fmv with ultra64 logo etc taken from the arcade.
*Ending videos.
*Character bio videos.
*Vs screen videos.

I applied the patch, but my game did not stay with the videos.

Eu apliquei o remendo, mas o meu jogo não ficou com os vídeos.

Back to top Go down

avatar

Post on Sun 4 Mar 2018 - 5:20 by Relikk

*ka wrote:How do I add this?
*End credits add fmv to bg layer (like https://youtu.be/GUacmSQvaNA)
*Intro fmv with ultra64 logo etc taken from the arcade.
*Ending videos.
*Character bio videos.
*Vs screen videos.

I applied the patch, but my game did not stay with the videos.

They're not implemented into the hack, so far. They're on the to-do list, but he hasn't added them, yet.

Back to top Go down

Post on Sun 4 Mar 2018 - 7:17 by gizaha

In order to put videos, i must abandon the current easy msu pcm sound procedure and stream video tilemaps and audio data to spc700. I didn't test if the speed is fast enough, or if it cause slowdown. FMVs would be fast for sure, i'm not sure about ingame speed.

I don't know how many years it will take for me to do. If anyone knows good snes coding, i can give him my progress notes to help me earn speed.

Back to top Go down

avatar

Post on Thu 8 Mar 2018 - 6:51 by Shadowrun

Nice job !
Very Happy

Back to top Go down

Post on Thu 8 Mar 2018 - 12:38 by gizaha

Thank you but this is nothing. I still work for it.

Back to top Go down

Post on Fri 16 Mar 2018 - 8:20 by MiniComputer

Hmm too bad you cant make use of the voices on the spc and change it over to Killer instinct 2017 Steam version.
Looking good so far though.

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