lvd wrote:От себя призываю писать программы под пентеву так, чтоб они работали на реале и НЕ РАБОТАЛИ в анрыле.
Смотри чтобы наоборот не получилось Работа везде кроме пентевы. Случайный баг, помнится, кучу баттхёрта вызвал. А ежели не случайный будет ?
Процитирую основные зацепки, по которым можно задетектить неправославное железо:
(Православность - аттрибут у каждого свой. Дополнения и уточнения приветствуются)
1) Z-сигнал
Специальный 1-битный сигнал, генерируемый в ПЛМ. По нему штатное ПЗУ проверяла подлинность железа. В пентеве отсутствует. В Unreal реализован неточно. Лишь бы ПЗУ сожрало. Иногда, кстати, не жрёт
2) Дешифровка портов. В АТМе неполная, как и в обычном синклере. В пентеве полная. Из-за чего можно, например, писать в палитру на АТМ, но пентева это проигнорит. Подозреваю что с памятью аналогичная лажа.
3) аппаратное отключение прерываний битом 5 порта #ff77. EI : HALT повесит и АТМ и Unreal, но не пентеву. С другой стороны "не вовремя сгенерированное прерывание" (ц) Джек приведёт к фатальным последствиям на пентеве.
4) ФАПЧ. В пентеве и Unreal не реализован. Запись, например, нулей в ОЗУ ФАПЧ сделает дискету не читаемой на реале. Но будет проигнорировано Unreal и пентевой.
5) Очевидно: Новые порты (количество памяти например)
6) Очевидно: Программное включение турбо-режима. В Unreal не реализовано, в пентеве он будет безвейтовый (если ЛВД не пиздит). Аналогично детект по выключению.
7) Очевидно: образы ПЗУ
8) Недокументировано: аппаратный скроллинг. В пентеве не реализовано, в Unreal есть. Не детект, но ухудшение картинки.
9) недокументировано: второй тип текстового режима, 32х24, аналогично синклеру. В пентеве не реализовано, в Unreal есть.