Может быть у него есть ошибка, которая иногда проявляется, иногда - нет.
А может быть он ППИ определяет по наличию ПЗУ, которая на семёрках отсутствовала, хотя место под неё было... значит иногда она могла быть там.
А может быть какие-то версии умеют нестандартный конфиг, а другие - нет.
У него вообще странная трасса выполнения, когда он разбирает конфигурацию (девятка с марсианкой):
8021- A2 00 .. ""." LDX #00
8023- AD 00 C2 "-.B" LDA C200
8026- 24 6F .. ".о" BIT 6F тут сидит признак девятки
8028- 10 04 .. ".." BPL 802E
802A- C9 18 .. "I." CMP #18
802C- F0 07 .. "П." BEQ 8035 Тут, видимо, проверяется ПЗУ ПП и если похоже, то...
8035- A5 70 .. "%п" LDA 70
8037- 0A .. .. "." ASL A
8038- 0A .. .. "." ASL A
8039- 0A .. .. "." ASL A
803A- 0A .. .. "." ASL A
803B- A8 .. .. "(" TAY
803C- 24 6F .. ".о" BIT 6F
803E- 30 07 .. ".." BMI 8047
8047- A9 89 .. ")." LDA #89
8049- 99 83 C0 "..@" STA C083, Y ... немного похоже на инициализацию ВВ55 на ППИ ?
804C- A9 80 .. ")." LDA #80
804E- 99 80 C0 "..@" STA C080, Y
8051- A9 00 .. ")." LDA #00
8053- 99 80 C0 "..@" STA C080, Y
8056- B9 82 C0 "9.@" LDA C082, Y
8059- A4 70 .. "$п" LDY 70
805B- 99 68 00 ".х." STA 0068, Y
805E- A2 FF .. ""Ъ" LDX #FF
8060- 8A .. .. "." TXA
8061- A6 70 .. "&п" LDX 70
8063- 95 60 .. ".ю" STA 60, X это он ставит отметку о найденном модуле: [$62] <= 0xFF
Потом, при ожидании кнопок в заставке, он читает $C082+$20 :
82C5 - B5 60 .. "5ю" LDA 60, X <== for x := 2 to 6
82C7 - 10 2D .. ".." BPL 82F6 continue
82C9 - 8A .. .. "." TXA если в этом слоте есть модуль ПП(И) - проверяем байт в нём
82CA - 0A .. .. "." ASL A
82CB - 0A .. .. "." ASL A
82CC - 0A .. .. "." ASL A
82CD - 0A .. .. "." ASL A
82CE - 85 70 .. ".п" STA 70
82D0 - A8 .. .. "(" TAY
82D1 - B9 82 C0 "9.@" LDA C082, Y
82D4 - 55 68 .. "uх" EOR 68, X
Этот код, похоже, отличает девятку от семёрки:
0875 - 8D 77 C1 ".вA" STA C177 <==
0878 - AD 70 C1 "-пA" LDA C170
087B - C9 77 .. "Iв" CMP #77
087D - 38 .. .. "." SEC
087E - F0 01 .. "П." BEQ 0881
0880 - 18 .. .. "." CLC
0881 - 66 6F .. "фо" ROR 6F
Только и всего: если отклик c17x похож на контроллер базового ОЗУ девятки - то в 6F попадает D7=1, иначе D7=0.
Но тогда получается, что ПП в семёрке он искать не будет вообще.