There is no readme in the zip
Fair enough. I will add one to the future zips. The need for the v0.3 files is mentioned in 1version.txt, but that is easy to ignore.
--
As for the DOS mouse crash: I managed to replicate it by running DOS in QEmu. Curiously it happens with Microsoft's mouse.exe but not with ctmouse.exe from FreeDOS. The crash seems to be due to stack corruption; CS:EIP has a nonsensical value. The crash has manifested as hanging on an infinite loop, a "clean" crash with DJGPP/cwsdpmi.exe register dump, emulated machine reset and QEmu itself crashing.
The bug is not in 1oom code. My current understanding is that something is broken in Allegro (or my cross-compiling setup) when either calling software interrupts from hardware interrupt contexts or interrupts in general. Perhaps some non-reentrant handler is entered twice simultaneously; this would explain why my DOSBox version works perfectly all the time as (I guess) it spends 0 cycles in the mouse interrupt handler. Perhaps later versions have more accurate emulation.
This is one of those rare cases where asm-level debugging is the only way forward. I need to get a DOSBox version that crashes and compile it with the debugging options...
This is a deep rabbit hole that contains software/hardware interrupts, DPMI, real/protected mode switching and nondeterministic bug reproduction. Fixing this is in firmly in the Not Worth The Fucking Effort pile. Seeing how there are no open bugs, might as well bang my head against this particular wall for a few more days.