3 ms·
A weird error happens if I try to run the embedded javascript dosbox emulator on iOS Mobile Safari. It launches the PKSFX INSTALL.EXE but most (but not all) fil
by 0x0 6y ago
A weird error happens if I try to run the embedded javascript dosbox emulator on iOS Mobile Safari. It launches the PKSFX INSTALL.EXE but most (but not all) files fail to extract with a CRC error. Emulation bug or a flaw in Mobile Safari's javascript engine? It seems strange that it can interpret the entire pksfx x86 code without crashing while still yielding corrupted CRCs? If there are bitflips or miscalculations you would think the interpreted x86 cpu would crash long before even printing the pksfx banner. On a different computer, unzip -t validates the INSTALL.EXE zip contents.
- mattigames 6y agoI bet the installer is using the storage JS API or something related but the pksfx x86 code does not and such API is buggy or limited on Safari mobile.
- 0x0 6y agoThe only thing I can think of is running out of virtual disk space because the storage JS API quota is filled. But I would assume PKSFX calculates the CRC based on the in-memory decompressed stream, not a read-back copy of what's written. Or it would print some sort of "out of disk space" error, but maybe dosbox does not have that. So I wonder if there is a sneaky data corruption bug hiding in the iOS version of Safari's JS/JIT engine here..? If the .zip file embedded in the PKSFX INSTALL.EXE was incomplete, then I would think it would fail early with a missing end-of-archive TOC?