Хотя я бы действительно взял не 386 с MIO, а именно 486 с встроенным IDE, там заодно и ком-порты встроенные, и LPT, который можно использовать как GPIO. А загрузку сделал с CF карточки, воткнув ее в переходник CF-IDE. Как раз недавно с этим экспериментировали с приятелем - только мы "морально устаревшие" ноутбуки грузили(успешно). Оказалось, что желательно использовать такие CF карточки, которые в ответ на вопрос БИОСа скажут что они Fixed drive, а не Removabe. В случае removable некоторые биосы отказываются грузить систему с такого устройства.
У некоторых карточек этот бит в конфигурационной информации можно поменять, за этим замечены изделия SanDisk. Теперь о том, как обойти ограничение на размер "диска".
Как раз это проще всего - надо использовать не устаревшие операционные системы, а LINUX. Компактных его разновидностей существует достаточно, можно при желании и свою собрать, ничего сверхсложного в этом нет. Дальше есть два способа. Менее красивый - сделать на "диске" два логических раздела, первый, несколько мегов, только чтобы ядро системы поместилось, а второй собственно тот который будет монтироваться как корневой ("диск C:" терминологии доса). Используем загрузчик GRUB, он загружает в память ядро системы, а уж оно как только запустит свои драйверы IDE - сможет работать с любым размером до "электрического" ограничения в 128 гигов. На старых платах может просто больше разрядов в интерфейсе не быть чтобы длиннее адрес передать. Лично я больше 40 гигов IDE диски к старым 486 не подключал, поэтому не могу сказать что будет после 128. Есть и второй, более красивый, способ - использовать загрузчик NUNI http://freshmeat.net/projects/nuni/
Этому вообще достаточно чтобы БИОС первый сектор в память прочитал, дальше он лезет напрямую в порты IDE интерфейса и вытащит ядро с любого места до 128 гигабайта. Вот этим-то я и грузил Линукс на 486SX25 с 40-гигового винча. Единственное требование линукса, критичное для данного случая - это оперативная память. Меньше 4 мегов вообще не запустится, а что-то полезное сможет делать начиная с восьми.
Ну и насчет двухтысячного года. В линуксе, в отличие от устаревших ОС, доступ к RTC идет через драйвер в ядре, написанный на Си. Соответственно скорректировать показания часов можно как угодно. И вообще не удивлюсь если такую коррекцию уже написали, поройтесь в Гугле.
После всех этих манипуляций - получим одноплатный комп весьма впечатляющей вычислительной мощности, если рассматривать его именно как встраиваемое изделие, а не универсальный десктоп конечно. Плюс все необходимые средства для разработки и кучу готовых исходников.
Так что это может быть дешевой альтернативой покупке платы с ARMом за много тысяч рублей, в которой кстати окажется тот же линукс, который все равно придется изучать если еще не изучили.
С теоретической точки зрения у х86 есть и преимущества в виде возможности использования сегментной(а не более известной "плоской") модели памяти. Линукс ее не использует, но это не значит что нет чего-то другого что использует. Представьте _аппаратный_ контроль всех far call и всех границ массивов в программе. А х86 это умеют. Это было реализовано например в PharLap Dos Extender. Для сравнения - Линукс задействует только котроль обращения к "чужой" памяти, а внутри своей программы можно бардак учинить - в немалой степени оттуда такое количество дырок вида buffer overflow в тех же виндах, да и в линуксовом софте иногда они попадаются. Увы - следствие упрощения

