VOGONS


First post, by peterferrie

User metadata
Rank Oldbie
Rank
Oldbie

Real DOS does not coalesce free blocks during a ah=49/int 21 operation, but only during ah=48/4a. This helps performance a little bit, and the behaviour is relied on by ROSETro demo by Overlook.

ROSETro resizes an existing block to a smaller amount, in order to create an empty MCB at a particular location in memory. Then it frees the resized block, and resizes the empty block to allocate it specifically. The problem is that the previously freed block now contains the 'Z' marker, so even though the new block is allocated, there is no pointer to it, so any more allocations will eventually destroy the new block.

I'll patch ROSETro for now, since I've never seen it running before, but it would be nice if DOSBox would be patched in the next version.

Reply 1 of 1, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

correct. But this the first demo /program/game that I know of that has problems with it.

Water flows down the stream
How to ask questions the smart way!