не прошло и трех лет...
Краткий экскурс. Сабжевая демка принимала участие и заняла 1е место на Cafe'2003. Проблема выяснилась гораздо позже - после выпуска final версии. Дема по просту не работала ни на Пентагонах ни на Каях. Проявлялось это в виде зависания в месте 1й подгрузки с диска. Весь код написан psndcj/tbk, за исключением лоадера, который моего авторства. Т.о. вся ответственность в поиске глюков легла на меня...
Проблема омрачалось и тем, что нормально функционирующих Пентагонов под рукой не было, а Каев тут отродясь не наблюдалось. За все это время предпринималась не одна попытка найти причину проблемы (как оказалось, в данном случае найти причину = найти ее решение...), но все было безуспешно, пока вчера ворочаясь в кровати не пришла в голову мысль: в режиме IM2 при работе с TR-DOS вектор прерывания может быть любой! На это натолкнули меня последние версии эмулятора Unreal, в котором появилась соответствующая галка в настройках. И по умолчанию для Пентагона она включена. Сон мигом прошел, запускаю Unreal, Weed, смотрю:
таблица IM2 вся похерена! Т.о. дема не заработает вообще на компах с нестабильной шиной и будет вылетать на компах, где шина не стабильна в TR-DOS.
Предлагаю fix:
берем любой Hex editor, переходим на трек #39, сектор #01, смещение #C8:
имеем последовательность: 01 00 15 CD 6A (все числа в Hex'е)
в ней 15 меняем на 14, сохраняем. И вуаля! Все работает!
Выражаю большую благодарность за поддержку и тестирование (правда от которого не много было толку =)) товарищам:
Dizzy, Ra_id и n1k-o.
p.s. Требую моральной компенсации от группы TBK!