vak: (Знайка)
[personal profile] 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.



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

Date: 2025-11-28 01:15 (UTC)
lev: (Default)
From: [personal profile] lev
"Уровень безделья, к которому я стремлюсь"

Date: 2025-11-28 02:11 (UTC)
1master: (Default)
From: [personal profile] 1master
Баш то там есть? А то сколько лет прошло, а я до сих пор помню, как без него мучался.

Date: 2025-11-29 14:58 (UTC)
From: [identity profile] ledernierheros.livejournal.com
Наверное можно найти плату EMS. Или, ещё лучше, может есть новодел. Сейчас-то можно статику поставить и не париться с DRAM refreshing.

В университете, в оригинальных ATшках (IBM, 6MHz!) память выше 512К была на такой полноразмерной ISAшной плате.

Я эту плату гонял в 386SX и там разница в скорости между набортной и этой памятью была в несколько раз. Но на XTшке, наверное не будет сильно заметно.

Date: 2025-11-29 19:40 (UTC)
straktor: benders (Default)
From: [personal profile] straktor
> память выше 512К

стандартное адресное пространство было 640 Кб
выше 512 это уже что-то трефное своё

экосистема 8086 поддерживала 12 бит сегментного регистра (выравнивание по 16 бит) + 16 бит смешения = 20 бит = 1 Мб
была битва за 64Кб после 1Мб, HIMEM.sys и т.п.

вообще какие-то решения про аппаратные "страницы" были ещё раньше, например после PDP-11 (PDP-20 что ли), но кто-то должен был эти страницы памяти переключить и была масса вопросов

Date: 2025-11-29 20:02 (UTC)
From: [identity profile] ledernierheros.livejournal.com
Никакого противоречия, 640К обычной и остальное — XMS, (или EMS не помню уже). В ISA же доступно всё адресное пространство. Можно вообще на материнке не иметь памяти и всю иметь на плате расширения.

Под "экосистемой", вы видимо имеете ввиду процессор. Но памяти может быть как меньше чем он адерусует, так и больше. Вон, в MSX было 128К, хотя процессор адресует только 64К.

Date: 2025-11-29 15:15 (UTC)
From: [identity profile] ledernierheros.livejournal.com
Погуглил и нашёл кучу новодела для 8битной ISA, там есть и EMS. Но самый интересный проект — это PicoMEM. Они сажают Pi на ISA, и она эмулирует, память и различные контроллеры, включая сеть, SoundBlaster и Covox

Date: 2025-12-01 06:17 (UTC)
x86128: (Default)
From: [personal profile] x86128
интересно есть ли смысл его портировать на МЕСМ-6 ? :)

Date: 2025-12-01 06:19 (UTC)
x86128: (Default)
From: [personal profile] x86128
хотя смотрю, что там довольно жесткие требования по памяти...