Register - Login
Views: 99863689
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-04-22 04:39:52 PM
Jul - The Cutting Room Floor - Killer Instinct 1 & 2 Arcade Image Compression/Encryption New poll - New thread - New reply
Pages: 1 2 3Next newer thread | Next older thread
Joe
Common spammer
🍬
Level: 111


Posts: 2868/3392
EXP: 14503044
For next: 365316

Since: 08-02-07

From: Pororoca

Since last post: 13 days
Last activity: 7 min.

Posted on 05-13-13 02:58:29 AM Link | Quote
Originally posted by Abystus
I would have guessed the graphics once decompressed (to be used in the game) would also be that way in running memory at the time, but apparently that is not the case with these games.
I suspect that the graphics would take up too much RAM without compression, so they end up being decompressed during rendering instead of during loading from the hard disk. If you can find the decompression code, I can reverse-engineer the format.

____________________
ă”ă«ă‚ƒă‚ă€‚
Abystus
Member
Level: 18


Posts: 21/60
EXP: 29575
For next: 322

Since: 04-03-11


Since last post: 6.0 years
Last activity: 5.9 years

Posted on 05-13-13 06:08:39 AM (last edited by Abystus at 05-13-13 06:09:15 AM) Link | Quote
Originally posted by Joe
Originally posted by Abystus
I would have guessed the graphics once decompressed (to be used in the game) would also be that way in running memory at the time, but apparently that is not the case with these games.
I suspect that the graphics would take up too much RAM without compression, so they end up being decompressed during rendering instead of during loading from the hard disk. If you can find the decompression code, I can reverse-engineer the format.


I appreciate the help. I have been in contact with a Rare employee as of late, and have recently (tonight) requested what compression format was used for the image sprites, and other things that may share the same format. Hopefully he'll be kind enough to release the format (though it was a long time ago, so only time will tell) in his response. If the decompression routine (before I get a response), I'll make sure and post it here.

Sik

Level: 23


Posts: 15/107
EXP: 64868
For next: 2855

Since: 12-07-12


Since last post: 3.3 years
Last activity: 1.2 years

Posted on 05-13-13 12:37:34 PM Link | Quote
Originally posted by Joe
...But that's not a problem! The next thing you can do is corrupt the game's RAM during a match and see if you can glitch out the player sprites. Once you've managed to get a sprite to glitch out without crashing the game, set a read breakpoint on that memory address. (You may wish to restore the previous contents of that memory before setting the breakpoint.) The game should halt somewhere within the decompression function.

What if it decompresses directly to the framebuffer? (especially if it's a format made specifically for sprites) Corrupting ROM seems a safer thing ^^;
Joe
Common spammer
🍬
Level: 111


Posts: 2871/3392
EXP: 14503044
For next: 365316

Since: 08-02-07

From: Pororoca

Since last post: 13 days
Last activity: 7 min.

Posted on 05-13-13 03:52:04 PM Link | Quote
Originally posted by Sik
What if it decompresses directly to the framebuffer? (especially if it's a format made specifically for sprites)
That's the idea. A read breakpoint somewhere in the sprite data is all it'll take to find the decompression routine.

Unless you mean it decompresses directly from the hard drive? But the game only has 17 milliseconds to draw each frame, and a typical 1995 hard drive has far too much latency.
Originally posted by Sik
Corrupting ROM seems a safer thing ^^;
Maybe so, but it's a lot easier to set a read breakpoint on RAM than on a hard drive!

____________________
ă”ă«ă‚ƒă‚ă€‚
Sik

Level: 23


Posts: 16/107
EXP: 64868
For next: 2855

Since: 12-07-12


Since last post: 3.3 years
Last activity: 1.2 years

Posted on 05-13-13 04:42:10 PM Link | Quote
Oi, I knew we're talking about something with a hard drive but I thought that part was in ROM (as far as I know it's part hard drive and part ROM). Nevermind what I said then.
ReyVGM
Member
Level: 17


Posts: 8/52
EXP: 22498
For next: 2245

Since: 06-25-12


Since last post: 5.7 years
Last activity: 1.2 years

Posted on 05-14-13 03:40:19 AM Link | Quote
Nice to see you getting informational help here!

Hopefully you'll finally be able to crack this game wide open and find the elusive Vampire. Assuming what Tilston said was true.
Torentsu
Member
Level: 26


Posts: 106/130
EXP: 94369
For next: 7906

Since: 03-30-11


Since last post: 1.8 years
Last activity: 1.7 years

Posted on 05-15-13 01:59:36 AM Link | Quote
Originally posted by ReyVGM
Nice to see you getting informational help here!

Hopefully you'll finally be able to crack this game wide open and find the elusive Vampire. Assuming what Tilston said was true.


Did he mention there being a lost character? Link to article or source? I believe you I'd just like to read it .

____________________
あăȘăŸăźăŸă‚ă«èžŠă‚ŠăŸă—ă‚‡ă†ă‹ïŒŸăƒŒăƒŠăƒȘスン
http://ifhedidnthavethatdaggum.blogspot.com/
ReyVGM
Member
Level: 17


Posts: 9/52
EXP: 22498
For next: 2245

Since: 06-25-12


Since last post: 5.7 years
Last activity: 1.2 years

Posted on 05-15-13 02:12:54 PM Link | Quote
We emailed back and forth (Chris Tilston and I) and he said one of the staff members (art guy or programmer guy, I don't remember) wanted to make a character and he was given the go ahead to create one.
He created the Vampire character, but it was apparently terrible. I specifically asked Tilston if there were any sprites made and inserted into the game and he said yes.

That's what Abystus has been after for the past year.

In the meantime, he has found lots of other things, such as the unused ending images which only the text was found by accident by Paulina Jaramillo, which is what started the whole manhunt against KI2 in the first place
Torentsu
Member
Level: 26


Posts: 107/130
EXP: 94369
For next: 7906

Since: 03-30-11


Since last post: 1.8 years
Last activity: 1.7 years

Posted on 05-15-13 10:04:50 PM (last edited by Torentsu at 05-15-13 10:08:56 PM) Link | Quote
Awesome stuff that. When they aren't trolling about stuff like Stop n Swop Rareware's members have always been pretty cool about stuff in their games. David Wise has an active blog and has answered several questions about his works, unused songs in Rare games and other media.

I read the KI2 wiki page and read about some of the things you guys have found, very interesting. I wish there had been more mention of the characters from Killer Instinct 1. One thing I didn't like about the second game was how they pretty much axed all the interesting characters and replaced them with tribal folks. Judging by the lack of mention of them in the game's code I guess they decided to axe them pretty early on.

____________________
あăȘăŸăźăŸă‚ă«èžŠă‚ŠăŸă—ă‚‡ă†ă‹ïŒŸăƒŒăƒŠăƒȘスン
http://ifhedidnthavethatdaggum.blogspot.com/
Abystus
Member
Level: 18


Posts: 22/60
EXP: 29575
For next: 322

Since: 04-03-11


Since last post: 6.0 years
Last activity: 5.9 years

Posted on 05-17-13 01:19:19 AM (last edited by Abystus at 05-17-13 02:29:03 AM) Link | Quote
So I think I've found where character sprites are stored. Playing around with these pointer addresses (they change constantly to load new sprites) will cause different character related effects. Messing with the values at those addresses will cause the game to flood with that character's sprites (jumbled of course prob due to an invalid read). I could not get a watch point for read to break on the addresses it listed for some reason. Some screenshots below:


Player Pointers (Player 1 and Player 2 in that order):


Messing with values at those addresses (Player 1: Kim Wu):


This location in ram also controls character scaling, among other things...

From taking a look in the viewer of a dump of memory at that location, it appears as if the character sprites are located right above each stage (I can view the stage right below that location, but nothing within that location due to the compression). So at least I will know where to start looking.

Still waiting on an email back about the compression format used for the image (should get a reply this weekend). Hopefully someone can take this further (I'll be trying in my spare time.)
Joe
Common spammer
🍬
Level: 111


Posts: 2873/3392
EXP: 14503044
For next: 365316

Since: 08-02-07

From: Pororoca

Since last post: 13 days
Last activity: 7 min.

Posted on 05-17-13 06:24:20 AM Link | Quote
I can't remember if MAME sets read breakpoints on physical or virtual addresses. On MIPS, virtual addresses from 0x80000000 to 0x9FFFFFFF are mapped to physical addresses from 0x00000000 to 0x1FFFFFFF. You might have better luck using a physical address rather than a virtual address.

____________________
ă”ă«ă‚ƒă‚ă€‚
andlabs
Member
Level: 38


Posts: 40/309
EXP: 361512
For next: 8935

Since: 03-19-10

From: United States

Since last post: 1.1 years
Last activity: 139 days

Posted on 05-20-13 09:48:20 PM Link | Quote
Are you able to set breakpoints on longform addresses (cpuname.[mp][bwd]@xxxxxxxx, for instance maincpu.md@00123456 for longword at $123456)? When I did Galaxy Force II I figured out that m was used to modify ROM and p was used to modify the rest of the address space; I don't know what is really going on and the source code is unclear about what the letter means.
Abystus
Member
Level: 18


Posts: 53/60
EXP: 29575
For next: 322

Since: 04-03-11


Since last post: 6.0 years
Last activity: 5.9 years

Posted on 01-28-15 04:06:50 AM (last edited by Abystus at 01-28-15 03:58:06 PM) Link | Quote
Well Joe, seems I might have found the decompression routine (or close to it):

887FC0D0 <- Sprite Pointer Player 1
887FC1D0 <- Sprite Pointer Player 2

WP Command: wp ?????, 1, r (replace ????? with the 5 lower digits of the address displayed at the sprite pointer)



The highlighted (red) address reads the sprite address I originally found in the sprite pointer (figured out how to make a watchpoint work on it property), and cycles that routine several times. Corrupting this routine has given results such as the following:

Code: maincpu.pd@880190C8=00000000 (The game's emulation is re-compiler based, so you will have to active this code before entering a match. Will require you to attack on most stages.)

After Corruption Dump (Viewed and straightened out in my viewer. Found directly above frame buffer.):



It seems to be start of character sprites (idle animation) for Gargos, but it isn't drawing them properly due to the corruption method I used of course. Also, I've noticed that since Gargos has such large sprites, his corruption dumps seem to showcase the most as far as sprites are concerned (other character show some, but it is more mixed up due to their smaller sprites). Not sure if your still willing to try and reverse it Joe, but there is a decent starting spot for anyone wanting to give it a shot.
theassassin
Member
Level: 13


Posts: 8/28
EXP: 8147
For next: 2120

Since: 01-22-14


Since last post: 6.2 years
Last activity: 6.2 years

Posted on 02-02-15 06:53:30 PM Link | Quote
I don't have much knowledge to contribute, but I would really love to have rips of ALL the Killer Instinct 1 arcade character sprites.

And would be very interested to know what hidden/unused stuff might be in there.

If it's of any help, I used a program called "bridgem1" a while back to listen to some of the sounds/music in KI1 arcade and I remember finding a bunch of sounds I don't recognise as being used in the game. So that might be worth investigating although I don't have the time/skills to do it myself.
kirishima
User
Level: 8


Posts: 9/11
EXP: 1999
For next: 188

Since: 02-11-14


Since last post: 7.2 years
Last activity: 7.2 years

Posted on 02-02-15 09:56:16 PM Link | Quote
Originally posted by theassassin
I don't have much knowledge to contribute, but I would really love to have rips of ALL the Killer Instinct 1 arcade character sprites.

And would be very interested to know what hidden/unused stuff might be in there.

If it's of any help, I used a program called "bridgem1" a while back to listen to some of the sounds/music in KI1 arcade and I remember finding a bunch of sounds I don't recognise as being used in the game. So that might be worth investigating although I don't have the time/skills to do it myself.



M1 wouldn't help in this case since it doesn't use the hard disc image where all the other data for killer instinct is stored. It only got sounds from killer instinct since those were all stored in the roms.
theassassin
Member
Level: 13


Posts: 9/28
EXP: 8147
For next: 2120

Since: 01-22-14


Since last post: 6.2 years
Last activity: 6.2 years

Posted on 02-11-15 01:35:41 AM Link | Quote
Originally posted by kirishima
Originally posted by theassassin
I don't have much knowledge to contribute, but I would really love to have rips of ALL the Killer Instinct 1 arcade character sprites.

And would be very interested to know what hidden/unused stuff might be in there.

If it's of any help, I used a program called "bridgem1" a while back to listen to some of the sounds/music in KI1 arcade and I remember finding a bunch of sounds I don't recognise as being used in the game. So that might be worth investigating although I don't have the time/skills to do it myself.



M1 wouldn't help in this case since it doesn't use the hard disc image where all the other data for killer instinct is stored. It only got sounds from killer instinct since those were all stored in the roms.


Yeh I know this wouldn't help with the unused graphics/sprites, I was just saying that any unused sounds/music may be able to be identified using these M1 programs.
kirishima
User
Level: 8


Posts: 10/11
EXP: 1999
For next: 188

Since: 02-11-14


Since last post: 7.2 years
Last activity: 7.2 years

Posted on 02-15-15 09:06:24 PM (last edited by kirishima at 02-15-15 09:15:13 PM) Link | Quote
Originally posted by theassassin
Originally posted by kirishima
Originally posted by theassassin
I don't have much knowledge to contribute, but I would really love to have rips of ALL the Killer Instinct 1 arcade character sprites.

And would be very interested to know what hidden/unused stuff might be in there.

If it's of any help, I used a program called "bridgem1" a while back to listen to some of the sounds/music in KI1 arcade and I remember finding a bunch of sounds I don't recognise as being used in the game. So that might be worth investigating although I don't have the time/skills to do it myself.



M1 wouldn't help in this case since it doesn't use the hard disc image where all the other data for killer instinct is stored. It only got sounds from killer instinct since those were all stored in the roms.


Yeh I know this wouldn't help with the unused graphics/sprites, I was just saying that any unused sounds/music may be able to be identified using these M1 programs.


Alot of them kinda have been identified without the need for m1: https://tcrf.net/Killer_Instinct_2
Current MAME cheats also have music unused music identified.
theassassin
Member
Level: 13


Posts: 10/28
EXP: 8147
For next: 2120

Since: 01-22-14


Since last post: 6.2 years
Last activity: 6.2 years

Posted on 02-17-15 07:22:51 AM (last edited by theassassin at 02-17-15 07:54:04 AM) Link | Quote
Originally posted by kirishima
Originally posted by theassassin
Originally posted by kirishima
Originally posted by theassassin
I don't have much knowledge to contribute, but I would really love to have rips of ALL the Killer Instinct 1 arcade character sprites.

And would be very interested to know what hidden/unused stuff might be in there.

If it's of any help, I used a program called "bridgem1" a while back to listen to some of the sounds/music in KI1 arcade and I remember finding a bunch of sounds I don't recognise as being used in the game. So that might be worth investigating although I don't have the time/skills to do it myself.



M1 wouldn't help in this case since it doesn't use the hard disc image where all the other data for killer instinct is stored. It only got sounds from killer instinct since those were all stored in the roms.


Yeh I know this wouldn't help with the unused graphics/sprites, I was just saying that any unused sounds/music may be able to be identified using these M1 programs.


Alot of them kinda have been identified without the need for m1: https://tcrf.net/Killer_Instinct_2
Current MAME cheats also have music unused music identified.


I was referring to unused sounds/music in KI1, not KI2. I know the alternate Cinder name soundfiles (Heatshade, Pyrotech etc) are well known, but when I was playing around with KI1 in M1 I heard a lot of other audio I don't recall ever hearing in the game or anywhere else. So it's worth looking into if someone has the time/skills.

This is obviously a separate thing to dumping the sprites though. Seems odd that nobody online has ever done a full sprite dump from the arcade KI games. But perhaps I'm just not looking in the right places.
Abystus
Member
Level: 18


Posts: 54/60
EXP: 29575
For next: 322

Since: 04-03-11


Since last post: 6.0 years
Last activity: 5.9 years

Posted on 02-17-15 09:01:40 PM (last edited by Abystus at 02-17-15 10:10:52 PM) Link | Quote
theassassin, take a gander here for a Killer Instinct sound/music modifier I hacked a while back (I skipped the attack noises, but your welcome to explore more if you wish). Also, full sprite (including unused sprites) dumps have not been done due to the compression used on them (hence the name of this thread). One day when the compression is cracked, I'm sure it will unlock a lot of unused sprites for all characters (not tied to used or unused animations that can be activated through cheats), along with the possibility of finding sprites of characters that didn't make the final cut (aka Vampire in KI2). I've seen Killer Instinct arcade sprites (used set) for all characters used in M.U.G.E.N character builds, so I'm sure someone has a collection of them online somewhere. Also, you could try to contact this guy if your wanting to make your own set.

In addition to all of this, any unused moves can be accessed via the move modifier I hacked sometime back (I've had little time to sit down with this game as of late, so give it a go.). Known values can be found in the latest cheat file from Pugsy's Cheats, and a move map can be created by utilizing single pokes from within the debugger to the memory addresses below (combo breakers, ultras, and no mercies are all I got around to mapping out at that time):




Killer Instinct 1.5d

Player 1 Move Modifier:
maincpu.pb@8808BCBF=??

Player 2 Move Modifier:
maincpu.pb@8808BDBF=??

Foxhack
Member
Annoying fuzzball
Level: 54


Posts: 585/722
EXP: 1175098
For next: 58772

Since: 04-17-12

From: Mexicali, Mexico

Since last post: 2.0 years
Last activity: 1.8 years

Posted on 02-18-15 12:38:11 AM Link | Quote
Originally posted by Abystus
I've seen Killer Instinct arcade sprites (used set) for all characters used in M.U.G.E.N character builds, so I'm sure someone has a collection of them online somewhere.


In my experience they probably used cheats or a modified version of MAME to remove specific things from the screen (background / overlays / characters) to get those images.

That's what people did in my day, anyway.

____________________
My Video Game Collection
Pages: 1 2 3Next newer thread | Next older thread
Jul - The Cutting Room Floor - Killer Instinct 1 & 2 Arcade Image Compression/Encryption New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

35 database queries, 10 query cache hits.
Query execution time: 0.107378 seconds
Script execution time: 0.029316 seconds
Total render time: 0.136694 seconds