Цитата Сообщение от SfS Посмотреть сообщение
1. У тебя в комментах написано, что ты снёс вё ядро ниже 0xC000. Что для 128К и нужно. Common at 0xf000 (2492 bytes) - это выше 0xC000. Так и надо?
Не, чуть не так.
Ядро занимает всё пространство 0000-FFFF за вычетом экрана. При создании нового процесса, ему выделяется очередная страница верхней памяти, которая подключается в C000 (заменяя собой страницу ядра), туда кладется бинарник процесса и запускается. Никаких проблем из-за того, что кусок ядра недоступен нет, потому что все вызовы ядра процесс выполняет через RST 30. Первое, что делает RST 30 - это возвращает в C000 страницу ядра. Потом он отрабатывает вызов, возвращает страницу процесса обратно и передает управление обратно процессу.

Common - это кусок памяти, общий для всех процессов и ядра. В z80pack это верхние 4 килобайта. Они не меняются при переключении банок, отсюда и название. У нас же наоборот, не меняются данные ниже C000, поэтому common нужно опускать туда. В своей ветке я это уже начал, но для полноценной отладки надо сначала научиться запускать процессы.

2. Какая страница должна быть впечатана в окно 4 при инициализации ядра?
Нулевая. 0 - страница ядра, 5,2 - страницы нижней RAM. Для процессов остаются 1, 3, 4, 6, 7.

3. Задача загрузчика - просто включить RAM в 0x0000 - 0xFFFF, поместить бинарь с адреса 0x0000 и сделать jp 0x0000 ?
Да.

Или через регистры какието параметры ядру передаются?
Как-то можно передавать, но я это ещё не копал. Можно передать устройство загрузки, например, чтобы не вводить каждый раз его с клавы.

---------- Post added at 14:03 ---------- Previous post was at 13:54 ----------

Цитата Сообщение от SfS Посмотреть сообщение
Eltaron, ты не закоммитил platform-zx128/devfd.h
без него ветка мастер не компилится.
У тебя свой репозиторий на https://github.com/atsidaev, как я понимаю?
Закоммитил файлик. Но от моего репозитория без моего хаканного эмулятора толку мало - там всё через этакий наколеночный DMA работает. Просто хочу сначала отладить переключение процессов, а загрузчиками и дровами заниматься потом.

Может создадим там же отдельную ветку для пентевы, а ты в мастер будешь сливать по своему усмотрению?
Я уже прикинул, что надо отделять конфиг от мэйкфайла. плюс скрипты и platform-zxpentevo.
Я могу создать ветку, но ты не сможешь в неё коммитить. Гитхаб не так работает. Тут все коммиты в чужие репозитории осуществляются как pull request'ы. Это когда форкаешь чужое репо, коммитишь в него изменения, а потом создаешь pull request - просьбу свои изменения включить в основной репозиторий. Можешь меня форкнуть, можешь сразу Кокса.