User Tag List

Страница 7 из 47 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 466

Тема: Алан Кокс представил Unix-подобную ОС Fuzix, ядро которой потребляет около 40 Кб ОЗУ

  1. #61
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    144
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от 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 - просьбу свои изменения включить в основной репозиторий. Можешь меня форкнуть, можешь сразу Кокса.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  2. #61
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #62
    Master
    Регистрация
    27.01.2005
    Сообщений
    916
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    179
    Поблагодарили
    145 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо.

    Я с гитхабом не работал. Зарегистрировался - буду разбираться по мере.
    Как сделаю, что на пентеве в режиме 128 запустится ядро - так и форкну

    Сейчас пилю загрузку по RS232. На скорости 115200 - это всего 5 сек и не надо с флешкой морочится. Для отладки удобно.

  4. #63
    Activist Аватар для Sergey
    Регистрация
    23.12.2006
    Адрес
    Славный город Самара
    Сообщений
    475
    Спасибо Благодарностей отдано 
    95
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    Может создадим там же отдельную ветку для пентевы...
    Если для Пентевы делать - тогда раскладку памяти другую надо:

    Не нужна эта "дырка" в 6,75кб под спектрумовский экран. Нужно обеспечить "безболезненное" включение в какое-нибудь окно страниц экранной области, чтобы процесс мог туда быстро напрямую писать/читать.

    Как вариант, в верхней памяти зарезервировать фиксированное место для размещения подпрограмм "рисования", тогда они могут, хоть все 3 остальных окна использовать. Либо автор программы на этапе сборки определит сколько и с какого адреса ему нужна память в 3-м окне.

    Можно даже свободно пользоваться TR-DOS при необходимости.
    Последний раз редактировалось Sergey; 18.11.2014 в 15:41.
    С уважением,
    Gris / Red Triangle.
    _____________________________________
    ZX-EVO/TS-Labs config/NGS/HDD/SD-card
    Amiga A1200/Blizzard 1230@50/32/60GB
    Amiga A1200/Apollo 1260@66/32/60GB
    UnAmiga (C5) AGA GM7123 VideoDAC

  5. #64
    Master
    Регистрация
    27.01.2005
    Сообщений
    916
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    179
    Поблагодарили
    145 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sergey Посмотреть сообщение
    Если для Пентевы делать - тогда раскладку памяти другую надо:

    Не нужна эта "дырка" в 6,75кб под спектрумовский экран. Нужно обеспечить "безболезненное" включение в какое-нибудь окно страниц экранной области, чтобы процесс мог туда быстро напрямую писать/читать.

    Как вариант, в верхней памяти зарезервировать фиксированное место для размещения подпрограмм "рисования", тогда они могут, хоть все 3 остальных окна использовать. Либо автор программы на этапе сборки определит сколько и с какого адреса ему нужна память в 3-м окне.

    Можно даже свободно пользоваться TR-DOS при необходимости.
    Я сначала хочу запустить хоть в режиме 128. А там уж "будем пилить.

  6. #65
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    144
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    Сейчас пилю загрузку по RS232. На скорости 115200 - это всего 5 сек и не надо с флешкой морочится. Для отладки удобно.
    Тогда и виртуальный дисковод тоже можно через RS232 запилить.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  7. #66
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    107
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sergey Посмотреть сообщение
    Не нужна эта "дырка" в 6,75кб под спектрумовский экран. Нужно обеспечить "безболезненное" включение в какое-нибудь окно страниц экранной области, чтобы процесс мог туда быстро напрямую писать/читать.
    Тока это не юникс уже будет. В Юниксе для записи в экранную область процессы используют функцию putchar/putc. И даже через либы они туда не пишут напрямую, а все заруливается через ядро.
    Задачка на воображение: два процесса выполняются и оба параллельно лезут в экран. Что будет на экране? Даже не беря во внимание что все это происходит по прерыванию (и они переписывают порт считать который нельзя, т.е. состояние порта будет не детерменировано).
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  8. #67
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    144
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Тока это не юникс уже будет. В Юниксе для записи в экранную область процессы используют функцию putchar/putc. И даже через либы они туда не пишут напрямую, а все заруливается через ядро.
    Слой абстракции в графике - это лишнее. И так всё еле ползать будет
    Нам нужно что-то вроде фреймбуффера, куда пишут как раз напрямую. Даже фреймбуффер слишком сложно. Нам тупо нужен мьютекс, захватив который, процесс получает эксклюзивное право писать в экран.
    Но т.к. мьютексов в фузихе ещё нету, то о графике думать вообще рано
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  9. #68
    Activist Аватар для Sergey
    Регистрация
    23.12.2006
    Адрес
    Славный город Самара
    Сообщений
    475
    Спасибо Благодарностей отдано 
    95
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Слой абстракции в графике - это лишнее. И так всё еле ползать будет
    На пентеве есть аппаратный текстмод, так что хотя бы скорость самого вывода на экран не пострадает. Но для тектмода, всё равно, надо будет паги врубать в какое-нибудь окно. Хотя системе-то можно всё!
    С уважением,
    Gris / Red Triangle.
    _____________________________________
    ZX-EVO/TS-Labs config/NGS/HDD/SD-card
    Amiga A1200/Blizzard 1230@50/32/60GB
    Amiga A1200/Apollo 1260@66/32/60GB
    UnAmiga (C5) AGA GM7123 VideoDAC

  10. #69
    Master
    Регистрация
    27.01.2005
    Сообщений
    916
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    179
    Поблагодарили
    145 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Запустилось на реальной пентеве!

    Карту памяти такую сварганил:

    win0 - page7
    win1 - page5
    win2 - page2
    win3 - page0

    ---------- Post added at 23:27 ---------- Previous post was at 23:25 ----------

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Тогда и виртуальный дисковод тоже можно через RS232 запилить.
    Да нет. Я за поддержку реальной флеши и трдос-образин.

    Просто для отладки, чтобы флешку не дрюкать - сварганил простеннькую прогу.

    ну теперь можно дальше мучать!

    ---------- Post added at 23:29 ---------- Previous post was at 23:27 ----------

    Цитата Сообщение от Error404 Посмотреть сообщение
    Тока это не юникс уже будет. В Юниксе для записи в экранную область процессы используют функцию putchar/putc. И даже через либы они туда не пишут напрямую, а все заруливается через ядро.
    Задачка на воображение: два процесса выполняются и оба параллельно лезут в экран. Что будет на экране? Даже не беря во внимание что все это происходит по прерыванию (и они переписывают порт считать который нельзя, т.е. состояние порта будет не детерменировано).
    Юниксоиды, млин... Да можно в юниксе напрямую с видеопамятью работать. фреймбуфер мемапнул - и привет. Пиши как хочешь.

    Если, конечно, права имеешь)

  11. #70
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    144
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    Да нет. Я за поддержку реальной флеши и трдос-образин.
    Большую флэш пока не потянет - максимальный объем накопителя = 65536 блоков по 512 байт = 32 мегабайта.

    Но ничто не мешает накопители монтировать один к другому.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

Страница 7 из 47 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Куплю БК 0010 или подобную машинку в Украине
    от LeBohdan в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 06.07.2008, 23:29
  2. SDCC вокруг да около
    от andrews в разделе Программирование
    Ответов: 8
    Последнее: 26.03.2008, 08:16
  3. Ответов: 16
    Последнее: 02.08.2005, 12:20
  4. Ответов: 10
    Последнее: 18.02.2005, 17:45

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •