Для этого образ Plop через утилиту plpbtrom.exe собирал со следующими параметрами:
plpbtrom -forceINT -INT18 -compress plpbtrom.bin p386i18.romВ остальном ничего не менял. Скорее всего, параметр -forceINT необязателен и не имеет смысла. На выходе получил файл p386i18.rom, который зашил в ПЗУ.
Параметр -INT18 заставляет Plop цепляться в другой момент, а именно - когда все остальные устройства не удалось загрузить.
По умолчанию Plop цепляется на INT19, т.е. первым загрузочным устройством. Есть ещё режим PnP, но применительно к 386 можно считать, что его нет.
Если я правильно понял, в самых первых компах PC XT прилагался Basic в отдельной ПЗУшке, и вот он как раз и загружался по INT18, т.е. если все остальные загрузочные устройства отсутствуют. А XT-IDE в своём бут-менеджере как раз имеет пункт загрузку этого ROM (по клавише F8).
XT-IDE залил в ПЗУ 32КБ и разместил по адресу C800.
Plop залил в ПЗУ 32КБ и разместил по адресу D800.
Использовал для этого две сетевые карты. При желании можно использовать одну, а ПЗУ взять на 64КБ (образы зашить в первые 32КБ и вторые 32КБ соответственно). Всё это дело разместить по адресу D000. Но далеко не каждая сетевая карта поддерживает такой объём ПЗУ.
Порядок загрузки получился такой: при старте компа тыкаю F8, XT-IDE цепляет жесткий диск, после чего передаёт управление на INT18 (т.е. в Plop). Оттуда можно загрузиться с жесткого диска, флоппика или CD-ROM. Но вот с CD-ROM мне не удалось загрузиться с CD-диска MHDD, если XT-IDE ранее определил жёсткий диск (загрузка начинается, а потом мерцает курсор, на CTRL+ALT+DEL реагирует). Зато смог загрузиться с другого CD-диска (линуксового). Не знаю, с чем это связано. Может, у меня корявый контроллер. Может, CD и HDD подавай разные контроллеры, чтобы оба на Master висели. Может, XT-IDE что-то такое делает, что не нравится загрузчику MHDD.
Дальше разбираться буду уже тогда, когда захочется поставить Win95 с загрузочного CD
UPD: ах да. Для тех, кто хочет на 486 или P1 загрузиться с USB: на сайте Plop есть утилита, позволяющая выгрузить драйвер Plop (который Read-only), что должно дать возможность подгрузить другой драйвер (который позволит писать на флешку).
Файл plpdisd-0.2.zip отсюда: