MIA - A new file format by BiFi of TNI

by Meits on 29-02-2016, 21:08
Topic: Software
Tags: ips, MIA, Patch, TNI
Languages:

Until now it was normal to patch disks directly on sector level. On sector based releases this never was a problem. But there are file based releases as well. Once they're copied on another way than in a sector copier, chances are great that the file order has changed. And with that the content is put on another place.

Patching such a release is next to impossible. Therefore BiFi of TNI developed a better way: The Multiple IPS Archive, or MIA. In stead of a disk MIA patches files. This way games like Psycho World can be patched in a clean fashion.

As of now it's only possible to create MIA files using tniASM 1.0. Everything you'd need is included in the package. In the future a command line tool for modern OSes will be released as well.

Since the MIA format has been introduced there's MIAPPLY, the tool to apply the MIA patches to the files which need patching. To get things started the IPS archive has been expanded with the MIA files listed below:

  • Psycho World English translation
  • Psycho World status area tweaks
  • Parallel Dream crash fix
  • Knightmare Gold R3 fixes
  • Starship Rendezvous uncensored
  • Starship Rendezvous trainer
  • Starship Rendezvous title fix

Check out how Psycho World goes with the mentioned patch implemented in this video. Now go patch yours as well.

Relevant link 1: MIA on MSX Banzai!
Relevant link 2: MIA on BiFi's homepage

Comments (12)

By syn

Paragon (1963)

syn's picture

01-03-2016, 10:05

Nice initiative!

By tvalenca

Paladin (728)

tvalenca's picture

01-03-2016, 17:37

ISN'T Knightmare Gold patched by an special loader made by DJC? (also called "Midas loader"; Midas, that greek king from mithology that turns to gold everthing he touches)

So, what is Knightmare Gold has to do with disk IPS patches?

By NYYRIKKI

Enlighted (5519)

NYYRIKKI's picture

01-03-2016, 18:36

I did not look inside yet, but sorry, if I don't give this tool my full unconditional support... IPS is popular because it is dead simple to implement.. This is also why there are tons of GUI and command-line tools to apply them for all kind of platforms. According to this news post MIA sounds like a tiny improvement to IPS, but I don't think this is worth the effort making new incompatible format just to concatenate few patches to a single file... Sure I'm wrong in some individual cases, but there are existing "not that good" options as well, so I still can't see why to create MIA. Are there some plans to continue development?

What I would like to see in patching standard are things like:
- Insert byte blocks
- delete byte blocks
- Search/replace inside byte blocks
- Split files
- Concatenate files
- Read/write sectors
- Conditional patching (to ie. patch multiple versions of same game with one patch)
...
This all can be done already on pretty much any language case by case, but to create a valuable patching standard it would need to be a dead simple language that would be built around typical patching needs, generate small size patches that are binary compatible with multiple platforms and should not need external components on any platform. In MSX use best would be if it could internally handle FAT12 images as well as individual files so that you could make patch destination either directory or file if patch it self is file based.

In other words... I see on my head something like script able Super-X that works on PC too...

If someone would put in all the needed effort then maybe a new "MSX oriented" patching standard would make sense. After all the rant how ever I must admit that the content is much more important that the way it is delivered. If we now need to download a new tool, I can very well live with it... no problem... Maybe it is better idea than multiple IPS patch files, but... just... maybe.

By mars2000you

Enlighted (5622)

mars2000you's picture

01-03-2016, 20:01

That's mainly interesting for people who use only real MSX machines, because it simplifies the work to patch different files of the same game.

If you are using also PC computers (and MSX emulators), as many PC tools allow to apply faster IPS patches, the MIA patches are less interesting. Besides, these PC tools allow to create new IPS patches or even an .EXE to apply the patch.

There's also the problem of different IPS patches for the same file, with different improvements, including cheats. The advantage of apart IPS patches for the same file is that you select which patch(es) you want to apply. Some combinations of patches can fail, but it's only by experimenting that you can check that and even find the optimal order to apply different patches for the same file.

Finally, it's unfair to remove some IPS patches to replace them by MIA patches. Of course, I can re-make the IPS patches by applying the MIA patch, then using a PC tool to create these IPS patches, but what a waste of time. BiFI has choosen to impose an unique option instead of leaving the choice to the end-user.

By AxelF

Champion (355)

AxelF's picture

01-03-2016, 21:29

In case of the Starship Rendezvous paches
MIA patches are the better way to apply them, because now you do not have to worry about
having the right DSK image with a sertain SHA1 hash, This prevents errors...

By sd_snatcher

Prophet (3270)

sd_snatcher's picture

01-03-2016, 22:39

1) If I understood correctly, this MIA patcher works more or less like RTPatch, thus patching multiple files without hassle. If this is the case, then this is a dream coming true. I've been waiting for more than a decade for the xdelta guys to implement this, until I gave up on them. There are only nonstandard/clumsy workarounds yet for xdelta.

2) Congratulations for the improved English translation of Psycho World! I love this game as much as you do. It indeed improves the translation. (my English back then clearly wasn't as polished as it is now :) . And I still have much to learn. ).

There are just two bits that I prefer in the old intro translation: I like that bit of suspense that is expressed in that slide where it's mentioned that Lucia and Cecil "work as his assistants, until one day..."

Then the next slide reveals the problem: "Someone blew a section of the lab!" (in active voice instead of passive, denoting intention). These subtle details in the way the story is told shows that the game had in fact a director.

And in the last sentence: She isn't talking to Cecil in the original text, but clearly talking to herself: "Cecil, I'm going to save you...". Given the reticences, it shows some hesitation of her part. Maybe she wasn't feeling ready to use such power? The added "Hang in there" looses this and morph it into a more convict tone.

By JohnHassink

Ambassador (5450)

JohnHassink's picture

01-03-2016, 23:07

Those are some great thoughts on the "script", sd_snatcher. Smile

By Lord_Zett

Paladin (807)

Lord_Zett's picture

02-03-2016, 18:33

Nice release!!!

By syn

Paragon (1963)

syn's picture

03-03-2016, 19:39

mars2000you wrote:

Finally, it's unfair to remove some IPS patches to replace them by MIA patches. Of course, I can re-make the IPS patches by applying the MIA patch, then using a PC tool to create these IPS patches, but what a waste of time. BiFI has choosen to impose an unique option instead of leaving the choice to the end-user.

Bifi says the two removed IPS patches were required to be used together anyway, so it is not really a problem.

By Manuel

Ascended (16614)

Manuel's picture

03-03-2016, 22:09

syn, I think he means that the problem is that you're now forced to use MIA whilst IPS is a much more common format, with tools also available on PC's.

By mars2000you

Enlighted (5622)

mars2000you's picture

03-03-2016, 22:20

Manuel wrote:

syn, I think he means that the problem is that you're now forced to use MIA whilst IPS is a much more common format, with tools also available on PC's.

Additionnally, when the line based version for PC will be available for MIA patches, it still will not be the same situation than when you are using IPS.EXE that has its own GUI, can also create IPS patches (new patches or patches combining several existing patches) and even specific EXE files to apply the cheats.

Anyway, I think I'll add on my website IPS patches that are not available elsewhere Smile

By spacemoai1973

Master (165)

spacemoai1973's picture

11-03-2016, 14:19

Specification is open! You can integrating existing software easy. it is still IPS internal look onside