marcrobledo / RomPatcher.js

An IPS/UPS/APS/BPS/RUP/PPF/xdelta ROM patcher made in HTML5.
https://www.marcrobledo.com/RomPatcher.js/
Other
723 stars 141 forks source link

BPS Linear Patch creation - Infinite Loop on BPS_getVLVLen #59

Open lilo-san opened 1 year ago

lilo-san commented 1 year ago

Dear Marc,

Please try to create a BPS patch from these two files: https://we.tl/t-sqb2zBb9KX

Original: Tomb Raider - The Last Revelation (USA) (Rev 1).bin Final: Tomb Raider - The Last Revelation (USA) (Rev 1) - TR4 Improved [Fix by Farglior v1.0].bin

I know these are big files, but to me they just expose some underlining problem with the BPS linear patch creation algorithm that could happen with smaller ones.

Best, Juan

lilo-san commented 1 year ago

Any thoughts on this would be appreciated.

marcrobledo commented 1 year ago

Looks like a big issue. Wish I had time for this at the moment :-(

Unfortunately, I'm just offering minimal manteinance to Rom Patcher JS, as I'm focused on other things.

lilo-san commented 1 year ago

Can you tell me from where did you copy the linear patch algorithm?

marcrobledo commented 1 year ago

Sure! Got an old copy of the original BPS documentation. I tried to find more information, but all documents in the net are the same. Sadly, the BPS format author passed away some years ago :-( And I don't recall seeing other BPS creation implementations.

specification_bps.zip