2025-11-27

vak: (Default)
Помните забытое слово из 80-х? Мультипортовая плата означала последовательный интерфейс COM (для модема), параллельный интерфейс LPT (для принтера) и интерфейс к игровому джойстику. И ещё на ней стояла важная фишка конкретно для XT: часы реального времени RTC. Благодаря литиевой батарейке часы постоянно шли, даже когда компьютер выключен.



Поскольку родной биос XT-шки ничего не знает про RTC, для автоматической установки времени в MS-DOS требовались отдельные утилитки типа GETCLOCK.COM и SETCLOCK.COM. Каждый производитель мультипортовок поставлял свои версии этих утилит. Совместимость их с материнскими платами была тонким местом.

Начиная с PC AT часы реального времени встроили в материнскую плату, и проблема совместимости RTC/CMOS снялась.

Эта конкретно плата называется DIO-200, производитель DFI. Соответствующий софт ещё предстоит отыскать.

Нашлось описание от модели DIO-200X: diamond-flower-dio-200x-users-manual.pdf. Но там RTC сделан на чипе MM58167, а у меня UM82C8167.
vak: (Знайка)
Проблема с делением на ноль в ядре ELKS неожиданно разрешилась сама собой. Только я примерился отладочную печать вставлять, собрал для начала ELKS из свежих исходников. Процесс несложный, только делать это надо в линуксе.
sudo apt-get install texinfo libncurses5-dev libelf-dev ncompress bison flex
git clone https://github.com/ghaerr/elks.git
cd elks
./build.sh
Получаем образ флопика:
$ ls -l image/*.img
-rw-rw-r-- 1 vak vak 1474560 Nov 27 08:15 image/fd1440.img
Только это 1.44 мегабайта, а надо 360 килобайт. Не вопрос.
$ . ./env.sh
$ cd image
$ make fd360-minix
...
$ ls -l fd360-minix.img
-rw-rw-r-- 1 vak vak 368640 Nov 27 08:20 fd360-minix.img
Дай, думаю, загружусь для начала с этого флопика, вдруг упадёт как-то иначе. И ядро стартовало в лучшем виде! Видно, недавно починили проблему кривого CMOS.



В процессе изучения сборки ELKS выяснилось, что вовсе необязательно возиться с флопиками. Можно построить сразу образ жёсткого диска и записать на SD карточку:
$ cd image
$ make hd64-minix
...
$ ls -l hd64-minix.img
-rw-rw-r-- 1 vak vak 67107840 Nov 27 08:47 hd64-minix.img
$ dd if=hd64-minix.img of=/dev/sda
Имеем вот такой "жёсткий диск":



Грузимся с SD карточки:



Вот вам Линукс на XT-шке, а вы не верили. 😀

Если у вас есть PC XT или AT с адаптером XT-IDE, готовый образ диска с установленным Линуксом можно скачать здесь: elks-v0.9.0-hd64-c86.zip. Я обновил образ, теперь там Си компилятор в копмлекте.

Установку ELKS на чистый диск с загрузочного флопика я тоже проверил. Проще чем в MS-DOS: всего две команды mkfs и sys.



Это базовая юниксная система. Дальше будем выяснять, как установить Си компилятор. Задача собрать Демос Командер.