Да простят меня разработчики, прогнал я основной файл "XR_3DA.exe" через отладчик и увидел кое-что интересное. Перед тем как появится окошко с сообщением о нехватке памяти программа вызывает из kernel32.dll функцию GlobalMemoryStatusEx, которая возвращает значение ОПЕРАТИВНАЯ ПАМЯТЬ плюс ФАЙЛ ПОДКАЧКИ. У меня по непонятным причинам эта функция возвращала значение чуть больше 2 ГБ, хотя памяти в сумме около трех. Эту проблему можно обойти двумя путями: 1. Скачать последние обновления на WinXP. 2. Заставить программу вызывать не GlobalMemoryStatusEx а GlobalMemoryStatus который остался от 95/98/ME. Сделать это можно так: Берем любой шестнадцатеричный редактор (я использовал WinHEX 13.0 SR-13) и открываем основной файл (У меня это XR_3DA.exe). Ищем через поиск строку GlobalMemoryStatusEx, и затираем два последних байта, заменяя их на 00h, то есть в шестнадцатеричном виде: 476C6F62616C4D656D6F72795374617475734578 меняем на 476C6F62616C4D656D6F72795374617475730000 Сохраняем и запускаем!